Matthew Duggan
5607de83a0
DGDS: Fix implementation of a few HoC globals
...
Implement difficulty level and pal fade globals.
2025-03-15 17:45:17 +11:00
Matthew Duggan
957e4a0cd7
DGDS: Multiple mouse fixes to match original
...
This changes the mouse behavior to better match the original games.
* Left-click "use" should only happen on a short click (mouse button goes down
and up within a few frames) - longer clicks should always do "pick up"
operation.
* Right-click "look" should only happen on short clicks, longer right button
should start targetting mode
* Both-click should operate on all areas under the mouse, ignoring their
conditions
This fixes #15774 and #15782 , and also fixes eg Rise of the Dragon trying to
fire the gun in Blade's apartment.
2025-03-09 14:45:31 +11:00
Matthew Duggan
0005ca1a96
DGDS: Show Willy's dollars correctly in inventory
2025-01-04 12:30:15 +11:00
Matthew Duggan
a87b9e7080
DGDS: Implement Willy Beamish help menu
2024-12-31 15:46:46 +11:00
Matthew Duggan
9329538095
DGDS: Fix willy trouble gauge rendering
2024-12-31 11:15:43 +11:00
Matthew Duggan
29bc5487cd
DGDS: Implement willy trouble gauge
2024-12-30 20:47:58 +11:00
Matthew Duggan
e7a181c26a
DGDS: More Willy Beamish fixes
...
* Hook up ADS variable globals so correct scripts can run
* Hack "running" status of scripts so that delayed is not running
2024-12-27 07:32:24 +11:00
Matthew Duggan
74c8de7240
DGDS: Implement another Willy Beamish global
...
This controls visibility of some buttons in the inventory screen.
2024-11-19 21:01:41 +11:00
Matthew Duggan
582528e371
DGDS: Implement another Willy Beamish global
2024-11-19 21:01:41 +11:00
Matthew Duggan
e9fe7a468b
DGDS: Implement some more things for Willy Beamish
...
Can now give the hair to the school principal near the start.
2024-11-19 21:01:41 +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
54cafe5733
DGDS: Implement Willy Beamish type talking heads
...
There are a few differences in the way the talking heads work in Willy Beamish
vs HoC. This only implements the FDD version of Willy Beamish heads. The CD
version has different data to implement animated talking heads and voice
acting.
2024-11-16 21:20:35 +11:00
Matthew Duggan
0880fd91ca
DGDS: Drop non-existent global set to warning.
...
This happens when you right-click on the Fisto box in RotD.
This fixes #15454 .
2024-11-03 21:40:23 +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
b928f84e19
DGDS: Drop missing global back to warning
...
It happens in RoTD and also HoC, so this is a common enough error that we
have to just make it a warning for now.
2024-10-04 19:58:23 +10:00
Matthew Duggan
836010fa7e
DGDS: Clean up dragon arcade code slightly
2024-09-22 10:01:25 +03:00
Matthew Duggan
74ebf32934
DGDS: WIP Rise of the Dragon arcade support
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
5d17b28de7
DGDS: Add another exception for a global variable in HoC scene 21
2024-07-18 03:02:02 +03:00
Filippos Karapetis
4f4426a03b
DGDS: Rename HoC global 44 to sheckels (currency used in Istanbul)
2024-07-18 02:19:52 +03:00
Matthew Duggan
5050713fd9
DGDS: Add support for flood fill opcode
2024-07-17 21:37:24 +10:00
Matthew Duggan
fdfbdb8433
DGDS: Add more char swap features for HoC
2024-07-13 21:03:34 +10:00
Matthew Duggan
7c0b4971d3
DGDS: Willy Beamish loading improvements
...
* Add support for new type of op in Willy Beamish scene data
* Flesh out the game globals
2024-07-09 21:38:55 +10:00
Matthew Duggan
9b31f56be7
DGDS: Flesh out HoC game globals a bit more
2024-07-08 19:42:43 +10:00
Filippos Karapetis
2ad5cf099e
DGDS: Add more globals for HoC
2024-07-07 17:38:53 +03:00
Filippos Karapetis
5cb955e34e
DGDS: Add character-related globals for HoC
2024-07-07 13:33:27 +03:00
Matthew Duggan
76a2745922
DGDS: Small cleanups
2024-07-07 16:35:58 +10:00
Matthew Duggan
e3b13b3c62
DGDS: Remove unused variable
2024-07-07 16:35:05 +10:00
Filippos Karapetis
5da28d3549
DGDS: Add another global for HoC
2024-07-07 05:26:29 +03:00
Filippos Karapetis
d308c4cbae
DGDS: Split game-specific globals
2024-07-07 03:27:39 +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
a32db8c396
DGDS: Fix ordering of globals
2024-07-06 22:00:55 +03:00
Filippos Karapetis
998a1af483
DGDS: Add another global for HoC
2024-07-06 21:52:32 +03:00
Filippos Karapetis
d6bc7eb5cf
DGDS: Add new game globals for HoC and Beamish
2024-07-06 18:15:38 +03:00
Filippos Karapetis
3a0ecdb2f7
DGDS: Add safeguards against undefined behavior in scene globals
...
Guard against potential cases where a scene global isn't correctly
set, and we fall back to game globals. This essentially resulted in
undefined behavior, so now we properly try to handle such cases, or
error out to detect potential game-breaking bugs
2024-07-06 17:40:05 +03:00
Matthew Duggan
fec21fa8f3
DGDS: Small cleanups to run non-interactive demos
2024-06-30 22:49:18 +03:00
Matthew Duggan
30363ff492
DGDS: Skip arcade sequences automatically
2024-06-30 22:49:18 +03:00
Matthew Duggan
b1a67aa263
DGDS: Refactor globals as some are common between games
2024-06-30 22:49:18 +03:00
Matthew Duggan
fc14318df3
DGDS: Fix game events happening at wrong times
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
46b90500b5
DGDS: Add minutes on various events
2024-06-30 22:49:18 +03:00
Matthew Duggan
affe5bf0b8
DGDS: Add initial load/save code
2024-06-30 22:49:18 +03:00
Matthew Duggan
1030ef3224
DGDS: Implement more inventory stuff
2024-06-30 22:49:18 +03:00
Matthew Duggan
87fa1a8482
DGDS: Improve clock and scene condition evaluation
2024-06-30 22:49:18 +03:00
Matthew Duggan
2f44f3f1a2
DGDS: Start to implement Inventory screen
2024-06-30 22:49:18 +03:00
Matthew Duggan
01525c55b5
DGDS: Add code to draw game clock
...
Always on for now, but can be easily changed to turn on and off.
2024-06-30 22:49:18 +03:00
Matthew Duggan
7164439ff2
DGDS: Make globals signed ints
2024-06-30 22:49:18 +03:00
Matthew Duggan
6112d70c1b
DGDS: Add handling for game globals
2024-06-30 22:49:18 +03:00