mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-04 03:12:48 -04:00
9c24a0bc4b
Resolves #712
59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
#ifndef DUSK_IMGUI_MENUGAME_HPP
|
|
#define DUSK_IMGUI_MENUGAME_HPP
|
|
|
|
#include <aurora/aurora.h>
|
|
#include <pad.h>
|
|
#include <string>
|
|
|
|
#include "imgui.h"
|
|
|
|
namespace dusk {
|
|
struct SpeedrunInfo {
|
|
void startRun() {
|
|
m_isRunStarted = true;
|
|
m_startTimestamp = OSGetTime();
|
|
}
|
|
|
|
void stopRun() {
|
|
m_isRunStarted = false;
|
|
m_endTimestamp = OSGetTime() - m_startTimestamp;
|
|
}
|
|
|
|
void reset() {
|
|
m_isRunStarted = false;
|
|
m_startTimestamp = 0;
|
|
m_endTimestamp = 0;
|
|
m_isPauseIGT = false;
|
|
m_loadStartTimestamp = 0;
|
|
m_totalLoadTime = 0;
|
|
m_igtTimer = 0;
|
|
}
|
|
|
|
bool m_isRunStarted = false;
|
|
OSTime m_startTimestamp = 0;
|
|
OSTime m_endTimestamp = 0;
|
|
|
|
bool m_isPauseIGT = false;
|
|
OSTime m_loadStartTimestamp = 0;
|
|
OSTime m_totalLoadTime = 0;
|
|
OSTime m_igtTimer = 0;
|
|
};
|
|
|
|
extern SpeedrunInfo m_speedrunInfo;
|
|
|
|
class ImGuiMenuGame {
|
|
public:
|
|
ImGuiMenuGame();
|
|
void draw();
|
|
|
|
void drawSpeedrunTimerOverlay();
|
|
|
|
static void resetForSpeedrunMode();
|
|
|
|
private:
|
|
bool m_showTimerWindow = false;
|
|
};
|
|
}
|
|
|
|
#endif // DUSK_IMGUI_MENUGAME_HPP
|