aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/drascula.cpp
AgeCommit message (Collapse)Author
2016-04-17DRASCULA: Remove delays when showing and hiding the inventoryThierry Crozat
I don't see any purpose to this delays and they were not present in the original engine. It works fine without those and the interface seems more responsive. This fixes bug #7121 DRASCULA: Delay and freeze when pressing right mouse click on game Also move a delay when left clicking to after performing the action. With the delay between the left click and the action, the mouse position could have moved when performing the action, resulting in the wrong action being performed (e.g. activating the wrong verb or picking the wrong object in the inventory). But removing the delay altogether causes flickering when picking objects from the inventory.
2016-04-17DRASCULA: Remove delay for select verbThierry Crozat
The delay, since it updates the mouse position, resulted in a different verb being selected than the one we clicked on when moving the mouse quickly after the clic. This was quite confusing and frustrating. I can't see any reason for this delay and it seems to work well without it. The initial commit adding it indicates this was "for better mouse response", but it added a lot of other delays at the same time, and removing this one doesn't see to impact the mouse response (on the contrary, we get the new cursor quicker).
2016-04-16DRASCULA: Fix animations speedThierry Crozat
To time animations the original engine uses interrupt to get the Real Time Clock and divides the number of clock ticks by 0.182. Since there is approximately 18.2 ticks per second, this means it uses values in 1/100th of a second. In ScummVM we were using getMillis() / 20, so the animations was two times slower than in the original. This might fix bug #7115 Drascula: FPS are incorrect or some frames are dropped. Note that for the walk animation we are still not exactly using the timing of the original. The original engines keeps each walk frames for 5.7 times 1/100th of a second (i.e. 17.54 FPS). In ScummVM getTime returns an integer value and as a result each walk frame is now kept for 6 times 1/100th of a second (i.e. 16.67 FPS, which i better than the 8.33 FPS we were getting before this commit). as our getTime returns integer values and thus we use frames for 6 of 1/100th of a second while the original is slightly faster as it kept frames for 5.7 times 1/100th of a second.
2016-04-16DRASCULA: Swap extraSurface and tableSurface use in chapter 6 for Spanish ↵Thierry Crozat
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-14JANITORIAL: Reduce audio header dependenciesOri Avtalion
2016-04-12DRASCULA: Fix wrong background for inventory in chapter 6Thierry Crozat
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-11DRASCULA: Fix regression in subtitle display in Spanish versionThierry Crozat
This code was committed by mistake in the previous commit.
2016-04-11DRASCULA: Fix typo in variable nameThierry Crozat
2016-04-11DRASCULA: Rename variable to clarify its meaningThierry Crozat
2016-04-11DRASCULA: Improve loading savegames in Pendulum sceneThierry Crozat
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.
2016-04-10DRASCULA: Fix loading games in room 102 when still chainedThierry Crozat
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
2016-03-13BACKENDS: Only expose one set of functions for AudioCDManagerMatthew Hoops
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.
2016-03-13BACKENDS: Move to an openCD() without parameters as the public APIMatthew Hoops
2014-10-11DRASCULA: Remove unused static variableThierry Crozat
This code was used until commit aaf8b58 that reworked the detection to support French and German versions.
2014-06-15DRASCULA: Handle audio files in the "audio" folder (bug #6631)Filippos Karapetis
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
2014-02-18DRASCULA: Make GPL headers consistent in themselves.Johannes Schickel
2013-12-06DRASCULA: Hookup up debug console correctly.D G Turner
This now opens correctly on CTRL-d keystroke.
2013-11-09DRASCULA: More variables initialized. CID 1003403Eugene Sandulenko
2013-10-29DRASCULA: More uninit variables. CID 1003403Eugene Sandulenko
2013-10-18DRASCULA: Initialize class variables. CID 1003403Eugene Sandulenko
2013-10-17DRASCULA: Fix buildWillem Jan Palenstijn
2013-10-17DRASCULA: Fix uninitalized class variables. CID 1003403Eugene Sandulenko
2013-10-17DRASCULA: Fix potential buffer overrun. CID 1003309Eugene Sandulenko
2013-08-19DRASCULA: Some renaming. Also, get rid of some extraneous globalsFilippos Karapetis
This removes the superfluous talkHeight, talkWidth and timeDiff variables. It also changes _loadedDifferentChapter to be a boolean
2013-01-06DRASCULA: Fix shadowing warnings (thanks LordHoto), and rename some variablesFilippos Karapetis
2013-01-04DRASCULA: Merge some animation functions and document all animationsFilippos Karapetis
2013-01-04DRASCULA: Add advanced savegame functionalityFilippos Karapetis
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).
2011-11-13DRASCULA: Allow faster quit when in the mid of a conversation.Johannes Schickel
This allows quitting ScummVM in only a minimal time when a converstion is running instead of waiting for it to finish. It is still not instant but much better.
2011-11-02DRASCULA: Fix warningsEugene Sandulenko
2011-06-02DRASCULA: Replace snprintf() usage with Common::String::format()D G Turner
Safer and less portability issues.
2011-05-17COMMON: Registers RandomSources in constructor with the event recorderMax Horn
This also removes the dependency of engines on the event recorder header and API, and will make it easier to RandomSources that are not properly registered.
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-03-19DRASACULA: Init volume levels on startupdhewg
2011-03-08DRASCULA: Fix a style related warning for WinCE specific code.Johannes Schickel
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2011-01-28DRASCULA: Fixed Code to allow Quit/RTL Function and avoid Memory Leakage.David Turner
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-28DRASCULA: Fix uninitialized reads of mouse position variables.David Turner
svn-id: r55578
2011-01-27DRASCULA: Fix Memory Leak in drascula.dat Loading.David Turner
svn-id: r55566
2011-01-27DRASCULA: Fix Memory Leaks in Rooms Table.David Turner
Minor whitespace fixes as well. svn-id: r55560
2010-11-08COMMON: Push #include audiocd.h in system.h out to .cpp filesMax Horn
svn-id: r54148
2010-07-13Merged from trunk, from Rev 49499 to HEADAlejandro Marzini
svn-id: r50840
2010-06-15Drascula: improve responsivity during pauses and palette updates.Eugene Sandulenko
svn-id: r49722
2010-06-15Drascula: Fix bug #2011470.Eugene Sandulenko
Bug #2011470: "DRASCULA: slowdown when you hold mouse buttons" fixed by changing right mouse semantic. Now the items menu showed on button up instead mouse down like earlier. svn-id: r49721
2010-06-15Drascula: Move more cursor-related blits to cursorSurface.Eugene Sandulenko
svn-id: r49715
2010-06-15Drascula: Plug memory leakEugene Sandulenko
svn-id: r49714
2010-06-15Drascula: Fixed bug #2826608.Eugene Sandulenko
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-15Drascula: Added debug console. Implemented a (buggy) room comand.Eugene Sandulenko
svn-id: r49703
2010-06-15Renamed getAudioCD to getAudioCDManager.Alejandro Marzini
svn-id: r49678
2010-06-09- Revised abstract AudioCDManager.Alejandro Marzini
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem. - Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL. svn-id: r49548