Just so I don't lose current progress on 2.0...
Some checks failed
Build / Build Game (push) Has been cancelled
Some checks failed
Build / Build Game (push) Has been cancelled
This commit is contained in:
129
src/resources.hpp
Normal file
129
src/resources.hpp
Normal file
@@ -0,0 +1,129 @@
|
||||
#pragma once
|
||||
|
||||
#include "resource/anm2.h"
|
||||
#include "resource/audio.h"
|
||||
#include "resource/dialogue.h"
|
||||
#include "resource/font.h"
|
||||
#include "resource/shader.h"
|
||||
|
||||
namespace game::audio
|
||||
{
|
||||
#define AUDIO \
|
||||
X(BLIP, "resources/sfx/blip.ogg") \
|
||||
X(ADVANCE, "resources/sfx/advance.ogg") \
|
||||
X(BOUNCE, "resources/sfx/bounce.ogg") \
|
||||
X(BURP_1, "resources/sfx/burp1.ogg") \
|
||||
X(BURP_2, "resources/sfx/burp2.ogg") \
|
||||
X(BURP_3, "resources/sfx/burp3.ogg") \
|
||||
X(GRAB, "resources/sfx/grab.ogg") \
|
||||
X(MISS, "resources/sfx/miss.ogg") \
|
||||
X(OK, "resources/sfx/ok.ogg") \
|
||||
X(GOOD, "resources/sfx/good.ogg") \
|
||||
X(GREAT, "resources/sfx/great.ogg") \
|
||||
X(EXCELLENT, "resources/sfx/excellent.ogg") \
|
||||
X(PERFECT, "resources/sfx/perfect.ogg") \
|
||||
X(FALL, "resources/sfx/fall.ogg") \
|
||||
X(COMMON, "resources/sfx/common.ogg") \
|
||||
X(UNCOMMON, "resources/sfx/uncommon.ogg") \
|
||||
X(RARE, "resources/sfx/rare.ogg") \
|
||||
X(EPIC, "resources/sfx/epic.ogg") \
|
||||
X(LEGENDARY, "resources/sfx/legendary.ogg") \
|
||||
X(SPECIAL, "resources/sfx/special.ogg") \
|
||||
X(IMPOSSIBLE, "resources/sfx/impossible.ogg") \
|
||||
X(SCORE_LOSS, "resources/sfx/scoreLoss.ogg") \
|
||||
X(HIGH_SCORE, "resources/sfx/highScore.ogg") \
|
||||
X(HIGH_SCORE_BIG, "resources/sfx/highScoreBig.ogg") \
|
||||
X(HIGH_SCORE_LOSS, "resources/sfx/highScoreLoss.ogg") \
|
||||
X(GURGLE_1, "resources/sfx/gurgle1.ogg") \
|
||||
X(GURGLE_2, "resources/sfx/gurgle2.ogg") \
|
||||
X(GURGLE_3, "resources/sfx/gurgle3.ogg") \
|
||||
X(RELEASE, "resources/sfx/release.ogg") \
|
||||
X(SUMMON, "resources/sfx/summon.ogg") \
|
||||
X(RETURN, "resources/sfx/return.ogg") \
|
||||
X(DISPOSE, "resources/sfx/dispose.ogg") \
|
||||
X(RUB, "resources/sfx/rub.ogg") \
|
||||
X(THROW, "resources/sfx/throw.ogg")
|
||||
|
||||
enum Type
|
||||
{
|
||||
#define X(symbol, path) symbol,
|
||||
AUDIO
|
||||
#undef X
|
||||
COUNT
|
||||
};
|
||||
|
||||
static constexpr const char* PATHS[] = {
|
||||
#define X(symbol, path) path,
|
||||
AUDIO
|
||||
#undef X
|
||||
};
|
||||
|
||||
#undef AUDIO
|
||||
|
||||
static constexpr Type BURPS[] = {BURP_1, BURP_2, BURP_3};
|
||||
static constexpr Type GURGLES[] = {GURGLE_1, GURGLE_2, GURGLE_3};
|
||||
}
|
||||
|
||||
namespace game::texture
|
||||
{
|
||||
#define TEXTURES X(BG, "resources/gfx/bg.png")
|
||||
|
||||
enum Type
|
||||
{
|
||||
#define X(symbol, path) symbol,
|
||||
TEXTURES
|
||||
#undef X
|
||||
COUNT
|
||||
};
|
||||
|
||||
static constexpr const char* PATHS[] = {
|
||||
#define X(symbol, path) path,
|
||||
TEXTURES
|
||||
#undef X
|
||||
};
|
||||
|
||||
#undef TEXTURES
|
||||
}
|
||||
|
||||
namespace game::anm2
|
||||
{
|
||||
#define ANM2 \
|
||||
X(CHARACTER, "resources/anm2/snivy.anm2") \
|
||||
X(ITEMS, "resources/anm2/items.anm2") \
|
||||
X(CURSOR, "resources/anm2/cursor.anm2")
|
||||
|
||||
enum Anm2Type
|
||||
{
|
||||
#define X(symbol, path) symbol,
|
||||
ANM2
|
||||
#undef X
|
||||
COUNT
|
||||
};
|
||||
|
||||
static constexpr const char* PATHS[] = {
|
||||
#define X(symbol, path) path,
|
||||
ANM2
|
||||
#undef X
|
||||
};
|
||||
|
||||
#undef ANM2
|
||||
}
|
||||
|
||||
namespace game
|
||||
{
|
||||
class Resources
|
||||
{
|
||||
|
||||
public:
|
||||
resource::Shader shaders[resource::shader::COUNT];
|
||||
resource::Audio audio[audio::COUNT];
|
||||
resource::Texture textures[texture::COUNT];
|
||||
anm2::Anm2 anm2s[anm2::COUNT];
|
||||
resource::Font font{"resources/font/font.ttf"};
|
||||
resource::Dialogue dialogue{"resources/dialogue.xml"};
|
||||
|
||||
Resources();
|
||||
void sound_play(audio::Type);
|
||||
void set_audio_gain(float vol);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user