blob: db6a9dd3c2d19fbe345c2b8aacc3029fb7144100 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifndef DATA_LOCALGAME_H
#define DATA_LOCALGAME_H
#include "data_types.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
typedef struct {
SDL_Surface *screen;
SDL_Rect viewport; // Viewport top-left corner coords in screen
gameGraphSurfaces_t surfaces;
int dirtRectsCount;
SDL_Rect *dirtRects; // Dirt rectangles to refresh for current tick
int debugFlags;
} gameGraphics_t;
// Paramètes de jeu envoyés par le serveur (niveau en cours, etc)
typedef struct {
id_t levelPack;
id_t level;
} serverParams_t;
#endif /*DATA_LOCALGAME_H*/
|