Difference between revisions of "Script Format"
Jump to navigation
Jump to search
m |
m (cleaned up naming format) |
||
Line 22: | Line 22: | ||
|- | |- | ||
|00 | |00 | ||
| | | JumpSetOffset | ||
| 4 | | 4 | ||
| | | | ||
Line 106: | Line 106: | ||
|- | |- | ||
|0C | |0C | ||
| | | TriggerOnAreaAbsolute | ||
| 8 | | 8 | ||
| | | | ||
Line 113: | Line 113: | ||
|- | |- | ||
|0D | |0D | ||
| | | TriggerOnAreaRelative | ||
| 8 | | 8 | ||
| | | | ||
Line 148: | Line 148: | ||
|- | |- | ||
|12 | |12 | ||
| | | TriggerObjectOnAreaRelative | ||
| 8 | | 8 | ||
| | | | ||
Line 155: | Line 155: | ||
|- | |- | ||
|13 | |13 | ||
| | | SpriteSetPosition | ||
| 4 | | 4 | ||
| | | | ||
Line 197: | Line 197: | ||
|- | |- | ||
|19 | |19 | ||
| | | RespawnSetLocation | ||
| 15 | | 15 | ||
| | | | ||
Line 204: | Line 204: | ||
|- | |- | ||
|1A | |1A | ||
| | | DialogChoice | ||
| x | | x | ||
| | | | ||
Line 239: | Line 239: | ||
|- | |- | ||
|1F | |1F | ||
| | | MessageWait | ||
| 1 | | 1 | ||
| | | | ||
Line 253: | Line 253: | ||
|- | |- | ||
|21 | |21 | ||
| | | Trigger | ||
| 3 | | 3 | ||
| | | | ||
Line 435: | Line 435: | ||
|- | |- | ||
|3B | |3B | ||
| | | ObjectSetSolid | ||
| 1 | | 1 | ||
| | | | ||
Line 610: | Line 610: | ||
|- | |- | ||
|54 | |54 | ||
| | | ItemGive | ||
| 4 | | 4 | ||
| | | | ||
Line 862: | Line 862: | ||
|- | |- | ||
|78 | |78 | ||
| | | BackgroundUpdateFade | ||
| | | | ||
| | | | ||
Line 919: | Line 919: | ||
|- | |- | ||
|80 | |80 | ||
| | | AnimationSetA | ||
| 2 | | 2 | ||
| | | | ||
Line 926: | Line 926: | ||
|- | |- | ||
|81 | |81 | ||
| | | AnimationSetB | ||
| 2 | | 2 | ||
| | | | ||
Line 954: | Line 954: | ||
|- | |- | ||
|85 | |85 | ||
| | | AnimationSetC | ||
| 3 | | 3 | ||
| | | | ||
Line 961: | Line 961: | ||
|- | |- | ||
|86 | |86 | ||
| | | AnimationSetD | ||
| 3 | | 3 | ||
| | | | ||
Line 1,017: | Line 1,017: | ||
|- | |- | ||
|8E | |8E | ||
| | | AnimationWait | ||
| 1 | | 1 | ||
| | | | ||
Line 1,542: | Line 1,542: | ||
|- | |- | ||
|D9 | |D9 | ||
| | | ProjectileSetDamage | ||
| 2 | | 2 | ||
| | | |
Revision as of 12:40, 12 February 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); IsSet = EventFlag & 0x8000
Commands
Opcode | Function | Length | Arguments | Comments |
---|---|---|---|---|
00 | JumpSetOffset | 4 | ||
01 | JumpOffset | 1 | ||
02 | LoopSetup | 3 | ||
03 | LoopDo | 1 | ||
04 | 1 | |||
05 | EventFlag? | 3 | ||
06 | 4 | |||
07 | EventFlagModify | 3 | ||
08 | EventFlagCheckJump | 5 | ||
09 | EventFlagCheckJump2 | 7 | ||
0A | EventFlagCheckJump3 | 5 | ||
0B | ||||
0C | TriggerOnAreaAbsolute | 8 | ||
0D | TriggerOnAreaRelative | 8 | ||
0E | ||||
0F | ||||
10 | ||||
11 | ||||
12 | TriggerObjectOnAreaRelative | 8 | ||
13 | SpriteSetPosition | 4 | ||
14 | PlayerPort | 9 | ||
15 | ||||
16 | ||||
17 | ||||
18 | ||||
19 | RespawnSetLocation | 15 | ||
1A | DialogChoice | x | ||
1B | PrintRelative | 3 | ||
1C | PrintAbsolute | 4 | ||
1D | ||||
1E | ||||
1F | MessageWait | 1 | ||
20 | ||||
21 | Trigger | 3 | ||
22 | ||||
23 | 3 | |||
24 | 4 | |||
25 | Rand | 1 | ||
26 | ||||
27 | ||||
28 | 2 | Set 0x7F2018 to value | ||
29 | 3 | |||
2A | PadDisableButtons | 3 | ||
2B | ||||
2C | ||||
2D | ||||
2E | CallCodeOnMovementMaskSet | 5 | ||
2F | CallCodeOnMovementMaskUnSet | 5 | ||
30 | PlayMusic | 2 | ||
31 | 2 | |||
32 | ||||
33 | 1 | |||
34 | ||||
35 | ||||
36 | PlaySoundEffectOnce | 2 | ||
37 | PlaySoundEffect | 2 | ||
38 | ||||
39 | SpriteGotoPosition | 4 | ||
3A | 4 | |||
3B | ObjectSetSolid | 1 | ||
3C | 1 | |||
3D | 4 | |||
3E | ||||
3F | ||||
40 | ||||
41 | ||||
42 | ||||
43 | ||||
44 | ||||
45 | ||||
46 | ||||
47 | EventFlagCheck | 5 | ||
48 | EventFlagCheckSkipNext | 3 | ||
49 | 3 | |||
4A | ||||
4B | ||||
4C | ||||
4D | ||||
4E | ||||
4F | ||||
50 | ||||
51 | ||||
52 | ||||
53 | ||||
54 | ItemGive | 4 | ||
55 | ||||
56 | ||||
57 | ||||
58 | ||||
59 | 2 | |||
5A | 6 | |||
5B | ||||
5C | ||||
5D | ||||
5E | ||||
5F | ||||
60 | ||||
61 | ||||
62 | ||||
63 | ||||
64 | ||||
65 | 6 | |||
66 | ||||
67 | ||||
68 | ||||
69 | ||||
6A | ||||
6B | ||||
6C | PrintAbsolute2 | 4 | ||
6D | ||||
6E | UpdateScene | 3 | ||
6F | ||||
70 | ||||
71 | ||||
72 | ||||
73 | 3 | |||
74 | ||||
75 | ||||
76 | ||||
77 | ||||
78 | BackgroundUpdateFade | |||
79 | STA S,2
RTI | |||
7A | Calls asm BRK instruction | |||
7B | Calls asm BRK instruction | |||
7C | ||||
7D | ||||
7E | Calls asm BRK instruction | |||
7F | Calls asm BRK instruction | |||
80 | AnimationSetA | 2 | ||
81 | AnimationSetB | 2 | ||
82 | ||||
83 | ||||
84 | ||||
85 | AnimationSetC | 3 | ||
86 | AnimationSetD | 3 | ||
87 | ObjectMove | 4 | ||
88 | ||||
89 | ||||
8A | ||||
8B | ||||
8C | ||||
8D | ||||
8E | AnimationWait | 1 | ||
8F | 1 | |||
90 | ||||
91 | ||||
92 | ||||
93 | ||||
94 | ||||
95 | 1 | |||
96 | 1 | |||
97 | 9 | |||
98 | 11 | |||
99 | 6 | |||
9A | ||||
9B | ||||
9C | ||||
9D | ||||
9E | ||||
9F | ||||
A0 | ||||
A1 | 4 | |||
A2 | 6 | |||
A3 | ||||
A4 | 10 | Same handler as 0xE8 | ||
A5 | ||||
A6 | ||||
A7 | ||||
A8 | ||||
A9 | ||||
AA | 4 | |||
AB | ||||
AC | ||||
AD | ||||
AE | ||||
AF | 2 | |||
B0 | 2 or 4 | |||
B1 | 3 | |||
B2 | 5 | |||
B3 | 5 | |||
B4 | SpriteSetUpsideDown | 1 | ||
B5 | SpriteSetDownsideUp | 1 | ||
B6 | SpriteSetFacingRight | 1 | ||
B7 | SpriteSetFacingLeft | 1 | ||
B8 | SpriteFlipVertical | 1 | ||
B9 | SpriteFlipHorizontal | 1 | ||
BA | 2 | |||
BB | 2 | |||
BC | 1 | |||
BD | 1 | |||
BE | 6 | |||
BF | 4 | |||
C0 | 4 | |||
C1 | Delay | 3 | ||
C2 | ||||
C3 | ||||
C4 | ||||
C5 | ||||
C6 | ||||
C7 | ||||
C8 | ||||
C9 | ||||
CA | ||||
CB | 5 | |||
CC | 6 | |||
CD | ||||
CE | ||||
CF | ||||
D0 | ||||
D1 | ||||
D2 | ||||
D3 | ||||
D4 | 9 | |||
D5 | ||||
D6 | 4 | |||
D7 | 5 | |||
D8 | 4 | |||
D9 | ProjectileSetDamage | 2 | ||
DA | ||||
DB | ||||
DC | 5 | |||
DD | 8 | |||
DE | 2 | |||
DF | 4 | |||
E0 | ||||
E1 | ||||
E2 | ||||
E3 | ||||
E4 | ||||
E5 | ||||
E6 | ||||
E7 | 6 | |||
E8 | 10 | |||
E9 | ||||
EA | ||||
EB | 1 | |||
EC | ||||
ED | 6 | |||
EE | 2 | |||
EF |