Commit Graph
358 Commits
Author SHA1 Message Date
AndywinXp f463d032d8 SCUMM: GUI: Improve readability 2022-12-13 18:40:11 +01:00
AndywinXp b1eaf2ea0f SCUMM: GUI: Implement MI1 SegaCD menu 2022-12-13 18:40:11 +01:00
AndywinXp 201219b694 SCUMM: GUI: Implement internal speaker sound muting from keyboard combination
The older titles (v0-v4) allowed this. This only targets internal speaker-like audio devices,
so AdLib and MT-32 are not impacted by this, just like on the original.
2022-12-02 00:57:43 +01:00
AndywinXp ba24698225 SCUMM: v3: Implement ability to rename savestate before loading on the original menu
As much as this seems bad design, it's a real possibility in the original interpreters, furthermore
confirmed by the menu messages which are shown when the user tries to do that, so here we are...
2022-12-01 00:04:46 +01:00
Donovan Watteau 80b73d2cd8 SCUMM: Use MSVC_PRINTF when GCC_PRINTF is used 2022-11-29 01:37:16 +01:00
AndywinXp a0baee6e6f SCUMM: GUI: Fix remaining v3 FM-Towns banner-related glitches 2022-11-28 23:21:45 +01:00
Torbjörn Andersson bf0ecd47ff SCUMM: Implement message boxes for Mac Loom and Last Crusade
I'm committing this as is, while leaving final integration to someone
else. Note that this doesn't really replicate the original Mac GUI (e.g.
the quit dialog is nothing like the original), but at least the pause
dialog looks right. And that's what matters to me.
2022-11-28 23:21:45 +01:00
AndywinXp 9cb7293de3 SCUMM: Clean-up and implement remaining messages for v0-1-2-3 2022-11-28 23:21:45 +01:00
AndywinXp 13e7c9d4d9 SCUMM: Implement basic support for v0-3 GUI 2022-11-28 23:21:45 +01:00
Hubert Maier 174c484dfc JANITORIAL: SCUMM: Correct Spelling Mistake
apparantly -> apparently
2022-11-15 22:52:43 +02:00
AndywinXp 078bfa70cd SCUMM: FT: Fix mouse button-up events being lost during INSANE sequences 2022-11-14 00:15:45 +01:00
AndywinXp 2d8e5dfa52 SCUMM: Fix uninit variable usage 2022-10-25 11:58:44 +02:00
Le Philousophe f564ffc12f SCUMM: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
BLooperZ 11ec68fda5 SCUMM: HE: support BiDi in hebrew fan translations 2022-09-29 20:46:55 +02:00
athrxx e052fee77f SCUMM: (IMS) - cleanup sound init process
Reduce abuse of the property function to set init vars.
Better distinction between drivers to prevent a GM init on
the Mac driver (which could happen depending on the
launcher sound setting).
2022-09-13 22:13:53 +02:00
AndywinXp 1c51cf6396 SCUMM: GUI: Save and restore the verb surface before and after showing GUI elements 2022-09-08 19:10:42 +02:00
athrxx 7cf77ce865 SCUMM: fix rtl feature 2022-09-08 19:10:42 +02:00
athrxx 537e6043f2 SCUMM: (GUI) - add mouse wheel support to save/load dialog 2022-09-08 19:10:42 +02:00
AndywinXp c8ba69ed9a SCUMM: GUI: Make quit prompt behavior more consistent 2022-09-08 19:10:42 +02:00
athrxx 71f73fd8ae SCUMM: (GUI) - modify dialogs for CJK font support
This replaces the fixed vertical coordinates with coordinates based on the font
height (taken from the original CJK DIG interpreter).

It also influences the appearance of the non-CJK dialog, but not necessarily for
the worse (and the one we had is again different from the one in the original
7.3.5/7.5.0 interpreters, so there really is not one definite dialog).

