X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fmain.h;h=b66da1d20e2ba4a116ba1692766e218d9d69c331;hp=6e4c5060077b32210f6fc6fb6b83e3239dee6785;hb=deffcb743b7a09356c1330e643740eeecf0b45d3;hpb=bd5cd06243740a2fac2a5ee5b026a23c5fd7eeb6 diff --git a/src/main.h b/src/main.h index 6e4c5060..b66da1d2 100644 --- a/src/main.h +++ b/src/main.h @@ -24,6 +24,7 @@ #include "game_em/game_em.h" #include "game_sp/game_sp.h" #include "game_mm/game_mm.h" +#include "engines.h" #include "conf_gfx.h" /* include auto-generated data structure definitions */ #include "conf_snd.h" /* include auto-generated data structure definitions */ @@ -905,6 +906,7 @@ #define IS_NEXT_FRAME(f, g) (IS_NEW_FRAME(f, g) && (f) > 0) #define IS_LOOP_SOUND(s) (sound_info[s].loop) +#define IS_LOOP_MUSIC(s) (music_info[s].loop) #define IS_SPECIAL_GFX_ARG(a) ((a) >= 0 && (a) < NUM_SPECIAL_GFX_ARGS) @@ -2440,8 +2442,9 @@ #define FONT_GAME_INFO 39 #define FONT_INFO_ELEMENTS 40 #define FONT_INFO_LEVELSET 41 +#define FONT_MAIN_NETWORK_PLAYERS 42 -#define NUM_FONTS 42 +#define NUM_FONTS 43 #define NUM_INITIAL_FONTS 4 /* values for toon animation configuration */ @@ -2518,7 +2521,7 @@ /* program information and versioning definitions */ #define PROGRAM_VERSION_SUPER 4 #define PROGRAM_VERSION_MAJOR 1 -#define PROGRAM_VERSION_MINOR 0 +#define PROGRAM_VERSION_MINOR 1 #define PROGRAM_VERSION_PATCH 1 #define PROGRAM_VERSION_EXTRA "" @@ -2642,6 +2645,9 @@ struct MenuMainButtonInfo struct MenuPosInfo first_level; struct MenuPosInfo last_level; struct MenuPosInfo level_number; + + struct MenuPosInfo insert_solution; + struct MenuPosInfo play_solution; }; struct MenuMainTextInfo @@ -2681,6 +2687,9 @@ struct MenuMainInfo struct MenuMainButtonInfo button; struct MenuMainTextInfo text; struct MenuMainInputInfo input; + + struct TextPosInfo preview_players; + struct TextPosInfo network_players; }; struct TitleFadingInfo @@ -2959,11 +2968,6 @@ struct EnvelopeInfo char text[MAX_ENVELOPE_TEXT_LEN + 1]; }; -struct LevelSetInfo -{ - int music[MAX_LEVELS]; -}; - struct LevelFileInfo { int nr; @@ -3091,6 +3095,7 @@ struct LevelInfo boolean can_pass_to_walkable; /* player can pass to empty or walkable tile */ boolean grow_into_diggable; /* amoeba can grow into anything diggable */ boolean auto_exit_sokoban; /* automatically finish solved Sokoban levels */ + boolean solved_by_one_player; /* level is solved if one player enters exit */ boolean continuous_snapping; /* repeated snapping without releasing key */ boolean block_snap_field; /* snapping blocks field to show animation */ @@ -3123,6 +3128,17 @@ struct LevelInfo boolean use_action_after_change_bug; }; +struct NetworkLevelInfo +{ + char *leveldir_identifier; /* network levelset identifier */ + + struct LevelFileInfo file_info; /* file info for level file */ + struct LevelFileInfo tmpl_info; /* file info for level template */ + + boolean use_network_level_files; /* use levels from network server */ + boolean use_custom_template; /* use CEs from level template */ +}; + struct GlobalInfo { char *autoplay_leveldir; @@ -3616,7 +3632,6 @@ extern boolean network_player_action_received; extern int graphics_action_mapping[]; -extern struct LevelSetInfo levelset; extern struct LevelInfo level, level_template; extern struct HiScore highscore[]; extern struct TapeInfo tape;