4438 Commits

Author SHA1 Message Date
Eugene Sandulenko
7eb121f708
DIRECTOR: Made graphics test more robust 2022-11-03 20:37:02 +01:00
Eugene Sandulenko
caa681f179
DIRECTOR: Switch test dithering to common code 2022-11-03 20:37:02 +01:00
Fedor Antokhin
8fe6e28c72 DIRECTOR: Use common dithering implementation 2022-11-03 19:06:11 +01:00
Walter Agazzi
679c75e5b9 DIRECTOR: Add detection for Pyatachok games 2022-11-02 23:23:36 +01:00
Walter Agazzi
dd3f1911e7
DIRECTOR: Fix missing titles, remove duplicate 2022-11-01 23:46:31 +01:00
Walter Agazzi
2a30dd11cd DIRECTOR: Add detection for B/W version of Amanda Stories 2022-11-01 13:53:01 +01:00
Walter Agazzi
f2438746e3 DIRECTOR: Fix two missing titles in detection tables 2022-10-31 23:46:08 +01:00
Walter Agazzi
e423b6b712 DIRECTOR: Fix filesize for some D3 entries (initial A) 2022-10-31 15:23:12 +01:00
Walter Agazzi
35f1cecbe4 DIRECTOR: Fix filesize for two D2 entries 2022-10-28 13:44:16 +02:00
Walter Agazzi
f02edde793 DIRECTOR: Fix filesize for some D0 entries 2022-10-28 13:44:15 +02:00
Hubert Maier
1eef5da741
DIRECTOR: Correct spelling mistake
comming -> coming
2022-10-27 15:56:09 +02:00
Misty De Meo
b54daaf77f
DIRECTOR: add original Zero Zero release 2022-10-26 18:49:08 -07:00
Scott Percival
158954fbb4 DIRECTOR: LINGO: Fix xlib name resolution 2022-10-25 22:07:46 +02:00
Misty De Meo
028bc85dc4
DIRECTOR: copy sound streams in AudioFileDecoder
It's possible for audio playback to still be underway at the time the
AudioFileDecoder is destroyed. For Mac games, destroying the _macresman
will also destroy the stream, feeing the pointer while it may be read from
in another thread. Copying the audio instead of just fetching the stream
from the MacResMan ensures that new stream will outlive the MacResMan if
necessary.

Fixes https://bugs.scummvm.org/ticket/13881.
2022-10-23 21:09:30 -07:00
Misty De Meo
c1d3c9033d
DIRECTOR: add nemurenu Pippin 2022-10-23 17:37:42 -07:00
Misty De Meo
34b51c1b01
DIRECTOR: correct 4sight Mac filesize 2022-10-23 17:37:42 -07:00
Le Philousophe
29dea747a8 DIRECTOR: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Scott Percival
bd3b24d437 DIRECTOR: Add bpentity command to debugger 2022-10-22 19:53:22 +02:00
Scott Percival
9c3de4c269 DIRECTOR: Make "the pathName" return an absolute path
In Director, Lingo calls to fetch "the pathName" would provide an absolute
path, including the volume. getCurrentPath() originally provided a
relative path, which meant root level would return "". There is at least
one title that checks "the pathName" isn't blank as part of the content
detection routine. Given that from an internal perspective,
getCurrentPath() is always an absolute path from the game root, we can
add a fake drive letter for Windows at the front.

Fixes loading in DEVO Presents: Adventures of the Smart Patrol.
2022-10-22 19:53:22 +02:00
Scott Percival
4c306fbfd9 DIRECTOR: Fix Lingo REPL mode in debugger 2022-10-22 19:53:22 +02:00
Scott Percival
36e6246dde DIRECTOR: Add bpvar command to debugger 2022-10-22 19:53:22 +02:00
Scott Percival
f23675ab1d DIRECTOR: LINGO: Add more methods for SpaceMgr XObj 2022-10-22 19:53:22 +02:00
Scott Percival
75a0de4110 DIRECTOR: LINGO: Initial XObjs for AskUser and SpaceMgr 2022-10-22 19:53:22 +02:00
Scott Percival
2e339e3214 DIRECTOR: Include script cast member name in function list 2022-10-22 19:53:22 +02:00
Scott Percival
cadfa5dcc0 DIRECTOR: Hide noisy global definition warning 2022-10-22 19:53:22 +02:00
Scott Percival
6aa71f2f33 DIRECTOR: Show variable contents in debug output 2022-10-22 19:53:22 +02:00
Scott Percival
4ec70de496 DIRECTOR: Add 'console' debug flag 2022-10-22 19:53:22 +02:00
Misty De Meo
c6391c709e DIRECTOR: handle go with multiple int arguments
While `go` is intended to be called with either one int arugment or
one string and one int argument, Director accepts multiple int args.
In this case, it treats the first argument as an integer and silently
discards the rest. Before this branch, ScummVM would always treat two
arguments as being the movie + frame case and throw a typecheck error
for the first argument. This fixes it by checking the type of the first
arg and discarding the rest, matching Director's behaviour.

This was seen on the title screen of Wallobee Jack: The Thai Sun Adventure,
which calls it like so: `go (the frame) 0`
2022-10-22 09:14:34 -07:00
Roland van Laar
bb4bd0845b DIRECTOR: Follow documentation for DIB header
width, height pixelspermeter are signed according to the spec.
Use a warning with 'buildbot' to see which movies have a negative
height.

