Commit Graph
192 Commits
Author SHA1 Message Date
Kaloyan Chehlarski 73b66c60f8 BACKENDS: WII: Always retain cursor palette
Calling setMouseCursor with a non-palette cursor no longer
clears the cursor palette, allowing a subsequent call with a
paletted cursor to re-use it. This fixes Trac defect #13895.
The approach taken was to just copy what the OpenGL
backend was doing in the same situation.
2023-10-02 12:19:31 +03:00
D G Turner bef992a940 WII: Add Debug Output to OSystem Graphics API for Mouse Cursor
This indicates that the cause of the vanishing mouse cursors appears to
be the loss of the palette data from a CLUT8 game cursor when the GMM
cursor which is ARGB is switched in. The SetMouseCursor implementation
currently does not setup the game cursor palette so the cursor is drawn
as all transparent i.e. default palette contents.
2023-08-29 00:24:36 +01:00
D G Turner 75023fcc08 WII: Move All Palette Code Implementation into OSystem Graphics Module 2023-08-29 00:10:53 +01:00
D G Turner 6c7467831d WII: Add Console Message When Console is Shown / Hidden
It is possible to toggle showing the text console as an overlay on the
screen by holding the Up direction arrow on the Wiimote and pressing
Button 1. This shows messages printed out via printf() / debug() and thus
can be used as a basic mechanism for debug output.
2023-08-28 23:12:20 +01:00
D G Turner a489921fd4 WII: Minor Formatting Fix in GDB Network Debugging Defines
This does not work with the current libogc GDB stub on the Wii as the
GDB network stub support only works with the BBA (Broad Band Adapter)
for the Gamecube.
2023-08-28 23:10:03 +01:00
Thierry Crozat ef7c881416 OSYSTEM: Add kFeatureTouchscreen to identify backends with a touchscreen 2023-08-22 23:37:11 +01:00
Wyatt Radkiewicz f5dfa6b8d1 WII: Removed extra ")" in backend hasFeature 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz eebadf4495 GRAPHICS: Optimize alpha blend NEON and Generic
I optimized the NEON and Generic paths for ManagedSurface::blendBlitFrom
and the new TransparentSurface::blit. Now (on arm), the new blit function
matches the speed of the old blit function even with the added
inderections that the runtime extension detection code adds in.

Other than that, I made a benchmark for this code and you can make it
using this command:
CFLAGS="-DTEST_BLEND_SPEED" make test

I reverted wii to not use altivec anymore since it doesn't.

I also removed graphics/blit-neon.cpp from graphics/module.mk because
simply including the .cpp file in graphics/blit-alpha.cpp was a better
option because then I didn't need to instantiate every version of the
templates that I needed.
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz ffb845f241 WII: Backend detects Altivec extensions 2023-08-13 00:22:10 +02:00
D G Turner f1d2ba701a WII: Add Code for GDB Debugging Over Ethernet using TCP
The Gecko USB serial adapter is no longer easy to obtain and using
the Ethernet adapter instead is supported by devkitPro/libogc.

However, when enabled, this fails to link when dynamic plugins are
enabled due to missing symbols for gdbstub_getoffsets() found in
devkitPro/libogc/libdb/debug_supp.c. To be exact, this is the
u8 __text_fstart[],__data_fstart[],__bss_fstart[] which should be
implicitly provided by the linker(?)

