X-Git-Url: http://git.shiar.net/netris.git/blobdiff_plain/21add7c13bc1df386e45aad2939ee5ff2a152c2b..4f561019fc85c2817e3a72341397d1df32bc0868:/netris.h diff --git a/netris.h b/netris.h index 30ce772..7bbfc3c 100644 --- a/netris.h +++ b/netris.h @@ -28,7 +28,7 @@ #include #include -#define version_string "0.5.810" +#define version_string "0.7.819" #define ExtFunc /* Marks functions that need prototypes */ @@ -80,24 +80,45 @@ typedef long netint4; #define EM_key 000002 #define EM_net 000004 #define EM_robot 000010 +#define EM_connect 000020 #define EM_any 000777 typedef enum _GameType { GT_onePlayer, GT_classicTwo, GT_len } GameType; typedef enum _BlockTypeA { - BT_none, BT_white, BT_blue, BT_magenta, BT_cyan, BT_yellow, BT_green, - BT_red, BT_wall, BT_len + BT_shadow, BT_none, + BT_green, BT_cyan, BT_blue, BT_magenta, BT_red, BT_yellow, BT_white, + 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_net, E_lostConn, E_robot, E_lostRobot + E_none, E_alarm, E_key, E_connect, E_net, E_lostConn, E_robot, E_lostRobot } MyEventType; typedef enum _NetPacketType { - NP_endConn, NP_byeBye, - NP_error, NP_hello, NP_gamedata, NP_newPlayer, NP_goAhead, - NP_pause, NP_argghhh, NP_giveJunk, NP_newPiece, NP_down, NP_left, NP_right, - NP_rotright, NP_rotleft, NP_drop, NP_clear, NP_insertJunk + NP_endConn, //client/server quits + NP_byeBye, //unused atm + NP_error, //handshake error + NP_hello, //check versions + NP_gamedata, //game options + + NP_start, //game ok to start + NP_pause, //player (un)pauses + NP_stop, //game ended + NP_newPlayer, //add new player + NP_argghhh, //player died + + NP_newPiece, //new piece info + NP_rotright, //rotate piece clockwise + NP_rotleft, //rotate piece counterclockwise + NP_left, //move piece left + NP_right, //move piece right + NP_down, //move piece one down + NP_drop, //drop piece to bottom + NP_clear, //line cleared + NP_insertJunk, //player added junk + + NP_giveJunk //player has to add junk } NetPacketType; typedef signed char BlockType; @@ -133,7 +154,6 @@ typedef struct _EventGenRec { char buf[512]; int bufSize, bufGoal; } EventGenRec; -EXT EventGenRec netGen[MAX_SCREENS]; MyEventType NetGenFunc(EventGenRec *gen, MyEvent *event); @@ -158,8 +178,6 @@ typedef int (*ShapeDrawFunc)(int scr, int y, int x, #define SCF_fairRobot 000002 #define SCF_paused 000004 -EXT int totalPlayers; - typedef struct _Player { int alive; char name[16]; @@ -175,18 +193,23 @@ typedef struct _Player { int drops, lines, adds; } score; char host[256]; //last-1 - int spy; //last + int spy,small; //last } Player; EXT Player Players[MAX_SCREENS]; EXT short me; +EXT short maxPlayer; +EXT int spied; //in player.flags #define DEFAULT_INTERVAL 1000000 /* Step-down interval in microseconds */ #define SPEEDINC 1.2 #define SPEEDMINIMUM 40000 typedef struct __Game { - long seed; //1st - int initspeed; //2nd + int maxplayers; //1 + int started; //2 + int continuous; //3 + long seed; //4 + int initspeed; //5 int speed; int standout, color, ascii; } _Game;