Commit Graph
103 Commits
Author SHA1 Message Date
Vladimir Serbinenko 96cbe69d1e VKEYBD: Support RGB332 backing surface
This is efficient on rs90
2023-01-12 10:27:20 +03:00
Cameron Cawley 28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Eugene Sandulenko fb7095f5a4 COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Donovan Watteau 7c92832db9 VKEYBD: Fix euro symbol description in keycodeDescTable
This was encoded in Windows-1252 and it triggered a
-Winvalid-source-encoding warning. Just use ASCII, as for the other
descriptions.
2022-10-07 12:45:40 +02:00
Donovan Watteau 4be173fc49 VKEYBD: Repair the apostrophe key in the virtual keyboard
The `target` and `name` attributes for this key didn't use the same
character, so they never matched and the key had no effect.
2022-10-07 12:45:40 +02:00
Donovan Watteau eacd30cceb VKEYBD: Use compresslevel=9 if available in vkeybdpack.py
So that the .zip files don't get too big.
2022-10-07 12:45:40 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Thierry Crozat 4fa0f7c9ba BACKENDS: Explicitly use ellipsis for the virtual keybord if needed
This is the default, so this commit does not change the behaviour.
But this will allow to change the default at a later stage.
2021-08-01 17:22:13 +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
Orgad Shaneh b49e6eb96f JANITORIAL: Fix some excess tabs 2021-04-15 23:18:08 +03:00
Eugene Sandulenko 5e7fe2dc57 JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
LMerckx e7132897fd GUI: Fix keymap of virtual keyboard if no GUI opened before (#2555) 2020-10-26 21:18:12 +01:00
Laurent Merckx 237211a7fe GUI: Fix display of virtual keyboard for OpenGL/OpenGLES 2020-10-19 16:40:36 +02:00
Bastien Bouclet a977dfb2d1 KEYMAPPER: Enable the GUI keymaps while the virtual keyboard is visible 2020-09-15 22:42:34 +02:00
Bastien Bouclet 8fe7d520be VKEYBD: Fallback to SearchMan when loading keyboard packs 2017-12-28 21:24:57 +01:00
Bastien Bouclet 8beb519c5e EVENTS: Rename synthetic to kbdRepeat 2017-11-19 16:12:50 +01:00
D G Turner 23c2481d10 VKEYBD: Add small keyboard pack for virtual keyboard.
This pack contains just the 320x240 layout.

This is a quick way to achieve the result of a smaller keyboard
when running on 640x480 and larger games as requested bu a user.

To use this, the pack zip file, vkeybd_small.zip should be placed
in the extrapath in the same way as vkeybd_default.zip.

However, it is also necessary to set this as the active virtual
keyboard layout by adding the following linein the global [scummvm]
section of the configuration file i.e. scummvm.ini:
vkeybd_pack_name=vkeybd_small

This should be added to the GUI as a misc option, in future.

Currently, the closest layout size to the overlay size is chosen
automatically by the code in the method:
bool VirtualKeyboardParser::parserCallback_mode(ParserNode *node)

This should probably also be made configurable in future to allow
smaller keyboard sizes to be chosen.
2014-04-27 03:51:19 +01:00
D G Turner f37ecf3861 VKEYBD: Remove noisy warnings and clarify messages. 2014-04-22 05:25:39 +01:00
Matthew Hoops 740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel 01d20bd0e4 VKEYBD: Make GPL headers consistent in themselves. 2014-02-18 02:39:39 +01:00
Johannes Schickel 6713743441 VKEYBD: Make code agnostic of OverlayColor.
This removes the use of OverlayColor in vkeybd and supports both 16 and 32bit
overlays.
2013-08-16 05:34:38 +02:00
Johannes Schickel 911c74e82c VKEYBD: Do not access Surface::pixels anymore. 2013-08-06 03:51:12 +02: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
Matthew Hoops 426c81a7a7 GRAPHICS: Rewrite ImageDecoder to have an improved API
The new bitmap decoder class is based off the Mohawk one, and now has 8bpp decoding capability.
2012-03-20 01:06:47 +01:00
Johannes Schickel 2af87fd4f0 VKEYBD: Fix cursor palette. 2012-01-03 02:13:40 +01:00
Johannes Schickel 1c2a21c42b VKEYBD: Slight cleanup. 2012-01-03 02:13:33 +01:00
Johannes Schickel 24d99038e4 VKEYBD: Properly error out parsing if an area is defined again.
Formerly the code did never check whether ImageMap::createArea returned a
valid pointer and always just assumed so.
2012-01-03 02:13:26 +01:00
Johannes Schickel d0ddd299a4 VKEYBD: Slight cleanup in ImageMap code. 2012-01-03 02:13:22 +01:00
Johannes Schickel c98a123f4c VKEYBD: Some formatting fixes. 2012-01-03 02:13:19 +01:00
Christoph Mallon 23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Julien c52cc84912 AUDIO/BACKENDS/GRAPHICS: Add error checks after allocating memory with malloc 2011-06-23 15:11:36 +08:00
Max Horn 7a52d414e9 VKEYBD: Adjust to recent XML parser changes 2011-06-06 11:52:21 +02:00
Max Horn 9c3a8cd3b5 BUILD: Compile more files only when necessary 2011-05-31 00:35:27 +02:00
Max Horn 343237e68a VKEYBD: Update vkeybd_default.zip
Specifically, in vkeybd_default.xml, 'centre' changed to 'center'.
2011-05-16 00:35:49 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn 75d9f21580 BACKENDS: Change printf -> debug in vkeybd code 2011-05-03 12:53:14 +02:00
Johannes Schickel 71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16

Conflicts:
	graphics/png.cpp
2011-05-01 16:54:45 +02:00
D G Turner 57578c302f BACKENDS: Fix compilation on ports using Virtual Keyboard. 2011-04-28 23:47:30 +01:00
Ori Avtalion 46cb9c785b JANITORIAL: Yet another attempt at fixing compilation 2011-04-29 00:45:18 +03:00
Johannes Schickel 877004dbdd BACKENDS: Adapt various backends code to set up Surface::format correctly.
Note that this change is not tested at all (not even compile wise!).
2011-04-17 21:14:19 +02:00
Johannes Schickel 7ac3ae108a BACKEND: Prefer Surface::create taking a PixelFormat over the one taking a byte depth. 2011-04-17 16:24:37 +02:00
Max Horn 2e095e25f2 ALL: centre -> center 2011-04-14 14:34:28 +02:00
Max Horn df05ed1a46 BACKENDS: Include scummsys.h at top of all .cpp files, *before* any #ifdefs
svn-id: r54573
2010-11-29 16:18:43 +00:00
Max Horn 179734a082 VKEYBD: Ensure stream destructor is properly called
svn-id: r54562
2010-11-28 23:27:56 +00:00
Max Horn 668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn 36cd5caf95 COMMON: Add XMLParser::parseIntegerKey variant accepting a Common::String
Almost all places where we used XMLParser::parseIntegerKey were using
it like this:
  XMLParser::parseIntegerKey(str.c_str(), ...)
Since this makes the code harder to read, I overloaded the method to
also accept Commmon::String directly.
Also removed all .c_str() invocations where necessary.

svn-id: r53479
2010-10-15 12:19:13 +00:00
Jordi Vilalta Prat 8388e0dfea JANITORAL: Clean trailing whitespaces.
svn-id: r53160
2010-10-12 02:18:11 +00:00
Robert Špalek 5e030bebcc enable reading ZIP archives even without USE_ZLIB
our module unzip.cpp can read uncompressed ZIP archives even without zlib.  if some of the files
inside are compressed and zlib is not linked in, an error is returned.

svn-id: r50483
2010-06-29 06:38:00 +00:00
Johannes Schickel 9d4cb7c23c Add missing tokenizer.h include.
svn-id: r48326
2010-03-20 16:45:11 +00:00
Max Horn 8ac5d00d57 Hide ZipArchive implementation, only expose it via factory functions: makeZipArchive()
svn-id: r48040
2010-02-13 11:56:30 +00:00