Path: blob/master/Sonic 2/Scripts/2PVS/2PVSSetup.txt
1483 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: 2P VS Setup Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer12private alias object.value1 : object.playingMusic1314// States15private alias 0 : 2PVSSETUP_SETUP16private alias 1 : 2PVSSETUP_FADEIN17private alias 2 : 2PVSSETUP_MENUACTIVE18private alias 3 : 2PVSSETUP_TOREGULARSTAGE19private alias 4 : 2PVSSETUP_TOSPECIALSTAGE202122// ========================23// Events24// ========================2526event ObjectUpdate27options.touchControls = false2829switch object.state30case 2PVSSETUP_SETUP31object.timer = 32032SetScreenFade(0x00, 0x00, 0x00, object.timer)33stage.debugMode = false34#platform: USE_ORIGINS35SetScreenCount(1)36#endplatform37if options.vsMode == false38vs.player2Type = -139vs.stageMask = 040vs.match = 041vs.tieBreaker = false42player.lives = 343player.lives2 = 34445SetMusicTrack("Options.ogg", 0, true)46ResetObjectEntity(1, TypeName[2P VS Menu 1], 0, 0, 0)47else48SetMusicTrack("Results.ogg", 0, true)4950if vs.tieBreaker == true51ResetObjectEntity(1, TypeName[SS Single Result], 0, 0, 0)52else53if vs.activeList == REGULAR_STAGE54ResetObjectEntity(1, TypeName[Act Results], 0, 0, 0)55else56ResetObjectEntity(1, TypeName[SS Single Result], 0, 0, 0)57end if58end if59end if60object[1].priority = PRIORITY_ACTIVE61object.state++62break6364case 2PVSSETUP_FADEIN65if object.timer > 066object.timer -= 1667else68if object.playingMusic == false69PlayMusic(0)70object.playingMusic = true71end if7273object.state++74end if75SetScreenFade(0x00, 0x00, 0x00, object.timer)76break7778case 2PVSSETUP_MENUACTIVE79break8081case 2PVSSETUP_TOREGULARSTAGE82if object.timer < 25683music.volume -= 1084object.timer += 1685SetScreenFade(0x00, 0x00, 0x00, object.timer)86else87player.score = 088player.score2 = 089vs.totalRings1P = 090vs.totalRings2P = 091vs.items1P = 092vs.items2P = 093vs.dataSent = false94StopMusic()95LoadStage()96SetScreenFade(0x00, 0x00, 0x00, 0xFF)97end if98break99100case 2PVSSETUP_TOSPECIALSTAGE101if object.timer < 768102music.volume -= 10103object.timer += 8104SetScreenFade(0xD0, 0xFF, 0xE0, object.timer)105else106vs.checkpoint1P = 0107vs.checkpoint2P = 0108fadeColor = 0xD0109fadeColor <<= 16110temp0 = 0xFF111temp0 <<= 8112fadeColor += temp0113fadeColor += 0xE0114StopMusic()115LoadStage()116SetScreenFade(0xD0, 0xFF, 0xE0, 255)117end if118break119120end switch121end event122123124event ObjectStartup125LoadSpriteSheet("LevelSelect/Icons.gif")126127// If any 2P VS Setup Objects are in the scene, then start up the 2P Menu128foreach (TypeName[2P VS Setup], arrayPos0, ALL_ENTITIES)129object[arrayPos0].type = TypeName[Blank Object]130ResetObjectEntity(0, TypeName[2P VS Setup], 0, 0, 0)131object[0].priority = PRIORITY_ACTIVE132next133end event134135136// ========================137// Editor Events138// ========================139140event RSDKDraw141DrawSprite(0)142end event143144145event RSDKLoad146LoadSpriteSheet("Global/Display.gif")147SpriteFrame(-16, -16, 32, 32, 1, 143)148149SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")150end event151152153