added set time debug ui

This commit is contained in:
thecozies
2024-04-05 11:25:30 -05:00
parent 50536bf737
commit 65ced0c594
8 changed files with 94 additions and 16 deletions
+4 -4
View File
@@ -4,7 +4,7 @@
#include "../patches/input.h"
std::atomic<uint16_t> pending_warp = 0xFFFF;
std::atomic<uint16_t> pending_set_time = 0xFFFF;
std::atomic<uint32_t> pending_set_time = 0xFFFF;
void recomp::do_warp(int area, int scene, int entrance) {
const recomp::SceneWarps game_scene = recomp::game_warps[area].scenes[scene];
@@ -17,11 +17,11 @@ extern "C" void recomp_get_pending_warp(uint8_t* rdram, recomp_context* ctx) {
_return(ctx, pending_warp.exchange(0xFFFF));
}
void recomp::set_time(uint8_t hour, uint8_t minute) {
pending_set_time.store((uint16_t(hour) << 8) | minute);
void recomp::set_time(uint8_t day, uint8_t hour, uint8_t minute) {
pending_set_time.store((day << 16) | (uint16_t(hour) << 8) | minute);
}
extern "C" void recomp_get_pending_set_time(uint8_t* rdram, recomp_context* ctx) {
// Return the current set time value and reset it.
_return(ctx, pending_set_time.exchange(0xFFFF));
}
}
+8 -3
View File
@@ -199,8 +199,9 @@ struct DebugContext {
int area_index = 0;
int scene_index = 0;
int entrance_index = 0;
uint8_t set_time_hour = 0;
uint8_t set_time_minute = 0;
int set_time_day = 1;
int set_time_hour = 12;
int set_time_minute = 0;
bool debug_enabled = false;
DebugContext() {
@@ -296,7 +297,7 @@ public:
recomp::register_event(listener, "set_time",
[](const std::string& param, Rml::Event& event) {
recomp::set_time(debug_context.set_time_hour, debug_context.set_time_minute);
recomp::set_time(debug_context.set_time_day, debug_context.set_time_hour, debug_context.set_time_minute);
});
}
@@ -627,6 +628,10 @@ public:
constructor.Bind("scene_names", &debug_context.scene_names);
constructor.Bind("entrance_names", &debug_context.entrance_names);
constructor.Bind("debug_time_day", &debug_context.set_time_day);
constructor.Bind("debug_time_hour", &debug_context.set_time_hour);
constructor.Bind("debug_time_minute", &debug_context.set_time_minute);
debug_context.model_handle = constructor.GetModelHandle();
}