https://learn.microsoft.com/en-us/previous-versions//dd183376(v=vs.85)
2022-10-18 22:57:17 +02:00
Roland van Laar
2e39acf84c DIRECTOR: Improve RIFF loading
Two improvements for RIFF loading: size and alignment
A RIFF elements header: FourCC and size (4 bytes each) are not included
in the size. Offset + 12 then size - 4.

'DIB ' resources were found to always lead with two zero bytes.
Tested with: Fujitsu fmTOWNS SUPER TECHNOLOGY DEMO 1993.
Other resources such as 'SND ' do need alignment.
Tested with: SpaceWarlock Win. Intro movie lacked sound without
alignment. (WARNING: SNDDecoder: Bad format: 17408!)
2022-10-18 22:02:41 +02:00
Roland van Laar
144dfead98 JANITORIAL: DIRECTOR: remove superfluous ':' 2022-10-18 22:02:41 +02:00
Roland van Laar
1ec0dfb5e1 DIRECTOR: Fix segfault when loading broken pic
Handle loadStream returning false when the pic doesn't confirm.
In this case a 'DIB ' with a headersize not matching 40.

Observed happening in:
- Fujitsu fm TOWNS Super TECHNOLOGY DEMO
- KUZIRA.MMM from PINGU
2022-10-18 09:34:37 +02:00
Eugene Sandulenko
b989c49018
JANITORIAL: Indentation fixes 2022-10-17 16:08:58 +02:00
Roland van Laar
cf8f854960 DIRECTOR: LINGO: XOBJ: Scaffolding for Widget
Widget is an XObject used in Alice: An Interactive Museum.
The assumption is that getPro returns the drive letter as
the return value of getPro is assigned to a variable called drv.

Resolves the following errors from: https://bugs.scummvm.org/ticket/13204
- WARNING: BUILDBOT: Uncaught Lingo error: Call to undefined handler 'Widget'. Dropping 1 stack items!
- WARNING: varFetch: global variable drv not defined!
2022-10-17 12:49:46 +02:00
eientei
b96174c02e DIRECTOR: testExtensions: Try the non-converted filename as well
Required to get Wrath of the Gods to play, because due the existing code, when given `30AM1`, it was only checking `30AM1` and `AM1.MMM` but not `30AM1.MMM` (which is what the file is called)
2022-10-17 12:47:04 +02:00
eientei
b80fa3f122 DIRECTOR: Add support for multi-entry D3 EXEs
Tested on Wrath of the Gods demo, only contains movie file path
information
2022-10-17 12:29:16 +02:00
Roland van Laar
346d4b08c4 DIRECTOR: FONTS: Fix memory leak
Don't map the same fromFont twice.
CloneRanger mapped one fromFont twice, resulting in a memory leak on
descruction since the pointer to the first fontMap was lost.
2022-10-16 22:06:27 +02:00
Roland van Laar
662de4c696 DIRECTOR: LINGO: Add comment regarding b_duplicate
b_duplicate is stubbed again. Show in which commit it was.
2022-10-15 23:10:09 +02:00
Roland van Laar
76e56f5b1f DIRECTOR: Remove and document broken cast copies
Stubbed b_duplicate again.
    The implementation was broken, it copied the reference to the cast not the
    cast itself.
Adds warning to createOrReplaceCastMember.
    The function only handles replacing not creating.
2022-10-15 23:09:23 +02:00
Misty De Meo
54e30a77ef
DIRECTOR: add Trans'2 demo 2022-10-12 20:17:09 -07:00
Walter Agazzi
48ba7526e2 DIRECTOR: Fix Nile Passage to Egypt Mac detection filesize 2022-10-12 13:16:27 +02:00
Walter Agazzi
89d3fe7d33 DIRECTOR: Add detection for Klondike Gold 2022-10-12 13:16:27 +02:00
Walter Agazzi
1118a0d495 DIRECTOR: Add detection for Explore Space 2022-10-12 13:16:27 +02:00
Walter Agazzi
f0081da100 DIRECTOR: Add detection for Traitors Gate newer/DVD versions 2022-10-10 18:35:58 +02:00
Walter Agazzi
24b7675e3d DIRECTOR: Add detection for "Carmen Sandiego Math Detective" 2022-10-10 18:35:58 +02:00
Walter Agazzi
1f178105d0 DIRECTOR: Remove misdetected Maniac Sports entry 2022-10-10 18:35:58 +02:00
Walter Agazzi
174741c987 DIRECTOR: Fix checksum for Shade Viewer and add additional file
Fixes bug #13760 with Amiga games being detected as Shade Viewer
variant
2022-10-10 18:35:58 +02:00
Eugene Sandulenko
5b8b2bb25f
DIRECTOR: Fix incorrect bitwise operation. CID 1490801 2022-10-10 12:03:36 +02:00
Roland van Laar
92b746c59c DIRECTOR: LINGO: Fix derefence befe null check
If movie is there is a check earlier in the function.
Meaning, it's guarenteed to exist at this point.

Fixes COVERITY: 1498918
2022-10-08 10:37:24 +02:00
Roland van Laar
9e4e20962b DIRECTOR: LINGO: Fix memory leak
Memory leak happens when a cast is moved but without
specifying the place for it to move to.
Datum constructor gets the castMemberId by copy leaving the
resource to be dealt with by the original function.

- Includes lingo test.

Fixes COVERITY: 1498924
2022-10-08 10:28:03 +02:00