*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.
* Auto defect and cache ucode functions and vertex stride
* Speed up custom ucode detection, avoid string detection and return as soon as there's a match
* Do not attempt to auto defect ucodes that lack a version string
*Alot of code clean up, now custom ucodes should be easier to add (everything related its now in Microcode.cpp)
*Bound checking for InitMicrocode and make sure to set a default ucode version if there's a failure
*Hardcode code_size to avoid issues when hashing ucodes when games set an invalid size, ex Conker
*Simpler way to clear the ucode cache
*Always include gNormalInstructionName even on release builds, the memory we saved wasn't worth the hassle to keep it out of release builds..
*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
*Avoid division by zero in the viewport code and properly handle PAL scaling // taken from bazel and Vita port
*Restored bound checks for AddTri , TestVerts and ModifyVertexInfo
*Refactored CPU and VFPU vtx pipelines to make it easier to maintain
*Combined UpdateWorldProject and PokeWorldProject
*Added proper null check to LoadTextureDirectly
*Correct bad pointer casting for optimized copy in Yoshi_Memrect and fixed non optimized copy
*Store n64 ram offset rather than the system memory for Fast TMEM (thanks strmnnrmn!). Fixes random crashes when using the non accurate path for TMEM emulation
*Make sure to reset tmem block for fast TMEM even when accurate TMEM its used since we fall back to the non accurate path when games set line to 0
*Ignore load tile for accurate TMEM when line its 0, this was causing a crash in Paper Mario which sets line = 0
*Fixed debug build when DAEDALUS_DEBUG_DISPLAYLIST its defined, also I enabled it for debug builds
*Fixed ptr->u32 cast in DLParser_DumpVtxInfoDKR, it was causing a compilation error for me)
*Removed unsused zlib from third_party, also added webby
*Fixed possible overflow of ucode entries, also spread entries to avoid always overriding the last entry
*Fixed out of bounds assert for microcode data
*Properly check both microcode data and code base for ucode cache
*Removed gLastUcodeBase, potentially caused ucodes not to be loaded correctly. This was legacy code before we had the ucode cache
*Fixed 32bit pointer assumption on DLParser_SetCustom
[+] Glover needs rounding mode (PSP)
[!} Fixed crash in Paper Mario when Mem opt is enabled
[!} Removed unused entry from PatchSymbol struct
[-] Remove DAEDALUS_IS_LEGACY (all dead code is removed by the compiler anyways)