187 lines
4.7 KiB
C++
187 lines
4.7 KiB
C++
//-----------------------------------------------------------------------------
|
|
//
|
|
// $Logfile:: /Quake 2 Engine/Sin/code/game/viewthing.h $
|
|
// $Revision:: 20 $
|
|
// $Author:: Jimdose $
|
|
// $Date:: 10/08/98 12:35a $
|
|
//
|
|
// 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/viewthing.h $
|
|
//
|
|
// 20 10/08/98 12:35a Jimdose
|
|
// Added archive functions
|
|
//
|
|
// 19 10/04/98 11:11p Jimdose
|
|
// Made current_viewthing part of ViewMaster
|
|
//
|
|
// 18 9/09/98 5:57p Markd
|
|
// added viewautoanimate
|
|
//
|
|
// 17 7/10/98 6:20a Jimdose
|
|
// Added viewpitch, viewroll, and viewangles events
|
|
//
|
|
// 16 4/08/98 12:21a Jimdose
|
|
// Added viewdeleteall command
|
|
//
|
|
// 15 3/30/98 10:00a Markd
|
|
// Added nextskin and prevskin events
|
|
//
|
|
// 14 3/27/98 7:00p Markd
|
|
// Added new viewthing commands
|
|
//
|
|
// 13 3/23/98 1:33p Jimdose
|
|
// Revamped event and command system
|
|
//
|
|
// 12 3/12/98 9:49a Markd
|
|
// Added YAW event
|
|
//
|
|
// 11 3/11/98 11:30a Markd
|
|
// Added events and variable
|
|
//
|
|
// 10 3/07/98 2:05p Markd
|
|
// Fixed Viewthing
|
|
//
|
|
// 9 3/05/98 6:48p Markd
|
|
//
|
|
// 8 3/05/98 11:03a Markd
|
|
// Updated for Q2
|
|
//
|
|
// 6 10/28/97 6:55p Markd
|
|
// made initialorigin a public variable instead of a private one.
|
|
//
|
|
// 5 10/27/97 2:59p Jimdose
|
|
// Removed dependency on quakedef.h
|
|
//
|
|
// 4 10/23/97 6:37p Markd
|
|
// Added initialorigin stuff
|
|
//
|
|
// 3 10/01/97 6:37p Markd
|
|
// Added viewthing commands (ToggleAnimate and ChangeAnimation)
|
|
//
|
|
// 2 10/01/97 2:47p Markd
|
|
// working on wander AI
|
|
//
|
|
// 1 10/01/97 11:24a Markd
|
|
// new viewthing actor code
|
|
//
|
|
// DESCRIPTION:
|
|
// Actor code for the viewthing.
|
|
//
|
|
|
|
#ifndef __VIEWTHING_H__
|
|
#define __VIEWTHING_H__
|
|
|
|
#include "entity.h"
|
|
|
|
class EXPORT_FROM_DLL ViewMaster : public Listener
|
|
{
|
|
public:
|
|
CLASS_PROTOTYPE( ViewMaster )
|
|
|
|
int current_viewthing;
|
|
|
|
ViewMaster();
|
|
void Next( Event *ev );
|
|
void Prev( Event *ev );
|
|
void DeleteAll( Event *ev );
|
|
void Spawn( Event *ev );
|
|
void SetModelEvent( Event *ev );
|
|
void PassEvent( Event *ev );
|
|
|
|
virtual void Archive( Archiver &arc );
|
|
virtual void Unarchive( Archiver &arc );
|
|
};
|
|
|
|
inline EXPORT_FROM_DLL void ViewMaster::Archive
|
|
(
|
|
Archiver &arc
|
|
)
|
|
|
|
{
|
|
Listener::Archive( arc );
|
|
|
|
arc.WriteInteger( current_viewthing );
|
|
}
|
|
|
|
inline EXPORT_FROM_DLL void ViewMaster::Unarchive
|
|
(
|
|
Archiver &arc
|
|
)
|
|
|
|
{
|
|
Listener::Unarchive( arc );
|
|
|
|
arc.ReadInteger( ¤t_viewthing );
|
|
}
|
|
|
|
extern ViewMaster Viewmodel;
|
|
|
|
class EXPORT_FROM_DLL Viewthing : public Entity
|
|
{
|
|
public:
|
|
CLASS_PROTOTYPE( Viewthing )
|
|
|
|
int animstate;
|
|
Vector baseorigin;
|
|
|
|
Viewthing::Viewthing();
|
|
void Think( Event *ev );
|
|
void LastFrameEvent( Event *ev );
|
|
void ToggleAnimateEvent( Event *ev );
|
|
void SetModelEvent( Event *ev );
|
|
void NextFrameEvent( Event *ev );
|
|
void PrevFrameEvent( Event *ev );
|
|
void NextAnimEvent( Event *ev );
|
|
void PrevAnimEvent( Event *ev );
|
|
void ScaleUpEvent( Event *ev );
|
|
void ScaleDownEvent( Event *ev );
|
|
void SetScaleEvent( Event *ev );
|
|
void SetYawEvent( Event *ev );
|
|
void SetPitchEvent( Event *ev );
|
|
void SetRollEvent( Event *ev );
|
|
void SetAnglesEvent( Event *ev );
|
|
void AttachModel( Event *ev );
|
|
void Delete( Event *ev );
|
|
void DetachAll( Event *ev );
|
|
void BoneGroup( Event *ev );
|
|
void BoneNum( Event *ev );
|
|
void ChangeOrigin( Event *ev );
|
|
void ChangeBoneAngles( Event *ev );
|
|
void NextSkinEvent( Event *ev );
|
|
void PrevSkinEvent( Event *ev );
|
|
void AutoAnimateEvent( Event *ev );
|
|
|
|
virtual void Archive( Archiver &arc );
|
|
virtual void Unarchive( Archiver &arc );
|
|
};
|
|
|
|
inline EXPORT_FROM_DLL void Viewthing::Archive
|
|
(
|
|
Archiver &arc
|
|
)
|
|
|
|
{
|
|
Entity::Archive( arc );
|
|
|
|
arc.WriteInteger( animstate );
|
|
arc.WriteVector( baseorigin );
|
|
}
|
|
|
|
inline EXPORT_FROM_DLL void Viewthing::Unarchive
|
|
(
|
|
Archiver &arc
|
|
)
|
|
|
|
{
|
|
Entity::Unarchive( arc );
|
|
|
|
arc.ReadInteger( &animstate );
|
|
arc.ReadVector( &baseorigin );
|
|
}
|
|
|
|
#endif /* viewthing.h */
|