init config opt system w/ 3 types and description support

This commit is contained in:
thecozies
2024-06-28 09:36:40 -05:00
committed by Mr-Wiseguy
parent 25e7b31228
commit f2869486cc
33 changed files with 1802 additions and 159 deletions
+18
View File
@@ -2,6 +2,7 @@
#include "recomp.h"
#include "librecomp/overlays.hpp"
#include "librecomp/config_store.hpp"
#include "zelda_config.h"
#include "recomp_input.h"
#include "recomp_ui.h"
@@ -177,3 +178,20 @@ extern "C" void recomp_set_right_analog_suppressed(uint8_t* rdram, recomp_contex
recomp::set_right_analog_suppressed(suppressed);
}
extern "C" void recomp_get_config_store_int(uint8_t* rdram, recomp_context* ctx) {
thread_local std::vector<char> key_buffer{};
key_buffer.clear();
char c;
PTR(char) cur_char = _arg<0, PTR(char)>(rdram, ctx);
size_t i = 0;
while ((c = MEM_B(cur_char, i)) != '\0') {
key_buffer.push_back(c);
i++;
}
_return(ctx, recomp::get_config_store_value<int>(
std::string_view{key_buffer.data(), key_buffer.size()}
));
}