mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-14 13:09:25 +08:00
ref: simplify the judgment and logging of start stop function using macros
This commit is contained in:
@@ -7,6 +7,26 @@
|
||||
|
||||
#include "utils.hpp"
|
||||
|
||||
#define IS_ENABLED(n) \
|
||||
if (is_enabled(n)) { \
|
||||
SPDLOG_INFO("{} is enabled", #n); \
|
||||
return; \
|
||||
} \
|
||||
|
||||
#define ENABLE(n) \
|
||||
SPDLOG_INFO("Enable {}", #n); \
|
||||
enable_flag(n);
|
||||
|
||||
#define IS_DISABLED(n) \
|
||||
if (is_disabled(n)) { \
|
||||
SPDLOG_INFO("{} is disabled", #n); \
|
||||
return; \
|
||||
} \
|
||||
|
||||
#define DISABLE(n) \
|
||||
SPDLOG_INFO("Disable {}", #n); \
|
||||
disable_flag(n);
|
||||
|
||||
Cracker::Cracker()
|
||||
: m_state(lua_newthread(Utils::get_lua_state())) {
|
||||
Lua::Table proxies = m_state["pg"]["proxyRegister"]["data"];
|
||||
@@ -194,9 +214,7 @@ void Cracker::disable_all() {
|
||||
}
|
||||
|
||||
void Cracker::enable_gg_factor() {
|
||||
if (is_enabled(GG_FACTOR)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(GG_FACTOR)
|
||||
m_original.Ship_intimacyAdditions = m_state["Ship"]["intimacyAdditions"];
|
||||
m_state["Ship"]["intimacyAdditions"] = [this](Lua::VariadicArgs args) -> Lua::Object {
|
||||
Lua::Table self = args[0];
|
||||
@@ -228,15 +246,13 @@ void Cracker::enable_gg_factor() {
|
||||
}
|
||||
return sol::nil;
|
||||
};
|
||||
enable_flag(GG_FACTOR);
|
||||
ENABLE(GG_FACTOR)
|
||||
}
|
||||
|
||||
void Cracker::disable_gg_factor() {
|
||||
if (is_disabled(GG_FACTOR)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(GG_FACTOR)
|
||||
m_state["Ship"]["intimacyAdditions"] = m_original.Ship_intimacyAdditions;
|
||||
disable_flag(GG_FACTOR);
|
||||
DISABLE(GG_FACTOR)
|
||||
}
|
||||
|
||||
void Cracker::update_gg_factor(double factor) {
|
||||
@@ -244,26 +260,20 @@ void Cracker::update_gg_factor(double factor) {
|
||||
}
|
||||
|
||||
void Cracker::enable_opsi_fast_move() {
|
||||
if (is_enabled(OPSI_FAST_MOVE)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(OPSI_FAST_MOVE)
|
||||
m_original.WorldConst_BaseMoveDuration = m_state["WorldConst"]["BaseMoveDuration"];
|
||||
m_state["WorldConst"]["BaseMoveDuration"] = 0.0;
|
||||
enable_flag(OPSI_FAST_MOVE);
|
||||
ENABLE(OPSI_FAST_MOVE)
|
||||
}
|
||||
|
||||
void Cracker::disable_opsi_fast_move() {
|
||||
if (is_disabled(OPSI_FAST_MOVE)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(OPSI_FAST_MOVE)
|
||||
m_state["WorldConst"]["BaseMoveDuration"] = m_original.WorldConst_BaseMoveDuration;
|
||||
disable_flag(OPSI_FAST_MOVE);
|
||||
ENABLE(OPSI_FAST_MOVE)
|
||||
}
|
||||
|
||||
void Cracker::enable_no_emotion_warning() {
|
||||
if (is_enabled(NO_EMOTION_WARNING)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(NO_EMOTION_WARNING)
|
||||
m_original.Ship_cosumeEnergy = m_state["Ship"]["cosumeEnergy"];
|
||||
m_original.Ship_getEnergy = m_state["Ship"]["getEnergy"];
|
||||
|
||||
@@ -274,22 +284,18 @@ void Cracker::enable_no_emotion_warning() {
|
||||
return sol::make_object(L, 150);
|
||||
};
|
||||
|
||||
enable_flag(NO_EMOTION_WARNING);
|
||||
ENABLE(NO_EMOTION_WARNING)
|
||||
}
|
||||
|
||||
void Cracker::disable_no_emotion_warning() {
|
||||
if (is_disabled(NO_EMOTION_WARNING)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(NO_EMOTION_WARNING)
|
||||
m_state["Ship"]["cosumeEnergy"] = m_original.Ship_cosumeEnergy;
|
||||
m_state["Ship"]["getEnergy"] = m_original.Ship_getEnergy;
|
||||
disable_flag(NO_EMOTION_WARNING);
|
||||
DISABLE(NO_EMOTION_WARNING)
|
||||
}
|
||||
|
||||
void Cracker::enable_no_bb_animation() {
|
||||
if (is_enabled(NO_BB_ANIMATION)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(NO_BB_ANIMATION)
|
||||
m_original.ys_Battle_BattleManualWeaponAutoBot_SetActive = m_state["ys"]["Battle"]["BattleManualWeaponAutoBot"]["SetActive"];
|
||||
m_state["ys"]["Battle"]["BattleManualWeaponAutoBot"]["SetActive"] = [this](sol::this_state L, Lua::VariadicArgs args) -> Lua::Object {
|
||||
std::vector<Lua::Object> new_args(args.begin(), args.end());
|
||||
@@ -297,21 +303,17 @@ void Cracker::enable_no_bb_animation() {
|
||||
Lua::Object res = m_original.ys_Battle_BattleManualWeaponAutoBot_SetActive(sol::as_args(new_args));
|
||||
return res;
|
||||
};
|
||||
enable_flag(NO_BB_ANIMATION);
|
||||
ENABLE(NO_BB_ANIMATION)
|
||||
}
|
||||
|
||||
void Cracker::disable_no_bb_animation() {
|
||||
if (is_disabled(NO_BB_ANIMATION)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(NO_BB_ANIMATION)
|
||||
m_state["ys"]["Battle"]["BattleManualWeaponAutoBot"]["SetActive"] = m_original.ys_Battle_BattleManualWeaponAutoBot_SetActive;
|
||||
disable_flag(NO_BB_ANIMATION);
|
||||
DISABLE(NO_BB_ANIMATION)
|
||||
}
|
||||
|
||||
void Cracker::enable_fake_player() {
|
||||
if (is_enabled(FAKE_PLAYER_INFO)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(FAKE_PLAYER_INFO)
|
||||
m_original.PlayerVitaeDetailPage_UpdateInfo = m_state["PlayerVitaeDetailPage"]["UpdateInfo"];
|
||||
m_state["PlayerVitaeDetailPage"]["UpdateInfo"] = [this](Lua::VariadicArgs args) -> Lua::Object {
|
||||
Lua::Object res = m_original.PlayerVitaeDetailPage_UpdateInfo(args);
|
||||
@@ -330,15 +332,13 @@ void Cracker::enable_fake_player() {
|
||||
|
||||
return res;
|
||||
};
|
||||
enable_flag(FAKE_PLAYER_INFO);
|
||||
ENABLE(FAKE_PLAYER_INFO)
|
||||
}
|
||||
|
||||
void Cracker::disable_fake_player() {
|
||||
if (is_disabled(FAKE_PLAYER_INFO)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(FAKE_PLAYER_INFO)
|
||||
m_state["PlayerVitaeDetailPage"]["UpdateInfo"] = m_original.PlayerVitaeDetailPage_UpdateInfo;
|
||||
disable_flag(FAKE_PLAYER_INFO);
|
||||
DISABLE(FAKE_PLAYER_INFO)
|
||||
}
|
||||
|
||||
void Cracker::update_fake_player_info(const FakePlayerInfo& fake_info) {
|
||||
@@ -346,9 +346,7 @@ void Cracker::update_fake_player_info(const FakePlayerInfo& fake_info) {
|
||||
}
|
||||
|
||||
void Cracker::enable_remove_hard_mode_ship_type_limit() {
|
||||
if (is_enabled(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT)
|
||||
m_original.Chapter_getConfig = m_state["Chapter"]["getConfig"];
|
||||
m_state["Chapter"]["getConfig"] = [this](sol::this_state L, Lua::VariadicArgs args) -> Lua::Object {
|
||||
Lua::Object first_arg = args[1];
|
||||
@@ -365,21 +363,17 @@ void Cracker::enable_remove_hard_mode_ship_type_limit() {
|
||||
}
|
||||
return res;
|
||||
};
|
||||
enable_flag(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT);
|
||||
ENABLE(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT)
|
||||
}
|
||||
|
||||
void Cracker::disable_remove_hard_mode_ship_type_limit() {
|
||||
if (is_disabled(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT)
|
||||
m_state["Chapter"]["getConfig"] = m_original.Chapter_getConfig;
|
||||
disable_flag(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT);
|
||||
DISABLE(REMOVE_HARD_MODE_SHIP_TYPE_LIMIT)
|
||||
}
|
||||
|
||||
void Cracker::enable_remove_hard_mode_ship_properties_limit() {
|
||||
if (is_enabled(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT)
|
||||
|
||||
m_original.WorldFleetSelectLayer_CheckValid = m_state["WorldFleetSelectLayer"]["CheckValid"];
|
||||
m_original.BossSingleBattleFleetSelectSubPanel_CheckValid = m_state["BossSingleBattleFleetSelectSubPanel"]["CheckValid"];
|
||||
@@ -395,25 +389,21 @@ void Cracker::enable_remove_hard_mode_ship_properties_limit() {
|
||||
return true;
|
||||
};
|
||||
|
||||
enable_flag(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT);
|
||||
ENABLE(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT)
|
||||
}
|
||||
|
||||
void Cracker::disable_remove_hard_mode_ship_properties_limit() {
|
||||
if (is_disabled(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT)
|
||||
|
||||
m_state["WorldFleetSelectLayer"]["CheckValid"] = m_original.WorldFleetSelectLayer_CheckValid;
|
||||
m_state["BossSingleBattleFleetSelectSubPanel"]["CheckValid"] = m_original.BossSingleBattleFleetSelectSubPanel_CheckValid;
|
||||
m_state["Chapter"]["IsEliteFleetLegal"] = m_original.Chapter_IsEliteFleetLegal;
|
||||
|
||||
disable_flag(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT);
|
||||
ENABLE(REMOVE_HARD_MODE_SHIP_PROPERTIES_LIMIT)
|
||||
}
|
||||
|
||||
void Cracker::enable_fast_stage_move() {
|
||||
if (is_enabled(FAST_STAGE_MOVE_CRACK)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(FAST_STAGE_MOVE_CRACK)
|
||||
|
||||
m_original.ChapterConst_ShipStepDuration = m_state["ChapterConst"]["ShipStepDuration"];
|
||||
m_original.ChapterConst_ShipStepQuickPlayScale = m_state["ChapterConst"]["ShipStepQuickPlayScale"];
|
||||
@@ -421,18 +411,16 @@ void Cracker::enable_fast_stage_move() {
|
||||
m_state["ChapterConst"]["ShipStepDuration"] = 0.0;
|
||||
m_state["ChapterConst"]["ShipStepQuickPlayScale"] = 0.0;
|
||||
|
||||
enable_flag(FAST_STAGE_MOVE_CRACK);
|
||||
ENABLE(FAST_STAGE_MOVE_CRACK)
|
||||
}
|
||||
|
||||
void Cracker::disable_fast_stage_move() {
|
||||
if (is_disabled(FAST_STAGE_MOVE_CRACK)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(FAST_STAGE_MOVE_CRACK)
|
||||
|
||||
m_state["ChapterConst"]["ShipStepDuration"] = m_original.ChapterConst_ShipStepDuration;
|
||||
m_state["ChapterConst"]["ShipStepQuickPlayScale"] = m_original.ChapterConst_ShipStepQuickPlayScale;
|
||||
|
||||
disable_flag(FAST_STAGE_MOVE_CRACK);
|
||||
ENABLE(FAST_STAGE_MOVE_CRACK)
|
||||
}
|
||||
|
||||
void Cracker::update_global_ship_properties(const ShipProperties& properties) {
|
||||
@@ -440,24 +428,20 @@ void Cracker::update_global_ship_properties(const ShipProperties& properties) {
|
||||
}
|
||||
|
||||
void Cracker::enable_global_ship_properties_crack() {
|
||||
if (is_enabled(GLOBAL_SHIP_PROPERTIES_CRACK)) {
|
||||
return;
|
||||
}
|
||||
IS_ENABLED(GLOBAL_SHIP_PROPERTIES_CRACK)
|
||||
m_original.Ship_getShipProperties = m_state["Ship"]["getShipProperties"];
|
||||
m_state["Ship"]["getShipProperties"] = [this](Lua::VariadicArgs args) -> Lua::Object {
|
||||
Lua::Table properties = m_original.Ship_getShipProperties(args);
|
||||
modify_ship_properties(properties, m_globle_ship_properties);
|
||||
return properties;
|
||||
};
|
||||
enable_flag(GLOBAL_SHIP_PROPERTIES_CRACK);
|
||||
ENABLE(GLOBAL_SHIP_PROPERTIES_CRACK)
|
||||
}
|
||||
|
||||
void Cracker::disable_global_ship_properties_crack() {
|
||||
if (is_disabled(GLOBAL_SHIP_PROPERTIES_CRACK)) {
|
||||
return;
|
||||
}
|
||||
IS_DISABLED(GLOBAL_SHIP_PROPERTIES_CRACK)
|
||||
m_state["Ship"]["getShipProperties"] = m_original.Ship_getShipProperties;
|
||||
disable_flag(GLOBAL_SHIP_PROPERTIES_CRACK);
|
||||
DISABLE(GLOBAL_SHIP_PROPERTIES_CRACK)
|
||||
}
|
||||
|
||||
bool Cracker::is_enabled(FunctionId id) {
|
||||
|
||||
Reference in New Issue
Block a user