A monolithic static build with this enabled does succeed, but has not
yet been tested.
2023-05-15 00:51:27 +01:00
D G Turner 91b8c1bb89 WII: Fix Build When Debugging Wii Memory Usage 2023-05-05 18:16:57 +01:00
elasota 3db67a33ac GRAPHICS: Add support for pixels with masks and inverted pixels 2023-02-19 23:51:09 +01:00
Cameron Cawley 7f2d9fd0fd GRAPHICS: Split conversion.cpp into multiple files 2022-12-22 23:45:14 +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 387da5b820 WII: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh b11c5ace90 BACKENDS: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:31:41 +02:00
Cameron Cawley 5022489277 BACKENDS: Refactor the API for creating Mutexes 2021-11-12 20:19:45 +01:00
Thierry Crozat 4e503fad1c Revert "BUILD: Add $(DIST_FILES_DOCS) to targets using it"
This reverts commit d1e195c298.
2021-09-04 20:01:32 +02:00
Le Philousophe d1e195c298 BUILD: Add $(DIST_FILES_DOCS) to targets using it
This makes sure all docs are present before copying them
2021-08-28 11:27:06 +02: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
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
Eugene Sandulenko 5e7fe2dc57 JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Cameron Cawley 01b4432825 BACKENDS: Use Common::U32String for OSystem::setWindowCaption 2020-11-22 17:20:19 +00:00
Cameron Cawley c877097b49 ALL: Remove use of "" in Common::U32String constructors 2020-11-16 16:56:58 +00:00
Cameron Cawley 70aebaca5b WII: Add override and final keywords 2020-10-16 17:46:43 +01:00
Alexander Reim d40d84e80a WII: Return to the system menu instead of a black screen on exit 2020-10-11 11:51:02 +02:00
Cameron Cawley 5a47b09455 BACKENDS: Move default implementations of getScreenPixelBuffer into BaseBackend 2020-10-10 18:00:17 +02:00
Eugene Sandulenko 6b15c6102b WII: Fix compilation 2020-10-10 00:16:40 +02:00
Alexander Reim c0062fe761 WII: Fix compilation with flag: disable-16bit 2020-10-02 15:00:57 +02:00
Alexander Reim 34534484b4 WII: Fix warnings 2020-09-24 11:45:40 +02:00
Alexander Reim c4262682dc WII: Fix transparency of RGB cursors 2020-09-24 11:26:21 +02:00
Cameron Cawley 31be074893 BACKENDS: Add a function to return if the overlay is visible 2020-09-15 00:09:11 +02:00
aryanrawlani28 6b7c646ba4 WII: Use U32Strings for options dialog. 2020-08-30 14:43:41 +02:00
Cameron Cawley 0a29fced6e WII: Replace use of Graphics::ColorMasks 2020-07-25 13:32:45 +02:00
Cameron Cawley 00e3c03755 ALL: Remove unnecessary graphics/colormasks.h includes 2020-06-15 16:59:34 +01:00
Bastien Bouclet 0634762ed6 BACKENDS: Fix the DS, GameCube and Wii builds 2020-01-04 11:26:31 +01:00
Cameron Cawley 2048c9cc78 AUDIO: Remove unused parameter from the MixerImpl constructor 2019-11-30 17:47:34 +02:00
sluicebox ec840a73c7 WII: Implement horizontal shake 2019-11-19 00:20:40 +01:00
sluicebox b8390fa161 GRAPHICS: Add interface for horizontal shake 2019-11-19 00:20:40 +01:00
Le Philousophe c27199496c WII: Destroy everything before exiting
That let's close virtual keyboard file.
2019-10-09 13:33:11 +02:00
Le Philousophe 24e786d1f0 WII: Fix reset_cb prototype for newer versions of libogc 2019-10-09 13:33:11 +02:00
Cameron Cawley 0334411d63 BUILD: Package networking and virtual keyboard files on all platforms 2019-07-08 12:42:21 +03:00
Adrian Frühwirth cee4d6b853 JANITORIAL: Fix trailing whitespace 2018-05-24 15:30:55 +02:00
Colin Snover bda253b1ac BACKENDS: Constify PaletteManager::grabPalette implementations 2017-10-15 13:47:19 -05:00
Alexander Reim 6dd28d7cc1 WII: Fix compiler warnings
WII: Fix compiler warnings

Compiler: DevKitPPC R28
2017-02-14 11:38:39 +01:00
Alexander Reim e738de70e5 WII: missing ASCII codes for some keys 2014-10-23 09:19:48 +02:00
D G Turner b8cce3a16d WII: Add "small" virtual keyboard pack to port packaging. 2014-06-25 19:55:57 +01:00
D G Turner 7042de2aa9 WII: Fix correct keycode for virtual keyboard trigger.
As the virtual keyboard trigger has been moved to CTRL-F7, the previous
code which generates a unmodified F7 event to do this will not work.

However, due to the complexity of this code, directly calling the
virtual keyboard trigger event could have side effects, so have instead
just added the CTRL modifier to fix this.

This should be fixed if possible to use EVENT_VIRTUAL_KEYBOARD.
2014-05-05 05:18:51 +01:00