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/MissionAreaBL.txt
1483 views
1
// ----------------------------------
2
// RSDK Project: Sonic 1
3
// Script Description: MissionAreaBL 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.newXBoundary1 = object.xpos
29
stage.newXBoundary1 >>= 16
30
stage.newXBoundary1 -= 16
31
stage.newYBoundary2 = object.ypos
32
stage.newYBoundary2 >>= 16
33
stage.newYBoundary2 += 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
game.forceKillPlayer = true
43
object.priority = PRIORITY_INACTIVE
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
// if you really wanna
57
// (event exists, but there's no code inside it)
58
end event
59
60
61
event ObjectStartup
62
foreach (TypeName[MissionAreaBL], arrayPos0, ALL_ENTITIES)
63
object[arrayPos0].priority = PRIORITY_ACTIVE
64
next
65
end event
66
67
68
// ========================
69
// Editor Events
70
// ========================
71
72
event RSDKDraw
73
DrawSprite(0)
74
75
// TODO: this doesn't work prolly, ask rdc for a render later
76
77
temp0 = object.xpos
78
temp0 -= 0x100000
79
80
temp1 = object.ypos
81
temp1 += 0x100000
82
83
temp2 = temp0
84
temp2 += 0x380000
85
86
temp3 = temp1
87
temp3 -= 0x380000
88
89
editor.drawingOverlay = true
90
91
DrawLine(temp0, temp1, temp0, temp3, 255, 0, 255)
92
DrawLine(temp0, temp1, temp2, temp1, 255, 0, 255)
93
94
editor.drawingOverlay = false
95
end event
96
97
98
event RSDKLoad
99
LoadSpriteSheet("Global/Display.gif")
100
SpriteFrame(-16, -16, 32, 32, 1, 143)
101
102
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
103
end event
104
105