summaryrefslogtreecommitdiff
path: root/core/src/cpp/assets.h
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-12-23 15:28:05 +0100
committerNikita Kostovsky <nikita@kostovsky.me>2025-12-23 15:28:05 +0100
commitc055eeef6d41269d11b2ddf7f9aba6f8867da65d (patch)
treedcd9baaec93c50a8ab49656be86ea248c17421fd /core/src/cpp/assets.h
initial commitHEADmaster
Diffstat (limited to 'core/src/cpp/assets.h')
-rw-r--r--core/src/cpp/assets.h585
1 files changed, 585 insertions, 0 deletions
diff --git a/core/src/cpp/assets.h b/core/src/cpp/assets.h
new file mode 100644
index 0000000..8c0790a
--- /dev/null
+++ b/core/src/cpp/assets.h
@@ -0,0 +1,585 @@
+#pragma once
+
+#include <array>
+#include <string>
+
+/*
+ * Pixel Dungeon
+ * Copyright (C) 2012-2015 Oleg Dolya
+ *
+ * Shattered Pixel Dungeon
+ * Copyright (C) 2014-2025 Evan Debenham
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General License for more details.
+ *
+ * You should have received a copy of the GNU General License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ */
+
+namespace Assets {
+namespace Effects {
+static inline std::string EFFECTS = "effects/effects.png";
+static inline std::string FIREBALL = "effects/fireball.png";
+static inline std::string SPECKS = "effects/specks.png";
+static inline std::string SPELL_ICONS = "effects/spell_icons.png";
+static inline std::string TEXT_ICONS = "effects/text_icons.png";
+} // namespace Effects
+
+namespace Environment {
+static inline std::string TERRAIN_FEATURES = "environment/terrain_features.png";
+static inline std::string VISUAL_GRID = "environment/visual_grid.png";
+static inline std::string WALL_BLOCKING = "environment/wall_blocking.png";
+static inline std::string TILES_SEWERS = "environment/tiles_sewers.png";
+static inline std::string TILES_PRISON = "environment/tiles_prison.png";
+static inline std::string TILES_CAVES = "environment/tiles_caves.png";
+static inline std::string TILES_CITY = "environment/tiles_city.png";
+static inline std::string TILES_HALLS = "environment/tiles_halls.png";
+static inline std::string TILES_CAVES_CRYSTAL = "environment/tiles_caves_crystal.png";
+static inline std::string TILES_CAVES_GNOLL = "environment/tiles_caves_gnoll.png";
+static inline std::string WATER_SEWERS = "environment/water0.png";
+static inline std::string WATER_PRISON = "environment/water1.png";
+static inline std::string WATER_CAVES = "environment/water2.png";
+static inline std::string WATER_CITY = "environment/water3.png";
+static inline std::string WATER_HALLS = "environment/water4.png";
+static inline std::string WEAK_FLOOR = "environment/custom_tiles/weak_floor.png";
+static inline std::string SEWER_BOSS = "environment/custom_tiles/sewer_boss.png";
+static inline std::string PRISON_QUEST = "environment/custom_tiles/prison_quest.png";
+static inline std::string PRISON_EXIT = "environment/custom_tiles/prison_exit.png";
+static inline std::string CAVES_QUEST = "environment/custom_tiles/caves_quest.png";
+static inline std::string CAVES_BOSS = "environment/custom_tiles/caves_boss.png";
+static inline std::string CITY_QUEST = "environment/custom_tiles/city_quest.png";
+static inline std::string CITY_BOSS = "environment/custom_tiles/city_boss.png";
+static inline std::string HALLS_SP = "environment/custom_tiles/halls_special.png";
+} // namespace Environment
+
+namespace Fonts {
+static inline std::string PIXELFONT = "fonts/pixel_font.png";
+}
+
+namespace Interfaces {
+static inline std::string ARCS_BG = "interfaces/arcs1.png";
+
+static inline std::string ARCS_FG = "interfaces/arcs2.png";
+
+static inline std::string BANNERS = "interfaces/banners.png";
+
+static inline std::string BADGES = "interfaces/badges.png";
+
+static inline std::string LOCKED = "interfaces/locked_badge.png";
+
+static inline std::string CHROME = "interfaces/chrome.png";
+
+static inline std::string ICONS = "interfaces/icons.png";
+
+static inline std::string STATUS = "interfaces/status_pane.png";
+
+static inline std::string MENU = "interfaces/menu_pane.png";
+
+static inline std::string MENU_BTN = "interfaces/menu_button.png";
+
+static inline std::string TOOLBAR = "interfaces/toolbar.png";
+
+static inline std::string SHADOW = "interfaces/shadow.png";
+
+static inline std::string BOSSHP = "interfaces/boss_hp.png";
+
+static inline std::string SURFACE = "interfaces/surface.png";
+
+static inline std::string BUFFS_SMALL = "interfaces/buffs.png";
+
+static inline std::string BUFFS_LARGE = "interfaces/large_buffs.png";
+
+static inline std::string TALENT_ICONS = "interfaces/talent_icons.png";
+
+static inline std::string TALENT_BUTTON = "interfaces/talent_button.png";
+
+static inline std::string HERO_ICONS = "interfaces/hero_icons.png";
+
+static inline std::string RADIAL_MENU = "interfaces/radial_menu.png";
+} // namespace Interfaces
+
+namespace Messages {
+static inline std::string ACTORS = "messages/actors/actors";
+
+static inline std::string ITEMS = "messages/items/items";
+
+static inline std::string JOURNAL = "messages/journal/journal";
+
+static inline std::string LEVELS = "messages/levels/levels";
+
+static inline std::string MISC = "messages/misc/misc";
+
+static inline std::string PLANTS = "messages/plants/plants";
+
+static inline std::string SCENES = "messages/scenes/scenes";
+
+static inline std::string UI = "messages/ui/ui";
+
+static inline std::string WINDOWS = "messages/windows/windows";
+} // namespace Messages
+
+namespace Music {
+static inline std::string THEME_1 = "music/theme_1.ogg";
+
+static inline std::string THEME_2 = "music/theme_2.ogg";
+
+static inline std::string THEME_FINALE = "music/theme_finale.ogg";
+
+static inline std::string SEWERS_1 = "music/sewers_1.ogg";
+
+static inline std::string SEWERS_2 = "music/sewers_2.ogg";
+
+static inline std::string SEWERS_3 = "music/sewers_3.ogg";
+
+static inline std::string SEWERS_TENSE = "music/sewers_tense.ogg";
+
+static inline std::string SEWERS_BOSS = "music/sewers_boss.ogg";
+
+static inline std::string PRISON_1 = "music/prison_1.ogg";
+
+static inline std::string PRISON_2 = "music/prison_2.ogg";
+
+static inline std::string PRISON_3 = "music/prison_3.ogg";
+
+static inline std::string PRISON_TENSE = "music/prison_tense.ogg";
+
+static inline std::string PRISON_BOSS = "music/prison_boss.ogg";
+
+static inline std::string CAVES_1 = "music/caves_1.ogg";
+
+static inline std::string CAVES_2 = "music/caves_2.ogg";
+
+static inline std::string CAVES_3 = "music/caves_3.ogg";
+
+static inline std::string CAVES_TENSE = "music/caves_tense.ogg";
+
+static inline std::string CAVES_BOSS = "music/caves_boss.ogg";
+
+static inline std::string CAVES_BOSS_FINALE = "music/caves_boss_finale.ogg";
+
+static inline std::string CITY_1 = "music/city_1.ogg";
+
+static inline std::string CITY_2 = "music/city_2.ogg";
+
+static inline std::string CITY_3 = "music/city_3.ogg";
+
+static inline std::string CITY_TENSE = "music/city_tense.ogg";
+
+static inline std::string CITY_BOSS = "music/city_boss.ogg";
+
+static inline std::string CITY_BOSS_FINALE = "music/city_boss_finale.ogg";
+
+static inline std::string HALLS_1 = "music/halls_1.ogg";
+
+static inline std::string HALLS_2 = "music/halls_2.ogg";
+
+static inline std::string HALLS_3 = "music/halls_3.ogg";
+
+static inline std::string HALLS_TENSE = "music/halls_tense.ogg";
+
+static inline std::string HALLS_BOSS = "music/halls_boss.ogg";
+
+static inline std::string HALLS_BOSS_FINALE = "music/halls_boss_finale.ogg";
+} // namespace Music
+
+namespace Sounds {
+static inline std::string CLICK = "sounds/click.mp3";
+
+static inline std::string BADGE = "sounds/badge.mp3";
+
+static inline std::string GOLD = "sounds/gold.mp3";
+
+static inline std::string OPEN = "sounds/door_open.mp3";
+
+static inline std::string UNLOCK = "sounds/unlock.mp3";
+
+static inline std::string ITEM = "sounds/item.mp3";
+
+static inline std::string DEWDROP = "sounds/dewdrop.mp3";
+
+static inline std::string STEP = "sounds/step.mp3";
+
+static inline std::string WATER = "sounds/water.mp3";
+
+static inline std::string GRASS = "sounds/grass.mp3";
+
+static inline std::string TRAMPLE = "sounds/trample.mp3";
+
+static inline std::string STURDY = "sounds/sturdy.mp3";
+
+static inline std::string HIT = "sounds/hit.mp3";
+
+static inline std::string MISS = "sounds/miss.mp3";
+
+static inline std::string HIT_SLASH = "sounds/hit_slash.mp3";
+
+static inline std::string HIT_STAB = "sounds/hit_stab.mp3";
+
+static inline std::string HIT_CRUSH = "sounds/hit_crush.mp3";
+
+static inline std::string HIT_MAGIC = "sounds/hit_magic.mp3";
+
+static inline std::string HIT_STRONG = "sounds/hit_strong.mp3";
+
+static inline std::string HIT_PARRY = "sounds/hit_parry.mp3";
+
+static inline std::string HIT_ARROW = "sounds/hit_arrow.mp3";
+
+static inline std::string ATK_SPIRITBOW = "sounds/atk_spiritbow.mp3";
+
+static inline std::string ATK_CROSSBOW = "sounds/atk_crossbow.mp3";
+
+static inline std::string HEALTH_WARN = "sounds/health_warn.mp3";
+
+static inline std::string HEALTH_CRITICAL = "sounds/health_critical.mp3";
+
+static inline std::string DESCEND = "sounds/descend.mp3";
+
+static inline std::string EAT = "sounds/eat.mp3";
+
+static inline std::string READ = "sounds/read.mp3";
+
+static inline std::string LULLABY = "sounds/lullaby.mp3";
+
+static inline std::string DRINK = "sounds/drink.mp3";
+
+static inline std::string SHATTER = "sounds/shatter.mp3";
+
+static inline std::string ZAP = "sounds/zap.mp3";
+
+static inline std::string LIGHTNING = "sounds/lightning.mp3";
+
+static inline std::string LEVELUP = "sounds/levelup.mp3";
+
+static inline std::string DEATH = "sounds/death.mp3";
+
+static inline std::string CHALLENGE = "sounds/challenge.mp3";
+
+static inline std::string CURSED = "sounds/cursed.mp3";
+
+static inline std::string TRAP = "sounds/trap.mp3";
+
+static inline std::string EVOKE = "sounds/evoke.mp3";
+
+static inline std::string TOMB = "sounds/tomb.mp3";
+
+static inline std::string ALERT = "sounds/alert.mp3";
+
+static inline std::string MELD = "sounds/meld.mp3";
+
+static inline std::string BOSS = "sounds/boss.mp3";
+
+static inline std::string BLAST = "sounds/blast.mp3";
+
+static inline std::string PLANT = "sounds/plant.mp3";
+
+static inline std::string RAY = "sounds/ray.mp3";
+
+static inline std::string BEACON = "sounds/beacon.mp3";
+
+static inline std::string TELEPORT = "sounds/teleport.mp3";
+
+static inline std::string CHARMS = "sounds/charms.mp3";
+
+static inline std::string MASTERY = "sounds/mastery.mp3";
+
+static inline std::string PUFF = "sounds/puff.mp3";
+
+static inline std::string ROCKS = "sounds/rocks.mp3";
+
+static inline std::string BURNING = "sounds/burning.mp3";
+
+static inline std::string FALLING = "sounds/falling.mp3";
+
+static inline std::string GHOST = "sounds/ghost.mp3";
+
+static inline std::string SECRET = "sounds/secret.mp3";
+
+static inline std::string BONES = "sounds/bones.mp3";
+
+static inline std::string BEE = "sounds/bee.mp3";
+
+static inline std::string DEGRADE = "sounds/degrade.mp3";
+
+static inline std::string MIMIC = "sounds/mimic.mp3";
+
+static inline std::string DEBUFF = "sounds/debuff.mp3";
+
+static inline std::string CHARGEUP = "sounds/chargeup.mp3";
+
+static inline std::string GAS = "sounds/gas.mp3";
+
+static inline std::string CHAINS = "sounds/chains.mp3";
+
+static inline std::string SCAN = "sounds/scan.mp3";
+
+static inline std::string SHEEP = "sounds/sheep.mp3";
+
+static inline std::string MINE = "sounds/mine.mp3";
+
+static inline std::array all{CLICK,
+ BADGE,
+ GOLD,
+
+ OPEN,
+ UNLOCK,
+ ITEM,
+ DEWDROP,
+ STEP,
+ WATER,
+ GRASS,
+ TRAMPLE,
+ STURDY,
+
+ HIT,
+ MISS,
+ HIT_SLASH,
+ HIT_STAB,
+ HIT_CRUSH,
+ HIT_MAGIC,
+ HIT_STRONG,
+ HIT_PARRY,
+ HIT_ARROW,
+ ATK_SPIRITBOW,
+ ATK_CROSSBOW,
+ HEALTH_WARN,
+ HEALTH_CRITICAL,
+
+ DESCEND,
+ EAT,
+ READ,
+ LULLABY,
+ DRINK,
+ SHATTER,
+ ZAP,
+ LIGHTNING,
+ LEVELUP,
+ DEATH,
+ CHALLENGE,
+ CURSED,
+ TRAP,
+ EVOKE,
+ TOMB,
+ ALERT,
+ MELD,
+ BOSS,
+ BLAST,
+ PLANT,
+ RAY,
+ BEACON,
+ TELEPORT,
+ CHARMS,
+ MASTERY,
+ PUFF,
+ ROCKS,
+ BURNING,
+ FALLING,
+ GHOST,
+ SECRET,
+ BONES,
+ BEE,
+ DEGRADE,
+ MIMIC,
+ DEBUFF,
+ CHARGEUP,
+ GAS,
+ CHAINS,
+ SCAN,
+ SHEEP,
+ MINE};
+} // namespace Sounds
+
+namespace Splashes {
+static inline std::string WARRIOR = "splashes/warrior.jpg";
+
+static inline std::string MAGE = "splashes/mage.jpg";
+
+static inline std::string ROGUE = "splashes/rogue.jpg";
+
+static inline std::string HUNTRESS = "splashes/huntress.jpg";
+
+static inline std::string DUELIST = "splashes/duelist.jpg";
+
+static inline std::string CLERIC = "splashes/cleric.jpg";
+
+static inline std::string SEWERS = "splashes/sewers.jpg";
+
+static inline std::string PRISON = "splashes/prison.jpg";
+
+static inline std::string CAVES = "splashes/caves.jpg";
+
+static inline std::string CITY = "splashes/city.jpg";
+
+static inline std::string HALLS = "splashes/halls.jpg";
+
+namespace Title {
+static inline std::string ARCHS = "splashes/title/archs.png";
+
+static inline std::string BACK_CLUSTERS = "splashes/title/back_clusters.png";
+
+static inline std::string MID_MIXED = "splashes/title/mid_mixed.png";
+
+static inline std::string FRONT_SMALL = "splashes/title/front_small.png";
+} // namespace Title
+} // namespace Splashes
+
+namespace Sprites {
+static inline std::string ITEMS = "sprites/items.png";
+
+static inline std::string ITEM_ICONS = "sprites/item_icons.png";
+
+static inline std::string WARRIOR = "sprites/warrior.png";
+
+static inline std::string MAGE = "sprites/mage.png";
+
+static inline std::string ROGUE = "sprites/rogue.png";
+
+static inline std::string HUNTRESS = "sprites/huntress.png";
+
+static inline std::string DUELIST = "sprites/duelist.png";
+
+static inline std::string CLERIC = "sprites/cleric.png";
+
+static inline std::string AVATARS = "sprites/avatars.png";
+
+static inline std::string PET = "sprites/pet.png";
+
+static inline std::string AMULET = "sprites/amulet.png";
+
+static inline std::string RAT = "sprites/rat.png";
+
+static inline std::string BRUTE = "sprites/brute.png";
+
+static inline std::string SPINNER = "sprites/spinner.png";
+
+static inline std::string DM300 = "sprites/dm300.png";
+
+static inline std::string WRAITH = "sprites/wraith.png";
+
+static inline std::string UNDEAD = "sprites/undead.png";
+
+static inline std::string KING = "sprites/king.png";
+
+static inline std::string PIRANHA = "sprites/piranha.png";
+
+static inline std::string EYE = "sprites/eye.png";
+
+static inline std::string GNOLL = "sprites/gnoll.png";
+
+static inline std::string CRAB = "sprites/crab.png";
+
+static inline std::string GOO = "sprites/goo.png";
+
+static inline std::string SWARM = "sprites/swarm.png";
+
+static inline std::string SKELETON = "sprites/skeleton.png";
+
+static inline std::string SHAMAN = "sprites/shaman.png";
+
+static inline std::string THIEF = "sprites/thief.png";
+
+static inline std::string TENGU = "sprites/tengu.png";
+
+static inline std::string SHEEP = "sprites/sheep.png";
+
+static inline std::string KEEPER = "sprites/shopkeeper.png";
+
+static inline std::string BAT = "sprites/bat.png";
+
+static inline std::string ELEMENTAL = "sprites/elemental.png";
+
+static inline std::string MONK = "sprites/monk.png";
+
+static inline std::string WARLOCK = "sprites/warlock.png";
+
+static inline std::string GOLEM = "sprites/golem.png";
+
+static inline std::string STATUE = "sprites/statue.png";
+
+static inline std::string SUCCUBUS = "sprites/succubus.png";
+
+static inline std::string SCORPIO = "sprites/scorpio.png";
+
+static inline std::string FISTS = "sprites/yog_fists.png";
+
+static inline std::string YOG = "sprites/yog.png";
+
+static inline std::string LARVA = "sprites/larva.png";
+
+static inline std::string GHOST = "sprites/ghost.png";
+
+static inline std::string MAKER = "sprites/wandmaker.png";
+
+static inline std::string TROLL = "sprites/blacksmith.png";
+
+static inline std::string IMP = "sprites/demon.png";
+
+static inline std::string RATKING = "sprites/ratking.png";
+
+static inline std::string BEE = "sprites/bee.png";
+
+static inline std::string MIMIC = "sprites/mimic.png";
+
+static inline std::string ROT_LASH = "sprites/rot_lasher.png";
+
+static inline std::string ROT_HEART = "sprites/rot_heart.png";
+
+static inline std::string GUARD = "sprites/guard.png";
+
+static inline std::string WARDS = "sprites/wards.png";
+
+static inline std::string GUARDIAN = "sprites/guardian.png";
+
+static inline std::string SLIME = "sprites/slime.png";
+
+static inline std::string SNAKE = "sprites/snake.png";
+
+static inline std::string NECRO = "sprites/necromancer.png";
+
+static inline std::string GHOUL = "sprites/ghoul.png";
+
+static inline std::string RIPPER = "sprites/ripper.png";
+
+static inline std::string SPAWNER = "sprites/spawner.png";
+
+static inline std::string DM100 = "sprites/dm100.png";
+
+static inline std::string PYLON = "sprites/pylon.png";
+
+static inline std::string DM200 = "sprites/dm200.png";
+
+static inline std::string LOTUS = "sprites/lotus.png";
+
+static inline std::string NINJA_LOG = "sprites/ninja_log.png";
+
+static inline std::string SPIRIT_HAWK = "sprites/spirit_hawk.png";
+
+static inline std::string RED_SENTRY = "sprites/red_sentry.png";
+
+static inline std::string CRYSTAL_WISP = "sprites/crystal_wisp.png";
+
+static inline std::string CRYSTAL_GUARDIAN = "sprites/crystal_guardian.png";
+
+static inline std::string CRYSTAL_SPIRE = "sprites/crystal_spire.png";
+
+static inline std::string GNOLL_GUARD = "sprites/gnoll_guard.png";
+
+static inline std::string GNOLL_SAPPER = "sprites/gnoll_sapper.png";
+
+static inline std::string GNOLL_GEOMANCER = "sprites/gnoll_geomancer.png";
+
+static inline std::string FUNGAL_SPINNER = "sprites/fungal_spinner.png";
+
+static inline std::string FUNGAL_SENTRY = "sprites/fungal_sentry.png";
+
+static inline std::string FUNGAL_CORE = "sprites/fungal_core.png";
+} // namespace Sprites
+} // namespace Assets