diff options
author | Paul Gilbert | 2009-02-09 11:30:18 +0000 |
---|---|---|
committer | Paul Gilbert | 2009-02-09 11:30:18 +0000 |
commit | 7238358e6ebed522dd4e2254ba996b69884be02c (patch) | |
tree | 02cde501bdc06720b67535448351322d85319570 /engines/cruise/cell.cpp | |
parent | 8b4c44373c36de45bc543ac7398df4eb8a4dddbf (diff) | |
download | scummvm-rg350-7238358e6ebed522dd4e2254ba996b69884be02c.tar.gz scummvm-rg350-7238358e6ebed522dd4e2254ba996b69884be02c.tar.bz2 scummvm-rg350-7238358e6ebed522dd4e2254ba996b69884be02c.zip |
Changed the save/load process to use a common serialiser
svn-id: r36253
Diffstat (limited to 'engines/cruise/cell.cpp')
-rw-r--r-- | engines/cruise/cell.cpp | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/engines/cruise/cell.cpp b/engines/cruise/cell.cpp index afeb819945..8eaeb6d15c 100644 --- a/engines/cruise/cell.cpp +++ b/engines/cruise/cell.cpp @@ -44,105 +44,6 @@ void freeMessageList(cellStruct *objPtr) { free(objPtr); } */ } -void saveCell(Common::OutSaveFile& currentSaveFile) { - - int count = 0; - cellStruct *t = cellHead.next; - - while (t) { - count++; - t = t->next; - } - - currentSaveFile.writeSint16LE(count); - - t = cellHead.next; - while (t) { - char dummy[2] = { 0, 0}; - - currentSaveFile.write(dummy, 2); - currentSaveFile.write(dummy, 2); - - currentSaveFile.writeSint16LE(t->idx); - currentSaveFile.writeSint16LE(t->type); - currentSaveFile.writeSint16LE(t->overlay); - currentSaveFile.writeSint16LE(t->x); - currentSaveFile.writeSint16LE(t->field_C); - currentSaveFile.writeSint16LE(t->spriteIdx); - currentSaveFile.writeSint16LE(t->color); - currentSaveFile.writeSint16LE(t->backgroundPlane); - currentSaveFile.writeSint16LE(t->freeze); - currentSaveFile.writeSint16LE(t->parent); - currentSaveFile.writeSint16LE(t->parentOverlay); - currentSaveFile.writeSint16LE(t->parentType); - currentSaveFile.writeSint16LE(t->followObjectOverlayIdx); - currentSaveFile.writeSint16LE(t->followObjectIdx); - currentSaveFile.writeSint16LE(t->animStart); - currentSaveFile.writeSint16LE(t->animEnd); - currentSaveFile.writeSint16LE(t->animWait); - currentSaveFile.writeSint16LE(t->animStep); - currentSaveFile.writeSint16LE(t->animChange); - currentSaveFile.writeSint16LE(t->animType); - currentSaveFile.writeSint16LE(t->animSignal); - currentSaveFile.writeSint16LE(t->animCounter); - currentSaveFile.writeSint16LE(t->animLoop); - currentSaveFile.write(dummy, 2); - - t = t->next; - } -} - -void loadSavegameDataSub2(Common::InSaveFile& currentSaveFile) { - unsigned short int n_chunks; - int i; - cellStruct *p; - cellStruct *t; - - cellHead.next = NULL; // Not in ASM code, but I guess the variable is defaulted - // to this value in the .exe - - n_chunks = currentSaveFile.readSint16LE(); - - p = &cellHead; - - for (i = 0; i < n_chunks; i++) { - t = (cellStruct *) mallocAndZero(sizeof(cellStruct)); - - currentSaveFile.skip(2); - currentSaveFile.skip(2); - - t->idx = currentSaveFile.readSint16LE(); - t->type = currentSaveFile.readSint16LE(); - t->overlay = currentSaveFile.readSint16LE(); - t->x = currentSaveFile.readSint16LE(); - t->field_C = currentSaveFile.readSint16LE(); - t->spriteIdx = currentSaveFile.readSint16LE(); - t->color = currentSaveFile.readSint16LE(); - t->backgroundPlane = currentSaveFile.readSint16LE(); - t->freeze = currentSaveFile.readSint16LE(); - t->parent = currentSaveFile.readSint16LE(); - t->parentOverlay = currentSaveFile.readSint16LE(); - t->parentType = currentSaveFile.readSint16LE(); - t->followObjectOverlayIdx = currentSaveFile.readSint16LE(); - t->followObjectIdx = currentSaveFile.readSint16LE(); - t->animStart = currentSaveFile.readSint16LE(); - t->animEnd = currentSaveFile.readSint16LE(); - t->animWait = currentSaveFile.readSint16LE(); - t->animStep = currentSaveFile.readSint16LE(); - t->animChange = currentSaveFile.readSint16LE(); - t->animType = currentSaveFile.readSint16LE(); - t->animSignal = currentSaveFile.readSint16LE(); - t->animCounter = currentSaveFile.readSint16LE(); - t->animLoop = currentSaveFile.readSint16LE(); - currentSaveFile.skip(2); - - t->next = NULL; - p->next = t; - t->prev = cellHead.prev; - cellHead.prev = t; - p = t; - } -} cellStruct *addCell(cellStruct *pHead, int16 overlayIdx, int16 objIdx, int16 type, int16 backgroundPlane, int16 scriptOverlay, int16 scriptNumber, int16 scriptType) { int16 var; |