X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=a820598a929e7d4ca06c2a779be55f39282302a6;hb=7b6d9e43fdb99e1923f4a2a401ae60e7b2975bd8;hp=0768ed90f69f70d787589b323a6bcbf38f1c53ca;hpb=41e8d55b767c898f20c29a1b0b8d2ef8840be2f5;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 0768ed90..a820598a 100644 --- a/src/main.h +++ b/src/main.h @@ -156,7 +156,7 @@ #define IS_DRAWABLE(e) ((e) < EL_BLOCKED) #define IS_NOT_DRAWABLE(e) ((e) >= EL_BLOCKED) #define TAPE_IS_EMPTY(x) ((x).length == 0) -#define TAPE_IS_STOPPED(x) (!(x).recording && !(x).playing &&!(x).pausing) +#define TAPE_IS_STOPPED(x) (!(x).recording && !(x).playing) #define PLAYERINFO(x,y) (&stored_player[StorePlayer[x][y]-EL_SPIELER1]) #define SHIELD_ON(p) ((p)->shield_passive_time_left > 0) @@ -234,12 +234,12 @@ struct PlayerInfo boolean LevelSolved, GameOver; boolean snapped; - unsigned long move_delay; - int move_delay_value; - int last_move_dir; int is_moving; + unsigned long move_delay; + int move_delay_value; + unsigned long push_delay; unsigned long push_delay_value; @@ -302,9 +302,13 @@ struct TapeInfo boolean pause_before_death; boolean recording, playing, pausing; boolean fast_forward; + boolean index_search; + boolean quick_resume; + boolean single_step; boolean changed; boolean player_participates[MAX_PLAYERS]; int num_participating_players; + struct { byte action[MAX_PLAYERS]; @@ -341,15 +345,11 @@ extern Pixmap tile_clipmask[]; extern DrawBuffer *fieldbuffer; extern DrawBuffer *drawto_field; -extern int joystick_device; -extern char *joystick_device_name[]; - extern int game_status; extern boolean level_editor_test_game; extern boolean network_playing; extern int key_joystick_mapping; -extern int global_joystick_status; extern boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE]; extern int redraw_x1, redraw_y1; @@ -397,9 +397,9 @@ extern struct TapeInfo tape; extern struct GameInfo game; extern struct GlobalInfo global; +extern struct SoundEffectInfo sound_effects[]; + extern char *sound_name[]; -extern int background_loop[]; -extern int num_bg_loops; extern char *element_info[]; extern int num_element_info; @@ -1440,6 +1440,112 @@ extern int num_element_info; #define NUM_SOUNDS 55 + +/* sound effects */ +#define SND_TEST1 0 +#define SND_TEST2 1 +#define SND_TEST3 2 + +#define NUM_SOUND_EFFECTS 3 + + +#define SND_AMOEBA_GROWING 0 +#define SND_PLAYER_SCREAMING 0 +#define SND_ACID_SPLASHING 0 +#define SND_MOLE_EATING_AMOEBA 0 +#define SND_PENGUIN_ENTERING_EXIT 0 +#define SND_PLAYER_ENTERING_EXIT 0 +#define SND_PLAYER_SOLVING_SOKOBAN 0 +#define SND_TIME_ORB_FULL_IMPACT 0 +#define SND_TIME_ORB_EMPTY_IMPACT 0 +#define SND_ELECTRIC_BULB_LIGHT 0 +#define SND_SOKOBAN_FIELD_FILLING 0 +#define SND_LEVELTIME_RUNNING_OUT 0 +#define SND_EXTRA_TIME_COLLECTING 0 +#define SND_TIME_ORB_FULL_COLLECTING 0 +#define SND_MENU_HALL_OF_FAME 0 +#define SND_KEY_IMPACT 0 +#define SND_EM_KEY_IMPACT 0 +#define SND_BUG_MOVING 0 +#define SND_BUTTERFLY_MOVING 0 +#define SND_ROCK_IMPACT 0 +#define SND_BD_ROCK_IMPACT 0 +#define SND_AMOEBA_TURNS_TO_ROCK 0 +#define SND_NUT_IMPACT 0 +#define SND_PEARL_BREAKING 0 +#define SND_NUT_CRACKING 0 +#define SND_NUT_PUSHING 0 +#define SND_PLAYER_LAUGHING_AT 0 +#define SND_ROBOT_WHEEL_RUNNING 0 +#define SND_TIMEGATE_WHEEL_RUNNING 0 +#define SND_MAGIC_WALL_RUNNING 0 +#define SND_YAMYAM_WAITING 0 +#define SND_MENU_DOOR 0 +#define SND_SWITCHGATE_OPENING 0 +#define SND_SWITCHGATE_CLOSING 0 +#define SND_TIMEGATE_OPENING 0 +#define SND_TIMEGATE_CLOSING 0 +#define SND_EXIT_OPENING 0 +#define SND_EMERALD_IMPACT 0 +#define SND_BD_DIAMOND_IMPACT 0 +#define SND_DIAMOND_IMPACT 0 +#define SND_INFOTRON_IMPACT 0 +#define SND_AMOEBA_TURNS_TO_GEM 0 +#define SND_EMERALD_COLLECTING 0 +#define SND_BD_DIAMOND_COLLECTING 0 +#define SND_DIAMOND_COLLECTING 0 +#define SND_PEARL_COLLECTING 0 +#define SND_CRYSTAL_COLLECTING 0 +#define SND_SPEED_PILL_COLLECTING 0 +#define SND_ENVELOPE_COLLECTING 0 +#define SND_SHIELD_PASSIVE_COLLECTING 0 +#define SND_SHIELD_ACTIVE_COLLECTING 0 +#define SND_DYNAMITE_COLLECTING 0 +#define SND_DYNABOMB_NR_COLLECTING 0 +#define SND_DYNABOMB_SZ_COLLECTING 0 +#define SND_DYNABOMB_XL_COLLECTING 0 +#define SND_KEY_COLLECTING 0 +#define SND_EM_KEY_COLLECTING 0 +#define SND_ROCK_PUSHING 0 +#define SND_BD_ROCK_PUSHING 0 +#define SND_BOMB_PUSHING 0 +#define SND_DX_SUPABOMB_PUSHING 0 +#define SND_TIME_ORB_EMPTY_PUSHING 0 +#define SND_SPRING_PUSHING 0 +#define SND_SOKOBAN_OBJECT_PUSHING 0 +#define SND_SATELLITE_PUSHING 0 +#define SND_SP_DISK_YELLOW_PUSHING 0 +#define SND_DIAMOND_SMASHING 0 +#define SND_MAGIC_WALL_ACTIVATING 0 +#define SND_MENU_INFO_SCREEN 0 +#define SND_EXPLOSION 0 +#define SND_SPACESHIP_MOVING 0 +#define SND_FIREFLY_MOVING 0 +#define SND_ROBOT_MOVING 0 +#define SND_SAND_DIGGING 0 +#define SND_SAND_INVISIBLE_DIGGING 0 +#define SND_TRAP_INACTIVE_DIGGING 0 +#define SND_BALLOON_MOVING 0 +#define SND_LEVELTIME_BONUS 0 +#define SND_DYNAMITE_BURNING 0 +#define SND_SP_BASE_DIGGING 0 +#define SND_SP_BUGGY_BASE_DIGGING 0 +#define SND_SP_INFOTRON_COLLECTING 0 +#define SND_SP_DISK_RED_COLLECTING 0 +#define SND_SP_ZONK_IMPACT 0 +#define SND_SP_ZONK_PUSHING 0 +#define SND_SP_DISK_ORANGE_PUSHING 0 +#define SND_SP_BUGGY_BASE_PASSING 0 +#define SND_SP_EXPLOSION 0 +#define SND_EMPTY_SPACE_DIGGING 0 +#define SND_EM_GATE_PASSING 0 +#define SND_SWITCHGATE_PASSING 0 +#define SND_TIMEGATE_PASSING 0 +#define SND_SP_PORT_PASSING 0 + +#define NUM_SOUND_EFFECTS__NEW 0 + + /* values for game_status */ #define EXITGAME 0 #define MAINMENU 1 @@ -1450,8 +1556,6 @@ extern int num_element_info; #define TYPENAME 6 #define HALLOFFAME 7 #define SETUP 8 -#define SETUPINPUT 9 -#define CALIBRATION 10 #define PROGRAM_VERSION_MAJOR 2 #define PROGRAM_VERSION_MINOR 0 @@ -1467,6 +1571,8 @@ extern int num_element_info; #define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING #define ICON_TITLE_STRING PROGRAM_TITLE_STRING #define UNIX_USERDATA_DIRECTORY ".rocksndiamonds" +#define COOKIE_PREFIX "ROCKSNDIAMONDS" +#define FILENAME_PREFIX "Rocks" #define X11_ICON_FILENAME "rocks_icon.xbm" #define X11_ICONMASK_FILENAME "rocks_iconmask.xbm"