Matthew Duggan
a4b114a79b
DGDS: Improve debug message on invalid image frame
...
This may help with debugging #15859 .
2025-04-12 10:38:06 +10:00
Filippos Karapetis
169cdf4458
DGDS: Add missing default cases to switch statements
2025-03-10 18:53:22 +02:00
Filippos Karapetis
d8eb52a2cb
DGDS: Clean up includes
2025-03-10 18:53:20 +02:00
Matthew Duggan
e26387ce5f
DGDS: Improve Willy Beamish CD head animation
2025-03-02 08:02:31 +11:00
Matthew Duggan
4798df4598
DGDS: Small willy beamish sound fixes
2025-03-02 08:02:31 +11:00
Matthew Duggan
3d9ad76fd7
DGDS: Add starting point for loading Amiga images
...
Not working yet.
2025-03-02 08:02:31 +11:00
Filippos Karapetis
02011e8e0d
DGDS: Fix warnings
2025-03-01 22:12:34 +02:00
Matthew Duggan
e9f7727bda
DGDS: Avoid drawing scroll bmp out of bounds
...
Fixes small glitches in Willy Beamish intro
2025-01-05 14:50:46 +11:00
Matthew Duggan
1a374b66aa
DGDS: Start to implement Willy Beamish CD version heads
...
Still quite broken but making some progress.
2024-12-16 18:23:29 +11:00
Matthew Duggan
ef64a5c814
DGDS: Implement HoC train mini game
2024-12-14 12:05:30 +11:00
Matthew Duggan
5a532801df
DGDS: Ensure scroll image drawn correctly
...
For TTM op 0xA704, make sure we draw enough tiles and add assertions for array
access. This shouldn't change any actual usage of the op in games but adds
some checks to be sure.
2024-11-23 14:14:25 +11:00
Donovan Watteau
b16a773509
DGDS: Fix VQT image decoding on big-endian systems (Trac#15506)
...
GFX rendering issue on MorphOS reported by BeWorld2018, big-endian VQT
investigation of mine, and proper _doVqtDecode() fix from BLooperZ, thanks!
2024-11-19 09:43:27 +01: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
689adf855e
DGDS: Add some safeguards on reading compressed data
...
We assumed that SCR data was always the same size as the screen resolution.
Probably true, but corrupted or unexpected data could easily overrun the
buffer.
Also check the return value from decompression and print a warning if the read
size was not as expected.
2024-11-10 10:54:11 +11:00
Filippos Karapetis
6552ec1bfb
DGDS: Add support for Johnny Castaway's hires screen resolution
...
This does not affect existing lowres titles
2024-11-07 23:31:33 +02:00
Filippos Karapetis
65239032a5
DGDS: Replace numeric screen width/height values with defines
2024-11-07 22:13:52 +02:00
Matthew Duggan
6c85f2e091
DGDS: Check malloc return val. PVS-Studio V575
2024-10-29 17:51:58 +11:00
Matthew Duggan
53b24ac793
DGDS: Implement Willy Beamish scroll
...
Still not totally rendering correctly, but partly works (eg, scroll in
Principal's office at start of game)
2024-07-28 14:14:35 +10:00
Matthew Duggan
c3d4e88406
DGDS: Fix image parsing slightly
...
Fixes issues in images from Heart of China and Willy Beamish
2024-07-03 18:53:19 +10:00
Matthew Duggan
b2fa3fea3b
DGDS: Update to GPL3 to match the rest of ScummVM
2024-07-02 09:59:59 +10:00
Matthew Duggan
b486e15a61
DGDS: Support vertical flip properly on sprite draw
...
This fixes the Dynamix star in HoC and Beamish intros
2024-07-01 07:42:52 +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
bed15d2533
DGDS: Whitespace fixes
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
bbfd955b0e
DGDS: Fix dropping wire clips on electrical board
2024-06-30 22:49:18 +03:00
Matthew Duggan
9c06c52e4f
DGDS: Load/save background image name
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
Matthew Duggan
0516a3e3ac
DGDS: Mostly fix save/load of games
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
487586681f
DGDS: Fix compile with new palette
2024-06-30 22:49:18 +03:00
Matthew Duggan
272827e9d4
DGDS: support for multi-ads, inventory now sorta works
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
9b7f8d9bf3
DGDS: Fix scene rendering a bit
...
The front and back buffers should only be combined after all scripts have
executed.
2024-06-30 22:49:18 +03:00
Matthew Duggan
dc4b2bce3f
DGDS: Load all frames of an image at once
...
This allows us to be more accurate to the original and more efficient.
2024-06-30 22:49:18 +03:00
Matthew Duggan
24ff433799
DGDS: Small tweaks to drawing ops
2024-06-30 22:49:18 +03:00
Matthew Duggan
f0a45e2bd2
DGDS: Implement even more TT3 and ADS opcodes
2024-06-30 22:49:18 +03:00
Matthew Duggan
302331f071
DGDS: Implement some more ADS and TTM opcodes
2024-06-30 22:49:18 +03:00
Matthew Duggan
be29343c7c
DGDS: Add sfx as a separate thing from music
2024-06-30 22:49:18 +03:00
Matthew Duggan
bbe68b84d7
DGDS: Fix ADS and TTM interpreters even more
...
The first part of the intro now runs again! And now it's all running in the
way it's supposed to - script states are being controlled by scene ops as
designed, rather than just running through them in order.
2024-06-30 22:49:18 +03:00
Matthew Duggan
1c9ea68069
DGDS: More ADS fixes, now mostly working
...
ADS files now seem to basically execute correctly! Now to move on to fixing
TTMs - currently screen updates are broken.
2024-06-30 22:49:18 +03:00
Matthew Duggan
c72cca34e3
DGDS: ADS and TTM implementation
...
* Rename TTM objects to match original ideas of environment and sequence
* Implement more ADS stuff in line with original - states etc
* Implement sceneop 4 which changes ADS states
Currently this breaks everything (no scenes execute) but the implementation is
far closer to the original, so it's a necessary step to get to a correct
reimplementation.
2024-06-30 22:49:18 +03:00
Matthew Duggan
8ea13cb86c
DGDS: Fix fades a bit - still not quite right.
2024-06-30 22:49:18 +03:00
Matthew Duggan
b3e7422bc0
DGDS: Implement multi-palette management and fades
2024-06-30 22:49:18 +03:00
Matthew Duggan
8523a24e4b
DGDS: Add loading of game icons (mouse cursors etc)
2024-06-30 22:49:18 +03:00
Matthew Duggan
7576860102
DGDS: Add debug command to dump bitmap frames
2024-06-30 22:49:18 +03:00
Matthew Duggan
10debcef1e
DGDS: Implement most of menu drawing
2024-06-30 22:49:18 +03:00
Matthew Duggan
bf9f08824a
DGDS: Add SCN format image parsing
2024-06-30 22:49:18 +03:00
Matthew Duggan
af8e6da0b2
DGDS: Add detection for beamish FDD data
...
This comes inside the GOG CD edition but should work on its own as the CD seems
to be this plus extra voice data.
Also:
* Add a better error message when it inevitably crashes
* spaces->tabs in detection table
2024-06-30 22:49:18 +03:00
Matthew Duggan
6f1df860d9
DGDS: Fix decompressor usage
2024-06-30 22:49:18 +03:00