110 lines
2.3 KiB
C++
110 lines
2.3 KiB
C++
|
//-----------------------------------------------------------------------------
|
||
|
//
|
||
|
// $Logfile:: /Quake 2 Engine/Sin/code/game/testweapon.cpp $
|
||
|
// $Revision:: 5 $
|
||
|
// $Author:: Jimdose $
|
||
|
// $Date:: 6/19/98 9:30p $
|
||
|
//
|
||
|
// Copyright (C) 1997 by Ritual Entertainment, Inc.
|
||
|
// All rights reserved.
|
||
|
//
|
||
|
// This source is may not be distributed and/or modified without
|
||
|
// expressly written permission by Ritual Entertainment, Inc.
|
||
|
//
|
||
|
// $Log:: /Quake 2 Engine/Sin/code/game/testweapon.cpp $
|
||
|
//
|
||
|
// 5 6/19/98 9:30p Jimdose
|
||
|
// Moved gun orientation code to Weapon
|
||
|
//
|
||
|
// 4 5/25/98 6:47p Jimdose
|
||
|
// Made animateframe, prethink and posthink into functions built into the base
|
||
|
// entity class
|
||
|
//
|
||
|
// 3 5/24/98 1:04a Jimdose
|
||
|
// viewmodel and worldmodel are now str objects
|
||
|
//
|
||
|
// 2 4/14/98 9:58p Jimdose
|
||
|
// Created file
|
||
|
//
|
||
|
// DESCRIPTION:
|
||
|
// Weapon for testing view models
|
||
|
//
|
||
|
|
||
|
#include "g_local.h"
|
||
|
#include "testweapon.h"
|
||
|
|
||
|
cvar_t *gun_model;
|
||
|
cvar_t *gun_wmodel;
|
||
|
|
||
|
CLASS_DECLARATION( Weapon, TestWeapon, NULL );
|
||
|
|
||
|
ResponseDef TestWeapon::Responses[] =
|
||
|
{
|
||
|
{ &EV_Weapon_Shoot, ( Response )TestWeapon::Shoot },
|
||
|
{ &EV_Weapon_DoneFiring, ( Response )TestWeapon::Done },
|
||
|
{ NULL, NULL }
|
||
|
};
|
||
|
|
||
|
TestWeapon::TestWeapon()
|
||
|
{
|
||
|
char *wmodel;
|
||
|
char *model;
|
||
|
|
||
|
gun_model = gi.cvar ("w_model", "magnum.def", 0 );
|
||
|
gun_wmodel = gi.cvar ("ww_model", "magnum_w.def", 0 );
|
||
|
|
||
|
model = gun_model->string;
|
||
|
wmodel = gun_wmodel->string;
|
||
|
|
||
|
SetModels( wmodel, model );
|
||
|
SetAmmo( "Bullet357", 0, 0 );
|
||
|
SetRank( 0, 0 );
|
||
|
|
||
|
flags |= FL_PRETHINK;
|
||
|
}
|
||
|
|
||
|
void TestWeapon::Prethink
|
||
|
(
|
||
|
void
|
||
|
)
|
||
|
|
||
|
{
|
||
|
char *wmodel;
|
||
|
char *model;
|
||
|
|
||
|
if ( stricmp( gun_model->string, viewmodel.c_str() ) ||
|
||
|
stricmp( gun_wmodel->string, worldmodel.c_str() ) )
|
||
|
{
|
||
|
model = gun_model->string;
|
||
|
wmodel = gun_wmodel->string;
|
||
|
|
||
|
SetModels( wmodel, model );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void TestWeapon::Shoot
|
||
|
(
|
||
|
Event *ev
|
||
|
)
|
||
|
|
||
|
{
|
||
|
assert( owner );
|
||
|
if ( !owner )
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Long attack since the animation will control it
|
||
|
NextAttack( 1 );
|
||
|
}
|
||
|
|
||
|
void TestWeapon::Done
|
||
|
(
|
||
|
Event *ev
|
||
|
)
|
||
|
|
||
|
{
|
||
|
NextAttack( 0 );
|
||
|
Weapon::DoneFiring( ev );
|
||
|
}
|