*Added more bound checks
*Removed compiler workaround in MatrixFromN64FixedPoint and GBI1_DL, I checked and latest PSP toolchain optimizes this correctly now
*Removed GBI0_Tri4 (F3D microcode doesn't support it)
*Moved GBI0_Tri4 implementation to Ucode_GE.h since this is actually part of the custom microcode used by GE and PD.
*Fixed culling for Aydin Chronicles (first and last param its reversed)
*Avoid doing a bound check twice for testverts, the display list would get culled regardless
*Return early when Dlist its visible
PS: CLIP_TEST_FLAGS its meaningless right now since all clipping flags are checked, we can remove it after testing further if that's ok or if we need to relax the clipping flags for No Near Plane microcodes
*Implemented CullDL for F3D microcode, small speed up for games that use this, ex Wave Race 64
*Fixed max light constant for F3D/EX/2
*Continue WIP to optimize the vertex indices at compile time (F3D its done now)
*Refactored RDP_MoveMemLight to prevent duplicate code and simplified it for adding custom lighting impls. Also added bound checks for invalid light index and addresses
*Added hash for Rogue Squadron (this a custom GBI1 ucode), currently unimplemented
*Do not hardcode GBI commands when patching custom ucode tables
*Fixed DKR's index mtx address, thanks Rinnegatamante for pointing out this error
*Remove SOTE ucode implementation, this was wrong. Now both SOTE and WRUS will use the Beta ucode
*Fix typo from previous commit that caused that changed ucode hash.
*Added WIP to set the vertex stride at compile time to allow the compiler to do further optimizations when the stride its a power of two. Currently its only done for the new F3DBETA ucode as a test.
*Implemented IsVertexInfoValid to add proper bound checking our vertextinfo
*Implemented IsAddressValid to add proper bound checking when referencing an N64 ram address, currently its only used for DMA_Tri_DKR
*Fixed bug bugged addresses in DKR ucode
*Removed now redundant bound checks, some of these were either wrong pr inconsistent
[!] Optimization for Sprite2D, only update the counter individually when next command doesn't match
[!] Fixed and optimized guNormalize_Rugrats (Still can't find any game that uses this errg)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1599 42e9bfbe-799a-4a2d-bad1-236e862a387a
[-] Don't update shademodel ( I don't think this required, and was breaking tiger's honey hunt)
[!] Fixed crash in Wetrix
[!] Removed unused hacks
[~] Banjo K needs tlut hack for fast tmem (Fixes Nintendo logo)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1369 42e9bfbe-799a-4a2d-bad1-236e862a387a
Note: We could avoid this convention by declaring MicroCodeCommand as pointer instead of reference, but this causes the compiler to no longer optimize our bitfields with (ext/inst)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@939 42e9bfbe-799a-4a2d-bad1-236e862a387a
[!] Moved out gVertexStride outside the Tris loop
[!] Call directly TlutAddress (saves function call)
[!] Bring back recolour white texture (Is needed by Krby's clouds)
[~] Code clean ups etc
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@803 42e9bfbe-799a-4a2d-bad1-236e862a387a