Changes

Jump to navigation Jump to search
Moved the class / struct NodMeta as SGameCtnIdentifier to the basic data structures
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.
  

Navigation menu