Commit Graph
138 Commits
Author SHA1 Message Date
Le Philousophe c618b7fe91 CINE: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02: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
Orgad Shaneh 3919f53326 ENGINES: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
Cameron Cawley 74129492ba CINE: Avoid using static objects with destructors 2021-09-02 21:41:14 +03:00
antoniou79 04642eef8a ENGINES: Replace checkCD with isolated partial methods
This is PR #3018 "rebased" on the current HEAD, after the conflicts with PR #3003 and me botching the rebase in that PR

Old PR is here: https://github.com/scummvm/scummvm/pull/3018
2021-07-27 20:51:57 +02:00
sluicebox 8e1d90f8e4 ALL: Remove clearAllDebugChannels() from Engine dtors 2021-06-14 12:42:38 -05:00
ysj1173886760 c80dd052d7 CINE: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02: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 0af1bfc1f9 CINE: Throttle safe controls to max 4Hz (#11621).
This throttles the safe controls in Operation Stealth in the
presidential palace after the first labyrinth arcade sequence.

The problem was that the safe controls were a bit too fast i.e. by
pressing on a single button you might easily get the numbers to change
by more than a single digit. This throttles the pressing of safe
control buttons in this particular scene to a maximum rate of 4Hz
(i.e. at least 250ms has to have passed before a click is registered
again).

Fixes bug #11621.
2020-08-30 21:54:42 +01:00
Kari Salminen 24c7e0e70c CINE: FW: Fix disabled action menu after loading.
Future Wars PC disassembly does not save disableSysteMenu variable.
After adding versioning to Future Wars saves this value was also
saved and loaded but using it on load seems to have caused the
action menu (EXAMINE, TAKE, INVENTORY, ...) to be disabled sometimes
when it is not supposed to be disabled. Thus, now skipping the loading
of disableSystemMenu variable for versioned Future Wars saves.
2020-08-01 20:26:44 +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
Paul Gilbert 21dd3be444 CINE: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00
Colin Snover 6e157429b7 BACKENDS: Fix window sizing of games that switch between multiple resolutions 2017-10-07 12:30:29 -05:00
Colin Snover 432fd522d2 ENGINES: Remove default1x scaler flag
This flag is removed for a few reasons:

* Engines universally set this flag to true for widths > 320,
  which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
  since its behaviour was almost completely undocumented and users
  would need to figure out that they'd need an explicit non-default
  scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
  deciding how the backend may choose to render its virtual screen.
  The choice of rendering behaviour belongs to the user, and the
  backend, in that order.

A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
2017-10-07 12:30:29 -05:00
Eugene Sandulenko 40290fb244 CINE: Move debug channel registration to the first place in the constructor
Otherwise we could miss some of the debug output as the channels are not yet
registered.
2016-07-28 11:33:15 +03:00
Johannes Schickel 796ea1468f CINE: Remove superflous default value registration for extra GUI options. 2015-12-28 00:14:11 +01:00
Filippos Karapetis e52cf3e7aa CINE: Add support for ScummVM save/load menus 2015-12-28 00:31:50 +02:00
Torbjörn Andersson 61b14539c4 CINE: Show splash screen in CD version of Future Wars 2015-09-17 22:19:36 +02: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 87c457a223 CINE: Initialize some unitialized variables 2014-03-16 14:51:55 +01:00
Johannes Schickel 4ad7c5b40d CINE: Make GPL headers consistent in themselves. 2014-02-18 02:39:33 +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
Johannes Schickel 5684475169 CINE: Workaround disabled menus in FW when loading from launcher/cl.
This works around a regression from 92df76fbb3.
This should resolve the remaining issues of bug #3565362
"CINE: Savegame loading broken in FW".
2012-09-07 22:38:41 +02:00
Vincent Hamm 92df76fbb3 CINE: Fix system menu sometimes not appearing in OS 2012-08-13 23:58:32 -07:00
Johannes Schickel 61795739f8 COMMON: Rename Common::set_to to Common::fill.
This makes the name match with the name of the STL function with the same
behavior.
2011-11-16 18:06:30 +01:00
Max Horn 4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02: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
dhewg e5056cab91 CINE: Init volume levels on startup
Add syncSoundSettings() to set the volume for kPlainSoundType and
respect the global mute setting
2011-03-19 15:34:57 +01:00
Arnaud Boutonné d063b074cd JANITORIAL: Suppress some useless includes
svn-id: r55091
2011-01-02 14:06:42 +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 0119a659b5 CINE: Added basic debugging console to engine
Since CINE uses Debug Channels, this allows for the interactive setting of debugflags as well as providing a base for adding further debugging commands.

svn-id: r54115
2010-11-07 15:02:41 +00:00
Eugene Sandulenko 327d30d719 CINE: eliminate global variables
svn-id: r51937
2010-08-09 11:38:01 +00:00
Max Horn 70b6ee0a5b CINE: Get rid of some unnecessary g_cine refs
svn-id: r50945
2010-07-16 21:56:50 +00:00
Max Horn 587f3cf958 CINE: Get rid of g_saveFileMan
svn-id: r50944
2010-07-16 21:56:30 +00:00
Eugene Sandulenko 15c533d2c2 Implement FR #2841445: FW: Restart doesn't work
svn-id: r49096
2010-05-19 12:34:10 +00:00
Max Horn 970745e60c Move DebugChannel related code to new header
svn-id: r48935
2010-05-04 11:59:22 +00:00
Max Horn b3e404109c Move initGraphics and initCommonGFX from to new header.
These functions are only used internally be Engine subclasses, and
by moving them to a separate header we can reduce indirect header
dependencies.

svn-id: r48934
2010-05-04 11:58:12 +00:00
Max Horn 460d69e885 COMMON: Move DebugChannel stuff into a new DebugMan singleton
svn-id: r48821
2010-04-27 21:40:52 +00:00
Max Horn 37b7be4519 CINE: Change Doxygen commands to match our CFC
svn-id: r48764
2010-04-21 21:22:43 +00:00
Johannes Schickel 0d995c5920 Rename all "Adlib" uses to "AdLib" to match the real name of the sound card / company.
Check this for reference:
http://en.wikipedia.org/wiki/Ad_Lib,_Inc.
http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card)

