Skip to content

Commit d3d36b0

Browse files
committedNov 2, 2023
String Var: GetWithMode: Swap mode and arg for consistency with ValueOrVariable
1 parent f50c10b commit d3d36b0

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed
 

‎src/game_interpreter.cpp

+21-21
Original file line numberDiff line numberDiff line change
@@ -3614,8 +3614,8 @@ bool Game_Interpreter::CommandConditionalBranch(lcf::rpg::EventCommand const& co
36143614
int ignoreCase = com.parameters[4] >> 8 & 1;
36153615

36163616
std::string str_param = ToString(com.string);
3617-
StringView str_l = Main_Data::game_strings->GetWithMode(str_param, com.parameters[2], modes[0]+1, *Main_Data::game_variables);
3618-
StringView str_r = Main_Data::game_strings->GetWithMode(str_param, com.parameters[3], modes[1], *Main_Data::game_variables);
3617+
StringView str_l = Main_Data::game_strings->GetWithMode(str_param, modes[0]+1, com.parameters[2], *Main_Data::game_variables);
3618+
StringView str_r = Main_Data::game_strings->GetWithMode(str_param, modes[1], com.parameters[3], *Main_Data::game_variables);
36193619
result = ManiacPatch::CheckString(str_l, str_r, op, ignoreCase);
36203620
}
36213621
break;
@@ -4317,8 +4317,8 @@ bool Game_Interpreter::CommandManiacShowStringPicture(lcf::rpg::EventCommand con
43174317
if (com.parameters.size() >= 23) {
43184318
text.text = ToString(Main_Data::game_strings->GetWithMode(
43194319
components[1],
4320-
com.parameters[22],
43214320
delims[0] - 1,
4321+
com.parameters[22],
43224322
*Main_Data::game_variables
43234323
));
43244324
} else {
@@ -4759,7 +4759,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
47594759
switch (fn)
47604760
{
47614761
case 0: //String <fn(string text, int min_size)>
4762-
result = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables));
4762+
result = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables));
47634763
args[1] = ValueOrVariable(modes[1], args[1]);
47644764

47654765
// min_size
@@ -4798,7 +4798,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
47984798
int pos = 0;
47994799
std::string op_string;
48004800
for (int i = 0; i < 3; i++) {
4801-
op_string += ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[i], modes[i], &pos, *Main_Data::game_variables));
4801+
op_string += ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[i], args[i], &pos, *Main_Data::game_variables));
48024802
}
48034803
result = std::move(op_string);
48044804
break;
@@ -4809,8 +4809,8 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
48094809
std::string base, insert;
48104810

48114811
args[1] = ValueOrVariable(modes[1], args[1]);
4812-
base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[0], modes[0], &pos, *Main_Data::game_variables));
4813-
insert = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[2], modes[2], &pos, *Main_Data::game_variables));
4812+
base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[0], args[0], &pos, *Main_Data::game_variables));
4813+
insert = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[2], args[2], &pos, *Main_Data::game_variables));
48144814

48154815
result = base.insert(args[1], insert);
48164816
break;
@@ -4820,9 +4820,9 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
48204820
int pos = 0;
48214821
std::string base, search, replacement;
48224822

4823-
base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[0], modes[0], &pos, *Main_Data::game_variables));
4824-
search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[1], modes[1], &pos, *Main_Data::game_variables));
4825-
replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[2], modes[2], &pos, *Main_Data::game_variables));
4823+
base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[0], args[0], &pos, *Main_Data::game_variables));
4824+
search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[1], args[1], &pos, *Main_Data::game_variables));
4825+
replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[2], args[2], &pos, *Main_Data::game_variables));
48264826

48274827
std::size_t index = base.find(search);
48284828
while (index != std::string::npos) {
@@ -4836,12 +4836,12 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
48364836
case 9: //Substring (subs) <fn(string base, int index, int size)>
48374837
args[1] = ValueOrVariable(modes[1], args[1]);
48384838
args[2] = ValueOrVariable(modes[2], args[2]);
4839-
result = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables).substr(args[1], args[2]));
4839+
result = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables).substr(args[1], args[2]));
48404840
break;
48414841
case 10: //Join (join) <fn(string delimiter, int id, int size)>
48424842
{
48434843
std::string op_string;
4844-
std::string delimiter = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables));
4844+
std::string delimiter = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables));
48454845

