X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=5d26341fada842c940c809036889fd413ca389a4;hb=ddd58a300bd5996f69a8ec41d1fd140fe7a46f18;hp=5ba6da71edb1fbd6a6785a659a336772d941d8eb;hpb=5c94351c5b8a12d8615b447b6275dd2f68615be4;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 5ba6da71..5d26341f 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -48,6 +48,9 @@ #define FULLSCREEN_NOT_AVAILABLE FALSE #define FULLSCREEN_AVAILABLE TRUE +#define CREATE_SPECIAL_EDITION FALSE +#define CREATE_SPECIAL_EDITION_RND_JUE FALSE + /* default input keys */ #define DEFAULT_KEY_LEFT KSYM_Left #define DEFAULT_KEY_RIGHT KSYM_Right @@ -203,14 +206,18 @@ #define FADE_TYPE_NONE 0 #define FADE_TYPE_FADE_IN (1 << 0) #define FADE_TYPE_FADE_OUT (1 << 1) -#define FADE_TYPE_CROSS (1 << 2) -#define FADE_TYPE_SKIP (1 << 3) +#define FADE_TYPE_TRANSFORM (1 << 2) +#define FADE_TYPE_CROSSFADE (1 << 3) +#define FADE_TYPE_MELT (1 << 4) +#define FADE_TYPE_SKIP (1 << 5) #define FADE_MODE_NONE (FADE_TYPE_NONE) #define FADE_MODE_FADE_IN (FADE_TYPE_FADE_IN) #define FADE_MODE_FADE_OUT (FADE_TYPE_FADE_OUT) #define FADE_MODE_FADE (FADE_TYPE_FADE_IN | FADE_TYPE_FADE_OUT) -#define FADE_MODE_CROSSFADE (FADE_TYPE_FADE_IN | FADE_TYPE_CROSS) +#define FADE_MODE_TRANSFORM (FADE_TYPE_TRANSFORM | FADE_TYPE_FADE_IN) +#define FADE_MODE_CROSSFADE (FADE_MODE_TRANSFORM | FADE_TYPE_CROSSFADE) +#define FADE_MODE_MELT (FADE_MODE_TRANSFORM | FADE_TYPE_MELT) #define FADE_MODE_SKIP_FADE_IN (FADE_TYPE_SKIP | FADE_TYPE_FADE_IN) #define FADE_MODE_SKIP_FADE_OUT (FADE_TYPE_SKIP | FADE_TYPE_FADE_OUT) @@ -335,15 +342,27 @@ #define CACHE_DIRECTORY "cache" #if !defined(PLATFORM_MSDOS) +#if CREATE_SPECIAL_EDITION_RND_JUE +#define GFX_CLASSIC_SUBDIR "jue0" +#define SND_CLASSIC_SUBDIR "jue0" +#define MUS_CLASSIC_SUBDIR "jue0" +#else #define GFX_CLASSIC_SUBDIR "gfx_classic" #define SND_CLASSIC_SUBDIR "snd_classic" #define MUS_CLASSIC_SUBDIR "mus_classic" +#endif #else #define GFX_CLASSIC_SUBDIR "gfx_orig" #define SND_CLASSIC_SUBDIR "snd_orig" #define MUS_CLASSIC_SUBDIR "mus_orig" #endif +#if CREATE_SPECIAL_EDITION +#define GFX_FALLBACK_FILENAME "fallback.pcx" +#define SND_FALLBACK_FILENAME "fallback.wav" +#define MUS_FALLBACK_FILENAME "fallback.wav" +#endif + /* file names and filename extensions */ #if !defined(PLATFORM_MSDOS) #define LEVELSETUP_DIRECTORY "levelsetup" @@ -566,6 +585,12 @@ (type) == ARTWORK_TYPE_MUSIC ? \ options.music_directory : "") +#define UPDATE_BUSY_STATE() \ +{ \ + if (gfx.draw_busy_anim_function != NULL) \ + gfx.draw_busy_anim_function(); \ +} + /* type definitions */ typedef int (*EventFilter)(const Event *); @@ -706,6 +731,8 @@ struct GfxInfo int (*get_font_from_token_function)(char *); int anim_random_frame; + + void (*draw_busy_anim_function)(void); }; struct JoystickInfo @@ -808,6 +835,7 @@ struct SetupInfo boolean double_buffering; boolean direct_draw; /* !double_buffering (redundant!) */ boolean scroll_delay; + boolean scroll_delay_value; boolean soft_scrolling; boolean fade_screens; boolean autorecord; @@ -1045,8 +1073,11 @@ struct TextPosInfo int x, y; int width, height; int align, valign; - int chars; + int size; int font, font_alt; + boolean draw_masked; + int sort_priority; + int id; }; @@ -1100,6 +1131,7 @@ void InitGfxFieldInfo(int, int, int, int, int, int, int, int, Bitmap *); void InitGfxDoor1Info(int, int, int, int); void InitGfxDoor2Info(int, int, int, int); void InitGfxScrollbufferInfo(int, int); +void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void)); void SetDrawDeactivationMask(int); void SetDrawBackgroundMask(int); void SetWindowBackgroundBitmap(Bitmap *);