Ian Curtis
5e434e2644
build fixes for mac
2020-07-27 10:28:48 +00:00
SpinDizzy
858b84f424
skichamp rom patch : prevent driveboard error at boot
2020-07-27 09:02:07 +00:00
SpinDizzy
6af882548f
Linux build compatibility changes
2020-07-03 09:15:08 +00:00
SpinDizzy
12081a9ff7
Update makefiles
2020-07-03 09:08:03 +00:00
Ian Curtis
f7d75b783d
silence a few casting warnings
2020-07-01 17:51:21 +00:00
SpinDizzy
a73a06d546
Netboard related : Define a new hardware line in games.xml
2020-07-01 15:56:21 +00:00
SpinDizzy
345310fbee
_rotl() replacement
2020-06-17 16:31:22 +00:00
Ian Curtis
9a651bdb61
Only try and make a connection if we have enabled EmulateNet
2020-06-17 15:11:58 +00:00
Ian Curtis
1a3407bec8
Fix corrupted memory in network mode
2020-06-17 11:41:41 +00:00
Ian Curtis
597ea93749
remove old files
2020-06-16 12:01:13 +00:00
Ian Curtis
daef27be37
Replace network code with new tcp implementation
2020-06-16 11:55:38 +00:00
Ian Curtis
8071efbf79
Add SDLnetworking + some basic tcp classes
2020-06-13 19:46:12 +00:00
Ian Curtis
d688fdd3d5
cache variable, without it is unusably slow in debug mode
2020-06-12 17:33:21 +00:00
Ian Curtis
8b4a4ec93f
add missing file
2020-06-10 09:12:34 +00:00
Ian Curtis
90df4afbad
update vs project files
2020-06-08 14:27:37 +00:00
Ian Curtis
f69d7c7006
fix output values
2020-06-08 10:14:03 +00:00
Ian Curtis
6f6c98c671
The translator map seems to work with paletted colour values too, and the result is not clamped. Colours are passed to the GPU as unsigned bytes to multiplying by 16 will overflow, so we do the logic in the shader. If we passed floats we could skip the shader logic.
2020-05-11 09:05:46 +00:00
Ian Curtis
e2ad593e88
When the translator map is enabled the colour values seem to use 4 bits, 0-16. Why not 0-31 I don't know. Anyway virtua on is overflowing these values for some of the smoke effects. For us the numbers were wrapping around. Clamping is enough to fix this. (Thanks model123)
2020-05-07 19:34:22 +00:00
SpinDizzy
5b406059ce
custom resolution bug fix
2020-04-24 07:04:41 +00:00
SpinDizzy
4f347ff3f1
SDL1 to SDL2 internal changes
2020-04-19 08:34:58 +00:00
Ian Curtis
14e2a50212
remove files
2020-01-22 18:44:30 +00:00
SpinDizzy
247921dce4
2020-01-22 17:36:22 +00:00
Ian Curtis
5ace960f14
tweak value so the map indicator still works at the start of spikeout
2020-01-04 18:15:30 +00:00
Ian Curtis
6b8a29105a
Sutherland-Hodgeman clipping only works for planar primitives. Scud is rendering non planar quads and this breaks our algorithm a little when using the quad renderer. Stretching the near plane a few % is enough to fix it.
2020-01-04 13:48:14 +00:00
Ian Curtis
d711afade1
Only need to clip against 4 planes for poly culling
2020-01-04 13:45:55 +00:00
Ian Curtis
605dad2c02
Fix the sky in harley in first person mode where pixels in the sky are culled when they shouldn't be with the quad renderer. Basically we were running out of precision in a rare corner case. Doing the maths with double precision and casting back to float was enough to fix the issue.
2019-12-27 21:36:46 +00:00
Ian Curtis
a5858e635d
To calculate the mipmap value the opengl needs to calculate the difference in the texture coordinates between adjacent pixels. If there are no adjacent pixels the hw may need to spawn invisible fragments outside of the visible polygon. Our algorithm was culling these out so the mipamp calculation failed for edge pixels. Anyway this fixes quad rendering looking broken with the latest nvidia drivers.
2019-12-10 11:40:39 +00:00
Ian Curtis
06688de5fc
Really should cull against 5 frustum planes.
2019-11-15 20:00:25 +00:00
Ian Curtis
e1827cfd13
Stretch the time the ping_pong bit flips a bit to bump writes into correct frame. Otherwise they end up getting written at like 99.8% of the frame and overlapping with the next.
2019-11-08 20:36:11 +00:00
Ian Curtis
ed2816cea4
Optimise Games.xml (Krom)
2019-11-08 19:38:20 +00:00
Ian Curtis
2e6968fe9d
Thanks to our anonymous contributor who managed to patch a model 3 game and run it on real h/w, we were able to obtain some timing values we had been long been missing for correct emulation. The h/w polls something called the ping_pong bit at start-up to sync the GPU with the CPU. Unfortunately we didn't have the correct values and just manually used some per game hacks to get games to run. This mostly worked, but some games were writing more or less frames than they should have been for a given time period. When the ping_pong bit flips at 66% of the frame time, games were writing data for a new frame, which meant writes were often straddling 2 separate frames. We aren't 100% sure if IRQ2 or the ping_pong bit is vblank.
2019-11-07 20:29:17 +00:00
Ian Curtis
06b43c45b3
Ocean hunter in the middle of the game is passing a few matrices with FLT_MAX inside them, which blows apart our near/far calculation. The hardware must have some method to sanitize the near/far for instance if you render something extremely close to the origin you will also blow apart any near/far calc.
2019-11-02 20:11:48 +00:00
Ian Curtis
714f6a123a
skip invalid culling nodes
2019-07-28 12:14:13 +00:00
Ian Curtis
17f4103123
A culling node must follow immediately after a viewport.
2019-07-26 16:39:58 +00:00
Ian Curtis
cc830003f5
Fix possible negative pointer arithmetic which was causing the music to wrap around.
2019-02-22 01:00:41 +00:00
Ian Curtis
a76e46e3b8
Update makefiles
2019-02-21 14:57:57 +00:00
Ian Curtis
8aa476aeeb
Previous mpeg audio code worked for me in debug mode, but the release build had some serious corruption issues when being built in visual studio. Replaced the old spaghetti code with a more modern implementation.
2019-02-21 14:56:25 +00:00
SpinDizzy
c86dab0fe9
- Disabled Alt-O (dump timings) and Alt-U (dump input state) when
...
SUPERMODEL_DEBUGGER not defined
- Option '-print-inputs' works again if no ROM set specified
2019-02-19 09:24:31 +00:00
SpinDizzy
6fe878b1d3
Restore Sega Rally 2 music in some practice stages
2019-02-07 06:32:46 +00:00
SpinDizzy
383e6ac85c
Fixed MPEG music looping glitch.
2019-02-05 10:30:50 +00:00
SpinDizzy
bb89bc8e54
Refactor code from previous svn768 (Note : break old savestate compatibility)
2019-02-05 10:03:50 +00:00
Ian Curtis
90faeafbc4
Fix the audio in sega rally2. The game has packed separate tracks into the left and right audio channels. Selecting the correct track fixes the garbled mess. (Spindizzi)
2019-02-01 21:02:02 +00:00
Ian Curtis
f634d19fdc
Fix shader. Why this worked on my nvidia card .. I'm not sure.
2019-01-24 19:11:26 +00:00
Ian Curtis
8094c2e2b7
Composite the alpha layers at the end of rendering. To do this we need to mask the alpha pixels with the opaque pixels from the next priority layer. Fixes some overlapping shadows in vf3tb that have different priority layers. I assume that was a game bug, but it works on the real h/w.
2019-01-21 14:30:42 +00:00
SpinDizzy
c171356f7d
-Added support for specifying multiple sections simultaneously in INI
...
files, e.g., [ daytona2, dayto2pe ]
-Forgetfulness in 763
2019-01-20 08:02:01 +00:00
Ian Curtis
864bb36b5a
Technically backface culling should cull polys when the dot product = 0, since when it equals 0 the polys is perpendicular to the camera and thus invisible. When you complete sega rally2 (if you can get that far lol) the champagne is invisible. The reason is because all the face normals are 0. So when multiplied by the model matrix they are still 0 and get culled. Tweaking the condition to only cull polys when greater than 0 fixes this, and allows these 'bad' polys to render as they do on the model3.
2019-01-16 01:07:56 +00:00
SpinDizzy
98106df68b
Inputs can now be configured on a per-game basis
2019-01-13 16:20:19 +00:00
SpinDizzy
b0813ef7a0
- PCI bridge can be specified in Games.xml for games that use a different version than expected based on stepping. No more hard-coded exceptions.
...
- Real3D PCI ID can be specified in Games.xml for exceptions that require it.
- Real3D status bit timing specified in Games.xml for exceptions that require it.
2019-01-13 16:00:37 +00:00
Ian Curtis
d8f736e7a8
timing fix for srally2x (Spindizzi)
2019-01-06 23:48:34 +00:00
Ian Curtis
24cbc401b9
Updates games.xml for new prototype games (Spindizzi)
2019-01-06 23:43:27 +00:00