Commit Graph
405 Commits
Author SHA1 Message Date
Paweł Kołodziejski ccc9f6634d GRIM: Remove 'Quit' key mapping to avoid conflict with virtual keyboard 2020-10-24 14:11:56 +02:00
Paweł Kołodziejski 749c3ec9e1 ENGINES: If backend is not capable support opengl in game do not try create opengl renderer 2020-10-19 06:52:31 +02:00
LMerckx be1d4f65d8 GRIM: Fix mapping of joystick action buttons in EMI (#2540) 2020-10-17 20:39:27 +02:00
Paweł Kołodziejski a37173807f CONFIGURE: More work on opengl flags 2020-10-14 18:37:17 +02:00
Cameron Cawley 03e8f0ed2d ENGINES: Remove code for toggling fullscreen mode (#2523)
* GRIM: Remove code for toggling fullscreen mode

* MYST3: Remove code for toggling fullscreen mode

* STARK: Remove code for toggling fullscreen mode

* ENGINES: Remove the fullscreen argument from initGraphics3d()
2020-10-14 07:49:28 +02:00
Paweł Kołodziejski 42d55b2436 ENGINES: Drop accel3d param for initGraphics3d() 2020-10-13 22:49:07 +02:00
Cameron Cawley b19857bd8c ENGINES: Use ScummVM's 2D API for blitting the TinyGL framebuffer (#2516)
* GRIM: Use ScummVM's 2D API for blitting the TinyGL framebuffer

* MYST3: Use ScummVM's 2D API for blitting the TinyGL framebuffer

* ICB: Use ScummVM's 2D API for blitting the TinyGL framebuffer
2020-10-13 22:12:10 +02:00
Cameron Cawley d1d305d1b9 GRIM/GROOVIE: Move StuffIt archive code to Common (#2509) 2020-10-11 22:01:00 +02:00
Paweł Kołodziejski 264f6f037b ALL: Separate USE_OPENGL and USE_OPENG_GAME. Exclude WME3D for GLES2 for now. 2020-10-10 14:12:07 +02:00
Lothar Serra Mari e197118e28 GRIM: Fix typo in the keymapper actions (again) 2020-10-10 13:01:02 +02:00
Lothar Serra Mari 3bdaa4951f GRIM: Fix typo in the keymapper actions 2020-10-10 13:01:02 +02:00
Eugene Sandulenko 89123110d2 GRIM: Fix compilation on some systems 2020-10-10 02:05:25 +02:00
Paweł Kołodziejski 35b9cccbde ALL: Merge ResidualVM 2020-10-09 19:44:13 +02:00
Pawel Kolodziejski 3d74c3dd4d GRIM: Post branch merge fixes. 2020-10-07 19:50:27 +02:00
Paweł Kołodziejski 6e619ca714 GRIM: Merge branch 'remastered' 2020-10-07 18:26:49 +02:00
Pawel Kolodziejski 8cef3c14cb GRIM: Added keymaps entries for keymapper 2020-10-06 21:31:18 +02:00
Pawel Kolodziejski c4b9f966b6 GRIM: Drop side textures feature from backend. 2020-10-05 19:09:58 +02:00
Pawel Kolodziejski e9839c31e2 BACKENDS: Drop native game joystick support in replacement for emulated from core events backend. 2020-10-03 17:13:54 +02:00
Pawel Kolodziejski d8f2040dba ALL: Drop setupScreen API, use new initGraphics3d from engine API.
Enabled system API for begin/end gfx transactions, initSize, setGraphicsMode.
Function setGraphicsMode will use optional params to trigger 3d rendering
and switch to proper SDL Gfx manager.
2020-10-02 19:14:19 +02:00
Pawel Kolodziejski d5304e2568 ALL: Synced with ScummVM - rev: 33a47d23b8 2020-09-03 02:21:14 +02:00
Pawel Kolodziejski 8f4e1c6cf3 Sync with ScummVM rev. 654b8208b8 2020-06-22 08:14:16 +02:00
Dries Harnie 49a4de702f GRIM/EMI: Draw movie subtitles while holding frame lock
This prevents a crash that occurs if the movie player deletes the
active subtitle while the main loop is still in the process of drawing
it.
2020-05-17 13:48:24 +02:00
Bastien Bouclet 03b7c01806 GRIM: Update the debugger code to match the shared code 2020-05-12 19:55:29 +02:00
Bastien Bouclet 6e6fa26620 GRIM: Refresh the screen when the screen size is changed 2018-10-13 18:33:01 +02:00
Laurent Merckx 7731737623 SDL: Improve joystick usage
- configuration of engines natively supporting joystick or not
- for engines not supporting joystick input (Myst3, TLJ), reuse the ScummVM code to emulate mouse from joystick.
  A modification was also needed to support relative movements (needed in Myst3 to support camera movements)
2018-03-18 13:06:48 +01:00
Bastien Bouclet f4e3bd0424 GRIM: Take adventage of kFeatureFullscreenToggleKeepsContext 2017-09-01 09:26:57 +02:00
Vincent Pelletier 707a48c8c5 GRIM: Remove redundant ConfMan.registerDefault calls
These are already declared in base/commandLine.cpp .
2017-05-03 16:52:36 +00:00
Vincent Pelletier eb192cda0d ALL: Document GRIM's engine-speed command line argument
Also, move it in the ENABLE_GRIM section.
2017-05-03 16:52:36 +00:00
Vincent Pelletier 0de4acbd48 GRIM: Do not draw when flipping is forbidden.
Fixes
"Allocator out of memory: couldn't allocate more memory from linear allocator."
error with TinyGL in GRIM in several places:
- at the beginning of Year 2, after Meche boards the boat (does not happen
  when skipping cutscene)
- when loading set bi
And likely in other places.
The issue is that TinyGL queues draw calls in a fixed-size structure
(linear allocator used to quickly queue vertices), and it emits this error
when running out of space. This queue is not flushed for as long as
_flipEnable is false, and this value is controlled by game scripts.
The longer flipping is forbidden, and the more complex the scene is (more
vertices, like in bi), the more likely it is to run out of space and cause
residualvm to error out.

In set bi, missing one flip is enough to exceed buffer space.
In set lm (the one after meche boarding the boat), it takes 5 missed flips
to exceed buffer space (simpler scene), but it still happens in a split
second.

My initial thought was to empty the queue without drawing, but there is no
way to do this with OpenGL and I prefer to avoid TinyGL-only shortcuts.

It seems likely OpenGL to have larger draw operation buffers (maybe
dynamically extended ?), and/or to forcibly stall caller and execute draw
operations when running out of space. In any case, this would add
complexity to residualvm and use more CPU and GPU time for no purpose.
So instead just skip drawing until flipping is allowed again.
2017-05-02 09:53:46 +00:00
Vincent Pelletier bad3de8a12 GRIM: Drop off-screen buffers
These were present to implement actor freezing in software rendering mode
in the way original engine was intended for performance reason.
In residualvm, software rendering will generalise the principle through
dirty-rectangles management, so off-screen buffers should not be needed.

Also, properly implementing them requires invasive changes (move previous
draw call list from global OpenGL context to individual off-screen buffers,
along with associated linear vertex allocator, adding a new draw call to
track requested buffer changes until final on-screen frame buffer
presentation).
So instead of such added complexity, lie to lua API about actor not being
in set but keep it in so it is part of normal redraw sequence.

Fixes disappearing actors in cn, bi.
Likely also fixes at, ly, sh, mn, dd which uses free/thaw lua API, but
which I did not check.
2017-05-02 09:51:47 +00:00
Vincent Pelletier b8ae5c5bcf GRIM: Use already-stored display for save screenshot
Instead of storing display again and using it.
2017-04-26 13:11:00 +00:00
Bastien Bouclet 43d50064d6 GRIM: Don't override the global ResidualVM menu using the game main menu 2016-07-21 21:20:30 +02:00
Vincent Pelletier e1b414e50a GRIM: Convert save game image to original pixel format.
Pixel format does not seem to be stored in save game, so when loading a
save game produced in 32 bits mode it appears corrupted. So, to preserve
backward compatibility, convert to 16bits format before storing.
2016-07-21 16:31:09 +02:00
Vincent Pelletier 72217813c6 GRIM: Do not crash on extreme FPS values.
Easily triggered with disabled FPS limit and staying for a few seconds in
the F1 menu.
2016-07-18 17:33:53 +02:00
Vincent Pelletier 0de75f613a GRIM, EMI: Disable FPS limit when engine_speed is 0.
Also, only set engine_speed to config file when forcing 60fps.
2016-07-18 16:32:03 +02:00
Bastien Bouclet 62bf521944 GRIM: Fix memory leaks related to the emergency built-in font 2016-07-12 06:16:35 +02:00
Bastien Bouclet 3f295ec773 GRIM: Check at runtime that shaders are available 2016-02-06 08:53:42 +01:00
Bastien Bouclet 8a4bada6b9 ENGINES: Also build the legacy OpenGL renderer when enabling shaders 2015-12-29 08:05:49 +01:00
Bastien Bouclet 8d5406720c ENGINES: Add a new 'renderer' option to replace 'soft_renderer'
'soft_renderer' was a bool and was not useful to select a renderer
in a list with more than two values.
2015-12-29 07:55:27 +01:00
Dries Harnie 07f2025764 GRIM: Do not call ->free on null pointer 2015-09-21 10:04:11 +02:00
Dries Harnie d14a6c0d6a L10N: Add 'problems found' dialog from Grim 2015-09-09 13:44:37 +02:00
Dries Harnie ae4601c303 JANITORIAL: Code style fixes 2015-08-17 13:25:46 +02:00
Dries Harnie 73ef15d05f GRIM: Use system->suggestSideTextures 2015-08-17 13:25:46 +02:00
Dries Harnie 147ba6ecbb GRIM: Search for widescreen textures in widescreen directory 2015-08-17 13:25:46 +02:00
Dries Harnie a07c8ce0ac GRAPHICS: Pass Graphics::Surface* to setSideTextures 2015-08-17 13:25:45 +02:00
Dries Harnie f7244925c3 GRIM: Enable side textures in postCamChangeHandler 2015-08-14 15:24:56 +02:00
David Cardwell 9b1bbd61dc EMI: Change the file-extension of PS2 saves
Prevent conflicts with incompatible save files by changing the
file-extension of PS2 saves to “*.ps2”.
2015-02-14 14:18:09 -05:00
Joel Teichroeb b37fcc8bc6 Send mouseup 2015-02-05 07:45:01 -08:00
Joel Teichroeb e3b19c5b48 Handle some mouse stuff 2015-02-04 20:53:33 -08:00
Einar Johan Trøan Sømåen d0ce1eb788 Parse the commentary data, and print it to console when triggered for now. 2015-02-04 16:48:09 +01:00