MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / task_serializeState

Function task_serializeState

TheForceEngine/TFE_Jedi/Task/task.cpp:195–222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193 }
194
195 void task_serializeState(Stream* stream, Task* task, void* userData, LocalMemorySerCallback localMemCallback, bool resetIP)
196 {
197 SERIALIZE(SaveVersionInit, task->context.ip[0], 0);
198 SERIALIZE(SaveVersionInit, task->context.stackSize[0], 0);
199 SERIALIZE(SaveVersionInit, task->nextTick, 0);
200 if (serialization_getMode() == SMODE_READ && !task->context.stackMem)
201 {
202 task->context.stackMem = (u8*)allocFromChunkedArray(s_stackBlocks);
203 memset(task->context.stackMem, 0, sizeof(u32) * TASK_MAX_LEVELS);
204 task->context.stackOffset = 0;
205 task->context.stackPtr[0] = task->context.stackMem;
206 }
207 SERIALIZE(SaveVersionInit, task->context.stackOffset, 0);
208 if (localMemCallback)
209 {
210 localMemCallback(stream, userData, task->context.stackPtr[0]);
211 }
212 else
213 {
214 // This only works with relocatable state.
215 SERIALIZE_BUF(SaveVersionInit, task->context.stackPtr[0], task->context.stackSize[0]);
216 }
217
218 if (resetIP)
219 {
220 task->context.ip[0] = 0;
221 }
222 }
223
224 Task* task_getCurrent()
225 {

Callers 3

hitEffect_serializeTasksFunction · 0.85
vueLogic_serializeFunction · 0.85

Calls 2

serialization_getModeFunction · 0.85
allocFromChunkedArrayFunction · 0.85

Tested by

no test coverage detected