Commit Graph

76621 Commits

Author SHA1 Message Date
Paul Gilbert
dad8080370 AGS: Added Maniac Mansion Mania games 2021-05-27 19:08:09 -07:00
Filippos Karapetis
ec20a5fe34 SCI32: Unlock GK1 easter egg at the Voodoo Hounfour
This easter egg is present in script 805. In this easter egg, Gabriel
draws a doodle of Jane Jensen in the whiteboard, if the player uses the
operate action below the whiteboard's eraser. This easter egg looks for
a file named "buster" to be present, so that it is enabled. We always
report that this file exists, to unlock the easter egg.

Special thanks to sluicebox for his awesome work on discovering this
easter egg: https://www.benshoof.org/blog/gabriel-knight-1-easter-eggs
2021-05-27 22:30:41 +03:00
Paul Gilbert
d64596d1fc AGS: Added detection entries 2021-05-26 18:51:54 -07:00
alxpnv
c8fb754319 ASYLUM: fix screen not going completely black when counting in H&S game 2021-05-26 14:23:50 +03:00
Eugene Sandulenko
704afa6d95
WAGE: Add clarifying comment on border extraction 2021-05-26 12:04:05 +02:00
Eugene Sandulenko
bd8233c3a7
WAGE: Move border files to engine directory.
Since now they're built-in, there is no create_wage utility be ever needed
2021-05-26 12:01:40 +02:00
Eugene Sandulenko
51c83d4e50
WAGE: Build-in borders instead of relying on external files 2021-05-26 12:01:02 +02:00
Matthew Duggan
cbcebce55d ULTIMA8: Fix I_legalMoveToPoint to match original games
Inspecting the disassembly more closely and trying to fix the usecode for the
Crusader spider bombs (CRU_SPID::ordinal20), the parameter for this intrinsic
is not "force", but more like "move until blocked", and when it's false the
item should not move at all if there is a block.

The spider bomb usecode tries to move the bomb down every now and then to check
for a fall, but if it meant "force" then the bomb would go into the floor.  It
would also never explode because it was always forced into the new position and
never fails.

The return value is whether the move completed.
2021-05-26 12:27:44 +09:00
Matthew Duggan
a5d0a27286 ULTIMA8: Only find blockers for Crusader mover sweep 2021-05-26 12:27:44 +09:00
Matthew Duggan
587a2bfb05 ULTIMA8: Remove outdated comment 2021-05-26 12:27:44 +09:00
Paul Gilbert
0b9a3e2134 AGS: Detection entries 2021-05-25 19:06:05 -07:00
sluicebox
0715affdd6 SCI: Use for loop in gameHasFanMadePatch() 2021-05-25 10:31:59 -06:00
Paul Gilbert
2fec5e79e2 AGS: Added detection entries 2021-05-24 20:37:31 -07:00
Eugene Sandulenko
3f3a0a6886
DIRECTOR: Improved support for Mac sounds 2021-05-25 00:20:01 +02:00
ysj1173886760
e2f639111a DIRECTOR: change to a better solution when fixing the cursor 2021-05-24 22:54:24 +02:00
ysj1173886760
f5c4a1137f DIRECTOR: fix the cursor which was not blinking in warlock 2021-05-24 22:54:24 +02:00
ysj1173886760
7dfb002026 DIRECTOR: use tokenizer to replace the split 2021-05-24 22:52:01 +02:00
ysj1173886760
fdc5e88e30 DIRECTOR: modify the logic of lingo-builtin function NthFileName 2021-05-24 22:52:01 +02:00
sluicebox
ff15ffef37 SCI: Update SQ4 Text+Audio patch signature
Makes the signature more precise so that it's not accidentally applied
to the wrong place when a script already contains this patch.

Fixes incompatibility with NRS' SQ4 Update 1.3
2021-05-24 12:39:45 -06:00
Matthew Duggan
2f168d3581 ULTIMA8: Check for decoding errors in AVI stream
The movies at the end of No Remorse mission 3 have some decoding errors. Check
and handle it gracefully.
2021-05-24 22:09:43 +09:00
Matthew Duggan
72ed6c16d2 ULTIMA8: Add workaround for Crusader lockup 2021-05-24 22:09:43 +09:00
Matthew Duggan
210b4c9102 ULTIMA8: JANITORIAL: Whitespace 2021-05-24 22:09:43 +09:00
Matthew Duggan
7d4044cbc6 ULTIMA8: Mark emptystring as const 2021-05-24 22:09:43 +09:00
alxpnv
1746134db6 ASYLUM: prevent Armed Max from going to idle state 2021-05-24 15:58:18 +03:00
alxpnv
bdbb14823d ASYLUM: fix the scary music not playing in chapter 2 2021-05-24 15:58:17 +03:00
alxpnv
24aec76a30 ASYLUM: fix the GMM not showing up on the game menu screen 2021-05-24 15:58:17 +03:00
athrxx
cdfc7aba23 SCUMM: (FM-TOWNS) - cleanup 2021-05-24 13:53:42 +02:00
Paul Gilbert
3101522da1 AGS: Fixed John Sinclair detection entry 2021-05-23 19:57:25 -07:00
athrxx
cfa0654ce8 SCUMM: (FM-TOWNS) - fix for builds w/o USE_RGBCOLOR
These changes are currently pointless, since the affected function variants won't be called. The Japanese game versions for which they would be used are not supported in non-USE_RGBCOLOR builds. But the code should be correct nonetheless...
2021-05-24 04:13:23 +02:00
athrxx
78de93126f SCUMM: (FM-TOWNS) - optimize drawing code
("drawing" in this case means the data conversion and transfer from the gfx layers to the screen buffer)

