Commit Graph
66 Commits
Author SHA1 Message Date
Le Philousophe b75ecadf56 CINE: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Le Philousophe c618b7fe91 CINE: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Thunderforge fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 0b818ad3f6 CINE: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Cameron Cawley 74129492ba CINE: Avoid using static objects with destructors 2021-09-02 21:41:14 +03:00
Orgad Shaneh a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Eugene Sandulenko 5e7fe2dc57 JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Kari Salminen 1642259e4f CINE: FW: Fix 8 half speed scenes (Amiga/Atari ST)
Previously there was a fix for bug #2669415
("FW: half walking speed in a screen") which only addressed a single
scene in Amiga and Atari ST versions of Future Wars.

This fix fixes half walking speed in 8 more scenes in Amiga and Atari ST
versions of Future Wars. The scenes were identified by playing through
an Italian version of Amiga Future Wars.

3 more scenes were left over with half walking speed because they could
not be fixed as easily (i.e. using this fix on them broke the scenes in
some way, made them too fast or made the people walk into wrong
positions or something else). The scenes left over are the ones using
the following background files:
- "L10.PI1": The medieval castle's hall.
- "L18.PI1": The medieval castle's teleport room.
- "L45.PI1": Space station's computer room.
2020-09-10 00:34:32 +01:00
Kari Salminen e9b585df4e CINE: OS: Fix MT-32/AdLib SFX & loading savegames
In Operation Stealth DOS and Atari ST versions, but not Amiga or
demo versions, sound effects are loaded in AUTO00.PRC using a
combination of o2_loadAbs and o2_playSample(1, ...) before
o1_freePartRange(0, 200). This is a better heuristic for ending the
script at the correct position than checking whether global variable
255 is compared to 0. In the original game AUTO00.PRC was run when
starting or restarting the game and one could not load a savegame
before passing the copy protection. Thus, we try to emulate that
behaviour by running at least part of AUTO00.PRC before loading a
savegame.
2020-09-04 10:31:33 +02:00
Kari Salminen 2ca52fc007 CINE: Add support for Operation Stealth.
Add support for Operation Stealth PC 16 and 256 color versions with
AdLib and Roland MT-32 sound. Add support for 20 extended savegames
(Thumbnails, playtime etc) for both Future Wars and Operation Stealth
(20 because it fits on screen using the original save/load interface).

Details:
 - Add versioning to Future Wars and Operation Stealth savegames.
 - Add fade in effect to both Future Wars and Operation Stealth.
 - Add mouse wheel support and keyboard support to moving in menus.
 - Map middle mouse button to pressing both left and right buttons.
 - Make interface more responsive (See manageEvents() and drawFrame()).
 - Amiga versions should be completable but sound may or may not work.
 - Atari ST versions completely untested.

Game options currently supported:
 - Using original save/load interface
 - Using transparent dialog boxes in 16 color scenes (Also for PC)

