Commit Graph

33 Commits

Author SHA1 Message Date
Robert Špalek
f91c89560f Get rid of doubling memory allocation and a lot of copying.
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-11-01 10:03:37 +00:00
Robert Špalek
6411125f39 Moved all one-line getters/setters to the header files
svn-id: r45524
2009-10-30 06:11:04 +00:00
Robert Špalek
c778efaca5 Remove most of default parameter values.
Also, add comments to the last commit.

svn-id: r45511
2009-10-30 01:41:57 +00:00
Max Horn
3399c3aeb6 Change doxygen inline comments from "//!" to "///" as proposed on -devel
svn-id: r44802
2009-10-08 21:28:57 +00:00
Max Horn
cc54ad650d Remove trailing whitespaces
svn-id: r44493
2009-09-30 16:04:21 +00:00
Johannes Schickel
c9ca057ae2 - Adapt parts of the Draci code to match our code formatting guidelines
- 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-30 10:45:14 +00:00
Robert Špalek
caa3b6707e Improved the interface of Sprite and Animation concerning relative 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-27 20:49:59 +00:00
Robert Špalek
431780297e Added some more const's to the interface of Dragon History
svn-id: r44362
2009-09-25 17:33:00 +00:00
Robert Špalek
f51c81f344 Add const's to many interfaces of engines/draci/
svn-id: r44331
2009-09-25 08:13:39 +00:00
Denis Kasak
e46abf1643 Added Text::setFont().
svn-id: r43159
2009-08-09 03:59:39 +00:00
Denis Kasak
854c27ffac Calculate the character length of Text objects (without the '|' separators) when setting a new string. Implemented Text::getLength().
svn-id: r42990
2009-08-02 05:09:55 +00:00
Denis Kasak
fa59e4b16b * Added Sprite::getPixel() (takes into account whether a sprite is mirrored or scaled)
* Made the Text class internally store a Common::String instead of a byte *

svn-id: r42835
2009-07-27 04:14:59 +00:00
Denis Kasak
2525ec46de * Removed friend declarations in Drawable for Sprite and Text, and made 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-26 00:04:12 +00:00
Denis Kasak
348cbc2b19 * Removed some unnecessary virtual qualifiers from methods in Drawable, Sprite and Text.
* Changed some Drawable members from uint16 to uint.
* Added some const qualifiers to methods of Drawable.

svn-id: r42648
2009-07-22 04:47:01 +00:00
Denis Kasak
b3a2d186bb * Moved scaling support from Animation to Sprite
* 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-22 04:42:33 +00:00
Denis Kasak
a2a71cb8fb * Added scaling support
* 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-20 17:25:57 +00:00
Denis Kasak
77a810c0c9 Moved the delay mechanism from Animation to Drawable since each frame in an animation can have a different delay.
svn-id: r42427
2009-07-12 19:32:01 +00:00
Denis Kasak
a06509f3c2 * Removed tracking of Z coordinates in Drawable since it's not used
* 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 18:29:01 +00:00
Denis Kasak
63d0fdea68 Added Sprite::getRect() and Text::getRect().
svn-id: r42074
2009-07-03 19:02:08 +00:00
Denis Kasak
90e6ff9d8a Added support for mirrored sprites.
svn-id: r42067
2009-07-03 17:39:13 +00:00
Denis Kasak
8e9771d15c Added bool parameter markDirty to Sprite::draw() and Text::draw() to specify 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-03 16:41:11 +00:00
Denis Kasak
58c1591ae0 Added Text::setSpacing() method.
svn-id: r41999
2009-07-01 16:15:06 +00:00
Denis Kasak
cfadb6cc3d Made coordinate specification mandatory when constructing objects of type 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-01 16:00:27 +00:00
Denis Kasak
f0fcd7fd8e Modified Sprite, Text and Drawable to handle data hiding properly since 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-01 15:22:36 +00:00
Denis Kasak
4895993588 Added Text::setText() and Text::setColour() methods. Changed demo animation to use them.
svn-id: r41984
2009-07-01 01:43:20 +00:00
Denis Kasak
d7f8cbf170 Added text position specification to Text constructor.
svn-id: r41982
2009-07-01 01:18:22 +00:00
Denis Kasak
78d5b96f51 Added Text as a subclass of Drawable. Fixed syntax error in font.cpp
svn-id: r41981
2009-07-01 01:11:48 +00:00
Denis Kasak
85a5871873 Added the Drawable abstract base class and made Sprite inherit from it.
svn-id: r41979
2009-06-30 22:31:29 +00:00
Denis Kasak
f5e39fa61d * Expanded docs for the Sprite class
* Added Surface and Screen docs
* Small documentation fixes

svn-id: r41779
2009-06-22 20:13:25 +00:00
Denis Kasak
1fe88abf6b Added Sprite::draw() method for drawing sprites to a Surface.
svn-id: r41654
2009-06-19 00:00:31 +00:00
Eugene Sandulenko
569fe88041 Added prefices to safeguard defines in order to minimize risk of name clash.
svn-id: r41605
2009-06-17 05:18:48 +00:00
Denis Kasak
7420c1bfb6 Added include guards.
svn-id: r41600
2009-06-17 03:14:22 +00:00
Denis Kasak
b8ec907ea0 Added a Sprite class for handling sprites in the Draci format transparently. Modified the test animation to use it.
svn-id: r41509
2009-06-14 12:44:12 +00:00