Commit Graph
75 Commits
Author SHA1 Message Date
Le Philousophe 87bad2cc7d COMMON: Allow games to use overlay for something else than GUI
This can be used for subtitles without changing the mouse coordinates.
2022-11-12 19:12:05 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Cameron Cawley 5022489277 BACKENDS: Refactor the API for creating Mutexes 2021-11-12 20:19:45 +01:00
Cameron Cawley 423f4cce6b BACKENDS: Add override and final keywords 2021-08-12 15:16:48 +01:00
Martin Gerhardy a0c237f7b9 EVENTRECORDER: added new event for OSystem::getTimeAndDate 2021-07-09 19:23:21 +02:00
Martin Gerhardy 5af1192580 BACKENDS: fixed segfault in EventRecorder with buffer out of bounds writes
==3124361== Invalid write of size 8
==3124361==    at 0x483F803: memmove (vg_replace_strmem.c:1270)
==3124361==    by 0x4DBF61: SurfaceSdlGraphicsManager::grabOverlay(void*, int) const (surfacesdl-graphics.cpp:1753)
==3124361==    by 0x482051: ModularGraphicsBackend::grabOverlay(void*, int) (modular-backend.cpp:215)
==3124361==    by 0x434EE1: GUI::ThemeEngine::clearAll() (ThemeEngine.cpp:376)
==3124361==    by 0x40128E: GUI::EventRecorder::preDrawOverlayGui() (EventRecorder.cpp:558)
==3124361==    by 0x481DB2: ModularGraphicsBackend::updateScreen() (modular-backend.cpp:173)
==3124361==    by 0x559967: Graphics::Screen::updateScreen() (screen.cpp:62)
==3124361==    by 0x55991C: Graphics::Screen::update() (screen.cpp:56)
==3124361==    by 0x38AFC7: TwinE::TwineScreen::update() (twine.cpp:126)
==3124361==    by 0x3B8759: TwinE::Screens::adjustPalette(unsigned char, unsigned char, unsigned char, unsigned int const*, int) (screens.cpp:150)
==3124361==    by 0x3B8A89: TwinE::Screens::fadeToPal(unsigned int const*) (screens.cpp:207)
==3124361==    by 0x3B8403: TwinE::Screens::loadImage(int, int, bool) (screens.cpp:80)
==3124361==  Address 0x31453050 is 16 bytes after a block of size 512,000 alloc'd
==3124361==    at 0x483AB65: calloc (vg_replace_malloc.c:760)
==3124361==    by 0x55B38C: Graphics::Surface::create(unsigned short, unsigned short, Graphics::PixelFormat const&) (surface.cpp:75)
==3124361==    by 0x551111: Graphics::ManagedSurface::create(unsigned short, unsigned short, Graphics::PixelFormat const&) (managed_surface.cpp:153)
==3124361==    by 0x4352D5: GUI::ThemeEngine::setGraphicsMode(GUI::ThemeEngine::GraphicsMode) (ThemeEngine.cpp:453)
==3124361==    by 0x434A52: GUI::ThemeEngine::init() (ThemeEngine.cpp:324)
==3124361==    by 0x43501B: GUI::ThemeEngine::refresh() (ThemeEngine.cpp:394)
==3124361==    by 0x405780: GUI::GuiManager::screenChange() (gui-manager.cpp:603)
==3124361==    by 0x405C6B: GUI::GuiManager::processEvent(Common::Event const&, GUI::Dialog*) (gui-manager.cpp:677)
==3124361==    by 0x404EBA: GUI::GuiManager::runLoop() (gui-manager.cpp:429)
==3124361==    by 0x3FD847: GUI::Dialog::runModal() (dialog.cpp:77)
==3124361==    by 0x36D747: launcherDialog() (main.cpp:106)
==3124361==    by 0x36FF92: scummvm_main (main.cpp:552)

It looks like the _videoMode.overlayHeight in SurfaceSdlGraphicsManager::grabOverlay and ThemeEngine::_backBuffer::h are somehow out of sync after
starting the game in a different resolution as the gui was started with. So the overlayHeight is updated - but the backbuffer (Surface) is not resized.

