win32: add separate framelimiter so that you can use frameskip 0 + limit (the old pre-0.9.1 style before I broke it)
This commit is contained in:
parent
962d1e5e2d
commit
c3c3e48da7
|
@ -152,6 +152,8 @@ int WndY = 0;
|
||||||
|
|
||||||
int ScreenGap = 0;
|
int ScreenGap = 0;
|
||||||
|
|
||||||
|
static int FrameLimit = 0;
|
||||||
|
|
||||||
//=========================== view tools
|
//=========================== view tools
|
||||||
TOOLSCLASS *ViewDisasm_ARM7 = NULL;
|
TOOLSCLASS *ViewDisasm_ARM7 = NULL;
|
||||||
TOOLSCLASS *ViewDisasm_ARM9 = NULL;
|
TOOLSCLASS *ViewDisasm_ARM9 = NULL;
|
||||||
|
@ -938,7 +940,7 @@ DWORD WINAPI run()
|
||||||
NDS_SkipFrame(true);
|
NDS_SkipFrame(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(frameskiprate != 0 || autoframeskipenab)
|
if(autoframeskipenab || FrameLimit)
|
||||||
while(SpeedThrottle())
|
while(SpeedThrottle())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -1086,6 +1088,8 @@ int MenuInit()
|
||||||
MainWindow->checkMenu(IDM_SCREENSEP_BORDER, MF_BYCOMMAND | ((ScreenGap==5)?MF_CHECKED:MF_UNCHECKED));
|
MainWindow->checkMenu(IDM_SCREENSEP_BORDER, MF_BYCOMMAND | ((ScreenGap==5)?MF_CHECKED:MF_UNCHECKED));
|
||||||
MainWindow->checkMenu(IDM_SCREENSEP_NDSGAP, MF_BYCOMMAND | ((ScreenGap==64)?MF_CHECKED:MF_UNCHECKED));
|
MainWindow->checkMenu(IDM_SCREENSEP_NDSGAP, MF_BYCOMMAND | ((ScreenGap==64)?MF_CHECKED:MF_UNCHECKED));
|
||||||
|
|
||||||
|
MainWindow->checkMenu(IDC_FRAMELIMIT, MF_BYCOMMAND | FrameLimit?MF_CHECKED:MF_UNCHECKED);
|
||||||
|
|
||||||
recentromsmenu = LoadMenu(hAppInst, "RECENTROMS");
|
recentromsmenu = LoadMenu(hAppInst, "RECENTROMS");
|
||||||
GetRecentRoms();
|
GetRecentRoms();
|
||||||
|
|
||||||
|
@ -1271,6 +1275,7 @@ int WINAPI WinMain (HINSTANCE hThisInstance,
|
||||||
WndY = GetPrivateProfileInt("Video","WindowPosY", CW_USEDEFAULT, IniName);
|
WndY = GetPrivateProfileInt("Video","WindowPosY", CW_USEDEFAULT, IniName);
|
||||||
frameCounterDisplay = GetPrivateProfileInt("Display","FrameCounter", 0, IniName);
|
frameCounterDisplay = GetPrivateProfileInt("Display","FrameCounter", 0, IniName);
|
||||||
ScreenGap = GetPrivateProfileInt("Display", "ScreenGap", 0, IniName);
|
ScreenGap = GetPrivateProfileInt("Display", "ScreenGap", 0, IniName);
|
||||||
|
FrameLimit = GetPrivateProfileInt("FrameLimit", "FrameLimit", 1, IniName);
|
||||||
//sprintf(text, "%s", DESMUME_NAME_AND_VERSION);
|
//sprintf(text, "%s", DESMUME_NAME_AND_VERSION);
|
||||||
MainWindow = new WINCLASS(CLASSNAME, hThisInstance);
|
MainWindow = new WINCLASS(CLASSNAME, hThisInstance);
|
||||||
DWORD dwStyle = WS_CAPTION| WS_SYSMENU | WS_SIZEBOX | WS_MINIMIZEBOX | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
|
DWORD dwStyle = WS_CAPTION| WS_SYSMENU | WS_SIZEBOX | WS_MINIMIZEBOX | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
|
||||||
|
@ -2745,6 +2750,12 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
||||||
ChangeLanguage(2);
|
ChangeLanguage(2);
|
||||||
CheckLanguage(LOWORD(wParam));
|
CheckLanguage(LOWORD(wParam));
|
||||||
return 0;
|
return 0;
|
||||||
|
case IDC_FRAMELIMIT:
|
||||||
|
{
|
||||||
|
FrameLimit ^= 1;
|
||||||
|
MainWindow->checkMenu(IDC_FRAMELIMIT, FrameLimit ? MF_CHECKED : MF_UNCHECKED);
|
||||||
|
WritePrivateProfileInt("FrameLimit", "FrameLimit", FrameLimit, IniName);
|
||||||
|
}
|
||||||
case IDM_SCREENSEP_NONE:
|
case IDM_SCREENSEP_NONE:
|
||||||
{
|
{
|
||||||
SetScreenGap(0);
|
SetScreenGap(0);
|
||||||
|
|
|
@ -389,6 +389,7 @@
|
||||||
#define IDM_SCREENSEP_NDSGAP 40002
|
#define IDM_SCREENSEP_NDSGAP 40002
|
||||||
#define IDM_ABOUT 40003
|
#define IDM_ABOUT 40003
|
||||||
#define IDM_EMULATIONSETTINGS 40004
|
#define IDM_EMULATIONSETTINGS 40004
|
||||||
|
#define IDC_FRAMELIMIT 40005
|
||||||
#define ID_VIEW_FRAMECOUNTER 40009
|
#define ID_VIEW_FRAMECOUNTER 40009
|
||||||
#define ID_VIEW_DISPLAYFPS 40010
|
#define ID_VIEW_DISPLAYFPS 40010
|
||||||
#define IDM_FILE_RECORDAVI 40015
|
#define IDM_FILE_RECORDAVI 40015
|
||||||
|
|
|
@ -131,6 +131,7 @@ BEGIN
|
||||||
MENUITEM "Firmware Indstillinger", IDM_FIRMSETTINGS
|
MENUITEM "Firmware Indstillinger", IDM_FIRMSETTINGS
|
||||||
POPUP "&Frame Skip"
|
POPUP "&Frame Skip"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
MENUITEM "Limit to 60", IDC_FRAMELIMIT
|
||||||
MENUITEM "Auto", IDC_FRAMESKIPAUTO
|
MENUITEM "Auto", IDC_FRAMESKIPAUTO
|
||||||
MENUITEM "0", IDC_FRAMESKIP0
|
MENUITEM "0", IDC_FRAMESKIP0
|
||||||
MENUITEM "1", IDC_FRAMESKIP1
|
MENUITEM "1", IDC_FRAMESKIP1
|
||||||
|
@ -294,6 +295,7 @@ BEGIN
|
||||||
MENUITEM "Emulation Settings", IDM_EMULATIONSETTINGS
|
MENUITEM "Emulation Settings", IDM_EMULATIONSETTINGS
|
||||||
POPUP "&Frame Skip"
|
POPUP "&Frame Skip"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
MENUITEM "Limit to 60", IDC_FRAMELIMIT
|
||||||
MENUITEM "Auto", IDC_FRAMESKIPAUTO
|
MENUITEM "Auto", IDC_FRAMESKIPAUTO
|
||||||
MENUITEM "0", IDC_FRAMESKIP0
|
MENUITEM "0", IDC_FRAMESKIP0
|
||||||
MENUITEM "1", IDC_FRAMESKIP1
|
MENUITEM "1", IDC_FRAMESKIP1
|
||||||
|
@ -455,6 +457,7 @@ BEGIN
|
||||||
MENUITEM "Config. du firmware", IDM_FIRMSETTINGS
|
MENUITEM "Config. du firmware", IDM_FIRMSETTINGS
|
||||||
POPUP "&Frame Skip"
|
POPUP "&Frame Skip"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
MENUITEM "Limit to 60", IDC_FRAMELIMIT
|
||||||
MENUITEM "Auto", IDC_FRAMESKIPAUTO
|
MENUITEM "Auto", IDC_FRAMESKIPAUTO
|
||||||
MENUITEM "0", IDC_FRAMESKIP0
|
MENUITEM "0", IDC_FRAMESKIP0
|
||||||
MENUITEM "1", IDC_FRAMESKIP1
|
MENUITEM "1", IDC_FRAMESKIP1
|
||||||
|
|
Loading…
Reference in New Issue