📄 main.h
字号:
#ifndef __MAIN_HEADER_FILE
#define __MAIN_HEADER_FILE
#define SMS_CLASS_NAME "SMS"
#define SMS_MUTEX_NAME "SMS Mutex"
#define SMS_INSTANCE_LOAD_NAME "SMS Instance Load"
#define FREQ_50HZ 50
#define FREQ_60HZ 60
#define PLAYER_1 0
#define PLAYER_2 1
#define MAX_PLAYERS 2
#define MAX_SAVE_STATES 100
#define SCREENSHOT_KEY DIK_F12
#define LOAD_STATE_KEY DIK_F5
#define SAVE_STATE_KEY DIK_F6
#define RESET_KEY DIK_F1
typedef struct BMP
{
BITMAPINFOHEADER BitmapInfoHeader;
RGBQUAD Palette[256];
} BMP;
int WINAPI WinMain(HINSTANCE, HINSTANCE, PSTR, int);
LRESULT CALLBACK MainWindowProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ConfigureControlsProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ConfigureControlsKeyProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK SettingsProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK AboutProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK SaveStateProc(HWND, UINT, WPARAM, LPARAM);
void InitVRAM(void);
void UpdatePalette(void);
void OpenROM(char *);
void AdjustWindowSize(void);
void LoadSRAM(void);
void SaveSRAM(void);
void SetScreenScale(unsigned int);
void SetUpdateFrequency(unsigned int);
void SetFrameSkip(unsigned int);
int ConfigureButton(HWND, int, int, int, char *);
BOOL CreateSingleInstance(char *);
void DestroySingleInstance(void);
void PopulateConfigureControls(HWND);
void PopulateJoystickCombo(HWND, int);
char *GetGameName(void);
char *GetBitmapInfoHeader(void);
char *GetBitmapData(void);
void SetSoundFrequency(unsigned int);
void SetRegion(int);
void LoadState(void);
void SaveState(void);
HWND GetSMShwnd(void);
HINSTANCE GetSMSInstance(void);
int CountSaveStateFiles(char *, int *);
void CenterWindowInParent(HWND);
void GetConsoleScreenRect(RECT *);
BOOL GetRecordSoundStatus(void);
RGBQUAD *GetSMSPalette(void);
void SetScreenSmoothing(BOOL);
void SwitchInternalRenderingFormat(int);
void SetFrameTime(int);
BOOL DirectDrawAvailable(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -