* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Id: netris.h,v 1.28 1999/05/16 06:56:29 mhw Exp $
*/
#ifndef __NETRIS_H
#include <stdio.h>
#include <signal.h>
-#define version_string "0.8"
+#define version_string "0.8"
-#ifdef NOEXT //prevent re-declaration
+#ifdef NOEXT //prevent re-declaration
# define EXT
#else
# define EXT extern
#define ntoh4(x) ntohl(x)
/* Protocol versions */
-#define MAJOR_VERSION 1
-#define PROTOCOL_VERSION 4
+#define MAJOR_VERSION 1
+#define PROTOCOL_VERSION 4
-#define DEFAULT_PORT 9284 /* Very arbitrary */
+#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 mfp^ltq"
+//#define DEFAULT_KEYS "4685 2fp^l^mq"
+#define DEFAULT_KEYS "dcaf b^fp^l^mq"
-#define MAX_BOARD_WIDTH 32
-#define MAX_BOARD_HEIGHT 64
-#define MAX_SCREENS 9 //8 players
+#define MAX_BOARD_WIDTH 32
+#define MAX_BOARD_HEIGHT 64
+#define MAX_SCREENS 9 //8 players
/* Event masks */
-#define EM_alarm 000001
-#define EM_key 000002
-#define EM_net 000004
-#define EM_connect 000020
-#define EM_any 000777
+#define EM_alarm 000001
+#define EM_key 000002
+#define EM_net 000004
+#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
} MyEventType;
typedef enum _NetPacketType {
- 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_team, //player switched teams
- NP_argghhh, //player died
- NP_part, //player left
-
- NP_msg, //chat message
-
- 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
+ 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_team, //player switched teams
+ NP_argghhh, //player died
+ NP_part, //player left
+
+ NP_msg, //chat message
+
+ 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 struct {
MyEventType NetGenFunc(EventGenRec *gen, MyEvent *event);
-typedef struct _Shape {
- char shape, rotate;
-} Shape;
-
/* NP_startConn flags */
-#define SCF_paused 1
+#define SCF_paused 1
typedef struct {
int alive;
long score;
int pieces, lines, adds;
} score;
- char host[256]; //last
+ char host[256]; //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
+#define DEFAULT_INTERVAL 1000000 /* Step-down interval in microseconds */
+#define SPEEDINC 1.2
+#define SPEEDMINIMUM 40000
typedef struct {
- int gravity; //1
- int started; //2
- int continuous; //3
- long seed; //4
- int initspeed; //5
+ int gravity; //1
+ int started; //2
+ int continuous; //3
+ long seed; //4
+ int initspeed; //5
int speed;
} _Game;
EXT _Game Game;
#endif //__NETRIS_H
-/*
- * vi: ts=4 ai
- * vim: noai si
- */