Commit Graph

2780 Commits

Author SHA1 Message Date
Johannes Schickel
08738ac697 KYRA: Fix monster idle animation in EoB 1+2. (bug #6523)
The bug mentioned is called "EOB1: Monster idle animation broken".
2014-02-07 15:25:05 +01:00
Johannes Schickel
cfb0492cbb KYRA: Fix scrolling credits in HoF. 2014-02-05 15:07:40 +01:00
Johannes Schickel
fd312ddfe3 KYRA: Slight formatting fix. 2014-01-18 03:27:57 +01:00
Torbjörn Andersson
18ef3ed6b3 KYRA: Make pointers to VQAHeader const
This is just to enforce the idea that VQADecoder owns the VQAHeader
and that the audio/video tracks are only allowed to look at it, not
change it.
2014-01-18 03:18:40 +01:00
Torbjörn Andersson
16d36224e2 KYRA: Restructure the VQA decoder, as suggested by clone2727
Untangled the audio and video track from each other, and the parsing
of the stream from the decoding of its data. Also fixed a memory leak
as it turns out deleting a Surface doesn't free its data. You have to
call free() in it.

I have only checked the intro, not every cutscene, but that seems to
work fine at least.
2014-01-18 03:18:40 +01:00
Torbjörn Andersson
238aa2be2a KYRA: Let the VQA decoder draw directly to the backend
As an alternative to using the Screen class's functions, we can let
the VQA decoder draw directly to the backend. This won't work if the
game uses "hi-res mode", but I don't think that's ever the case for
Malcolm's Revenge. I believe the KyraEngine_MR::playVQA() function
ensures that the screen is properly updated after the movie has
finished.

This almost limits the VQA rewrite to vqa.cpp and vqa.h. Whether it's
better this way than changing the Screen functions to take a 'pitch'
parameter...? I don't know. But it's an alternative.
2014-01-18 03:18:40 +01:00
Torbjörn Andersson
19cb3499f5 KYRA: Rewrite the VQA decoder, using the VideoDecoder classes
There isn't really a lot of benefit to this, but I think it's nicer
if all our video decoders at least try to use the same infrastructure.
2014-01-18 03:18:40 +01:00
Johannes Schickel
67bf71f43a KYRA: Slight cleanup. 2014-01-16 22:56:52 +01:00
D G Turner
ef85456859 BUILD: Remove need for engine.mk in each engine directory.
Each engine now only has to provide a single configure.engine file
adding the engine into the configure script, which then produces the
required other files automatically.
2013-11-24 00:48:01 +00:00
D G Turner
1ac01d2333 BUILD: Remove need for engine-plugin.h in engines.
This is now generated automatically by the configure script from the
engine directory names.
2013-11-24 00:48:01 +00:00
D G Turner
00c27a28f9 BUILD: Split engines/plugins_table header down to a file per engine.
This is the third and final commit enabling fully pluggable engines.

Now providing an engine folder contains a configure.engine, engine.mk
and engine-plugin.h file, it will be picked up automatically by the
configure script.
2013-11-24 00:48:01 +00:00
D G Turner
d77cf95a18 BUILD: Split engines.mk down to a single file per engine.
This is the second part of allowing engines to be added dynamically.
Each folder in engines/ which must contain a file named "engine.mk"
containing the make definitions for that engine.
2013-11-24 00:48:01 +00:00
D G Turner
aa947c9474 BUILD: Split configure.engines down to a single file per engine.
This is the first part of allowing engines to be added dynamically.
They are placed into a folder in engines/ which must contain a file
named "configure.engine" to add the engine, which is pulled into the
top level configure script automatically.
2013-11-24 00:45:38 +00:00
Johannes Schickel
78401ad55a KYRA: Only pick up PAK and APK files in the game dir in Kyra1/EoB1.
This should fix annoying erroring out when invalid PAK or APK files are
in the CWD (like for example some Android package files).
2013-11-20 23:48:37 +01:00
Johannes Schickel
2d50ec1f34 KYRA: Plug memory leak in SoundTowns::playSoundEffect.
Discovered by CID #1003909.
2013-11-10 13:19:28 +01:00
Johannes Schickel
af3059c114 KYRA: Properly check parameters in CharacterGenerator::start.
Discoverd by CID #1003816.
2013-11-10 12:58:05 +01:00
Johannes Schickel
5b1557adbf KYRA: Properly check for empty rects in wsaFrameAnimationStep.
Discovered by covertiy (CID #1003839).
2013-11-10 12:49:58 +01:00
Willem Jan Palenstijn
ebc32defd5 KYRA: Fix wrong check order 2013-11-09 21:12:42 +01:00
Eugene Sandulenko
669cb76de4 KYRA: Fixed missing curly brackets. CID 1003639
Although I did not consult with disassembly, judging from the game
logic _unkEndSeqVar4 is used for switching certain Malcolm frames,
and it is apparent that this should happen only under condition,
not always.
2013-10-08 00:11:18 +03:00
Johannes Schickel
01dea8bd67 Merge pull request #378 from lordhoto/pluggable-engines-translations
RFC: Pluggable Engines: I18N: Move specification of engine specific files to enginedir/POTFILES
2013-09-12 15:38:13 -07:00
athrxx
023783907f LOL: fix bug #3614957 (LOL : Crash when subtitles displayed) 2013-09-02 19:59:59 +02:00
Johannes Schickel
378387c903 I18N: Move specification of engine specific files to enginedir/POTFILES.
This allows to keep the engines to specfiy the files for translation close to
the engine sources itself.

Thanks to criezy for his suggestion on this approach.
2013-08-12 17:54:31 +02:00
Johannes Schickel
160c5f4345 KYRA: Fix palette glitch when quitting while viewing the family album in Kyra3.
Thanks to eriktorbjorn for noticing.
2013-08-12 04:58:27 +02:00
Johannes Schickel
d05f90fa0f KYRA: Fix palette glitch in Kyra3 when loading from main menu.
Formerly, the main menu was shown with the palette of the first screen for
a short time. Thanks to eriktorbjorn for noticing this.
2013-08-12 04:52:30 +02:00
Torbjörn Andersson
6e5c308b91 KYRA: Fix Kyra3 family album animation glitch, CID 1004139
The first page wasn't animated, and it's likely that some of the
other right-page animations were slightly off as well.
2013-08-08 07:16:24 +02:00
Johannes Schickel
b1dcd252b3 KYRA: Fix (a few) font checks for systems with unsigend char.
Thanks to wjp for reporting those. This only affects games with SJIS font use.
2013-07-01 15:10:06 +02:00
Matthew Hoops
0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Torbjörn Andersson
95601de6d7 KYRA: Fix loading from the Kyrandia 2 title menu 2013-05-01 16:54:25 +02:00
Johannes Schickel
da9e27361a KYRA: Fix missing music in Kyra 1 DOS intro.
This is a regression from 93e69aa4da.
Thanks to eriktorbjorn to noticing that the music is missing.
2013-05-01 15:07:15 +02:00
athrxx
a148c78a46 KYRA: (EOB) - cleanup last commit 2013-04-27 21:48:33 +02:00
athrxx
87ef0819d3 KYRA: (EOB) - add debugger functions
(list_flags, set_flag, clear_flag)
2013-04-27 21:43:47 +02:00
athrxx
c3a7e01807 KYRA: (EOB) - fix original savefile import/export
(flag settings were not imported/exported in EOB 1 saves)
2013-04-27 21:28:28 +02:00
athrxx
be7486ffef KYRA: (EOB) - minor fix in NPC sequence code 2013-04-27 21:28:26 +02:00
athrxx
0223742a5a KYRA: (EOB) - fix original savefile import
(some monsters were not properly assigned to their spots)
2013-04-23 23:55:31 +02:00
athrxx
2e231150eb KYRA: (EOB) - minor changes to debugger
- display some more info in show_position
- remove unused variable
2013-04-23 22:26:23 +02:00
athrxx
581031a55d KYRA: (EOB) - fix bug #3596547
(EOB1: Door Buttons Don't Work)
2013-04-22 21:23:27 +02:00
athrxx
3e1ccff79d KYRA: (EOB) - minor fix to door opening/closing in EOB1 2013-04-22 21:23:25 +02:00
athrxx
cdff19324c KYRA: (EOB) - add debugger functions
(open_door, close_door)
2013-04-22 21:23:23 +02:00
athrxx
65caa0500f KYRA: (EOB) - add some debugger functions
(show_position, set_position)
2013-04-22 01:02:41 +02:00
Johannes Schickel
9ffec86b5d Merge pull request #324 from eriktorbjorn/kyra-midifade
KYRA: Fix MIDI fade-out behaviour
2013-04-21 05:23:50 -07:00
athrxx
71a1c0a27f KYRA: (EOB) - fix bug #3611077 2013-04-21 13:14:39 +02:00
athrxx
5d943f6f67 KYRA: (EOB) - minor cleanup 2013-04-21 13:14:37 +02:00
athrxx
e37a542cfe KYRA: (EOB) - add debugger function (list_monsters) 2013-04-21 13:14:35 +02:00
Torbjörn Andersson
8d25c55891 KYRA: Fix MIDI fade-out behaviour
There are two ways that the music volume may be set:

The setSourceVolume() specifies the current music volume, as
ScummVM sees it. This is stored in _sources[].volume.

The MIDI data itself can trigger volume events. These are handled
by send(), which stores the volume - usually (always?) 100 - in
_sources[_curSource].controllers[]. The volume is then adjusted
by _sources[].volume.

When music is faded out, setSourceVolume() is called repeatedly
with progressively smaller values for the volume. What it should
do, then, is to make sure that the volume is set to what was
previously set to in send(), adjusted to the fading volume.

At least, that's how I understand it.
2013-04-21 12:54:19 +02:00
athrxx
78ba3210a5 KYRA: (LOL) - fix bug in last commit for scene_lol.cpp 2013-04-18 22:15:25 +02:00
athrxx
2b8cb1c1f0 KYRA: (EOB) - silence warning about improper use of negative value in gui_eob.cpp 2013-04-18 16:10:55 +02:00
athrxx
2f6d47059b KYRA: (EOB) - fix possible null ptr dereference in gui_eob.cpp 2013-04-18 16:10:54 +02:00
athrxx
b04059cd23 KYRA: (LOL) - add comment in gui_lol.cpp 2013-04-18 16:10:52 +02:00
athrxx
3d91f3239e KYRA: (LOL) - add assert in items_lol.cpp (should silence warning about possible out of bounds access) 2013-04-18 16:10:51 +02:00
athrxx
3ac156422e KYRA: (LOL) - fix warning about possible out of bounds access in lol.cpp 2013-04-18 16:10:49 +02:00