Action13

From GRFSpecs
Revision as of 19:01, 12 June 2011 by Orudge (talk | contribs) (2 revisions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Translate GRF-specific strings

Action 13

Translate GRF-specific strings

-=Description=-

Translating regular strings is easy by just overwriting them with an action 4, however this is not possible for translating GRF-specific strings in the D000 or DC00 range of IDs. Instead, these must be translated with this action 13.

Available since 2.6 alpha 1 (r857).

-=Format=-

The data looks as follows:

-+<sprite-number> * <length> 13 <feature> <grfid> <num-ent> <offset> <text...>+-

||Element|Size|Description

<sprite-number>|dec|A sequential sprite number

<length>|dec|The total number of bytes in the action

13|B|Action 13

<grfid>|4*B|The GRFID of the file whose texts are to be translated

<num-ent>|B|Number of strings

<offset>|W|First text ID

<text...>|S|Zero-terminated strings||

For action 13, <num-ent>, <offset> and <text...> work exactly as for action 4, but the offset may only refer to a text ID in the D000 or DC00 range of IDs.

Action 13 is skipped if the given GRFID cannot be found or if the file is inactive; action 13 generates an error message and disables the current file if it appears before the GRF that it is translating.