aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/sprite.cpp
AgeCommit message (Collapse)Author
2010-11-19COMMON: Split common/stream.h into several headersMax Horn
svn-id: r54385
2009-12-09DRACI: Reduce header interdependencies; some cleanupMax Horn
svn-id: r46320
2009-11-30Removed <cmath> includes since a) not a part of Symbian OS b) Compiles fine ↵Lars Persson
without it (at least with Symbian OS GCCE 3.4.3 and CW 2) svn-id: r46213
2009-11-28Fixed bug with exhausting sound handlesRobert Špalek
It was caused by forever re-starting the same sample when the animation was stopped and the same frame got displayed over and over, each time triggering playing the same sample. svn-id: r46168
2009-11-23Fixed breaking long lines instead of using smaller font (which is sometimes ↵Robert Špalek
not enough) svn-id: r46101
2009-11-11Refactored draw() according to drawReScaled()Robert Špalek
svn-id: r45826
2009-11-08Updated the list of TODOsRobert Špalek
svn-id: r45768
2009-11-08Debugged smooth walking except for 1 bug.Robert Špalek
Adjusting to the edge is done such that it respects slight sideways movements of the dragon. Fixed rounding issues in the whole game. Improved debug messages. Made sure that the dragon does not turn like crazy around when clicking on the same pixel: the final point is always the clicked one although the middle points made by shifted to make the animations smooth, and preserve the dragons direction if he has not walked. There is a bug with running turning animations as they seem to disappear for 1 frame and have incorrect Z coordinate. Will investigate it next. svn-id: r45742
2009-11-01Get rid of doubling memory allocation and a lot of copying.Robert Špalek
The Sprite class points to the original buffer (which is cached in the memory thanks to BArchive machinery) instead of allocating its own buffer and copying the source there. svn-id: r45594
2009-10-30Moved all one-line getters/setters to the header filesRobert Špalek
svn-id: r45524
2009-10-30Remove most of default parameter values.Robert Špalek
Also, add comments to the last commit. svn-id: r45511
2009-10-30Move WalkingMap into new module.Robert Špalek
Also, fix a bug when loading the default walking map (wasn't implemented) and setting font size. The reason I move this code into a new module is because I will augment it with other walking-related algorithms soon. svn-id: r45510
2009-09-30Remove trailing whitespacesMax Horn
svn-id: r44493
2009-09-30- Adapt parts of the Draci code to match our code formatting guidelinesJohannes Schickel
- Remove use of tabs for formatting, now in nearly all cases tabs are only used for indentation - Use "uint" instead of "unsigned int" in the whole engine for consistency's sake - Strip some trailing tabs and leading whitespaces svn-id: r44478
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