static void saveOrLoad(S &s, ProgramAreaData &data) { saveOrLoad(s, data.area); saveOrLoad(s, data.id); saveOrLoad(s, data.state); saveOrLoad(s, data.animCount); saveOrLoad(s, data.animNext); }
static void saveOrLoad(S &s, ProgramBackgroundData &data) { saveOrLoad(s, data.area); saveOrLoad(s, data.type); saveOrLoad(s, data.offset); saveOrLoad(s, data.scaleMul); saveOrLoad(s, data.scaleDiv); }
static void saveOrLoad(S &s, ProgramWalkData &data) { saveOrLoad(s, data.point1); saveOrLoad(s, data.point2); saveOrLoad(s, data.clippingRect); saveOrLoad(s, data.area1); saveOrLoad(s, data.area2); }
Instrument_Roland::Instrument_Roland(Serializer *s) { _instrument_name[0] = '\0'; if (!s->isSaving()) saveOrLoad (s); else memset(&_instrument, 0, sizeof(_instrument)); }
bool LabEngine::saveRestoreGame() { bool isOK = false; // The original had one screen for saving/loading. We have two. // Ask the user which screen to use. GUI::MessageDialog saveOrLoad(_("Would you like to save or restore a game?"), _("Save"), _("Restore")); int choice = saveOrLoad.runModal(); if (choice == GUI::kMessageOK) { // Save GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Save game:"), _("Save"), true); int slot = dialog->runModalWithCurrentTarget(); if (slot >= 0) { Common::String desc = dialog->getResultString(); if (desc.empty()) { // create our own description for the saved game, the user didn't enter it desc = dialog->createDefaultSaveDescription(slot); } isOK = saveGame(slot, desc); } delete dialog; } else { // Restore GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Restore game:"), _("Restore"), false); int slot = dialog->runModalWithCurrentTarget(); if (slot >= 0) { isOK = loadGame(slot); } delete dialog; } return isOK; }
static void saveOrLoadCommonArray(Common::WriteStream &stream, A &array) { uint count = array.size(); assert(count < 0xFFFF); stream.writeUint16LE(count); for (uint i = 0; i < count; ++i) { saveOrLoad(stream, array[i]); } }
static void saveOrLoadCommonArray(Common::ReadStream &stream, A &array) { uint count = stream.readUint16LE(); if (count == array.size()) { for (uint i = 0; i < count; ++i) { saveOrLoad(stream, array[i]); } } }
static void saveOrLoad(S &s, ProgramHitBoxData &data) { saveOrLoad(s, data.item); saveOrLoad(s, data.talk); saveOrLoad(s, data.state); saveOrLoad(s, data.str); saveOrLoad(s, data.defaultStr); for (uint i = 0; i < 8; ++i) { saveOrLoad(s, data.actions[i]); } for (uint i = 0; i < 2; ++i) { saveOrLoad(s, data.hitBoxes[i]); } }
Instrument_AdLib::Instrument_AdLib(Serializer *s) { if (!s->isSaving()) saveOrLoad(s); else memset(&_instrument, 0, sizeof(_instrument)); }
Instrument_Program::Instrument_Program(Serializer *s) { _program = 255; if (!s->isSaving()) saveOrLoad(s); }
static void saveOrLoad(S &s, KeyChar &key) { saveOrLoad(s, key.num); saveOrLoad(s, key.flags); saveOrLoad(s, key.currentAnimCounter); saveOrLoad(s, key.strNum); saveOrLoad(s, key.walkDataNum); saveOrLoad(s, key.spriteNum); saveOrLoad(s, key.prevBoundingRect); saveOrLoad(s, key.boundingRect); saveOrLoad(s, key.xPos); saveOrLoad(s, key.yPos); saveOrLoad(s, key.zPos); saveOrLoad(s, key.xPosPrev); saveOrLoad(s, key.yPosPrev); saveOrLoad(s, key.zPosPrev); saveOrLoad(s, key.prevWalkDataNum); saveOrLoad(s, key.textColor); for (uint i = 0; i < 4; ++i) { saveOrLoad(s, key.inventoryItems[i]); } saveOrLoad(s, key.money); saveOrLoad(s, key.pointsDataNum); saveOrLoad(s, key.currentWalkBox); saveOrLoad(s, key.prevPointsDataNum); saveOrLoad(s, key.currentAnim); saveOrLoad(s, key.facingDirection); saveOrLoad(s, key.currentAnimSpeed); for (uint i = 0; i < 16; ++i) { saveOrLoad(s, key.framesList[i]); } saveOrLoad(s, key.framesListCount); saveOrLoad(s, key.currentFrame); saveOrLoad(s, key.anim1Start); saveOrLoad(s, key.anim1Count); saveOrLoad(s, key.anim2Start); saveOrLoad(s, key.anim2Count); saveOrLoad(s, key.anim3Start); saveOrLoad(s, key.anim3Count); saveOrLoad(s, key.followingKeyCharNum); saveOrLoad(s, key.followingKeyCharPos); saveOrLoad(s, key.sequenceDataIndex); saveOrLoad(s, key.sequenceDataOffset); saveOrLoad(s, key.walkPointsListIndex); for (uint i = 0; i < 40; ++i) { saveOrLoad(s, key.walkPointsList[i]); } saveOrLoad(s, key.scriptDataStartOffset); saveOrLoad(s, key.scriptDataOffset); saveOrLoadPtr(s, key.scriptStackPtr, &key.scriptStackTable[39]); saveOrLoad(s, key.delay); saveOrLoad(s, key.waitingKeyChar); for (uint i = 0; i < 3; ++i) { saveOrLoad(s, key.waitingKeyCharPosTable[i]); } for (uint i = 0; i < 40; ++i) { saveOrLoad(s, key.scriptStackTable[i]); } }
static void saveOrLoad(S &s, SequenceEntry &seq) { saveOrLoad(s, seq.sprNum); saveOrLoad(s, seq.seqNum); }
static void saveOrLoad(S &s, Common::Rect &r) { saveOrLoad(s, r.left); saveOrLoad(s, r.top); saveOrLoad(s, r.right); saveOrLoad(s, r.bottom); }
static void saveOrLoadStaticArray(S &s, A &array, uint count) { for (uint i = 0; i < count; ++i) { saveOrLoad(s, array[i]); } }
static void saveOrLoad(S &s, TalkEntry &entry) { saveOrLoad(s, entry.otherKeyChar); saveOrLoad(s, entry.talkingKeyChar); saveOrLoad(s, entry.num); }
static void saveOrLoad(S &s, ProgramPointData &data) { saveOrLoad(s, data.x); saveOrLoad(s, data.y); saveOrLoad(s, data.z); saveOrLoad(s, data.order); }
static void saveOrLoad(S &s, Area &area) { saveOrLoad(s, area.r); saveOrLoad(s, area.srcX); saveOrLoad(s, area.srcY); }