]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/tileanimation.h
Don't include client/game.h on server build
[dragonfireclient.git] / src / tileanimation.h
index 289ce515b1aa8bcf0bf3f0c50632240ad6c1c21a..7e3285ed7825ef59d6ea9384a323f10270cf058f 100644 (file)
@@ -17,39 +17,43 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-#ifndef TILEANIMATION_HEADER
-#define TILEANIMATION_HEADER
+#pragma once
 
-#include "irrlichttypes_bloated.h"
 #include <iostream>
+#include "irrlichttypes_bloated.h"
 
-enum TileAnimationType {
+enum TileAnimationType
+{
        TAT_NONE = 0,
        TAT_VERTICAL_FRAMES = 1,
        TAT_SHEET_2D = 2,
 };
 
-struct TileAnimationParams {
+struct TileAnimationParams
+{
        enum TileAnimationType type;
-       union {
+       union
+       {
                // struct {
                // } none;
-               struct {
+               struct
+               {
                        int aspect_w; // width for aspect ratio
                        int aspect_h; // height for aspect ratio
                        float length; // seconds
                } vertical_frames;
-               struct {
-                       int frames_w; // number of frames left-to-right
-                       int frames_h; // number of frames top-to-bottom
+               struct
+               {
+                       int frames_w;       // number of frames left-to-right
+                       int frames_h;       // number of frames top-to-bottom
                        float frame_length; // seconds
                } sheet_2d;
        };
 
-       void serialize(std::ostream &os, u16 protocol_version) const;
-       void deSerialize(std::istream &is, u16 protocol_version);
-       void determineParams(v2u32 texture_size, int *frame_count, int *frame_length_ms) const;
+       void serialize(std::ostream &os, u8 tiledef_version) const;
+       void deSerialize(std::istream &is, u8 tiledef_version);
+       void determineParams(v2u32 texture_size, int *frame_count, int *frame_length_ms,
+                       v2u32 *frame_size) const;
        void getTextureModifer(std::ostream &os, v2u32 texture_size, int frame) const;
+       v2f getTextureCoords(v2u32 texture_size, int frame) const;
 };
-
-#endif