Age | Commit message (Collapse) | Author |
|
archive because every item has a highlighted and a non-highlighted version.
svn-id: r43185
|
|
svn-id: r43176
|
|
to Game::start() (just after running the gate program). This fixes a black cursor bug when the game starts (the cursor should not be even displayed then).
svn-id: r43162
|
|
* Implemented GPL commands Script::loadMap() and Script::roomMap().
* Added temporary HACK to change some speech texts to use the small font because some strings overflow the screen (as stored in the data files).
svn-id: r43161
|
|
* Extracted title updating from the main loop to a new method, Game::updateTitle().
* Added Game::updateCursor().
* Restructured the main loop to fix many subtle bugs and enable some new functionality concerning object scripts (like support for room-global use scripts).
* Added support for tracking currently selected icons (items, probably should be renamed).
* Changed walkDir, lookDir and useDir members of GameObject to int and adjusted them for zero-based indexing.
* Added Game::getCurrentIcon().
* Return from WalkingMap::findNearestWalkable immediately if the starting point is walkable.
svn-id: r43160
|
|
svn-id: r43159
|
|
use the same hotspot (the center of the sprite).
svn-id: r43158
|
|
(warning: this will break many things currently working until I implement IsIcoAct in my next few commits).
* Removed old HACK note because look / use scripts are now more properly implemented.
svn-id: r43130
|
|
svn-id: r43129
|
|
obsolete documentation.
svn-id: r43128
|
|
from the original game that attempts to find walkable spots near the given point
* Implemented moving to the right place when looking / using objects.
svn-id: r43125
|
|
svn-id: r43109
|
|
svn-id: r43087
|
|
via Script::endCurrentProgram().
svn-id: r43086
|
|
svn-id: r43085
|
|
anticipation of a smart finding a walkable point) and disabled walking during script execution / inventory.
svn-id: r43084
|
|
svn-id: r43083
|
|
svn-id: r43082
|
|
times during talking or executing look/use scripts. Previously, the loop could be called nested arbitrarily many times.
svn-id: r43081
|
|
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
|