diff --git a/Utils/Libs/Maths/vector3.h b/Utils/Libs/Maths/vector3.h index a3283da56..f6e5473cf 100644 --- a/Utils/Libs/Maths/vector3.h +++ b/Utils/Libs/Maths/vector3.h @@ -9,8 +9,16 @@ #pragma warning(disable:4201) // there should be _NO_ constructor +// there is now :o) struct Vector3 { + Vector3(){}; + Vector3(real _x,real _y,real _z) + { + x=_x; + y=_y; + z=_z; + } union { real m_Vec[3]; diff --git a/tools/Data/bin/MkLevel.exe b/tools/Data/bin/MkLevel.exe index 59cd2bd42..95377e899 100644 Binary files a/tools/Data/bin/MkLevel.exe and b/tools/Data/bin/MkLevel.exe differ diff --git a/tools/Data/include/dstructs.h b/tools/Data/include/dstructs.h index 84bee3583..f03020b50 100644 --- a/tools/Data/include/dstructs.h +++ b/tools/Data/include/dstructs.h @@ -72,6 +72,7 @@ struct sBBox }; //*************************************************************************** + struct sMat { u16 TPage; @@ -137,18 +138,33 @@ struct sBone //*************************************************************************** // Tiles +enum TILE3D_FLAGS +{ + TILE3D_FLAGS_F=0, + TILE3D_FLAGS_U, + TILE3D_FLAGS_D, + TILE3D_FLAGS_L, + TILE3D_FLAGS_R, +// TILE3D_FLAGS_B, // Should never have back facing polys + TILE3D_FLAGS_MAX +}; + struct sTileMapElem { u16 Tile; + u16 Flags; +}; + +struct sTileTable +{ + u16 TriList; + u16 TriCount; }; struct sTile { // 3d Tile - u16 TriList; - u16 TriCount; - u16 QuadList; - u16 QuadCount; + sTileTable TileTable[TILE3D_FLAGS_MAX]; // 2d Tile u8 u0,v0; u16 Clut; @@ -156,18 +172,7 @@ struct sTile u16 Pad; // :o( need this? #ifdef WIN32 -bool operator==(sTile const &v1) -{ - if (TriCount!=v1.TriCount) return(false); - if (TriList!=v1.TriList) return(false); -// if (QuadCount!=v1.QuadCount) return(false); -// if (QuadList!=v1.QuadList) return(false); - - if (TPage!=v1.TPage) return(false); - if (u0!=v1.u0) return(false); - if (v0!=v1.v0) return(false); - return(TRUE); -} +bool operator==(sTile const &v1) {return(false);} #endif }; @@ -187,13 +192,6 @@ struct sLayerHdr // Header struct sLvlHdr { -// sTri *TriList; -// sQuad *QuadList; -// sVtx *VtxList; -// sMat *MatList; -// sTile *TileList; -// int LayerCount; - /*int LayerOfs[LayerCount]...*/ u32 TriList; u32 QuadList; u32 VtxList;