Sergey Lipskiy
11e87a46d8
Add template RAII class to change-restore arbitrary parameters: ValueKeeper Use it in TexrectDrawer::draw()
2019-02-02 18:34:08 +07:00
fzurita
18a735dfe6
Fix some sign issues with RdpUpdate
2019-01-28 18:34:23 +07:00
Sergey Lipskiy
132b06fd2f
Correct VI image cut calculations, see VI fixes #1981
2019-01-20 19:32:39 +07:00
Sergey Lipskiy
864e635ca4
Correct RdpUpdate::update()
...
Fixed Black screen on smash bros #1987
2019-01-20 18:52:16 +07:00
fzurita
20a7b75100
Android makefile updates for 64 bit
2019-01-15 14:14:23 +07:00
Sergey Lipskiy
31e2c7e11a
Correct lighting for CBFD.
...
Code refactoring.
2019-01-13 01:07:20 +07:00
Sergey Lipskiy
b036a8296e
Fix OverscanBuffer::draw.
2019-01-13 01:07:06 +07:00
Sergey Lipskiy
1e84099521
Correct mapping of RDP frame buffer to output one.
...
Code of RdpUpdate::update is based on angrylion's rdp_update().
Main visible difference: VI cuts several pixels on left and right of original image.
Cite from angrylion's commit message:
"rdp: new tests revealed the shocking truth:
the VI aggresssively and regardlessly of any data alignment specificities
cuts off either 7 or 8 pixels closest to h_start and h_end, so that nothing
ever appears on the screen unless (h_end - h_start) is 16 pixels or greater
(this removes marginal garbage graphics on the far right in Mario Tennis,
Turok 2 Seeds of Evil intro and probably other games)"
2019-01-13 01:07:02 +07:00
Sergey Lipskiy
0f1b45cfa6
Add hack for Lode Runner 3-D.
...
The game uses very unique way to allocate frame buffers.
It uses double buffering, but both buffers share the same address space (sic!)
The game uses interlaced display mode, and lines in RDP buffers are interlaced too.
Plugin's fb and VI emulation code can't handle it properly, so I just added a hack.
Fixed Lode Runner 3-D: No video output if framebuffer is enabled #1937
2019-01-13 00:47:52 +07:00
Sergey Lipskiy
fc70172327
Refactor update of buffer end address.
...
Add removeIntersections() after end address update.
2019-01-13 00:40:21 +07:00
Sergey Lipskiy
7d7b5fcee3
Correct RDRAMtoColorBuffer::copyFromRDRAM(FrameBuffer * _pBuffer)
...
Fixed course map in Lego Racers.
2019-01-13 00:40:01 +07:00
Sergey Lipskiy
6135aa9de1
Activate hack for WCW Nitro backgrounds.
...
Currently it is impossible to draw them without hack.
Fixed WCW Nitro: the mysterious wrong textures #179
2019-01-13 00:38:10 +07:00
Sergey Lipskiy
dcbea90e76
Correct _loadSpriteImage: if bg image address is inside cfb buffer, remove that buffer.
2019-01-13 00:38:06 +07:00
Sergey Lipskiy
f787483dbb
Correct condition for uEnableDepth uniform.
...
Fixed depth compare for particles in Indiana Jones when N64 depth compare enabled, #1977
2019-01-12 14:34:00 +07:00
Sergey Lipskiy
6de128b8fd
Correct condition for valid depth buffer attachement.
...
Rat attack uses color buffer with width 640, but depth buffer width is only 639.
goodDepthBufferTexture check failed because of it, and game run without depth compare.
Fixed Rat attack missing geometry #600
2019-01-09 18:19:01 +07:00
Sergey Lipskiy
da5acef3eb
Add hack_ModifyVertexXyInShader for Rat Attack.
...
Fixed projector light in Rat Attack, #600
2019-01-09 18:16:22 +07:00
Sergey Lipskiy
e676384550
Revert "Enable N64DepthCompare by default."
...
due to regression in Indiana Jones, #1977
This reverts commit d420737d6d
.
2019-01-08 16:51:31 +07:00
Sergey Lipskiy
d420737d6d
Enable N64DepthCompare by default.
2018-12-18 16:54:02 +07:00
Sergey Lipskiy
13966d7de0
Remove Overscan::init
2018-12-18 16:53:32 +07:00
Sergey Lipskiy
cb0cf5bed9
Fix depth_compare shader:
...
always write depth to buffer when otherMode.depthCompare flag is off.
Up shader storage version.
Fixed 2 players mode in Extreme-G XG2 (U) with N64 depth compare enabled, #1963
2018-12-18 16:04:37 +07:00
orbea
a5fc0689ac
Fix performance with radeonsi.
...
This takes Donkey Kong 64 from 12 fps to full speed with framebuffer
emulation enabled.
2018-12-11 11:35:56 +07:00
Sergey Lipskiy
f899bf57a4
Ignore vi_lowerfield if vi_width <= 320.
...
It seems that when vi_width <= 320 output uses progressive mode
even if interlaced bit is set in VI_STATUS.
Fixed Bass Rush - ECOGEAR PowerWorm Championship - shakes #1957
2018-12-09 17:39:31 +07:00
Sergey Lipskiy
0d3c3c151d
Correct reject box implementation: add special flag for it in gDP.changed flags.
...
Fixed Rejection process issues #1954
2018-12-09 16:49:23 +07:00
Sergey Lipskiy
29575624b9
Call copyRdram() for cfb buffer to have data for validity check.
...
Fixed NBA Courtside 2: wrong intro - regression #1956
2018-12-09 16:24:35 +07:00
Sergey Lipskiy
8cd1605933
Add debug message for VI_UpdateScreen
2018-12-09 14:23:08 +07:00
Sergey Lipskiy
362c99c256
Fix specialMicrocodes entry for Pachinko nichi 365
...
Fixed https://github.com/gonetz/GLideN64/issues/1950
2018-12-09 13:07:58 +07:00
Sergey Lipskiy
bb8c13ccce
Implement rejection processing, see 25.3.2 of programming manual
...
Fixed Mario Party: Coin Block Blitz ground flicker / darkening #1912
2018-12-06 17:31:50 +07:00
zilmar
459fb32106
Revert OS_WINDOWS changes
2018-11-25 18:34:16 +07:00
zilmar
d50aabaa10
Stop using OS_WINDOWS
2018-11-25 18:34:16 +07:00
zilmar
5f008e4c92
Clean up libGlideNHQ.vcxproj
2018-11-25 18:34:16 +07:00
Sergey Lipskiy
cbf5821f8e
Clamp arguments for acos when calculating G_TEXTURE_GEN_LINEAR
...
Fixed (Majora's Mask) Glass in Postman House not rendering #1941
Note: ucode actually works a bit differently because it uses approximated acos calculation.
2018-11-20 22:47:59 +07:00
Sergey Lipskiy
087ac76536
Correct commit e4b6224
for culling in Mortal Kombat 4.
...
Disable cullboth for F3DLX.Rej version 1 since this ucode does not support cullboth.
2018-11-11 16:06:23 +07:00
Sergey Lipskiy
1ec435d6e7
Correct command S2DEX_Obj_Rectangle_R for ucode version 1.03
2018-11-08 11:58:13 +07:00
Sergey Lipskiy
88aa90d075
Implement NO_XFM mode for Turbo3D ucode.
...
Fixed Dark Rift: gfx of the fist screen doesn't disappear when it should (HLE issue) #626
Fixed Dark Rift: missing transition effect in menu #649
2018-11-05 13:27:07 +07:00
Sergey Lipskiy
7aa360c900
Clear fog parameters in gSPLoadUcodeEx.
...
Fixed Zelda OOT wrong fog [HLE] #640
2018-11-03 15:40:41 +07:00
Sergey Lipskiy
f72553a524
Fix depth compare for texrects rendered with TexrectDrawer.
...
Fixed Duke Nukem 64: 2D Render Issue #1915
2018-10-21 20:19:41 +07:00
Sergey Lipskiy
a44d5a8960
Fix condition to apply hardware texture filtering:
...
FILTER_LINEAR must be used only if the current combiner uses LOD.
2018-10-18 11:14:34 +07:00
Sergey Lipskiy
68a2c939b4
Correct FrameBufferList::fillRDRAM - do not write to RDRAM color buffer if copyFromRDRAM enabled
2018-10-17 15:52:53 +07:00
Sergey Lipskiy
fe6447070e
Minor code refactor in gDPFillRectangle
2018-10-17 15:52:53 +07:00
Sergey Lipskiy
57ad2e96c6
Fix DepthBufferList::clearBuffer() for image textures.
2018-10-17 15:52:53 +07:00
Sergey Lipskiy
9a2a77982b
Set gDP.colorImage parameters before frameBufferList().saveBuffer call.
2018-10-17 15:52:53 +07:00
Sergey Lipskiy
9d7eb5b882
Fix in RDRAMtoColorBuffer::_copyFromRDRAM - draw rect in copy mode.
2018-10-17 15:52:53 +07:00
Sergey Lipskiy
f2ba87c241
Force clear depth buffer, if there is no corresponding color buffer for it.
...
Fixed GoldenEye Multiplayer - 3&4 player not rendering #1173
2018-10-17 15:52:52 +07:00
Sergey Lipskiy
d2bca602a1
Use roundup for viewport and scissor coordinates. Fixes some issues when screen resolution is not multiple of original resolution.
2018-10-17 15:52:52 +07:00
Sergey Lipskiy
217ef2557d
Add ability to save content of frame buffer to file for debug purposes.
2018-10-17 15:52:52 +07:00
Sergey Lipskiy
0c2c4d3c27
Restore SCISSOR_TEST mode in RDRAMtoColorBuffer::_copyFromRDRAM
2018-10-17 15:52:52 +07:00
Sergey Lipskiy
8b3597614a
Always render RDRAM content into newly created frame buffer. Remove ugly hack for Mario Tennis scoreboard.
2018-10-17 15:52:52 +07:00
Sergey Lipskiy
5538c7b4bb
Add support for frame buffers, which are inside of some other frame buffer.
...
Fixed Superbowling: black screen in menu and game #116
2018-10-17 15:52:51 +07:00
Sergey Lipskiy
c8b6d35597
Minor code cleanup in FrameBuffer.cpp
2018-10-17 15:52:51 +07:00
Sergey Lipskiy
3d46293376
Correct condition for depth buffer copy hack for Perfect dark.
...
Fixed Perfect Dark high-res mode issues #1807
Fixed Perfect Dark No text/notifications in multiplayer #1930
2018-10-16 00:07:19 +07:00