Commit graph

76 commits

Author SHA1 Message Date
wally4000
4a35201f22 Specify if a variable is unused to silence compiler. 2024-06-20 12:24:05 +10:00
Wally4000
b6eff3b826 Hurray it lives. 2023-10-11 18:47:51 +11:00
Carlos R
b39e6d119e *Do not set the texture tile and scale when texture its disabled, also handle properly when the texture scale its 0, DKR does this
*Convert segment address to a physical address (fixes an ancient bug discovered by recent changes to RDPSegAddr (fixes a crash in DKR)
2020-07-11 15:29:31 -07:00
Carlos R
3c1a74d1b7 *Properly mask down RDPSegAddr, also removed now redundant masks
*Added more bound checks
*Removed compiler workaround in MatrixFromN64FixedPoint and GBI1_DL, I checked and latest PSP toolchain optimizes this correctly now
2020-07-10 15:16:07 -07:00
Carlos R
da6b5132b3 *Proper implementation for Branchz and added Zelda implementation, thanks Rinnegatamante
*Optimization in CPU_CheckStuffToDo
2020-07-10 13:30:21 -07:00
Carlos R
3d1184f990 *Removed vertex stride from the ucode cache, now vertex stride its applied at compile time for all microcodes
*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.
2020-07-04 17:37:52 -07:00
Carlos R
ad31af0d97 Optimized CullDl
*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
2020-07-03 19:46:49 -07:00
Carlos R
6733dbc19d F3D improvements
*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)
2020-07-02 22:37:56 -07:00
Carlos R
f70c0180b5 Prep work to add more custom ucode implementations
*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
2020-07-02 09:15:45 -07:00
Carlos R
4e48f03020 Fix some uninitialised states in the renderer which was breaking lightning in debug builds. Thanks StrmnNrmn! 2020-07-01 22:44:17 -07:00
Carlos R
ef3752e3d2 Implement F3DBETA ucode (this an early version of Fast3D)
*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.
2020-06-28 23:13:42 -07:00
Carlos R
ee22e26003 More bound checks
*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
2020-06-27 13:53:06 -07:00
=
3707c880c2 Revert move to HWFog, we'll re-add this at a later date. 2020-05-28 09:38:37 +10:00
Rinnegatamante
839825dce3 Move to hw fog usage. 2020-04-27 15:11:35 +02:00
Ben Slater
6a725bf99e Removed a bunch of asserts / debug options from release build, stabs a bunch of compiler warnings 2019-05-03 17:43:44 +10:00
Wally
30eca8117b yShuffle some files around
Added -lc to build script to use fast memcpy

