blob: 989444be92d91dd78524b2ed6a86886f8e7aec19 (
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#ifndef DATA_LOCALGAME_H
#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
// Ensemble des buffers graphiques du jeu (sauf l'écran)
typedef struct {
SDL_Surface *terrain, *stencil, *tmpSurf;
} 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;
} 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; // allObj array item count
// allObj is a list of all objects of the map (objects, lemmings, other GUI objects, all except cursor)
// cursor is the mouse cursor for selecting lemmings
struct gameObjectState *allObj, cursor;
} gameObjectsState_t;
// Paramèters locaux dynamiques
typedef struct {
int debugFlags;
} localParams_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*/
|