Age | Commit message (Collapse) | Author |
|
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
|
|
gates' scripts (for added effects and testing).
svn-id: r42684
|
|
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
|
|
decided to go for a mixed approach (where Animation has a global scaling factor for the whole animation which is separate from Drawable's scaled width and height) so the animation can be scaled more naturally when the scale often changes (like with perspective when the dragon is walking). Previously, one had to alter the sizes of each frame of the dragon's animation whenever the dragon moved which was unclean.
svn-id: r42680
|
|
* Fixed bug in Animation::nextFrame() which caused non-looping animations to linger on forever
* Stopped setting looping to false explicitly in AnimationManager::addAnimation() since the Animation constructor already does that
svn-id: r42657
|
|
svn-id: r42653
|
|
* Instead, Animation::nextFrame() marks both the old and the new frame dirty. This makes it possible to only update the real screen when the animation changes and results in a pretty big speedup.
* Added utility method Animation::markDirtyRect() which takes a (Surface *) and marks a dirty rect on it for the current frame.
* Fixed artifacts when moving the dragon.
svn-id: r42652
|
|
instead of scaling it to nothing. Fixes the disappearing chair bug.
svn-id: r42650
|
|
* Now each Sprite (and hence frame in an animation) can have a separate zoom (which is needed for some animations in the game)
* Scale factors are not stored any more; instead, we only store scaled dimensions (since these are stored in the data files) and calculate the factors from those.
svn-id: r42647
|
|
svn-id: r42628
|
|
* 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
|
|
svn-id: r42584
|
|
svn-id: r42583
|
|
has mouse enabled.
svn-id: r42582
|
|
locations allowed by the walking map)
* Enabled drawing the walking map with the 'w' hotkey for testing
svn-id: r42581
|
|
* 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
|
|
svn-id: r42534
|
|
Added a HACK note for running the gates' scripts.
svn-id: r42532
|
|
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: r42489
|
|
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
|
|
animation can have a different delay.
svn-id: r42427
|
|
draw anything on some parts of the screen.
svn-id: r42425
|
|
and palette caches). Made the DraciEngine destructor delete the rooms, overlays and animations archives.
svn-id: r42250
|
|
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
|
|
upper left corner. Replaced some more instances of magic numbers with kDragonObject. Made Game::init() a bit more readable.
svn-id: r42237
|
|
Script::start() a bit more readable.
svn-id: r42236
|
|
svn-id: r42225
|
|
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
|
|
the new API change.
svn-id: r42133
|
|
each instance handles its own animation. Animation handles adding, fetching and deleting of AnimObjs (probably needs a namechange).
* Implemented actual animation (previously only the first frame was display)
* Implemented animation starting, stoping, looping
* Loaded looping dragon animation as a test
svn-id: r42114
|
|
playing animations as soon as they're loaded from Game::loadAnimation().
svn-id: r42111
|
|
(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
|
|
game::loadOverlays(). Game::changeRoom() now calls them instead.
* Added Game::loadAnimation()
* The engine now stores "real" indexes (zero-based) instead of Pascal's because the previous approach was messy.
svn-id: r42092
|
|
loading overlays.
svn-id: r42072
|
|
svn-id: r42071
|
|
svn-id: r42070
|
|
svn-id: r42036
|