diff options
Diffstat (limited to 'engines/tsage/core.cpp')
| -rw-r--r-- | engines/tsage/core.cpp | 52 | 
1 files changed, 28 insertions, 24 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 0b3eb53268..7f27c43a22 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -1301,7 +1301,6 @@ ScenePalette::ScenePalette() {  		*palData++ = idx;  	} -	_field412 = 0;  	_redColor = _greenColor = _blueColor = 0;  	_aquaColor = 0;  	_purpleColor = 0; @@ -1313,7 +1312,6 @@ ScenePalette::~ScenePalette() {  }  ScenePalette::ScenePalette(int paletteNum) { -	_field412 = 0;  	_redColor = _greenColor = _blueColor = 0;  	_aquaColor = 0;  	_purpleColor = 0; @@ -1565,8 +1563,13 @@ void SceneItem::synchronize(Serializer &s) {  	_bounds.synchronize(s);  	s.syncString(_msg); -	s.syncAsSint32LE(_fieldE); -	s.syncAsSint32LE(_field10); + +	if (s.getVersion() < 15) { +		int useless = 0; +		s.syncAsSint32LE(useless); +		s.syncAsSint32LE(useless); +	} +  	s.syncAsSint16LE(_position.x); s.syncAsSint32LE(_position.y);  	s.syncAsSint16LE(_yDiff);  	s.syncAsSint32LE(_sceneRegionId); @@ -2119,7 +2122,7 @@ SceneObject::SceneObject() : SceneHotspot() {  	_xs = 0;  	_xe = 0;  	_endFrame = 0; -	_field68 = 0; +	_loopCount = 0;  	_regionIndex = 0;  	_shadowMap = NULL;  } @@ -2368,7 +2371,7 @@ void SceneObject::animate(AnimateMode animMode, ...) {  	case ANIM_MODE_1:  		_frameChange = 1; -		_field2E = _position; +		_oldPosition = _position;  		_endAction = 0;  		break; @@ -2416,9 +2419,9 @@ void SceneObject::animate(AnimateMode animMode, ...) {  	case ANIM_MODE_9:  		if (_animateMode == ANIM_MODE_9 && g_vm->getGameID() == GType_Ringworld2) {  			_frameChange = -1; -			_field2E = _position; +			_oldPosition = _position;  		} else { -			_field68 = va_arg(va, int); +			_loopCount = va_arg(va, int);  			_endAction = va_arg(va, Action *);  			_frameChange = 1;  			_endFrame = getFrameCount(); @@ -2485,7 +2488,7 @@ void SceneObject::synchronize(Serializer &s) {  	s.syncAsUint32LE(_updateStartFrame);  	s.syncAsUint32LE(_walkStartFrame); -	s.syncAsSint16LE(_field2E.x); s.syncAsSint16LE(_field2E.y); +	s.syncAsSint16LE(_oldPosition.x); s.syncAsSint16LE(_oldPosition.y);  	s.syncAsSint16LE(_percent);  	s.syncAsSint16LE(_priority);  	s.syncAsSint16LE(_angle); @@ -2500,7 +2503,7 @@ void SceneObject::synchronize(Serializer &s) {  	SYNC_ENUM(_animateMode, AnimateMode);  	s.syncAsSint32LE(_frame);  	s.syncAsSint32LE(_endFrame); -	s.syncAsSint32LE(_field68); +	s.syncAsSint32LE(_loopCount);  	s.syncAsSint32LE(_frameChange);  	s.syncAsSint32LE(_numFrames);  	s.syncAsSint32LE(_regionIndex); @@ -2587,9 +2590,9 @@ void SceneObject::dispatch() {  		case ANIM_MODE_1:  			if (isNoMover())  				setFrame(1); -			else if ((_field2E.x != _position.x) || (_field2E.y != _position.y)) { +			else if ((_oldPosition.x != _position.x) || (_oldPosition.y != _position.y)) {  				setFrame(changeFrame()); -				_field2E = _position; +				_oldPosition = _position;  			}  			break; @@ -2632,7 +2635,7 @@ void SceneObject::dispatch() {  					_endFrame = 1;  					setFrame(changeFrame()); -				} else if (!_field68 || (--_field68 > 0)) { +				} else if (!_loopCount || (--_loopCount > 0)) {  					_frameChange = 1;  					_endFrame = getFrameCount(); @@ -2651,7 +2654,7 @@ void SceneObject::dispatch() {  					_frameChange = -1;  					_strip = ((_strip - 1) ^ 1) + 1;  					_endFrame = 1; -				} else if ((_field68 == 0) || (--_field68 != 0)) { +				} else if (!_loopCount || (--_loopCount > 0)) {  					_frameChange = 1;  					_endFrame = getFrameCount(); @@ -3365,7 +3368,6 @@ Player::Player(): SceneObject() {  	_canWalk = false;  	_enabled = false;  	_uiEnabled = false; -	_field8C = 0;  	// Return to Ringworld specific fields  	_characterIndex = R2_NONE; @@ -3384,15 +3386,11 @@ void Player::postInit(SceneObjectList *OwnerList) {  	_canWalk = true;  	_uiEnabled = true;  	_percent = 100; -	_field8C = 10; -	if  (g_vm->getGameID() != GType_Ringworld2) -	{ +	if  (g_vm->getGameID() != GType_Ringworld2) {  		_moveDiff.x = 4;  		_moveDiff.y = 2; -	} -	else -	{ +	} else {  		_moveDiff.x = 3;  		_moveDiff.y = 2;  		_effect = EFFECT_SHADED; @@ -3500,7 +3498,10 @@ void Player::synchronize(Serializer &s) {  	s.syncAsByte(_canWalk);  	s.syncAsByte(_uiEnabled); -	s.syncAsSint16LE(_field8C); +	if (s.getVersion() < 15) { +		int useless = 0; +		s.syncAsSint16LE(useless); +	}  	if (g_vm->getGameID() != GType_Ringworld)  		s.syncAsByte(_enabled); @@ -4248,7 +4249,6 @@ double FloatSet::sqrt(FloatSet &floatSet) {  GameHandler::GameHandler() : EventHandler() {  	_nextWaitCtr = 1;  	_waitCtr.setCtr(1); -	_field14 = 10;  }  GameHandler::~GameHandler() { @@ -4270,7 +4270,11 @@ void GameHandler::synchronize(Serializer &s) {  	_lockCtr.synchronize(s);  	_waitCtr.synchronize(s);  	s.syncAsSint16LE(_nextWaitCtr); -	s.syncAsSint16LE(_field14); + +	if (s.getVersion() < 14) { +		int useless = 0; +		s.syncAsSint16LE(useless); +	}  }  /*--------------------------------------------------------------------------*/  | 
