144 Commits

Author SHA1 Message Date
Bastien Bouclet
14663c4790 KEYMAPPER: Make the keymapper mandatory 2020-01-29 08:51:29 +01:00
Bastien Bouclet
ee8229dc00 ENGINES: Move keymap initialization to MetaEngine
To be able to access the keymap while the engine is not running.
2020-01-26 23:09:08 +02:00
Bastien Bouclet
19de568e24 KEYMAPPER: Untangle the dependencies between Action and Keymap 2020-01-26 23:09:08 +02:00
Bastien Bouclet
d60190b12e ENGINES: Define default bindings for the existing engine keymaps 2020-01-26 19:07:53 +01:00
Bastien Bouclet
9c0bc2b633 KEYMAPPER: Simplify the way keymaps are enabled and disabled 2020-01-26 19:07:53 +01:00
Bastien Bouclet
ac44469558 KEYMAPPER: Remove the domain class 2020-01-26 19:07:53 +01:00
Bastien Bouclet
e197a75829 KEYMAPPER: Action can generate only a single event 2020-01-26 19:07:53 +01:00
D G Turner
b7c397412d PEGASUS: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-01 21:41:21 +00:00
Bastien Bouclet
bb813719b5 ENGINES: Change targets to have an 'engine ID'
The engine ID identifies which engine should be used to launch the target.
Also remove the 'single ID' system. Different games from engines that used
that system now have different game IDs.

Also-By: Matthew Hoops <clone2727@gmail.com>
2019-11-03 11:43:00 +01:00
Cameron Cawley
cf107e7f90 PEGASUS: Implement joystick support 2019-07-08 01:24:55 +03:00
Colin Snover
d087c9605f BASE: Remove bad casts between incompatible Plugin types
Previously, a C-style cast was used to convert a
Common::Array<Plugin *>, populated with pointers to StaticPlugin
and DynamicPlugin instances, to a
Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a
*sibling* class to StaticPlugin/DynamicPlugin, so this cast was
invalid and the results undefined. The methods for retrieving
subclasses of plugins can't be easily changed to just generate an
array of temporary wrapper objects that expose an identical API
which dereferences to the preferred PluginObject subclass because
pointers to these objects are retained by other parts of ScummVM,
so the wrappers would needed to be persisted or they would need to
just re-expose the underlying Plugin object again. This indicated
that a way to solve this problem is to have the callers receive
Plugin objects and get the PluginObject from the Plugin by
explicitly stating their desired type, in a similar manner to
std::get(std::variant), so that the pattern used by this patch to
solve the problem.

