From 42564f0e4b5e2be6c420c0e2675e285ccdad5857 Mon Sep 17 00:00:00 2001 From: Nick Blakely Date: Fri, 16 Sep 2022 17:54:10 -0700 Subject: [PATCH] Support GB2 files in the importer. --- GiantsTools.sln | 4 +- Plugins/exp_gtp/exp_gtp.dle | Bin 0 -> 92672 bytes Plugins/gtp2gb2/gtp2gb2.exe | Bin 0 -> 537600 bytes Plugins/imp_gbs/Gb2Data.cpp | 120 +++++++++ Plugins/imp_gbs/Gb2Data.h | 22 ++ Plugins/imp_gbs/Gb2Importer.cpp | 126 +++++++++ Plugins/imp_gbs/Gb2Importer.h | 19 ++ Plugins/imp_gbs/GbsImporter.cpp | 304 +++++++++++++++++++++ Plugins/imp_gbs/GbsImporter.h | 22 ++ Plugins/imp_gbs/IGiantsImporter.h | 6 + Plugins/imp_gbs/Importer.cpp | 333 ++---------------------- Plugins/imp_gbs/Importer.h | 20 +- Plugins/imp_gbs/ImporterFactory.cpp | 19 ++ Plugins/imp_gbs/ImporterFactory.h | 7 + Plugins/imp_gbs/imp_gbs.vcxproj | 20 +- Plugins/imp_gbs/imp_gbs.vcxproj.filters | 27 ++ 16 files changed, 712 insertions(+), 337 deletions(-) create mode 100644 Plugins/exp_gtp/exp_gtp.dle create mode 100644 Plugins/gtp2gb2/gtp2gb2.exe create mode 100644 Plugins/imp_gbs/Gb2Data.cpp create mode 100644 Plugins/imp_gbs/Gb2Data.h create mode 100644 Plugins/imp_gbs/Gb2Importer.cpp create mode 100644 Plugins/imp_gbs/Gb2Importer.h create mode 100644 Plugins/imp_gbs/GbsImporter.cpp create mode 100644 Plugins/imp_gbs/GbsImporter.h create mode 100644 Plugins/imp_gbs/IGiantsImporter.h create mode 100644 Plugins/imp_gbs/ImporterFactory.cpp create mode 100644 Plugins/imp_gbs/ImporterFactory.h diff --git a/GiantsTools.sln b/GiantsTools.sln index 3cfe19e..41cbdd1 100644 --- a/GiantsTools.sln +++ b/GiantsTools.sln @@ -111,8 +111,8 @@ Global {49423BA5-4A9F-47A3-9D2D-E83936272DD0}.Release|Any CPU.Build.0 = Release|Any CPU {49423BA5-4A9F-47A3-9D2D-E83936272DD0}.Release|x86.ActiveCfg = Release|Any CPU {49423BA5-4A9F-47A3-9D2D-E83936272DD0}.Release|x86.Build.0 = Release|Any CPU - {448F061E-AE05-4E06-84A1-C95660FD048C}.Debug|Any CPU.ActiveCfg = Debug|x64 - {448F061E-AE05-4E06-84A1-C95660FD048C}.Debug|Any CPU.Build.0 = Debug|x64 + {448F061E-AE05-4E06-84A1-C95660FD048C}.Debug|Any CPU.ActiveCfg = Hybrid|x64 + {448F061E-AE05-4E06-84A1-C95660FD048C}.Debug|Any CPU.Build.0 = Hybrid|x64 {448F061E-AE05-4E06-84A1-C95660FD048C}.Debug|x86.ActiveCfg = Debug|x64 {448F061E-AE05-4E06-84A1-C95660FD048C}.Debug|x86.Build.0 = Debug|x64 {448F061E-AE05-4E06-84A1-C95660FD048C}.Release|Any CPU.ActiveCfg = Release|x64 diff --git a/Plugins/exp_gtp/exp_gtp.dle b/Plugins/exp_gtp/exp_gtp.dle new file mode 100644 index 0000000000000000000000000000000000000000..237419ae905a52ce119d4c6930decdd14debcf3c GIT binary patch literal 92672 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 literal 0 HcmV?d00001 diff --git a/Plugins/gtp2gb2/gtp2gb2.exe b/Plugins/gtp2gb2/gtp2gb2.exe new file mode 100644 index 0000000000000000000000000000000000000000..ed598c33d4c401e6589defa8b6cd3a5cf7c3d3da GIT binary patch literal 537600 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

myOZzhB3Bm9>r2U3>kwWyFZ+SxzD^C&^XL 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


