0% found this document useful (0 votes)
7 views2 pages

Cannon

This document describes the Cannon object for the RSDK Project related to Sonic 1/Sonic 2, authored by Christian Whitehead and Simon Thomley. It includes function declarations for debugging and object management, as well as event handlers for object behavior and drawing. The script also manages sprite loading and collision detection for player interactions with the cannon object.

Uploaded by

Jogatina animal
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)
7 views2 pages

Cannon

This document describes the Cannon object for the RSDK Project related to Sonic 1/Sonic 2, authored by Christian Whitehead and Simon Thomley. It includes function declarations for debugging and object management, as well as event handlers for object behavior and drawing. The script also manages sprite loading and collision detection for player interactions with the cannon object.

Uploaded by

Jogatina animal
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/ 2

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

// RSDK Project: Sonic 1/Sonic 2


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

//-------Aliases-------//
private alias 60 : TYPE_CANNON

// Function declarations
reserve function Cannon_DebugDraw
reserve function Cannon_DebugSpawn

// Static Values

// Tables

function Cannon_DebugDraw
DrawSpriteFX(0, FX_FLIP, object.xpos, object.ypos)
end function

function Cannon_DebugSpawn
CreateTempObject(TypeName[Cannon], 0, object.xpos, object.ypos)
object[tempObjectPos].direction = object.direction
object[tempObjectPos].drawOrder = 4
end function

event ObjectMain

foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)


BoxCollisionTest(C_BOX, object.entityPos, -8, -16, 6, 16,
currentPlayer, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO)
next

end event

event ObjectDraw
DrawSpriteFX(0, FX_FLIP, object.xpos, object.ypos)
end event

event ObjectStartup
LoadSpriteSheet("SLZ/Objects.gif")
SpriteFrame(-8, -16, 16, 32, 67, 59)
foreach (TypeName[Cannon], arrayPos0, ALL_ENTITIES)
object[arrayPos0].drawOrder = 4
next
SetTableValue(TypeName[Cannon], DebugMode_ObjCount, DebugMode_TypesTable)
SetTableValue(Cannon_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)
SetTableValue(Cannon_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)
DebugMode_ObjCount++
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