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_SOUND_H 13 #define LCF_RPG_SOUND_H 14 15 // Headers 16 #include <stdint.h> 17 #include <string> 18 #include "lcf/context.h" 19 #include <ostream> 20 #include <type_traits> 21 22 /** 23 * rpg::Sound class. 24 */ 25 namespace lcf { 26 namespace rpg { 27 class Sound { 28 public: 29 std::string name = "(OFF)"; 30 int32_t volume = 100; 31 int32_t tempo = 100; 32 int32_t balance = 50; 33 }; 34 35 inline bool operator==(const Sound& l, const Sound& r) { 36 return l.name == r.name 37 && l.volume == r.volume 38 && l.tempo == r.tempo 39 && l.balance == r.balance; 40 } 41 42 inline bool operator!=(const Sound& l, const Sound& r) { 43 return !(l == r); 44 } 45 46 std::ostream& operator<<(std::ostream& os, const Sound& obj); 47 48 template <typename F, typename ParentCtx = Context<void,void>> 49 void ForEachString(Sound& obj, const F& f, const ParentCtx* parent_ctx = nullptr) { 50 (void)obj; 51 (void)f; 52 (void)parent_ctx; 53 } 54 55 } // namespace rpg 56 } // namespace lcf 57 58 #endif 59