Console commands currently supported:
 - labyrinthCheat (For cheating in Operation Stealth's labyrinths)
 - disableLabyrinthCheat (Disabling labyrinth cheat)
 - disableHacks (Disabling hacks, useful for testing)
 - enableHacks (Enabling hacks, useful for testing. On by default)
2020-07-25 00:33:42 +02:00
D G Turner f7593adb3e CINE: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-17 00:47:34 +01:00
athrxx a6bf63bc1a SCI: revert accidental commits 2019-07-17 20:46:32 +02:00
athrxx ea9e7df0a8 CINE CP 2019-07-17 17:38:25 +02:00
athrxx 80f163b0fc ALL: revert accidental commits 2019-06-21 14:19:42 +02:00
athrxx 08dba769f1 CINE CP 2019-06-21 14:06:10 +02:00
Kirben 27e5cfbd1b CINE: Fix sound effects stopping the music in the DOS CD version of Future Wars. 2016-03-01 20:36:36 +11:00
Kirben 8c5e6d2be4 CINE: Add support for CD music in the CD version of Future Wars. 2015-09-13 14:24:55 +10:00
Strangerke 95728f4890 CINE: Avoid possible string buffer overrun by using strlcpy and strlcat 2014-03-16 14:24:45 +01:00
Johannes Schickel 4ad7c5b40d CINE: Make GPL headers consistent in themselves. 2014-02-18 02:39:33 +01:00
D G Turner 93e5f1fddc CINE: Fix for possible uninitialized variable usage. CID 1086890. 2013-10-02 05:09:03 +01:00
Matthew Hoops 0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Eugene Sandulenko a8a267b668 CINE: Null terminate string. CID 1003884 2013-04-26 08:02:23 +03:00
Johannes Schickel 892710a0a3 CINE: Fix sfx channel use in Amiga and AtariST versions of FW.
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.
2012-09-08 01:16:10 +02:00
Johannes Schickel b1074543b5 CINE: Skip resource header in loadSpl.
This implements a long standing TODO in PaulaSound::playSound.
2012-09-08 01:15:32 +02:00
Johannes Schickel 5d84f2df43 CINE: A little bit enforcement of our formatting guidelines.
Powered by astyle & manual fixup afterwards.
2012-09-07 04:12:18 +01:00
Vincent Hamm bd6751cb4a CINE: Fix drawing of sprite with mask.
Protects against cases where a non-existing script is referenced.
2012-08-20 01:48:20 +01:00
Vincent Hamm 92df76fbb3 CINE: Fix system menu sometimes not appearing in OS 2012-08-13 23:58:32 -07:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
David Turner 71c7ae9fbb CINE: Extend "labyrinthCheat" console command to cover Operation Stealth Scene 8 (Rats' Maze).
These arcade puzzles are hard, but solvable. This command is intended to aid debugging and rapid playtesting.

svn-id: r55198
2011-01-11 01:35:38 +00:00
David Turner d54fa49b5f CINE: Add console command "labyrinthCheat" to help with Operation Stealth 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
2011-01-09 18:12:30 +00:00
David Turner f96c8f6e39 CINE: Fix CollisionPage Uninitialised Reads in Operation Stealth.
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
2010-12-31 09:14:49 +00:00
David Turner fef667cbe9 CINE: Fixed mismatched deallocation in ScriptVars reported by Valgrind.
svn-id: r55058
2010-12-29 09:50:48 +00:00
Max Horn 3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00
Eugene Sandulenko 327d30d719 CINE: eliminate global variables
svn-id: r51937
2010-08-09 11:38:01 +00:00
Max Horn 37b7be4519 CINE: Change Doxygen commands to match our CFC
svn-id: r48764
2010-04-21 21:22:43 +00:00
Max Horn 51933629d1 Changed foo(void) to foo() in almost all non-backend source files
svn-id: r45616
2009-11-02 21:54:57 +00:00
Johannes Schickel 8daf7fbba8 Changed some type names to match our coding guidelines.
svn-id: r44224
2009-09-20 23:34:48 +00:00
Johannes Schickel 4e4074f393 Fix valgrind warning inside "saturatedAddColor", when using the same palette object as both source and destination.
svn-id: r44094
2009-09-15 00:03:21 +00:00
Kari Salminen 9b2104db32 Workaround for bug #2848940 (ScummVM crashes with Future wars): 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
2009-09-03 20:56:44 +00:00
Kari Salminen e5c2275e80 Fix for bug #2669415 (FW: half walking speed in a screen).
svn-id: r42439
2009-07-13 16:52:09 +00:00
Eugene Sandulenko d5b9437fb3 Fix bug #2055836: "FW: Music is not restarted when loading a saved game"
svn-id: r40465
2009-05-11 19:31:55 +00:00
Johannes Schickel da3516248c Fixed compilation (along with it const correctness).
svn-id: r38287
2009-02-15 20:19:06 +00:00
Chris Apers 3ceb1482db Quick dirty hack to make the engine run again on PalmOS
svn-id: r38278
2009-02-15 18:53:27 +00:00
Max Horn ac59693be2 A ton of code formatting fixes; also fixed warnings about single line loops like 'while(cond);' by inserting newlines
svn-id: r36127
2009-01-29 05:26:12 +00:00
Kari Salminen c501ef1450 Cleanup (Removed an extra 'return 0').
svn-id: r34826
2008-10-19 08:52:04 +00:00
Kari Salminen cc82aeb18d Workaround for bug #2054882 (FW: Impossible to survive entering monastery (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
2008-08-16 22:15:57 +00:00
Kari Salminen f5e9a3e185 Tiny comment update to loadCt-opcodes: Load collision table data.
svn-id: r33670
2008-08-06 20:58:02 +00:00