48#pragma warning(disable:4201)
66 ok &= subsystem.
Save (csave);
88 ok &= sys->
Load(cload);
101 if (auto_post_load) {
110#define UPDATE_NETWORK \
111 if (network_callback) { \
112 unsigned long time2 = TIMEGETTIME(); \
113 if (time2 - time > 20) { \
114 network_callback(); \
154 if ( sys->
Chunk_ID() == chunk_id ) {
178 if ( fact->
Chunk_ID() == chunk_id ) {
192 retval ==
false && list_node !=
NULL;
193 list_node = list_node->
Next())
195 retval = (list_node->
Data() == obj);
224 PointerRemapper.Request_Ref_Counted_Pointer_Remap(pointer_to_convert,file,line);
257 while (cursys != sys) {
259 cursys = cursys->NextSubSystem;
265 prev->NextSubSystem = sys->NextSubSystem;
268 sys->NextSubSystem =
NULL;
289 while (curfact != fact) {
291 curfact = curfact->NextFactory;
297 prev->NextFactory = fact->NextFactory;
300 fact->NextFactory =
NULL;
bool Begin_Chunk(uint32 id)
virtual uint32 Chunk_ID(void) const =0
void Request_Pointer_Remap(void **pointer_to_convert)
bool Is_Post_Load_Registered(void)
void Set_Post_Load_Registered(bool onoff)
virtual void On_Post_Load(void)
virtual uint32 Chunk_ID(void) const =0
virtual const char * Name() const =0
virtual bool Save(ChunkSaveClass &csave)=0
virtual bool Contains_Data(void) const
virtual bool Load(ChunkLoadClass &cload)=0
static void Link_Sub_System(SaveLoadSubSystemClass *subsys)
static PointerRemapClass PointerRemapper
static void Unlink_Factory(PersistFactoryClass *factory)
friend class SaveLoadSubSystemClass
static void Unlink_Sub_System(SaveLoadSubSystemClass *subsys)
static void Register_Pointer(void *old_pointer, void *new_pointer)
static void Register_Persist_Factory(PersistFactoryClass *factory)
static SaveLoadSubSystemClass * Find_Sub_System(uint32 chunk_id)
friend class PersistFactoryClass
static PersistFactoryClass * FactoryListHead
static bool Save(ChunkSaveClass &csave, SaveLoadSubSystemClass &subsystem)
static bool Is_Post_Load_Callback_Registered(PostLoadableClass *obj)
static void Unregister_Sub_System(SaveLoadSubSystemClass *subsys)
static void Link_Factory(PersistFactoryClass *factory)
static void Register_Sub_System(SaveLoadSubSystemClass *subsys)
static PersistFactoryClass * Find_Persist_Factory(uint32 chunk_id)
static SaveLoadSubSystemClass * SubSystemListHead
static bool Load(ChunkLoadClass &cload, bool auto_post_load=true)
static bool Post_Load_Processing(void(*network_callback)(void))
static void Register_Post_Load_Callback(PostLoadableClass *obj)
static SList< PostLoadableClass > PostLoadList
static void Request_Pointer_Remap(void **pointer_to_convert)
static void Unregister_Persist_Factory(PersistFactoryClass *factory)
static void Request_Ref_Counted_Pointer_Remap(RefCountClass **pointer_to_convert)
void Inc_Status_Count(void)
void Force_Link_WWSaveLoad(void)
#define INIT_SUB_STATUS(t)
#define FORCE_LINK(module)
#define WWLOG_PREPARE_TIME_AND_MEMORY(t)
#define WWLOG_INTERMEDIATE(t)