Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- POD_TYPE(Char)
- POD_TYPE(Short)
- POD_TYPE(Int)
- POD_TYPE(Long)
- POD_TYPE(UChar)
- POD_TYPE(UShort)
- POD_TYPE(UInt)
- POD_TYPE(ULong)
- POD_TYPE(Pointer)
- POD_TYPE(ConstPtr)
- POD_TYPE(Name)
- POD_TYPE(Float)
- POD_TYPE(Double)
- BEGIN_STRUCT(Vec3D)
- FIELD(Float, X)
- FIELD(Float, Y)
- FIELD(Float, Z)
- END_STRUCT(Vec3D)
- ARRAY_TYPE(Vec3D)
- ARRAY_TYPE(PObject)
- BEGIN_OBJECT(DynStr, Object)
- CONSTRUCTOR(DynStr)
- DESTRUCTOR(DynStr)
- COPIER(DynStr)
- COMPARATOR(DynStr)
- FIELD(UInt, Length)
- FIELD(PChar, Text) FIELD_FLAG(TIFF_TRANSIENT)
- END_OBJECT(DynStr)
- BEGIN_OBJECT(Thing, Object)
- FIELD(DynStr, Text)
- FIELD(Int, Value)
- END_OBJECT(Thing)
- BEGIN_OBJECT(Entity, Object)
- TYPE_FLAG(TIF_ABSTRACT)
- CONSTRUCTOR(Entity)
- DESTRUCTOR(Entity)
- FIELD(PEntity, Parent)
- FIELD(Vec3D, Position)
- FIELD(Float, Health)
- FIELD(Float, Speed)
- FIELD(PNPC, RelatedNPC)
- FIELD(Name, Name)
- FIELD(PObjectArray, Children)
- END_OBJECT(Entity)
- ARRAY_TYPE(PEntity)
- BEGIN_OBJECT(NPC, Entity)
- FIELD(Pointer, AI) FIELD_FLAG(TIFF_TRANSIENT)
- FIELD(PEntity, Target)
- END_OBJECT(NPC)
- BEGIN_OBJECT(Hero, Entity)
- FIELD(Int, Level)
- END_OBJECT(Hero)
- BEGIN_OBJECT(World, Object)
- FIELD(PEntityArray, Entities)
- END_OBJECT(World)
- ...
- PWorld world = NEW(World);
- PEntity e1 = NEW(Entity);
- PEntity e2 = NEW(Entity);
- PEntity e3 = NEW(Entity);
- e1->Name = GetName("foo");
- e2->Name = GetName("bar");
- e3->Name = GetName("baz");
- AddToPEntityArray(&world->Entities, e1);
- AddToPEntityArray(&world->Entities, e2);
- AddToPEntityArray(&world->Entities, e3);
- AddToPObjectArray(&e1->Children, (PObject)e3);
- e3->Parent = e1;
- ...
- PStream stm = CreateFileStream("datadat", SM_CREATE);
- WriteValueToStream(stm, TI(World), world, sizeof(World));
- FreeStream(stm);
- ...
- DELETE(e3);
- DELETE(e2);
- DELETE(e1);
- DELETE(world);
- ...
- PWorld world = NEW(World);
- PStream stm = CreateFileStream("datadat", SM_READ);
- ReadValueFromStream(stm, TI(World), world, sizeof(World));
- FreeStream(stm);
- DELETE(world);
- ...
Advertisement
Add Comment
Please, Sign In to add comment