Commit Graph
59 Commits
Author SHA1 Message Date
Matthew Duggan c98c027460 DGDS: Clear vals on freshly allocated menu TextItem
The vals are never used for anything, but make coverity happy.  CID #1592971.
2025-04-21 20:31:29 +10:00
Matthew Duggan 6a5916cf6c DGDS: Map menu ids in DE version of Heart of China
Most games use the same menu IDs for the same menus, but this version uses some
different IDs to the others.  To avoid having to redo too much for a single
game variant, just map the menu IDs.

This fixes #15818.
2025-03-31 20:12:07 +11:00
Filippos Karapetis 7170223f83 DGDS: Remove unused/superfluous code 2025-03-10 18:53:25 +02:00
Filippos Karapetis d8eb52a2cb DGDS: Clean up includes 2025-03-10 18:53:20 +02:00
Filippos Karapetis 8dfda9e663 DGDS: Merge the "Play game" code paths of the two China mini-games.
The interface options available before starting the two mini-games are
the same
2025-03-10 14:33:00 +02:00
Matthew Duggan b1d37b9053 DGDS: Return to train map when skipping train arcade
This avoids a debug box asking us what ending we want.

This fixes #15784.
2025-03-10 18:29:25 +11:00
Matthew Duggan 452b5989ff DGDS: Fix interpretation of text speed setting
* The inversion (9 - value) was being applied twice, reversing
  the resulting delay
* The delay in the dialog data should be doubled before calculating delay
  millis
* The default setting should be 5

This fixes #15771
2025-03-04 20:55:55 +11:00
Matthew Duggan 093b84863f DGDS: Implement Willy Beamish main menu help 2025-03-02 14:52:01 +11:00
D G Turner aac995431e DGDS: Fix Unused Variable GCC Compiler Warning 2025-01-27 03:38:33 +00:00
Matthew Duggan fa6e3caa96 DGDS: Sync volume state from menu properly with music player
Pause the music if it's turned off.

Also update midi driver loops to C++11 style for cleaner code.
2025-01-26 17:22:30 +11:00
Matthew Duggan 7e2c29c88c DGDS: Fix potential crash on menu 2025-01-04 12:30:15 +11:00
D G Turner 1b57f0c6a9 DGDS: Fix Fallthrough GCC Compiler Warning 2024-12-31 10:34:28 +00:00
Matthew Duggan e3a626316e DGDS: Fix Willy Beamish sfx/music toggle button display 2024-12-31 19:19:46 +11:00
Matthew Duggan 631447e36b DGDS: More Willy Beamish fixes
* Swap between look and interact mode with right mouse
* Implement credits
* Mostly fix graphical glitch in intro
2024-12-31 19:02:30 +11:00
Matthew Duggan a87b9e7080 DGDS: Implement Willy Beamish help menu 2024-12-31 15:46:46 +11:00
Matthew Duggan ef64a5c814 DGDS: Implement HoC train mini game 2024-12-14 12:05:30 +11:00
Matthew Duggan 5cd1a9ff41 DGDS: Mostly fix rendering of menus in Willy Beamish
Also wire up most of the main menu buttons.
2024-11-23 19:33:42 +11:00
Filippos Karapetis 94403bd3a9 DGDS: Raise debuglevel of all debug statements to at least 1
This reduces the chatty debug output, which isn't of any use to
regular users
2024-11-16 18:44:46 +02:00
Matthew Duggan 4312a96913 DGDS: Update various strings for German RotD
Some hard-coded strings needed their own version for the German version of Rise
of the Dragon.