48464846
// args[1] & mode[1] relates to starting ID for strings to join
48474847
// 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&
48644864
case 12: //File (file) <fn(string filename, int encode)>
48654865
{
48664866
// maniacs does not like a file extension
4867-
StringView filename = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables);
4867+
StringView filename = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables);
48684868
// args[1] is the encoding... 0 for ansi, 1 for utf8
48694869
bool do_yield;
48704870
result = Game_Strings::FromFile(filename, args[1], do_yield);
@@ -4880,17 +4880,17 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
48804880
case 13: //Remove (rem) <fn(string base, int index, int size)>
48814881
args[1] = ValueOrVariable(modes[1], args[1]);
48824882
args[2] = ValueOrVariable(modes[2], args[2]);
4883-
result = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables));
4883+
result = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables));
48844884
result = result.erase(args[1], args[2]);
48854885
break;
48864886
case 14: //Replace Ex (exRep) <fn(string base, string search, string replacement, bool first)>, edge case: the arg "first" is at ((flags >> 19) & 1). Wtf BingShan
48874887
{
48884888
int pos = 0;
48894889
std::string base, search, replacement;
48904890

4891-
base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[0], modes[0], &pos, *Main_Data::game_variables));
4892-
search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[1], modes[1], &pos, *Main_Data::game_variables));
4893-
replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, args[2], modes[2], &pos, *Main_Data::game_variables));
4891+
base = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[0], args[0], &pos, *Main_Data::game_variables));
4892+
search = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[1], args[1], &pos, *Main_Data::game_variables));
4893+
replacement = ToString(Main_Data::game_strings->GetWithModeAndPos(str_param, modes[2], args[2], &pos, *Main_Data::game_variables));
48944894

48954895
std::regex rexp(search);
48964896

@@ -4921,7 +4921,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
49214921
break;
49224922
case 4: //inStr <fn(string text, int var_id, int begin)> FIXME: takes hex?
49234923
{
4924-
StringView search = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables);
4924+
StringView search = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables);
49254925
args[1] = ValueOrVariable(modes[1], args[1]); // not sure this is necessary but better safe
49264926
args[2] = ValueOrVariable(modes[2], args[2]);
49274927

@@ -4931,7 +4931,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
49314931
}
49324932
case 5: //split <fn(string text, int str_id, int var_id)> takes hex
49334933
{
4934-
StringView delimiter = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables);
4934+
StringView delimiter = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables);
49354935
args[1] = ValueOrVariable(modes[1], args[1]);
49364936
args[2] = ValueOrVariable(modes[2], args[2]);
49374937

@@ -4941,7 +4941,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
49414941
}
49424942
case 7: //toFile <fn(string filename, int encode)> takes hex
49434943
{
4944-
StringView filename = Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables);
4944+
StringView filename = Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables);
49454945
args[1] = ValueOrVariable(modes[1], args[1]);
49464946

49474947
Main_Data::game_strings->ToFile(str_params, ToString(filename), args[1]);
@@ -4961,7 +4961,7 @@ bool Game_Interpreter::CommandManiacControlStrings(lcf::rpg::EventCommand const&
49614961
case 10: //exMatch <fn(string text, int var_id, int begin, int str_id)>, edge case: the only command that generates 8 parameters instead of 7
49624962
{
49634963
// takes hex
4964-
std::string expr = ToString(Main_Data::game_strings->GetWithMode(str_param, args[0], modes[0], *Main_Data::game_variables));
4964+
std::string expr = ToString(Main_Data::game_strings->GetWithMode(str_param, modes[0], args[0], *Main_Data::game_variables));
49654965
args[1] = ValueOrVariable(modes[1], args[1]); // output var
49664966
args[2] = ValueOrVariable(modes[2], args[2]); // beginning pos
49674967

‎src/game_strings.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ class Game_Strings {
5050

5151
StringView Get(int id) const;
5252
StringView GetIndirect(int id, const Game_Variables& variables) const;
53-
StringView GetWithMode(StringView str_data, int arg, int mode, const Game_Variables& variables) const;
54-
StringView GetWithModeAndPos(StringView str_data, int arg, int mode, int* pos, const Game_Variables& variables);
53+
StringView GetWithMode(StringView str_data, int mode, int arg, const Game_Variables& variables) const;
54+
StringView GetWithModeAndPos(StringView str_data, int mode, int arg, int* pos, const Game_Variables& variables);
5555

5656
StringView Asg(Str_Params params, StringView string);
5757
StringView Cat(Str_Params params, StringView string);
@@ -156,7 +156,7 @@ inline StringView Game_Strings::GetIndirect(int id, const Game_Variables& variab
156156
return Get(static_cast<int>(val_indirect));
157157
}
158158

159-
inline StringView Game_Strings::GetWithMode(StringView str_data, int arg, int mode, const Game_Variables& variables) const {
159+
inline StringView Game_Strings::GetWithMode(StringView str_data, int mode, int arg, const Game_Variables& variables) const {
160160
switch (mode) {
161161
case 1: // direct string reference
162162
return Get(arg);
@@ -167,7 +167,7 @@ inline StringView Game_Strings::GetWithMode(StringView str_data, int arg, int mo
167167
}
168168
}
169169

170-
inline StringView Game_Strings::GetWithModeAndPos(StringView str_data, int arg, int mode, int* pos, const Game_Variables& variables) {
170+
inline StringView Game_Strings::GetWithModeAndPos(StringView str_data, int mode, int arg, int* pos, const Game_Variables& variables) {
171171
StringView ret;
172172
switch (mode) {
173173
case 0:

0 commit comments

Comments
 (0)
Please sign in to comment.