1 /* !!!! GENERATED FILE - DO NOT EDIT !!!! 2 * -------------------------------------- 3 * 4 * This file is part of liblcf. Copyright (c) 2021 liblcf authors. 5 * https://github.com/EasyRPG/liblcf - https://easyrpg.org 6 * 7 * liblcf is Free/Libre Open Source Software, released under the MIT License. 8 * For the full copyright and license information, please view the COPYING 9 * file that was distributed with this source code. 10 */ 11 12 #ifndef LCF_RPG_BATTLERANIMATIONITEMSKILL_H 13 #define LCF_RPG_BATTLERANIMATIONITEMSKILL_H 14 15 // Headers 16 #include <stdint.h> 17 #include "lcf/enum_tags.h" 18 #include "lcf/context.h" 19 #include <ostream> 20 #include <type_traits> 21 22 /** 23 * rpg::BattlerAnimationItemSkill class. 24 */ 25 namespace lcf { 26 namespace rpg { 27 class BattlerAnimationItemSkill { 28 public: 29 enum Speed { 30 Speed_fast = 0, 31 Speed_medium = 1, 32 Speed_slow = 2 33 }; 34 static constexpr auto kSpeedTags = lcf::makeEnumTags<Speed>( 35 "fast", 36 "medium", 37 "slow" 38 ); 39 enum AnimType { 40 AnimType_weapon = 0, 41 AnimType_battle = 1 42 }; 43 static constexpr auto kAnimTypeTags = lcf::makeEnumTags<AnimType>( 44 "weapon", 45 "battle" 46 ); 47 enum Movement { 48 Movement_none = 0, 49 Movement_step = 1, 50 Movement_jump = 2, 51 Movement_move = 3 52 }; 53 static constexpr auto kMovementTags = lcf::makeEnumTags<Movement>( 54 "none", 55 "step", 56 "jump", 57 "move" 58 ); 59 enum Afterimage { 60 Afterimage_none = 0, 61 Afterimage_add = 1 62 }; 63 static constexpr auto kAfterimageTags = lcf::makeEnumTags<Afterimage>( 64 "none", 65 "add" 66 ); 67 68 int ID = 0; 69 int32_t unknown02 = 0; 70 int32_t type = 0; 71 int32_t weapon_animation_id = 0; 72 int32_t movement = 0; 73 int32_t after_image = 0; 74 int32_t attacks = 0; 75 bool ranged = false; 76 int32_t ranged_animation_id = 0; 77 int32_t ranged_speed = 0; 78 int32_t battle_animation_id = 1; 79 int32_t pose = 3; 80 }; 81 inline std::ostream& operator<<(std::ostream& os, BattlerAnimationItemSkill::Speed code) { 82 os << static_cast<std::underlying_type_t<decltype(code)>>(code); 83 return os; 84 } 85 inline std::ostream& operator<<(std::ostream& os, BattlerAnimationItemSkill::AnimType code) { 86 os << static_cast<std::underlying_type_t<decltype(code)>>(code); 87 return os; 88 } 89 inline std::ostream& operator<<(std::ostream& os, BattlerAnimationItemSkill::Movement code) { 90 os << static_cast<std::underlying_type_t<decltype(code)>>(code); 91 return os; 92 } 93 inline std::ostream& operator<<(std::ostream& os, BattlerAnimationItemSkill::Afterimage code) { 94 os << static_cast<std::underlying_type_t<decltype(code)>>(code); 95 return os; 96 } 97 98 inline bool operator==(const BattlerAnimationItemSkill& l, const BattlerAnimationItemSkill& r) { 99 return l.unknown02 == r.unknown02 100 && l.type == r.type 101 && l.weapon_animation_id == r.weapon_animation_id 102 && l.movement == r.movement 103 && l.after_image == r.after_image 104 && l.attacks == r.attacks 105 && l.ranged == r.ranged 106 && l.ranged_animation_id == r.ranged_animation_id 107 && l.ranged_speed == r.ranged_speed 108 && l.battle_animation_id == r.battle_animation_id 109 && l.pose == r.pose; 110 } 111 112 inline bool operator!=(const BattlerAnimationItemSkill& l, const BattlerAnimationItemSkill& r) { 113 return !(l == r); 114 } 115 116 std::ostream& operator<<(std::ostream& os, const BattlerAnimationItemSkill& obj); 117 118 template <typename F, typename ParentCtx = Context<void,void>> 119 void ForEachString(BattlerAnimationItemSkill& obj, const F& f, const ParentCtx* parent_ctx = nullptr) { 120 (void)obj; 121 (void)f; 122 (void)parent_ctx; 123 } 124 125 } // namespace rpg 126 } // namespace lcf 127 128 #endif 129