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

839 Commits

Author SHA1 Message Date
Sergey Lipskiy
ef7ad9a549 Correct force clamp condition in OGLRender::drawTexturedRect
Fixed sun in Perfect Dark, which was broken after commit ba89dce8512:
Remove textures coordinates swap in case of lower coordinate is larger than higher one.
2015-05-13 10:18:53 +06:00
Sergey Lipskiy
d9e9955668 Implement texture packs path selection. 2015-05-13 10:18:52 +06:00
Sergey Lipskiy
7178145462 Fix mipmap when mipmap_lvl == 0.
Fixed AeroFighters Assault: texture issue on the plane (in game and menu) #118
2015-05-13 10:18:51 +06:00
Sergey Lipskiy
eb42f8fe46 Code cleanup: remove unused gDP.texRect struct and related code. 2015-05-13 10:18:50 +06:00
Sergey Lipskiy
fa1ef45101 Fix texture coordinates for texrect flip.
Fixed text in SM64 (E), issue #259
2015-05-13 10:18:50 +06:00
Sergey Lipskiy
f266e91981 Remove textures coordinates swap in case of lower coordinate is larger than higher one.
It is legacy code. Not sure which issue it intended to fix.
2015-05-13 10:18:49 +06:00
Sergey Lipskiy
b7d5819ec6 Implement video restart on settings change. 2015-05-13 10:18:48 +06:00
Sergey Lipskiy
9d422acae3 Enable NoN for Perfect Dark ucode.
That fixed menu screen in Perfect Dark, #260. Otherwise background polygons are z-clipped.
2015-05-13 10:18:48 +06:00
Sergey Lipskiy
12658040f6 Fix int to bool conversion. 2015-05-13 10:18:47 +06:00
Sergey Lipskiy
1e6684014e Add GL_DEPTH_CLAMP state caching. 2015-05-13 10:18:46 +06:00
Sergey Lipskiy
08f4278892 Correct F3D_Tri4. 2015-05-13 10:18:46 +06:00
Sergey Lipskiy
bc34838db6 Fix pause screen in Conker BFD.
How it work:
- content of previous main frame buffer is copied into depth buffer area.
- CPU applies blur to th eimage in depth buffer area.
- Depth buffer is used as background texture for pause screen.

Solution:
1. Do not use depth buffer FBO as texture. Image must be load from RDRAM.
2. If current color image is depth image and previous color buffer is used as
texture for it, copy content of color image in RDRAM to depth image area.
2015-05-13 10:18:45 +06:00
Sergey Lipskiy
62aa6495ec Revert "Remove redundunt glTexParameter calls."
Commit was based on wrong assumption that glTexParameters sets parameter
for current texture. Actually it sets parameter for current TMU.
glTextureParameter sets parameter per texture, but it is OGL 4.5

