Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
147
GameTools/CHARACTERACTIONCONTROL/CCameraScript.h
Normal file
147
GameTools/CHARACTERACTIONCONTROL/CCameraScript.h
Normal file
@@ -0,0 +1,147 @@
|
||||
#ifndef __CCAMERASCRIPT_H__
|
||||
#define __CCAMERASCRIPT_H__
|
||||
|
||||
#include <d3d8.h>
|
||||
#include <d3dx8.h>
|
||||
|
||||
#include <vector>
|
||||
#include <windows.h>
|
||||
#include <string.h>
|
||||
#include "matrix.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
enum C_INTERPOLATION {
|
||||
C_LINE, // Linear
|
||||
C_BEZIER1, // Bezier (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3)
|
||||
C_BEZIER2, // Bezier (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4)
|
||||
C_NOTINTERPOLATION, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
#define CAMERAEVENTEMPTY -1
|
||||
#define CAMERAZEROFRAME 0.0f
|
||||
#define CAMERASCRIPTVERSION 1.0f
|
||||
#define CAMERAFRAMESTEP 30.0f
|
||||
#define CAMERASPLINEUNIT 100
|
||||
class CCameraScript {
|
||||
private:
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> unit
|
||||
class CCameraEvent {
|
||||
public:
|
||||
int m_iIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD>
|
||||
int m_iInterpolation; // <20><> Event<6E><74><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
float m_fFrame; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
D3DXVECTOR3 m_vecControlPoint[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Control Point
|
||||
D3DXVECTOR3 m_vecCameraPos;
|
||||
D3DXVECTOR3 m_vecCameraLook;
|
||||
D3DXVECTOR3 m_vecCameraUp;
|
||||
|
||||
int m_iPosStart; // Pos Spline <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> index
|
||||
int m_iPosEnd; // Pos Spline <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> index
|
||||
|
||||
int m_iLookStart; // Look Spline <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> index
|
||||
int m_iLookEnd; // Look Spline <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> index
|
||||
|
||||
CCameraEvent() {
|
||||
m_iIndex = CAMERAEVENTEMPTY;
|
||||
m_iInterpolation = C_LINE;
|
||||
m_fFrame = CAMERAZEROFRAME;
|
||||
m_vecCameraPos = D3DXVECTOR3(0.0f,0.0f,0.0f);
|
||||
m_vecCameraUp = D3DXVECTOR3(0.0f,0.0f,0.0f);
|
||||
m_vecCameraLook = D3DXVECTOR3(0.0f,0.0f,0.0f);
|
||||
m_iPosStart = CAMERAEVENTEMPTY;
|
||||
m_iPosEnd = CAMERAEVENTEMPTY;
|
||||
m_iLookStart = CAMERAEVENTEMPTY;
|
||||
m_iLookEnd = CAMERAEVENTEMPTY;
|
||||
|
||||
}
|
||||
~CCameraEvent() {}
|
||||
};
|
||||
vector<CCameraEvent> m_lstEvent;
|
||||
|
||||
|
||||
vector<D3DXVECTOR3> m_lstPosSpline;
|
||||
bool m_bCreateSpline;
|
||||
|
||||
vector<D3DXVECTOR3> m_lstLookSpline;
|
||||
bool m_bCreateLookSpline;
|
||||
int m_iInsertLook;
|
||||
|
||||
int m_iEventNum;
|
||||
int m_iBeforeEvent;
|
||||
float m_fRunFrame; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD> frame
|
||||
D3DXMATRIX m_matBeforeView;
|
||||
|
||||
|
||||
CCameraEvent m_CurrentEvent; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD> <20>´<EFBFBD>, Event Unit
|
||||
D3DXMATRIX m_matCurrentFrame; // <20><><EFBFBD><EFBFBD> Frame View Matrix
|
||||
LPDIRECT3DDEVICE8 m_pDevice; // Direct3D Device
|
||||
|
||||
DWORD m_dwBeforeTick;
|
||||
DWORD m_dwCurrentTick;
|
||||
bool m_bStart;
|
||||
|
||||
|
||||
matrix m_matBeforePos;
|
||||
matrix m_matBeforeView2;
|
||||
|
||||
int m_iFixCount;
|
||||
bool m_bBackWord;
|
||||
|
||||
D3DXVECTOR3 m_vecCameraInitPos;
|
||||
D3DXVECTOR3 m_vecCameraInitLook;
|
||||
bool m_bInitPos;
|
||||
|
||||
|
||||
public:
|
||||
CCameraScript();
|
||||
~CCameraScript();
|
||||
|
||||
void InitCameraScript(bool bInitPos = false,D3DXVECTOR3 vecInitPos = D3DXVECTOR3(0.0f,0.0f,0.0f),D3DXVECTOR3 vecInitLook = D3DXVECTOR3(0.0f,0.0f,0.0f));
|
||||
void InitFrame();
|
||||
|
||||
int InsertEvent(D3DXVECTOR3 vecPos,D3DXVECTOR3 vecLook,D3DXVECTOR3 vecUp,float fFrame,int iInterpol);
|
||||
void InsertLookPos(D3DXVECTOR3 vecLook);
|
||||
|
||||
void FixEvent(int iEvent,D3DXVECTOR3 vecPos,D3DXVECTOR3 vecLook,D3DXVECTOR3 vecUp);
|
||||
|
||||
void FixEvent(int iEvent,D3DXVECTOR3 vecPos,D3DXVECTOR3 vecLook,D3DXVECTOR3 vecUp,float fFrame,int iInterpol);
|
||||
void FixLook(int iEvent,D3DXVECTOR3 vecLook);
|
||||
|
||||
void DeleteEvent(float fFrame,int iInterpol);
|
||||
void DeleteEvent(int iIndex);
|
||||
|
||||
bool SaveScript(char *strFileName);
|
||||
bool LoadScript(char *strFileName);
|
||||
|
||||
void CreateSpline();
|
||||
|
||||
void PlayScript(int iRoll,int iLoop,bool bFixPos);
|
||||
void Rewind();
|
||||
void Fowind();
|
||||
void Jump(int iEvent); //iEvent<6E><74> jump
|
||||
void SetPlay(bool bFlag,bool bBack = false,bool bStartPos = false);
|
||||
|
||||
D3DXVECTOR3 GetVecPos() { return m_CurrentEvent.m_vecCameraPos; }
|
||||
D3DXVECTOR3 GetVecLook() { return m_CurrentEvent.m_vecCameraLook; }
|
||||
D3DXVECTOR3 GetVecUp() { return m_CurrentEvent.m_vecCameraUp; }
|
||||
D3DXMATRIX GetCurrentViewMat() { return m_matCurrentFrame; }
|
||||
|
||||
int GetCameraEventCnt() { return m_lstEvent.size(); }
|
||||
|
||||
void RenderPos_Up();
|
||||
void RenderLook();
|
||||
void RenderLine();
|
||||
void RenderPosSpline();
|
||||
void RenderLookSpline();
|
||||
bool ISPlay() { return m_bStart;}
|
||||
int GetExistEventNum() { return m_iEventNum;}
|
||||
int GetFixCount(int &iIndex,float &fFrame);
|
||||
void ReWindFix();
|
||||
void FoWindFix();
|
||||
void BackWordEvent();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user