X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=02e58143fbb6668351aa67cc480da745574f1a45;hb=c42db18f39053cf2ec85943c37a20b8caa742d09;hp=79eeb0b4b26ffe581e5528d628b28bf0c07bb5db;hpb=df4dc8e0755fb2d7f651ce31aff28bc51cc8034a;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 79eeb0b4..02e58143 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -482,9 +482,9 @@ #define VALIGN_MIDDLE (1 << 2) #define VALIGN_DEFAULT VALIGN_TOP -#define ALIGNED_XPOS(x,w,a) ((a) == ALIGN_CENTER ? (x) - (w) / 2 : \ +#define ALIGNED_XPOS(x, w, a) ((a) == ALIGN_CENTER ? (x) - (w) / 2 : \ (a) == ALIGN_RIGHT ? (x) - (w) : (x)) -#define ALIGNED_YPOS(y,h,v) ((v) == VALIGN_MIDDLE ? (y) - (h) / 2 : \ +#define ALIGNED_YPOS(y, h, v) ((v) == VALIGN_MIDDLE ? (y) - (h) / 2 : \ (v) == VALIGN_BOTTOM ? (y) - (h) : (y)) #define ALIGNED_TEXT_XPOS(p) ALIGNED_XPOS((p)->x, (p)->width, (p)->align) #define ALIGNED_TEXT_YPOS(p) ALIGNED_YPOS((p)->y, (p)->height, (p)->valign) @@ -607,7 +607,7 @@ JOY_NO_ACTION) // maximum number of level sets in the level set history -#define MAX_LEVELDIR_HISTORY 12 +#define MAX_LEVELDIR_HISTORY 100 // default name for empty highscore entry #define EMPTY_PLAYER_NAME "no name" @@ -633,10 +633,13 @@ // default value for undefined password #define UNDEFINED_PASSWORD "[undefined]" -// default value for undefined parameter +// default value for undefined string parameter +#define ARG_UNDEFINED_STRING "[undefined]" + +// default value for default string parameter #define ARG_DEFAULT "[DEFAULT]" -// default values for undefined configuration file parameters +// default values for undefined numerical parameter (as string and integer) #define ARG_UNDEFINED "-1000000" #define ARG_UNDEFINED_VALUE (-1000000) @@ -706,13 +709,6 @@ #define FALLBACK_TEXT_FILENAME "fallback.txt" -#define LOG_OUT_BASENAME "stdout.txt" -#define LOG_ERR_BASENAME "stderr.txt" - -#define LOG_OUT_ID 0 -#define LOG_ERR_ID 1 -#define NUM_LOGS 2 - #define STRING_PARENT_DIRECTORY ".." #define STRING_TOP_DIRECTORY "/" @@ -1027,17 +1023,17 @@ struct ProgramInfo char *userdata_subdir; // personal user game data directory char *userdata_path; // resulting full path to game data directory + char *program_basename; char *program_title; char *window_title; - char *icon_title; char *icon_filename; char *cookie_prefix; - char *log_filename[NUM_LOGS]; // log filenames for out/err messages - FILE *log_file[NUM_LOGS]; // log file handles for out/err files - FILE *log_file_default[NUM_LOGS]; // default log file handles (out/err) + char *log_filename; // filename for log messages + FILE *log_file; // file handle for log files + FILE *log_file_default; // default log file handle int version_super; int version_major; @@ -1228,6 +1224,7 @@ struct GfxInfo struct FontBitmapInfo *font_bitmap_info; int (*select_font_function)(int); int (*get_font_from_token_function)(char *); + char * (*get_token_from_font_function)(int); int anim_random_frame; @@ -1451,6 +1448,7 @@ struct SetupInternalInfo boolean choose_from_top_leveldir; boolean show_scaling_in_title; boolean create_user_levelset; + boolean info_screens_from_main; boolean menu_game; boolean menu_engines; @@ -1511,6 +1509,7 @@ struct SetupInfo int engine_snapshot_memory; boolean fade_screens; boolean autorecord; + boolean autorecord_after_replay; boolean auto_pause_on_start; boolean show_titlescreen; boolean quick_doors; @@ -1658,6 +1657,7 @@ struct TreeInfo boolean skip_levels; // levels can be skipped when set to "true" boolean use_emc_tiles;// use (swapped) V5/V6 EMC tiles when set to "true" + boolean info_screens_from_main; // can invoke info screens from main menu int color; // color to use on selection screen for this level char *class_desc; // description of level series class @@ -1984,9 +1984,7 @@ boolean GetOverlayActive(void); void SetDrawDeactivationMask(int); int GetDrawDeactivationMask(void); void SetDrawBackgroundMask(int); -void SetWindowBackgroundBitmap(Bitmap *); -void SetMainBackgroundBitmap(Bitmap *); -void SetDoorBackgroundBitmap(Bitmap *); +void SetBackgroundBitmap(Bitmap *, int, int, int, int, int); void SetRedrawMaskFromArea(int, int, int, int); void LimitScreenUpdates(boolean); @@ -2000,7 +1998,7 @@ Bitmap *CreateBitmap(int, int, int); void ReCreateBitmap(Bitmap **, int, int); void FreeBitmap(Bitmap *); void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int); -void BlitBitmapTiled(Bitmap *, Bitmap *, int, int, int, int, int, int, int,int); +void BlitBitmapTiled(Bitmap *, Bitmap *, int, int, int, int, int, int, int, int); void FadeRectangle(int, int, int, int, int, int, int, void (*draw_border_function)(void)); void FillRectangle(Bitmap *, int, int, int, int, Pixel); @@ -2019,7 +2017,7 @@ void BlitToScreenMasked(Bitmap *, int, int, int, int, int, int); void DrawSimpleWhiteLine(Bitmap *, int, int, int, int); void DrawLines(Bitmap *, struct XY *, int, Pixel); Pixel GetPixel(Bitmap *, int, int); -Pixel GetPixelFromRGB(Bitmap *, unsigned int,unsigned int,unsigned int); +Pixel GetPixelFromRGB(Bitmap *, unsigned int, unsigned int, unsigned int); void KeyboardAutoRepeatOn(void); void KeyboardAutoRepeatOff(void);