From d3d36b0912430e313f2f5a56bd897c8d009dd9b7 Mon Sep 17 00:00:00 2001 From: Ghabry Date: Thu, 2 Nov 2023 00:36:19 +0100 Subject: [PATCH] String Var: GetWithMode: Swap mode and arg for consistency with ValueOrVariable --- src/game_interpreter.cpp | 42 ++++++++++++++++++++-------------------- src/game_strings.h | 8 ++++---- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/game_interpreter.cpp b/src/game_interpreter.cpp index 7a6b12b9c5..90b0f11895 100644 --- a/src/game_interpreter.cpp +++ b/src/game_interpreter.cpp @@ -3614,8 +3614,8 @@ bool Game_Interpreter::CommandConditionalBranch(lcf::rpg::EventCommand const& co int ignoreCase = com.parameters[4] >> 8 & 1; std::string str_param = ToString(com.string); - StringView str_l = Main_Data::game_strings->GetWithMode(str_param, com.parameters[2], modes[0]+1, *Main_Data::game_variables); - StringView str_r = Main_Data::game_strings->GetWithMode(str_param, com.parameters[3], modes[1], *Main_Data::game_variables); + StringView str_l = Main_Data::game_strings->GetWithMode(str_param, modes[0]+1, com.parameters[2], *Main_Data::game_variables); + StringView str_r = Main_Data::game_strings->GetWithMode(str_param, modes[1], com.parameters[3], *Main_Data::game_variables); result = ManiacPatch::CheckString(str_l, str_r, op, ignoreCase); } break; @@ -4317,8 +4317,8 @@ bool Game_Interpreter::CommandManiacShowStringPicture(lcf::rpg::EventCommand con if (com.parameters.size() >= 23) { text.text = ToString(Main_Data::game_strings->GetWithMode( components[1], - com.parameters[22], delims[0] - 1, + com.parameters[22], *Main_Data::game_variables )); } else { @@ -4759,7 +4759,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& switch (fn) { case 0: //String - result = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables)); + result = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables)); args[1] = ValueOrVariable(modes[1], args[1]); // min_size @@ -4798,7 +4798,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& int pos = 0; std::string op_string; for (int i = 0; i < 3; i++) { - op_string += ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[i], modes[i], &pos, *Main_Data::game_variables)); + op_string += ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[i], args[i], &pos, *Main_Data::game_variables)); } result = std::move(op_string); break; @@ -4809,8 +4809,8 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& std::string base, insert; args[1] = ValueOrVariable(modes[1], args[1]); - base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[0], modes[0], &pos, *Main_Data::game_variables)); - insert = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[2], modes[2], &pos, *Main_Data::game_variables)); + base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[0], args[0], &pos, *Main_Data::game_variables)); + insert = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[2], args[2], &pos, *Main_Data::game_variables)); result = base.insert(args[1], insert); break; @@ -4820,9 +4820,9 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& int pos = 0; std::string base, search, replacement; - base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[0], modes[0], &pos, *Main_Data::game_variables)); - search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[1], modes[1], &pos, *Main_Data::game_variables)); - replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[2], modes[2], &pos, *Main_Data::game_variables)); + base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[0], args[0], &pos, *Main_Data::game_variables)); + search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[1], args[1], &pos, *Main_Data::game_variables)); + replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[2], args[2], &pos, *Main_Data::game_variables)); std::size_t index = base.find(search); while (index != std::string::npos) { @@ -4836,12 +4836,12 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& case 9: //Substring (subs) args[1] = ValueOrVariable(modes[1], args[1]); args[2] = ValueOrVariable(modes[2], args[2]); - result = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables).substr(args[1], args[2])); + result = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables).substr(args[1], args[2])); break; case 10: //Join (join) { std::string op_string; - std::string delimiter = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables)); + std::string delimiter = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables)); // args[1] & mode[1] relates to starting ID for strings to join // mode 0 = id literal, 1 = direct var, 2 = var literal, 3 = direct var @@ -4864,7 +4864,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& case 12: //File (file) { // maniacs does not like a file extension - StringView filename = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables); + StringView filename = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables); // args[1] is the encoding... 0 for ansi, 1 for utf8 bool do_yield; result = Game_Strings::FromFile(filename, args[1], do_yield); @@ -4880,7 +4880,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& case 13: //Remove (rem) args[1] = ValueOrVariable(modes[1], args[1]); args[2] = ValueOrVariable(modes[2], args[2]); - result = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables)); + result = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables)); result = result.erase(args[1], args[2]); break; case 14: //Replace Ex (exRep) , edge case: the arg "first" is at ((flags >> 19) & 1). Wtf BingShan @@ -4888,9 +4888,9 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& int pos = 0; std::string base, search, replacement; - base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[0], modes[0], &pos, *Main_Data::game_variables)); - search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[1], modes[1], &pos, *Main_Data::game_variables)); - replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[2], modes[2], &pos, *Main_Data::game_variables)); + base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[0], args[0], &pos, *Main_Data::game_variables)); + search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[1], args[1], &pos, *Main_Data::game_variables)); + replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[2], args[2], &pos, *Main_Data::game_variables)); std::regex rexp(search); @@ -4921,7 +4921,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& break; case 4: //inStr FIXME: takes hex? { - StringView search = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables); + StringView search = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables); args[1] = ValueOrVariable(modes[1], args[1]); // not sure this is necessary but better safe args[2] = ValueOrVariable(modes[2], args[2]); @@ -4931,7 +4931,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& } case 5: //split takes hex { - StringView delimiter = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables); + StringView delimiter = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables); args[1] = ValueOrVariable(modes[1], args[1]); args[2] = ValueOrVariable(modes[2], args[2]); @@ -4941,7 +4941,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& } case 7: //toFile takes hex { - StringView filename = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables); + StringView filename = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables); args[1] = ValueOrVariable(modes[1], args[1]); Main_Data::game_strings->ToFile(str_params, ToString(filename), args[1]); @@ -4961,7 +4961,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const& case 10: //exMatch , edge case: the only command that generates 8 parameters instead of 7 { // takes hex - std::string expr = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables)); + std::string expr = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables)); args[1] = ValueOrVariable(modes[1], args[1]); // output var args[2] = ValueOrVariable(modes[2], args[2]); // beginning pos diff --git a/src/game_strings.h b/src/game_strings.h index b6af948b36..38a20c6532 100644 --- a/src/game_strings.h +++ b/src/game_strings.h @@ -50,8 +50,8 @@ class Game_Strings { StringView Get(int id) const; StringView GetIndirect(int id, const Game_Variables& variables) const; - StringView GetWithMode(StringView str_data, int arg, int mode, const Game_Variables& variables) const; - StringView GetWithModeAndPos(StringView str_data, int arg, int mode, int* pos, const Game_Variables& variables); + StringView GetWithMode(StringView str_data, int mode, int arg, const Game_Variables& variables) const; + StringView GetWithModeAndPos(StringView str_data, int mode, int arg, int* pos, const Game_Variables& variables); StringView Asg(Str_Params params, StringView string); StringView Cat(Str_Params params, StringView string); @@ -156,7 +156,7 @@ inline StringView Game_Strings::GetIndirect(int id, const Game_Variables& variab return Get(static_cast(val_indirect)); } -inline StringView Game_Strings::GetWithMode(StringView str_data, int arg, int mode, const Game_Variables& variables) const { +inline StringView Game_Strings::GetWithMode(StringView str_data, int mode, int arg, const Game_Variables& variables) const { switch (mode) { case 1: // direct string reference return Get(arg); @@ -167,7 +167,7 @@ inline StringView Game_Strings::GetWithMode(StringView str_data, int arg, int mo } } -inline StringView Game_Strings::GetWithModeAndPos(StringView str_data, int arg, int mode, int* pos, const Game_Variables& variables) { +inline StringView Game_Strings::GetWithModeAndPos(StringView str_data, int mode, int arg, int* pos, const Game_Variables& variables) { StringView ret; switch (mode) { case 0: