Difference between revisions of "Script Format"
Jump to navigation
Jump to search
m (Added cmd 0x39) |
m (Updated cmd 0x07) |
||
Line 67: | Line 67: | ||
| 0x07 | | 0x07 | ||
| 2 | | 2 | ||
| | | Modify event flag | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 76: | Line 76: | ||
| 0 | | 0 | ||
| 2 | | 2 | ||
| Flag+Value (see note) | | Flag+Value (see note), set 0x8000 to set flag otherwise the flag is cleared | ||
|} | |} | ||
Revision as of 23:06, 18 January 2016
Scripts are parsed bytewise.
A note about event flags
Event flags are calculated from an u16 value like this:
u16 EventFlag; Flag = (EventFlag & 0xFFF) >> 3; Value = 1 << (EventFlag & 7);
Commands
Opcode | argument length (byte) | Function | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 3 | Jump to 24byte offset
| ||||||||||||||||||||||||
0x01 | 1 | Unknown | ||||||||||||||||||||||||
0x02 | 2 | Setup a loop
| ||||||||||||||||||||||||
0x03 | 1 | Execute loop
| ||||||||||||||||||||||||
0x04 | 4 | Unknown | ||||||||||||||||||||||||
0x07 | 2 | Modify event flag
| ||||||||||||||||||||||||
0x08 | 4 | Jumps to offset if flag is set
| ||||||||||||||||||||||||
0x09 | 4 | Jumps to offset if flag is not set
| ||||||||||||||||||||||||
0x0C | 8 | Trigger area
| ||||||||||||||||||||||||
0x14 | 8 | Port player
| ||||||||||||||||||||||||
0x1A | 11 | Display choice dialog
| ||||||||||||||||||||||||
0x1B | 2 | Call text script (16 byte address)
| ||||||||||||||||||||||||
0x1C | 3 | Call text script (24 byte address)
| ||||||||||||||||||||||||
0x1F | 0 | End script | ||||||||||||||||||||||||
0x21 | 2 |
| ||||||||||||||||||||||||
0x23 | 2 |
| ||||||||||||||||||||||||
0x2D | 7 | Call code when movement mask matches
| ||||||||||||||||||||||||
0x39 | 2 | Goto position
| ||||||||||||||||||||||||
0x48 | 2 | Skip next opcode if event flag is unset
| ||||||||||||||||||||||||
0x6E | 1 | Update scene | ||||||||||||||||||||||||
0x78 | x | Update BG fade | ||||||||||||||||||||||||
0x80 | x | Set model mode | ||||||||||||||||||||||||
0x87 | x | Move object | ||||||||||||||||||||||||
0x8F | 0 | Unknown | ||||||||||||||||||||||||
0xC1 | x | Set scene time | ||||||||||||||||||||||||
0xAA | x | Call script | ||||||||||||||||||||||||
0xB7 | 0 | Unknown |