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

3008 Commits

Author SHA1 Message Date
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
LuigiBlood
db106546a8 Add custom settings for Mario Artist games 2019-02-02 18:22:13 +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