X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=b3811e61e6fcdbdd82d23ba0094b9dad7ba792b4;hb=1e491a9ddfe4c4098a252b2703bd35f724eb397c;hp=6a50cea025ebab4399e7c1b9b4f583d3195fa6f3;hpb=c0f3e2e3c8f0c8b88fca68375d0b942bda8ffcbf;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 6a50cea0..b3811e61 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -194,10 +194,25 @@ /* values for special (non game element) animation modes */ #define ANIM_HORIZONTAL (1 << 10) #define ANIM_VERTICAL (1 << 11) -#define ANIM_STATIC_PANEL (1 << 12) +#define ANIM_CENTERED (1 << 12) +#define ANIM_STATIC_PANEL (1 << 13) +#define ANIM_FADE (1 << 14) +#define ANIM_CROSSFADE (1 << 15) #define ANIM_DEFAULT ANIM_LOOP +/* values for text alignment */ +#define ALIGN_LEFT (1 << 0) +#define ALIGN_RIGHT (1 << 1) +#define ALIGN_CENTER (1 << 2) + +#define ALIGN_DEFAULT ALIGN_LEFT + +#define ALIGNED_XPOS(x,w,a) ((a) == ALIGN_CENTER ? (x) - (w) / 2 : \ + (a) == ALIGN_RIGHT ? (x) - (w) : (x)) +#define ALIGNED_MENU_XPOS(p) ALIGNED_XPOS((p)->x, (p)->width, (p)->align) +#define ALIGNED_MENU_YPOS(p) ((p)->y) + /* values for redraw_mask */ #define REDRAW_NONE (0) #define REDRAW_ALL (1 << 0) @@ -236,7 +251,8 @@ /* values for mouse cursor */ #define CURSOR_DEFAULT 0 -#define CURSOR_PLAYFIELD 1 +#define CURSOR_NONE 1 +#define CURSOR_PLAYFIELD 2 /* fundamental game speed values */ #define ONE_SECOND_DELAY 1000 /* delay value for one second */ @@ -299,6 +315,7 @@ #define TAPES_DIRECTORY "tapes" #define SCORES_DIRECTORY "scores" #define DOCS_DIRECTORY "docs" +#define CACHE_DIRECTORY "cache" #if !defined(PLATFORM_MSDOS) #define GFX_CLASSIC_SUBDIR "gfx_classic" @@ -323,6 +340,7 @@ #define GRAPHICSINFO_FILENAME "graphicsinfo.conf" #define SOUNDSINFO_FILENAME "soundsinfo.conf" #define MUSICINFO_FILENAME "musicinfo.conf" +#define ARTWORKINFO_CACHE_FILE "artworkinfo.cache" #define LEVELFILE_EXTENSION "level" #define TAPEFILE_EXTENSION "tape" #define SCOREFILE_EXTENSION "score" @@ -338,6 +356,7 @@ #define GRAPHICSINFO_FILENAME "gfxinfo.cnf" #define SOUNDSINFO_FILENAME "sndinfo.cnf" #define MUSICINFO_FILENAME "musinfo.cnf" +#define ARTWORKINFO_CACHE_FILE "artinfo.cac" #define LEVELFILE_EXTENSION "lvl" #define TAPEFILE_EXTENSION "tap" #define SCOREFILE_EXTENSION "sco" @@ -710,6 +729,7 @@ struct SetupEditorInfo boolean el_diamond_caves; boolean el_dx_boulderdash; boolean el_chars; + boolean el_steel_chars; boolean el_custom; boolean el_user_defined; boolean el_dynamic; @@ -733,6 +753,7 @@ struct SetupEditorCascadeInfo boolean el_dc; boolean el_dx; boolean el_chars; + boolean el_steel_chars; boolean el_ce; boolean el_ge; boolean el_ref; @@ -752,6 +773,7 @@ struct SetupShortcutInfo struct SetupSystemInfo { + char *sdl_videodriver; char *sdl_audiodriver; int audio_fragment_size; }; @@ -784,6 +806,7 @@ struct SetupInfo boolean quick_switch; boolean input_on_focus; boolean prefer_aga_graphics; + int game_frame_delay; char *graphics_set; char *sounds_set; @@ -990,6 +1013,23 @@ struct Rect int width, height; }; +#if 1 +struct MenuPosInfo +{ + int x, y; + int width, height; + int align; +}; + +struct TextPosInfo +{ + int x, y; + int width, height; + int align; + int chars; +}; +#endif + /* ========================================================================= */ /* exported variables */ @@ -1043,12 +1083,13 @@ void InitGfxDoor2Info(int, int, int, int); void InitGfxScrollbufferInfo(int, int); void SetDrawDeactivationMask(int); void SetDrawBackgroundMask(int); +void SetWindowBackgroundBitmap(Bitmap *); void SetMainBackgroundBitmap(Bitmap *); void SetDoorBackgroundBitmap(Bitmap *); void InitVideoDisplay(void); void CloseVideoDisplay(void); -void InitVideoBuffer(DrawBuffer **,DrawWindow **, int,int,int, boolean); +void InitVideoBuffer(int, int, int, boolean); Bitmap *CreateBitmapStruct(void); Bitmap *CreateBitmap(int, int, int); void FreeBitmap(Bitmap *);