Commit Graph
137 Commits
Author SHA1 Message Date
Le Philousophe 8373886eb9 DRASCULA: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Le Philousophe b25335bd33 DRASCULA: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Filippos Karapetis 33cb29d558 DRASCULA: Document several updateVisible() calls 2017-11-19 20:50:12 +02:00
Filippos Karapetis 64b57afe2c Revert "DRASCULA: Revert range 4dbed774..1f1d8607"
This reverts commit bf69b25e33.

The original game had slight differences between the code for each
chapter. Part of these changes was to simplify the code and unify
some of these differences, particularly in the checks for clickable
areas, where the code is using Common::Rects with contains() now.

I have play tested the whole game with these changes, there are no
visible regressions, and the game is still completable. Thus, I'm
restoring the changes to the engine.
2017-11-15 01:49:50 +02:00
Willem Jan Palenstijn bf69b25e33 DRASCULA: Revert range 4dbed774..1f1d8607
This reverts
1f1d8607 DRASCULA: Merge the floor coordinates into _walkRect
1e1b6f7c DRASCULA: Rename gotoObject() to walkToPoint() and simplify it
2bf05c2a DRASCULA: Clean up room variables, and simplify some related checks

Reverting due to unanswered questions about why the changes in behaviour
in 2bf05c2a74 are correct.
2017-11-14 19:14:00 +01:00
Eugene Sandulenko 327dcf98ec DRASCULA: Make remaining static texts translatable
drascula.dat file version bumped
2017-11-14 04:07:11 +01:00
Filippos Karapetis 1e1b6f7ca4 DRASCULA: Rename gotoObject() to walkToPoint() and simplify it 2017-11-11 17:14:38 +02:00
Filippos Karapetis fd8a86038a DRASCULA: walkToObject is a boolean variable 2017-11-11 17:14:37 +02:00
Filippos Karapetis d81869af58 DRASCULA: Simplify the drawing code in BJ's room 2017-11-11 17:14:36 +02:00
Filippos Karapetis 1c2a9d2e12 DRASCULA: characterMoved and characterVisible are boolean variables 2017-11-11 17:14:36 +02:00
Thierry Crozat e5ef7a6398 DRASCULA: Fix bug when talking to drunkard in chapter 2
The bug made it possible to only talk once to the drunkard. Any
further attempt to talk to him did nothing. This led to a dead end
if we did not ask about Von Braun the first time around.

This was a bug in ScummVM. The original game did not have the bug.
2016-12-08 22:44:07 +00:00
Thierry Crozat abb33e5362 DRASCULA: Fix slight delay when interrupting intro animation
The delay occurred when trying to interrupt the animation while at
the start of the first scene with Igor. After the interruption (skipping
the intro, return to launcher or quitting ScummVM) it would continue
to play the animation for a bit longer than necessary.
2016-07-20 20:18:40 +01:00
Thierry Crozat eef8371432 DRASCULA: Swap extraSurface and tableSurface use in chapter 6 for Spanish version
This simplifies the code and bring it closer to the original source code.
This should help if we need to debug issues in the future.
2016-04-16 18:59:27 +01:00
Thierry Crozat 7a65c3c4b0 DRASCULA: Fix cursor visibility during animation at start of chapter 6
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).
2016-04-12 22:19:43 +01:00
Thierry Crozat e3cb949b95 DRASCULA: Fix wrong background for inventory in chapter 6
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.
2016-04-12 22:19:43 +01:00
Thierry Crozat 882299a1b4 DRASCULA: Fix typo in variable name 2016-04-11 09:13:05 +01:00
Thierry Crozat a97f9d0ec6 DRASCULA: Rename variable to clarify its meaning 2016-04-11 01:37:08 +01:00
Strangerke e3ed8d5ff3 DRASCULA: Reduce some variable scope in Animation 2014-06-16 07:19:45 +02:00
Johannes Schickel cf91cebb9d DRASCULA: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Eugene Sandulenko 9854911932 DRASCULA: Give hint about unused return value. CID 1003863 2013-10-17 13:47:16 +03:00
Filippos Karapetis d531484350 DRASCULA: Some renaming. Also, get rid of some extraneous globals
This removes the superfluous talkHeight, talkWidth and timeDiff
variables. It also changes _loadedDifferentChapter to be a boolean
2013-08-19 03:08:58 +03:00
Willem Jan Palenstijn 2d1fd3b554 ALL: Fix typo (existant->existent) 2013-02-23 22:07:32 +01:00
Filippos Karapetis 89bbc9c292 DRASCULA: Fix shadowing warnings (thanks LordHoto), and rename some variables 2013-01-06 21:54:40 +02:00
Filippos Karapetis 00c0986562 DRASCULA: More animation cleanup. Separate subfunction of animation_12_5() 2013-01-04 23:06:19 +02:00
Filippos Karapetis c1b0c80cce DRASCULA: Merge some animation functions and document all animations 2013-01-04 19:31:25 +02:00
Torbjörn Andersson 069f1079d8 DRASCULA: Respond quicker to aborting the von Braun song
This also fixes a palette glitch when trying to interrupt during
a fade. (The old image would flash before the room changed. It's
possible other such glitches still exist here, but if so they're
much less obvious than that one was.)
2013-01-04 14:21:34 +01:00
D G Turner 4a59c954fd DRASCULA: Replace usage of 'goto'. 2011-12-08 14:54:18 +00:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
David Turner 96174d6842 DRASCULA: Fixed Code to allow Quit/RTL Function and avoid Memory Leakage.
A memory leakage was traced down to a failure to call the engine destructor.
This was due to the engine directly calling OSystem quit() i.e. _system->quit(), rather than
just allowing engine::run() to return.
Have removed this code and implemented the changes required to allow graceful Quit/RTL to occur.

