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

2801 Commits

Author SHA1 Message Date
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
Sergey Lipskiy
6a1a4b590d Add profiles support to zilmar-spec build.
Details: #1836
2018-06-17 21:21:51 +07:00
Sergey Lipskiy
2322f5f53f Implement Overscan feature.
Remove Crop feature.
Change settings save-load when "per game settings" enabled:
    * When config dialog opens, show custom settings for the running game. If no game run yet, show main settings.
    * When user press OK button, save settings to the custom ini file and to the main ini file.
2018-06-17 20:04:45 +07:00
fzurita
3fe0f5ec67 Fix NEON build 2018-06-16 22:23:30 +07:00
Sergey Lipskiy
3e0c635ad2 Correct mipmap shader for case when max tile is 0.
Up shader storage version.
2018-06-16 18:41:51 +07:00
Sergey Lipskiy
b9bfbf40e8 Indi Particle Optimization hack.
Add F5INDI_PARTICLE_OPT define to enable.
2018-06-16 18:41:50 +07:00