X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flibgame%2Fsystem.h;h=3d5bd828441c6feec57f796b876d6238f089e32c;hb=322c8667eecfd313a24523a489b06b8454005d68;hp=af6b95a259e841b9775811103dd640ad1317be01;hpb=5dd3c868d9df906623a5fc0ff2124655a14e3715;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index af6b95a2..3d5bd828 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -116,6 +116,11 @@ (x) == MV_RIGHT ? MV_BIT_RIGHT : \ (x) == MV_UP ? MV_BIT_UP : MV_BIT_DOWN) +#define MV_DIR_OPPOSITE(x) ((x) == MV_LEFT ? MV_RIGHT : \ + (x) == MV_RIGHT ? MV_LEFT : \ + (x) == MV_UP ? MV_DOWN : \ + (x) == MV_DOWN ? MV_UP : MV_NO_MOVING) + /* values for animation mode (frame order and direction) */ #define ANIM_NONE 0 @@ -251,8 +256,8 @@ #define SETUP_FILENAME "setup.cnf" #define LEVELSETUP_FILENAME "lvlsetup.cnf" #define EDITORSETUP_FILENAME "edsetup.cnf" -#define HELPANIM_FILENAME "helpanim.conf" -#define HELPTEXT_FILENAME "helptext.conf" +#define HELPANIM_FILENAME "helpanim.cnf" +#define HELPTEXT_FILENAME "helptext.cnf" #define LEVELINFO_FILENAME "lvlinfo.cnf" #define GRAPHICSINFO_FILENAME "gfxinfo.cnf" #define SOUNDSINFO_FILENAME "sndinfo.cnf" @@ -270,7 +275,11 @@ PAGEX3: buffer for animations */ -#define DOOR_GFX_PAGESIZE (gfx.dxsize) +/* these values are hard-coded to be able to use them in initialization */ +#define DOOR_GFX_PAGE_WIDTH 100 /* should be set to "gfx.dxsize" */ +#define DOOR_GFX_PAGE_HEIGHT 280 /* should be set to "gfx.dysize" */ + +#define DOOR_GFX_PAGESIZE (DOOR_GFX_PAGE_WIDTH) #define DOOR_GFX_PAGEX1 (0 * DOOR_GFX_PAGESIZE) #define DOOR_GFX_PAGEX2 (1 * DOOR_GFX_PAGESIZE) #define DOOR_GFX_PAGEX3 (2 * DOOR_GFX_PAGESIZE) @@ -280,7 +289,7 @@ #define DOOR_GFX_PAGEX7 (6 * DOOR_GFX_PAGESIZE) #define DOOR_GFX_PAGEX8 (7 * DOOR_GFX_PAGESIZE) #define DOOR_GFX_PAGEY1 (0) -#define DOOR_GFX_PAGEY2 (gfx.dysize) +#define DOOR_GFX_PAGEY2 (DOOR_GFX_PAGE_HEIGHT) /* macros for version handling */ @@ -647,6 +656,7 @@ struct TreeInfo boolean parent_link; /* entry links back to parent directory */ boolean user_defined; /* user defined levels are stored in home directory */ boolean readonly; /* readonly levels can not be changed with editor */ + boolean handicap; /* level set has no handicap when set to "false" */ int color; /* color to use on selection screen for this level */ char *class_desc; /* description of level series class */ @@ -681,6 +691,12 @@ struct ValueTextInfo }; struct ConfigInfo +{ + char *token; + char *value; +}; + +struct ConfigTypeInfo { char *token; char *value; @@ -740,7 +756,7 @@ struct ArtworkListInfo struct FileInfo *dynamic_file_list; /* dynamic artwrk file array */ int num_suffix_list_entries; - struct ConfigInfo *suffix_list; /* parameter suffixes array */ + struct ConfigTypeInfo *suffix_list; /* parameter suffixes array */ int num_base_prefixes; int num_ext1_suffixes; @@ -857,7 +873,7 @@ Bitmap *LoadCustomImage(char *); void ReloadCustomImage(Bitmap *, char *); Bitmap *ZoomBitmap(Bitmap *, int, int); -void CreateBitmapWithSmallBitmaps(Bitmap *); +void CreateBitmapWithSmallBitmaps(Bitmap *, int); void SetMouseCursor(int);