Commit graph

76 commits

Author SHA1 Message Date
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
rsn8887
aa42de666c BACKENDS: PSP: Fix screen scaling 2021-10-02 17:45:26 -05: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
5a47b09455 BACKENDS: Move default implementations of getScreenPixelBuffer into BaseBackend 2020-10-10 18:00:17 +02:00
rsn8887
d0fd0f1151 BACKENDS: Implement getScreenPixelBuffer() for PSP 2020-10-10 09:48:50 -05: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
Cameron Cawley
099ef8db30 PSP: Make the PspTimer class a subclass of DefaultTimerManager 2019-12-10 08:35:13 +02:00
sluicebox
b8390fa161 GRAPHICS: Add interface for horizontal shake 2019-11-19 00:20:40 +01:00
Cameron Cawley
6293299f40 BACKENDS: Remove unnecessary implementations of setGraphicsMode(const char *) 2019-11-18 08:09:15 +02:00
Colin Snover
bda253b1ac BACKENDS: Constify PaletteManager::grabPalette implementations 2017-10-15 13:47:19 -05:00
Johannes Schickel
2a7e57dd48 PSP: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +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
fce7f90a94 BACKENDS: Shuffle backends class hierarchy and module initialization 2011-06-08 14:29:22 +02:00
Max Horn
0b859e026d PSP: Use OSystem's 'slots' for timer/savefile manager 2011-06-07 14:57:57 +02:00
Max Horn
c847522422 BACKENDS: Add OSystem::getDefaultConfigFileName
This is used to provide default implementations for createConfigWriteStream
and createConfigReadStream, which can be used by most backends.

Note that backends can still override createConfigRead/WriteStream;
this could be useful if settings on some port are not stored in a
regular file (think 'Windows registry', for a hypothetical example).
2011-06-06 15:30:21 +02:00
Max Horn
ce32745d9c BACKENDS: Replace OSystem::disableCursorPalette by setFeatureState calls 2011-06-04 11:55:56 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
130d96e360 PSP: Fix compilation 2011-04-28 20:07:43 +03: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
Johannes Schickel
e1030e53a5 BACKENDS: Implement logging API proposed by Max on -devel.
This commits a slightly modified patch from my patch tracker item #3104630
"OSYSTEM: Add logging API as proposed by Max on -devel".

I was not able to test compilation on Android and SamsungTV, since there is no
toolchain for those on buildbot (or I was too blind to find them).

svn-id: r54339
2010-11-18 19:12:14 +00:00
Yotam Barnoy
a4537b84bd PSP: made image viewer reset to the first image between engine loads
svn-id: r53460
2010-10-14 22:11:17 +00:00
Yotam Barnoy
7c22545899 PSP: added image viewer for viewing images during games
svn-id: r53455
2010-10-14 13:19:32 +00:00
Yotam Barnoy
65fe8d817c PSP: moved RTC to singleton to allow usage by classes other than Osystem
svn-id: r50116
2010-06-21 15:13:36 +00:00
Yotam Barnoy
e7e8808aff PSP: got rid of SDL
svn-id: r49903
2010-06-16 09:04:27 +00:00
Max Horn
703f0ca29c SYSTEM: Unify OSystem::getSupportedFormats() signature
svn-id: r49838
2010-06-15 12:21:08 +00:00
Yotam Barnoy
f770156dcc PSP: fixed missing frame issue with kyrandia and possibly other games by calling updateScreen() from pollEvent() once in a while
svn-id: r49541
2010-06-09 14:15:51 +00:00
Yotam Barnoy
356728dab7 PSP: found bug in fast getMillis() implementation. Fixed it by adding a fixed amount to the time counter.
svn-id: r49485
2010-06-07 13:47:27 +00:00
Yotam Barnoy
50847c02a6 PSP: moved timer thread to backends/timer/psp
svn-id: r49173
2010-05-24 03:05:17 +00:00
Yotam Barnoy
20c654f63b PSP: replaced SDL's timer with much simpler and more efficient PspTimer class
svn-id: r49155
2010-05-23 11:48:21 +00:00
Yotam Barnoy
7a6a2a62ee PSP: switched from SDL's audio to my own thread. Removed needless blocking while playing and made it generally more efficient. To deactivate, simply comment out USE_PSP_AUDIO
svn-id: r49149
2010-05-23 05:51:32 +00:00
Max Horn
87028c546f PSP: Fix code formatting using astyle
svn-id: r48634
2010-04-12 07:28:54 +00:00
Yotam Barnoy
9a2eac7eee PSP: refactoring/redesign of the backend
svn-id: r48632
2010-04-12 06:49:05 +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
Yotam Barnoy
832779497e PSP: added keypad to d-pad. Allows control of AGI,SCI0, and Indy3
svn-id: r46810
2009-12-31 23:59:07 +00:00
Yotam Barnoy
b8b042d4bf PSP: Replaced virtual keyboard and cleaned up makefiles in the process.
svn-id: r46120
2009-11-24 10:33:30 +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
Joost Peters
978d9dfd10 some cleanup
svn-id: r43618
2009-08-21 22:44:49 +00:00
Joost Peters
9a3218e673 unify OSystem_PSP_GU and OSystem_PSP (which was hopelessly outdated and mostly useless)
svn-id: r43615
2009-08-21 22:30:35 +00:00
Joost Peters
7d350b215c fix compilation after RGB API changes
svn-id: r43606
2009-08-21 19:11:02 +00:00
Joost Peters
bbac75bc1c PSP: throttle the number of updateScreen() calls
svn-id: r43539
2009-08-19 16:23:44 +00:00
Joost Peters
a35056b555 Implement setCursorPalette(), correct hasFeature() <-> getFeatureState() mixup.
svn-id: r43519
2009-08-18 18:06:50 +00:00