Print revision in version flag and better GfxWorld struct

This commit is contained in:
momo5502 2016-10-09 21:39:50 +02:00
parent 778df28d0f
commit b0dabb8848
2 changed files with 31 additions and 9 deletions

View File

@ -14,6 +14,7 @@ namespace Components
if (Flags::HasFlag("version")) if (Flags::HasFlag("version"))
{ {
printf("IW4x " VERSION " (built " __DATE__ " " __TIME__ ")\n"); printf("IW4x " VERSION " (built " __DATE__ " " __TIME__ ")\n");
printf("%d\n", REVISION);
ExitProcess(0); ExitProcess(0);
} }

View File

@ -219,7 +219,9 @@ namespace Game
union union
{ {
GfxImageLoadDef* loadDef; GfxImageLoadDef* loadDef;
#ifdef __cplusplus
IDirect3DTexture9* texture; IDirect3DTexture9* texture;
#endif
}; };
char mapType; // 5 is cube, 4 is 3d, 3 is 2d char mapType; // 5 is cube, 4 is 3d, 3 is 2d
@ -2445,6 +2447,16 @@ namespace Game
int childrenOffset; int childrenOffset;
}; };
struct GfxCellTree
{
GfxAabbTree *aabbTree;
};
struct GfxCellTreeCount
{
int aabbTreeCount;
};
struct GfxLightGridEntry struct GfxLightGridEntry
{ {
unsigned __int16 colorsIndex; unsigned __int16 colorsIndex;
@ -2483,12 +2495,10 @@ namespace Game
char castsSunShadow; char castsSunShadow;
}; };
struct GfxCullGroup struct GfxSurfaceBounds
{ {
float mins[3]; Bounds bounds;
float maxs[3]; char flags;
int surfaceCount;
int startSurfIndex;
}; };
struct GfxDrawSurfFields struct GfxDrawSurfFields
@ -2517,7 +2527,7 @@ namespace Game
unsigned __int16 *sortedSurfIndex; unsigned __int16 *sortedSurfIndex;
GfxStaticModelInst *smodelInsts; GfxStaticModelInst *smodelInsts;
GfxSurface *surfaces; GfxSurface *surfaces;
GfxCullGroup *cullGroups; // actually GfxSurfaceBounds (24), but not important right now GfxSurfaceBounds *surfacesBounds;
GfxStaticModelDrawInst *smodelDrawInsts; GfxStaticModelDrawInst *smodelDrawInsts;
GfxDrawSurf *surfaceMaterials; GfxDrawSurf *surfaceMaterials;
unsigned int *surfaceCastsSunShadow; unsigned int *surfaceCastsSunShadow;
@ -2752,8 +2762,8 @@ namespace Game
GfxSky* skies; GfxSky* skies;
char unknown1[0x18]; char unknown1[0x18];
GfxWorldDpvsPlanes dpvsPlanes; //The following rely on the count in this GfxWorldDpvsPlanes dpvsPlanes; //The following rely on the count in this
char *unknown4; GfxCellTreeCount *aabbTreeCounts;
GfxAabbTree *aabbTree; // Actually GfxCellTree GfxCellTree *aabbTrees;
GfxCell *cells; GfxCell *cells;
GfxWorldDraw worldDraw; GfxWorldDraw worldDraw;
GfxLightGrid lightGrid; GfxLightGrid lightGrid;
@ -2774,7 +2784,18 @@ namespace Game
GfxShadowGeometry *shadowGeom; GfxShadowGeometry *shadowGeom;
GfxLightRegion *lightRegion; GfxLightRegion *lightRegion;
char pad[68]; char pad[24];
GfxImage* unknownImage;
char* unknown6;
char* unknown7;
char* unknown8;
char* unknown9;
char* unknown10;
char* unknown11;
char* unknown12;
char* unknown13;
char* unknown14;
char* unknown15;
GfxWorldDpvsStatic dpvs; GfxWorldDpvsStatic dpvs;
GfxWorldDpvsDynamic dpvsDyn; GfxWorldDpvsDynamic dpvsDyn;