0x8E — text_message_layout
Reads three u32 operands. The first is two signed halfwords copied to text message layout fields +0x14/+0x18 and +0x16/+0x1A; the next two words are copied to global CTextMessage fields +0x00 and +0x08; byte +0x0E is set to 1.
proven— handler traced, and exercised by at least one shipped script.
At a glance
| Opcode | 0x8E (142) |
|---|---|
| Handler | CRadiScript::Command_8e |
| Signature | CRadiScript::Command_8e(int,SCR_DATA*,unsigned int,unsigned int) |
| Translation unit | r_script_run8.cpp |
| Address | — debug build; click for all 3 |
| Handler size | 0x78 (120 bytes) |
| Engine name | text_message_layout |
| Family | Vibration, dialogue and text |
| Command size | 4 + extra_words * 4 bytes |
Handler behaviour
Reads three u32 operands. The first is two signed halfwords copied to text message layout fields +0x14/+0x18 and +0x16/+0x1A; the next two words are copied to global CTextMessage fields +0x00 and +0x08; byte +0x0E is set to 1.
Encoding
The command header is one 32-bit word, as described in §3 Instruction encoding:
31 24 23 16 15 8 7 0
+----------------+----------------+----------------+----------------+
| flags | argument byte | extra words | 0x8E |
+----------------+----------------+----------------+----------------+Bits 8–15 give the number of 32-bit operand words that follow. Bits 16–23 are handed to the handler as a bitfield; on character commands bit 0 normally says whether a character selector word is present. Bit 31 is the keep-going bit.
Operand fields
4 documented fields. input fields are read from the command's operand words; derived fields are computed from other fields rather than stored separately.
| Field | Role | Meaning |
|---|---|---|
color | input | RGBA text colour (0x80 = full intensity); PutText passes CTextMessage +0x00 to CreateSPRT as each glyph's colour. |
priority | input | Draw priority passed to CPrimitiveHelper::SetPriority; the shadow layer draws at priority + 1. |
x | input | Signed x layout position, copied to text-message fields +0x14/+0x18. |
y | input | Signed y layout position, copied to text-message fields +0x16/+0x1A. |
Engine calls
Engine functions this handler was observed calling:
(inline)