diff --git a/src/DivaGL/DivaGL.vcxproj b/src/DivaGL/DivaGL.vcxproj
index d39fdc2..8ab5d03 100644
--- a/src/DivaGL/DivaGL.vcxproj
+++ b/src/DivaGL/DivaGL.vcxproj
@@ -251,6 +251,7 @@ del "$(SolutionDir)bin\$(TargetName).lib"
+
@@ -295,6 +296,7 @@ del "$(SolutionDir)bin\$(TargetName).lib"
+
diff --git a/src/DivaGL/auth_3d.cpp b/src/DivaGL/auth_3d.cpp
index 0cb4da6..39e145a 100644
--- a/src/DivaGL/auth_3d.cpp
+++ b/src/DivaGL/auth_3d.cpp
@@ -8,6 +8,7 @@
#include "mdl/disp_manager.hpp"
#include "rob/rob.hpp"
#include "object.hpp"
+#include "frame_rate_control.hpp"
#include "render_context.hpp"
#include "sprite.hpp"
#include "texture.hpp"
@@ -450,7 +451,7 @@ struct auth_3d {
chara_index dst_chara;
int32_t pos;
int64_t field_A8;
- void* frame_rate; // FrameRateControl
+ FrameRateControl* frame_rate;
float_t frame;
float_t req_frame;
float_t max_frame;
diff --git a/src/DivaGL/effect.cpp b/src/DivaGL/effect.cpp
index 33d2628..3bc5380 100644
--- a/src/DivaGL/effect.cpp
+++ b/src/DivaGL/effect.cpp
@@ -9,6 +9,7 @@
#include "../KKdLib/hash.hpp"
#include "auth_3d.hpp"
#include "file_handler.hpp"
+#include "frame_rate_control.hpp"
#include "gl_state.hpp"
#include "gl_element_array_buffer.hpp"
#include "render_context.hpp"
@@ -79,7 +80,7 @@ struct EffectFogRing {
bool display;
int32_t current_stage_index;
prj::vector stage_indices;
- void* frame_rate_control; // FrameRateControl
+ FrameRateControl* frame_rate_control;
void draw();
};
diff --git a/src/DivaGL/frame_rate_control.cpp b/src/DivaGL/frame_rate_control.cpp
new file mode 100644
index 0000000..2f058b3
--- /dev/null
+++ b/src/DivaGL/frame_rate_control.cpp
@@ -0,0 +1,23 @@
+/*
+ by korenkonder
+ GitHub/GitLab: korenkonder
+*/
+
+#include "frame_rate_control.hpp"
+#include "types.hpp"
+
+FrameRateControl::FrameRateControl() {
+ frame_speed = 1.0f;
+}
+
+FrameRateControl::~FrameRateControl() {
+
+}
+
+void FrameRateControl::set_frame_speed(float_t value) {
+ frame_speed = value;
+}
+
+FrameRateControl* get_sys_frame_rate() {
+ return (FrameRateControl*)0x0000000140C9A6B0;
+}
diff --git a/src/DivaGL/frame_rate_control.hpp b/src/DivaGL/frame_rate_control.hpp
new file mode 100644
index 0000000..fd74155
--- /dev/null
+++ b/src/DivaGL/frame_rate_control.hpp
@@ -0,0 +1,21 @@
+/*
+ by korenkonder
+ GitHub/GitLab: korenkonder
+*/
+
+#pragma once
+
+#include "../KKdLib/default.hpp"
+
+class FrameRateControl {
+public:
+ float_t frame_speed;
+
+ FrameRateControl();
+ virtual ~FrameRateControl();
+
+ virtual float_t get_delta_frame() = 0;
+ virtual void set_frame_speed(float_t value);
+};
+
+extern FrameRateControl* get_sys_frame_rate();