From 08d4735ee8e51280e4803df61c37b80168d625a1 Mon Sep 17 00:00:00 2001 From: SpinDizzy Date: Thu, 18 Feb 2021 10:29:15 +0000 Subject: [PATCH] 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. --- Config/Games.xml | 122 +- Makefiles/Rules.inc | 8 +- Src/Game.h | 12 +- Src/GameLoader.cpp | 36 +- Src/GameLoader.h | 9 +- Src/Model3/DriveBoard.cpp | 1144 ----------------- Src/Model3/DriveBoard/BillBoard.cpp | 192 +++ Src/Model3/DriveBoard/BillBoard.h | 117 ++ Src/Model3/DriveBoard/DriveBoard.cpp | 426 ++++++ Src/Model3/DriveBoard/DriveBoard.h | 322 +++++ Src/Model3/DriveBoard/JoystickBoard.cpp | 731 +++++++++++ .../JoystickBoard.h} | 174 +-- Src/Model3/DriveBoard/SkiBoard.cpp | 266 ++++ Src/Model3/DriveBoard/SkiBoard.h | 158 +++ Src/Model3/DriveBoard/WheelBoard.cpp | 749 +++++++++++ Src/Model3/DriveBoard/WheelBoard.h | 215 ++++ Src/Model3/Model3.cpp | 413 +++--- Src/Model3/Model3.h | 43 +- Src/OSD/Outputs.cpp | 7 +- Src/OSD/Outputs.h | 9 +- Src/OSD/SDL/Main.cpp | 4 +- Src/Supermodel.h | 6 +- Src/Util/NewConfig.h | 16 +- 23 files changed, 3611 insertions(+), 1568 deletions(-) delete mode 100644 Src/Model3/DriveBoard.cpp create mode 100644 Src/Model3/DriveBoard/BillBoard.cpp create mode 100644 Src/Model3/DriveBoard/BillBoard.h create mode 100644 Src/Model3/DriveBoard/DriveBoard.cpp create mode 100644 Src/Model3/DriveBoard/DriveBoard.h create mode 100644 Src/Model3/DriveBoard/JoystickBoard.cpp rename Src/Model3/{DriveBoard.h => DriveBoard/JoystickBoard.h} (53%) create mode 100644 Src/Model3/DriveBoard/SkiBoard.cpp create mode 100644 Src/Model3/DriveBoard/SkiBoard.h create mode 100644 Src/Model3/DriveBoard/WheelBoard.cpp create mode 100644 Src/Model3/DriveBoard/WheelBoard.h diff --git a/Config/Games.xml b/Config/Games.xml index 7ba58f5..c7d206b 100644 --- a/Config/Games.xml +++ b/Config/Games.xml @@ -2,9 +2,9 @@ Supermodel A Sega Model 3 Arcade Emulator. Copyright 2011-2017 Bart Trzynadlowski, Nik Henson, Ian Curtis - + Games.xml - + This file defines ROM sets and is required in order to recognize and properly load them. Do not modify this unless you really know what you're doing! --> @@ -171,6 +171,7 @@ Sega Model 3 2.1 DSB2 + Wheel 24 true @@ -246,7 +247,7 @@ - + @@ -263,6 +264,7 @@ Sega Model 3 2.1 DSB2 + Wheel true @@ -295,7 +297,7 @@ - + @@ -342,6 +344,7 @@ Sega Model 3 2.1 DSB2 + Wheel 0x16C311DB true @@ -399,7 +402,7 @@ - + @@ -416,6 +419,7 @@ Sega Model 3 2.1 DSB2 + Wheel 0x16C311DB true @@ -448,6 +452,7 @@ Sega Model 3 2.1 DSB2 + Wheel 0x16C311DB true @@ -468,7 +473,7 @@ - + Dirt Devils @@ -480,6 +485,7 @@ Sega Model 3 2.1 DSB2 + Wheel 0x16C311DB true @@ -512,6 +518,7 @@ Sega Model 3 2.1 DSB2 + Wheel 0x16C311DB true @@ -543,6 +550,7 @@ Sega Model 3 2.1 + Wheel @@ -607,7 +615,7 @@ - + @@ -623,6 +631,7 @@ Sega Model 3 2.1 + Wheel @@ -668,6 +677,7 @@ Sega Model 3 2.1 + Wheel @@ -689,7 +699,7 @@ - + Emergency Call Ambulance @@ -700,6 +710,7 @@ Sega Model 3 2.1 + Wheel @@ -732,6 +743,7 @@ Sega Model 3 2.0 + Billboard 24 @@ -797,9 +809,12 @@ + + + - + Fighting Vipers 2 @@ -1013,6 +1028,7 @@ Sega Model 3 1.5 + Wheel true @@ -1077,7 +1093,7 @@ - + @@ -1272,7 +1288,7 @@ - + 0x292B6A01 @@ -1340,6 +1356,7 @@ Sega Model 3 1.5 DSB1 + Wheel true @@ -1406,7 +1423,7 @@ - + @@ -1423,6 +1440,7 @@ Sega Model 3 1.5 DSB1 + Wheel true @@ -1456,6 +1474,7 @@ Sega Model 3 1.5 DSB1 + Wheel true @@ -1527,6 +1546,7 @@ Sega Model 3 1.5 DSB1 + Wheel true @@ -1555,7 +1575,7 @@ - + @@ -1572,6 +1592,7 @@ Sega Model 3 1.5 DSB1 + Wheel MPC106 true @@ -1601,7 +1622,7 @@ - + @@ -1617,6 +1638,7 @@ Sega Model 3 2.0 + Ski true @@ -1650,7 +1672,7 @@ - + @@ -1869,6 +1891,7 @@ Sega Model 3 2.0 DSB2 + Wheel true @@ -1942,7 +1965,7 @@ - + @@ -1959,6 +1982,7 @@ Sega Model 3 2.0 DSB2 + Wheel @@ -2001,7 +2025,7 @@ - + Sega Rally 2 @@ -2013,6 +2037,7 @@ Sega Model 3 2.0 DSB2 + Wheel @@ -2049,7 +2074,7 @@ - + Sega Rally 2 @@ -2065,6 +2090,7 @@ Sega Model 3 2.0 DSB2 + Wheel 48 @@ -2076,14 +2102,14 @@ - @@ -2149,6 +2175,7 @@ Sega Model 3 2.1 DSB2 + Joystick @@ -2226,11 +2253,11 @@ - - + + - + @@ -2245,6 +2272,7 @@ Sega Model 3 2.1 DSB2 + Joystick @@ -2274,7 +2302,7 @@ - + Star Wars Trilogy Arcade @@ -2286,6 +2314,7 @@ Sega Model 3 2.1 DSB2 + Joystick @@ -2362,6 +2391,7 @@ Sega Model 3 1.0 + Billboard @@ -2423,6 +2453,9 @@ + + + @@ -2436,6 +2469,7 @@ Sega Model 3 1.0 + Billboard @@ -2463,6 +2497,7 @@ Sega Model 3 1.0 + Billboard @@ -2490,6 +2525,7 @@ Sega Model 3 1.0 + Billboard @@ -2524,6 +2560,7 @@ Sega Model 3 2.0 + Billboard 0x16C311DB true @@ -2588,6 +2625,9 @@ + + + @@ -2601,6 +2641,7 @@ Sega Model 3 2.0 + Billboard 0x16C311DB true @@ -2629,6 +2670,7 @@ Sega Model 3 2.0 + Billboard 0x16C311DB true @@ -2646,7 +2688,7 @@ - + Virtual On 2: Oratorio Tangram @@ -2657,6 +2699,7 @@ Sega Model 3 2.0 + Billboard 0x16C311DB true @@ -2685,6 +2728,7 @@ Sega Model 3 2.0 + Billboard @@ -2746,6 +2790,9 @@ + + + @@ -2759,6 +2806,7 @@ Sega Model 3 1.5 + Billboard MPC106 @@ -2787,6 +2835,7 @@ Sega Model 3 1.5 + Billboard MPC106 @@ -2815,6 +2864,7 @@ Sega Model 3 2.0 + Billboard @@ -2825,10 +2875,10 @@ -