?O6$V&%8x6*WSlbY!<%&rd;(1B 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 z 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 F{2yyKoR0ti literal 0 HcmV?d00001 diff --git a/Plugins/imp_gbs/Gb2Data.cpp b/Plugins/imp_gbs/Gb2Data.cpp new file mode 100644 index 0000000..9800f1c --- /dev/null +++ b/Plugins/imp_gbs/Gb2Data.cpp @@ -0,0 +1,120 @@ +#include "Importer.h" + +#define MemReadInt(m,v) { (v) = *(int*)(m); (m)+=sizeof(int); } +#define MemReadFloat(m,v) { (v) = *(float*)(m); (m)+=sizeof(float); } +#define MemReadData(m,v,l) { memcpy( (v), (m), (l) ); (m)+=(l); } +#define MemSkipData(m,l) { (m)+=(l); } + +void Gb2Data::Read(FILE* file) +{ + char name[16], texname[16]; + int numobj, offset, flags, matflags; + float falloff, blend; + + fseek(file, 0, SEEK_END); + int zlen = ftell(file); + fseek(file, 0, SEEK_SET); + + auto zmemArray = std::vector(zlen); + UBYTE* zmem = zmemArray.data(); + fread(zmem, zlen, 1, file); + + UBYTE* memptr = zmem; + fclose(file); + + DWORD versionHeader; + MemReadInt(memptr, versionHeader); + if (versionHeader != GB2_VERSION) + { + throw std::exception("File does not appear to be a GB2 file."); + } + + // Read # of objects + MemReadInt(memptr, numobj); + + this->objdata.resize(numobj); + + // Process each object + UBYTE* tablemem = memptr; + for (int ns = 0; ns < numobj; ns++) + { + SingleObjectData& obj = this->objdata.at(ns); + + memptr = tablemem + ns * sizeof(int); + + MemReadInt(memptr, offset); + memptr = zmem + offset; + MemReadData(memptr, name, 16); + + obj.name = name; + + MemReadInt(memptr, flags); + MemReadFloat(memptr, falloff); + if (FlagIsSet(flags, GBXFlagRGBs)) + { + MemReadFloat(memptr, blend); + } + else + blend = 0; + + MemReadInt(memptr, matflags); + + if (FlagIsSet(flags, GBXFlagUVs)) + { + MemReadData(memptr, texname, sizeof(texname)); + obj.texname = texname; + } + + MemReadInt(memptr, obj.nverts); + MemReadInt(memptr, obj.ntris); + + // Allocate vertex & tri lists + obj.verts.resize(obj.nverts); + if (FlagIsSet(flags, GBXFlagUVs)) + { + obj.vertuv.resize(obj.nverts); + } + + if (FlagIsSet(flags, GBXFlagRGBs)) + { + obj.vertrgb.resize(obj.nverts); + } + + // Read vertices + for (int i = 0; i < obj.nverts; i++) + { + MemReadData(memptr, &obj.verts.at(i), sizeof(P3D)); + } + + if (FlagIsSet(flags, GBXFlagNormals)) + { + MemSkipData(memptr, sizeof(P3D) * obj.nverts); // Normals are auto-generated by the game + } + + if (FlagIsSet(flags, GBXFlagUVs)) + { + // read uvs + for (int i = 0; i < obj.nverts; i++) + { + MemReadData(memptr, &obj.vertuv.at(i), sizeof(UV)); + obj.vertuv.at(i).v = obj.vertuv.at(i).v + 1.0f; + } + } + + if (FlagIsSet(flags, GBXFlagRGBs)) + { + for (int i = 0; i < obj.nverts; i++) + { + // read rgbs + MemReadData(memptr, &obj.vertrgb.at(i), sizeof(VertRGB)); + } + } + + obj.tris.resize(obj.ntris * 3); + // Read tris + for (int i = 0; i < obj.ntris * 3; i++) + { + MemReadData(memptr, &obj.tris.at(i), sizeof(int)); + } + } +} \ No newline at end of file diff --git a/Plugins/imp_gbs/Gb2Data.h b/Plugins/imp_gbs/Gb2Data.h new file mode 100644 index 0000000..299771d --- /dev/null +++ b/Plugins/imp_gbs/Gb2Data.h @@ -0,0 +1,22 @@ +#pragma once + +#define GB2_VERSION 0xaa0100ab + +struct SingleObjectData +{ + std::vector verts; + std::vector tris; + int ntris{}; + std::vector vertrgb; + int nverts{}; + std::vector vertuv; + std::string name; + std::string texname; +}; + +struct Gb2Data +{ + void Read(FILE* file); + + std::vector objdata; +}; diff --git a/Plugins/imp_gbs/Gb2Importer.cpp b/Plugins/imp_gbs/Gb2Importer.cpp new file mode 100644 index 0000000..12281dc --- /dev/null +++ b/Plugins/imp_gbs/Gb2Importer.cpp @@ -0,0 +1,126 @@ +#include "Gb2Importer.h" +#include "StdUtil.h" + +void Gb2Importer::ImportFile(const MCHAR* name, ImpInterface* ii, Interface* i, BOOL suppressPrompts) +{ + ReadGb2File(name); + + BuildMeshes(ii); + ii->RedrawViews(); +} + + +void Gb2Importer::ReadGb2File(const MCHAR* Name) +{ + FILE* file = nullptr; + try + { + errno_t err = _tfopen_s(&file, Name, (_T("rb"))); + if (err != 0) + { + throw std::exception("Could not open input file."); + } + + // Read object into memory + m_gb2Data.Read(file); + + fclose(file); + } + catch (const std::exception& e) + { + if (file) + fclose(file); + + throw e; + } +} + +void Gb2Importer::BuildMeshes(ImpInterface* ii) +{ + for (auto& obj : this->m_gb2Data.objdata) + { + assert(obj.ntris > 0); + assert(obj.nverts > 0); + + Mesh mesh; + mesh.setNumVerts(obj.nverts); + mesh.setNumTVerts(obj.nverts); + mesh.setNumVertCol(obj.nverts); + mesh.setNumFaces(obj.ntris); + mesh.setNumTVFaces(obj.ntris); + mesh.setNumVCFaces(obj.ntris); + + for (int i = 0; i < obj.nverts; i++) + { + Point3 point(obj.verts[i].x, obj.verts[i].y, obj.verts[i].z); + mesh.setVert(i, point); + + const UV& uv = obj.vertuv.at(i); + mesh.setTVert(i, UVVert(uv.u, uv.v, 0.0f)); + } + + int faceIndex = 0; + for (int i = 0; i < obj.tris.size(); i += 3) + { + int v0 = obj.tris.at(i); + int v1 = obj.tris.at(i + 1); + int v2 = obj.tris.at(i + 2); + + // Create faces + Face& face = mesh.faces[faceIndex]; + face.setVerts(v0, v1, v2); + face.setEdgeVisFlags(EDGE_VIS, EDGE_VIS, EDGE_VIS); + + // Set per-vertex coloring (appears to be unused by game) + TVFace& vcFace = mesh.vcFace[faceIndex]; + vcFace.setTVerts(v0, v1, v2); + + // Set textured (UV) vertices + TVFace& tvFace = mesh.tvFace[faceIndex]; + tvFace.setTVerts(v0, v1, v2); + + faceIndex++; + } + + mesh.buildNormals(); + mesh.buildBoundingBox(); + mesh.InvalidateEdgeList(); + + TriObject* tri = CreateNewTriObject(); + tri->mesh = mesh; + Matrix3 tm; + tm.IdentityMatrix(); + + ImpNode* Node = ii->CreateNode(); + if (!Node) + { + throw std::exception("Could not create Node"); + } + + Mtl* material = BuildMaterial(obj); + + Node->Reference(tri); + Node->SetTransform(0, tm); + ii->AddNodeToScene(Node); + INode* iNode = Node->GetINode(); + iNode->SetMtl(material); + Node->SetName(util::to_wstring(obj.name).c_str()); + } +} + +Mtl* Gb2Importer::BuildMaterial(SingleObjectData& obj) +{ + auto bitmapTex = NewDefaultBitmapTex(); + bitmapTex->SetName(util::to_wstring(obj.texname).c_str()); + bitmapTex->SetMapName(util::to_wstring(obj.texname).c_str()); + + StdMat2* stdMat = NewDefaultStdMat(); + stdMat->EnableMap(ID_DI, true); + if (bitmapTex) + { + stdMat->SetSubTexmap(ID_DI, bitmapTex); + } + + stdMat->SetName(util::to_wstring(obj.texname).c_str()); + return stdMat; +} \ No newline at end of file diff --git a/Plugins/imp_gbs/Gb2Importer.h b/Plugins/imp_gbs/Gb2Importer.h new file mode 100644 index 0000000..1c9da7c --- /dev/null +++ b/Plugins/imp_gbs/Gb2Importer.h @@ -0,0 +1,19 @@ +#pragma once + +#include "IGiantsImporter.h" +#include "Gb2Data.h" + +class Gb2Importer : IGiantsImporter +{ +public: + // Inherited via IGiantsImporter + virtual void ImportFile(const MCHAR* name, ImpInterface* ii, Interface* i, BOOL suppressPrompts) override; + +private: + void ReadGb2File(const MCHAR* Name); + void BuildMeshes(ImpInterface* ii); + Mtl* BuildMaterial(SingleObjectData& obj); + + FILE* m_OpenFile{}; + Gb2Data m_gb2Data; +}; diff --git a/Plugins/imp_gbs/GbsImporter.cpp b/Plugins/imp_gbs/GbsImporter.cpp new file mode 100644 index 0000000..daa5a2d --- /dev/null +++ b/Plugins/imp_gbs/GbsImporter.cpp @@ -0,0 +1,304 @@ +#include "GbsImporter.h" +#include "StdUtil.h" + +void GbsImporter::ImportFile(const MCHAR* name, ImpInterface* ii, Interface* i, BOOL suppressPrompts) +{ + ReadGbsFile(name); + + BuildMeshes(ii); + ii->RedrawViews(); +} + +void GbsImporter::ReadGbsFile(const MCHAR* Name) +{ + FILE* file = nullptr; + try + { + errno_t err = _tfopen_s(&file, Name, (_T("rb"))); + if (err != 0) + { + throw std::exception("Could not open input file."); + } + + // Read object into memory + m_gbsData.Read(file); + + fclose(file); + } + catch (const std::exception& e) + { + if (file) + fclose(file); + + throw e; + } +} + +int GbsImporter::GetLocalVertex(Point3* avert, const Mesh& mesh) +{ + for (int i = 0; i < mesh.getNumVerts(); i++) + { + auto& vert = mesh.verts[i]; + + if (vert.x == avert->x && vert.y == avert->y && vert.z == avert->z) + { + return i; + } + } + + assert(false && "Invalid vertex for object"); + return -1; +} + +void GbsImporter::BuildMeshes(ImpInterface* EI) +{ + for (const auto& mobj : m_gbsData.MaxObjs) + { + assert(mobj.fcount > 0); + assert(mobj.vcount > 0); + + Mesh mesh; + mesh.setNumVerts(mobj.vcount); + mesh.setNumTVerts(mobj.vcount); + mesh.setNumVertCol(mobj.vcount); + mesh.setNumFaces(mobj.fcount); + mesh.setNumTVFaces(mobj.fcount); + mesh.setNumVCFaces(mobj.fcount); + + for (int i = 0; i < mobj.vcount; i++) + { + int vstart = mobj.vstart; + int index = i + vstart; + assert(index < m_gbsData.naverts); + + UV* uvptr = (UV*)(m_gbsData.vertuv.data() + (mobj.vstart + i)); + + Point3 point(m_gbsData.averts[index].x, m_gbsData.averts[index].y, m_gbsData.averts[index].z); + + mesh.setVert(i, point); + mesh.setTVert(i, UVVert(uvptr->u, uvptr->v, 0.0f)); + //mesh.setTVert(i, UVVert(uvptr->u, -uvptr->v, 0.0f)); + } + + Mtl* topLevelMaterial = nullptr; + const char* objName = nullptr; + int materialLevel = 0; + + int faceIndex = 0; + for (int subObjIndex = mobj.sostart; subObjIndex < mobj.sostart + mobj.socount; subObjIndex++) + { + SubObject& obj = m_gbsData.SubObjs.at(subObjIndex); + if (mobj.socount > 1) + { + // Max object consists of multiple sub objects + if (materialLevel == 0) + { + // Build parent material (either MixMat or multi-mtl): + topLevelMaterial = BuildParentMaterial(obj, mobj.socount); + objName = obj.objname; + } + + // Add sub-material: + Mtl* subMtl = BuildMaterial(obj, topLevelMaterial); + topLevelMaterial->SetSubMtl(materialLevel, subMtl); + } + else + { + // Just one subobj, build the single material and be done with it: + topLevelMaterial = BuildMaterial(obj, nullptr); + objName = obj.objname; + } + + int v1, v2, v3; + unsigned short tidx = -1; + unsigned short* tptr = obj.tridata.data(); + + unsigned short count = 0; + while (EvaluateTriData(&tptr, &tidx, &count, &v1, &v2, &v3)) + { + assert(faceIndex < mesh.getNumFaces()); + int vstart = mobj.vstart; + Face& face = mesh.faces[faceIndex]; + + // Map from display to animation vertices, then to a "local" index for this sub object, starting from zero: + int remappedV0 = GetLocalVertex(&m_gbsData.averts[m_gbsData.iverts.at(v1)], mesh); + int remappedV1 = GetLocalVertex(&m_gbsData.averts[m_gbsData.iverts.at(v2)], mesh); + int remappedV2 = GetLocalVertex(&m_gbsData.averts[m_gbsData.iverts.at(v3)], mesh); + + VertColor v0Col = VertColor(m_gbsData.vertrgb.at(v1).r / 255.0f, m_gbsData.vertrgb.at(v1).g / 255.0f, m_gbsData.vertrgb.at(v1).b / 255.0f); + VertColor v1Col = VertColor(m_gbsData.vertrgb.at(v2).r / 255.0f, m_gbsData.vertrgb.at(v2).g / 255.0f, m_gbsData.vertrgb.at(v2).b / 255.0f); + VertColor v2Col = VertColor(m_gbsData.vertrgb.at(v3).r / 255.0f, m_gbsData.vertrgb.at(v3).g / 255.0f, m_gbsData.vertrgb.at(v3).b / 255.0f); + + mesh.vertCol[remappedV0] = v0Col; + mesh.vertCol[remappedV1] = v1Col; + mesh.vertCol[remappedV2] = v2Col; + + assert(remappedV0 >= 0 && remappedV1 >= 0 && remappedV2 >= 0); + assert(remappedV0 < mobj.vcount&& remappedV1 < mobj.vcount&& remappedV2 < mobj.vcount); + assert(remappedV0 < m_gbsData.naverts&& remappedV1 < m_gbsData.naverts&& remappedV2 < m_gbsData.naverts); + + face.setVerts(remappedV0, remappedV1, remappedV2); + face.setEdgeVisFlags(EDGE_VIS, EDGE_VIS, EDGE_VIS); + face.setMatID(materialLevel); + + TVFace& tvFace = mesh.tvFace[faceIndex]; + tvFace.setTVerts(remappedV0, remappedV1, remappedV2); + + TVFace& vcFace = mesh.vcFace[faceIndex]; + vcFace.setTVerts(remappedV0, remappedV1, remappedV2); + + faceIndex++; + } + + materialLevel++; + } + + mesh.buildNormals(); + mesh.buildBoundingBox(); + mesh.InvalidateEdgeList(); + + TriObject* tri = CreateNewTriObject(); + tri->mesh = mesh; + Matrix3 tm; + tm.IdentityMatrix(); + + ImpNode* Node = EI->CreateNode(); + if (!Node) + { + throw std::exception("Could not create Node"); + } + + Node->Reference(tri); + Node->SetTransform(0, tm); + EI->AddNodeToScene(Node); + INode* iNode = Node->GetINode(); + iNode->SetMtl(topLevelMaterial); + Node->SetName(util::to_wstring(objName).c_str()); + } +} + +Mtl* GbsImporter::BuildParentMaterial(SubObject& obj, int numSubMaterials) +{ + // Check if we need to create a MixMat blend material + // (this check is iffy, not fully certain how to identify MixMat exports but this seems close enough) + if (obj.blend > 0.50 && (obj.flags & 0x10 || obj.flags & 0x20)) + { + //if (bitmapTex) + //{ + // //bitmapTex->GetUVGen()->SetUVWSource(2); + //} + + // Create custom MixMat material (from official 3dsmax plugin) + Mtl* mixMatMaterial = (Mtl*)CreateInstance(SClass_ID(MATERIAL_CLASS_ID), Class_ID(MIXMAT_CLASS_ID, 0)); + mixMatMaterial->SetName(util::to_wstring(obj.objname).c_str()); + + int ns = mixMatMaterial->NumSubMtls(); + + // Set the blend value + IParamBlock2* parameterBlock = mixMatMaterial->GetParamBlock(0); + parameterBlock->SetValue(0, 0, obj.blend); + + return mixMatMaterial; + } + else + { + // Standard multi-material + MultiMtl* multiMtl = NewDefaultMultiMtl(); + multiMtl->SetName(util::to_wstring(obj.objname).c_str()); + multiMtl->SetNumSubMtls(numSubMaterials); + + return multiMtl; + } +} + +Mtl* GbsImporter::BuildMaterial(SubObject& obj, Mtl* parentMaterial) +{ + BitmapTex* bitmapTex = nullptr; + + if (obj.texname && obj.texname[0]) + { + std::wstring mapName = util::to_wstring(obj.texname).c_str(); + mapName += L".tga"; // DDS partially supported but not in use, okay to hardcode for now + + bitmapTex = NewDefaultBitmapTex(); + bitmapTex->SetName(util::to_wstring(obj.texname).c_str()); + bitmapTex->SetMapName(mapName.c_str()); + } + + StdMat2* stdMat = NewDefaultStdMat(); + if (FlagIsSet(obj.flags, GBSFlagMaxLit) || parentMaterial) + { + // This isn't quite right, not all models with blend materials have this flag set. See ripper.gbs. + // Behavior is correct enough for now though. + stdMat->SetWireUnits(TRUE); + } + + stdMat->EnableMap(ID_DI, true); + + if (obj.flags & 0x10) + { + stdMat->SetTransparencyType(TRANSP_ADDITIVE); + } + else if (obj.flags & 0x20) + { + stdMat->SetTransparencyType(TRANSP_SUBTRACTIVE); + } + stdMat->SetShinStr(1.0f, 0); + stdMat->SetOpacFalloff(obj.falloff, 0); + + if (obj.emissive != 0) + { + Color emissive(GetRValue(obj.emissive), GetGValue(obj.emissive), GetBValue(obj.emissive)); + stdMat->SetSelfIllumColor(emissive, 0); + } + + if (bitmapTex) + { + stdMat->SetSubTexmap(ID_DI, bitmapTex); + } + + Color diffuse(GetRValue(obj.diffuse), GetGValue(obj.diffuse), GetBValue(obj.diffuse)); + stdMat->SetDiffuse(diffuse, 0); + Color ambient(GetRValue(obj.ambient), GetGValue(obj.ambient), GetBValue(obj.ambient)); + stdMat->SetAmbient(ambient, 0); + Color specular(GetRValue(obj.specular), GetGValue(obj.specular), GetBValue(obj.specular)); + stdMat->SetSpecular(specular, 0); + stdMat->SetShininess(obj.power / 100.0f, 0); + + stdMat->SetName(util::to_wstring(obj.objname).c_str()); + + return stdMat; +} + +bool GbsImporter::EvaluateTriData(unsigned short** pTriData, unsigned short* pTriIdx, unsigned short* acount, int* pV1, int* pV2, int* pV3) +{ + unsigned short* triData = *pTriData; + unsigned short triIdx = *pTriIdx; + unsigned short count = *acount; + + if (!count) + { + if (!(count = *triData)) + { + return false; + } + + triIdx = 0; + } + + *pV1 = triData[triIdx + 1]; + *pV2 = triData[triIdx + 2]; + *pV3 = triData[triIdx + 3]; + triIdx += 3; + + if (!--count) + { + triData += *triData * 3 + 1; + } + + *pTriData = triData; + *pTriIdx = triIdx; + *acount = count; + + return true; +} \ No newline at end of file diff --git a/Plugins/imp_gbs/GbsImporter.h b/Plugins/imp_gbs/GbsImporter.h new file mode 100644 index 0000000..a962ffd --- /dev/null +++ b/Plugins/imp_gbs/GbsImporter.h @@ -0,0 +1,22 @@ +#pragma once + +#include "IGiantsImporter.h" +#include "GbsData.h" + +class GbsImporter : IGiantsImporter +{ +public: + // Inherited via IGiantsImporter + virtual void ImportFile(const MCHAR* name, ImpInterface* ii, Interface* i, BOOL suppressPrompts) override; + +private: + void ReadGbsFile(const MCHAR* Name); + Mtl* BuildParentMaterial(SubObject& obj, int numSubMaterials); + Mtl* BuildMaterial(SubObject& obj, Mtl* parentMaterial); + int GetLocalVertex(Point3* avert, const Mesh& mesh); + void BuildMeshes(ImpInterface* EI); + bool EvaluateTriData(unsigned short** pTriData, unsigned short* pTriIdx, unsigned short* acount, int* pV1, int* pV2, int* pV3); + + FILE* m_OpenFile{}; + GbsData m_gbsData; +}; \ No newline at end of file diff --git a/Plugins/imp_gbs/IGiantsImporter.h b/Plugins/imp_gbs/IGiantsImporter.h new file mode 100644 index 0000000..88252d5 --- /dev/null +++ b/Plugins/imp_gbs/IGiantsImporter.h @@ -0,0 +1,6 @@ +#pragma once + +struct IGiantsImporter +{ + virtual void ImportFile(const MCHAR* name, ImpInterface* ii, Interface* i, BOOL suppressPrompts) = 0; +}; diff --git a/Plugins/imp_gbs/Importer.cpp b/Plugins/imp_gbs/Importer.cpp index 98fb7ea..0cbe156 100644 --- a/Plugins/imp_gbs/Importer.cpp +++ b/Plugins/imp_gbs/Importer.cpp @@ -2,14 +2,14 @@ // #include "Importer.h" -#include "StdUtil.h" +#include "ImporterFactory.h" class ImpGbsClassDesc : public ClassDesc2 { public: int IsPublic() { return TRUE; } - VOID* Create(BOOL Loading) { return new GbsImporter; } + VOID* Create(BOOL Loading) { return new GiantsImporter; } const MCHAR* ClassName() { return _M("ClassName"); } SClass_ID SuperClassID() { return SCENE_IMPORT_CLASS_ID; } Class_ID ClassID() { return GIANTSIMP_CLASSID; } @@ -30,53 +30,55 @@ void DisplayMessage(const char* msg) MessageBoxA(GetActiveWindow(), msg, "GBS Import Error", MB_OK); } -int GbsImporter::ExtCount() +int GiantsImporter::ExtCount() { - return 1; + return 2; } -const MCHAR* GbsImporter::Ext(int n) +const MCHAR* GiantsImporter::Ext(int n) { switch (n) { case 0: return _M("gbs"); + case 1: + return _M("gb2"); default: return (_M("")); } } -const MCHAR* GbsImporter::LongDesc() +const MCHAR* GiantsImporter::LongDesc() { return _M("Long Description"); } -const MCHAR* GbsImporter::ShortDesc() +const MCHAR* GiantsImporter::ShortDesc() { return _M("Giants Model"); } -const MCHAR* GbsImporter::AuthorName() +const MCHAR* GiantsImporter::AuthorName() { return _M("Author"); } -const MCHAR* GbsImporter::CopyrightMessage() +const MCHAR* GiantsImporter::CopyrightMessage() { return _M("Copyright"); } -const MCHAR* GbsImporter::OtherMessage1() +const MCHAR* GiantsImporter::OtherMessage1() { return _M("OtherMessage1"); } -const MCHAR* GbsImporter::OtherMessage2() +const MCHAR* GiantsImporter::OtherMessage2() { return _M("OtherMessage2"); } -UINT GbsImporter::Version() +UINT GiantsImporter::Version() { return 100; } @@ -86,324 +88,25 @@ static BOOL CALLBACK AboutDlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lPa return FALSE; } -VOID GbsImporter::ShowAbout(HWND hWnd) +VOID GiantsImporter::ShowAbout(HWND hWnd) { } -bool GbsImporter::EvaluateTriData(unsigned short** pTriData, unsigned short* pTriIdx, unsigned short* acount, int* pV1, int* pV2, int* pV3) -{ - unsigned short* triData = *pTriData; - unsigned short triIdx = *pTriIdx; - unsigned short count = *acount; - - if (!count) - { - if (!(count = *triData)) - { - return false; - } - - triIdx = 0; - } - - *pV1 = triData[triIdx + 1]; - *pV2 = triData[triIdx + 2]; - *pV3 = triData[triIdx + 3]; - triIdx += 3; - - if (!--count) - { - triData += *triData * 3 + 1; - } - - *pTriData = triData; - *pTriIdx = triIdx; - *acount = count; - - return true; -} - -int GbsImporter::DoImport(const MCHAR* Name, ImpInterface* EI, Interface* I, BOOL SupressPrompts) +int GiantsImporter::DoImport(const MCHAR* Name, ImpInterface* EI, Interface* I, BOOL suppressPrompts) { try { - m_gbsData = ReadGbsFile(Name); + ImporterFactory::ImportFile(Name, EI, I, suppressPrompts); } catch (const std::exception& e) { DisplayMessage(e.what()); } - BuildMeshes(EI); - EI->RedrawViews(); - return TRUE; } -GbsData GbsImporter::ReadGbsFile(const MCHAR* Name) -{ - FILE* file = nullptr; - try - { - errno_t err = _tfopen_s(&file, Name, (_T("rb"))); - if (err != 0) - { - throw std::exception("Could not open input file."); - } - - // Read object into memory - GbsData gbsFile; - gbsFile.Read(file); - - fclose(file); - return gbsFile; - } - catch (const std::exception& e) - { - if (file) - fclose(file); - - throw e; - } -} - -int GbsImporter::GetLocalVertex(Point3* avert, const Mesh& mesh) -{ - for (int i = 0; i < mesh.getNumVerts(); i++) - { - auto& vert = mesh.verts[i]; - - if (vert.x == avert->x && vert.y == avert->y && vert.z == avert->z) - { - return i; - } - } - - assert(false && "Invalid vertex for object"); - return -1; -} - -void GbsImporter::BuildMeshes(ImpInterface* EI) -{ - for (const auto& mobj : m_gbsData.MaxObjs) - { - assert(mobj.fcount > 0); - assert(mobj.vcount > 0); - - Mesh mesh; - mesh.setNumVerts(mobj.vcount); - mesh.setNumTVerts(mobj.vcount); - mesh.setNumVertCol(mobj.vcount); - mesh.setNumFaces(mobj.fcount); - mesh.setNumTVFaces(mobj.fcount); - mesh.setNumVCFaces(mobj.fcount); - - for (int i = 0; i < mobj.vcount; i++) - { - int vstart = mobj.vstart; - int index = i + vstart; - assert(index < m_gbsData.naverts); - - UV* uvptr = (UV*)(m_gbsData.vertuv.data() + (mobj.vstart + i)); - - Point3 point(m_gbsData.averts[index].x, m_gbsData.averts[index].y, m_gbsData.averts[index].z); - - mesh.setVert(i, point); - mesh.setTVert(i, UVVert(uvptr->u, uvptr->v, 0.0f)); - //mesh.setTVert(i, UVVert(uvptr->u, -uvptr->v, 0.0f)); - } - - Mtl* topLevelMaterial = nullptr; - const char* objName = nullptr; - int materialLevel = 0; - - int faceIndex = 0; - for (int subObjIndex = mobj.sostart; subObjIndex < mobj.sostart + mobj.socount; subObjIndex++) - { - SubObject& obj = m_gbsData.SubObjs.at(subObjIndex); - if (mobj.socount > 1) - { - // Max object consists of multiple sub objects - if (materialLevel == 0) - { - // Build parent material (either MixMat or multi-mtl): - topLevelMaterial = BuildParentMaterial(obj, mobj.socount); - objName = obj.objname; - } - - // Add sub-material: - Mtl* subMtl = BuildMaterial(obj, topLevelMaterial); - topLevelMaterial->SetSubMtl(materialLevel, subMtl); - } - else - { - // Just one subobj, build the single material and be done with it: - topLevelMaterial = BuildMaterial(obj, nullptr); - objName = obj.objname; - } - - int v1, v2, v3; - unsigned short tidx = -1; - unsigned short* tptr = obj.tridata.data(); - - unsigned short count = 0; - while (EvaluateTriData(&tptr, &tidx, &count, &v1, &v2, &v3)) - { - assert(faceIndex < mesh.getNumFaces()); - int vstart = mobj.vstart; - Face& face = mesh.faces[faceIndex]; - - // Map from display to animation vertices, then to a "local" index for this sub object, starting from zero: - int remappedV0 = GetLocalVertex(&m_gbsData.averts[m_gbsData.iverts.at(v1)], mesh); - int remappedV1 = GetLocalVertex(&m_gbsData.averts[m_gbsData.iverts.at(v2)], mesh); - int remappedV2 = GetLocalVertex(&m_gbsData.averts[m_gbsData.iverts.at(v3)], mesh); - - VertColor v0Col = VertColor(m_gbsData.vertrgb.at(v1).r / 255.0f, m_gbsData.vertrgb.at(v1).g / 255.0f, m_gbsData.vertrgb.at(v1).b / 255.0f); - VertColor v1Col = VertColor(m_gbsData.vertrgb.at(v2).r / 255.0f, m_gbsData.vertrgb.at(v2).g / 255.0f, m_gbsData.vertrgb.at(v2).b / 255.0f); - VertColor v2Col = VertColor(m_gbsData.vertrgb.at(v3).r / 255.0f, m_gbsData.vertrgb.at(v3).g / 255.0f, m_gbsData.vertrgb.at(v3).b / 255.0f); - - mesh.vertCol[remappedV0] = v0Col; - mesh.vertCol[remappedV1] = v1Col; - mesh.vertCol[remappedV2] = v2Col; - - assert(remappedV0 >= 0 && remappedV1 >= 0 && remappedV2 >= 0); - assert(remappedV0 < mobj.vcount && remappedV1 < mobj.vcount && remappedV2 < mobj.vcount); - assert(remappedV0 < m_gbsData.naverts && remappedV1 < m_gbsData.naverts && remappedV2 < m_gbsData.naverts); - - face.setVerts(remappedV0, remappedV1, remappedV2); - face.setEdgeVisFlags(EDGE_VIS, EDGE_VIS, EDGE_VIS); - face.setMatID(materialLevel); - - TVFace& tvFace = mesh.tvFace[faceIndex]; - tvFace.setTVerts(remappedV0, remappedV1, remappedV2); - - TVFace& vcFace = mesh.vcFace[faceIndex]; - vcFace.setTVerts(remappedV0, remappedV1, remappedV2); - - faceIndex++; - } - - materialLevel++; - } - - mesh.buildNormals(); - mesh.buildBoundingBox(); - mesh.InvalidateEdgeList(); - - TriObject* tri = CreateNewTriObject(); - tri->mesh = mesh; - Matrix3 tm; - tm.IdentityMatrix(); - - ImpNode* Node = EI->CreateNode(); - if (!Node) - { - throw std::exception("Could not create Node"); - } - - Node->Reference(tri); - Node->SetTransform(0, tm); - EI->AddNodeToScene(Node); - INode* iNode = Node->GetINode(); - iNode->SetMtl(topLevelMaterial); - Node->SetName(util::to_wstring(objName).c_str()); - } -} - -Mtl* GbsImporter::BuildParentMaterial(SubObject& obj, int numSubMaterials) -{ - // Check if we need to create a MixMat blend material - // (this check is iffy, not fully certain how to identify MixMat exports but this seems close enough) - if (obj.blend > 0.50 && (obj.flags & 0x10 || obj.flags & 0x20)) - { - //if (bitmapTex) - //{ - // //bitmapTex->GetUVGen()->SetUVWSource(2); - //} - - // Create custom MixMat material (from official 3dsmax plugin) - Mtl* mixMatMaterial = (Mtl*)CreateInstance(SClass_ID(MATERIAL_CLASS_ID), Class_ID(MIXMAT_CLASS_ID, 0)); - mixMatMaterial->SetName(util::to_wstring(obj.objname).c_str()); - - int ns = mixMatMaterial->NumSubMtls(); - - // Set the blend value - IParamBlock2* parameterBlock = mixMatMaterial->GetParamBlock(0); - parameterBlock->SetValue(0, 0, obj.blend); - - return mixMatMaterial; - } - else - { - // Standard multi-material - MultiMtl* multiMtl = NewDefaultMultiMtl(); - multiMtl->SetName(util::to_wstring(obj.objname).c_str()); - multiMtl->SetNumSubMtls(numSubMaterials); - - return multiMtl; - } -} - -Mtl* GbsImporter::BuildMaterial(SubObject& obj, Mtl* parentMaterial) -{ - BitmapTex* bitmapTex = nullptr; - - if (obj.texname && obj.texname[0]) - { - std::wstring mapName = util::to_wstring(obj.texname).c_str(); - mapName += L".tga"; // DDS partially supported but not in use, okay to hardcode for now - - bitmapTex = NewDefaultBitmapTex(); - bitmapTex->SetName(util::to_wstring(obj.texname).c_str()); - bitmapTex->SetMapName(mapName.c_str()); - } - - StdMat2* stdMat = NewDefaultStdMat(); - if (FlagIsSet(obj.flags, GBSFlagMaxLit) || parentMaterial) - { - // This isn't quite right, not all models with blend materials have this flag set. See ripper.gbs. - // Behavior is correct enough for now though. - stdMat->SetWireUnits(TRUE); - } - - stdMat->EnableMap(ID_DI, true); - - if (obj.flags & 0x10) - { - stdMat->SetTransparencyType(TRANSP_ADDITIVE); - } - else if (obj.flags & 0x20) - { - stdMat->SetTransparencyType(TRANSP_SUBTRACTIVE); - } - stdMat->SetShinStr(1.0f, 0); - stdMat->SetOpacFalloff(obj.falloff, 0); - - if (obj.emissive != 0) - { - Color emissive(GetRValue(obj.emissive), GetGValue(obj.emissive), GetBValue(obj.emissive)); - stdMat->SetSelfIllumColor(emissive, 0); - } - - if (bitmapTex) - { - stdMat->SetSubTexmap(ID_DI, bitmapTex); - } - - Color diffuse(GetRValue(obj.diffuse), GetGValue(obj.diffuse), GetBValue(obj.diffuse)); - stdMat->SetDiffuse(diffuse, 0); - Color ambient(GetRValue(obj.ambient), GetGValue(obj.ambient), GetBValue(obj.ambient)); - stdMat->SetAmbient(ambient, 0); - Color specular(GetRValue(obj.specular), GetGValue(obj.specular), GetBValue(obj.specular)); - stdMat->SetSpecular(specular, 0); - stdMat->SetShininess(obj.power / 100.0f, 0); - - stdMat->SetName(util::to_wstring(obj.objname).c_str()); - - return stdMat; -} - -BOOL GbsImporter::SupportsOptions(int Ext, DWORD Options) +BOOL GiantsImporter::SupportsOptions(int Ext, DWORD Options) { return FALSE; } \ No newline at end of file diff --git a/Plugins/imp_gbs/Importer.h b/Plugins/imp_gbs/Importer.h index 370d768..ad79899 100644 --- a/Plugins/imp_gbs/Importer.h +++ b/Plugins/imp_gbs/Importer.h @@ -1,10 +1,15 @@ #pragma once #include "GbsData.h" +#include "Gb2Data.h" + +#define GBXFlagNormals 0x0001 +#define GBXFlagUVs 0x0002 +#define GBXFlagRGBs 0x0004 #define GIANTSIMP_CLASSID Class_ID(0x552cac79, 0x46f2d727) -class GbsImporter : public SceneImport +class GiantsImporter : public SceneImport { public: static HWND hParams; @@ -19,21 +24,10 @@ public: const MCHAR* OtherMessage2(); // Other message #2 unsigned int Version(); // Version number * 100 (i.e. v3.01 = 301) void ShowAbout(HWND hWnd); // Show DLL's "About..." box - int DoImport(const MCHAR *name,ImpInterface *i,Interface *gi, BOOL suppressPrompts=FALSE); // Import file + int DoImport(const MCHAR* name, ImpInterface* ii, Interface* i, BOOL suppressPrompts); // Import file //Constructor/Destructor BOOL SupportsOptions(int Ext,DWORD Options); - -private: - GbsData ReadGbsFile(const MCHAR* Name); - Mtl* BuildParentMaterial(SubObject& obj, int numSubMaterials); - Mtl* BuildMaterial(SubObject& obj, Mtl* parentMaterial); - int GetLocalVertex(Point3* avert, const Mesh& mesh); - void BuildMeshes(ImpInterface* EI); - bool EvaluateTriData(unsigned short** pTriData, unsigned short* pTriIdx, unsigned short* acount, int* pV1, int* pV2, int* pV3); - - FILE* m_OpenFile{}; - GbsData m_gbsData; }; extern HINSTANCE hInstance; \ No newline at end of file diff --git a/Plugins/imp_gbs/ImporterFactory.cpp b/Plugins/imp_gbs/ImporterFactory.cpp new file mode 100644 index 0000000..4176615 --- /dev/null +++ b/Plugins/imp_gbs/ImporterFactory.cpp @@ -0,0 +1,19 @@ +#include "ImporterFactory.h" +#include "GbsImporter.h" +#include "Gb2Importer.h" + +void ImporterFactory::ImportFile(const MCHAR* Name, ImpInterface* EI, Interface* I, BOOL SupressPrompts) +{ + M_STD_STRING strName = Name; + + if (strName.rfind(L".gbs") != -1) + { + GbsImporter importer; + importer.ImportFile(Name, EI, I, SupressPrompts); + } + else if (strName.rfind(L".gb2") != -1) + { + Gb2Importer importer; + importer.ImportFile(Name, EI, I, SupressPrompts); + } +} \ No newline at end of file diff --git a/Plugins/imp_gbs/ImporterFactory.h b/Plugins/imp_gbs/ImporterFactory.h new file mode 100644 index 0000000..ed3d444 --- /dev/null +++ b/Plugins/imp_gbs/ImporterFactory.h @@ -0,0 +1,7 @@ +#pragma once + +class ImporterFactory +{ +public: + static void ImportFile(const MCHAR* name, ImpInterface* ii, Interface* i, BOOL suppressPrompts); +}; \ No newline at end of file diff --git a/Plugins/imp_gbs/imp_gbs.vcxproj b/Plugins/imp_gbs/imp_gbs.vcxproj index 277fb6e..507a818 100644 --- a/Plugins/imp_gbs/imp_gbs.vcxproj +++ b/Plugins/imp_gbs/imp_gbs.vcxproj @@ -99,8 +99,7 @@ $(OutDir)GiantsImp.lib - - + copy "$(TargetPath)" "$(ADSK_3DSMAX_x64_2021)\stdplugs\$(TargetName).dli @@ -113,7 +112,7 @@ MultiThreadedDebugDLL Use Level3 - ProgramDatabase + EditAndContinue Default stdcpp17 stdafx.h @@ -135,8 +134,7 @@ - - + copy "$(TargetPath)" "$(ADSK_3DSMAX_x64_2021)\stdplugs\$(TargetName).dli @@ -169,14 +167,17 @@ $(OutDir)GiantsImp.lib - - + copy "$(TargetPath)" "$(ADSK_3DSMAX_x64_2021)\stdplugs\$(TargetName).dli + + + + Create Create @@ -184,8 +185,13 @@ + + + + + diff --git a/Plugins/imp_gbs/imp_gbs.vcxproj.filters b/Plugins/imp_gbs/imp_gbs.vcxproj.filters index 94757cc..4005ccc 100644 --- a/Plugins/imp_gbs/imp_gbs.vcxproj.filters +++ b/Plugins/imp_gbs/imp_gbs.vcxproj.filters @@ -23,6 +23,18 @@ Source Files + + Source Files + + + Source Files + + + Source Files + + + Source Files + @@ -37,6 +49,21 @@ Header Files + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files +