Line 82: |
Line 82: |
| * If bit 30 *or* bit 31 is set, the Id is textual. In this case it contains a row and column index into the global string table that can be used to look up the text. | | * If bit 30 *or* bit 31 is set, the Id is textual. In this case it contains a row and column index into the global string table that can be used to look up the text. |
| * If bits 30 and 31 are set, the Id is empty (null). Typically ''value'' is -1 in this case. | | * If bits 30 and 31 are set, the Id is empty (null). Typically ''value'' is -1 in this case. |
| + | |
| + | Id's are managed by class CMwId. |
| + | |
| + | ===Identifier=== |
| + | Stores three Id's that together describe an object. Typically, this is the name of the object, the collection ID, and the author name. |
| + | |
| + | struct SGameCtnIdentifier |
| + | { |
| + | Id uid; // Name. Could be the name of a map, name of a block, path of a file etc. |
| + | Id collection; // Environment. In ManiaPlanet, 0xC = Canyon and 0xCA = Storm. |
| + | Id author; // Author name (typically "Nadeo") |
| + | }; |
| + | |
| + | Identifier are managed by class SGameCtnIdentifier. |
| | | |
| ===Delegate=== | | ===Delegate=== |
Line 176: |
Line 190: |
| virtual bool Is(int classID); // Returns true if the object's class is equal to or derives from | | virtual bool Is(int classID); // Returns true if the object's class is equal to or derives from |
| // the specified class | | // the specified class |
− | virtual NodMeta* GetMeta(); // Returns meta information about the object, like name and author | + | virtual SGameCtnIdentifier* GetIdentifier(); // Returns meta information about the object, like name and author |
− | virtual void SetUID(char* psz); // Sets the name of the object (affects GetMeta()) | + | virtual void SetUID(char* psz); // Sets the name of the object (affects GetIdentifier()) |
| virtual void m1C(); | | virtual void m1C(); |
| virtual void m20(); | | virtual void m20(); |
Line 208: |
Line 222: |
| }; | | }; |
| | | |
− | struct NodMeta
| |
− | {
| |
− | Id uid; // Name. Could be the name of a map, name of a block, path of a file etc.
| |
− | Id collection; // Environment. In ManiaPlanet, 0xC = Canyon and 0xCA = Storm.
| |
− | Id author; // Author name (typically "Nadeo")
| |
− | };
| |
− |
| |
| GetPropertyIndirect() and CallMethodIndirect() should not be used directly. These only exist for handling calculated properties (where the value doesn't come directly from a field in the class but is calculated). Instead, use the nonvirtual wrapper methods GetProperty() and CallMethod() which handle both field properties and calculated properties. | | GetPropertyIndirect() and CallMethodIndirect() should not be used directly. These only exist for handling calculated properties (where the value doesn't come directly from a field in the class but is calculated). Instead, use the nonvirtual wrapper methods GetProperty() and CallMethod() which handle both field properties and calculated properties. |
| | | |