; ; ------------------------------------------------------------ ; ; PureBasic - World ; ; (c) 2003 - Fantaisie Software ; ; ------------------------------------------------------------ ; #PlayerSpeed = 20 IncludeFile "Screen3DRequester.pb" DefType.f KeyX, KeyY, MouseX, MouseY MessageRequester("PureBasic - Information", "You should have Quake3 to test this example", 0) If InitEngine3D() If InitSprite() = 0 MessageRequester("Error", "OGRE package not found", 0) : End EndIf InitKeyboard() InitMouse() If Screen3DRequester() Quake3Base$ = OpenFileRequester("Select Quake3 Pak0.pk3 file", "Pak0.pk3", "*.pk3|*.pk3", 0) If Quake3Base$ = "" : End : EndIf Add3DArchive(Quake3Base$, #PB_3DArchive_Zip) Add3DArchive("Data\" , #PB_3DArchive_FileSystem) If LoadWorld("maps/q3dm1.bsp") CreateCamera(0, 0, 0, 100, 100) Repeat Screen3DEvents() If ExamineKeyboard() If KeyboardPushed(#PB_Key_Left) KeyX = -#PlayerSpeed ElseIf KeyboardPushed(#PB_Key_Right) KeyX = #PlayerSpeed Else KeyX = 0 EndIf If KeyboardPushed(#PB_Key_Up) KeyY = -#PlayerSpeed ElseIf KeyboardPushed(#PB_Key_Down) KeyY = #PlayerSpeed Else KeyY = 0 EndIf EndIf ExamineMouse() MouseX = -(MouseDeltaX()/10)*#PlayerSpeed/2 MouseY = (MouseDeltaY()/10)*#PlayerSpeed/2 RotateCamera(0, MouseX, MouseY, 0) MoveCamera(0, KeyX, 0, KeyY) RenderWorld() FlipBuffers() Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1 Else MessageRequester("Error", "Can't load the Quake3 level", 0) EndIf EndIf EndIf ; ExecutableFormat=Windows ; CursorPosition=64 ; FirstLine=26 ; Executable=C:\Ogre\Ogre_Windowed.exe ; EOF