From ba83aa5247ce5f7f0ba51f771a81b3de35fb143b Mon Sep 17 00:00:00 2001 From: njohnson Date: Wed, 10 Sep 2025 21:58:26 -0400 Subject: [PATCH] Lotta changes --- libs/xassets/xclipmap.cpp | 342 ++-- libs/xassets/xclipmap.h | 16 +- libs/xassets/xcmodel.cpp | 21 +- libs/xassets/xcmodel.h | 2 +- libs/xassets/xcnode.cpp | 20 +- libs/xassets/xcnode.h | 2 +- libs/xassets/xcollisionaabbtree.cpp | 40 +- libs/xassets/xcollisionaabbtree.h | 7 +- libs/xassets/xcollisionaabbtreeindex.cpp | 9 +- libs/xassets/xcollisionaabbtreeindex.h | 6 +- libs/xassets/xcollisionborder.cpp | 28 +- libs/xassets/xcollisionborder.h | 2 +- libs/xassets/xcollisionpartition.cpp | 3 +- libs/xassets/xcollisionpartition.h | 2 +- libs/xassets/xcolumninfo.cpp | 11 +- libs/xassets/xcolumninfo.h | 4 +- libs/xassets/xcomprimarylight.cpp | 70 +- libs/xassets/xcomprimarylight.h | 9 +- libs/xassets/xcomworld.cpp | 4 +- libs/xassets/xcomworld.h | 2 +- libs/xassets/xcplane.cpp | 21 +- libs/xassets/xcplane.h | 2 +- libs/xassets/xcstaticmodel.cpp | 51 +- libs/xassets/xcstaticmodel.h | 2 +- libs/xassets/xcstaticmodelwritable.cpp | 3 +- libs/xassets/xcstaticmodelwritable.h | 2 +- libs/xassets/xd3dbasetexture.cpp | 11 +- libs/xassets/xd3dbasetexture.h | 4 +- libs/xassets/xd3dcubetexture.cpp | 33 - libs/xassets/xd3dindexbuffer.cpp | 19 +- libs/xassets/xd3dindexbuffer.h | 2 +- libs/xassets/xd3dresource.cpp | 46 +- libs/xassets/xd3dresource.h | 4 +- libs/xassets/xd3dvertexbuffer.cpp | 8 +- libs/xassets/xd3dvertexbuffer.h | 2 +- libs/xassets/xdmaterial.cpp | 6 +- libs/xassets/xdmaterial.h | 2 +- libs/xassets/xdobjanimmat.cpp | 34 +- libs/xassets/xdobjanimmat.h | 2 +- libs/xassets/xdvpsplane.cpp | 11 +- libs/xassets/xdvpsplane.h | 4 +- libs/xassets/xdynentityclient.cpp | 4 +- libs/xassets/xdynentityclient.h | 2 +- libs/xassets/xdynentitycoll.cpp | 4 +- libs/xassets/xdynentitycoll.h | 2 +- libs/xassets/xdynentitydef.cpp | 4 +- libs/xassets/xdynentitydef.h | 2 +- libs/xassets/xdynentitypose.cpp | 4 +- libs/xassets/xdynentitypose.h | 2 +- libs/xassets/xeditfielddefinition.cpp | 98 +- libs/xassets/xeditfielddefinition.h | 31 +- libs/xassets/xeffectdef.cpp | 6 +- libs/xassets/xeffectdef.h | 2 +- libs/xassets/xeffectdefref.cpp | 26 +- libs/xassets/xeffectdefref.h | 12 +- libs/xassets/xeffecttable.cpp | 29 - libs/xassets/xeffecttable.h | 24 - libs/xassets/xentryinternaldata.cpp | 11 +- libs/xassets/xentryinternaldata.h | 4 +- libs/xassets/xexpressionentry.cpp | 11 +- libs/xassets/xexpressionentry.h | 4 +- libs/xassets/xfile.cpp | 4 +- libs/xassets/xfile.h | 2 +- libs/xassets/xfont.cpp | 2 +- libs/xassets/xfont.h | 2 +- libs/xassets/xfxeffectdef.cpp | 21 +- libs/xassets/xfxeffectdef.h | 2 +- libs/xassets/xfxelematlas.cpp | 13 +- libs/xassets/xfxelematlas.h | 4 +- libs/xassets/xfxelemdef.cpp | 55 +- libs/xassets/xfxelemdef.h | 2 +- libs/xassets/xfxelemdefvisuals.cpp | 19 +- libs/xassets/xfxelemdefvisuals.h | 8 +- libs/xassets/xfxelemmarkvisuals.cpp | 11 +- libs/xassets/xfxelemmarkvisuals.h | 2 +- libs/xassets/xfxelemvec3range.cpp | 4 +- libs/xassets/xfxelemvec3range.h | 2 +- libs/xassets/xfxelemvelstateinframe.cpp | 4 +- libs/xassets/xfxelemvelstateinframe.h | 2 +- libs/xassets/xfxelemvelstatesample.cpp | 4 +- libs/xassets/xfxelemvelstatesample.h | 2 +- libs/xassets/xfxelemvisstatesample.cpp | 4 +- libs/xassets/xfxelemvisstatesample.h | 2 +- libs/xassets/xfxelemvisuals.cpp | 8 +- libs/xassets/xfxelemvisuals.h | 2 +- libs/xassets/xfxelemvisualstate.cpp | 4 +- libs/xassets/xfxelemvisualstate.h | 2 +- libs/xassets/xfxfloatrange.cpp | 8 +- libs/xassets/xfxfloatrange.h | 2 +- libs/xassets/xfximpactentry.cpp | 8 +- libs/xassets/xfximpactentry.h | 2 +- libs/xassets/xfximpacttable.cpp | 6 +- libs/xassets/xfximpacttable.h | 2 +- libs/xassets/xfxintrange.cpp | 8 +- libs/xassets/xfxintrange.h | 2 +- libs/xassets/xfxspawndef.cpp | 8 +- libs/xassets/xfxspawndef.h | 2 +- libs/xassets/xfxspawndeflooping.cpp | 8 +- libs/xassets/xfxspawndeflooping.h | 2 +- libs/xassets/xfxspawndefoneshot.cpp | 8 +- libs/xassets/xfxspawndefoneshot.h | 2 +- libs/xassets/xfxtraildef.cpp | 8 +- libs/xassets/xfxtraildef.h | 2 +- libs/xassets/xfxtrailvertex.cpp | 8 +- libs/xassets/xfxtrailvertex.h | 2 +- libs/xassets/xgameworld.cpp | 21 - libs/xassets/xgameworld.h | 21 - libs/xassets/xgameworldmp.cpp | 4 +- libs/xassets/xgameworldmp.h | 2 +- libs/xassets/xgameworldsp.cpp | 4 +- libs/xassets/xgameworldsp.h | 2 +- libs/xassets/xgfxaabbtree.cpp | 8 +- libs/xassets/xgfxaabbtree.h | 2 +- libs/xassets/xgfxbrushmodel.cpp | 8 +- libs/xassets/xgfxbrushmodel.h | 6 +- libs/xassets/xgfxbrushmodelwritable.cpp | 8 +- libs/xassets/xgfxbrushmodelwritable.h | 2 +- libs/xassets/xgfxcell.cpp | 45 +- libs/xassets/xgfxcell.h | 2 +- libs/xassets/xgfxcolor.cpp | 32 +- libs/xassets/xgfxcolor.h | 2 +- libs/xassets/xgfxcullgroup.cpp | 8 +- libs/xassets/xgfxcullgroup.h | 2 +- libs/xassets/xgfxdrawsurf.cpp | 4 +- libs/xassets/xgfxdrawsurf.h | 2 +- libs/xassets/xgfxdrawsurffields.cpp | 28 +- libs/xassets/xgfxdrawsurffields.h | 2 +- libs/xassets/xgfximage.cpp | 46 +- libs/xassets/xgfximage.h | 2 +- libs/xassets/xgfximageloaddef.cpp | 20 +- libs/xassets/xgfximageloaddef.h | 8 +- libs/xassets/xgfxlight.cpp | 47 +- libs/xassets/xgfxlight.h | 15 +- libs/xassets/xgfxlightdef.cpp | 4 +- libs/xassets/xgfxlightdef.h | 4 +- libs/xassets/xgfxlightgrid.cpp | 5 +- libs/xassets/xgfxlightgrid.h | 2 +- libs/xassets/xgfxlightgridcolors.h | 2 +- libs/xassets/xgfxlightgridentry.h | 2 +- libs/xassets/xgfxlightimage.cpp | 14 +- libs/xassets/xgfxlightimage.h | 4 +- libs/xassets/xgfxlightmaparray.cpp | 7 +- libs/xassets/xgfxlightmaparray.h | 2 +- libs/xassets/xgfxlightregion.cpp | 8 +- libs/xassets/xgfxlightregion.h | 4 +- libs/xassets/xgfxlightregionaxis.cpp | 8 +- libs/xassets/xgfxlightregionaxis.h | 2 +- libs/xassets/xgfxlightregionhull.cpp | 8 +- libs/xassets/xgfxlightregionhull.h | 4 +- libs/xassets/xgfxpackedplacement.cpp | 8 +- libs/xassets/xgfxpackedplacement.h | 2 +- libs/xassets/xgfxpackedvertex.cpp | 26 +- libs/xassets/xgfxpackedvertex.h | 2 +- libs/xassets/xgfxpixelshaderloaddef.cpp | 4 +- libs/xassets/xgfxpixelshaderloaddef.h | 2 +- libs/xassets/xgfxplacement.cpp | 4 +- libs/xassets/xgfxplacement.h | 2 +- libs/xassets/xgfxportal.cpp | 6 +- libs/xassets/xgfxportal.h | 2 +- libs/xassets/xgfxportalwritable.cpp | 8 +- libs/xassets/xgfxportalwritable.h | 2 +- libs/xassets/xgfxreflectionprobe.cpp | 3 +- libs/xassets/xgfxreflectionprobe.h | 2 +- libs/xassets/xgfxscenedynbrush.cpp | 8 +- libs/xassets/xgfxscenedynbrush.h | 2 +- libs/xassets/xgfxscenedynmodel.cpp | 8 +- libs/xassets/xgfxscenedynmodel.h | 2 +- libs/xassets/xgfxshadowgeometry.cpp | 8 +- libs/xassets/xgfxshadowgeometry.h | 2 +- libs/xassets/xgfxstatebits.cpp | 4 +- libs/xassets/xgfxstatebits.h | 2 +- libs/xassets/xgfxstaticmodeldrawinst.cpp | 10 +- libs/xassets/xgfxstaticmodeldrawinst.h | 4 +- libs/xassets/xgfxstaticmodelinst.cpp | 8 +- libs/xassets/xgfxstaticmodelinst.h | 2 +- libs/xassets/xgfxstreamingaabbtree.cpp | 12 +- libs/xassets/xgfxstreamingaabbtree.h | 2 +- libs/xassets/xgfxsurface.cpp | 7 +- libs/xassets/xgfxsurface.h | 2 +- libs/xassets/xgfxtexture.cpp | 13 +- libs/xassets/xgfxtexture.h | 7 +- libs/xassets/xgfxvertexshaderloaddef.cpp | 4 +- libs/xassets/xgfxvertexshaderloaddef.h | 2 +- libs/xassets/xgfxworld.cpp | 207 +- libs/xassets/xgfxworld.h | 12 +- libs/xassets/xgfxworlddpvsdynamic.cpp | 10 +- libs/xassets/xgfxworlddpvsdynamic.h | 4 +- libs/xassets/xgfxworlddpvsplanes.cpp | 8 +- libs/xassets/xgfxworlddpvsplanes.h | 2 +- libs/xassets/xgfxworlddpvsstatic.cpp | 6 +- libs/xassets/xgfxworlddpvsstatic.h | 26 +- libs/xassets/xgfxworldstreaminfo.cpp | 3 +- libs/xassets/xgfxworldstreaminfo.h | 2 +- libs/xassets/xgfxworldvertex.cpp | 34 +- libs/xassets/xgfxworldvertex.h | 10 +- libs/xassets/xgfxworldvertexdata.cpp | 4 +- libs/xassets/xgfxworldvertexdata.h | 2 +- libs/xassets/xgfxworldvertexlayerdata.cpp | 8 +- libs/xassets/xgfxworldvertexlayerdata.h | 2 +- libs/xassets/xglyph.cpp | 8 +- libs/xassets/xglyph.h | 2 +- libs/xassets/xgputexturefetchconstant.cpp | 8 +- libs/xassets/xgputexturefetchconstant.h | 2 +- libs/xassets/xgputexturefetchconstantraw.cpp | 2 + libs/xassets/xgputexturefetchconstantraw.h | 2 +- libs/xassets/xgputexturesize1d.cpp | 8 +- libs/xassets/xgputexturesize1d.h | 2 +- libs/xassets/xgputexturesize2d.cpp | 8 +- libs/xassets/xgputexturesize2d.h | 2 +- libs/xassets/xgputexturesize3d.cpp | 8 +- libs/xassets/xgputexturesize3d.h | 2 +- libs/xassets/xgputexturesizestack.cpp | 8 +- libs/xassets/xgputexturesizestack.h | 2 +- libs/xassets/xgputexturesizestack1d.cpp | 8 +- libs/xassets/xgputexturesizestack1d.h | 2 +- libs/xassets/xgputexturesizestack2d.cpp | 8 +- libs/xassets/xgputexturesizestack2d.h | 2 +- libs/xassets/xgputexturesizestack3d.cpp | 8 +- libs/xassets/xgputexturesizestack3d.h | 2 +- libs/xassets/xgpuvertexfetchconstant.cpp | 14 +- libs/xassets/xgpuvertexfetchconstant.h | 6 +- libs/xassets/xgpuvertexrawrequest.cpp | 37 +- libs/xassets/xgpuvertexrawrequest.h | 2 +- libs/xassets/xitemdef.cpp | 6 +- libs/xassets/xitemdef.h | 2 +- libs/xassets/xitemdefdata.cpp | 4 +- libs/xassets/xitemdefdata.h | 2 +- libs/xassets/xitemkeyhandler.cpp | 4 +- libs/xassets/xitemkeyhandler.h | 2 +- libs/xassets/xlistboxdef.cpp | 8 +- libs/xassets/xlistboxdef.h | 2 +- libs/xassets/xloadedsound.cpp | 4 +- libs/xassets/xloadedsound.h | 2 +- libs/xassets/xlocalizeentry.cpp | 2 +- libs/xassets/xlocalizeentry.h | 2 +- libs/xassets/xmapents.cpp | 2 +- libs/xassets/xmapents.h | 2 +- libs/xassets/xmaptype.h | 4 +- libs/xassets/xmaterial.cpp | 38 +- libs/xassets/xmaterial.h | 2 +- libs/xassets/xmaterialargumentcodeconst.cpp | 8 +- libs/xassets/xmaterialargumentcodeconst.h | 2 +- libs/xassets/xmaterialargumentdef.cpp | 6 +- libs/xassets/xmaterialargumentdef.h | 2 +- libs/xassets/xmaterialconstantdef.cpp | 4 +- libs/xassets/xmaterialconstantdef.h | 2 +- libs/xassets/xmaterialinfo.cpp | 38 +- libs/xassets/xmaterialinfo.h | 2 +- libs/xassets/xmaterialmemory.cpp | 8 +- libs/xassets/xmaterialmemory.h | 2 +- libs/xassets/xmaterialpass.cpp | 2 +- libs/xassets/xmaterialpass.h | 2 +- libs/xassets/xmaterialpixelshader.cpp | 4 +- libs/xassets/xmaterialpixelshader.h | 2 +- libs/xassets/xmaterialpixelshaderprogram.cpp | 4 +- libs/xassets/xmaterialpixelshaderprogram.h | 2 +- libs/xassets/xmaterialshaderargument.cpp | 2 +- libs/xassets/xmaterialshaderargument.h | 2 +- libs/xassets/xmaterialstreamrouting.cpp | 8 +- libs/xassets/xmaterialstreamrouting.h | 2 +- libs/xassets/xmaterialtechnique.cpp | 49 +- libs/xassets/xmaterialtechnique.h | 2 +- libs/xassets/xmaterialtechniqueset.cpp | 4 +- libs/xassets/xmaterialtechniqueset.h | 2 +- libs/xassets/xmaterialtexturedef.cpp | 4 +- libs/xassets/xmaterialtexturedef.h | 2 +- libs/xassets/xmaterialtexturedefinfo.cpp | 4 +- libs/xassets/xmaterialtexturedefinfo.h | 2 +- libs/xassets/xmaterialvertexdeclaration.cpp | 2 +- libs/xassets/xmaterialvertexdeclaration.h | 2 +- libs/xassets/xmaterialvertexshader.cpp | 2 +- libs/xassets/xmaterialvertexshader.h | 2 +- libs/xassets/xmaterialvertexshaderprogram.cpp | 2 +- libs/xassets/xmaterialvertexshaderprogram.h | 2 +- libs/xassets/xmaterialvertexstreamrouting.cpp | 2 +- libs/xassets/xmaterialvertexstreamrouting.h | 2 +- libs/xassets/xmenudef.cpp | 37 +- libs/xassets/xmenudef.h | 2 +- libs/xassets/xmenulist.cpp | 4 +- libs/xassets/xmenulist.h | 2 +- libs/xassets/xmodel.cpp | 143 +- libs/xassets/xmodel.h | 9 +- libs/xassets/xmodelcollsurf.cpp | 26 +- libs/xassets/xmodelcollsurf.h | 2 +- libs/xassets/xmodeldrawinfo.cpp | 8 +- libs/xassets/xmodeldrawinfo.h | 2 +- libs/xassets/xmodelhighmipbounds.cpp | 18 +- libs/xassets/xmodelhighmipbounds.h | 2 +- libs/xassets/xmodellodinfo.cpp | 51 +- libs/xassets/xmodellodinfo.h | 8 +- libs/xassets/xmodelpiece.cpp | 4 +- libs/xassets/xmodelpiece.h | 2 +- libs/xassets/xmodelpieces.cpp | 2 +- libs/xassets/xmodelpieces.h | 2 +- libs/xassets/xmodelstreaminfo.cpp | 17 +- libs/xassets/xmodelstreaminfo.h | 6 +- libs/xassets/xmultidef.cpp | 8 +- libs/xassets/xmultidef.h | 2 +- libs/xassets/xoperand.cpp | 8 +- libs/xassets/xoperand.h | 2 +- libs/xassets/xoperandinternaldataunion.cpp | 8 +- libs/xassets/xoperandinternaldataunion.h | 2 +- libs/xassets/xpackedtexcoords.cpp | 8 +- libs/xassets/xpackedtexcoords.h | 2 +- libs/xassets/xpackedunitvec.cpp | 8 +- libs/xassets/xpackedunitvec.h | 2 +- libs/xassets/xpathbasenode.cpp | 4 +- libs/xassets/xpathbasenode.h | 2 +- libs/xassets/xpathdata.cpp | 14 +- libs/xassets/xpathdata.h | 2 +- libs/xassets/xpathlink.cpp | 3 +- libs/xassets/xpathlink.h | 2 +- libs/xassets/xpathnode.cpp | 12 +- libs/xassets/xpathnode.h | 2 +- libs/xassets/xpathnodeconstant.cpp | 56 +- libs/xassets/xpathnodeconstant.h | 24 +- libs/xassets/xpathnodedynamic.cpp | 97 +- libs/xassets/xpathnodedynamic.h | 28 +- libs/xassets/xpathnodetransient.cpp | 3 +- libs/xassets/xpathnodetransient.h | 2 +- libs/xassets/xpathnodetree.cpp | 3 +- libs/xassets/xpathnodetree.h | 2 +- libs/xassets/xpathnodetreeinfo.cpp | 3 +- libs/xassets/xpathnodetreeinfo.h | 2 +- libs/xassets/xpathnodetreenodes.cpp | 3 +- libs/xassets/xpathnodetreenodes.h | 2 +- libs/xassets/xphysgeominfo.cpp | 40 +- libs/xassets/xphysgeominfo.h | 4 +- libs/xassets/xphysgeomlist.cpp | 22 +- libs/xassets/xphysgeomlist.h | 2 +- libs/xassets/xphysmass.cpp | 8 +- libs/xassets/xphysmass.h | 2 +- libs/xassets/xphyspreset.cpp | 30 +- libs/xassets/xphyspreset.h | 2 +- libs/xassets/xrawfile.cpp | 2 +- libs/xassets/xrawfile.h | 2 +- libs/xassets/xrectdef.cpp | 8 +- libs/xassets/xrectdef.h | 2 +- libs/xassets/xreverbsettings.cpp | 4 +- libs/xassets/xreverbsettings.h | 2 +- libs/xassets/xrigidvertlist.cpp | 37 +- libs/xassets/xrigidvertlist.h | 13 +- libs/xassets/xscriptstringlist.cpp | 25 +- libs/xassets/xscriptstringlist.h | 8 +- libs/xassets/xsentienthandle.cpp | 7 +- libs/xassets/xsentienthandle.h | 6 +- libs/xassets/xsoundalias.cpp | 4 +- libs/xassets/xsoundalias.h | 2 +- libs/xassets/xsoundaliaslist.cpp | 2 +- libs/xassets/xsoundaliaslist.h | 2 +- libs/xassets/xsoundcurve.cpp | 2 +- libs/xassets/xsoundcurve.h | 2 +- libs/xassets/xsounddriverglobals.cpp | 4 +- libs/xassets/xsounddriverglobals.h | 2 +- libs/xassets/xsoundfile.cpp | 4 +- libs/xassets/xsoundfile.h | 2 +- libs/xassets/xsoundfileref.cpp | 4 +- libs/xassets/xsoundfileref.h | 2 +- libs/xassets/xspeakermap.cpp | 16 +- libs/xassets/xspeakermap.h | 7 +- libs/xassets/xsrftriangles.cpp | 8 +- libs/xassets/xsrftriangles.h | 2 +- libs/xassets/xstatement.cpp | 8 +- libs/xassets/xstatement.h | 2 +- libs/xassets/xstreamdelayinfo.cpp | 14 +- libs/xassets/xstreamdelayinfo.h | 2 +- libs/xassets/xstreamedsound.cpp | 7 +- libs/xassets/xstreamedsound.h | 2 +- libs/xassets/xstreamfileinfo.cpp | 7 +- libs/xassets/xstreamfileinfo.h | 2 +- libs/xassets/xstreamfilename.cpp | 26 +- libs/xassets/xstreamfilename.h | 22 +- libs/xassets/xstreamfilenamepacked.cpp | 7 +- libs/xassets/xstreamfilenamepacked.h | 2 +- libs/xassets/xstreamfilenameraw.cpp | 7 +- libs/xassets/xstreamfilenameraw.h | 2 +- libs/xassets/xstreamsourceinfo.cpp | 8 +- libs/xassets/xstreamsourceinfo.h | 4 +- libs/xassets/xstring.cpp | 8 +- libs/xassets/xstring.h | 6 +- libs/xassets/xstringtable.cpp | 2 +- libs/xassets/xstringtable.h | 4 +- libs/xassets/xsunflare.cpp | 4 +- libs/xassets/xsunflare.h | 2 +- libs/xassets/xsunlightparseparams.cpp | 3 +- libs/xassets/xsunlightparseparams.h | 2 +- libs/xassets/xsurface.cpp | 78 +- libs/xassets/xsurface.h | 10 +- libs/xassets/xsurfacecollisionaabb.cpp | 16 +- libs/xassets/xsurfacecollisionaabb.h | 6 +- libs/xassets/xsurfacecollisionleaf.cpp | 8 +- libs/xassets/xsurfacecollisionleaf.h | 4 +- libs/xassets/xsurfacecollisionnode.cpp | 14 +- libs/xassets/xsurfacecollisionnode.h | 6 +- libs/xassets/xsurfacecollisiontree.cpp | 46 +- libs/xassets/xsurfacecollisiontree.h | 8 +- libs/xassets/xsurfacevertexinfo.cpp | 50 +- libs/xassets/xsurfacevertexinfo.h | 2 +- libs/xassets/xtexturedesc.cpp | 8 +- libs/xassets/xtexturedesc.h | 24 +- libs/xassets/xwater.cpp | 4 +- libs/xassets/xwater.h | 2 +- libs/xassets/xwaterwritable.cpp | 8 +- libs/xassets/xwaterwritable.h | 2 +- libs/xassets/xweapondef.cpp | 4 +- libs/xassets/xweapondef.h | 4 +- libs/xassets/xwindowdef.cpp | 6 +- libs/xassets/xwindowdef.h | 2 +- libs/zonefile/360/zonefile_cod10_360.cpp | 2 +- libs/zonefile/360/zonefile_cod11_360.cpp | 2 +- libs/zonefile/360/zonefile_cod12_360.cpp | 2 +- libs/zonefile/360/zonefile_cod2_360.cpp | 2 +- libs/zonefile/360/zonefile_cod4_360.cpp | 2 +- libs/zonefile/360/zonefile_cod5_360.cpp | 2 +- libs/zonefile/360/zonefile_cod6_360.cpp | 72 +- libs/zonefile/360/zonefile_cod7_360.cpp | 2 +- libs/zonefile/360/zonefile_cod8_360.cpp | 2 +- libs/zonefile/360/zonefile_cod9_360.cpp | 2 +- libs/zonefile/PS3/zonefile_cod10_ps3.cpp | 2 +- libs/zonefile/PS3/zonefile_cod11_ps3.cpp | 2 +- libs/zonefile/PS3/zonefile_cod12_ps3.cpp | 2 +- libs/zonefile/PS3/zonefile_cod4_ps3.cpp | 2 +- libs/zonefile/PS3/zonefile_cod5_ps3.cpp | 2 +- libs/zonefile/PS3/zonefile_cod7_ps3.cpp | 2 +- libs/zonefile/PS3/zonefile_cod8_ps3.cpp | 2 +- libs/zonefile/PS3/zonefile_cod9_ps3.cpp | 2 +- libs/zonefile/Wii/zonefile_cod4_wii.cpp | 2 +- libs/zonefile/Wii/zonefile_cod7_wii.cpp | 2 +- libs/zonefile/Wii/zonefile_cod8_wii.cpp | 2 +- libs/zonefile/WiiU/zonefile_cod10_wiiu.cpp | 2 +- libs/zonefile/WiiU/zonefile_cod9_wiiu.cpp | 2 +- libs/zonefile/zonefile.cpp | 6 +- tests/360/autotest_cod10_360.cpp | 4 +- tests/360/autotest_cod11_360.cpp | 4 +- tests/360/autotest_cod12_360.cpp | 6 +- tests/360/autotest_cod2_360.cpp | 4 +- tests/360/autotest_cod4_360.cpp | 4 +- tests/360/autotest_cod5_360.cpp | 4 +- tests/360/autotest_cod6_360.cpp | 4 +- tests/360/autotest_cod7_360.cpp | 3 +- tests/360/autotest_cod8_360.cpp | 4 +- tests/360/autotest_cod9_360.cpp | 4 +- tests/PC/autotest_cod10_pc.cpp | 4 +- tests/PC/autotest_cod11_pc.cpp | 4 +- tests/PC/autotest_cod12_pc.cpp | 8 +- tests/PC/autotest_cod4_pc.cpp | 4 +- tests/PC/autotest_cod5_pc.cpp | 4 +- tests/PC/autotest_cod6_pc.cpp | 4 +- tests/PC/autotest_cod7_pc.cpp | 4 +- tests/PC/autotest_cod8_pc.cpp | 4 +- tests/PC/autotest_cod9_pc.cpp | 4 +- tests/PS3/autotest_cod10_ps3.cpp | 4 +- tests/PS3/autotest_cod11_ps3.cpp | 4 +- tests/PS3/autotest_cod12_ps3.cpp | 8 +- tests/PS3/autotest_cod4_ps3.cpp | 8 +- tests/PS3/autotest_cod5_ps3.cpp | 8 +- tests/PS3/autotest_cod6_ps3.cpp | 4 +- tests/PS3/autotest_cod7_ps3.cpp | 10 +- tests/PS3/autotest_cod8_ps3.cpp | 4 +- tests/PS3/autotest_cod9_ps3.cpp | 4 +- tests/Wii/autotest_cod4_wii.cpp | 4 +- tests/Wii/autotest_cod7_wii.cpp | 4 +- tests/Wii/autotest_cod8_wii.cpp | 4 +- tests/WiiU/autotest_cod10_wiiu.cpp | 4 +- tests/WiiU/autotest_cod9_wiiu.cpp | 4 +- tests/tests.pro | 18 +- third_party/cod_export/cod4_360.h | 1787 ----------------- third_party/xbox_sdk/include/xcompress.h | 2 +- tools/asset_assess/mainwindow.cpp | 23 +- tools/compro/compro.pro | 18 +- tools/zentry/zentry.pro | 18 +- 471 files changed, 2370 insertions(+), 4003 deletions(-) delete mode 100644 libs/xassets/xd3dcubetexture.cpp delete mode 100644 libs/xassets/xeffecttable.cpp delete mode 100644 libs/xassets/xeffecttable.h delete mode 100644 libs/xassets/xgameworld.cpp delete mode 100644 libs/xassets/xgameworld.h delete mode 100644 third_party/cod_export/cod4_360.h diff --git a/libs/xassets/xclipmap.cpp b/libs/xassets/xclipmap.cpp index a5376e1..d7f3dcf 100644 --- a/libs/xassets/xclipmap.cpp +++ b/libs/xassets/xclipmap.cpp @@ -54,302 +54,274 @@ XClipMap::XClipMap() , mChecksum(0) { SetType(ASSET_TYPE_CLIPMAP); - SetName("ClipMap"); + SetName("Clip Map"); } -XClipMap::~XClipMap() -{ - -} - -void XClipMap::ParseData(QDataStream *aStream) +void XClipMap::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { + // name / header mName.ParsePtr(aStream, false); - qint32 planePtr, staticModelPtr, materialsPtr, brushSidesPtr, - brushEdgesPtr, nodesPtr, leafsPtr, leafsBrushNodesPtr, - leafBrushesPtr, leafSurfacesPtr, vertPtr, - triIndicesPtr, triEdgeWalkablePtr, bordersPtr, partitionsPtr, aabbTreesPtr, - cModelsPtr; - *aStream - >> mIsInUse - >> mPlaneCount - >> planePtr - >> mNumStaticModels - >> staticModelPtr - >> mNumMaterials - >> materialsPtr - >> mNumBrushSides - >> brushSidesPtr - >> mNumBrushEdges - >> brushEdgesPtr - >> mNumNodes - >> nodesPtr - >> mNumLeafs - >> leafsPtr - >> mLeafBrushNodesCount - >> leafsBrushNodesPtr - >> mNumLeafBrushes - >> leafBrushesPtr - >> mNumLeafSurfaces - >> leafSurfacesPtr - >> mVertCount - >> vertPtr - >> mTriCount - >> triIndicesPtr - >> triEdgeWalkablePtr - >> mBorderCount - >> bordersPtr - >> mPartitionCount - >> partitionsPtr - >> mAabbTreeCount - >> aabbTreesPtr - >> mNumSubModels - >> cModelsPtr - >> mNumBrushes; + mIsInUse = aStream->ParseUInt32(QString("%1 is in use").arg(GetName())); + mPlaneCount = aStream->ParseInt32 (QString("%1 plane count").arg(GetName())); + qint32 planePtr = aStream->ParseInt32(QString("%1 plane ptr").arg(GetName())); + // static models / materials / brushes + mNumStaticModels = aStream->ParseUInt32(QString("%1 num static models").arg(GetName())); + qint32 staticModelPtr = aStream->ParseInt32(QString("%1 static model ptr").arg(GetName())); + + mNumMaterials = aStream->ParseUInt32(QString("%1 num materials").arg(GetName())); + qint32 materialsPtr = aStream->ParseInt32(QString("%1 materials ptr").arg(GetName())); + + mNumBrushSides = aStream->ParseUInt32(QString("%1 num brush sides").arg(GetName())); + qint32 brushSidesPtr = aStream->ParseInt32(QString("%1 brush sides ptr").arg(GetName())); + + mNumBrushEdges = aStream->ParseUInt32(QString("%1 num brush edges").arg(GetName())); + qint32 brushEdgesPtr = aStream->ParseInt32(QString("%1 brush edges ptr").arg(GetName())); + + mNumNodes = aStream->ParseUInt32(QString("%1 num nodes").arg(GetName())); + qint32 nodesPtr = aStream->ParseInt32(QString("%1 nodes ptr").arg(GetName())); + + mNumLeafs = aStream->ParseUInt32(QString("%1 num leafs").arg(GetName())); + qint32 leafsPtr = aStream->ParseInt32(QString("%1 leafs ptr").arg(GetName())); + + mLeafBrushNodesCount = aStream->ParseUInt32(QString("%1 leaf brush nodes count").arg(GetName())); + qint32 leafsBrushNodesPtr= aStream->ParseInt32(QString("%1 leaf brush nodes ptr").arg(GetName())); + + mNumLeafBrushes = aStream->ParseUInt32(QString("%1 num leaf brushes").arg(GetName())); + qint32 leafBrushesPtr = aStream->ParseInt32(QString("%1 leaf brushes ptr").arg(GetName())); + + mNumLeafSurfaces = aStream->ParseUInt32(QString("%1 num leaf surfaces").arg(GetName())); + qint32 leafSurfacesPtr = aStream->ParseInt32(QString("%1 leaf surfaces ptr").arg(GetName())); + + mVertCount = aStream->ParseUInt32(QString("%1 vert count").arg(GetName())); + qint32 vertPtr = aStream->ParseInt32(QString("%1 vert ptr").arg(GetName())); + + mTriCount = aStream->ParseInt32(QString("%1 tri count").arg(GetName())); + qint32 triIndicesPtr = aStream->ParseInt32(QString("%1 tri indices ptr").arg(GetName())); + qint32 triEdgeWalkablePtr= aStream->ParseInt32(QString("%1 tri edge walkable ptr").arg(GetName())); + + mBorderCount = aStream->ParseInt32(QString("%1 border count").arg(GetName())); + qint32 bordersPtr = aStream->ParseInt32(QString("%1 borders ptr").arg(GetName())); + + mPartitionCount = aStream->ParseInt32(QString("%1 partition count").arg(GetName())); + qint32 partitionsPtr = aStream->ParseInt32(QString("%1 partitions ptr").arg(GetName())); + + mAabbTreeCount = aStream->ParseInt32(QString("%1 aabb tree count").arg(GetName())); + qint32 aabbTreesPtr = aStream->ParseInt32(QString("%1 aabb trees ptr").arg(GetName())); + + mNumSubModels = aStream->ParseUInt32(QString("%1 num sub models").arg(GetName())); + qint32 cModelsPtr = aStream->ParseInt32(QString("%1 c models ptr").arg(GetName())); + + mNumBrushes = aStream->ParseUInt32(QString("%1 num brushes").arg(GetName())); + + // skip padding aStream->skipRawData(2); - qint32 brushesPtr, visibilityPtr, mapEntsPtr; - *aStream - >> brushesPtr - >> mNumClusters - >> mClusterBytes - >> visibilityPtr - >> mVised - >> mapEntsPtr; + // visibility + ents + qint32 brushesPtr = aStream->ParseInt32(QString("%1 brushes ptr").arg(GetName())); + mNumClusters = aStream->ParseInt32(QString("%1 num clusters").arg(GetName())); + mClusterBytes = aStream->ParseInt32(QString("%1 cluster bytes").arg(GetName())); + qint32 visibilityPtr = aStream->ParseInt32(QString("%1 visibility ptr").arg(GetName())); + mVised = aStream->ParseInt32(QString("%1 vised").arg(GetName())); + qint32 mapEntsPtr = aStream->ParseInt32(QString("%1 map ents ptr").arg(GetName())); mMapEnts.ParsePtr(aStream, false); mBoxBrush.ParsePtr(aStream, false); - mBoxModel.ParseData(aStream); + // dynEnt counts quint16 dynEntCount; - *aStream >> dynEntCount; + dynEntCount = aStream->ParseUInt16(QString("%1 dyn ent count [0]").arg(GetName())); mDynEntCounts.append(dynEntCount); - *aStream >> dynEntCount; + dynEntCount = aStream->ParseUInt16(QString("%1 dyn ent count [1]").arg(GetName())); mDynEntCounts.append(dynEntCount); + // dynEnt lists (ParsePtr once each) mDynEntDefList[0].ParsePtr(aStream, false); - mDynEntDefList[0].ParsePtr(aStream, false); + mDynEntDefList[1].ParsePtr(aStream, false); mDynEntPoseList[0].ParsePtr(aStream, false); - mDynEntPoseList[0].ParsePtr(aStream, false); + mDynEntPoseList[1].ParsePtr(aStream, false); mDynEntClientList[0].ParsePtr(aStream, false); - mDynEntClientList[0].ParsePtr(aStream, false); + mDynEntClientList[1].ParsePtr(aStream, false); mDynEntCollList[0].ParsePtr(aStream, false); - mDynEntCollList[0].ParsePtr(aStream, false); + mDynEntCollList[1].ParsePtr(aStream, false); - *aStream >> mChecksum; + mChecksum = aStream->ParseUInt32(QString("%1 checksum").arg(GetName())); - if (planePtr) - { - for (int i = 0; i < mPlaneCount; i++) - { + // ===================== + // Sectioned data blocks + // ===================== + if (planePtr) { + for (int i = 0; i < mPlaneCount; i++) { XCPlane newCPlane; newCPlane.ParseData(aStream); mPlanes.append(newCPlane); } } - if (staticModelPtr) - { - for (int i = 0; i < mNumStaticModels; i++) - { + if (staticModelPtr) { + for (quint32 i = 0; i < mNumStaticModels; i++) { XCStaticModel newModel; newModel.ParseData(aStream); mStaticModelList.append(newModel); } } - if (materialsPtr) - { - for (int i = 0; i < mNumMaterials; i++) - { - XDMaterial newDMaterial; - newDMaterial.ParseData(aStream); - mMaterials.append(newDMaterial); + if (materialsPtr) { + for (quint32 i = 0; i < mNumMaterials; i++) { + XDMaterial newMat; + newMat.ParseData(aStream); + mMaterials.append(newMat); } } - if (brushSidesPtr) - { - for (int i = 0; i < mNumBrushSides; i++) - { - XCBrushSide newBrushSide; - newBrushSide.ParseData(aStream); - mBrushsides.append(newBrushSide); + if (brushSidesPtr) { + for (quint32 i = 0; i < mNumBrushSides; i++) { + XCBrushSide newSide; + newSide.ParseData(aStream); + mBrushsides.append(newSide); } } - if (brushEdgesPtr) - { - for (int i = 0; i < mNumBrushEdges; i++) - { - quint8 newBrushEdge; - *aStream >> newBrushEdge; - mBrushEdges.append(newBrushEdge); + if (brushEdgesPtr) { + for (quint32 i = 0; i < mNumBrushEdges; i++) { + quint8 edge = aStream->ParseUInt8(QString("%1 edge %2").arg(GetName()).arg(i)); + mBrushEdges.append(edge); } } - if (nodesPtr) - { - for (int i = 0; i < mNumNodes; i++) - { + if (nodesPtr) { + for (quint32 i = 0; i < mNumNodes; i++) { XCNode newNode; newNode.ParseData(aStream); mNodes.append(newNode); } } - if (leafsPtr) - { - for (int i = 0; i < mNumLeafs; i++) - { + if (leafsPtr) { + for (quint32 i = 0; i < mNumLeafs; i++) { XCLeaf newLeaf; newLeaf.ParseData(aStream); mLeafs.append(newLeaf); } } - if (leafBrushesPtr) - { - for (int i = 0; i < mNumLeafBrushes; i++) - { - quint32 newBrush; - *aStream >> newBrush; - mLeafBrushes.append(newBrush); + if (leafBrushesPtr) { + for (quint32 i = 0; i < mNumLeafBrushes; i++) { + quint32 brush = aStream->ParseUInt32(QString("%1 brush %2").arg(GetName()).arg(i)); + mLeafBrushes.append(brush); } } - if (leafsBrushNodesPtr) - { - for (int i = 0; i < mNumLeafBrushes; i++) - { - XCLeafBrushNode newBrushNode; - newBrushNode.ParseData(aStream); - mLeafBrushNodes.append(newBrushNode); + if (leafsBrushNodesPtr) { + for (quint32 i = 0; i < mLeafBrushNodesCount; i++) { + XCLeafBrushNode newNode; + newNode.ParseData(aStream); + mLeafBrushNodes.append(newNode); } } - if (leafSurfacesPtr) - { - for (int i = 0; i < mNumLeafBrushes; i++) - { - quint32 newBrush; - *aStream >> newBrush; - mLeafSurfaces.append(newBrush); + if (leafSurfacesPtr) { + for (quint32 i = 0; i < mNumLeafSurfaces; i++) { + quint32 surf = aStream->ParseUInt32(QString("%1 surf %2").arg(GetName()).arg(i)); + mLeafSurfaces.append(surf); } } - if (vertPtr) - { - for (int i = 0; i < mVertCount; i++) - { - QVector3D newVert; - *aStream - >> newVert[0] - >> newVert[1] - >> newVert[2]; - mVerts.append(newVert); + if (vertPtr) { + for (quint32 i = 0; i < mVertCount; i++) { + for (int j = 0; j < 3; j++) { + QVector3D v; + v[j] = aStream->ParseSingle(QString("%1 vert (%2, %3)").arg(GetName()).arg(i).arg(j)); + mVerts.append(v); + } } } - if (triIndicesPtr) - { - for (int i = 0; i < mTriCount; i++) - { - quint32 newTri; - *aStream >> newTri; - mTriIndices.append(newTri); + if (triIndicesPtr) { + for (int i = 0; i < mTriCount; i++) { + quint32 tri = aStream->ParseUInt32(QString("%1 tri %2").arg(GetName()).arg(i)); + mTriIndices.append(tri); } } - if (triEdgeWalkablePtr) - { - aStream->readRawData(mTriEdgeIsWalkable.data(), ((3 * mTriCount + 31) >> 3) & 0xFFFFFFFC); + if (triEdgeWalkablePtr) { + aStream->readRawData(mTriEdgeIsWalkable.data(), + ((3 * mTriCount + 31) >> 3) & 0xFFFFFFFC); } - if (bordersPtr) - { - for (int i = 0; i < mBorderCount; i++) - { - XCollisionBorder newBorder; - newBorder.ParseData(aStream); - mBorders.append(newBorder); + if (bordersPtr) { + for (int i = 0; i < mBorderCount; i++) { + XCollisionBorder b; + b.ParseData(aStream); + mBorders.append(b); } } - if (partitionsPtr) - { - for (int i = 0; i < mPartitionCount; i++) - { - XCollisionPartition newPartition; - newPartition.ParseData(aStream); - mPartitions.append(newPartition); + if (partitionsPtr) { + for (int i = 0; i < mPartitionCount; i++) { + XCollisionPartition p; + p.ParseData(aStream); + mPartitions.append(p); } } - if (aabbTreesPtr) - { - for (int i = 0; i < mAabbTreeCount; i++) - { - XCollisionAabbTree newTree; - newTree.ParseData(aStream); - mAabbTrees.append(newTree); + if (aabbTreesPtr) { + for (int i = 0; i < mAabbTreeCount; i++) { + XCollisionAabbTree t; + t.ParseData(aStream); + mAabbTrees.append(t); } } - if (cModelsPtr) - { - for (int i = 0; i < mNumSubModels; i++) - { - XCModel newCModel; - newCModel.ParseData(aStream); - mCModels.append(newCModel); + if (cModelsPtr) { + for (quint32 i = 0; i < mNumSubModels; i++) { + XCModel m; + m.ParseData(aStream); + mCModels.append(m); } } - if (brushesPtr) - { - for (int i = 0; i < mNumBrushes; i++) - { - XCBrush newCBrush; - newCBrush.ParseData(aStream); - mBrushes.append(newCBrush); + if (brushesPtr) { + for (quint32 i = 0; i < mNumBrushes; i++) { + XCBrush b; + b.ParseData(aStream); + mBrushes.append(b); } } - if (visibilityPtr) - { + if (visibilityPtr) { aStream->readRawData(mVisibility.data(), mClusterBytes * mNumClusters); } - if (mapEntsPtr) - { + if (mapEntsPtr) { mMapEnts.ParseData(aStream); } + // box brush / dynEnt blocks mBoxBrush.ParseData(aStream); mDynEntDefList[0].ParseData(aStream); - mDynEntDefList[0].ParseData(aStream); + mDynEntDefList[1].ParseData(aStream); mDynEntPoseList[0].ParseData(aStream); - mDynEntPoseList[0].ParseData(aStream); + mDynEntPoseList[1].ParseData(aStream); mDynEntClientList[0].ParseData(aStream); - mDynEntClientList[0].ParseData(aStream); + mDynEntClientList[1].ParseData(aStream); mDynEntCollList[0].ParseData(aStream); - mDynEntCollList[0].ParseData(aStream); + mDynEntCollList[1].ParseData(aStream); } } + void XClipMap::Clear() { diff --git a/libs/xassets/xclipmap.h b/libs/xassets/xclipmap.h index a4b9069..147158f 100644 --- a/libs/xassets/xclipmap.h +++ b/libs/xassets/xclipmap.h @@ -23,9 +23,9 @@ class XClipMap : public XAsset { public: explicit XClipMap(); - ~XClipMap(); + ~XClipMap() = default; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: @@ -33,7 +33,7 @@ private: quint32 mIsInUse; - int mPlaneCount; + qint32 mPlaneCount; QVector mPlanes; quint32 mNumStaticModels; @@ -66,20 +66,20 @@ private: quint32 mVertCount; QVector mVerts; - int mTriCount; + qint32 mTriCount; QVector mTriIndices; QByteArray mTriEdgeIsWalkable; - int mBorderCount; + qint32 mBorderCount; QVector mBorders; - int mPartitionCount; + qint32 mPartitionCount; QVector mPartitions; - int mAabbTreeCount; + qint32 mAabbTreeCount; QVector mAabbTrees; - uint mNumSubModels; + quint32 mNumSubModels; QVector mCModels; quint32 mNumBrushes; diff --git a/libs/xassets/xcmodel.cpp b/libs/xassets/xcmodel.cpp index 13d87e5..be16adf 100644 --- a/libs/xassets/xcmodel.cpp +++ b/libs/xassets/xcmodel.cpp @@ -7,7 +7,7 @@ XCModel::XCModel() , mRadius(0.0f) , mLeaf() { - + SetName("C Model"); } XCModel::~XCModel() @@ -15,16 +15,17 @@ XCModel::~XCModel() } -void XCModel::ParseData(QDataStream *aStream) +void XCModel::ParseData(XDataStream *aStream) { - *aStream - >> mMins[0] - >> mMins[1] - >> mMins[2] - >> mMaxs[0] - >> mMaxs[1] - >> mMaxs[2] - >> mRadius; + for (int i = 0; i < 3; i++) { + mMins[i] = aStream->ParseSingle(QString("%1 min %2").arg(GetName()).arg(i)); + } + + for (int i = 0; i < 3; i++) { + mMaxs[i] = aStream->ParseSingle(QString("%1 max %2").arg(GetName()).arg(i)); + } + + mRadius = aStream->ParseSingle(QString("%1 radius").arg(GetName())); mLeaf.ParseData(aStream); } diff --git a/libs/xassets/xcmodel.h b/libs/xassets/xcmodel.h index ae8d8dc..333bad2 100644 --- a/libs/xassets/xcmodel.h +++ b/libs/xassets/xcmodel.h @@ -12,7 +12,7 @@ public: XCModel(); ~XCModel(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xcnode.cpp b/libs/xassets/xcnode.cpp index ade0e27..ae9c116 100644 --- a/libs/xassets/xcnode.cpp +++ b/libs/xassets/xcnode.cpp @@ -3,23 +3,23 @@ XCNode::XCNode() : XAsset() , mPlane() - , mChildren() + , mChildren(2) { + SetName("C Node"); } XCNode::~XCNode() { - } -void XCNode::ParseData(QDataStream *aStream) { - if (GetPtr() == -1) { +void XCNode::ParseData(XDataStream *aStream) +{ + if (GetPtr() == -1) + { mPlane.ParsePtr(aStream); - // Parse children - *aStream - >> mChildren[0] - >> mChildren[1]; + mChildren[0] = aStream->ParseInt16(QString("%1 child 0").arg(GetName())); + mChildren[1] = aStream->ParseInt16(QString("%1 child 1").arg(GetName())); mPlane.ParseData(aStream); } @@ -30,7 +30,3 @@ void XCNode::Clear() mPlane.Clear(); mChildren.clear(); } - - - - diff --git a/libs/xassets/xcnode.h b/libs/xassets/xcnode.h index 828a978..6ff635c 100644 --- a/libs/xassets/xcnode.h +++ b/libs/xassets/xcnode.h @@ -10,7 +10,7 @@ public: explicit XCNode(); ~XCNode(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xcollisionaabbtree.cpp b/libs/xassets/xcollisionaabbtree.cpp index 8fee2b6..c77aa32 100644 --- a/libs/xassets/xcollisionaabbtree.cpp +++ b/libs/xassets/xcollisionaabbtree.cpp @@ -8,30 +8,41 @@ XCollisionAabbTree::XCollisionAabbTree() , mChildCount(0) , mTreeIndex() { + SetName("Collision AABB Tree"); } XCollisionAabbTree::~XCollisionAabbTree() { - } -void XCollisionAabbTree::ParseData(QDataStream *aStream) { - if (GetPtr() == -1) { - *aStream - >> mOrigin[0] - >> mOrigin[1] - >> mOrigin[2] - >> mHalfSize[0] - >> mHalfSize[1] - >> mHalfSize[2] - >> mMaterialIndex - >> mChildCount; +void XCollisionAabbTree::ParseData(XDataStream *aStream) +{ + if (GetPtr() == -1) + { + mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName()))); + mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName()))); + mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName()))); + + mHalfSize.setX(aStream->ParseSingle(QString("%1 half size x").arg(GetName()))); + mHalfSize.setY(aStream->ParseSingle(QString("%1 half size y").arg(GetName()))); + mHalfSize.setZ(aStream->ParseSingle(QString("%1 half size z").arg(GetName()))); + + mMaterialIndex = aStream->ParseUInt32(QString("%1 material index").arg(GetName())); + mChildCount = aStream->ParseUInt32(QString("%1 child count").arg(GetName())); - // Parse union mTreeIndex.ParseData(aStream); } } +void XCollisionAabbTree::Clear() +{ + mOrigin = QVector3D(); + mHalfSize = QVector3D(); + mMaterialIndex = 0; + mChildCount = 0; + mTreeIndex.Clear(); +} + QVector3D XCollisionAabbTree::GetOrigin() const { return mOrigin; } @@ -71,6 +82,3 @@ XCollisionAabbTreeIndex& XCollisionAabbTree::GetTreeIndex() { void XCollisionAabbTree::SetTreeIndex(const XCollisionAabbTreeIndex& aTreeIndex) { mTreeIndex = aTreeIndex; } - - - diff --git a/libs/xassets/xcollisionaabbtree.h b/libs/xassets/xcollisionaabbtree.h index 15f583c..5d3dfc8 100644 --- a/libs/xassets/xcollisionaabbtree.h +++ b/libs/xassets/xcollisionaabbtree.h @@ -12,7 +12,8 @@ public: explicit XCollisionAabbTree(); ~XCollisionAabbTree(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; + void Clear() override; QVector3D GetOrigin() const; void SetOrigin(QVector3D aOrigin); @@ -32,8 +33,8 @@ public: private: QVector3D mOrigin; QVector3D mHalfSize; - quint32 mMaterialIndex = 0; - quint32 mChildCount = 0; + quint32 mMaterialIndex; + quint32 mChildCount; XCollisionAabbTreeIndex mTreeIndex; }; diff --git a/libs/xassets/xcollisionaabbtreeindex.cpp b/libs/xassets/xcollisionaabbtreeindex.cpp index bc9c318..7c8cecc 100644 --- a/libs/xassets/xcollisionaabbtreeindex.cpp +++ b/libs/xassets/xcollisionaabbtreeindex.cpp @@ -5,7 +5,7 @@ XCollisionAabbTreeIndex::XCollisionAabbTreeIndex() , mFirstChildIndex(0) , mPartitionIndex(0) { - + SetName("Collision AABB Tree Index"); } XCollisionAabbTreeIndex::~XCollisionAabbTreeIndex() @@ -13,11 +13,10 @@ XCollisionAabbTreeIndex::~XCollisionAabbTreeIndex() } -void XCollisionAabbTreeIndex::ParseData(QDataStream *aStream) { +void XCollisionAabbTreeIndex::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream - >> mFirstChildIndex - >> mPartitionIndex; + mFirstChildIndex = aStream->ParseInt32(QString("%1 first child index").arg(GetName())); + mPartitionIndex = aStream->ParseInt32(QString("%1 partition index").arg(GetName())); } } diff --git a/libs/xassets/xcollisionaabbtreeindex.h b/libs/xassets/xcollisionaabbtreeindex.h index 6afada4..625a1cd 100644 --- a/libs/xassets/xcollisionaabbtreeindex.h +++ b/libs/xassets/xcollisionaabbtreeindex.h @@ -9,7 +9,7 @@ public: explicit XCollisionAabbTreeIndex(); ~XCollisionAabbTreeIndex(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; // Option 1: First child index int GetFirstChildIndex() const; @@ -20,8 +20,8 @@ public: void SetPartitionIndex(int index); private: - int mFirstChildIndex; - int mPartitionIndex; + qint32 mFirstChildIndex; + qint32 mPartitionIndex; }; #endif // XCOLLISIONAABBTREEINDEX_H diff --git a/libs/xassets/xcollisionborder.cpp b/libs/xassets/xcollisionborder.cpp index 507388a..db1dcfc 100644 --- a/libs/xassets/xcollisionborder.cpp +++ b/libs/xassets/xcollisionborder.cpp @@ -2,29 +2,33 @@ XCollisionBorder::XCollisionBorder() : XAsset() - , mDistEq(3) + , mDistEq(3) // Always 3 elements , mZBase(0.0f) , mZSlope(0.0f) , mStart(0.0f) , mLength(0.0f) { + SetName("Collision Border"); } XCollisionBorder::~XCollisionBorder() { - } -void XCollisionBorder::ParseData(QDataStream *aStream) { - if (GetPtr() == -1) { - *aStream - >> mDistEq[0] - >> mDistEq[1] - >> mDistEq[2] - >> mZBase - >> mZSlope - >> mStart - >> mLength; +void XCollisionBorder::ParseData(XDataStream *aStream) +{ + if (GetPtr() == -1) + { + // Distance equation components + mDistEq[0] = aStream->ParseSingle(QString("%1 dist eq x").arg(GetName())); + mDistEq[1] = aStream->ParseSingle(QString("%1 dist eq y").arg(GetName())); + mDistEq[2] = aStream->ParseSingle(QString("%1 dist eq z").arg(GetName())); + + // Other properties + mZBase = aStream->ParseSingle(QString("%1 z base").arg(GetName())); + mZSlope = aStream->ParseSingle(QString("%1 z slope").arg(GetName())); + mStart = aStream->ParseSingle(QString("%1 start").arg(GetName())); + mLength = aStream->ParseSingle(QString("%1 length").arg(GetName())); } } diff --git a/libs/xassets/xcollisionborder.h b/libs/xassets/xcollisionborder.h index 05f7b85..bc9c6b5 100644 --- a/libs/xassets/xcollisionborder.h +++ b/libs/xassets/xcollisionborder.h @@ -11,7 +11,7 @@ public: explicit XCollisionBorder(); ~XCollisionBorder(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xcollisionpartition.cpp b/libs/xassets/xcollisionpartition.cpp index 6ac7238..8c12ece 100644 --- a/libs/xassets/xcollisionpartition.cpp +++ b/libs/xassets/xcollisionpartition.cpp @@ -7,6 +7,7 @@ XCollisionPartition::XCollisionPartition() , mFirstTri(0) , mBorders() { + SetName("Collision Partition"); } XCollisionPartition::~XCollisionPartition() @@ -14,7 +15,7 @@ XCollisionPartition::~XCollisionPartition() } -void XCollisionPartition::ParseData(QDataStream *aStream) { +void XCollisionPartition::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mTriCount diff --git a/libs/xassets/xcollisionpartition.h b/libs/xassets/xcollisionpartition.h index be322eb..6da08af 100644 --- a/libs/xassets/xcollisionpartition.h +++ b/libs/xassets/xcollisionpartition.h @@ -12,7 +12,7 @@ public: explicit XCollisionPartition(); ~XCollisionPartition(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xcolumninfo.cpp b/libs/xassets/xcolumninfo.cpp index 8222d66..4912920 100644 --- a/libs/xassets/xcolumninfo.cpp +++ b/libs/xassets/xcolumninfo.cpp @@ -7,17 +7,14 @@ XColumnInfo::XColumnInfo() , mMaxChars(0) , mAlignment(0) { - + SetName("Column Info"); } -XColumnInfo::~XColumnInfo() +void XColumnInfo::ParseData(XDataStream *aStream) { - -} + Q_UNUSED(aStream); -void XColumnInfo::ParseData(QDataStream *aStream) -{ - + // TODOL Fill in XColumnInfo::ParseData } void XColumnInfo::Clear() diff --git a/libs/xassets/xcolumninfo.h b/libs/xassets/xcolumninfo.h index 106c4e4..439f2bf 100644 --- a/libs/xassets/xcolumninfo.h +++ b/libs/xassets/xcolumninfo.h @@ -7,9 +7,9 @@ class XColumnInfo : public XAsset { public: explicit XColumnInfo(); - ~XColumnInfo(); + ~XColumnInfo() = default; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xcomprimarylight.cpp b/libs/xassets/xcomprimarylight.cpp index db2aa33..233638d 100644 --- a/libs/xassets/xcomprimarylight.cpp +++ b/libs/xassets/xcomprimarylight.cpp @@ -15,9 +15,9 @@ XComPrimaryLight::XComPrimaryLight() , mCosHalfFovExpanded(0.0) , mRotationLimit(0.0) , mTranslationLimit(0.0) - , mDefName(new XString()) + , mDefName() { - + SetName("Com Primary Light"); } XComPrimaryLight::~XComPrimaryLight() @@ -27,10 +27,10 @@ XComPrimaryLight::~XComPrimaryLight() void XComPrimaryLight::Clear() { - delete mDefName; + } -XComPrimaryLightArray *XComPrimaryLight::ParseArray(QDataStream *aStream, int aCount) +XComPrimaryLightArray *XComPrimaryLight::ParseArray(XDataStream *aStream, int aCount) { XComPrimaryLightArray* result = new XComPrimaryLightArray(); @@ -45,24 +45,37 @@ XComPrimaryLightArray *XComPrimaryLight::ParseArray(QDataStream *aStream, int aC return result; } -void XComPrimaryLight::ParseData(QDataStream *aStream) +void XComPrimaryLight::ParseData(XDataStream *aStream) { - *aStream - >> mType - >> mCanUseShadowMap - >> mExponent - >> mUnused - >> mColor - >> mDir - >> mOrigin - >> mRadius - >> mCosHalfFovOuter - >> mCosHalfFovInner - >> mCosHalfFovExpanded - >> mRotationLimit - >> mTranslationLimit; + if (GetPtr() == -1) + { + mType = aStream->ParseUInt8(QString("%1 type").arg(GetName())); + mCanUseShadowMap = aStream->ParseUInt8(QString("%1 can use shadow map").arg(GetName())); + mExponent = aStream->ParseUInt8(QString("%1 exponent").arg(GetName())); + mUnused = aStream->ParseUInt8(QString("%1 unused").arg(GetName())); - mDefName->ParseData(aStream); + float r = aStream->ParseSingle(QString("%1 color r").arg(GetName())); + float g = aStream->ParseSingle(QString("%1 color g").arg(GetName())); + float b = aStream->ParseSingle(QString("%1 color b").arg(GetName())); + mColor = QColor::fromRgbF(r, g, b); + + mDir.setX(aStream->ParseSingle(QString("%1 dir x").arg(GetName()))); + mDir.setY(aStream->ParseSingle(QString("%1 dir y").arg(GetName()))); + mDir.setZ(aStream->ParseSingle(QString("%1 dir z").arg(GetName()))); + + mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName()))); + mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName()))); + mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName()))); + + mRadius = aStream->ParseSingle(QString("%1 radius").arg(GetName())); + mCosHalfFovOuter = aStream->ParseSingle(QString("%1 cos half fov outer").arg(GetName())); + mCosHalfFovInner = aStream->ParseSingle(QString("%1 cos half fov inner").arg(GetName())); + mCosHalfFovExpanded = aStream->ParseSingle(QString("%1 cos half fov expanded").arg(GetName())); + mRotationLimit = aStream->ParseSingle(QString("%1 rotation limit").arg(GetName())); + mTranslationLimit = aStream->ParseSingle(QString("%1 translation limit").arg(GetName())); + + mDefName.ParseData(aStream); + } } quint8 XComPrimaryLight::GetType() const @@ -130,11 +143,6 @@ float XComPrimaryLight::GetTranslationLimit() const return mTranslationLimit; } -XString* XComPrimaryLight::GetDefName() const -{ - return mDefName; -} - void XComPrimaryLight::SetType(quint8 aType) { mType = aType; @@ -199,15 +207,3 @@ void XComPrimaryLight::SetTranslationLimit(float aTranslationLimit) { mTranslationLimit = aTranslationLimit; } - -void XComPrimaryLight::SetDefName(XString* aDefName) -{ - mDefName = aDefName; -} - -void XComPrimaryLight::SetDefName(const QString aDefName) -{ - if (mDefName != nullptr) { - mDefName->SetString(aDefName); - } -} diff --git a/libs/xassets/xcomprimarylight.h b/libs/xassets/xcomprimarylight.h index a70bf95..a68ae70 100644 --- a/libs/xassets/xcomprimarylight.h +++ b/libs/xassets/xcomprimarylight.h @@ -29,12 +29,11 @@ public: float GetCosHalfFovExpanded() const; float GetRotationLimit() const; float GetTranslationLimit() const; - XString* GetDefName() const; - static XComPrimaryLightArray* ParseArray(QDataStream *aStream, int aCount); + static XComPrimaryLightArray* ParseArray(XDataStream *aStream, int aCount); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; public slots: void SetType(quint8 aType); @@ -50,8 +49,6 @@ public slots: void SetCosHalfFovExpanded(float aCosHalfFovExpanded); void SetRotationLimit(float aRotationLimit); void SetTranslationLimit(float aTranslationLimit); - void SetDefName(XString* aDefName); - void SetDefName(const QString aDefName); private: quint8 mType; @@ -67,7 +64,7 @@ private: float mCosHalfFovExpanded; float mRotationLimit; float mTranslationLimit; - XString* mDefName; + XString mDefName; }; #endif // XCOMPRIMARYLIGHT_H diff --git a/libs/xassets/xcomworld.cpp b/libs/xassets/xcomworld.cpp index 03f9b3c..6a05fbc 100644 --- a/libs/xassets/xcomworld.cpp +++ b/libs/xassets/xcomworld.cpp @@ -8,7 +8,7 @@ XComWorld::XComWorld() , mPrimaryLights(new XComPrimaryLightArray()) { SetType(ASSET_TYPE_COMWORLD); - SetName("ComWorld"); + SetName("Com World"); } XComWorld::~XComWorld() @@ -27,7 +27,7 @@ void XComWorld::Clear() delete mName; } -void XComWorld::ParseData(QDataStream *aStream) +void XComWorld::ParseData(XDataStream *aStream) { mName->ParsePtr(aStream, false); diff --git a/libs/xassets/xcomworld.h b/libs/xassets/xcomworld.h index 5df8014..2b9283d 100644 --- a/libs/xassets/xcomworld.h +++ b/libs/xassets/xcomworld.h @@ -15,7 +15,7 @@ public: ~XComWorld(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; QString GetName() const; bool IsInUse() const; diff --git a/libs/xassets/xcplane.cpp b/libs/xassets/xcplane.cpp index 12b6cf5..790067e 100644 --- a/libs/xassets/xcplane.cpp +++ b/libs/xassets/xcplane.cpp @@ -8,7 +8,7 @@ XCPlane::XCPlane() , mSignbits(0) , mPad() { - + SetName("C Plane"); } XCPlane::~XCPlane() @@ -16,19 +16,18 @@ XCPlane::~XCPlane() } -void XCPlane::ParseData(QDataStream *aStream) +void XCPlane::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream - >> mNormal[0] - >> mNormal[1] - >> mNormal[2] - >> mDist - >> mType - >> mSignbits - >> mPad[0] - >> mPad[1]; + mNormal.setX(aStream->ParseSingle(QString("%1 normal x").arg(GetName()))); + mNormal.setY(aStream->ParseSingle(QString("%1 normal y").arg(GetName()))); + mNormal.setZ(aStream->ParseSingle(QString("%1 normal z").arg(GetName()))); + mDist = aStream->ParseSingle(QString("%1 dist").arg(GetName())); + mType = aStream->ParseUInt8(QString("%1 type").arg(GetName())); + mSignbits = aStream->ParseUInt8(QString("%1 signbits").arg(GetName())); + mPad[0] = aStream->ParseUInt8(QString("%1 pad 0").arg(GetName())); + mPad[1] = aStream->ParseUInt8(QString("%1 pad 1").arg(GetName())); } } diff --git a/libs/xassets/xcplane.h b/libs/xassets/xcplane.h index e275bb1..4ab3ef8 100644 --- a/libs/xassets/xcplane.h +++ b/libs/xassets/xcplane.h @@ -12,7 +12,7 @@ public: XCPlane(); ~XCPlane(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xcstaticmodel.cpp b/libs/xassets/xcstaticmodel.cpp index 29fb2d1..243e60f 100644 --- a/libs/xassets/xcstaticmodel.cpp +++ b/libs/xassets/xcstaticmodel.cpp @@ -9,6 +9,7 @@ XCStaticModel::XCStaticModel() , mAbsmin() , mAbsmax() { + SetName("C Static Model"); } XCStaticModel::~XCStaticModel() @@ -16,36 +17,40 @@ XCStaticModel::~XCStaticModel() } -void XCStaticModel::ParseData(QDataStream *aStream) { - if (GetPtr() == -1) { - // Parse writable +void XCStaticModel::ParseData(XDataStream *aStream) +{ + if (GetPtr() == -1) + { mWritable.ParseData(aStream); aStream->skipRawData(2); - qint32 xModelPtr; - *aStream - >> xModelPtr - >> mOrigin[0] - >> mOrigin[1] - >> mOrigin[2]; + qint32 xModelPtr = aStream->ParseInt32(QString("%1 model ptr").arg(GetName())); - // Parse invScaledAxis - for (int i = 0; i < 3; ++i) { - *aStream - >> mInvScaledAxis[i][0] - >> mInvScaledAxis[i][1] - >> mInvScaledAxis[i][2]; + mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName()))); + mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName()))); + mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName()))); + + if (xModelPtr) + { + mModel.ParsePtr(aStream, false); + mModel.ParseData(aStream); } - // Parse absmin and absmax - *aStream - >> mAbsmin[0] - >> mAbsmin[1] - >> mAbsmin[2] - >> mAbsmax[0] - >> mAbsmax[1] - >> mAbsmax[2]; + for (int i = 0; i < 3; ++i) + { + mInvScaledAxis[i].setX(aStream->ParseSingle(QString("%1 inv scaled axis[%2] x").arg(GetName()).arg(i))); + mInvScaledAxis[i].setY(aStream->ParseSingle(QString("%1 inv scaled axis[%2] y").arg(GetName()).arg(i))); + mInvScaledAxis[i].setZ(aStream->ParseSingle(QString("%1 inv scaled axis[%2] z").arg(GetName()).arg(i))); + } + + mAbsmin.setX(aStream->ParseSingle(QString("%1 absmin x").arg(GetName()))); + mAbsmin.setY(aStream->ParseSingle(QString("%1 absmin y").arg(GetName()))); + mAbsmin.setZ(aStream->ParseSingle(QString("%1 absmin z").arg(GetName()))); + + mAbsmax.setX(aStream->ParseSingle(QString("%1 absmax x").arg(GetName()))); + mAbsmax.setY(aStream->ParseSingle(QString("%1 absmax y").arg(GetName()))); + mAbsmax.setZ(aStream->ParseSingle(QString("%1 absmax z").arg(GetName()))); } } diff --git a/libs/xassets/xcstaticmodel.h b/libs/xassets/xcstaticmodel.h index 63e2cc7..a83f6ee 100644 --- a/libs/xassets/xcstaticmodel.h +++ b/libs/xassets/xcstaticmodel.h @@ -11,7 +11,7 @@ public: explicit XCStaticModel(); ~XCStaticModel(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xcstaticmodelwritable.cpp b/libs/xassets/xcstaticmodelwritable.cpp index 91944d6..dbaf6b3 100644 --- a/libs/xassets/xcstaticmodelwritable.cpp +++ b/libs/xassets/xcstaticmodelwritable.cpp @@ -4,6 +4,7 @@ XCStaticModelWritable::XCStaticModelWritable() : XAsset() , mNextModelInWorldSector(0) { + SetName("C Static Model Writable"); } XCStaticModelWritable::~XCStaticModelWritable() @@ -11,7 +12,7 @@ XCStaticModelWritable::~XCStaticModelWritable() } -void XCStaticModelWritable::ParseData(QDataStream *aStream) { +void XCStaticModelWritable::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mNextModelInWorldSector; } diff --git a/libs/xassets/xcstaticmodelwritable.h b/libs/xassets/xcstaticmodelwritable.h index 90edbf5..3deb4d2 100644 --- a/libs/xassets/xcstaticmodelwritable.h +++ b/libs/xassets/xcstaticmodelwritable.h @@ -9,7 +9,7 @@ public: explicit XCStaticModelWritable(); ~XCStaticModelWritable(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; quint32 GetNextModelInWorldSector() const; void SetNextModelInWorldSector(quint32 nextModel); diff --git a/libs/xassets/xd3dbasetexture.cpp b/libs/xassets/xd3dbasetexture.cpp index ef838e7..cfa5e95 100644 --- a/libs/xassets/xd3dbasetexture.cpp +++ b/libs/xassets/xd3dbasetexture.cpp @@ -6,17 +6,14 @@ XD3DBaseTexture::XD3DBaseTexture() , mFormat() , mResource() { - + SetName("D3D Base Texture"); } -XD3DBaseTexture::~XD3DBaseTexture() +void XD3DBaseTexture::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); -} - -void XD3DBaseTexture::ParseData(QDataStream *aStream) -{ - + // TODO: Fill in XD3DBaseTexture::ParseData } void XD3DBaseTexture::Clear() diff --git a/libs/xassets/xd3dbasetexture.h b/libs/xassets/xd3dbasetexture.h index 8670b1f..6cd8e50 100644 --- a/libs/xassets/xd3dbasetexture.h +++ b/libs/xassets/xd3dbasetexture.h @@ -9,9 +9,9 @@ class XD3DBaseTexture : public XAsset { public: XD3DBaseTexture(); - ~XD3DBaseTexture(); + ~XD3DBaseTexture() = default; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xd3dcubetexture.cpp b/libs/xassets/xd3dcubetexture.cpp deleted file mode 100644 index a8d01c4..0000000 --- a/libs/xassets/xd3dcubetexture.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "xgfximageloaddef.h" - -#include "xgfxtexture.h" - -XGfxImageLoadDef::XGfxImageLoadDef() - : XAsset() - , mLevelCount(0) - , mFlags(0) - , mDimensions(QVector(3)) - , mFormat(0) - , mTexture(new XGfxTexture()) -{ - -} - -XGfxImageLoadDef::~XGfxImageLoadDef() -{ - delete mTexture; -} - -void XGfxImageLoadDef::ParseData(QDataStream *aStream) -{ - -} - -void XGfxImageLoadDef::Clear() -{ - mLevelCount = 0; - mFlags = 0; - mDimensions = QVector(3); - mFormat = 0; - mTexture->Clear(); -} diff --git a/libs/xassets/xd3dindexbuffer.cpp b/libs/xassets/xd3dindexbuffer.cpp index 939d986..4878284 100644 --- a/libs/xassets/xd3dindexbuffer.cpp +++ b/libs/xassets/xd3dindexbuffer.cpp @@ -5,16 +5,25 @@ XD3DIndexBuffer::XD3DIndexBuffer() , mAddress(0) , mSize(0) { - + SetName("D3D Index Buffer"); } -void XD3DIndexBuffer::ParseData(QDataStream *aStream) +void XD3DIndexBuffer::ParseData(XDataStream *aStream) { XD3DResource::ParseData(aStream); - *aStream - >> mAddress - >> mSize; + *aStream >> mAddress; + if (IsDebug()) + { + qDebug() << QString("[%1] mAddress = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mAddress); + } + + + *aStream >> mSize; + if (IsDebug()) + { + qDebug() << QString("[%1] mSize = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mSize); + } } void XD3DIndexBuffer::Clear() diff --git a/libs/xassets/xd3dindexbuffer.h b/libs/xassets/xd3dindexbuffer.h index d92c92e..d302842 100644 --- a/libs/xassets/xd3dindexbuffer.h +++ b/libs/xassets/xd3dindexbuffer.h @@ -8,7 +8,7 @@ class XD3DIndexBuffer : public XD3DResource public: explicit XD3DIndexBuffer(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xd3dresource.cpp b/libs/xassets/xd3dresource.cpp index 394406b..93c5a2f 100644 --- a/libs/xassets/xd3dresource.cpp +++ b/libs/xassets/xd3dresource.cpp @@ -9,7 +9,7 @@ XD3DResource::XD3DResource() , mIdentifier(0) , mBaseFlush(0) { - + SetName("D3D Resource"); } XD3DResource::~XD3DResource() @@ -17,15 +17,43 @@ XD3DResource::~XD3DResource() } -void XD3DResource::ParseData(QDataStream *aStream) +void XD3DResource::ParseData(XDataStream *aStream) { - *aStream - >> mCommon - >> mReferenceCount - >> mFence - >> mReadFence - >> mIdentifier - >> mBaseFlush; + *aStream >> mCommon; + if (IsDebug()) + { + qDebug() << QString("[%1] mCommon = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mCommon); + } + + *aStream >> mReferenceCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mReferenceCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mReferenceCount); + } + + *aStream >> mFence; + if (IsDebug()) + { + qDebug() << QString("[%1] mFence = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mFence); + } + + *aStream >> mReadFence; + if (IsDebug()) + { + qDebug() << QString("[%1] mReadFence = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mReadFence); + } + + *aStream >> mIdentifier; + if (IsDebug()) + { + qDebug() << QString("[%1] mIdentifier = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mIdentifier); + } + + *aStream >> mBaseFlush; + if (IsDebug()) + { + qDebug() << QString("[%1] mBaseFlush = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mBaseFlush); + } } void XD3DResource::Clear() diff --git a/libs/xassets/xd3dresource.h b/libs/xassets/xd3dresource.h index 30cc5db..b3486e3 100644 --- a/libs/xassets/xd3dresource.h +++ b/libs/xassets/xd3dresource.h @@ -6,10 +6,10 @@ class XD3DResource : public XAsset { public: - XD3DResource(); + explicit XD3DResource(); ~XD3DResource(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xd3dvertexbuffer.cpp b/libs/xassets/xd3dvertexbuffer.cpp index e2563cf..e958f32 100644 --- a/libs/xassets/xd3dvertexbuffer.cpp +++ b/libs/xassets/xd3dvertexbuffer.cpp @@ -4,12 +4,14 @@ XD3DVertexBuffer::XD3DVertexBuffer() : XD3DResource() , mFormat() { - + SetName("D3D Vertex Buffer"); } -void XD3DVertexBuffer::ParseData(QDataStream *aStream) +void XD3DVertexBuffer::ParseData(XDataStream *aStream) { - + XD3DResource::ParseData(aStream); + + mFormat.ParseData(aStream); } void XD3DVertexBuffer::Clear() diff --git a/libs/xassets/xd3dvertexbuffer.h b/libs/xassets/xd3dvertexbuffer.h index 3eada64..82d82a9 100644 --- a/libs/xassets/xd3dvertexbuffer.h +++ b/libs/xassets/xd3dvertexbuffer.h @@ -9,7 +9,7 @@ class XD3DVertexBuffer : XD3DResource public: explicit XD3DVertexBuffer(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xdmaterial.cpp b/libs/xassets/xdmaterial.cpp index 5c653bb..df5c66f 100644 --- a/libs/xassets/xdmaterial.cpp +++ b/libs/xassets/xdmaterial.cpp @@ -2,7 +2,9 @@ #include "xstring.h" XDMaterial::XDMaterial() - : XAsset() { + : XAsset() +{ + SetName("D Material"); } XDMaterial::~XDMaterial() @@ -10,7 +12,7 @@ XDMaterial::~XDMaterial() } -void XDMaterial::ParseData(QDataStream *aStream) { +void XDMaterial::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { mMaterial = XString::ParseCustom(aStream); diff --git a/libs/xassets/xdmaterial.h b/libs/xassets/xdmaterial.h index 6ae905b..f14aae4 100644 --- a/libs/xassets/xdmaterial.h +++ b/libs/xassets/xdmaterial.h @@ -10,7 +10,7 @@ public: explicit XDMaterial(); ~XDMaterial(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; const QString& GetMaterial() const; void SetMaterial(const QString& material); diff --git a/libs/xassets/xdobjanimmat.cpp b/libs/xassets/xdobjanimmat.cpp index 22d6715..3beb3ff 100644 --- a/libs/xassets/xdobjanimmat.cpp +++ b/libs/xassets/xdobjanimmat.cpp @@ -2,11 +2,11 @@ XDObjAnimMat::XDObjAnimMat() : XAsset() - , mQuat() - , mTrans() + , mQuat(4) + , mTrans(3) , mTransWeight(0) { - + SetName("Object Animation Map"); } XDObjAnimMat::~XDObjAnimMat() @@ -14,19 +14,27 @@ XDObjAnimMat::~XDObjAnimMat() } -void XDObjAnimMat::ParseData(QDataStream *aStream) +void XDObjAnimMat::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream - >> mQuat[0] - >> mQuat[1] - >> mQuat[2] - >> mQuat[3] - >> mTrans[0] - >> mTrans[1] - >> mTrans[2] - >> mTransWeight; + for (int i = 0; i < 4; i++) + { + quint32 rawQuat; + *aStream >> rawQuat; + memcpy(&mQuat[i], &rawQuat, sizeof(mQuat[i])); + } + + for (int i = 0; i < 3; i++) + { + quint32 rawTrans; + *aStream >> rawTrans; + memcpy(&mTrans[i], &rawTrans, sizeof(mTrans[i])); + } + + quint32 rawTransWeight; + *aStream >> rawTransWeight; + memcpy(&mTransWeight, &rawTransWeight, sizeof(mTransWeight)); } } diff --git a/libs/xassets/xdobjanimmat.h b/libs/xassets/xdobjanimmat.h index 80bf539..d4f3114 100644 --- a/libs/xassets/xdobjanimmat.h +++ b/libs/xassets/xdobjanimmat.h @@ -11,7 +11,7 @@ public: XDObjAnimMat(); ~XDObjAnimMat(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xdvpsplane.cpp b/libs/xassets/xdvpsplane.cpp index 45ab6e1..9517944 100644 --- a/libs/xassets/xdvpsplane.cpp +++ b/libs/xassets/xdvpsplane.cpp @@ -6,17 +6,14 @@ XDpvsPlane::XDpvsPlane() , mSide() , mPad(0) { - + SetName("DPVS Plane"); } -XDpvsPlane::~XDpvsPlane() +void XDpvsPlane::ParseData(XDataStream *aStream) { - -} + Q_UNUSED(aStream); -void XDpvsPlane::ParseData(QDataStream *aStream) -{ - + // TODO: Fill in XDpvsPlane::ParseData } void XDpvsPlane::Clear() diff --git a/libs/xassets/xdvpsplane.h b/libs/xassets/xdvpsplane.h index 87aa956..1519d72 100644 --- a/libs/xassets/xdvpsplane.h +++ b/libs/xassets/xdvpsplane.h @@ -9,9 +9,9 @@ class XDpvsPlane : public XAsset { public: explicit XDpvsPlane(); - ~XDpvsPlane(); + ~XDpvsPlane() = default; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xdynentityclient.cpp b/libs/xassets/xdynentityclient.cpp index 7ba62b6..fad77ef 100644 --- a/libs/xassets/xdynentityclient.cpp +++ b/libs/xassets/xdynentityclient.cpp @@ -7,7 +7,7 @@ XDynEntityClient::XDynEntityClient() , mLightingHandle(0) , mHealth(0) { - + SetName("Dynamic Entity Client"); } XDynEntityClient::~XDynEntityClient() @@ -15,7 +15,7 @@ XDynEntityClient::~XDynEntityClient() } -void XDynEntityClient::ParseData(QDataStream *aStream) +void XDynEntityClient::ParseData(XDataStream *aStream) { if (GetPtr()) { diff --git a/libs/xassets/xdynentityclient.h b/libs/xassets/xdynentityclient.h index b8124ef..baf54e4 100644 --- a/libs/xassets/xdynentityclient.h +++ b/libs/xassets/xdynentityclient.h @@ -9,7 +9,7 @@ public: explicit XDynEntityClient(); ~XDynEntityClient(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xdynentitycoll.cpp b/libs/xassets/xdynentitycoll.cpp index 83b4596..c50bbcd 100644 --- a/libs/xassets/xdynentitycoll.cpp +++ b/libs/xassets/xdynentitycoll.cpp @@ -7,7 +7,7 @@ XDynEntityColl::XDynEntityColl() , mLinkMins() , mLinkMaxs() { - + SetName("Dynamic Entity Coll"); } XDynEntityColl::~XDynEntityColl() @@ -15,7 +15,7 @@ XDynEntityColl::~XDynEntityColl() } -void XDynEntityColl::ParseData(QDataStream *aStream) +void XDynEntityColl::ParseData(XDataStream *aStream) { if (GetPtr()) diff --git a/libs/xassets/xdynentitycoll.h b/libs/xassets/xdynentitycoll.h index 67b4d94..76ddfd0 100644 --- a/libs/xassets/xdynentitycoll.h +++ b/libs/xassets/xdynentitycoll.h @@ -11,7 +11,7 @@ public: explicit XDynEntityColl(); ~XDynEntityColl(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xdynentitydef.cpp b/libs/xassets/xdynentitydef.cpp index 1c03dca..3431ac4 100644 --- a/libs/xassets/xdynentitydef.cpp +++ b/libs/xassets/xdynentitydef.cpp @@ -14,7 +14,7 @@ XDynEntityDef::XDynEntityDef() , mMass() , mContents(0) { - + SetName("Dynamic Entity Definition"); } XDynEntityDef::~XDynEntityDef() @@ -22,7 +22,7 @@ XDynEntityDef::~XDynEntityDef() } -void XDynEntityDef::ParseData(QDataStream *aStream) +void XDynEntityDef::ParseData(XDataStream *aStream) { if (GetPtr()) { diff --git a/libs/xassets/xdynentitydef.h b/libs/xassets/xdynentitydef.h index 62400e0..bcaf2a2 100644 --- a/libs/xassets/xdynentitydef.h +++ b/libs/xassets/xdynentitydef.h @@ -21,7 +21,7 @@ public: explicit XDynEntityDef(); ~XDynEntityDef(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xdynentitypose.cpp b/libs/xassets/xdynentitypose.cpp index 5d87846..af980cf 100644 --- a/libs/xassets/xdynentitypose.cpp +++ b/libs/xassets/xdynentitypose.cpp @@ -5,7 +5,7 @@ XDynEntityPose::XDynEntityPose() , mPose() , mRadius(0.0f) { - + SetName("Dynamic Entity Pose"); } XDynEntityPose::~XDynEntityPose() @@ -13,7 +13,7 @@ XDynEntityPose::~XDynEntityPose() } -void XDynEntityPose::ParseData(QDataStream *aStream) +void XDynEntityPose::ParseData(XDataStream *aStream) { if (GetPtr()) { diff --git a/libs/xassets/xdynentitypose.h b/libs/xassets/xdynentitypose.h index c7a9bc3..ceee160 100644 --- a/libs/xassets/xdynentitypose.h +++ b/libs/xassets/xdynentitypose.h @@ -10,7 +10,7 @@ public: explicit XDynEntityPose(); ~XDynEntityPose(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xeditfielddefinition.cpp b/libs/xassets/xeditfielddefinition.cpp index 989300e..bb10455 100644 --- a/libs/xassets/xeditfielddefinition.cpp +++ b/libs/xassets/xeditfielddefinition.cpp @@ -10,59 +10,25 @@ XEditFieldDefinition::XEditFieldDefinition() , mMaxCharsGotoNext(0) , mMaxPaintChars(0) , mPaintOffset(0) -{} - -float XEditFieldDefinition::GetMinVal() const { - return mMinVal; + SetName("Edit Field Definition"); } -float XEditFieldDefinition::GetMaxVal() const +XEditFieldDefinition::~XEditFieldDefinition() { - return mMaxVal; + } -float XEditFieldDefinition::GetDefVal() const +void XEditFieldDefinition::ParseData(XDataStream *aStream) { - return mDefVal; -} - -float XEditFieldDefinition::GetRange() const -{ - return mRange; -} - -int XEditFieldDefinition::GetMaxChars() const -{ - return mMaxChars; -} - -int XEditFieldDefinition::GetMaxCharsGotoNext() const -{ - return mMaxCharsGotoNext; -} - -int XEditFieldDefinition::GetMaxPaintChars() const -{ - return mMaxPaintChars; -} - -int XEditFieldDefinition::GetPaintOffset() const -{ - return mPaintOffset; -} - -void XEditFieldDefinition::ParseData(QDataStream *aStream) -{ - *aStream - >> mMinVal - >> mMaxVal - >> mDefVal - >> mRange - >> mMaxChars - >> mMaxCharsGotoNext - >> mMaxPaintChars - >> mPaintOffset; + mMinVal = aStream->ParseSingle(QString("%1 min val").arg(GetName())); + mMaxVal = aStream->ParseSingle(QString("%1 max val").arg(GetName())); + mDefVal = aStream->ParseSingle(QString("%1 def val").arg(GetName())); + mRange = aStream->ParseSingle(QString("%1 range").arg(GetName())); + mMaxChars = aStream->ParseInt32(QString("%1 max chars").arg(GetName())); + mMaxCharsGotoNext = aStream->ParseInt32(QString("%1 max chars goto next").arg(GetName())); + mMaxPaintChars = aStream->ParseInt32(QString("%1 max paint chars").arg(GetName())); + mPaintOffset = aStream->ParseInt32(QString("%1 paint offset").arg(GetName())); } void XEditFieldDefinition::Clear() @@ -76,43 +42,3 @@ void XEditFieldDefinition::Clear() mMaxPaintChars = 0; mPaintOffset = 0; } - -void XEditFieldDefinition::SetMinVal(float aMinVal) -{ - mMinVal = aMinVal; -} - -void XEditFieldDefinition::SetMaxVal(float aMaxVal) -{ - mMaxVal = aMaxVal; -} - -void XEditFieldDefinition::SetDefVal(float aDefVal) -{ - mDefVal = aDefVal; -} - -void XEditFieldDefinition::SetRange(float aRange) -{ - mRange = aRange; -} - -void XEditFieldDefinition::SetMaxChars(int aMaxChars) -{ - mMaxChars = aMaxChars; -} - -void XEditFieldDefinition::SetMaxCharsGotoNext(int aMaxCharsGotoNext) -{ - mMaxCharsGotoNext = aMaxCharsGotoNext; -} - -void XEditFieldDefinition::SetMaxPaintChars(int aMaxPaintChars) -{ - mMaxPaintChars = aMaxPaintChars; -} - -void XEditFieldDefinition::SetPaintOffset(int aPaintOffset) -{ - mPaintOffset = aPaintOffset; -} diff --git a/libs/xassets/xeditfielddefinition.h b/libs/xassets/xeditfielddefinition.h index 0cc6029..4463900 100644 --- a/libs/xassets/xeditfielddefinition.h +++ b/libs/xassets/xeditfielddefinition.h @@ -6,34 +6,11 @@ class XEditFieldDefinition : public XAsset { public: - XEditFieldDefinition(); + explicit XEditFieldDefinition(); + ~XEditFieldDefinition(); - float GetMinVal() const; - void SetMinVal(float aMinVal); - - float GetMaxVal() const; - void SetMaxVal(float aMaxVal); - - float GetDefVal() const; - void SetDefVal(float aDefVal); - - float GetRange() const; - void SetRange(float aRange); - - int GetMaxChars() const; - void SetMaxChars(int aMaxChars); - - int GetMaxCharsGotoNext() const; - void SetMaxCharsGotoNext(int aMaxCharsGotoNext); - - int GetMaxPaintChars() const; - void SetMaxPaintChars(int aMaxPaintChars); - - int GetPaintOffset() const; - void SetPaintOffset(int aPaintOffset); - - virtual void ParseData(QDataStream* aStream); - virtual void Clear(); + void ParseData(XDataStream* aStream) override; + void Clear() override; private: float mMinVal; diff --git a/libs/xassets/xeffectdef.cpp b/libs/xassets/xeffectdef.cpp index d2bed3c..5069eda 100644 --- a/libs/xassets/xeffectdef.cpp +++ b/libs/xassets/xeffectdef.cpp @@ -11,7 +11,7 @@ XEffectDef::XEffectDef() , mElemDefCountEmission(0) , mElemDefs() { - + SetName("Effect Definition"); } XEffectDef::~XEffectDef() @@ -31,7 +31,9 @@ void XEffectDef::Clear() mElemDefs.clear(); } -void XEffectDef::ParseData(QDataStream *aStream) +void XEffectDef::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XEffectDef::ParseData } diff --git a/libs/xassets/xeffectdef.h b/libs/xassets/xeffectdef.h index 56fa283..ef2b5fa 100644 --- a/libs/xassets/xeffectdef.h +++ b/libs/xassets/xeffectdef.h @@ -13,7 +13,7 @@ public: ~XEffectDef(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: QString mName; diff --git a/libs/xassets/xeffectdefref.cpp b/libs/xassets/xeffectdefref.cpp index f719f94..b69ba58 100644 --- a/libs/xassets/xeffectdefref.cpp +++ b/libs/xassets/xeffectdefref.cpp @@ -3,29 +3,27 @@ XEffectDefRef::XEffectDefRef() : XAsset() - , mHandlePtr(0) , mHandle(new XEffectDef()) - , mNamePtr(0) - , mName("") + , mName() { - + SetName("Effect Definition Reference"); } XEffectDefRef::~XEffectDefRef() { - + delete mHandle; +} + +void XEffectDefRef::ParseData(XDataStream *aStream) +{ + Q_UNUSED(aStream); + + // TODO: Fill in XEffectDefRef::ParseData } void XEffectDefRef::Clear() { - mHandlePtr = 0; + delete mHandle; mHandle = new XEffectDef(); - - mNamePtr = 0; - mName = ""; -} - -void XEffectDefRef::ParseData(QDataStream *aStream) -{ - + mName.Clear(); } diff --git a/libs/xassets/xeffectdefref.h b/libs/xassets/xeffectdefref.h index 9ecc2f3..6e9ce48 100644 --- a/libs/xassets/xeffectdefref.h +++ b/libs/xassets/xeffectdefref.h @@ -2,6 +2,7 @@ #define XEFFECTDEFREF_H #include "xasset.h" +#include "xstring.h" #include @@ -11,17 +12,14 @@ class XEffectDefRef : public XAsset { public: explicit XEffectDefRef(); - ~XEffectDefRef(); + ~XEffectDefRef() override; void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: - qint32 mHandlePtr; - const XEffectDef *mHandle; - - qint32 mNamePtr; - QString mName; + XEffectDef* mHandle; + XString mName; }; #endif // XEFFECTDEFREF_H diff --git a/libs/xassets/xeffecttable.cpp b/libs/xassets/xeffecttable.cpp deleted file mode 100644 index 98f8572..0000000 --- a/libs/xassets/xeffecttable.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "xeffecttable.h" - -XImpactTable::XImpactTable() - : XAsset() - , mNamePtr(0) - , mName("") - , mTablePtr(0) - , mTable() -{ - -} - -XImpactTable::~XImpactTable() -{ - -} - -void XImpactTable::Clear() -{ - mNamePtr = 0; - mName = ""; - mTablePtr = 0; - mTable = QVector(); -} - -void XImpactTable::ParseData(QDataStream *aStream) -{ - -} diff --git a/libs/xassets/xeffecttable.h b/libs/xassets/xeffecttable.h deleted file mode 100644 index 86e7014..0000000 --- a/libs/xassets/xeffecttable.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef EFFECTTABLE_H -#define EFFECTTABLE_H - -#include "xasset.h" -#include "xfximpactentry.h" - -class XImpactTable : public XAsset -{ -public: - explicit XImpactTable(); - ~XImpactTable(); - - void Clear() override; - void ParseData(QDataStream *aStream) override; - -private: - qint32 mNamePtr; - QString mName; - - qint32 mTablePtr; - QVector mTable; -}; - -#endif // EFFECTTABLE_H diff --git a/libs/xassets/xentryinternaldata.cpp b/libs/xassets/xentryinternaldata.cpp index dea520f..4e07974 100644 --- a/libs/xassets/xentryinternaldata.cpp +++ b/libs/xassets/xentryinternaldata.cpp @@ -5,17 +5,14 @@ XEntryInternalData::XEntryInternalData() , mOp() , mOperand() { - + SetName("Entry Internal Data"); } -XEntryInternalData::~XEntryInternalData() +void XEntryInternalData::ParseData(XDataStream *aStream) { - -} + Q_UNUSED(aStream); -void XEntryInternalData::ParseData(QDataStream *aStream) -{ - + // TODO: Fill in XEntryInternalData::ParseData } void XEntryInternalData::Clear() diff --git a/libs/xassets/xentryinternaldata.h b/libs/xassets/xentryinternaldata.h index fcf3e42..8e54868 100644 --- a/libs/xassets/xentryinternaldata.h +++ b/libs/xassets/xentryinternaldata.h @@ -9,9 +9,9 @@ class XEntryInternalData : public XAsset { public: explicit XEntryInternalData(); - ~XEntryInternalData(); + ~XEntryInternalData() = default; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xexpressionentry.cpp b/libs/xassets/xexpressionentry.cpp index d8c9af6..901f9e0 100644 --- a/libs/xassets/xexpressionentry.cpp +++ b/libs/xassets/xexpressionentry.cpp @@ -5,17 +5,14 @@ XExpressionEntry::XExpressionEntry() , mType(0) , mData() { - + SetName("Expression Entry"); } -XExpressionEntry::~XExpressionEntry() +void XExpressionEntry::ParseData(XDataStream *aStream) { - -} + Q_UNUSED(aStream); -void XExpressionEntry::ParseData(QDataStream *aStream) -{ - + // TODO: Fill in XExpressionEntry::ParseData } void XExpressionEntry::Clear() diff --git a/libs/xassets/xexpressionentry.h b/libs/xassets/xexpressionentry.h index 4e1e9b5..14a2ad2 100644 --- a/libs/xassets/xexpressionentry.h +++ b/libs/xassets/xexpressionentry.h @@ -8,9 +8,9 @@ class XExpressionEntry : public XAsset { public: explicit XExpressionEntry(); - ~XExpressionEntry(); + ~XExpressionEntry() = default; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xfile.cpp b/libs/xassets/xfile.cpp index 64435e0..7fe6437 100644 --- a/libs/xassets/xfile.cpp +++ b/libs/xassets/xfile.cpp @@ -5,10 +5,10 @@ XFile::XFile() : XAsset() { - + SetName("File"); } -void XFile::ParseData(QDataStream *aStream) +void XFile::ParseData(XDataStream *aStream) { quint32 contentLength; *aStream diff --git a/libs/xassets/xfile.h b/libs/xassets/xfile.h index df3b9ec..54edc0d 100644 --- a/libs/xassets/xfile.h +++ b/libs/xassets/xfile.h @@ -8,7 +8,7 @@ class XFile : public XAsset public: explicit XFile(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xfont.cpp b/libs/xassets/xfont.cpp index e506733..c166027 100644 --- a/libs/xassets/xfont.cpp +++ b/libs/xassets/xfont.cpp @@ -28,7 +28,7 @@ void XFont::Clear() mGlyphs.clear(); } -void XFont::ParseData(QDataStream *aStream) +void XFont::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xfont.h b/libs/xassets/xfont.h index e4ed61b..21b37c7 100644 --- a/libs/xassets/xfont.h +++ b/libs/xassets/xfont.h @@ -12,7 +12,7 @@ public: ~XFont(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XString mFontName; diff --git a/libs/xassets/xfxeffectdef.cpp b/libs/xassets/xfxeffectdef.cpp index 1759414..d62ba8d 100644 --- a/libs/xassets/xfxeffectdef.cpp +++ b/libs/xassets/xfxeffectdef.cpp @@ -12,7 +12,7 @@ XFxEffectDef::XFxEffectDef() , mElemDefs() { SetType(ASSET_TYPE_FX); - SetName("Effect Def"); + SetName("Effect Definition"); } XFxEffectDef::~XFxEffectDef() @@ -25,19 +25,18 @@ void XFxEffectDef::Clear() } -void XFxEffectDef::ParseData(QDataStream *aStream) +void XFxEffectDef::ParseData(XDataStream *aStream) { mName.ParsePtr(aStream, false); qint32 elemDefsPtr; - *aStream - >> mFlags - >> mTotalSize - >> mMsecLoopingLife - >> mElemDefCountLooping - >> mElemDefCountOneShot - >> mElemDefCountEmission - >> elemDefsPtr; + mFlags = aStream->ParseInt32(QString("%1 flags").arg(GetName())); + mTotalSize = aStream->ParseInt32(QString("%1 total size").arg(GetName())); + mMsecLoopingLife = aStream->ParseInt32(QString("%1 msec looping life").arg(GetName())); + mElemDefCountLooping = aStream->ParseInt32(QString("%1 elem def count looping").arg(GetName())); + mElemDefCountOneShot = aStream->ParseInt32(QString("%1 elem def count one shot").arg(GetName())); + mElemDefCountEmission = aStream->ParseInt32(QString("%1 elem def count emission").arg(GetName())); + elemDefsPtr = aStream->ParseInt32(QString("%1 elem defs ptr").arg(GetName())); mName.ParseData(aStream); @@ -51,3 +50,5 @@ void XFxEffectDef::ParseData(QDataStream *aStream) } } } + + diff --git a/libs/xassets/xfxeffectdef.h b/libs/xassets/xfxeffectdef.h index 346d3bb..16b0a61 100644 --- a/libs/xassets/xfxeffectdef.h +++ b/libs/xassets/xfxeffectdef.h @@ -11,7 +11,7 @@ public: ~XFxEffectDef(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XString mName; diff --git a/libs/xassets/xfxelematlas.cpp b/libs/xassets/xfxelematlas.cpp index 838ddb7..759d1d2 100644 --- a/libs/xassets/xfxelematlas.cpp +++ b/libs/xassets/xfxelematlas.cpp @@ -10,12 +10,7 @@ XFxElemAtlas::XFxElemAtlas() , mRowIndexBits(0) , mEntryCount(0) { - -} - -XFxElemAtlas::~XFxElemAtlas() -{ - + SetName("Element Atlas"); } void XFxElemAtlas::Clear() @@ -29,7 +24,9 @@ void XFxElemAtlas::Clear() mEntryCount = 0; } -void XFxElemAtlas::ParseData(QDataStream *aStream) +void XFxElemAtlas::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxElemAtlas::ParseData } diff --git a/libs/xassets/xfxelematlas.h b/libs/xassets/xfxelematlas.h index b6fe7fa..a8573ae 100644 --- a/libs/xassets/xfxelematlas.h +++ b/libs/xassets/xfxelematlas.h @@ -7,10 +7,10 @@ class XFxElemAtlas : public XAsset { public: explicit XFxElemAtlas(); - ~XFxElemAtlas(); + ~XFxElemAtlas() = default; void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: quint8 mBehavior; diff --git a/libs/xassets/xfxelemdef.cpp b/libs/xassets/xfxelemdef.cpp index f58cdc6..0cef2bb 100644 --- a/libs/xassets/xfxelemdef.cpp +++ b/libs/xassets/xfxelemdef.cpp @@ -40,7 +40,7 @@ XFxElemDef::XFxElemDef() , mLightingFrac(0) , mUseItemClip(0) { - + SetName("Element Definition"); } XFxElemDef::~XFxElemDef() @@ -89,70 +89,65 @@ void XFxElemDef::Clear() mUseItemClip = 0; } -void XFxElemDef::ParseData(QDataStream *aStream) +void XFxElemDef::ParseData(XDataStream *aStream) { - *aStream >> mFlags; + mFlags = aStream->ParseInt32(QString("%1 flags").arg(GetName())); mSpawn.ParseData(aStream); mSpawnRange.ParseData(aStream); mFadeInRange.ParseData(aStream); mFadeOutRange.ParseData(aStream); - *aStream >> mSpawnFrustumCullRadius; + mSpawnFrustumCullRadius = aStream->ParseSingle(QString("%1 spawn frustum cull radius").arg(GetName())); mSpawnDelayMsec.ParseData(aStream); mLifeSpanMsec.ParseData(aStream); + for (int i = 0; i < 3; i++) - { mSpawnOrigin[i].ParseData(aStream); - } + mSpawnOffsetRadius.ParseData(aStream); mSpawnOffsetHeight.ParseData(aStream); + for (int i = 0; i < 3; i++) - { mSpawnAngles[i].ParseData(aStream); - } + for (int i = 0; i < 3; i++) - { mAngularVelocity[i].ParseData(aStream); - } + mInitialRotation.ParseData(aStream); mGravity.ParseData(aStream); mReflectionFactor.ParseData(aStream); mAtlas.ParseData(aStream); qint32 velSamplesPtr, visSamplesPtr; - *aStream - >> mElemType - >> mVisualCount - >> mVelIntervalCount - >> mVisStateIntervalCount - >> velSamplesPtr - >> visSamplesPtr; + mElemType = aStream->ParseUInt8(QString("%1 elem type").arg(GetName())); + mVisualCount = aStream->ParseUInt8(QString("%1 visual count").arg(GetName())); + mVelIntervalCount = aStream->ParseUInt8(QString("%1 vel interval count").arg(GetName())); + mVisStateIntervalCount = aStream->ParseUInt8(QString("%1 vis state interval count").arg(GetName())); + velSamplesPtr = aStream->ParseInt32(QString("%1 vel samples ptr").arg(GetName())); + visSamplesPtr = aStream->ParseInt32(QString("%1 vis samples ptr").arg(GetName())); mVisuals.ParseData(aStream); - *aStream - >> mCollMins[0] - >> mCollMins[1] - >> mCollMins[2] - >> mCollMaxs[0] - >> mCollMaxs[1] - >> mCollMaxs[2]; + mCollMins.setX(aStream->ParseSingle(QString("%1 coll mins x").arg(GetName()))); + mCollMins.setY(aStream->ParseSingle(QString("%1 coll mins y").arg(GetName()))); + mCollMins.setZ(aStream->ParseSingle(QString("%1 coll mins z").arg(GetName()))); + mCollMaxs.setX(aStream->ParseSingle(QString("%1 coll maxs x").arg(GetName()))); + mCollMaxs.setY(aStream->ParseSingle(QString("%1 coll maxs y").arg(GetName()))); + mCollMaxs.setZ(aStream->ParseSingle(QString("%1 coll maxs z").arg(GetName()))); mEffectOnImpact.ParseData(aStream); mEffectOnDeath.ParseData(aStream); mEffectEmitted.ParseData(aStream); mEmitDist.ParseData(aStream); mEmitDistVariance.ParseData(aStream); - mEffectOnImpact.ParseData(aStream); qint32 trailDefPtr; - *aStream - >> trailDefPtr - >> mSortOrder - >> mLightingFrac - >> mUseItemClip; + trailDefPtr = aStream->ParseInt32(QString("%1 trail def ptr").arg(GetName())); + mSortOrder = aStream->ParseUInt8(QString("%1 sort order").arg(GetName())); + mLightingFrac = aStream->ParseUInt8(QString("%1 lighting frac").arg(GetName())); + mUseItemClip = aStream->ParseUInt8(QString("%1 use item clip").arg(GetName())); aStream->skipRawData(1); diff --git a/libs/xassets/xfxelemdef.h b/libs/xassets/xfxelemdef.h index 0c6db1e..362f914 100644 --- a/libs/xassets/xfxelemdef.h +++ b/libs/xassets/xfxelemdef.h @@ -19,7 +19,7 @@ public: ~XFxElemDef(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: int mFlags; diff --git a/libs/xassets/xfxelemdefvisuals.cpp b/libs/xassets/xfxelemdefvisuals.cpp index a33b6b2..2c5ade1 100644 --- a/libs/xassets/xfxelemdefvisuals.cpp +++ b/libs/xassets/xfxelemdefvisuals.cpp @@ -2,30 +2,23 @@ XFxElemDefVisuals::XFxElemDefVisuals() : XAsset() - , mMarkArrayPtr(0) , mMarkArray() - , mArrayPtr(0) , mArray() , mInstance() { - -} - -XFxElemDefVisuals::~XFxElemDefVisuals() -{ - + SetName("Element Definition Visuals"); } void XFxElemDefVisuals::Clear() { - mMarkArrayPtr = 0; mMarkArray.clear(); - mArrayPtr = 0; mArray.clear(); - mInstance = XFxElemVisuals(); + mInstance.Clear(); } -void XFxElemDefVisuals::ParseData(QDataStream *aStream) +void XFxElemDefVisuals::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxElemDefVisuals::ParseData } diff --git a/libs/xassets/xfxelemdefvisuals.h b/libs/xassets/xfxelemdefvisuals.h index 9a46b29..a88b1c3 100644 --- a/libs/xassets/xfxelemdefvisuals.h +++ b/libs/xassets/xfxelemdefvisuals.h @@ -9,18 +9,14 @@ class XFxElemDefVisuals : public XAsset { public: explicit XFxElemDefVisuals(); - ~XFxElemDefVisuals(); + ~XFxElemDefVisuals() = default; void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: - qint32 mMarkArrayPtr; QVector mMarkArray; - - qint32 mArrayPtr; QVector mArray; - XFxElemVisuals mInstance; }; diff --git a/libs/xassets/xfxelemmarkvisuals.cpp b/libs/xassets/xfxelemmarkvisuals.cpp index e14123d..554d2a5 100644 --- a/libs/xassets/xfxelemmarkvisuals.cpp +++ b/libs/xassets/xfxelemmarkvisuals.cpp @@ -5,12 +5,7 @@ XFxElemMarkVisuals::XFxElemMarkVisuals() , mMaterialPtrs() , mMaterials() { - -} - -XFxElemMarkVisuals::~XFxElemMarkVisuals() -{ - + SetName("Element Mark Visuals"); } void XFxElemMarkVisuals::Clear() @@ -19,7 +14,9 @@ void XFxElemMarkVisuals::Clear() mMaterials.clear(); } -void XFxElemMarkVisuals::ParseData(QDataStream *aStream) +void XFxElemMarkVisuals::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XFxElemMarkVisuals::ParseData } diff --git a/libs/xassets/xfxelemmarkvisuals.h b/libs/xassets/xfxelemmarkvisuals.h index 353a09b..2bd3814 100644 --- a/libs/xassets/xfxelemmarkvisuals.h +++ b/libs/xassets/xfxelemmarkvisuals.h @@ -13,7 +13,7 @@ public: ~XFxElemMarkVisuals(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: QVector mMaterialPtrs; diff --git a/libs/xassets/xfxelemvec3range.cpp b/libs/xassets/xfxelemvec3range.cpp index 2ea643b..f2cba42 100644 --- a/libs/xassets/xfxelemvec3range.cpp +++ b/libs/xassets/xfxelemvec3range.cpp @@ -5,7 +5,7 @@ XFxElemVec3Range::XFxElemVec3Range() , mBase() , mAmplitude() { - + SetName("Element Vec3 Range"); } XFxElemVec3Range::~XFxElemVec3Range() @@ -19,7 +19,7 @@ void XFxElemVec3Range::Clear() mAmplitude = QVector3D(); } -void XFxElemVec3Range::ParseData(QDataStream *aStream) +void XFxElemVec3Range::ParseData(XDataStream *aStream) { *aStream >> mBase[0] diff --git a/libs/xassets/xfxelemvec3range.h b/libs/xassets/xfxelemvec3range.h index 258a57a..ac59eaa 100644 --- a/libs/xassets/xfxelemvec3range.h +++ b/libs/xassets/xfxelemvec3range.h @@ -12,7 +12,7 @@ public: ~XFxElemVec3Range(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: QVector3D mBase; diff --git a/libs/xassets/xfxelemvelstateinframe.cpp b/libs/xassets/xfxelemvelstateinframe.cpp index 4ad92d2..1f22637 100644 --- a/libs/xassets/xfxelemvelstateinframe.cpp +++ b/libs/xassets/xfxelemvelstateinframe.cpp @@ -5,7 +5,7 @@ XFxElemVelStateInFrame::XFxElemVelStateInFrame() , mVelocity() , mTotalDelta() { - + SetName("Element Vel State in Frame"); } XFxElemVelStateInFrame::~XFxElemVelStateInFrame() @@ -19,7 +19,7 @@ void XFxElemVelStateInFrame::Clear() mTotalDelta.Clear(); } -void XFxElemVelStateInFrame::ParseData(QDataStream *aStream) +void XFxElemVelStateInFrame::ParseData(XDataStream *aStream) { mVelocity.ParseData(aStream); mTotalDelta.ParseData(aStream); diff --git a/libs/xassets/xfxelemvelstateinframe.h b/libs/xassets/xfxelemvelstateinframe.h index 663f919..cbc9a65 100644 --- a/libs/xassets/xfxelemvelstateinframe.h +++ b/libs/xassets/xfxelemvelstateinframe.h @@ -11,7 +11,7 @@ public: ~XFxElemVelStateInFrame(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XFxElemVec3Range mVelocity; diff --git a/libs/xassets/xfxelemvelstatesample.cpp b/libs/xassets/xfxelemvelstatesample.cpp index 6debc88..2b1b1e5 100644 --- a/libs/xassets/xfxelemvelstatesample.cpp +++ b/libs/xassets/xfxelemvelstatesample.cpp @@ -5,7 +5,7 @@ XFxElemVelStateSample::XFxElemVelStateSample() , mLocal() , mWorld() { - + SetName("Element Vel State Sample"); } XFxElemVelStateSample::~XFxElemVelStateSample() @@ -19,7 +19,7 @@ void XFxElemVelStateSample::Clear() mWorld.Clear(); } -void XFxElemVelStateSample::ParseData(QDataStream *aStream) +void XFxElemVelStateSample::ParseData(XDataStream *aStream) { mLocal.ParseData(aStream); mWorld.ParseData(aStream); diff --git a/libs/xassets/xfxelemvelstatesample.h b/libs/xassets/xfxelemvelstatesample.h index 3d12142..c6cdbd7 100644 --- a/libs/xassets/xfxelemvelstatesample.h +++ b/libs/xassets/xfxelemvelstatesample.h @@ -11,7 +11,7 @@ public: ~XFxElemVelStateSample(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XFxElemVelStateInFrame mLocal; diff --git a/libs/xassets/xfxelemvisstatesample.cpp b/libs/xassets/xfxelemvisstatesample.cpp index 18c4d7b..472d8b4 100644 --- a/libs/xassets/xfxelemvisstatesample.cpp +++ b/libs/xassets/xfxelemvisstatesample.cpp @@ -5,7 +5,7 @@ XFxElemVisStateSample::XFxElemVisStateSample() , mBase() , mAmplitude() { - + SetName("Element Vis State Sample"); } XFxElemVisStateSample::~XFxElemVisStateSample() @@ -19,7 +19,7 @@ void XFxElemVisStateSample::Clear() mAmplitude.Clear(); } -void XFxElemVisStateSample::ParseData(QDataStream *aStream) +void XFxElemVisStateSample::ParseData(XDataStream *aStream) { mBase.ParseData(aStream); mAmplitude.ParseData(aStream); diff --git a/libs/xassets/xfxelemvisstatesample.h b/libs/xassets/xfxelemvisstatesample.h index bd3bcfe..1bbe51d 100644 --- a/libs/xassets/xfxelemvisstatesample.h +++ b/libs/xassets/xfxelemvisstatesample.h @@ -11,7 +11,7 @@ public: ~XFxElemVisStateSample(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XFxElemVisualState mBase; diff --git a/libs/xassets/xfxelemvisuals.cpp b/libs/xassets/xfxelemvisuals.cpp index 9fa428b..c42b9a1 100644 --- a/libs/xassets/xfxelemvisuals.cpp +++ b/libs/xassets/xfxelemvisuals.cpp @@ -12,7 +12,7 @@ XFxElemVisuals::XFxElemVisuals() , mSoundNamePtr(0) , mSoundName("") { - + SetName("Element Visuals"); } XFxElemVisuals::~XFxElemVisuals() @@ -37,7 +37,9 @@ void XFxElemVisuals::Clear() mSoundName = ""; } -void XFxElemVisuals::ParseData(QDataStream *aStream) +void XFxElemVisuals::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxElemVisuals::ParseData } diff --git a/libs/xassets/xfxelemvisuals.h b/libs/xassets/xfxelemvisuals.h index 8de7ac8..d1bc10d 100644 --- a/libs/xassets/xfxelemvisuals.h +++ b/libs/xassets/xfxelemvisuals.h @@ -15,7 +15,7 @@ public: ~XFxElemVisuals(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: qint32 mAnonymousPtr; diff --git a/libs/xassets/xfxelemvisualstate.cpp b/libs/xassets/xfxelemvisualstate.cpp index a66c03a..f1c93cb 100644 --- a/libs/xassets/xfxelemvisualstate.cpp +++ b/libs/xassets/xfxelemvisualstate.cpp @@ -8,7 +8,7 @@ XFxElemVisualState::XFxElemVisualState() , mSize(0, 0) , mScale(0) { - + SetName("Element Visual State"); } XFxElemVisualState::~XFxElemVisualState() @@ -25,7 +25,7 @@ void XFxElemVisualState::Clear() mScale = 0; } -void XFxElemVisualState::ParseData(QDataStream *aStream) +void XFxElemVisualState::ParseData(XDataStream *aStream) { quint8 r, g, b, a; *aStream diff --git a/libs/xassets/xfxelemvisualstate.h b/libs/xassets/xfxelemvisualstate.h index 9e54ad6..2bf75da 100644 --- a/libs/xassets/xfxelemvisualstate.h +++ b/libs/xassets/xfxelemvisualstate.h @@ -13,7 +13,7 @@ public: ~XFxElemVisualState(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: QColor mColor; diff --git a/libs/xassets/xfxfloatrange.cpp b/libs/xassets/xfxfloatrange.cpp index e3eb256..17055be 100644 --- a/libs/xassets/xfxfloatrange.cpp +++ b/libs/xassets/xfxfloatrange.cpp @@ -5,7 +5,7 @@ XFxFloatRange::XFxFloatRange() , mBase(0) , mAmplitude(0) { - + SetName("Float Range"); } XFxFloatRange::~XFxFloatRange() @@ -19,7 +19,9 @@ void XFxFloatRange::Clear() mAmplitude = 0; } -void XFxFloatRange::ParseData(QDataStream *aStream) +void XFxFloatRange::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxFloatRange::ParseData } diff --git a/libs/xassets/xfxfloatrange.h b/libs/xassets/xfxfloatrange.h index 0ccc2ad..34c36f5 100644 --- a/libs/xassets/xfxfloatrange.h +++ b/libs/xassets/xfxfloatrange.h @@ -10,7 +10,7 @@ public: ~XFxFloatRange(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: float mBase; diff --git a/libs/xassets/xfximpactentry.cpp b/libs/xassets/xfximpactentry.cpp index 610aa28..5e116ed 100644 --- a/libs/xassets/xfximpactentry.cpp +++ b/libs/xassets/xfximpactentry.cpp @@ -7,7 +7,7 @@ XFxImpactEntry::XFxImpactEntry() , mFleshPtrs() , mFlesh() { - + SetName("Impact Entry"); } XFxImpactEntry::~XFxImpactEntry() @@ -23,7 +23,9 @@ void XFxImpactEntry::Clear() mFlesh.clear(); } -void XFxImpactEntry::ParseData(QDataStream *aStream) +void XFxImpactEntry::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxImpactEntry::ParseData } diff --git a/libs/xassets/xfximpactentry.h b/libs/xassets/xfximpactentry.h index 600f72a..7cb2138 100644 --- a/libs/xassets/xfximpactentry.h +++ b/libs/xassets/xfximpactentry.h @@ -11,7 +11,7 @@ public: ~XFxImpactEntry(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: QVector mNonFleshPtrs; diff --git a/libs/xassets/xfximpacttable.cpp b/libs/xassets/xfximpacttable.cpp index 3727638..ec53b5b 100644 --- a/libs/xassets/xfximpacttable.cpp +++ b/libs/xassets/xfximpacttable.cpp @@ -24,7 +24,9 @@ void XFxImpactTable::Clear() mTable = QVector(); } -void XFxImpactTable::ParseData(QDataStream *aStream) +void XFxImpactTable::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxImpactTable::ParseData } diff --git a/libs/xassets/xfximpacttable.h b/libs/xassets/xfximpacttable.h index 723e5b7..12f1a05 100644 --- a/libs/xassets/xfximpacttable.h +++ b/libs/xassets/xfximpacttable.h @@ -11,7 +11,7 @@ public: ~XFxImpactTable(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: qint32 mNamePtr; diff --git a/libs/xassets/xfxintrange.cpp b/libs/xassets/xfxintrange.cpp index 8ba1e47..919ca44 100644 --- a/libs/xassets/xfxintrange.cpp +++ b/libs/xassets/xfxintrange.cpp @@ -5,7 +5,7 @@ XFxIntRange::XFxIntRange() , mBase(0) , mAmplitude(0) { - + SetName("Int Range"); } XFxIntRange::~XFxIntRange() @@ -19,7 +19,9 @@ void XFxIntRange::Clear() mAmplitude = 0; } -void XFxIntRange::ParseData(QDataStream *aStream) +void XFxIntRange::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxIntRange::ParseData } diff --git a/libs/xassets/xfxintrange.h b/libs/xassets/xfxintrange.h index 5773809..db3329f 100644 --- a/libs/xassets/xfxintrange.h +++ b/libs/xassets/xfxintrange.h @@ -10,7 +10,7 @@ public: ~XFxIntRange(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: int mBase; diff --git a/libs/xassets/xfxspawndef.cpp b/libs/xassets/xfxspawndef.cpp index d3ba77f..c8b0123 100644 --- a/libs/xassets/xfxspawndef.cpp +++ b/libs/xassets/xfxspawndef.cpp @@ -5,7 +5,7 @@ XFxSpawnDef::XFxSpawnDef() , mLooping() , mOneShot() { - + SetName("Spawn Definition"); } XFxSpawnDef::~XFxSpawnDef() @@ -19,7 +19,9 @@ void XFxSpawnDef::Clear() mOneShot.Clear(); } -void XFxSpawnDef::ParseData(QDataStream *aStream) +void XFxSpawnDef::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxSpawnDef::ParseData } diff --git a/libs/xassets/xfxspawndef.h b/libs/xassets/xfxspawndef.h index 771e7d1..d706ed7 100644 --- a/libs/xassets/xfxspawndef.h +++ b/libs/xassets/xfxspawndef.h @@ -12,7 +12,7 @@ public: ~XFxSpawnDef(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XFxSpawnDefLooping mLooping; diff --git a/libs/xassets/xfxspawndeflooping.cpp b/libs/xassets/xfxspawndeflooping.cpp index 3804aaf..4696f09 100644 --- a/libs/xassets/xfxspawndeflooping.cpp +++ b/libs/xassets/xfxspawndeflooping.cpp @@ -5,7 +5,7 @@ XFxSpawnDefLooping::XFxSpawnDefLooping() , mIntervalMsec(0) , mCount(0) { - + SetName("Spawn Definition Looping"); } XFxSpawnDefLooping::~XFxSpawnDefLooping() @@ -19,7 +19,9 @@ void XFxSpawnDefLooping::Clear() mCount = 0; } -void XFxSpawnDefLooping::ParseData(QDataStream *aStream) +void XFxSpawnDefLooping::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxSpawnDefLooping::ParseData } diff --git a/libs/xassets/xfxspawndeflooping.h b/libs/xassets/xfxspawndeflooping.h index d9626cd..629baef 100644 --- a/libs/xassets/xfxspawndeflooping.h +++ b/libs/xassets/xfxspawndeflooping.h @@ -12,7 +12,7 @@ public: ~XFxSpawnDefLooping(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: int mIntervalMsec; diff --git a/libs/xassets/xfxspawndefoneshot.cpp b/libs/xassets/xfxspawndefoneshot.cpp index 76a93d9..4fc4efa 100644 --- a/libs/xassets/xfxspawndefoneshot.cpp +++ b/libs/xassets/xfxspawndefoneshot.cpp @@ -4,7 +4,7 @@ XFxSpawnDefOneShot::XFxSpawnDefOneShot() : XAsset() , mCount() { - + SetName("Spawn Definition Oneshot"); } XFxSpawnDefOneShot::~XFxSpawnDefOneShot() @@ -17,7 +17,9 @@ void XFxSpawnDefOneShot::Clear() mCount.Clear(); } -void XFxSpawnDefOneShot::ParseData(QDataStream *aStream) +void XFxSpawnDefOneShot::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxSpawnDefOneShot::ParseData } diff --git a/libs/xassets/xfxspawndefoneshot.h b/libs/xassets/xfxspawndefoneshot.h index 1192b4e..6189b5c 100644 --- a/libs/xassets/xfxspawndefoneshot.h +++ b/libs/xassets/xfxspawndefoneshot.h @@ -11,7 +11,7 @@ public: ~XFxSpawnDefOneShot(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XFxIntRange mCount; diff --git a/libs/xassets/xfxtraildef.cpp b/libs/xassets/xfxtraildef.cpp index ba6fd44..5d530f2 100644 --- a/libs/xassets/xfxtraildef.cpp +++ b/libs/xassets/xfxtraildef.cpp @@ -10,7 +10,7 @@ XFxTrailDef::XFxTrailDef() , mIndCount(0) , mIndices() { - + SetName("Trail Definition"); } XFxTrailDef::~XFxTrailDef() @@ -29,7 +29,9 @@ void XFxTrailDef::Clear() mIndices = QVector(); } -void XFxTrailDef::ParseData(QDataStream *aStream) +void XFxTrailDef::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxTrailDef::ParseData } diff --git a/libs/xassets/xfxtraildef.h b/libs/xassets/xfxtraildef.h index fd9f43c..d6dd868 100644 --- a/libs/xassets/xfxtraildef.h +++ b/libs/xassets/xfxtraildef.h @@ -13,7 +13,7 @@ public: ~XFxTrailDef(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: int mScrollTimeMsec; diff --git a/libs/xassets/xfxtrailvertex.cpp b/libs/xassets/xfxtrailvertex.cpp index ac936f4..e8fd3c1 100644 --- a/libs/xassets/xfxtrailvertex.cpp +++ b/libs/xassets/xfxtrailvertex.cpp @@ -6,7 +6,7 @@ XFxTrailVertex::XFxTrailVertex() , mNormal() , mTexCoord(0) { - + SetName("Trail Vertex"); } XFxTrailVertex::~XFxTrailVertex() @@ -21,7 +21,9 @@ void XFxTrailVertex::Clear() mTexCoord = 0; } -void XFxTrailVertex::ParseData(QDataStream *aStream) +void XFxTrailVertex::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XFxTrailVertex::ParseData } diff --git a/libs/xassets/xfxtrailvertex.h b/libs/xassets/xfxtrailvertex.h index 3a0f093..4b2eb7a 100644 --- a/libs/xassets/xfxtrailvertex.h +++ b/libs/xassets/xfxtrailvertex.h @@ -12,7 +12,7 @@ public: ~XFxTrailVertex(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: QVector2D mPos; diff --git a/libs/xassets/xgameworld.cpp b/libs/xassets/xgameworld.cpp deleted file mode 100644 index 8e74b6f..0000000 --- a/libs/xassets/xgameworld.cpp +++ /dev/null @@ -1,21 +0,0 @@ - - - - -#include "xgameworld.h" - -XGameWorld::XGameWorld() - : XAsset() { -} - -void XGameWorld::ParseData(QDataStream *aStream) { - // Implement parsing logic here based on the GameWorldSp and GameWorldMp structures - - // Parse both sp and mp parts using our new classes - sp.ParseData(aStream); - mp.ParseData(aStream); - - // TODO: Add any additional parsing code if needed -} - - diff --git a/libs/xassets/xgameworld.h b/libs/xassets/xgameworld.h deleted file mode 100644 index b2ab666..0000000 --- a/libs/xassets/xgameworld.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef XGAMEWORLD_H -#define XGAMEWORLD_H - -#include "xasset.h" -#include "xgameworldmp.h" -#include "xgameworldsp.h" - -class XGameWorld : public XAsset -{ -public: - explicit XGameWorld(); - - void ParseData(QDataStream *aStream) override; - -private: - XGameWorldSp sp; - XGameWorldMp mp; -}; - -#endif // XGAMEWORLD_H - diff --git a/libs/xassets/xgameworldmp.cpp b/libs/xassets/xgameworldmp.cpp index 8f85a96..d67e8b7 100644 --- a/libs/xassets/xgameworldmp.cpp +++ b/libs/xassets/xgameworldmp.cpp @@ -6,7 +6,7 @@ XGameWorldMp::XGameWorldMp() , mName() { SetType(ASSET_TYPE_GAMEWORLD_MP); - SetName("GameWorld MP"); + SetName("Game World MP"); } XGameWorldMp::~XGameWorldMp() @@ -14,7 +14,7 @@ XGameWorldMp::~XGameWorldMp() } -void XGameWorldMp::ParseData(QDataStream *aStream) { +void XGameWorldMp::ParseData(XDataStream *aStream) { // Parse the name string if (GetPtr() == -1) { mName.ParsePtr(aStream); diff --git a/libs/xassets/xgameworldmp.h b/libs/xassets/xgameworldmp.h index 218c2fa..744b82e 100644 --- a/libs/xassets/xgameworldmp.h +++ b/libs/xassets/xgameworldmp.h @@ -12,7 +12,7 @@ public: explicit XGameWorldMp(); ~XGameWorldMp(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgameworldsp.cpp b/libs/xassets/xgameworldsp.cpp index b095932..0a0e86c 100644 --- a/libs/xassets/xgameworldsp.cpp +++ b/libs/xassets/xgameworldsp.cpp @@ -7,7 +7,7 @@ XGameWorldSp::XGameWorldSp() , mPath() { SetType(ASSET_TYPE_GAMEWORLD_SP); - SetName("GameWorld SP"); + SetName("Game World SP"); } XGameWorldSp::~XGameWorldSp() @@ -15,7 +15,7 @@ XGameWorldSp::~XGameWorldSp() } -void XGameWorldSp::ParseData(QDataStream *aStream) { +void XGameWorldSp::ParseData(XDataStream *aStream) { // Parse the name string if (GetPtr() == -1) { mName.ParsePtr(aStream, false); diff --git a/libs/xassets/xgameworldsp.h b/libs/xassets/xgameworldsp.h index dcac886..f6ee8e1 100644 --- a/libs/xassets/xgameworldsp.h +++ b/libs/xassets/xgameworldsp.h @@ -11,7 +11,7 @@ public: explicit XGameWorldSp(); ~XGameWorldSp(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxaabbtree.cpp b/libs/xassets/xgfxaabbtree.cpp index a13614a..0b53af9 100644 --- a/libs/xassets/xgfxaabbtree.cpp +++ b/libs/xassets/xgfxaabbtree.cpp @@ -12,7 +12,7 @@ XGfxAabbTree::XGfxAabbTree() , mModelIndexes() , mChildrenOffset(0) { - + SetName("GFX AABB Tree"); } XGfxAabbTree::~XGfxAabbTree() @@ -20,9 +20,11 @@ XGfxAabbTree::~XGfxAabbTree() } -void XGfxAabbTree::ParseData(QDataStream *aStream) +void XGfxAabbTree::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxAabbTree::ParseData } void XGfxAabbTree::Clear() diff --git a/libs/xassets/xgfxaabbtree.h b/libs/xassets/xgfxaabbtree.h index e949a16..2b98200 100644 --- a/libs/xassets/xgfxaabbtree.h +++ b/libs/xassets/xgfxaabbtree.h @@ -12,7 +12,7 @@ public: XGfxAabbTree(); ~XGfxAabbTree(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxbrushmodel.cpp b/libs/xassets/xgfxbrushmodel.cpp index 788d3fb..dfc4758 100644 --- a/libs/xassets/xgfxbrushmodel.cpp +++ b/libs/xassets/xgfxbrushmodel.cpp @@ -7,7 +7,7 @@ XGfxBrushModel::XGfxBrushModel() , mSurfaceCount(0) , mStartSurfIndex(0) { - + SetName("GFX Brush Model"); } XGfxBrushModel::~XGfxBrushModel() @@ -15,9 +15,11 @@ XGfxBrushModel::~XGfxBrushModel() } -void XGfxBrushModel::ParseData(QDataStream *aStream) +void XGfxBrushModel::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxBrushModel::ParseData } void XGfxBrushModel::Clear() diff --git a/libs/xassets/xgfxbrushmodel.h b/libs/xassets/xgfxbrushmodel.h index 379509b..0e4b03f 100644 --- a/libs/xassets/xgfxbrushmodel.h +++ b/libs/xassets/xgfxbrushmodel.h @@ -13,14 +13,14 @@ public: XGfxBrushModel(); ~XGfxBrushModel(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: XGfxBrushModelWritable mWritable; QVector mBounds; - uint mSurfaceCount; - uint mStartSurfIndex; + quint32 mSurfaceCount; + quint32 mStartSurfIndex; }; #endif // XGFXBRUSHMODEL_H diff --git a/libs/xassets/xgfxbrushmodelwritable.cpp b/libs/xassets/xgfxbrushmodelwritable.cpp index 95bb1e5..9b8d44b 100644 --- a/libs/xassets/xgfxbrushmodelwritable.cpp +++ b/libs/xassets/xgfxbrushmodelwritable.cpp @@ -5,7 +5,7 @@ XGfxBrushModelWritable::XGfxBrushModelWritable() , mMins() , mMaxs() { - + SetName("GFX Brush Model Writable"); } XGfxBrushModelWritable::~XGfxBrushModelWritable() @@ -13,9 +13,11 @@ XGfxBrushModelWritable::~XGfxBrushModelWritable() } -void XGfxBrushModelWritable::ParseData(QDataStream *aStream) +void XGfxBrushModelWritable::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxBrushModelWritable::ParseData } void XGfxBrushModelWritable::Clear() diff --git a/libs/xassets/xgfxbrushmodelwritable.h b/libs/xassets/xgfxbrushmodelwritable.h index f7f2400..9314ddc 100644 --- a/libs/xassets/xgfxbrushmodelwritable.h +++ b/libs/xassets/xgfxbrushmodelwritable.h @@ -11,7 +11,7 @@ public: XGfxBrushModelWritable(); ~XGfxBrushModelWritable(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxcell.cpp b/libs/xassets/xgfxcell.cpp index ea54369..6066b1e 100644 --- a/libs/xassets/xgfxcell.cpp +++ b/libs/xassets/xgfxcell.cpp @@ -13,7 +13,7 @@ XGfxCell::XGfxCell() , mReflectionProbeCount(0) , mReflectionProbes() { - + SetName("GFX Cell"); } XGfxCell::~XGfxCell() @@ -21,24 +21,29 @@ XGfxCell::~XGfxCell() } -void XGfxCell::ParseData(QDataStream *aStream) +void XGfxCell::ParseData(XDataStream *aStream) { qint32 aabbTreePtr, portalsPtr, cullGroupsPtr, reflectionProbesPtr; - *aStream - >> mMins[0] - >> mMins[1] - >> mMins[2] - >> mMaxs[0] - >> mMaxs[1] - >> mMaxs[2] - >> mAabbTreeCount - >> aabbTreePtr - >> mPortalCount - >> portalsPtr - >> mCullGroupCount - >> cullGroupsPtr - >> mReflectionProbeCount - >> reflectionProbesPtr; + + mMins.setX(aStream->ParseSingle(QString("%1 mins x").arg(GetName()))); + mMins.setY(aStream->ParseSingle(QString("%1 mins y").arg(GetName()))); + mMins.setZ(aStream->ParseSingle(QString("%1 mins z").arg(GetName()))); + + mMaxs.setX(aStream->ParseSingle(QString("%1 maxs x").arg(GetName()))); + mMaxs.setY(aStream->ParseSingle(QString("%1 maxs y").arg(GetName()))); + mMaxs.setZ(aStream->ParseSingle(QString("%1 maxs z").arg(GetName()))); + + mAabbTreeCount = aStream->ParseInt32(QString("%1 aabb tree count").arg(GetName())); + aabbTreePtr = aStream->ParseInt32(QString("%1 aabb tree ptr").arg(GetName())); + + mPortalCount = aStream->ParseInt32(QString("%1 portal count").arg(GetName())); + portalsPtr = aStream->ParseInt32(QString("%1 portals ptr").arg(GetName())); + + mCullGroupCount = aStream->ParseInt32(QString("%1 cull group count").arg(GetName())); + cullGroupsPtr = aStream->ParseInt32(QString("%1 cull groups ptr").arg(GetName())); + + mReflectionProbeCount = aStream->ParseUInt8(QString("%1 reflection probe count").arg(GetName())); + reflectionProbesPtr = aStream->ParseInt32(QString("%1 reflection probes ptr").arg(GetName())); if (aabbTreePtr) { @@ -64,8 +69,7 @@ void XGfxCell::ParseData(QDataStream *aStream) { for (int i = 0; i < mCullGroupCount; i++) { - qint32 newCullGroup; - *aStream >> newCullGroup; + qint32 newCullGroup = aStream->ParseInt32(QString("%1 cull group %2").arg(GetName()).arg(i)); mCullGroups.append(newCullGroup); } } @@ -74,8 +78,7 @@ void XGfxCell::ParseData(QDataStream *aStream) { for (int i = 0; i < mReflectionProbeCount; i++) { - quint8 newReflectionProbe; - *aStream >> newReflectionProbe; + quint8 newReflectionProbe = aStream->ParseUInt8(QString("%1 reflection probe %2").arg(GetName()).arg(i)); mReflectionProbes.append(newReflectionProbe); } } diff --git a/libs/xassets/xgfxcell.h b/libs/xassets/xgfxcell.h index 40d7b42..16f6f04 100644 --- a/libs/xassets/xgfxcell.h +++ b/libs/xassets/xgfxcell.h @@ -14,7 +14,7 @@ public: XGfxCell(); ~XGfxCell(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxcolor.cpp b/libs/xassets/xgfxcolor.cpp index 2cccda2..8bd1f5f 100644 --- a/libs/xassets/xgfxcolor.cpp +++ b/libs/xassets/xgfxcolor.cpp @@ -4,16 +4,34 @@ XGfxColor::XGfxColor() : XAsset() , mArray(4) { - + SetName("GFX Color"); } -void XGfxColor::ParseData(QDataStream *aStream) +void XGfxColor::ParseData(XDataStream *aStream) { - *aStream - >> mArray[0] - >> mArray[1] - >> mArray[2] - >> mArray[3]; + *aStream >> mArray[0]; + if (IsDebug()) + { + qDebug() << QString("[%1] mArray[0] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mArray[0]); + } + + *aStream >> mArray[1]; + if (IsDebug()) + { + qDebug() << QString("[%1] mArray[1] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mArray[1]); + } + + *aStream >> mArray[2]; + if (IsDebug()) + { + qDebug() << QString("[%1] mArray[2] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mArray[2]); + } + + *aStream >> mArray[3]; + if (IsDebug()) + { + qDebug() << QString("[%1] mArray[3] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mArray[3]); + } } void XGfxColor::Clear() diff --git a/libs/xassets/xgfxcolor.h b/libs/xassets/xgfxcolor.h index 51a6229..fee13c7 100644 --- a/libs/xassets/xgfxcolor.h +++ b/libs/xassets/xgfxcolor.h @@ -8,7 +8,7 @@ class XGfxColor : public XAsset public: explicit XGfxColor(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; void SetColor(quint8 r, quint8 g, quint8 b, quint8 a); diff --git a/libs/xassets/xgfxcullgroup.cpp b/libs/xassets/xgfxcullgroup.cpp index e2e8625..f749cdf 100644 --- a/libs/xassets/xgfxcullgroup.cpp +++ b/libs/xassets/xgfxcullgroup.cpp @@ -7,7 +7,7 @@ XGfxCullGroup::XGfxCullGroup() , mSurfaceCount(0) , mStartSurfIndex(0) { - + SetName("GFX Cull Group"); } XGfxCullGroup::~XGfxCullGroup() @@ -15,9 +15,11 @@ XGfxCullGroup::~XGfxCullGroup() } -void XGfxCullGroup::ParseData(QDataStream *aStream) +void XGfxCullGroup::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxCullGroup::ParseData } void XGfxCullGroup::Clear() diff --git a/libs/xassets/xgfxcullgroup.h b/libs/xassets/xgfxcullgroup.h index 6a930bf..f15854b 100644 --- a/libs/xassets/xgfxcullgroup.h +++ b/libs/xassets/xgfxcullgroup.h @@ -11,7 +11,7 @@ public: XGfxCullGroup(); ~XGfxCullGroup(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxdrawsurf.cpp b/libs/xassets/xgfxdrawsurf.cpp index 555b0f7..67ba4a4 100644 --- a/libs/xassets/xgfxdrawsurf.cpp +++ b/libs/xassets/xgfxdrawsurf.cpp @@ -4,7 +4,7 @@ XGfxDrawSurf::XGfxDrawSurf() : XAsset() , mFields() { - + SetName("GFX Draw Surface"); } XGfxDrawSurf::~XGfxDrawSurf() @@ -12,7 +12,7 @@ XGfxDrawSurf::~XGfxDrawSurf() } -void XGfxDrawSurf::ParseData(QDataStream *aStream) +void XGfxDrawSurf::ParseData(XDataStream *aStream) { mFields.ParseData(aStream); } diff --git a/libs/xassets/xgfxdrawsurf.h b/libs/xassets/xgfxdrawsurf.h index 95a0217..f9dd879 100644 --- a/libs/xassets/xgfxdrawsurf.h +++ b/libs/xassets/xgfxdrawsurf.h @@ -10,7 +10,7 @@ public: explicit XGfxDrawSurf(); ~XGfxDrawSurf(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxdrawsurffields.cpp b/libs/xassets/xgfxdrawsurffields.cpp index 55aea59..7da31aa 100644 --- a/libs/xassets/xgfxdrawsurffields.cpp +++ b/libs/xassets/xgfxdrawsurffields.cpp @@ -12,25 +12,29 @@ XGfxDrawSurfFields::XGfxDrawSurfFields() , mPrimarySortKey(0) , mUnused(0) { - + SetName("GFX Draw Surface Fields"); } -void XGfxDrawSurfFields::ParseData(QDataStream *aStream) +void XGfxDrawSurfFields::ParseData(XDataStream *aStream) { // Read the raw 64-bit value from the stream - quint64 raw = 0; + quint64 raw; *aStream >> raw; + if (IsDebug()) + { + qDebug() << QString("[%1] raw = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(raw); + } // Decode bitfields from the 64-bit packed value - mObjectId = raw & 0xFFFF; // bits 0-15 - mReflectionProbeIndex = (raw >> 16) & 0xFF; // bits 16-23 - mCustomIndex = (raw >> 24) & 0x1F; // bits 24-28 - mMaterialSortedIndex = (raw >> 29) & 0x7FF; // bits 29-39 - mPrepass = (raw >> 40) & 0x3; // bits 40-41 - mPrimaryLightIndex = (raw >> 42) & 0xFF; // bits 42-49 - mSurfType = (raw >> 50) & 0xF; // bits 50-53 - mPrimarySortKey = (raw >> 54) & 0x3F; // bits 54-59 - mUnused = (raw >> 60) & 0xF; // bits 60-63 + // mObjectId =- raw & 0xFFFF; // bits 0-15 + // mReflectionProbeIndex = (raw >> 16) & 0xFF; // bits 16-23 + // mCustomIndex = (raw >> 24) & 0x1F; // bits 24-28 + // mMaterialSortedIndex = (raw >> 29) & 0x7FF; // bits 29-39 + // mPrepass =- (raw >> 40) & 0x3; // bits 40-41 + // mPrimaryLightIndex = (raw >> 42) & 0xFF; // bits 42-49 + // mSurfType =- (raw >> 50) & 0xF; // bits 50-53 + // mPrimarySortKey = (raw >> 54) & 0x3F; // bits 54-59 + // mUnused =- (raw >> 60) & 0xF; // bits 60-63 } void XGfxDrawSurfFields::Clear() diff --git a/libs/xassets/xgfxdrawsurffields.h b/libs/xassets/xgfxdrawsurffields.h index 73fb5bf..fe3b47f 100644 --- a/libs/xassets/xgfxdrawsurffields.h +++ b/libs/xassets/xgfxdrawsurffields.h @@ -8,7 +8,7 @@ class XGfxDrawSurfFields : public XAsset public: XGfxDrawSurfFields(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfximage.cpp b/libs/xassets/xgfximage.cpp index 58e0ebb..35fb6d8 100644 --- a/libs/xassets/xgfximage.cpp +++ b/libs/xassets/xgfximage.cpp @@ -15,10 +15,10 @@ XGfxImage::XGfxImage() , mBaseSize(0) , mStreamSlot(0) , mStreaming(false) - , mName("") + , mName() { SetType(ASSET_TYPE_IMAGE); - SetName("Image"); + SetName("GFX Image"); } XGfxImage::~XGfxImage() @@ -26,47 +26,45 @@ XGfxImage::~XGfxImage() } -void XGfxImage::ParseData(QDataStream *aStream) +void XGfxImage::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream >> mMapType; + mMapType = (XMapType)aStream->ParseUInt32(QString("%1 map type").arg(GetName())); - mTexture.ParseData(aStream); + mTexture.ParsePtr(aStream, false); - *aStream >> mSemantic; + mSemantic = aStream->ParseUInt8(QString("%1 semantic").arg(GetName())); aStream->skipRawData(3); mCardMemory.ParseData(aStream); qint32 pixelsPtr; - *aStream - >> mWidth - >> mHeight - >> mDepth - >> mCategory - >> mDelayLoadPixels - >> pixelsPtr - >> mBaseSize - >> mStreamSlot - >> mStreaming; + + mWidth = aStream->ParseUInt16(QString("%1 width").arg(GetName())); + mHeight = aStream->ParseUInt16(QString("%1 height").arg(GetName())); + mDepth = aStream->ParseUInt16(QString("%1 depth").arg(GetName())); + mCategory = aStream->ParseUInt8(QString("%1 category").arg(GetName())); + mDelayLoadPixels = aStream->ParseUInt8(QString("%1 delay load pixels").arg(GetName())); + pixelsPtr = aStream->ParseInt32(QString("%1 pixels ptr").arg(GetName())); + mBaseSize = aStream->ParseUInt32(QString("%1 base size").arg(GetName())); + mStreamSlot = aStream->ParseUInt16(QString("%1 stream slot").arg(GetName())); + mStreaming = aStream->ParseUInt8(QString("%1 streaming").arg(GetName())); aStream->skipRawData(1); mName.ParsePtr(aStream); - int variableSkip = 5; - if (mDelayLoadPixels) - { - variableSkip = 2; - } - aStream->skipRawData(variableSkip); - if (pixelsPtr) + //int variableSkip = mDelayLoadPixels ? 2 : 5; + //aStream->skipRawData(variableSkip); + + if (pixelsPtr == -1) { + mPixels.resize(mCardMemory.GetPlatform()); aStream->readRawData(mPixels.data(), mCardMemory.GetPlatform()); } - // TODO: This is wrong + mTexture.ParseData(aStream); } } diff --git a/libs/xassets/xgfximage.h b/libs/xassets/xgfximage.h index be8811d..3477c89 100644 --- a/libs/xassets/xgfximage.h +++ b/libs/xassets/xgfximage.h @@ -16,7 +16,7 @@ public: explicit XGfxImage(); ~XGfxImage(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfximageloaddef.cpp b/libs/xassets/xgfximageloaddef.cpp index f74b2df..b3f8605 100644 --- a/libs/xassets/xgfximageloaddef.cpp +++ b/libs/xassets/xgfximageloaddef.cpp @@ -4,21 +4,27 @@ XGfxImageLoadDef::XGfxImageLoadDef() : XAsset() , mLevelCount(0) , mFlags(0) - , mDimensions(QVector(3)) + , mDimensions(3) , mFormat(0) - , mTexture(new XGfxTexture()) + , mTexture() { - + SetName("GFX Image Load Definition"); } XGfxImageLoadDef::~XGfxImageLoadDef() { - delete mTexture; + } -void XGfxImageLoadDef::ParseData(QDataStream *aStream) +void XGfxImageLoadDef::ParseData(XDataStream *aStream) { - + *aStream + >> mLevelCount + >> mFlags + >> mDimensions + >> mFormat; + + mTexture.ParsePtr(aStream); } void XGfxImageLoadDef::Clear() @@ -27,5 +33,5 @@ void XGfxImageLoadDef::Clear() mFlags = 0; mDimensions = QVector(3); mFormat = 0; - mTexture->Clear(); + mTexture.Clear(); } diff --git a/libs/xassets/xgfximageloaddef.h b/libs/xassets/xgfximageloaddef.h index 8ccaf6a..e6ff3fb 100644 --- a/libs/xassets/xgfximageloaddef.h +++ b/libs/xassets/xgfximageloaddef.h @@ -9,18 +9,18 @@ class XGfxImageLoadDef : public XAsset { public: - XGfxImageLoadDef(); + explicit XGfxImageLoadDef(); ~XGfxImageLoadDef(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: quint8 mLevelCount; quint8 mFlags; QVector mDimensions; - int mFormat; - XGfxTexture* mTexture; + qint32 mFormat; + XGfxTexture mTexture; }; #endif // XGFXIMAGELOADDEF_H diff --git a/libs/xassets/xgfxlight.cpp b/libs/xassets/xgfxlight.cpp index bbe5942..141a64d 100644 --- a/libs/xassets/xgfxlight.cpp +++ b/libs/xassets/xgfxlight.cpp @@ -18,6 +18,7 @@ XGfxLight::XGfxLight() , mDefPtr(0) , mDef(new XGfxLightDef()) { + SetName("GFX Light"); } XGfxLight::~XGfxLight() @@ -25,42 +26,40 @@ XGfxLight::~XGfxLight() delete mDef; } -void XGfxLight::ParseData(QDataStream *aStream) { +void XGfxLight::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream - >> mType - >> mCanUseShadowMap; + mType = aStream->ParseUInt8(QString("%1 type").arg(GetName())); + mCanUseShadowMap = aStream->ParseUInt8(QString("%1 can use shadow map").arg(GetName())); aStream->skipRawData(2); - float r, g, b; + float r = aStream->ParseSingle(QString("%1 color r").arg(GetName())); + float g = aStream->ParseSingle(QString("%1 color g").arg(GetName())); + float b = aStream->ParseSingle(QString("%1 color b").arg(GetName())); + mColor = QColor::fromRgbF(r, g, b); - *aStream - >> r - >> g - >> b - >> mDir[0] - >> mDir[1] - >> mDir[2] - >> mOrigin[0] - >> mOrigin[1] - >> mOrigin[2] - >> mRadius - >> mCosHalfFovOuter - >> mCosHalfFovInner - >> mExponent - >> mSpotShadowIndex - >> mDefPtr; + mDir.setX(aStream->ParseSingle(QString("%1 dir x").arg(GetName()))); + mDir.setY(aStream->ParseSingle(QString("%1 dir y").arg(GetName()))); + mDir.setZ(aStream->ParseSingle(QString("%1 dir z").arg(GetName()))); - mColor = QColor(r, g, b); + mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName()))); + mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName()))); + mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName()))); - if (mDefPtr == -1) - { + mRadius = aStream->ParseSingle(QString("%1 radius").arg(GetName())); + mCosHalfFovOuter = aStream->ParseSingle(QString("%1 cos half fov outer").arg(GetName())); + mCosHalfFovInner = aStream->ParseSingle(QString("%1 cos half fov inner").arg(GetName())); + mExponent = aStream->ParseInt32(QString("%1 exponent").arg(GetName())); + mSpotShadowIndex = aStream->ParseUInt32(QString("%1 spot shadow index").arg(GetName())); + mDefPtr = aStream->ParseInt32(QString("%1 def ptr").arg(GetName())); + + if (mDefPtr == -1) { mDef->ParseData(aStream); } } } + void XGfxLight::Clear() { diff --git a/libs/xassets/xgfxlight.h b/libs/xassets/xgfxlight.h index e1ac613..294e94d 100644 --- a/libs/xassets/xgfxlight.h +++ b/libs/xassets/xgfxlight.h @@ -1,9 +1,11 @@ #ifndef XGFXLIGHT_H #define XGFXLIGHT_H -#include "qcolor.h" #include "xasset.h" +#include +#include + class XGfxLightDef; class XGfxLight : public XAsset @@ -12,14 +14,15 @@ public: explicit XGfxLight(); ~XGfxLight(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; + private: - unsigned char mType; - unsigned char mCanUseShadowMap; + quint8 mType; + quint8 mCanUseShadowMap; QColor mColor; - QVector mDir; - QVector mOrigin; + QVector3D mDir; + QVector3D mOrigin; float mRadius; float mCosHalfFovOuter; float mCosHalfFovInner; diff --git a/libs/xassets/xgfxlightdef.cpp b/libs/xassets/xgfxlightdef.cpp index ac76752..96abc30 100644 --- a/libs/xassets/xgfxlightdef.cpp +++ b/libs/xassets/xgfxlightdef.cpp @@ -7,7 +7,7 @@ XGfxLightDef::XGfxLightDef() , mLmapLookupStart(0) { SetType(ASSET_TYPE_LIGHT_DEF); - SetName("Light Def"); + SetName("GFX Light Definition"); } XGfxLightDef::~XGfxLightDef() @@ -22,7 +22,7 @@ void XGfxLightDef::Clear() mLmapLookupStart = 0; } -void XGfxLightDef::ParseData(QDataStream *aStream) +void XGfxLightDef::ParseData(XDataStream *aStream) { mName.ParsePtr(aStream, false); mAttenuation.ParseData(aStream); diff --git a/libs/xassets/xgfxlightdef.h b/libs/xassets/xgfxlightdef.h index 39fcbed..e81411d 100644 --- a/libs/xassets/xgfxlightdef.h +++ b/libs/xassets/xgfxlightdef.h @@ -5,14 +5,14 @@ #include "xgfxlightimage.h" #include "xstring.h" -struct XGfxLightDef : public XAsset +class XGfxLightDef : public XAsset { public: explicit XGfxLightDef(); ~XGfxLightDef(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XString mName; diff --git a/libs/xassets/xgfxlightgrid.cpp b/libs/xassets/xgfxlightgrid.cpp index bc42e0e..5518ce1 100644 --- a/libs/xassets/xgfxlightgrid.cpp +++ b/libs/xassets/xgfxlightgrid.cpp @@ -16,11 +16,12 @@ XGfxLightGrid::XGfxLightGrid() , mColorCount(0) , mColors() { + SetName("GFX Light Grid"); } XGfxLightGrid::~XGfxLightGrid() { - Clear(); + } void XGfxLightGrid::Clear() @@ -40,7 +41,7 @@ void XGfxLightGrid::Clear() mColors = QVector(); } -void XGfxLightGrid::ParseData(QDataStream *aStream) +void XGfxLightGrid::ParseData(XDataStream *aStream) { // Implement parsing logic here Clear(); diff --git a/libs/xassets/xgfxlightgrid.h b/libs/xassets/xgfxlightgrid.h index d0040eb..3b95e05 100644 --- a/libs/xassets/xgfxlightgrid.h +++ b/libs/xassets/xgfxlightgrid.h @@ -16,7 +16,7 @@ public: // Override Clear and ParseData from XAsset virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: bool mHasLightRegions; diff --git a/libs/xassets/xgfxlightgridcolors.h b/libs/xassets/xgfxlightgridcolors.h index d5674ad..3ad6d52 100644 --- a/libs/xassets/xgfxlightgridcolors.h +++ b/libs/xassets/xgfxlightgridcolors.h @@ -13,7 +13,7 @@ public: // Override Clear and ParseData from XAsset virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; quint8 rgb[56][3]; }; diff --git a/libs/xassets/xgfxlightgridentry.h b/libs/xassets/xgfxlightgridentry.h index c833d2c..0548537 100644 --- a/libs/xassets/xgfxlightgridentry.h +++ b/libs/xassets/xgfxlightgridentry.h @@ -13,7 +13,7 @@ public: // Override Clear and ParseData from XAsset virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; quint32 colorsIndex; quint8 primaryLightIndex; diff --git a/libs/xassets/xgfxlightimage.cpp b/libs/xassets/xgfxlightimage.cpp index 44c1e7e..36401ad 100644 --- a/libs/xassets/xgfxlightimage.cpp +++ b/libs/xassets/xgfxlightimage.cpp @@ -2,30 +2,30 @@ XGfxLightImage::XGfxLightImage() : XAsset() - , mImage(new XGfxImage()) + , mImage() , mSamplerState(0) { - + SetName("GFX Light Image"); } XGfxLightImage::~XGfxLightImage() { - delete mImage; + } -void XGfxLightImage::ParseData(QDataStream *aStream) +void XGfxLightImage::ParseData(XDataStream *aStream) { - mImage->ParsePtr(aStream, false); + mImage.ParsePtr(aStream, false); *aStream >> mSamplerState; aStream->skipRawData(3); - mImage->ParseData(aStream); + mImage.ParseData(aStream); } void XGfxLightImage::Clear() { - mImage->Clear(); + mImage.Clear(); mSamplerState = 0; } diff --git a/libs/xassets/xgfxlightimage.h b/libs/xassets/xgfxlightimage.h index 7e5a64e..dc20fee 100644 --- a/libs/xassets/xgfxlightimage.h +++ b/libs/xassets/xgfxlightimage.h @@ -10,11 +10,11 @@ public: XGfxLightImage(); ~XGfxLightImage(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: - XGfxImage* mImage; + XGfxImage mImage; quint8 mSamplerState; }; diff --git a/libs/xassets/xgfxlightmaparray.cpp b/libs/xassets/xgfxlightmaparray.cpp index 29530b8..5d1eb58 100644 --- a/libs/xassets/xgfxlightmaparray.cpp +++ b/libs/xassets/xgfxlightmaparray.cpp @@ -1,15 +1,14 @@ - - #include "xgfxlightmaparray.h" XGfxLightmapArray::XGfxLightmapArray() : primary(nullptr), secondary(nullptr) { + SetName("GFX Light Map Array"); } XGfxLightmapArray::~XGfxLightmapArray() { - Clear(); + } void XGfxLightmapArray::Clear() @@ -22,7 +21,7 @@ void XGfxLightmapArray::Clear() secondary = nullptr; } -void XGfxLightmapArray::ParseData(QDataStream *aStream) +void XGfxLightmapArray::ParseData(XDataStream *aStream) { // Implement parsing logic here // This is just a placeholder implementation diff --git a/libs/xassets/xgfxlightmaparray.h b/libs/xassets/xgfxlightmaparray.h index 0c7de37..59038c2 100644 --- a/libs/xassets/xgfxlightmaparray.h +++ b/libs/xassets/xgfxlightmaparray.h @@ -13,7 +13,7 @@ public: // Override Clear and ParseData from XAsset virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; XGfxImage *primary; XGfxImage *secondary; diff --git a/libs/xassets/xgfxlightregion.cpp b/libs/xassets/xgfxlightregion.cpp index 507c3f4..8676073 100644 --- a/libs/xassets/xgfxlightregion.cpp +++ b/libs/xassets/xgfxlightregion.cpp @@ -6,7 +6,7 @@ XGfxLightRegion::XGfxLightRegion() , mHullsPtr(0) , mHulls() { - + SetName("GFX Light Region"); } XGfxLightRegion::~XGfxLightRegion() @@ -14,9 +14,11 @@ XGfxLightRegion::~XGfxLightRegion() } -void XGfxLightRegion::ParseData(QDataStream *aStream) +void XGfxLightRegion::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxLightRegion::ParseData } void XGfxLightRegion::Clear() diff --git a/libs/xassets/xgfxlightregion.h b/libs/xassets/xgfxlightregion.h index 1ce0a13..656af83 100644 --- a/libs/xassets/xgfxlightregion.h +++ b/libs/xassets/xgfxlightregion.h @@ -12,11 +12,11 @@ public: XGfxLightRegion(); ~XGfxLightRegion(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: - uint mHullCount; + quint32 mHullCount; qint32 mHullsPtr; QVector mHulls; }; diff --git a/libs/xassets/xgfxlightregionaxis.cpp b/libs/xassets/xgfxlightregionaxis.cpp index f07c9a3..e1880a7 100644 --- a/libs/xassets/xgfxlightregionaxis.cpp +++ b/libs/xassets/xgfxlightregionaxis.cpp @@ -6,7 +6,7 @@ XGfxLightRegionAxis::XGfxLightRegionAxis() , mMidPoint(0) , mHalfSize(0) { - + SetName("GFX Light Region Axis"); } XGfxLightRegionAxis::~XGfxLightRegionAxis() @@ -14,9 +14,11 @@ XGfxLightRegionAxis::~XGfxLightRegionAxis() } -void XGfxLightRegionAxis::ParseData(QDataStream *aStream) +void XGfxLightRegionAxis::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxLightRegionAxis::ParseData } void XGfxLightRegionAxis::Clear() diff --git a/libs/xassets/xgfxlightregionaxis.h b/libs/xassets/xgfxlightregionaxis.h index b93dad1..f3c1f07 100644 --- a/libs/xassets/xgfxlightregionaxis.h +++ b/libs/xassets/xgfxlightregionaxis.h @@ -11,7 +11,7 @@ public: XGfxLightRegionAxis(); ~XGfxLightRegionAxis(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxlightregionhull.cpp b/libs/xassets/xgfxlightregionhull.cpp index 7d3ca28..2c0b683 100644 --- a/libs/xassets/xgfxlightregionhull.cpp +++ b/libs/xassets/xgfxlightregionhull.cpp @@ -8,7 +8,7 @@ XGfxLightRegionHull::XGfxLightRegionHull() , mAxisPtr(0) , mAxis() { - + SetName("GFX Light Region Hull"); } XGfxLightRegionHull::~XGfxLightRegionHull() @@ -16,9 +16,11 @@ XGfxLightRegionHull::~XGfxLightRegionHull() } -void XGfxLightRegionHull::ParseData(QDataStream *aStream) +void XGfxLightRegionHull::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxLightRegionHull::ParseData } void XGfxLightRegionHull::Clear() diff --git a/libs/xassets/xgfxlightregionhull.h b/libs/xassets/xgfxlightregionhull.h index baa671f..5ba3c1b 100644 --- a/libs/xassets/xgfxlightregionhull.h +++ b/libs/xassets/xgfxlightregionhull.h @@ -13,13 +13,13 @@ public: XGfxLightRegionHull(); ~XGfxLightRegionHull(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: QVector mKdopMidPoint; QVector mKdopHalfSize; - uint mAxisCount; + quint32 mAxisCount; qint32 mAxisPtr; QVector mAxis; }; diff --git a/libs/xassets/xgfxpackedplacement.cpp b/libs/xassets/xgfxpackedplacement.cpp index 3519d77..1828e24 100644 --- a/libs/xassets/xgfxpackedplacement.cpp +++ b/libs/xassets/xgfxpackedplacement.cpp @@ -6,7 +6,7 @@ XGfxPackedPlacement::XGfxPackedPlacement() , mAxis() , mScale(0.0f) { - + SetName("GFX Packed Placement"); } XGfxPackedPlacement::~XGfxPackedPlacement() @@ -14,9 +14,11 @@ XGfxPackedPlacement::~XGfxPackedPlacement() } -void XGfxPackedPlacement::ParseData(QDataStream *aStream) +void XGfxPackedPlacement::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxPackedPlacement::ParseData } void XGfxPackedPlacement::Clear() diff --git a/libs/xassets/xgfxpackedplacement.h b/libs/xassets/xgfxpackedplacement.h index 2cad1eb..67e38c6 100644 --- a/libs/xassets/xgfxpackedplacement.h +++ b/libs/xassets/xgfxpackedplacement.h @@ -13,7 +13,7 @@ public: XGfxPackedPlacement(); ~XGfxPackedPlacement(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxpackedvertex.cpp b/libs/xassets/xgfxpackedvertex.cpp index 0235a1c..9a89f13 100644 --- a/libs/xassets/xgfxpackedvertex.cpp +++ b/libs/xassets/xgfxpackedvertex.cpp @@ -9,18 +9,30 @@ XGfxPackedVertex::XGfxPackedVertex() , mNormal() , mTangent() { - + SetName("GFX Packed Vertex"); } -void XGfxPackedVertex::ParseData(QDataStream *aStream) +void XGfxPackedVertex::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream - >> mXYZ[0] - >> mXYZ[1] - >> mXYZ[2] - >> mBinormalSign; + + quint32 rawCoord; + for (int i = 0; i < 3; i++) + { + *aStream >> rawCoord; + memcpy(&mXYZ[i], &rawCoord, sizeof(mXYZ[i])); + if (IsDebug()) + { + qDebug() << QString("[%1] mXYZ[%2] = %3").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(i).arg(mXYZ[0]); + } + } + + *aStream >> mBinormalSign; + if (IsDebug()) + { + qDebug() << QString("[%1] mBinormalSign = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mBinormalSign); + } mColor.ParseData(aStream); mTexCoord.ParseData(aStream); diff --git a/libs/xassets/xgfxpackedvertex.h b/libs/xassets/xgfxpackedvertex.h index e7cdbbb..5ac1224 100644 --- a/libs/xassets/xgfxpackedvertex.h +++ b/libs/xassets/xgfxpackedvertex.h @@ -13,7 +13,7 @@ class XGfxPackedVertex : public XAsset public: explicit XGfxPackedVertex(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxpixelshaderloaddef.cpp b/libs/xassets/xgfxpixelshaderloaddef.cpp index 988f3da..f066944 100644 --- a/libs/xassets/xgfxpixelshaderloaddef.cpp +++ b/libs/xassets/xgfxpixelshaderloaddef.cpp @@ -7,7 +7,7 @@ XGfxPixelShaderLoadDef::XGfxPixelShaderLoadDef() , mCachedPartSize(0) , mPhysicalPartSize(0) { - + SetName("GFX Pixel Shader Load Definition"); } XGfxPixelShaderLoadDef::~XGfxPixelShaderLoadDef() @@ -33,7 +33,7 @@ void XGfxPixelShaderLoadDef::Clear() mPhysicalPartSize = 0; } -void XGfxPixelShaderLoadDef::ParseData(QDataStream *aStream) +void XGfxPixelShaderLoadDef::ParseData(XDataStream *aStream) { qint32 cachedPartPtr, physicalPartPtr; *aStream diff --git a/libs/xassets/xgfxpixelshaderloaddef.h b/libs/xassets/xgfxpixelshaderloaddef.h index 3de8a9a..7b844f9 100644 --- a/libs/xassets/xgfxpixelshaderloaddef.h +++ b/libs/xassets/xgfxpixelshaderloaddef.h @@ -14,7 +14,7 @@ public: quint16 GetPhysicalPartSize() const; quint16 GetCachedPartSize() const; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxplacement.cpp b/libs/xassets/xgfxplacement.cpp index 7834e46..e8a0249 100644 --- a/libs/xassets/xgfxplacement.cpp +++ b/libs/xassets/xgfxplacement.cpp @@ -5,7 +5,7 @@ XGfxPlacement::XGfxPlacement() , mQuat() , mOrigin() { - + SetName("GFX Placement"); } XGfxPlacement::~XGfxPlacement() @@ -13,7 +13,7 @@ XGfxPlacement::~XGfxPlacement() } -void XGfxPlacement::ParseData(QDataStream *aStream) +void XGfxPlacement::ParseData(XDataStream *aStream) { *aStream >> mQuat[0] diff --git a/libs/xassets/xgfxplacement.h b/libs/xassets/xgfxplacement.h index 3c5f062..3003b18 100644 --- a/libs/xassets/xgfxplacement.h +++ b/libs/xassets/xgfxplacement.h @@ -12,7 +12,7 @@ public: XGfxPlacement(); ~XGfxPlacement(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxportal.cpp b/libs/xassets/xgfxportal.cpp index 096ac19..2fd3ed6 100644 --- a/libs/xassets/xgfxportal.cpp +++ b/libs/xassets/xgfxportal.cpp @@ -10,7 +10,7 @@ XGfxPortal::XGfxPortal() , mVertexCount(0) , mHullAxis() { - + SetName("GFX Portal"); } XGfxPortal::~XGfxPortal() @@ -18,9 +18,11 @@ XGfxPortal::~XGfxPortal() } -void XGfxPortal::ParseData(QDataStream *aStream) +void XGfxPortal::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XGfxPortal::ParseData } void XGfxPortal::Clear() diff --git a/libs/xassets/xgfxportal.h b/libs/xassets/xgfxportal.h index fde84a8..af2e7b8 100644 --- a/libs/xassets/xgfxportal.h +++ b/libs/xassets/xgfxportal.h @@ -16,7 +16,7 @@ public: XGfxPortal(); ~XGfxPortal(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxportalwritable.cpp b/libs/xassets/xgfxportalwritable.cpp index 1a3e0dd..f2a46e8 100644 --- a/libs/xassets/xgfxportalwritable.cpp +++ b/libs/xassets/xgfxportalwritable.cpp @@ -12,7 +12,7 @@ XGfxPortalWritable::XGfxPortalWritable() , mQueuedParentPtr(0) , mQueuedParent(new XGfxPortal()) { - + SetName("GFX Portal Writable"); } XGfxPortalWritable::~XGfxPortalWritable() @@ -20,9 +20,11 @@ XGfxPortalWritable::~XGfxPortalWritable() } -void XGfxPortalWritable::ParseData(QDataStream *aStream) +void XGfxPortalWritable::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxPortalWritable::ParseData } void XGfxPortalWritable::Clear() diff --git a/libs/xassets/xgfxportalwritable.h b/libs/xassets/xgfxportalwritable.h index f6c6108..9716e63 100644 --- a/libs/xassets/xgfxportalwritable.h +++ b/libs/xassets/xgfxportalwritable.h @@ -13,7 +13,7 @@ public: XGfxPortalWritable(); ~XGfxPortalWritable(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxreflectionprobe.cpp b/libs/xassets/xgfxreflectionprobe.cpp index 3f4e5e5..3f280ba 100644 --- a/libs/xassets/xgfxreflectionprobe.cpp +++ b/libs/xassets/xgfxreflectionprobe.cpp @@ -5,6 +5,7 @@ XGfxReflectionProbe::XGfxReflectionProbe() , mOrigin() , mReflectionImage(new XGfxImage()) { + SetName("GFX Reflection Probe"); } XGfxReflectionProbe::~XGfxReflectionProbe() @@ -12,7 +13,7 @@ XGfxReflectionProbe::~XGfxReflectionProbe() } -void XGfxReflectionProbe::ParseData(QDataStream *aStream) { +void XGfxReflectionProbe::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mOrigin; diff --git a/libs/xassets/xgfxreflectionprobe.h b/libs/xassets/xgfxreflectionprobe.h index b257f8d..a167c7e 100644 --- a/libs/xassets/xgfxreflectionprobe.h +++ b/libs/xassets/xgfxreflectionprobe.h @@ -12,7 +12,7 @@ public: explicit XGfxReflectionProbe(); ~XGfxReflectionProbe(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxscenedynbrush.cpp b/libs/xassets/xgfxscenedynbrush.cpp index 4ab4b59..f00bda0 100644 --- a/libs/xassets/xgfxscenedynbrush.cpp +++ b/libs/xassets/xgfxscenedynbrush.cpp @@ -5,7 +5,7 @@ XGfxSceneDynBrush::XGfxSceneDynBrush() , mInfo() , mDynEntId(0) { - + SetName("GFX Scene Dynamic Brush"); } XGfxSceneDynBrush::~XGfxSceneDynBrush() @@ -13,9 +13,11 @@ XGfxSceneDynBrush::~XGfxSceneDynBrush() } -void XGfxSceneDynBrush::ParseData(QDataStream *aStream) +void XGfxSceneDynBrush::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxSceneDynBrush::ParseData } void XGfxSceneDynBrush::Clear() diff --git a/libs/xassets/xgfxscenedynbrush.h b/libs/xassets/xgfxscenedynbrush.h index d488285..941c16f 100644 --- a/libs/xassets/xgfxscenedynbrush.h +++ b/libs/xassets/xgfxscenedynbrush.h @@ -12,7 +12,7 @@ public: XGfxSceneDynBrush(); ~XGfxSceneDynBrush(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxscenedynmodel.cpp b/libs/xassets/xgfxscenedynmodel.cpp index 7df4eb2..c7c4a3c 100644 --- a/libs/xassets/xgfxscenedynmodel.cpp +++ b/libs/xassets/xgfxscenedynmodel.cpp @@ -5,7 +5,7 @@ XGfxSceneDynModel::XGfxSceneDynModel() , mInfo() , mDynEntId(0) { - + SetName("GFX Scene Dynamic Model"); } XGfxSceneDynModel::~XGfxSceneDynModel() @@ -13,9 +13,11 @@ XGfxSceneDynModel::~XGfxSceneDynModel() } -void XGfxSceneDynModel::ParseData(QDataStream *aStream) +void XGfxSceneDynModel::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxSceneDynModel::ParseData } void XGfxSceneDynModel::Clear() diff --git a/libs/xassets/xgfxscenedynmodel.h b/libs/xassets/xgfxscenedynmodel.h index 0c6c646..84fc799 100644 --- a/libs/xassets/xgfxscenedynmodel.h +++ b/libs/xassets/xgfxscenedynmodel.h @@ -12,7 +12,7 @@ public: XGfxSceneDynModel(); ~XGfxSceneDynModel(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxshadowgeometry.cpp b/libs/xassets/xgfxshadowgeometry.cpp index 898af1a..b9a29a4 100644 --- a/libs/xassets/xgfxshadowgeometry.cpp +++ b/libs/xassets/xgfxshadowgeometry.cpp @@ -9,7 +9,7 @@ XGfxShadowGeometry::XGfxShadowGeometry() , mModelIndexPtr(0) , mModelIndex() { - + SetName("GFX Shadow Geometry"); } XGfxShadowGeometry::~XGfxShadowGeometry() @@ -17,9 +17,11 @@ XGfxShadowGeometry::~XGfxShadowGeometry() } -void XGfxShadowGeometry::ParseData(QDataStream *aStream) +void XGfxShadowGeometry::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxShadowGeometry::ParseData } void XGfxShadowGeometry::Clear() diff --git a/libs/xassets/xgfxshadowgeometry.h b/libs/xassets/xgfxshadowgeometry.h index 20df2f4..3a01a85 100644 --- a/libs/xassets/xgfxshadowgeometry.h +++ b/libs/xassets/xgfxshadowgeometry.h @@ -11,7 +11,7 @@ public: explicit XGfxShadowGeometry(); ~XGfxShadowGeometry(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxstatebits.cpp b/libs/xassets/xgfxstatebits.cpp index 21345e3..d296a8f 100644 --- a/libs/xassets/xgfxstatebits.cpp +++ b/libs/xassets/xgfxstatebits.cpp @@ -4,7 +4,7 @@ XGfxStateBits::XGfxStateBits() : XAsset() , mLoadBits(2) { - + SetName("GFX State Bits"); } XGfxStateBits::~XGfxStateBits() @@ -12,7 +12,7 @@ XGfxStateBits::~XGfxStateBits() } -void XGfxStateBits::ParseData(QDataStream *aStream) +void XGfxStateBits::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xgfxstatebits.h b/libs/xassets/xgfxstatebits.h index 3204027..443d236 100644 --- a/libs/xassets/xgfxstatebits.h +++ b/libs/xassets/xgfxstatebits.h @@ -11,7 +11,7 @@ public: XGfxStateBits(); ~XGfxStateBits(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxstaticmodeldrawinst.cpp b/libs/xassets/xgfxstaticmodeldrawinst.cpp index 4075aa3..98ea817 100644 --- a/libs/xassets/xgfxstaticmodeldrawinst.cpp +++ b/libs/xassets/xgfxstaticmodeldrawinst.cpp @@ -4,13 +4,13 @@ XGfxStaticModelDrawInst::XGfxStaticModelDrawInst() : XAsset() , mCullDist(false) , mPlacement() - , mModel(new XModel()) + , mModel() , mReflectionProbeIndex(0) , mPrimaryLightIndex(0) , mLightingHandle(0) , mFlags(0) { - + SetName("GFX Static Model Draw Instruction"); } XGfxStaticModelDrawInst::~XGfxStaticModelDrawInst() @@ -18,9 +18,11 @@ XGfxStaticModelDrawInst::~XGfxStaticModelDrawInst() } -void XGfxStaticModelDrawInst::ParseData(QDataStream *aStream) +void XGfxStaticModelDrawInst::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxStaticModelDrawInst::ParseData } void XGfxStaticModelDrawInst::Clear() diff --git a/libs/xassets/xgfxstaticmodeldrawinst.h b/libs/xassets/xgfxstaticmodeldrawinst.h index 3e08aa4..23fb2cd 100644 --- a/libs/xassets/xgfxstaticmodeldrawinst.h +++ b/libs/xassets/xgfxstaticmodeldrawinst.h @@ -13,13 +13,13 @@ public: XGfxStaticModelDrawInst(); ~XGfxStaticModelDrawInst(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: float mCullDist; XGfxPackedPlacement mPlacement; - XModel *mModel; + XModel mModel; quint8 mReflectionProbeIndex; quint8 mPrimaryLightIndex; quint32 mLightingHandle; diff --git a/libs/xassets/xgfxstaticmodelinst.cpp b/libs/xassets/xgfxstaticmodelinst.cpp index 04b6518..76569ac 100644 --- a/libs/xassets/xgfxstaticmodelinst.cpp +++ b/libs/xassets/xgfxstaticmodelinst.cpp @@ -6,7 +6,7 @@ XGfxStaticModelInst::XGfxStaticModelInst() , mMaxs() , mGroundLighting() { - + SetName("GFX Static Model Instruction"); } XGfxStaticModelInst::~XGfxStaticModelInst() @@ -14,9 +14,11 @@ XGfxStaticModelInst::~XGfxStaticModelInst() } -void XGfxStaticModelInst::ParseData(QDataStream *aStream) +void XGfxStaticModelInst::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxStaticModelInst::ParseData } void XGfxStaticModelInst::Clear() diff --git a/libs/xassets/xgfxstaticmodelinst.h b/libs/xassets/xgfxstaticmodelinst.h index 3a766c4..9f26795 100644 --- a/libs/xassets/xgfxstaticmodelinst.h +++ b/libs/xassets/xgfxstaticmodelinst.h @@ -12,7 +12,7 @@ public: XGfxStaticModelInst(); ~XGfxStaticModelInst(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxstreamingaabbtree.cpp b/libs/xassets/xgfxstreamingaabbtree.cpp index e301c71..47659f6 100644 --- a/libs/xassets/xgfxstreamingaabbtree.cpp +++ b/libs/xassets/xgfxstreamingaabbtree.cpp @@ -1,16 +1,12 @@ - - - - - - #include "xgfxstreamingaabbtree.h" XGfxStreamingAabbTree::XGfxStreamingAabbTree() - : XAsset() { + : XAsset() +{ + SetName("GFX Streaming AABB Tree"); } -void XGfxStreamingAabbTree::ParseData(QDataStream *aStream) { +void XGfxStreamingAabbTree::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mFirstItem diff --git a/libs/xassets/xgfxstreamingaabbtree.h b/libs/xassets/xgfxstreamingaabbtree.h index ed22c7c..b8ca6c0 100644 --- a/libs/xassets/xgfxstreamingaabbtree.h +++ b/libs/xassets/xgfxstreamingaabbtree.h @@ -8,7 +8,7 @@ class XGfxStreamingAabbTree : public XAsset public: explicit XGfxStreamingAabbTree(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; unsigned short GetFirstItem() const; void SetFirstItem(unsigned short item); diff --git a/libs/xassets/xgfxsurface.cpp b/libs/xassets/xgfxsurface.cpp index 8e6e0ce..8beaad0 100644 --- a/libs/xassets/xgfxsurface.cpp +++ b/libs/xassets/xgfxsurface.cpp @@ -1,8 +1,9 @@ #include "xgfxsurface.h" XGfxSurface::XGfxSurface() + : XAsset() { - + SetName("GFX Surface"); } XGfxSurface::~XGfxSurface() @@ -10,9 +11,11 @@ XGfxSurface::~XGfxSurface() } -void XGfxSurface::ParseData(QDataStream *aStream) +void XGfxSurface::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XGfxSurface::ParseData } void XGfxSurface::Clear() diff --git a/libs/xassets/xgfxsurface.h b/libs/xassets/xgfxsurface.h index 4d9e36f..c353bf0 100644 --- a/libs/xassets/xgfxsurface.h +++ b/libs/xassets/xgfxsurface.h @@ -13,7 +13,7 @@ public: XGfxSurface(); ~XGfxSurface(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxtexture.cpp b/libs/xassets/xgfxtexture.cpp index d4c0f2c..8ed3f16 100644 --- a/libs/xassets/xgfxtexture.cpp +++ b/libs/xassets/xgfxtexture.cpp @@ -1,6 +1,7 @@ #include "xgfxtexture.h" #include "xd3dbasetexture.h" +#include "xgfximageloaddef.h" XGfxTexture::XGfxTexture() : XAsset() @@ -8,9 +9,9 @@ XGfxTexture::XGfxTexture() , mMap() , mVolMap() , mCubeMap() - , mLoadDef() + , mLoadDef(nullptr) { - + SetName("GFX Texture"); } XGfxTexture::~XGfxTexture() @@ -18,9 +19,13 @@ XGfxTexture::~XGfxTexture() } -void XGfxTexture::ParseData(QDataStream *aStream) +void XGfxTexture::ParseData(XDataStream *aStream) { - + if (GetPtr() == -1 || GetPtr() == -2) + { + mLoadDef = new XGfxImageLoadDef(); + mLoadDef->ParseData(aStream); + } } void XGfxTexture::Clear() diff --git a/libs/xassets/xgfxtexture.h b/libs/xassets/xgfxtexture.h index 49deda6..cd88d20 100644 --- a/libs/xassets/xgfxtexture.h +++ b/libs/xassets/xgfxtexture.h @@ -6,16 +6,15 @@ #include "xd3dvolumetexture.h" #include "xd3dcubetexture.h" -class XD3DBaseTexture; class XGfxImageLoadDef; class XGfxTexture : public XAsset { public: - XGfxTexture(); + explicit XGfxTexture(); ~XGfxTexture(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: @@ -23,7 +22,7 @@ private: XD3DTexture mMap; XD3DVolumeTexture mVolMap; XD3DCubeTexture mCubeMap; - XGfxImageLoadDef* mLoadDef; + XGfxImageLoadDef *mLoadDef; }; #endif // XGFXTEXTURE_H diff --git a/libs/xassets/xgfxvertexshaderloaddef.cpp b/libs/xassets/xgfxvertexshaderloaddef.cpp index 203dbda..7a01669 100644 --- a/libs/xassets/xgfxvertexshaderloaddef.cpp +++ b/libs/xassets/xgfxvertexshaderloaddef.cpp @@ -7,7 +7,7 @@ XGfxVertexShaderLoadDef::XGfxVertexShaderLoadDef() , mCachedPartSize(0) , mPhysicalPartSize(0) { - SetName("Vertex Shader Definition"); + SetName("GFX Vertex Shader Load Definition"); } XGfxVertexShaderLoadDef::~XGfxVertexShaderLoadDef() @@ -23,7 +23,7 @@ void XGfxVertexShaderLoadDef::Clear() mPhysicalPartSize = 0; } -void XGfxVertexShaderLoadDef::ParseData(QDataStream *aStream) +void XGfxVertexShaderLoadDef::ParseData(XDataStream *aStream) { if (IsDebug()) { diff --git a/libs/xassets/xgfxvertexshaderloaddef.h b/libs/xassets/xgfxvertexshaderloaddef.h index fab47ca..ea4954a 100644 --- a/libs/xassets/xgfxvertexshaderloaddef.h +++ b/libs/xassets/xgfxvertexshaderloaddef.h @@ -12,7 +12,7 @@ public: ~XGfxVertexShaderLoadDef(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: QByteArray mCachedPart; diff --git a/libs/xassets/xgfxworld.cpp b/libs/xassets/xgfxworld.cpp index 03c6c7b..960382c 100644 --- a/libs/xassets/xgfxworld.cpp +++ b/libs/xassets/xgfxworld.cpp @@ -59,7 +59,7 @@ XGfxWorld::XGfxWorld() , mDpvsDyn() { SetType(ASSET_TYPE_GFXWORLD); - SetName("GFXWorld"); + SetName("GFX World"); } XGfxWorld::~XGfxWorld() @@ -67,110 +67,103 @@ XGfxWorld::~XGfxWorld() } -void XGfxWorld::ParseData(QDataStream *aStream) { +void XGfxWorld::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { mName.ParsePtr(aStream, false); mBaseName.ParsePtr(aStream, false); qint32 indicesPtr; - *aStream - >> mPlaneCount - >> mNodeCount - >> mIndexCount - >> indicesPtr; + mPlaneCount = aStream->ParseInt32(QString("%1 plane count").arg(GetName())); + mNodeCount = aStream->ParseInt32(QString("%1 node count").arg(GetName())); + mIndexCount = aStream->ParseInt32(QString("%1 index count").arg(GetName())); + indicesPtr = aStream->ParseInt32(QString("%1 indices ptr").arg(GetName())); mIndexBuffer.ParseData(aStream); - *aStream >> mSurfaceCount; + mSurfaceCount = aStream->ParseInt32(QString("%1 surface count").arg(GetName())); mStreamInfo.SetPtr(-1); mStreamInfo.ParseData(aStream); qint32 skyStartSurfPtr, skyImagePtr; - *aStream - >> mSkySurfCount - >> skyStartSurfPtr - >> skyImagePtr - >> mSkySamplerState; + mSkySurfCount = aStream->ParseInt32(QString("%1 sky surf count").arg(GetName())); + skyStartSurfPtr = aStream->ParseInt32(QString("%1 sky start surf ptr").arg(GetName())); + skyImagePtr = aStream->ParseInt32(QString("%1 sky image ptr").arg(GetName())); + mSkySamplerState = aStream->ParseUInt8(QString("%1 sky sampler state").arg(GetName())); aStream->skipRawData(3); - *aStream >> mVertexCount; + mVertexCount = aStream->ParseUInt32(QString("%1 vertex count").arg(GetName())); mVertexData.ParseData(aStream); - *aStream >> mVertexLayerDataSize; + mVertexLayerDataSize = aStream->ParseUInt32(QString("%1 vertex layer data size").arg(GetName())); mVertexLayerData.ParseData(aStream); mSunParse.ParseData(aStream); mSunLight.ParsePtr(aStream, false); - float r, g, b; - *aStream - >> r - >> g - >> b; - mSunColorFromBsp = QColor(r, g, b); + float r = aStream->ParseSingle(QString("%1 sun color r").arg(GetName())); + float g = aStream->ParseSingle(QString("%1 sun color g").arg(GetName())); + float b = aStream->ParseSingle(QString("%1 sun color b").arg(GetName())); + mSunColorFromBsp = QColor::fromRgbF(r, g, b); qint32 reflectionProbesPtr, reflectionProbeTexturesPtr; - *aStream - >> mSunPrimaryLightIndex - >> mPrimaryLightCount - >> mCullGroupCount - >> mReflectionProbeCount - >> reflectionProbesPtr - >> reflectionProbeTexturesPtr; + mSunPrimaryLightIndex = aStream->ParseUInt32(QString("%1 sun primary light index").arg(GetName())); + mPrimaryLightCount = aStream->ParseUInt32(QString("%1 primary light count").arg(GetName())); + mCullGroupCount = aStream->ParseInt32(QString("%1 cull group count").arg(GetName())); + mReflectionProbeCount = aStream->ParseUInt32(QString("%1 reflection probe count").arg(GetName())); + reflectionProbesPtr = aStream->ParseInt32(QString("%1 reflection probes ptr").arg(GetName())); + reflectionProbeTexturesPtr = aStream->ParseInt32(QString("%1 reflection probe textures ptr").arg(GetName())); mDpvsPlanes.ParseData(aStream); qint32 cellsPtr, lightmapsPtr; - *aStream - >> mCellBitsCount - >> cellsPtr - >> mLightmapCount - >> lightmapsPtr; + mCellBitsCount = aStream->ParseInt32(QString("%1 cell bits count").arg(GetName())); + cellsPtr = aStream->ParseInt32(QString("%1 cells ptr").arg(GetName())); + mLightmapCount = aStream->ParseInt32(QString("%1 lightmap count").arg(GetName())); + lightmapsPtr = aStream->ParseInt32(QString("%1 lightmaps ptr").arg(GetName())); mLightGrid.ParseData(aStream); qint32 lightMapsPrimaryPtr, lightmapSecondaryPtr, modelsPtr, materialMemoryPtr; - *aStream - >> lightMapsPrimaryPtr - >> lightmapSecondaryPtr - >> mModelCount - >> modelsPtr - >> mMins[0] - >> mMins[1] - >> mMins[2] - >> mMaxs[0] - >> mMaxs[1] - >> mMaxs[2] - >> mChecksum - >> mMaterialMemoryCount - >> materialMemoryPtr; + lightMapsPrimaryPtr = aStream->ParseInt32(QString("%1 lightmaps primary ptr").arg(GetName())); + lightmapSecondaryPtr = aStream->ParseInt32(QString("%1 lightmaps secondary ptr").arg(GetName())); + mModelCount = aStream->ParseInt32(QString("%1 model count").arg(GetName())); + modelsPtr = aStream->ParseInt32(QString("%1 models ptr").arg(GetName())); + + mMins.setX(aStream->ParseSingle(QString("%1 mins x").arg(GetName()))); + mMins.setY(aStream->ParseSingle(QString("%1 mins y").arg(GetName()))); + mMins.setZ(aStream->ParseSingle(QString("%1 mins z").arg(GetName()))); + + mMaxs.setX(aStream->ParseSingle(QString("%1 maxs x").arg(GetName()))); + mMaxs.setY(aStream->ParseSingle(QString("%1 maxs y").arg(GetName()))); + mMaxs.setZ(aStream->ParseSingle(QString("%1 maxs z").arg(GetName()))); + + mChecksum = aStream->ParseUInt32(QString("%1 checksum").arg(GetName())); + mMaterialMemoryCount = aStream->ParseInt32(QString("%1 material memory count").arg(GetName())); + materialMemoryPtr = aStream->ParseInt32(QString("%1 material memory ptr").arg(GetName())); mSun.ParseData(aStream); - for (int i = 0; i < 4; i++) - { - for (int j = 0; j < 4; j++) - { - mOutdoorLookupMatrix[i][j]; + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + mOutdoorLookupMatrix[i][j] = aStream->ParseSingle(QString("%1 outdoor lookup matrix[%2][%3]").arg(GetName()).arg(i).arg(j)); } } qint32 outdoorImagePtr, cellCasterBitsPtr, sceneDynModelPtr, sceneDynBrushPtr, primaryLightEntPtr, primaryLightDynPtr, nonSunPrimaryPtr, shadowGeomPtr, lightRegionPtr; - *aStream - >> outdoorImagePtr - >> cellCasterBitsPtr - >> sceneDynModelPtr - >> sceneDynBrushPtr - >> primaryLightEntPtr - >> primaryLightDynPtr - >> nonSunPrimaryPtr - >> shadowGeomPtr - >> lightRegionPtr; + outdoorImagePtr = aStream->ParseInt32(QString("%1 outdoor image ptr").arg(GetName())); + cellCasterBitsPtr = aStream->ParseInt32(QString("%1 cell caster bits ptr").arg(GetName())); + sceneDynModelPtr = aStream->ParseInt32(QString("%1 scene dyn model ptr").arg(GetName())); + sceneDynBrushPtr = aStream->ParseInt32(QString("%1 scene dyn brush ptr").arg(GetName())); + primaryLightEntPtr = aStream->ParseInt32(QString("%1 primary light entity shadow vis ptr").arg(GetName())); + primaryLightDynPtr = aStream->ParseInt32(QString("%1 primary light dyn ent shadow vis ptr").arg(GetName())); + nonSunPrimaryPtr = aStream->ParseInt32(QString("%1 non sun primary light dyn ent ptr").arg(GetName())); + shadowGeomPtr = aStream->ParseInt32(QString("%1 shadow geom ptr").arg(GetName())); + lightRegionPtr = aStream->ParseInt32(QString("%1 light region ptr").arg(GetName())); mDpvs.ParseData(aStream); mDpvsDyn.ParseData(aStream); @@ -178,19 +171,13 @@ void XGfxWorld::ParseData(QDataStream *aStream) { mName.ParseData(aStream); mBaseName.ParseData(aStream); - if (indicesPtr) - { + if (indicesPtr) { aStream->readRawData(mIndices.data(), 2 * mIndexCount); } - //mIndexBuffer.ParseData(aStream); - - if (skyStartSurfPtr) - { - for (int i = 0; i < mSkySurfCount; i++) - { - qint32 newSurface; - *aStream >> newSurface; + if (skyStartSurfPtr) { + for (int i = 0; i < mSkySurfCount; i++) { + qint32 newSurface = aStream->ParseInt32(QString("%1 sky start surf %2").arg(GetName()).arg(i)); mSkyStartSurfs.append(newSurface); } } @@ -198,20 +185,16 @@ void XGfxWorld::ParseData(QDataStream *aStream) { mSkyImage.ParseData(aStream); mSunLight.ParseData(aStream); - if (reflectionProbesPtr) - { - for (int i = 0; i < mReflectionProbeCount; i++) - { + if (reflectionProbesPtr) { + for (quint32 i = 0; i < mReflectionProbeCount; i++) { XGfxReflectionProbe newProbe; newProbe.ParseData(aStream); mReflectionProbes.append(newProbe); } } - if (reflectionProbeTexturesPtr) - { - for (int i = 0; i < mReflectionProbeCount; i++) - { + if (reflectionProbeTexturesPtr) { + for (quint32 i = 0; i < mReflectionProbeCount; i++) { XGfxTexture newProbeTexture; newProbeTexture.ParseData(aStream); mReflectionProbeTextures.append(newProbeTexture); @@ -220,20 +203,16 @@ void XGfxWorld::ParseData(QDataStream *aStream) { mDpvsPlanes.ParseData(aStream); - if (cellsPtr) - { - for (int i = 0; i < mDpvsPlanes.GetCellCount(); i++) - { + if (cellsPtr) { + for (int i = 0; i < mDpvsPlanes.GetCellCount(); i++) { XGfxCell newCell; newCell.ParseData(aStream); mCells.append(newCell); } } - if (lightmapsPtr) - { - for (int i = 0; i < mLightmapCount; i++) - { + if (lightmapsPtr) { + for (int i = 0; i < mLightmapCount; i++) { XGfxLightmapArray lightMapArray; lightMapArray.ParseData(aStream); mLightmaps.append(lightMapArray); @@ -242,72 +221,58 @@ void XGfxWorld::ParseData(QDataStream *aStream) { mLightGrid.ParseData(aStream); - if (lightMapsPrimaryPtr) - { - for (int i = 0; i < mLightmapCount; i++) - { + if (lightMapsPrimaryPtr) { + for (int i = 0; i < mLightmapCount; i++) { XGfxTexture primaryTexture; primaryTexture.ParseData(aStream); mLightmapPrimaryTextures.append(primaryTexture); } } - if (lightmapSecondaryPtr) - { - for (int i = 0; i < mLightmapCount; i++) - { + + if (lightmapSecondaryPtr) { + for (int i = 0; i < mLightmapCount; i++) { XGfxTexture secondaryTexture; secondaryTexture.ParseData(aStream); mLightmapSecondaryTextures.append(secondaryTexture); } } - if (modelsPtr) - { - for (int i = 0; i < mModelCount; i++) - { + + if (modelsPtr) { + for (int i = 0; i < mModelCount; i++) { XGfxBrushModel newModel; newModel.ParseData(aStream); mModels.append(newModel); } } - if (materialMemoryPtr) - { - for (int i = 0; i < mMaterialMemoryCount; i++) - { + + if (materialMemoryPtr) { + for (int i = 0; i < mMaterialMemoryCount; i++) { XMaterialMemory newMaterialMemory; newMaterialMemory.ParseData(aStream); mMaterialMemory.append(newMaterialMemory); } } - //mVertexData.ParseData(aStream); - //mVertexLayerData.ParseData(aStream); - mSun.ParseData(aStream); mOutdoorImage.ParseData(aStream); - if (cellCasterBitsPtr) - { - for (int i = 0; i < ((mDpvsPlanes.GetCellCount() + 31) >> 5) * mDpvsPlanes.GetCellCount(); i++) - { - quint32 casterBit; - *aStream >> casterBit; + if (cellCasterBitsPtr) { + for (int i = 0; i < ((mDpvsPlanes.GetCellCount() + 31) >> 5) * mDpvsPlanes.GetCellCount(); i++) { + quint32 casterBit = aStream->ParseUInt32(QString("%1 cell caster bit %2").arg(GetName()).arg(i)); mCellCasterBits.append(casterBit); } } - if (sceneDynModelPtr) - { - for (int i = 0; i < mDpvsDyn.GetClientCount(1); i++) - { + if (sceneDynModelPtr) { + for (quint32 i = 0; i < mDpvsDyn.GetClientCount(1); i++) { XGfxSceneDynModel dynModel; dynModel.ParseData(aStream); mSceneDynModel.append(dynModel); } } - if (sceneDynBrushPtr) - { - for (int i = 0; i < mDpvsDyn.GetClientCount(1); i++) - { + + if (sceneDynBrushPtr) { + for (quint32 i = 0; i < mDpvsDyn.GetClientCount(1); i++) { XGfxSceneDynBrush dynBrush; dynBrush.ParseData(aStream); mSceneDynBrush.append(dynBrush); diff --git a/libs/xassets/xgfxworld.h b/libs/xassets/xgfxworld.h index 84bffb4..a49e256 100644 --- a/libs/xassets/xgfxworld.h +++ b/libs/xassets/xgfxworld.h @@ -29,7 +29,7 @@ public: explicit XGfxWorld(); ~XGfxWorld(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: @@ -90,13 +90,3 @@ private: }; #endif // XGFXWORLD_H - - - - - - - - - - diff --git a/libs/xassets/xgfxworlddpvsdynamic.cpp b/libs/xassets/xgfxworlddpvsdynamic.cpp index 85e4d3d..7623bd3 100644 --- a/libs/xassets/xgfxworlddpvsdynamic.cpp +++ b/libs/xassets/xgfxworlddpvsdynamic.cpp @@ -9,7 +9,7 @@ XGfxWorldDpvsDynamic::XGfxWorldDpvsDynamic() , mDynEntVisDataPtrs() , mDynEntVisData() { - + SetName("GFX World DPVS Dynamic"); } XGfxWorldDpvsDynamic::~XGfxWorldDpvsDynamic() @@ -17,14 +17,16 @@ XGfxWorldDpvsDynamic::~XGfxWorldDpvsDynamic() } -uint XGfxWorldDpvsDynamic::GetClientCount(int aIndex) const +quint32 XGfxWorldDpvsDynamic::GetClientCount(int aIndex) const { return mDynEntClientCount[aIndex]; } -void XGfxWorldDpvsDynamic::ParseData(QDataStream *aStream) +void XGfxWorldDpvsDynamic::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxWorldDpvsDynamic::ParseData } void XGfxWorldDpvsDynamic::Clear() diff --git a/libs/xassets/xgfxworlddpvsdynamic.h b/libs/xassets/xgfxworlddpvsdynamic.h index b975999..0dada51 100644 --- a/libs/xassets/xgfxworlddpvsdynamic.h +++ b/libs/xassets/xgfxworlddpvsdynamic.h @@ -11,9 +11,9 @@ public: XGfxWorldDpvsDynamic(); ~XGfxWorldDpvsDynamic(); - uint GetClientCount(int aIndex) const; + quint32 GetClientCount(int aIndex) const; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgfxworlddpvsplanes.cpp b/libs/xassets/xgfxworlddpvsplanes.cpp index 935fd5f..d7166a7 100644 --- a/libs/xassets/xgfxworlddpvsplanes.cpp +++ b/libs/xassets/xgfxworlddpvsplanes.cpp @@ -10,7 +10,7 @@ XGfxWorldDpvsPlanes::XGfxWorldDpvsPlanes() , aSceneEntCellBitsPtr(0) , aSceneEntCellBits() { - + SetName("GFX World DPVS Planes"); } XGfxWorldDpvsPlanes::~XGfxWorldDpvsPlanes() @@ -23,9 +23,11 @@ int XGfxWorldDpvsPlanes::GetCellCount() const return aCellCount; } -void XGfxWorldDpvsPlanes::ParseData(QDataStream *aStream) +void XGfxWorldDpvsPlanes::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxWorldDpvsPlanes::ParseData } void XGfxWorldDpvsPlanes::Clear() diff --git a/libs/xassets/xgfxworlddpvsplanes.h b/libs/xassets/xgfxworlddpvsplanes.h index c51a6b2..41751eb 100644 --- a/libs/xassets/xgfxworlddpvsplanes.h +++ b/libs/xassets/xgfxworlddpvsplanes.h @@ -14,7 +14,7 @@ public: int GetCellCount() const; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxworlddpvsstatic.cpp b/libs/xassets/xgfxworlddpvsstatic.cpp index 7092f3a..03db094 100644 --- a/libs/xassets/xgfxworlddpvsstatic.cpp +++ b/libs/xassets/xgfxworlddpvsstatic.cpp @@ -24,7 +24,7 @@ XGfxWorldDpvsStatic::XGfxWorldDpvsStatic() , mSurfaceCastsSunShadow(nullptr) , mUsageCount(0) { - + SetName("GFX World DPVS Static"); } XGfxWorldDpvsStatic::~XGfxWorldDpvsStatic() @@ -32,9 +32,11 @@ XGfxWorldDpvsStatic::~XGfxWorldDpvsStatic() } -void XGfxWorldDpvsStatic::ParseData(QDataStream *aStream) +void XGfxWorldDpvsStatic::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XGfxWorldDpvsStatic::ParseData } void XGfxWorldDpvsStatic::Clear() diff --git a/libs/xassets/xgfxworlddpvsstatic.h b/libs/xassets/xgfxworlddpvsstatic.h index 6d783e3..4b327f0 100644 --- a/libs/xassets/xgfxworlddpvsstatic.h +++ b/libs/xassets/xgfxworlddpvsstatic.h @@ -15,30 +15,30 @@ public: XGfxWorldDpvsStatic(); ~XGfxWorldDpvsStatic(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: - uint mModelCount; - uint mStaticSurfaceCount; - uint mLitSurfsBegin; - uint mLitSurfsEnd; - uint mDecalSurfsBegin; - uint mDecalSurfsEnd; - uint mEmissiveSurfsBegin; - uint mEmissiveSurfsEnd; - uint mModelVisDataCount; - uint mSurfaceVisDataCount; + quint32 mModelCount; + quint32 mStaticSurfaceCount; + quint32 mLitSurfsBegin; + quint32 mLitSurfsEnd; + quint32 mDecalSurfsBegin; + quint32 mDecalSurfsEnd; + quint32 mEmissiveSurfsBegin; + quint32 mEmissiveSurfsEnd; + quint32 mModelVisDataCount; + quint32 mSurfaceVisDataCount; QVector mSmodelVisData; QVector mSurfaceVisData; - uint *mLodData; + quint32*mLodData; quint32 *mSortedSurfIndex; QVector *mModelInsts; QVector *mSurfaces; QVector *mCullGroups; QVector *mModelDrawInsts; QVector *mSurfaceMaterials; - uint *mSurfaceCastsSunShadow; + quint32*mSurfaceCastsSunShadow; int mUsageCount; }; diff --git a/libs/xassets/xgfxworldstreaminfo.cpp b/libs/xassets/xgfxworldstreaminfo.cpp index f64ce17..0767b61 100644 --- a/libs/xassets/xgfxworldstreaminfo.cpp +++ b/libs/xassets/xgfxworldstreaminfo.cpp @@ -7,6 +7,7 @@ XGfxWorldStreamInfo::XGfxWorldStreamInfo() , mLeafRefCount(0) , mLeafRefs() { + SetName("GFX World Stream Info"); } XGfxWorldStreamInfo::~XGfxWorldStreamInfo() @@ -14,7 +15,7 @@ XGfxWorldStreamInfo::~XGfxWorldStreamInfo() } -void XGfxWorldStreamInfo::ParseData(QDataStream *aStream) { +void XGfxWorldStreamInfo::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mAabbTreeCount; diff --git a/libs/xassets/xgfxworldstreaminfo.h b/libs/xassets/xgfxworldstreaminfo.h index 90f64ad..86f14ff 100644 --- a/libs/xassets/xgfxworldstreaminfo.h +++ b/libs/xassets/xgfxworldstreaminfo.h @@ -12,7 +12,7 @@ public: explicit XGfxWorldStreamInfo(); ~XGfxWorldStreamInfo(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxworldvertex.cpp b/libs/xassets/xgfxworldvertex.cpp index a4b71e4..525d997 100644 --- a/libs/xassets/xgfxworldvertex.cpp +++ b/libs/xassets/xgfxworldvertex.cpp @@ -10,6 +10,7 @@ XGfxWorldVertex::XGfxWorldVertex() , mNormal() , mTangent() { + SetName("GFX World Vertex"); } XGfxWorldVertex::~XGfxWorldVertex() @@ -17,31 +18,24 @@ XGfxWorldVertex::~XGfxWorldVertex() } -void XGfxWorldVertex::ParseData(QDataStream *aStream) { +void XGfxWorldVertex::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream - >> mXYZ[0] - >> mXYZ[1] - >> mXYZ[2] - >> mBinormalSign; + mXYZ.setX(aStream->ParseSingle(QString("%1 xyz x").arg(GetName()))); + mXYZ.setY(aStream->ParseSingle(QString("%1 xyz y").arg(GetName()))); + mXYZ.setZ(aStream->ParseSingle(QString("%1 xyz z").arg(GetName()))); + mBinormalSign = aStream->ParseSingle(QString("%1 binormal sign").arg(GetName())); - // Read color components - quint8 r, g, b, a; - *aStream - >> r - >> g - >> b - >> a; + quint8 r = aStream->ParseUInt8(QString("%1 color r").arg(GetName())); + quint8 g = aStream->ParseUInt8(QString("%1 color g").arg(GetName())); + quint8 b = aStream->ParseUInt8(QString("%1 color b").arg(GetName())); + quint8 a = aStream->ParseUInt8(QString("%1 color a").arg(GetName())); mColor.SetColor(r, g, b, a); - // Read texture coordinates - *aStream - >> mTexCoord[0] - >> mTexCoord[1] - >> mLmapCoord[0] - >> mLmapCoord[1]; + mTexCoord.setX(aStream->ParseSingle(QString("%1 texcoord u").arg(GetName()))); + mTexCoord.setY(aStream->ParseSingle(QString("%1 texcoord v").arg(GetName()))); + mLmapCoord.setX(aStream->ParseSingle(QString("%1 lmapcoord u").arg(GetName()))); + mLmapCoord.setY(aStream->ParseSingle(QString("%1 lmapcoord v").arg(GetName()))); - // Read normal and tangent (assuming they're PackedUnitVec) mNormal.ParseData(aStream); mTangent.ParseData(aStream); } diff --git a/libs/xassets/xgfxworldvertex.h b/libs/xassets/xgfxworldvertex.h index a14d10a..af3172b 100644 --- a/libs/xassets/xgfxworldvertex.h +++ b/libs/xassets/xgfxworldvertex.h @@ -13,7 +13,7 @@ public: explicit XGfxWorldVertex(); ~XGfxWorldVertex(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: @@ -27,11 +27,3 @@ private: }; #endif // XGFXWORLDVERTEX_H - - - - - - - - diff --git a/libs/xassets/xgfxworldvertexdata.cpp b/libs/xassets/xgfxworldvertexdata.cpp index fa6e37c..7da9ba5 100644 --- a/libs/xassets/xgfxworldvertexdata.cpp +++ b/libs/xassets/xgfxworldvertexdata.cpp @@ -5,7 +5,7 @@ XGfxWorldVertexData::XGfxWorldVertexData() , mVertices() , mWorldVertexBuffer() { - + SetName("GFX World Vertex Data"); } XGfxWorldVertexData::~XGfxWorldVertexData() @@ -19,7 +19,7 @@ void XGfxWorldVertexData::Clear() mWorldVertexBuffer.Clear(); } -void XGfxWorldVertexData::ParseData(QDataStream *aStream) { +void XGfxWorldVertexData::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { qint32 worldVertexPtr; diff --git a/libs/xassets/xgfxworldvertexdata.h b/libs/xassets/xgfxworldvertexdata.h index 0ab62ee..4804f3e 100644 --- a/libs/xassets/xgfxworldvertexdata.h +++ b/libs/xassets/xgfxworldvertexdata.h @@ -13,7 +13,7 @@ public: explicit XGfxWorldVertexData(); ~XGfxWorldVertexData(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgfxworldvertexlayerdata.cpp b/libs/xassets/xgfxworldvertexlayerdata.cpp index 1379979..85ee387 100644 --- a/libs/xassets/xgfxworldvertexlayerdata.cpp +++ b/libs/xassets/xgfxworldvertexlayerdata.cpp @@ -6,7 +6,7 @@ XGfxWorldVertexLayerData::XGfxWorldVertexLayerData() , mData() , mLayerVb() { - + SetName("GFX World Vertex Layer Data"); } XGfxWorldVertexLayerData::~XGfxWorldVertexLayerData() @@ -14,9 +14,11 @@ XGfxWorldVertexLayerData::~XGfxWorldVertexLayerData() } -void XGfxWorldVertexLayerData::ParseData(QDataStream *aStream) +void XGfxWorldVertexLayerData::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGfxWorldVertexLayerData::ParseData } void XGfxWorldVertexLayerData::Clear() diff --git a/libs/xassets/xgfxworldvertexlayerdata.h b/libs/xassets/xgfxworldvertexlayerdata.h index 1a2de5b..111460f 100644 --- a/libs/xassets/xgfxworldvertexlayerdata.h +++ b/libs/xassets/xgfxworldvertexlayerdata.h @@ -12,7 +12,7 @@ public: explicit XGfxWorldVertexLayerData(); ~XGfxWorldVertexLayerData(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xglyph.cpp b/libs/xassets/xglyph.cpp index fcf17cf..d560632 100644 --- a/libs/xassets/xglyph.cpp +++ b/libs/xassets/xglyph.cpp @@ -13,7 +13,7 @@ XGlyph::XGlyph() , mS1(0) , mT1(0) { - + SetName("Glyph"); } XGlyph::~XGlyph() @@ -35,7 +35,9 @@ void XGlyph::Clear() mT1 = 0; } -void XGlyph::ParseData(QDataStream *aStream) +void XGlyph::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGlyph::ParseData } diff --git a/libs/xassets/xglyph.h b/libs/xassets/xglyph.h index aaadfa4..a9c2b1d 100644 --- a/libs/xassets/xglyph.h +++ b/libs/xassets/xglyph.h @@ -10,7 +10,7 @@ public: ~XGlyph(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: quint32 mLetter; diff --git a/libs/xassets/xgputexturefetchconstant.cpp b/libs/xassets/xgputexturefetchconstant.cpp index 5d767ec..1070fb5 100644 --- a/libs/xassets/xgputexturefetchconstant.cpp +++ b/libs/xassets/xgputexturefetchconstant.cpp @@ -3,7 +3,7 @@ XGpuTextureFetchConstant::XGpuTextureFetchConstant() : XAsset() { - + SetName("GPU Texture Fetch Constant"); } XGpuTextureFetchConstant::~XGpuTextureFetchConstant() @@ -11,9 +11,11 @@ XGpuTextureFetchConstant::~XGpuTextureFetchConstant() } -void XGpuTextureFetchConstant::ParseData(QDataStream *aStream) +void XGpuTextureFetchConstant::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureFetchConstant::ParseData } void XGpuTextureFetchConstant::Clear() diff --git a/libs/xassets/xgputexturefetchconstant.h b/libs/xassets/xgputexturefetchconstant.h index 970e177..6a4e3c0 100644 --- a/libs/xassets/xgputexturefetchconstant.h +++ b/libs/xassets/xgputexturefetchconstant.h @@ -13,7 +13,7 @@ public: explicit XGpuTextureFetchConstant(); ~XGpuTextureFetchConstant(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgputexturefetchconstantraw.cpp b/libs/xassets/xgputexturefetchconstantraw.cpp index b9fa3d0..e07ffde 100644 --- a/libs/xassets/xgputexturefetchconstantraw.cpp +++ b/libs/xassets/xgputexturefetchconstantraw.cpp @@ -1 +1,3 @@ #include "xgputexturefetchconstant.h" + +typedef XGpuTextureFetchConstant XGpuTextureFetchConstantRaw; diff --git a/libs/xassets/xgputexturefetchconstantraw.h b/libs/xassets/xgputexturefetchconstantraw.h index 47481fc..52d9edf 100644 --- a/libs/xassets/xgputexturefetchconstantraw.h +++ b/libs/xassets/xgputexturefetchconstantraw.h @@ -9,7 +9,7 @@ public: XGpuTextureFetchConstant(); ~XGpuTextureFetchConstant(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xgputexturesize1d.cpp b/libs/xassets/xgputexturesize1d.cpp index f2311ae..c846c64 100644 --- a/libs/xassets/xgputexturesize1d.cpp +++ b/libs/xassets/xgputexturesize1d.cpp @@ -4,12 +4,14 @@ XGpuTextureSize1D::XGpuTextureSize1D() : XAsset() , mWidth(0) { - + SetName("GPU Texture Size 1D"); } -void XGpuTextureSize1D::ParseData(QDataStream *aStream) +void XGpuTextureSize1D::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureSize1D::ParseData } void XGpuTextureSize1D::Clear() diff --git a/libs/xassets/xgputexturesize1d.h b/libs/xassets/xgputexturesize1d.h index f8174c4..009424b 100644 --- a/libs/xassets/xgputexturesize1d.h +++ b/libs/xassets/xgputexturesize1d.h @@ -8,7 +8,7 @@ class XGpuTextureSize1D : public XAsset public: explicit XGpuTextureSize1D(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgputexturesize2d.cpp b/libs/xassets/xgputexturesize2d.cpp index 4226b2b..1d266a7 100644 --- a/libs/xassets/xgputexturesize2d.cpp +++ b/libs/xassets/xgputexturesize2d.cpp @@ -5,12 +5,14 @@ XGpuTextureSize2D::XGpuTextureSize2D() , mWidth(0) , mHeight(0) { - + SetName("GPU Texture Size 2D"); } -void XGpuTextureSize2D::ParseData(QDataStream *aStream) +void XGpuTextureSize2D::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureSize2D::ParseData } void XGpuTextureSize2D::Clear() diff --git a/libs/xassets/xgputexturesize2d.h b/libs/xassets/xgputexturesize2d.h index 65a986b..16453b8 100644 --- a/libs/xassets/xgputexturesize2d.h +++ b/libs/xassets/xgputexturesize2d.h @@ -8,7 +8,7 @@ class XGpuTextureSize2D : public XAsset public: explicit XGpuTextureSize2D(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgputexturesize3d.cpp b/libs/xassets/xgputexturesize3d.cpp index 687ba1c..8868c4d 100644 --- a/libs/xassets/xgputexturesize3d.cpp +++ b/libs/xassets/xgputexturesize3d.cpp @@ -4,12 +4,14 @@ XGpuTextureSize3D::XGpuTextureSize3D() : XAsset() , mWidth(0) { - + SetName("GPU Texture Size 3D"); } -void XGpuTextureSize3D::ParseData(QDataStream *aStream) +void XGpuTextureSize3D::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureSize3D::ParseData } void XGpuTextureSize3D::Clear() diff --git a/libs/xassets/xgputexturesize3d.h b/libs/xassets/xgputexturesize3d.h index d6ffa6a..3bf701e 100644 --- a/libs/xassets/xgputexturesize3d.h +++ b/libs/xassets/xgputexturesize3d.h @@ -8,7 +8,7 @@ class XGpuTextureSize3D : public XAsset public: explicit XGpuTextureSize3D(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgputexturesizestack.cpp b/libs/xassets/xgputexturesizestack.cpp index 0533172..7f4617f 100644 --- a/libs/xassets/xgputexturesizestack.cpp +++ b/libs/xassets/xgputexturesizestack.cpp @@ -6,12 +6,14 @@ XGpuTextureSizeStack::XGpuTextureSizeStack() , mHeight(0) , mDepth(0) { - + SetName("GPU Texture Size Stack"); } -void XGpuTextureSizeStack::ParseData(QDataStream *aStream) +void XGpuTextureSizeStack::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureSizeStack::ParseData } void XGpuTextureSizeStack::Clear() diff --git a/libs/xassets/xgputexturesizestack.h b/libs/xassets/xgputexturesizestack.h index e7617a0..8025d66 100644 --- a/libs/xassets/xgputexturesizestack.h +++ b/libs/xassets/xgputexturesizestack.h @@ -8,7 +8,7 @@ class XGpuTextureSizeStack : public XAsset public: explicit XGpuTextureSizeStack(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgputexturesizestack1d.cpp b/libs/xassets/xgputexturesizestack1d.cpp index 5c034a6..c250fdc 100644 --- a/libs/xassets/xgputexturesizestack1d.cpp +++ b/libs/xassets/xgputexturesizestack1d.cpp @@ -4,12 +4,14 @@ XGpuTextureSizeStack1D::XGpuTextureSizeStack1D() : XAsset() , mWidth(0) { - + SetName("GPU Texture Size Stack 1D"); } -void XGpuTextureSizeStack1D::ParseData(QDataStream *aStream) +void XGpuTextureSizeStack1D::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureSizeStack1D::ParseData } void XGpuTextureSizeStack1D::Clear() diff --git a/libs/xassets/xgputexturesizestack1d.h b/libs/xassets/xgputexturesizestack1d.h index e6671da..2e9e055 100644 --- a/libs/xassets/xgputexturesizestack1d.h +++ b/libs/xassets/xgputexturesizestack1d.h @@ -8,7 +8,7 @@ class XGpuTextureSizeStack1D : public XAsset public: explicit XGpuTextureSizeStack1D(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgputexturesizestack2d.cpp b/libs/xassets/xgputexturesizestack2d.cpp index e0eabc5..4febe92 100644 --- a/libs/xassets/xgputexturesizestack2d.cpp +++ b/libs/xassets/xgputexturesizestack2d.cpp @@ -5,12 +5,14 @@ XGpuTextureSizeStack2D::XGpuTextureSizeStack2D() , mWidth(0) , mHeight(0) { - + SetName("GPU Texture Size Stack 2D"); } -void XGpuTextureSizeStack2D::ParseData(QDataStream *aStream) +void XGpuTextureSizeStack2D::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureSizeStack2D::ParseData } void XGpuTextureSizeStack2D::Clear() diff --git a/libs/xassets/xgputexturesizestack2d.h b/libs/xassets/xgputexturesizestack2d.h index 3dc3557..8d01d22 100644 --- a/libs/xassets/xgputexturesizestack2d.h +++ b/libs/xassets/xgputexturesizestack2d.h @@ -8,7 +8,7 @@ class XGpuTextureSizeStack2D : public XAsset public: explicit XGpuTextureSizeStack2D(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgputexturesizestack3d.cpp b/libs/xassets/xgputexturesizestack3d.cpp index 9ef273b..4dceebe 100644 --- a/libs/xassets/xgputexturesizestack3d.cpp +++ b/libs/xassets/xgputexturesizestack3d.cpp @@ -6,12 +6,14 @@ XGpuTextureSizeStack3D::XGpuTextureSizeStack3D() , mHeight(0) , mDepth(0) { - + SetName("GPU Texture Size Stack 3D"); } -void XGpuTextureSizeStack3D::ParseData(QDataStream *aStream) +void XGpuTextureSizeStack3D::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XGpuTextureSizeStack3D::ParseData } void XGpuTextureSizeStack3D::Clear() diff --git a/libs/xassets/xgputexturesizestack3d.h b/libs/xassets/xgputexturesizestack3d.h index 19d1204..494d46d 100644 --- a/libs/xassets/xgputexturesizestack3d.h +++ b/libs/xassets/xgputexturesizestack3d.h @@ -8,7 +8,7 @@ class XGpuTextureSizeStack3D : public XAsset public: explicit XGpuTextureSizeStack3D(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xgpuvertexfetchconstant.cpp b/libs/xassets/xgpuvertexfetchconstant.cpp index f591d00..9a1f50b 100644 --- a/libs/xassets/xgpuvertexfetchconstant.cpp +++ b/libs/xassets/xgpuvertexfetchconstant.cpp @@ -3,17 +3,21 @@ XGpuVertexFetchConstant::XGpuVertexFetchConstant() : XAsset() , mRequest() - , mDword() { - + SetName("GPU Vertex Fetch Constant"); } -void XGpuVertexFetchConstant::ParseData(QDataStream *aStream) +XGpuVertexFetchConstant::~XGpuVertexFetchConstant() { - + +} + +void XGpuVertexFetchConstant::ParseData(XDataStream *aStream) +{ + mRequest.ParseData(aStream); } void XGpuVertexFetchConstant::Clear() { - + mRequest.Clear(); } diff --git a/libs/xassets/xgpuvertexfetchconstant.h b/libs/xassets/xgpuvertexfetchconstant.h index 4811467..b304704 100644 --- a/libs/xassets/xgpuvertexfetchconstant.h +++ b/libs/xassets/xgpuvertexfetchconstant.h @@ -7,14 +7,14 @@ class XGpuVertexFetchConstant : public XAsset { public: - XGpuVertexFetchConstant(); + explicit XGpuVertexFetchConstant(); + ~XGpuVertexFetchConstant(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: XGpuVertexRawRequest mRequest; - quint32 mDword[2]; }; #endif // XGPUVERTEXFETCHCONSTANT_H diff --git a/libs/xassets/xgpuvertexrawrequest.cpp b/libs/xassets/xgpuvertexrawrequest.cpp index ca8ee6f..32e0716 100644 --- a/libs/xassets/xgpuvertexrawrequest.cpp +++ b/libs/xassets/xgpuvertexrawrequest.cpp @@ -10,12 +10,43 @@ XGpuVertexRawRequest::XGpuVertexRawRequest() , mRequestSize(0) , mClampDisable(0) { - + SetName("GPU Vertex Raw Request"); } -void XGpuVertexRawRequest::ParseData(QDataStream *aStream) +void XGpuVertexRawRequest::ParseData(XDataStream *aStream) { - + quint32 w0; + *aStream >> w0; + if (IsDebug()) + { + qDebug() << QString("[%1] w0 = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(w0); + } + + quint32 w1; + *aStream >> w1; + if (IsDebug()) + { + qDebug() << QString("[%1] w1 = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(w1); + } + + mType = (w0 ) & 0x3u; + mBaseAddress = (w0 >> 2 ) & 0x3FFFFFFFu; + mEndian = (w1 ) & 0x3u; + mSize = (w1 >> 2 ) & 0xFFFFFFu; + mAddressClamp = (w1 >> 26) & 0x1u; + mRequestSize = (w1 >> 28) & 0x3u; + mClampDisable = (w1 >> 30) & 0x3u; + + if (IsDebug()) + { + qDebug() << QString("[%1] mType = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mType); + qDebug() << QString("[%1] mBaseAddress = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mBaseAddress); + qDebug() << QString("[%1] mEndian = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(w1); + qDebug() << QString("[%1] mSize = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mSize); + qDebug() << QString("[%1] mAddressClamp = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mAddressClamp); + qDebug() << QString("[%1] mRequestSize = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mRequestSize); + qDebug() << QString("[%1] mClampDisable = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mClampDisable); + } } void XGpuVertexRawRequest::Clear() diff --git a/libs/xassets/xgpuvertexrawrequest.h b/libs/xassets/xgpuvertexrawrequest.h index 9c33e35..8f3f33e 100644 --- a/libs/xassets/xgpuvertexrawrequest.h +++ b/libs/xassets/xgpuvertexrawrequest.h @@ -8,7 +8,7 @@ class XGpuVertexRawRequest : public XAsset public: XGpuVertexRawRequest(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xitemdef.cpp b/libs/xassets/xitemdef.cpp index 16a83a5..8429ecf 100644 --- a/libs/xassets/xitemdef.cpp +++ b/libs/xassets/xitemdef.cpp @@ -45,7 +45,7 @@ XItemDef::XItemDef() , mRectHExp() , mForecolorAExp() { - + SetName("Item Definition"); } XItemDef::~XItemDef() @@ -63,7 +63,9 @@ void XItemDef::Clear() } -void XItemDef::ParseData(QDataStream *aStream) +void XItemDef::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XItemDef::ParseData } diff --git a/libs/xassets/xitemdef.h b/libs/xassets/xitemdef.h index cba7672..6486e3d 100644 --- a/libs/xassets/xitemdef.h +++ b/libs/xassets/xitemdef.h @@ -18,7 +18,7 @@ public: int GetType() const; void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XWindowDef mWindow; diff --git a/libs/xassets/xitemdefdata.cpp b/libs/xassets/xitemdefdata.cpp index 9f3c850..56c6566 100644 --- a/libs/xassets/xitemdefdata.cpp +++ b/libs/xassets/xitemdefdata.cpp @@ -9,7 +9,7 @@ XItemDefData::XItemDefData() , mEnumDvarName() , mParent(nullptr) { - + SetName("Item Definition Data"); } XItemDefData::XItemDefData(XItemDef &aParent) @@ -37,7 +37,7 @@ void XItemDefData::Clear() mParent = nullptr; } -void XItemDefData::ParseData(QDataStream *aStream) +void XItemDefData::ParseData(XDataStream *aStream) { if (!mParent) { diff --git a/libs/xassets/xitemdefdata.h b/libs/xassets/xitemdefdata.h index 18ad7ea..b1ae70e 100644 --- a/libs/xassets/xitemdefdata.h +++ b/libs/xassets/xitemdefdata.h @@ -16,7 +16,7 @@ public: ~XItemDefData(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XListBoxDef mListBox; diff --git a/libs/xassets/xitemkeyhandler.cpp b/libs/xassets/xitemkeyhandler.cpp index d5ea4d2..45dbc62 100644 --- a/libs/xassets/xitemkeyhandler.cpp +++ b/libs/xassets/xitemkeyhandler.cpp @@ -6,7 +6,7 @@ XItemKeyHandler::XItemKeyHandler() , mAction() , mNext(nullptr) { - + SetName("Item Key Handler"); } XItemKeyHandler::~XItemKeyHandler() @@ -14,7 +14,7 @@ XItemKeyHandler::~XItemKeyHandler() } -void XItemKeyHandler::ParseData(QDataStream *aStream) +void XItemKeyHandler::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xitemkeyhandler.h b/libs/xassets/xitemkeyhandler.h index 7171274..9f2245b 100644 --- a/libs/xassets/xitemkeyhandler.h +++ b/libs/xassets/xitemkeyhandler.h @@ -10,7 +10,7 @@ public: explicit XItemKeyHandler(); ~XItemKeyHandler(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xlistboxdef.cpp b/libs/xassets/xlistboxdef.cpp index 011de91..3d64f77 100644 --- a/libs/xassets/xlistboxdef.cpp +++ b/libs/xassets/xlistboxdef.cpp @@ -18,7 +18,7 @@ XListBoxDef::XListBoxDef() , mDisableColor() , mSelectIcon(new XMaterial()) { - + SetName("List Box Definition"); } XListBoxDef::~XListBoxDef() @@ -26,9 +26,11 @@ XListBoxDef::~XListBoxDef() } -void XListBoxDef::ParseData(QDataStream *aStream) +void XListBoxDef::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XListBoxDef::ParseData } void XListBoxDef::Clear() diff --git a/libs/xassets/xlistboxdef.h b/libs/xassets/xlistboxdef.h index 00f3650..f07f365 100644 --- a/libs/xassets/xlistboxdef.h +++ b/libs/xassets/xlistboxdef.h @@ -11,7 +11,7 @@ public: explicit XListBoxDef(); ~XListBoxDef(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xloadedsound.cpp b/libs/xassets/xloadedsound.cpp index 1b9747a..b204b3f 100644 --- a/libs/xassets/xloadedsound.cpp +++ b/libs/xassets/xloadedsound.cpp @@ -5,7 +5,7 @@ XLoadedSound::XLoadedSound() , mName() , mSound() { - + SetName("Loaded Sound"); } XLoadedSound::~XLoadedSound() @@ -13,7 +13,7 @@ XLoadedSound::~XLoadedSound() } -void XLoadedSound::ParseData(QDataStream *aStream) +void XLoadedSound::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xloadedsound.h b/libs/xassets/xloadedsound.h index 9003b1d..b85cb0c 100644 --- a/libs/xassets/xloadedsound.h +++ b/libs/xassets/xloadedsound.h @@ -11,7 +11,7 @@ public: explicit XLoadedSound(); ~XLoadedSound(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xlocalizeentry.cpp b/libs/xassets/xlocalizeentry.cpp index 23fe049..b17578d 100644 --- a/libs/xassets/xlocalizeentry.cpp +++ b/libs/xassets/xlocalizeentry.cpp @@ -31,7 +31,7 @@ void XLocalizeEntry::Clear() mName->Clear(); } -void XLocalizeEntry::ParseData(QDataStream *aStream) +void XLocalizeEntry::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xlocalizeentry.h b/libs/xassets/xlocalizeentry.h index 3d28fb7..1fdee10 100644 --- a/libs/xassets/xlocalizeentry.h +++ b/libs/xassets/xlocalizeentry.h @@ -20,7 +20,7 @@ public: XString* GetName() const; virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XString* mValue; diff --git a/libs/xassets/xmapents.cpp b/libs/xassets/xmapents.cpp index 71dc2cd..fffe95f 100644 --- a/libs/xassets/xmapents.cpp +++ b/libs/xassets/xmapents.cpp @@ -22,7 +22,7 @@ void XMapEnts::Clear() mNumEntityChars = 0; } -void XMapEnts::ParseData(QDataStream *aStream) +void XMapEnts::ParseData(XDataStream *aStream) { mName.ParsePtr(aStream, false); mEntityString.ParsePtr(aStream, false); diff --git a/libs/xassets/xmapents.h b/libs/xassets/xmapents.h index 9d67e21..89d66c5 100644 --- a/libs/xassets/xmapents.h +++ b/libs/xassets/xmapents.h @@ -11,7 +11,7 @@ public: ~XMapEnts(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XString mName; diff --git a/libs/xassets/xmaptype.h b/libs/xassets/xmaptype.h index 75747b1..0dac0b0 100644 --- a/libs/xassets/xmaptype.h +++ b/libs/xassets/xmaptype.h @@ -1,7 +1,9 @@ #ifndef XMAPTYPE_H #define XMAPTYPE_H -enum XMapType +#include + +enum XMapType : quint32 { MAPTYPE_NONE = 0x0, MAPTYPE_INVALID1 = 0x1, diff --git a/libs/xassets/xmaterial.cpp b/libs/xassets/xmaterial.cpp index 03795a0..983e01f 100644 --- a/libs/xassets/xmaterial.cpp +++ b/libs/xassets/xmaterial.cpp @@ -23,21 +23,45 @@ XMaterial::~XMaterial() } -void XMaterial::ParseData(QDataStream *aStream) +void XMaterial::ParseData(XDataStream *aStream) { mInfo.ParseData(aStream); for (int i = 0; i < 26; i++) { *aStream >> mStateBitsEntry[i]; + if (IsDebug()) + { + qDebug() << QString("[%1] mStateBitsEntry[%2] = %3").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(i).arg(mStateBitsEntry[i]); + } } - *aStream - >> mTextureCount - >> mConstantCount - >> mStateBitsCount - >> mStateFlags - >> mCameraRegion; + + *aStream >> mTextureCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mTextureCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mTextureCount); + } + *aStream >> mConstantCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mConstantCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mConstantCount); + } + *aStream >> mStateBitsCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mStateBitsCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mStateBitsCount); + } + *aStream >> mStateFlags; + if (IsDebug()) + { + qDebug() << QString("[%1] mStateFlags = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mStateFlags); + } + *aStream >> mCameraRegion; + if (IsDebug()) + { + qDebug() << QString("[%1] mCameraRegion = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mCameraRegion); + } aStream->skipRawData(1); diff --git a/libs/xassets/xmaterial.h b/libs/xassets/xmaterial.h index 9192ae9..807f8fa 100644 --- a/libs/xassets/xmaterial.h +++ b/libs/xassets/xmaterial.h @@ -13,7 +13,7 @@ public: explicit XMaterial(); ~XMaterial() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmaterialargumentcodeconst.cpp b/libs/xassets/xmaterialargumentcodeconst.cpp index fdeaf15..e2ef28a 100644 --- a/libs/xassets/xmaterialargumentcodeconst.cpp +++ b/libs/xassets/xmaterialargumentcodeconst.cpp @@ -6,7 +6,7 @@ XMaterialArgumentCodeConst::XMaterialArgumentCodeConst() , mFirstRow(0) , mRowCount(0) { - + SetName("Material Argument Code Constant"); } void XMaterialArgumentCodeConst::Clear() @@ -14,7 +14,9 @@ void XMaterialArgumentCodeConst::Clear() } -void XMaterialArgumentCodeConst::ParseData(QDataStream *aStream) +void XMaterialArgumentCodeConst::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XMaterialArgumentCodeConst::ParseData } diff --git a/libs/xassets/xmaterialargumentcodeconst.h b/libs/xassets/xmaterialargumentcodeconst.h index 0c7197b..ad12606 100644 --- a/libs/xassets/xmaterialargumentcodeconst.h +++ b/libs/xassets/xmaterialargumentcodeconst.h @@ -9,7 +9,7 @@ public: explicit XMaterialArgumentCodeConst(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: int mIndex; diff --git a/libs/xassets/xmaterialargumentdef.cpp b/libs/xassets/xmaterialargumentdef.cpp index 48d03e0..aa19dde 100644 --- a/libs/xassets/xmaterialargumentdef.cpp +++ b/libs/xassets/xmaterialargumentdef.cpp @@ -6,7 +6,7 @@ XMaterialArgumentDef::XMaterialArgumentDef() , mCodeSampler(0) , mParent(nullptr) { - + SetName("Material Argument Definition"); } XMaterialArgumentDef::XMaterialArgumentDef(XMaterialShaderArgument &aParent) @@ -14,7 +14,7 @@ XMaterialArgumentDef::XMaterialArgumentDef(XMaterialShaderArgument &aParent) , mCodeSampler(0) , mParent(&aParent) { - + SetName("Material Argument Definition"); } XMaterialArgumentDef::~XMaterialArgumentDef() @@ -27,7 +27,7 @@ void XMaterialArgumentDef::Clear() } -void XMaterialArgumentDef::ParseData(QDataStream *aStream) +void XMaterialArgumentDef::ParseData(XDataStream *aStream) { if (!mParent) { diff --git a/libs/xassets/xmaterialargumentdef.h b/libs/xassets/xmaterialargumentdef.h index 4dcdaa3..5a9ac84 100644 --- a/libs/xassets/xmaterialargumentdef.h +++ b/libs/xassets/xmaterialargumentdef.h @@ -13,7 +13,7 @@ public: ~XMaterialArgumentDef(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: qint32 mCodeSampler; diff --git a/libs/xassets/xmaterialconstantdef.cpp b/libs/xassets/xmaterialconstantdef.cpp index d91c229..29cd794 100644 --- a/libs/xassets/xmaterialconstantdef.cpp +++ b/libs/xassets/xmaterialconstantdef.cpp @@ -6,7 +6,7 @@ XMaterialConstantDef::XMaterialConstantDef() , mName() , mLiteral() { - + SetName("Material Constant Definition"); } XMaterialConstantDef::~XMaterialConstantDef() @@ -14,7 +14,7 @@ XMaterialConstantDef::~XMaterialConstantDef() } -void XMaterialConstantDef::ParseData(QDataStream *aStream) +void XMaterialConstantDef::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xmaterialconstantdef.h b/libs/xassets/xmaterialconstantdef.h index 7f66705..d480e50 100644 --- a/libs/xassets/xmaterialconstantdef.h +++ b/libs/xassets/xmaterialconstantdef.h @@ -12,7 +12,7 @@ public: explicit XMaterialConstantDef(); ~XMaterialConstantDef(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmaterialinfo.cpp b/libs/xassets/xmaterialinfo.cpp index 64cad04..72e8d40 100644 --- a/libs/xassets/xmaterialinfo.cpp +++ b/libs/xassets/xmaterialinfo.cpp @@ -10,7 +10,7 @@ XMaterialInfo::XMaterialInfo() , mDrawSurf() , mSurfaceTypeBits(0) { - + SetName("Material Info"); } XMaterialInfo::~XMaterialInfo() @@ -18,19 +18,43 @@ XMaterialInfo::~XMaterialInfo() } -void XMaterialInfo::ParseData(QDataStream *aStream) +void XMaterialInfo::ParseData(XDataStream *aStream) { mName.ParsePtr(aStream, false); - *aStream - >> mGameFlags - >> mSortKey - >> mTextureAtlasRowCount - >> mTextureAtlasColumnCount; + + *aStream >> mGameFlags; + if (IsDebug()) + { + qDebug() << QString("[%1] mGameFlags = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mGameFlags); + } + + *aStream >> mSortKey; + if (IsDebug()) + { + qDebug() << QString("[%1] mSortKey = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mSortKey); + } + + *aStream >> mTextureAtlasRowCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mTextureAtlasRowCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mTextureAtlasRowCount); + } + + *aStream >> mTextureAtlasColumnCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mTextureAtlasColumnCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mTextureAtlasColumnCount); + } mDrawSurf.ParseData(aStream); *aStream >> mSurfaceTypeBits; + if (IsDebug()) + { + qDebug() << QString("[%1] mSurfaceTypeBits = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mSurfaceTypeBits); + } + aStream->skipRawData(4); mName.ParseData(aStream); diff --git a/libs/xassets/xmaterialinfo.h b/libs/xassets/xmaterialinfo.h index d9ef302..0608ba9 100644 --- a/libs/xassets/xmaterialinfo.h +++ b/libs/xassets/xmaterialinfo.h @@ -11,7 +11,7 @@ public: explicit XMaterialInfo(); ~XMaterialInfo(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xmaterialmemory.cpp b/libs/xassets/xmaterialmemory.cpp index 2da47b0..950e239 100644 --- a/libs/xassets/xmaterialmemory.cpp +++ b/libs/xassets/xmaterialmemory.cpp @@ -5,7 +5,7 @@ XMaterialMemory::XMaterialMemory() , mMaterial(new XMaterial()) , mMemory(0) { - + SetName("Material Memory"); } XMaterialMemory::~XMaterialMemory() @@ -13,9 +13,11 @@ XMaterialMemory::~XMaterialMemory() } -void XMaterialMemory::ParseData(QDataStream *aStream) +void XMaterialMemory::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XMaterialMemory::ParseData } void XMaterialMemory::Clear() diff --git a/libs/xassets/xmaterialmemory.h b/libs/xassets/xmaterialmemory.h index e8d2bcc..f88719c 100644 --- a/libs/xassets/xmaterialmemory.h +++ b/libs/xassets/xmaterialmemory.h @@ -12,7 +12,7 @@ public: XMaterialMemory(); ~XMaterialMemory(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmaterialpass.cpp b/libs/xassets/xmaterialpass.cpp index 3fd12e0..87044b4 100644 --- a/libs/xassets/xmaterialpass.cpp +++ b/libs/xassets/xmaterialpass.cpp @@ -27,7 +27,7 @@ void XMaterialPass::Clear() } -void XMaterialPass::ParseData(QDataStream *aStream) +void XMaterialPass::ParseData(XDataStream *aStream) { if (IsDebug()) { diff --git a/libs/xassets/xmaterialpass.h b/libs/xassets/xmaterialpass.h index 8a391c9..0dbf7b1 100644 --- a/libs/xassets/xmaterialpass.h +++ b/libs/xassets/xmaterialpass.h @@ -15,7 +15,7 @@ public: XMaterialPass(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XMaterialVertexDeclaration mVertexDecl; diff --git a/libs/xassets/xmaterialpixelshader.cpp b/libs/xassets/xmaterialpixelshader.cpp index 9eb3694..4bb5564 100644 --- a/libs/xassets/xmaterialpixelshader.cpp +++ b/libs/xassets/xmaterialpixelshader.cpp @@ -6,7 +6,7 @@ XMaterialPixelShader::XMaterialPixelShader() , mShaderProgram() { SetType(ASSET_TYPE_PIXELSHADER); - SetName("Pixel Shader"); + SetName("Material Pixel Shader"); } XMaterialPixelShader::~XMaterialPixelShader() @@ -20,7 +20,7 @@ void XMaterialPixelShader::Clear() mShaderProgram.Clear(); } -void XMaterialPixelShader::ParseData(QDataStream *aStream) +void XMaterialPixelShader::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xmaterialpixelshader.h b/libs/xassets/xmaterialpixelshader.h index 972d0d0..f01de1d 100644 --- a/libs/xassets/xmaterialpixelshader.h +++ b/libs/xassets/xmaterialpixelshader.h @@ -12,7 +12,7 @@ public: ~XMaterialPixelShader(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XString mName; diff --git a/libs/xassets/xmaterialpixelshaderprogram.cpp b/libs/xassets/xmaterialpixelshaderprogram.cpp index 2b12312..e373024 100644 --- a/libs/xassets/xmaterialpixelshaderprogram.cpp +++ b/libs/xassets/xmaterialpixelshaderprogram.cpp @@ -5,7 +5,7 @@ XMaterialPixelShaderProgram::XMaterialPixelShaderProgram() , mPixelShader() , mLoadDef() { - + SetName("Material Pixel Shader Program"); } XMaterialPixelShaderProgram::~XMaterialPixelShaderProgram() @@ -19,7 +19,7 @@ void XMaterialPixelShaderProgram::Clear() mLoadDef.Clear(); } -void XMaterialPixelShaderProgram::ParseData(QDataStream *aStream) +void XMaterialPixelShaderProgram::ParseData(XDataStream *aStream) { mLoadDef.ParseData(aStream); mPixelShader.ParseData(aStream); diff --git a/libs/xassets/xmaterialpixelshaderprogram.h b/libs/xassets/xmaterialpixelshaderprogram.h index cc5ee47..b04b5b2 100644 --- a/libs/xassets/xmaterialpixelshaderprogram.h +++ b/libs/xassets/xmaterialpixelshaderprogram.h @@ -15,7 +15,7 @@ public: ~XMaterialPixelShaderProgram(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XD3DPixelShader mPixelShader; diff --git a/libs/xassets/xmaterialshaderargument.cpp b/libs/xassets/xmaterialshaderargument.cpp index 1a19d77..3ed1f3f 100644 --- a/libs/xassets/xmaterialshaderargument.cpp +++ b/libs/xassets/xmaterialshaderargument.cpp @@ -16,7 +16,7 @@ void XMaterialShaderArgument::Clear() mDef.Clear(); } -void XMaterialShaderArgument::ParseData(QDataStream *aStream) +void XMaterialShaderArgument::ParseData(XDataStream *aStream) { *aStream >> mType diff --git a/libs/xassets/xmaterialshaderargument.h b/libs/xassets/xmaterialshaderargument.h index d79b1e3..35ba427 100644 --- a/libs/xassets/xmaterialshaderargument.h +++ b/libs/xassets/xmaterialshaderargument.h @@ -10,7 +10,7 @@ public: explicit XMaterialShaderArgument(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; quint16 GetType() const; quint16 GetDest() const; diff --git a/libs/xassets/xmaterialstreamrouting.cpp b/libs/xassets/xmaterialstreamrouting.cpp index f3c9092..850f622 100644 --- a/libs/xassets/xmaterialstreamrouting.cpp +++ b/libs/xassets/xmaterialstreamrouting.cpp @@ -3,7 +3,7 @@ XMaterialStreamRouting::XMaterialStreamRouting() : XAsset() { - + SetName("Material Stream Routing"); } XMaterialStreamRouting::~XMaterialStreamRouting() @@ -16,7 +16,9 @@ void XMaterialStreamRouting::Clear() } -void XMaterialStreamRouting::ParseData(QDataStream *aStream) +void XMaterialStreamRouting::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XMaterialStreamRouting::ParseData } diff --git a/libs/xassets/xmaterialstreamrouting.h b/libs/xassets/xmaterialstreamrouting.h index 25feba6..ebb8664 100644 --- a/libs/xassets/xmaterialstreamrouting.h +++ b/libs/xassets/xmaterialstreamrouting.h @@ -10,7 +10,7 @@ public: ~XMaterialStreamRouting(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: quint8 mSource; diff --git a/libs/xassets/xmaterialtechnique.cpp b/libs/xassets/xmaterialtechnique.cpp index f258597..2e708e8 100644 --- a/libs/xassets/xmaterialtechnique.cpp +++ b/libs/xassets/xmaterialtechnique.cpp @@ -15,32 +15,35 @@ XMaterialTechnique::~XMaterialTechnique() } -void XMaterialTechnique::ParseData(QDataStream *aStream) +void XMaterialTechnique::ParseData(XDataStream *aStream) { - if (IsDebug()) + if (GetPtr() == -1) { - qDebug() << QString("[%1] Parsing data for %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName()); + if (IsDebug()) + { + qDebug() << QString("[%1] Parsing data for %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName()); + } + mName.ParsePtr(aStream, false); + + *aStream + >> mFlags + >> mPassCount; + + if (IsDebug()) + { + qDebug() << QString("[%1] mFlags = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mFlags); + qDebug() << QString("[%1] mPassCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPassCount); + } + + mPassArray = QVector(mPassCount); + + for (int i = 0; i < mPassCount; i++) + { + mPassArray[i].ParseData(aStream); + } + + mName.ParseData(aStream); } - mName.ParsePtr(aStream, false); - - *aStream - >> mFlags - >> mPassCount; - - if (IsDebug()) - { - qDebug() << QString("[%1] mFlags = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mFlags); - qDebug() << QString("[%1] mPassCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPassCount); - } - - mPassArray = QVector(mPassCount); - - for (int i = 0; i < mPassCount; i++) - { - mPassArray[i].ParseData(aStream); - } - - mName.ParseData(aStream); } void XMaterialTechnique::Clear() diff --git a/libs/xassets/xmaterialtechnique.h b/libs/xassets/xmaterialtechnique.h index bf89bd0..060bb4d 100644 --- a/libs/xassets/xmaterialtechnique.h +++ b/libs/xassets/xmaterialtechnique.h @@ -13,7 +13,7 @@ public: explicit XMaterialTechnique(); ~XMaterialTechnique(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmaterialtechniqueset.cpp b/libs/xassets/xmaterialtechniqueset.cpp index f3d758e..fbb5cd4 100644 --- a/libs/xassets/xmaterialtechniqueset.cpp +++ b/libs/xassets/xmaterialtechniqueset.cpp @@ -8,7 +8,7 @@ XMaterialTechniqueSet::XMaterialTechniqueSet() , mTechniques(26) { SetType(ASSET_TYPE_TECHNIQUE_SET); - SetName("Technique Set"); + SetName("Material Technique Set"); } XMaterialTechniqueSet::~XMaterialTechniqueSet() @@ -16,7 +16,7 @@ XMaterialTechniqueSet::~XMaterialTechniqueSet() } -void XMaterialTechniqueSet::ParseData(QDataStream *aStream) +void XMaterialTechniqueSet::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xmaterialtechniqueset.h b/libs/xassets/xmaterialtechniqueset.h index 93e8808..c98a8dc 100644 --- a/libs/xassets/xmaterialtechniqueset.h +++ b/libs/xassets/xmaterialtechniqueset.h @@ -11,7 +11,7 @@ public: explicit XMaterialTechniqueSet(); ~XMaterialTechniqueSet(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xmaterialtexturedef.cpp b/libs/xassets/xmaterialtexturedef.cpp index b50ae28..c5fb2f8 100644 --- a/libs/xassets/xmaterialtexturedef.cpp +++ b/libs/xassets/xmaterialtexturedef.cpp @@ -9,7 +9,7 @@ XMaterialTextureDef::XMaterialTextureDef() , mSemantic(0) , mDefInfo(*this) { - + SetName("Material Texture Definition"); } XMaterialTextureDef::~XMaterialTextureDef() @@ -22,7 +22,7 @@ quint8 XMaterialTextureDef::GetSemantic() const return mSemantic; } -void XMaterialTextureDef::ParseData(QDataStream *aStream) +void XMaterialTextureDef::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xmaterialtexturedef.h b/libs/xassets/xmaterialtexturedef.h index 8eb068a..63df5e7 100644 --- a/libs/xassets/xmaterialtexturedef.h +++ b/libs/xassets/xmaterialtexturedef.h @@ -12,7 +12,7 @@ public: quint8 GetSemantic() const; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmaterialtexturedefinfo.cpp b/libs/xassets/xmaterialtexturedefinfo.cpp index 5847730..f11f0fb 100644 --- a/libs/xassets/xmaterialtexturedefinfo.cpp +++ b/libs/xassets/xmaterialtexturedefinfo.cpp @@ -7,7 +7,7 @@ XMaterialTextureDefInfo::XMaterialTextureDefInfo() , mWater() , aParent(nullptr) { - + SetName("Material Texture Definition Info"); } XMaterialTextureDefInfo::XMaterialTextureDefInfo(XMaterialTextureDef &aParent) @@ -24,7 +24,7 @@ XMaterialTextureDefInfo::~XMaterialTextureDefInfo() } -void XMaterialTextureDefInfo::ParseData(QDataStream *aStream) +void XMaterialTextureDefInfo::ParseData(XDataStream *aStream) { mImage.ParsePtr(aStream, false); diff --git a/libs/xassets/xmaterialtexturedefinfo.h b/libs/xassets/xmaterialtexturedefinfo.h index 63db6d3..e1dc739 100644 --- a/libs/xassets/xmaterialtexturedefinfo.h +++ b/libs/xassets/xmaterialtexturedefinfo.h @@ -14,7 +14,7 @@ public: XMaterialTextureDefInfo(XMaterialTextureDef& aParent); ~XMaterialTextureDefInfo(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmaterialvertexdeclaration.cpp b/libs/xassets/xmaterialvertexdeclaration.cpp index 1f45ab7..1102e9a 100644 --- a/libs/xassets/xmaterialvertexdeclaration.cpp +++ b/libs/xassets/xmaterialvertexdeclaration.cpp @@ -14,7 +14,7 @@ void XMaterialVertexDeclaration::Clear() } -void XMaterialVertexDeclaration::ParseData(QDataStream *aStream) +void XMaterialVertexDeclaration::ParseData(XDataStream *aStream) { if (IsDebug()) { diff --git a/libs/xassets/xmaterialvertexdeclaration.h b/libs/xassets/xmaterialvertexdeclaration.h index 6972ad9..8eed9d1 100644 --- a/libs/xassets/xmaterialvertexdeclaration.h +++ b/libs/xassets/xmaterialvertexdeclaration.h @@ -10,7 +10,7 @@ public: explicit XMaterialVertexDeclaration(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: int mStreamCount; diff --git a/libs/xassets/xmaterialvertexshader.cpp b/libs/xassets/xmaterialvertexshader.cpp index 35a4117..a12f1cd 100644 --- a/libs/xassets/xmaterialvertexshader.cpp +++ b/libs/xassets/xmaterialvertexshader.cpp @@ -14,7 +14,7 @@ void XMaterialVertexShader::Clear() } -void XMaterialVertexShader::ParseData(QDataStream *aStream) +void XMaterialVertexShader::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xmaterialvertexshader.h b/libs/xassets/xmaterialvertexshader.h index 61c2495..5e1afdc 100644 --- a/libs/xassets/xmaterialvertexshader.h +++ b/libs/xassets/xmaterialvertexshader.h @@ -13,7 +13,7 @@ public: explicit XMaterialVertexShader(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XString mName; diff --git a/libs/xassets/xmaterialvertexshaderprogram.cpp b/libs/xassets/xmaterialvertexshaderprogram.cpp index 7db234c..9224bb7 100644 --- a/libs/xassets/xmaterialvertexshaderprogram.cpp +++ b/libs/xassets/xmaterialvertexshaderprogram.cpp @@ -19,7 +19,7 @@ void XMaterialVertexShaderProgram::Clear() mLoadDef.Clear(); } -void XMaterialVertexShaderProgram::ParseData(QDataStream *aStream) +void XMaterialVertexShaderProgram::ParseData(XDataStream *aStream) { if (IsDebug()) { diff --git a/libs/xassets/xmaterialvertexshaderprogram.h b/libs/xassets/xmaterialvertexshaderprogram.h index ca9d935..7bfdb15 100644 --- a/libs/xassets/xmaterialvertexshaderprogram.h +++ b/libs/xassets/xmaterialvertexshaderprogram.h @@ -11,7 +11,7 @@ public: ~XMaterialVertexShaderProgram(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: //XD3DVertexShader mVertexShader; diff --git a/libs/xassets/xmaterialvertexstreamrouting.cpp b/libs/xassets/xmaterialvertexstreamrouting.cpp index d923711..2a9bc6d 100644 --- a/libs/xassets/xmaterialvertexstreamrouting.cpp +++ b/libs/xassets/xmaterialvertexstreamrouting.cpp @@ -13,7 +13,7 @@ void XMaterialVertexStreamRouting::Clear() } -void XMaterialVertexStreamRouting::ParseData(QDataStream *aStream) +void XMaterialVertexStreamRouting::ParseData(XDataStream *aStream) { if (IsDebug()) { diff --git a/libs/xassets/xmaterialvertexstreamrouting.h b/libs/xassets/xmaterialvertexstreamrouting.h index ca17fee..f757fcf 100644 --- a/libs/xassets/xmaterialvertexstreamrouting.h +++ b/libs/xassets/xmaterialvertexstreamrouting.h @@ -11,7 +11,7 @@ public: XMaterialVertexStreamRouting(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: QVector mData; diff --git a/libs/xassets/xmenudef.cpp b/libs/xassets/xmenudef.cpp index 12ca922..2a4475e 100644 --- a/libs/xassets/xmenudef.cpp +++ b/libs/xassets/xmenudef.cpp @@ -29,7 +29,7 @@ XMenuDef::XMenuDef() , mItems() { SetType(ASSET_TYPE_MENU); - SetName("Menu Def"); + SetName("Menu Definition"); } XMenuDef::~XMenuDef() @@ -42,7 +42,7 @@ void XMenuDef::Clear() } -void XMenuDef::ParseData(QDataStream *aStream) +void XMenuDef::ParseData(XDataStream *aStream) { mWindow.ParseData(aStream); @@ -58,12 +58,11 @@ void XMenuDef::ParseData(QDataStream *aStream) *aStream >> mCursorItem[i]; } - *aStream - >> mFadeCycle - >> mFadeClamp - >> mFadeAmount - >> mFadeInAmount - >> mBlurRadius; + mFadeCycle = aStream->ParseInt32(QString("%1 fade cycle").arg(GetName())); + mFadeClamp = aStream->ParseSingle(QString("%1 fade clamp").arg(GetName())); + mFadeAmount = aStream->ParseSingle(QString("%1 fade amount").arg(GetName())); + mFadeInAmount = aStream->ParseSingle(QString("%1 fade in amount").arg(GetName())); + mBlurRadius = aStream->ParseSingle(QString("%1 blur radius").arg(GetName())); mOnOpen.ParsePtr(aStream, false); mOnClose.ParsePtr(aStream, false); @@ -77,18 +76,18 @@ void XMenuDef::ParseData(QDataStream *aStream) *aStream >> mImageTrack; - float focusR, focusG, focusB, focusA, - disableR, disableG, disableB, disableA; + float focusR = aStream->ParseSingle(QString("%1 focus color r").arg(GetName())); + float focusG = aStream->ParseSingle(QString("%1 focus color g").arg(GetName())); + float focusB = aStream->ParseSingle(QString("%1 focus color b").arg(GetName())); + float focusA = aStream->ParseSingle(QString("%1 focus color a").arg(GetName())); - *aStream - >> focusR - >> focusG - >> focusB - >> focusA - >> disableR - >> disableG - >> disableB - >> disableA; + float disableR = aStream->ParseSingle(QString("%1 disable color r").arg(GetName())); + float disableG = aStream->ParseSingle(QString("%1 disable color g").arg(GetName())); + float disableB = aStream->ParseSingle(QString("%1 disable color b").arg(GetName())); + float disableA = aStream->ParseSingle(QString("%1 disable color a").arg(GetName())); + + mFocusColor = QColor::fromRgbF(focusR, focusG, focusB, focusA); + mDisableColor = QColor::fromRgbF(disableR, disableG, disableB, disableA); mRectXExp.ParseData(aStream); mRectYExp.ParseData(aStream); diff --git a/libs/xassets/xmenudef.h b/libs/xassets/xmenudef.h index de6ce54..0d05750 100644 --- a/libs/xassets/xmenudef.h +++ b/libs/xassets/xmenudef.h @@ -17,7 +17,7 @@ public: ~XMenuDef(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XWindowDef mWindow; diff --git a/libs/xassets/xmenulist.cpp b/libs/xassets/xmenulist.cpp index 6295748..efcc98a 100644 --- a/libs/xassets/xmenulist.cpp +++ b/libs/xassets/xmenulist.cpp @@ -57,7 +57,7 @@ void XMenuList::Clear() mMenus.clear(); } -void XMenuList::ParseData(QDataStream *aStream) +void XMenuList::ParseData(XDataStream *aStream) { mName->ParsePtr(aStream, false); @@ -66,6 +66,6 @@ void XMenuList::ParseData(QDataStream *aStream) for (int i = 0; i < mMenuCount; i++) { - XMenuDef* newMenu = new XMenuDef(); + //XMenuDef* newMenu = new XMenuDef(); } } diff --git a/libs/xassets/xmenulist.h b/libs/xassets/xmenulist.h index f5f4bfd..8b78bb3 100644 --- a/libs/xassets/xmenulist.h +++ b/libs/xassets/xmenulist.h @@ -19,7 +19,7 @@ public: XMenuDef* GetMenuEntry(int aIndex) const; virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XString* mName; diff --git a/libs/xassets/xmodel.cpp b/libs/xassets/xmodel.cpp index 277dc3d..7472fd7 100644 --- a/libs/xassets/xmodel.cpp +++ b/libs/xassets/xmodel.cpp @@ -16,7 +16,7 @@ XModel::XModel() , mBaseMat() , mSurfs() , mMaterialHandles() - , mLodInfo() + , mLodInfo(4) , mCollSurfs() , mNumCollSurfs(0) , mContents(0) @@ -33,6 +33,7 @@ XModel::XModel() , mPhysGeoms() { SetType(ASSET_TYPE_XMODEL); + SetName("Model"); } XModel::~XModel() @@ -40,51 +41,58 @@ XModel::~XModel() } -void XModel::ParseData(QDataStream *aStream) { - +void XModel::ParseData(XDataStream *aStream) { mName.ParsePtr(aStream, false); - *aStream - >> mNumBones - >> mNumRootBones - >> mNumSurfs - >> mLodRampType; - qint32 boneNamesPtr, parentListPtr, quatsPtr, transPtr, partClassPtr; - *aStream - >> boneNamesPtr - >> parentListPtr - >> quatsPtr - >> transPtr - >> partClassPtr; + mNumBones = aStream->ParseUInt8(QString("%1 num bones").arg(GetName())); + mNumRootBones = aStream->ParseUInt8(QString("%1 num root bones").arg(GetName())); + mNumSurfs = aStream->ParseUInt8(QString("%1 num surfs").arg(GetName())); + mLodRampType = aStream->ParseUInt8(QString("%1 lod ramp type").arg(GetName())); + + boneNamesPtr = aStream->ParseInt32(QString("%1 bone names ptr").arg(GetName())); + parentListPtr = aStream->ParseInt32(QString("%1 parent list ptr").arg(GetName())); + quatsPtr = aStream->ParseInt32(QString("%1 quats ptr").arg(GetName())); + transPtr = aStream->ParseInt32(QString("%1 trans ptr").arg(GetName())); + partClassPtr = aStream->ParseInt32(QString("%1 part classification ptr").arg(GetName())); mBaseMat.ParsePtr(aStream, false); - qint32 surfsPtr, matHandlesPtr, lodInfoPtr, collSurfsPtr; + qint32 surfsPtr = aStream->ParseInt32(QString("%1 surfs ptr").arg(GetName())); + qint32 matHandlesPtr = aStream->ParseInt32(QString("%1 material handles ptr").arg(GetName())); - *aStream - >> surfsPtr - >> matHandlesPtr - >> lodInfoPtr - >> collSurfsPtr - >> mNumCollSurfs - >> mContents; + for (int i = 0; i < 4; i++) { + XModelLodInfo newLodInfo; + newLodInfo.ParseData(aStream); + mLodInfo.append(newLodInfo); + } + + qint32 collSurfsPtr; + collSurfsPtr = aStream->ParseInt32(QString("%1 coll surfs ptr").arg(GetName())); + mNumCollSurfs = aStream->ParseInt32(QString("%1 num coll surfs").arg(GetName())); + mContents = aStream->ParseInt32(QString("%1 contents").arg(GetName())); mBoneInfo.ParsePtr(aStream, false); - *aStream - >> mRadius - >> mMins - >> mMaxs - >> mNumLods - >> mCollLod; + mRadius = aStream->ParseSingle(QString("%1 radius").arg(GetName())); - mStreamInfo.ParseData(aStream); + mMins.setX(aStream->ParseSingle(QString("%1 mins x").arg(GetName()))); + mMins.setY(aStream->ParseSingle(QString("%1 mins y").arg(GetName()))); + mMins.setZ(aStream->ParseSingle(QString("%1 mins z").arg(GetName()))); + + mMaxs.setX(aStream->ParseSingle(QString("%1 maxs x").arg(GetName()))); + mMaxs.setY(aStream->ParseSingle(QString("%1 maxs y").arg(GetName()))); + mMaxs.setZ(aStream->ParseSingle(QString("%1 maxs z").arg(GetName()))); + + mNumLods = aStream->ParseInt16(QString("%1 num lods").arg(GetName())); + mCollLod = aStream->ParseInt16(QString("%1 coll lod").arg(GetName())); + + mStreamInfo.ParsePtr(aStream, false); + + mMemUsage = aStream->ParseInt32(QString("%1 mem usage").arg(GetName())); + mFlags = aStream->ParseUInt8(QString("%1 flags").arg(GetName())); - *aStream - >> mMemUsage - >> mFlags; aStream->skipRawData(3); mPhysPreset.ParsePtr(aStream, false); @@ -92,82 +100,61 @@ void XModel::ParseData(QDataStream *aStream) { mName.ParseData(aStream); - if (boneNamesPtr == -1) - { - for (int i = 0; i < mNumBones; i++) - { - quint16 bone; - *aStream >> bone; + if (boneNamesPtr == -1) { + for (int i = 0; i < mNumBones; i++) { + quint16 bone = aStream->ParseUInt16(QString("%1 bone %2").arg(GetName()).arg(i)); mBoneNames.append(bone); } } - if (parentListPtr == -1) - { - for (int i = 0; i < mNumBones - mNumRootBones; i++) - { - quint8 parent; - *aStream >> parent; + if (parentListPtr == -1) { + for (int i = 0; i < (mNumBones - mNumRootBones); i++) { + quint8 parent = aStream->ParseUInt8(QString("%1 parent %2").arg(GetName()).arg(i)); mParentList.append(parent); } } - if (quatsPtr == -1) - { - for (int i = 0; i < 8 * (mNumBones - mNumRootBones); i++) - { - quint8 quat; - *aStream >> quat; + if (quatsPtr == -1) { + for (int i = 0; i < 8 * (mNumBones - mNumRootBones); i++) { + quint8 quat = aStream->ParseUInt8(QString("%1 quat %2").arg(GetName()).arg(i)); mQuats.append(quat); } } - if (transPtr == -1) - { - for (int i = 0; i < 16 * (mNumBones - mNumRootBones); i++) - { - quint8 trans; - *aStream >> trans; + if (transPtr == -1) { + for (int i = 0; i < 16 * (mNumBones - mNumRootBones); i++) { + float trans = aStream->ParseSingle(QString("%1 trans %2").arg(GetName()).arg(i)); mTrans.append(trans); } } - if (partClassPtr == -1) - { - for (int i = 0; i < mNumBones; i++) - { - quint8 partClass; - *aStream >> partClass; + if (partClassPtr == -1) { + for (int i = 0; i < mNumBones; i++) { + quint8 partClass = aStream->ParseUInt8(QString("%1 part class %2").arg(GetName()).arg(i)); mPartClassification.append(partClass); } } mBaseMat.ParseData(aStream); - if (surfsPtr == -1) - { - for (int i = 0; i < mNumSurfs; i++) - { + if (surfsPtr == -1) { + for (int i = 0; i < mNumSurfs; i++) { XSurface newSurf; newSurf.ParseData(aStream); mSurfs.append(newSurf); } } - if (matHandlesPtr == -1) - { - for (int i = 0; i < mNumSurfs; i++) - { + if (matHandlesPtr == -1) { + for (int i = 0; i < mNumSurfs; i++) { XMaterial newMaterial; newMaterial.ParseData(aStream); mMaterialHandles.append(newMaterial); } } - if (collSurfsPtr == -1) - { - for (int i = 0; i < mNumCollSurfs; i++) - { + if (collSurfsPtr == -1) { + for (int i = 0; i < mNumCollSurfs; i++) { XModelCollSurf newCollSurf; newCollSurf.ParseData(aStream); mCollSurfs.append(newCollSurf); @@ -175,10 +162,12 @@ void XModel::ParseData(QDataStream *aStream) { } mBoneInfo.ParseData(aStream); - - // TODO: Fill out rest of this + mStreamInfo.ParseData(aStream); + mPhysPreset.ParseData(aStream); + mPhysGeoms.ParseData(aStream); } + void XModel::Clear() { diff --git a/libs/xassets/xmodel.h b/libs/xassets/xmodel.h index cd470ed..86c495b 100644 --- a/libs/xassets/xmodel.h +++ b/libs/xassets/xmodel.h @@ -5,7 +5,6 @@ #include "xmodelstreaminfo.h" #include "xphysgeomlist.h" #include "xphyspreset.h" -#include "xscriptstringlist.h" #include "xboneinfo.h" #include "xmodellodinfo.h" #include "xmodelcollsurf.h" @@ -19,7 +18,7 @@ public: explicit XModel(); ~XModel(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: @@ -38,8 +37,8 @@ private: QVector mMaterialHandles; QVector mLodInfo; QVector mCollSurfs; - int mNumCollSurfs; - int mContents; + qint32 mNumCollSurfs; + qint32 mContents; XBoneInfo mBoneInfo; float mRadius; QVector3D mMins; @@ -47,7 +46,7 @@ private: qint16 mNumLods; qint16 mCollLod; XModelStreamInfo mStreamInfo; - int mMemUsage; + qint32 mMemUsage; quint8 mFlags; XPhysPreset mPhysPreset; XPhysGeomList mPhysGeoms; diff --git a/libs/xassets/xmodelcollsurf.cpp b/libs/xassets/xmodelcollsurf.cpp index d46fee1..aed8997 100644 --- a/libs/xassets/xmodelcollsurf.cpp +++ b/libs/xassets/xmodelcollsurf.cpp @@ -8,7 +8,7 @@ XModelCollSurf::XModelCollSurf() , mContents(0) , mSurfFlags(0) { - + SetName("Model Coll Surface"); } XModelCollSurf::~XModelCollSurf() @@ -16,15 +16,25 @@ XModelCollSurf::~XModelCollSurf() } -void XModelCollSurf::ParseData(QDataStream *aStream) +void XModelCollSurf::ParseData(XDataStream *aStream) { + quint32 rawMin; + *aStream >> rawMin; + memcpy(&mMins[0], &rawMin, sizeof(mMins[0])); + *aStream >> rawMin; + memcpy(&mMins[1], &rawMin, sizeof(mMins[1])); + *aStream >> rawMin; + memcpy(&mMins[2], &rawMin, sizeof(mMins[2])); + + quint32 rawMax; + *aStream >> rawMax; + memcpy(&mMaxs[0], &rawMax, sizeof(mMaxs[0])); + *aStream >> rawMax; + memcpy(&mMaxs[1], &rawMax, sizeof(mMaxs[1])); + *aStream >> rawMax; + memcpy(&mMaxs[2], &rawMax, sizeof(mMaxs[2])); + *aStream - >> mMins[0] - >> mMins[1] - >> mMins[2] - >> mMaxs[0] - >> mMaxs[1] - >> mMaxs[2] >> mBoneIdx >> mContents >> mSurfFlags; diff --git a/libs/xassets/xmodelcollsurf.h b/libs/xassets/xmodelcollsurf.h index a5709d6..73e5400 100644 --- a/libs/xassets/xmodelcollsurf.h +++ b/libs/xassets/xmodelcollsurf.h @@ -11,7 +11,7 @@ public: XModelCollSurf(); ~XModelCollSurf(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmodeldrawinfo.cpp b/libs/xassets/xmodeldrawinfo.cpp index c4af73e..0fc14f3 100644 --- a/libs/xassets/xmodeldrawinfo.cpp +++ b/libs/xassets/xmodeldrawinfo.cpp @@ -5,7 +5,7 @@ XModelDrawInfo::XModelDrawInfo() , aLod(0) , aSurfId(0) { - + SetName("Model Draw Info"); } XModelDrawInfo::~XModelDrawInfo() @@ -13,9 +13,11 @@ XModelDrawInfo::~XModelDrawInfo() } -void XModelDrawInfo::ParseData(QDataStream *aStream) +void XModelDrawInfo::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XModelDrawInfo::ParseData } void XModelDrawInfo::Clear() diff --git a/libs/xassets/xmodeldrawinfo.h b/libs/xassets/xmodeldrawinfo.h index e569bb8..3c1a5c2 100644 --- a/libs/xassets/xmodeldrawinfo.h +++ b/libs/xassets/xmodeldrawinfo.h @@ -9,7 +9,7 @@ public: XModelDrawInfo(); ~XModelDrawInfo(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmodelhighmipbounds.cpp b/libs/xassets/xmodelhighmipbounds.cpp index 2dd45e4..e6a09b5 100644 --- a/libs/xassets/xmodelhighmipbounds.cpp +++ b/libs/xassets/xmodelhighmipbounds.cpp @@ -5,7 +5,7 @@ XModelHighMipBounds::XModelHighMipBounds() , mMins() , mMaxs() { - + SetName("Model Highmip Bounds"); } XModelHighMipBounds::~XModelHighMipBounds() @@ -13,9 +13,21 @@ XModelHighMipBounds::~XModelHighMipBounds() } -void XModelHighMipBounds::ParseData(QDataStream *aStream) +void XModelHighMipBounds::ParseData(XDataStream *aStream) { - + for (int i = 0; i < 3; i++) + { + quint32 rawMin; + *aStream >> rawMin; + memcpy(&mMins[i], &rawMin, sizeof(mMins[i])); + } + + for (int i = 0; i < 3; i++) + { + quint32 rawMax; + *aStream >> rawMax; + memcpy(&mMaxs[i], &rawMax, sizeof(mMaxs[i])); + } } void XModelHighMipBounds::Clear() diff --git a/libs/xassets/xmodelhighmipbounds.h b/libs/xassets/xmodelhighmipbounds.h index 466f980..96fa461 100644 --- a/libs/xassets/xmodelhighmipbounds.h +++ b/libs/xassets/xmodelhighmipbounds.h @@ -11,7 +11,7 @@ public: XModelHighMipBounds(); ~XModelHighMipBounds(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmodellodinfo.cpp b/libs/xassets/xmodellodinfo.cpp index 7d1dc77..843e22d 100644 --- a/libs/xassets/xmodellodinfo.cpp +++ b/libs/xassets/xmodellodinfo.cpp @@ -3,11 +3,11 @@ XModelLodInfo::XModelLodInfo() : XAsset() , mDist(0) - , mNumsurfs(0) + , mNumSurfs(0) , mSurfIndex(0) - , mPartBits() + , mPartBits(4) { - + SetName("Model LOD Info"); } XModelLodInfo::~XModelLodInfo() @@ -15,15 +15,52 @@ XModelLodInfo::~XModelLodInfo() } -void XModelLodInfo::ParseData(QDataStream *aStream) +void XModelLodInfo::ParseData(XDataStream *aStream) { - + quint32 rawDist; + *aStream >> rawDist; + memcpy(&mDist, &rawDist, sizeof(mDist)); + + if (IsDebug()) + { + qDebug() << QString("[%1] mDist = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mDist); + } + *aStream >> mNumSurfs; + if (IsDebug()) + { + qDebug() << QString("[%1] mNumSurfs = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mNumSurfs); + } + *aStream >> mSurfIndex; + if (IsDebug()) + { + qDebug() << QString("[%1] mSurfIndex = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mSurfIndex); + } + *aStream >> mPartBits[0]; + if (IsDebug()) + { + qDebug() << QString("[%1] mPartBits[0] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPartBits[0]); + } + *aStream >> mPartBits[1]; + if (IsDebug()) + { + qDebug() << QString("[%1] mPartBits[1] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPartBits[1]); + } + *aStream >> mPartBits[2]; + if (IsDebug()) + { + qDebug() << QString("[%1] mPartBits[2] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPartBits[2]); + } + *aStream >> mPartBits[3]; + if (IsDebug()) + { + qDebug() << QString("[%1] mPartBits[3] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPartBits[3]); + } } void XModelLodInfo::Clear() { mDist = 0; - mNumsurfs = 0; + mNumSurfs = 0; mSurfIndex = 0; - mPartBits = QVector(); + mPartBits.clear(); } diff --git a/libs/xassets/xmodellodinfo.h b/libs/xassets/xmodellodinfo.h index 4113055..47fe375 100644 --- a/libs/xassets/xmodellodinfo.h +++ b/libs/xassets/xmodellodinfo.h @@ -11,14 +11,14 @@ public: XModelLodInfo(); ~XModelLodInfo(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: float mDist; - quint32 mNumsurfs; - quint32 mSurfIndex; - QVector mPartBits; + quint16 mNumSurfs; + quint16 mSurfIndex; + QVector mPartBits; }; #endif // XMODELLODINFO_H diff --git a/libs/xassets/xmodelpiece.cpp b/libs/xassets/xmodelpiece.cpp index 2f97f63..ef1eca9 100644 --- a/libs/xassets/xmodelpiece.cpp +++ b/libs/xassets/xmodelpiece.cpp @@ -5,7 +5,7 @@ XModelPiece::XModelPiece() , mModel() , mOffset() { - + SetName("Model Piece"); } XModelPiece::~XModelPiece() @@ -13,7 +13,7 @@ XModelPiece::~XModelPiece() } -void XModelPiece::ParseData(QDataStream *aStream) +void XModelPiece::ParseData(XDataStream *aStream) { mModel.ParsePtr(aStream, false); diff --git a/libs/xassets/xmodelpiece.h b/libs/xassets/xmodelpiece.h index ae661f4..590edc2 100644 --- a/libs/xassets/xmodelpiece.h +++ b/libs/xassets/xmodelpiece.h @@ -10,7 +10,7 @@ public: XModelPiece(); ~XModelPiece(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmodelpieces.cpp b/libs/xassets/xmodelpieces.cpp index bd1789a..d1676bd 100644 --- a/libs/xassets/xmodelpieces.cpp +++ b/libs/xassets/xmodelpieces.cpp @@ -15,7 +15,7 @@ XModelPieces::~XModelPieces() } -void XModelPieces::ParseData(QDataStream *aStream) +void XModelPieces::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xmodelpieces.h b/libs/xassets/xmodelpieces.h index ff9b06d..4877782 100644 --- a/libs/xassets/xmodelpieces.h +++ b/libs/xassets/xmodelpieces.h @@ -10,7 +10,7 @@ public: XModelPieces(); ~XModelPieces(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xmodelstreaminfo.cpp b/libs/xassets/xmodelstreaminfo.cpp index cffbc4d..17927f1 100644 --- a/libs/xassets/xmodelstreaminfo.cpp +++ b/libs/xassets/xmodelstreaminfo.cpp @@ -2,22 +2,27 @@ XModelStreamInfo::XModelStreamInfo() : XAsset() - , mHighMipBounds(new XModelHighMipBounds()) + , mHighMipBounds() { - + SetName("Model Stream Info"); } XModelStreamInfo::~XModelStreamInfo() { - delete mHighMipBounds; + } -void XModelStreamInfo::ParseData(QDataStream *aStream) +XModelHighMipBounds XModelStreamInfo::GetBounds() const { - + return mHighMipBounds; +} + +void XModelStreamInfo::ParseData(XDataStream *aStream) +{ + mHighMipBounds.ParsePtr(aStream); } void XModelStreamInfo::Clear() { - mHighMipBounds->Clear(); + mHighMipBounds.Clear(); } diff --git a/libs/xassets/xmodelstreaminfo.h b/libs/xassets/xmodelstreaminfo.h index 8f7251f..52f742c 100644 --- a/libs/xassets/xmodelstreaminfo.h +++ b/libs/xassets/xmodelstreaminfo.h @@ -10,11 +10,13 @@ public: XModelStreamInfo(); ~XModelStreamInfo(); - virtual void ParseData(QDataStream* aStream) override; + XModelHighMipBounds GetBounds() const; + + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: - XModelHighMipBounds *mHighMipBounds; + XModelHighMipBounds mHighMipBounds; }; #endif // XMODELSTREAMINFO_H diff --git a/libs/xassets/xmultidef.cpp b/libs/xassets/xmultidef.cpp index 646da41..60bf486 100644 --- a/libs/xassets/xmultidef.cpp +++ b/libs/xassets/xmultidef.cpp @@ -10,7 +10,7 @@ XMultiDef::XMultiDef() , mCount(0) , mStrDef(0) { - + SetName("Multi Definition"); } XMultiDef::~XMultiDef() @@ -18,9 +18,11 @@ XMultiDef::~XMultiDef() } -void XMultiDef::ParseData(QDataStream *aStream) +void XMultiDef::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XMultiDef::ParseData } void XMultiDef::Clear() diff --git a/libs/xassets/xmultidef.h b/libs/xassets/xmultidef.h index da4f359..03b0441 100644 --- a/libs/xassets/xmultidef.h +++ b/libs/xassets/xmultidef.h @@ -11,7 +11,7 @@ public: explicit XMultiDef(); ~XMultiDef(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xoperand.cpp b/libs/xassets/xoperand.cpp index 02c66ea..30dd407 100644 --- a/libs/xassets/xoperand.cpp +++ b/libs/xassets/xoperand.cpp @@ -5,7 +5,7 @@ XOperand::XOperand() , mDataType() , mInternals() { - + SetName("Operand"); } XOperand::~XOperand() @@ -13,9 +13,11 @@ XOperand::~XOperand() } -void XOperand::ParseData(QDataStream *aStream) +void XOperand::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XOperand::ParseData } void XOperand::Clear() diff --git a/libs/xassets/xoperand.h b/libs/xassets/xoperand.h index aec0e7d..e389cca 100644 --- a/libs/xassets/xoperand.h +++ b/libs/xassets/xoperand.h @@ -11,7 +11,7 @@ public: explicit XOperand(); ~XOperand(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xoperandinternaldataunion.cpp b/libs/xassets/xoperandinternaldataunion.cpp index f28e6c6..e24464b 100644 --- a/libs/xassets/xoperandinternaldataunion.cpp +++ b/libs/xassets/xoperandinternaldataunion.cpp @@ -6,7 +6,7 @@ XOperandInternalDataUnion::XOperandInternalDataUnion() , mFloatVal(0.0f) , mString("") { - + SetName("Operand Internal Data Union"); } XOperandInternalDataUnion::~XOperandInternalDataUnion() @@ -14,9 +14,11 @@ XOperandInternalDataUnion::~XOperandInternalDataUnion() } -void XOperandInternalDataUnion::ParseData(QDataStream *aStream) +void XOperandInternalDataUnion::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XOperandInternalDataUnion::ParseData } void XOperandInternalDataUnion::Clear() diff --git a/libs/xassets/xoperandinternaldataunion.h b/libs/xassets/xoperandinternaldataunion.h index ccbfbdb..aaae84c 100644 --- a/libs/xassets/xoperandinternaldataunion.h +++ b/libs/xassets/xoperandinternaldataunion.h @@ -11,7 +11,7 @@ public: explicit XOperandInternalDataUnion(); ~XOperandInternalDataUnion(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xpackedtexcoords.cpp b/libs/xassets/xpackedtexcoords.cpp index 7f51205..f8bc4f0 100644 --- a/libs/xassets/xpackedtexcoords.cpp +++ b/libs/xassets/xpackedtexcoords.cpp @@ -4,12 +4,16 @@ XPackedTexCoords::XPackedTexCoords() : XAsset() , mPacked(0) { - + SetName("Packed Tex Coords"); } -void XPackedTexCoords::ParseData(QDataStream *aStream) +void XPackedTexCoords::ParseData(XDataStream *aStream) { *aStream >> mPacked; + if (IsDebug()) + { + qDebug() << QString("[%1] mPacked = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPacked); + } } void XPackedTexCoords::Clear() diff --git a/libs/xassets/xpackedtexcoords.h b/libs/xassets/xpackedtexcoords.h index d80ae6a..2a8dd34 100644 --- a/libs/xassets/xpackedtexcoords.h +++ b/libs/xassets/xpackedtexcoords.h @@ -8,7 +8,7 @@ class XPackedTexCoords : public XAsset public: explicit XPackedTexCoords(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xpackedunitvec.cpp b/libs/xassets/xpackedunitvec.cpp index b01e17c..d503448 100644 --- a/libs/xassets/xpackedunitvec.cpp +++ b/libs/xassets/xpackedunitvec.cpp @@ -4,12 +4,16 @@ XPackedUnitVec::XPackedUnitVec() : XAsset() , mPacked(0) { - + SetName("Packed Unit Vec"); } -void XPackedUnitVec::ParseData(QDataStream *aStream) +void XPackedUnitVec::ParseData(XDataStream *aStream) { *aStream >> mPacked; + if (IsDebug()) + { + qDebug() << QString("[%1] mPacked = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mPacked); + } } void XPackedUnitVec::Clear() diff --git a/libs/xassets/xpackedunitvec.h b/libs/xassets/xpackedunitvec.h index ecd2fa1..97db0ae 100644 --- a/libs/xassets/xpackedunitvec.h +++ b/libs/xassets/xpackedunitvec.h @@ -8,7 +8,7 @@ class XPackedUnitVec : public XAsset public: explicit XPackedUnitVec(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xpathbasenode.cpp b/libs/xassets/xpathbasenode.cpp index 8634b2a..46b1146 100644 --- a/libs/xassets/xpathbasenode.cpp +++ b/libs/xassets/xpathbasenode.cpp @@ -6,7 +6,7 @@ XPathBaseNode::XPathBaseNode() , mOrigin() , mType(0) { - + SetName("Path Base Node"); } XPathBaseNode::~XPathBaseNode() @@ -14,7 +14,7 @@ XPathBaseNode::~XPathBaseNode() } -void XPathBaseNode::ParseData(QDataStream *aStream) { +void XPathBaseNode::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mOrigin[0] diff --git a/libs/xassets/xpathbasenode.h b/libs/xassets/xpathbasenode.h index 5c27c88..d611157 100644 --- a/libs/xassets/xpathbasenode.h +++ b/libs/xassets/xpathbasenode.h @@ -11,7 +11,7 @@ public: explicit XPathBaseNode(); ~XPathBaseNode(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xpathdata.cpp b/libs/xassets/xpathdata.cpp index 0ffe207..f00da64 100644 --- a/libs/xassets/xpathdata.cpp +++ b/libs/xassets/xpathdata.cpp @@ -1,16 +1,12 @@ - - - - - - #include "xpathdata.h" XPathData::XPathData() - : XAsset() { + : XAsset() +{ + SetName("Path Data"); } -void XPathData::ParseData(QDataStream *aStream) { +void XPathData::ParseData(XDataStream *aStream) { // Parse the PathData structure if (GetPtr() == -1) { *aStream >> mNodeCount; @@ -41,7 +37,7 @@ void XPathData::ParseData(QDataStream *aStream) { // Parse chain node count and arrays *aStream >> mChainNodeCount; - for (int i = 0; i < mChainNodeCount; i++) + for (quint32 i = 0; i < mChainNodeCount; i++) { unsigned short chainNode; *aStream >> chainNode; diff --git a/libs/xassets/xpathdata.h b/libs/xassets/xpathdata.h index 310dc19..61aae65 100644 --- a/libs/xassets/xpathdata.h +++ b/libs/xassets/xpathdata.h @@ -11,7 +11,7 @@ class XPathData : public XAsset public: explicit XPathData(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; quint32 GetNodeCount() const; void SetNodeCount(quint32 count); diff --git a/libs/xassets/xpathlink.cpp b/libs/xassets/xpathlink.cpp index 65b67e5..7f9f6a9 100644 --- a/libs/xassets/xpathlink.cpp +++ b/libs/xassets/xpathlink.cpp @@ -8,6 +8,7 @@ XPathLink::XPathLink() , mNegotiationLink(0) , mBadPlaceCount(4) { + SetName("Path Link"); } XPathLink::~XPathLink() @@ -15,7 +16,7 @@ XPathLink::~XPathLink() } -void XPathLink::ParseData(QDataStream *aStream) { +void XPathLink::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mDist diff --git a/libs/xassets/xpathlink.h b/libs/xassets/xpathlink.h index 7bd0466..862a918 100644 --- a/libs/xassets/xpathlink.h +++ b/libs/xassets/xpathlink.h @@ -11,7 +11,7 @@ public: explicit XPathLink(); ~XPathLink(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; float GetDist() const; diff --git a/libs/xassets/xpathnode.cpp b/libs/xassets/xpathnode.cpp index d0c891a..e2ab377 100644 --- a/libs/xassets/xpathnode.cpp +++ b/libs/xassets/xpathnode.cpp @@ -1,16 +1,12 @@ - - - - - - #include "xpathnode.h" XPathNode::XPathNode() - : XAsset() { + : XAsset() +{ + SetName("Path Node"); } -void XPathNode::ParseData(QDataStream *aStream) { +void XPathNode::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { mConstant.ParseData(aStream); mDynamic.ParseData(aStream); diff --git a/libs/xassets/xpathnode.h b/libs/xassets/xpathnode.h index 3c8c129..e1c39d3 100644 --- a/libs/xassets/xpathnode.h +++ b/libs/xassets/xpathnode.h @@ -11,7 +11,7 @@ class XPathNode : public XAsset public: explicit XPathNode(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; const XPathNodeConstant& GetConstant() const; void SetConstant(const XPathNodeConstant& constant); diff --git a/libs/xassets/xpathnodeconstant.cpp b/libs/xassets/xpathnodeconstant.cpp index ca387c8..1872ccd 100644 --- a/libs/xassets/xpathnodeconstant.cpp +++ b/libs/xassets/xpathnodeconstant.cpp @@ -22,6 +22,7 @@ XPathNodeConstant::XPathNodeConstant() , mTotalLinkCount(0) , mLinks() { + SetName("Path Node Constant"); } XPathNodeConstant::~XPathNodeConstant() @@ -29,35 +30,38 @@ XPathNodeConstant::~XPathNodeConstant() } -void XPathNodeConstant::ParseData(QDataStream *aStream) { +void XPathNodeConstant::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - int typeInt; - *aStream >> typeInt; - mType = static_cast(typeInt); + mType = (XNodeType)aStream->ParseInt32(QString("%1 node type").arg(GetName())); + mSpawnflags = aStream->ParseUInt16(QString("%1 spawnflags").arg(GetName())); + mTargetname = aStream->ParseUInt16(QString("%1 targetname").arg(GetName())); + mScriptLinkName = aStream->ParseUInt16(QString("%1 script link name").arg(GetName())); + mScriptNoteworthy = aStream->ParseUInt16(QString("%1 script noteworthy").arg(GetName())); + mTarget = aStream->ParseUInt16(QString("%1 target").arg(GetName())); + mAnimscript = aStream->ParseUInt16(QString("%1 animscript").arg(GetName())); + mAnimscriptfunc = aStream->ParseInt32(QString("%1 animscript func").arg(GetName())); - *aStream - >> mSpawnflags - >> mTargetname - >> mScriptLinkName - >> mScriptNoteworthy - >> mTarget - >> mAnimscript - >> mAnimscriptfunc - >> mOrigin[0] - >> mOrigin[1] - >> mOrigin[2] - >> mAngle - >> mForward[0] - >> mForward[1] - >> mRadius - >> mMinUseDistSq - >> mOverlapNode - >> mChainId - >> mChainDepth - >> mChainParent - >> mTotalLinkCount; + mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName()))); + mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName()))); + mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName()))); - for (unsigned short i = 0; i < mTotalLinkCount; ++i) { + mAngle = aStream->ParseSingle(QString("%1 angle").arg(GetName())); + + mForward.setX(aStream->ParseSingle(QString("%1 forward x").arg(GetName()))); + mForward.setY(aStream->ParseSingle(QString("%1 forward y").arg(GetName()))); + + mRadius = aStream->ParseSingle(QString("%1 radius").arg(GetName())); + mMinUseDistSq = aStream->ParseSingle(QString("%1 min use dist sq").arg(GetName())); + + mOverlapNode.setX(aStream->ParseSingle(QString("%1 overlap node x").arg(GetName()))); + mOverlapNode.setY(aStream->ParseSingle(QString("%1 overlap node y").arg(GetName()))); + + mChainId = aStream->ParseInt16(QString("%1 chain id").arg(GetName())); + mChainDepth = aStream->ParseInt16(QString("%1 chain depth").arg(GetName())); + mChainParent = aStream->ParseInt16(QString("%1 chain parent").arg(GetName())); + mTotalLinkCount = aStream->ParseUInt16(QString("%1 total link count").arg(GetName())); + + for (quint16 i = 0; i < mTotalLinkCount; ++i) { XPathLink newLink; newLink.ParseData(aStream); mLinks.append(newLink); diff --git a/libs/xassets/xpathnodeconstant.h b/libs/xassets/xpathnodeconstant.h index 6a44867..d5745a4 100644 --- a/libs/xassets/xpathnodeconstant.h +++ b/libs/xassets/xpathnodeconstant.h @@ -14,28 +14,28 @@ public: explicit XPathNodeConstant(); ~XPathNodeConstant(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: XNodeType mType; - unsigned short mSpawnflags; - unsigned short mTargetname; - unsigned short mScriptLinkName; - unsigned short mScriptNoteworthy; - unsigned short mTarget; - unsigned short mAnimscript; - int mAnimscriptfunc; + quint16 mSpawnflags; + quint16 mTargetname; + quint16 mScriptLinkName; + quint16 mScriptNoteworthy; + quint16 mTarget; + quint16 mAnimscript; + qint32 mAnimscriptfunc; QVector3D mOrigin; float mAngle; QVector2D mForward; float mRadius; float mMinUseDistSq; QVector2D mOverlapNode; - short mChainId; - short mChainDepth; - short mChainParent; - unsigned short mTotalLinkCount; + qint16 mChainId; + qint16 mChainDepth; + qint16 mChainParent; + quint16 mTotalLinkCount; QVector mLinks; }; diff --git a/libs/xassets/xpathnodedynamic.cpp b/libs/xassets/xpathnodedynamic.cpp index 66b2a4f..690f887 100644 --- a/libs/xassets/xpathnodedynamic.cpp +++ b/libs/xassets/xpathnodedynamic.cpp @@ -2,15 +2,16 @@ XPathNodeDynamic::XPathNodeDynamic() : XAsset() - , mOwner(new XSentientHandle()) + , mOwner() , mFreeTime(0) - , mValidTime() + , mValidTime(3) , mPlayerLostTime(0) , mLinkCount(0) , mOverlapCount(0) , mTurretEntNumber(0) , mUserCount(0) { + SetName("Path Node Dynamic"); } XPathNodeDynamic::~XPathNodeDynamic() @@ -18,20 +19,22 @@ XPathNodeDynamic::~XPathNodeDynamic() } -void XPathNodeDynamic::ParseData(QDataStream *aStream) { +void XPathNodeDynamic::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - qint32 nodePtr; - *aStream - >> nodePtr - >> mFreeTime - >> mValidTime[0] - >> mValidTime[1] - >> mValidTime[2] - >> mPlayerLostTime - >> mLinkCount - >> mOverlapCount - >> mTurretEntNumber - >> mUserCount; + mOwner.ParseData(aStream); + + mFreeTime = aStream->ParseInt32(QString("%1 free time").arg(GetName())); + + mValidTime[0] = aStream->ParseInt32(QString("%1 valid time 0").arg(GetName())); + mValidTime[1] = aStream->ParseInt32(QString("%1 valid time 1").arg(GetName())); + mValidTime[2] = aStream->ParseInt32(QString("%1 valid time 2").arg(GetName())); + + mPlayerLostTime = aStream->ParseInt32(QString("%1 player lost time").arg(GetName())); + + mLinkCount = aStream->ParseInt16(QString("%1 link count").arg(GetName())); + mOverlapCount = aStream->ParseInt16(QString("%1 overlap count").arg(GetName())); + mTurretEntNumber = aStream->ParseInt16(QString("%1 turret ent number").arg(GetName())); + mUserCount = aStream->ParseInt16(QString("%1 user count").arg(GetName())); } } @@ -45,67 +48,3 @@ void XPathNodeDynamic::Clear() mTurretEntNumber = 0; mUserCount = 0; } - -XSentientHandle *XPathNodeDynamic::GetOwner() const { - return mOwner; -} - -void XPathNodeDynamic::SetOwner(XSentientHandle* owner) { - mOwner = owner; -} - -int XPathNodeDynamic::GetFreeTime() const { - return mFreeTime; -} - -void XPathNodeDynamic::SetFreeTime(int time) { - mFreeTime = time; -} - -QVector XPathNodeDynamic::GetValidTime() const { - return mValidTime; -} - -void XPathNodeDynamic::SetValidTime(QVector aValidTime) { - mValidTime = aValidTime; -} - -int XPathNodeDynamic::GetPlayerLostTime() const { - return mPlayerLostTime; -} - -void XPathNodeDynamic::SetPlayerLostTime(int time) { - mPlayerLostTime = time; -} - -short XPathNodeDynamic::GetLinkCount() const { - return mLinkCount; -} - -void XPathNodeDynamic::SetLinkCount(short count) { - mLinkCount = count; -} - -short XPathNodeDynamic::GetOverlapCount() const { - return mOverlapCount; -} - -void XPathNodeDynamic::SetOverlapCount(short count) { - mOverlapCount = count; -} - -short XPathNodeDynamic::GetTurretEntNumber() const { - return mTurretEntNumber; -} - -void XPathNodeDynamic::SetTurretEntNumber(short number) { - mTurretEntNumber = number; -} - -short XPathNodeDynamic::GetUserCount() const { - return mUserCount; -} - -void XPathNodeDynamic::SetUserCount(short count) { - mUserCount = count; -} diff --git a/libs/xassets/xpathnodedynamic.h b/libs/xassets/xpathnodedynamic.h index f22dc7e..b9d5969 100644 --- a/libs/xassets/xpathnodedynamic.h +++ b/libs/xassets/xpathnodedynamic.h @@ -12,35 +12,11 @@ public: explicit XPathNodeDynamic(); ~XPathNodeDynamic(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; - XSentientHandle* GetOwner() const; - void SetOwner(XSentientHandle *owner); - - int GetFreeTime() const; - void SetFreeTime(int time); - - QVector GetValidTime() const; - void SetValidTime(QVector aValidTime); - - int GetPlayerLostTime() const; - void SetPlayerLostTime(int time); - - short GetLinkCount() const; - void SetLinkCount(short count); - - short GetOverlapCount() const; - void SetOverlapCount(short count); - - short GetTurretEntNumber() const; - void SetTurretEntNumber(short number); - - short GetUserCount() const; - void SetUserCount(short count); - private: - XSentientHandle* mOwner; + XSentientHandle mOwner; int mFreeTime; QVector mValidTime; int mPlayerLostTime; diff --git a/libs/xassets/xpathnodetransient.cpp b/libs/xassets/xpathnodetransient.cpp index 469bbe6..d555d92 100644 --- a/libs/xassets/xpathnodetransient.cpp +++ b/libs/xassets/xpathnodetransient.cpp @@ -11,6 +11,7 @@ XPathNodeTransient::XPathNodeTransient() , mHeuristic(0.0f) , mCostFactor(0.0f) { + SetName("Path Node Transient"); } XPathNodeTransient::~XPathNodeTransient() @@ -18,7 +19,7 @@ XPathNodeTransient::~XPathNodeTransient() } -void XPathNodeTransient::ParseData(QDataStream *aStream) { +void XPathNodeTransient::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { qint32 node1Ptr, node2Ptr, node3Ptr; *aStream diff --git a/libs/xassets/xpathnodetransient.h b/libs/xassets/xpathnodetransient.h index 8c7b889..fc41af5 100644 --- a/libs/xassets/xpathnodetransient.h +++ b/libs/xassets/xpathnodetransient.h @@ -11,7 +11,7 @@ public: explicit XPathNodeTransient(); ~XPathNodeTransient(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; int GetSearchFrame() const; void SetSearchFrame(int frame); diff --git a/libs/xassets/xpathnodetree.cpp b/libs/xassets/xpathnodetree.cpp index 9f40f71..7379866 100644 --- a/libs/xassets/xpathnodetree.cpp +++ b/libs/xassets/xpathnodetree.cpp @@ -6,6 +6,7 @@ XPathNodeTree::XPathNodeTree() , mDist(0.0f) , mInfo(new XPathNodeTreeInfo()) { + SetName("Path Nod Treee"); } XPathNodeTree::~XPathNodeTree() @@ -13,7 +14,7 @@ XPathNodeTree::~XPathNodeTree() delete mInfo; } -void XPathNodeTree::ParseData(QDataStream *aStream) { +void XPathNodeTree::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mAxis diff --git a/libs/xassets/xpathnodetree.h b/libs/xassets/xpathnodetree.h index 18dc11b..3a88171 100644 --- a/libs/xassets/xpathnodetree.h +++ b/libs/xassets/xpathnodetree.h @@ -10,7 +10,7 @@ public: explicit XPathNodeTree(); ~XPathNodeTree(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; int GetAxis() const; diff --git a/libs/xassets/xpathnodetreeinfo.cpp b/libs/xassets/xpathnodetreeinfo.cpp index 86b52d3..5dec345 100644 --- a/libs/xassets/xpathnodetreeinfo.cpp +++ b/libs/xassets/xpathnodetreeinfo.cpp @@ -6,6 +6,7 @@ XPathNodeTreeInfo::XPathNodeTreeInfo() , mChildren() , mNodes() { + SetName("Path Node Tree Info"); } XPathNodeTreeInfo::~XPathNodeTreeInfo() @@ -13,7 +14,7 @@ XPathNodeTreeInfo::~XPathNodeTreeInfo() } -void XPathNodeTreeInfo::ParseData(QDataStream *aStream) { +void XPathNodeTreeInfo::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { // We'll assume we're parsing as children by default for (int i = 0; i < 2; ++i) { diff --git a/libs/xassets/xpathnodetreeinfo.h b/libs/xassets/xpathnodetreeinfo.h index 13e0b11..6c0d383 100644 --- a/libs/xassets/xpathnodetreeinfo.h +++ b/libs/xassets/xpathnodetreeinfo.h @@ -14,7 +14,7 @@ public: explicit XPathNodeTreeInfo(); ~XPathNodeTreeInfo(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; XPathNodeTree* GetChild(int index) const; void SetChild(int index, XPathNodeTree* child); diff --git a/libs/xassets/xpathnodetreenodes.cpp b/libs/xassets/xpathnodetreenodes.cpp index a38a5ab..518caa0 100644 --- a/libs/xassets/xpathnodetreenodes.cpp +++ b/libs/xassets/xpathnodetreenodes.cpp @@ -5,6 +5,7 @@ XPathNodeTreeNodes::XPathNodeTreeNodes() , mNodeCount(0) , mNodes() { + SetName("Path Node Tree Nodes"); } XPathNodeTreeNodes::~XPathNodeTreeNodes() @@ -12,7 +13,7 @@ XPathNodeTreeNodes::~XPathNodeTreeNodes() } -void XPathNodeTreeNodes::ParseData(QDataStream *aStream) { +void XPathNodeTreeNodes::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { *aStream >> mNodeCount; diff --git a/libs/xassets/xpathnodetreenodes.h b/libs/xassets/xpathnodetreenodes.h index 7c48388..67ddc69 100644 --- a/libs/xassets/xpathnodetreenodes.h +++ b/libs/xassets/xpathnodetreenodes.h @@ -11,7 +11,7 @@ public: explicit XPathNodeTreeNodes(); ~XPathNodeTreeNodes(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; int GetNodeCount() const; diff --git a/libs/xassets/xphysgeominfo.cpp b/libs/xassets/xphysgeominfo.cpp index dc23ab1..d2bb612 100644 --- a/libs/xassets/xphysgeominfo.cpp +++ b/libs/xassets/xphysgeominfo.cpp @@ -2,13 +2,13 @@ XPhysGeomInfo::XPhysGeomInfo() : XAsset() - , mBrush(new XBrushWrapper()) + , mBrush() , mType(0) , mOrientation() , mOffset() , mHalfLengths() { - + SetName("Phys Geometry Info"); } XPhysGeomInfo::~XPhysGeomInfo() @@ -16,16 +16,44 @@ XPhysGeomInfo::~XPhysGeomInfo() } -void XPhysGeomInfo::ParseData(QDataStream *aStream) +void XPhysGeomInfo::ParseData(XDataStream *aStream) { - + qint32 brushPtr; + + *aStream + >> brushPtr + >> mType; + + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + quint32 rawOrientation; + *aStream >> rawOrientation; + memcpy(&mOrientation[i][j], &rawOrientation, sizeof(mOrientation[i][j])); + } + } + + for (int i = 0; i < 3; i++) + { + quint32 rawOffset; + *aStream >> rawOffset; + memcpy(&mOffset[i], &rawOffset, sizeof(mOffset[i])); + } + + for (int i = 0; i < 3; i++) + { + quint32 rawHalfLength; + *aStream >> rawHalfLength; + memcpy(&mHalfLengths[i], &rawHalfLength, sizeof(mHalfLengths[i])); + } } void XPhysGeomInfo::Clear() { - mBrush = new XBrushWrapper(); + mBrush.Clear(); mType = 0; - mOrientation = QVector(); + mOrientation.clear(); mOffset = QVector3D(); mHalfLengths = QVector3D(); } diff --git a/libs/xassets/xphysgeominfo.h b/libs/xassets/xphysgeominfo.h index 1d583ac..df4b993 100644 --- a/libs/xassets/xphysgeominfo.h +++ b/libs/xassets/xphysgeominfo.h @@ -10,11 +10,11 @@ public: XPhysGeomInfo(); ~XPhysGeomInfo(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: - XBrushWrapper *mBrush; + XBrushWrapper mBrush; int mType; QVector mOrientation; QVector3D mOffset; diff --git a/libs/xassets/xphysgeomlist.cpp b/libs/xassets/xphysgeomlist.cpp index c9c06ec..5adbe21 100644 --- a/libs/xassets/xphysgeomlist.cpp +++ b/libs/xassets/xphysgeomlist.cpp @@ -6,7 +6,7 @@ XPhysGeomList::XPhysGeomList() , mGeoms() , mMass() { - + SetName("Phys Geometry List"); } XPhysGeomList::~XPhysGeomList() @@ -14,9 +14,25 @@ XPhysGeomList::~XPhysGeomList() } -void XPhysGeomList::ParseData(QDataStream *aStream) +void XPhysGeomList::ParseData(XDataStream *aStream) { - + if (GetPtr() == -1) + { + qint32 geomsPtr; + *aStream + >> mCount + >> geomsPtr; + + if (geomsPtr) + { + for (quint32 i = 0; i < mCount; i++) + { + XPhysGeomInfo newGeom; + newGeom.ParseData(aStream); + mGeoms.append(newGeom); + } + } + } } void XPhysGeomList::Clear() diff --git a/libs/xassets/xphysgeomlist.h b/libs/xassets/xphysgeomlist.h index ffbb3bc..9b83b9a 100644 --- a/libs/xassets/xphysgeomlist.h +++ b/libs/xassets/xphysgeomlist.h @@ -11,7 +11,7 @@ public: XPhysGeomList(); ~XPhysGeomList(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xphysmass.cpp b/libs/xassets/xphysmass.cpp index 7205e16..2c5c4ed 100644 --- a/libs/xassets/xphysmass.cpp +++ b/libs/xassets/xphysmass.cpp @@ -6,7 +6,7 @@ XPhysMass::XPhysMass() , mMomentsOfInertia() , mProductsOfInertia() { - + SetName("Phys Mass"); } XPhysMass::~XPhysMass() @@ -14,9 +14,11 @@ XPhysMass::~XPhysMass() } -void XPhysMass::ParseData(QDataStream *aStream) +void XPhysMass::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XPhysMass::ParseData } void XPhysMass::Clear() diff --git a/libs/xassets/xphysmass.h b/libs/xassets/xphysmass.h index cf11957..fb84128 100644 --- a/libs/xassets/xphysmass.h +++ b/libs/xassets/xphysmass.h @@ -11,7 +11,7 @@ public: XPhysMass(); ~XPhysMass(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xphyspreset.cpp b/libs/xassets/xphyspreset.cpp index 085b58c..a839d54 100644 --- a/libs/xassets/xphyspreset.cpp +++ b/libs/xassets/xphyspreset.cpp @@ -23,7 +23,7 @@ XPhysPreset::~XPhysPreset() } -void XPhysPreset::ParseData(QDataStream *aStream) +void XPhysPreset::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { @@ -31,18 +31,28 @@ void XPhysPreset::ParseData(QDataStream *aStream) *aStream >> mType - >> mMass - >> mBounce - >> mFriction - >> mBulletForceScale - >> mExplosiveForceScale; + >> mMass; + + + quint32 rawTemp; + *aStream >> rawTemp; + memcpy(&mBounce, &rawTemp, sizeof(mBounce)); + *aStream >> rawTemp; + memcpy(&mFriction, &rawTemp, sizeof(mFriction)); + *aStream >> rawTemp; + memcpy(&mBulletForceScale, &rawTemp, sizeof(mBulletForceScale)); + *aStream >> rawTemp; + memcpy(&mExplosiveForceScale, &rawTemp, sizeof(mExplosiveForceScale)); mSndAliasPrefix.ParsePtr(aStream, false); - *aStream - >> mPiecesSpreadFraction - >> mPiecesUpwardVelocity - >> mTempDefaultToCylinder; + + *aStream >> rawTemp; + memcpy(&mPiecesSpreadFraction, &rawTemp, sizeof(mPiecesSpreadFraction)); + *aStream >> rawTemp; + memcpy(&mPiecesUpwardVelocity, &rawTemp, sizeof(mPiecesUpwardVelocity)); + + *aStream >> mTempDefaultToCylinder; mName.ParseData(aStream); mSndAliasPrefix.ParseData(aStream); diff --git a/libs/xassets/xphyspreset.h b/libs/xassets/xphyspreset.h index 10ebe80..e37b896 100644 --- a/libs/xassets/xphyspreset.h +++ b/libs/xassets/xphyspreset.h @@ -10,7 +10,7 @@ public: explicit XPhysPreset(); ~XPhysPreset(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xrawfile.cpp b/libs/xassets/xrawfile.cpp index 4db063a..cbe5b8e 100644 --- a/libs/xassets/xrawfile.cpp +++ b/libs/xassets/xrawfile.cpp @@ -70,7 +70,7 @@ void XRawFile::Clear() XAsset::Clear(); } -void XRawFile::ParseData(QDataStream *aStream) +void XRawFile::ParseData(XDataStream *aStream) { mName->ParsePtr(aStream, false); diff --git a/libs/xassets/xrawfile.h b/libs/xassets/xrawfile.h index 938b5c6..9b11916 100644 --- a/libs/xassets/xrawfile.h +++ b/libs/xassets/xrawfile.h @@ -21,7 +21,7 @@ public: QByteArray Buffer() const; virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; + virtual void ParseData(XDataStream *aStream) override; private: XString* mName; diff --git a/libs/xassets/xrectdef.cpp b/libs/xassets/xrectdef.cpp index d64e43f..387ee02 100644 --- a/libs/xassets/xrectdef.cpp +++ b/libs/xassets/xrectdef.cpp @@ -9,7 +9,7 @@ XRectDef::XRectDef() , mHorzAlign(0) , mVertAlign(0) { - + SetName("Rectangle Definition"); } XRectDef::~XRectDef() @@ -17,9 +17,11 @@ XRectDef::~XRectDef() } -void XRectDef::ParseData(QDataStream *aStream) +void XRectDef::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XRectDef::ParseData } void XRectDef::Clear() diff --git a/libs/xassets/xrectdef.h b/libs/xassets/xrectdef.h index 0572186..9935bf2 100644 --- a/libs/xassets/xrectdef.h +++ b/libs/xassets/xrectdef.h @@ -9,7 +9,7 @@ public: explicit XRectDef(); ~XRectDef(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xreverbsettings.cpp b/libs/xassets/xreverbsettings.cpp index 1885893..8b2da6a 100644 --- a/libs/xassets/xreverbsettings.cpp +++ b/libs/xassets/xreverbsettings.cpp @@ -24,7 +24,7 @@ XReverbSettings::XReverbSettings() , mDensity(0.0) , mRoomSize(0.0) { - + SetName("Reverb Settings"); } quint32 XReverbSettings::GetReflectionsDelay() const @@ -159,7 +159,7 @@ void XReverbSettings::Clear() XAsset::Clear(); } -void XReverbSettings::ParseData(QDataStream* aStream) +void XReverbSettings::ParseData(XDataStream* aStream) { *aStream >> mReflectionsDelay diff --git a/libs/xassets/xreverbsettings.h b/libs/xassets/xreverbsettings.h index e6d0921..c58c34b 100644 --- a/libs/xassets/xreverbsettings.h +++ b/libs/xassets/xreverbsettings.h @@ -31,7 +31,7 @@ public: float GetRoomSize() const; virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; public slots: void SetReflectionsDelay(quint32 aReflectionsDelay); diff --git a/libs/xassets/xrigidvertlist.cpp b/libs/xassets/xrigidvertlist.cpp index 5576dd6..8345854 100644 --- a/libs/xassets/xrigidvertlist.cpp +++ b/libs/xassets/xrigidvertlist.cpp @@ -6,14 +6,43 @@ XRigidVertList::XRigidVertList() , mVertCount(0) , mTriOffset(0) , mTriCount(0) - , mCollisionTree(new XSurfaceCollisionTree()) + , mCollisionTree() { - + SetName("Rigid Vertex List"); } -void XRigidVertList::ParseData(QDataStream *aStream) +XRigidVertList::~XRigidVertList() { - + +} + +void XRigidVertList::ParseData(XDataStream *aStream) +{ + *aStream >> mBoneOffset; + if (IsDebug()) + { + qDebug() << QString("[%1] mBoneOffset = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mBoneOffset); + } + + *aStream >> mVertCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mVertCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertCount); + } + + *aStream >> mTriOffset; + if (IsDebug()) + { + qDebug() << QString("[%1] mTriOffset = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mTriOffset); + } + + *aStream >> mTriCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mTriCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mTriCount); + } + + mCollisionTree.ParsePtr(aStream); } void XRigidVertList::Clear() diff --git a/libs/xassets/xrigidvertlist.h b/libs/xassets/xrigidvertlist.h index b7639fb..1588866 100644 --- a/libs/xassets/xrigidvertlist.h +++ b/libs/xassets/xrigidvertlist.h @@ -8,16 +8,17 @@ class XRigidVertList : public XAsset { public: explicit XRigidVertList(); + ~XRigidVertList(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: - quint32 mBoneOffset; - quint32 mVertCount; - quint32 mTriOffset; - quint32 mTriCount; - XSurfaceCollisionTree *mCollisionTree; + quint16 mBoneOffset; + quint16 mVertCount; + quint16 mTriOffset; + quint16 mTriCount; + XSurfaceCollisionTree mCollisionTree; }; #endif // XRIGIDVERTLIST_H diff --git a/libs/xassets/xscriptstringlist.cpp b/libs/xassets/xscriptstringlist.cpp index 4db9386..6558cbb 100644 --- a/libs/xassets/xscriptstringlist.cpp +++ b/libs/xassets/xscriptstringlist.cpp @@ -4,7 +4,6 @@ XScriptStringList::XScriptStringList() : XAsset() , mCount(0) - , mStringPtrs() , mScriptStrings() { SetName("Script String List"); @@ -18,11 +17,10 @@ int XScriptStringList::Size() void XScriptStringList::Clear() { mCount = 0; - mStringPtrs.clear(); mScriptStrings.clear(); } -void XScriptStringList::ParseData(QDataStream *aStream) +void XScriptStringList::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { @@ -32,23 +30,18 @@ void XScriptStringList::ParseData(QDataStream *aStream) } for (int i = 0; i < mCount; i++) { - qint32 tempStringPtr; - *aStream >> tempStringPtr; - - if (tempStringPtr == -1) - { - const QString newScriptString = XString::ParseCustom(aStream); - mScriptStrings << newScriptString; - if (IsDebug()) - { - qDebug() << QString("[%1] newScriptString = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(newScriptString); - } - } + XString newScriptString; + newScriptString.ParsePtr(aStream, false); + mScriptStrings.append(newScriptString); + } + for (int i = 0; i < mCount; i++) + { + mScriptStrings[i].ParseData(aStream); } } } -void XScriptStringList::ParsePtr(QDataStream *aStream, bool aDataFlag) +void XScriptStringList::ParsePtr(XDataStream *aStream, bool aDataFlag) { qint32 stringsPtr; diff --git a/libs/xassets/xscriptstringlist.h b/libs/xassets/xscriptstringlist.h index ce6bf5d..ab23a51 100644 --- a/libs/xassets/xscriptstringlist.h +++ b/libs/xassets/xscriptstringlist.h @@ -2,6 +2,7 @@ #define XSCRIPTSTRINGLIST_H #include "xasset.h" +#include "xstring.h" #include @@ -13,13 +14,12 @@ public: virtual int Size(); virtual void Clear() override; - virtual void ParseData(QDataStream *aStream) override; - virtual void ParsePtr(QDataStream *aStream, bool aDataFlag = true) override; + virtual void ParseData(XDataStream *aStream) override; + virtual void ParsePtr(XDataStream *aStream, bool aDataFlag = true) override; private: int mCount; - QVector mStringPtrs; - QStringList mScriptStrings; + QVector mScriptStrings; }; #endif // XSCRIPTSTRINGLIST_H diff --git a/libs/xassets/xsentienthandle.cpp b/libs/xassets/xsentienthandle.cpp index 51e6ea7..56f15b6 100644 --- a/libs/xassets/xsentienthandle.cpp +++ b/libs/xassets/xsentienthandle.cpp @@ -5,7 +5,7 @@ XSentientHandle::XSentientHandle() , mNumber(0) , mInfoIndex(0) { - + SetName("Sentient Handle"); } XSentientHandle::~XSentientHandle() @@ -13,9 +13,10 @@ XSentientHandle::~XSentientHandle() } -void XSentientHandle::ParseData(QDataStream *aStream) +void XSentientHandle::ParseData(XDataStream *aStream) { - + mNumber = aStream->ParseInt16(QString("%1 number").arg(GetName())); + mInfoIndex = aStream->ParseInt16(QString("%1 info index").arg(GetName())); } void XSentientHandle::Clear() diff --git a/libs/xassets/xsentienthandle.h b/libs/xassets/xsentienthandle.h index 6ec7e50..e036ef7 100644 --- a/libs/xassets/xsentienthandle.h +++ b/libs/xassets/xsentienthandle.h @@ -9,12 +9,12 @@ public: explicit XSentientHandle(); ~XSentientHandle(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: - quint32 mNumber; - quint32 mInfoIndex; + quint16 mNumber; + quint16 mInfoIndex; }; #endif // XSENTIENTHANDLE_H diff --git a/libs/xassets/xsoundalias.cpp b/libs/xassets/xsoundalias.cpp index cdce085..4fcb34d 100644 --- a/libs/xassets/xsoundalias.cpp +++ b/libs/xassets/xsoundalias.cpp @@ -26,7 +26,7 @@ XSoundAlias::XSoundAlias() , mEnvelopPercentage(0.0f) , mSpeakerMap() { - + SetName("Sound Alias"); } XSoundAlias::~XSoundAlias() @@ -39,7 +39,7 @@ void XSoundAlias::Clear() } -void XSoundAlias::ParseData(QDataStream *aStream) +void XSoundAlias::ParseData(XDataStream *aStream) { mAliasName.ParsePtr(aStream, false); mSubtitle.ParsePtr(aStream, false); diff --git a/libs/xassets/xsoundalias.h b/libs/xassets/xsoundalias.h index 15cef22..ba525a9 100644 --- a/libs/xassets/xsoundalias.h +++ b/libs/xassets/xsoundalias.h @@ -14,7 +14,7 @@ public: ~XSoundAlias(); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: XString mAliasName; diff --git a/libs/xassets/xsoundaliaslist.cpp b/libs/xassets/xsoundaliaslist.cpp index 79a9097..9002120 100644 --- a/libs/xassets/xsoundaliaslist.cpp +++ b/libs/xassets/xsoundaliaslist.cpp @@ -22,7 +22,7 @@ void XSoundAliasList::Clear() mCount = 0; } -void XSoundAliasList::ParseData(QDataStream *aStream) +void XSoundAliasList::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xsoundaliaslist.h b/libs/xassets/xsoundaliaslist.h index 00fa159..f574848 100644 --- a/libs/xassets/xsoundaliaslist.h +++ b/libs/xassets/xsoundaliaslist.h @@ -11,7 +11,7 @@ public: ~XSoundAliasList(); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: XString mAliasName; diff --git a/libs/xassets/xsoundcurve.cpp b/libs/xassets/xsoundcurve.cpp index 176b778..5f20a7c 100644 --- a/libs/xassets/xsoundcurve.cpp +++ b/libs/xassets/xsoundcurve.cpp @@ -45,7 +45,7 @@ void XSoundCurve::Clear() mKnots.clear(); } -void XSoundCurve::ParseData(QDataStream *aStream) +void XSoundCurve::ParseData(XDataStream *aStream) { if (mFileName != nullptr) { diff --git a/libs/xassets/xsoundcurve.h b/libs/xassets/xsoundcurve.h index 8db5943..e4e5cdf 100644 --- a/libs/xassets/xsoundcurve.h +++ b/libs/xassets/xsoundcurve.h @@ -18,7 +18,7 @@ public: int GetKnotCount(); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: XString* mFileName; diff --git a/libs/xassets/xsounddriverglobals.cpp b/libs/xassets/xsounddriverglobals.cpp index 0506eb6..e0995ba 100644 --- a/libs/xassets/xsounddriverglobals.cpp +++ b/libs/xassets/xsounddriverglobals.cpp @@ -6,7 +6,7 @@ XSoundDriverGlobals::XSoundDriverGlobals() , mName(new XString()) { SetType(ASSET_TYPE_SNDDRIVER_GLOBALS); - SetName("Sound Globals"); + SetName("Sound Driver Globals"); } XSoundDriverGlobals::~XSoundDriverGlobals() @@ -21,7 +21,7 @@ void XSoundDriverGlobals::Clear() mName->Clear(); } -void XSoundDriverGlobals::ParseData(QDataStream* aStream) +void XSoundDriverGlobals::ParseData(XDataStream* aStream) { if (GetPtr()) { diff --git a/libs/xassets/xsounddriverglobals.h b/libs/xassets/xsounddriverglobals.h index edd5b12..cd856a9 100644 --- a/libs/xassets/xsounddriverglobals.h +++ b/libs/xassets/xsounddriverglobals.h @@ -12,7 +12,7 @@ public: ~XSoundDriverGlobals(); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: XAudioReverbSettings *mAudioReverbSettings; diff --git a/libs/xassets/xsoundfile.cpp b/libs/xassets/xsoundfile.cpp index c606aff..3070e1a 100644 --- a/libs/xassets/xsoundfile.cpp +++ b/libs/xassets/xsoundfile.cpp @@ -6,7 +6,7 @@ XSoundFile::XSoundFile() , mExists(0) , mRef() { - + SetName("Sound File"); } XSoundFile::~XSoundFile() @@ -19,7 +19,7 @@ quint8 XSoundFile::GetSoundType() const return mType; } -void XSoundFile::ParseData(QDataStream *aStream) +void XSoundFile::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xsoundfile.h b/libs/xassets/xsoundfile.h index 440e65d..28f5df6 100644 --- a/libs/xassets/xsoundfile.h +++ b/libs/xassets/xsoundfile.h @@ -12,7 +12,7 @@ public: quint8 GetSoundType() const; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xsoundfileref.cpp b/libs/xassets/xsoundfileref.cpp index 0649c64..f06d3fd 100644 --- a/libs/xassets/xsoundfileref.cpp +++ b/libs/xassets/xsoundfileref.cpp @@ -7,7 +7,7 @@ XSoundFileRef::XSoundFileRef() , mLoadedSnd() , mStreamSnd() { - + SetName("Sound File Reference"); } XSoundFileRef::XSoundFileRef(XSoundFile &aParent) @@ -24,7 +24,7 @@ XSoundFileRef::~XSoundFileRef() } -void XSoundFileRef::ParseData(QDataStream *aStream) +void XSoundFileRef::ParseData(XDataStream *aStream) { if (mParent->GetSoundType() == 1) { diff --git a/libs/xassets/xsoundfileref.h b/libs/xassets/xsoundfileref.h index 2e023f7..4d361bf 100644 --- a/libs/xassets/xsoundfileref.h +++ b/libs/xassets/xsoundfileref.h @@ -14,7 +14,7 @@ public: XSoundFileRef(XSoundFile& aParent); ~XSoundFileRef(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xspeakermap.cpp b/libs/xassets/xspeakermap.cpp index 35b91c0..2d8c651 100644 --- a/libs/xassets/xspeakermap.cpp +++ b/libs/xassets/xspeakermap.cpp @@ -6,6 +6,8 @@ XSpeakerMap::XSpeakerMap() , mName(new XString()) , mChannelMaps(QVector>()) { + SetName("Speaker Map"); + for (int i = 0; i < MAP_DIM; i++) { for (int j = 0; j < MAP_DIM; j++) @@ -53,22 +55,12 @@ bool XSpeakerMap::IsDefault() const return mIsDefault; } -void XSpeakerMap::SetName(XString *aName) -{ - mName = aName; -} - -XString *XSpeakerMap::GetName() -{ - return mName; -} - XAudioChannelMap *XSpeakerMap::GetChannelMapEntry(int aRow, int aCol) { return mChannelMaps[aRow][aCol]; } -QVector XSpeakerMap::ParseChannelArray(QDataStream *aStream, int aCount) +QVector XSpeakerMap::ParseChannelArray(XDataStream *aStream, int aCount) { QVector result; for (int i = 0; i < aCount; i++) @@ -80,7 +72,7 @@ QVector XSpeakerMap::ParseChannelArray(QDataStream *aStream, return result; } -void XSpeakerMap::ParseData(QDataStream *aStream) +void XSpeakerMap::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xspeakermap.h b/libs/xassets/xspeakermap.h index 01af37c..9a1270c 100644 --- a/libs/xassets/xspeakermap.h +++ b/libs/xassets/xspeakermap.h @@ -18,13 +18,10 @@ public: void SetIsDefault(bool aIsDefault); bool IsDefault() const; - void SetName(XString *aName); - XString* GetName(); - XAudioChannelMap* GetChannelMapEntry(int aRow, int aCol); - virtual QVector ParseChannelArray(QDataStream *aStream, int aCount); - virtual void ParseData(QDataStream* aStream) override; + virtual QVector ParseChannelArray(XDataStream *aStream, int aCount); + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xsrftriangles.cpp b/libs/xassets/xsrftriangles.cpp index 244f181..29493f3 100644 --- a/libs/xassets/xsrftriangles.cpp +++ b/libs/xassets/xsrftriangles.cpp @@ -10,7 +10,7 @@ XSrfTriangles::XSrfTriangles() , mTopMipMins() , mTopMipMaxs() { - + SetName("Surface Triangles"); } XSrfTriangles::~XSrfTriangles() @@ -18,9 +18,11 @@ XSrfTriangles::~XSrfTriangles() } -void XSrfTriangles::ParseData(QDataStream *aStream) +void XSrfTriangles::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XSrfTriangles::ParseData } void XSrfTriangles::Clear() diff --git a/libs/xassets/xsrftriangles.h b/libs/xassets/xsrftriangles.h index 28f82aa..b322782 100644 --- a/libs/xassets/xsrftriangles.h +++ b/libs/xassets/xsrftriangles.h @@ -11,7 +11,7 @@ public: explicit XSrfTriangles(); ~XSrfTriangles(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xstatement.cpp b/libs/xassets/xstatement.cpp index 1739552..675caaa 100644 --- a/libs/xassets/xstatement.cpp +++ b/libs/xassets/xstatement.cpp @@ -5,7 +5,7 @@ XStatement::XStatement() , mNumEntries(0) , mEntries() { - + SetName("Statement"); } XStatement::~XStatement() @@ -13,9 +13,11 @@ XStatement::~XStatement() } -void XStatement::ParseData(QDataStream *aStream) +void XStatement::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XStatement::ParseData } void XStatement::Clear() diff --git a/libs/xassets/xstatement.h b/libs/xassets/xstatement.h index 58f4ae9..b930931 100644 --- a/libs/xassets/xstatement.h +++ b/libs/xassets/xstatement.h @@ -12,7 +12,7 @@ public: explicit XStatement(); ~XStatement(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xstreamdelayinfo.cpp b/libs/xassets/xstreamdelayinfo.cpp index 34ff483..eed9f4a 100644 --- a/libs/xassets/xstreamdelayinfo.cpp +++ b/libs/xassets/xstreamdelayinfo.cpp @@ -5,7 +5,7 @@ XStreamDelayInfo::XStreamDelayInfo() , mPtr(0) , mSize(0) { - + SetName("Stream Delay Info"); } XStreamDelayInfo::~XStreamDelayInfo() @@ -14,12 +14,14 @@ XStreamDelayInfo::~XStreamDelayInfo() } void XStreamDelayInfo::Clear() -{ - -} - -void XStreamDelayInfo::ParseData(QDataStream *aStream) { mPtr = nullptr; mSize = 0; } + +void XStreamDelayInfo::ParseData(XDataStream *aStream) +{ + Q_UNUSED(aStream); + + // TODO: Fill in XStreamDelayInfo::ParseData +} diff --git a/libs/xassets/xstreamdelayinfo.h b/libs/xassets/xstreamdelayinfo.h index 67a25e6..2b05525 100644 --- a/libs/xassets/xstreamdelayinfo.h +++ b/libs/xassets/xstreamdelayinfo.h @@ -10,7 +10,7 @@ public: ~XStreamDelayInfo(); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: const void *mPtr; diff --git a/libs/xassets/xstreamedsound.cpp b/libs/xassets/xstreamedsound.cpp index a1631c5..3059224 100644 --- a/libs/xassets/xstreamedsound.cpp +++ b/libs/xassets/xstreamedsound.cpp @@ -1,8 +1,9 @@ #include "xstreamedsound.h" XStreamedSound::XStreamedSound() + : XAsset() { - + SetName("Streamed Sound"); } XStreamedSound::~XStreamedSound() @@ -10,9 +11,11 @@ XStreamedSound::~XStreamedSound() } -void XStreamedSound::ParseData(QDataStream *aStream) +void XStreamedSound::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XStreamedSound::ParseData } void XStreamedSound::Clear() diff --git a/libs/xassets/xstreamedsound.h b/libs/xassets/xstreamedsound.h index 1e13010..e95367a 100644 --- a/libs/xassets/xstreamedsound.h +++ b/libs/xassets/xstreamedsound.h @@ -11,7 +11,7 @@ public: XStreamedSound(); ~XStreamedSound(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xstreamfileinfo.cpp b/libs/xassets/xstreamfileinfo.cpp index ffff9ac..a81df03 100644 --- a/libs/xassets/xstreamfileinfo.cpp +++ b/libs/xassets/xstreamfileinfo.cpp @@ -1,8 +1,9 @@ #include "xstreamfileinfo.h" XStreamFileInfo::XStreamFileInfo() + : XAsset() { - + SetName("Stream File Info"); } XStreamFileInfo::~XStreamFileInfo() @@ -15,7 +16,9 @@ void XStreamFileInfo::Clear() } -void XStreamFileInfo::ParseData(QDataStream *aStream) +void XStreamFileInfo::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XStreamFileInfo::ParseData } diff --git a/libs/xassets/xstreamfileinfo.h b/libs/xassets/xstreamfileinfo.h index 0dccc0d..10583aa 100644 --- a/libs/xassets/xstreamfileinfo.h +++ b/libs/xassets/xstreamfileinfo.h @@ -12,7 +12,7 @@ public: ~XStreamFileInfo(); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: XStreamFileNameRaw mRaw; diff --git a/libs/xassets/xstreamfilename.cpp b/libs/xassets/xstreamfilename.cpp index e64d637..0e3dac8 100644 --- a/libs/xassets/xstreamfilename.cpp +++ b/libs/xassets/xstreamfilename.cpp @@ -1,21 +1,27 @@ -#include "xstreamfileinfo.h" +#include "xstreamfilename.h" -XStreamFileInfo::XStreamFileInfo() +XStreamFileName::XStreamFileName() + : XAsset() + , mFileIndex(0) + , mInfo() +{ + SetName("Stream File Name"); +} + +XStreamFileName::~XStreamFileName() { } -XStreamFileInfo::~XStreamFileInfo() +void XStreamFileName::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XStreamFileName::ParseData } -void XStreamFileInfo::ParseData(QDataStream *aStream) +void XStreamFileName::Clear() { - -} - -void XStreamFileInfo::Clear() -{ - + mFileIndex = 0; + mInfo.Clear(); } diff --git a/libs/xassets/xstreamfilename.h b/libs/xassets/xstreamfilename.h index 7e3d02e..de44713 100644 --- a/libs/xassets/xstreamfilename.h +++ b/libs/xassets/xstreamfilename.h @@ -1,23 +1,21 @@ -#ifndef XSTREAMFILEINFO_H -#define XSTREAMFILEINFO_H +#ifndef XSTREAMFILENAME_H +#define XSTREAMFILENAME_H #include "xasset.h" +#include "xstreamfileinfo.h" -class XStreamFileNameRaw; -class XStreamFileNamePacked; - -class XStreamFileInfo : public XAsset +class XStreamFileName : public XAsset { public: - XStreamFileInfo(); - ~XStreamFileInfo(); + explicit XStreamFileName(); + ~XStreamFileName(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: - XStreamFileNameRaw *mRaw; - XStreamFileNamePacked *mPacked; + quint32 mFileIndex; + XStreamFileInfo mInfo; }; -#endif // XSTREAMFILEINFO_H +#endif // XSTREAMFILENAME_H diff --git a/libs/xassets/xstreamfilenamepacked.cpp b/libs/xassets/xstreamfilenamepacked.cpp index 1dcfdc3..45dd4a7 100644 --- a/libs/xassets/xstreamfilenamepacked.cpp +++ b/libs/xassets/xstreamfilenamepacked.cpp @@ -1,8 +1,9 @@ #include "xstreamfilenamepacked.h" XStreamFileNamePacked::XStreamFileNamePacked() + : XAsset() { - + SetName("Stream File Name Packed"); } XStreamFileNamePacked::~XStreamFileNamePacked() @@ -10,9 +11,11 @@ XStreamFileNamePacked::~XStreamFileNamePacked() } -void XStreamFileNamePacked::ParseData(QDataStream *aStream) +void XStreamFileNamePacked::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XStreamFileNamePacked::ParseData } void XStreamFileNamePacked::Clear() diff --git a/libs/xassets/xstreamfilenamepacked.h b/libs/xassets/xstreamfilenamepacked.h index b5b5600..9e7f6e9 100644 --- a/libs/xassets/xstreamfilenamepacked.h +++ b/libs/xassets/xstreamfilenamepacked.h @@ -11,7 +11,7 @@ public: XStreamFileNamePacked(); ~XStreamFileNamePacked(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xstreamfilenameraw.cpp b/libs/xassets/xstreamfilenameraw.cpp index 0a2c246..6d6d676 100644 --- a/libs/xassets/xstreamfilenameraw.cpp +++ b/libs/xassets/xstreamfilenameraw.cpp @@ -1,8 +1,9 @@ #include "xstreamfilenameraw.h" XStreamFileNameRaw::XStreamFileNameRaw() + : XAsset() { - + SetName("Stream File Name Raw"); } XStreamFileNameRaw::~XStreamFileNameRaw() @@ -10,9 +11,11 @@ XStreamFileNameRaw::~XStreamFileNameRaw() } -void XStreamFileNameRaw::ParseData(QDataStream *aStream) +void XStreamFileNameRaw::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XStreamFileNameRaw::ParseData } void XStreamFileNameRaw::Clear() diff --git a/libs/xassets/xstreamfilenameraw.h b/libs/xassets/xstreamfilenameraw.h index 8bddd7f..0fcf8bc 100644 --- a/libs/xassets/xstreamfilenameraw.h +++ b/libs/xassets/xstreamfilenameraw.h @@ -10,7 +10,7 @@ public: XStreamFileNameRaw(); ~XStreamFileNameRaw(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xstreamsourceinfo.cpp b/libs/xassets/xstreamsourceinfo.cpp index 2cf4934..f4efba4 100644 --- a/libs/xassets/xstreamsourceinfo.cpp +++ b/libs/xassets/xstreamsourceinfo.cpp @@ -6,7 +6,7 @@ XStreamSourceInfo::XStreamSourceInfo() , mOffset(0) , mType(0) { - + SetName("Stream Source Info"); } XStreamSourceInfo::~XStreamSourceInfo() @@ -21,7 +21,9 @@ void XStreamSourceInfo::Clear() mType = 0; } -void XStreamSourceInfo::ParseData(QDataStream *aStream) +void XStreamSourceInfo::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XStreamSourceInfo::ParseData } diff --git a/libs/xassets/xstreamsourceinfo.h b/libs/xassets/xstreamsourceinfo.h index 3eeb0f4..57c9f49 100644 --- a/libs/xassets/xstreamsourceinfo.h +++ b/libs/xassets/xstreamsourceinfo.h @@ -10,12 +10,12 @@ public: ~XStreamSourceInfo(); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: quint32 mStream; quint32 mOffset; - uint mType; + quint32 mType; }; #endif // XSTREAMSOURCEINFO_H diff --git a/libs/xassets/xstring.cpp b/libs/xassets/xstring.cpp index b7f1e66..2507d6f 100644 --- a/libs/xassets/xstring.cpp +++ b/libs/xassets/xstring.cpp @@ -18,7 +18,7 @@ XString::XString(const QString aString) , mRemoveString("") , mContentLength(-1) { - + SetName("String"); } XString::~XString() @@ -46,7 +46,7 @@ void XString::SetString(const QString& aString) mString = aString; } -QString XString::ParseCustom(QDataStream *aStream) +QString XString::ParseCustom(XDataStream *aStream) { QString result; char currentChar; @@ -61,7 +61,7 @@ QString XString::ParseCustom(QDataStream *aStream) return result; } -XStringArray* XString::ParseArray(QDataStream *aStream, int aCount) +XStringArray* XString::ParseArray(XDataStream *aStream, int aCount) { XStringArray* result = new XStringArray(); @@ -81,7 +81,7 @@ void XString::Clear() mString = ""; } -void XString::ParseData(QDataStream *aStream) +void XString::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { diff --git a/libs/xassets/xstring.h b/libs/xassets/xstring.h index b5c113b..efd2ef9 100644 --- a/libs/xassets/xstring.h +++ b/libs/xassets/xstring.h @@ -20,11 +20,11 @@ public: void SetRemoveString(const QString aRemoveString); void SetContentLength(int aContentLength); - static QString ParseCustom(QDataStream* aStream); - static XStringArray* ParseArray(QDataStream* aStream, int aCount); + static QString ParseCustom(XDataStream* aStream); + static XStringArray* ParseArray(XDataStream* aStream, int aCount); virtual void Clear() override; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; private: QString mString; diff --git a/libs/xassets/xstringtable.cpp b/libs/xassets/xstringtable.cpp index f2bb3f3..8747aac 100644 --- a/libs/xassets/xstringtable.cpp +++ b/libs/xassets/xstringtable.cpp @@ -79,7 +79,7 @@ void XStringTable::Clear() XAsset::Clear(); } -void XStringTable::ParseData(QDataStream *aStream) { +void XStringTable::ParseData(XDataStream *aStream) { qint32 valuesPtr; mName->ParsePtr(aStream, false); diff --git a/libs/xassets/xstringtable.h b/libs/xassets/xstringtable.h index 3682026..515e2a0 100644 --- a/libs/xassets/xstringtable.h +++ b/libs/xassets/xstringtable.h @@ -7,7 +7,7 @@ class XStringTable : public XAsset { public: - XStringTable(); + explicit XStringTable(); ~XStringTable(); XString* GetName() const; @@ -15,7 +15,7 @@ public: int GetColumnCount() const; int GetRowCount() const; - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; public slots: diff --git a/libs/xassets/xsunflare.cpp b/libs/xassets/xsunflare.cpp index 2805c20..0d31c82 100644 --- a/libs/xassets/xsunflare.cpp +++ b/libs/xassets/xsunflare.cpp @@ -25,7 +25,7 @@ XSunFlare::XSunFlare() , mGlareFadeOutTime(0) , mSunFxPosition() { - + SetName("Sun Flare"); } XSunFlare::~XSunFlare() @@ -33,7 +33,7 @@ XSunFlare::~XSunFlare() } -void XSunFlare::ParseData(QDataStream *aStream) +void XSunFlare::ParseData(XDataStream *aStream) { *aStream >> mHasValidData; diff --git a/libs/xassets/xsunflare.h b/libs/xassets/xsunflare.h index 3733f82..d5c42e4 100644 --- a/libs/xassets/xsunflare.h +++ b/libs/xassets/xsunflare.h @@ -12,7 +12,7 @@ public: explicit XSunFlare(); ~XSunFlare(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xsunlightparseparams.cpp b/libs/xassets/xsunlightparseparams.cpp index 87cc03e..ee1ec44 100644 --- a/libs/xassets/xsunlightparseparams.cpp +++ b/libs/xassets/xsunlightparseparams.cpp @@ -13,6 +13,7 @@ XSunLightParseParams::XSunLightParseParams() , mDiffuseColorHasBeenSet(false) , mAngles() { + SetName("Sunlight Parse Parameters"); } XSunLightParseParams::~XSunLightParseParams() @@ -20,7 +21,7 @@ XSunLightParseParams::~XSunLightParseParams() } -void XSunLightParseParams::ParseData(QDataStream *aStream) { +void XSunLightParseParams::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { mName = XString::ParseCustom(aStream); diff --git a/libs/xassets/xsunlightparseparams.h b/libs/xassets/xsunlightparseparams.h index 324d386..29eea46 100644 --- a/libs/xassets/xsunlightparseparams.h +++ b/libs/xassets/xsunlightparseparams.h @@ -12,7 +12,7 @@ public: explicit XSunLightParseParams(); ~XSunLightParseParams(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xsurface.cpp b/libs/xassets/xsurface.cpp index cd4d2a0..7db1fb3 100644 --- a/libs/xassets/xsurface.cpp +++ b/libs/xassets/xsurface.cpp @@ -13,9 +13,9 @@ XSurface::XSurface() , mVertListCount(0) , mVertList() , mIndexBuffer() - , mPartBits() + , mPartBits(4) { - + SetName("Surface"); } XSurface::~XSurface() @@ -23,29 +23,53 @@ XSurface::~XSurface() } -void XSurface::ParseData(QDataStream *aStream) +void XSurface::ParseData(XDataStream *aStream) { - *aStream - >> mTileMode - >> mDeformed - >> mVertCount - >> mTriCount; + *aStream >> mTileMode; + if (IsDebug()) + { + qDebug() << QString("[%1] mTileMode = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mTileMode); + } + + *aStream >> mDeformed; + if (IsDebug()) + { + qDebug() << QString("[%1] mDeformed = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mDeformed); + } + + *aStream >> mVertCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mVertCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertCount); + } + + *aStream >> mTriCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mTriCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mTriCount); + } aStream->skipRawData(2); qint32 triIndicesPtr; - *aStream - >> triIndicesPtr; + *aStream >> triIndicesPtr; + if (IsDebug()) + { + qDebug() << QString("[%1] triIndicesPtr = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(triIndicesPtr); + } - mVertInfo.ParsePtr(aStream, false); + mVertInfo.SetPtr(-1); + mVertInfo.ParseData(aStream); mVert.ParsePtr(aStream, false); + mVertBuffer.ParseData(aStream); - qint32 vertBuffersPtr, vertListPtr; - *aStream - >> vertBuffersPtr - >> mVertListCount - >> vertListPtr; + *aStream >> mVertListCount; + if (IsDebug()) + { + qDebug() << QString("[%1] mVertListCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertListCount); + } + mVertList.ParseData(aStream); mIndexBuffer.ParseData(aStream); *aStream @@ -53,11 +77,29 @@ void XSurface::ParseData(QDataStream *aStream) >> mPartBits[1] >> mPartBits[2] >> mPartBits[3]; + if (IsDebug()) + { + qDebug() << QString("[%1] mPartBits = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(*mPartBits.data()); + } - mVertInfo.ParseData(aStream); + //mVertInfo.ParseData(aStream); mVert.ParseData(aStream); + mVertBuffer.ParseData(aStream); + //mVertList.ParseData(aStream); - // TODO: Fill out the rest of this + if (triIndicesPtr == -1) + { + for (int i = 0; i < mTriCount; i++) + { + quint16 newTri; + *aStream >> newTri; + if (IsDebug()) + { + qDebug() << QString("[%1] newTri = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(newTri); + } + mTriIndices.append(newTri); + } + } } void XSurface::Clear() diff --git a/libs/xassets/xsurface.h b/libs/xassets/xsurface.h index 7250ecd..1d957cf 100644 --- a/libs/xassets/xsurface.h +++ b/libs/xassets/xsurface.h @@ -14,20 +14,20 @@ public: explicit XSurface(); ~XSurface(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: quint8 mTileMode; bool mDeformed; - quint32 mVertCount; - quint32 mTriCount; - QVector mTriIndices; + quint16 mVertCount; + quint16 mTriCount; + QVector mTriIndices; XSurfaceVertexInfo mVertInfo; XGfxPackedVertex mVert; XD3DVertexBuffer mVertBuffer; quint32 mVertListCount; - QVector mVertList; + XRigidVertList mVertList; XD3DIndexBuffer mIndexBuffer; QVector mPartBits; }; diff --git a/libs/xassets/xsurfacecollisionaabb.cpp b/libs/xassets/xsurfacecollisionaabb.cpp index 80fe7fd..4d6973b 100644 --- a/libs/xassets/xsurfacecollisionaabb.cpp +++ b/libs/xassets/xsurfacecollisionaabb.cpp @@ -2,15 +2,21 @@ XSurfaceCollisionAabb::XSurfaceCollisionAabb() : XAsset() - , mMins() - , mMaxs() + , mMins(3) + , mMaxs(3) { - + SetName("Surface Collision AABB"); } -void XSurfaceCollisionAabb::ParseData(QDataStream *aStream) +void XSurfaceCollisionAabb::ParseData(XDataStream *aStream) { - + *aStream + >> mMins[0] + >> mMins[1] + >> mMins[2] + >> mMaxs[0] + >> mMaxs[1] + >> mMaxs[2]; } void XSurfaceCollisionAabb::Clear() diff --git a/libs/xassets/xsurfacecollisionaabb.h b/libs/xassets/xsurfacecollisionaabb.h index cc46e18..95b1b96 100644 --- a/libs/xassets/xsurfacecollisionaabb.h +++ b/libs/xassets/xsurfacecollisionaabb.h @@ -8,12 +8,12 @@ class XSurfaceCollisionAabb : public XAsset public: explicit XSurfaceCollisionAabb(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: - quint32 mMins[3]; - quint32 mMaxs[3]; + QVector mMins; + QVector mMaxs; }; #endif // XSURFACECOLLISIONAAB_H diff --git a/libs/xassets/xsurfacecollisionleaf.cpp b/libs/xassets/xsurfacecollisionleaf.cpp index 68c8952..e8a14e0 100644 --- a/libs/xassets/xsurfacecollisionleaf.cpp +++ b/libs/xassets/xsurfacecollisionleaf.cpp @@ -4,15 +4,15 @@ XSurfaceCollisionLeaf::XSurfaceCollisionLeaf() : XAsset() , mTriangleBeginIndex(0) { - + SetName("Surface Collision Leaf"); } -void XSurfaceCollisionLeaf::ParseData(QDataStream *aStream) +void XSurfaceCollisionLeaf::ParseData(XDataStream *aStream) { - + *aStream >> mTriangleBeginIndex; } void XSurfaceCollisionLeaf::Clear() { - + mTriangleBeginIndex = 0; } diff --git a/libs/xassets/xsurfacecollisionleaf.h b/libs/xassets/xsurfacecollisionleaf.h index 9e38b0b..3ae334f 100644 --- a/libs/xassets/xsurfacecollisionleaf.h +++ b/libs/xassets/xsurfacecollisionleaf.h @@ -8,11 +8,11 @@ class XSurfaceCollisionLeaf : public XAsset public: explicit XSurfaceCollisionLeaf(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: - quint32 mTriangleBeginIndex; + quint16 mTriangleBeginIndex; }; #endif // XSURFACECOLLISIONLEAF_H diff --git a/libs/xassets/xsurfacecollisionnode.cpp b/libs/xassets/xsurfacecollisionnode.cpp index 971bb40..764efe7 100644 --- a/libs/xassets/xsurfacecollisionnode.cpp +++ b/libs/xassets/xsurfacecollisionnode.cpp @@ -6,15 +6,21 @@ XSurfaceCollisionNode::XSurfaceCollisionNode() , mChildBeginIndex(0) , mChildCount(0) { - + SetName("Surface Collision Node"); } -void XSurfaceCollisionNode::ParseData(QDataStream *aStream) +void XSurfaceCollisionNode::ParseData(XDataStream *aStream) { - + mAABB.ParseData(aStream); + + *aStream + >> mChildBeginIndex + >> mChildCount; } void XSurfaceCollisionNode::Clear() { - + mAABB.Clear(); + mChildBeginIndex = 0; + mChildCount = 0; } diff --git a/libs/xassets/xsurfacecollisionnode.h b/libs/xassets/xsurfacecollisionnode.h index c8465bd..8c9abd6 100644 --- a/libs/xassets/xsurfacecollisionnode.h +++ b/libs/xassets/xsurfacecollisionnode.h @@ -9,13 +9,13 @@ class XSurfaceCollisionNode : public XAsset public: explicit XSurfaceCollisionNode(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: XSurfaceCollisionAabb mAABB; - quint32 mChildBeginIndex; - quint32 mChildCount; + quint16 mChildBeginIndex; + quint16 mChildCount; }; #endif // XSURFACECOLLISIONNODE_H diff --git a/libs/xassets/xsurfacecollisiontree.cpp b/libs/xassets/xsurfacecollisiontree.cpp index fd82328..3dedccd 100644 --- a/libs/xassets/xsurfacecollisiontree.cpp +++ b/libs/xassets/xsurfacecollisiontree.cpp @@ -9,12 +9,52 @@ XSurfaceCollisionTree::XSurfaceCollisionTree() , mLeafCount(0) , mLeafs() { - + SetName("Surface Collision Tree"); } -void XSurfaceCollisionTree::ParseData(QDataStream *aStream) +void XSurfaceCollisionTree::ParseData(XDataStream *aStream) { - + quint32 rawTrans; + *aStream >> rawTrans; + memcpy(&mTrans[0], &rawTrans, sizeof(mTrans[0])); + *aStream >> rawTrans; + memcpy(&mTrans[1], &rawTrans, sizeof(mTrans[1])); + *aStream >> rawTrans; + memcpy(&mTrans[2], &rawTrans, sizeof(mTrans[2])); + + quint32 rawScale; + *aStream >> rawScale; + memcpy(&mScale[0], &rawScale, sizeof(mScale[0])); + *aStream >> rawScale; + memcpy(&mScale[1], &rawScale, sizeof(mScale[1])); + *aStream >> rawScale; + memcpy(&mScale[2], &rawScale, sizeof(mScale[2])); + + qint32 nodesPtr, leafsPtr; + *aStream + >> mNodeCount + >> nodesPtr + >> mLeafCount + >> leafsPtr; + + if (nodesPtr) + { + for (quint32 i = 0; i < mNodeCount; i++) + { + XSurfaceCollisionNode newNode; + newNode.ParseData(aStream); + mNodes.append(newNode); + } + } + if (leafsPtr) + { + for (quint32 i = 0; i < mLeafCount; i++) + { + XSurfaceCollisionLeaf newLeaf; + newLeaf.ParseData(aStream); + mLeafs.append(newLeaf); + } + } } void XSurfaceCollisionTree::Clear() diff --git a/libs/xassets/xsurfacecollisiontree.h b/libs/xassets/xsurfacecollisiontree.h index 8f81b87..406c2d5 100644 --- a/libs/xassets/xsurfacecollisiontree.h +++ b/libs/xassets/xsurfacecollisiontree.h @@ -5,19 +5,19 @@ #include "xsurfacecollisionleaf.h" #include "xsurfacecollisionnode.h" -#include +#include class XSurfaceCollisionTree : public XAsset { public: explicit XSurfaceCollisionTree(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: - float mTrans[3]; - float mScale[3]; + QVector3D mTrans; + QVector3D mScale; quint32 mNodeCount; QVector mNodes; quint32 mLeafCount; diff --git a/libs/xassets/xsurfacevertexinfo.cpp b/libs/xassets/xsurfacevertexinfo.cpp index 9584805..7968b63 100644 --- a/libs/xassets/xsurfacevertexinfo.cpp +++ b/libs/xassets/xsurfacevertexinfo.cpp @@ -5,24 +5,54 @@ XSurfaceVertexInfo::XSurfaceVertexInfo() , mVertCount(4) , mVertsBlend() { - + SetName("Surface Vertex Info"); } -void XSurfaceVertexInfo::ParseData(QDataStream *aStream) +void XSurfaceVertexInfo::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - qint32 vertBlendPtr; - *aStream - >> mVertCount[0] - >> mVertCount[1] - >> mVertCount[2] - >> mVertCount[3] - >> vertBlendPtr; + *aStream >> mVertCount[0]; + if (IsDebug()) + { + qDebug() << QString("[%1] mVertCount[0] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertCount[0]); + } - if (vertBlendPtr == -1) + *aStream >> mVertCount[1]; + if (IsDebug()) + { + qDebug() << QString("[%1] mVertCount[1] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertCount[1]); + } + + *aStream >> mVertCount[2]; + if (IsDebug()) + { + qDebug() << QString("[%1] mVertCount[2] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertCount[2]); + } + + *aStream >> mVertCount[3]; + if (IsDebug()) + { + qDebug() << QString("[%1] mVertCount[3] = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertCount[3]); + } + + qint32 vertsBlendPtr; + *aStream >> vertsBlendPtr; + if (IsDebug()) + { + qDebug() << QString("[%1] vertsBlendPtr = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(vertsBlendPtr); + } + + + if (vertsBlendPtr == -1) { aStream->readRawData(mVertsBlend.data(), 2 * (mVertCount[0] + 3 * mVertCount[1] + 5 * mVertCount[2] + 7 * mVertCount[3])); + + if (IsDebug()) + { + qDebug() << QString("[%1] mVertsBlend = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mVertsBlend); + } + } } } diff --git a/libs/xassets/xsurfacevertexinfo.h b/libs/xassets/xsurfacevertexinfo.h index 9de9976..f0fe84c 100644 --- a/libs/xassets/xsurfacevertexinfo.h +++ b/libs/xassets/xsurfacevertexinfo.h @@ -8,7 +8,7 @@ class XSurfaceVertexInfo : public XAsset public: explicit XSurfaceVertexInfo(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/xassets/xtexturedesc.cpp b/libs/xassets/xtexturedesc.cpp index f10fa55..5aeff51 100644 --- a/libs/xassets/xtexturedesc.cpp +++ b/libs/xassets/xtexturedesc.cpp @@ -18,7 +18,7 @@ XTextureDesc::XTextureDesc() , mFlags(0) , mMultiSampleType() { - + SetName("Texture Description"); } XTextureDesc::~XTextureDesc() @@ -31,7 +31,9 @@ void XTextureDesc::Clear() } -void XTextureDesc::ParseData(QDataStream *aStream) +void XTextureDesc::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XTextureDesc::ParseData } diff --git a/libs/xassets/xtexturedesc.h b/libs/xassets/xtexturedesc.h index d316f0d..7923c9c 100644 --- a/libs/xassets/xtexturedesc.h +++ b/libs/xassets/xtexturedesc.h @@ -11,23 +11,23 @@ public: ~XTextureDesc(); void Clear() override; - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; private: XD3DResourceType mResourceType; - uint mWidth; - uint mHeight; - uint mDepth; + quint32 mWidth; + quint32 mHeight; + quint32 mDepth; XD3DFormat mFormat; - uint mRowPitch; - uint mSlicePitch; - uint mBitsPerPixel; - uint mWidthInBlocks; - uint mHeightInBlocks; - uint mDepthInBlocks; - uint mBytesPerBlock; + quint32 mRowPitch; + quint32 mSlicePitch; + quint32 mBitsPerPixel; + quint32 mWidthInBlocks; + quint32 mHeightInBlocks; + quint32 mDepthInBlocks; + quint32 mBytesPerBlock; int mExpBias; - uint mFlags; + quint32 mFlags; XD3DMultiSampleType mMultiSampleType; }; diff --git a/libs/xassets/xwater.cpp b/libs/xassets/xwater.cpp index b1a7d26..406d2a4 100644 --- a/libs/xassets/xwater.cpp +++ b/libs/xassets/xwater.cpp @@ -17,7 +17,7 @@ XWater::XWater() , mCodeConstant(4) , mImage() { - + SetName("Water"); } XWater::~XWater() @@ -25,7 +25,7 @@ XWater::~XWater() } -void XWater::ParseData(QDataStream *aStream) +void XWater::ParseData(XDataStream *aStream) { mWritable.ParseData(aStream); diff --git a/libs/xassets/xwater.h b/libs/xassets/xwater.h index 60366b5..7723d06 100644 --- a/libs/xassets/xwater.h +++ b/libs/xassets/xwater.h @@ -13,7 +13,7 @@ public: explicit XWater(); ~XWater(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xwaterwritable.cpp b/libs/xassets/xwaterwritable.cpp index f3cc0c2..faa6061 100644 --- a/libs/xassets/xwaterwritable.cpp +++ b/libs/xassets/xwaterwritable.cpp @@ -4,7 +4,7 @@ XWaterWritable::XWaterWritable() : XAsset() , mFloatTime(0) { - + SetName("Water Writable"); } XWaterWritable::~XWaterWritable() @@ -12,9 +12,11 @@ XWaterWritable::~XWaterWritable() } -void XWaterWritable::ParseData(QDataStream *aStream) +void XWaterWritable::ParseData(XDataStream *aStream) { - + Q_UNUSED(aStream); + + // TODO: Fill in XWaterWritable::ParseData } void XWaterWritable::Clear() diff --git a/libs/xassets/xwaterwritable.h b/libs/xassets/xwaterwritable.h index 69de8ba..653bfdd 100644 --- a/libs/xassets/xwaterwritable.h +++ b/libs/xassets/xwaterwritable.h @@ -9,7 +9,7 @@ public: explicit XWaterWritable(); ~XWaterWritable(); - virtual void ParseData(QDataStream* aStream) override; + virtual void ParseData(XDataStream* aStream) override; virtual void Clear() override; private: diff --git a/libs/xassets/xweapondef.cpp b/libs/xassets/xweapondef.cpp index 2cf030b..8861085 100644 --- a/libs/xassets/xweapondef.cpp +++ b/libs/xassets/xweapondef.cpp @@ -4,7 +4,7 @@ XWeaponDef::XWeaponDef() : XAsset() { SetType(ASSET_TYPE_WEAPON); - SetName("Weapon"); + SetName("Weapon Definition"); } XWeaponDef::~XWeaponDef() @@ -12,7 +12,7 @@ XWeaponDef::~XWeaponDef() } -void XWeaponDef::ParseData(QDataStream *aStream) { +void XWeaponDef::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { mInternalName = XString::ParseCustom(aStream); mDisplayName = XString::ParseCustom(aStream); diff --git a/libs/xassets/xweapondef.h b/libs/xassets/xweapondef.h index d0febfa..d225387 100644 --- a/libs/xassets/xweapondef.h +++ b/libs/xassets/xweapondef.h @@ -15,7 +15,7 @@ public: explicit XWeaponDef(); ~XWeaponDef(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: @@ -278,7 +278,7 @@ private: QString mAltWeaponName; - uint mAltWeaponIndex; + quint32 mAltWeaponIndex; int mDropAmmoMin; int mDropAmmoMax; int mBlocksProne; diff --git a/libs/xassets/xwindowdef.cpp b/libs/xassets/xwindowdef.cpp index 4668b77..86ae6f1 100644 --- a/libs/xassets/xwindowdef.cpp +++ b/libs/xassets/xwindowdef.cpp @@ -20,7 +20,7 @@ XWindowDef::XWindowDef() , mOutlineColor() , mBackground(new XMaterial()) { - + SetName("Window Definition"); } XWindowDef::~XWindowDef() @@ -28,9 +28,11 @@ XWindowDef::~XWindowDef() } -void XWindowDef::ParseData(QDataStream *aStream) +void XWindowDef::ParseData(XDataStream *aStream) { + Q_UNUSED(aStream); + // TODO: Fill in XWindowDef::ParseData } void XWindowDef::Clear() diff --git a/libs/xassets/xwindowdef.h b/libs/xassets/xwindowdef.h index fd98c3e..d9e79d0 100644 --- a/libs/xassets/xwindowdef.h +++ b/libs/xassets/xwindowdef.h @@ -13,7 +13,7 @@ public: explicit XWindowDef(); ~XWindowDef(); - void ParseData(QDataStream *aStream) override; + void ParseData(XDataStream *aStream) override; void Clear() override; private: diff --git a/libs/zonefile/360/zonefile_cod10_360.cpp b/libs/zonefile/360/zonefile_cod10_360.cpp index 793c9a5..ab79c9a 100644 --- a/libs/zonefile/360/zonefile_cod10_360.cpp +++ b/libs/zonefile/360/zonefile_cod10_360.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod10_360.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/360/zonefile_cod11_360.cpp b/libs/zonefile/360/zonefile_cod11_360.cpp index 994edf3..d1aed79 100644 --- a/libs/zonefile/360/zonefile_cod11_360.cpp +++ b/libs/zonefile/360/zonefile_cod11_360.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod11_360.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/360/zonefile_cod12_360.cpp b/libs/zonefile/360/zonefile_cod12_360.cpp index 455bc19..433e4a0 100644 --- a/libs/zonefile/360/zonefile_cod12_360.cpp +++ b/libs/zonefile/360/zonefile_cod12_360.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod12_360.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/360/zonefile_cod2_360.cpp b/libs/zonefile/360/zonefile_cod2_360.cpp index ba3c16e..8931e4c 100644 --- a/libs/zonefile/360/zonefile_cod2_360.cpp +++ b/libs/zonefile/360/zonefile_cod2_360.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod2_360.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/360/zonefile_cod4_360.cpp b/libs/zonefile/360/zonefile_cod4_360.cpp index 7432593..4ac58c9 100644 --- a/libs/zonefile/360/zonefile_cod4_360.cpp +++ b/libs/zonefile/360/zonefile_cod4_360.cpp @@ -2,7 +2,7 @@ #include "xassetlist.h" #include -#include +#include "xdatastream.h" #include ZoneFile_COD4_360::ZoneFile_COD4_360() diff --git a/libs/zonefile/360/zonefile_cod5_360.cpp b/libs/zonefile/360/zonefile_cod5_360.cpp index 4fb1810..5c4fb92 100644 --- a/libs/zonefile/360/zonefile_cod5_360.cpp +++ b/libs/zonefile/360/zonefile_cod5_360.cpp @@ -1,7 +1,7 @@ #include "zonefile_cod5_360.h" #include -#include +#include "xdatastream.h" #include ZoneFile_COD5_360::ZoneFile_COD5_360() diff --git a/libs/zonefile/360/zonefile_cod6_360.cpp b/libs/zonefile/360/zonefile_cod6_360.cpp index 2c88e9c..3cb6a29 100644 --- a/libs/zonefile/360/zonefile_cod6_360.cpp +++ b/libs/zonefile/360/zonefile_cod6_360.cpp @@ -1,7 +1,7 @@ #include "zonefile_cod6_360.h" #include -#include +#include "xdatastream.h" #include ZoneFile_COD6_360::ZoneFile_COD6_360() @@ -59,8 +59,8 @@ ZoneFile_COD6_360::~ZoneFile_COD6_360() { bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Open zone file as little endian stream - // QDataStream zoneFileStream(aFileData); - // zoneFileStream.setByteOrder(QDataStream::BigEndian); + // XDataStream zoneFileStream(aFileData); + // zoneFileStream.setByteOrder(XDataStream::BigEndian); // // Parse data from zone file header // pParseZoneHeader(&zoneFileStream); @@ -73,7 +73,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { return true; } -// void ZoneFile_COD6_360::pParseZoneHeader(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseZoneHeader(XDataStream *aZoneFileStream) { // SetSize(pParseZoneSize(aZoneFileStream)); // aZoneFileStream->skipRawData(28); @@ -92,7 +92,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // } // } -// quint32 ZoneFile_COD6_360::pParseZoneSize(QDataStream *aZoneFileStream) { +// quint32 ZoneFile_COD6_360::pParseZoneSize(XDataStream *aZoneFileStream) { // quint32 zoneFileSize; // *aZoneFileStream >> zoneFileSize; // if (zoneFileSize <= 0) { @@ -108,7 +108,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Parses the 1st section of unknowns as hex vals and uint32s // */ -// void ZoneFile_COD6_360::pParseZoneUnknownsA(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseZoneUnknownsA(XDataStream *aZoneFileStream) { // // Byte 4-7, 8-11, 12-15: unknown // QByteArray unknown1(4, Qt::Uninitialized); // aZoneFileStream->readRawData(unknown1.data(), 4); @@ -143,7 +143,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Parses the number of string tags in the zone index // */ -// quint32 ZoneFile_COD6_360::pParseZoneTagCount(QDataStream *aZoneFileStream) { +// quint32 ZoneFile_COD6_360::pParseZoneTagCount(XDataStream *aZoneFileStream) { // quint32 tagCount; // *aZoneFileStream >> tagCount; // return tagCount; @@ -154,7 +154,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Parses the number of records in the zone index // */ -// quint32 ZoneFile_COD6_360::pParseZoneRecordCount(QDataStream *aZoneFileStream) { +// quint32 ZoneFile_COD6_360::pParseZoneRecordCount(XDataStream *aZoneFileStream) { // quint32 recordCount; // *aZoneFileStream >> recordCount; // return recordCount; @@ -165,7 +165,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Parses the 2nd section of unknowns as hex vals and uint32s // */ -// void ZoneFile_COD6_360::pParseZoneUnknownsB(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseZoneUnknownsB(XDataStream *aZoneFileStream) { // // Byte 44-47: Unknown/empty? // QByteArray unknown9(4, Qt::Uninitialized); // aZoneFileStream->readRawData(unknown9.data(), 4); @@ -176,7 +176,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Parses the 3rd section of unknowns as hex vals and uint32s // */ -// void ZoneFile_COD6_360::pParseZoneUnknownsC(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseZoneUnknownsC(XDataStream *aZoneFileStream) { // // Byte 40-43: Unknown/empty? // QByteArray unknown10(4, Qt::Uninitialized); // aZoneFileStream->readRawData(unknown10.data(), 4); @@ -191,7 +191,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Parses the string tags ate the start of zone file // */ -// QStringList ZoneFile_COD6_360::pParseZoneTags(QDataStream *aZoneFileStream, quint32 tagCount) { +// QStringList ZoneFile_COD6_360::pParseZoneTags(XDataStream *aZoneFileStream, quint32 tagCount) { // QStringList tags; // // Byte 48-51: Repeated separators? ÿÿÿÿ x i @@ -231,7 +231,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // Parse the binary zone index data and populate table // */ -// QStringList ZoneFile_COD6_360::pParseZoneIndex(QDataStream *aZoneFileStream, quint32 recordCount) { +// QStringList ZoneFile_COD6_360::pParseZoneIndex(XDataStream *aZoneFileStream, quint32 recordCount) { // QStringList result; // qDebug() << aZoneFileStream->device()->pos(); // // Don't parse if no records @@ -250,7 +250,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// AssetMap ZoneFile_COD6_360::pParseAssets(QDataStream *aZoneFileStream, QStringList assetOrder) { +// AssetMap ZoneFile_COD6_360::pParseAssets(XDataStream *aZoneFileStream, QStringList assetOrder) { // AssetMap result; // for (int i = 0; i < assetOrder.size(); i++) { @@ -310,7 +310,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// LocalizeEntry ZoneFile_COD6_360::pParseAsset_LocalString(QDataStream *aZoneFileStream) { +// LocalizeEntry ZoneFile_COD6_360::pParseAsset_LocalString(XDataStream *aZoneFileStream) { // LocalizeEntry result; // quint32 stringPtr, aliasPtr; @@ -344,7 +344,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// RawFile ZoneFile_COD6_360::pParseASSET_TYPE_RAWFILE(QDataStream *aZoneFileStream) { +// RawFile ZoneFile_COD6_360::pParseASSET_TYPE_RAWFILE(XDataStream *aZoneFileStream) { // RawFile result; // // Skip start separator FF FF FF FF (pointer?) @@ -393,11 +393,11 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// void ZoneFile_COD6_360::pParseASSET_TYPE_PHYSPRESET(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseASSET_TYPE_PHYSPRESET(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// Model ZoneFile_COD6_360::pParseASSET_TYPE_XMODEL(QDataStream *aZoneFileStream) { +// Model ZoneFile_COD6_360::pParseASSET_TYPE_XMODEL(XDataStream *aZoneFileStream) { // Model result; // *aZoneFileStream >> result.namePtr >> result.tagCount >> result.rootTagCount @@ -454,7 +454,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// Material ZoneFile_COD6_360::pParseASSET_TYPE_MATERIAL(QDataStream *aZoneFileStream) { +// Material ZoneFile_COD6_360::pParseASSET_TYPE_MATERIAL(XDataStream *aZoneFileStream) { // Material result; // *aZoneFileStream >> result.namePtr; @@ -518,7 +518,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// Shader ZoneFile_COD6_360::pParseAsset_Shader(QDataStream *aZoneFileStream) { +// Shader ZoneFile_COD6_360::pParseAsset_Shader(XDataStream *aZoneFileStream) { // Shader result = Shader(); // quint8 minorVersion, majorVersion; @@ -561,7 +561,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// MaterialTechSet ZoneFile_COD6_360::pParseAsset_TechSet(QDataStream *aZoneFileStream) { +// MaterialTechSet ZoneFile_COD6_360::pParseAsset_TechSet(XDataStream *aZoneFileStream) { // MaterialTechSet result; // qint32 namePtr; @@ -593,7 +593,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// Image ZoneFile_COD6_360::pParseASSET_TYPE_IMAGE(QDataStream *aZoneFileStream) { +// Image ZoneFile_COD6_360::pParseASSET_TYPE_IMAGE(XDataStream *aZoneFileStream) { // Image result; // aZoneFileStream->skipRawData(4); @@ -662,7 +662,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// SoundAliasList ZoneFile_COD6_360::pParseASSET_TYPE_SOUND(QDataStream *aZoneFileStream) { +// SoundAliasList ZoneFile_COD6_360::pParseASSET_TYPE_SOUND(XDataStream *aZoneFileStream) { // LoadedSound result; // return result; @@ -769,39 +769,39 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// void ZoneFile_COD6_360::pParseAsset_ColMapMP(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseAsset_ColMapMP(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseAsset_GameMapSP(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseAsset_GameMapSP(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseAsset_GameMapMP(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseAsset_GameMapMP(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseAsset_LightDef(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseAsset_LightDef(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseAsset_UIMap(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseAsset_UIMap(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseASSET_TYPE_SOUNDDriver(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseASSET_TYPE_SOUNDDriver(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseASSET_TYPE_AITYPE(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseASSET_TYPE_AITYPE(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseASSET_TYPE_FX(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseASSET_TYPE_FX(XDataStream *aZoneFileStream) { // Q_UNUSED(aZoneFileStream); // } -// Animation ZoneFile_COD6_360::pParseASSET_TYPE_XANIMPARTS(QDataStream *aZoneFileStream) { +// Animation ZoneFile_COD6_360::pParseASSET_TYPE_XANIMPARTS(XDataStream *aZoneFileStream) { // Animation result; // aZoneFileStream->skipRawData(4); @@ -869,7 +869,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// MenuDef ZoneFile_COD6_360::pParseASSET_TYPE_MENUDef(QDataStream *aZoneFileStream) { +// MenuDef ZoneFile_COD6_360::pParseASSET_TYPE_MENUDef(XDataStream *aZoneFileStream) { // //MENU_FILE // MenuDef result; @@ -883,7 +883,7 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // qDebug() << "Failure reported when parsing menu file."; // return result; // } -// for (uint i = 0; i < result.menuCount; i++) { +// for (quint32 = 0; i < result.menuCount; i++) { // Menu menu; // aZoneFileStream->skipRawData(4); // Separator @@ -1093,17 +1093,17 @@ bool ZoneFile_COD6_360::Load(const QByteArray aFileData) { // return result; // } -// void ZoneFile_COD6_360::pParseASSET_TYPE_WEAPON(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseASSET_TYPE_WEAPON(XDataStream *aZoneFileStream) { // //WEAPON_FILE // Q_UNUSED(aZoneFileStream); // } -// void ZoneFile_COD6_360::pParseASSET_TYPE_D3DBSP(QDataStream *aZoneFileStream) { +// void ZoneFile_COD6_360::pParseASSET_TYPE_D3DBSP(XDataStream *aZoneFileStream) { // //D3DBSP_DUMP // Q_UNUSED(aZoneFileStream); // } -// StringTable ZoneFile_COD6_360::pParseASSET_TYPE_STRINGTABLE(QDataStream *aZoneFileStream) { +// StringTable ZoneFile_COD6_360::pParseASSET_TYPE_STRINGTABLE(XDataStream *aZoneFileStream) { // StringTable result; // aZoneFileStream->skipRawData(4); diff --git a/libs/zonefile/360/zonefile_cod7_360.cpp b/libs/zonefile/360/zonefile_cod7_360.cpp index 4b44bd3..85287b1 100644 --- a/libs/zonefile/360/zonefile_cod7_360.cpp +++ b/libs/zonefile/360/zonefile_cod7_360.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod7_360.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/360/zonefile_cod8_360.cpp b/libs/zonefile/360/zonefile_cod8_360.cpp index ef85447..f6f964d 100644 --- a/libs/zonefile/360/zonefile_cod8_360.cpp +++ b/libs/zonefile/360/zonefile_cod8_360.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod8_360.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/360/zonefile_cod9_360.cpp b/libs/zonefile/360/zonefile_cod9_360.cpp index f0a9f7e..df8452f 100644 --- a/libs/zonefile/360/zonefile_cod9_360.cpp +++ b/libs/zonefile/360/zonefile_cod9_360.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod9_360.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/PS3/zonefile_cod10_ps3.cpp b/libs/zonefile/PS3/zonefile_cod10_ps3.cpp index 7656608..0cc8dd5 100644 --- a/libs/zonefile/PS3/zonefile_cod10_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod10_ps3.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod10_ps3.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/PS3/zonefile_cod11_ps3.cpp b/libs/zonefile/PS3/zonefile_cod11_ps3.cpp index 0805d54..cf8a138 100644 --- a/libs/zonefile/PS3/zonefile_cod11_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod11_ps3.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod11_ps3.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/PS3/zonefile_cod12_ps3.cpp b/libs/zonefile/PS3/zonefile_cod12_ps3.cpp index 6fade33..5bd0d9f 100644 --- a/libs/zonefile/PS3/zonefile_cod12_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod12_ps3.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod12_ps3.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/PS3/zonefile_cod4_ps3.cpp b/libs/zonefile/PS3/zonefile_cod4_ps3.cpp index b56ddd0..2b33253 100644 --- a/libs/zonefile/PS3/zonefile_cod4_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod4_ps3.cpp @@ -1,7 +1,7 @@ #include "zonefile_cod4_ps3.h" #include -#include +#include "xdatastream.h" #include ZoneFile_COD4_PS3::ZoneFile_COD4_PS3() diff --git a/libs/zonefile/PS3/zonefile_cod5_ps3.cpp b/libs/zonefile/PS3/zonefile_cod5_ps3.cpp index 6a89cbc..f048241 100644 --- a/libs/zonefile/PS3/zonefile_cod5_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod5_ps3.cpp @@ -1,7 +1,7 @@ #include "zonefile_cod5_ps3.h" #include -#include +#include "xdatastream.h" #include ZoneFile_COD5_PS3::ZoneFile_COD5_PS3() diff --git a/libs/zonefile/PS3/zonefile_cod7_ps3.cpp b/libs/zonefile/PS3/zonefile_cod7_ps3.cpp index 0e50a63..f3ed648 100644 --- a/libs/zonefile/PS3/zonefile_cod7_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod7_ps3.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod7_ps3.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/PS3/zonefile_cod8_ps3.cpp b/libs/zonefile/PS3/zonefile_cod8_ps3.cpp index 40577d9..bc278c3 100644 --- a/libs/zonefile/PS3/zonefile_cod8_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod8_ps3.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod8_ps3.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/PS3/zonefile_cod9_ps3.cpp b/libs/zonefile/PS3/zonefile_cod9_ps3.cpp index 32737a3..0336b94 100644 --- a/libs/zonefile/PS3/zonefile_cod9_ps3.cpp +++ b/libs/zonefile/PS3/zonefile_cod9_ps3.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod9_ps3.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/Wii/zonefile_cod4_wii.cpp b/libs/zonefile/Wii/zonefile_cod4_wii.cpp index dfda7d8..50f9d30 100644 --- a/libs/zonefile/Wii/zonefile_cod4_wii.cpp +++ b/libs/zonefile/Wii/zonefile_cod4_wii.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod4_wii.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/Wii/zonefile_cod7_wii.cpp b/libs/zonefile/Wii/zonefile_cod7_wii.cpp index 75b1f94..d0ca04a 100644 --- a/libs/zonefile/Wii/zonefile_cod7_wii.cpp +++ b/libs/zonefile/Wii/zonefile_cod7_wii.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod7_wii.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/Wii/zonefile_cod8_wii.cpp b/libs/zonefile/Wii/zonefile_cod8_wii.cpp index 6f53d4b..0cd4b3a 100644 --- a/libs/zonefile/Wii/zonefile_cod8_wii.cpp +++ b/libs/zonefile/Wii/zonefile_cod8_wii.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod8_wii.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/WiiU/zonefile_cod10_wiiu.cpp b/libs/zonefile/WiiU/zonefile_cod10_wiiu.cpp index 0671eb7..ee3912f 100644 --- a/libs/zonefile/WiiU/zonefile_cod10_wiiu.cpp +++ b/libs/zonefile/WiiU/zonefile_cod10_wiiu.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod10_wiiu.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/WiiU/zonefile_cod9_wiiu.cpp b/libs/zonefile/WiiU/zonefile_cod9_wiiu.cpp index 0734775..f96505a 100644 --- a/libs/zonefile/WiiU/zonefile_cod9_wiiu.cpp +++ b/libs/zonefile/WiiU/zonefile_cod9_wiiu.cpp @@ -1,6 +1,6 @@ #include "zonefile_cod9_wiiu.h" -#include +#include "xdatastream.h" #include #include diff --git a/libs/zonefile/zonefile.cpp b/libs/zonefile/zonefile.cpp index 823ca80..4ad7392 100644 --- a/libs/zonefile/zonefile.cpp +++ b/libs/zonefile/zonefile.cpp @@ -3,7 +3,7 @@ #include "xfile.h" #include -#include +#include "xdatastream.h" #include ZoneFile::ZoneFile() : @@ -53,7 +53,8 @@ ZoneFile &ZoneFile::operator=(const ZoneFile &other) { bool ZoneFile::Load(const QByteArray aFileData) { - QDataStream zoneStream(aFileData); + XDataStream zoneStream(aFileData); + zoneStream.SetDebug(); mHeaderData.ParseData(&zoneStream); mAssetList.ParseData(&zoneStream); @@ -164,6 +165,7 @@ XAssetType ZoneFile::GetType(quint32 aRawType) const { return mTypeMap[aRawType]; } + qDebug() << "GetType has no enum for " << QString::number(aRawType, 16); return ASSET_TYPE_NONE; } diff --git a/tests/360/autotest_cod10_360.cpp b/tests/360/autotest_cod10_360.cpp index 0b9e1f8..e923f2a 100644 --- a/tests/360/autotest_cod10_360.cpp +++ b/tests/360/autotest_cod10_360.cpp @@ -51,8 +51,8 @@ void AutoTest_COD10_360::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/360/autotest_cod11_360.cpp b/tests/360/autotest_cod11_360.cpp index cc41316..b2f9809 100644 --- a/tests/360/autotest_cod11_360.cpp +++ b/tests/360/autotest_cod11_360.cpp @@ -51,8 +51,8 @@ void AutoTest_COD11_360::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/360/autotest_cod12_360.cpp b/tests/360/autotest_cod12_360.cpp index 4c50098..c8af006 100644 --- a/tests/360/autotest_cod12_360.cpp +++ b/tests/360/autotest_cod12_360.cpp @@ -51,7 +51,7 @@ void AutoTest_COD12_360::testDecompression() { testFastFile.close(); // Assume the first 12 bytes are a header; - QDataStream fastFileStream(testFFData); + XDataStream fastFileStream(testFFData); QByteArray magic(8, Qt::Uninitialized); fastFileStream.readRawData(magic.data(), 8); @@ -160,8 +160,8 @@ void AutoTest_COD12_360::testDecompression() { } // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; bool sizeMatches = zoneSize + 44 == testZoneData.size(); diff --git a/tests/360/autotest_cod2_360.cpp b/tests/360/autotest_cod2_360.cpp index 37b2223..28bc3a8 100644 --- a/tests/360/autotest_cod2_360.cpp +++ b/tests/360/autotest_cod2_360.cpp @@ -56,8 +56,8 @@ void AutoTest_COD2_360::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; // TODO: Find new way to verify as cod2 doesn't store size in zone file diff --git a/tests/360/autotest_cod4_360.cpp b/tests/360/autotest_cod4_360.cpp index d848802..9ebbd7d 100644 --- a/tests/360/autotest_cod4_360.cpp +++ b/tests/360/autotest_cod4_360.cpp @@ -56,8 +56,8 @@ void AutoTest_COD4_360::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::BigEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::BigEndian); quint32 zoneSize; zoneStream >> zoneSize; if (fabs(zoneSize - testZoneData.size()) != 36) { diff --git a/tests/360/autotest_cod5_360.cpp b/tests/360/autotest_cod5_360.cpp index 7ae62fc..23f9cbb 100644 --- a/tests/360/autotest_cod5_360.cpp +++ b/tests/360/autotest_cod5_360.cpp @@ -52,8 +52,8 @@ void AutoTest_COD5_360::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::BigEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::BigEndian); quint32 zoneSize; zoneStream >> zoneSize; if (fabs(zoneSize - testZoneData.size()) != 36) { diff --git a/tests/360/autotest_cod6_360.cpp b/tests/360/autotest_cod6_360.cpp index 2aaa7cf..90e23da 100644 --- a/tests/360/autotest_cod6_360.cpp +++ b/tests/360/autotest_cod6_360.cpp @@ -71,8 +71,8 @@ void AutoTest_COD6_360::testDecompression() { qPrintable("Zlib decompression failed!")); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::BigEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::BigEndian); quint32 zoneSize; zoneStream >> zoneSize; if (fabs(zoneSize - testZoneData.size()) != 32) { diff --git a/tests/360/autotest_cod7_360.cpp b/tests/360/autotest_cod7_360.cpp index 9ae7a11..612b1a6 100644 --- a/tests/360/autotest_cod7_360.cpp +++ b/tests/360/autotest_cod7_360.cpp @@ -5,6 +5,7 @@ #include "autotest_cod.h" #include "compression.h" #include "encryption.h" +#include "fastfile.h" class AutoTest_COD7_360 : public AutoTest_COD { Q_OBJECT @@ -222,7 +223,7 @@ void AutoTest_COD7_360::testFactory() { const QString testName = "Factory ingest: " + fastFilePath; - FastFile* fastFile = FastFileFactory::Create(fastFilePath); + FastFile* fastFile = FastFile::Open(fastFilePath); const QString game = fastFile->GetGame(); bool correctGame = game == "COD7"; diff --git a/tests/360/autotest_cod8_360.cpp b/tests/360/autotest_cod8_360.cpp index 3bbd9c1..7bee4d1 100644 --- a/tests/360/autotest_cod8_360.cpp +++ b/tests/360/autotest_cod8_360.cpp @@ -65,8 +65,8 @@ void AutoTest_COD8_360::testDecompression() { } // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; if (fabs(zoneSize - testZoneData.size()) != 44) { diff --git a/tests/360/autotest_cod9_360.cpp b/tests/360/autotest_cod9_360.cpp index d0c75ce..57905ff 100644 --- a/tests/360/autotest_cod9_360.cpp +++ b/tests/360/autotest_cod9_360.cpp @@ -51,8 +51,8 @@ void AutoTest_COD9_360::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/PC/autotest_cod10_pc.cpp b/tests/PC/autotest_cod10_pc.cpp index 36f74d0..c95979e 100644 --- a/tests/PC/autotest_cod10_pc.cpp +++ b/tests/PC/autotest_cod10_pc.cpp @@ -49,8 +49,8 @@ void AutoTest_COD10_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 36 == testZoneData.size(), diff --git a/tests/PC/autotest_cod11_pc.cpp b/tests/PC/autotest_cod11_pc.cpp index b81ee92..aa9fa49 100644 --- a/tests/PC/autotest_cod11_pc.cpp +++ b/tests/PC/autotest_cod11_pc.cpp @@ -49,8 +49,8 @@ void AutoTest_COD11_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 36 == testZoneData.size(), diff --git a/tests/PC/autotest_cod12_pc.cpp b/tests/PC/autotest_cod12_pc.cpp index d5fcafe..51f7415 100644 --- a/tests/PC/autotest_cod12_pc.cpp +++ b/tests/PC/autotest_cod12_pc.cpp @@ -51,8 +51,8 @@ void AutoTest_COD12_PC::testDecompression() { testFastFile.close(); // Assume the first 12 bytes are a header; the rest is zlib-compressed zone data. - QDataStream fastFileStream(testFFData); - fastFileStream.setByteOrder(QDataStream::LittleEndian); + XDataStream fastFileStream(testFFData); + fastFileStream.setByteOrder(XDataStream::LittleEndian); QByteArray magic(8, Qt::Uninitialized); fastFileStream.readRawData(magic.data(), 8); @@ -134,8 +134,8 @@ void AutoTest_COD12_PC::testDecompression() { } // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; bool sizeMatches = zoneSize + 44 == testZoneData.size(); diff --git a/tests/PC/autotest_cod4_pc.cpp b/tests/PC/autotest_cod4_pc.cpp index eb195fe..2089d56 100644 --- a/tests/PC/autotest_cod4_pc.cpp +++ b/tests/PC/autotest_cod4_pc.cpp @@ -50,8 +50,8 @@ void AutoTest_COD4_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/PC/autotest_cod5_pc.cpp b/tests/PC/autotest_cod5_pc.cpp index 86dbb9d..e34bb41 100644 --- a/tests/PC/autotest_cod5_pc.cpp +++ b/tests/PC/autotest_cod5_pc.cpp @@ -49,8 +49,8 @@ void AutoTest_COD5_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 36 == testZoneData.size(), diff --git a/tests/PC/autotest_cod6_pc.cpp b/tests/PC/autotest_cod6_pc.cpp index 87eb93a..a714279 100644 --- a/tests/PC/autotest_cod6_pc.cpp +++ b/tests/PC/autotest_cod6_pc.cpp @@ -49,8 +49,8 @@ void AutoTest_COD6_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 40 == testZoneData.size(), diff --git a/tests/PC/autotest_cod7_pc.cpp b/tests/PC/autotest_cod7_pc.cpp index 013ebe4..e0bb53c 100644 --- a/tests/PC/autotest_cod7_pc.cpp +++ b/tests/PC/autotest_cod7_pc.cpp @@ -49,8 +49,8 @@ void AutoTest_COD7_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 36 == testZoneData.size(), diff --git a/tests/PC/autotest_cod8_pc.cpp b/tests/PC/autotest_cod8_pc.cpp index 5fb2c92..bffd7d5 100644 --- a/tests/PC/autotest_cod8_pc.cpp +++ b/tests/PC/autotest_cod8_pc.cpp @@ -49,8 +49,8 @@ void AutoTest_COD8_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 36 == testZoneData.size(), diff --git a/tests/PC/autotest_cod9_pc.cpp b/tests/PC/autotest_cod9_pc.cpp index 6a2ae24..a935455 100644 --- a/tests/PC/autotest_cod9_pc.cpp +++ b/tests/PC/autotest_cod9_pc.cpp @@ -49,8 +49,8 @@ void AutoTest_COD9_PC::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 36 == testZoneData.size(), diff --git a/tests/PS3/autotest_cod10_ps3.cpp b/tests/PS3/autotest_cod10_ps3.cpp index 1df3745..f9763b4 100644 --- a/tests/PS3/autotest_cod10_ps3.cpp +++ b/tests/PS3/autotest_cod10_ps3.cpp @@ -49,8 +49,8 @@ void AutoTest_COD10_PS3::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/PS3/autotest_cod11_ps3.cpp b/tests/PS3/autotest_cod11_ps3.cpp index 0487076..a92168f 100644 --- a/tests/PS3/autotest_cod11_ps3.cpp +++ b/tests/PS3/autotest_cod11_ps3.cpp @@ -49,8 +49,8 @@ void AutoTest_COD11_PS3::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/PS3/autotest_cod12_ps3.cpp b/tests/PS3/autotest_cod12_ps3.cpp index 70508c9..a357884 100644 --- a/tests/PS3/autotest_cod12_ps3.cpp +++ b/tests/PS3/autotest_cod12_ps3.cpp @@ -51,8 +51,8 @@ void AutoTest_COD12_PS3::testDecompression() { testFastFile.close(); // Assume the first 12 bytes are a header; the rest is zlib-compressed zone data. - QDataStream fastFileStream(testFFData); - fastFileStream.setByteOrder(QDataStream::BigEndian); + XDataStream fastFileStream(testFFData); + fastFileStream.setByteOrder(XDataStream::BigEndian); QByteArray magic(8, Qt::Uninitialized); fastFileStream.readRawData(magic.data(), 8); @@ -134,8 +134,8 @@ void AutoTest_COD12_PS3::testDecompression() { } // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; bool sizeMatches = zoneSize + 44 == testZoneData.size(); diff --git a/tests/PS3/autotest_cod4_ps3.cpp b/tests/PS3/autotest_cod4_ps3.cpp index 75c315f..5f6cd3b 100644 --- a/tests/PS3/autotest_cod4_ps3.cpp +++ b/tests/PS3/autotest_cod4_ps3.cpp @@ -48,8 +48,8 @@ void AutoTest_COD4_PS3::testDecompression() { QByteArray header = testFFData.left(8); QVERIFY2(header == "IWffu100", "Invalid FastFile header!"); - QDataStream headerStream(testFFData.mid(8, 6)); - headerStream.setByteOrder(QDataStream::BigEndian); + XDataStream headerStream(testFFData.mid(8, 6)); + headerStream.setByteOrder(XDataStream::BigEndian); qint32 version; qint16 identifier; headerStream >> version >> identifier; @@ -62,8 +62,8 @@ void AutoTest_COD4_PS3::testDecompression() { while (pos <= testFFData.size()) { // Read 2-byte BIG-ENDIAN chunk size quint32 chunkSize; - QDataStream chunkStream(testFFData.mid(pos, 2)); - chunkStream.setByteOrder(QDataStream::BigEndian); + XDataStream chunkStream(testFFData.mid(pos, 2)); + chunkStream.setByteOrder(XDataStream::BigEndian); chunkStream >> chunkSize; pos += 2; diff --git a/tests/PS3/autotest_cod5_ps3.cpp b/tests/PS3/autotest_cod5_ps3.cpp index 81e5d39..040c6f4 100644 --- a/tests/PS3/autotest_cod5_ps3.cpp +++ b/tests/PS3/autotest_cod5_ps3.cpp @@ -48,8 +48,8 @@ void AutoTest_COD5_PS3::testDecompression() { QByteArray header = testFFData.left(8); QVERIFY2(header == "IWffu100", "Invalid FastFile header!"); - QDataStream headerStream(testFFData.mid(8, 6)); - headerStream.setByteOrder(QDataStream::BigEndian); + XDataStream headerStream(testFFData.mid(8, 6)); + headerStream.setByteOrder(XDataStream::BigEndian); qint32 version; qint16 identifier; headerStream >> version >> identifier; @@ -62,8 +62,8 @@ void AutoTest_COD5_PS3::testDecompression() { while (pos <= testFFData.size()) { // Read 2-byte BIG-ENDIAN chunk size quint32 chunkSize; - QDataStream chunkStream(testFFData.mid(pos, 2)); - chunkStream.setByteOrder(QDataStream::BigEndian); + XDataStream chunkStream(testFFData.mid(pos, 2)); + chunkStream.setByteOrder(XDataStream::BigEndian); chunkStream >> chunkSize; pos += 2; diff --git a/tests/PS3/autotest_cod6_ps3.cpp b/tests/PS3/autotest_cod6_ps3.cpp index 04fa719..d5b20c2 100644 --- a/tests/PS3/autotest_cod6_ps3.cpp +++ b/tests/PS3/autotest_cod6_ps3.cpp @@ -49,8 +49,8 @@ void AutoTest_COD6_PS3::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/PS3/autotest_cod7_ps3.cpp b/tests/PS3/autotest_cod7_ps3.cpp index bd36285..ca54aa9 100644 --- a/tests/PS3/autotest_cod7_ps3.cpp +++ b/tests/PS3/autotest_cod7_ps3.cpp @@ -50,9 +50,9 @@ void AutoTest_COD7_PS3::testDecompression() { QByteArray decompressedData; QByteArray key = QByteArray::fromHex("46D3F997F29C9ACE175B0DAE3AB8C0C1B8E423E2E3BF7E3C311EA35245BF193A"); - // Create a QDataStream on the input data. - QDataStream fastFileStream(testFFData); - fastFileStream.setByteOrder(QDataStream::BigEndian); + // Create a XDataStream on the input data. + XDataStream fastFileStream(testFFData); + fastFileStream.setByteOrder(XDataStream::BigEndian); fastFileStream.skipRawData(16); // Read the 8-byte magic. @@ -107,8 +107,8 @@ void AutoTest_COD7_PS3::testDecompression() { const QByteArray testZoneData = decompressedData; // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::BigEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::BigEndian); quint32 zoneSize; zoneStream >> zoneSize; if (fabs(zoneSize - testZoneData.size()) != 36) { diff --git a/tests/PS3/autotest_cod8_ps3.cpp b/tests/PS3/autotest_cod8_ps3.cpp index ce80f1a..4113302 100644 --- a/tests/PS3/autotest_cod8_ps3.cpp +++ b/tests/PS3/autotest_cod8_ps3.cpp @@ -49,8 +49,8 @@ void AutoTest_COD8_PS3::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/PS3/autotest_cod9_ps3.cpp b/tests/PS3/autotest_cod9_ps3.cpp index 2cd3742..a146f92 100644 --- a/tests/PS3/autotest_cod9_ps3.cpp +++ b/tests/PS3/autotest_cod9_ps3.cpp @@ -49,8 +49,8 @@ void AutoTest_COD9_PS3::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/Wii/autotest_cod4_wii.cpp b/tests/Wii/autotest_cod4_wii.cpp index da5dc11..ef443f8 100644 --- a/tests/Wii/autotest_cod4_wii.cpp +++ b/tests/Wii/autotest_cod4_wii.cpp @@ -49,8 +49,8 @@ void AutoTest_COD4_Wii::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::BigEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::BigEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 40 == testZoneData.size(), diff --git a/tests/Wii/autotest_cod7_wii.cpp b/tests/Wii/autotest_cod7_wii.cpp index 806031a..f0fa02e 100644 --- a/tests/Wii/autotest_cod7_wii.cpp +++ b/tests/Wii/autotest_cod7_wii.cpp @@ -49,8 +49,8 @@ void AutoTest_COD7_Wii::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::BigEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::BigEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 40 == testZoneData.size(), diff --git a/tests/Wii/autotest_cod8_wii.cpp b/tests/Wii/autotest_cod8_wii.cpp index b3bd141..d6843e5 100644 --- a/tests/Wii/autotest_cod8_wii.cpp +++ b/tests/Wii/autotest_cod8_wii.cpp @@ -49,8 +49,8 @@ void AutoTest_COD8_Wii::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::BigEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::BigEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 32 == testZoneData.size(), diff --git a/tests/WiiU/autotest_cod10_wiiu.cpp b/tests/WiiU/autotest_cod10_wiiu.cpp index 583cf87..358f048 100644 --- a/tests/WiiU/autotest_cod10_wiiu.cpp +++ b/tests/WiiU/autotest_cod10_wiiu.cpp @@ -49,8 +49,8 @@ void AutoTest_COD10_WiiU::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/WiiU/autotest_cod9_wiiu.cpp b/tests/WiiU/autotest_cod9_wiiu.cpp index 46ad0ba..ade7a5e 100644 --- a/tests/WiiU/autotest_cod9_wiiu.cpp +++ b/tests/WiiU/autotest_cod9_wiiu.cpp @@ -49,8 +49,8 @@ void AutoTest_COD9_WiiU::testDecompression() { const QByteArray testZoneData = Compression::DecompressZLIB(compressedData); // Verify the decompressed data via its embedded zone size. - QDataStream zoneStream(testZoneData); - zoneStream.setByteOrder(QDataStream::LittleEndian); + XDataStream zoneStream(testZoneData); + zoneStream.setByteOrder(XDataStream::LittleEndian); quint32 zoneSize; zoneStream >> zoneSize; QVERIFY2(zoneSize + 44 == testZoneData.size(), diff --git a/tests/tests.pro b/tests/tests.pro index c2c3e47..c8e13ab 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -20,9 +20,9 @@ HEADERS += $$files($$PWD/*.h, true) # } LIBS += \ - #-L$$PWD/../third_party/devil_sdk/lib/ -lDevIL -lILU -lILUT \ - #-L$$PWD/../third_party/zlib/lib/ -lzlib \ - #-L$$PWD/../third_party/xbox_sdk/lib -lxcompress64 \ + -L$$PWD/../third_party/devil_sdk/lib/ -lDevIL -lILU -lILUT \ + -L$$PWD/../third_party/zlib/lib/ -lzlib \ + -L$$PWD/../third_party/xbox_sdk/lib -lxcompress64 \ -L$$OUT_PWD/../libs/ -lcore \ -L$$OUT_PWD/../libs/ -lxassets\ -L$$OUT_PWD/../libs/ -lcompression \ @@ -34,9 +34,9 @@ LIBS += \ -L$$OUT_PWD/../libs/ -lzonefile INCLUDEPATH += \ - #$$PWD/../third_party/devil_sdk/include/ \ - #$$PWD/../third_party/zlib/include \ - #$$PWD/../third_party/xbox_sdk/include \ + $$PWD/../third_party/devil_sdk/include/ \ + $$PWD/../third_party/zlib/include \ + $$PWD/../third_party/xbox_sdk/include \ $$PWD/../libs/core \ $$PWD/../libs/compression \ $$PWD/../libs/encryption \ @@ -48,9 +48,9 @@ INCLUDEPATH += \ $$PWD/../libs/zonefile DEPENDPATH += \ - #$$PWD/../third_party/devil_sdk/include/ \ - #$$PWD/../third_party/zlib/include \ - #$$PWD/../third_party/xbox_sdk/include \ + $$PWD/../third_party/devil_sdk/include/ \ + $$PWD/../third_party/zlib/include \ + $$PWD/../third_party/xbox_sdk/include \ $$PWD/../libs/core \ $$PWD/../libs/compression \ $$PWD/../libs/encryption \ diff --git a/third_party/cod_export/cod4_360.h b/third_party/cod_export/cod4_360.h deleted file mode 100644 index b8dd13c..0000000 --- a/third_party/cod_export/cod4_360.h +++ /dev/null @@ -1,1787 +0,0 @@ -struct DObjAnimMat -{ - float quat[4]; - float trans[3]; - float transWeight; -}; - -struct XSurfaceVertexInfo -{ - __int16 vertCount[4]; - unsigned __int16 *vertsBlend; -}; - -union GfxColor -{ - unsigned int packed; - unsigned __int8 array[4]; -}; - -union PackedTexCoords -{ - unsigned int packed; -}; - -union PackedUnitVec -{ - unsigned int packed; -}; - -struct GfxPackedVertex -{ - float xyz[3]; - float binormalSign; - GfxColor color; - PackedTexCoords texCoord; - PackedUnitVec normal; - PackedUnitVec tangent; -}; - -struct D3DResource -{ - unsigned int Common; - unsigned int ReferenceCount; - unsigned int Fence; - unsigned int ReadFence; - unsigned int Identifier; - unsigned int BaseFlush; -}; - -struct $E41E24A1CD47CDFA361AA9F99910948B -{ - unsigned __int32 Type : 2; - unsigned __int32 BaseAddress : 30; - unsigned __int32 Endian : 2; - unsigned __int32 Size : 24; - unsigned __int32 AddressClamp : 1; - unsigned __int32 : 1; - unsigned __int32 RequestSize : 2; - unsigned __int32 ClampDisable : 2; -}; - -union GPUVERTEX_FETCH_CONSTANT -{ - $E41E24A1CD47CDFA361AA9F99910948B __s0; - unsigned int dword[2]; -}; - -struct D3DVertexBuffer : D3DResource -{ - GPUVERTEX_FETCH_CONSTANT Format; -}; - -struct XSurfaceCollisionAabb -{ - unsigned __int16 mins[3]; - unsigned __int16 maxs[3]; -}; - -struct XSurfaceCollisionNode -{ - XSurfaceCollisionAabb aabb; - unsigned __int16 childBeginIndex; - unsigned __int16 childCount; -}; - -struct XSurfaceCollisionLeaf -{ - unsigned __int16 triangleBeginIndex; -}; - -struct XSurfaceCollisionTree -{ - float trans[3]; - float scale[3]; - unsigned int nodeCount; - XSurfaceCollisionNode *nodes; - unsigned int leafCount; - XSurfaceCollisionLeaf *leafs; -}; - -struct XRigidVertList -{ - unsigned __int16 boneOffset; - unsigned __int16 vertCount; - unsigned __int16 triOffset; - unsigned __int16 triCount; - XSurfaceCollisionTree *collisionTree; -}; - -struct D3DIndexBuffer : D3DResource -{ - unsigned int Address; - unsigned int Size; -}; - -struct XSurface -{ - unsigned __int8 tileMode; - bool deformed; - unsigned __int16 vertCount; - unsigned __int16 triCount; - unsigned __int16 *triIndices; - XSurfaceVertexInfo vertInfo; - GfxPackedVertex *verts0; - D3DVertexBuffer vb0; - unsigned int vertListCount; - XRigidVertList *vertList; - D3DIndexBuffer indexBuffer; - int partBits[4]; -}; - -struct GfxDrawSurfFields -{ - unsigned __int64 objectId : 16; - unsigned __int64 reflectionProbeIndex : 8; - unsigned __int64 customIndex : 5; - unsigned __int64 materialSortedIndex : 11; - unsigned __int64 prepass : 2; - unsigned __int64 primaryLightIndex : 8; - unsigned __int64 surfType : 4; - unsigned __int64 primarySortKey : 6; - unsigned __int64 unused : 4; -}; - - -union GfxDrawSurf -{ - GfxDrawSurfFields fields; - unsigned __int64 packed; -}; - -struct __declspec(align(8)) MaterialInfo -{ - const char *name; - unsigned __int8 gameFlags; - unsigned __int8 sortKey; - unsigned __int8 textureAtlasRowCount; - unsigned __int8 textureAtlasColumnCount; - GfxDrawSurf drawSurf; - unsigned int surfaceTypeBits; -}; - -struct MaterialStreamRouting -{ - unsigned __int8 source; - unsigned __int8 dest; -}; - -struct D3DVertexDeclaration : D3DResource -{ -}; - -union MaterialVertexStreamRouting -{ - MaterialStreamRouting data[16]; - D3DVertexDeclaration *decl[15]; -}; - -struct MaterialVertexDeclaration -{ - unsigned __int8 streamCount; - bool hasOptionalSource; - MaterialVertexStreamRouting routing; -}; - -struct D3DVertexShader : D3DResource -{ -}; - -struct GfxVertexShaderLoadDef -{ - unsigned __int8 *cachedPart; - unsigned __int8 *physicalPart; - unsigned __int16 cachedPartSize; - unsigned __int16 physicalPartSize; -}; - -union MaterialVertexShaderProgram -{ - D3DVertexShader *vs; - GfxVertexShaderLoadDef loadDef; -}; - -struct MaterialVertexShader -{ - const char *name; - MaterialVertexShaderProgram prog; -}; - -struct D3DPixelShader : D3DResource -{ -}; - -struct GfxPixelShaderLoadDef -{ - unsigned __int8 *cachedPart; - unsigned __int8 *physicalPart; - unsigned __int16 cachedPartSize; - unsigned __int16 physicalPartSize; -}; - -union MaterialPixelShaderProgram -{ - D3DPixelShader *ps; - GfxPixelShaderLoadDef loadDef; -}; - -struct MaterialPixelShader -{ - const char *name; - MaterialPixelShaderProgram prog; -}; - -struct MaterialArgumentCodeConst -{ - unsigned __int16 index; - unsigned __int8 firstRow; - unsigned __int8 rowCount; -}; - -union MaterialArgumentDef -{ - const float *literalConst; - MaterialArgumentCodeConst codeConst; - unsigned int codeSampler; - unsigned int nameHash; -}; - -struct MaterialShaderArgument -{ - unsigned __int16 type; - unsigned __int16 dest; - MaterialArgumentDef u; -}; - -struct MaterialPass -{ - MaterialVertexDeclaration *vertexDecl; - MaterialVertexShader *vertexShaderArray[15]; - MaterialVertexShader *vertexShader; - MaterialPixelShader *pixelShader; - unsigned __int8 perPrimArgCount; - unsigned __int8 perObjArgCount; - unsigned __int8 stableArgCount; - unsigned __int8 customSamplerFlags; - unsigned __int8 precompiledIndex; - MaterialShaderArgument *args; -}; - -struct MaterialTechnique -{ - const char *name; - unsigned __int16 flags; - unsigned __int16 passCount; - MaterialPass passArray[1]; -}; - -struct MaterialTechniqueSet -{ - const char *name; - unsigned __int8 worldVertFormat; - unsigned __int8 unused[2]; - MaterialTechniqueSet *remappedTechniqueSet; - MaterialTechnique *techniques[26]; -}; - -enum MapType : __int32 -{ - MAPTYPE_NONE = 0x0, - MAPTYPE_INVALID1 = 0x1, - MAPTYPE_INVALID2 = 0x2, - MAPTYPE_2D = 0x3, - MAPTYPE_3D = 0x4, - MAPTYPE_CUBE = 0x5, - MAPTYPE_COUNT = 0x6, -}; - -union GfxTexture -{ - D3DBaseTexture *basemap; - D3DTexture *map; - D3DVolumeTexture *volmap; - D3DCubeTexture *cubemap; - GfxImageLoadDef *loadDef; -}; - -struct CardMemory -{ - int platform[1]; -}; - -struct GfxImage -{ - MapType mapType; - GfxTexture texture; - unsigned __int8 semantic; - CardMemory cardMemory; - unsigned __int16 width; - unsigned __int16 height; - unsigned __int16 depth; - unsigned __int8 category; - bool delayLoadPixels; - unsigned __int8 *pixels; - unsigned int baseSize; - unsigned __int16 streamSlot; - bool streaming; - const char *name; -}; - -struct WaterWritable -{ - float floatTime; -}; - -struct water_t -{ - WaterWritable writable; - float *H0X; - float *H0Y; - float *wTerm; - int M; - int N; - float Lx; - float Lz; - float gravity; - float windvel; - float winddir[2]; - float amplitude; - float codeConstant[4]; - GfxImage *image; -}; - -union MaterialTextureDefInfo -{ - GfxImage *image; - water_t *water; -}; - -struct MaterialTextureDef -{ - unsigned int nameHash; - char nameStart; - char nameEnd; - unsigned __int8 samplerState; - unsigned __int8 semantic; - MaterialTextureDefInfo u; -}; - -struct MaterialConstantDef -{ - unsigned int nameHash; - char name[12]; - float literal[4]; -}; - -struct GfxStateBits -{ - unsigned int loadBits[2]; -}; - -struct Material -{ - MaterialInfo info; - unsigned __int8 stateBitsEntry[26]; - unsigned __int8 textureCount; - unsigned __int8 constantCount; - unsigned __int8 stateBitsCount; - unsigned __int8 stateFlags; - unsigned __int8 cameraRegion; - MaterialTechniqueSet *techniqueSet; - MaterialTextureDef *textureTable; - MaterialConstantDef *constantTable; - GfxStateBits *stateBitsTable; -}; - -struct XModelLodInfo -{ - float dist; - unsigned __int16 numsurfs; - unsigned __int16 surfIndex; - int partBits[4]; -}; - -struct XModelCollSurf_s -{ - float mins[3]; - float maxs[3]; - int boneIdx; - int contents; - int surfFlags; -}; - -struct XBoneInfo -{ - float bounds[2][3]; - float offset[3]; - float radiusSquared; -}; - -struct XModelHighMipBounds -{ - float mins[3]; - float maxs[3]; -}; - -struct XModelStreamInfo -{ - XModelHighMipBounds *highMipBounds; -}; - -struct __declspec(align(4)) PhysPreset -{ - const char *name; - int type; - float mass; - float bounce; - float friction; - float bulletForceScale; - float explosiveForceScale; - const char *sndAliasPrefix; - float piecesSpreadFraction; - float piecesUpwardVelocity; - bool tempDefaultToCylinder; -}; - -struct cplane_s -{ - float normal[3]; - float dist; - unsigned __int8 type; - unsigned __int8 signbits; - unsigned __int8 pad[2]; -}; - -struct __declspec(align(2)) cbrushside_t -{ - cplane_s *plane; - unsigned int materialNum; - __int16 firstAdjacentSideOffset; - unsigned __int8 edgeCount; -}; - -struct BrushWrapper -{ - float mins[3]; - int contents; - float maxs[3]; - unsigned int numsides; - cbrushside_t *sides; - __int16 axialMaterialNum[2][3]; - unsigned __int8 *baseAdjacentSide; - __int16 firstAdjacentSideOffsets[2][3]; - unsigned __int8 edgeCount[2][3]; - int totalEdgeCount; - cplane_s *planes; -}; - -struct PhysGeomInfo -{ - BrushWrapper *brush; - int type; - float orientation[3][3]; - float offset[3]; - float halfLengths[3]; -}; - -struct PhysMass -{ - float centerOfMass[3]; - float momentsOfInertia[3]; - float productsOfInertia[3]; -}; - -struct PhysGeomList -{ - unsigned int count; - PhysGeomInfo *geoms; - PhysMass mass; -}; - -struct XModel -{ - const char *name; - unsigned __int8 numBones; - unsigned __int8 numRootBones; - unsigned __int8 numsurfs; - unsigned __int8 lodRampType; - unsigned __int16 *boneNames; - unsigned __int8 *parentList; - __int16 *quats; - float *trans; - unsigned __int8 *partClassification; - DObjAnimMat *baseMat; - XSurface *surfs; - Material **materialHandles; - XModelLodInfo lodInfo[4]; - XModelCollSurf_s *collSurfs; - int numCollSurfs; - int contents; - XBoneInfo *boneInfo; - float radius; - float mins[3]; - float maxs[3]; - __int16 numLods; - __int16 collLod; - XModelStreamInfo streamInfo; - int memUsage; - unsigned __int8 flags; - PhysPreset *physPreset; - PhysGeomList *physGeoms; -}; - -struct XModelPiece -{ - XModel *model; - float offset[3]; -}; - -struct XModelPieces -{ - const char *name; - int numpieces; - XModelPiece *pieces; -}; - -union XAnimIndices -{ - unsigned __int8 *_1; - unsigned __int16 *_2; - void *data; -}; - -struct XAnimNotifyInfo -{ - unsigned __int16 name; - float time; -}; - -union XAnimDynamicFrames -{ - unsigned __int8 (*_1)[3]; - unsigned __int16 (*_2)[3]; -}; - -union XAnimDynamicIndices -{ - unsigned __int8 _1[1]; - unsigned __int16 _2[1]; -}; - -struct __declspec(align(4)) XAnimPartTransFrames -{ - float mins[3]; - float size[3]; - XAnimDynamicFrames frames; - XAnimDynamicIndices indices; -}; - -union XAnimPartTransData -{ - XAnimPartTransFrames frames; - float frame0[3]; -}; - -struct XAnimPartTrans -{ - unsigned __int16 size; - unsigned __int8 smallTrans; - XAnimPartTransData u; -}; - -struct __declspec(align(4)) XAnimDeltaPartQuatDataFrames -{ - __int16 (*frames)[2]; - XAnimDynamicIndices indices; -}; - -union XAnimDeltaPartQuatData -{ - XAnimDeltaPartQuatDataFrames frames; - __int16 frame0[2]; -}; - -struct XAnimDeltaPartQuat -{ - unsigned __int16 size; - XAnimDeltaPartQuatData u; -}; - -struct XAnimDeltaPart -{ - XAnimPartTrans *trans; - XAnimDeltaPartQuat *quat; -}; - -struct XAnimParts -{ - const char *name; - unsigned __int16 dataByteCount; - unsigned __int16 dataShortCount; - unsigned __int16 dataIntCount; - unsigned __int16 randomDataByteCount; - unsigned __int16 randomDataIntCount; - unsigned __int16 numframes; - bool bLoop; - bool bDelta; - unsigned __int8 boneCount[12]; - unsigned __int8 notifyCount; - unsigned __int8 assetType; - bool pad; - unsigned int randomDataShortCount; - unsigned int indexCount; - float framerate; - float frequency; - unsigned __int16 *names; - unsigned __int8 *dataByte; - __int16 *dataShort; - int *dataInt; - __int16 *randomDataShort; - unsigned __int8 *randomDataByte; - int *randomDataInt; - XAnimIndices indices; - XAnimNotifyInfo *notify; - XAnimDeltaPart *deltaPart; -}; - -struct __declspec(align(4)) XMALOOPREGION -{ - unsigned int LoopStart; - unsigned int LoopEnd; - unsigned __int8 LoopSubframeEnd; - unsigned __int8 LoopSubframeSkip; -}; - -struct XAUDIOPACKET_ALIGNED -{ - char *pBuffer; - unsigned int BufferSize; - unsigned int LoopCount; - XMALOOPREGION XMALoop[6]; - char *pContext; -}; - -union AudioStreamMeta -{ - unsigned __int8 NumStreams; - unsigned __int8 ChannelCount; -}; - -struct __declspec(align(4)) XAUDIOXMAFORMAT -{ - unsigned int SampleRate; - unsigned __int8 ChannelCount; - unsigned __int8 DecodeBufferSize; -}; - -union SoundFormatData -{ - XAUDIOXMAFORMAT Stream[6]; - unsigned int SampleRate; -}; - -struct XAUDIOSOURCEFORMAT -{ - unsigned __int8 SampleType; - __declspec(align(4)) AudioStreamMeta ___u1; - SoundFormatData ___u2; -}; - -struct XaIwXmaDataInfo -{ - int totalMsec; -}; - -struct XaSeekTable -{ - int size; - unsigned int *data; -}; - -struct XaSound -{ - XAUDIOPACKET_ALIGNED packet; - XAUDIOSOURCEFORMAT format; - XaIwXmaDataInfo xaIwXmaDataInfo; - XaSeekTable seekTable; -}; - -struct LoadedSound -{ - const char *name; - XaSound sound; -}; - -struct StreamFileNameRaw -{ - const char *dir; - const char *name; -}; - -struct StreamFileNamePacked -{ - unsigned int offset; - unsigned int length; -}; - -union StreamFileInfo -{ - StreamFileNameRaw raw; - StreamFileNamePacked packed; -}; - -struct StreamFileName -{ - unsigned int fileIndex; - StreamFileInfo info; -}; - -struct StreamedSound -{ - StreamFileName filename; -}; - -union SoundFileRef -{ - LoadedSound *loadSnd; - StreamedSound streamSnd; -}; - -struct SoundFile -{ - unsigned __int8 type; - unsigned __int8 exists; - SoundFileRef u; -}; - -struct SndCurve -{ - const char *filename; - int knotCount; - float knots[8][2]; -}; - -struct XAUDIOCHANNELMAPENTRY -{ - unsigned __int8 InputChannel; - unsigned __int8 OutputChannel; - float Volume; -}; - -struct XAUDIOCHANNELMAP -{ - unsigned __int8 EntryCount; - XAUDIOCHANNELMAPENTRY *paEntries; -}; - -struct SpeakerMap -{ - bool isDefault; - const char *name; - XAUDIOCHANNELMAP channelMaps[2][2]; -}; - -struct snd_alias_t -{ - const char *aliasName; - const char *subtitle; - const char *secondaryAliasName; - const char *chainAliasName; - SoundFile *soundFile; - int sequence; - float volMin; - float volMax; - float pitchMin; - float pitchMax; - float distMin; - float distMax; - int flags; - float slavePercentage; - float probability; - float lfePercentage; - float centerPercentage; - int startDelay; - SndCurve *volumeFalloffCurve; - float envelopMin; - float envelopMax; - float envelopPercentage; - SpeakerMap *speakerMap; -}; - -struct snd_alias_list_t -{ - const char *aliasName; - snd_alias_t *head; - int count; -}; - -struct cStaticModelWritable -{ - unsigned __int16 nextModelInWorldSector; -}; - -struct cStaticModel_s -{ - cStaticModelWritable writable; - XModel *xmodel; - float origin[3]; - float invScaledAxis[3][3]; - float absmin[3]; - float absmax[3]; -}; - -struct dmaterial_t -{ - char material[64]; - int surfaceFlags; - int contentFlags; -}; - -struct cNode_t -{ - cplane_s *plane; - __int16 children[2]; -}; - -struct __declspec(align(4)) cLeaf_t -{ - unsigned __int16 firstCollAabbIndex; - unsigned __int16 collAabbCount; - int brushContents; - int terrainContents; - float mins[3]; - float maxs[3]; - int leafBrushNode; - __int16 cluster; -}; - -struct cLeafBrushNodeLeaf_t -{ - unsigned __int16 *brushes; -}; - -struct cLeafBrushNodeChildren_t -{ - float dist; - float range; - unsigned __int16 childOffset[2]; -}; - -union cLeafBrushNodeData_t -{ - cLeafBrushNodeLeaf_t leaf; - cLeafBrushNodeChildren_t children; -}; - -struct cLeafBrushNode_s -{ - unsigned __int8 axis; - __int16 leafBrushCount; - int contents; - cLeafBrushNodeData_t data; -}; - -struct CollisionBorder -{ - float distEq[3]; - float zBase; - float zSlope; - float start; - float length; -}; - -struct CollisionPartition -{ - unsigned __int8 triCount; - unsigned __int8 borderCount; - int firstTri; - CollisionBorder *borders; -}; - -union CollisionAabbTreeIndex -{ - int firstChildIndex; - int partitionIndex; -}; - -struct CollisionAabbTree -{ - float origin[3]; - float halfSize[3]; - unsigned __int16 materialIndex; - unsigned __int16 childCount; - CollisionAabbTreeIndex u; -}; - -struct cmodel_t -{ - float mins[3]; - float maxs[3]; - float radius; - cLeaf_t leaf; -}; - -struct __declspec(align(16)) cbrush_t -{ - float mins[3]; - int contents; - float maxs[3]; - unsigned int numsides; - cbrushside_t *sides; - __int16 axialMaterialNum[2][3]; - unsigned __int8 *baseAdjacentSide; - __int16 firstAdjacentSideOffsets[2][3]; - unsigned __int8 edgeCount[2][3]; -}; - -struct MapEnts -{ - const char *name; - char *entityString; - int numEntityChars; -}; - -enum DynEntityType : __int32 -{ - DYNENT_TYPE_INVALID = 0x0, - DYNENT_TYPE_CLUTTER = 0x1, - DYNENT_TYPE_DESTRUCT = 0x2, - DYNENT_TYPE_COUNT = 0x3, -}; - -struct GfxPlacement -{ - float quat[4]; - float origin[3]; -}; - -struct FxSpawnDefLooping -{ - int intervalMsec; - int count; -}; - -struct FxIntRange -{ - int base; - int amplitude; -}; - -struct FxSpawnDefOneShot -{ - FxIntRange count; -}; - -union FxSpawnDef -{ - FxSpawnDefLooping looping; - FxSpawnDefOneShot oneShot; -}; - -struct FxFloatRange -{ - float base; - float amplitude; -}; - -struct FxElemAtlas -{ - unsigned __int8 behavior; - unsigned __int8 index; - unsigned __int8 fps; - unsigned __int8 loopCount; - unsigned __int8 colIndexBits; - unsigned __int8 rowIndexBits; - __int16 entryCount; -}; - -struct FxElemVec3Range -{ - float base[3]; - float amplitude[3]; -}; - -struct FxElemVelStateInFrame -{ - FxElemVec3Range velocity; - FxElemVec3Range totalDelta; -}; - -const struct FxElemVelStateSample -{ - FxElemVelStateInFrame local; - FxElemVelStateInFrame world; -}; - -union FxEffectDefRef -{ - const FxEffectDef *handle; - const char *name; -}; - -union FxElemVisuals -{ - const void *anonymous; - Material *material; - XModel *model; - FxEffectDefRef effectDef; - const char *soundName; -}; - -struct FxElemMarkVisuals -{ - Material *materials[2]; -}; - -union FxElemDefVisuals -{ - FxElemMarkVisuals *markArray; - FxElemVisuals *array; - FxElemVisuals instance; -}; - -struct FxElemVisualState -{ - unsigned __int8 color[4]; - float rotationDelta; - float rotationTotal; - float size[2]; - float scale; -}; - -const struct FxElemVisStateSample -{ - FxElemVisualState base; - FxElemVisualState amplitude; -}; - -struct FxTrailVertex -{ - float pos[2]; - float normal[2]; - float texCoord; -}; - -struct FxTrailDef -{ - int scrollTimeMsec; - int repeatDist; - int splitDist; - int vertCount; - FxTrailVertex *verts; - int indCount; - unsigned __int16 *inds; -}; - -const struct FxElemDef -{ - int flags; - FxSpawnDef spawn; - FxFloatRange spawnRange; - FxFloatRange fadeInRange; - FxFloatRange fadeOutRange; - float spawnFrustumCullRadius; - FxIntRange spawnDelayMsec; - FxIntRange lifeSpanMsec; - FxFloatRange spawnOrigin[3]; - FxFloatRange spawnOffsetRadius; - FxFloatRange spawnOffsetHeight; - FxFloatRange spawnAngles[3]; - FxFloatRange angularVelocity[3]; - FxFloatRange initialRotation; - FxFloatRange gravity; - FxFloatRange reflectionFactor; - FxElemAtlas atlas; - unsigned __int8 elemType; - unsigned __int8 visualCount; - unsigned __int8 velIntervalCount; - unsigned __int8 visStateIntervalCount; - const FxElemVelStateSample *velSamples; - const FxElemVisStateSample *visSamples; - FxElemDefVisuals visuals; - float collMins[3]; - float collMaxs[3]; - FxEffectDefRef effectOnImpact; - FxEffectDefRef effectOnDeath; - FxEffectDefRef effectEmitted; - FxFloatRange emitDist; - FxFloatRange emitDistVariance; - FxTrailDef *trailDef; - unsigned __int8 sortOrder; - unsigned __int8 lightingFrac; - unsigned __int8 useItemClip; - unsigned __int8 unused[1]; -}; - -const struct FxEffectDef -{ - const char *name; - int flags; - int totalSize; - int msecLoopingLife; - int elemDefCountLooping; - int elemDefCountOneShot; - int elemDefCountEmission; - const FxElemDef *elemDefs; -}; - -struct DynEntityDef -{ - DynEntityType type; - GfxPlacement pose; - XModel *xModel; - unsigned __int16 brushModel; - unsigned __int16 physicsBrushModel; - const FxEffectDef *destroyFx; - XModelPieces *destroyPieces; - PhysPreset *physPreset; - int health; - PhysMass mass; - int contents; -}; - -struct DynEntityPose -{ - GfxPlacement pose; - float radius; -}; - -struct DynEntityClient -{ - int physObjId; - unsigned __int16 flags; - unsigned __int16 lightingHandle; - int health; -}; - -struct DynEntityColl -{ - unsigned __int16 sector; - unsigned __int16 nextEntInSector; - float linkMins[2]; - float linkMaxs[2]; -}; - -struct clipMap_t -{ - const char *name; - int isInUse; - int planeCount; - cplane_s *planes; - unsigned int numStaticModels; - cStaticModel_s *staticModelList; - unsigned int numMaterials; - dmaterial_t *materials; - unsigned int numBrushSides; - cbrushside_t *brushsides; - unsigned int numBrushEdges; - unsigned __int8 *brushEdges; - unsigned int numNodes; - cNode_t *nodes; - unsigned int numLeafs; - cLeaf_t *leafs; - unsigned int leafbrushNodesCount; - cLeafBrushNode_s *leafbrushNodes; - unsigned int numLeafBrushes; - unsigned __int16 *leafbrushes; - unsigned int numLeafSurfaces; - unsigned int *leafsurfaces; - unsigned int vertCount; - float (*verts)[3]; - int triCount; - unsigned __int16 *triIndices; - unsigned __int8 *triEdgeIsWalkable; - int borderCount; - CollisionBorder *borders; - int partitionCount; - CollisionPartition *partitions; - int aabbTreeCount; - CollisionAabbTree *aabbTrees; - unsigned int numSubModels; - cmodel_t *cmodels; - unsigned __int16 numBrushes; - cbrush_t *brushes; - int numClusters; - int clusterBytes; - unsigned __int8 *visibility; - int vised; - MapEnts *mapEnts; - cbrush_t *box_brush; - cmodel_t box_model; - unsigned __int16 dynEntCount[2]; - DynEntityDef *dynEntDefList[2]; - DynEntityPose *dynEntPoseList[2]; - DynEntityClient *dynEntClientList[2]; - DynEntityColl *dynEntCollList[2]; - unsigned int checksum; -}; - -struct ComPrimaryLight -{ - unsigned __int8 type; - unsigned __int8 canUseShadowMap; - unsigned __int8 exponent; - unsigned __int8 unused; - float color[3]; - float dir[3]; - float origin[3]; - float radius; - float cosHalfFovOuter; - float cosHalfFovInner; - float cosHalfFovExpanded; - float rotationLimit; - float translationLimit; - const char *defName; -}; - -struct ComWorld -{ - const char *name; - int isInUse; - unsigned int primaryLightCount; - ComPrimaryLight *primaryLights; -}; - -enum nodeType : __int32 -{ - NODE_BADNODE = 0x0, - NODE_PATHNODE = 0x1, - NODE_COVER_STAND = 0x2, - NODE_COVER_CROUCH = 0x3, - NODE_COVER_CROUCH_WINDOW = 0x4, - NODE_COVER_PRONE = 0x5, - NODE_COVER_RIGHT = 0x6, - NODE_COVER_LEFT = 0x7, - NODE_COVER_WIDE_RIGHT = 0x8, - NODE_COVER_WIDE_LEFT = 0x9, - NODE_CONCEALMENT_STAND = 0xA, - NODE_CONCEALMENT_CROUCH = 0xB, - NODE_CONCEALMENT_PRONE = 0xC, - NODE_REACQUIRE = 0xD, - NODE_BALCONY = 0xE, - NODE_SCRIPTED = 0xF, - NODE_NEGOTIATION_BEGIN = 0x10, - NODE_NEGOTIATION_END = 0x11, - NODE_TURRET = 0x12, - NODE_GUARD = 0x13, - NODE_NUMTYPES = 0x14, - NODE_DONTLINK = 0x14, -}; - -struct pathlink_s -{ - float fDist; - unsigned __int16 nodeNum; - unsigned __int8 disconnectCount; - unsigned __int8 negotiationLink; - unsigned __int8 ubBadPlaceCount[4]; -}; - -struct pathnode_constant_t -{ - nodeType type; - unsigned __int16 spawnflags; - unsigned __int16 targetname; - unsigned __int16 script_linkName; - unsigned __int16 script_noteworthy; - unsigned __int16 target; - unsigned __int16 animscript; - int animscriptfunc; - float vOrigin[3]; - float fAngle; - float forward[2]; - float fRadius; - float minUseDistSq; - __int16 wOverlapNode[2]; - __int16 wChainId; - __int16 wChainDepth; - __int16 wChainParent; - unsigned __int16 totalLinkCount; - pathlink_s *Links; -}; - -struct pathnode_dynamic_t -{ - void *pOwner; - int iFreeTime; - int iValidTime[3]; - int inPlayerLOSTime; - __int16 wLinkCount; - __int16 wOverlapCount; - __int16 turretEntNumber; - __int16 userCount; -}; - -struct pathnode_t; - -struct pathnode_transient_t -{ - int iSearchFrame; - pathnode_t *pNextOpen; - pathnode_t *pPrevOpen; - pathnode_t *pParent; - float fCost; - float fHeuristic; - float costFactor; -}; - -struct pathnode_t -{ - pathnode_constant_t constant; - pathnode_dynamic_t dynamic; - pathnode_transient_t transient; -}; - -struct pathbasenode_t -{ - float vOrigin[3]; - unsigned int type; -}; - -struct pathnode_tree_nodes_t -{ - int nodeCount; - unsigned __int16 *nodes; -}; - -union pathnode_tree_info_t; -struct pathnode_tree_t -{ - int axis; - float dist; - pathnode_tree_info_t u; -}; - -union pathnode_tree_info_t -{ - pathnode_tree_t *child[2]; - pathnode_tree_nodes_t s; -}; - -struct PathData -{ - unsigned int nodeCount; - pathnode_t *nodes; - pathbasenode_t *basenodes; - unsigned int chainNodeCount; - unsigned __int16 *chainNodeForNode; - unsigned __int16 *nodeForChainNode; - int visBytes; - unsigned __int8 *pathVis; - int nodeTreeCount; - pathnode_tree_t *nodeTree; -}; - -struct GameWorldSp -{ - const char *name; - PathData path; -}; - -struct GameWorldMp -{ - const char *name; -}; - -struct GfxStreamingAabbTree -{ - unsigned __int16 firstItem; - unsigned __int16 itemCount; - unsigned __int16 firstChild; - unsigned __int16 childCount; - float mins[3]; - float maxs[3]; -}; - -struct GfxWorldStreamInfo -{ - int aabbTreeCount; - GfxStreamingAabbTree *aabbTrees; - int leafRefCount; - int *leafRefs; -}; - -struct GfxWorldVertex -{ - float xyz[3]; - float binormalSign; - GfxColor color; - float texCoord[2]; - float lmapCoord[2]; - PackedUnitVec normal; - PackedUnitVec tangent; -}; - -struct GfxWorldVertexData -{ - GfxWorldVertex *vertices; - D3DVertexBuffer worldVb; -}; - -struct GfxWorldVertexLayerData -{ - unsigned __int8 *data; - D3DVertexBuffer layerVb; -}; - -struct SunLightParseParams -{ - char name[64]; - float ambientScale; - float ambientColor[3]; - float diffuseFraction; - float sunLight; - float sunColor[3]; - float diffuseColor[3]; - bool diffuseColorHasBeenSet; - float angles[3]; -}; - -struct __declspec(align(4)) GfxLightImage -{ - GfxImage *image; - unsigned __int8 samplerState; -}; - -struct GfxLightDef -{ - const char *name; - GfxLightImage attenuation; - int lmapLookupStart; -}; - -struct GfxLight -{ - unsigned __int8 type; - unsigned __int8 canUseShadowMap; - unsigned __int8 unused[2]; - float color[3]; - float dir[3]; - float origin[3]; - float radius; - float cosHalfFovOuter; - float cosHalfFovInner; - int exponent; - unsigned int spotShadowIndex; - GfxLightDef *def; -}; - -struct GfxReflectionProbe -{ - float origin[3]; - GfxImage *reflectionImage; -}; - -struct GfxWorldDpvsPlanes -{ - int cellCount; - cplane_s *planes; - unsigned __int16 *nodes; - unsigned int *sceneEntCellBits; -}; - -struct GfxAabbTree -{ - float mins[3]; - float maxs[3]; - unsigned __int16 childCount; - unsigned __int16 surfaceCount; - unsigned __int16 startSurfIndex; - unsigned __int16 smodelIndexCount; - unsigned __int16 *smodelIndexes; - int childrenOffset; -}; - -struct GfxPortal; -struct GfxPortalWritable -{ - bool isQueued; - bool isAncestor; - unsigned __int8 recursionDepth; - unsigned __int8 hullPointCount; - float (*hullPoints)[2]; - GfxPortal *queuedParent; -}; - -struct DpvsPlane -{ - float coeffs[4]; - unsigned __int8 side[3]; - unsigned __int8 pad; -}; - -struct GfxCell; -struct GfxPortal -{ - GfxPortalWritable writable; - DpvsPlane plane; - GfxCell *cell; - float (*vertices)[3]; - unsigned __int8 vertexCount; - float hullAxis[2][3]; -}; - -struct GfxCell -{ - float mins[3]; - float maxs[3]; - int aabbTreeCount; - GfxAabbTree *aabbTree; - int portalCount; - GfxPortal *portals; - int cullGroupCount; - int *cullGroups; - unsigned __int8 reflectionProbeCount; - unsigned __int8 *reflectionProbes; -}; - -struct GfxLightmapArray -{ - GfxImage *primary; - GfxImage *secondary; -}; - -struct GfxLightGridEntry -{ - unsigned __int16 colorsIndex; - unsigned __int8 primaryLightIndex; - unsigned __int8 needsTrace; -}; - -struct GfxLightGridColors -{ - unsigned __int8 rgb[56][3]; -}; - -struct GfxLightGrid -{ - bool hasLightRegions; - unsigned int sunPrimaryLightIndex; - unsigned __int16 mins[3]; - unsigned __int16 maxs[3]; - unsigned int rowAxis; - unsigned int colAxis; - unsigned __int16 *rowDataStart; - unsigned int rawRowDataSize; - unsigned __int8 *rawRowData; - unsigned int entryCount; - GfxLightGridEntry *entries; - unsigned int colorCount; - GfxLightGridColors *colors; -}; - -/* 9014 */ -struct GfxBrushModelWritable -{ - float mins[3]; - float maxs[3]; -}; - -struct GfxBrushModel -{ - GfxBrushModelWritable writable; - float bounds[2][3]; - unsigned int surfaceCount; - unsigned int startSurfIndex; -}; - -struct MaterialMemory -{ - Material *material; - int memory; -}; - -struct sunflare_t -{ - bool hasValidData; - Material *spriteMaterial; - Material *flareMaterial; - float spriteSize; - float flareMinSize; - float flareMinDot; - float flareMaxSize; - float flareMaxDot; - float flareMaxAlpha; - int flareFadeInTime; - int flareFadeOutTime; - float blindMinDot; - float blindMaxDot; - float blindMaxDarken; - int blindFadeInTime; - int blindFadeOutTime; - float glareMinDot; - float glareMaxDot; - float glareMaxLighten; - int glareFadeInTime; - int glareFadeOutTime; - float sunFxPosition[3]; -}; - -struct XModelDrawInfo -{ - unsigned __int16 lod; - unsigned __int16 surfId; -}; - -struct GfxSceneDynModel -{ - XModelDrawInfo info; - unsigned __int16 dynEntId; -}; - -struct BModelDrawInfo -{ - unsigned __int16 surfId; -}; - -struct GfxSceneDynBrush -{ - BModelDrawInfo info; - unsigned __int16 dynEntId; -}; - -struct GfxShadowGeometry -{ - unsigned __int16 surfaceCount; - unsigned __int16 smodelCount; - unsigned __int16 *sortedSurfIndex; - unsigned __int16 *smodelIndex; -}; - -struct GfxLightRegionAxis -{ - float dir[3]; - float midPoint; - float halfSize; -}; - -struct GfxLightRegionHull -{ - float kdopMidPoint[9]; - float kdopHalfSize[9]; - unsigned int axisCount; - GfxLightRegionAxis *axis; -}; - -struct GfxLightRegion -{ - unsigned int hullCount; - GfxLightRegionHull *hulls; -}; - -struct GfxWorldDpvsStatic -{ - unsigned int smodelCount; - unsigned int staticSurfaceCount; - unsigned int litSurfsBegin; - unsigned int litSurfsEnd; - unsigned int decalSurfsBegin; - unsigned int decalSurfsEnd; - unsigned int emissiveSurfsBegin; - unsigned int emissiveSurfsEnd; - unsigned int smodelVisDataCount; - unsigned int surfaceVisDataCount; - unsigned __int8 *smodelVisData[3]; - unsigned __int8 *surfaceVisData[3]; - unsigned int *lodData; - unsigned __int16 *sortedSurfIndex; - GfxStaticModelInst *smodelInsts; - GfxSurface *surfaces; - GfxCullGroup *cullGroups; - GfxStaticModelDrawInst *smodelDrawInsts; - GfxDrawSurf *surfaceMaterials; - unsigned int *surfaceCastsSunShadow; - volatile int usageCount; -}; - -struct GfxWorld -{ - const char *name; - const char *baseName; - int planeCount; - int nodeCount; - int indexCount; - unsigned __int16 *indices; - D3DIndexBuffer indexBuffer; - int surfaceCount; - GfxWorldStreamInfo streamInfo; - int skySurfCount; - int *skyStartSurfs; - GfxImage *skyImage; - unsigned __int8 skySamplerState; - unsigned int vertexCount; - GfxWorldVertexData vd; - unsigned int vertexLayerDataSize; - GfxWorldVertexLayerData vld; - SunLightParseParams sunParse; - GfxLight *sunLight; - float sunColorFromBsp[3]; - unsigned int sunPrimaryLightIndex; - unsigned int primaryLightCount; - int cullGroupCount; - unsigned int reflectionProbeCount; - GfxReflectionProbe *reflectionProbes; - GfxTexture *reflectionProbeTextures; - GfxWorldDpvsPlanes dpvsPlanes; - int cellBitsCount; - GfxCell *cells; - int lightmapCount; - GfxLightmapArray *lightmaps; - GfxLightGrid lightGrid; - GfxTexture *lightmapPrimaryTextures; - GfxTexture *lightmapSecondaryTextures; - int modelCount; - GfxBrushModel *models; - float mins[3]; - float maxs[3]; - unsigned int checksum; - int materialMemoryCount; - MaterialMemory *materialMemory; - sunflare_t sun; - float outdoorLookupMatrix[4][4]; - GfxImage *outdoorImage; - unsigned int *cellCasterBits; - GfxSceneDynModel *sceneDynModel; - GfxSceneDynBrush *sceneDynBrush; - unsigned int *primaryLightEntityShadowVis; - unsigned int *primaryLightDynEntShadowVis[2]; - unsigned __int8 *nonSunPrimaryLightForModelDynEnt; - GfxShadowGeometry *shadowGeom; - GfxLightRegion *lightRegion; - GfxWorldDpvsStatic dpvs; - GfxWorldDpvsDynamic dpvsDyn; -}; - -union XAssetHeader -{ - XModelPieces *xmodelPieces; - PhysPreset *physPreset; - XAnimParts *parts; - XModel *model; - Material *material; - MaterialPixelShader *pixelShader; - MaterialVertexShader *vertexShader; - MaterialTechniqueSet *techniqueSet; - GfxImage *image; - snd_alias_list_t *sound; - SndCurve *sndCurve; - LoadedSound *loadSnd; - clipMap_t *clipMap; - ComWorld *comWorld; - GameWorldSp *gameWorldSp; - GameWorldMp *gameWorldMp; - MapEnts *mapEnts; - GfxWorld *gfxWorld; - GfxLightDef *lightDef; - Font_s *font; - MenuList *menuList; - menuDef_t *menu; - LocalizeEntry *localize; - WeaponDef *weapon; - SndDriverGlobals *sndDriverGlobals; - const FxEffectDef *fx; - FxImpactTable *impactFx; - RawFile *rawfile; - StringTable *stringTable; - void *data; -}; diff --git a/third_party/xbox_sdk/include/xcompress.h b/third_party/xbox_sdk/include/xcompress.h index e8929ba..e23504f 100644 --- a/third_party/xbox_sdk/include/xcompress.h +++ b/third_party/xbox_sdk/include/xcompress.h @@ -14,7 +14,7 @@ #include #ifndef XBOXAPI -#define XBOXAPI +#define XBOXAPI __declspec(dllimport) #endif #ifdef __cplusplus diff --git a/tools/asset_assess/mainwindow.cpp b/tools/asset_assess/mainwindow.cpp index 03137ea..34ec669 100644 --- a/tools/asset_assess/mainwindow.cpp +++ b/tools/asset_assess/mainwindow.cpp @@ -19,7 +19,8 @@ MainWindow::MainWindow(QWidget *parent) setCentralWidget(mTextEdit); } -MainWindow::~MainWindow() { +MainWindow::~MainWindow() +{ } @@ -32,7 +33,8 @@ void MainWindow::LogLine(const QString &aLogText) } } -void MainWindow::dragEnterEvent(QDragEnterEvent *event) { +void MainWindow::dragEnterEvent(QDragEnterEvent *event) +{ const QMimeData *mimeData = event->mimeData(); bool goodDrag = true; if (mimeData->hasUrls()) { @@ -45,15 +47,22 @@ void MainWindow::dragEnterEvent(QDragEnterEvent *event) { } } -void MainWindow::dragMoveEvent(QDragMoveEvent *event) { +void MainWindow::dragMoveEvent(QDragMoveEvent *event) +{ Q_UNUSED(event); } -void MainWindow::dragLeaveEvent(QDragLeaveEvent *event) { +void MainWindow::dragLeaveEvent(QDragLeaveEvent *event) +{ Q_UNUSED(event); } -void MainWindow::dropEvent(QDropEvent *event) { +void MainWindow::dropEvent(QDropEvent *event) +{ + Q_UNUSED(event); + + // TODO: Fill in MainWindow::dropEvent + // const QMimeData *mimeData = event->mimeData(); // if (mimeData->hasUrls()) { // foreach (const QUrl &url, mimeData->urls()) { @@ -67,8 +76,8 @@ void MainWindow::dropEvent(QDropEvent *event) { // } // LogLine(QString("Opened %1").arg(fileName)); - // QDataStream dataStream(file.readAll()); - // dataStream.setByteOrder(QDataStream::LittleEndian); + // XDataStream dataStream(file.readAll()); + // dataStream.setByteOrder(XDataStream::LittleEndian); // LogLine(QString("Created data stream")); // if (fileName.contains(".xanim_raw")) { diff --git a/tools/compro/compro.pro b/tools/compro/compro.pro index 7b8472a..4c35d77 100644 --- a/tools/compro/compro.pro +++ b/tools/compro/compro.pro @@ -7,9 +7,9 @@ HEADERS += $$files($$PWD/*.h, true) FORMS += $$files($$PWD/*.ui, true) LIBS += \ - #-L$$PWD/../../third_party/devil_sdk/lib/ -lDevIL -lILU -lILUT \ - #-L$$PWD/../../third_party/zlib/lib/ -lzlib \ - #-L$$PWD/../../third_party/xbox_sdk/lib -lxcompress64 \ + -L$$PWD/../../third_party/devil_sdk/lib/ -lDevIL -lILU -lILUT \ + -L$$PWD/../../third_party/zlib/lib/ -lzlib \ + -L$$PWD/../../third_party/xbox_sdk/lib -lxcompress64 \ -L$$OUT_PWD/../../libs/ -lcore \ -L$$OUT_PWD/../../libs/ -lxassets\ -L$$OUT_PWD/../../libs/ -lcompression \ @@ -21,9 +21,9 @@ LIBS += \ -L$$OUT_PWD/../../libs/ -lzonefile INCLUDEPATH += \ - #$$PWD/../../third_party/devil_sdk/include/ \ - #$$PWD/../../third_party/zlib/include \ - #$$PWD/../../third_party/xbox_sdk/include \ + $$PWD/../../third_party/devil_sdk/include/ \ + $$PWD/../../third_party/zlib/include \ + $$PWD/../../third_party/xbox_sdk/include \ $$PWD/../../libs/core \ $$PWD/../../libs/compression \ $$PWD/../../libs/encryption \ @@ -35,9 +35,9 @@ INCLUDEPATH += \ $$PWD/../../libs/zonefile DEPENDPATH += \ - #$$PWD/../../third_party/devil_sdk/include/ \ - #$$PWD/../../third_party/zlib/include \ - #$$PWD/../../third_party/xbox_sdk/include \ + $$PWD/../../third_party/devil_sdk/include/ \ + $$PWD/../../third_party/zlib/include \ + $$PWD/../../third_party/xbox_sdk/include \ $$PWD/../../libs/core \ $$PWD/../../libs/compression \ $$PWD/../../libs/encryption \ diff --git a/tools/zentry/zentry.pro b/tools/zentry/zentry.pro index 636fa59..46d982e 100644 --- a/tools/zentry/zentry.pro +++ b/tools/zentry/zentry.pro @@ -9,9 +9,9 @@ HEADERS += $$files($$PWD/*.h, true) FORMS += $$files($$PWD/*.ui, true) LIBS += \ - #-L$$PWD/../../third_party/devil_sdk/lib/ -lDevIL -lILU -lILUT \ - #-L$$PWD/../../third_party/zlib/lib/ -lzlib \ - #-L$$PWD/../../third_party/xbox_sdk/lib -lxcompress64 \ + -L$$PWD/../../third_party/devil_sdk/lib/ -lDevIL -lILU -lILUT \ + -L$$PWD/../../third_party/zlib/lib/ -lzlib \ + -L$$PWD/../../third_party/xbox_sdk/lib -lxcompress64 \ -L$$OUT_PWD/../../libs/ -lcore \ -L$$OUT_PWD/../../libs/ -lxassets\ -L$$OUT_PWD/../../libs/ -lcompression \ @@ -23,9 +23,9 @@ LIBS += \ -L$$OUT_PWD/../../libs/ -lzonefile INCLUDEPATH += \ - #$$PWD/../../third_party/devil_sdk/include/ \ - #$$PWD/../../third_party/zlib/include \ - #$$PWD/../../third_party/xbox_sdk/include \ + $$PWD/../../third_party/devil_sdk/include/ \ + $$PWD/../../third_party/zlib/include \ + $$PWD/../../third_party/xbox_sdk/include \ $$PWD/../../libs/core \ $$PWD/../../libs/compression \ $$PWD/../../libs/encryption \ @@ -37,9 +37,9 @@ INCLUDEPATH += \ $$PWD/../../libs/zonefile DEPENDPATH += \ - #$$PWD/../../third_party/devil_sdk/include/ \ - #$$PWD/../../third_party/zlib/include \ - #$$PWD/../../third_party/xbox_sdk/include \ + $$PWD/../../third_party/devil_sdk/include/ \ + $$PWD/../../third_party/zlib/include \ + $$PWD/../../third_party/xbox_sdk/include \ $$PWD/../../libs/core \ $$PWD/../../libs/compression \ $$PWD/../../libs/encryption \