mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-14 08:59:25 +08:00
add: more config when loading lua resources
This commit is contained in:
@@ -60,7 +60,11 @@ static fnset_TimeScaleT get_Time_set_timeScale() {
|
||||
#endif
|
||||
|
||||
Cracker::Cracker()
|
||||
: m_state(lua_newthread(Utils::get_lua_state())) {
|
||||
: m_state([]() -> lua_State* {
|
||||
auto new_tr = lua_newthread(Utils::get_lua_state());
|
||||
SPDLOG_INFO("new lua_State: {}", (void*)new_tr);
|
||||
return new_tr;
|
||||
}()) {
|
||||
try {
|
||||
load_lua_resources();
|
||||
hook_all_lua_functions();
|
||||
@@ -477,6 +481,9 @@ void Cracker::print_value(std::vector<std::string>& path) {
|
||||
}
|
||||
|
||||
void Cracker::load_lua_resources() {
|
||||
SPDLOG_INFO("Load lua resources");
|
||||
|
||||
SPDLOG_INFO("Load data proxies");
|
||||
Lua::Table proxies = m_state["pg"]["proxyRegister"]["data"];
|
||||
for (int i = 1; i <= proxies.size(); ++i) {
|
||||
Lua::Table proxy = proxies[i];
|
||||
@@ -490,6 +497,8 @@ void Cracker::load_lua_resources() {
|
||||
m_data_proxy.world = proxy["facade"]["model"]["proxyMap"]["WorldProxy"];
|
||||
}
|
||||
}
|
||||
|
||||
SPDLOG_INFO("Load lua res");
|
||||
m_lua_res.Clone = m_state["Clone"];
|
||||
m_lua_res.Ship_getIntimacyLevel = m_state["Ship"]["getIntimacyLevel"];
|
||||
m_lua_res.pg_intimacy_template = m_state["pg"]["intimacy_template"];
|
||||
@@ -507,6 +516,7 @@ void Cracker::load_lua_resources() {
|
||||
.Dodge = AttributeType.get<std::string>("Dodge"),
|
||||
};
|
||||
|
||||
SPDLOG_INFO("Load lua functions");
|
||||
m_original.GetBattleCheckResult = m_state["GetBattleCheckResult"];
|
||||
m_original.FinishStageCommand_GeneralPackage = m_state["FinishStageCommand"]["GeneralPackage"];
|
||||
m_original.Ship_intimacyAdditions = m_state["Ship"]["intimacyAdditions"];
|
||||
@@ -537,6 +547,8 @@ void Cracker::load_lua_resources() {
|
||||
}
|
||||
|
||||
void Cracker::hook_all_lua_functions() {
|
||||
SPDLOG_INFO("Hook lua functions");
|
||||
|
||||
// opsi_force_auto
|
||||
m_state["WorldMap"]["CanAutoFight"] = [this](sol::this_state L, Lua::VariadicArgs args) -> bool {
|
||||
if (!IS_ENABLED(OPSI_FORCE_AUTO)) {
|
||||
|
||||
Reference in New Issue
Block a user