1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-06-30 08:24:05 +00:00
Commit Graph

148 Commits

Author SHA1 Message Date
DaMarkov
15b6650851 Added more null pointer checks. 2022-02-23 04:58:50 +01:00
DaMarkov
4897b053a9 Added more null pointer checks to avoid a crash in RSP_LoadMatrix. 2022-02-23 04:40:19 +01:00
DaMarkov
f2df41128c Added null pointer check to gSPLight. 2022-02-23 04:02:55 +01:00
DaMarkov
e07e8c69df Added a null pointer check to gSPDisplayList. 2022-02-23 03:59:56 +01:00
Blake Warner
403658b456 used bit 1 to signify segment address lookup 2022-02-10 23:54:51 -05:00
Blake Warner
a054cb622b stripped unneeded files and changed default config options 2022-01-31 16:41:02 -05:00
Blake Warner
0255e10db6 native port 2022-01-29 17:22:09 -05:00
Sergey Lipskiy
30e4d3416b Minor code cleanup in gSPCullVertices 2022-01-16 18:07:24 +07:00
Sergey Lipskiy
4ec006f57d Debug print TextureDetail mode in gSPSetOtherMode_H 2021-08-07 22:21:34 +07:00
s2s
fe244c5560 Update widescreen hack 2021-04-19 21:55:00 +07:00
Sergey Lipskiy
3d67ac4630 Fix clipping 2021-04-19 21:55:00 +07:00
s2s
81318c5445 Use screen coordinates to render primitives 2021-04-19 21:55:00 +07:00
Sergey Lipskiy
7d237650ef Correct texture coordinates calculation in gSPSprite2DBase.
Fixed WipEout 64 Texture Pack #2423
2021-01-24 19:40:47 +07:00
Sergey Lipskiy
46c65776a0 Code refactor and cleanup:
* type cast fixes
* signed/unsigned fixes
* code formatting fixes
* class members initialization fixes
2020-11-14 16:54:28 +07:00
Sergey Lipskiy
2616ba9587 Code cleanup. 2020-05-11 18:17:46 +07:00
Sergey Lipskiy
c8cbafff71 Use the second color section of the Light structure for vertices with odd index (1, 3, ...).
Both color sections of the Light structure must store the same color,
but it is not so for SM64.

Fixed #2212 SM64 koopa's shorts are not correct in hle
2020-05-03 12:10:09 +07:00
Sergey Lipskiy
a2d731b4db Update viewport on clip ratio change. 2020-04-06 20:01:53 +07:00
Sergey Lipskiy
022b375614 RE2 related fixes:
* fixed gSPModifyVertex for case when primitive depth enabled
* fixed GraphicsDrawer::isRejected for case when coordinates of vertex set by gSPModifyVertex
* fixed writeDepth() shader for RE2

Fixed various issues mentioned in #2152
2020-03-18 14:50:45 +07:00
Francisco Zurita
c06c593eba Improve logging information 2019-04-23 11:15:41 +07:00
Sergey Lipskiy
c57909e2e9 Reset gSP.geometryMode at display list load and display list end.
Fixed culling issue in Triple Play 2000.
2019-04-01 15:21:08 +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
31e2c7e11a Correct lighting for CBFD.
Code refactoring.
2019-01-13 01:07:20 +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
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
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
7aa360c900 Clear fog parameters in gSPLoadUcodeEx.
Fixed Zelda OOT wrong fog [HLE] #640
2018-11-03 15:40:41 +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
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
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
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
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
b0a575313a Implement Factor5 ucodes for Indiana Jones/Battle of Naboo, task #1259 2018-06-16 18:41:50 +07:00
Sergey Lipskiy
3ff1478103 Add matix element conversion functions. 2018-06-11 20:12:13 +07:00
gizmo98
95d5264300 Add better matrix load, insert and store fixed to float logic 2018-06-09 12:29:01 +02:00
gizmo98
35f4ad3b28 gSP.cpp: Replace _FIXED2FLOAT if there is no real fixed to float conversion
Use * recip instead
2018-06-02 21:35:32 +07:00
gizmo98
4750e10076 Use _FIXED2FLOATCOLOR 2018-06-02 21:35:32 +07:00
gizmo98
bb00ed3f4f gSPInsertMatrix remove (int) cast and use copysignf
Fraction value gets lost if float is cast to int. Use copysignf to
transfer sign from fraction to newvalue.
2018-06-02 21:35:32 +07:00
gizmo98
a8349418ce Use _FIXED2FLOAT
Replace x/65536 and x*0.00390625f with _FIXED2FLOAT
2018-06-02 21:35:32 +07:00
Logan McNaughton
e80577e105 Allow non-0 default framebuffer 2018-05-22 08:25:24 -06:00
Sergey Lipskiy
6725ad474a Fix warnings of 64bit compiler. 2018-05-06 15:54:12 +07:00
Logan McNaughton
18e9a73eba Cache SpecialFeatures check 2018-04-07 11:30:33 +07:00
Gillou68310
592c732ef3 Implement BOSS ZSort ucode (WDC, Stunt Racer) 2018-02-12 12:28:58 +01:00
Sergey Lipskiy
acc884ac0b Apply Acclaim point lighting for vertices, which also shaded by standard lighting.
Fixed #1683 Turok 2: Seeds of Evil (and maybe other Iguana made games) - Object Dynamic Light Issue
2017-12-16 13:10:15 +07:00