ref: 31cba4c664c5607b07ed8775b317425c916a1c64
dir: /config.h/
#pragma once
#include "types.h"
#include <SDL_keycode.h>
enum {
kKeys_Null,
kKeys_Controls,
kKeys_Controls_Last = kKeys_Controls + 11,
kKeys_Load,
kKeys_Load_Last = kKeys_Load + 19,
kKeys_Save,
kKeys_Save_Last = kKeys_Save + 19,
kKeys_Replay,
kKeys_Replay_Last = kKeys_Replay + 19,
kKeys_LoadRef,
kKeys_LoadRef_Last = kKeys_LoadRef + 19,
kKeys_ReplayRef,
kKeys_ReplayRef_Last = kKeys_ReplayRef + 19,
kKeys_CheatLife,
kKeys_CheatKeys,
kKeys_CheatEquipment,
kKeys_CheatWalkThroughWalls,
kKeys_ClearKeyLog,
kKeys_StopReplay,
kKeys_Fullscreen,
kKeys_Reset,
kKeys_Pause,
kKeys_PauseDimmed,
kKeys_Turbo,
kKeys_ReplayTurbo,
kKeys_WindowBigger,
kKeys_WindowSmaller,
kKeys_DisplayPerf,
kKeys_ToggleRenderer,
kKeys_VolumeUp,
kKeys_VolumeDown,
kKeys_Total,
};
enum {
kOutputMethod_SDL,
kOutputMethod_SDLSoftware,
kOutputMethod_OpenGL,
};
typedef struct Config {
int window_width;
int window_height;
bool enhanced_mode7;
bool new_renderer;
bool ignore_aspect_ratio;
uint8 fullscreen;
uint8 window_scale;
bool enable_audio;
bool linear_filtering;
uint8 output_method;
uint16 audio_freq;
uint8 audio_channels;
uint16 audio_samples;
bool autosave;
uint8 extended_aspect_ratio;
bool extend_y;
bool no_sprite_limits;
bool display_perf_title;
uint8 enable_msu;
bool resume_msu;
bool disable_frame_delay;
uint8 msuvolume;
uint32 features0;
const char *link_graphics;
char *memory_buffer;
const char *shader;
const char *msu_path;
} Config;
enum {
kMsuEnabled_Msu = 1,
kMsuEnabled_MsuDeluxe = 2,
kMsuEnabled_Opuz = 4,
};
enum {
kGamepadBtn_Invalid = -1,
kGamepadBtn_A,
kGamepadBtn_B,
kGamepadBtn_X,
kGamepadBtn_Y,
kGamepadBtn_Back,
kGamepadBtn_Guide,
kGamepadBtn_Start,
kGamepadBtn_L3,
kGamepadBtn_R3,
kGamepadBtn_L1,
kGamepadBtn_R1,
kGamepadBtn_DpadUp,
kGamepadBtn_DpadDown,
kGamepadBtn_DpadLeft,
kGamepadBtn_DpadRight,
kGamepadBtn_L2,
kGamepadBtn_R2,
kGamepadBtn_Count,
};
extern Config g_config;
void ParseConfigFile(const char *filename);
int FindCmdForSdlKey(SDL_Keycode code, SDL_Keymod mod);
int FindCmdForGamepadButton(int button, uint32 modifiers);