Difference between revisions of "Script Format"

From Terranigma Wiki
Jump to navigation Jump to search
m (cmd 0x2A)
m
Line 305: Line 305:
| 2
| 2
|
|
|
| Set 0x7F2018 to value


|-
|-
Line 351: Line 351:
|-
|-
|2F
|2F
|
| CallCodeOnMovementMaskUnSet
|
| 5
|
|
|
|

Revision as of 17:54, 11 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 JumpOffsetSet 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 OnTriggerAreaAbsolute 8
0D OnTriggerAreaRelative 8
0E
0F
10
11
12 OnObjectTriggerAreaRelative 8
13 SetSpritePosition 4
14 PlayerPort 9
15
16
17
18
19 SetRespawnLocation 15
1A ChoiceDialog x
1B PrintRelative 3
1C PrintAbsolute 4
1D
1E
1F WaitMessage 1
20
21 OnTrigger 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 SetObjectSolid 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 GiveItem 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 UpdateBackgroundFade
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 SetAnimationA 2
81 SetAnimationB 2
82
83
84
85 SetAnimationC 3
86 SetAnimationD 3
87 ObjectMove 4
88
89
8A
8B
8C
8D
8E WaitAnimation 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 SetProjectileDamage 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