mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-20 04:30:12 +02:00
Quake 4 integrated with DoomRTX
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
//----------------------------------------------------------------
|
||||
// VehicleStatic.cpp
|
||||
//
|
||||
// Copyright 2002-2004 Raven Software
|
||||
//----------------------------------------------------------------
|
||||
|
||||
#include "precompiled.h"
|
||||
#pragma hdrstop
|
||||
|
||||
#include "../Game_local.h"
|
||||
#include "VehicleStatic.h"
|
||||
|
||||
CLASS_DECLARATION( rvVehicle, rvVehicleStatic )
|
||||
EVENT( AI_ScriptedAnim, rvVehicleStatic::Event_ScriptedAnim )
|
||||
EVENT( AI_ScriptedDone, rvVehicleStatic::Event_ScriptedDone )
|
||||
EVENT( AI_ScriptedStop, rvVehicleStatic::Event_ScriptedStop )
|
||||
END_CLASS
|
||||
|
||||
rvVehicleStatic::rvVehicleStatic ( void ) {
|
||||
}
|
||||
|
||||
rvVehicleStatic::~rvVehicleStatic ( void ) {
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
rvVehicleStatic::Spawn
|
||||
================
|
||||
*/
|
||||
void rvVehicleStatic::Spawn( void ) {
|
||||
BecomeActive( TH_THINK );
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
rvVehicleStatic::AddDriver
|
||||
================
|
||||
*/
|
||||
int rvVehicleStatic::AddDriver ( int position, idActor* driver ) {
|
||||
int pos = rvVehicle::AddDriver( position, driver );
|
||||
|
||||
if( pos < 0 ) {
|
||||
return pos;
|
||||
}
|
||||
|
||||
if( GetHud() ) {
|
||||
GetHud()->HandleNamedEvent( "hideGunInfo" );
|
||||
}
|
||||
|
||||
return pos;
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
rvVehicleStatic::RemoveDriver
|
||||
================
|
||||
*/
|
||||
bool rvVehicleStatic::RemoveDriver ( int position, bool force ) {
|
||||
bool result = rvVehicle::RemoveDriver( position, force );
|
||||
|
||||
if( !result ) {
|
||||
return result;
|
||||
}
|
||||
|
||||
if( GetHud() ) {
|
||||
GetHud()->HandleNamedEvent( "showGunInfo" );
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
rvVehicleStatic::UpdateHUD
|
||||
================
|
||||
*/
|
||||
void rvVehicleStatic::UpdateHUD( idActor* driver, idUserInterface* gui ) {
|
||||
if( driver && driver->IsType( idPlayer::GetClassType() ) ) {
|
||||
static_cast<idPlayer*>(driver)->UpdateHudStats( gui );
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
rvVehicleStatic::Event_ScriptedAnim
|
||||
================
|
||||
*/
|
||||
void rvVehicleStatic::Event_ScriptedAnim( const char* animname, int blendFrames, bool loop, bool endWithIdle ) {
|
||||
vfl.endWithIdle = endWithIdle;
|
||||
if ( loop ) {
|
||||
PlayCycle ( ANIMCHANNEL_TORSO, animname, blendFrames );
|
||||
} else {
|
||||
PlayAnim ( ANIMCHANNEL_TORSO, animname, blendFrames );
|
||||
}
|
||||
vfl.scripted = true;
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
rvVehicleStatic::Event_ScriptedDone
|
||||
================
|
||||
*/
|
||||
void rvVehicleStatic::Event_ScriptedDone( void ) {
|
||||
idThread::ReturnInt( !vfl.scripted );
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
rvVehicleStatic::Event_ScriptedStop
|
||||
================
|
||||
*/
|
||||
void rvVehicleStatic::Event_ScriptedStop( void ) {
|
||||
vfl.scripted = false;
|
||||
|
||||
if ( vfl.endWithIdle ) {
|
||||
PlayCycle( ANIMCHANNEL_TORSO, spawnArgs.GetString( "idle" ), 2 );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user