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

139 Commits

Author SHA1 Message Date
Sergey Lipskiy
57ad2e96c6 Fix DepthBufferList::clearBuffer() for image textures. 2018-10-17 15:52:53 +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
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
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
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
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
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
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
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
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
Sergey Lipskiy
b0a575313a Implement Factor5 ucodes for Indiana Jones/Battle of Naboo, task #1259 2018-06-16 18:41:50 +07:00
Logan McNaughton
e80577e105 Allow non-0 default framebuffer 2018-05-22 08:25:24 -06:00
Sergey Lipskiy
8212a1faf6 Fix vertex Y calculation in GraphicsDrawer::_drawThickLine
Fixed smoke direction in Micro Machines 64 Turbo (U) #1725
2018-05-02 20:49:36 +07:00
Sergey Lipskiy
725ff742a8 Update viewport when exiting texrect after texturedRectSpecial call.
Fixed Paper Mario zoom-in when Mario approaches screen #1789
2018-05-01 18:01:54 +07:00
Logan McNaughton
18e9a73eba Cache SpecialFeatures check 2018-04-07 11:30:33 +07:00
Logan McNaughton
b49ee1dd8b Fix GLESX clipping hack in GraphicsDrawer 2018-04-07 11:30:33 +07:00
Logan McNaughton
9c73fb27b1 Remove Image Texture requirement for some shaders 2018-04-07 11:30:33 +07:00
Joe Mattiello
9497a9b868 Add iOS system ifdefs and gles includes 2018-03-31 10:54:20 +07:00
Logan McNaughton
bdb0f7ca94 Emulate GL_DEPTH_CLAMP for GLES 2018-03-23 21:52:06 +07:00
Sergey Lipskiy
5ccc40423f Correct screen coords viewport in TexrectDrawer::draw()
Fixed Mario Golf (U) bug in GLideN64 3.0 regresion #1710
2018-03-21 19:49:36 +07:00
Sergey Lipskiy
822b098d6a Implement OSD Display: Internal Resolution and Rendering Resolution
Fixed #1733
2018-03-05 22:56:14 +07:00
Sergey Lipskiy
b37200239e Fix display of texrect coordinates in debugger. 2018-03-02 21:22:24 +07:00
Sergey Lipskiy
08d3bff7ba Process unsupported blend modes only in two cycles mode. 2018-02-23 14:06:09 +07:00
Sergey Lipskiy
8cb25b1fed Add support for blend modes, which can't be emulated with shader blender.
Add a hack for blend mode 0x0150 in Tony Hawk 2: Spiderman uses the same blend mode,
but has no problems with it.
2018-02-18 20:44:11 +07:00
Sergey Lipskiy
9b2f50ca67 Fix rendering in widescreen resolutions when fb emulation disabled, #1700 2018-01-05 15:27:19 +07:00
Sergey Lipskiy
dfada113d3 Do not change current draw buffer after OSD drawing.
Fixed mupen64plus messages displayed upside-down.
2017-12-15 13:24:36 +07:00
Sergey Lipskiy
fa102a65c9 Do not revert Y for rects. 2017-12-15 12:38:19 +07:00
Sergey Lipskiy
26623cec1f Code cleanup: fix issues in GLideN64 found by static code analyser. 2017-11-18 22:07:27 +07:00
Sergey Lipskiy
737338ca20 Use fixed point calculation for texrect s and t coordinates.
It is impossible to handle integer overflow when coordinates in float format.

Fixed textures in Major League Baseball #146
2017-11-18 15:41:18 +07:00
Sergey Lipskiy
5a037474a2 Code cleanup: fix compilation warnings. 2017-11-15 15:07:52 +07:00
Sergey Lipskiy
3c61198043 Hardcode blend mode, which is impossible to emulate with shaders.
Fixed Tony Hawk's Pro Skater 2 Shadow Glitch #1337
2017-11-11 01:01:49 +07:00
Sergey Lipskiy
7e4271d991 Display save/load progress for combiners shaders
Display "init noise texture" message. Progress is hard to display because noise textures generated in threads.
2017-10-26 00:37:26 +07:00
Sergey Lipskiy
35cc66bad4 Code cleanup:
* make RSPInfo::busy and RSPInfo::halt boolean
* remove RSPInfo::close
* rename RSPInfo::bLLE to RSPInfo::LLE
2017-10-24 15:44:37 +07:00
Sergey Lipskiy
70c540b073 Rewrite fix for #1539 : keep in tile descriptor start address of frame buffer, not pointer on it.
Should be more safe.
2017-09-29 22:25:56 +07:00
Sergey Lipskiy
ee3f4a6962 Partially revert commit 81cc0854 Fix blending when CLR_ON_CVG flag is on.
It will not work without pixel covarage calculation.

