445 Commits

Author SHA1 Message Date
elasota
3db67a33ac GRAPHICS: Add support for pixels with masks and inverted pixels 2023-02-19 23:51:09 +01:00
Eugene Sandulenko
c5d91134ee
BACKENDS: DS: Use icCLUT8() 2023-02-02 19:33:20 +01:00
Cameron Cawley
7f2d9fd0fd GRAPHICS: Split conversion.cpp into multiple files 2022-12-22 23:45:14 +01:00
Cameron Cawley
8cd1f1413f DS: Fix building from a clean source directory 2022-12-22 19:36:56 +00:00
Cameron Cawley
066979c96a DS: Display the ScummVM logo on the top screen when the launcher is active 2022-12-22 18:21:04 +00:00
Cameron Cawley
435ced7c5c DS: Separate the Background class from Graphics::Surface 2022-12-22 12:25:47 +00:00
Donovan Watteau
af87992771 DS: Clean map.txt leftover from -Wl,-Map,map.txt 2022-12-02 13:46:09 +01:00
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
Le Philousophe
111d259015 ALL: Add limits.h for all codebase 2022-08-22 15:38:10 +02:00
Le Philousophe
a0f02d93c5 JANITORIAL: Refresh all portdefs
Make sure all needed includes are really included
2022-08-22 15:38:10 +02:00
Cameron Cawley
3ffbbe3cef DS: Avoid redefining double as float 2022-06-20 23:10:21 +01:00
Cameron Cawley
21ba2cffbb DS: Avoid disabling the virtual keyboard if it hasn't been enabled 2022-05-30 22:04:21 +01:00
Cameron Cawley
dd0304fb22 DS: Improve error reporting 2022-05-30 13:51:40 +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
e3b72b6fef DS: Remove redundant event observer 2021-11-01 16:19:15 +00:00
Cameron Cawley
8c01baaaff DS: Get the virtual keyboard working with the mirrored subscreen 2021-11-01 16:19:15 +00:00
Cameron Cawley
224d626e65 DS: WIP virtual keyboard support 2021-11-01 16:19:15 +00:00
Cameron Cawley
e60b0be71a DS: Update scripts for creating split builds 2021-09-02 22:14:53 +01:00
Cameron Cawley
69db8b9b33 DS: Fix compiler warning 2021-08-25 01:18:39 +01:00
Le Philousophe
68a327ecb1 BACKENDS: Harden grabOverlay in all platforms
Use specific copy code where applicable and replace duplicated code by
calls to copyBlit which optimizes blitting
2021-08-04 13:27:07 +02:00
Cameron Cawley
edaa04bdc8 DS: Add a dsdist target 2021-07-11 23:36:11 +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
0a9bf3708f DS: Update the MaxMod callback manually 2021-06-19 14:32:10 +02:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Cameron Cawley
4300571cf8 DOCS: First draft DS page
This replaces the old port-specific README file.
2021-02-04 01:59:14 +01:00
Cameron Cawley
2c1148791f DS: Replace the default assert function with sassert 2021-02-04 01:59:14 +01:00
Cameron Cawley
521303b2ef DS: Handle scaling and scrolling in the Background class 2021-02-04 01:59:14 +01:00
Cameron Cawley
e3fabc803b DS: Only update the palette and cursor when updateScreen() is called 2021-02-04 01:59:14 +01:00
Cameron Cawley
7ddd7e4931 DS: Use the Background class for the game screen 2021-02-04 01:59:14 +01:00
Cameron Cawley
b37843f10d DS: Fix setGraphicsMode signature 2021-02-04 01:59:14 +01:00
Cameron Cawley
a642279e5d DS: Add a Background class for the overlay 2021-02-04 01:59:14 +01:00
Cameron Cawley
0c776013f7 DS: Add RGB colour support 2021-02-04 01:59:14 +01:00
Cameron Cawley
4ac5421c6d DS: Add a generic dmaBlit function and use it in updateScreen 2021-02-04 01:59:14 +01:00
Cameron Cawley
f802c2e88a DS: Add support for RGB cursors 2021-02-04 01:59:14 +01:00
Cameron Cawley
626b6ac4e9 DS: Move graphics code into a separate file 2021-02-04 01:59:14 +01:00
Cameron Cawley
1c40d79732 DS: Begin modularizing the DS backend 2021-02-04 01:59:14 +01:00
Cameron Cawley
6fa77b3429 DS: Remove optimization of individual files for speed
Mixing ARM and THUMB code in dynamic plugins causes relocation issues.
2021-02-04 01:59:14 +01:00
Cameron Cawley
a900337952 DS: Fix default search paths 2021-02-04 01:59:14 +01:00
Cameron Cawley
8b55134547 DS: Re-add audio support using MaxMod 2021-02-04 01:59:14 +01:00
Cameron Cawley
fe05ae75cd DS: Support detecting the system language 2021-02-04 01:59:14 +01:00
Cameron Cawley
66472abf1a DS: Move timer code into OSystem_DS 2021-02-04 01:59:14 +01:00
Cameron Cawley
9ca7845590 DS: Replace the options dialog 2021-02-04 01:59:14 +01:00
Cameron Cawley
3c306f33ed DS: Simplify the directory structure 2021-02-04 01:59:14 +01:00
Cameron Cawley
266e21de10 DS: Clean up the sprite code 2021-02-04 01:59:14 +01:00
Cameron Cawley
37774cd578 DS: Allow the game screen and the overlay to be shown at the same time 2021-02-04 01:59:14 +01:00
Cameron Cawley
926ec07532 DS: Simplify the framebuffer code 2021-02-04 01:59:14 +01:00
Cameron Cawley
704deec031 DS: Improve text console support 2021-02-04 01:59:14 +01:00
Cameron Cawley
438c2d8714 DS: Rewrite event handling 2021-02-04 01:59:14 +01:00