A#
2019-03-18 15:45:59 +09:00
Ben Slater
c562b76641 *Clean build from StrmnNrmns repo 2019-02-27 17:04:51 +11:00
mrbenslater
2e6cf17baa Move more debug stuff out of Release 2019-01-21 19:58:47 +11:00
salvy
351e16a38c [!] Fixed PC build
[!] No longer needed to clear tnl flags
[~] Removed unused variable
2013-09-25 12:31:58 -07:00
CornN64
bfd94b655c [!] Some WIP for vertex fog on PSP (functions on many games that uses the standard TnL. It uses a second pass to blend in the fog)
[-] Reverted some changes from previous commit since it broke texturing in some games and CBFD lights.
2013-09-21 18:31:48 +02:00
salvy
9e88e012b5 [!] Always set SkipIfZero when LigtCol is set
[!] Refactored MV_LIGHT
[!] Removed invalid light direction check (This was for the PSP, I don't think is required)
2013-08-19 08:18:22 +01:00
salvy
7320eaef08 [!] Make sure to clear TnL flags, also rename it from TnLPSP to TnLMode 2013-08-19 08:18:22 +01:00
salvy
20ca36cb1a [!] Fixed light in Majora's Mask 2013-06-13 00:41:30 -07:00
Paul Holden
49a06ed319 [~] Make header guards consistently use FULL_PATH_TO_FILE_H_, with script 2013-06-04 22:02:30 +01:00
salvy
4954df3879 [!} Fixed DK going through walls (Note: 64bit compares didn't impact performance on PSP, Note2: this has to be fixed on the PSP dynarec too)
[!] Fixed audio in DK64 and use our memcpy_byteswap (W32)
[~] Some small clean ups

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1725 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-30 07:32:59 +00:00
salvy
593e7115f5 [~] Fixed assert, also removed misleading comment since issue was index buffer was too small which been fixed
[!] Use integers for TexRect_Last_Legion

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1614 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-26 07:44:52 +00:00
salvy
581072f5e2 [!] Fixed MSVC warnings
[!] 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
2013-04-18 22:05:31 +00:00
salvy
8db83457a6 [!] Fixed Glover crashing in W32 build
[!] Fixed speed sync in Glover
[~] Removed DLParser_SetTImg_SOTE/DL, they are no longer needed

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1583 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-15 03:53:36 +00:00
salvy
38da6cd456 [~] Opps gGeometryMode has to be global (sorry!)
[!] Added blender for Donald Duck (W32/OSX)
[~] Some small changes

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1502 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-01 05:32:31 +00:00
salvy
58216d067f [~] gGeometryMode can be local (saves quiet bit of ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1501 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-01 04:00:16 +00:00
strmnnrmn
ca48a42999 [+] Rewrite DLDebug_DumpRDPOtherMode so that we can see the settings that were actually applied. Without this the code just dumps the entire othermode state every time a single setting is changed, which makes the debug output hard to follow
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1479 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 10:21:03 +00:00
salvy
1d61dd19e6 [!] Need to set depth state in Draw2Texture (Fixes logo in Wipeout)
[-] 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
2013-03-23 03:33:13 +00:00
strmnnrmn
759314e347 [!] Fix Cruisin USA - ModifyVertexInfo args were transposed
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1368 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-23 02:00:59 +00:00
salvy
ff44ce2c0e [!] Some clean ups to deprecate poking the projection stack, and some other small clean ups
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1251 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-10 22:50:41 +00:00
salvy
8df469af4c [~] Clean ups to previous commit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1236 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-10 16:30:28 +00:00
salvy
88ba769ea0 [!] The projection mat stack is 1 matrix deep, so it cannot be popped/pushed.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1235 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-10 11:06:58 +00:00
strmnnrmn
3afdce3310 [~] Rename RDP_SetOtherMode to DLDebug_DumpRDPOtherMode, and make it use the passed arguments
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1211 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-09 13:59:13 +00:00
strmnnrmn
1e9e443f79 [*] Get rid of the PSPRenderer singleton, and implement as a simple gRenderer pointer. This gets rid of the PSPRenderer typename everywhere, which will make the next step easier (adding an OSXRenderer, and making that and PSPRenderer derive from BaseRenderer. Also in this commit, fixed a bunch of mixed tabs/spaces and formatting.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1107 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-02 15:46:18 +00:00
salvy
f40c2467c1 [-] Opps! Reverted previous commit
[~] Some minor clean ups

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@940 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-04 05:24:50 +00:00
salvy
ec720ad37c [!] Optimized Tri ucodes (convert MicroCodeCommand reference to pointer to easily access next command)
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
2013-02-04 03:44:48 +00:00
salvy
2bc64156e6 [!] Some clean ups
[!] Made guRotateF and volatile memory platform independent 
[!] Check for invalid reads/writes to PIF

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@870 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-20 21:50:27 +00:00
strmnnrmn
0e698c385d Fix all the remaining mixed newlines
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@852 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-12-08 14:21:04 +00:00
strmnnrmn
d7d116642a Fix more trailing whitespace (files with CRLF line endings?)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@825 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-28 23:23:11 +00:00
strmnnrmn
767e4efd9c Fix line endings
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@822 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-11-28 22:11:57 +00:00
salvy
3e7389df90 [!] Simplified when setting TlutAddress
[!] 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
2012-11-07 19:37:58 +00:00
salvy
4f68cee2d2 [!] Optimized Dlist loop (Now it only checks the Dlist counter when needed, also counter resets in go)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@780 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-10-15 10:00:54 +00:00
salvy
8f5e06f6a5 [!} Some clean ups and simplifies
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@653 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-01 19:20:18 +00:00
salvy
dbef2f7350 [!] Simplified RDP_MoveMemLight (~30 ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@637 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-01 22:19:46 +00:00
Salvy
aaa3660f51 [!] Simplified Light Colour (VFPU TnL needs to be updated!!)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@567 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-01-02 00:39:41 +00:00
Salvy
e2ce6d1d2f [!] Some more optimizations in copying data with vectors (~20 ops)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@566 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-31 01:49:51 +00:00