Merge branch 'master' into jgrpp
# Conflicts: # src/core/strong_typedef_type.hpp # src/gfx.cpp # src/group_cmd.cpp # src/industry_cmd.cpp # src/map_func.h # src/newgrf_debug_gui.cpp # src/order_cmd.cpp # src/pathfinder/follow_track.hpp # src/rail_cmd.cpp # src/road_cmd.cpp # src/road_gui.cpp # src/saveload/saveload.cpp # src/screenshot.cpp # src/smallmap_gui.cpp # src/station_cmd.cpp # src/strings.cpp # src/tile_type.h # src/timetable_gui.cpp # src/town_cmd.cpp # src/train_cmd.cpp # src/viewport.cpp
This commit is contained in:
@@ -1296,19 +1296,19 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
|
||||
case SCC_RAW_STRING_POINTER: { // {RAW_STRING}
|
||||
if (game_script) break;
|
||||
const char *str = (const char *)(size_t)args->GetInt64(SCC_RAW_STRING_POINTER);
|
||||
buff = FormatString(buff, str, args, last);
|
||||
const char *raw_string = (const char *)(size_t)args->GetInt64(SCC_RAW_STRING_POINTER);
|
||||
buff = FormatString(buff, raw_string, args, last);
|
||||
break;
|
||||
}
|
||||
|
||||
case SCC_STRING: {// {STRING}
|
||||
StringID str = args->GetInt32(SCC_STRING);
|
||||
if (game_script && GetStringTab(str) != TEXT_TAB_GAMESCRIPT_START) break;
|
||||
StringID string_id = args->GetInt32(SCC_STRING);
|
||||
if (game_script && GetStringTab(string_id) != TEXT_TAB_GAMESCRIPT_START) break;
|
||||
/* WARNING. It's prohibited for the included string to consume any arguments.
|
||||
* For included strings that consume argument, you should use STRING1, STRING2 etc.
|
||||
* To debug stuff you can set argv to nullptr and it will tell you */
|
||||
StringParameters tmp_params(args->GetDataPointer(), args->GetDataLeft(), nullptr);
|
||||
buff = GetStringWithArgs(buff, str, &tmp_params, last, next_substr_case_index, game_script);
|
||||
buff = GetStringWithArgs(buff, string_id, &tmp_params, last, next_substr_case_index, game_script);
|
||||
next_substr_case_index = 0;
|
||||
break;
|
||||
}
|
||||
@@ -1322,14 +1322,14 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
case SCC_STRING7:
|
||||
case SCC_STRING8: { // {STRING1..8}
|
||||
/* Strings that consume arguments */
|
||||
StringID str = args->GetInt32(b);
|
||||
if (game_script && GetStringTab(str) != TEXT_TAB_GAMESCRIPT_START) break;
|
||||
StringID string_id = args->GetInt32(b);
|
||||
if (game_script && GetStringTab(string_id) != TEXT_TAB_GAMESCRIPT_START) break;
|
||||
uint size = b - SCC_STRING1 + 1;
|
||||
if (game_script && size > args->GetDataLeft()) {
|
||||
buff = strecat(buff, "(too many parameters)", last);
|
||||
} else {
|
||||
StringParameters sub_args(*args, size);
|
||||
buff = GetStringWithArgs(buff, str, &sub_args, last, next_substr_case_index, game_script);
|
||||
buff = GetStringWithArgs(buff, string_id, &sub_args, last, next_substr_case_index, game_script);
|
||||
}
|
||||
next_substr_case_index = 0;
|
||||
break;
|
||||
@@ -1835,7 +1835,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
StringParameters tmp_params(args_array);
|
||||
buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
|
||||
} else {
|
||||
StringID str = st->string_id;
|
||||
StringID string_id = st->string_id;
|
||||
if (st->indtype != IT_INVALID) {
|
||||
/* Special case where the industry provides the name for the station */
|
||||
const IndustrySpec *indsp = GetIndustrySpec(st->indtype);
|
||||
@@ -1844,17 +1844,17 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
* thus cause very strange things. Here we check for that before we
|
||||
* actually set the station name. */
|
||||
if (indsp->station_name != STR_NULL && indsp->station_name != STR_UNDEFINED) {
|
||||
str = indsp->station_name;
|
||||
string_id = indsp->station_name;
|
||||
}
|
||||
}
|
||||
if (st->extra_name_index != UINT16_MAX && st->extra_name_index < _extra_station_names_used) {
|
||||
str = _extra_station_names[st->extra_name_index].str;
|
||||
string_id = _extra_station_names[st->extra_name_index].str;
|
||||
}
|
||||
|
||||
uint64 args_array[] = {STR_TOWN_NAME, st->town->index, st->index};
|
||||
WChar types_array[] = {0, SCC_TOWN_NAME, SCC_NUM};
|
||||
StringParameters tmp_params(args_array, 3, types_array);
|
||||
buff = GetStringWithArgs(buff, str, &tmp_params, last);
|
||||
buff = GetStringWithArgs(buff, string_id, &tmp_params, last);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1884,9 +1884,9 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
} else {
|
||||
int64 args_array[] = {wp->town->index, wp->town_cn + 1};
|
||||
StringParameters tmp_params(args_array);
|
||||
StringID str = ((wp->string_id == STR_SV_STNAME_BUOY) ? STR_FORMAT_BUOY_NAME : STR_FORMAT_WAYPOINT_NAME);
|
||||
if (wp->town_cn != 0) str++;
|
||||
buff = GetStringWithArgs(buff, str, &tmp_params, last);
|
||||
StringID string_id = ((wp->string_id == STR_SV_STNAME_BUOY) ? STR_FORMAT_BUOY_NAME : STR_FORMAT_WAYPOINT_NAME);
|
||||
if (wp->town_cn != 0) string_id++;
|
||||
buff = GetStringWithArgs(buff, string_id, &tmp_params, last);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1916,14 +1916,14 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
int64 args_array[] = {v->unitnumber};
|
||||
StringParameters tmp_params(args_array);
|
||||
|
||||
StringID str;
|
||||
StringID string_id;
|
||||
if (v->type < VEH_COMPANY_END) {
|
||||
str = ((_settings_client.gui.vehicle_names == 1) ? STR_SV_TRAIN_NAME : STR_TRADITIONAL_TRAIN_NAME) + v->type;
|
||||
string_id = ((_settings_client.gui.vehicle_names == 1) ? STR_SV_TRAIN_NAME : STR_TRADITIONAL_TRAIN_NAME) + v->type;
|
||||
} else {
|
||||
str = STR_INVALID_VEHICLE;
|
||||
string_id = STR_INVALID_VEHICLE;
|
||||
}
|
||||
|
||||
buff = GetStringWithArgs(buff, str, &tmp_params, last);
|
||||
buff = GetStringWithArgs(buff, string_id, &tmp_params, last);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user