This is with event recorder being active - right after starting the game and switching the resolution.
2021-06-19 14:34:52 +02:00
Cameron Cawley 01b4432825 BACKENDS: Use Common::U32String for OSystem::setWindowCaption 2020-11-22 17:20:19 +00:00
Cameron Cawley 5a47b09455 BACKENDS: Move default implementations of getScreenPixelBuffer into BaseBackend 2020-10-10 18:00:17 +02:00
Eugene Sandulenko 737473895f DC: Fix compilation 2020-10-10 10:22:41 +02:00
Cameron Cawley 31be074893 BACKENDS: Add a function to return if the overlay is visible 2020-09-15 00:09:11 +02:00
Cameron Cawley 453cc63c02 BACKENDS: Remove unneeded use of Graphics::createPixelFormat 2020-07-25 13:32:45 +02:00
Thierry Crozat 795111561c DC: Fix compilation 2020-04-26 03:18:46 +01:00
Cameron Cawley a404921a7e DC: Fix broken physical audio CD playback 2020-04-26 02:19:47 +01:00
Cameron Cawley e92ac655be BACKENDS: Add default implementation for GraphicsMode functions 2019-12-15 16:06:56 +02:00
sluicebox b8390fa161 GRAPHICS: Add interface for horizontal shake 2019-11-19 00:20:40 +01:00
Bastien Bouclet 780db83e13 DC: Update for the engineId changes 2019-11-03 11:43:00 +01:00
Marcus Comstedt 0d6c83212a DC: Allow plugins to be grouped into subdirectories
By letting the user select which group of plugins to load, an out of
memory condition can be avoided while still allowing all plugins to be
stored on the same disc.
2018-07-17 13:06:02 +02:00
Colin Snover bda253b1ac BACKENDS: Constify PaletteManager::grabPalette implementations 2017-10-15 13:47:19 -05:00
Johannes Schickel 1cbab62211 DC: Fix compilation errors due to AudioCD changes. 2016-04-06 23:40:26 +02:00
Matthew Hoops aa6ff44440 BACKENDS: Only expose one set of functions for AudioCDManager
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
2016-03-13 13:57:19 +01:00
Matthew Hoops 30e68efac4 BACKENDS: Add a closeCD() function to the AudioCDManager 2016-03-13 13:53:35 +01:00
Matthew Hoops fb6fe1332a BACKENDS: Move to an openCD() without parameters as the public API 2016-03-13 13:52:24 +01:00
Johannes Schickel b4e5531352 DC: Make GPL headers consistent in themselves. 2014-02-18 02:39:33 +01:00
Marcus Comstedt 66ad9e76ee DC: Silenced some stupid warnings 2014-01-10 15:56:52 +01:00
Eugene Sandulenko f59512c47e RECORDER: Implement Events Recorder 2013-05-17 00:18:09 +03:00
Johannes Schickel aec9b9e22a ALL: Let overlay related methods in OSystem take a void * and use a proper pitch values.
This is a first step to get rid of OverlayColor, which is a requirement for
proper 4Bpp overlay support.
2012-06-16 04:17:14 +02:00
Johannes Schickel d27d951d0b BACKENDS: Make OSystem::setMouseCursor take a "const void *" buffer.
This is mainly for consistency with OSystem::copyRectToScreen.
2012-06-16 03:28:42 +02:00
Johannes Schickel 31880186e1 BACKENDS: Let copyRectToScreen take a "const void *" instead of "const byte *" as buffer.
This removes the need to convert the parameter to copyRectToScreen to
"const byte *", which is commonly used in games, which use Graphics::Surface
to store their graphics data.
2012-06-16 02:18:01 +02:00
Johannes Schickel a401f0a19e ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.

Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
2012-06-03 02:02:57 +02:00
Max Horn 367131ef0e COMMON: Move Language and Platform functionality into separate files 2012-02-26 15:21:36 +01:00
Christoph Mallon 23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Max Horn fce7f90a94 BACKENDS: Shuffle backends class hierarchy and module initialization 2011-06-08 14:29:22 +02:00
Max Horn c30018ef37 DC: Use OSystem's 'slots' for timer/savefile manager & fsFactory 2011-06-07 14:57:56 +02:00
Max Horn afb06b51cc BACKENDS: Unify AudioCD manager instantiation 2011-06-06 15:02:33 +02:00
Max Horn ce32745d9c BACKENDS: Replace OSystem::disableCursorPalette by setFeatureState calls 2011-06-04 11:55:56 +02:00
Matthew Hoops 9539017ee3 ALL: initialise -> initialize 2011-05-25 11:17:11 -04:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion 1a7e84f376 DC: Fix compilation 2011-04-28 20:55:00 +03:00
Marcus Comstedt 21421d2e86 DC: Move dynamic plugin handling into the platform 2011-04-20 23:46:44 +02:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
Marcus Comstedt 98e057603c DC: Implement logMessage()
svn-id: r55171
2011-01-08 20:33:07 +00:00
Marcus Comstedt 878674809e DC: Implement getSystemLanguage()
svn-id: r54752
2010-12-03 18:57:20 +00:00
Marcus Comstedt 1ed5b5b353 DC: Adapted CDDA interface to the new standard.
svn-id: r54714
2010-12-01 19:57:23 +00:00
Marcus Comstedt 3e8a972602 DC: Specialize createConfig{Read,Write}Stream
Implement platform-specific variants of createConfigReadStream() 
and createConfigWriteStream(), instead of inheriting the BaseBackend 
definitions.  Nonstandard behavious is as follows: 
 
* createConfigWriteStream() always returns 0 (read-only filesystem) 
 
* createConfigReadStream() returns an empty MemoryReadStream instead 
  of NULL if scummvm.ini does not exist.  This is to make sure that 
  loadDefaultConfigFile() always clears out any old config data, as 
  I'll want to restart config parsing from scratch after a disc 
  swap.

svn-id: r51478
2010-07-29 19:11:49 +00:00
Max Horn 703f0ca29c SYSTEM: Unify OSystem::getSupportedFormats() signature
svn-id: r49838
2010-06-15 12:21:08 +00:00
Max Horn c97ee14a65 Remove last traces of OSystem::getOutputSampleRate()
svn-id: r48229
2010-03-10 21:01:44 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Marcus Comstedt f517f32902 RGB support.
svn-id: r44874
2009-10-10 14:26:53 +00:00
Max Horn 42120ed626 Introduce a new struct TimeDate, replacing struct tm in client code. May lead to compilation issues in ports, which should be trivial to fix, though
svn-id: r44793
2009-10-08 19:41:38 +00:00