Fixed Mario Tennis (USA) - missing character selection icons (regression) #1599
Fixed Android/potential PC regression too: Conker broken FB render/lighting chunks. #1597
2017-09-27 16:19:28 +07:00
Sergey Lipskiy
032da85357 Reset m_cleared and m_RdramCopy for depth buffer after software render.
Fixed #1594 Mario Tennis VS screen: line flickers
2017-09-26 15:23:07 +07:00
Sergey Lipskiy
497b8dd709 Use legacy blending for DepthFogCombiner.
Fix regression in Beetle Adventure Racing! snow is grey! #1587
2017-09-24 18:55:01 +07:00
Sergey Lipskiy
c67e017772 Correct Tri commands for F3DSWRS ucode.
Fixed Star Wars: Rogue Squadron HLE glitches. #1584
2017-09-22 22:39:30 +07:00
Sergey Lipskiy
81cc0854dc Fix blending when CLR_ON_CVG flag is on.
Remove hack for Pilot Wings.
2017-09-21 23:18:35 +07:00
Sergey Lipskiy
1bb170a3c4 Implement command 0x05. This command generates polygons for terrain geometry.
Very large and complex.
2017-08-11 12:23:39 +07:00
Sergey Lipskiy
e56e45e2da Command 05 - 02 WIP debug 2017-08-11 12:23:39 +07:00
Sergey Lipskiy
6bfe0adf0a Fix triangle index calculation for flat shading. 2017-08-11 12:23:39 +07:00
Sergey Lipskiy
c907c3013a Implement Debugger. 2017-06-25 15:35:48 +07:00
Sergey Lipskiy
64c59fc20d Implement GraphicsDrawer::showMessage Use it to show OSD message about logging start and stop. 2017-06-25 15:02:45 +07:00
Sergey Lipskiy
a6babb418f Rewrite monochrome effect for Zeldas.
Fixed #1505 OoT Ending Screen Freeze Effect Color Wrong
2017-06-19 21:44:40 +07:00
Sergey Lipskiy
5e51b386f1 Make Resident Evil 2 playable. 2017-04-02 12:02:38 +07:00
Sergey Lipskiy
7d47207d34 Fix viewport Y for negative scale.
Fixed #1426, regression in eiko st andrews
2017-03-18 23:16:07 +07:00
Sergey Lipskiy
0775d28065 Remove FrameBuffer::m_scaleY 2017-03-16 18:50:15 +07:00
Sergey Lipskiy
b00a593da0 Correct GraphicsDrawer::copyTexturedRect.
Fixed slide effect in BAR
2017-03-16 18:50:15 +07:00
Sergey Lipskiy
cebca46e0a Do not update viewport for rects in GraphicsDrawer::_updateStates 2017-03-16 18:50:15 +07:00
Sergey Lipskiy
811dea1d77 Rewrite viewport for polygons with screen coords. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
d4617b309a Code cleanup: remove unused variable in GraphicsDrawer::updateScissor 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
e6811b4d4f Move gDP.colorImage.height update to FrameBufferList::setBufferChanged. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
c8e6644bd7 Use software render to calculate frame buffer height. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
bca21ed071 Invert y coordinate to align image origin with frame origin. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
8ea0cddbec Disable texcoord attribs for fillrect.
Fixed fillrects in Pokemon Stadium 2.
2017-03-11 12:46:40 +07:00
Sergey Lipskiy
1c72ef16fd Code refactor: move gDP.rectColor initialization to gDP.cpp 2017-03-01 11:49:58 +07:00
Sergey Lipskiy
eebdd32932 Replace rectAttrib::color by uniform. 2017-02-28 15:48:14 +07:00
Sergey Lipskiy
01cd2a59e9 Revert "Code cleanup: remove unused variable in GraphicsDrawer::updateScissor"
This reverts commit 87f1ab79a0.
2017-02-28 14:14:05 +07:00
Sergey Lipskiy
87f1ab79a0 Code cleanup: remove unused variable in GraphicsDrawer::updateScissor 2017-02-27 21:03:54 +07:00
Sergey Lipskiy
873a830d88 Always render to FBO, even when frame buffer emulation is disabled. 2017-02-25 14:08:26 +07:00
Sergey Lipskiy
827b6bb9cd Code refactor: replace graphics::ObjectHandle() by graphics::ObjectHandle::null 2017-02-22 16:45:27 +07:00
Sergey Lipskiy
5b3b2920bc Do not set sampler states for multisampled textures:
"GL_INVALID_ENUM is generated if the effective target is either GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY, and pname is any of the sampler states."
Fixed HWFBE when MSAA enabled.

