Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-Sonic-2-2013-Script-Decompilation
Path: blob/master/Sonic 2/Scripts/Mission/MissionAreaTR.txt
1487 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: MissionAreaTR Object
4
// Script Author: Christian Whitehead/Simon Thomley
5
// Unpacked by Rubberduckycooly's script unpacker
6
// ----------------------------------
7
8
// ========================
9
// Aliases
10
// ========================
11
12
private alias object.state : object.setBounds
13
14
// Player Aliases
15
private alias object.xpos : player.xpos
16
private alias object.ypos : player.ypos
17
private alias object.xvel : player.xvel
18
private alias object.yvel : player.yvel
19
private alias object.speed : player.speed
20
21
22
// ========================
23
// Events
24
// ========================
25
26
event ObjectUpdate
27
if object.setBounds == false
28
stage.newXBoundary2 = object.xpos
29
stage.newXBoundary2 >>= 16
30
stage.newXBoundary2 += 16
31
32
stage.newYBoundary1 = object.ypos
33
stage.newYBoundary1 >>= 16
34
stage.newYBoundary1 -= 16
35
36
object.setBounds = true
37
end if
38
39
if stage.state == STAGE_RUNNING
40
if player[0].ypos < object.ypos
41
player[0].yvel = 0
42
player[0].speed = 0
43
player[0].ypos = object.ypos
44
end if
45
46
if player[0].xpos > object.xpos
47
player[0].xvel = 0
48
player[0].speed = 0
49
player[0].xpos = object.xpos
50
end if
51
end if
52
end event
53
54
55
event ObjectDraw
56
// This event exists, and yet nothing's in it...
57
end event
58
59
60
event ObjectStartup
61
foreach (TypeName[MissionAreaTR], arrayPos0, ALL_ENTITIES)
62
object[arrayPos0].priority = PRIORITY_ACTIVE
63
next
64
end event
65
66
67
// ========================
68
// Editor Events
69
// ========================
70
71
event RSDKDraw
72
DrawSprite(0)
73
74
editor.drawingOverlay = true
75
76
temp0 = object.xpos
77
temp0 += 0x100000
78
79
temp1 = object.ypos
80
temp1 -= 0x100000
81
82
temp2 = temp0
83
temp2 -= 0x380000
84
85
temp3 = temp1
86
temp3 += 0x380000
87
88
// TODO: this prob doesn't work
89
DrawLine(temp0, temp1, temp0, temp3, 255, 0, 255)
90
DrawLine(temp0, temp1, temp2, temp1, 255, 0, 255)
91
92
editor.drawingOverlay = false
93
end event
94
95
96
event RSDKLoad
97
LoadSpriteSheet("Global/Display.gif")
98
SpriteFrame(-16, -16, 32, 32, 1, 143)
99
100
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
101
end event
102
103