Path: blob/main/Scripts/Title/Logo.txt
1319 views
//-------------------Sonic CD Logo Script---------------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Fade67// States8#alias 0 : LOGO_WHITE_FADEIN9#alias 1 : LOGO_SONIC_ANIMATE10#alias 2 : LOGO_SONIC_RESET1112// Callbacks & Engine States13#alias 7 : CALLBACK_EXIT_SELECTED1415#alias 2 : TEXTINFO_ROWCOUNT // Menu Alias161718sub ObjectDraw19TempValue0 = Screen.CenterX20TempValue0 <<= 121DrawSpriteScreenXY(16, 0, 100)22DrawSpriteScreenXY(17, TempValue0, 100)2324switch Object.State25case LOGO_WHITE_FADEIN26SetScreenFade(255, 255, 255, Object.Fade)2728// Draw boths halves of the Emblem29Object.Direction = FACING_RIGHT30DrawSpriteScreenFX(0, FX_FLIP, Screen.CenterX, 40)3132Object.Direction = FACING_LEFT33DrawSpriteScreenFX(0, FX_FLIP, Screen.CenterX, 40)3435// Draw Sonic36DrawSpriteScreenXY(2, Screen.CenterX, 120)3738// Draw the Ribbon39TempValue0 = Screen.CenterX40TempValue0 -= 11041DrawSpriteScreenXY(1, TempValue0, 135)4243// And draw his initial Arm frame too44TempValue0 += 12145DrawSpriteScreenXY(4, TempValue0, 110)4647if Object.Fade > 048Object.Fade -= 849else50Object.State = LOGO_SONIC_ANIMATE51Object.Frame = 452end if53break5455case LOGO_SONIC_ANIMATE5657// Draw both ends of the Emblem58Object.Direction = FACING_RIGHT59DrawSpriteScreenFX(0, FX_FLIP, Screen.CenterX, 40)60Object.Direction = FACING_LEFT61DrawSpriteScreenFX(0, FX_FLIP, Screen.CenterX, 40)6263// Draw the main Sonic sprite64DrawSpriteScreenXY(2, Screen.CenterX, 120)6566// If needed, draw his blinking frame67if Object.Frame > 768if Object.Frame < 1369TempValue0 = Screen.CenterX70TempValue0 -= 4371DrawSpriteScreenXY(3, TempValue0, 48)72end if73end if7475// Draw the ribbon ontop of that76TempValue0 = Screen.CenterX77TempValue0 -= 11078DrawSpriteScreenXY(1, TempValue0, 135)7980// And afterwards, draw his arm81TempValue0 += 12182DrawSpriteScreenXY(Object.Frame, TempValue0, 110)8384Object.Fade++85if Object.Fade > 186Object.Fade = 087Object.Frame++88if Object.Frame > 1589Object.State = LOGO_SONIC_RESET90Object[+1].Type = TypeName[Touch Start]91Object[+1].iXPos = Screen.CenterX92Object[+1].iYPos = 20093end if94end if95break9697case LOGO_SONIC_RESET98Object.Direction = FACING_RIGHT99DrawSpriteScreenFX(0, FX_FLIP, Screen.CenterX, 40)100Object.Direction = FACING_LEFT101DrawSpriteScreenFX(0, FX_FLIP, Screen.CenterX, 40)102103DrawSpriteScreenXY(2, Screen.CenterX, 120)104105TempValue0 = Screen.CenterX106TempValue0 -= 110107DrawSpriteScreenXY(1, TempValue0, 135)108TempValue0 += 121109DrawSpriteScreenXY(4, TempValue0, 110)110break111112end switch113114// sure i guess?115if Engine.PlatformID == RETRO_WP7116if KeyPress[0].ButtonB == true117EngineCallback(CALLBACK_EXIT_SELECTED)118end if119end if120121end sub122123124sub ObjectStartup125126LoadSpriteSheet("Title/Title.gif")127128// 0 - Logo Ring129SpriteFrame(-130, 0, 130, 152, 381, 73)130131// 1 - Logo Ribbon132SpriteFrame(0, 0, 220, 80, 1, 122)133134// 2 - The man himself, Sonic!135SpriteFrame(-47, -96, 104, 120, 1, 1)136137// 3 - Sonic's Eyes138SpriteFrame(0, 0, 56, 48, 106, 33)139140// 4-15 - Sonic Arm Frames141SpriteFrame(0, -38, 45, 55, 210, 203)142SpriteFrame(0, -44, 32, 61, 223, 125)143SpriteFrame(-1, -44, 25, 61, 230, 63)144SpriteFrame(-10, -44, 30, 61, 225, 1)145SpriteFrame(-1, -44, 25, 61, 230, 63)146SpriteFrame(0, -44, 32, 61, 223, 125)147SpriteFrame(0, -38, 45, 55, 210, 203)148SpriteFrame(0, -44, 32, 61, 223, 125)149SpriteFrame(-1, -44, 25, 61, 230, 63)150SpriteFrame(-10, -44, 30, 61, 225, 1)151SpriteFrame(-1, -44, 25, 61, 230, 63)152SpriteFrame(0, -44, 32, 61, 223, 125)153154// 16 - Left Mountain Frame155SpriteFrame(0, 0, 176, 68, 256, 4)156157// 17 - Right Mountain158159// This SpriteFrame differs across each version of the game160// The Blit version had an issue where it didn't cover empty space when in widescreen, revealing a grey rectangle161// The Mobile and Origins releases use a new sprite that's wider, with it getting even wider in a later mobile version162163#platform: Use_Decomp164// For the decomp, use the original Blit sprite regardless of version165// The grey square is fixed via added code in the Background object's ObjectDraw sub166SpriteFrame(-124, 0, 124, 68, 256, 77)167#endplatform168169#platform: Use_Standalone170// SpriteFrame(-124, 0, 124, 68, 256, 77) // Blit version171// SpriteFrame(-144, 0, 144, 68, 257, 251) // Older Mobile version172SpriteFrame(-174, 0, 174, 68, 246, 267) // Current Mobile version173#endplatform174175#platform: Use_Origins176SpriteFrame(-144, 0, 144, 68, 257, 251) // Origins version177#endplatform178end sub179180181// ========================182// Editor Subs183// ========================184185sub RSDKDraw186Object.Direction = FACING_RIGHT187DrawSpriteFX(0, FX_FLIP, Object.XPos, Object.YPos)188Object.Direction = FACING_LEFT189DrawSpriteFX(0, FX_FLIP, Object.XPos, Object.YPos)190end sub191192193sub RSDKLoad194LoadSpriteSheet("Title/Title.gif")195SpriteFrame(-130, 0, 130, 152, 381, 73)196197SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")198end sub199200201