Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
67 lines
1.6 KiB
C++
67 lines
1.6 KiB
C++
#pragma once
|
|
#ifndef __MOVERECTHPP__
|
|
#define __MOVERECTHPP__
|
|
|
|
#pragma warning (push)
|
|
#include <vector>
|
|
#pragma warning (pop)
|
|
|
|
|
|
namespace MW4AI
|
|
{
|
|
struct OBRect
|
|
{
|
|
Scalar left,right,top,bottom;
|
|
int building;
|
|
bool vertical; // true if this rect is passable vertically
|
|
|
|
OBRect (Scalar p1,Scalar p2,Scalar p3,Scalar p4,int p5,bool p6)
|
|
{
|
|
left = p1;
|
|
top = p2;
|
|
right = p3;
|
|
bottom = p4;
|
|
building = p5;
|
|
vertical = p6;
|
|
}
|
|
OBRect (void)
|
|
{
|
|
left = right = top = bottom = 0;
|
|
building = -1;
|
|
vertical = false;
|
|
}
|
|
Point3D TopPoint (void) const
|
|
{ return Point3D (((right-left)/2.0f)+left,0.0f,top-BLOCK_GRID_RES); }
|
|
Point3D BottomPoint (void) const
|
|
{ return Point3D (((right-left)/2.0f)+left,0.0f,bottom+BLOCK_GRID_RES); }
|
|
Point3D LeftPoint (void) const
|
|
{ return Point3D (left-BLOCK_GRID_RES,0.0f,((bottom-top)/2.0f)+top); }
|
|
Point3D RightPoint (void) const
|
|
{ return Point3D (right+BLOCK_GRID_RES,0.0f,((bottom-top)/2.0f)+top); }
|
|
};
|
|
|
|
class CMoveRectList
|
|
{
|
|
private:
|
|
stlport::vector <OBRect> m_Rects;
|
|
|
|
void AddBuildingData (void);
|
|
void DumpFile (void);
|
|
|
|
public:
|
|
CMoveRectList (Stuff::MemoryStream *stream);
|
|
CMoveRectList (void);
|
|
~CMoveRectList (void);
|
|
bool RectWithin (Stuff::Point3D& pt,Stuff::Scalar dist);
|
|
void Create (WorkCallBack callback);
|
|
void SaveFile (const char *filename);
|
|
static void ConstructStream (Stuff::MemoryStream *stream,const char *filename);
|
|
|
|
const OBRect *Collide (const Point3D& start,const Point3D& end) const;
|
|
const OBRect *Inside (const Point3D& pt) const;
|
|
void BridgeKilled (int id);
|
|
};
|
|
};
|
|
|
|
#endif
|