port from perforce
This commit is contained in:
160
evoke-64k/bp10/camera.h
Normal file
160
evoke-64k/bp10/camera.h
Normal file
@@ -0,0 +1,160 @@
|
||||
#pragma once
|
||||
#include <d3dx9.h>
|
||||
|
||||
const int g_iCamTickFactor= 2 << 14;
|
||||
|
||||
#ifdef CAMERATESTER
|
||||
#include "TextFileReader.h"
|
||||
#include "StringHelper.h"
|
||||
#include "EditorHelp.h"
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <cstdio>
|
||||
#define CAMERAEDIT
|
||||
#endif
|
||||
|
||||
struct SCameraDefinition
|
||||
{
|
||||
D3DXVECTOR3 m_vec3Pos;
|
||||
D3DXVECTOR3 m_vec3Rot;
|
||||
float m_fDOF;
|
||||
float m_fFOV;
|
||||
int m_iDemoTime;
|
||||
};
|
||||
|
||||
struct SCameraKey
|
||||
{
|
||||
int m_dwTime;
|
||||
int m_dwDemoTimeStart;
|
||||
int m_dwDemoTimeSpeed;
|
||||
|
||||
float m_fPos[ 3 ];
|
||||
float m_fRot[ 3 ];
|
||||
float m_fDOF;
|
||||
float m_fFOV;
|
||||
float m_fTangentOffset[ 2 ];
|
||||
|
||||
#ifdef CAMERATESTER
|
||||
void ToString( std::string& strData );
|
||||
void FromString( std::string& strData );
|
||||
void Reset();
|
||||
void FromCameraDefinition( SCameraDefinition& camDef );
|
||||
void ToCameraDefinition( SCameraDefinition& camDef );
|
||||
#endif CAMERATESTER
|
||||
};
|
||||
|
||||
struct SActCamData
|
||||
{
|
||||
SCameraKey* m_pCamData;
|
||||
int m_iMaxStepCount;
|
||||
};
|
||||
|
||||
|
||||
void InterpolateCamLocal( SActCamData* pData, int iIndex, int dwLocalTime, SCameraDefinition& Out );
|
||||
int CalcCamGlobal( SActCamData* pData, int dwTime, SCameraDefinition& Out );
|
||||
|
||||
#ifndef CAMERATESTER
|
||||
void PreparePlayCam();
|
||||
void PlayCam( int iRealTimePassed, SCameraDefinition& CamData );
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
void drawLine( D3DXVECTOR3& pvec3Pos1,
|
||||
D3DXVECTOR3& pvec3Pos2,
|
||||
DWORD dwColor )
|
||||
{
|
||||
//g_pMatrixStack->LoadIdentity();
|
||||
//g_d3d_device->SetTransform( D3DTS_WORLD, g_pMatrixStack->GetTop() );
|
||||
|
||||
g_d3d_device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TFACTOR );
|
||||
g_d3d_device->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
|
||||
g_d3d_device->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_DISABLE );
|
||||
g_d3d_device->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_DISABLE );
|
||||
g_d3d_device->SetRenderState( D3DRS_FOGENABLE, FALSE );
|
||||
g_d3d_device->SetRenderState( D3DRS_ZENABLE, FALSE );
|
||||
g_d3d_device->SetRenderState( D3DRS_LIGHTING, FALSE );
|
||||
|
||||
SVertex v[ 3 ];
|
||||
|
||||
g_d3d_device->SetRenderState( D3DRS_TEXTUREFACTOR, dwColor );
|
||||
v[ 0 ].x= pvec3Pos1.x;
|
||||
v[ 0 ].y= pvec3Pos1.y;
|
||||
v[ 0 ].z= pvec3Pos1.z;
|
||||
v[ 1 ].x= pvec3Pos2.x;
|
||||
v[ 1 ].y= pvec3Pos2.y;
|
||||
v[ 1 ].z= pvec3Pos2.z;
|
||||
|
||||
g_d3d_device->DrawPrimitiveUP( D3DPT_LINESTRIP,
|
||||
1,
|
||||
v,
|
||||
sizeof( SVertex ));
|
||||
|
||||
g_d3d_device->SetRenderState( D3DRS_FOGENABLE, TRUE );
|
||||
g_d3d_device->SetRenderState( D3DRS_ZENABLE, TRUE );
|
||||
}*/
|
||||
|
||||
#ifdef CAMERATESTER
|
||||
|
||||
const int c_iCamCount= 64;
|
||||
|
||||
int GetCamTrackCount();
|
||||
std::vector<SCameraKey>& GetCamTrack( int iIndex );
|
||||
|
||||
std::vector<SCameraKey>& GetEditTrack();
|
||||
|
||||
void ReadCameraTrack( char* pcFileName, int iTrack );
|
||||
|
||||
void WriteCameraTrack( char* pcFileName, int iTrack );
|
||||
void ReadCamera();
|
||||
void WriteCameraHeader();
|
||||
void ReadCameraAll();
|
||||
void WriteCameraAll();
|
||||
|
||||
void DrawEditOutput();
|
||||
|
||||
void Save();
|
||||
void Reload();
|
||||
void MakeTimeContinous();
|
||||
void DeleteTrack();
|
||||
void MoveTrack();
|
||||
void ClearTrack();
|
||||
void AddTrack();
|
||||
void LockTrack();
|
||||
void ChangeTrack();
|
||||
void ChangeStep();
|
||||
void EditToStep();
|
||||
void VerifyStep();
|
||||
void ChangeTangent( int iCount );
|
||||
void ChangeStart();
|
||||
void ChangeSpeed();
|
||||
void ChangeLength();
|
||||
|
||||
void SetStep();
|
||||
void RemoveStep();
|
||||
void SetStepCamera();
|
||||
|
||||
void HomeCam();
|
||||
|
||||
void TickFreeCam( int iTime );
|
||||
|
||||
void ChangeStepKeys( int iPrior, int iNext );
|
||||
|
||||
void InterpolateCamGlobal( int iRealTimePassed, SCameraDefinition& CamData );
|
||||
|
||||
void DrawCameraDebugOutput();
|
||||
|
||||
int FillDataFromEdit(SActCamData& data);
|
||||
|
||||
int GetCurrentTrackStartTime();
|
||||
void ResetRealTime();
|
||||
void CalcCamTrackStarts();
|
||||
|
||||
void SetStepFromTime();
|
||||
int CalculateRealTime();
|
||||
int CalculateDemoTime();
|
||||
|
||||
bool IsFreeCam();
|
||||
int GetRealTime();
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user