Path: blob/main/Scripts/Credits/TextFont2.txt
1319 views
//---------------Sonic CD Text Font 2 Script------------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value1 : Object.TargetLine67// Text Info type8#alias 0 : TEXTINFO_TEXTDATA9#alias 1 : TEXTINFO_TEXTSIZE101112sub ObjectDraw1314// Only show the 4th letter and onwards, the first 3 letters are for identifying the text type15ArrayPos0 = 31617// Get how long the line is18GetTextInfo(TempValue1, MENU_1, TEXTINFO_TEXTSIZE, Object.TargetLine, 0)1920// Taking 3 away from the letter account for the reason mentioned above...21TempValue1 -= 32223// Getting the base position to draw the text at24TempValue2 = TempValue125TempValue2 <<= 1826FlipSign(TempValue2)27TempValue2 += Object.XPos2829// Main loop for drawing all the letters in the text30while TempValue1 > 03132// Get the current target letter33GetTextInfo(TempValue0, MENU_1, TEXTINFO_TEXTDATA, Object.TargetLine, ArrayPos0)3435// And if it's a special exception, jump to its corresponding Ansi ID36switch TempValue037default3839// Translating lowercase letters to Sprite Frames40Object.Frame = 041if TempValue0 > 6442if TempValue0 < 9143Object.Frame = TempValue044Object.Frame -= 6445end if46end if4748// Translating uppercase letters to Sprite Frames49if TempValue0 > 9650if TempValue0 < 12351Object.Frame = TempValue052Object.Frame -= 9653end if54end if5556if Object.Frame > 057// Draw the letter, if valid58DrawSpriteXY(Object.Frame, TempValue2, Object.YPos)59end if60break6162case 3863// Ampersand - &64DrawSpriteXY(32, TempValue2, Object.YPos)65break6667case 3968// Tick - '69DrawSpriteXY(30, TempValue2, Object.YPos)70break7172case 4473// Comma - ,74DrawSpriteXY(28, TempValue2, Object.YPos)75break7677case 4678// Period - .79DrawSpriteXY(27, TempValue2, Object.YPos)80break8182case 4783// Forward slash - /84DrawSpriteXY(31, TempValue2, Object.YPos)85break8687case 5888// Colon - ;89DrawSpriteXY(29, TempValue2, Object.YPos)90break9192case 22593// Accent mark A - á94DrawSpriteXY(33, TempValue2, Object.YPos)95break9697case 23398// Accent mark E - é99DrawSpriteXY(34, TempValue2, Object.YPos)100break101102case 243103// Accent mark O - ó104DrawSpriteXY(35, TempValue2, Object.YPos)105break106107case 250108// Accent mark U - ú109DrawSpriteXY(36, TempValue2, Object.YPos)110break111112end switch113114// Move to the next letter & decrease the letter count by onw115ArrayPos0++116TempValue1--117118// Each letter has 8px spacing119TempValue2 += 0x80000120loop121122end sub123124125sub ObjectStartup126LoadSpriteSheet("Menu/CreditsText.gif")127128// Setup all the Sprite Frames129SpriteFrame(-3, -9, 8, 16, 37, 35)130131TempValue1 = 52132while TempValue1 < 74133TempValue0 = 1134while TempValue0 < 127135SpriteFrame(-3, -5, 8, 10, TempValue0, TempValue1)136TempValue0 += 9137loop138TempValue1 += 11139loop140141TempValue0 = 1142while TempValue0 < 37143SpriteFrame(-3, -5, 8, 10, TempValue0, TempValue1)144TempValue0 += 9145loop146147SpriteFrame(-3, -8, 8, 13, 37, 74)148SpriteFrame(-3, -8, 8, 13, 46, 74)149SpriteFrame(-3, -8, 8, 13, 55, 74)150SpriteFrame(-3, -8, 8, 13, 64, 74)151152end sub153154155// ========================156// Editor Subs157// ========================158159sub RSDKDraw160TempValue0 = 0161while TempValue0 < 4162DrawSprite(TempValue0)163TempValue0++164loop165end sub166167168sub RSDKLoad169LoadSpriteSheet("Menu/CreditsText.gif")170SpriteFrame(0, -5, 8, 10, 46, 63)171SpriteFrame(9, -5, 8, 10, 37, 52)172SpriteFrame(18, -5, 8, 10, 82, 63)173SpriteFrame(27, -5, 8, 10, 46, 63)174175SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")176end sub177178179