For Future Wars o1_compareGlobalVar now compares global variable 255 to be equal to everything.
The scripts probably tested global variable 255 for equality with some value (Maybe 143?)
to see whether copy protection was properly passed.
svn-id: r33950
Fixes teleporting bug when getting out of the water after first arcade sequence.
The player previously got teleported to the beach near the hotel. Now it doesn't happen.
The player is still caught motionless and can't move after this fix though...
svn-id: r33668
Renamed functions:
* addScriptToList0 -> addScriptToGlobalScripts
* executeList0 -> executeGlobalScripts
* executeList1 -> executeObjectScripts
* purgeList1 -> purgeObjectScripts (Also added a clarifying TODO to this function)
* purgeList0 -> purgeGlobalScripts (Also added a clarifying TODO to this function)
svn-id: r33409
- Changed savegame loading related functions to use SeekableReadStream
rather than InSaveFile so MemoryReadStream can be used transparently.
- Fixed loadResourcesFromSave to load multiframe animations correctly
and to load 0.11.0/0.11.1 Future Wars savegames which used a slightly
different format.
- Added a savegame format detector that tries to detect between the old
Future Wars savegame format, the new one and a broken revision of the
new one.
- Changed makeLoad to first load the savegame fully into memory and only
then handle it (If the savegame's packed then it's unpacked first). If
the packed savegame can't tell its unpacked size (i.e. it's using zlib
format) then we'll try to load up to 256kB of the savegame data.
Thanks to wjp for his help with nailing this release critical bug.
svn-id: r33192
- Consists of a workaround for a script bug that used local
variable 251 when it should've used global variable 251.
- Also added a fix for a crash when failing copy protection
in Amiga or Atari ST versions of Future Wars.
NOTE: That any of the Amiga or Atari ST versions of Future Wars
haven't crashed right in the beginning before seems like plain
luck because accessing local variable 251 is out of bounds!
svn-id: r33068
Fixed opcodes (related to zoneQuery):
- 0x08: o1_checkCollision
- 0x9A: o2_wasZoneChecked
NOTE: Savegame support for the zoneQuery data is broken
svn-id: r32790