mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-19 15:25:39 +00:00
(svn r16122) -Change: add more misc information about the behaviour of commands to strgen's -export-commands.
This commit is contained in:
parent
3dbcc66cb1
commit
85ca163be2
@ -1198,9 +1198,33 @@ int CDECL main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(argv[1], "-export-commands") == 0) {
|
if (strcmp(argv[1], "-export-commands") == 0) {
|
||||||
printf("args\tcommand\treplacement\n");
|
printf("args\tflags\tcommand\treplacement\n");
|
||||||
for (const CmdStruct *cs = _cmd_structs; cs < endof(_cmd_structs); cs++) {
|
for (const CmdStruct *cs = _cmd_structs; cs < endof(_cmd_structs); cs++) {
|
||||||
printf("%i\t\"%s\"\t\"%s\"\n", cs->consumes, cs->cmd, strstr(cs->cmd, "STRING") ? "STRING" : cs->cmd);
|
char flags;
|
||||||
|
switch (cs->value) {
|
||||||
|
case 0x200E: case 0x200F: // Implicit BIDI controls
|
||||||
|
case 0x202A: case 0x202B: case 0x202C: case 0x202D: case 0x202E: // Explicit BIDI controls
|
||||||
|
case 0xA0: // Non breaking space
|
||||||
|
case '\n': // Newlines may be added too
|
||||||
|
case '{': // This special
|
||||||
|
/* This command may be in the translation when it is not in base */
|
||||||
|
flags = 'i';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (cs->proc == EmitSetX) {
|
||||||
|
flags = '1'; // Command needs one parameter
|
||||||
|
} else if (cs->proc == EmitSetXY) {
|
||||||
|
flags = '2'; // Command needs two parameters
|
||||||
|
} else if (cs->proc == EmitGender) {
|
||||||
|
flags = 'g'; // Command needs number of parameters defined by plural value
|
||||||
|
} else if (cs->proc == EmitPlural) {
|
||||||
|
flags = 'p'; // Command needs number of parameters defined by number of cases
|
||||||
|
} else {
|
||||||
|
flags = '0'; // Command needs no parameters
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("%i\t%c\t\"%s\"\t\"%s\"\n", cs->consumes, flags, cs->cmd, strstr(cs->cmd, "STRING") ? "STRING" : cs->cmd);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user