From 3073f375b498570a637d8a9f5f58aa46398245e5 Mon Sep 17 00:00:00 2001 From: Ghabry Date: Mon, 2 Sep 2024 15:40:27 +0200 Subject: [PATCH 1/2] Fix 3ds build (wrong var type in WaitForSingleMovement) --- src/game_interpreter_map.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/game_interpreter_map.cpp b/src/game_interpreter_map.cpp index ececf983c1..8cdaa8cdc0 100644 --- a/src/game_interpreter_map.cpp +++ b/src/game_interpreter_map.cpp @@ -793,9 +793,9 @@ bool Game_Interpreter_Map::CommandEasyRpgWaitForSingleMovement(lcf::rpg::EventCo _state.easyrpg_parameters.resize(3); - int& event_id = _state.easyrpg_parameters[0]; - int& failure_limit = _state.easyrpg_parameters[1]; - int& output_var = _state.easyrpg_parameters[2]; + auto& event_id = _state.easyrpg_parameters[0]; + auto& failure_limit = _state.easyrpg_parameters[1]; + auto& output_var = _state.easyrpg_parameters[2]; if (!_state.easyrpg_active) { event_id = ValueOrVariable(com.parameters[0], com.parameters[1]); From 425da583009b737f858a0b29fd4101980130f591 Mon Sep 17 00:00:00 2001 From: Ghabry Date: Mon, 2 Sep 2024 15:41:49 +0200 Subject: [PATCH 2/2] Cast the string constants to char* when tremor is used. Fixes warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] Tremor never writes to the strings so this is safe to do. --- src/decoder_oggvorbis.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/decoder_oggvorbis.cpp b/src/decoder_oggvorbis.cpp index ddf1716581..1a69564fa6 100644 --- a/src/decoder_oggvorbis.cpp +++ b/src/decoder_oggvorbis.cpp @@ -92,21 +92,29 @@ bool OggVorbisDecoder::Open(Filesystem_Stream::InputStream stream) { vorbis_comment* vc = ov_comment(ovf, -1); if (vc) { // RPG VX loop support - const char* str = vorbis_comment_query(vc, "LOOPSTART", 0); + // Workaround conversion of string constant to char warning because + // of tremor using a different signature. +#if defined(HAVE_TREMOR) + using char_type = char*; +#else + using char_type = const char*; +#endif + + const char* str = vorbis_comment_query(vc, (char_type)"LOOPSTART", 0); if (str) { auto total = ov_pcm_total(ovf, -1) ; loop.start = std::min(atoi(str), total); if (loop.start >= 0) { loop.looping = true; loop.end = total; - str = vorbis_comment_query(vc, "LOOPLENGTH", 0); + str = vorbis_comment_query(vc, (char_type)"LOOPLENGTH", 0); if (str) { int len = atoi(str); if (len >= 0) { loop.end = std::min(loop.start + len, total); } } else { - str = vorbis_comment_query(vc, "LOOPEND", 0); + str = vorbis_comment_query(vc, (char_type)"LOOPEND", 0); if (str) { int end = atoi(str); if (end >= 0) {