mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-24 15:43:13 -04:00
Implement unlocked framerates via interpolation (#315)
* Disable waitForTick and waitBlanking * Initial frame interpolation implementation * Initial batch of speed fixes * Fix Iron Boots * Strip dead code once used for debugging * Interpolate shadows * Revert overzealous/redundant lookups * Fix JUTFader * Fix field map cursor * Fix various particle effects * Fix Midna when riding Wolf Link * Fix title logo * Title Logo 2: Electric Boogaloo * Fixed grass and flowers * "Unlock Framerate" config option (WIP) * Wrap more things in TARGET_PC * Finish wrapping things in TARGET_PC * Missed one * Disable dComIfGd_drawXluListInvisible when interpolating --------- Co-authored-by: Luke Street <luke@street.dev>
This commit is contained in:
+17
-1
@@ -14,6 +14,7 @@
|
||||
#include "d/actor/d_a_midna.h"
|
||||
#include "d/d_model.h"
|
||||
#include "d/d_tresure.h"
|
||||
#include "dusk/frame_interpolation.h"
|
||||
#include "dusk/logging.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
@@ -722,6 +723,17 @@ void fapGm_After() {
|
||||
fopCamM_Management();
|
||||
}
|
||||
|
||||
#ifdef TARGET_PC
|
||||
static void fapGm_Before() {
|
||||
dusk::frame_interp::begin_record();
|
||||
}
|
||||
|
||||
static void fapGm_AfterRecord() {
|
||||
dusk::frame_interp::end_record();
|
||||
fapGm_After();
|
||||
}
|
||||
#endif
|
||||
|
||||
void fapGm_Execute() {
|
||||
ZoneScoped;
|
||||
static u32 sExecCount = 0;
|
||||
@@ -752,7 +764,11 @@ void fapGm_Execute() {
|
||||
}
|
||||
#endif
|
||||
|
||||
fpcM_Management(NULL, fapGm_After);
|
||||
#ifdef TARGET_PC
|
||||
fpcM_Management(fapGm_Before, fapGm_AfterRecord);
|
||||
#else
|
||||
fpcM_ManagementFunc(NULL, fapGm_After);
|
||||
#endif
|
||||
cCt_Counter(0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user