summaryrefslogtreecommitdiff
path: root/sourcemod/scripting/include/entitylump.inc
diff options
context:
space:
mode:
authoraura <nw@moneybot.cc>2026-02-17 23:42:09 +0100
committeraura <nw@moneybot.cc>2026-02-17 23:42:09 +0100
commit5e2eb7d67ae933b7566f1944d0bb7744da03d586 (patch)
tree054acff1113270a9cd07933df760f3768c1b6853 /sourcemod/scripting/include/entitylump.inc
parent341db13a008dc12bb22ceb50452d93d01476308c (diff)
move source stuff to its own folder
Diffstat (limited to 'sourcemod/scripting/include/entitylump.inc')
-rw-r--r--sourcemod/scripting/include/entitylump.inc157
1 files changed, 0 insertions, 157 deletions
diff --git a/sourcemod/scripting/include/entitylump.inc b/sourcemod/scripting/include/entitylump.inc
deleted file mode 100644
index 9d269e6..0000000
--- a/sourcemod/scripting/include/entitylump.inc
+++ /dev/null
@@ -1,157 +0,0 @@
-#if defined _entitylump_included
- #endinput
-#endif
-
-#define _entitylump_included
-
-/**
- * An ordered list of key / value pairs for a map entity.
- * If the entry in the EntityLump is removed, the handle will error on all operations.
- * (The handle will remain valid on the scripting side, and will still need to be deleted.)
- *
- * Write operations (update, insert, erase, append) are only allowed during OnMapInit.
- */
-methodmap EntityLumpEntry < Handle {
- /**
- * Copies the key / value at the given index into buffers.
- *
- * @param index Position, starting from 0.
- * @param keybuf Key name buffer.
- * @param keylen Maximum length of the key name buffer.
- * @param valbuf Value buffer.
- * @param vallen Maximum length of the value buffer.
- * @error Index is out of bounds.
- */
- public native void Get(int index, char[] keybuf = "", int keylen = 0, char[] valbuf = "", int vallen = 0);
-
- /**
- * Updates the key / value pair at the given index.
- *
- * @param index Position, starting from 0.
- * @param key New key name, or NULL_STRING to preserve the existing key name.
- * @param value New value, or NULL_STRING to preserve the existing value.
- * @error Index is out of bounds or entity lump is read-only.
- */
- public native void Update(int index, const char[] key = NULL_STRING, const char[] value = NULL_STRING);
-
- /**
- * Inserts a new key / value pair at the given index, shifting the pair at that index and beyond up.
- * If EntityLumpEntry.Length is passed in, this is an append operation.
- *
- * @param index Position, starting from 0.
- * @param key New key name.
- * @param value New value.
- * @error Index is out of bounds or entity lump is read-only.
- */
- public native void Insert(int index, const char[] key, const char[] value);
-
- /**
- * Removes the key / value pair at the given index, shifting all entries past it down.
- *
- * @param index Position, starting from 0.
- * @error Index is out of bounds or entity lump is read-only.
- */
- public native void Erase(int index);
-
- /**
- * Inserts a new key / value pair at the end of the entry's list.
- *
- * @param key New key name.
- * @param value New value.
- * @error Index is out of bounds or entity lump is read-only.
- */
- public native void Append(const char[] key, const char[] value);
-
- /**
- * Searches the entry list for an index matching a key starting from a position.
- *
- * @param key Key name to search.
- * @param start A position after which to begin searching from. Use -1 to start from the
- * first entry.
- * @return Position after start with an entry matching the given key, or -1 if no
- * match was found.
- * @error Invalid start position; must be a value between -1 and one less than the
- * length of the entry.
- */
- public native int FindKey(const char[] key, int start = -1);
-
- /**
- * Searches the entry list for an index matching a key starting from a position.
- * This also copies the value from that index into the given buffer.
- *
- * This can be used to find the first / only value matching a key, or to iterate over all
- * the values that match said key.
- *
- * @param key Key name to search.
- * @param buffer Value buffer. This will contain the result of the next match, or empty
- * if no match was found.
- * @param maxlen Maximum length of the value buffer.
- * @param start An index after which to begin searching from. Use -1 to start from the
- * first entry.
- * @return Position after start with an entry matching the given key, or -1 if no
- * match was found.
- * @error Invalid start position; must be a value between -1 and one less than the
- * length of the entry.
- */
- public int GetNextKey(const char[] key, char[] buffer, int maxlen, int start = -1) {
- int result = this.FindKey(key, start);
- if (result != -1) {
- this.Get(result, .valbuf = buffer, .vallen = maxlen);
- } else {
- buffer[0] = '\0';
- }
- return result;
- }
-
- /**
- * Retrieves the number of key / value pairs in the entry.
- */
- property int Length {
- public native get();
- }
-};
-
-/**
- * A group of natives for a singleton entity lump, representing all the entities defined in the map.
- *
- * Write operations (insert, erase, append) are only allowed during OnMapInit.
- */
-methodmap EntityLump {
- /**
- * Returns the EntityLumpEntry at the given index.
- * This handle should be freed by the calling plugin.
- *
- * @param index Position, starting from 0.
- * @error Index is out of bounds.
- */
- public static native EntityLumpEntry Get(int index);
-
- /**
- * Erases an EntityLumpEntry at the given index, shifting all entries past it down.
- * Any handles referencing the erased EntityLumpEntry will throw on any operations aside from delete.
- *
- * @param index Position, starting from 0.
- * @error Index is out of bounds or entity lump is read-only.
- */
- public static native void Erase(int index);
-
- /**
- * Inserts an empty EntityLumpEntry at the given index, shifting the existing entry and ones past it up.
- *
- * @param index Position, starting from 0.
- * @error Index is out of bounds or entity lump is read-only.
- */
- public static native void Insert(int index);
-
- /**
- * Creates an empty EntityLumpEntry, returning its index.
- *
- * @error Entity lump is read-only.
- */
- public static native int Append();
-
- /**
- * Returns the number of entities currently in the lump.
- */
- public static native int Length();
-};