There is more in this commit, like:
- clippint the save names at the end of the line
- getting rid of all sprintfs and similiar cleanup to be better in line with our
coding conventions.
2022-09-08 19:10:42 +02:00
athrxx af45365e4f SCUMM: make some vars const 2022-09-08 19:10:42 +02:00
AndywinXp 649c6a9f11 SCUMM: GUI: Restore shake effect after exiting a GUI prompt or menu 2022-09-08 19:10:42 +02:00
AndywinXp 880c78b023 SCUMM: GUI: Implement v4 GUI and menu 2022-09-08 19:10:42 +02:00
athrxx b37ad8d06e SCUMM: (v6/EGA) - fix mouse cursor being dithered/scaled more than once 2022-09-08 19:10:42 +02:00
athrxx fa8cff6248 SCUMM: (GUI) - initialize vars
(this is necessary after the mem leaks fix)
2022-09-08 19:10:42 +02:00
AndywinXp eadacafd1b SCUMM: Fix warnings 2022-09-08 19:10:42 +02:00
AndywinXp a56bf5c4e1 SCUMM: GUI: Implement voice mode settings for Indy4 Talkie 2022-09-08 19:10:42 +02:00
AndywinXp 9bca06429f SCUMM: GUI: Implement v5 GUI and Menu 2022-09-08 19:10:42 +02:00
AndywinXp 025d25a1f1 SCUMM: GUI: Fix pre-v7 text rendering over GUI 2022-09-08 19:10:42 +02:00
AndywinXp 194555c3a7 SCUMM: GUI: Implement v6 GUI and Menu 2022-09-08 19:10:42 +02:00
AndywinXp b881a3f600 SCUMM: GUI: Create proper thumbnail for savegames created within the original menu 2022-09-08 19:10:42 +02:00
AndywinXp ddb54b30a4 SCUMM: GUI: Implement saving and loading routines for the old style menu 2022-09-08 19:10:42 +02:00
AndywinXp 2417448791 SCUMM: Change _defaultTalkDelay to _defaultTextSpeed
From now on we're reasoning in terms of text speed, just like the interpreter does,
which means: delay == 9 - speed.
This allows us to sync the internal GUI and the ScummVM GUI more easily, and
allows for a better correspondence to the original interpreters.
2022-09-08 19:10:42 +02:00
AndywinXp 457bcb67db SCUMM: GUI: Implement the majority of the v7 Main Menu 2022-09-08 19:10:42 +02:00
AndywinXp d1b73e1ffe SCUMM: GUI: Add functional main GUI banners for v5-6-7 2022-09-08 19:10:42 +02:00
AndywinXp 9ef023b11c SCUMM: GUI: Refactor internal GUI code 2022-09-08 19:10:42 +02:00
athrxx 3d39d206ee SCUMM: replace strcpy calls with Common::strlcpy
This replaces every single strcpy call in the engine with
Common::strlcpy.

Some of these might cases seem a bit pointless, but it is
supposed to discourage future use of strcpy. If people don't
see a single occasion of it they might think twice before they
use it...
2022-08-27 13:08:38 +03:00
BLooperZ d0a0070d85 SCUMM: FREDDI4: fix lipsync issues 2022-08-23 21:44:05 +03:00
AndywinXp eb2df1a355 SCUMM: Set default value for _useOriginalGUI to true
Every access to this variable is done through isUsingOriginalGUI(), which
will currently yield false for every game version lower than 8.
2022-08-07 08:32:25 +02:00
AndywinXp 2c9d7fd2ee SCUMM: COMI: Change how blastObject rects are restored for v8
This fixes the last remaining graphical glitches pertaining the original GUI
2022-08-06 13:33:56 +02:00
AndywinXp 276e7620c7 SCUMM: Use PaletteLookup for internal GUI 2022-08-06 13:33:56 +02:00
AndywinXp fb2fcbf30e SCUMM: COMI: Implement savegame thumbnails 2022-08-06 13:33:56 +02:00
AndywinXp 9072aa007f SCUMM: COMI: Fix default cursor colors during SMUSH videos 2022-08-06 13:33:56 +02:00
AndywinXp fabaeb4b83 SCUMM: COMI: Implement original GUI 2022-08-06 13:33:56 +02:00
AndywinXp 7e4d844969 SCUMM: DETECTION: Add an option for activating the original GUI 2022-08-06 13:33:56 +02:00
AndywinXp 1e9d51c28a SCUMM: COMI: Implement the original main menu
Every functionality has been implemented (audio options, text options, saving and loading).
The only thing currently missing from the menu is the thumbnail handling.
2022-08-06 13:33:56 +02:00
athrxx 85a191de2b SCUMM: (v6/EGA) - improved mouse cursor handling and some other fixes
The mouse cursors get dithered correctly now and due to earlier fixes SAMNMAX seems to be in as good a state as DOTT regarding EGA dithering mode, so I enable it. Also added a post-load fix for the palette and the mouse cursors.
2022-07-31 23:57:15 +02:00
athrxx 9ca9be789c SCUMM: implement EGA dithering mode
(for certain VGA titles)

I've included some titles that do not support this in the original, but e. g. DOTT will require some more fixes for glitches.
2022-07-29 16:23:24 +02:00
AndywinXp c108dc2646 SCUMM: Fix o5_faceActor() implementation for v4 and below
Fixes #5312.
Verified from the disasms of MANIAC v2, INDY3 v3 and LOOM v4.
2022-07-27 15:03:36 +02:00
athrxx 4230a882b0 SCUMM: (V4/EGA/CGA) - improve post-load fixes
Also include room palette fixes for games that were saved with a different video mode. Unfortunately the scripts make changes to the room palette based on VAR_VIDEOMODE. The original interpreter does not fix that.
2022-07-23 23:17:46 +02:00