/* Generated by tools/monster_assets.py sync. Do not edit. */ #pragma once #include #include "render/anim.h" #include "sim/target.h" constexpr uint32_t MONSTER_ASSET_SHAMBLER_WALK = UINT32_C(0xDA564B3B); constexpr uint32_t MONSTER_ASSET_SHAMBLER_ATTACK = UINT32_C(0x2821014E); constexpr uint32_t MONSTER_ASSET_SHAMBLER_HIT = UINT32_C(0x8498BC33); constexpr uint32_t MONSTER_ASSET_SHAMBLER_DEATH = UINT32_C(0x0B950530); constexpr uint32_t MONSTER_ASSET_RUSHER_WALK = UINT32_C(0x442741A8); constexpr uint32_t MONSTER_ASSET_RUSHER_ATTACK = UINT32_C(0x219BA505); constexpr uint32_t MONSTER_ASSET_RUSHER_HIT = UINT32_C(0x3404E732); constexpr uint32_t MONSTER_ASSET_RUSHER_DEATH = UINT32_C(0xAEBDED05); constexpr uint32_t MONSTER_ASSET_SPITTER_WALK = UINT32_C(0xE887C90E); constexpr uint32_t MONSTER_ASSET_SPITTER_ATTACK = UINT32_C(0x02D54BDB); constexpr uint32_t MONSTER_ASSET_SPITTER_HIT = UINT32_C(0x84B7B754); constexpr uint32_t MONSTER_ASSET_SPITTER_DEATH = UINT32_C(0x9142CAF7); constexpr uint32_t MONSTER_ASSET_BRUTE_WALK = UINT32_C(0xC97ABA5D); constexpr uint32_t MONSTER_ASSET_BRUTE_ATTACK = UINT32_C(0xE166F8E8); constexpr uint32_t MONSTER_ASSET_BRUTE_HIT = UINT32_C(0xBC752911); constexpr uint32_t MONSTER_ASSET_BRUTE_DEATH = UINT32_C(0x3D96DA4E); constexpr uint32_t MONSTER_ASSET_LURKER_WALK = UINT32_C(0x8FF69CC2); constexpr uint32_t MONSTER_ASSET_LURKER_ATTACK = UINT32_C(0x9A5A0F2F); constexpr uint32_t MONSTER_ASSET_LURKER_HIT = UINT32_C(0xFF50F498); constexpr uint32_t MONSTER_ASSET_LURKER_DEATH = UINT32_C(0xA573E6AB); // AnimKind::IDLE у тварей нет: покоя у них не бывает, стоящая тварь // показывает первый кадр шага. constexpr uint32_t MonsterAsset(EnemyKind kind, AnimKind anim) { switch (kind) { case EnemyKind::SHAMBLER: switch (anim) { case AnimKind::WALK: return MONSTER_ASSET_SHAMBLER_WALK; case AnimKind::ATTACK: return MONSTER_ASSET_SHAMBLER_ATTACK; case AnimKind::HURT: return MONSTER_ASSET_SHAMBLER_HIT; case AnimKind::DIE: return MONSTER_ASSET_SHAMBLER_DEATH; default: return MONSTER_ASSET_SHAMBLER_WALK; } case EnemyKind::RUSHER: switch (anim) { case AnimKind::WALK: return MONSTER_ASSET_RUSHER_WALK; case AnimKind::ATTACK: return MONSTER_ASSET_RUSHER_ATTACK; case AnimKind::HURT: return MONSTER_ASSET_RUSHER_HIT; case AnimKind::DIE: return MONSTER_ASSET_RUSHER_DEATH; default: return MONSTER_ASSET_RUSHER_WALK; } case EnemyKind::SPITTER: switch (anim) { case AnimKind::WALK: return MONSTER_ASSET_SPITTER_WALK; case AnimKind::ATTACK: return MONSTER_ASSET_SPITTER_ATTACK; case AnimKind::HURT: return MONSTER_ASSET_SPITTER_HIT; case AnimKind::DIE: return MONSTER_ASSET_SPITTER_DEATH; default: return MONSTER_ASSET_SPITTER_WALK; } case EnemyKind::BRUTE: switch (anim) { case AnimKind::WALK: return MONSTER_ASSET_BRUTE_WALK; case AnimKind::ATTACK: return MONSTER_ASSET_BRUTE_ATTACK; case AnimKind::HURT: return MONSTER_ASSET_BRUTE_HIT; case AnimKind::DIE: return MONSTER_ASSET_BRUTE_DEATH; default: return MONSTER_ASSET_BRUTE_WALK; } case EnemyKind::LURKER: switch (anim) { case AnimKind::WALK: return MONSTER_ASSET_LURKER_WALK; case AnimKind::ATTACK: return MONSTER_ASSET_LURKER_ATTACK; case AnimKind::HURT: return MONSTER_ASSET_LURKER_HIT; case AnimKind::DIE: return MONSTER_ASSET_LURKER_DEATH; default: return MONSTER_ASSET_LURKER_WALK; } default: return 0; } }