Commit Graph
135 Commits
Author SHA1 Message Date
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
Matthew Hoops bb1e60e8b2 Merge remote branch 'upstream/master' into pegasus
Conflicts:
	AUTHORS
	devtools/credits.pl
	gui/credits.h
2012-08-26 16:12:25 -04:00
Matthew Hoops 7a49b3669a PEGASUS: Optimize the nearest neighbor frame scaling a bit
Hopefully should improve performance on lower end systems
2012-08-20 20:42:22 -04:00
Matthew Hoops 3860f34136 PEGASUS: Implement screen fading
This does linear instead of gamma for speed and complexity reasons.
2012-07-05 20:36:34 -04:00
Matthew Hoops 915a8399c9 PEGASUS: Don't manually close the load/save dialogs 2012-06-16 01:48:39 -04:00
Matthew Hoops 625f6cc716 Merge remote branch 'upstream/master' into pegasus 2012-06-16 01:43:32 -04:00
Matthew Hoops f1f6a82cd5 Merge remote branch 'upstream/master' into pegasus 2012-05-25 00:35:38 -04:00
Matthew Hoops 974eb12fcc PEGASUS: Rewrite the input code to more closely emulate what the original did
Now the easter egg key works better and so does striding.
2012-05-11 11:37:47 -04:00
Matthew Hoops 68438a2919 PEGASUS: Add a workaround for the canyon/space chase segfault 2012-05-04 11:22:56 -04:00
Matthew Hoops 981833b34e PEGASUS: Add support for load/save keys 2012-04-09 11:20:18 -04:00