mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-26 03:12:18 -05:00
added Cheat Sync Time (#957)
* added Cheat Sync Time This syncs the ingame time with the real world time. I wasnt quite sure where to put the code so im sorry if this is bad i just wanted to contribute to this project. * Update soh/src/code/z_play.c Co-authored-by: Christopher Leggett <chris@leggett.dev> * Update z_play.c added suggestions from leggettc18 * Update z_play.c Co-authored-by: Christopher Leggett <chris@leggett.dev>
This commit is contained in:
parent
27e0f19dac
commit
db33604171
@ -1416,6 +1416,9 @@ namespace SohImGui {
|
|||||||
Tooltip("Prevents the Deku Shield from burning on contact with fire");
|
Tooltip("Prevents the Deku Shield from burning on contact with fire");
|
||||||
EnhancementCheckbox("Shield with Two-Handed Weapons", "gShieldTwoHanded");
|
EnhancementCheckbox("Shield with Two-Handed Weapons", "gShieldTwoHanded");
|
||||||
Tooltip("This allows you to put up your shield with any two-handed weapon in hand except for Deku Sticks");
|
Tooltip("This allows you to put up your shield with any two-handed weapon in hand except for Deku Sticks");
|
||||||
|
Tooltip("This allows you to put up your shield with any two-handed weapon in hand\nexcept for Deku Sticks");
|
||||||
|
EnhancementCheckbox("Time Sync", "gTimeSync");
|
||||||
|
Tooltip("This syncs the ingame time with the real world time");
|
||||||
|
|
||||||
{
|
{
|
||||||
static int32_t betaQuestEnabled = CVar_GetS32("gEnableBetaQuest", 0);
|
static int32_t betaQuestEnabled = CVar_GetS32("gEnableBetaQuest", 0);
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
#include "../libultraship/ImGuiImpl.h"
|
#include "../libultraship/ImGuiImpl.h"
|
||||||
#include "soh/frame_interpolation.h"
|
#include "soh/frame_interpolation.h"
|
||||||
|
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
void* D_8012D1F0 = NULL;
|
void* D_8012D1F0 = NULL;
|
||||||
//UNK_TYPE D_8012D1F4 = 0; // unused
|
//UNK_TYPE D_8012D1F4 = 0; // unused
|
||||||
Input* D_8012D1F8 = NULL;
|
Input* D_8012D1F8 = NULL;
|
||||||
@ -1444,6 +1446,18 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
|
|||||||
CLOSE_DISPS(gfxCtx);
|
CLOSE_DISPS(gfxCtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
time_t Gameplay_GetRealTime() {
|
||||||
|
time_t t1, t2;
|
||||||
|
struct tm* tms;
|
||||||
|
time(&t1);
|
||||||
|
tms = localtime(&t1);
|
||||||
|
tms->tm_hour = 0;
|
||||||
|
tms->tm_min = 0;
|
||||||
|
tms->tm_sec = 0;
|
||||||
|
t2 = mktime(tms);
|
||||||
|
return t1 - t2;
|
||||||
|
}
|
||||||
|
|
||||||
void Gameplay_Main(GameState* thisx) {
|
void Gameplay_Main(GameState* thisx) {
|
||||||
GlobalContext* globalCtx = (GlobalContext*)thisx;
|
GlobalContext* globalCtx = (GlobalContext*)thisx;
|
||||||
|
|
||||||
@ -1487,6 +1501,20 @@ void Gameplay_Main(GameState* thisx) {
|
|||||||
if (1 && HREG(63)) {
|
if (1 && HREG(63)) {
|
||||||
LOG_NUM("1", 1);
|
LOG_NUM("1", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (CVar_GetS32("gTimeSync", 0)) {
|
||||||
|
const int maxRealDaySeconds = 86400;
|
||||||
|
const int maxInGameDayTicks = 65536;
|
||||||
|
|
||||||
|
int secs = (int)Gameplay_GetRealTime();
|
||||||
|
float percent = (float)secs / (float)maxRealDaySeconds;
|
||||||
|
|
||||||
|
int newIngameTime = maxInGameDayTicks * percent;
|
||||||
|
|
||||||
|
gSaveContext.dayTime = newIngameTime;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// original name: "Game_play_demo_mode_check"
|
// original name: "Game_play_demo_mode_check"
|
||||||
|
Loading…
Reference in New Issue
Block a user