Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
PennybagsCatalog.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "DataBanks.hpp"
4
5#include <cstdint>
6#include <optional>
7
8namespace monopoly::udsound
9{
10 enum class PennybagsVoice : std::uint16_t
11 {
13 Menu_old = 1,
25 GameStarted_old = 13,
30 RollDice_Cannon = 18,
31 RollDice_Car = 19,
32 RollDice_Dog = 20,
33 RollDice_Hat = 21,
34 RollDice_Iron = 22,
35 RollDice_Horse = 23,
36 RollDice_Ship = 24,
37 RollDice_Shoe = 25,
42 SayDiceRoll_2 = 30,
43 SayDiceRoll_3 = 31,
44 SayDiceRoll_4 = 32,
45 SayDiceRoll_5 = 33,
46 SayDiceRoll_6 = 34,
47 SayDiceRoll_7 = 35,
48 SayDiceRoll_8 = 36,
49 SayDiceRoll_9 = 37,
50 SayDiceRoll_10 = 38,
51 SayDiceRoll_11 = 39,
52 SayDiceRoll_12 = 40,
54 BuyBoardSide1 = 42,
55 BuyBoardSide2 = 43,
56 BuyBoardSide3 = 44,
57 BuyBoardSide4 = 45,
58 BuyRailroad = 46,
59 BuyUtility = 47,
60 LandOn_Chance = 48,
62 ChanceCard = 50,
70 CollectMoney_Go = 58,
74 Auction = 62,
92 Calculator = 80,
93 TradeScreen = 81,
103 Auction_Building = 91,
104 Auction_Once = 92,
105 Auction_Twice = 93,
111 Bankrupt = 99,
112 GameOver = 100,
113 PlayAgain = 101,
114 Exit = 102,
115 Proposal_GoodDeal = 103,
118 WelcomeGame = 106,
122 NewPlayerEnterName = 110,
123 NameComputerPlayer = 111,
134 ChooseCurrency = 122,
136 NegotiateRules = 124,
137 Doubles = 125,
138 RollAgain = 126,
144 AIInitiatesTrade = 132,
145 Count
146 };
147
148 static_assert(static_cast<std::uint16_t>(PennybagsVoice::Count) == 133);
149
151 {
153 std::uint8_t alternateCount{};
154 };
155
156 [[nodiscard]] const PennybagsChoice* pennybagsChoice(
157 data::BoardEdition edition, PennybagsVoice voice) noexcept;
158 [[nodiscard]] std::optional<data::DataId> pennybagsVoiceAt(
159 data::BoardEdition edition, PennybagsVoice voice,
160 std::uint8_t alternateIndex) noexcept;
161 [[nodiscard]] std::optional<data::DataId> choosePennybagsVoice(
162 data::BoardEdition edition, PennybagsVoice voice,
163 std::uint32_t randomValue) noexcept;
164}
unsigned index
std::uint16_t DataTag
Definition DataBanks.hpp:11
std::optional< data::DataId > choosePennybagsVoice(data::BoardEdition edition, PennybagsVoice voice, std::uint32_t randomValue) noexcept
const PennybagsChoice * pennybagsChoice(data::BoardEdition edition, PennybagsVoice voice) noexcept
std::optional< data::DataId > pennybagsVoiceAt(data::BoardEdition edition, PennybagsVoice voice, std::uint8_t alternateIndex) noexcept