Difference between revisions of "Script Format"

From Terranigma Wiki
Jump to navigation Jump to search
m
m (cleaned up naming format)
Line 22: Line 22:
|-
|-
|00
|00
| JumpOffsetSet
| JumpSetOffset
| 4
| 4
|
|
Line 106: Line 106:
|-
|-
|0C
|0C
| OnTriggerAreaAbsolute
| TriggerOnAreaAbsolute
| 8
| 8
|
|
Line 113: Line 113:
|-
|-
|0D
|0D
| OnTriggerAreaRelative
| TriggerOnAreaRelative
| 8
| 8
|
|
Line 148: Line 148:
|-
|-
|12
|12
| OnObjectTriggerAreaRelative
| TriggerObjectOnAreaRelative
| 8
| 8
|
|
Line 155: Line 155:
|-
|-
|13
|13
| SetSpritePosition
| SpriteSetPosition
| 4
| 4
|
|
Line 197: Line 197:
|-
|-
|19
|19
| SetRespawnLocation
| RespawnSetLocation
| 15
| 15
|
|
Line 204: Line 204:
|-
|-
|1A
|1A
| ChoiceDialog
| DialogChoice
| x
| x
|
|
Line 239: Line 239:
|-
|-
|1F
|1F
| WaitMessage
| MessageWait
| 1
| 1
|
|
Line 253: Line 253:
|-
|-
|21
|21
| OnTrigger
| Trigger
| 3
| 3
|
|
Line 435: Line 435:
|-
|-
|3B
|3B
| SetObjectSolid
| ObjectSetSolid
| 1
| 1
|
|
Line 610: Line 610:
|-
|-
|54
|54
| GiveItem
| ItemGive
| 4
| 4
|
|
Line 862: Line 862:
|-
|-
|78
|78
| UpdateBackgroundFade
| BackgroundUpdateFade
|
|
|
|
Line 919: Line 919:
|-
|-
|80
|80
| SetAnimationA
| AnimationSetA
| 2
| 2
|
|
Line 926: Line 926:
|-
|-
|81
|81
| SetAnimationB
| AnimationSetB
| 2
| 2
|
|
Line 954: Line 954:
|-
|-
|85
|85
| SetAnimationC
| AnimationSetC
| 3
| 3
|
|
Line 961: Line 961:
|-
|-
|86
|86
| SetAnimationD
| AnimationSetD
| 3
| 3
|  
|  
Line 1,017: Line 1,017:
|-
|-
|8E
|8E
| WaitAnimation
| AnimationWait
| 1
| 1
|
|
Line 1,542: Line 1,542:
|-
|-
|D9
|D9
| SetProjectileDamage
| 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