#pragma once #include #include "avs/game.h" #include "games/game.h" #include "util/socd_cleaner.h" namespace games::gitadora { // settings extern bool TWOCHANNEL; extern std::optional CAB_TYPE; extern bool ARENA_SINGLE_WINDOW; extern bool P1_LEFTY; extern bool P2_LEFTY; extern std::optional SUBSCREEN_OVERLAY_SIZE; extern std::optional PICK_ALGO; class GitaDoraGame : public games::Game { public: GitaDoraGame(); virtual void pre_attach() override; virtual void attach() override; }; static inline bool is_drum() { return ( avs::game::is_model({ "J32", "K32", "L32" }) || (avs::game::is_model("M32") && (avs::game::SPEC[0] == 'B' || avs::game::SPEC[0] == 'D')) ); } static inline bool is_guitar() { return ( avs::game::is_model({ "J33", "K33", "L33" }) || (avs::game::is_model("M32") && (avs::game::SPEC[0] == 'A' || avs::game::SPEC[0] == 'C')) ); } static inline bool is_arena_model() { return ( avs::game::is_model("M32") && (avs::game::SPEC[0] == 'C' || avs::game::SPEC[0] == 'D') ); } static inline bool is_player_lefty(size_t player) { if (player == 0) { return P1_LEFTY; } else if (player == 1) { return P2_LEFTY; } return false; } }