1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00
Commit Graph

899 Commits

Author SHA1 Message Date
Sergey Lipskiy
ff085b0cbf Correct RDRAMtoFrameBuffer::CopyFromRDRAM 2015-05-13 10:19:34 +06:00
Sergey Lipskiy
a84006ce5f Force load texture level 0 when mip-mapping is not used.
This solves problem with court texture in Mario Tennis:
the game set mipmap level, texture loaded with mip-maps but color combiner does not use LOD factor.
Fetch with texture2D loads texel from best suiting level, but we need only level 0.
2015-05-13 10:19:34 +06:00
Sergey Lipskiy
35ea6f28fb Load mip-mapped texture only when LOD emulation is enabled. 2015-05-13 10:19:33 +06:00
Sergey Lipskiy
2edc1bb8e0 Always use mask size first when calculate texture size.
Fixed court texture in Mario Tennis.
2015-05-13 10:19:32 +06:00
Sergey Lipskiy
f5ca94b1ef Remove frame buffer validity check by buffer address written at the origin
of the buffer in RDRAM. This is unreliable method.
2015-05-13 10:19:32 +06:00
Sergey Lipskiy
c6083851fc Add special texrect function for Conker BFD shadow.
Problem:
shadow is rendered into an auxilary buffer. At the end of rendering the buffer is
renders to itself as texture, using texrect command. FBO work in undefined
when it's color attachment is used as input and output. As result the
shadow is incorrect.

Thus, it's better to skip that texrect. Hack!
2015-05-13 10:19:31 +06:00
Sergey Lipskiy
fce5639a85 Add special blend mode for Conker BFD dynamic shadows 2015-05-13 10:19:30 +06:00
Sergey Lipskiy
4fd545225b Remove hack from gDPSetTile 2015-05-13 10:19:29 +06:00
Sergey Lipskiy
0b6cf6d107 Fix typo in Combiner_Init() 2015-05-13 10:19:29 +06:00
Sergey Lipskiy
b5e2413a49 Update fb isues list 2015-05-13 10:19:28 +06:00
Sergey Lipskiy
8945e13e76 Correct VI.width calculation.
Fixed screen distortion in Excite Bike 64
2015-05-13 10:19:28 +06:00
Sergey Lipskiy
d65cdbdefe Correct validity check for 8bit frame buffers.
Buffer is valid if number of wrong pixels is less than 1%

That is made for Jet Force Gemini, which writes to the area of auxilary buffers,
so strict check does not work.
2015-05-13 10:19:27 +06:00
Sergey Lipskiy
4bc815c6ec Reset config.generalEmulation.hacks on new rom load. 2015-05-13 10:19:26 +06:00
Sergey Lipskiy
cbdacb58d8 Don't call FrameBufferList::_findBuffer until buffer's actual height is not detected.
Otherwise wrong buffers can be removed.

Fixed auxilary buffers creation in Pokemon Stadium menu.
2015-05-13 10:19:25 +06:00
Sergey Lipskiy
5384e189c4 Don't discard frame buffers creation when VI.height == 0
Fixed auxilary color buffers creation in Pokemon Stadium.
2015-05-13 10:19:25 +06:00
Sergey Lipskiy
66f7af5a59 Always correct height for auxilary buffers. 2015-05-13 10:19:24 +06:00
Sergey Lipskiy
51ea2868d5 Correct condition for buffers removal in VI_UpdateSize() :
remove buffers only when interlace mode changed.

Fixed wrong buffers removal in Pokemon Stadium.
2015-05-13 10:19:23 +06:00
Sergey Lipskiy
4ff13a30e6 Correct FrameBufferList::removeBuffers : remove all buffers with given width.
Fixed issue with Pokemon Stadium, which set zero VI height before
interlace mode switch.
2015-05-13 10:19:23 +06:00
Sergey Lipskiy
3ac4f2ddb1 Fix crash in FrameBufferList::renderBuffer when m_pCurrent is NULL 2015-05-13 10:19:22 +06:00
Sergey Lipskiy
4e7a5a6b9e Do not remove auxilary color buffers on interlaced mode switch.
Fixed removal of color buffers with pokemon portraits in Pokemon Stadium 2.
2015-05-13 10:19:21 +06:00
Sergey Lipskiy
ea3e81540b Correct FrameBuffer_ActivateBufferTexture:
use buffer's scale instead of scale currently set in video.

Fixed pokemon portraits size in Pokemon Stadium 2.
2015-05-13 10:19:21 +06:00
Sergey Lipskiy
3da54c5616 Re-init frame buffer if its new height is larger than its current one. 2015-05-13 10:19:20 +06:00
Sergey Lipskiy
dfabb7d105 Replace FrameBufferList::isFboMode() check by FrameBufferList::getCurrent() != NULL 2015-05-13 10:19:19 +06:00
Sergey Lipskiy
ea4d320809 Remove obsolete validity check for found frame buffer in loadBGImage.
Fixed pause screen in Zelda MM.
2015-05-13 10:19:18 +06:00
Sergey Lipskiy
f4e1afa30c Split hack_noDepthFrameBuffers on two options:
hack_noDepthFrameBuffers and hack_blurPauseScreen.

