(svn r23805) -Add: {STRING6} and {STRING7}.

This commit is contained in:
frosch 2012-01-15 15:49:01 +00:00
parent 215447b4e8
commit 624f916468
4 changed files with 17 additions and 44 deletions

View File

@ -627,6 +627,8 @@ static const CmdStruct *TranslateCmdForCompare(const CmdStruct *a)
strcmp(a->cmd, "STRING3") == 0 ||
strcmp(a->cmd, "STRING4") == 0 ||
strcmp(a->cmd, "STRING5") == 0 ||
strcmp(a->cmd, "STRING6") == 0 ||
strcmp(a->cmd, "STRING7") == 0 ||
strcmp(a->cmd, "RAW_STRING") == 0) {
return FindCmd("STRING", 6);
}

View File

@ -968,51 +968,17 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
break;
}
case SCC_STRING1: { // {STRING1}
/* String that consumes ONE argument */
StringID str = args->GetInt32(SCC_STRING1);
case SCC_STRING1:
case SCC_STRING2:
case SCC_STRING3:
case SCC_STRING4:
case SCC_STRING5:
case SCC_STRING6:
case SCC_STRING7: { // {STRING1..7}
/* Strings that consume arguments */
StringID str = args->GetInt32(b);
if (game_script && GB(str, TAB_COUNT_OFFSET, TAB_COUNT_BITS) != GAME_TEXT_TAB) break;
StringParameters sub_args(*args, 1);
buff = GetStringWithArgs(buff, str, &sub_args, last, next_substr_case_index, game_script);
next_substr_case_index = 0;
break;
}
case SCC_STRING2: { // {STRING2}
/* String that consumes TWO arguments */
StringID str = args->GetInt32(SCC_STRING2);
if (game_script && GB(str, TAB_COUNT_OFFSET, TAB_COUNT_BITS) != GAME_TEXT_TAB) break;
StringParameters sub_args(*args, 2);
buff = GetStringWithArgs(buff, str, &sub_args, last, next_substr_case_index, game_script);
next_substr_case_index = 0;
break;
}
case SCC_STRING3: { // {STRING3}
/* String that consumes THREE arguments */
StringID str = args->GetInt32(SCC_STRING3);
if (game_script && GB(str, TAB_COUNT_OFFSET, TAB_COUNT_BITS) != GAME_TEXT_TAB) break;
StringParameters sub_args(*args, 3);
buff = GetStringWithArgs(buff, str, &sub_args, last, next_substr_case_index, game_script);
next_substr_case_index = 0;
break;
}
case SCC_STRING4: { // {STRING4}
/* String that consumes FOUR arguments */
StringID str = args->GetInt32(SCC_STRING4);
if (game_script && GB(str, TAB_COUNT_OFFSET, TAB_COUNT_BITS) != GAME_TEXT_TAB) break;
StringParameters sub_args(*args, 4);
buff = GetStringWithArgs(buff, str, &sub_args, last, next_substr_case_index, game_script);
next_substr_case_index = 0;
break;
}
case SCC_STRING5: { // {STRING5}
/* String that consumes FIVE arguments */
StringID str = args->GetInt32(SCC_STRING5);
if (game_script && GB(str, TAB_COUNT_OFFSET, TAB_COUNT_BITS) != GAME_TEXT_TAB) break;
StringParameters sub_args(*args, 5);
StringParameters sub_args(*args, b - SCC_STRING1 + 1);
buff = GetStringWithArgs(buff, str, &sub_args, last, next_substr_case_index, game_script);
next_substr_case_index = 0;
break;

View File

@ -65,11 +65,14 @@ enum StringControlCode {
SCC_DATE_LONG,
SCC_DATE_ISO,
/* Must be consecutive */
SCC_STRING1,
SCC_STRING2,
SCC_STRING3,
SCC_STRING4,
SCC_STRING5,
SCC_STRING6,
SCC_STRING7,
SCC_ENCODED,

View File

@ -65,6 +65,8 @@ static const CmdStruct _cmd_structs[] = {
{"STRING3", EmitSingleChar, SCC_STRING3, 4, C_CASE | C_GENDER}, // included string that consumes the string id and THREE arguments
{"STRING4", EmitSingleChar, SCC_STRING4, 5, C_CASE | C_GENDER}, // included string that consumes the string id and FOUR arguments
{"STRING5", EmitSingleChar, SCC_STRING5, 6, C_CASE | C_GENDER}, // included string that consumes the string id and FIVE arguments
{"STRING6", EmitSingleChar, SCC_STRING6, 7, C_CASE | C_GENDER}, // included string that consumes the string id and SIX arguments
{"STRING7", EmitSingleChar, SCC_STRING7, 8, C_CASE | C_GENDER}, // included string that consumes the string id and SEVEN arguments
{"STATION_FEATURES", EmitSingleChar, SCC_STATION_FEATURES, 1, C_NONE}, // station features string, icons of the features
{"INDUSTRY", EmitSingleChar, SCC_INDUSTRY_NAME, 1, C_CASE | C_GENDER}, // industry, takes an industry #, can have cases