Closes gh-1051.
2017-12-03 20:26:38 -06:00
Bastien Bouclet
1519b2befc PEGASUS: Free the interface data when destroying the engine
Fixes loading a game from the launcher after returning to the launcher.
2017-09-12 20:25:24 +02:00
Bastien Bouclet
6506b95fce PEGASUS: Call OSystem::updateScreen on each frame
Fixes the display of OSD information when toggling fullscreen.
2017-09-12 20:25:24 +02:00
Ben Castricum
e95c2cc3ff ALL: save file => saved game 2016-11-29 21:10:59 +01:00
Ben Castricum
6f38c1e55d ALL: game state => saved game 2016-11-29 20:15:20 +01:00
Eugene Sandulenko
fab199d37e JANITORIAL: Make GPL headers uniform 2016-09-03 12:46:38 +02:00
Filippos Karapetis
26588f81b4 PEGASUS: Remove trailing whitespace 2014-10-28 16:17:44 +02:00
Ben Castricum
4cd06dcab7 PEGASUS: Don't try to translate "???" 2014-08-16 12:45:02 +01:00
Keith Kaisershot
cfcd3fd780 PEGASUS: Set volume in more places 2014-04-27 21:12:34 -04:00
Matthew Hoops
7011e8122e PEGASUS: Poll for events in more places
Based on a patch by Keith Kaisershot (blitter)
2014-04-23 20:33:08 -04:00
Matthew Hoops
444c6bd24a PEGASUS: Reset item state upon starting a new game 2014-04-17 19:29:06 -04:00
Matthew Hoops
fb658c3969 PEGASUS: Fix showing save failed dialog when not using the GMM 2014-04-13 09:27:13 -04:00
Matthew Hoops
d04667e58a PEGASUS: Fix being able to use the inventory from the pause screen
Somehow, I completely missed implementing this function!
2014-02-26 21:57:38 -05:00
Matthew Hoops
0593f434af PEGASUS: Force the inventory drawers closed when loading a game 2014-02-23 14:50:02 -05:00
Matthew Hoops
6477525db0 PEGASUS: Fix regression with Prehistoric AI rules ordering 2013-12-14 11:18:32 -05:00
Johannes Schickel
aca802bd70 PEGASUS: Take advantage of Surface::getPixels. 2013-08-03 04:02:52 +02:00
Johannes Schickel
e59995b0b2 PEGASUS: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:33 +02:00
Matthew Hoops
8fb73dd2c3 PEGASUS: Clean up DVD demo Theora playback 2013-04-16 21:53:34 -04:00
Matthew Hoops
5727b097b2 PEGASUS: Add the new demo theora videos 2013-04-16 21:53:13 -04:00
Matthew Hoops
749cdd6f44 PEGASUS: Add sanity check on the NItm resource being present 2013-04-15 18:32:00 -04:00
Willem Jan Palenstijn
2d1fd3b554 ALL: Fix typo (existant->existent) 2013-02-23 22:07:32 +01:00
Matthew Hoops
83152fd608 PEGASUS: Make the demo menu music start before the splash screen 2013-02-04 19:03:21 -05:00
Matthew Hoops
89d574e6d0 PEGASUS: Limit the accepted characters in save file names 2013-02-04 14:06:29 -05:00
Matthew Hoops
49ebbfd9dc PEGASUS: Sort save file names alphabetically 2013-02-04 12:34:06 -05:00
Matthew Hoops
f889457d3d PEGASUS: Fix segfault when pressing 'i' during the space chase
Thanks to digitall for finding this one
2012-12-15 22:19:15 -05:00
Matthew Hoops
836a942f0f PEGASUS: Improve descriptions for the keymap 2012-11-26 18:44:15 -05:00
Matthew Hoops
7f8b7e0916 PEGASUS: Add a keymap 2012-11-21 23:18:08 -05:00
Matthew Hoops
7fe61fb64f PEGASUS: Don't constantly redraw the overview text frame 2012-11-18 00:22:32 -05:00
Matthew Hoops
4e8dca1c27 PEGASUS: Fade out the main menu when using the quit button 2012-11-17 23:16:43 -05:00
Matthew Hoops
e4898831a3 PEGASUS: Ease off the CPU in the overview 2012-10-29 11:17:50 -04:00
Johannes Schickel
a6c6c74350 PEGASUS: Remove trailing whitespaces.
Powered by: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:11:09 +02:00
Matthew Hoops
3a5b3a5145 PEGASUS: Fix saving while in the space chase 2012-09-22 21:03:22 -04:00
Matthew Hoops
50747429cd PEGASUS: Don't allow loading/saving in a few more places
Only affects loading/saving from the GMM
2012-09-22 20:43:34 -04:00
Matthew Hoops
b9f6121194 PEGASUS: Fix restoring correct biochip after sub chase 2012-09-22 19:46:51 -04:00
Johannes Schickel
8aceef9711 PEGASUS: Replace FunctionPtr by our Functor code in Common.
This "fixes" a segmentation fault in our buildbot's toolchain for DC.
The segmentation fault occured while compiling
engines/pegasus/ai/ai_condition.cpp.

Thanks to clone2727 for looking over this and testing it.
2012-09-21 02:35:50 +02:00
Matthew Hoops
1677686692 PEGASUS: Disable save compression by default
So they can be used by the original interpreter more easily (the type/creator codes still need to be set, though -- pegasus_save_types can handle that)
2012-09-12 23:04:46 -04:00
Matthew Hoops
9855f7b5d8 PEGASUS: Fix some memory leaks
Thanks to fuzzie for spotting
2012-09-09 16:21:29 -04:00
Matthew Hoops
1043283e53 PEGASUS: Use setEndTime() 2012-08-31 22:06:56 -04:00
Matthew Hoops
f61146f327 PEGASUS: Remove g_allItems global construction 2012-08-28 16:50:15 -04:00
Matthew Hoops
81e7c9a0c1 PEGASUS: Remove g_allHotspots global construction 2012-08-28 16:36:50 -04:00