#include "msdos.h"
#endif /* #ifndef MSDOS */
-typedef int BOOL;
+typedef unsigned char boolean;
typedef unsigned char byte;
#ifndef FALSE
int Score;
};
+struct OptionInfo
+{
+ char *display_name;
+ char *server_host;
+ int server_port;
+ boolean serveronly;
+ boolean network;
+ boolean verbose;
+};
+
+struct SetupInfo
+{
+ boolean sound_on;
+ boolean sound_loops_on;
+ boolean sound_music_on;
+ boolean sound_simple_on;
+ boolean toons_on;
+ boolean direct_draw_on;
+ boolean scroll_delay_on;
+ boolean soft_scrolling_on;
+ boolean fading_on;
+ boolean autorecord_on;
+ boolean quick_doors;
+ int joystick_nr;
+};
+
struct PlayerInfo
{
- int active, local;
+ boolean present; /* player present in level playfield */
+ boolean connected; /* player connected locally or via network */
+ boolean local; /* player connected locally */
+ boolean active; /* player (present && connected) */
+
int index_nr, client_nr, element_nr;
char login_name[MAX_NAMELEN];
int jx,jy, last_jx,last_jy;
int MovDir, MovPos, GfxPos;
- int Pushing, Frame;
+ int Frame;
- int gone, LevelSolved, GameOver;
-
- long actual_frame_counter;
-
- int frame_reset_delay;
+ boolean Pushing;
+ boolean gone, LevelSolved, GameOver;
+ boolean snapped;
long move_delay;
int last_move_dir;
long push_delay;
int push_delay_value;
- int snapped;
+ int frame_reset_delay;
+
+ long actual_frame_counter;
int score;
int gems_still_needed;
unsigned long length;
unsigned long length_seconds;
unsigned int delay_played;
- BOOL pause_before_death;
- BOOL recording, playing, pausing;
- BOOL fast_forward;
- BOOL changed;
+ boolean pause_before_death;
+ boolean recording, playing, pausing;
+ boolean fast_forward;
+ boolean changed;
struct
{
byte action[MAX_PLAYERS];
extern int width, height;
extern char *program_name;
-extern char *display_name;
-extern char *server_host;
-extern int server_port;
-extern int serveronly;
-extern int network;
-extern int verbose;
extern int game_status;
extern int game_emulation;
-extern int network_playing;
-extern int button_status, motion_status;
+extern boolean network_playing;
+extern int button_status;
+extern boolean motion_status;
extern int key_joystick_mapping;
extern int global_joystick_status, joystick_status;
-extern int sound_status, sound_on;
-extern int sound_loops_allowed, sound_loops_on;
-extern int sound_music_on;
-extern int sound_simple_on;
-extern int toons_on;
-extern int direct_draw_on;
-extern int scroll_delay_on;
-extern int soft_scrolling_on;
-extern int fading_on;
-extern int autorecord_on;
-extern int joystick_nr;
-extern int quick_doors;
-
-extern BOOL redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
+extern int sound_status;
+extern boolean sound_loops_allowed;
+
+extern boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
extern int redraw_x1, redraw_y1;
extern int redraw_mask;
extern int redraw_tiles;
-extern int Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int Frame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int JustHit[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int AmoebaCnt[MAX_NUM_AMOEBA], AmoebaCnt2[MAX_NUM_AMOEBA];
-extern long Elementeigenschaften[MAX_ELEMENTS];
+extern short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short Frame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short JustHit[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short AmoebaCnt[MAX_NUM_AMOEBA], AmoebaCnt2[MAX_NUM_AMOEBA];
+extern unsigned long Elementeigenschaften[MAX_ELEMENTS];
extern int level_nr, leveldir_nr, num_leveldirs;
extern int lev_fieldx,lev_fieldy, scroll_x,scroll_y;
extern int FX,FY, ScrollStepSize;
extern int ScreenMovDir, ScreenMovPos, ScreenGfxPos;
-extern int GameFrameDelay, MoveSpeed;
+extern int GameFrameDelay;
+extern int FfwdFrameDelay;
+extern int MoveSpeed;
extern int BX1,BY1, BX2,BY2;
extern int ZX,ZY, ExitX,ExitY;
extern int AllPlayersGone;
extern int MampferNr, SiebAktiv;
extern byte network_player_action[];
-extern BOOL network_player_action_received;
+extern boolean network_player_action_received;
extern int TestPlayer;
extern struct LevelDirInfo leveldir[];
extern struct RecordingInfo tape;
extern struct SoundInfo Sound[];
extern struct JoystickInfo joystick[];
+struct OptionInfo options;
+struct SetupInfo setup;
extern char *sound_name[];
extern int background_loop[];