From my measuring experiments in the MSVC debugger this speeds up the drawing 2 - 3 times. Not sure about release builds, whether these profit even more.
2021-05-24 03:34:49 +02:00
Scott Percival
f3b166befc DIRECTOR: Adjust lingoexec debugging levels
--debuglevel=2 will show the call stack after each function call
--debuglevel=3 will show the current instruction
--debuglevel=5 will show the stack after each instruction
--debuglevel=9 will show the variables after each instruction
2021-05-24 09:08:45 +08:00
Scott Percival
ee0b6affc3 DIRECTOR: Limit SoundCastMember looping flag to v4 and up 2021-05-24 09:08:45 +08:00
sluicebox
4e8db68d4a SCI: Remove asserting "new" allocation results 2021-05-23 16:55:35 -06:00
sluicebox
f7ba6bb448 SCI: Remove redundant assert 2021-05-23 16:52:43 -06:00
Paul Gilbert
81a598e009 AGS: Added detection entry 2021-05-23 14:21:28 -07:00
Eugene Sandulenko
53267cbad3
MOHAWK: Added detection for two Little Ark company games. Inspired by bug #12275 2021-05-23 21:19:24 +02:00
Eugene Sandulenko
b19f0173c9
DIRECTOR: Added detection for Macintosh II version of L-ZONE 2021-05-23 19:57:18 +02:00
sluicebox
a8dacadf40 SCI: Use initializer list for all SciEngine members
Cleans up inconsistencies and excludes more SCI32 members
from SCI16-only builds
2021-05-23 11:26:30 -06:00
Eugene Sandulenko
90a98160a9
SAGA: Disable dino and fta2 from the engine 2021-05-23 19:14:38 +02:00
Paul Gilbert
6d4205ab2b AGS: Remove duplicate detection entries 2021-05-23 08:10:03 -07:00
Eugene Sandulenko
5b30618ee0
SAGA: Disable dino and fta2 from the engine 2021-05-23 16:04:53 +02:00
Matthew Duggan
4500cc8451 ULTIMA8: Fix int16 casts in 32 bit usecode operands
These opcodes are all unused in Ultima8, so this bug probably only affects
Crusader games.
2021-05-23 16:23:17 +09:00
Matthew Duggan
c74ae95508 ULTIMA8: Avoid confman call on every animation 2021-05-23 16:23:17 +09:00
Matthew Duggan
b9ddaf64f2 ULTIMA8: Remove some dead code
Code that has been #if 0 for a long time, and some default setting for Crusader
which is not used.
2021-05-23 16:23:17 +09:00
sluicebox
9243be0b8d SCI32: Fix GK1 comic-book cartoon timing, animation 2021-05-22 18:47:17 -06:00
SupSuper
024eb036fe PRINCE: Copy audio streams 2021-05-22 23:50:42 +01:00
SupSuper
b263ca4cf3 MOHAWK: Copy audio streams (fix 12513) 2021-05-22 23:33:36 +01:00
SupSuper
286ebbdec7 TUCKER: Don't allocate audio files on the stack 2021-05-22 23:25:56 +01:00
athrxx
78ec256cca SCUMM: (FM-TOWNS) - fix bug no. 12560 ("[FM Towns] scrolling much too slow")
(partly revert fb8f1084)

There is no simple solution that would still  leave the "butter smooth" scrolling for faster platforms intact. I have measured times between several code points to find any bottlenecks. My finding is that even single script opcodes may well take over 200ms to execute. And exceeding a singe 60 Hz tick happens way more often (which makes the scrolling fall behind and have to catch up, thus becoming a bit sloppy). So, for the "butter smooth" scrolling I'll probably implement a timer for the screen updates (which will then really behave much more like the interrupt handler of the original). But that's for a separate commit. This one is mostly about the bug ticket..
2021-05-22 14:24:54 +02:00
Le Philousophe
f074eb1533 AGS: Fix format string warning
Make use of %s guarantees that error message won't get expanded one more
time
2021-05-22 13:48:53 +02:00