home *** CD-ROM | disk | FTP | other *** search
- global PREPMODE, gCarName, gGameMODE, gFrameCounter, gTextures, gOverlays, ovTxt, ovFader, gHavok, g3DWorld, mTrack, mSky, mCamera, mFinish, mLight, mRamp1, mRamp2, ovKey_1_1, ovKey_1_2, ovKey_2_1, ovKey_2_2, kForward, kBackward, kLeft, kRight, kBoost, gCarsPrepared, gCarsReady, isPlaying, hasFinished, SndC_Music, SndC_Grnd, SndC_FX1, SndC_FX2, SndC_Engine, SndC_EnemyFX, SndC_VO, gEngineSndList, gCar1Used, gScoresList, gHasStarted
-
- on beginSprite me
- PREPMODE = 1
- end
-
- on exitFrame me
- case PREPMODE of
- 1:
- gFrameCounter = 0
- gCar1Used = 0
- gTextures = [:]
- gOverlays = [:]
- gHavok = member("Havok")
- gHavok.deactivationParameters = [5.0, 0.10000000000000001]
- isPlaying = 0
- hasFinished = 0
- gEngineSndList = [SndC_FX1, SndC_FX2]
- g3DWorld = sprite(2).member
- g3DWorld.resetWorld()
- updateStage()
- sendSprite(2, #prepareCamera)
- member("countdown").posterFrame = 1
- createTexture("Txt_3", "countdown", #rgba8888, 0, #low)
- member("countdown").posterFrame = 2
- createTexture("Txt_2", "countdown", #rgba8888, 0, #low)
- member("countdown").posterFrame = 3
- createTexture("Txt_1", "countdown", #rgba8888, 0, #low)
- member("countdown").posterFrame = 4
- createTexture("Txt_Go", "countdown", #rgba8888, 0, #low)
- repeat with i = 0 to 9
- member("numbers_white").posterFrame = i + 1
- createTexture("Digit_" & i, "numbers_white", #rgba4444, 0, #low)
- end repeat
- createTexture("Needle", "speedometer_needle", #rgba4444, 0, #low)
- createTexture("Winner", "winner", #rgba4444, 0, #low)
- createTexture("ds_light", "ds_light", #rgba4444, 0, #low)
- mTrack = g3DWorld.model("FLOOR")
- mTrack.addModifier(#meshDeform)
- mTrack.userData.addProp(#kind, "track")
- T = gHavok.makeFixedRigidBody(mTrack.name, 0)
- T.restitution = 0
- T.friction = 0
- mTrack.visibility = #none
- gHavok.removeInterest(mTrack.name)
- mRoad = g3DWorld.model("TRACK")
- mRoad.shader.texture.renderFormat = #rgba5550
- mRoad.shader.texture.nearFiltering = 0
- case gCarName of
- "Dragster":
- mFinish = g3DWorld.model("FINISH")
- repeat with i = 1 to 80
- cloneName = "CONE_" & i
- tmodel = g3DWorld.model("CONE").clone(cloneName)
- tmodel.transform.position.y = 25 * i
- tmodel.transform.position.x = tmodel.transform.position.x - 0.20000000000000001 + (random(5) * 0.10000000000000001)
- tmodel.transform.rotation.z = random(360)
- end repeat
- g3DWorld.model("CONE").visibility = #none
- repeat with i = 1 to 20
- cloneName = "FLAG_" & i
- tmodel = g3DWorld.model("FLAGS").clone(cloneName)
- tmodel.transform.position.y = 100 * i
- end repeat
- g3DWorld.model("RAMP_1").removeFromWorld()
- g3DWorld.model("RAMP_2").removeFromWorld()
- g3DWorld.model("CLOUD").removeFromWorld()
- g3DWorld.model("LAUNCHPAD").removeFromWorld()
- g3DWorld.model("LAUNCHPAD2").removeFromWorld()
- g3DWorld.model("launchtower").removeFromWorld()
- "Jumper":
- g3DWorld.model("FINISH").removeFromWorld()
- repeat with i = 1 to 80
- cloneName = "CONE_" & i
- tmodel = g3DWorld.model("CONE").clone(cloneName)
- tmodel.transform.position.y = 25 * i
- tmodel.transform.position.x = tmodel.transform.position.x - 0.20000000000000001 + (random(5) * 0.10000000000000001)
- tmodel.transform.rotation.z = random(360)
- end repeat
- g3DWorld.model("CONE").visibility = #none
- repeat with i = 1 to 20
- cloneName = "FLAG_" & i
- tmodel = g3DWorld.model("FLAGS").clone(cloneName)
- tmodel.transform.position.y = 100 * i
- end repeat
- mRamp1 = g3DWorld.model("RAMP_1")
- mRamp1.transform.position.y = mRamp1.transform.position.y + 50
- mRamp1.addModifier(#meshDeform)
- mRamp1.userData.addProp(#kind, "ramp")
- T = gHavok.makeFixedRigidBody(mRamp1.name, 0)
- T.restitution = 0
- gHavok.removeInterest(mRamp1.name)
- mRamp2 = g3DWorld.model("RAMP_2")
- mRamp2.transform.position.y = mRamp2.transform.position.y + 50
- mRamp2.addModifier(#meshDeform)
- mRamp2.userData.addProp(#kind, "ramp")
- T = gHavok.makeFixedRigidBody(mRamp2.name, 0)
- T.restitution = 0
- gHavok.removeInterest(mRamp2.name)
- g3DWorld.model("CLOUD").removeFromWorld()
- g3DWorld.model("LAUNCHPAD").removeFromWorld()
- g3DWorld.model("LAUNCHPAD2").removeFromWorld()
- g3DWorld.model("launchtower").removeFromWorld()
- "Rocket":
- g3DWorld.model("FINISH").removeFromWorld()
- g3DWorld.model("CONE").removeFromWorld()
- g3DWorld.model("RAMP_1").removeFromWorld()
- g3DWorld.model("RAMP_2").removeFromWorld()
- g3DWorld.model("TRACK").removeFromWorld()
- g3DWorld.model("guardrail_1").removeFromWorld()
- g3DWorld.model("guardrail_2").removeFromWorld()
- tmodel = g3DWorld.model("LAUNCHPAD")
- repeat with i in tmodel.shaderList
- i.shader.texture.member = member("launchpad")
- i.shader.texture.renderFormat = #rgba8880
- end repeat
- g3DWorld.model("LAUNCHPAD").addModifier(#meshDeform)
- T = gHavok.makeFixedRigidBody(g3DWorld.model("LAUNCHPAD").name, 0)
- T.restitution = 0
- T.friction = 1
- tmodel = g3DWorld.model("LAUNCHPAD2")
- repeat with i in tmodel.shaderList
- i.shader.texture.member = member("launchpad_grnd")
- i.shader.texture.renderFormat = #rgba8880
- end repeat
- ty = 25
- repeat with i = 1 to 16
- cloneName = "CLOUD_" & i
- tmodel = g3DWorld.model("CLOUD").clone(cloneName)
- tmodel.transform.position.y = ty
- tmodel.transform.position.x = -20 + random(60)
- tmodel.transform.position.z = -40 + random(80)
- tmodel.transform.rotation.y = random(360)
- tmodel.scale(1 + random(3))
- tmodel.shader.texture.renderFormat = #rgba4444
- tmodel.shader.texture.nearFiltering = 0
- ty = ty + 150 + random(150)
- end repeat
- end case
- PREPMODE = 9
- 9:
- sendSprite(2, #prepareCar)
- PREPMODE = 10
- 10:
- gCarsPrepared = 1
- sendSprite(2, #checkPrepared)
- if gCarsPrepared = 1 then
- sendSprite(2, #startCar)
- g3DWorld.model("Dragster_Body").removeFromWorld()
- g3DWorld.model("Dragster_Wheel_FL").removeFromWorld()
- g3DWorld.model("Dragster_Wheel_FR").removeFromWorld()
- g3DWorld.model("Dragster_Wheel_RL").removeFromWorld()
- g3DWorld.model("Dragster_Wheel_RR").removeFromWorld()
- g3DWorld.model("Jumper_Body").removeFromWorld()
- g3DWorld.model("Jumper_Wheel_FL").removeFromWorld()
- g3DWorld.model("Jumper_Wheel_FR").removeFromWorld()
- g3DWorld.model("Jumper_Wheel_RL").removeFromWorld()
- g3DWorld.model("Jumper_Wheel_RR").removeFromWorld()
- g3DWorld.model("Rocket_Body").removeFromWorld()
- g3DWorld.model("Flame").removeFromWorld()
- PREPMODE = 11
- end if
- 11:
- gCarsReady = 1
- sendSprite(2, #checkReady)
- if gCarsReady = 1 then
- PREPMODE = 12
- if gCarName = "Rocket" then
- g3DWorld.directionalPreset = #bottomCenter
- end if
- end if
- 12:
- mCamera.overlay[ovFader].blend = max(0, mCamera.overlay[ovFader].blend - 10)
- if mCamera.overlay[ovFader].blend = 0 then
- PREPMODE = 12.09999999999999964
- end if
- 12.09999999999999964:
- SndC_Music.stop()
- SndC_Music.volume = 255
- gFrameCounter = 0
- PREPMODE = 12.19999999999999929
- 12.19999999999999929:
- if gFrameCounter >= 30 then
- mCamera.overlay[ovTxt].source = gTextures.getProp("Txt_2")
- mCamera.overlay[ovTxt].blend = 100
- gFrameCounter = 0
- SndC_Music.play(member("Snd_Music_hit"))
- PREPMODE = 12.30000000000000071
- else
- if gFrameCounter >= 20 then
- mCamera.overlay[ovTxt].blend = max(0, mCamera.overlay[ovTxt].blend - 10)
- end if
- end if
- 12.30000000000000071:
- if gFrameCounter >= 30 then
- mCamera.overlay[ovTxt].source = gTextures.getProp("Txt_1")
- mCamera.overlay[ovTxt].blend = 100
- gFrameCounter = 0
- SndC_Music.play(member("Snd_Music_hit"))
- PREPMODE = 12.40000000000000036
- else
- if gFrameCounter >= 30 then
- mCamera.overlay[ovTxt].blend = max(0, mCamera.overlay[ovTxt].blend - 10)
- end if
- end if
- 12.40000000000000036:
- if gFrameCounter >= 30 then
- mCamera.overlay[ovTxt].source = gTextures.getProp("Txt_Go")
- mCamera.overlay[ovTxt].blend = 100
- gFrameCounter = 0
- SndC_Music.play(member("Snd_Music_play"))
- PREPMODE = 20
- else
- if gFrameCounter >= 30 then
- mCamera.overlay[ovTxt].blend = max(0, mCamera.overlay[ovTxt].blend - 10)
- end if
- end if
- 20:
- mCamera.overlay[ovKey_1_1].blend = 100
- mCamera.overlay[ovKey_2_1].blend = 100
- gHasStarted = 0
- gFrameCounter = 0
- isPlaying = 1
- go("PLAY")
- end case
- gFrameCounter = gFrameCounter + 1
- go(the frame)
- end
-