diff --git a/neo/CMakeLists.txt b/neo/CMakeLists.txt index 1e76a192..b46ab1b2 100644 --- a/neo/CMakeLists.txt +++ b/neo/CMakeLists.txt @@ -731,7 +731,6 @@ set(GAMED3XP_INCLUDES d3xp/AimAssist.h d3xp/BrittleFracture.h d3xp/Camera.h - #d3xp/EndLevel.h d3xp/Entity.h d3xp/EnvironmentProbe.h d3xp/Fx.h @@ -769,7 +768,6 @@ set(GAMED3XP_SOURCES d3xp/AimAssist.cpp d3xp/BrittleFracture.cpp d3xp/Camera.cpp - #d3xp/EndLevel.cpp d3xp/Entity.cpp d3xp/EnvironmentProbe.cpp d3xp/Fx.cpp diff --git a/neo/d3xp/EndLevel.cpp b/neo/d3xp/EndLevel.cpp deleted file mode 100644 index 2cfc0e6c..00000000 --- a/neo/d3xp/EndLevel.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/* -=========================================================================== - -Doom 3 BFG Edition GPL Source Code -Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company. - -This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code"). - -Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Doom 3 BFG Edition Source Code is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Doom 3 BFG Edition Source Code. If not, see . - -In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code. If not, please request a copy in writing from id Software at the address below. - -If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. - -=========================================================================== -*/ - -#include "../idlib/precompiled.h" -#pragma hdrstop - -#include "Game_local.h" - -/* - - game_endlevel.cpp - - This entity is targeted to complete a level, and it also handles - running the stats and moving the camera. - -*/ - - -CLASS_DECLARATION( idEntity, idTarget_EndLevel ) -EVENT( EV_Activate, idTarget_EndLevel::Event_Trigger ) -END_CLASS - -/* -================ -idTarget_EndLevel::Spawn -================ -*/ -void idTarget_EndLevel::Spawn() -{ - idStr guiName; - - gui = NULL; - noGui = spawnArgs.GetBool( "noGui" ); - if( !noGui ) - { - spawnArgs.GetString( "guiName", "guis/EndLevel.gui", guiName ); - - if( guiName.Length() ) - { - gui = idUserInterface::FindGui( guiName, true, false, true ); - } - } - - buttonsReleased = false; - readyToExit = false; - - exitCommand = ""; -} - -/* -================ -idTarget_EndLevel::~idTarget_EndLevel() -================ -*/ -idTarget_EndLevel::~idTarget_EndLevel() -{ - //FIXME: need to go to smart ptrs for gui allocs or the unique method - //delete gui; -} - -/* -================ -idTarget_EndLevel::Event_Trigger -================ -*/ -void idTarget_EndLevel::Event_Trigger( idEntity* activator ) -{ - if( gameLocal.endLevel ) - { - return; - } - - // mark the endLevel, which will modify some game actions - // and pass control to us for drawing the stats and camera position - gameLocal.endLevel = this; - - // grab the activating player view position - idPlayer* player = ( idPlayer* )( activator ); - - initialViewOrg = player->GetEyePosition(); - initialViewAngles = idVec3( player->viewAngles[0], player->viewAngles[1], player->viewAngles[2] ); - - // kill all the sounds - gameSoundWorld->StopAllSounds(); - - if( noGui ) - { - readyToExit = true; - } -} - -/* -================ -idTarget_EndLevel::Draw -================ -*/ -void idTarget_EndLevel::Draw() -{ - - if( noGui ) - { - return; - } - - renderView_t renderView; - - memset( &renderView, 0, sizeof( renderView ) ); - - renderView.width = SCREEN_WIDTH; - renderView.height = SCREEN_HEIGHT; - renderView.x = 0; - renderView.y = 0; - - renderView.fov_x = 90; - renderView.fov_y = gameLocal.CalcFovY( renderView.fov_x ); - renderView.time = gameLocal.time; - -#if 0 - renderView.vieworg = initialViewOrg; - renderView.viewaxis = idAngles( initialViewAngles ).toMat3(); -#else - renderView.vieworg = renderEntity.origin; - renderView.viewaxis = renderEntity.axis; -#endif - - gameRenderWorld->RenderScene( &renderView ); - - // draw the gui on top of the 3D view - gui->Redraw( gameLocal.time ); -} - -/* -================ -idTarget_EndLevel::PlayerCommand -================ -*/ -void idTarget_EndLevel::PlayerCommand( int buttons ) -{ - if( !( buttons & BUTTON_ATTACK ) ) - { - buttonsReleased = true; - return; - } - if( !buttonsReleased ) - { - return; - } - - // we will exit at the end of the next game frame - readyToExit = true; -} - -/* -================ -idTarget_EndLevel::ExitCommand -================ -*/ -const char* idTarget_EndLevel::ExitCommand() -{ - if( !readyToExit ) - { - return NULL; - } - - idStr nextMap; - - if( spawnArgs.GetString( "nextMap", "", nextMap ) ) - { - sprintf( exitCommand, "map %s", nextMap.c_str() ); - } - else - { - exitCommand = ""; - } - - return exitCommand; -} diff --git a/neo/d3xp/EndLevel.h b/neo/d3xp/EndLevel.h deleted file mode 100644 index 2c4c6989..00000000 --- a/neo/d3xp/EndLevel.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -=========================================================================== - -Doom 3 BFG Edition GPL Source Code -Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company. - -This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code"). - -Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Doom 3 BFG Edition Source Code is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Doom 3 BFG Edition Source Code. If not, see . - -In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code. If not, please request a copy in writing from id Software at the address below. - -If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. - -=========================================================================== -*/ - -class idTarget_EndLevel : public idEntity -{ -public: - CLASS_PROTOTYPE( idTarget_EndLevel ); - - void Spawn(); - ~idTarget_EndLevel(); - - void Draw(); - // the endLevel will be responsible for drawing the entire screen - // when it is active - - void PlayerCommand( int buttons ); - // when an endlevel is active, plauer buttons get sent here instead - // of doing anything to the player, which will allow moving to - // the next level - - const char* ExitCommand(); - // the game will check this each frame, and return it to the - // session when there is something to give - -private: - idStr exitCommand; - - idVec3 initialViewOrg; - idVec3 initialViewAngles; - // set when the player triggers the exit - - idUserInterface* gui; - - bool buttonsReleased; - // don't skip out until buttons are released, then pressed - - bool readyToExit; - bool noGui; - - void Event_Trigger( idEntity* activator ); -}; -