106 lines
2.4 KiB
C++
106 lines
2.4 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef EVENTPROPERTIES_H
|
|
#define EVENTPROPERTIES_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "basedialogparams.h"
|
|
|
|
class CChoreoScene;
|
|
class CChoreoEvent;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
class CEventParams : public CBaseDialogParams
|
|
{
|
|
public:
|
|
// e.g. CChoreoEvent::GESTURE
|
|
int m_nType;
|
|
|
|
// Event descriptive name
|
|
char m_szName[ 256 ];
|
|
|
|
// Expression name/wav name/gesture name/look at name
|
|
char m_szParameters[ 256 ];
|
|
char m_szParameters2[ 256 ];
|
|
char m_szParameters3[ 256 ];
|
|
|
|
CChoreoScene *m_pScene;
|
|
|
|
float m_flStartTime;
|
|
float m_flEndTime;
|
|
bool m_bHasEndTime;
|
|
|
|
CChoreoEvent *m_pEvent;
|
|
|
|
bool m_bDisabled;
|
|
bool m_bFixedLength;
|
|
|
|
bool m_bResumeCondition;
|
|
|
|
bool m_bLockBodyFacing;
|
|
float m_flDistanceToTarget;
|
|
|
|
bool m_bForceShortMovement;
|
|
|
|
bool m_bSyncToFollowingGesture;
|
|
|
|
bool m_bPlayOverScript;
|
|
|
|
bool m_bUsesTag;
|
|
char m_szTagName[ 256 ];
|
|
char m_szTagWav[ 256 ];
|
|
|
|
// For Lookat events
|
|
int pitch;
|
|
int yaw;
|
|
bool usepitchyaw;
|
|
|
|
// For speak
|
|
bool m_bCloseCaptionNoAttenuate;
|
|
|
|
};
|
|
|
|
int EventProperties( CEventParams *params );
|
|
|
|
class CBaseEventPropertiesDialog
|
|
{
|
|
public:
|
|
virtual void InitDialog( HWND hwndDlg ) = 0;
|
|
virtual BOOL HandleMessage( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) = 0;
|
|
virtual void SetTitle() = 0;
|
|
|
|
HWND GetControl( int id ) { return GetDlgItem( m_hDialog, id ); }
|
|
|
|
virtual void ShowControlsForEventType( CEventParams *params );
|
|
virtual void InitControlData( CEventParams *params );
|
|
|
|
protected:
|
|
virtual BOOL InternalHandleMessage( CEventParams *params, HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam, bool& handled );
|
|
|
|
void SetDialogTitle( CEventParams *params, char const *eventname, char const *desc );
|
|
|
|
void UpdateTagRadioButtons( CEventParams *params );
|
|
void PopulateTagList( CEventParams *params );
|
|
void ParseTags( CEventParams *params );
|
|
|
|
void PopulateNamedActorList( HWND wnd, CEventParams *params );
|
|
|
|
void GetSplineRect( HWND placeholder, RECT& rcOut );
|
|
void DrawSpline( HDC hdc, HWND placeholder, CChoreoEvent *e );
|
|
|
|
protected:
|
|
|
|
HWND m_hDialog;
|
|
};
|
|
|
|
#endif // EVENTPROPERTIES_H
|