diff options
Diffstat (limited to 'src/include/data_localgame.h')
-rw-r--r-- | src/include/data_localgame.h | 49 |
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 { |