X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=221b3530ce324db1c8aeadb85b624c70aa7fad6a;hb=ee0895b12e544444db37febb1242bcc8a72d6ad8;hp=a96668871dc942d820d77797fccb5ef33d3c6e1f;hpb=384e7be695fc44634c08002e3eeccd9c45369645;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index a9666887..221b3530 100644 --- a/src/main.h +++ b/src/main.h @@ -36,6 +36,8 @@ #define IMG_CHAR_START IMG_CHAR_SPACE #define IMG_CUSTOM_START IMG_CUSTOM_1 +#define SND_UNDEFINED (-1) + #define WIN_XSIZE 672 #define WIN_YSIZE 560 @@ -757,29 +759,30 @@ #define MAX_NUM_ELEMENTS (EL_FIRST_DUMMY + 36) -/* values for animation action types */ -#define GFX_ACTION_DEFAULT 0 -#define GFX_ACTION_WAITING 1 -#define GFX_ACTION_FALLING 2 -#define GFX_ACTION_MOVING 3 -#define GFX_ACTION_DIGGING 4 -#define GFX_ACTION_SNAPPING 5 -#define GFX_ACTION_COLLECTING 6 -#define GFX_ACTION_PUSHING 7 -#define GFX_ACTION_PASSING 8 -#define GFX_ACTION_IMPACT 9 -#define GFX_ACTION_CRACKING 10 -#define GFX_ACTION_BREAKING 11 -#define GFX_ACTION_ACTIVATING 12 -#define GFX_ACTION_OPENING 13 -#define GFX_ACTION_CLOSING 14 -#define GFX_ACTION_EATING 15 -#define GFX_ACTION_ATTACKING 16 -#define GFX_ACTION_GROWING 17 -#define GFX_ACTION_SHRINKING 18 -#define GFX_ACTION_OTHER 19 - -#define NUM_GFX_ACTIONS 20 +/* values for graphics/sounds action types */ +#define ACTION_DEFAULT 0 +#define ACTION_WAITING 1 +#define ACTION_FALLING 2 +#define ACTION_MOVING 3 +#define ACTION_DIGGING 4 +#define ACTION_SNAPPING 5 +#define ACTION_COLLECTING 6 +#define ACTION_PUSHING 7 +#define ACTION_PASSING 8 +#define ACTION_IMPACT 9 +#define ACTION_CRACKING 10 +#define ACTION_BREAKING 11 +#define ACTION_ACTIVATING 12 +#define ACTION_OPENING 13 +#define ACTION_CLOSING 14 +#define ACTION_EATING 15 +#define ACTION_ATTACKING 16 +#define ACTION_GROWING 17 +#define ACTION_SHRINKING 18 +#define ACTION_ACTIVE 19 +#define ACTION_OTHER 20 + +#define NUM_ACTIONS 21 /* values for image configuration suffixes */ @@ -802,12 +805,11 @@ #define NUM_GFX_ARGS 16 -#define GFX_ARG_UNDEFINED "-1000000" -#define GFX_ARG_UNDEFINED_VALUE (atoi(GFX_ARG_UNDEFINED)) - /* values for sound configuration suffixes */ -/* (currently none) */ +#define SND_ARG_MODE_LOOP 0 + +#define NUM_SND_ARGS 1 /* values for game_status */ @@ -1029,20 +1031,14 @@ struct ElementInfo char *sound_class_name; /* classification for custom sound effects */ char *editor_description; /* short description for level editor */ - /* default graphics for several actions */ - int graphic[NUM_GFX_ACTIONS]; - + int graphic[NUM_ACTIONS]; /* default graphics for several actions */ /* special graphics for left/right/up/down */ - int direction_graphic[NUM_GFX_ACTIONS][NUM_MV_DIRECTIONS]; -}; + int direction_graphic[NUM_ACTIONS][NUM_DIRECTIONS]; -struct GraphicInfo -{ - Bitmap *bitmap; - int src_x, src_y; + int sound[NUM_ACTIONS]; /* default sounds for several actions */ }; -struct NewGraphicInfo +struct GraphicInfo { Bitmap *bitmap; int src_x, src_y; /* derived from (tile sized) .xpos/.ypos */ @@ -1059,6 +1055,19 @@ struct NewGraphicInfo #endif }; +struct SoundInfo +{ + boolean loop; +}; + +struct SoundActionProperties +{ + char *text; + int value; + boolean is_loop; +}; + + #if 0 extern GC tile_clip_gc; extern Bitmap *pix[]; @@ -1126,7 +1135,9 @@ extern struct TapeInfo tape; extern struct GameInfo game; extern struct GlobalInfo global; extern struct ElementInfo element_info[]; -extern struct NewGraphicInfo graphic_info[]; +extern struct GraphicInfo graphic_info[]; +extern struct SoundInfo sound_info[]; +extern struct SoundActionProperties sound_action_properties[]; extern struct ConfigInfo image_config[], sound_config[]; extern struct ConfigInfo image_config_suffix[], sound_config_suffix[]; extern struct FileInfo *image_files, *sound_files;