Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 8

//------------Sonic CD DemoMenu Script-------------//

//--------Scripted by Christian Whitehead 'The Taxman'--------//


//-------Unpacked By Rubberduckycooly's Script Unpacker-------//

//-------Aliases-------//
#alias 14: TYPE_DEMOMENU

// Function declarations
#function DemoMenu_Function8
#function DemoMenu_Function9
#function DemoMenu_Function10

function DemoMenu_Function8
#platform: Mobile
TempValue4=TempValue0
TempValue4+=4
TempValue2=TempValue1
TempValue2/=6000
TempValue3=TempValue2
TempValue3/=10
TempValue3+=11
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,136)
TempValue4+=6
TempValue3=TempValue2
TempValue3%=10
TempValue3+=11
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,136)
TempValue4+=11
TempValue2=TempValue1
TempValue2/=100
TempValue2%=60
TempValue3=TempValue2
TempValue3/=10
TempValue3+=11
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,136)
TempValue4+=6
TempValue3=TempValue2
TempValue3%=10
TempValue3+=11
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,136)
TempValue4+=13
TempValue2=TempValue1
TempValue2%=100
TempValue3=TempValue2
TempValue3/=10
TempValue3+=11
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,136)
TempValue4+=6
TempValue3=TempValue2
TempValue3%=10
TempValue3+=11
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,136)
#endplatform
endfunction

function DemoMenu_Function9
#platform: Mobile
TempValue4=TempValue0
TempValue2=TempValue1
TempValue2/=6000
TempValue3=TempValue2
TempValue3/=10
TempValue3+=Object.Frame
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,155)
TempValue4+=8
TempValue3=TempValue2
TempValue3%=10
TempValue3+=Object.Frame
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,155)
TempValue4+=15
TempValue2=TempValue1
TempValue2/=100
TempValue2%=60
TempValue3=TempValue2
TempValue3/=10
TempValue3+=Object.Frame
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,155)
TempValue4+=8
TempValue3=TempValue2
TempValue3%=10
TempValue3+=Object.Frame
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,155)
TempValue4+=17
TempValue2=TempValue1
TempValue2%=100
TempValue3=TempValue2
TempValue3/=10
TempValue3+=Object.Frame
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,155)
TempValue4+=8
TempValue3=TempValue2
TempValue3%=10
TempValue3+=Object.Frame
DrawSpriteScreenFX(TempValue3,FX_INK,TempValue4,155)
#endplatform
endfunction

function DemoMenu_Function10
#platform: Mobile
Cos(TempValue4,Object.Rotation)
TempValue4>>=4
TempValue4+=TempValue2
Sin(TempValue5,Object.Rotation)
TempValue5*=3
TempValue5>>=6
TempValue5+=TempValue3
Object.Rotation+=128
Object.Rotation&=511
EditFrame(10,2,2,64,58,TempValue4,TempValue5)
#endplatform
endfunction

