#pragma once #include "../entities/Entity.h" #include "../utils/SpriteUtils.h" #include struct WhaleAsset { std::vector> frames; std::vector mask; }; inline const WhaleAsset& getWhale() { static const WhaleAsset whale = { { { R"( )", R"()", R"()", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" }, { R"( )", R"()", R"( : )", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" }, { R"( )", R"( : )", R"( : )", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" }, { R"( . . )", R"( -:- )", R"( : )", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" }, { R"( . . )", R"( .-.-. )", R"( : )", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" }, { R"( . . )", R"( '.-:-.' )", R"( ' : ' )", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" }, { R"( )", R"( .- -. )", R"( ; : ; )", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" }, { R"( )", R"( )", R"( ; ; )", R"( .-----. )", R"( .' `. )", R"(,????/ (o) \?)", R"(\`._/ ,__))" } }, { R"( C C )", R"( CCCCCCC )", R"( C C C )", R"()", R"()", R"( W )", R"()" } }; return whale; } inline const std::vector& getWhaleAssets() { static const std::vector whaleAssets = createBidirectionalFramedAssets(getWhale()); return whaleAssets; }