Skip to content

Commit 5de52b2

Browse files
committed
mapping: Add Centaur.
1 parent 63d0e83 commit 5de52b2

File tree

2 files changed

+193
-0
lines changed

2 files changed

+193
-0
lines changed

VisualPinball.Engine.PinMAME.Unity/Editor/PinMameGamelogicEngineInspector.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ private void OnEnable()
6060

6161
_games = new PinMameGame[] {
6262
new AttackFromMars(),
63+
new Centaur(),
6364
new CreatureFromTheBlackLagoon(),
6465
new FlashGordon(),
6566
new MedievalMadness(),
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
// Visual Pinball Engine
2+
// Copyright (C) 2023 freezy and VPE Team
3+
//
4+
// This program is free software: you can redistribute it and/or modify
5+
// it under the terms of the GNU General Public License as published by
6+
// the Free Software Foundation, either version 3 of the License, or
7+
// (at your option) any later version.
8+
//
9+
// This program is distributed in the hope that it will be useful,
10+
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
// GNU General Public License for more details.
13+
//
14+
// You should have received a copy of the GNU General Public License
15+
// along with this program. If not, see <https://www.gnu.org/licenses/>.
16+
17+
// ReSharper disable StringLiteralTypo
18+
19+
using System;
20+
using VisualPinball.Engine.Game.Engines;
21+
using VisualPinball.Engine.PinMAME.MPUs;
22+
23+
namespace VisualPinball.Engine.PinMAME.Games
24+
{
25+
[Serializable]
26+
public class Centaur : Bally
27+
{
28+
public override string Name => "Centaur";
29+
public override string Id => "centaur";
30+
public override int Year => 1981;
31+
public override string Manufacturer => "Bally";
32+
public override int IpdbId => 476;
33+
34+
public override PinMameRom[] Roms { get; } = {
35+
new("centaur"),
36+
new("centaura", description: "Free Play"),
37+
new("centaurb", "Rev. 27", description: "Free Play"),
38+
};
39+
40+
protected override PinMameIdAlias[] Aliases { get; } = {
41+
};
42+
43+
protected override GamelogicEngineSwitch[] Switches { get; } = {
44+
new(1) { Description = "4th Ball Through", DeviceHint = "^Trough\\s*\\d?", DeviceItemHint = "4" },
45+
new(2) { Description = "5th Ball Through", DeviceHint = "^Trough\\s*\\d?", DeviceItemHint = "5" },
46+
new(3) { Description = "Top Right Lane" },
47+
new(4) { Description = "Top Middle Lane" },
48+
new(5) { Description = "Top Left Lane" },
49+
new(6) { Description = "Credit Button" },
50+
new(7) { Description = "" },
51+
new(8) { Description = "Outhole", DeviceHint = "^Trough\\s*\\d?", DeviceItemHint = "drain_switch" },
52+
new(9) { Description = "Coin III (Right)" },
53+
new(10) { Description = "Coin I (Left)" },
54+
new(11) { Description = "Coin II (Middle)" },
55+
new(12) { Description = "Top Left Lane R.O. Button" },
56+
new(13) { Description = "" },
57+
new(14) { Description = "" },
58+
new(15) { Description = "Tilt" },
59+
new(16) { Description = "Slam" },
60+
new(17) { Description = "1st Ball Through", DeviceHint = "^Trough\\s*\\d?", DeviceItemHint = "1" },
61+
new(18) { Description = "Left Side R.O. Button" },
62+
new(19) { Description = "Orbs Right Lane Target" },
63+
new(20) { Description = "Inline Back Target" },
64+
new(21) { Description = "Left & Right Flipper Button" },
65+
new(22) { Description = "Reset 1-4 Targets" },
66+
new(23) { Description = "" },
67+
new(24) { Description = "Top Spot 1-4 Target" },
68+
new(25) { Description = "Right 4 Drop Target \"4\" (Bottom)" },
69+
new(26) { Description = "Right 4 Drop Target \"3\"" },
70+
new(27) { Description = "Right 4 Drop Target \"2\"" },
71+
new(28) { Description = "Right 4 Drop Target \"1\" (Top)" },
72+
new(29) { Description = "\"S\" Drop Target" },
73+
new(30) { Description = "\"B\" Drop Target" },
74+
new(31) { Description = "\"R\" Drop Target" },
75+
new(32) { Description = "\"O\" Drop Target" },
76+
new(33) { Description = "End of Trough" },
77+
new(34) { Description = "10 Point Rebound (5)" },
78+
new(35) { Description = "" },
79+
new(36) { Description = "" },
80+
new(37) { Description = "Right Slingshot" },
81+
new(38) { Description = "Left Slingshot" },
82+
new(39) { Description = "Right Thumper Bumper" },
83+
new(40) { Description = "Left Thumper Bumper" },
84+
new(41) { Description = "1st Inline Drop Target" },
85+
new(42) { Description = "2nd Inline Drop Target" },
86+
new(43) { Description = "3rd Inline Drop Target" },
87+
new(44) { Description = "4th Inline Drop Target" },
88+
new(45) { Description = "Right Outlane" },
89+
new(46) { Description = "Right Return Lane" },
90+
new(47) { Description = "Left Return Lane" },
91+
new(48) { Description = "Left Outlane" },
92+
};
93+
94+
public override GamelogicEngineLamp[] AvailableLamps { get; } = {
95+
new(2) { Description = "Middle 1" },
96+
new(18) { Description = "Middle 2" },
97+
new(34) { Description = "Middle 3" },
98+
new(50) { Description = "Middle 4" },
99+
new(3) { Description = "Middle 5" },
100+
new(19) { Description = "Middle 6" },
101+
new(35) { Description = "Middle 7" },
102+
new(51) { Description = "Middle 8" },
103+
new(4) { Description = "Middle 9" },
104+
new(20) { Description = "Middle 10" },
105+
new(26) { Description = "Middle 20" },
106+
new(42) { Description = "Middle 40" },
107+
new(58) { Description = "Middle 60" },
108+
new(5) { Description = "Middle 2x" },
109+
new(21) { Description = "Middle 3x" },
110+
new(37) { Description = "Middle 4x" },
111+
new(53) { Description = "Middle 5x" },
112+
113+
new(12) { Description = "Bottom 1" },
114+
new(28) { Description = "Bottom 2" },
115+
new(44) { Description = "Bottom 3" },
116+
new(60) { Description = "Bottom 4" },
117+
118+
new(17) { Description = "When Lit" },
119+
120+
new(54) { Description = "5K 1 (left)" },
121+
new(38) { Description = "5K 2" },
122+
new(22) { Description = "5K 3" },
123+
new(6) { Description = "5K 4 (right)" },
124+
125+
new(9) { Description = "Left Lane 10" },
126+
new(25) { Description = "Left Lane 20" },
127+
new(41) { Description = "Left Lane 30" },
128+
new(57) { Description = "Left Lane 40" },
129+
new(10) { Description = "Left Lane 50" },
130+
131+
new(46) { Description = "Left Resets 1-4 Targets Arrow" },
132+
133+
new(56) { Description = "Center Drop \"O\"" },
134+
new(40) { Description = "Center Drop \"R\"" },
135+
new(24) { Description = "Center Drop \"B\"" },
136+
new(8) { Description = "Center Drop \"S\"" },
137+
138+
new(14) { Description = "Center SPL" },
139+
new(30) { Description = "Center 50" },
140+
141+
new(33) { Description = "Release (Right Lane)" },
142+
new(49) { Description = "Collect Bonus Arrow" },
143+
144+
new(15) { Description = "Bonus 2x" },
145+
new(31) { Description = "Bonus 3x" },
146+
new(47) { Description = "Bonus 4x" },
147+
new(63) { Description = "Bonus 5x" },
148+
149+
new(55) { Description = "Right Drop 10" },
150+
new(39) { Description = "Right Drop 20" },
151+
new(23) { Description = "Right Drop 40" },
152+
new(7) { Description = "Right Drop 80" },
153+
154+
new(84) { Description = "Queen's Chamber Upper" },
155+
new(68) { Description = "Queen's Chamber Lower" },
156+
157+
new(36) { Description = "Release (Top Left)" },
158+
new(52) { Description = "SPL (Top Left)" },
159+
160+
new(100) { Description = "Yellow Round Top Left" },
161+
new(62) { Description = "Green Round Top Right" },
162+
163+
new(97) { Description = "Rollover 1 (Left)" },
164+
new(81) { Description = "Rollover 2" },
165+
new(65) { Description = "Rollover 3 (Right)" },
166+
167+
new(114) { Description = "Left Thumper Bumper" },
168+
new(98) { Description = "Right Thumper Bumper" },
169+
170+
new(59) { Description = "Bottom Left" },
171+
};
172+
173+
protected override GamelogicEngineCoil[] GameCoils { get; } = {
174+
new(7) { Description = "Outhole Kicker" }, // 01
175+
new(6) { Description = "Knocker" }, // 02
176+
new(8) { Description = "Inline Drop Target Reset" }, // 03
177+
new(9) { Description = "4 Right Drop Target Reset" }, // 04
178+
new(10) { Description = "Left Thumper Bumper" }, // 05
179+
new(11) { Description = "Right Thumper Bumper" }, // 06
180+
new(12) { Description = "Left Slingshot" }, // 07
181+
new(13) { Description = "Right Slingshot" }, // 08
182+
new(1) { Description = "Orbs Target Reset" }, // 09
183+
new(2) { Description = "Right 4 Drop Target \"1\" (top)" }, // 10
184+
new(3) { Description = "Right 4 Drop Target \"2\"" }, // 11
185+
new(5) { Description = "Right 4 Drop Target \"3\"" }, // 12
186+
new(5) { Description = "Right 4 Drop Target \"4\" (bottom)" }, // 13
187+
new(15) { Description = "Ball Release" }, // 14
188+
new(14) { Description = "Ball Kick to Playfield" }, // 15
189+
new(18) { Description = "Coin Lockout Door" }, // 16
190+
};
191+
}
192+
}

0 commit comments

Comments
 (0)