3
0
mirror of https://github.com/CrazyRedMachine/popnhax.git synced 2024-11-27 23:40:50 +01:00

force_slow_timer

This commit is contained in:
CrazyRedMachine 2024-07-15 19:40:53 +02:00
parent acf03e2303
commit 6c8a1a26e9
3 changed files with 9 additions and 2 deletions

View File

@ -154,6 +154,8 @@
<high_framerate_limiter __type="bool">1</high_framerate_limiter> <high_framerate_limiter __type="bool">1</high_framerate_limiter>
<!-- Disable the builtin frame limiter --> <!-- Disable the builtin frame limiter -->
<fps_uncap __type="bool">0</fps_uncap> <fps_uncap __type="bool">0</fps_uncap>
<!-- Force slow timer speed even without high_framerate enabled (useful when running 120fps+ without high_framerate and without event/timer freeze) -->
<force_slow_timer __type="bool">0</force_slow_timer>
<!-- Song db patches (requires patch_db) --> <!-- Song db patches (requires patch_db) -->
<!-- Disable patch file detection/generation and manually set the XML file containing patches instead --> <!-- Disable patch file detection/generation and manually set the XML file containing patches instead -->
@ -178,7 +180,7 @@
<custom_category_title __type="str">Customs</custom_category_title> <custom_category_title __type="str">Customs</custom_category_title>
<!-- Format used for category title (in BM2DXFontScript format, refer to BM2DXFontScript.md in popnhax_tools repo) --> <!-- Format used for category title (in BM2DXFontScript format, refer to BM2DXFontScript.md in popnhax_tools repo) -->
<custom_category_format __type="str">[ol:4][olc:d92f0d]%s</custom_category_format> <custom_category_format __type="str">[ol:4][olc:d92f0d]%s</custom_category_format>
<!-- Format used for custom song titles on song select (Note: colors not working for kaimei and above, but rotation does, e.g. "* [rz:3]%s[/rz]" ) --> <!-- Format used for custom song titles on song select (Note: colors not working for kaimei and above, but rotation does, e.g. "[rz:3]/* %s */[/rz]" ) -->
<custom_track_title_format __type="str"></custom_track_title_format> <custom_track_title_format __type="str"></custom_track_title_format>
<!-- Optional secondary format used for older games only (Full colors supported, e.g. "[ol:4][olc:d92f0d]%s") --> <!-- Optional secondary format used for older games only (Full colors supported, e.g. "[ol:4][olc:d92f0d]%s") -->
<custom_track_title_format2 __type="str"></custom_track_title_format2> <custom_track_title_format2 __type="str"></custom_track_title_format2>

View File

@ -39,6 +39,7 @@ struct popnhax_config {
bool autopin; bool autopin;
bool attract_ex; bool attract_ex;
bool attract_full; bool attract_full;
bool force_slow_timer;
bool patch_db; bool patch_db;
bool disable_multiboot; bool disable_multiboot;

View File

@ -225,6 +225,8 @@ PSMAP_MEMBER_REQ(PSMAP_PROPERTY_TYPE_BOOL, struct popnhax_config, attract_ex,
"/popnhax/attract_ex") "/popnhax/attract_ex")
PSMAP_MEMBER_REQ(PSMAP_PROPERTY_TYPE_BOOL, struct popnhax_config, attract_full, PSMAP_MEMBER_REQ(PSMAP_PROPERTY_TYPE_BOOL, struct popnhax_config, attract_full,
"/popnhax/attract_full") "/popnhax/attract_full")
PSMAP_MEMBER_REQ(PSMAP_PROPERTY_TYPE_BOOL, struct popnhax_config, force_slow_timer,
"/popnhax/force_slow_timer")
/* removed options are now hidden as optional */ /* removed options are now hidden as optional */
PSMAP_MEMBER_OPT(PSMAP_PROPERTY_TYPE_U8, struct popnhax_config, survival_gauge, PSMAP_MEMBER_OPT(PSMAP_PROPERTY_TYPE_U8, struct popnhax_config, survival_gauge,
"/popnhax/survival_gauge", 0) "/popnhax/survival_gauge", 0)
@ -7966,7 +7968,7 @@ static bool patch_half_timer_speed()
MH_CreateHook((LPVOID)patch_addr, (LPVOID)hook_timer_increase, MH_CreateHook((LPVOID)patch_addr, (LPVOID)hook_timer_increase,
(void **)&real_timer_increase); (void **)&real_timer_increase);
} }
LOG("popnhax: high_framerate: halve timer speed\n"); LOG("popnhax: halve timer speed\n");
return true; return true;
} }
@ -8499,6 +8501,8 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserv
patch_afp_framerate(config.high_framerate_fps); patch_afp_framerate(config.high_framerate_fps);
patch_half_timer_speed(); patch_half_timer_speed();
config.fps_uncap = true; config.fps_uncap = true;
} else if (config.force_slow_timer) {
patch_half_timer_speed();
} }
if (config.fps_uncap) if (config.fps_uncap)