summaryrefslogtreecommitdiff
path: root/src/include/data_localgame.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/data_localgame.h')
-rw-r--r--src/include/data_localgame.h49
1 files changed, 32 insertions, 17 deletions
diff --git a/src/include/data_localgame.h b/src/include/data_localgame.h
index db6a9dd..b4716f7 100644
--- a/src/include/data_localgame.h
+++ b/src/include/data_localgame.h
@@ -2,28 +2,15 @@
#define DATA_LOCALGAME_H
#include "data_types.h"
+#include "SDL/SDL.h"
#define DEBUG_DIRTYRECTANGLES 1
// Structures de données pour la partie en cours, sur l'ordinateur local
-// Etat des différents objets de la map
-typedef struct {
- // zOrder < 0 : dessiné avant le terrain, sinon après le terrain (0 est uen valeur réservée)
- int zOrder;
- // surfId : Index du SDL_Surface de l'objet consiédéré (confère gameGraphSurfaces_t / objectsSurf)
- int surfId;
- // Information sur l'état de l'animation de l'objet
- int animFrames, currentAnimFrame;
- // Bounding box (plus petit rectangle qui continet tous les pixels de l'objet, utile pour updateGraphics())
- SDL_Rect *objectsBBox;
-} gameGraphObjState_t;
-
// Ensemble des buffers graphiques du jeu (sauf l'écran)
typedef struct {
SDL_Surface *screen, *terrain, *stencil, *tmpSurf;
- // For loaded Gif tiles, see data_ress.h
- gameGraphObjState_t *objectsStat;
} gameGraphSurfaces_t;
// Gestion de l'écran et de la caméra
@@ -33,11 +20,39 @@ typedef struct {
gameGraphSurfaces_t surfaces;
- int dirtRectsCount;
- SDL_Rect *dirtRects; // Dirt rectangles to refresh for current tick
+} gameGraphics_t;
+
+// Etat des différents objets de la map
+struct gameObjectState {
+ // zOrder < 0 : dessiné avant le terrain. zOrder > 0 : déssiné après le terrain. 0 est une valeur réservée.
+ int zOrder;
+ // surfId : Index du SDL_Surface de l'objet considéré (confère gameGraphSurfaces_t / objectsSurf)
+ int surfId;
+ // Information sur l'état de l'animation de l'objet
+ int animFrames, currentAnimFrame;
+ // Flags pour objets dont la procédure de dessin est spéciale
+ int modifiers;
+ // Flag disant si l'objet a été déclanché ou non
+ int triggered;
+ // date (en ticks) du déclanchement de l'objet
+ tick_t trigDate;
+ // Signale que l'objet doit être redessiné
+ int dirty;
+ // Position de l'objet (et position précédente, pour updateGraphics())
+ pos_t pos, prevPos;
+ // Pointeur vers la surface correspondante (cf data_ress.h)
+ SDL_Surface *s;
+};
+typedef struct {
+ int objCount;
+ struct gameObjectState *allObj, cursor;
+} gameObjectsState_t;
+
+// Paramèters locaux dynamiques
+typedef struct {
int debugFlags;
-} gameGraphics_t;
+} localParams_t;
// Paramètes de jeu envoyés par le serveur (niveau en cours, etc)
typedef struct {