Age | Commit message (Collapse) | Author |
|
svn-id: r44422
|
|
svn-id: r44362
|
|
svn-id: r44331
|
|
getters/setters.
svn-id: r43492
|
|
previously called "icons" as in the original player. This commit also renamed every such instance to the proper "item".
svn-id: r43487
|
|
svn-id: r43424
|
|
svn-id: r43392
|
|
* Used a more natural condition (whether the scheduled room number is different from the current room number) instead of the _roomChange hack.
svn-id: r43391
|
|
two separate concepts
* Fixed slight glitch where object titles (which normally disappear when objects are used/looked at) reappeared for a moment after the script has finished
svn-id: r43305
|
|
svn-id: r43253
|
|
* 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
|
|
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
|
|
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
|
|
* Added proper colouring of the title animation fonts
* Added Game::getEscRoom().
svn-id: r43063
|
|
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
|
|
* Set loop substatus to Ordinary when changing rooms
svn-id: r42971
|
|
* 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: r42906
|
|
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
|
|
* 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
|
|
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
|
|
* Implemented WalkOn GPL command.
* Temporarily remaped StayOn and WalkOnPlay to WalkOn (for testing).
svn-id: r42735
|
|
svn-id: r42734
|
|
because Game uses pointers from the init archive which should outlive it (but didn't previously).
* Added support for setting loop status to Game.
* Made some GPL commands check whether we are in the correct loop status before executing.
svn-id: r42731
|
|
* Removed temporary hack I accidentally committed
svn-id: r42730
|
|
order in which they were loaded). This is needed by some GPL commands.
* Added Game::getNumObjects() which returns the number of objects in the game
* Fixed segfault (accessing a null Animation *)
* Added some docs to various things
svn-id: r42683
|
|
* Made the dragon scale when it is in different parts of the room
* Added getters for relative coordinates (Animation::getRelativeX() and Animation::getRelativeY())
* Commented Game::loop() and Sprite::draw*() methods in more detail
svn-id: r42627
|
|
* Moved static declaration of real_to_double() to game.cpp
svn-id: r42616
|
|
Game::loadRoom() read in pers0 and persStep correctly.
svn-id: r42612
|
|
(right arrow switches to the next room, left to the previous.
svn-id: r42577
|
|
* Modified the engine to leverage BArchive's memory management capabilities by using its pointers to data directly instead of copying
* Removed GameObject destructor (not needed because of the above change)
* Changed some more data members from uint16 to uint
svn-id: r42555
|
|
* Fixed unsigned to signed comparison.
svn-id: r42549
|
|
* Added WalkingMap::isWalkable()
* Renamed remaining _priority identifiers to _z which were left by mistake in the previous commit
svn-id: r42546
|
|
svn-id: r42542
|
|
* Added DraciEngine::walkingMapsArchive
* Made Game::loadRoom() read in the current walking map
svn-id: r42541
|
|
to int
* Modified Game::loadRoom to load gates and execute their scripts
* The first room loaded is now Game::_info._startRoom instead of 0
* Fixed reading of _pers0 and _persStep from the data files (they are 6 instead of 12 bytes)
* Added more debug info to Script and Game
svn-id: r42515
|
|
svn-id: r42465
|
|
svn-id: r42464
|
|
IsObjOff, IsObjAway
* Changed GameObject::_location to an int since we sometimes use location -1.
* Some more uint <-> int changes to prevent comparisons between signed and unsigned.
svn-id: r42452
|
|
number of icons is correct.
svn-id: r42449
|
|
distributor logo.
svn-id: r42426
|
|
Game::{get,set}Variable() methods.
* Removed obsolete comment about the cyclic field not being used in Game::loadAnimation()
svn-id: r42246
|
|
_seqTab (not used anymore), added Common::Array<int> _anims.
* Handled cylic animations properly
* Handled the Z coordinate properly
svn-id: r42244
|
|
it and made it int instead of uint16
* Implemented variable accessing by the math evaluator
* Fixed bug from previous commit (should have used && when checking for ending instructions, not ||)
svn-id: r42242
|
|
Script::start() a bit more readable.
svn-id: r42236
|
|
deleted before a new room is loaded) and set up a quick demonstration (left click advances to the next room, right click goes back).
svn-id: r42224
|
|
* Added Game::getRoomNum() which returns the current room number
* Made Game::loadRoom() execute the room's startup script, load the room's objects and run their init scripts as well
svn-id: r42194
|
|
(loading objects, changing rooms)
* Made Game::load*(), Game::getObject() and Game::changeRoom() methods public
* Stopped specifying Z coordinate when creating some Sprites (which I forgot in my previous commit)
svn-id: r42101
|