#pragma once #include #include #include #include #include "engine/clx_sprite.hpp" #include "engine/surface.hpp" #include "tables/spelldat.h" namespace devilution { struct Player; tl::expected InitSpellBook(); void FreeSpellBook(); void CheckSBook(); void DrawSpellBook(const Surface &out); std::vector GetSpellBookAvailableSpells(int tab, const Player &player); std::optional GetSpellBookFirstAvailableSpell(int tab, const Player &player); std::optional GetSpellBookAdjacentAvailableSpell(int tab, const Player &player, SpellID currentSpell, int delta); } // namespace devilution