diff --git a/RDP.cpp b/RDP.cpp index 4b5fdef8..cca7531f 100644 --- a/RDP.cpp +++ b/RDP.cpp @@ -118,8 +118,11 @@ void RDP_LoadTile( u32 w0, u32 w1 ) _SHIFTR( w1, 0, 12 ) ); // lrt } +static u32 lbw0, lbw1; void RDP_LoadBlock( u32 w0, u32 w1 ) { + lbw0 = w0; + lbw1 = w1; gDPLoadBlock( _SHIFTR( w1, 24, 3 ), // tile _SHIFTR( w0, 12, 12 ), // uls _SHIFTR( w0, 0, 12 ), // ult @@ -127,6 +130,11 @@ void RDP_LoadBlock( u32 w0, u32 w1 ) _SHIFTR( w1, 0, 12 ) ); // dxt } +void RDP_RepeatLastLoadBlock() +{ + RDP_LoadBlock(lbw0, lbw1); +} + void RDP_SetTileSize( u32 w0, u32 w1 ) { gDPSetTileSize( _SHIFTR( w1, 24, 3 ), // tile diff --git a/RDP.h b/RDP.h index 6ad87e6a..957ca388 100644 --- a/RDP.h +++ b/RDP.h @@ -14,6 +14,7 @@ extern RDPInfo RDP; void RDP_Init(); void RDP_Half_1(u32 _c); void RDP_ProcessRDPList(); +void RDP_RepeatLastLoadBlock(); #endif