Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-Sonic-2-2013-Script-Decompilation
Path: blob/master/Sonic 1/Scripts/Mission/MissionAreaTR.txt
1483 views
1
// ----------------------------------
2
// RSDK Project: Sonic 1
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.setup
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.setup == false
28
stage.newXBoundary2 = object.xpos
29
stage.newXBoundary2 >>= 16
30
stage.newXBoundary2 += 16
31
stage.newYBoundary1 = object.ypos
32
stage.newYBoundary1 >>= 16
33
stage.newYBoundary1 -= 16
34
object.setup = true
35
end if
36
37
if stage.state == STAGE_RUNNING
38
if player[0].ypos < object.ypos
39
player[0].yvel = 0
40
player[0].speed = 0
41
player[0].ypos = object.ypos
42
end if
43
44
if player[0].xpos > object.xpos
45
player[0].xvel = 0
46
player[0].speed = 0
47
player[0].xpos = object.xpos
48
end if
49
end if
50
end event
51
52
53
event ObjectDraw
54
// sure ig
55
// (event exists, but there's no code inside it)
56
end event
57
58
59
event ObjectStartup
60
foreach (TypeName[MissionAreaTR], arrayPos0, ALL_ENTITIES)
61
object[arrayPos0].priority = PRIORITY_ACTIVE
62
next
63
end event
64
65
66
// ========================
67
// Editor Events
68
// ========================
69
70
event RSDKDraw
71
DrawSprite(0)
72
73
// TODO: same note as the other 3 corner bounds objects
74
75
temp0 = object.xpos
76
temp0 += 0x100000
77
78
temp1 = object.ypos
79
temp1 -= 0x100000
80
81
temp2 = temp0
82
temp2 -= 0x380000
83
84
temp3 = temp1
85
temp3 += 0x380000
86
87
editor.drawingOverlay = true
88
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