{{tag>zxt:extension}} ====== 0000a51e:0006 - OOP command renaming [DRAFT] ====== ===== Flags ===== ^ Flag ^ Set? (MUST/MAY/...) ^ Description ^ | parsing_must | MUST NOT | | | reading_must | MUST NOT | | | writing_must | MUST NOT | | | playing_should | SHOULD | | | playing_must | SHOULD | | | editing_should | MUST NOT | ... What about syntax highlighting? | ===== Field data ===== ^ Offset ^ Type ^ Description ^ | 0 | u16 | Number of commands to rename. | | 2... | array[2*count] of pstring | Key-value pairs. | ===== Description ===== This extension allows renaming OOP command names. The functionality is warranted by the ZZT game [[release:bqzzt|Banana Quest]], as well as by [[release:weavezzt|WeaveZZT 2.0]]. A list of key-value pairs is provided; a command using the given key is renamed to the given value. * Renaming commands which precede the extension SHOULD work correctly. This is required to support WeaveZZT 2.0-style "renaming of added commands". * Renaming commands which succeed the extension is undefined behaviour. * Renaming commands which do not exist SHOULD produce a loading error. * The extension MAY be used multiple times. In particular, the extension MAY be used as a conflict resolution measure: given two competing implementations of the same new command, the extension MAY be used to rename one of them before adding the second new command. (However, implementations which do not support this may produce a loading error.) ===== Implementations ===== TBD