Age | Commit message (Collapse) | Author |
|
"PC" was very ambiguous and now it matches what we show in the GUI.
This also corrects sword2's platform to Windows.
|
|
|
|
This fixes a channel assignment issue in opcode 119. This also implements
opcode 120, which is basically a stereo channel swapped version of 119
(o1_playSample).
This affects the Amiga and AtariST versions. I put a TODO to check the DOS
version here.
|
|
This implements a long standing TODO in PaulaSound::playSound.
|
|
Powered by astyle & manual fixup afterwards.
|
|
Protects against cases where a non-existing script is referenced.
|
|
|
|
|
|
Some backends may break as I only compiled SDL
|
|
Scene 8 (Rats' Maze).
These arcade puzzles are hard, but solvable. This command is intended to aid debugging and rapid playtesting.
svn-id: r55198
|
|
Playtesting.
This command activates a cheat for the Operation Stealth Scene 6 arcade section i.e. Chased by Guards in Labyrinths in Otto's Mansion. These puzzles are quite hard and thus discourage playtesting beyond this point, especially since it is not possible to save (This may be a bug compared to the original interpreter).
Also, added extra debug output to aid script debug output.
svn-id: r55189
|
|
The collisionPage is only initialised with values when loadCtFw() / loadCtOS() is called.
However, currently during the display of the Delphine Software Logo in Operation Stealth,
checkCollision() is called, but the collisionPage has not been loaded.
To fix the invalid reads, have added code to set the page to zero after allocation.
Shouldn't cause any issues to FW as this will load over the top anyway.
Have also added debug output around this behaviour so that if this is not sufficient i.e. a collision page load is actually missing, then this will aid investigation.
svn-id: r55071
|
|
svn-id: r55058
|
|
svn-id: r53738
|
|
svn-id: r51937
|
|
svn-id: r48764
|
|
svn-id: r45616
|
|
svn-id: r44224
|
|
object as both source and destination.
svn-id: r44094
|
|
getZoneFromPositionRaw accessed data outside its 320x200 buffer because Y values in range 200-232 were given to it. Original doesn't properly handle this either so trying this workaround of returning zero for positions outside the 320x200 buffer. Hopefully nothing else breaks in Future Wars because of this (More testing is direly needed!).
svn-id: r43920
|
|
svn-id: r42439
|
|
svn-id: r40465
|
|
svn-id: r38287
|
|
svn-id: r38278
|
|
like 'while(cond);' by inserting newlines
svn-id: r36127
|
|
svn-id: r34826
|
|
(regression)):
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
|
|
svn-id: r33670
|
|
svn-id: r33669
|
|
function.
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
|
|
added a new class DumpFile for writing
svn-id: r33412
|
|
any...
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
|
|
actually 256 global variables although only 255 of them are saved and loaded from savegames. The last one is VAR_BYPASS_PROTECTION and it is written to in the mainLoop so that's why there was a crash).
svn-id: r33380
|
|
- Opcode 0x49: setDefaultMenuColor2 -> setDefaultMenuBgColor
- Opcode 0x68: setDefaultMenuColor -> setPlayerCommandPosY
svn-id: r33240
|
|
- 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
|
|
checkCollision is called seems to be fine.
svn-id: r32852
|
|
svn-id: r32801
|
|
therefore the test is always true).
svn-id: r32791
|
|
Fixed opcodes (related to zoneQuery):
- 0x08: o1_checkCollision
- 0x9A: o2_wasZoneChecked
NOTE: Savegame support for the zoneQuery data is broken
svn-id: r32790
|
|
parameters in PC versions of Future Wars and Operation Stealth. Maybe they're used in the Amiga versions?
svn-id: r32396
|
|
svn-id: r32393
|
|
svn-id: r32257
|
|
svn-id: r31651
|