Commit Graph
74 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
Orgad Shaneh 8672b6281c DRASCULA: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
D G Turner 75fdc35af4 DRASCULA: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-18 15:46:02 +01:00
Eugene Sandulenko 34d19ff424 DRASCULA: Fix ego manipulation for translated versions 2017-11-18 22:42:06 +01:00
Willem Jan Palenstijn 2af9ab6f61 DRASCULA: Add bound check asserts to copyRect
Bug #7110 showed a crash here. Even though that was likely a compiler
error, these extra checks shouldn't hurt.
2017-02-11 16:50:28 +01:00
Thierry Crozat b0588526e8 DRASCULA: Increase debug level for copyBackground
This function is called a lot, and having a debug level of 1 made it very
difficult to find any other debug prints.
2016-12-08 22:44:07 +00:00
Eugene Sandulenko dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +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 323549316d DRASCULA: Improve text centering
When splitting strings into several lines to fit on the screen the
original engine could result in lines with one character beyond
the right edge of the screen, which in practice would be drawn
on the next line on its own, aligned to the left (and not centered).
This commits adds a check to avoid this situation. So although
it now behaves slightly differently than the original engine this
is for the better.
2016-04-13 21:08:31 +01:00
Thierry Crozat cb4c6e547d DRASCULA: Fix regression in subtitle display in Spanish version
This code was committed by mistake in the previous commit.
2016-04-11 19:58:29 +01:00
Thierry Crozat 882299a1b4 DRASCULA: Fix typo in variable name 2016-04-11 09:13:05 +01:00
Thierry Crozat d256f18952 DRASCULA: Fix text alignment to be faithful to the original
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).
2016-04-08 02:04:28 +01:00
Thierry Crozat a7bafd1c5d DRASCULA: Improve text centering and spacing between lines
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.
2016-04-07 01:36:23 +01:00
Johannes Schickel cf91cebb9d DRASCULA: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Willem Jan Palenstijn ee9e6b94ae DRASCULA: Fix build 2013-10-17 13:40:26 +02:00
Eugene Sandulenko bc08216659 DRASCULA: Fix potential buffer overrun. CID 1003310 2013-10-17 13:43:21 +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
Johannes Schickel acfdfd46d1 DRASCULA: Take advantage of Surface::getPixels. 2013-08-03 04:02:50 +02:00
Johannes Schickel 2131d2d2f5 DRASCULA: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:32 +02:00
Filippos Karapetis 00c0986562 DRASCULA: More animation cleanup. Separate subfunction of animation_12_5() 2013-01-04 23:06:19 +02:00
D G Turner a0dbe45a45 DRASCULA: Add fix for crash/OOB memory accesses in bug #3440895
This bug is "DRASCULA-IT: Crash/graphic glitch at castle towers".
The crash was due to width and height values being passed to
copyBackground() being invalid due to out of bounds read from
the factor_red array. This adds debugging statements and fixes
the crash by clipping accesses to the maximum index of factor_red.

This doesn't however fix the observed GFX glitch, but stops it being
a segfault.
2011-11-25 06:30:10 +00:00
Eugene Sandulenko 6d4189e2ed DRASCULA: Fix warnings 2011-11-02 23:18:10 +00:00
Max Horn 88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Marcus Comstedt 379b3104a4 DRASCULA: Handle pitch in code using lockScreen()
The surface returned by OSystem::lockScreen() can have a pitch which
differs from w * bytesPerPixel, so modify the code to take this into
account.  Fixes FMV problems on Dreamcast.
2011-05-05 00:04:10 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03: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
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 e8b72467e1 Drascula: ease load on backend.
svn-id: r49709
2010-06-15 10:20:26 +00:00
Eugene Sandulenko 27c27c82b1 Drascula: add more pic-related debug output.
svn-id: r49708
2010-06-15 10:20:10 +00:00
Eugene Sandulenko c933bec975 Drascula: Optimized blitting code.
svn-id: r49700
2010-06-15 10:17:34 +00:00
Torbjörn Andersson 763b1c7cb0 Fixed a glitch when a one-word text (e.g. "TOTENKOPF" in the first room, when
playing the German translation) doesn't fit on the screen at the desired
position.

svn-id: r48850
2010-04-29 03:54:20 +00:00
Max Horn fc50408ce3 DRASCULA: Simplify playFLI and its subroutines
svn-id: r48217
2010-03-09 23:36:18 +00:00
Nicola Mettifogo 56bf7a20d3 Renamed ArjFile to ArchiveMan, and _arj to _archives.
svn-id: r48000
2010-02-08 18:17:32 +00:00
Nicola Mettifogo b658c61155 Let ArjFile return a SeekableReadStream instead of implementing
the same interface itself. The caller is now responsible for
deleting the returned streams.

svn-id: r47994
2010-02-08 16:14:04 +00:00
Nicola Mettifogo a9a0fdc694 Reduced references to _arj to the minimum. It is passed as a
SeekableReadStream everywhere.

svn-id: r47993
2010-02-08 16:13:31 +00:00
Nicola Mettifogo c453f214e6 Close the FLI file only from the routine that opened it.
svn-id: r47990
2010-02-08 16:12:22 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Filippos Karapetis 4af0cfbdbd Cleanup
svn-id: r43056
2009-08-04 21:56:59 +00:00
Filippos Karapetis d14f0ccfb5 Removed the superfluous VGA buffer, replacing it with direct writes to the video buffer
svn-id: r43048
2009-08-04 17:22:18 +00:00
Torbjörn Andersson 2e13d89233 Added word-wrapping to Drascula's conversation options. Fixes bug #2826607.
svn-id: r42755
2009-07-25 13:07:50 +00:00
Eugene Sandulenko d116a94e2b Normalized types for several variables. Formatting
svn-id: r40521
2009-05-13 11:59:49 +00:00
Eugene Sandulenko 696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Filippos Karapetis c655d72f5a - Fixed centerText() to print text at the correct height
- Removed some duplicate code

svn-id: r34569
2008-09-16 07:16:26 +00:00
Max Horn 880bc085b1 Fixed compiler warnings
svn-id: r34567
2008-09-15 22:37:45 +00:00
Filippos Karapetis 7cac97629a Remove a workaround in textFitsCentered(). The blind man's dialog is a bit better placed now
svn-id: r34560
2008-09-15 14:17:51 +00:00
Filippos Karapetis 7cf7f4bbf6 Rewrote the very confusing centerText() function into something that makes more sense, and matches the way that the original printed text on screen (in most cases)
Fixes bugs #2102657 - "DRASCULA: Crash when talking to the piano player" and #2111820 - "DRASCULA: Dialog texts too long"

svn-id: r34558
2008-09-15 13:37:28 +00:00
Filippos Karapetis 371af75374 Slight cleanup of centerText()
svn-id: r34531
2008-09-14 18:30:08 +00:00