sub ObjectMain
#platform: Mobile
switch Object.State
case 0
if Options.PhysicalControls==0
Object.Value1=-1
else
Object.Value1=0
endif
if Object.Value0==0
Object.Value3=9000
Object.Value2=SaveRAM[48]
Object.Value2+=SaveRAM[49]
if Object.Value2==0
SaveRAM[48]=60000
SaveRAM[49]=60000
Object.Value2=120000
endif
endif
if Object.Value0<256
Object.Alpha=Object.Value0
Object.Value0+=6
else
Object.Value0=0
Object.Alpha=255
Object.State++
endif
break
case 1
if Options.PhysicalControls==1
if KeyPress.Left==1
Object.Value1--
if Object.Value1<0
Object.Value1=2
endif
PlaySfx(23,0)
endif
if KeyPress.Right==1
Object.Value1++
if Object.Value1>2
Object.Value1=0
endif
PlaySfx(23,0)
endif
CheckTouchRect(0,0,Screen.XSize,Screen.YSize)
if CheckResult>-1
Options.PhysicalControls=0
Object.Value1=-1
endif
else
CheckTouchRect(0,0,Screen.XSize,Screen.YSize)
TempValue3=CheckResult
TempValue0=Screen.CenterX
TempValue0-=113
TempValue1=Screen.CenterX
TempValue1-=45
CheckTouchRect(TempValue0,67,TempValue1,157)
if CheckResult>-1
Object.Value1=0
else
if TempValue3<0
if Object.Value1==0
KeyPress.Start=1
endif
else
if Object.Value1==0
Object.Value1=-1
endif
endif
endif
TempValue0=Screen.CenterX
TempValue0-=35
TempValue1=Screen.CenterX
TempValue1+=35
CheckTouchRect(TempValue0,67,TempValue1,157)
if CheckResult>-1
Object.Value1=1
else
if TempValue3<0
if Object.Value1==1
KeyPress.Start=1
endif
else
if Object.Value1==1
Object.Value1=-1
endif
endif
endif
if Object.Value2<=Object.Value3
TempValue0=Screen.CenterX
TempValue0+=45
TempValue1=Screen.CenterX
TempValue1+=113
CheckTouchRect(TempValue0,67,TempValue1,157)
if CheckResult>-1
Object.Value1=2
else
if TempValue3<0
if Object.Value1==2
KeyPress.Start=1
endif
else
if Object.Value1==2
Object.Value1=-1
endif
endif
endif
endif
CallFunction(MenuHeading_Function0)
if KeyPress.Left==1
Object.Value1=1
Options.PhysicalControls=1
endif
if KeyPress.Right==1
Object.Value1=0
Options.PhysicalControls=1
endif
endif
CheckResult=0
if Object.Value1>-1
if KeyPress.Start==1
if Object.Value1==2
if Object.Value2<=Object.Value3
CheckResult=1
endif
else
CheckResult=1
endif
endif
if KeyPress.ButtonA==1
if Object.Value1==2
if Object.Value2<=Object.Value3
CheckResult=1
endif
else
CheckResult=1
endif
endif
endif
if CheckResult==1
Object.State++
StopMusic()
PlaySfx(27,0)
endif
if KeyPress.ButtonB==1
Object.Value0=248
Object.State=3
PlayStageSfx(1,0)
endif
break
case 2
if Object.AnimationTimer<30
Object.AnimationTimer++
else
Object.AnimationTimer=0
Object.State=4
endif
break
case 3
if Object.Value0>0
Object.Alpha=Object.Value0
Object.Value0-=8
else
Object.Type=TypeName[BlankObject]
Object[-1].State=3
Object[34].State=1
Object[35].State=1
Object[36].State=1
Object[37].State=1
Object[38].State=1
Object[39].State=1
Object[40].State=1
Object[41].State=1
Object[42].State=1
Object[33].State=1
Object[33].PropertyValue=5
endif
break
case 4
if Object.Value0<320
Object.Value0+=8
else
Options.GameMode=3
Player.Score=0
Player.Lives=3
Player.ScoreBonus=50000
Transporter_Destroyed=0
MetalSonic_Destroyed=0
TimeAttack.Round=Object.Value1
Stage.ActiveList=REGULAR_STAGE
switch Object.Value1
case 0
Stage.ListPos=0
Good_Future=0
break
case 1
Stage.ListPos=34
Good_Future=0
break
case 2
Stage.ListPos=38
Good_Future=1
break
endswitch
LoadStage()
endif
SetScreenFade(0,0,0,Object.Value0)
break
endswitch
#endplatform
endsub

