This is very much a work in progress. Any comments, suggestions, or other web resources are greatly appreciated. Contact the pickle with your comments, corrections, etc.
Two characters in the hexadecimal side of the hex editor in ResEdit are a single byte, at least by my reckoning.
Bytes, Words and Long Words:
- DLNG: 4-byte value, appears to be interpreted as decimal-only. Probably a decimal long word.
- HLNG: 4-byte value, appears to be interpreted as full hexadecimal. Probably a hexadecimal long word.
- DWRD: 2-byte value, appears to be interpreted as decimal-only. Probably a decimal word.
- HWRD: 2-byte value, appears to be interpreted as full hexadecimal. Probably a hexadecimal word.
- DBYT: single-byte value, appears to be interpreted as decimal-only.
- HBYT: single-byte value, appears to be interpreted as full hexadecimal.
- ZCNT: 2-byte value, appears to be interpreted as decimal-only. What's the difference between this and a DWRD?
Strings and Text:
- PSTR: appears to be a Pascal string, interpreted as ASCII, preceded by a length byte in hex.
- ESTR: appears to be an ?????? string, interpreted as ASCII.
- CSTR: appears to be a C string, interpreted as ASCII, preceded by a length byte in hex.
- OSTR: appears to be an ?????? string, interpreted as ASCII.
- WSTR: appears to be an ?????? string, interpreted as ASCII.
- TNAM: 4-byte value, appears to be interpreted as ASCII. "TNAM" derives from "type name" but I'm not sure how this relates to the TNAMs I'm seeing in templates.
- CHAR: single-byte value interpreted as ASCII.
Lists in TMPLs:
- LSTB: something with lists...
- LSTC: something with lists...
- LSTE: something else with lists...
- LSTZ: something else with lists...
Miscellaneous:
- HEXD: hexadecimal byte dump of the remainder of the resource. Can only be used as the last item in a template.
- BOOL: 2-byte value, the first byte of which is interpreted as a 1 (Boolean true) or 0 (Boolean false). Any value other than 1 or 0 is automatically converted to 1. Values for the second byte are ignored and automatically converted to 0.
- RECT: 8-byte set of four 2-byte values interpreted as decimals; used for the bounds of a rectangle in dialog boxes and the like.
- BBIT: single-bit value interpreted as a Boolean. If the first BBIT in a template is 0 (false), it is ignored. BBITs must occur in groups of 8 (because a resource cannot have a fractional number of bytes and there are 8 bits in a byte).
Unknown thus far:
- P01F: ???
- H026: ???
- H080: ???
- H008: ???
- OCNT: ???
- FBYT: ???
- H00F: ???
- AWRD: ???
- FWRD: ???
brought to you by:
the pickle
Last Modified: 28 Apr 2001.
Back to Index