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:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,239 @@
#ifndef __BOID_H__
#define __BOID_H__
#include <d3dx8.h>
#include "CGemRender.h"
#include <time.h>
//#include "datadefine.h"
//#include " SectorDefine.h"
#define BOIDUNLIMIT -100000
#define BOIDMAXLIMIT 10000000
#define SEENDEFAULT 50.0f
#define FEARFULL 1.0f
#define NOTFEAR 0.0f
//separate
#define BOIDRAD 10.0f
//align
#define ALIGN 0.00005f
#define TEST_SECNUM 0
#define TEST_SECSIZE 800
#define BPI 3.14159f
#define BHALF_PI (BPI/2)
#define BGRAVITY 9.806650f
// 0~1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> return
#define BRAND() (float) (rand()/(RAND_MAX * 1.0))
//change value
#define BMAXSPEED 0.5f
#define BMIN 0.05f
#define BMAX 0.1f
#define BMAXCHANGE (BMAXSPEED * BMAX)
//#define BDesiredSpeed (BMAXSPEED/2)
enum SPACE{ LAND,
WATER,
FLY};
enum PAT{ BOIDGROUP,
INDIVIDUAL};
// <20><><EFBFBD><EFBFBD> <20>ൿ<EFBFBD><E0B5BF><EFBFBD><EFBFBD><><C8B8>,<2C>޽<EFBFBD>,<2C>л<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>󰡱<EFBFBD>)
enum SUBPAT{ AVOID,
RELEASE,
SPREAD,
SAMELOOK,
MASTER
};
enum LOD{ NOT,
MIDDLE,
FAR
};
enum ACT{ SLEEP,
PEACE,
WALK,
RUN,
FLYING
};
class CBoidGroup{
public:
// <20>Ϲ<EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD>ü
class BoidUnit {
public:
BoidUnit() {
pos.x = pos.y = pos.z = 0.0f;
before_pos = pos;
Live = true;
rot[0] = rot[1] =rot[2] = 0.0f;
speed = 0.0f;
look.x = look.y = look.z = 0.0f;
before_look.x = before_look.y = before_look.z = 0.0f;
fwd.x = fwd.y =fwd.z = 0.0f;
before_fwd.x = before_fwd.y = before_fwd.z = 0.0f;
vot = 1.0f;
backup_vot = vot;
backup_frame = 0.0f;
active = 0;
height = -1;
frame = 0.0f;
m_fly = 0;
start_vot = 0.0f;
}
~BoidUnit() {
}
bool Live;
float frame;
D3DXVECTOR3 pos;
D3DXVECTOR3 before_pos;
//ȸ<><C8B8> <20><>
// D3DXVECTOR3 rotaxis;
float rot[3];
//speed (fwd<77><64> length)
float speed;
// <20><>ǥ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
D3DXVECTOR3 look;
D3DXVECTOR3 before_look;
D3DXVECTOR3 fwd;
D3DXVECTOR3 before_fwd;
int height;
// <20><EFBFBD><EEB5BF><EFBFBD><EFBFBD>
int active;
float vot;
float backup_vot;
float backup_frame;
float start_vot;
int m_fly;
};
CBoidGroup();
~CBoidGroup();
// Boid Mesh Name setting
void SetBoidName(char *filename,char *path);
char *GetBoidName();
void RandomRot(BoidUnit *, float );
// boid Update
// õ<><C3B5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Update
void Update();
void SetSpace(int s) { Space = s; }
// ȸ<><C8B8> :: <20><><EFBFBD>ֹ<EFBFBD><D6B9>̳<EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> ȸ<><C8B8>
void avoid();
// <20><20><><EFBFBD>ϱ<EFBFBD> :: <20><><EFBFBD><EFBFBD> <20>׷<EFBFBD><D7B7><EFBFBD> boid <20><> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD>.
void separate(BoidUnit *,D3DXVECTOR3 *);
// <20><EFBFBD><E6B5B9><EFBFBD>ϱ<EFBFBD> :: <20><><EFBFBD><EFBFBD><EFBFBD>ൿ <20><><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void separate2(BoidUnit *);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD>ϱ<EFBFBD>
void HeightSeparate(BoidUnit *,D3DXVECTOR3 *);
//<2F><><EFBFBD><EFBFBD> :: <20><><EFBFBD><EFBFBD> <20>׷<EFBFBD><D7B7><EFBFBD> boid <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>͸<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void align(BoidUnit *,D3DXVECTOR3 *);
//<2F><><EFBFBD><EFBFBD> :: <20><><EFBFBD><EFBFBD> <20>׷<EFBFBD><D7B7><EFBFBD> boid <20><><EFBFBD><EFBFBD> <20><>ǥ <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void concenter(BoidUnit *,D3DXVECTOR3 *);
void randomvec(BoidUnit *,D3DXVECTOR3 *);
// rot setting
void RotSet(BoidUnit *);
// <20><><EFBFBD><20><><EFBFBD> boid<69><64> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
void Bound(BoidUnit *);
void SetUnit();
void SetBoidSpeed(float s) {
Boid_Speed = s;
}
void SetBoidRange(float x,float y,float z,float limit) {
Boid_Range.x = x;
Boid_Range.y = y;
Boid_Range.z = z;
m_LimitHeight = limit;
}
// Boid Render failed : 0 return
bool Render(LPDIRECT3DDEVICE8 );
// <20><EFBFBD><EEB5BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(0 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1: <20><><EFBFBD><EFBFBD><EFBFBD>ൿ<EFBFBD><E0B5BF>)
void SetPat(int v) {pat = v;}
int GetPat() { return pat;}
void SetUnitVot(float vot);
void SetPos(float x,float y,float z);
void CreateMaster();
float GetHeight(float x,float z);
void SetMesh(CGemRender *mesh) {BoidMesh = mesh;}
void SetFwd(D3DXVECTOR3 sp) { fwd = sp; }
void SetFwd(float x,float y,float z) { fwd.x = x;fwd.y = y;fwd.z = z;}
void SetFwd();
void SetPick(bool b) {m_Pick = b;}
void SetBoidKind(int v) {m_BoidKind = v;}
void SetUnitNum(int n);
void butterfly(BoidUnit &);
int pat;
private:
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><>Ȳ <20><><EFBFBD><EFBFBD>.(<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>׷<EFBFBD> <20><><EFBFBD><EFBFBD>)
int CloseGroup;
// <20><><EFBFBD><EFBFBD> <20><>
int Space;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..)
D3DXVECTOR3 limit;
// Speed
D3DXVECTOR3 fwd;
D3DXVECTOR3 m_SetPos;
// <20><><EFBFBD><EFBFBD> <20>׷<EFBFBD><D7B7><EFBFBD> boid <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E6B5B9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float BoidBox;
// <20><> <20>׷<EFBFBD><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20>νİ<CEBD><C4B0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
float SeenRad;
// <20><> <20><><EFBFBD>̵<EFBFBD> <20>׷<EFBFBD><D7B7><EFBFBD> <20>ൿ <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>,<2C><>ü)
int Pattern;
// <20><><EFBFBD><EFBFBD> <20>ൿ<EFBFBD><E0B5BF><EFBFBD><EFBFBD><><C8B8>,<2C>޽<EFBFBD>,<2C>л<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>󰡱<EFBFBD>)
int SubPattern;
// <20≯<EFBFBD><CCB8><EFBFBD> <20>׷<EFBFBD> <20><><EFBFBD><EFBFBD> <20>׷<EFBFBD> (0.0f~1.0f)
float FearValue;
// Boid Unit Number
int Unit_Num;
int Lod;
//sector id
int SecX,SecY;
BoidUnit *Units;
// move range
D3DXVECTOR3 Boid_Range;
float m_LimitHeight;
// speed
float Boid_Speed;
// Boid<69><64> Mesh Data
CGemRender *BoidMesh;
char m_BoidName[256];
bool m_Pick;
unsigned long m_BeforeFrame;
unsigned long m_CurrentFrame;
int m_BoidKind;
bool startup;
int tick;
};
#endif