diff --git a/Utils/MkActor3d/MkActor3d.cpp b/Utils/MkActor3d/MkActor3d.cpp index d5abc8a8b..8dd4475c9 100644 --- a/Utils/MkActor3d/MkActor3d.cpp +++ b/Utils/MkActor3d/MkActor3d.cpp @@ -76,16 +76,17 @@ int Count; CMkActor3d::CMkActor3d(GString const &In,GString const &Out,int TPBase,int TPW,int TPH) { GFName File=In; + InFilename=In; InPath=File.Drive(); InPath+=File.Dir(); OutDir=Out; + OutDir.Append('\\'); Name=File.File(); // Create Out Filename from inFilename and outdir - OutFile=OutDir; - OutFile.Append('\\'); - OutFile+=File.File(); + OutFile=OutDir+File.File(); +// OutFile+=File.File(); TPageBase=TPBase; TPageWidth=TPW ; @@ -102,11 +103,10 @@ void CMkActor3d::Load() //*************************************************************************** void CMkActor3d::Process() { - BuildSkin(); FaceList.SetTexBasePath(InPath); - FaceList.SetTexOut(GString("\\temp\\Test.tex"),1,1,1); - FaceList.SetTexDebugOut(GString("\\temp\\Test.Lbm")); + FaceList.SetTexOut(OutFile+".Tex",1,1,1); + FaceList.SetTexDebugOut(OutFile+".Lbm"); FaceList.Process(); } @@ -136,10 +136,101 @@ int ChildCount=ThisNode.GetPruneChildCount(); for (int Loop=0;Loop -//#include "Layer.h" -//#include "LayerTile.h" #include #include #include "..\mapedit\ExportPSXHdr.h" -/* -struct sTex -{ - int TexId; - int XOfs,YOfs; - int Flags; - - bool operator==(sTex const &v1) - { - if (TexId!=v1.TexId) return(FALSE); - if (XOfs!=v1.XOfs) return(FALSE); - if (YOfs!=v1.YOfs) return(FALSE); - if (Flags!=v1.Flags) return(FALSE); - return(TRUE); - } -}; -*/ //*************************************************************************** class CMkActor3d @@ -40,15 +20,23 @@ public: private: void BuildSkin(int Idx=0); + void WriteBone(int Idx); + void BuildBoneOut(sBone &OutBone,CNode const &InNode); + void BuildWeightOut(sWeight &OutWeight,sGinWeight const &InWeight); + int WriteWeightList(); GString InFilename,InPath,Name,OutFile,OutDir; CScene Scene; CFaceStore FaceList; + vector WeightList; CList OutTriList; CList OutVtxList; + sActor3dHdr FileHdr; + FILE *File; + int TPageBase; int TPageWidth,TPageHeight;