/* Protocol versions */
#define MAJOR_VERSION 1
-#define PROTOCOL_VERSION 4
+#define PROTOCOL_VERSION 6
#define DEFAULT_PORT 9284 /* Very arbitrary */
#define CONFIG_FILE "netris.conf"
-//#define DEFAULT_KEYS "hlkj mfp^lq"
-//#define DEFAULT_KEYS "4685 2fp^lq"
-#define DEFAULT_KEYS "dcaf b^fp^lq"
+//#define DEFAULT_KEYS "hlkj mnfp^ltq"
+//#define DEFAULT_KEYS "4685 02fp^l^mq"
+#define DEFAULT_KEYS "dcaf xb^fp^l^mq"
#define MAX_BOARD_WIDTH 32
#define MAX_BOARD_HEIGHT 64
#define EM_connect 000020
#define EM_any 000777
-typedef enum _GameType { GT_onePlayer, GT_classicTwo, GT_len } GameType;
typedef enum _BlockTypeA {
BT_shadow, BT_none,
- BT_green, BT_cyan, BT_blue, BT_magenta, BT_red, BT_yellow, BT_white,
+ BT_S, BT_L, BT_I, BT_O, BT_Z, BT_J, BT_T,
BT_wall, BT_len
} BlockTypeA;
-typedef enum _Dir { D_down, D_right, D_up, D_left } Dir;
-typedef enum _Cmd { C_end, C_forw, C_back, C_left, C_right, C_plot } Cmd;
typedef enum _FDType { FT_read, FT_write, FT_except, FT_len } FDType;
typedef enum _MyEventType {
E_none, E_alarm, E_key, E_connect, E_net, E_lostConn
union {
char key;
_netEvent net;
- struct {
- int size;
- char *data;
- } robot;
} u;
} MyEvent;
int bufSize, bufGoal;
} EventGenRec;
-MyEventType NetGenFunc(EventGenRec *gen, MyEvent *event);
-
-typedef struct _Shape {
- char shape, rotate;
-} Shape;
-
/* NP_startConn flags */
#define SCF_paused 1
char name[16];
int flags;
int team;
- int dropmode;
int boardHeight, boardWidth, boardVisible;
int curX, curY;
char curShape, nextShape;
- struct _Score {
+ struct score_t {
short level;
long score;
int pieces, lines, adds;
} score;
char host[256]; //last
-} _Player;
-EXT _Player Players[MAX_SCREENS];
+} player_t;
+EXT player_t Players[MAX_SCREENS];
EXT short me;
EXT short maxPlayer;
EXT int spied; //in player.flags
#define SPEEDINC 1.2
#define SPEEDMINIMUM 40000
+typedef enum _GameType { GT_onePlayer, GT_classicTwo, GT_len } GameType;
typedef struct {
+ GameType type;
int gravity; //1
int started; //2
int continuous; //3
long seed; //4
+ float shapes[7];
int initspeed; //5
int speed;
-} _Game;
-EXT _Game Game;
+} game_t;
+EXT game_t Game;
#define MSG_WIDTH 128
-EXT GameType game; // => Game.type
+EXT short port; // => just in client.c, parameter to inet connect
-EXT short port; // => just in game.c, parameter to inet connect
+static const char *teamname[] = {
+ "", "Green", "Cyan", "Blue", "Purple",
+ "Red", "Grey", "White", "*Orange"
+};
#endif //__NETRIS_H