Sergey Lipskiy
af63737012
Avoid division by zero in ObjCoordinates ctor due to wrong data in _pObjSprite.
...
Fixed crash in Glover 2 intro.
2019-03-23 18:11:07 +07:00
Sergey Lipskiy
fc96b78542
Fix load of 4bit CI textures when TLUT mode is off. Correction for commit 98960950
...
Fixed color of the glove in Doubutsu no Mori sub-screen.
2019-03-23 12:37:38 +07:00
Sergey Lipskiy
751fe2b3fa
Convert fix for StarCraft 64 from commit 729bf94c5
to StarCraft specific hack,
...
because that case is actual for StarCraft 64 only.
2019-03-23 12:33:04 +07:00
Sergey Lipskiy
03022db791
Check that RDRAM area is writable before writing buffer data into it.
...
Fixed Problem with Project64's protect memory option #764
2019-03-16 18:37:05 +07:00
Sergey Lipskiy
2ac29acf29
Add '#pragma once' to CRC.h
2019-03-15 16:56:50 +07:00
Sergey Lipskiy
3d11a21a40
Correct GraphicsDrawer::isRejected.
...
According to manual, ClipRatio must be at least 2.
Fixed #2023 , Chou Kuukan Nighter Pro Yakyuu King 2 (J) missing polygons in HLE
2019-03-13 18:29:21 +07:00
Sergey Lipskiy
6041b47271
Fix Insert Matrix moveword command.
...
Fixed Sim City 64 HLE City Rendering Issue #1200
2019-03-11 22:10:28 +07:00
Sergey Lipskiy
76a56b4273
Fix gSPModifyVertex for Z coordinate.
...
Fixed gasp: wrong depth in menu #2019
2019-03-07 12:09:26 +07:00
Sergey Lipskiy
989609505c
Fix load of 4bit CI textures when TLUT mode is off.
...
Fixed Goemon - Mononoke Sugoroku: wrong gfx #1892
2019-03-06 18:36:40 +07:00
Sergey Lipskiy
e13a2ffd6b
Correct gDPLoadTileInfo bytes calculation for 32bit textures.
...
Fixed ready 2 rumble 2 : wrong gfx in intro #2021
2019-03-05 16:06:26 +07:00
Sergey Lipskiy
96ccfc63af
Correct mip-map shader: lod could be larger than actual number of levels in mip-map texture.
...
Fixed mip-mapped textures in Automobili Lamborghini with 3point filtering enabled.
2019-03-03 15:17:52 +07:00
Sergey Lipskiy
3704b37c3e
Fix some of PVS-Studio warnings.
2019-03-03 11:47:10 +07:00
Sergey Lipskiy
4a925e1490
Add simple check for absolute paths to texture filter folders.
...
Relative path is not supported and must be substituted by default one.
2019-02-28 13:31:11 +07:00
Sergey Lipskiy
08e15767a6
Fix copy-paste errors in TextureFilterHandler::init()
...
Fixed build of default paths to texture filter folders
2019-02-28 12:30:46 +07:00
Sergey Lipskiy
f55283e32f
Fix CRC calculation for mip-mapped textures.
...
Fixed green smear on mipmaps in Turok, #1558
2019-02-25 15:44:56 +07:00
Sergey Lipskiy
69d608310f
Fix compilation warning.
2019-02-25 15:38:20 +07:00
Sergey Lipskiy
19cf24f701
Apply "Disable enhancement for backgrounds" option only for S2DEX background commands.
...
Related to Ocarina of time - Temple of time issue #1984
2019-02-24 19:47:28 +07:00
Sergey Lipskiy
b0380e0a04
Increase log level for VI warnings. Users should not see them.
2019-02-24 18:56:30 +07:00
Sergey Lipskiy
ea27c6bd21
Correct code, which forces OnePiece mode for backgrounds.
...
Code cleanup.
Fixed STARCRAFT 64: does not work with one piece option #2013
2019-02-24 18:42:56 +07:00
Sergey Lipskiy
6022f510f5
Correct getStorageFileName: set user-preferred locale before using string conversion functions.
2019-02-24 12:07:13 +07:00
fzurita
b40e6f44c1
Fix shader storage with Android 4.4
2019-02-24 11:49:15 +07:00
fzurita
164b44e8e5
Fix shader compilation in GLSL
2019-02-23 15:05:06 +07:00
Sergey Lipskiy
a40afaf5bd
Enable texturedRectDepthBufferCopy for Turok.
...
Code refactoring.
Fixed Turok 64 Missing lens flare #2009
Note: Turok lens flare works correct only when depth buffer copied from VRAM.
Software depth render produces incorrect result because it does not discard pixels,
which should be discarded by alpha test.
2019-02-22 15:45:04 +07:00
Sergey Lipskiy
5063ad7292
Fix address for depth buffer copy in texturedRectDepthBufferCopy
2019-02-22 12:17:27 +07:00
Sergey Lipskiy
a5e8bf4f3c
Fix DepthBufferToRDRAM::_prepareCopy RDRAM bound condition.
2019-02-22 12:14:09 +07:00
Sergey Lipskiy
edd83fdb76
Code cleanup: rename variables in F5INDI_RebuildAndAdjustColors
2019-02-20 18:00:46 +07:00
fzurita
9033a4d536
Fix build errors when using CMake with RPi
2019-02-19 15:18:39 +07:00
Sergey Lipskiy
49465a094d
Implement dump of background textures.
2019-02-19 12:49:40 +07:00
Sergey Lipskiy
15fa834ffa
Correct "BackgroundsMode" parameter read from mupen64plus config.
2019-02-19 12:47:59 +07:00
Sergey Lipskiy
916d01ba60
Correct FrameBufferList::renderBuffer() output coordinates calculation.
...
Fixed screen shake in WDC and Bass Rush - ECOGEAR PowerWorm Championship.
2019-02-17 23:37:54 +07:00
Sergey Lipskiy
cd4535025d
An optimization in F5INDI_CalcST
2019-02-17 15:39:39 +07:00
Sergey Lipskiy
9bf36d390a
Implement 3-point texture filtering for mipmapped textures.
...
Fixed #1558 3-point texture filtering doesn't work with mipmapped textures.
2019-02-16 20:45:51 +07:00
Sergey Lipskiy
edc81952ab
Fix texture unpack alignment for filtered textures.
...
Fixed #1412 : Enhancements cause buggy texture elements.
2019-02-15 17:44:45 +07:00
Sergey Lipskiy
24bfb8274f
Fix ucode selection for Wayne Gretzky's 3D Hockey.
...
Add custom settings to avoid flickering in this game with Project64.
Fixed Wayne Gretzky's 3D Hockey: missing gfx and flickers (regression) #1966
2019-02-08 22:04:47 +07:00
Sergey Lipskiy
0e04b3f902
Fix z coordinate calculation in TexrectDrawer::addRect()
...
Fixed #1989 , Printf debug statements broken in LLE in Multiple Debug/Prototype games.
2019-02-08 19:43:16 +07:00
gizmo98
f7824a37a0
Use bool value for 3-Point or bilinear filtering selection again
...
With the new enableHalosRemoval option we only need to select bilinear
filtering or 3-point filtering with a bool value again.
Reverts
https://github.com/gonetz/GLideN64/commit/164b1056b3b5446824e419a7721a5c
4e455f28c6 partly.
2019-02-08 11:47:28 +07:00
Sergey Lipskiy
32901bf5dd
Add option enableHalosRemoval for bilinear filtering.
2019-02-07 17:23:20 +07:00
fzurita
2712e8f509
Cleanup EGL image code
2019-02-05 21:48:26 +07:00
Sergey Lipskiy
837f173e82
Support new bilinear filtering modes in GUI.
2019-02-05 21:28:00 +07:00
gizmo98
164b1056b3
Add bilinear filtering modes which remove halos around transparent textures
...
This workaround is not implemented for gles2 devices.
2019-02-05 21:09:36 +07:00
fzurita
f209304d0b
Add support for Android EGL Image Public API
2019-02-05 17:30:58 +07:00
Sergey Lipskiy
039f818175
Correct initial value for clip ratio.
...
According to programming manual, initial value is 2.
Fixed logo clipping in SD Hiryuu no Ken Densetsu.
This game does not call gSPClipRatio, thus initial value is used.
2019-02-04 21:09:02 +07:00
Sergey Lipskiy
647f7759c2
Apply fix for GE multiplayer only for GE and PD.
...
Naboo does not use depth buffer clear with fillrect,
thus it does not allocate frame buffer for depth buffer clear.
GE multiplayer fix breaks depth compare in Naboo.
2019-02-04 20:04:48 +07:00
Sergey Lipskiy
78e98d880b
Fix primitive depth for particles in Factor5 ucodes.
2019-02-04 18:30:05 +07:00
Sergey Lipskiy
2b7f78c9f8
Fix depth buffer clear when otherMode.depthCompare enabled.
...
Fixed 1080 Snowboarding (JU) FB off breaks games ( regression) #1976
2019-02-03 18:01:01 +07:00
Sergey Lipskiy
f79f8d406a
Add bgMode config setting.
2019-02-02 19:10:50 +07:00
Sergey Lipskiy
be069adb1f
Fix gSPObjSprite for S2DEX ver 1.03
...
Fixed speedometer in GT 64.
2019-02-02 18:34:13 +07:00
Sergey Lipskiy
b62734d297
Use ValueKeeper for RSP.LLE flag
2019-02-02 18:34:12 +07:00
Sergey Lipskiy
dcd159dc71
Enable texrect drawer in BG commands when enableNativeResTexrects enabled.
2019-02-02 18:34:12 +07:00
Sergey Lipskiy
f31cb4b00d
GraphicsDrawer::drawTexturedRect - always use TexrectDrawer if m_bBGMode enabled.
2019-02-02 18:34:12 +07:00
Sergey Lipskiy
4a50912283
Enable texrect drawer for BGCopyNew.
2019-02-02 18:34:12 +07:00
Sergey Lipskiy
0560b49686
TexrectDrawer::draw() : correct texture coordinates.
2019-02-02 18:34:11 +07:00
Sergey Lipskiy
6ca50bd733
Use old code for frame buffer texture backgrounds
2019-02-02 18:34:11 +07:00
Sergey Lipskiy
1f372fa0ce
Fix S2DEX_MoveWord
2019-02-02 18:34:11 +07:00
Sergey Lipskiy
be1a1fc413
Fixes for S2DEX 1.5
2019-02-02 18:34:11 +07:00
Sergey Lipskiy
9e64d45ac5
New implementation of BgCopy command. It is based on olivieryuyu decoding of actual ucode and works as close to original command as possible.
2019-02-02 18:34:11 +07:00
Sergey Lipskiy
729bf94c5a
StarCraft fix.
2019-02-02 18:34:10 +07:00
Sergey Lipskiy
2decda55f3
CheckForFrameBufferTexture code refactor.
2019-02-02 18:34:10 +07:00
Sergey Lipskiy
c48e0e4d00
Fix loadblock when lrs = 0xFFF
2019-02-02 18:34:10 +07:00
Sergey Lipskiy
5ac2749bbb
Fixes in gSPObjLoadTxtr.
2019-02-02 18:34:10 +07:00
Sergey Lipskiy
2aeff6caa5
Fix tile size when it is loaded by BgCopy with LoadBlock.
...
BgCopy set dimensions for tile0 to zero.
We can't use dimensions of load tile either because of CopyBlock.
The only way to find size of loaded texture is to use coordinates of texrect.
There is one-to-one correspondence between rect pixels and texture texels in copy mode,
so we can safely use it in this case.
2019-02-02 18:34:10 +07:00
Sergey Lipskiy
d4f9c341a9
Do not use fractional part of coordinates in G_CYC_COPY mode.
2019-02-02 18:34:09 +07:00
Sergey Lipskiy
a3613b42ae
Draw backgrounds with TexrectDrawer.
2019-02-02 18:34:09 +07:00
Sergey Lipskiy
25bef0d805
New implementation of BG1Cyc command.
...
It is based on olivieryuyu decoding of actual ucode and works as close to original command as possible.
2019-02-02 18:34:09 +07:00
Sergey Lipskiy
7f68ae71f1
Correct texturedRectBGCopy in order to new Bg1Cyc command work with Yoshi Story
2019-02-02 18:34:09 +07:00
Sergey Lipskiy
aab318b4f7
Fix tile load for BG commands.
2019-02-02 18:34:08 +07:00
Sergey Lipskiy
9ac633d2ea
Add originalMaskT, originalMaskS fields for struct gDPTile.
...
masks and maskt set by gDPSetTile, but _calcTileSizes may change them if actual
tile dimension do not correspond the mask. This creates problem for S2DEX_BG_1Cyc command,
which set tile masks and maskt to maximum, while actual size of loaded tiles may vary.
_calcTileSizes may set new values for masks and maskt, which are valid for the current tile but invalid for next ones.
Thus, original values of tile masks and maskt must be restored when tile size calculated again in _calcTileSizes.
2019-02-02 18:34:08 +07:00
Sergey Lipskiy
fa2b0793e0
Store integer scissor coordinates.
2019-02-02 18:34:08 +07:00
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
Sergey Lipskiy
e4b6224218
Disable CULL_BOTH for NON microcodes.
...
Need to find better criteria.
Fixed Black screen in mortal kombat 4 #1929
2018-10-13 19:25:32 +07:00
gizmo98
35099ec8cb
Backgrounds: Fix cut off textures and texture fragments and seams
...
-Fix cut off textures in hamster64. Enable coord correction if
gDP.otherMode.textureFilter == G_TF_BILERP.
-Fix seams in hamster64 and texture fragments in starcraft64. Enable
texture clamp if lrs/lrt <= (imageW/imageH - 1).
2018-10-13 19:09:24 +07:00
Sergey Lipskiy
1df96cebeb
Enable clearDepthBuffer for Pokemon Snap.
...
Fixed Pokemon Snap Oak's check does not work #777 again
Note: this game is a mistery. I don't understand,
why clearing of depth buffer via drawRecs breaks Oak's check.
Actually, the problem causes rendering to color buffer corresponding to that depth buffer.
Need to investigate, why.
2018-10-07 00:15:01 +07:00
Sergey Lipskiy
423fc7ba3e
Code cleanup in gDPFillRectangle
2018-10-06 13:43:14 +07:00
Sergey Lipskiy
8b9d955f7a
Fix depth buffer clear for Zelda MM.
...
Fixed Legend of Zelda: Majora's Mask Issue #1921
2018-10-05 23:57:56 +07:00
Sergey Lipskiy
4f302cc777
gDPFillRectangle: call frameBufferList().fillRDRAM for color buffers in FILL mode.
...
Fixed Vigilante 8 Menu and In-game issues. #1917
2018-10-02 17:06:07 +07:00
Sergey Lipskiy
e91a9ddc31
Remove ucode for Mischief Makers (E) from specialMicrocodes list.
...
It was added by mistake.
Fixed Duke Nukem 64: HLE unplayable #1915
2018-10-02 09:53:17 +07:00
Sergey Lipskiy
6ba9a81e76
Rewrite Tri commands for SWRS ucode.
2018-10-01 23:15:33 +07:00
Sergey Lipskiy
9f1bbeab9f
Rewrite primitive depth calculation.
...
Up shader storage version.
Fixed Star Wars Episode I - Racer: Overlapping #1911
2018-10-01 22:37:03 +07:00
Sergey Lipskiy
b88c99302f
Debugger: correct display of primitive Z and deltaZ.
2018-10-01 19:20:32 +07:00
gizmo98
13f587a360
tile functions: Replace magic numbers with constants
...
Just refactoring. Replace magic numbers with constants. No functional
changes.
2018-09-30 18:03:46 +07:00
Sergey Lipskiy
b096c1e9fc
Rewrite vertex coordinates calculation for ObjSprite command again.
2018-09-30 18:03:46 +07:00
Sergey Lipskiy
91b17a578c
Rewrite vertex coordinates calculation for ObjRect commands again.
2018-09-30 18:03:46 +07:00
Sergey Lipskiy
9f936be57e
Correct condition for texture filtering: remove (gSP.objRendermode&G_OBJRM_BILERP) != 0 from the condition.
...
It seems that flag G_OBJRM_BILERP in objRendermode does not mean that texture will be filtered.
2018-09-30 18:03:46 +07:00
Sergey Lipskiy
0da701e7e5
Rewrite texture coordinates calculation for ObjRect commands.
2018-09-30 18:03:46 +07:00
Sergey Lipskiy
8fd5f910ab
Add support for S2DEX v1.03
2018-09-30 18:03:45 +07:00
Sergey Lipskiy
5abb19bd7a
Disable "yoshi petals fix" because of regression in yoshi's message board.
2018-09-30 18:03:45 +07:00
Sergey Lipskiy
164d012138
Rewrite coordinates calculation for ObjRectangle and ObjRectangleR
2018-09-30 18:03:45 +07:00
Sergey Lipskiy
83995f5dc8
Correct vertex coordinates calculation for gSPObjRectangleR
2018-09-30 18:03:45 +07:00
Sergey Lipskiy
51490b9de0
Correct _YUVtoRGBA
2018-09-30 18:03:45 +07:00
Sergey Lipskiy
ec898f4178
Rewrite vertex coordinates calculation for gSPObjRectangleR using fixed-point math decoded from S2DEX ucode by olivieryuyu
...
Code refactoring.
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
9bbd449812
Correct lrs and lrt calculation for ObjRect commands.
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
38c7eef32b
Code cleanup: use constants for flipS and flipT flags.
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
b012e8b53c
Code refactor:
...
* move implementation of S2DEX commands from gSP.cpp to uCodes/S2DEX.cpp
* code cleanup
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
9192a82905
Rewrite vertex coordinates calculation for gSPObjRectangle using fixed-point math decoded from S2DEX ucode by olivieryuyu
...
Code refactoring.
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
7d75b99705
Rewrite gSPObjSprite using fixed-point math decoded from S2DEX ucode by olivieryuyu
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
cf05918222
Revert "Shift sprite origin Y by -0.5"
...
This reverts commit 43e0ad500f
.
2018-09-30 18:03:43 +07:00
Sergey Lipskiy
6ac8efe081
Use frame buffer from input parameters when call
...
_updateScreenCoordsViewport from GraphicsDrawer::drawTexturedRect.
Fixed incorrect picture size when color buffer copied from RDRAM.
Buffer copy uses drawTexturedRect
2018-09-26 13:48:42 +07:00
Sergey Lipskiy
5e1c8a6b58
Do not use clearDepthBuffer in FillRect. Use drawRect only.
2018-09-24 22:02:25 +07:00
Sergey Lipskiy
6a7c64dd6b
Do not use clearColorBuffer in FillRect. Use drawRect only.
...
Fixed Twisted Edge Extreme Snowboarding P1 broken #1873
2018-09-24 20:33:15 +07:00
Sergey Lipskiy
2f83650725
Switch from blitOrCopyTexturedRect() to copyTexturedRect() in OverscanBuffer::draw.
2018-09-24 20:33:12 +07:00
Sergey Lipskiy
3faa383c55
Fix in FrameBufferList::renderBuffer() : draw blank frame if VI state is wrong.
...
Previously renderBuffer() did nothing in that case and last rendered frame remained on screen.
Fixed Perfect Dark (Missing Transition Animation at end of Title Intro Screen - PD Logo Doesn't Disappear) #1715
2018-09-24 20:33:08 +07:00
Sergey Lipskiy
2e2cbcfcfc
Fix culling in Indi and Naboo
2018-09-24 19:32:10 +07:00
Sergey Lipskiy
e65f8bd68d
Weaken condition for invalid frame buffer texture.
...
Fixed text in Mario Tennis scoreboard.
2018-09-16 22:15:28 +07:00
Sergey Lipskiy
67e68ed1f6
Support FXAA in GUI.
2018-09-09 16:41:58 +07:00
Sergey Lipskiy
bb6debf2f7
Support FXAA in mupen64plus config
2018-09-09 16:41:55 +07:00
Sergey Lipskiy
ae67c77c9d
Replace direct call of Postprocessor methods by list of available postprocessing functions.
2018-09-09 16:41:37 +07:00
Sergey Lipskiy
9705f5d520
Implement FXAA
2018-09-09 16:36:09 +07:00
Sergey Lipskiy
1e97355882
Code refactor: remove duplication of code in PostProcessor.cpp
2018-09-09 15:34:32 +07:00
Sergey Lipskiy
15188dad16
Fix destX calculation in FrameBufferList::renderBuffer()
...
Fixed black boarders size in Banjo-Kazooie.
2018-09-08 00:13:43 +07:00
Sergey Lipskiy
be49e9e2e9
Correct check for side-by-side buffers in FrameBufferList::renderBuffer()
...
Fixed Kirby 64 - screen jumps in full screen. #1750
2018-09-07 23:00:45 +07:00
gizmo98
d4cce52c60
Rewrite ObjCoordinates(const uObjScaleBg * _pObjScaleBg)
...
gSPBgRect1Cyc() and gSPBgRectCopy() use ObjCoordinates(const
uObjScaleBg * _pObjScaleBg).
This modification fixes bad texture quality in following games:
-Bakuretsu Muteki Bangaioh
-Nintama Randou
-Starcraft
-Command & Conquer
-SD Hiryuu noKen Densetsu
https://github.com/gonetz/GLideN64/pull/1878
2018-09-07 21:25:44 +07:00
Sergey Lipskiy
fef718b8d2
Do not reject tile loading when tile end address is out of RDRAM bound.
...
Try to load as much as possible instead.
Fixed Bust-A-Move 2 wrong 2D during intro #870
2018-09-07 21:08:37 +07:00
Sergey Lipskiy
22267831e0
Optimize ShaderN64DepthCompare a little bit.
2018-09-06 22:54:07 +07:00
Sergey Lipskiy
9b487453a6
Correct URenderTarget::update()
...
Depth buffer not cleared if SetDepthImage called after Fillrect.
Fixed Ocarina of Time Link's portrait missing with N64 deph compare #1850
2018-09-06 22:54:00 +07:00
Sergey Lipskiy
83e1ccb72e
Remove hack for Banjo-Tooie Groggy Crash #1250 added in 8fbd1d030b
...
Writes to TMEM protected by masking TMEM write address, so it is not necessary anymore.
Rearrange the code a bit.
Fixed NBA Live 99 messed up textures #1826
2018-09-05 23:20:27 +07:00
Sergey Lipskiy
c53bf689e1
Correct calculation of bytes for 32bit textures in gDPLoadTile
...
Fixed 1080 Snowboarding title logo regression #1824
2018-09-05 17:23:23 +07:00
Sergey Lipskiy
289edfd148
Fixed missing gfx with native recs option (regression) #1889
2018-09-04 23:46:15 +07:00
Sergey Lipskiy
80ba93413a
TexrectDrawer: use RDP.w0, RDP.w1 to get rect coordinates.
2018-09-04 16:54:56 +07:00
Sergey Lipskiy
fac72ddf5a
Store texrect command parameters in RDP.w0 and RDP.w1
2018-09-04 16:42:53 +07:00
Sergey Lipskiy
ec54a9a672
Debugger: fixed find polygon with given texture.
2018-09-04 16:16:53 +07:00
Sergey Lipskiy
d8921dfeb6
Debugger: correct rects coordinates
2018-09-04 16:16:08 +07:00
Sergey Lipskiy
40455845ba
Dump microcode string to log file.
2018-09-02 16:31:10 +07:00
Sergey Lipskiy
a28b9913f7
Dump microcode info to log file.
2018-08-31 13:40:01 +07:00
Sergey Lipskiy
73189eb958
Implement olivieryuyu proposal to add Early Fast3D games to custom micricodes, #1303
...
Code refactoring.
2018-08-31 12:53:48 +07:00
Sergey Lipskiy
7036aa0cc6
Enable "no near clipping" mode for F3DFLX2 ucode.
...
Fixed Near Plane Clipping issue with GLideN64 #1855
2018-08-31 00:08:15 +07:00
Sergey Lipskiy
ae43c0cd39
Enable "no near clipping" mode for "RSP SW Version: 2.0G" ucode.
...
Fixed AeroFighters Assault GFX issue #289
2018-08-30 14:04:27 +07:00
Sergey Lipskiy
74c0980d44
Enable hack_texrect_shade_alpha for Bottom of the 9th.
...
Fixed bottom of the 9th: no more intro and main title gfx (regression) #1888
2018-08-28 21:41:16 +07:00
Sergey Lipskiy
b3068d9536
Fix OverscanBuffer::getScaleX()
2018-08-28 20:57:50 +07:00
Sergey Lipskiy
cec0f2fc05
Update end address of the current frame buffer in gDPFullSync().
...
Fixed Ogre Battle 64 Opening Splash Screens Flicker. #1868
Details
Problem: frame buffer end address set to minimal when buffer is allocated.
It is updated on next call of gDPSetColorImage.
In case of Ogre Battle 64 Opening next call of gDPSetColorImage occurs in next frame.
VI can't find the buffer because REG.VI_ORIGIN points on buffer with some offset,
which in this case is larger than diff between start and end address.
VI allocates new buffer, which eventually replaces the current one and flickering happens.
Solution: update current buffer's end address in gDPFullSync()
to ensure that it will be correct at the moment when VI will search for buffer to draw.
2018-08-28 16:07:31 +07:00
Sergey Lipskiy
62b8103e46
Support FRONT_AND_BACK culling mode.
...
Fixed Super Smash Brother Gfx issue on Dreamland stage #487
2018-08-24 16:16:06 +07:00
Sergey Lipskiy
3bc17f50f3
Correct texture coordinates calculation in z-sort ucodes.
...
Fixed Mia Hamm Soccer 64: wrong textures in menu (regression & HLE) #210
2018-08-20 11:54:00 +07:00
Sergey Lipskiy
a14f737c29
GUI: Minor fix in ConfigDialog::on_buttonBox_clicked
2018-08-15 10:58:21 +07:00
Sergey Lipskiy
2f60502c3e
GUI: Remove on_customSettingsCheckBox_clicked
...
This function is useless now because custom settings control is disabled when game is running.
2018-08-15 10:57:52 +07:00
Sergey Lipskiy
7d026f069b
Add warning that settings will be applied for the current game only.
2018-08-15 10:54:09 +07:00
Sergey Lipskiy
bd566e67ed
Fix custom rom settings save.
...
Fixed Profiles introduced issues with save/load feature on PJ64. #1879
2018-08-13 22:31:00 +07:00
Sergey Lipskiy
027810ad4a
Fix typo: onScreenDispaly => onScreenDisplay
2018-08-13 22:24:32 +07:00
Sergey Lipskiy
43e0ad500f
Shift sprite origin Y by -0.5
...
Fixed Parlor! Pro 64 #133
2018-08-12 16:27:40 +07:00
gizmo98
59ad164258
ObjCoordinates: Implement G_OBJRM_BILERP
...
-Rewrite lrx, ulx, lry, uly, lrs, uls, lrt, ult calculation
-Implement SHRINKSIZE according to programmers guide
-Implement G_OBJRM_BILERP according to programmers guide
-Worms Armageddon: Menu items, 2D elements and worms are sharp
-Kirby Crystal Shards: Menu is sharp
2018-08-04 20:36:54 +02:00
gizmo98
c76daedfc0
Fix Worms Armageddon
...
Rewrite
https://github.com/gonetz/GLideN64/commit/feb0e53034d54095464687dbae1785
4c9dc3caa6 to fix Worms Armageddon. If upper left value is zero lower
right value is scaled width minus one scaled texel.
Example:
Width = 10.0f, scale is 1.0f
urx = 0.0f;
lrx = 0.0f + 10.0f/1.0f - 1.0f/1.0f = 9.0f
Resulting range is 0-9 for a 10 texel width texture.
2018-08-03 17:15:24 +07:00
gizmo98
e9becd4b8a
rpi: limit m_maxCacheSize to fix texture corruption
...
Limit m_maxCachSize to fix texture corruption in Yoshi’s Story. I have
tested values between 1500 and 3500. Everything >= 1800
produces texture corruption after a short time.
2018-08-03 17:13:48 +07:00
Sergey Lipskiy
1b17e98941
TexrectDrawer fixes:
...
* fix issues in _lookAhead
* use integer coordinates to rects side-by-side detection.
Fixed #1856 , #1859
2018-07-23 21:56:20 +07:00
Sergey Lipskiy
5186a50597
Init GBI.cmd at G_RDPNOOP.
...
Fixed UNKNOWN GBI COMMAND log message for SF Rush.
2018-07-22 23:02:27 +07:00
Sergey Lipskiy
d9fad30f04
Change type for "MaxAnisotropy" option from Bool to Int.
...
Fixed #1867
2018-07-22 20:43:16 +07:00
gizmo98
a6adf6308d
gSPInsertMatrix: fix insert fractional part if old value is negativ
...
s32 integer = static_cast<s32>(-2.5f) = -2
GetFloatMatrixElement(static_cast<s16>(integer), 0x44) = -1,9993286030
Fix:
s32 integer = (-2.5f * 65535.0f) >> 16 = (163837) >> 16 = -3
GetFloatMatrixElement(static_cast<s16>(integer), 0x44) =
-2,999008163576715
2018-07-22 19:58:22 +07:00
Sergey Lipskiy
e0418c3c34
Apply TexrectDrawer if next draw command is also texrect and those texrect is side-by-side with the current one.
...
It should fix performance issues with particles.
Currently works only in HLE mode.
2018-07-03 21:52:18 +07:00
Sergey Lipskiy
d4b770b2c1
Correct texrect dsdx calculation in COPY mode.
...
Partially fixes issue with the energy bar in F-Zero multiplayer, #1849
2018-07-02 19:24:18 +07:00
Sergey Lipskiy
9fb63e0460
Validate config after load.
...
Fixed glitches when 'MSAA' and 'N64 depth compare' both enabled, #1815
2018-06-28 16:18:16 +07:00
Sergey Lipskiy
557851949a
Force load hires textures cache file if path to texture pack does not exists.
...
Fixed load of .htc files distributed without texture packs.
Fixed #1840 .
2018-06-23 23:11:54 +07:00
Sergey Lipskiy
2a677a23a8
Implement left offset for source image when VI_ORIGIN address points on non-zero position in scan-line.
...
Fixed PAL version of International Superstar Soccer 98, #1845
2018-06-23 21:56:10 +07:00
Sergey Lipskiy
a3e34aa426
GUI: import settings from old version of ini file.
2018-06-22 16:38:54 +07:00
Sergey Lipskiy
0a59366936
GUI: clear resolution comboboxes before inserting items.
2018-06-18 16:48:14 +07:00