hack_blurPauseScreen is for games, which copy color buffer into depth buffer area,
blur it and use as background image. Examples: Conker BFD, Mickey USA

hack_noDepthFrameBuffers is for games, which never use depth buffer area as texture
Example: F-1 Pole Position, Mario Golf.
2015-05-13 10:19:18 +06:00
Sergey Lipskiy
e9b406d134 Add special frame buffer flag for Ogre Battle backgrounds.
It should protect such buffers from being overwritten by FrameBufferToRDRAM::CopyToRDRAM.
2015-05-13 10:19:17 +06:00
Sergey Lipskiy
2f83ab8963 Correct code for 'noDepthBuffers' situation.
Enable 'noDepthBuffers' for "MICKEY USA".

Fixed pause screen in "MICKEY USA"
2015-05-13 10:19:16 +06:00
Sergey Lipskiy
f41bd934ef Disable RDRAM clear for depth frame buffers. 2015-05-13 10:19:16 +06:00
Sergey Lipskiy
f9f3dc6ede Fix m_isDepthBuffer flag set. 2015-05-13 10:19:15 +06:00
Sergey Lipskiy
189b594118 Reset buffer's m_RdramCrc and m_validityChecked on buffer change. 2015-05-13 10:19:14 +06:00
Sergey Lipskiy
4a9e7cdc1f New FB validity check based on checksum of RDRAM content. 2015-05-13 10:19:14 +06:00
Sergey Lipskiy
0b0adb2f5e Add Jeremy McGrath Supercross 2000 to setDepthClearColor()
Fixed depth issue in #152
2015-05-13 10:19:13 +06:00
Sergey Lipskiy
4be1a379e4 Load 16bit CI as IA88.
Fixed Clay Fighter Sculptor's Cut: no 3d at boot screen #205
2015-05-13 10:19:12 +06:00
Sergey Lipskiy
43c4a72a46 Fix depth_compare_shader 2015-05-13 10:19:11 +06:00
Sergey Lipskiy
0d8b4e89fa Limit calculated VI.height by maximal value.
Fixed screen size in Lode Runner, #186
2015-05-13 10:19:11 +06:00
Sergey Lipskiy
a63e42a7be Fix (hack!) blending in Paper Mario intro.
Fixed issue #269
2015-05-13 10:19:10 +06:00
Sergey Lipskiy
d9f3785b1d Move Config::resetToDefaults() to Config.cpp
Set default value for textureFilter.txPath as %plugin path%/hires_texture
2015-05-13 10:19:09 +06:00
Sergey Lipskiy
7368949d30 Correct tooltip for Texture Pack Path option. 2015-05-13 10:19:09 +06:00
Sergey Lipskiy
d08ed3d287 Disable texture dumping for now. 2015-05-13 10:19:08 +06:00
Sergey Lipskiy
a0ce2f93a4 Separate plugin path and texture pack path.
Texture pack searched by texture pack path.
Texture cache saved in %plugin path%/cache
2015-05-13 10:19:07 +06:00
Sergey Lipskiy
7ade71eb55 Replace backslash by forward slash in plugin's path. 2015-05-13 10:19:07 +06:00
Sergey Lipskiy
ae8eef93a0 Disable language selection controls for now. 2015-05-13 10:19:06 +06:00
Sergey Lipskiy
91e6d2beb1 Fix texture pack path init:
always set texture pack path no matter is it empty or not.
2015-05-13 10:19:05 +06:00
Sergey Lipskiy
78d8ea6506 Mupen64Plus: Save config file after section removal. 2015-05-13 10:19:05 +06:00
Sergey Lipskiy
4bea76d962 Remove texture.forceBilinear option.
Add texture.bilinearMode option:
- standard hardware bilinear filter
- N64 3 point filter
2015-05-13 10:19:04 +06:00
Sergey Lipskiy
cd3a1b3d4d Fix depth scale uniforms for LLE mode.
Fixed issue #272
2015-05-13 10:19:03 +06:00
Sergey Lipskiy
61b079c53e Rewrite VI width and height calculation.
Fixed NFL Quarterback Club 2000. More testing needed.
2015-05-13 10:19:02 +06:00
Sergey Lipskiy
1e5b7def3d Replace DEPTH_CLEAR_COLOR constant by game dependant variable.
Several games use non-standart value for depth buffer clear.
This value must be known beforehand for correct emulation.

Fixed NFL Quarterback Club 2000: gfx screwed up #148
2015-05-13 10:19:02 +06:00
Sergey Lipskiy
cf11996d0e Implement 3 point filtering.
Code ported from mupen64plus-libretro.
2015-05-13 10:19:01 +06:00
Sergey Lipskiy
b0e86e2cbc Limit frame buffer height by VI.height if buffer width == VI.width
Fixed flicker in Bomberman 2 map screen. The game sets scissor.lry = 250 here,
while VI.height is 240. Actual frame buffer height is 240. Making it 250
causes wrong selection of that buffer on VI update.
2015-05-13 10:19:00 +06:00