This fixes #15456.
2024-11-05 22:19:10 +11:00
Matthew Duggan f38e78a393 DGDS: Be more sure about not using null ptr. PVS-Studio V522 2024-10-29 17:51:58 +11:00
Matthew Duggan 50cface678 DGDS: Implement Heart of China intro natives
The full intro cinematic can now play correctly.
2024-10-27 18:25:47 +11:00
Matthew Duggan d51aa872b6 DGDS: Integrate SCI midi player code
DGDS basically uses the same midi and patch code as SCI.  This change copies
the midi driver out of SCI.  It now mostly works, but there is still an
instrument mismatch to fix out with SFX.
2024-10-21 15:27:15 +11:00
Matthew Duggan 7b353c0dda DGDS: Fix small dragon arcade bugs 2024-09-22 10:01:25 +03:00
Matthew Duggan e5aaf8d063 DGDS: Add keyboard and fix some bugs in Dragon arcade 2024-09-22 10:01:25 +03:00
Matthew Duggan e9f7121d7a DGDS: Implement HoC shell game 2024-07-26 21:12:08 +10:00
Filippos Karapetis b3d55de276 DGDS: Add handling for the HoC train mini-game menu 2024-07-18 03:46:37 +03:00
Filippos Karapetis b067153ecc DGDS: Implement the tank mini-game handling menu for HoC 2024-07-17 23:30:55 +03:00
Matthew Duggan 7ab57607da DGDS: Add keyboard navigation for menus
Also add ability to select dialog options on keyboard.
2024-07-12 22:01:04 +10:00
Matthew Duggan 761d144709 DGDS: Keyboard navigation for dialogs 2024-07-10 22:32:17 +10:00
Filippos Karapetis 1ddfd01980 DGDS: Hook the jump to game menu button for Willy 2024-07-09 23:40:02 +03:00
Filippos Karapetis d45cfc24ad DGDS: Disable code for unused menus
The calibration menu is not applicable in ScummVM, and we use
the ScummVM dialogs for saving and loading
2024-07-09 23:17:14 +03:00
Filippos Karapetis eca3f1f6df DGDS: Implement option toggle buttons 2024-07-07 17:38:53 +03:00
Filippos Karapetis 5ce61cc982 DGDS: Hide the intro skip menu when jumping to the main game 2024-07-07 13:33:27 +03:00
Matthew Duggan eeecc8dc5b DGDS: Add various heart of china features
Most dialogs now render correctly and the game is partly playable.  Still a
bunch of work to do for inventory and menus to render correctly.

Added loading for TDS (talking head) data structures too, but they are not yet
used.
2024-07-07 16:15:30 +10:00
Filippos Karapetis 9e1fd0e70b DGDS: Hook up the jump to game button for HoC, in the intro skip menu 2024-07-07 05:30:55 +03:00
Filippos Karapetis 3e6f6b7fae DGDS: Rename game IDs to match the internal game names 2024-07-07 03:27:38 +03:00
Filippos Karapetis edcf052896 DGDS: More work on menus (intro and options) for HoC and Beamish 2024-07-06 21:59:53 +03:00
Matthew Duggan b2fa3fea3b DGDS: Update to GPL3 to match the rest of ScummVM 2024-07-02 09:59:59 +10:00
Matthew Duggan 7a77af7160 DGDS: Fix many small issues identified by Coverity 2024-07-01 19:32:57 +10:00
Matthew Duggan a80ea4c525 DGDS: Implement more required features for Willy Beamish
Added ttm 'gosub' instruction and scaled blit support.
2024-06-30 22:49:18 +03:00
Matthew Duggan ffef4790f4 DGDS: Fix font, music, and rendering slightly in SQ5 demo 2024-06-30 22:49:18 +03:00
Matthew Duggan caacea6904 DGDS: Change menus to open by ID instead of offset 2024-06-30 22:49:18 +03:00
Matthew Duggan f7baf88cf2 DGDS: Cleanups, remove excessive casts 2024-06-30 22:49:18 +03:00
Matthew Duggan 7d0631ee87 DGDS: Add slidget gadget support 2024-06-30 22:49:18 +03:00
Matthew Duggan c3b0b32df5 DGDS: Implement RST (reset state) loading 2024-06-30 22:49:18 +03:00
Matthew Duggan 11c3480ffe DGDS: Fix a few small game interaction bugs 2024-06-30 22:49:18 +03:00
Matthew Duggan 15f8a90b31 DGDS: Refactor to split into smaller files
Split TTM and ADS logic into their own files, and separate palette management
from image loading.

Also refactor scene types a bit to be more objecty.
2024-06-30 22:49:18 +03:00
Matthew Duggan 1cef88c99e DGDS: Hook up save/load menu items 2024-06-30 22:49:18 +03:00
Matthew Duggan ccdfdb683d DGDS: Implement opening menu from script 2024-06-30 22:49:18 +03:00
Matthew Duggan 48ce6e938b DGDS: Fix some drag-drop, dialog, and resource loading issues 2024-06-30 22:49:18 +03:00