Age | Commit message (Collapse) | Author |
|
Here we transition from an animation at end of chapter 5 to another
animation at start of chapter 6. Usually the cursor is hidden when
performing the action that triggers the animation. But here there is
no action to trigger it and the cursor is made visible when starting
a new chapter or entering a room (so between the two animations).
So explicitly hide it at the start of this specific animation (and it gets
shown again when we enter room 102 at the end of the animation).
|
|
This was a regression from commit fa3d3e3 and this fixes part of
bug #7113 DRASCULA: Serious sprite glitches.
The original uses extraSurface to draw text in draw_abc() in the
Spanish version while other languages use tableSurface. But in
ScummVM this was changed to use tableSurface for all languages.
However this caused an issue in chapter 6 when displaying the
inventory has it is also using tableSurface, as it was for all languages
in the original. While using the same surface works for other
languages, in the Spanish version we get the wrong background in
the inventory.
Rather than revert to using extraSurface for drawing text which is
a big change and impact all the chapters, I have opted to simply
swap the usage of the tableSurface and extraSurface in chapter 6
for the Spanish version compared to the original engine. The
changes therefore only impact chapter 6 and only the Spanish
version. I played the chapter in full to check that it indeed works
without causing adverse effects.
|
|
This code was committed by mistake in the previous commit.
|
|
|
|
When saving from the pendulum scene the curX and curY values are
negative while the curWidth and curHeight values are unset. This
causes random crashes as we may do an array out of bound access
when enterRoom() is called at the end of the load.
|
|
|
|
I checked the original and the code in ScummVM and there is no
call to talk_solo in chapter 4, while we indeed need to use the red
color for all calls to talk_solo in chapter 5.
|
|
The previous fix only fixed the incomplete state when loading from
the launcher. Now this is fixed when loading from the game as well.
It also fixes loading a savegame from the first stage of the pendulum
scene (when the protagonist is not visible) to any other scene in
chapter 6. The protagonist was not made visible again when loading
the savegame.
|
|
Room 102 has two states. The first one has an animation of a
pendulum while the protagonist is chained to a table beneath it.
The second state is after the protagonist free himself. In the second
state the pendulum has stopped. When saving in the first state,
loading the save game did not properly setup the pendulum
animation causing graphic glitches.
This fixes bug #7113 DRASCULA: Serious sprite glitches
|
|
There was an unhandled case in chapter 2 when the character is at
the exact Y location and close to the X location to where we asked
him to walk. The code started the walk but without properly setting
the curDirection and trackProtagonist variables. This resulted in the
walk never stopping.
I checked what the original source code is doing for this case and
implemented it in the same way: the character does not start walking.
This fixes bug #7112: DRASCULA: protagonist walking off the screen
|
|
The changes in this commit should provide an identical text
placement to the original. In addition to using the original source
code as reference I have checked that is the case by comparing
with DosBox for the intro of the Spanish and English versions as
well as for parts of the game with the English version. I added
comments for the obscure parts (such as the original adding a
space at the end of the last line of text when splitting a string
into several lines, thus impacting how that last line is aligned).
|
|
This in particular fixes bug #7111: Incorrect position in texts, not as the
original. However this codes centers the text better than what we see in
DosBox, so the result is not identical.
This change is based on the code before the commit 7cf7f4b
"Rewrote the very confusing centerText() function into something that
makes more sense". The changes in that commit do not all make
sense to me so I reverted the line spacing (to add back 2 pixels between
text lines) and part of the logic to center text. The result looks a lot
closer to the original engine in DosBox, but not identical.
|
|
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
|
|
|
|
_singleid -> _singleId
_gameids -> _gameIds
_guioptions -> _guiOptions
|
|
|
|
|
|
Explain #5903 DRASCULA-IT bug fix
|
|
Explain #5903 DRASCULA-IT bug fix
|
|
Explain #5903 DRASCULA-IT bug fix
|
|
Fix bug #5903 DRASCULA-IT: Crash/graphic glitch at castle towers
|
|
Use Common::String::format instead of a MAXPATHLEN-sized char[] buffer.
|
|
This code was used until commit aaf8b58 that reworked the detection
to support French and German versions.
|
|
|
|
The music add-on packs we provide have the audio files in an "audio"
folder, but without clear indication that its contents should be
copied inside the game data folder. Since this can lead to confusion
from users, we just add support for this case
|
|
|
|
|
|
|
|
This now opens correctly on CTRL-d keystroke.
|
|
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.
|
|
This is now generated automatically by the configure script from the
engine directory names.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RFC: Pluggable Engines: I18N: Move specification of engine specific files to enginedir/POTFILES
|
|
This removes the superfluous talkHeight, talkWidth and timeDiff
variables. It also changes _loadedDifferentChapter to be a boolean
|
|
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.
|
|
|
|
|
|
|