Wrath of Zeus
Made by Torchlight Games for CSE 125 SP24
Loading...
Searching...
No Matches
include
shared
audio
soundtype.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
#include <chrono>
5
#include <unordered_map>
6
7
using namespace
std::chrono_literals;
8
9
// Sounds that the client can decide to play on its own
10
// (e.g. BGM, clicking on UI elements...)
11
enum class
ClientMusic
{
12
MenuTheme
,
13
MazeExplorationPlayersTheme
,
14
MazeExplorationDMTheme
,
15
RelayRacePlayersTheme
,
16
RelayRaceDMTheme
17
// make sure to add to macro below!
18
};
19
20
#define GET_CLIENT_MUSICS() { \
21
ClientMusic::MenuTheme, ClientMusic::MazeExplorationPlayersTheme, \
22
ClientMusic::MazeExplorationDMTheme, ClientMusic::RelayRacePlayersTheme, \
23
ClientMusic::RelayRaceDMTheme \
24
}
25
26
enum class
ClientSFX
{
27
// TODO: decide what these are
28
VictoryThemePlayers
,
29
VictoryThemeDM
30
// make sure to add to macro below!
31
};
32
33
#define GET_CLIENT_SFXS() { \
34
ClientSFX::VictoryThemePlayers, ClientSFX::VictoryThemeDM, \
35
}
36
37
// Sounds that correspond to something in the game world
38
enum class
ServerSFX
{
39
ArrowShoot
,
40
ArrowImpact
,
41
FireballShoot
,
42
FireballImpact
,
43
SlimeJump
,
44
SlimeLand
,
45
PlayerJump
,
46
PlayerLand
,
47
PlayerWalk1
,
48
PlayerWalk2
,
49
PlayerWalk3
,
50
PlayerWalk4
,
51
PlayerWalk5
,
52
CeilingSpikeTrigger
,
53
CeilingSpikeImpact
,
54
TorchLoop
,
55
Thunder
,
56
Dagger
,
57
Sword
,
58
Hammer
,
59
Minotaur
,
60
Python
,
61
Teleport
,
62
Potion
,
63
Spell
,
64
ItemPickUp
,
65
ItemDrop
,
66
MirrorShatter
,
67
TEMP
,
68
PlayersStartTheme
,
69
ZeusStartTheme
,
70
ElectricHum
,
71
IntroGateOpen
,
72
Wind
,
73
MinotaurDeath
74
// make sure to add to server sfx len map!
75
// make sure to add to macro below!
76
};
77
78
const
std::unordered_map<ServerSFX, std::chrono::milliseconds>
SERVER_SFX_LENS
= {
79
{
ServerSFX::ArrowShoot
, 620ms},
80
{
ServerSFX::ArrowImpact
, 1030ms},
81
{
ServerSFX::FireballShoot
, 1220ms},
82
{
ServerSFX::FireballImpact
, 370ms},
83
{
ServerSFX::SlimeJump
, 610ms},
84
{
ServerSFX::SlimeLand
, 760ms},
85
{
ServerSFX::PlayerJump
, 500ms},
86
{
ServerSFX::PlayerLand
, 500ms},
87
{
ServerSFX::PlayerWalk1
, 500ms},
88
{
ServerSFX::PlayerWalk2
, 500ms},
89
{
ServerSFX::PlayerWalk3
, 500ms},
90
{
ServerSFX::PlayerWalk4
, 500ms},
91
{
ServerSFX::PlayerWalk5
, 500ms},
92
{
ServerSFX::Dagger
, 500ms},
93
{
ServerSFX::Sword
, 500ms},
94
{
ServerSFX::Hammer
, 1000ms},
95
{
ServerSFX::Minotaur
, 1000ms},
96
{
ServerSFX::Python
, 1000ms},
97
{
ServerSFX::CeilingSpikeTrigger
, 380ms},
98
{
ServerSFX::CeilingSpikeImpact
, 1180ms},
99
{
ServerSFX::Thunder
, 2500ms},
100
101
// used not for in game, but for the intro cutscene, so this is the duration of sound in intro cutscene
102
{
ServerSFX::TorchLoop
, 30000ms},
103
{
ServerSFX::Wind
, 14000ms},
104
105
{
ServerSFX::PlayersStartTheme
, 8000ms},
106
{
ServerSFX::ElectricHum
, 1500ms},
107
{
ServerSFX::IntroGateOpen
, 9000ms},
108
{
ServerSFX::ZeusStartTheme
, 12000ms},
109
{
ServerSFX::Teleport
, 500ms},
110
{
ServerSFX::Potion
, 500ms},
111
{
ServerSFX::Spell
, 500ms},
112
{
ServerSFX::ItemPickUp
, 500ms},
113
{
ServerSFX::ItemDrop
, 500ms},
114
{
ServerSFX::MirrorShatter
, 2000ms},
115
{
ServerSFX::MinotaurDeath
, 3100ms},
116
// dont forget macro below!
117
};
118
119
#define GET_SERVER_SFXS() { \
120
ServerSFX::ArrowShoot, ServerSFX::FireballShoot, ServerSFX::ArrowImpact, ServerSFX::FireballImpact, \
121
ServerSFX::SlimeJump, ServerSFX::SlimeLand, ServerSFX::PlayerJump, ServerSFX::PlayerLand, \
122
ServerSFX::PlayerWalk1, ServerSFX::PlayerWalk2, ServerSFX::PlayerWalk3, ServerSFX::PlayerWalk4, ServerSFX::PlayerWalk5, \
123
ServerSFX::CeilingSpikeTrigger, ServerSFX::CeilingSpikeImpact, ServerSFX::TorchLoop, ServerSFX::Thunder,\
124
ServerSFX::Dagger, ServerSFX::Sword, ServerSFX::Hammer, ServerSFX::Minotaur, ServerSFX::Python, \
125
ServerSFX::PlayersStartTheme, ServerSFX::ElectricHum, ServerSFX::IntroGateOpen, ServerSFX::ZeusStartTheme, \
126
ServerSFX::Wind, \
127
ServerSFX::Teleport, ServerSFX::Potion, ServerSFX::Spell, ServerSFX::ItemPickUp, ServerSFX::ItemDrop, \
128
ServerSFX::MirrorShatter, ServerSFX::MinotaurDeath \
129
}
130
131
// const std::unordered_map<ServerSound, size_t> serverSoundTickLengths = {
132
// {ServerSound::ArrowShoot, 100},
133
// };
134
135
std::string
getAudioPath
(
ClientMusic
music);
136
std::string
getAudioPath
(
ClientSFX
sfx);
137
std::string
getAudioPath
(
ServerSFX
sfx);
getAudioPath
std::string getAudioPath(ClientMusic music)
Definition:
soundtype.cpp:101
SERVER_SFX_LENS
const std::unordered_map< ServerSFX, std::chrono::milliseconds > SERVER_SFX_LENS
Definition:
soundtype.hpp:78
ServerSFX
ServerSFX
Definition:
soundtype.hpp:38
ServerSFX::PlayersStartTheme
@ PlayersStartTheme
ServerSFX::Teleport
@ Teleport
ServerSFX::MinotaurDeath
@ MinotaurDeath
ServerSFX::PlayerJump
@ PlayerJump
ServerSFX::Dagger
@ Dagger
ServerSFX::ElectricHum
@ ElectricHum
ServerSFX::FireballShoot
@ FireballShoot
ServerSFX::PlayerWalk4
@ PlayerWalk4
ServerSFX::IntroGateOpen
@ IntroGateOpen
ServerSFX::Wind
@ Wind
ServerSFX::ItemPickUp
@ ItemPickUp
ServerSFX::ItemDrop
@ ItemDrop
ServerSFX::ArrowImpact
@ ArrowImpact
ServerSFX::CeilingSpikeTrigger
@ CeilingSpikeTrigger
ServerSFX::Sword
@ Sword
ServerSFX::ArrowShoot
@ ArrowShoot
ServerSFX::SlimeLand
@ SlimeLand
ServerSFX::CeilingSpikeImpact
@ CeilingSpikeImpact
ServerSFX::Thunder
@ Thunder
ServerSFX::PlayerLand
@ PlayerLand
ServerSFX::MirrorShatter
@ MirrorShatter
ServerSFX::PlayerWalk2
@ PlayerWalk2
ServerSFX::Spell
@ Spell
ServerSFX::Python
@ Python
ServerSFX::TEMP
@ TEMP
ServerSFX::PlayerWalk5
@ PlayerWalk5
ServerSFX::FireballImpact
@ FireballImpact
ServerSFX::ZeusStartTheme
@ ZeusStartTheme
ServerSFX::Minotaur
@ Minotaur
ServerSFX::Hammer
@ Hammer
ServerSFX::PlayerWalk1
@ PlayerWalk1
ServerSFX::TorchLoop
@ TorchLoop
ServerSFX::PlayerWalk3
@ PlayerWalk3
ServerSFX::Potion
@ Potion
ServerSFX::SlimeJump
@ SlimeJump
ClientSFX
ClientSFX
Definition:
soundtype.hpp:26
ClientSFX::VictoryThemePlayers
@ VictoryThemePlayers
ClientSFX::VictoryThemeDM
@ VictoryThemeDM
ClientMusic
ClientMusic
Definition:
soundtype.hpp:11
ClientMusic::MazeExplorationPlayersTheme
@ MazeExplorationPlayersTheme
ClientMusic::MenuTheme
@ MenuTheme
ClientMusic::RelayRacePlayersTheme
@ RelayRacePlayersTheme
ClientMusic::RelayRaceDMTheme
@ RelayRaceDMTheme
ClientMusic::MazeExplorationDMTheme
@ MazeExplorationDMTheme
Generated by
1.9.5