summaryrefslogtreecommitdiff
path: root/jeu-test/tetris_lan_src/includes.h
blob: 9f3c236552bad64836487ca2fcdcd72aef726c99 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// Includes.
#include <stdlib.h>
#include <unistd.h>
#include "SDL.h"
//#include "SDL_image.h"
#include <time.h>

#include <math.h>
#define PI 3.1415927

#include "ctypes.h"

#include "menu.h"
#include "game.h"
#include "frame.h"
#include "font.h"
#include "sfx.h"
#include "tcpip.h"

// Define.
#define SCR_Width 320
#define SCR_Height 240

enum
{
	TRIG_UP = 0,
	TRIG_DOWN,	// Trig down et return => pour le menu.
	TRIG_RIGHT,
	TRIG_LEFT,
	TRIG_Return,
	TRIG_Space,
	TRIG_KeyP,
	TRIG_MaxKeys
};

enum
{
	MENU_Null = 0,		// Codes de sortie du menu.
	MENU_Main,
	MENU_Quit,
	MENU_Game_1Player,
	MENU_Game_LAN,
	MENU_Options,
	MENU_HallOfFame,
	MENU_MaxItem
};

enum
{
	GAME_Null = 0,		// Codes de sortie du jeu.
	GAME_GameOver,
	GAME_Quit,
	GAME_MaxItem
};

enum
{
	GAME_MODE_1Player = 0,
	GAME_MODE_LAN,
};

enum
{
	OPT_Ghost = 1,
	OPT_Rotation = 1 << 1,
	OPT_BlocksSet = 1 << 2,
	OPT_Sound = 1 << 3,
	OPT_LAN_Hole = 1 << 4,
};

// Types de variables.
struct SGene
{
	SDL_Surface *pScreen;	// Ptr sur le buffer écran.
	u8	*pKeys;		// Buffer clavier (ira pointer une table fournie par SDL).
	u8	pKeysTrig[TRIG_MaxKeys];	// Trigger.

	SDL_Surface *pBackground;	// Ptr sur l'image de décor.
	SDL_Surface *pBkgMenu;		// L'image de fond du menu.
	SDL_Surface *pFont1616;		// Ptr sur la fonte 16x16.
	SDL_Surface *pFont88;		// Ptr sur la fonte 8x8.

	SDL_Surface *pCurBkg;		// Ptr sur l'image de fond courante.

	u32	nOptFlags;		// Options.
	u32	nGameMode;		// Mode 1 joueur / LAN.

	u32	nTCPMaster;		// 1 = Master / 0 = slave.
	char	*pIPAddress;
	u32	nPort;

	u32	pWins[2];	// Nombre de victoires en LAN.

};

struct SExchange	// Echanges entre les modules.
{
	u32	nStartingLevel;		// Niveau de départ.
	u32	nHandicap;		// Handicap de départ.
	u32	nScore;			// Score en sortie.
};

// Variables générales.
extern struct SGene gVar;
extern struct SExchange gExg;