-
Notifications
You must be signed in to change notification settings - Fork 238
Extensions, Shaders, Timelines format
krzys_h edited this page Sep 17, 2018
·
3 revisions
https://github.com/krzys-h/UndertaleModTool/issues/4#issue-360661852
EXTN: ListChunk
---
<normal FourCC and chunk length in every chunk>
Int32 - Count of (used) extensions
<normal list of 32-bit int pointers to item data, like other ListChunks, using count of used extensions>
Each item:
32-bit string pointer to empty string: literally "" (just a null terminator), always (hardcoded seemingly)
32-bit string pointer to extension name (Name)
32-bit string pointer to class name (ClassName)
List of "extension includes" (files), takes format of List<T>:
Int32 - Count
<list of 32-bit pointers to each item, as in List<T> format>
Each item:
32-bit string pointer to filename (Filename)
32-bit string pointer to name of function called when game ends, as stored in the extension file, not as referenced in GameMaker, unless they are the same (Final)
32-bit string pointer to name of function called when extension initializes, as stored in the extension file, not as referenced in GameMaker, unless they are the same (Init)
Int32 - extension type/kind, value taken directly from project file (Kind)
0 -> unknown; likely unused
1 -> DLL
2 -> GML "placeholder"
3 -> unknown, but potentially used before GM:S
4 -> either an included data file, or a "generic placeholder" file
5 -> JS "placeholder"
List of functions in the include file (if Kind is 2 [which is "GML placeholder"], then this is always empty):
Int32 - Count
<list of 32-bit pointers to each item, as in List<T> format>
Each item:
32-bit string pointer to function name, as referenced in GameMaker (Name)
Int32 - function ID (Id) - just a unique ID of some kind (very likely based on code analysis, incrementing)
Int32 - function type/kind (Kind)
Int32 - function return type (ReturnType). Value taken directly from project file:
1 -> string
2 -> double
32-bit string pointer to external function name (in the external file); not as it is referenced in GameMaker code, unless they are identical (ExtName)
Int32 - Count of arguments
Array (NOT a List-type thing) of Int32, count of items is the "Count of arguments" just stated - represents each argument's type. Value taken directly from project file:
1 -> string
2 -> double
TODO
TODO