Peoplemon  0.1.0
Peoplemon 3 game source documentation
Properties.hpp
Go to the documentation of this file.
1 #ifndef CORE_PROPERTIES_HPP
2 #define CORE_PROPERTIES_HPP
3 
4 #include <BLIB/Audio/AudioSystem.hpp>
5 #include <BLIB/Resources.hpp>
6 #include <BLIB/Util/NonCopyable.hpp>
8 #include <Core/Player/Gender.hpp>
9 #include <SFML/Graphics/Font.hpp>
10 #include <SFML/Graphics/Texture.hpp>
11 #include <string>
12 
20 namespace core
21 {
28 class Properties : private bl::util::NonCopyable {
29 public:
30  static const std::string& WindowIconFile();
31  static int WindowWidth();
32  static int WindowHeight();
33  static sf::Vector2f WindowSize();
34  static bool InEditor();
35 
36  static const std::string& SaveDirectory();
37  static const std::string& SaveExtension();
38 
39  static int PixelsPerTile();
40  static int ExtraRenderTiles();
41  static int LightingWidthTiles();
42  static int LightingHeightTiles();
43 
44  static const sf::VulkanFont& MenuFont();
45  static const std::string& MenuImagePath();
46  static const std::string& ImagePath();
47  static const std::string& AnimationPath();
48  static const std::string& SoundPath();
49 
50  static const std::string& SpritesheetPath();
51  static const std::string& MusicPath();
52  static const std::string& PlaylistPath();
53 
54  static const std::string& MapPath();
55  static const std::string& TilesetPath();
56  static const std::string& MapTilePath();
57  static const std::string& MapAnimationPath();
58 
59  static const std::string& ThunderSoundFile();
60  static const std::string& LightRainSoundFile();
61  static const std::string& HardRainSoundFile();
62 
63  static const std::string& RainDropFile();
64  static const std::string& RainSplash1File();
65  static const std::string& RainSplash2File();
66  static const std::string& SnowFlakeFile();
67  static const std::string& FogFile();
68  static const std::string& SandPatchFile();
69  static const std::string& SandSwirlFile();
70 
71  static float FrequentThunderMinInterval();
72  static float FrequentThunderMaxInterval();
73  static float InfrequentThunderMinInterval();
74  static float InfrequentThunderMaxInterval();
75 
76  static unsigned int LightRainParticleCount();
77  static unsigned int HardRainParticleCount();
78  static unsigned int LightSnowParticleCount();
79  static unsigned int HardSnowParticleCount();
80 
81  static unsigned int ThinFogAlpha();
82  static unsigned int ThickFogAlpha();
83 
84  static int LightRainLightModifier();
85  static int HardRainLightModifier();
86  static int LightSnowLightModifier();
87  static int HardSnowLightModifier();
88  static int ThinFogLightModifier();
89  static int ThickFogLightModifier();
90  static int SunnyLightModifier();
91  static int SandstormLightModifier();
92 
93  static const std::string& NpcFileExtension();
94  static const std::string& NpcPath();
95  static const std::string& TrainerFileExtension();
96  static const std::string& TrainerPath();
97  static const std::string& ConversationPath();
98  static const std::string& ConversationFileExtension();
99  static const std::string& LegacyPeoplemonPath();
100 
101  static const std::string& CharacterAnimationPath();
102  static float CharacterMoveSpeed();
103  static float FastCharacterMoveSpeed();
104  static float CharacterSpinPeriod();
105 
106  static const std::string& PlayerAnimations(player::Gender gender);
107 
108  static const std::string& ItemMetadataFile();
109  static const std::string& ItemSprite();
110 
111  static float GhostWriterSpeed();
112  static const std::string& TextboxFile();
113  static unsigned int HudFontSize();
114 
115  static const std::string& ScriptPath();
116 
117  static float ScreenFadePeriod();
118 
119  static const std::string& PeoplemonDBFile();
120  static const std::string& MoveDBFile();
121 
122  static sf::Color HPBarColor(float percent);
123  static sf::Color HPBarColor(unsigned int hp, unsigned int maxHp);
124  static std::string AilmentTexture(pplmn::Ailment ailment);
125  static const std::string& PeoplemonImageFolder();
126 
127  static bl::audio::AudioSystem::Handle MenuMoveSound();
128  static bl::audio::AudioSystem::Handle MenuMoveFailSound();
129  static bl::audio::AudioSystem::Handle MenuBackSound();
130 
131  static unsigned int WildPeoplemonChance();
132  static const std::string& TrainerExclaimImage();
133  static const std::string& TrainerExclaimSound();
134 
135  static constexpr std::uint32_t EvolutionSparkPipelineId = 200;
136  static constexpr std::uint32_t RaindropPipelineId = 201;
137  static constexpr std::uint32_t SnowflakePipelineId = 202;
138  static constexpr std::uint32_t FogPipelineId = 203;
139  static constexpr std::uint32_t SandstormSandPipelineId = 204;
140  static constexpr std::uint32_t SandstormSwirlPipelineId = 205;
141  static constexpr std::uint32_t TrainerIntroPipelineId = 206;
142  static constexpr std::uint32_t WildIntroPipelineId = 207;
143  static constexpr std::uint32_t BattlePeoplemonSparkPipelineId = 208;
144 
145  static constexpr std::uint32_t EditorConversationTreeShapePipelineId = 210;
146  static constexpr std::uint32_t EditorConversationTreeTextPipelineId = 211;
147 
155  static bool load(bool inEditor);
156 
161  static void save();
162 
163 private:
164  Properties() = default;
165 };
166 
167 } // namespace core
168 
169 #endif
Ailment
Represents an ailment that a Peoplemon can have.
Definition: Ailment.hpp:16
Gender
Possible genders for the player.
Definition: Gender.hpp:24
Core classes and functionality for both the editor and game.
Wrapper around bl::engine::Configuration. Provides application configuration in variables that may be...
Definition: Properties.hpp:28
static const std::string & MoveDBFile()
Definition: Properties.cpp:636
static int LightRainLightModifier()
Definition: Properties.cpp:475
static void save()
Saves the config to the data file.
Definition: Properties.cpp:242
static constexpr std::uint32_t EvolutionSparkPipelineId
Definition: Properties.hpp:135
static const std::string & AnimationPath()
Definition: Properties.cpp:327
static int SunnyLightModifier()
Definition: Properties.cpp:505
static int WindowWidth()
Definition: Properties.cpp:250
static const std::string & SandSwirlFile()
Definition: Properties.cpp:419
static const std::string & ItemSprite()
Definition: Properties.cpp:596
static const std::string & RainSplash2File()
Definition: Properties.cpp:395
static bool InEditor()
Definition: Properties.cpp:266
static bl::audio::AudioSystem::Handle MenuMoveFailSound()
Definition: Properties.cpp:707
static const sf::VulkanFont & MenuFont()
Definition: Properties.cpp:363
static const std::string & NpcFileExtension()
Definition: Properties.cpp:515
static const std::string & MapAnimationPath()
Definition: Properties.cpp:357
static const std::string & TrainerPath()
Definition: Properties.cpp:533
static int HardRainLightModifier()
Definition: Properties.cpp:480
static int HardSnowLightModifier()
Definition: Properties.cpp:490
static constexpr std::uint32_t RaindropPipelineId
Definition: Properties.hpp:136
static const std::string & LightRainSoundFile()
Definition: Properties.cpp:371
static int SandstormLightModifier()
Definition: Properties.cpp:510
static const std::string & ConversationPath()
Definition: Properties.cpp:539
static const std::string & ScriptPath()
Definition: Properties.cpp:618
static bl::audio::AudioSystem::Handle MenuBackSound()
Definition: Properties.cpp:712
static float InfrequentThunderMaxInterval()
Definition: Properties.cpp:460
static int ThickFogLightModifier()
Definition: Properties.cpp:500
static const std::string & HardRainSoundFile()
Definition: Properties.cpp:377
static const std::string & MapPath()
Definition: Properties.cpp:339
static int PixelsPerTile()
Definition: Properties.cpp:279
static constexpr std::uint32_t SnowflakePipelineId
Definition: Properties.hpp:137
static const std::string & ConversationFileExtension()
Definition: Properties.cpp:545
static unsigned int HardRainParticleCount()
Definition: Properties.cpp:430
static float CharacterSpinPeriod()
Definition: Properties.cpp:585
static const std::string & PeoplemonDBFile()
Definition: Properties.cpp:630
static std::string AilmentTexture(pplmn::Ailment ailment)
Definition: Properties.cpp:653
static const std::string & MusicPath()
Definition: Properties.cpp:315
static const std::string & ThunderSoundFile()
Definition: Properties.cpp:365
static const std::string & MapTilePath()
Definition: Properties.cpp:351
static const std::string & PlayerAnimations(player::Gender gender)
Definition: Properties.cpp:573
static unsigned int ThinFogAlpha()
Definition: Properties.cpp:470
static unsigned int LightSnowParticleCount()
Definition: Properties.cpp:435
static unsigned int WildPeoplemonChance()
Definition: Properties.cpp:678
static const std::string & SandPatchFile()
Definition: Properties.cpp:413
static float CharacterMoveSpeed()
Definition: Properties.cpp:563
static const std::string & NpcPath()
Definition: Properties.cpp:521
static float FrequentThunderMinInterval()
Definition: Properties.cpp:445
static const std::string & SoundPath()
Definition: Properties.cpp:696
static constexpr std::uint32_t BattlePeoplemonSparkPipelineId
Definition: Properties.hpp:143
static const std::string & TilesetPath()
Definition: Properties.cpp:345
static bl::audio::AudioSystem::Handle MenuMoveSound()
Definition: Properties.cpp:702
static const std::string & TrainerExclaimSound()
Definition: Properties.cpp:690
static float FrequentThunderMaxInterval()
Definition: Properties.cpp:450
static const std::string & FogFile()
Definition: Properties.cpp:407
static const std::string & MenuImagePath()
Definition: Properties.cpp:303
static sf::Vector2f WindowSize()
Definition: Properties.cpp:262
static const std::string & SpritesheetPath()
Definition: Properties.cpp:309
static constexpr std::uint32_t FogPipelineId
Definition: Properties.hpp:138
static const std::string & RainSplash1File()
Definition: Properties.cpp:389
static const std::string & CharacterAnimationPath()
Definition: Properties.cpp:557
static float InfrequentThunderMinInterval()
Definition: Properties.cpp:455
static const std::string & TextboxFile()
Definition: Properties.cpp:607
static constexpr std::uint32_t EditorConversationTreeTextPipelineId
Definition: Properties.hpp:146
static int LightingWidthTiles()
Definition: Properties.cpp:291
static sf::Color HPBarColor(float percent)
Definition: Properties.cpp:647
static constexpr std::uint32_t TrainerIntroPipelineId
Definition: Properties.hpp:141
static float FastCharacterMoveSpeed()
Definition: Properties.cpp:568
static int LightingHeightTiles()
Definition: Properties.cpp:297
static const std::string & TrainerFileExtension()
Definition: Properties.cpp:527
static int WindowHeight()
Definition: Properties.cpp:256
static constexpr std::uint32_t WildIntroPipelineId
Definition: Properties.hpp:142
static int ExtraRenderTiles()
Definition: Properties.cpp:285
static const std::string & RainDropFile()
Definition: Properties.cpp:383
static float GhostWriterSpeed()
Definition: Properties.cpp:602
static const std::string & PlaylistPath()
Definition: Properties.cpp:321
static const std::string & ImagePath()
Definition: Properties.cpp:333
static unsigned int LightRainParticleCount()
Definition: Properties.cpp:425
static const std::string & SaveExtension()
Definition: Properties.cpp:274
static const std::string & ItemMetadataFile()
Definition: Properties.cpp:590
static unsigned int ThickFogAlpha()
Definition: Properties.cpp:465
static const std::string & SnowFlakeFile()
Definition: Properties.cpp:401
static bool load(bool inEditor)
Loads from the config file and sets defaults. Must be called before using any properties.
Definition: Properties.cpp:119
static const std::string & PeoplemonImageFolder()
Definition: Properties.cpp:672
static const std::string & LegacyPeoplemonPath()
Definition: Properties.cpp:551
static int ThinFogLightModifier()
Definition: Properties.cpp:495
static float ScreenFadePeriod()
Definition: Properties.cpp:624
static unsigned int HudFontSize()
Definition: Properties.cpp:613
static constexpr std::uint32_t EditorConversationTreeShapePipelineId
Definition: Properties.hpp:145
static unsigned int HardSnowParticleCount()
Definition: Properties.cpp:440
static constexpr std::uint32_t SandstormSandPipelineId
Definition: Properties.hpp:139
static const std::string & SaveDirectory()
Definition: Properties.cpp:268
static const std::string & WindowIconFile()
Definition: Properties.cpp:244
static int LightSnowLightModifier()
Definition: Properties.cpp:485
static const std::string & TrainerExclaimImage()
Definition: Properties.cpp:684
static constexpr std::uint32_t SandstormSwirlPipelineId
Definition: Properties.hpp:140