svn-id: r55583
2011-01-28 08:07:50 +00:00
Torbjörn Andersson b7911ef0f4 DRASCULA: Play the English "von Braun" track
The workaround is no longer needed since we provide the previously
missing track. It shouldn't break the game if you play from the CD
either, as the timing appears to be hardwired rather than keyed to
the music.

svn-id: r52866
2010-09-23 20:01:08 +00:00
Eugene Sandulenko 02a76b2e91 Drascula: add even more responsiveness
svn-id: r49718
2010-06-15 10:23:17 +00:00
Eugene Sandulenko ba25faaf42 Drascula: more responsiveness.
svn-id: r49717
2010-06-15 10:22:56 +00:00
Eugene Sandulenko a9b9da5d72 Drascula: Fix bug #2826610.
Bug #2826610: "DRASCULA: Graveyard GFX error". Actually it was fixed
by previous commit. Added more responsiveness for this animation.

svn-id: r49710
2010-06-15 10:20:44 +00:00
Eugene Sandulenko 6d4ad23b55 Drascula: Fix bug #2854303.
Bug #2854303: "DRASCULA: Glitch when using cross on vampire guard".
Apparently during refactoring of animation-related code duplication
the conversion was incorrect. Rewrote relevant function.

svn-id: r49704
2010-06-15 10:18:51 +00:00
Eugene Sandulenko b78663f6fb Drascula: Added animation-related debug output.
svn-id: r49701
2010-06-15 10:17:51 +00:00
Eugene Sandulenko afd909d69e Fix bug #2827172: DRASCULA: Cursor appears ontop of ending and credits
svn-id: r49194
2010-05-24 16:59:06 +00:00
Eugene Sandulenko 17a68490be Replace verb numbers with constants in selectVerb() call
svn-id: r40476
2009-05-12 10:02:18 +00:00
Filippos Karapetis ad3ee36805 Got rid of updateAnim2()
svn-id: r35747
2009-01-05 20:17:33 +00:00
Eugene Sandulenko 696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Filippos Karapetis 3bffca569f Fixed some glitches in the last part of Von Braun's story
svn-id: r34575
2008-09-16 10:53:57 +00:00
Filippos Karapetis d95e0059a2 Cleaned up and fixed the cutscene with Von Braun's story. Fixes bugs #2111804 - "DRASCULA: Cut scene bugs" and #2059648 - "DRASCULA: VonBraun's song"
svn-id: r34574
2008-09-16 10:44:07 +00:00
Filippos Karapetis 8a9dd3345e Fixed the phrase told by the protagonist when he talks to the blind man the second time
svn-id: r34559
2008-09-15 13:45:10 +00:00
Filippos Karapetis cbf561a0a0 - Moved more animation data inside drascula.dat
- Merged copyRect and copyRectClip
- Added enums for all the possible character directions and removed duplicate directions
- Extended the talk sequence commands a bit
- Removed unnecessary buffer faceBuffer and the unneeded casts between byte * and char * that were used

svn-id: r34503
2008-09-12 12:54:16 +00:00
Filippos Karapetis 6fd2cb99db Cleanup
svn-id: r34494
2008-09-11 15:35:56 +00:00
Filippos Karapetis a12e2b8037 - Merged openDoor() and closeDoor()
- Cleaned up updateDoor()
- Bugfixes to exitRoom() and gotoObject()
- Moved cursor-related functions to interface.cpp
- alapuertakeva -> roomExits

svn-id: r34493
2008-09-11 14:49:04 +00:00
Filippos Karapetis fa3d3e3643 - The game's cursor is now handled via ScummVM's cursor manager, instead of the game itself (this means that there might be regressions where the cursor is visible when it shouldn't be)
- Removed the textSurface pointer, which was used in the Spanish version. Non-Spanish versions of the game hold the font data in the tableSurface buffer (which contains picture 96). The font data for Spanish versions is in picture 974. Now both versions load their font data from the tableSurface buffer
- hay_que_load -> loadedDifferentChapter
- Merged withoutVerb() and selectVerb()
This is a big change, it might lead to regressions!

svn-id: r34488
2008-09-11 09:31:45 +00:00
Filippos Karapetis f5fecc864f Merged all the methods to assign and set default palettes
svn-id: r34479
2008-09-10 12:03:42 +00:00
Filippos Karapetis 3202ef4dd1 Reduced game memory usage by about 400KB by only loading the current language strings, not all strings
svn-id: r34472
2008-09-10 08:25:12 +00:00
Filippos Karapetis 932399481a - Cleanup and simplification
- Moved several simple animations out of animation.cpp
- Moved some animations with talk sequences inside drascula.dat
- A new version of drascula.dat is needed (will be uploaded shortly)

svn-id: r34464
2008-09-09 15:59:06 +00:00