bool AdActor::persist(BasePersistenceManager *persistMgr) { AdTalkHolder::persist(persistMgr); persistMgr->transfer(TMEMBER_INT(_dir)); persistMgr->transferPtr(TMEMBER_PTR(_path)); persistMgr->transfer(TMEMBER(_pFCount)); persistMgr->transfer(TMEMBER(_pFStepX)); persistMgr->transfer(TMEMBER(_pFStepY)); persistMgr->transfer(TMEMBER(_pFX)); persistMgr->transfer(TMEMBER(_pFY)); persistMgr->transferPtr(TMEMBER_PTR(_standSprite)); _talkSprites.persist(persistMgr); _talkSpritesEx.persist(persistMgr); persistMgr->transfer(TMEMBER_INT(_targetDir)); persistMgr->transfer(TMEMBER_INT(_afterWalkDir)); persistMgr->transferPtr(TMEMBER_PTR(_targetPoint)); persistMgr->transferPtr(TMEMBER_PTR(_turnLeftSprite)); persistMgr->transferPtr(TMEMBER_PTR(_turnRightSprite)); persistMgr->transferPtr(TMEMBER_PTR(_walkSprite)); persistMgr->transferPtr(TMEMBER_PTR(_animSprite2)); persistMgr->transfer(TMEMBER(_talkAnimName)); persistMgr->transfer(TMEMBER(_idleAnimName)); persistMgr->transfer(TMEMBER(_walkAnimName)); persistMgr->transfer(TMEMBER(_turnLeftAnimName)); persistMgr->transfer(TMEMBER(_turnRightAnimName)); _anims.persist(persistMgr); return STATUS_OK; }
bool UIText::persist(BasePersistenceManager *persistMgr) { UIObject::persist(persistMgr); persistMgr->transfer(TMEMBER_INT(_textAlign)); persistMgr->transfer(TMEMBER_INT(_verticalAlign)); return STATUS_OK; }
bool BaseObject::persist(BasePersistenceManager *persistMgr) { BaseScriptHolder::persist(persistMgr); for (int i = 0; i < 7; i++) { persistMgr->transfer(TMEMBER(_caption[i])); } persistMgr->transferPtr(TMEMBER_PTR(_activeCursor)); persistMgr->transfer(TMEMBER(_alphaColor)); persistMgr->transfer(TMEMBER(_autoSoundPanning)); persistMgr->transferPtr(TMEMBER_PTR(_cursor)); persistMgr->transfer(TMEMBER(_sharedCursors)); persistMgr->transfer(TMEMBER(_editorAlwaysRegister)); persistMgr->transfer(TMEMBER(_editorOnly)); persistMgr->transfer(TMEMBER(_editorSelected)); persistMgr->transfer(TMEMBER(_iD)); persistMgr->transfer(TMEMBER(_is3D)); persistMgr->transfer(TMEMBER(_movable)); persistMgr->transfer(TMEMBER(_posX)); persistMgr->transfer(TMEMBER(_posY)); persistMgr->transferFloat(TMEMBER(_relativeScale)); persistMgr->transfer(TMEMBER(_rotatable)); persistMgr->transferFloat(TMEMBER(_scale)); persistMgr->transferPtr(TMEMBER_PTR(_sFX)); persistMgr->transfer(TMEMBER(_sFXStart)); persistMgr->transfer(TMEMBER(_sFXVolume)); persistMgr->transfer(TMEMBER(_ready)); persistMgr->transfer(TMEMBER(_rect)); persistMgr->transfer(TMEMBER(_rectSet)); persistMgr->transfer(TMEMBER(_registrable)); persistMgr->transfer(TMEMBER(_shadowable)); persistMgr->transfer(TMEMBER(_soundEvent)); persistMgr->transfer(TMEMBER(_zoomable)); persistMgr->transferFloat(TMEMBER(_scaleX)); persistMgr->transferFloat(TMEMBER(_scaleY)); persistMgr->transferFloat(TMEMBER(_rotate)); persistMgr->transfer(TMEMBER(_rotateValid)); persistMgr->transferFloat(TMEMBER(_relativeRotate)); persistMgr->transfer(TMEMBER(_saveState)); persistMgr->transfer(TMEMBER(_nonIntMouseEvents)); persistMgr->transfer(TMEMBER_INT(_sFXType)); persistMgr->transferFloat(TMEMBER(_sFXParam1)); persistMgr->transferFloat(TMEMBER(_sFXParam2)); persistMgr->transferFloat(TMEMBER(_sFXParam3)); persistMgr->transferFloat(TMEMBER(_sFXParam4)); persistMgr->transfer(TMEMBER_INT(_blendMode)); return STATUS_OK; }
HRESULT CBObject::Persist(CBPersistMgr *PersistMgr) { CBScriptHolder::Persist(PersistMgr); for(int i=0; i<7; i++) PersistMgr->Transfer(TMEMBER(m_Caption[i])); PersistMgr->Transfer(TMEMBER(m_ActiveCursor)); PersistMgr->Transfer(TMEMBER(m_AlphaColor)); PersistMgr->Transfer(TMEMBER(m_AutoSoundPanning)); PersistMgr->Transfer(TMEMBER(m_Cursor)); PersistMgr->Transfer(TMEMBER(m_SharedCursors)); PersistMgr->Transfer(TMEMBER(m_EditorAlwaysRegister)); PersistMgr->Transfer(TMEMBER(m_EditorOnly)); PersistMgr->Transfer(TMEMBER(m_EditorSelected)); PersistMgr->Transfer(TMEMBER(m_ID)); PersistMgr->Transfer(TMEMBER(m_Is3D)); PersistMgr->Transfer(TMEMBER(m_Movable)); PersistMgr->Transfer(TMEMBER(m_PosX)); PersistMgr->Transfer(TMEMBER(m_PosY)); PersistMgr->Transfer(TMEMBER(m_RelativeScale)); PersistMgr->Transfer(TMEMBER(m_Rotatable)); PersistMgr->Transfer(TMEMBER(m_Scale)); PersistMgr->Transfer(TMEMBER(m_SFX)); PersistMgr->Transfer(TMEMBER(m_SFXStart)); PersistMgr->Transfer(TMEMBER(m_SFXVolume)); PersistMgr->Transfer(TMEMBER(m_Ready)); PersistMgr->Transfer(TMEMBER(m_Rect)); PersistMgr->Transfer(TMEMBER(m_RectSet)); PersistMgr->Transfer(TMEMBER(m_Registrable)); PersistMgr->Transfer(TMEMBER(m_Shadowable)); PersistMgr->Transfer(TMEMBER(m_SoundEvent)); PersistMgr->Transfer(TMEMBER(m_Zoomable)); PersistMgr->Transfer(TMEMBER(m_ScaleX)); PersistMgr->Transfer(TMEMBER(m_ScaleY)); PersistMgr->Transfer(TMEMBER(m_Rotate)); PersistMgr->Transfer(TMEMBER(m_RotateValid)); PersistMgr->Transfer(TMEMBER(m_RelativeRotate)); PersistMgr->Transfer(TMEMBER(m_SaveState)); PersistMgr->Transfer(TMEMBER(m_NonIntMouseEvents)); PersistMgr->Transfer(TMEMBER_INT(m_SFXType)); PersistMgr->Transfer(TMEMBER(m_SFXParam1)); PersistMgr->Transfer(TMEMBER(m_SFXParam2)); PersistMgr->Transfer(TMEMBER(m_SFXParam3)); PersistMgr->Transfer(TMEMBER(m_SFXParam4)); PersistMgr->Transfer(TMEMBER_INT(m_BlendMode)); return S_OK; }
bool UIButton::persist(BasePersistenceManager *persistMgr) { UIObject::persist(persistMgr); persistMgr->transfer(TMEMBER_INT(_align)); persistMgr->transfer(TMEMBER(_backDisable)); persistMgr->transfer(TMEMBER(_backFocus)); persistMgr->transfer(TMEMBER(_backHover)); persistMgr->transfer(TMEMBER(_backPress)); persistMgr->transfer(TMEMBER(_centerImage)); persistMgr->transfer(TMEMBER(_fontDisable)); persistMgr->transfer(TMEMBER(_fontFocus)); persistMgr->transfer(TMEMBER(_fontHover)); persistMgr->transfer(TMEMBER(_fontPress)); persistMgr->transfer(TMEMBER(_hover)); persistMgr->transfer(TMEMBER(_image)); persistMgr->transfer(TMEMBER(_imageDisable)); persistMgr->transfer(TMEMBER(_imageFocus)); persistMgr->transfer(TMEMBER(_imageHover)); persistMgr->transfer(TMEMBER(_imagePress)); persistMgr->transfer(TMEMBER(_pixelPerfect)); persistMgr->transfer(TMEMBER(_press)); persistMgr->transfer(TMEMBER(_stayPressed)); if (!persistMgr->getIsSaving()) { _oneTimePress = false; _oneTimePressTime = 0; } return STATUS_OK; }
bool BaseSound::persist(BasePersistenceManager *persistMgr) { if (persistMgr->getIsSaving() && _sound) { _soundPlaying = _sound->isPlaying(); _soundLooping = _sound->_looping; _soundPrivateVolume = _sound->_privateVolume; if (_soundPlaying) { _soundPosition = _sound->getPosition(); } _soundLoopStart = _sound->_loopStart; _soundFreezePaused = _sound->_freezePaused; } if (persistMgr->getIsSaving()) { _sFXType = SFX_NONE; _sFXParam1 = _sFXParam2 = _sFXParam3 = _sFXParam4 = 0; } persistMgr->transferPtr(TMEMBER_PTR(_gameRef)); persistMgr->transfer(TMEMBER(_soundFilename)); persistMgr->transfer(TMEMBER(_soundLooping)); persistMgr->transfer(TMEMBER(_soundPaused)); persistMgr->transfer(TMEMBER(_soundFreezePaused)); persistMgr->transfer(TMEMBER(_soundPlaying)); persistMgr->transfer(TMEMBER(_soundPosition)); persistMgr->transfer(TMEMBER(_soundPrivateVolume)); persistMgr->transfer(TMEMBER(_soundStreamed)); persistMgr->transfer(TMEMBER_INT(_soundType)); persistMgr->transfer(TMEMBER(_soundLoopStart)); return STATUS_OK; }
HRESULT CUIObject::Persist(CBPersistMgr* PersistMgr){ CBObject::Persist(PersistMgr); PersistMgr->Transfer(TMEMBER(m_Back)); PersistMgr->Transfer(TMEMBER(m_CanFocus)); PersistMgr->Transfer(TMEMBER(m_Disable)); PersistMgr->Transfer(TMEMBER(m_FocusedWidget)); PersistMgr->Transfer(TMEMBER(m_Font)); PersistMgr->Transfer(TMEMBER(m_Height)); PersistMgr->Transfer(TMEMBER(m_Image)); PersistMgr->Transfer(TMEMBER(m_ListenerObject)); PersistMgr->Transfer(TMEMBER(m_ListenerParamObject)); PersistMgr->Transfer(TMEMBER(m_ListenerParamDWORD)); PersistMgr->Transfer(TMEMBER(m_Parent)); PersistMgr->Transfer(TMEMBER(m_ParentNotify)); PersistMgr->Transfer(TMEMBER(m_SharedFonts)); PersistMgr->Transfer(TMEMBER(m_SharedImages)); PersistMgr->Transfer(TMEMBER(m_Text)); PersistMgr->Transfer(TMEMBER_INT(m_Type)); PersistMgr->Transfer(TMEMBER(m_Visible)); PersistMgr->Transfer(TMEMBER(m_Width)); return S_OK; }
HRESULT CUIButton::Persist(CBPersistMgr *PersistMgr) { CUIObject::Persist(PersistMgr); PersistMgr->Transfer(TMEMBER_INT(m_Align)); PersistMgr->Transfer(TMEMBER(m_BackDisable)); PersistMgr->Transfer(TMEMBER(m_BackFocus)); PersistMgr->Transfer(TMEMBER(m_BackHover)); PersistMgr->Transfer(TMEMBER(m_BackPress)); PersistMgr->Transfer(TMEMBER(m_CenterImage)); PersistMgr->Transfer(TMEMBER(m_FontDisable)); PersistMgr->Transfer(TMEMBER(m_FontFocus)); PersistMgr->Transfer(TMEMBER(m_FontHover)); PersistMgr->Transfer(TMEMBER(m_FontPress)); PersistMgr->Transfer(TMEMBER(m_Hover)); PersistMgr->Transfer(TMEMBER(m_Image)); PersistMgr->Transfer(TMEMBER(m_ImageDisable)); PersistMgr->Transfer(TMEMBER(m_ImageFocus)); PersistMgr->Transfer(TMEMBER(m_ImageHover)); PersistMgr->Transfer(TMEMBER(m_ImagePress)); PersistMgr->Transfer(TMEMBER(m_PixelPerfect)); PersistMgr->Transfer(TMEMBER(m_Press)); PersistMgr->Transfer(TMEMBER(m_StayPressed)); if (!PersistMgr->m_Saving) { m_OneTimePress = false; m_OneTimePressTime = 0; } return S_OK; }
bool UIObject::persist(BasePersistenceManager *persistMgr) { BaseObject::persist(persistMgr); persistMgr->transferPtr(TMEMBER_PTR(_back)); persistMgr->transfer(TMEMBER(_canFocus)); persistMgr->transfer(TMEMBER(_disable)); persistMgr->transferPtr(TMEMBER_PTR(_focusedWidget)); persistMgr->transferPtr(TMEMBER_PTR(_font)); persistMgr->transfer(TMEMBER(_height)); persistMgr->transferPtr(TMEMBER_PTR(_image)); persistMgr->transferPtr(TMEMBER_PTR(_listenerObject)); persistMgr->transferPtr(TMEMBER_PTR(_listenerParamObject)); persistMgr->transfer(TMEMBER(_listenerParamDWORD)); persistMgr->transferPtr(TMEMBER_PTR(_parent)); persistMgr->transfer(TMEMBER(_parentNotify)); persistMgr->transfer(TMEMBER(_sharedFonts)); persistMgr->transfer(TMEMBER(_sharedImages)); persistMgr->transfer(TMEMBER(_text)); persistMgr->transfer(TMEMBER_INT(_type)); persistMgr->transfer(TMEMBER(_visible)); persistMgr->transfer(TMEMBER(_width)); return STATUS_OK; }
bool VideoTheoraPlayer::persist(BasePersistenceManager *persistMgr) { //BaseClass::persist(persistMgr); if (persistMgr->getIsSaving()) { _savedPos = getMovieTime() * 1000; _savedState = _state; } else { SetDefaults(); } persistMgr->transferPtr(TMEMBER_PTR(_gameRef)); persistMgr->transfer(TMEMBER(_savedPos)); persistMgr->transfer(TMEMBER(_savedState)); persistMgr->transfer(TMEMBER(_filename)); persistMgr->transfer(TMEMBER(_alphaFilename)); persistMgr->transfer(TMEMBER(_posX)); persistMgr->transfer(TMEMBER(_posY)); persistMgr->transferFloat(TMEMBER(_playZoom)); persistMgr->transfer(TMEMBER_INT(_playbackType)); persistMgr->transferBool(TMEMBER(_looping)); persistMgr->transfer(TMEMBER(_volume)); if (!persistMgr->getIsSaving() && (_savedState != THEORA_STATE_NONE)) { initializeSimple(); } return STATUS_OK; }
HRESULT CPartForce::Persist(CBPersistMgr *PersistMgr) { PersistMgr->Transfer(TMEMBER(m_Name)); PersistMgr->Transfer(TMEMBER(m_Pos)); PersistMgr->Transfer(TMEMBER(m_Direction)); PersistMgr->Transfer(TMEMBER_INT(m_Type)); return S_OK; }
bool AdEntity::persist(BasePersistenceManager *persistMgr) { AdTalkHolder::persist(persistMgr); persistMgr->transfer(TMEMBER(_item)); persistMgr->transferPtr(TMEMBER_PTR(_region)); //persistMgr->transfer(TMEMBER(_sprite)); persistMgr->transfer(TMEMBER_INT(_subtype)); _talkSprites.persist(persistMgr); _talkSpritesEx.persist(persistMgr); persistMgr->transfer(TMEMBER(_walkToX)); persistMgr->transfer(TMEMBER(_walkToY)); persistMgr->transfer(TMEMBER_INT(_walkToDir)); persistMgr->transferPtr(TMEMBER_PTR(_theora)); return STATUS_OK; }
bool AdObject::persist(BasePersistenceManager *persistMgr) { BaseObject::persist(persistMgr); persistMgr->transfer(TMEMBER(_active)); persistMgr->transfer(TMEMBER(_blockRegion)); persistMgr->transfer(TMEMBER(_currentBlockRegion)); persistMgr->transfer(TMEMBER(_currentWptGroup)); persistMgr->transfer(TMEMBER(_currentSprite)); persistMgr->transfer(TMEMBER(_drawn)); persistMgr->transfer(TMEMBER(_font)); persistMgr->transfer(TMEMBER(_ignoreItems)); persistMgr->transfer(TMEMBER_INT(_nextState)); persistMgr->transfer(TMEMBER(_sentence)); persistMgr->transfer(TMEMBER_INT(_state)); persistMgr->transfer(TMEMBER(_animSprite)); persistMgr->transfer(TMEMBER(_sceneIndependent)); persistMgr->transfer(TMEMBER(_forcedTalkAnimName)); persistMgr->transfer(TMEMBER(_forcedTalkAnimUsed)); persistMgr->transfer(TMEMBER(_tempSprite2)); persistMgr->transfer(TMEMBER_INT(_type)); persistMgr->transfer(TMEMBER(_wptGroup)); persistMgr->transfer(TMEMBER(_stickRegion)); persistMgr->transfer(TMEMBER(_subtitlesModRelative)); persistMgr->transfer(TMEMBER(_subtitlesModX)); persistMgr->transfer(TMEMBER(_subtitlesModY)); persistMgr->transfer(TMEMBER(_subtitlesModXCenter)); persistMgr->transfer(TMEMBER(_subtitlesWidth)); persistMgr->transfer(TMEMBER(_inventory)); persistMgr->transfer(TMEMBER(_partEmitter)); for (int i = 0; i < MAX_NUM_REGIONS; i++) { persistMgr->transfer(TMEMBER(_currentRegions[i])); } _attachmentsPre.persist(persistMgr); _attachmentsPost.persist(persistMgr); persistMgr->transfer(TMEMBER(_registerAlias)); persistMgr->transfer(TMEMBER(_partFollowParent)); persistMgr->transfer(TMEMBER(_partOffsetX)); persistMgr->transfer(TMEMBER(_partOffsetY)); return STATUS_OK; }
HRESULT CBEvent::Persist(CBPersistMgr *PersistMgr) { PersistMgr->Transfer(TMEMBER(Game)); PersistMgr->Transfer(TMEMBER(m_Script)); PersistMgr->Transfer(TMEMBER(m_Name)); PersistMgr->Transfer(TMEMBER_INT(m_Type)); return S_OK; }
HRESULT CAdActor::Persist(CBPersistMgr *PersistMgr) { CAdTalkHolder::Persist(PersistMgr); PersistMgr->Transfer(TMEMBER_INT(m_Dir)); PersistMgr->Transfer(TMEMBER(m_Path)); PersistMgr->Transfer(TMEMBER(m_PFCount)); PersistMgr->Transfer(TMEMBER(m_PFStepX)); PersistMgr->Transfer(TMEMBER(m_PFStepY)); PersistMgr->Transfer(TMEMBER(m_PFX)); PersistMgr->Transfer(TMEMBER(m_PFY)); PersistMgr->Transfer(TMEMBER(m_StandSprite)); m_TalkSprites.Persist(PersistMgr); m_TalkSpritesEx.Persist(PersistMgr); PersistMgr->Transfer(TMEMBER_INT(m_TargetDir)); PersistMgr->Transfer(TMEMBER_INT(m_AfterWalkDir)); PersistMgr->Transfer(TMEMBER(m_TargetPoint)); PersistMgr->Transfer(TMEMBER(m_TurnLeftSprite)); PersistMgr->Transfer(TMEMBER(m_TurnRightSprite)); PersistMgr->Transfer(TMEMBER(m_WalkSprite)); if(PersistMgr->CheckVersion(1, 7, 92)) { PersistMgr->Transfer(TMEMBER(m_AnimSprite2)); PersistMgr->Transfer(TMEMBER(m_TalkAnimName)); PersistMgr->Transfer(TMEMBER(m_IdleAnimName)); PersistMgr->Transfer(TMEMBER(m_WalkAnimName)); PersistMgr->Transfer(TMEMBER(m_TurnLeftAnimName)); PersistMgr->Transfer(TMEMBER(m_TurnRightAnimName)); m_Anims.Persist(PersistMgr); } else { if(!PersistMgr->m_Saving) { SetDefaultAnimNames(); m_AnimSprite2 = NULL; } } return S_OK; }
bool AdSceneNode::persist(BasePersistenceManager *persistMgr) { BaseObject::persist(persistMgr); persistMgr->transfer(TMEMBER(_entity)); persistMgr->transfer(TMEMBER(_region)); persistMgr->transfer(TMEMBER_INT(_type)); return STATUS_OK; }
bool AdResponseBox::persist(BasePersistenceManager *persistMgr) { BaseObject::persist(persistMgr); persistMgr->transferPtr(TMEMBER_PTR(_font)); persistMgr->transferPtr(TMEMBER_PTR(_fontHover)); persistMgr->transfer(TMEMBER(_horizontal)); persistMgr->transfer(TMEMBER(_lastResponseText)); persistMgr->transfer(TMEMBER(_lastResponseTextOrig)); _respButtons.persist(persistMgr); persistMgr->transfer(TMEMBER(_responseArea)); _responses.persist(persistMgr); persistMgr->transfer(TMEMBER(_scrollOffset)); persistMgr->transferPtr(TMEMBER_PTR(_shieldWindow)); persistMgr->transfer(TMEMBER(_spacing)); persistMgr->transferPtr(TMEMBER_PTR(_waitingScript)); persistMgr->transferPtr(TMEMBER_PTR(_window)); persistMgr->transfer(TMEMBER_INT(_verticalAlign)); persistMgr->transfer(TMEMBER_INT(_align)); return STATUS_OK; }
bool AdResponse::persist(BasePersistenceManager *persistMgr) { BaseObject::persist(persistMgr); persistMgr->transfer(TMEMBER(_icon)); persistMgr->transfer(TMEMBER(_iconHover)); persistMgr->transfer(TMEMBER(_iconPressed)); persistMgr->transfer(TMEMBER(_iD)); persistMgr->transfer(TMEMBER(_text)); persistMgr->transfer(TMEMBER(_textOrig)); persistMgr->transfer(TMEMBER_INT(_responseType)); persistMgr->transfer(TMEMBER(_font)); return STATUS_OK; }
HRESULT CAdResponse::Persist(CBPersistMgr* PersistMgr){ CBObject::Persist(PersistMgr); PersistMgr->Transfer(TMEMBER(m_Icon)); PersistMgr->Transfer(TMEMBER(m_IconHover)); PersistMgr->Transfer(TMEMBER(m_IconPressed)); PersistMgr->Transfer(TMEMBER(m_ID)); PersistMgr->Transfer(TMEMBER(m_Text)); PersistMgr->Transfer(TMEMBER(m_TextOrig)); PersistMgr->Transfer(TMEMBER_INT(m_ResponseType)); PersistMgr->Transfer(TMEMBER(m_Font)); return S_OK; }
bool PartForce::persist(BasePersistenceManager *persistMgr) { if (persistMgr->getIsSaving()) { const char *name = getName(); persistMgr->transfer(TMEMBER(name)); } else { const char *name; persistMgr->transfer(TMEMBER(name)); setName(name); } persistMgr->transfer(TMEMBER(_pos)); persistMgr->transfer(TMEMBER(_direction)); persistMgr->transfer(TMEMBER_INT(_type)); return STATUS_OK; }
HRESULT CAdItem::Persist(CBPersistMgr* PersistMgr){ CAdTalkHolder::Persist(PersistMgr); PersistMgr->Transfer(TMEMBER(m_CursorCombined)); PersistMgr->Transfer(TMEMBER(m_CursorHover)); PersistMgr->Transfer(TMEMBER(m_CursorNormal)); PersistMgr->Transfer(TMEMBER(m_SpriteHover)); PersistMgr->Transfer(TMEMBER(m_InInventory)); PersistMgr->Transfer(TMEMBER(m_DisplayAmount)); PersistMgr->Transfer(TMEMBER(m_Amount)); PersistMgr->Transfer(TMEMBER(m_AmountOffsetX)); PersistMgr->Transfer(TMEMBER(m_AmountOffsetY)); PersistMgr->Transfer(TMEMBER_INT(m_AmountAlign)); PersistMgr->Transfer(TMEMBER(m_AmountString)); return S_OK; }
HRESULT C3DEffectParams::C3DEffectParam::Persist(CBPersistMgr* PersistMgr) { PersistMgr->Transfer(TMEMBER(m_ParamName)); PersistMgr->Transfer(TMEMBER_INT(m_Type)); PersistMgr->Transfer(TMEMBER(m_ValString)); PersistMgr->Transfer(TMEMBER(m_ValInt)); PersistMgr->Transfer(TMEMBER(m_ValFloat)); PersistMgr->Transfer(TMEMBER(m_ValVector)); PersistMgr->Transfer(TMEMBER(m_ValBool)); if (!PersistMgr->m_Saving) { m_Initialized = false; m_Handle = NULL; } return S_OK; }
HRESULT CPartParticle::Persist(CBPersistMgr* PersistMgr) { PersistMgr->Transfer(TMEMBER(m_Alpha1)); PersistMgr->Transfer(TMEMBER(m_Alpha2)); PersistMgr->Transfer(TMEMBER(m_Border)); PersistMgr->Transfer(TMEMBER(m_Pos)); PersistMgr->Transfer(TMEMBER(m_PosZ)); PersistMgr->Transfer(TMEMBER(m_Velocity)); PersistMgr->Transfer(TMEMBER(m_Scale)); PersistMgr->Transfer(TMEMBER(m_CreationTime)); PersistMgr->Transfer(TMEMBER(m_LifeTime)); PersistMgr->Transfer(TMEMBER(m_IsDead)); PersistMgr->Transfer(TMEMBER_INT(m_State)); PersistMgr->Transfer(TMEMBER(m_FadeStart)); PersistMgr->Transfer(TMEMBER(m_FadeTime)); PersistMgr->Transfer(TMEMBER(m_CurrentAlpha)); PersistMgr->Transfer(TMEMBER(m_AngVelocity)); PersistMgr->Transfer(TMEMBER(m_Rotation)); PersistMgr->Transfer(TMEMBER(m_GrowthRate)); PersistMgr->Transfer(TMEMBER(m_ExponentialGrowth)); PersistMgr->Transfer(TMEMBER(m_FadeStartAlpha)); if(PersistMgr->m_Saving) { PersistMgr->Transfer(TMEMBER(m_Sprite->m_Filename)); } else { char* Filename; PersistMgr->Transfer(TMEMBER(Filename)); CSysClassRegistry::GetInstance()->m_Disabled = true; SetSprite(Filename); CSysClassRegistry::GetInstance()->m_Disabled = false; SAFE_DELETE_ARRAY(Filename); } return S_OK; }
bool PartParticle::persist(BasePersistenceManager *persistMgr) { persistMgr->transfer(TMEMBER(_alpha1)); persistMgr->transfer(TMEMBER(_alpha2)); persistMgr->transfer(TMEMBER(_border)); persistMgr->transfer(TMEMBER(_pos)); persistMgr->transfer(TMEMBER(_posZ)); persistMgr->transfer(TMEMBER(_velocity)); persistMgr->transfer(TMEMBER(_scale)); persistMgr->transfer(TMEMBER(_creationTime)); persistMgr->transfer(TMEMBER(_lifeTime)); persistMgr->transfer(TMEMBER(_isDead)); persistMgr->transfer(TMEMBER_INT(_state)); persistMgr->transfer(TMEMBER(_fadeStart)); persistMgr->transfer(TMEMBER(_fadeTime)); persistMgr->transfer(TMEMBER(_currentAlpha)); persistMgr->transfer(TMEMBER(_angVelocity)); persistMgr->transfer(TMEMBER(_rotation)); persistMgr->transfer(TMEMBER(_growthRate)); persistMgr->transfer(TMEMBER(_exponentialGrowth)); persistMgr->transfer(TMEMBER(_fadeStartAlpha)); if (persistMgr->getIsSaving()) { const char *filename = _sprite->getFilename(); persistMgr->transfer(TMEMBER(filename)); } else { char *filename; persistMgr->transfer(TMEMBER(filename)); SystemClassRegistry::getInstance()->_disabled = true; setSprite(filename); SystemClassRegistry::getInstance()->_disabled = false; delete[] filename; filename = nullptr; } return STATUS_OK; }
bool AdSentence::persist(BasePersistenceManager *persistMgr) { persistMgr->transfer(TMEMBER(_gameRef)); persistMgr->transfer(TMEMBER_INT(_align)); persistMgr->transfer(TMEMBER(_currentStance)); persistMgr->transfer(TMEMBER(_currentSprite)); persistMgr->transfer(TMEMBER(_currentSkelAnim)); persistMgr->transfer(TMEMBER(_duration)); persistMgr->transfer(TMEMBER(_font)); persistMgr->transfer(TMEMBER(_pos)); persistMgr->transfer(TMEMBER(_sound)); persistMgr->transfer(TMEMBER(_soundStarted)); persistMgr->transfer(TMEMBER(_stances)); persistMgr->transfer(TMEMBER(_startTime)); persistMgr->transfer(TMEMBER(_talkDef)); persistMgr->transfer(TMEMBER(_tempStance)); persistMgr->transfer(TMEMBER(_text)); persistMgr->transfer(TMEMBER(_width)); persistMgr->transfer(TMEMBER(_fixedPos)); persistMgr->transfer(TMEMBER(_freezable)); return STATUS_OK; }
bool ScScript::persist(BasePersistenceManager *persistMgr) { persistMgr->transferPtr(TMEMBER_PTR(_gameRef)); // buffer if (persistMgr->getIsSaving()) { if (_state != SCRIPT_PERSISTENT && _state != SCRIPT_FINISHED && _state != SCRIPT_THREAD_FINISHED) { persistMgr->transfer(TMEMBER(_bufferSize)); persistMgr->putBytes(_buffer, _bufferSize); } else { // don't save idle/finished scripts int32 bufferSize = 0; persistMgr->transfer(TMEMBER(bufferSize)); } } else { persistMgr->transfer(TMEMBER(_bufferSize)); if (_bufferSize > 0) { _buffer = new byte[_bufferSize]; persistMgr->getBytes(_buffer, _bufferSize); _scriptStream = new Common::MemoryReadStream(_buffer, _bufferSize); initTables(); } else { _buffer = nullptr; _scriptStream = nullptr; } } persistMgr->transferPtr(TMEMBER_PTR(_callStack)); persistMgr->transfer(TMEMBER(_currentLine)); persistMgr->transferPtr(TMEMBER_PTR(_engine)); persistMgr->transfer(TMEMBER(_filename)); persistMgr->transferBool(TMEMBER(_freezable)); persistMgr->transferPtr(TMEMBER_PTR(_globals)); persistMgr->transfer(TMEMBER(_iP)); persistMgr->transferPtr(TMEMBER_PTR(_scopeStack)); persistMgr->transferPtr(TMEMBER_PTR(_stack)); persistMgr->transfer(TMEMBER_INT(_state)); persistMgr->transferPtr(TMEMBER_PTR(_operand)); persistMgr->transfer(TMEMBER_INT(_origState)); persistMgr->transferPtr(TMEMBER_PTR(_owner)); persistMgr->transferPtr(TMEMBER_PTR(_reg1)); persistMgr->transferBool(TMEMBER(_thread)); persistMgr->transfer(TMEMBER(_threadEvent)); persistMgr->transferPtr(TMEMBER_PTR(_thisStack)); persistMgr->transfer(TMEMBER(_timeSlice)); persistMgr->transferPtr(TMEMBER_PTR(_waitObject)); persistMgr->transferPtr(TMEMBER_PTR(_waitScript)); persistMgr->transfer(TMEMBER(_waitTime)); persistMgr->transferBool(TMEMBER(_waitFrozen)); persistMgr->transferBool(TMEMBER(_methodThread)); persistMgr->transferBool(TMEMBER(_methodThread)); // TODO-SAVE: Deduplicate. persistMgr->transferBool(TMEMBER(_unbreakable)); persistMgr->transferPtr(TMEMBER_PTR(_parentScript)); if (!persistMgr->getIsSaving()) { _tracingMode = false; } return STATUS_OK; }
bool ScValue::persist(BasePersistenceManager *persistMgr) { persistMgr->transferPtr(TMEMBER_PTR(_gameRef)); persistMgr->transfer(TMEMBER(_persistent)); persistMgr->transfer(TMEMBER(_isConstVar)); persistMgr->transfer(TMEMBER_INT(_type)); persistMgr->transfer(TMEMBER(_valBool)); persistMgr->transfer(TMEMBER(_valFloat)); persistMgr->transfer(TMEMBER(_valInt)); persistMgr->transferPtr(TMEMBER_PTR(_valNative)); int32 size; const char *str; if (persistMgr->getIsSaving()) { size = _valObject.size(); persistMgr->transfer("", &size); _valIter = _valObject.begin(); while (_valIter != _valObject.end()) { str = _valIter->_key.c_str(); persistMgr->transfer("", &str); persistMgr->transferPtr("", &_valIter->_value); _valIter++; } } else { ScValue *val = nullptr; persistMgr->transfer("", &size); for (int i = 0; i < size; i++) { persistMgr->transfer("", &str); persistMgr->transferPtr("", &val); _valObject[str] = val; delete[] str; } } persistMgr->transferPtr(TMEMBER_PTR(_valRef)); persistMgr->transfer(TMEMBER(_valString)); if (!persistMgr->getIsSaving() && !persistMgr->checkVersion(1,2,2)) { // Savegames prior to 1.2.2 stored empty strings as NULL. // We disambiguate those by turning NULL strings into empty // strings if _type is VAL_STRING instead of VAL_NULL. if (_type == VAL_STRING && !_valString) { _valString = new char[1]; _valString[0] = '\0'; } } /* // TODO: Convert to Debug-statements. FILE* f = fopen("c:\\val.log", "a+"); switch(_type) { case VAL_STRING: fprintf(f, "str %s\n", _valString); break; case VAL_INT: fprintf(f, "int %d\n", _valInt); break; case VAL_BOOL: fprintf(f, "bool %d\n", _valBool); break; case VAL_NULL: fprintf(f, "null\n"); break; case VAL_NATIVE: fprintf(f, "native\n"); break; case VAL_VARIABLE_REF: fprintf(f, "ref\n"); break; case VAL_OBJECT: fprintf(f, "obj\n"); break; case VAL_FLOAT: fprintf(f, "float\n"); break; } fclose(f); */ return STATUS_OK; }
bool PartEmitter::persist(BasePersistenceManager *persistMgr) { BaseObject::persist(persistMgr); persistMgr->transfer(TMEMBER(_width)); persistMgr->transfer(TMEMBER(_height)); persistMgr->transfer(TMEMBER(_angle1)); persistMgr->transfer(TMEMBER(_angle2)); persistMgr->transfer(TMEMBER(_velocity1)); persistMgr->transfer(TMEMBER(_velocity2)); persistMgr->transfer(TMEMBER(_velocityZBased)); persistMgr->transfer(TMEMBER(_scale1)); persistMgr->transfer(TMEMBER(_scale2)); persistMgr->transfer(TMEMBER(_scaleZBased)); persistMgr->transfer(TMEMBER(_maxParticles)); persistMgr->transfer(TMEMBER(_lifeTime1)); persistMgr->transfer(TMEMBER(_lifeTime2)); persistMgr->transfer(TMEMBER(_lifeTimeZBased)); persistMgr->transfer(TMEMBER(_genInterval)); persistMgr->transfer(TMEMBER(_genAmount)); persistMgr->transfer(TMEMBER(_running)); persistMgr->transfer(TMEMBER(_overheadTime)); persistMgr->transfer(TMEMBER(_border)); persistMgr->transfer(TMEMBER(_borderThicknessLeft)); persistMgr->transfer(TMEMBER(_borderThicknessRight)); persistMgr->transfer(TMEMBER(_borderThicknessTop)); persistMgr->transfer(TMEMBER(_borderThicknessBottom)); persistMgr->transfer(TMEMBER(_fadeInTime)); persistMgr->transfer(TMEMBER(_fadeOutTime)); persistMgr->transfer(TMEMBER(_alpha1)); persistMgr->transfer(TMEMBER(_alpha2)); persistMgr->transfer(TMEMBER(_alphaTimeBased)); persistMgr->transfer(TMEMBER(_angVelocity1)); persistMgr->transfer(TMEMBER(_angVelocity2)); persistMgr->transfer(TMEMBER(_rotation1)); persistMgr->transfer(TMEMBER(_rotation2)); persistMgr->transfer(TMEMBER(_growthRate1)); persistMgr->transfer(TMEMBER(_growthRate2)); persistMgr->transfer(TMEMBER(_exponentialGrowth)); persistMgr->transfer(TMEMBER(_useRegion)); persistMgr->transfer(TMEMBER_INT(_maxBatches)); persistMgr->transfer(TMEMBER_INT(_batchesGenerated)); persistMgr->transfer(TMEMBER(_emitEvent)); persistMgr->transferPtr(TMEMBER_PTR(_owner)); _sprites.persist(persistMgr); uint32 numForces; if (persistMgr->getIsSaving()) { numForces = _forces.size(); persistMgr->transfer(TMEMBER(numForces)); for (uint32 i = 0; i < _forces.size(); i++) { _forces[i]->persist(persistMgr); } } else { persistMgr->transfer(TMEMBER(numForces)); for (uint32 i = 0; i < numForces; i++) { PartForce *force = new PartForce(_gameRef); force->persist(persistMgr); _forces.add(force); } } uint32 numParticles; if (persistMgr->getIsSaving()) { numParticles = _particles.size(); persistMgr->transfer(TMEMBER(numParticles)); for (uint32 i = 0; i < _particles.size(); i++) { _particles[i]->persist(persistMgr); } } else { persistMgr->transfer(TMEMBER(numParticles)); for (uint32 i = 0; i < numParticles; i++) { PartParticle *particle = new PartParticle(_gameRef); particle->persist(persistMgr); _particles.add(particle); } } return STATUS_OK; }
HRESULT CPartEmitter::Persist(CBPersistMgr* PersistMgr) { CBObject::Persist(PersistMgr); PersistMgr->Transfer(TMEMBER(m_Width)); PersistMgr->Transfer(TMEMBER(m_Height)); PersistMgr->Transfer(TMEMBER(m_Angle1)); PersistMgr->Transfer(TMEMBER(m_Angle2)); PersistMgr->Transfer(TMEMBER(m_Velocity1)); PersistMgr->Transfer(TMEMBER(m_Velocity2)); PersistMgr->Transfer(TMEMBER(m_VelocityZBased)); PersistMgr->Transfer(TMEMBER(m_Scale1)); PersistMgr->Transfer(TMEMBER(m_Scale2)); PersistMgr->Transfer(TMEMBER(m_ScaleZBased)); PersistMgr->Transfer(TMEMBER(m_MaxParticles)); PersistMgr->Transfer(TMEMBER(m_LifeTime1)); PersistMgr->Transfer(TMEMBER(m_LifeTime2)); PersistMgr->Transfer(TMEMBER(m_LifeTimeZBased)); PersistMgr->Transfer(TMEMBER(m_GenInterval)); PersistMgr->Transfer(TMEMBER(m_GenAmount)); PersistMgr->Transfer(TMEMBER(m_Running)); PersistMgr->Transfer(TMEMBER(m_OverheadTime)); PersistMgr->Transfer(TMEMBER(m_Border)); PersistMgr->Transfer(TMEMBER(m_BorderThicknessLeft)); PersistMgr->Transfer(TMEMBER(m_BorderThicknessRight)); PersistMgr->Transfer(TMEMBER(m_BorderThicknessTop)); PersistMgr->Transfer(TMEMBER(m_BorderThicknessBottom)); PersistMgr->Transfer(TMEMBER(m_FadeInTime)); PersistMgr->Transfer(TMEMBER(m_FadeOutTime)); PersistMgr->Transfer(TMEMBER(m_Alpha1)); PersistMgr->Transfer(TMEMBER(m_Alpha2)); PersistMgr->Transfer(TMEMBER(m_AlphaTimeBased)); PersistMgr->Transfer(TMEMBER(m_AngVelocity1)); PersistMgr->Transfer(TMEMBER(m_AngVelocity2)); PersistMgr->Transfer(TMEMBER(m_Rotation1)); PersistMgr->Transfer(TMEMBER(m_Rotation2)); PersistMgr->Transfer(TMEMBER(m_GrowthRate1)); PersistMgr->Transfer(TMEMBER(m_GrowthRate2)); PersistMgr->Transfer(TMEMBER(m_ExponentialGrowth)); PersistMgr->Transfer(TMEMBER(m_UseRegion)); PersistMgr->Transfer(TMEMBER_INT(m_MaxBatches)); PersistMgr->Transfer(TMEMBER_INT(m_BatchesGenerated)); PersistMgr->Transfer(TMEMBER(m_EmitEvent)); PersistMgr->Transfer(TMEMBER(m_Owner)); m_Sprites.Persist(PersistMgr); int NumForces; if(PersistMgr->m_Saving) { NumForces = m_Forces.GetSize(); PersistMgr->Transfer(TMEMBER(NumForces)); for(int i=0; i<m_Forces.GetSize(); i++) { m_Forces[i]->Persist(PersistMgr); } } else { PersistMgr->Transfer(TMEMBER(NumForces)); for(int i=0; i<NumForces; i++) { CPartForce* Force = new CPartForce(Game); Force->Persist(PersistMgr); m_Forces.Add(Force); } } int NumParticles; if(PersistMgr->m_Saving) { NumParticles = m_Particles.GetSize(); PersistMgr->Transfer(TMEMBER(NumParticles)); for(int i=0; i<m_Particles.GetSize(); i++) { m_Particles[i]->Persist(PersistMgr); } } else { PersistMgr->Transfer(TMEMBER(NumParticles)); for(int i=0; i<NumParticles; i++) { CPartParticle* Particle = new CPartParticle(Game); Particle->Persist(PersistMgr); m_Particles.Add(Particle); } } return S_OK; }
HRESULT CScValue::Persist(CBPersistMgr *PersistMgr) { PersistMgr->Transfer(TMEMBER(Game)); PersistMgr->Transfer(TMEMBER(m_Persistent)); PersistMgr->Transfer(TMEMBER(m_IsConstVar)); PersistMgr->Transfer(TMEMBER_INT(m_Type)); PersistMgr->Transfer(TMEMBER(m_ValBool)); PersistMgr->Transfer(TMEMBER(m_ValFloat)); PersistMgr->Transfer(TMEMBER(m_ValInt)); PersistMgr->Transfer(TMEMBER(m_ValNative)); int size; char *str; if (PersistMgr->m_Saving) { size = m_ValObject.size(); PersistMgr->Transfer("", &size); m_ValIter = m_ValObject.begin(); while (m_ValIter != m_ValObject.end()) { str = (char *)m_ValIter->first.c_str(); PersistMgr->Transfer("", &str); PersistMgr->Transfer("", &m_ValIter->second); m_ValIter++; } } else { CScValue *val; PersistMgr->Transfer("", &size); for (int i = 0; i < size; i++) { PersistMgr->Transfer("", &str); PersistMgr->Transfer("", &val); m_ValObject[str] = val; delete [] str; } } PersistMgr->Transfer(TMEMBER(m_ValRef)); PersistMgr->Transfer(TMEMBER(m_ValString)); /* FILE* f = fopen("c:\\val.log", "a+"); switch(m_Type) { case VAL_STRING: fprintf(f, "str %s\n", m_ValString); break; case VAL_INT: fprintf(f, "int %d\n", m_ValInt); break; case VAL_BOOL: fprintf(f, "bool %d\n", m_ValBool); break; case VAL_NULL: fprintf(f, "null\n"); break; case VAL_NATIVE: fprintf(f, "native\n"); break; case VAL_VARIABLE_REF: fprintf(f, "ref\n"); break; case VAL_OBJECT: fprintf(f, "obj\n"); break; case VAL_FLOAT: fprintf(f, "float\n"); break; } fclose(f); */ return S_OK; }