Just so I don't lose current progress on 2.0...
Some checks failed
Build / Build Game (push) Has been cancelled

This commit is contained in:
2026-01-10 03:07:06 -05:00
parent 1f1ac0db4d
commit 8b2edd1359
31 changed files with 4 additions and 0 deletions

129
src/resources.hpp Normal file
View 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);
};
}