0% found this document useful (0 votes)
14 views3 pages

Death Event

The document describes the Death Event Object for the RSDK Project: Sonic 1/Sonic 2, detailing the script's functionality and structure. It includes event handling for different states, such as managing player lives, music volume, and screen transitions upon death. Additionally, it outlines the drawing and loading of sprites related to the death event.

Uploaded by

josepharturo2009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views3 pages

Death Event

The document describes the Death Event Object for the RSDK Project: Sonic 1/Sonic 2, detailing the script's functionality and structure. It includes event handling for different states, such as managing player lives, music volume, and screen transitions upon death. Additionally, it outlines the drawing and loading of sprites related to the death event.

Uploaded by

josepharturo2009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

// ----------------------------------

// RSDK Project: Sonic 1/Sonic 2


// Script Description: Death Event Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

//-------Aliases-------//
private alias 7 : TYPE_DEATHEVENT

// Static Values

// Tables

event ObjectMain
switch object.state
case 0
case 1
temp0 = screen.xcenter
temp0 -= 72
if object.value1 < temp0
object.value1 += 16
if object.value1 > temp0
object.value1 = temp0
end if
end if
temp0 += 80
if object.value2 > temp0
object.value2 -= 16
if object.value2 < temp0
object.value2 = temp0
end if
end if
if object.value3 < 288
object.value3 += 4
else
if object.state == 0
recStageList = stage.activeList
recStage = stage.listPos
stage.activeList = PRESENTATION_STAGE
if player.continues == 0
stage.listPos = 0
engine.state = 8
CallNativeFunction2(ShowPromoPopup, 0,
"GameOverPromo")
else
stage.listPos = 4
end if
lampPostID = 0
if options.gameMode == 1
arrayPos1 = options.saveSlot
arrayPos1 <<= 3
arrayPos1++
if saveRAM[arrayPos1] < 3
saveRAM[arrayPos1] = 3
end if
arrayPos1++
saveRAM[arrayPos1] = 0
arrayPos1++
saveRAM[arrayPos1] = 0xC350
player.score = 0
WriteSaveRAM()
end if
else
if options.gameMode == 1
arrayPos1 = options.saveSlot
arrayPos1 <<= 3
arrayPos1++
saveRAM[arrayPos1] = player.lives
WriteSaveRAM()
end if
end if
if object.state == 1
recMilliSeconds = 0
recSeconds = 0
recMinutes = 0
end if
LoadStage()
end if
if object.value3 > 0
music.volume -= 2
SetScreenFade(0, 0, 0, object.value3)
else
if inputPress.buttonA == 1
object.value3 = 0
end if
if inputPress.buttonB == 1
object.value3 = 0
end if
if inputPress.buttonC == 1
object.value3 = 0
end if
CheckTouchRect(0, 0, screen.xsize, screen.ysize)
if checkResult > -1
object.value3 = 0
end if
end if
break
case 2
if object.value3 < 288
music.volume -= 2
object.value3 += 4
else
if options.gameMode == 1
arrayPos1 = options.saveSlot
arrayPos1 <<= 3
arrayPos1++
saveRAM[arrayPos1] = player.lives
WriteSaveRAM()
end if
LoadStage()
end if
SetScreenFade(0, 0, 0, object.value3)
break
case 3
if object.value3 < 288
music.volume -= 2
object.value3 += 4
else
timeAttack.result = 0x186A0
player.score = 0
lampPostID = 0
recMilliSeconds = 0
recSeconds = 0
recMinutes = 0
stage.milliSeconds = 0
stage.seconds = 0
stage.minutes = 0
engine.state = 8
end if
SetScreenFade(0, 0, 0, object.value3)
break
end switch
end event

event ObjectDraw
switch object.state
case 0
DrawSpriteScreenXY(0, object.value1, 96)
DrawSpriteScreenXY(2, object.value2, 96)
break
case 1
DrawSpriteScreenXY(1, object.value1, 96)
DrawSpriteScreenXY(2, object.value2, 96)
break
end switch
end event

event ObjectStartup
LoadSpriteSheet("Global/Display.gif")
SpriteFrame(0, 0, 64, 16, 1, 239)
SpriteFrame(0, 0, 56, 16, 66, 239)
SpriteFrame(0, 0, 64, 16, 123, 239)
end event

event RSDKDraw
DrawSprite(0)
end event

event RSDKLoad
LoadSpriteSheet("Global/Display.gif")
SpriteFrame(-16, -16, 32, 32, 1, 143)
end event

You might also like