aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/sprite.cpp
AgeCommit message (Collapse)Author
2009-09-29Rewrite from scratch drawReScaled() and cropping now works well.Robert Špalek
I left draw() as is for now, although it could also be similarly simplified. Also, one could easily completely get rid of columnIndices[], but I was too tired for the time being. svn-id: r44457
2009-09-27Improved the interface of Sprite and Animation concerning relative ↵Robert Špalek
coordinates and scaling. It is no longer needed to modify the underlying animations when drawing them on the screen or testing pixels in them. Read access is enough, because the displacement of the object is passed as a parameter. Added some more const's where they logically belong. svn-id: r44419
2009-09-25Added some more const's to the interface of Dragon HistoryRobert Špalek
svn-id: r44362
2009-09-25Created a macro for lround(), for non-C99 compilers, and used that in places ↵Filippos Karapetis
where lround() is used svn-id: r44337
2009-09-25Add const's to many interfaces of engines/draci/Robert Špalek
svn-id: r44331
2009-09-25Replaced the C99 lround() with floor(), to get draci to compile under ↵Filippos Karapetis
non-C99 compilers (e.g. VS) svn-id: r44328
2009-08-09Added Text::setFont().Denis Kasak
svn-id: r43159
2009-08-02Calculate the character length of Text objects (without the '|' separators) ↵Denis Kasak
when setting a new string. Implemented Text::getLength(). svn-id: r42990
2009-07-27* Added Sprite::getPixel() (takes into account whether a sprite is mirrored ↵Denis Kasak
or scaled) * Made the Text class internally store a Common::String instead of a byte * svn-id: r42835
2009-07-26* Removed friend declarations in Drawable for Sprite and Text, and made ↵Denis Kasak
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
2009-07-25Simplified rectangle height and width calculation in Sprite::drawScaled() ↵Denis Kasak
(use methods of Common::Rect instead of doing it manually). svn-id: r42779
2009-07-22Fixed scaled mirrored sprite drawing. This change enables the NoSense logo ↵Denis Kasak
animation to be played correctly. svn-id: r42649
2009-07-22* Moved scaling support from Animation to SpriteDenis Kasak
* 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
2009-07-20* Added scaling supportDenis Kasak
* 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
2009-07-12Moved the delay mechanism from Animation to Drawable since each frame in an ↵Denis Kasak
animation can have a different delay. svn-id: r42427
2009-07-07Added const keyword to "transparent" local variable in Sprite::draw() and ↵Denis Kasak
removed leading underscore. svn-id: r42227
2009-07-06Cache the transparent colour instead of calling a function for every pixel.Denis Kasak
svn-id: r42192
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-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-03Added Sprite::getRect() and Text::getRect().Denis Kasak
svn-id: r42074
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-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-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-01Added Text::setText() and Text::setColour() methods. Changed demo animation ↵Denis Kasak
to use them. svn-id: r41984
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-06-30Added the Drawable abstract base class and made Sprite inherit from it.Denis Kasak
svn-id: r41979
2009-06-25Added transformToRows() static method to Sprite. Modified Sprite ↵Denis Kasak
constructors to use it. svn-id: r41865
2009-06-22* Expanded docs for the Sprite classDenis Kasak
* Added Surface and Screen docs * Small documentation fixes svn-id: r41779
2009-06-19Added Sprite::draw() method for drawing sprites to a Surface.Denis Kasak
svn-id: r41654
2009-06-14Removed superfluous return from the Sprite constructor.Denis Kasak
svn-id: r41525
2009-06-14Whitespce fixesEugene Sandulenko
svn-id: r41514
2009-06-14Added a Sprite class for handling sprites in the Draci format transparently. ↵Denis Kasak
Modified the test animation to use it. svn-id: r41509