Age | Commit message (Collapse) | Author |
|
and uint16 -> uint)
* Added enum constant kNoEscRoom for rooms that have no escape room defined
* Fixed crash when ESC is pressed in rooms which have no escape room defined
* Renamed kNotFound (used as a return value for Game::getObjectWithAnimation) to kObjectNotFound for clarity.
svn-id: r43072
|
|
user switch to another location (or skip the intro) by pressing ESC (the escRoom for every location is stored in the data files).
* Reworked the left and right arrow key commands so they don't call changeRoom() themselves but instead schedule the room change via Game::setRoomNum(). In this way, changing rooms like that is still a hack but a bit more "natural", since the loop doesn't get skipped, the gate scripts get run, etc.
svn-id: r43065
|
|
* Added proper colouring of the title animation fonts
* Added Game::getEscRoom().
svn-id: r43063
|
|
* Handled title positioning
* Cleaned up the main loop a bit (comments, stylistic changes, shortened some lines, etc)
* Fixed setting the dragon's feet position (the x coordinate should be at the midpoint of the animation)
svn-id: r43059
|
|
svn-id: r43058
|
|
* Changed Font::getStringWidth() and Font::getStringHeight() to return uint instead of int.
* Made the Font::drawString() overload which accepts a Common::String the "default" one. The overload accepting a (byte *) now calls that one (it was the other way around before).
* Added proper line centering to the Font::drawString() routine.
svn-id: r43053
|
|
svn-id: r43052
|
|
svn-id: r43051
|
|
speaking characters; they are 0-based after all.
* Fixed font blitting algorithm to allow for both white fonts and transparency.
svn-id: r43044
|
|
indexes are indexed from 1 in the data files so we need to subtract 1.
* Turned on font transparency again.
svn-id: r43022
|
|
operands were being popped from the stack in the wrong order.
svn-id: r43019
|
|
bytes and font colour as int16; it should be the other way around.
* Handled the kStatusTalk loop substatus properly inside Game::loop().
* Made Game::walkHero() set the person coordinates for the dragon after it warps him to a new location
* Added Game::getPerson() method (used by Script::talk())
* Added Game::setSpeechTick() method (set by Script::talk() and used inside the loop to determine when to switch to new text).
svn-id: r42994
|
|
widths (a temporary variable used for storing the width of the current line was not being reset).
* Temporarily disabled font transparency because the dragon's text is rendered hollow (transparency inside glyph bodies).
svn-id: r42993
|
|
svn-id: r42992
|
|
engine).
svn-id: r42991
|
|
when setting a new string. Implemented Text::getLength().
svn-id: r42990
|
|
svn-id: r42989
|
|
svn-id: r42988
|
|
program or entering the main loop
* Removed hack which ran programs for all gates when the room was changed
svn-id: r42977
|
|
gate number. Also, if the new room is the map room, set the appropriate coordinates for the dragon in the persons array.
svn-id: r42972
|
|
* Set loop substatus to Ordinary when changing rooms
svn-id: r42971
|
|
svn-id: r42970
|
|
* Added a separate mechanism to Game to keep track both of the current room number and the next room/gate. Periodically, I check whether the new room differs from the old one and, if it does, I do the change. Doing it any other would is nearly impossible because of the way the original scripts were written.
* Added GPL command Script::newRoom(). Rooms can now be traversed by clicking on their exits. Also, the intro animation partly works. Some parts go by far too soon. I assume this is because the engine still lacks a dialogue GPL command.
* Fixed bug where the gates array of a room was not cleared between uses.
* Save old jump value when we enter Script::run() and restore it in the end (mimicking the original engine).
* Fixed small bug where the gate was supposed to be stored as the first in-game variable and not the room number.
svn-id: r42957
|
|
implementation.
* Set the first two game variables to the gate and room number in Game::init()
* Fixed compilation
svn-id: r42916
|
|
* Added getters and setters for current room and gate numbers
svn-id: r42915
|
|
svn-id: r42914
|
|
* Moved rewinding the animation to the beginning from Animation::nextFrame() to AnimationManager::stop() (fixes the owl animation)
svn-id: r42913
|
|
svn-id: r42909
|
|
AnimationManager::play())
* Fixed logic checking for object visibility in various GPL commands (I originally misinterpreted the original engine code).
svn-id: r42908
|
|
svn-id: r42906
|
|
* Changed Script::load() to use the new animation callbacks
svn-id: r42902
|
|
(doNothing, exitGameLoop, stopAnimation).
svn-id: r42901
|
|
Game::_shouldExitLoop variable is set.
* Added mechanisms for signalling whether the main game loop should exit or not (Game::setExitLoop() and Game::shouldExitLoop())
svn-id: r42899
|
|
don't end with '|' like they should.
svn-id: r42897
|
|
* Added Game::start() method which is called from DraciEngine::go()
* Made Game::loop() suitable for calling from other places (like GPL scripts) by handling events, redrawing the screen, etc from inside. This way it doesn't freeze the game if it doesn't return immediately.
* Added Game::shouldQuit() and Game::setQuit() which can be used to signal the engine to quit.
* Fixed race condition related to mouse buttons not getting released.
* Instead of deleting frames for the title animation and adding a new one, reset the text for its frame.
svn-id: r42875
|
|
* Trivial implementation of the Play GPL command
* Fixed Script::load() to load animation IDs to objects in increasing order (needed by funcActPhase())
svn-id: r42874
|
|
* Renamed Animation::getFramesNum() to Animation::getFrameCount() for clarity.
svn-id: r42873
|
|
testing (Warning: unstable in some places).
svn-id: r42841
|
|
svn-id: r42840
|
|
animation with a certain ID
* Made GameObjects track their titles as Strings rather than byte *
* Made the engine display the title of the object under the cursor (added a special animation ID for that, kTitleText)
svn-id: r42839
|
|
svn-id: r42838
|
|
destructor still needs to use the screen).
svn-id: r42837
|
|
* Added AnimationManager::getTopAnimationID(x, y) which returns the ID of the top layer animation located on a point
* Added Animation::getScale{X,Y}()
* Fixed a few bugs related to animations sometimes having no frames
svn-id: r42836
|
|
or scaled)
* Made the Text class internally store a Common::String instead of a byte *
svn-id: r42835
|
|
* Fixed unsigned to signed comparison warning
svn-id: r42834
|
|
* Made Font::getStringWidth() calculate the width of the string properly now that handling of multi-row strings is in
* Fixed bug which caused the last column of pixels in the last letter of a string to linger on the screen
svn-id: r42832
|
|
Drawable's private members protected so they can access them
* Added Text::drawScaled() and altered Text::getRect() so Text instances can be accessed through a Drawable pointer. Scaling text is planned for later because it's not essential.
svn-id: r42789
|
|
newline and end-of-string marker).
svn-id: r42788
|
|
(use methods of Common::Rect instead of doing it manually).
svn-id: r42779
|
|
svn-id: r42778
|