This commit does not touch "adlib" and "ADLIB" uses!

Also it does not update all the SCUMM detection entries, which still use "Adlib".

svn-id: r47279
2010-01-12 21:07:56 +00:00
Johannes Schickel 228ceb3b63 Fix for bugs #2843081 "FW: Assert starting demo (regression)" and #2843080 "OS: Assert starting demo (regression)".
svn-id: r43743
2009-08-25 23:11:17 +00:00
Kari Salminen c2dc86df08 Fix for #2824798 (FW: crash when clicking "load" in the GUI):
- Fixed CineMetaEngine::listSaves(const char *target) which was broken.
- Also added explicit initialization of savegame descriptions to
  empty strings for safety reasons (e.g. arrays on stack aren't
  initialized to zero).
- Added explicit trailing zero setting to savegame descriptions
  (Previously using GMM you could write a description of length >= 20
  that had no trailing zero when written to description file (e.g. fw.dir)).

svn-id: r43027
2009-08-03 17:52:07 +00:00
Johannes Schickel 7e71865e91 Move the event recorder to its own class (EventRecoder inside common/EventRecorder.[h/cpp]).
svn-id: r42751
2009-07-25 12:59:46 +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
Max Horn dd98126423 Engines: Fused several init&go methods into a single run method
svn-id: r39003
2009-03-01 04:42:46 +00:00
Max Horn 7cb437b56f Renamed SpecialDebugLevel to DebugChannel
svn-id: r36142
2009-01-30 05:10:24 +00:00
Eugene Sandulenko 696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Johannes Schickel 5a0556f09c Committed my patch #2123680 "SDL: Backend transaction / rollback support".
svn-id: r35062
2008-11-14 22:08:10 +00:00