mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-13 07:14:59 +00:00
TWINE: fixed issue #12827 (Unable to exit scene on citadel island)
introduced in 70fd4f428d9ed5ba1f71bb02f35b8fae7fccb410
This commit is contained in:
parent
2df0dca6aa
commit
ca57b25a32
@ -303,15 +303,15 @@ bool Scene::loadSceneLBA1() {
|
||||
_sceneMusic = stream.readByte();
|
||||
|
||||
// load hero properties
|
||||
_sceneHeroPos.x = stream.readUint16LE();
|
||||
_sceneHeroPos.y = stream.readUint16LE();
|
||||
_sceneHeroPos.z = stream.readUint16LE();
|
||||
_sceneHeroPos.x = (int16)stream.readUint16LE();
|
||||
_sceneHeroPos.y = (int16)stream.readUint16LE();
|
||||
_sceneHeroPos.z = (int16)stream.readUint16LE();
|
||||
|
||||
_sceneHero->_moveScriptSize = stream.readUint16LE();
|
||||
_sceneHero->_moveScriptSize = (int16)stream.readUint16LE();
|
||||
_sceneHero->_moveScript = _currentScene + stream.pos();
|
||||
stream.skip(_sceneHero->_moveScriptSize);
|
||||
|
||||
_sceneHero->_lifeScriptSize = stream.readUint16LE();
|
||||
_sceneHero->_lifeScriptSize = (int16)stream.readUint16LE();
|
||||
_sceneHero->_lifeScript = _currentScene + stream.pos();
|
||||
stream.skip(_sceneHero->_lifeScriptSize);
|
||||
|
||||
@ -327,15 +327,15 @@ bool Scene::loadSceneLBA1() {
|
||||
|
||||
act->_body = (BodyType)stream.readByte();
|
||||
act->_anim = (AnimationTypes)stream.readByte();
|
||||
act->_sprite = stream.readUint16LE();
|
||||
act->_pos.x = stream.readUint16LE();
|
||||
act->_pos.y = stream.readUint16LE();
|
||||
act->_pos.z = stream.readUint16LE();
|
||||
act->_sprite = (int16)stream.readUint16LE();
|
||||
act->_pos.x = (int16)stream.readUint16LE();
|
||||
act->_pos.y = (int16)stream.readUint16LE();
|
||||
act->_pos.z = (int16)stream.readUint16LE();
|
||||
act->_collisionPos = act->pos();
|
||||
act->_strengthOfHit = stream.readByte();
|
||||
setBonusParameterFlags(act, stream.readUint16LE());
|
||||
act->_angle = stream.readUint16LE();
|
||||
act->_speed = stream.readUint16LE();
|
||||
act->_angle = (int16)stream.readUint16LE();
|
||||
act->_speed = (int16)stream.readUint16LE();
|
||||
act->_controlMode = (ControlMode)stream.readUint16LE();
|
||||
act->_cropLeft = stream.readSint16LE();
|
||||
act->_delayInMillis = act->_cropLeft; // TODO: this might not be needed
|
||||
@ -348,11 +348,11 @@ bool Scene::loadSceneLBA1() {
|
||||
act->_armor = stream.readByte();
|
||||
act->setLife(stream.readByte());
|
||||
|
||||
act->_moveScriptSize = stream.readUint16LE();
|
||||
act->_moveScriptSize = (int16)stream.readUint16LE();
|
||||
act->_moveScript = _currentScene + stream.pos();
|
||||
stream.skip(act->_moveScriptSize);
|
||||
|
||||
act->_lifeScriptSize = stream.readUint16LE();
|
||||
act->_lifeScriptSize = (int16)stream.readUint16LE();
|
||||
act->_lifeScript = _currentScene + stream.pos();
|
||||
stream.skip(act->_lifeScriptSize);
|
||||
|
||||
@ -365,20 +365,20 @@ bool Scene::loadSceneLBA1() {
|
||||
_sceneNumZones = stream.readUint16LE();
|
||||
for (int32 i = 0; i < _sceneNumZones; i++) {
|
||||
ZoneStruct *zone = &_sceneZones[i];
|
||||
zone->mins.x = stream.readUint16LE();
|
||||
zone->mins.y = stream.readUint16LE();
|
||||
zone->mins.z = stream.readUint16LE();
|
||||
zone->mins.x = (int16)stream.readUint16LE();
|
||||
zone->mins.y = (int16)stream.readUint16LE();
|
||||
zone->mins.z = (int16)stream.readUint16LE();
|
||||
|
||||
zone->maxs.x = stream.readUint16LE();
|
||||
zone->maxs.y = stream.readUint16LE();
|
||||
zone->maxs.z = stream.readUint16LE();
|
||||
zone->maxs.x = (int16)stream.readUint16LE();
|
||||
zone->maxs.y = (int16)stream.readUint16LE();
|
||||
zone->maxs.z = (int16)stream.readUint16LE();
|
||||
|
||||
zone->type = (ZoneType)stream.readUint16LE();
|
||||
|
||||
zone->infoData.generic.info0 = stream.readUint16LE();
|
||||
zone->infoData.generic.info1 = stream.readUint16LE();
|
||||
zone->infoData.generic.info2 = stream.readUint16LE();
|
||||
zone->infoData.generic.info3 = stream.readUint16LE();
|
||||
zone->infoData.generic.info0 = (int16)stream.readUint16LE();
|
||||
zone->infoData.generic.info1 = (int16)stream.readUint16LE();
|
||||
zone->infoData.generic.info2 = (int16)stream.readUint16LE();
|
||||
zone->infoData.generic.info3 = (int16)stream.readUint16LE();
|
||||
|
||||
zone->snap = stream.readUint16LE();
|
||||
}
|
||||
@ -386,9 +386,9 @@ bool Scene::loadSceneLBA1() {
|
||||
_sceneNumTracks = stream.readUint16LE();
|
||||
for (int32 i = 0; i < _sceneNumTracks; i++) {
|
||||
IVec3 *point = &_sceneTracks[i];
|
||||
point->x = stream.readUint16LE();
|
||||
point->y = stream.readUint16LE();
|
||||
point->z = stream.readUint16LE();
|
||||
point->x = (int16)stream.readUint16LE();
|
||||
point->y = (int16)stream.readUint16LE();
|
||||
point->z = (int16)stream.readUint16LE();
|
||||
}
|
||||
|
||||
if (_engine->_debugScene->_useScenePatches) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user