This commit is contained in:
parent
88b62048a1
commit
02213c2a69
6 changed files with 150 additions and 26 deletions
|
@ -256,7 +256,8 @@ int V=ThisTex.v+H;
|
||||||
|
|
||||||
Out.TPage=ThisTex.Tpage;
|
Out.TPage=ThisTex.Tpage;
|
||||||
Out.Clut=ThisTex.Clut;
|
Out.Clut=ThisTex.Clut;
|
||||||
Out.PolyCode=GPU_PolyFT3Code;
|
// Out.PolyCode=GPU_PolyFT3Code;
|
||||||
|
Out.PolyCode=GPU_PolyGT3Code;
|
||||||
|
|
||||||
if (In.TPageFlag)
|
if (In.TPageFlag)
|
||||||
{
|
{
|
||||||
|
@ -319,7 +320,8 @@ int V=ThisTex.v+H;
|
||||||
|
|
||||||
Out.TPage=ThisTex.Tpage;
|
Out.TPage=ThisTex.Tpage;
|
||||||
Out.Clut=ThisTex.Clut;
|
Out.Clut=ThisTex.Clut;
|
||||||
Out.PolyCode=GPU_PolyFT4Code;
|
// Out.PolyCode=GPU_PolyFT4Code;
|
||||||
|
Out.PolyCode=GPU_PolyGT4Code;
|
||||||
|
|
||||||
if (In.TPageFlag)
|
if (In.TPageFlag)
|
||||||
{
|
{
|
||||||
|
@ -393,9 +395,29 @@ int ListSize=OutTriList.size();
|
||||||
ParseVtx4BBox(OutVtxList[OutFace.P0]);
|
ParseVtx4BBox(OutVtxList[OutFace.P0]);
|
||||||
ParseVtx4BBox(OutVtxList[OutFace.P1]);
|
ParseVtx4BBox(OutVtxList[OutFace.P1]);
|
||||||
ParseVtx4BBox(OutVtxList[OutFace.P2]);
|
ParseVtx4BBox(OutVtxList[OutFace.P2]);
|
||||||
|
|
||||||
// Materials and other shit
|
// Materials and other shit
|
||||||
SetupUV(InFace,OutFace);
|
SetupUV(InFace,OutFace);
|
||||||
OutFace.OTOfs=InFace.OtOfs;
|
OutFace.OTOfs=InFace.OtOfs;
|
||||||
|
|
||||||
|
// RGB Shite
|
||||||
|
int ZOfs=+4*Scale;
|
||||||
|
int Z[3];
|
||||||
|
|
||||||
|
Z[0]=(OutVtxList[OutFace.P0].vz+ZOfs)/8;
|
||||||
|
Z[1]=(OutVtxList[OutFace.P1].vz+ZOfs)/8;
|
||||||
|
Z[2]=(OutVtxList[OutFace.P2].vz+ZOfs)/8;
|
||||||
|
|
||||||
|
for (int p=0; p<3; p++)
|
||||||
|
{
|
||||||
|
if (Z[p]<0 ) Z[p]=0;
|
||||||
|
if (Z[p]>15) Z[p]=15;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
OutFace.C0=Z[0]*4;
|
||||||
|
OutFace.C1=Z[1]*4;
|
||||||
|
OutFace.C2=Z[2]*4;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -425,6 +447,26 @@ int ListSize=OutQuadList.size();
|
||||||
// Materials and other shit
|
// Materials and other shit
|
||||||
SetupUV(InFace,OutFace);
|
SetupUV(InFace,OutFace);
|
||||||
OutFace.OTOfs=InFace.OtOfs;
|
OutFace.OTOfs=InFace.OtOfs;
|
||||||
|
// RGB Shite
|
||||||
|
int ZOfs=+4*Scale;
|
||||||
|
int Z[4];
|
||||||
|
|
||||||
|
Z[0]=(OutVtxList[OutFace.P0].vz+ZOfs)/8;
|
||||||
|
Z[1]=(OutVtxList[OutFace.P1].vz+ZOfs)/8;
|
||||||
|
Z[2]=(OutVtxList[OutFace.P2].vz+ZOfs)/8;
|
||||||
|
Z[3]=(OutVtxList[OutFace.P3].vz+ZOfs)/8;
|
||||||
|
|
||||||
|
for (int p=0; p<4; p++)
|
||||||
|
{
|
||||||
|
if (Z[p]<0 ) Z[p]=0;
|
||||||
|
if (Z[p]>15) Z[p]=15;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
OutFace.C0=Z[0]*4;
|
||||||
|
OutFace.C1=Z[1]*4;
|
||||||
|
OutFace.C2=Z[2]*4;
|
||||||
|
OutFace.C3=Z[3]*4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1099,6 +1099,8 @@ sVtx Max={-100,-100,-100};
|
||||||
Max.vx=__max(Max.vx,Out.vx);
|
Max.vx=__max(Max.vx,Out.vx);
|
||||||
Max.vy=__max(Max.vy,Out.vy);
|
Max.vy=__max(Max.vy,Out.vy);
|
||||||
Max.vz=__max(Max.vz,Out.vz);
|
Max.vz=__max(Max.vz,Out.vz);
|
||||||
|
// Out.rgb=(Out.vz+64)/8;
|
||||||
|
// printf("%i\n",Out.rgb);
|
||||||
fwrite(&Out,1,sizeof(sVtx),File);
|
fwrite(&Out,1,sizeof(sVtx),File);
|
||||||
}
|
}
|
||||||
printf("%i Vtx\t(%i Bytes)\n",ListSize,ListSize*sizeof(sVtx));
|
printf("%i Vtx\t(%i Bytes)\n",ListSize,ListSize*sizeof(sVtx));
|
||||||
|
|
|
@ -605,6 +605,7 @@ sSpriteAnim *ThisAnim=SpriteBank->AnimList+Anim;
|
||||||
Ft4->tpage=ThisNode->TPage;
|
Ft4->tpage=ThisNode->TPage;
|
||||||
Ft4->clut=PoolEntry->ActorGfx->Clut;
|
Ft4->clut=PoolEntry->ActorGfx->Clut;
|
||||||
setShadeTex(Ft4,1);
|
setShadeTex(Ft4,1);
|
||||||
|
setRGB0(Ft4,127,127,127);
|
||||||
addPrim(OtPtr+OtPos,Ft4);
|
addPrim(OtPtr+OtPos,Ft4);
|
||||||
// Set BBox
|
// Set BBox
|
||||||
// Sizes now depend on aspect corrected sizes, so get sizes back from poly
|
// Sizes now depend on aspect corrected sizes, so get sizes back from poly
|
||||||
|
@ -921,7 +922,7 @@ u32 const *XYList=(u32*)SCRATCH_RAM;
|
||||||
sTri *TList=&TriList[ThisElem->TriStart];
|
sTri *TList=&TriList[ThisElem->TriStart];
|
||||||
while (TriCount--)
|
while (TriCount--)
|
||||||
{
|
{
|
||||||
POLY_FT3 *ThisPrim=(POLY_FT3*)PrimPtr;
|
POLY_GT3 *ThisPrim=(POLY_GT3*)PrimPtr;
|
||||||
|
|
||||||
P0=XYList[TList->P0];
|
P0=XYList[TList->P0];
|
||||||
P1=XYList[TList->P1];
|
P1=XYList[TList->P1];
|
||||||
|
@ -930,7 +931,7 @@ u32 const *XYList=(u32*)SCRATCH_RAM;
|
||||||
gte_ldsxy1(P1);
|
gte_ldsxy1(P1);
|
||||||
gte_ldsxy2(P2);
|
gte_ldsxy2(P2);
|
||||||
|
|
||||||
setlen(ThisPrim, GPU_PolyFT3Tag);
|
setlen(ThisPrim, GPU_PolyGT3Tag);
|
||||||
ThisPrim->code=TList->PolyCode;
|
ThisPrim->code=TList->PolyCode;
|
||||||
gte_nclip_b(); // 8 cycles
|
gte_nclip_b(); // 8 cycles
|
||||||
|
|
||||||
|
@ -953,7 +954,7 @@ u32 const *XYList=(u32*)SCRATCH_RAM;
|
||||||
*(u32*)&ThisPrim->x1=P1; // Set XY1
|
*(u32*)&ThisPrim->x1=P1; // Set XY1
|
||||||
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
||||||
addPrim(ThisOT,ThisPrim);
|
addPrim(ThisOT,ThisPrim);
|
||||||
PrimPtr+=sizeof(POLY_FT3);
|
PrimPtr+=sizeof(POLY_GT3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -962,7 +963,7 @@ u32 const *XYList=(u32*)SCRATCH_RAM;
|
||||||
sQuad *QList=&QuadList[ThisElem->QuadStart];
|
sQuad *QList=&QuadList[ThisElem->QuadStart];
|
||||||
while (QuadCount--)
|
while (QuadCount--)
|
||||||
{
|
{
|
||||||
POLY_FT4 *ThisPrim=(POLY_FT4*)PrimPtr;
|
POLY_GT4 *ThisPrim=(POLY_GT4*)PrimPtr;
|
||||||
|
|
||||||
P0=XYList[QList->P0];
|
P0=XYList[QList->P0];
|
||||||
P1=XYList[QList->P1];
|
P1=XYList[QList->P1];
|
||||||
|
@ -972,7 +973,7 @@ u32 const *XYList=(u32*)SCRATCH_RAM;
|
||||||
gte_ldsxy1(P1);
|
gte_ldsxy1(P1);
|
||||||
gte_ldsxy2(P2);
|
gte_ldsxy2(P2);
|
||||||
|
|
||||||
setlen(ThisPrim, GPU_PolyFT4Tag);
|
setlen(ThisPrim, GPU_PolyGT4Tag);
|
||||||
ThisPrim->code=QList->PolyCode;
|
ThisPrim->code=QList->PolyCode;
|
||||||
gte_nclip_b(); // 8 cycles
|
gte_nclip_b(); // 8 cycles
|
||||||
|
|
||||||
|
@ -997,7 +998,7 @@ u32 const *XYList=(u32*)SCRATCH_RAM;
|
||||||
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
||||||
*(u32*)&ThisPrim->x3=P3; // Set XY3
|
*(u32*)&ThisPrim->x3=P3; // Set XY3
|
||||||
addPrim(ThisOT,ThisPrim);
|
addPrim(ThisOT,ThisPrim);
|
||||||
PrimPtr+=sizeof(POLY_FT4);
|
PrimPtr+=sizeof(POLY_GT4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,16 @@ sFlipTable FlipTable[4]=
|
||||||
},0<<31}
|
},0<<31}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
u8 RGBTable[16*4];
|
||||||
|
int RS=128;
|
||||||
|
int Ri=-6;
|
||||||
|
int GS=128;
|
||||||
|
int Gi=-6;
|
||||||
|
int BS=128;
|
||||||
|
int Bi=-6;
|
||||||
|
int AS=128;
|
||||||
|
int Ai=-6;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -98,12 +108,29 @@ CLayerTile3d::CLayerTile3d(sLevelHdr *LevelHdr,sLayerHdr *Hdr) : CLayerTile(Leve
|
||||||
VtxList=LevelHdr->VtxList;
|
VtxList=LevelHdr->VtxList;
|
||||||
VtxIdxList=LevelHdr->VtxIdxList;
|
VtxIdxList=LevelHdr->VtxIdxList;
|
||||||
|
|
||||||
|
|
||||||
#if defined(_SHOW_POLYZ_)
|
#if defined(_SHOW_POLYZ_)
|
||||||
Font=new ("PrimFont") FontBank;
|
Font=new ("PrimFont") FontBank;
|
||||||
Font->initialise( &standardFont );
|
Font->initialise( &standardFont );
|
||||||
Font->setOt( 0 );
|
Font->setOt( 0 );
|
||||||
Font->setTrans(1);
|
Font->setTrans(1);
|
||||||
#endif
|
#endif
|
||||||
|
for (int i=0; i<16; i++)
|
||||||
|
{
|
||||||
|
int R,G,B;
|
||||||
|
R=RS-(i*Ri);
|
||||||
|
G=GS-(i*Gi);
|
||||||
|
B=BS-(i*Bi);
|
||||||
|
if (R<0) R=0; else if (R>255) R=255;
|
||||||
|
if (G<0) G=0; else if (G>255) G=255;
|
||||||
|
if (B<0) B=0; else if (B>255) B=255;
|
||||||
|
|
||||||
|
RGBTable[(i*4)+0]=R;
|
||||||
|
RGBTable[(i*4)+1]=G;
|
||||||
|
RGBTable[(i*4)+2]=B;
|
||||||
|
RGBTable[(i*4)+3]=0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -236,6 +263,33 @@ void CLayerTile3d::think(DVECTOR &MapPos)
|
||||||
RenderH=SCREEN_TILE3D_HEIGHT;
|
RenderH=SCREEN_TILE3D_HEIGHT;
|
||||||
else
|
else
|
||||||
RenderH=MapHeight-MapXY.vy;
|
RenderH=MapHeight-MapXY.vy;
|
||||||
|
|
||||||
|
#if defined(__USER_daveo__)
|
||||||
|
if (AS!=-1)
|
||||||
|
{
|
||||||
|
RS=GS=BS=AS;
|
||||||
|
}
|
||||||
|
if (Ai!=-1)
|
||||||
|
{
|
||||||
|
Ri=Gi=Bi=Ai;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i=0; i<16; i++)
|
||||||
|
{
|
||||||
|
int R,G,B;
|
||||||
|
R=RS-(i*Ri);
|
||||||
|
G=GS-(i*Gi);
|
||||||
|
B=BS-(i*Bi);
|
||||||
|
if (R<0) R=0; else if (R>255) R=255;
|
||||||
|
if (G<0) G=0; else if (G>255) G=255;
|
||||||
|
if (B<0) B=0; else if (B>255) B=255;
|
||||||
|
|
||||||
|
RGBTable[(i*4)+0]=R;
|
||||||
|
RGBTable[(i*4)+1]=G;
|
||||||
|
RGBTable[(i*4)+2]=B;
|
||||||
|
RGBTable[(i*4)+3]=0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -386,7 +440,7 @@ s16 TCount=0,QCount=0;
|
||||||
// --- Render Tri's -------------
|
// --- Render Tri's -------------
|
||||||
while (TriCount--)
|
while (TriCount--)
|
||||||
{
|
{
|
||||||
POLY_FT3 *ThisPrim=(POLY_FT3*)PrimPtr;
|
POLY_GT3 *ThisPrim=(POLY_GT3*)PrimPtr;
|
||||||
|
|
||||||
P0=XYList[TList->P0];
|
P0=XYList[TList->P0];
|
||||||
P1=XYList[TList->P1];
|
P1=XYList[TList->P1];
|
||||||
|
@ -395,13 +449,14 @@ s16 TCount=0,QCount=0;
|
||||||
gte_ldsxy1(P1);
|
gte_ldsxy1(P1);
|
||||||
gte_ldsxy2(P2);
|
gte_ldsxy2(P2);
|
||||||
|
|
||||||
setlen(ThisPrim, GPU_PolyFT3Tag);
|
setlen(ThisPrim, GPU_PolyGT3Tag);
|
||||||
ThisPrim->code=TList->PolyCode;
|
ThisPrim->code=TList->PolyCode;
|
||||||
gte_nclip_b(); // 8 cycles
|
gte_nclip_b(); // 8 cycles
|
||||||
|
|
||||||
setShadeTex(ThisPrim,1);
|
setShadeTex(ThisPrim,1);
|
||||||
|
|
||||||
#if defined(_SHOW_POLYZ_)
|
#if defined(_SHOW_POLYZ_)
|
||||||
if (ShowPolyz) {setShadeTex(ThisPrim,0);setRGB0(ThisPrim,127,0,0);}
|
if (ShowPolyz) {setShadeTex(ThisPrim,0);setRGB0(ThisPrim,127,0,0); setRGB1(ThisPrim,255,0,0); setRGB2(ThisPrim,255,0,0);}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
T0=*(u32*)&TList->uv0; // Get UV0 & TPage
|
T0=*(u32*)&TList->uv0; // Get UV0 & TPage
|
||||||
|
@ -413,25 +468,35 @@ s16 TCount=0,QCount=0;
|
||||||
gte_stopz(&ClipZ);
|
gte_stopz(&ClipZ);
|
||||||
ThisOT=OtPtr+TList->OTOfs;
|
ThisOT=OtPtr+TList->OTOfs;
|
||||||
ClipZ^=FTab->ClipCode;
|
ClipZ^=FTab->ClipCode;
|
||||||
TList++;
|
|
||||||
if (ClipZ<0)
|
if (ClipZ<0)
|
||||||
{
|
{
|
||||||
*(u32*)&ThisPrim->x0=P0; // Set XY0
|
*(u32*)&ThisPrim->x0=P0; // Set XY0
|
||||||
*(u32*)&ThisPrim->x1=P1; // Set XY1
|
*(u32*)&ThisPrim->x1=P1; // Set XY1
|
||||||
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
||||||
addPrim(ThisOT,ThisPrim);
|
addPrim(ThisOT,ThisPrim);
|
||||||
PrimPtr+=sizeof(POLY_FT3);
|
// lighting
|
||||||
|
setShadeTex(ThisPrim,0);
|
||||||
|
T0=*(u32*)&RGBTable[TList->C0];
|
||||||
|
T1=*(u32*)&RGBTable[TList->C1];
|
||||||
|
T2=*(u32*)&RGBTable[TList->C2];
|
||||||
|
*(u32*)&ThisPrim->r0=T0;
|
||||||
|
*(u32*)&ThisPrim->r1=T1;
|
||||||
|
*(u32*)&ThisPrim->r2=T2;
|
||||||
|
ThisPrim->code=TList->PolyCode;
|
||||||
|
|
||||||
|
PrimPtr+=sizeof(POLY_GT3);
|
||||||
#if defined(_SHOW_POLYZ_)
|
#if defined(_SHOW_POLYZ_)
|
||||||
TCount++;
|
TCount++;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
TList++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- Render Quads -----------
|
// --- Render Quads -----------
|
||||||
while (QuadCount--)
|
while (QuadCount--)
|
||||||
{
|
{
|
||||||
POLY_FT4 *ThisPrim=(POLY_FT4*)PrimPtr;
|
POLY_GT4 *ThisPrim=(POLY_GT4*)PrimPtr;
|
||||||
|
|
||||||
P0=XYList[QList->P0];
|
P0=XYList[QList->P0];
|
||||||
P1=XYList[QList->P1];
|
P1=XYList[QList->P1];
|
||||||
|
@ -441,13 +506,13 @@ s16 TCount=0,QCount=0;
|
||||||
gte_ldsxy1(P1);
|
gte_ldsxy1(P1);
|
||||||
gte_ldsxy2(P2);
|
gte_ldsxy2(P2);
|
||||||
|
|
||||||
setlen(ThisPrim, GPU_PolyFT4Tag);
|
setlen(ThisPrim, GPU_PolyGT4Tag);
|
||||||
ThisPrim->code=QList->PolyCode;
|
ThisPrim->code=QList->PolyCode;
|
||||||
gte_nclip_b(); // 8 cycles
|
gte_nclip_b(); // 8 cycles
|
||||||
|
|
||||||
setShadeTex(ThisPrim,1);
|
setShadeTex(ThisPrim,1);
|
||||||
#if defined(_SHOW_POLYZ_)
|
#if defined(_SHOW_POLYZ_)
|
||||||
if (ShowPolyz) {setShadeTex(ThisPrim,0);setRGB0(ThisPrim,0,127,0);}
|
if (ShowPolyz) {setShadeTex(ThisPrim,0);setRGB0(ThisPrim,0,127,0);setRGB1(ThisPrim,0,255,0); setRGB2(ThisPrim,0,255,0); setRGB3(ThisPrim,0,255,0);}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
T0=*(u32*)&QList->uv0; // Get UV0 & TPage
|
T0=*(u32*)&QList->uv0; // Get UV0 & TPage
|
||||||
|
@ -461,20 +526,31 @@ s16 TCount=0,QCount=0;
|
||||||
gte_stopz(&ClipZ);
|
gte_stopz(&ClipZ);
|
||||||
ThisOT=OtPtr+QList->OTOfs;
|
ThisOT=OtPtr+QList->OTOfs;
|
||||||
ClipZ^=FTab->ClipCode;
|
ClipZ^=FTab->ClipCode;
|
||||||
QList++;
|
|
||||||
if (ClipZ<0)
|
if (ClipZ<0)
|
||||||
{
|
{
|
||||||
*(u32*)&ThisPrim->x0=P0; // Set XY0
|
*(u32*)&ThisPrim->x0=P0; // Set XY0
|
||||||
*(u32*)&ThisPrim->x1=P1; // Set XY1
|
*(u32*)&ThisPrim->x1=P1; // Set XY1
|
||||||
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
*(u32*)&ThisPrim->x2=P2; // Set XY2
|
||||||
*(u32*)&ThisPrim->x3=P3; // Set XY3
|
*(u32*)&ThisPrim->x3=P3; // Set XY3
|
||||||
|
// Lighting
|
||||||
|
setShadeTex(ThisPrim,0);
|
||||||
|
T0=*(u32*)&RGBTable[QList->C0];
|
||||||
|
T1=*(u32*)&RGBTable[QList->C1];
|
||||||
|
T2=*(u32*)&RGBTable[QList->C2];
|
||||||
|
T3=*(u32*)&RGBTable[QList->C3];
|
||||||
|
*(u32*)&ThisPrim->r0=T0;
|
||||||
|
*(u32*)&ThisPrim->r1=T1;
|
||||||
|
*(u32*)&ThisPrim->r2=T2;
|
||||||
|
*(u32*)&ThisPrim->r3=T3;
|
||||||
|
ThisPrim->code=QList->PolyCode;
|
||||||
|
|
||||||
addPrim(ThisOT,ThisPrim);
|
addPrim(ThisOT,ThisPrim);
|
||||||
PrimPtr+=sizeof(POLY_FT4);
|
PrimPtr+=sizeof(POLY_GT4);
|
||||||
#if defined(_SHOW_POLYZ_)
|
#if defined(_SHOW_POLYZ_)
|
||||||
QCount++;
|
QCount++;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
QList++;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
|
@ -63,7 +63,7 @@ struct sShortXYZ
|
||||||
//***************************************************************************
|
//***************************************************************************
|
||||||
struct sVtx
|
struct sVtx
|
||||||
{
|
{
|
||||||
s16 vx, vy, vz, pad;
|
s16 vx, vy, vz, rgb;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
bool operator==(sVtx const &v1) {return((vx==v1.vx) && (vy==v1.vy) && (vz==v1.vz));}
|
bool operator==(sVtx const &v1) {return((vx==v1.vx) && (vy==v1.vy) && (vz==v1.vz));}
|
||||||
|
@ -108,7 +108,9 @@ struct sTri
|
||||||
s16 OTOfs; // 2
|
s16 OTOfs; // 2
|
||||||
u8 PolyCode; // 1
|
u8 PolyCode; // 1
|
||||||
u8 Pad; // 1
|
u8 Pad; // 1
|
||||||
}; // 20
|
u8 C0,C1,C2;
|
||||||
|
u8 Pad2;
|
||||||
|
}; // 24
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
struct sQuad
|
struct sQuad
|
||||||
|
@ -126,7 +128,8 @@ struct sQuad
|
||||||
s16 OTOfs; // 2
|
s16 OTOfs; // 2
|
||||||
u8 PolyCode; // 1
|
u8 PolyCode; // 1
|
||||||
u8 Pad; // 1
|
u8 Pad; // 1
|
||||||
}; // 24
|
u8 C0,C1,C2,C3;
|
||||||
|
}; // 28
|
||||||
|
|
||||||
|
|
||||||
struct sPoly
|
struct sPoly
|
||||||
|
|
Loading…
Add table
Reference in a new issue