diff --git a/src/RSP.cpp b/src/RSP.cpp index 550a918f..83dc15b0 100644 --- a/src/RSP.cpp +++ b/src/RSP.cpp @@ -126,6 +126,7 @@ void RSP_ProcessDList() gSP.matrix.modelViewi = 0; gSP.status[0] = gSP.status[1] = gSP.status[2] = gSP.status[3] = 0; gSP.changed |= CHANGED_MATRIX | CHANGED_LIGHT | CHANGED_LOOKAT; + gSP.tri_num = 0; gDP.changed &= ~CHANGED_CPU_FB_WRITE; gDPSetTexturePersp(G_TP_PERSP); diff --git a/src/gDP.cpp b/src/gDP.cpp index c00eb8b9..1e3e7f8f 100644 --- a/src/gDP.cpp +++ b/src/gDP.cpp @@ -760,7 +760,8 @@ void gDPFillRectangle( s32 ulx, s32 uly, s32 lrx, s32 lry ) frameBufferList().setBufferChanged(f32(lry)); - DebugMsg( DEBUG_NORMAL, "gDPFillRectangle( %i, %i, %i, %i );\n", ulx, uly, lrx, lry ); + DebugMsg( DEBUG_NORMAL, "gDPFillRectangle #%i- #%i ( %i, %i, %i, %i );\n", gSP.tri_num, gSP.tri_num +1, ulx, uly, lrx, lry ); + gSP.tri_num += 2; } void gDPSetConvert( s32 k0, s32 k1, s32 k2, s32 k3, s32 k4, s32 k5 ) @@ -846,11 +847,12 @@ void gDPTextureRectangle(f32 ulx, f32 uly, f32 lrx, f32 lry, s32 tile, f32 s, f3 frameBufferList().setBufferChanged(lry); if (flip) - DebugMsg( DEBUG_NORMAL, "gDPTextureRectangleFlip( %f, %f, %f, %f, %i, %f, %f, %f, %f);\n", - ulx, uly, lrx, lry, tile, s, t, dsdx, dtdy ); + DebugMsg( DEBUG_NORMAL, "gDPTextureRectangleFlip #%i- #%i ( %f, %f, %f, %f, %i, %f, %f, %f, %f);\n", + gSP.tri_num, gSP.tri_num + 1, ulx, uly, lrx, lry, tile, s, t, dsdx, dtdy ); else - DebugMsg( DEBUG_NORMAL, "gDPTextureRectangle( %f, %f, %f, %f, %i, %i, %f, %f, %f, %f );\n", - ulx, uly, lrx, lry, tile, s, t, dsdx, dtdy ); + DebugMsg( DEBUG_NORMAL, "gDPTextureRectangle #%i- #%i ( %f, %f, %f, %f, %i, %i, %f, %f, %f, %f );\n", + gSP.tri_num, gSP.tri_num+1, ulx, uly, lrx, lry, tile, s, t, dsdx, dtdy ); + gSP.tri_num += 2; } void gDPFullSync() diff --git a/src/gSP.cpp b/src/gSP.cpp index e602c337..205a891e 100644 --- a/src/gSP.cpp +++ b/src/gSP.cpp @@ -56,6 +56,7 @@ void gSPFlushTriangles() (RSP.nextCmd != G_QUAD) ) { dwnd().getDrawer().drawTriangles(); + DebugMsg(DEBUG_NORMAL, "Triangles flushed;\n"); } } @@ -79,43 +80,46 @@ void gSPTriangle(s32 v0, s32 v1, s32 v2) { GraphicsDrawer & drawer = dwnd().getDrawer(); if ((v0 < INDEXMAP_SIZE) && (v1 < INDEXMAP_SIZE) && (v2 < INDEXMAP_SIZE)) { - if (drawer.isClipped(v0, v1, v2)) + if (drawer.isClipped(v0, v1, v2)) { + DebugMsg(DEBUG_NORMAL, "Triangle clipped (%i, %i, %i)\n", v0, v1, v2); return; + } drawer.addTriangle(v0, v1, v2); + DebugMsg(DEBUG_NORMAL, "Triangle #%i added (%i, %i, %i)\n", gSP.tri_num++, v0, v1, v2); } } void gSP1Triangle( const s32 v0, const s32 v1, const s32 v2) { + DebugMsg(DEBUG_NORMAL, "gSP1Triangle (%i, %i, %i)\n", v0, v1, v2); + gSPTriangle( v0, v1, v2); gSPFlushTriangles(); - - DebugMsg(DEBUG_NORMAL, "gSP1Triangle (%i, %i, %i)\n", v0, v1, v2); } void gSP2Triangles(const s32 v00, const s32 v01, const s32 v02, const s32 flag0, - const s32 v10, const s32 v11, const s32 v12, const s32 flag1 ) + const s32 v10, const s32 v11, const s32 v12, const s32 flag1 ) { + DebugMsg(DEBUG_NORMAL, "gSP2Triangle (%i, %i, %i)-(%i, %i, %i)\n", v00, v01, v02, v10, v11, v12); + gSPTriangle( v00, v01, v02); gSPTriangle( v10, v11, v12); gSPFlushTriangles(); - - DebugMsg(DEBUG_NORMAL, "gSP2Triangle (%i, %i, %i)-(%i, %i, %i)\n", v00, v01, v02, v10, v11, v12); } void gSP4Triangles(const s32 v00, const s32 v01, const s32 v02, - const s32 v10, const s32 v11, const s32 v12, - const s32 v20, const s32 v21, const s32 v22, - const s32 v30, const s32 v31, const s32 v32 ) + const s32 v10, const s32 v11, const s32 v12, + const s32 v20, const s32 v21, const s32 v22, + const s32 v30, const s32 v31, const s32 v32 ) { + DebugMsg(DEBUG_NORMAL, "gSP4Triangle (%i, %i, %i)-(%i, %i, %i)-(%i, %i, %i)-(%i, %i, %i)\n", + v00, v01, v02, v10, v11, v12, v20, v21, v22, v30, v31, v32); + gSPTriangle(v00, v01, v02); gSPTriangle(v10, v11, v12); gSPTriangle(v20, v21, v22); gSPTriangle(v30, v31, v32); gSPFlushTriangles(); - - DebugMsg(DEBUG_NORMAL, "gSP4Triangle (%i, %i, %i)-(%i, %i, %i)-(%i, %i, %i)-(%i, %i, %i)\n", - v00, v01, v02, v10, v11, v12, v20, v21, v22, v30, v31, v32); } gSPInfo gSP; diff --git a/src/gSP.h b/src/gSP.h index bcf6e8ab..f40414f6 100644 --- a/src/gSP.h +++ b/src/gSP.h @@ -136,6 +136,8 @@ struct gSPInfo u32 DMAIO_address; + u32 tri_num; + // CBFD u32 vertexNormalBase; f32 vertexCoordMod[16];