Correct code formatting.
2017-02-18 21:40:41 +07:00
Sergey Lipskiy
85239acc36 Fix GraphicsDrawer::drawLine 2017-02-14 15:01:26 +07:00
Sergey Lipskiy
97acd7d071 TextDrawer must be inited before TextureFilterHandler. 2017-02-12 15:06:31 +07:00
Sergey Lipskiy
2483903b74 Refactor TextDrawer: remove direct use of OpenGL
Remove DummyTextDrawer.
2017-02-12 14:27:26 +07:00
Francisco Zurita
1319687f86 Replace ANDROID macro definition with OS_ANDROID 2017-02-09 20:38:27 +07:00
matto
2b4b82a7d2 Fixing compiling issue
cmath needs to be included explicitly, at least in gcc.
2017-01-30 22:56:34 -05:00
Sergey Lipskiy
df4a81bfea Add special Parameter classes to make parametrs usage more safe. 2017-01-28 16:52:09 +07:00
Sergey Lipskiy
3fdbed8f5e Finaly remove OpenGL.h, OpenGL.cpp and other obsolete files. 2017-01-26 19:54:51 +07:00
Sergey Lipskiy
5ad454cebf Fix GraphicsDrawer::_initStates() call. 2017-01-25 21:58:17 +07:00
Sergey Lipskiy
9107c15f06 Correct scissor enable in GraphicsDrawer::copyTexturedRect 2017-01-25 21:39:44 +07:00
Sergey Lipskiy
602e1dd859 Correct cmake project file. Fix compilation on Linux. 2017-01-25 21:01:21 +07:00
Sergey Lipskiy
80ed169e24 Remove use of OpenGL.h 2017-01-22 20:43:05 +07:00
Sergey Lipskiy
4e459c7645 Change type of CachedTexture name to graphics::ObjectHandle 2017-01-21 19:48:02 +07:00
Sergey Lipskiy
0887dda647 Rewrite post-processor gamma correction and orientation correction.
TODO: Bloom.
2017-01-18 22:39:10 +07:00
Sergey Lipskiy
41be8a20e8 Correct texturedRectShadowMap() and texturedRectMonochromeBackground() 2017-01-17 21:52:28 +07:00
Sergey Lipskiy
c5e2575722 Fixes 2017-01-16 20:56:13 +07:00
Sergey Lipskiy
e83c3489a3 Replace OGLVideo by DisplayWindow
Replace OGLRender by GraphicsDrawer
2017-01-16 20:56:11 +07:00
Sergey Lipskiy
06749dcf9e Remove GraphicsDrawer::_getTextSize 2017-01-16 20:56:08 +07:00
Sergey Lipskiy
4bdf22cac1 Implement GraphicsDrawer::_initData() GraphicsDrawer::_destroyData() GraphicsDrawer::_setSpecialTexrect() 2017-01-16 20:56:06 +07:00
Sergey Lipskiy
809987b515 Implement GraphicsDrawer::_initStates() 2017-01-16 20:56:04 +07:00
Sergey Lipskiy
5e67d79ae7 Implement Context::blitFramebuffers 2017-01-14 17:08:02 +07:00
Sergey Lipskiy
704378777d Implement GraphicsDrawer::copyTexturedRect 2017-01-14 15:58:14 +07:00
Sergey Lipskiy
52aa260153 Move GraphicsDrawer and TextDrawer interfaces to OpenGLContext 2017-01-12 22:22:53 +07:00
Sergey Lipskiy
fa3e7a0584 GraphicsDrawer WIP 2017-01-11 17:07:20 +07:00
Sergey Lipskiy
f92dd70d36 Rename Drawer to GraphicsDrawer 2017-01-11 13:08:05 +07:00