0x0E — WAITING_SETUP
Saves the cursor to SCR_DATA+0x30 and the two argument bytes to SCR_DATA+0x24/+0x25, then calls the callback pointer stored at SCR_DATA+0x2C with (step_arg, extra_word_count, handler_arg, cursor) when it is set. Consumes no operands itself.
traced— handler traced, but no shipped script uses this opcode, so the operand layout rests on the trace alone with no real data to check it against.
At a glance
| Opcode | 0x0E (14) |
|---|---|
| Handler | CRadiScript::Command_0e |
| Signature | CRadiScript::Command_0e(int,SCR_DATA*,unsigned int,unsigned int) |
| Translation unit | r_script_run0.cpp |
| Address | — debug build; click for all 3 |
| Handler size | 0x48 (72 bytes) |
| Family | Script control, flags and values |
| Command size | 4 + extra_words * 4 bytes |
Handler behaviour
Saves the cursor to SCR_DATA+0x30 and the two argument bytes to SCR_DATA+0x24/+0x25, then calls the callback pointer stored at SCR_DATA+0x2C with (step_arg, extra_word_count, handler_arg, cursor) when it is set. Consumes no operands itself.
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 | 0x0E |
+----------------+----------------+----------------+----------------+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.