move all ini settings to c_config

This commit is contained in:
FunkyFr3sh 2023-09-22 00:38:42 +02:00
parent 5ebda1fec7
commit fa8cdbd0df
18 changed files with 523 additions and 488 deletions

View file

@ -14,7 +14,79 @@ typedef struct CNCDDRAWCONFIG
char game_path[MAX_PATH];
char process_file_name[MAX_PATH];
char process_file_ext[MAX_PATH];
/* Optional settings */
BOOL fullscreen;
BOOL windowed;
BOOL maintas;
BOOL boxing;
int maxfps;
BOOL vsync;
BOOL adjmouse;
char shader[MAX_PATH];
char renderer[256];
BOOL devmode;
BOOL border;
int save_settings;
BOOL resizable;
int d3d9_filter;
BOOL vhack;
char screenshot_dir[MAX_PATH];
BOOL toggle_borderless;
/* Compatibility settings */
BOOL noactivateapp;
int maxgameticks;
BOOL nonexclusive;
BOOL singlecpu;
int resolutions;
int fixchilds;
BOOL hook_peekmessage;
int minfps;
DWORD minfps_tick_len;
/* Undocumented settings */
BOOL releasealt;
BOOL fixnotresponding;
int hook;
int guard_lines;
int max_resolutions;
BOOL limit_bltfast;
BOOL lock_surfaces;
BOOL allow_wmactivate;
BOOL flipclear;
BOOL fixmousehook;
BOOL rgb555;
BOOL no_dinput_hook;
int refresh_rate;
int anti_aliased_fonts_min_size;
int custom_width;
int custom_height;
int min_font_size;
/* Hotkeys */
struct
{
int toggle_fullscreen;
int toggle_maximize;
int unlock_cursor1;
int unlock_cursor2;
int screenshot;
} hotkeys;
/* Game specific settings */
BOOL remove_menu;
BOOL armadahack;
BOOL tshack;
BOOL infantryhack;
BOOL stronghold_hack;
BOOL mgs_hack;
} CNCDDRAWCONFIG;
@ -23,8 +95,4 @@ extern CNCDDRAWCONFIG g_config;
void cfg_load();
void cfg_save();
BOOL cfg_get_bool(LPCSTR key, BOOL default_value);
int cfg_get_int(LPCSTR key, int default_value);
DWORD cfg_get_string(LPCSTR key, LPCSTR default_value, LPSTR out_string, DWORD out_size);
#endif

View file

@ -65,13 +65,11 @@ typedef struct CNCDDRAW
DWORD width;
DWORD height;
DWORD bpp;
BOOL windowed;
BOOL border;
BOOL boxing;
DEVMODE mode;
struct IDirectDrawSurfaceImpl* primary;
char title[128];
char screenshot_dir[MAX_PATH];
CRITICAL_SECTION cs;
/* real export from system32\ddraw.dll */
@ -81,9 +79,6 @@ typedef struct CNCDDRAW
struct
{
int maxfps;
int minfps;
DWORD minfps_tick_len;
int width;
int height;
int opengl_y_align;
@ -119,63 +114,20 @@ typedef struct CNCDDRAW
RECT rc;
} mouse;
struct
{
int toggle_fullscreen;
int toggle_maximize;
int unlock_cursor1;
int unlock_cursor2;
int screenshot;
} hotkeys;
DWORD(WINAPI* renderer)(void);
HWND hwnd;
WNDPROC wndproc;
struct { DWORD x; DWORD y; } cursor;
BOOL adjmouse;
BOOL devmode;
BOOL vsync;
BOOL vhack;
int upscale_hack_width;
int upscale_hack_height;
BOOL isredalert;
BOOL iscnc1;
BOOL iskkndx;
LONG upscale_hack_active;
DWORD(WINAPI* renderer)(void);
BOOL fullscreen;
BOOL maintas;
BOOL noactivateapp;
char shader[MAX_PATH];
BOOL wine;
HCURSOR old_cursor;
int show_cursor_count;
BOOL allow_wmactivate;
BOOL opengl_core;
BOOL resizable;
BOOL toggle_borderless;
BOOL nonexclusive;
int fixchilds;
BOOL fixnotresponding;
BOOL flipclear;
BOOL lock_surfaces;
int d3d9_filter;
BOOL d3d9on12;
int guard_lines;
int resolutions;
int max_resolutions;
int refresh_rate;
int custom_width;
int custom_height;
BOOL limit_bltfast;
BOOL armadahack;
BOOL tshack;
BOOL infantryhack;
BOOL stronghold_hack;
BOOL mgs_hack;
BOOL remove_menu;
int maxgameticks;
BOOL alt_key_down;
BOOL releasealt;
BOOL bnet_active;
BOOL bnet_was_fullscreen;
BOOL bnet_was_upscaled;
@ -186,12 +138,12 @@ typedef struct CNCDDRAW
BOOL child_window_exists;
BOOL got_child_windows;
DWORD last_set_window_pos_tick; /* WINE hack */
BOOL show_driver_warning;
SPEEDLIMITER ticks_limiter;
SPEEDLIMITER flip_limiter;
DWORD gui_thread_id;
BOOL rgb555;
BOOL hook_peekmessage;
BOOL show_driver_warning;
BOOL d3d9on12;
BOOL opengl_core;
} CNCDDRAW;

View file

@ -103,7 +103,6 @@ extern GETDISKFREESPACEAPROC real_GetDiskFreeSpaceA;
extern COCREATEINSTANCEPROC real_CoCreateInstance;
extern SETUNHANDLEDEXCEPTIONFILTERPROC real_SetUnhandledExceptionFilter;
extern int g_hook_method;
extern BOOL g_hook_active;
extern HOOKLIST g_hook_hooklist[];