big endian fix

svn-id: r11709
This commit is contained in:
Robert Göffringmann 2003-12-17 11:23:12 +00:00
parent 9f8b022fd4
commit eeb15c0433

View file

@ -66,27 +66,20 @@ SwordLogic::SwordLogic(ObjectMan *pObjMan, ResMan *resMan, SwordScreen *pScreen,
void SwordLogic::newScreen(uint32 screen) { void SwordLogic::newScreen(uint32 screen) {
BsObject *compact = (BsObject*)_objMan->fetchObject(PLAYER); BsObject *compact = (BsObject*)_objMan->fetchObject(PLAYER);
//Tdebug("locked player"); if (SwordEngine::_systemVars.justRestoredGame) { // if we've just restored a game - we want George to be exactly as saved
fnAddHuman(NULL, 0, 0, 0, 0, 0, 0, 0);
if (SwordEngine::_systemVars.justRestoredGame) // if we've just restored a game - we want George to be exactly as saved if (_scriptVars[GEORGE_WALKING]) { // except that if George was walking when we saveed the game
{
if (_scriptVars[GEORGE_WALKING]) // except that if George was walking when we saveed the game
{
fnStandAt(compact, PLAYER, _scriptVars[CHANGE_X], _scriptVars[CHANGE_Y], _scriptVars[CHANGE_DIR], _scriptVars[CHANGE_STANCE], 0,0); fnStandAt(compact, PLAYER, _scriptVars[CHANGE_X], _scriptVars[CHANGE_Y], _scriptVars[CHANGE_DIR], _scriptVars[CHANGE_STANCE], 0,0);
fnIdle(compact,PLAYER,0,0,0,0,0,0); fnIdle(compact,PLAYER,0,0,0,0,0,0);
_scriptVars[GEORGE_WALKING] = 0; _scriptVars[GEORGE_WALKING] = 0;
} }
SwordEngine::_systemVars.justRestoredGame = 0; SwordEngine::_systemVars.justRestoredGame = 0;
} if (_scriptVars[CURRENT_MUSIC])
else // if we haven't just restored a game, set George to stand, etc _music->startMusic(_scriptVars[CURRENT_MUSIC], 1);
{ } else { // if we haven't just restored a game, set George to stand, etc
compact->o_screen = _scriptVars[NEW_SCREEN]; //move the mega/player at this point between screens compact->o_screen = _scriptVars[NEW_SCREEN]; //move the mega/player at this point between screens
//Tdebug("FN_stand_at...");
fnStandAt(compact, PLAYER, _scriptVars[CHANGE_X], _scriptVars[CHANGE_Y], _scriptVars[CHANGE_DIR], _scriptVars[CHANGE_STANCE], 0,0); fnStandAt(compact, PLAYER, _scriptVars[CHANGE_X], _scriptVars[CHANGE_Y], _scriptVars[CHANGE_DIR], _scriptVars[CHANGE_STANCE], 0,0);
//Tdebug("FN_change_floor...");
fnChangeFloor(compact, PLAYER, _scriptVars[CHANGE_PLACE], 0, 0, 0, 0, 0); fnChangeFloor(compact, PLAYER, _scriptVars[CHANGE_PLACE], 0, 0, 0, 0, 0);
//Tdebug("done");
} }
} }
@ -371,7 +364,7 @@ int SwordLogic::animDriver(BsObject *compact) {
compact->o_anim_y = animPtr->animY; compact->o_anim_y = animPtr->animY;
} }
compact->o_frame = animPtr->animFrame; compact->o_frame = FROM_LE_32(animPtr->animFrame);
compact->o_anim_pc++; compact->o_anim_pc++;
if (compact->o_anim_pc == numFrames) if (compact->o_anim_pc == numFrames)
compact->o_logic = LOGIC_script; compact->o_logic = LOGIC_script;
@ -1508,16 +1501,16 @@ int SwordLogic::fnStopFx(BsObject *cpt, int32 id, int32 fxNo, int32 b, int32 c,
int SwordLogic::fnPlayMusic(BsObject *cpt, int32 id, int32 tuneId, int32 loopFlag, int32 c, int32 d, int32 z, int32 x) { int SwordLogic::fnPlayMusic(BsObject *cpt, int32 id, int32 tuneId, int32 loopFlag, int32 c, int32 d, int32 z, int32 x) {
if (loopFlag == LOOPED) if (loopFlag == LOOPED)
SwordEngine::_systemVars.currentMusic = tuneId; // so it gets restarted when saving & reloading _scriptVars[CURRENT_MUSIC] = tuneId; // so it gets restarted when saving & reloading
else else
SwordEngine::_systemVars.currentMusic = 0; _scriptVars[CURRENT_MUSIC] = 0;
_music->startMusic(tuneId, loopFlag); _music->startMusic(tuneId, loopFlag);
return SCRIPT_CONT; return SCRIPT_CONT;
} }
int SwordLogic::fnStopMusic(BsObject *cpt, int32 id, int32 a, int32 b, int32 c, int32 d, int32 z, int32 x) { int SwordLogic::fnStopMusic(BsObject *cpt, int32 id, int32 a, int32 b, int32 c, int32 d, int32 z, int32 x) {
SwordEngine::_systemVars.currentMusic = 0; _scriptVars[CURRENT_MUSIC] = 0;
_music->fadeDown(); _music->fadeDown();
return SCRIPT_CONT; return SCRIPT_CONT;
} }