X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=ff701a202c926b3684c06d90fc2f54bf3b225b68;hb=ec50fda335d6dc628abc56320bfd3a42711edd1d;hp=627d52910ab897329294d468e7765a068e16013c;hpb=fd2761fde6102017cd3be6b59c3be9140f96f703;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 627d5291..ff701a20 100644 --- a/src/main.h +++ b/src/main.h @@ -919,16 +919,34 @@ #define ACTION_CHANGING 23 #define ACTION_EXPLODING 24 #define ACTION_BORING 25 -#define ACTION_SLEEPING 26 -#define ACTION_DYING 27 -#define ACTION_TURNING 28 -#define ACTION_TURNING_FROM_LEFT 29 -#define ACTION_TURNING_FROM_RIGHT 30 -#define ACTION_TURNING_FROM_UP 31 -#define ACTION_TURNING_FROM_DOWN 32 -#define ACTION_OTHER 33 +#define ACTION_BORING_1 26 +#define ACTION_BORING_2 27 +#define ACTION_BORING_3 28 +#define ACTION_BORING_4 29 +#define ACTION_BORING_5 30 +#define ACTION_BORING_6 31 +#define ACTION_BORING_7 32 +#define ACTION_BORING_8 33 +#define ACTION_BORING_9 34 +#define ACTION_BORING_10 35 +#define ACTION_SLEEPING 36 +#define ACTION_SLEEPING_1 37 +#define ACTION_SLEEPING_2 38 +#define ACTION_SLEEPING_3 39 +#define ACTION_AWAKENING 40 +#define ACTION_DYING 41 +#define ACTION_TURNING 42 +#define ACTION_TURNING_FROM_LEFT 43 +#define ACTION_TURNING_FROM_RIGHT 44 +#define ACTION_TURNING_FROM_UP 45 +#define ACTION_TURNING_FROM_DOWN 46 +#define ACTION_OTHER 47 + +#define NUM_ACTIONS 48 + +#define ACTION_BORING_LAST ACTION_BORING_10 +#define ACTION_SLEEPING_LAST ACTION_SLEEPING_3 -#define NUM_ACTIONS 34 /* values for special image configuration suffixes (must match game mode) */ #define GFX_SPECIAL_ARG_DEFAULT 0 @@ -973,9 +991,13 @@ #define GFX_ARG_DRAW_XOFFSET 23 #define GFX_ARG_DRAW_YOFFSET 24 #define GFX_ARG_DRAW_MASKED 25 -#define GFX_ARG_NAME 26 +#define GFX_ARG_ANIM_DELAY_FIXED 26 +#define GFX_ARG_ANIM_DELAY_RANDOM 27 +#define GFX_ARG_POST_DELAY_FIXED 28 +#define GFX_ARG_POST_DELAY_RANDOM 29 +#define GFX_ARG_NAME 30 -#define NUM_GFX_ARGS 27 +#define NUM_GFX_ARGS 31 /* values for sound configuration suffixes */ @@ -1049,6 +1071,12 @@ #define NUM_MUSIC_PREFIXES 1 #define MAX_LEVELS 1000 +/* definitions for demo animation lists */ +#define HELPANIM_LIST_NEXT -1 +#define HELPANIM_LIST_END -999 + + +/* program information and versioning definitions */ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 0 @@ -1059,12 +1087,6 @@ #define PROGRAM_AUTHOR_STRING "Holger Schemel" #define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2003 by Holger Schemel" -#if 0 -#define PROGRAM_DOS_PORT_STRING "DOS port done by Guido Schulz" -#define PROGRAM_IDENT_STRING PROGRAM_VERSION_STRING " " TARGET_STRING -#define WINDOW_TITLE_STRING PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING -#endif - #define ICON_TITLE_STRING PROGRAM_TITLE_STRING #define COOKIE_PREFIX "ROCKSNDIAMONDS" #define FILENAME_PREFIX "Rocks" @@ -1158,7 +1180,7 @@ struct PlayerInfo byte programmed_action; /* action forced by game itself (like moving through doors); overrides other actions */ - int jx,jy, last_jx,last_jy; + int jx, jy, last_jx, last_jy; int MovDir, MovPos, GfxDir, GfxPos; int Frame, StepFrame; @@ -1178,6 +1200,21 @@ struct PlayerInfo boolean is_pushing; boolean is_switching; + boolean is_bored; + boolean is_sleeping; + + int frame_counter_bored; + int frame_counter_sleeping; + + int anim_delay_counter; + int post_delay_counter; + + int special_action_bored; + int special_action_sleeping; + + int num_special_action_bored; + int num_special_action_sleeping; + int switch_x, switch_y; int show_envelope; @@ -1304,6 +1341,12 @@ struct GameInfo boolean gravity; boolean explosions_delayed; boolean envelope_active; + + /* values for player idle animation (no effect on engine) */ + int player_boring_delay_fixed; + int player_boring_delay_random; + int player_sleeping_delay_fixed; + int player_sleeping_delay_random; }; struct GlobalInfo @@ -1456,6 +1499,11 @@ struct GraphicInfo int diggable_like; /* element for cloning digging graphics */ int border_size; /* border size for "crumbled" graphics */ + int anim_delay_fixed; /* optional delay values for bored and */ + int anim_delay_random; /* sleeping player animations (animation */ + int post_delay_fixed; /* intervall and following pause before */ + int post_delay_random; /* next intervall (bored animation only) */ + int step_offset; /* optional step offset of toon animations */ int step_delay; /* optional step delay of toon animations */ @@ -1494,6 +1542,8 @@ struct MusicFileInfo char *album; char *year; + int music; + struct MusicFileInfo *next; }; @@ -1516,7 +1566,7 @@ struct SpecialSuffixInfo int value; }; -struct InfoAnimationInfo +struct HelpAnimInfo { int element; int action; @@ -1619,12 +1669,15 @@ extern struct GraphicInfo *graphic_info; extern struct SoundInfo *sound_info; extern struct MusicInfo *music_info; extern struct MusicFileInfo *music_file_info; -extern struct InfoAnimationInfo *info_animation_info; +extern struct HelpAnimInfo *helpanim_info; +extern SetupFileHash *helptext_info; extern struct ConfigInfo image_config[]; extern struct ConfigInfo sound_config[]; extern struct ConfigInfo music_config[]; extern struct ConfigInfo image_config_suffix[]; extern struct ConfigInfo sound_config_suffix[]; extern struct ConfigInfo music_config_suffix[]; +extern struct ConfigInfo helpanim_config[]; +extern struct ConfigInfo helptext_config[]; #endif /* MAIN_H */