Commit graph

728 commits

Author SHA1 Message Date
SpinDizzy e4998f57fd Skichamp Driveboard error fix. 2021-02-18 10:35:38 +00:00
SpinDizzy 08d4735ee8 Huge refactor of the Driveboard:
-Separate each possible boards (wheel, joystick, skipad, billboard).
-Defined a Driveboard type in Games.xml for each games.
-Due to the refactoring, Driveboard Savestates have changed (a common base data + a specific board data are saved).
-Backwards compatibility with previous save states is maintained.
-Driveboard rom section is no longer required anymore. This disables Driveboard emulation in case the rom is not found.
-Added Billboard emulation (vf3, vs2, fvipers2, von2). 7 segments and lamps Outputs are redirected to Supermodel outputs.
-Changes project to C++ 17 standard.
2021-02-18 10:29:15 +00:00
SpinDizzy ab367774d3 Introduce new config keywords.
In xinput mode, lets the choice to have left and right gamepad motors vibrate together.
XInputStereoVibration = 1 (both motors) [default]
XInputStereoVibration = 0 (separate motors)

In sdl input mode, new control option to set minimum strength above which a Model 3 constant force command will be simulated on an sdl gamepad device.
SDLConstForceThreshold = 30 [default]
note : the vibration strength can be mod with SDLConstForceMax = [val]
2021-01-30 09:54:03 +00:00
SpinDizzy 6627b1e95f The controls of bass/getbass games were no longer good, following recent rom set name changes in Games.xml. 2021-01-05 14:24:57 +00:00
SpinDizzy 6626afc8bb Added rumble skipad in Ski Champ game.
This is only a simulation (cmd are interpreted), not an emulation because we lack informations on the game itself and its driveboard (does it have dedicated cpu/rom ?).
2020-12-30 17:14:14 +00:00
SpinDizzy 34c24c0104 - Suppressed net board console output (using debug logging now)
- Added GPL headers to net board source files
2020-12-28 16:22:12 +00:00
SpinDizzy 53185c3eff Introducing a special release build target with SVN version stamping. 2020-12-24 10:20:26 +00:00
SpinDizzy 1f50519905 Magical Truck Adventure rom patch to unlock region. (enter service menu, then Start P1, Start P1, Service, Start P1, Service, Test) 2020-12-21 15:39:15 +00:00
Ian Curtis 72c0c60c98 -wide-bg option to stretch the background tile layer when wide-screen mode is enabled - Daro Land 2020-12-20 18:17:34 +00:00
SpinDizzy 7d2b21a6dc Change the duration of constant force effect in SDL2 to correct daytona games 2020-12-01 07:35:52 +00:00
SpinDizzy 5143669cb9 Star Wars Trilogy lever feedback activated 2020-10-24 09:12:54 +00:00
SpinDizzy 402baf87b8 Force Feeback for Linux 2020-10-21 08:19:51 +00:00
Ian Curtis db013491b4 hopefully fix building on linux 2020-09-19 14:45:51 +00:00
SpinDizzy 981cdc33f5 Added Screenshot feature (ALT+S). 2020-09-19 07:54:26 +00:00
SpinDizzy ca57659fcb Remove using namespace from headers. 2020-09-16 07:03:03 +00:00
Ian Curtis c0729c1048 fix compiling with visual studio 2020-09-15 08:51:23 +00:00
Ian Curtis 75f8ee61a3 fix missing polys with quad renderer 2020-09-14 20:01:52 +00:00
SpinDizzy 309537d64e Balance initial value set to "0" rather than "false". "False" is interpreted as 0 when decoded as a float, so there will be no effect here, but this expresses the intended logic better. 2020-09-14 07:01:54 +00:00
SpinDizzy 72b2c0eb28 Fixed a longstanding bug that caused stereo channels to be flipped incorrectly.
This was due to the initial audio buffer write position being aligned to the middle of a 4 byte (2 byte left, 2 byte right) audio sample.
In multi-threaded mode, some sort of race condition caused this alignment to be fixed until audio playback was temporarily paused (via pausing, loading a state, etc.)
Audio playback should now be fixed and work consistently in all cases.
2020-09-14 06:59:38 +00:00
Ian Curtis 38c3ff61f9 Clip scroll fog to viewport, instead of filling entire screen. Fixes fog bug in Daytona credits. 2020-09-08 09:10:24 +00:00
Ian Curtis aaa26f678c Update scroll fog logic. Should fix the credits in virtua fighter and daytona that have fogging applied to the background layer and shouldn't. 2020-09-07 16:25:18 +00:00
SpinDizzy 60c923f45f - Reworked logging system to support output to multiple outputs: files, stdout, stderr, and syslog (OutputDebugString on Windows, syslog on other systems).
- Added ordinal logging level: all, debug, info, error. Compiling with DEBUG defined is no longer necessary for debug logging. Be careful when logging debug level because it produces copious output.
- Fixed -enter-debugger options when compiled with SUPERMODEL_DEBUGGER.
- Command line parse errors no longer ignored; Supermodel will now exit.
2020-08-31 09:28:35 +00:00
SpinDizzy 6491ed46a7 Rename command line SCSP option to -legacy-scsp and -new-scsp 2020-08-26 16:14:54 +00:00
SpinDizzy d3955062e4 Correct the returned value from previous getbass patch
There was a strange side effect on Ocean Hunter game
2020-08-26 16:05:23 +00:00
SpinDizzy 9e8e993026 Getbass related
Game now boots in game
Add missing analog input and buttons
2020-08-25 08:48:25 +00:00
SpinDizzy 97d61a970c Small oversight in the new SCSP code 2020-08-24 10:09:01 +00:00
Ian Curtis 816d541b98 Various SCSP improvements and code cleanup:
- Ported MAME's implementation
- Corrected FM sound for songs in VF3 that use it 
- Music tempo now closer to real hardware thanks to emulating two SCSP chips.
- Add LegacySoundDSP config option for games with SCSP DSP glitches (ex. engine noises in Sega Rally 2, and loud garbage on Bahn's stage in Fighting Vipers 2)
- Renamed SysFPS to "SoundClock" (since raising this appears to adjust the sound frequency).

(Submitted by Paul Prosser)
2020-08-22 20:41:47 +00:00
SpinDizzy 27cda80abb Low level z80 core bug
Discovered when looking at lemans ffb board (real Model3 rom, not Model2 stcc one)
This could affect other ffb board and/or scud race DSB1 sound board
However I didn't notice any bad things
2020-08-22 09:00:13 +00:00
Ian Curtis d77433b525 Remove some debug code 2020-08-01 09:02:04 +00:00
Ian Curtis ba917aca6d Update glew version 2020-07-31 19:18:51 +00:00
Ian Curtis 5e434e2644 build fixes for mac 2020-07-27 10:28:48 +00:00
SpinDizzy 6af882548f Linux build compatibility changes 2020-07-03 09:15:08 +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 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 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