Commit graph

962 commits

Author SHA1 Message Date
strmnnrmn
8c223d0680 [~] Fix CopyLine etc - forgot that we need to unswap the words. Should be able to improve this (copy as byteswapped, do fiddling in the texture decoder)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1329 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:40:10 +00:00
strmnnrmn
8415e94977 [~] No need for cont input args here
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1326 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:39:51 +00:00
strmnnrmn
e068c9da98 [~] Rename mRecentTexture* to mBoundTexture*
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1325 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:39:41 +00:00
strmnnrmn
648d139117 [~] Not we can move the code to set up mRecentTexture earlier (hopefully into RDPStateManager::GetUpdatedTextureDescriptor
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1324 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:39:33 +00:00
strmnnrmn
7e9a6f8eb0 [*] Remove mTileScale. No need to cache this, as we can always figure it out from the native texture (less state to keep in sync is better)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1323 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:39:27 +00:00
strmnnrmn
3f197704c5 [~] Tidy
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1321 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:39:10 +00:00
strmnnrmn
575bc9fd2e [~] Rename GetTextureDescriptor to GetUpdatedTextureDescriptor, and remove mutable
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1320 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:39:04 +00:00
strmnnrmn
545e2c4221 [~] Tidy UpdateTexture a little
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1319 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:56 +00:00
strmnnrmn
dc91fe455b [~] We can store raw pointers to CachedTextures, and save a little overhead.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1318 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:50 +00:00
strmnnrmn
7061f3d30a [-] CachedTexture::Touch isn't used
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1317 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:43 +00:00
strmnnrmn
c72b2ce625 [~] STextureInfoSnapshot can use a CNativeTexture
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1316 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:35 +00:00
strmnnrmn
240081f9ff [~] Don't store a separate mpWhiteTexture per CachedTexture. Make it a separate attribute of the key (TextureInfo) and cache it directly.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1315 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:26 +00:00
strmnnrmn
231b248979 [~] CTextureCache::GetOrCreateTexture can return a CNativeTexture now.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1314 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:17 +00:00
strmnnrmn
af29743eab [~] Keep track of NativeTextures, not CachedTextures. I'm going to introduce a new CachedTile type for OSX, and it's simpler for the renderer to only know about the native texture type (common to CachedTexture and CachedTile)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1313 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:38:09 +00:00
strmnnrmn
f0c89b1874 [~] Make CachedTexture::UpdateIfNecessary private. Always do this when returning from CTextureCache::GetOrCreateTexture (the mFrameLastUsed check in IsFresh ensure that this does nothing if called many times in a frame)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1311 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:37:50 +00:00
strmnnrmn
7855c69a86 [~] ConvertTexture on OSX isn't quite ready for OSX RGBA8888 only
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1310 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:37:41 +00:00
strmnnrmn
d3678e876d [~] Specify DAEDALUS_ACCURATE_TMEM in the OSX build. MAybe should be in the OSX Platform.h
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1309 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:37:34 +00:00
strmnnrmn
bc2c3207d5 [!] Fix bug in new tmem emulation code
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1308 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:37:27 +00:00
strmnnrmn
d04bd5b013 [~] Shuffle around the arguments to ConvertTexture a bit. Define TextureDestInfo in the cpp file, and just plumb though the required arguments directly. All this so I can try to add a ConvertTile function which decodes directly from emulated TMEM.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1307 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-20 00:37:19 +00:00
salvy
dcde132975 [~] I don't know why aligning a local variable for mat didn't work well, use a global for now..
[~] Fixed debug build

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1302 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-18 07:42:21 +00:00
Corn
d0fc3b0364 [!] Outer rounding in ConvertN64ToScreen() is needed for proper scaling of textures and screen
[!] More fixes to DKR Dlist commands

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1301 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-17 18:13:30 +00:00
Corn
68b1060f33 [!] Improved matrix handling for DKR (skipping the need for some globals)
[!] Reduced the stack to a single matrix for project matrices 
[!] Made some viewport stuff OSX only

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1300 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-16 21:37:39 +00:00
salvy
942fda9c4a [!] Use a temp mat when multiplying matrices..We could overflow since we were using the next stack slot for storage which mMatStackSize aware, also gcc gives better asm using a local variable :)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1299 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-15 02:29:18 +00:00
salvy
42f2ab8f17 [!] Optimized sprite2D, it assumes base is always followed by flip and draw, and executes as many sprite2d ucodes as possible
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1298 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-15 02:03:57 +00:00
salvy
0dfba36356 [!] Conker's fix was good for banjo tooie too, just needed to be done earlier
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1297 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-15 00:24:24 +00:00
salvy
2b3a0edb63 [+] Added hack to remove fillrects that cover screen in banjo tooie
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1296 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-14 18:48:38 +00:00
strmnnrmn
2bb9864821 [~] Always use RGBA 8888 textures for OSX
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1293 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:59 +00:00
strmnnrmn
488d105cc4 [~] Move some RDP state to RDPStateManager. RDP.cpp is pretty defunct now...might make more sense to rename RDPStateManager to RDP and reduce typing :)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1292 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:52 +00:00
strmnnrmn
2b4774c449 [~] Fix a warning in Ucode_Sprite2D.h - Sprite2DInfo might not be initialised if the dlist is crazy.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1291 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:41 +00:00
strmnnrmn
9a1a238d55 [~] Whitespace
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1290 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:34 +00:00
strmnnrmn
e0f3eca6ba [+] New accurate tmem emulation code for OSX (disabled for now)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1289 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:28 +00:00
strmnnrmn
a805284bb2 [*] Move LoadBlock/LoadTile/LoadTlut to RDPStateManager - code should be functionally identical
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1288 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:21 +00:00
strmnnrmn
0b2b394fc1 [~] Tidy RDPStateManager.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1287 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:14 +00:00
strmnnrmn
c8171c4fe3 [~] For consistency, keep loadlut lrs/lrt etc in fixed point format
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1286 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:08 +00:00
strmnnrmn
429304b148 [~] Don't assert about tlut load texture size - a few roms don't set this correctly, and 16bpp is implicit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1285 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:54:02 +00:00
strmnnrmn
9f816c5ef6 [~] Rename kCheckHashBeforeUpdate to kUpdateTexturesEveryFrame
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1284 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:53:55 +00:00
strmnnrmn
125243eb0a [~] Various CachedTexture::HasExpired checks aren't needed when we update textures every frame.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1283 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:53:49 +00:00
strmnnrmn
640c5568ae [~] On OSX, don't bother checking the texture hash before updating.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1282 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:53:39 +00:00
strmnnrmn
d5319b75e4 [~] Set mLastFrameToUpdate to gRDPFrame + x rather than doing += x. Probably doesn't matter, but this way means we're less reliant on mLastFrameToUpdate being set correctly to gRDPFrame elsewhere
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1281 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:53:32 +00:00
strmnnrmn
6a11f5a4d4 [~] Rename gTextureMemory to gPaletteMemory
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1277 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:53:05 +00:00
strmnnrmn
a20512169b [~] Fix an assert in DLParser_S2DEX_ObjLoadTxtr
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1276 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:58 +00:00
strmnnrmn
4c7520b103 [~] Give DoConversion a better name - ConvertTexture
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1275 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:51 +00:00
strmnnrmn
a3ebd92100 [~] Tidy ConvertTexture.cpp - drop the p_ prefixes and give vars consistent names throughout
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1274 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:44 +00:00
strmnnrmn
5fed5d198d [~] Liney uppy
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1273 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:37 +00:00
strmnnrmn
fbbd913457 [~] Tidy ConvertImage.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1272 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:31 +00:00
strmnnrmn
2c32785b8b [~] Move the logic for gConversionTable lokups to ConvertTexture.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1271 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:24 +00:00
strmnnrmn
928b5b75bd [~] Move SelectNativeFormat to the top of the file
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1270 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:17 +00:00
strmnnrmn
088cfd061b [~] Move Clamp/Recolour/Mirror functions out of CachedTexture.cpp and into a separate TextureTransform.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1269 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:11 +00:00
strmnnrmn
0d11586c30 [~] Simplify CachedTexture::Initialise
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1268 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:52:03 +00:00
strmnnrmn
5fe227b674 [~] Move DumpTexture to the end of the file.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1267 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-12 20:51:56 +00:00