Code: Alles auswählen
Global FramesPerSecond = 0
Global State = 0
#CameraSpeed = 3
Global KeyX.f
Global KeyY.f
Global MouseDeltaX.f
Global MouseDeltaY.f
Global Fade = 0
Global FadeDirection = 1
Global OldTime = ElapsedMilliseconds()
Global NewTime = ElapsedMilliseconds()
Global Video = 0
Global DisplayChapterTitle = 1
Global PlayMovie = 0
Procedure FX_Aging(R, G, B)
StartDrawing(ScreenOutput())
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
Line(Random(800), 0, 0, 800, RGB(R, G, B))
StopDrawing()
Result = Random(100)
If Result = 0
ShowBlot0 = 1
ShowBlot1 = 0
ShowBlot2 = 0
ElseIf Result = 1
ShowBlot0 = 0
ShowBlot1 = 1
ShowBlot2 = 0
ElseIf Result = 2
ShowBlot0 = 0
ShowBlot1 = 0
ShowBlot2 = 1
Else
ShowBlot0 = 0
ShowBlot1 = 0
ShowBlot2 = 0
EndIf
If ShowBlot0 = 1
DisplayTransparentSprite(12, Random(757), Random(536))
EndIf
If ShowBlot1 = 1
DisplayTransparentSprite(13, Random(721), Random(492))
EndIf
If ShowBlot2 = 1
DisplayTransparentSprite(14, 0, 0)
EndIf
EndProcedure
UseOGGSoundDecoder()
UsePNGImageDecoder()
InitKeyboard()
InitMouse()
InitEngine3D()
InitSprite()
InitSprite3D()
InitSound()
InitMovie()
OpenScreen(800, 600, 32, "Application")
Sprite = LoadSprite(#PB_Any, "loading.bmp")
DisplaySprite(Sprite, 300, 250)
FlipBuffers()
Add3DArchive("pak000.zip", #PB_3DArchive_Zip)
Add3DArchive("pak001.zip", #PB_3DArchive_Zip)
LoadSound(0, "noise.wav")
LoadSound(1, "theme.ogg")
LoadSprite(0, "Image0.bmp")
LoadSprite(1, "Image1.bmp")
LoadSprite(2, "Image2.bmp")
LoadSprite(3, "Image3.bmp")
LoadSprite(4, "Image4.bmp")
LoadSprite(5, "Image5.bmp")
LoadSprite(6, "Image6.bmp")
LoadSprite(7, "Image7.bmp")
LoadSprite(8, "Image8.bmp")
LoadSprite(9, "Image9.bmp")
LoadSprite(10, "v.png", #PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
LoadSprite(11, "x.png", #PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
LoadSprite(12, "blot0.bmp")
LoadSprite(13, "blot1.bmp")
LoadSprite(14, "blot2.bmp")
LoadSprite(15, "0.bmp")
LoadSprite(16, "blackscreen.bmp")
LoadSprite(17, "lit.bmp")
Surface = CreateSprite(18, 800, 600, #PB_Sprite_Texture)
LoadMovie(0, "lit.mpg")
CreateSprite3D(0, 10)
CreateSprite3D(1, 11)
MouseLocate(400, 300)
Sprite3DQuality(1)
PlaySound(0, 1)
Sprite = 0
OldTime = ElapsedMilliseconds()
CreateLight(0, RGB(255, 255, 255), 0, 0, 10000)
EnableWorldCollisions(1)
EnableWorldPhysics(1)
WorldShadows(#PB_Shadow_Additive)
AmbientColor(RGB(255,255,255))
Fog(RGB(200, 50, 20), 10, 0, 1000)
CreateMaterial(0, LoadTexture(0, "texture_r2.jpg"))
CreateEntity (0, LoadMesh(0, "robot.mesh"), MaterialID(0), -1, -2, -3)
SkyDome("sky_red.jpg", 50)
CreateCamera(0,0,0,100, 100)
CameraLocate(0,0,0,1000)
ChangeGamma(0, 0, 0, 1) ; <------------- Da macht der Compiler dicht.
Repeat
If IsScreenActive() <> 0
ExamineKeyboard()
ExamineMouse()
ClearScreen(RGB(0, 0, 0))
MouseX = MouseX() : MouseY = MouseY()
If KeyboardPushed(#PB_Key_F1)
StopSound(0)
State = 2
ElseIf KeyboardPushed(#PB_Key_F2)
StopSound(0)
State = 3
OldTime = ElapsedMilliseconds()
FadeDirection = 1
EndIf
Select State
Case 0
DisplaySprite(Sprite, 0, 0)
Sprite = Sprite+1
If Sprite = 10
Sprite = 0
EndIf
If MouseX < 300
FadeDir0 = 1
FadeDir1 = 0
If MouseButton(1)
StopSound(0)
State = 1
EndIf
ElseIf MouseX > 500
FadeDir1 = 1
FadeDir0 = 0
If MouseButton(1)
CloseScreen()
End
EndIf
Else
FadeDir1 = 0
FadeDir0 = 0
EndIf
If FadeDir0 = 1 And Fade0 < 130
Fade0 = Fade0+5
ElseIf FadeDir0 = 0 And Fade0 > 0
Fade0 = Fade0-5
EndIf
If FadeDir1 = 1 And Fade1 < 130
Fade1 = Fade1+5
ElseIf FadeDir1 = 0 And Fade1 > 0
Fade1 = Fade1-5
EndIf
RotateSprite3D(0, -1, 1)
RotateSprite3D(1, 1, 1)
Start3D()
DisplaySprite3D(0, 168, 268, Fade0)
DisplaySprite3D(1, 568, 268, Fade1)
Stop3D()
Case 1
DisplayTranslucentSprite(15, 150, 235, Fade)
FX_Aging(32, 0, 64)
Case 2
If KeyboardPushed(#PB_Key_A)
KeyX = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_D)
KeyX = #CameraSpeed
Else
KeyX = 0
EndIf
If KeyboardPushed(#PB_Key_W)
KeyZ = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_S)
KeyZ = #CameraSpeed
Else
KeyZ = 0
EndIf
If KeyboardPushed(#PB_Key_LeftControl)
KeyY = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Space)
KeyY = #CameraSpeed
Else
KeyY = 0
EndIf
MouseDeltaX = -(MouseDeltaX()/10)*#CameraSpeed/2
MouseDeltaY = -(MouseDeltaY()/10)*#CameraSpeed/2
RotateCamera(0, MouseDeltaX, MouseDeltaY, RollZ)
MoveCamera (0, KeyX, KeyY, KeyZ)
RenderWorld()
Case 3
NewTime = ElapsedMilliseconds()
If NewTime > OldTime+5000 And PlayMovie = 0
FadeDirection = -1
EndIf
If NewTime > OldTime+10000 And PlayMovie = 0
PlayMovie(0, #PB_Movie_Rendered)
Video = 1
FadeDirection = 1
PlayMovie = 1
OldTime = NewTime
EndIf
If NewTime > OldTime+218000
FadeDirection = -1
EndIf
If FadeDirection = 1 And Fade < 255
Fade = Fade+1
ElseIf FadeDirection = -1 And Fade > 0
Fade = Fade-1
EndIf
If DisplayChapterTitle = 1
DisplaySprite(17, 200, 250)
EndIf
If Video = 1
RenderMovieFrame(0, Surface)
DisplaySprite(18, 0, 0)
StartDrawing(ScreenOutput())
Box(0, 0, 800, 140, RGB(0, 0, 0))
Box(0, 460, 800, 140, RGB(0, 0, 0))
StopDrawing()
EndIf
ChangeGamma(Fade, Fade, Fade, 0)
Default
CloseScreen()
MessageRequester("Error", "0")
End
EndSelect
FlipBuffers()
EndIf
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()
EndDieser Compiler findet immer was zu meckern...