sub ObjectDraw
#platform: Mobile
TempValue0=Screen.CenterX
TempValue0-=113
DrawSpriteScreenFX(0,FX_INK,TempValue0,57)
TempValue2=33
TempValue3=267
CallFunction(DemoMenu_Function10)
DrawSpriteScreenFX(10,FX_INK,TempValue0,57)
DrawSpriteScreenFX(6,FX_INK,TempValue0,134)
TempValue1=SaveRAM[48]
CallFunction(DemoMenu_Function8)
TempValue0+=78
DrawSpriteScreenFX(1,FX_INK,TempValue0,57)
TempValue2=33
TempValue3=396
CallFunction(DemoMenu_Function10)
DrawSpriteScreenFX(10,FX_INK,TempValue0,57)
DrawSpriteScreenFX(6,FX_INK,TempValue0,134)
TempValue1=SaveRAM[49]
CallFunction(DemoMenu_Function8)
TempValue0+=78
DrawSpriteScreenFX(2,FX_INK,TempValue0,57)
TempValue2=321
TempValue3=399
CallFunction(DemoMenu_Function10)
DrawSpriteScreenFX(10,FX_INK,TempValue0,57)
Object.Rotation+=129
Object.Rotation&=511
TempValue0=Screen.CenterX
TempValue1=Object.AnimationTimer
TempValue1&=3
TempValue1>>=1
TempValue1+=7
switch Object.Value1
case 0
TempValue0-=113
DrawSpriteScreenFX(TempValue1,FX_INK,TempValue0,57)
break
case 1
TempValue0-=35
DrawSpriteScreenFX(TempValue1,FX_INK,TempValue0,57)
break
case 2
TempValue0+=43
DrawSpriteScreenFX(TempValue1,FX_INK,TempValue0,57)
break
endswitch
if Object.Value2>Object.Value3
TempValue0=Screen.CenterX
TempValue0+=97
DrawSpriteScreenFX(9,FX_INK,TempValue0,128)
TempValue0=Screen.CenterX
TempValue0-=113
DrawSpriteScreenFX(3,FX_INK,TempValue0,155)
DrawSpriteScreenFX(4,FX_INK,TempValue0,155)
TempValue0+=44
Object.Frame=21
TempValue1=Object.Value2
CallFunction(DemoMenu_Function9)
TempValue0+=114
DrawSpriteScreenFX(5,FX_INK,TempValue0,154)
TempValue0+=11
Object.Frame=31
TempValue1=Object.Value3
CallFunction(DemoMenu_Function9)
else
TempValue0=Screen.CenterX
TempValue0-=113
DrawSpriteScreenFX(3,FX_INK,TempValue0,155)
DrawSpriteScreenFX(4,FX_INK,TempValue0,155)
TempValue0+=44
Object.Frame=21
TempValue1=Object.Value2
CallFunction(DemoMenu_Function9)
endif
#endplatform
endsub

sub ObjectStartup
#platform: Mobile
LoadSpriteSheet("Menu/MenuGfx1_EN.gif")
SpriteFrame(0,0,68,90,321,1)
SpriteFrame(0,0,68,90,321,92)
SpriteFrame(0,0,68,90,321,183)
SpriteFrame(0,0,36,13,219,440)
SpriteFrame(61,0,30,5,219,434)
SpriteFrame(0,0,66,14,211,349)
SpriteFrame(17,0,22,4,169,435)
SpriteFrame(-1,-1,70,92,321,274)
SpriteFrame(-1,-1,0,0,325,279)
SpriteFrame(0,-10,8,13,258,418)
SpriteFrame(2,2,64,58,1,1)
SpriteFrame(0,0,6,8,244,400)
SpriteFrame(0,0,6,8,251,400)
SpriteFrame(0,0,6,8,258,400)
SpriteFrame(0,0,6,8,265,400)
SpriteFrame(0,0,6,8,244,409)
SpriteFrame(0,0,6,8,251,409)
SpriteFrame(0,0,6,8,258,409)
SpriteFrame(0,0,6,8,265,409)
SpriteFrame(0,0,6,8,244,418)
SpriteFrame(0,0,6,8,251,418)
SpriteFrame(0,0,8,16,154,400)
SpriteFrame(0,0,8,16,163,400)
SpriteFrame(0,0,8,16,172,400)
SpriteFrame(0,0,8,16,181,400)
SpriteFrame(0,0,8,16,190,400)
SpriteFrame(0,0,8,16,199,400)
SpriteFrame(0,0,8,16,208,400)
SpriteFrame(0,0,8,16,217,400)
SpriteFrame(0,0,8,16,226,400)
SpriteFrame(0,0,8,16,235,400)
SpriteFrame(0,0,8,16,154,417)
SpriteFrame(0,0,8,16,163,417)
SpriteFrame(0,0,8,16,172,417)
SpriteFrame(0,0,8,16,181,417)
SpriteFrame(0,0,8,16,190,417)
SpriteFrame(0,0,8,16,199,417)
SpriteFrame(0,0,8,16,208,417)
SpriteFrame(0,0,8,16,217,417)
SpriteFrame(0,0,8,16,226,417)
SpriteFrame(0,0,8,16,235,417)
#endplatform
endsub

sub RSDK
LoadSpriteSheet("Global/Display.gif")
SetEditorIcon(Icon0,SingleIcon,-16,-16,32,32,1,143)
endsub

You might also like