Commit graph

973 commits

Author SHA1 Message Date
strmnnrmn
3d4a0c0e95 [~] stdafx cleanup: Move utility macros to Utility/Macros.h and directly include where needed.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1691 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-18 16:05:35 +00:00
strmnnrmn
b05c813379 [~] Huge filename cleanup. Use IO::Filename rather than char [MAX_PATH] or char [MAX_PATH+1]. Add an IO::Path::Assign. Use IO::Path::Assign/Combine rather than strcpy/strcat/snprintf. Remove MAX_PATH (everything should use the constant in IO.h if required, then we can make this platform specific)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1686 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-18 16:04:55 +00:00
strmnnrmn
7f9cad2892 [~] The struct packing headers shouldn't be needed. They only did anything on W32, and the struct are defined in a way that they're packed correctly anyway.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1682 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-18 16:04:11 +00:00
strmnnrmn
43d924db7e [~] Remove the hacky pspgu.h files for W32/OSX/Linux and just define this stuff directly in SysGL/GL.h (slightly less hacky).
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1681 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-18 16:04:05 +00:00
salvy
77a7230975 [~] Some clean ups to previous commit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1676 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-14 20:23:49 +00:00
salvy
af19d1a3b3 [+] WIP: Implemented CPU framebuffer, used by demos, Donald Duck, Rayman 2 The Great Escape, and probably other games (currently W32/OSX only)
[-] Reverted small constant opt from previous commit, is not worth breaking when EPak isn't used

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1675 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-14 20:11:42 +00:00
salvy
7277157047 [!} Constant optimizations for CFragment::Execute (this is a very hot function!, saves 4 ops)
[~] Keep bitfields for texrect, since compiler generates much better asm when it converts int to float (~30 ops)
[!] Clean ups to gu oshle patches, also optimize when reading from stack since is always physical memory

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1674 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-11 06:37:21 +00:00
Corn
ff6d1fb666 [!] Simplified scissor test in TexRect
[!] Fixed some formating in Dlist debug

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1673 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-10 12:44:40 +00:00
strmnnrmn
36ff15fc82 [~] qwords is unused
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1665 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-06 18:19:53 +00:00
strmnnrmn
3a54224d9e [~] Ensure num_vertices is non-zero
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1663 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-05-06 18:19:38 +00:00
strmnnrmn
9821e04675 [~] Update DAEDALUS_ASSERT and other macros that are compiled out of release builds so that they 'consume' their arguments without generating any code. This removed the need for use() in a lot of places.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1655 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-27 16:37:17 +00:00
strmnnrmn
2124d090e0 [~] Fix OSX warnings
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1649 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-27 16:36:41 +00:00
strmnnrmn
17eaff6696 [~] FillChecker is unused
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1648 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-27 16:36:31 +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
bfda2d99b0 [!] Fixed sky in glover and tearing in flying dragon (Note: Sky needs work, while is displayed correctly now, in unscaled mode goes offscreen)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1601 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-22 07:49:14 +00:00
Corn
c329fbd011 [!] reverted some unneeded conversions/bloat
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1600 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-19 20:25:01 +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
strmnnrmn
6dee6e84c0 [-] Strip out a load of unused debug console cruft
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1566 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 09:24:36 +00:00
strmnnrmn
19114ebe39 [!] GetTextureDimension should look at clamp_s/clamp_t too
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1552 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-12 08:35:06 +00:00
Corn
292ef28e08 [!] Make TexRectFlip also use integers in DLparser
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1544 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-08 19:05:05 +00:00
salvy
0801ac4ed2 [!] Moved W32 audio thread back to main thread (was causing various issues, it would be nice to get it working though)
[!] Fixed issue in pixel shader that was affecting my video card (Thx StrmnNrmn)
[!] Copy n64.psh to build dir (W32)

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1543 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-08 01:43:40 +00:00
Corn
69a757ffdb [!] do TexRect calculations in integer mode
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1542 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 18:43:22 +00:00
strmnnrmn
7d15afb0bf [~] Add some comments for othermode flags
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1534 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 11:29:26 +00:00
strmnnrmn
fcc2a59778 [+] Lots of pixel shader iteration. Mostly 'perfect' now, still some problems with bilinear filtering on Mario Kart, California Speed
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1533 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 11:29:20 +00:00
strmnnrmn
40370e86ee [~] Runtime toggle for emulating mirroring via the texture.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1532 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 11:29:12 +00:00
strmnnrmn
6a10ac65f5 [*] Pass integer texture coords through to TexRect and TexRectFlip. For OpenGL, the shader now also passes the texture offset/scale as integer args
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1531 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 11:29:02 +00:00
strmnnrmn
f93a375049 [~] Pass integer texture coords to the OpenGL renderer.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1530 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 11:28:51 +00:00
strmnnrmn
b359dc1c1f [~] Remove mAlphaThreshold - this is just the blend colour alpha
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1527 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 11:28:31 +00:00
strmnnrmn
c8fca866b2 [~] Add a couple of comments to highlight fall-through in switch statements
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1526 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-07 11:28:23 +00:00
strmnnrmn
df8cb86d4d [~] Use stdint.h for all types.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1520 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-05 09:23:02 +00:00
strmnnrmn
76c721ebf8 [~] Increment current_instruction_count after checking instruction_limit - now what's displaying in the dldebugger is actually applied.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1517 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-05 09:17:26 +00:00
strmnnrmn
ae6a33fb87 [~] Don't bother storing mTexShift - just look it up using mActiveTile index as needed
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1515 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-05 09:17:13 +00:00
strmnnrmn
8b1e304f22 [!] Fix texrect on Super Smash Bros
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1510 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-04 10:49:58 +00:00
strmnnrmn
9c83d36e2e [~] Keep track of which tile is bound to slot 0/1
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1509 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-04 10:49:51 +00:00
strmnnrmn
82486a7f25 [!] Fix Zelda spinny N intro - T1 textures were being loaded with dimensions of 32x0, 1x32 etc
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1507 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-04 10:49:37 +00:00
strmnnrmn
9918fd3b5b [~] Move the 'even left' assert to LoadTile - this is the point it would be significant (tile SL/TL can be changed between load and render to translate tiles
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1506 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-04-04 10:49:30 +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
78dbaece5e [~] Pass the displaylist depth through to DL_BEGIN_INSTR - use it to indent the output nicely
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1492 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-31 09:45:29 +00:00
salvy
f808f72cee [~} More clean ups
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1491 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-31 04:52:43 +00:00
strmnnrmn
be4b36f0b4 [~] Move FillColour and BlendColour to BaseRenderer. Going to use these in the dLDebugger
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1488 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 15:11:34 +00:00
strmnnrmn
f81780b098 [~] Tidy up DLParser_ProcessDList a little - the DL_ macros are no-ops when DAEDALUS_DEBUG_DISPLAYLIST is not set, so move a block of logic outside the ifdefs.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1487 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 15:11:26 +00:00
strmnnrmn
efc7427cd0 [~] Seems a bit lame to only check that the DList PC is in bounds when the Display list debugger is running. Just assert in the fetch function
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1486 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 15:11:20 +00:00
strmnnrmn
9d69fdce4c [~] DLDebug - add separate functions to DLDebugOutput to track the beginning/end of each instruction. On the webdebug version we wrap each instruction in a named span so we can identify it easily. Also, I removed the PC arg from the regular DL dump because it was always given the same value (I think it should have been gDlistStack.address[gDlistStackPointer], but it's not particularly useful and clutters the dump output)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1485 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 15:11:13 +00:00
strmnnrmn
ea528cdbba [~] Add a DLDebugOutput class. I'm going to override this so that the webdebug version can wrap individual instructions in HTML tags.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1484 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 15:11:03 +00:00
strmnnrmn
dec9abfd9d [~] current_instruction_count was being incremented too early
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1483 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 15:10:52 +00:00
strmnnrmn
c8c9581251 [+] Add another DL_PF macro which doesn't automatically append newlines
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1482 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 15:10:45 +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
strmnnrmn
8154cf34e9 [~] Add accessors for prim/env/fog colours
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1478 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-30 10:20:56 +00:00