This reverts commit 0526d284ef377981cf45bf764dd8c0e7ea571f6e.
2015-05-13 10:18:44 +06:00
Sergey Lipskiy
43eac44f91 Correct RDRAMtoFrameBuffer::CopyFromRDRAM :
fuls and fult for gSP.textureTile[0] should be zero.
2015-05-13 10:18:44 +06:00
Sergey Lipskiy
58799e767f Fix scissor in FrameBufferList::renderBuffer for windowed mode.
Fixed top of the screen being cut.
2015-05-13 10:18:43 +06:00
Sergey Lipskiy
59e86b7794 Fix DepthBufferToRDRAM::CopyToRDRAM when multisampling is on. 2015-05-13 10:18:42 +06:00
Sergey Lipskiy
d06befb4eb Add a hack for Mario Golf replays.
Replays works only if depth buffer FBO is NOT used as texture
because CPU copies color frame buffer for replays into depth buffer area.
Pause screen in Zelda OOT is copied into depth buffer area and it works only
id depth buffer FBO IS used as texture. Thus it is impossible to write general code
for both situations.
2015-05-13 10:18:42 +06:00
Sergey Lipskiy
6b4b7ae35c Add ucode for Power League Baseball 64 to the list of specialMicrocodes.
Fixed issue #105
2015-05-13 10:18:41 +06:00
Sergey Lipskiy
4faa52e76d Disable noise emulation if enableNoise option is off. 2015-05-13 10:18:40 +06:00
Sergey Lipskiy
46e6f3c28c Correct VI.width calculation when hEnd is zero. 2015-05-13 10:18:40 +06:00
Sergey Lipskiy
2d099dda4c Correct VI.real_height calculation in interlaced mode. 2015-05-13 10:18:39 +06:00
Sergey Lipskiy
4155accfee Correct noise dithering. 2015-05-13 10:18:38 +06:00
Sergey Lipskiy
769ab7ac40 Remove async frame buffer reads - it can cause glitches because of wrong frame read.
Example: F-1 PolePosition 99 car tuning menu.
2015-05-13 10:18:38 +06:00
Sergey Lipskiy
296476405a Fix alpha test for COPY cyclemode.
Fixed text in menu in F-1 Pole Position.
2015-05-13 10:18:37 +06:00
Sergey Lipskiy
4fd702bfe3 Disable color and alpha dither in COPY and FILL cyclemode. 2015-05-13 10:18:36 +06:00
Sergey Lipskiy
e3f51aae25 Correct texture size calculation: use mask size only if mask != 0.
Fixed backgrounds in F-1 Pole Position.
2015-05-13 10:18:36 +06:00
Sergey Lipskiy
2fb7477420 Correct creation of auxilary combiners. 2015-05-13 10:18:35 +06:00
Sergey Lipskiy
917225d783 Move RSP.DList increment from RSP_ProcessDList() to OGLVideo::swapBuffers().
Now frame count works for LLE mode.
2015-05-13 10:18:34 +06:00
Sergey Lipskiy
8bd1b96e3c Correct FrameBufferToRDRAM.
Fixed out of memory writes in 1080 replay.
2015-05-13 10:18:34 +06:00
Sergey Lipskiy
d4264e18a4 Don't create frame buffer with zero height.
Fixed load from savestates in 1080.
2015-05-13 10:18:33 +06:00
Sergey Lipskiy
8e546e6f4b Fix compilation errors when TXFILTER_DLL defined 2015-05-13 10:18:32 +06:00
Sergey Lipskiy
b55656b615 Revert useless commit "Fix bug with ucode loaded each frame."
This reverts commit 62445eb9a1de0c2ddbb4d7744fe90aea7941ded0.
2015-05-13 10:18:32 +06:00
Sergey Lipskiy
7b730096b3 Fix monochrome frame buffers when FSAA is on.
Fixed shadows in Mario Tennis.
2015-05-13 10:18:31 +06:00
Sergey Lipskiy
526dfe0846 RunConfig() returns true if user pushed OK. 2015-05-13 10:18:30 +06:00
Sergey Lipskiy
2b87c0e131 Correct horisontal bounds for input and output buffers in FrameBufferList::renderBuffer
Fixed wrong right bound in Mario Tennis and other games.
2015-05-13 10:18:30 +06:00
Sergey Lipskiy
3c9ad5f730 Correct frame buffer - texture bounds intersection check.
Fixed bottom of background image in Dr.Mario
2015-05-13 10:18:29 +06:00
Sergey Lipskiy
b085593d2a Major fixes in RDRAMtoFrameBuffer::CopyFromRDRAM.
Fixed Dr.Mario pills
2015-05-13 10:18:28 +06:00
Sergey Lipskiy
d0073fe3a3 Don't clear frame buffer area when copyFromRDRAM option is on. 2015-05-13 10:18:28 +06:00
Sergey Lipskiy
406a4d3165 Create auxilary combiners in Combiner_Init(). 2015-05-13 10:18:27 +06:00
Sergey Lipskiy
6f40fa430b Fix frame buffer content check in CheckForFrameBufferTexture.
Frame buffer area is cleared in FrameBufferList::saveBuffer.
If scissor does not equal to frame buffer size, clear is incorrect.
Solution: clear frame buffer area without scissoring.

Fixed background in Dr.Mario
2015-05-13 10:18:26 +06:00
Sergey Lipskiy
cd0ec661ba Corrected bNeedUpdate condition in VI_UpdateScreen()
Fixed Quake II underwater, issue #229
2015-05-13 10:18:26 +06:00
Sergey Lipskiy
07599ad5ab Simplify vertex_shader. 2015-05-13 10:18:25 +06:00
Sergey Lipskiy
b353028969 Fixed fillrect drawing. 2015-05-13 10:18:24 +06:00
Sergey Lipskiy
f946a82e38 Fix replay in Mario Golf:
replay is copied to a area, which is used for depth buffer.
Added check that found frame buffer is not depth buffer.
2015-05-13 10:18:24 +06:00
Sergey Lipskiy
0efce8bb17 Fix FrameBufferToRDRAM::CopyToRDRAM when multisampling is on. 2015-05-13 10:18:23 +06:00
Sergey Lipskiy
65b6de3f19 Correct VI.height calculation - make it even.
Fixed New Tetris work with FB on.
2015-05-13 10:18:22 +06:00
Sergey Lipskiy
67e26af187 Revert "Use VI.real_height to make copy to RDRAM more safe."
Wrong solution - causes bottom black line when copied image is used as
background.

This reverts commit 2186d12c9230be48b1824aaabbee56f135f54d4d.
2015-05-13 10:18:21 +06:00
Sergey Lipskiy
9a3298eed2 Fix texture address calculation in texturedRectBGCopy.
Fixed warp in Yoshi Story.
2015-05-13 10:18:21 +06:00
Sergey Lipskiy
2da470cf3a Make Yoshi Story compatible with FB emulation. 2015-05-13 10:18:20 +06:00
Sergey Lipskiy
bbeb149df4 Correct FrameBufferList::removeBuffer - set m_pCurrent to NULL if current color buffer isd removed. 2015-05-13 10:18:19 +06:00