gm-matthew
6d5aeb1da5
Specular lighting works differently on flat-shaded polys
...
Also lower multIndex values for smooth-shaded specular, more accurate to real hardware
2024-07-26 17:22:35 +01:00
dukeeeey
5fa402f2f5
Merge pull request #165 from gm-matthew/widescreen
...
Don't expand culling planes unless widescreen is enabled
2024-07-19 16:32:45 +01:00
gm-matthew
d7fdba0620
Don't expend culling planes unless widescreen is enabled
2024-07-19 14:19:09 +01:00
gm-matthew
a2645c944f
Give PowerPC more cycles to acknowledge sound IRQs
...
400 cycles was not enough and would cause VF3 to hang. 1000 cycles should be more than plenty
2024-07-13 18:50:31 -07:00
Ian Curtis
5a8cddd09a
remove dead code
2024-07-13 12:14:54 +01:00
Ian Curtis
79868e0ad3
fix compilation
2024-07-08 12:19:06 +01:00
dukeeeey
40bb7acbf7
Merge pull request #160 from gm-matthew/textureNP
...
Texture mipmaps must be at least 2x2
2024-07-06 18:47:05 +01:00
gm-matthew
2b186e688c
Texture mipmaps must be at least 2x2
...
Fixes sky in Dirt Devils
2024-07-06 00:04:52 +01:00
dukeeeey
ee5d6523c8
Merge pull request #159 from gm-matthew/textureNP
...
Implementing texture NP values
2024-07-05 17:21:14 +01:00
gm-matthew
3cf8a1fa94
Implementing texture NP values
...
For some reason Model 3 uses vertex coordinates rather than texel coordinates to calculate mipmap levels
Revised microtexture implementation; results are very close to real hardware when running at native resolution with supersampling disabled
2024-07-05 15:57:25 +01:00
Ian Curtis
19612e1b13
fix merge error
2024-06-13 13:43:42 +01:00
Ian Curtis
4d1484c0c9
merge conflicts
2024-06-13 13:40:30 +01:00
Ian Curtis
edb11dc223
Performance improvements
...
The old texture code was being bottle necked by the texture reads. We mirrored the real3d texture memory directly, including the mipmaps in a single large texture. I *think* most h/w has some sort of texture cache for a 2x2 or 4x4 block of pixels for a texture. What we were doing was reading the base texture, then reading the mipmap data from a totally separate part of the same texture which I can only assume flushed this cache. What I did was to create mipmap chains for the texture sheet, then copy the mipmap data there. Doing this basically doubles performance.
2024-06-13 13:36:30 +01:00
gm-matthew
42e236be0d
Add comment briefly explaining optimization
2024-06-10 15:25:13 -07:00
gm-matthew
f30a8ee2a8
Minor shader optimization
...
If the mipmap level is 0.0, we only need to run texBiLinear() for the highest quality texture mipmap
Adds around 10-20% more performance in Daytona 2
2024-06-10 15:25:13 -07:00
Ian Curtis
a6466b353d
spelling
2024-06-01 19:20:35 +01:00
Ian Curtis
21e148599a
Fix some missing scroll fog background effects in ECA
2024-06-01 10:38:40 +01:00
gm-matthew
7d32bde074
When disabling sound IRQs via MIDI control port, clear current IRQ
...
Prevents Dirt Devils hanging during boot
2024-05-22 15:36:15 -07:00
dukeeeey
976f0208dc
Merge pull request #151 from gm-matthew/sound-irq
...
Sound IRQs are acknowledged by writing to MIDI data port
2024-05-20 19:31:25 +01:00
gm-matthew
8a0bf29dd8
Sound IRQs are acknowledged by writing to MIDI data port
2024-05-20 13:38:45 +01:00
dukeeeey
7b02f58694
Merge pull request #149 from gm-matthew/scuddxo
...
Only access SCSI device at 0xC0xxxxxx if it has been configured to do so
2024-05-04 20:22:42 +01:00
gm-matthew
3e394d1257
Only access SCSI device at 0xC0xxxxxx if it has been configured to do so
...
Fixes some step 1.5 games not working in last update
2024-05-04 19:43:02 +01:00
dukeeeey
2245fca796
Merge pull request #147 from gm-matthew/scuddxo
...
Adding newly dumped version of Scud Race
2024-05-02 23:29:47 +01:00
gm-matthew
39dc16d8ba
Use integer value for game stepping
2024-05-02 23:25:53 +01:00
gm-matthew
944e4855d9
Adding newly dumped version of Scud Race
...
Allow Step 1.5 games to access 53C810 via 0xC00000xx if the netboard is disabled, because scuddxo requires this
2024-05-02 15:43:37 +01:00
Bart Trzynadlowski
250f84e78e
Updated .gitignore to exclude build directories and Supermodel release directories
2024-04-05 14:28:07 -07:00
dukeeeey
dec85032ba
Merge pull request #138 from h0tw1r3/fix/2d-shaders
...
Fix 2D texture rendering on OSX
2024-03-14 10:30:48 +00:00
Bart Trzynadlowski
d9f48db5db
CLogger: destructor needs to be virtual
2024-03-09 20:56:50 -08:00
Jeffrey Clark
93f622ee25
cleanup code format
2024-03-06 01:07:56 -06:00
Jeffrey Clark
047b15c210
fix 2d shaders on OSX
2024-03-06 02:11:21 -06:00
baraclese
1bb7de1dd9
fix segfault in CMultiLogger
...
vsprintf may change its va_list argument so repeatedly calling it with the same va_list arg is undefined behavior.
Fix this by creating a copy of the va_list argument before each vsprintf call.
2024-03-05 16:07:47 -08:00
Bart Trzynadlowski
e59ecea32d
PowerPC frequency determined by board stepping, config option is now just an override
2024-01-28 21:08:12 -08:00
Jacob Oxford
620a581227
No need to have changelog from 2011 in Readme.txt anymore.
2023-12-30 15:32:11 -08:00
Ian Curtis
75260f9f2c
Clamp LODscale. If the object is drawn at zero we produce an Inf value which will produce Nans with later calculations.
2023-12-29 13:28:10 +00:00
Ian Curtis
0e07f29f80
Amend ambient fog logic
...
Should stop the sky flashing in lemans24, and the background totally disappearing in sega rally after a game. The logic here is still not totally understood but works well enough for the games.
2023-12-27 12:42:32 +00:00
Ian Curtis
c039d08c03
Add supersampling anti-aliasing
...
Late christmas present. Due to the way alpha works on the model3 adding regular anti-aliasing doesn't really work. Supersampling is very much a brute force solution, render the scene at a higher resolution and mipmap it.
It's enabled via command line with the -ss option, for example -ss=4 for 4x supersampling or by adding Supersampling = 4 in the config file.
Note non power of two values work as well, so 3 gives a very good balance between speed and quality. 8 will make your GPU bleed, since it is essentially rendering 64 pixels for every visible pixel on the screen.
2023-12-26 18:25:03 +00:00
dukeeeey
33b84c89aa
Merge pull request #122 from gm-matthew/floatZ
...
Floating point reversed z-buffer and new clipping code
2023-12-22 17:06:35 +00:00
gm-matthew
6acb1165d4
Added new uniform bool polyAlpha to shaders
...
Added original matrix functions back into Mat4 class though they are currently unused
2023-12-22 16:31:05 +00:00
gm-matthew
9f66fcaac7
Floating point reversed z-buffer and new clipping code
...
Also always draw nodes with culling disabled even if they test as being outside the visible frustum
2023-12-22 02:00:47 +00:00
dukeeeey
6f409539a7
Merge pull request #120 from gm-matthew/patch
...
Fixed Scud Race Plus "ROLLING START" patch
2023-12-04 13:08:11 +00:00
gm-matthew
5b9e97008c
Fixed Scud Race Plus "ROLLING START" patch
...
Accidentally patched the wrong memory location in Scud Race Plus
2023-12-04 02:33:00 +00:00
dukeeeey
a19ba3cba8
Merge pull request #118 from firewave/uninit
...
Model3.cpp: avoid usage of uninitialized memory
2023-12-03 18:22:30 +00:00
dukeeeey
11e9b14e73
Merge pull request #117 from firewave/mismatch
...
Inputs/MultiInputSource.cpp: fixed mismatching allocation and deallocation
2023-12-03 18:17:12 +00:00
firewave
71e5baa61b
Model3.cpp: avoid usage of uninitialized memory
...
```
==213531== Thread 20 SoundBoardNoSyn:
==213531== Conditional jump or move depends on uninitialised value(s)
==213531== at 0x1A1D1E: CModel3::RunSoundBoardThread() (Model3.cpp:2607)
==213531== by 0x49BECEA: UnknownInlinedFun (SDL_thread.c:292)
==213531== by 0x49BECEA: RunThread.lto_priv.0 (SDL_systhread.c:76)
==213531== by 0x4F719EA: start_thread (pthread_create.c:444)
==213531== by 0x4FF5653: clone (clone.S:100)
```
2023-12-03 14:46:23 +01:00
firewave
1cc94b7d79
Inputs/MultiInputSource.cpp: fixed mismatching allocation and deallocation
...
Detected by Cppcheck:
```
Src/Inputs/MultiInputSource.cpp:87:3: error: Mismatching allocation and deallocation: CMultiInputSource::m_srcArray [mismatchAllocDealloc]
delete m_srcArray;
^
```
2023-12-03 14:43:22 +01:00
firewave
5332d8f945
fixed some -Wunused-*
compiler warnings
2023-12-02 14:27:32 -08:00
dukeeeey
391e1b9622
Merge pull request #113 from gm-matthew/handbrake
...
Dirt Devils does not use the handbrake
2023-12-01 17:08:09 +00:00
gm-matthew
da62fa8640
Dirt Devils does not use the handbrake
2023-12-01 14:48:25 +00:00
Ian Curtis
df0034ac1f
fix minor error
2023-11-18 22:56:15 +00:00
Ian Curtis
bd63400471
Optimise shader code (gm_matthew)
2023-11-17 22:22:50 +00:00