aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-07-05* API change for Animation and AnimObj; AnimObj is now a proper class and ↵Denis Kasak
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
2009-07-04Rewrote Sprite::draw() to draw overflowing sprites correctly. Stopped ↵Denis Kasak
playing animations as soon as they're loaded from Game::loadAnimation(). svn-id: r42111
2009-07-04Implemented handler for the Load instruction. Removed Script::dummy().Denis Kasak
svn-id: r42102
2009-07-04* Added Game::init() and moved some functionality from Game::Game to it ↵Denis Kasak
(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
2009-07-04* Removed tracking of Z coordinates in Drawable since it's not usedDenis Kasak
* Made columnwise parameter mandatory * Made Sprite coordinates signed (the engine sometimes uses negative coordinates) * Prevented overflow when drawing sprites in some cases svn-id: r42100
2009-07-04* Split code from Game::changeRoom() into Game::loadRoom() and ↵Denis Kasak
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
2009-07-04Added _animationsArchive member to DraciEngine.Denis Kasak
svn-id: r42091
2009-07-04Restructured Script so I can start adding callbacks to GPL commands (added ↵Denis Kasak
DraciEngine * member to Script, added Script::setupCommandList() which initialises the command list array, added Script::dummy() callback for the Load command for testing). svn-id: r42090
2009-07-03Added support for playing and stopping animations.Denis Kasak
svn-id: r42075
2009-07-03Added Sprite::getRect() and Text::getRect().Denis Kasak
svn-id: r42074
2009-07-03Added deconstructor for Animation. Made Animation objects delete their ↵Denis Kasak
frames when deleteAll() or deleteAnimation() are called. svn-id: r42073
2009-07-03Made Game::changeRoom() clear the overlaysArchive cache when it's done ↵Denis Kasak
loading overlays. svn-id: r42072
2009-07-03Enabled loading room number 1 as a test.Denis Kasak
svn-id: r42071
2009-07-03Added support for loading room overlays to Game::changeRoom().Denis Kasak
svn-id: r42070
2009-07-03Made the animation engine compile.Denis Kasak
svn-id: r42069
2009-07-03Implemented beginning of the animation engine.Denis Kasak
svn-id: r42068
2009-07-03Added support for mirrored sprites.Denis Kasak
svn-id: r42067
2009-07-03Added bool parameter markDirty to Sprite::draw() and Text::draw() to specify ↵Denis Kasak
whether to mark a dirty rect for a particular draw (also added such support to the Font class since it's needed by Text). Made spacing parameters for Text instances mandatory. svn-id: r42066
2009-07-03Added two more debug levels (logic and animation).Denis Kasak
svn-id: r42065
2009-07-03Removed demo code so I can start working on the real intro.Denis Kasak
svn-id: r42063
2009-07-02Added Game::changeRoom() method and Game::_currentRoom.Denis Kasak
svn-id: r42036
2009-07-02Added rooms and overlays archives.Denis Kasak
svn-id: r42035
2009-07-02Fixed typo.Denis Kasak
svn-id: r42034
2009-07-02Added struct Room.Denis Kasak
svn-id: r42033
2009-07-02DraciEngine now opens and stores pointers to essential archives. Changed ↵Denis Kasak
code that used those archives to use that instead of opening them manually. Replaced BArchive::operator[] functionality with BArchive::getFile() to prevent ugliness when accessing archives via pointers. svn-id: r42031
2009-07-02Merged the info available from _objectStatus with the GameObject struct. ↵Denis Kasak
Made Game keep a list of all the game's objects. Added Game::getObject() method for fetching a pointer to a particular object. Changed Game::loadObject() to not accept a pointer to a GameObject struct anymore. svn-id: r42026
2009-07-02Added BArchive::clearCache() method for clearing the data cache of opened files.Denis Kasak
svn-id: r42019
2009-07-02Make the meta engine pass the pointer to the detected version and not the ↵Denis Kasak
whole ADGameDescription table. svn-id: r42018
2009-07-01Added empty animation.cpp and animation.h files.Denis Kasak
svn-id: r42000
2009-07-01Added Text::setSpacing() method.Denis Kasak
svn-id: r41999
2009-07-01Made Text objects calculate their widths and heights properly.Denis Kasak
svn-id: r41998
2009-07-01Removed declaration of Screen::drawSprite() which is now obsolete.Denis Kasak
svn-id: r41997
2009-07-01Made coordinate specification mandatory when constructing objects of type ↵Denis Kasak
Sprite and Class. Made transforming from columnwise a default (since it was done most of the time anyway). Changed coordinates to use uint instead of uint16. svn-id: r41996
2009-07-01Modified Sprite, Text and Drawable to handle data hiding properly since ↵Denis Kasak
they're no longer just C-like struct containers. Implemented getters/setters accordingly and changed existing code that used those classes. svn-id: r41995
2009-07-01Added Text::setText() and Text::setColour() methods. Changed demo animation ↵Denis Kasak
to use them. svn-id: r41984
2009-07-01Changed intro animation to render text via the new Text class.Denis Kasak
svn-id: r41983
2009-07-01Added text position specification to Text constructor.Denis Kasak
svn-id: r41982
2009-07-01Added Text as a subclass of Drawable. Fixed syntax error in font.cppDenis Kasak
svn-id: r41981
2009-07-01Added Font::drawString overload that takes in a pointer to a byte buffer and ↵Denis Kasak
a length instead of a Common::String. Changed the former drawString to be a wrapper for the new one. svn-id: r41980
2009-06-30Added the Drawable abstract base class and made Sprite inherit from it.Denis Kasak
svn-id: r41979
2009-06-29Changed some data members in Draci::GameInfo from uint32 to uint16 ↵Denis Kasak
(previously I thought that the 'word' type in the original engine was 32 bits). Removed a FIXME concerning struct size mismatch (matches when the previous sentence is taken into account). GameInfo::_numDialogBlocks is now calculated, not read in (it wasn't stored in the data files at all). svn-id: r41966
2009-06-29Account for endianess properly when reading in game variables.Denis Kasak
svn-id: r41965
2009-06-28Added an offset parameter to Script::run() so we can specify where to start ↵Denis Kasak
the GPL program execution. Also, the init script for the dragon object is now run inside Game::Game(). svn-id: r41928
2009-06-28Changed Script::run() to accept a GPL2Program struct instead of a byte ↵Denis Kasak
pointer and a length. Also, Script::run() now executes the GPL program until a gplend instruction rather than to the end of the whole program. Modified GameObject according to the new changes. svn-id: r41927
2009-06-28Removed disassembling of the GPL script for the first game location from ↵Denis Kasak
Draci::init(). svn-id: r41926
2009-06-28Added struct GameObject (such structs are stored in OBJEKTY.DFW and used for ↵Denis Kasak
in-game objects' info). Added Game::loadObject() for loading such objects into memory. Made Game's constructor load the object for the main hero. svn-id: r41925
2009-06-27Added Script instance to DraciEngine. Restored disassembling of a demo ↵Denis Kasak
script on engine startup (previously via gpldisasm(), now via _script->run()). svn-id: r41921
2009-06-27Renamed Script::gpldisasm() to Script::run().Denis Kasak
svn-id: r41920
2009-06-27Put all GPL interpreter related routines inside a Script class.Denis Kasak
svn-id: r41919
2009-06-27Renamed gpldisasm.* to script.* in anticipation of using it as a script ↵Denis Kasak
intepreter. svn-id: r41918