Commit graph

39 commits

Author SHA1 Message Date
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
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
Filippos Karapetis
2bf05c2a74 DRASCULA: Clean up room variables, and simplify some related checks 2017-11-11 17:14:38 +02: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
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
Johannes Schickel
cf91cebb9d DRASCULA: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01: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
Filippos Karapetis
b59ac9ea3a DRASCULA: Remove superfluous strcpy() 2013-05-14 11:55:56 +03:00
Filippos Karapetis
89bbc9c292 DRASCULA: Fix shadowing warnings (thanks LordHoto), and rename some variables 2013-01-06 21:54:40 +02:00
Filippos Karapetis
4adfdb17e3 DRASCULA: Add advanced savegame functionality
This cleans up the save/load code and resolves multiple issues with the
original save/load screen.
Save game timestamps and thumbnails are now implemented, together with
the ability to load a game from the launcher.
F7 is now mapped to the ScummVM load dialog, and F10 to the save dialog
(if the user has selected to use the ScummVM save screen).
2013-01-04 13:12:52 +02:00
Johannes Schickel
0268f21980 DRASCULA: Get rid of casts on CursorManager::replaceCursor calls. 2012-06-16 03:28:42 +02:00
Max Horn
658080deed ALL: Avoid using is* macros from ctype.h
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
2012-02-15 16:51:37 +01:00
Johannes Schickel
9a71985171 DRASCULA: Improve confirm quit screen.
Now the confirm quit screen still updates the room and allows mouse movement.
For me that removes the feeling that ScummVM locked up when I pressed escape.
2011-11-13 21:05:01 +01:00
Littleboy
b694a78f62 ANALYSIS: Add static casts to is* functions
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-23 08:52:52 -04:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Filippos Karapetis
fc02bd3722 DRASCULA: Fixed a warning
svn-id: r55685
2011-01-31 15:05:45 +00: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
88e25e6f25 DRASCULA: Fix invalid memory access on inventory screen
When clicking outside of all inventory objects, the whichObject()
function would return 43, which is an invalid inventoryObjects[]
index. I think that's what caused it to crash for me. There are a
few other inventoryObjects[]-related changes as well.

svn-id: r52843
2010-09-21 17:18:32 +00:00
Eugene Sandulenko
f53211fbad Drascula: Move more cursor-related blits to cursorSurface.
svn-id: r49715
2010-06-15 10:22:19 +00:00
Eugene Sandulenko
671ed4873f Drascula: Fixed bug #2826608.
Bug #2826608: "DRASCULA: Cursor GFX error" fixed by introducing
separate buffer for cursors. This also fixes the root cause of
the problem.

svn-id: r49713
2010-06-15 10:21:42 +00:00
Eugene Sandulenko
eac1fdc7ca Drascula: added more debug output
svn-id: r49706
2010-06-15 10:19:25 +00:00
Marcus Comstedt
40f9506163 The default keycolor for mouse pointers used to be 255.
This makes sense as a default for CLUT8 modes, but not really
for anything else.  As part of the gsoc2009-16bit merge, the
default was changed to "all ones", with extra code in the SDL
backend to truncate this to the depth of the mode.  However,
"all ones" (white) still isn't a very useful default for RGB modes.
So rather than jumping through hoops to provide a bad default,
it's better to remove the default altogether.  Engines which relied
on the old default of 255 have been updated to specify it explicitly.

svn-id: r47118
2010-01-07 15:07:36 +00:00
Eugene Sandulenko
d116a94e2b Normalized types for several variables. Formatting
svn-id: r40521
2009-05-13 11:59:49 +00:00
Eugene Sandulenko
17a68490be Replace verb numbers with constants in selectVerb() call
svn-id: r40476
2009-05-12 10:02:18 +00:00
Torbjörn Andersson
87db0af8a0 Removed unused variable.
svn-id: r35223
2008-12-03 19:20:59 +00:00
Filippos Karapetis
157e051280 Applied wjpalenstijn's patch to fix bug #2111826 - "DRASCULA: Inserting save game names lags"
svn-id: r35221
2008-12-03 17:35:37 +00:00
Filippos Karapetis
6a4d96649e - Moved some includes away from drascula.h
- Moved grr() to talk.cpp
- Removed the unnecessary parameter length from isTalkFinished()

svn-id: r34577
2008-09-16 11:49:40 +00:00
Torbjörn Andersson
b86a047164 Indentation.
svn-id: r34513
2008-09-13 15:23:23 +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
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
Eugene Sandulenko
c88c69f357 Fix bug #2017432: "DRASCULA: Typing is slow when you save a game"
svn-id: r33574
2008-08-03 11:42:05 +00:00
Eugene Sandulenko
7e808d7714 Fix bug #2007170: "DRASCULA: No Spaces in SaveGames Names"
svn-id: r33541
2008-08-02 21:22:05 +00:00
Filippos Karapetis
c51b11e862 verbo -> verb
svn-id: r32645
2008-06-10 18:56:59 +00:00
Filippos Karapetis
930ba6d02d drawSurface1 -> bgSurface
svn-id: r32644
2008-06-10 18:54:32 +00:00
Filippos Karapetis
a353776f2f - drascula.dat is now read completely
- Removed the rest of the game static data (staticdata.h)
- Some naming convention fixes (added underscore to some shared variables)
- Renamed objeto -> object

svn-id: r32628
2008-06-09 10:11:42 +00:00
Eugene Sandulenko
e14f81391c Shuffled around more code. Now the files look more manageable.
svn-id: r32599
2008-06-07 19:40:43 +00:00