X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=efbb577463a668522c5fed921d37a33244e78c44;hb=69eca5c908598155bf3f5d1fa74e73ff9e2bbbc9;hp=24fed063142bb606fc7c04342512ac7d1171e6fa;hpb=ef8c5a2593702e86fb1566cfc25dda5f35df2ea0;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 24fed063..efbb5774 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 @@ -1030,20 +1032,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_ACTIONS]; - + int graphic[NUM_ACTIONS]; /* default graphics for several actions */ /* special graphics for left/right/up/down */ 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 */ @@ -1060,6 +1056,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[]; @@ -1127,7 +1136,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;