feat(GTA Cache): removed unused old code (#1663)

This commit is contained in:
Andreas Maerten 2023-07-10 00:40:47 +02:00 committed by GitHub
parent ee61858489
commit 2f1f094b89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 6 additions and 131 deletions

View File

@ -265,7 +265,7 @@ namespace rage
bool fiPackfile::Mount(const char* mount_point) bool fiPackfile::Mount(const char* mount_point)
{ {
return big::g_hooking->get_original<big::hooks::fipackfile_mount>()(this, mount_point); return big::g_pointers->m_gta.m_fipackfile_mount(this, mount_point);
} }
void fiPackfile::ClosePackfile() void fiPackfile::ClosePackfile()

View File

@ -110,8 +110,6 @@ namespace big
detour_hook_helper::add<hooks::write_vehicle_proximity_migration_data_node>("WVPMDN", g_pointers->m_gta.m_write_vehicle_proximity_migration_data_node); detour_hook_helper::add<hooks::write_vehicle_proximity_migration_data_node>("WVPMDN", g_pointers->m_gta.m_write_vehicle_proximity_migration_data_node);
detour_hook_helper::add<hooks::fipackfile_mount>("FPFM", g_pointers->m_gta.m_fipackfile_mount);
detour_hook_helper::add<hooks::allow_weapons_in_vehicle>("AWIV", g_pointers->m_gta.m_allow_weapons_in_vehicle); detour_hook_helper::add<hooks::allow_weapons_in_vehicle>("AWIV", g_pointers->m_gta.m_allow_weapons_in_vehicle);
detour_hook_helper::add<hooks::netfilter_handle_message>("NHM", g_pointers->m_gta.m_netfilter_handle_message); detour_hook_helper::add<hooks::netfilter_handle_message>("NHM", g_pointers->m_gta.m_netfilter_handle_message);

View File

@ -148,8 +148,6 @@ namespace big
static void write_vehicle_proximity_migration_data_node(rage::netObject* veh, CVehicleProximityMigrationDataNode* node); static void write_vehicle_proximity_migration_data_node(rage::netObject* veh, CVehicleProximityMigrationDataNode* node);
static bool fipackfile_mount(rage::fiPackfile* this_, const char* mount_point);
static bool allow_weapons_in_vehicle(int64_t unk, int weaponinfo_group); static bool allow_weapons_in_vehicle(int64_t unk, int weaponinfo_group);
static int netfilter_handle_message(__int64 filter, char* message, int flags); static int netfilter_handle_message(__int64 filter, char* message, int flags);
}; };

View File

@ -1,37 +0,0 @@
#include "gta/fidevice.hpp"
#include "hooking.hpp"
#include "services/gta_data/gta_data_service.hpp"
#include "services/gta_data/yim_fipackfile.hpp"
namespace big
{
bool hooks::fipackfile_mount(rage::fiPackfile* this_, const char* mount_point)
{
static bool init = ([] {
if (g_gta_data_service->state() == eGtaDataUpdateState::ON_INIT_WAITING)
g_gta_data_service->set_state(eGtaDataUpdateState::ON_INIT_UPDATE_START);
}(),true);
auto result = g_hooking->get_original<fipackfile_mount>()(this_, mount_point);
if (g_gta_data_service->state() == eGtaDataUpdateState::ON_INIT_UPDATE_START)
{
yim_fipackfile rpf_wrapper = yim_fipackfile(this_, mount_point);
const auto files = rpf_wrapper.get_file_paths();
for (const auto& file : files)
{
std::for_each(yim_fipackfile::m_wrapper_call_back.begin(), yim_fipackfile::m_wrapper_call_back.end(), [&rpf_wrapper, file](std::function<void(yim_fipackfile & rpf_wrapper, std::filesystem::path path)> cb) {
cb(rpf_wrapper, file);
});
}
if (!stricmp(this_->GetName(), "BgScript.rpf"))
{
yim_fipackfile::for_each_fipackfile();
g_gta_data_service->set_state(eGtaDataUpdateState::ON_INIT_UPDATE_END);
}
}
return result;
}
}

View File

@ -62,27 +62,6 @@ namespace big
m_update_state = state; m_update_state = state;
} }
void gta_data_service::update_in_online()
{
m_update_state = eGtaDataUpdateState::WAITING_FOR_SINGLE_PLAYER;
g_fiber_pool->queue_job([this] {
while (*g_pointers->m_gta.m_game_state != eGameState::Playing)
{
script::get_current()->yield(100ms);
}
m_update_state = eGtaDataUpdateState::WAITING_FOR_ONLINE;
session::join_type(eSessionType::SOLO);
while (!*g_pointers->m_gta.m_is_session_started)
{
script::get_current()->yield(100ms);
}
m_update_state = eGtaDataUpdateState::UPDATING;
rebuild_cache();
});
}
void gta_data_service::update_now() void gta_data_service::update_now()
{ {
m_update_state = eGtaDataUpdateState::WAITING_FOR_SINGLE_PLAYER; m_update_state = eGtaDataUpdateState::WAITING_FOR_SINGLE_PLAYER;
@ -92,14 +71,6 @@ namespace big
}); });
} }
void gta_data_service::update_on_init()
{
m_update_state = eGtaDataUpdateState::ON_INIT_WAITING;
g_thread_pool->push([this] {
rebuild_cache();
});
}
// innefficient getters, don't care to fix right now // innefficient getters, don't care to fix right now
const ped_item& gta_data_service::ped_by_hash(std::uint32_t hash) const ped_item& gta_data_service::ped_by_hash(std::uint32_t hash)
{ {
@ -501,11 +472,6 @@ namespace big
{ {
yim_fipackfile::for_each_fipackfile(); yim_fipackfile::for_each_fipackfile();
} }
else
{
while (state() != eGtaDataUpdateState::ON_INIT_UPDATE_END)
std::this_thread::sleep_for(100ms);
}
static bool translate_lebel = false; static bool translate_lebel = false;

View File

@ -11,11 +11,7 @@ namespace big
IDLE, IDLE,
NEEDS_UPDATE, NEEDS_UPDATE,
WAITING_FOR_SINGLE_PLAYER, WAITING_FOR_SINGLE_PLAYER,
WAITING_FOR_ONLINE, UPDATING
UPDATING,
ON_INIT_WAITING,
ON_INIT_UPDATE_START,
ON_INIT_UPDATE_END
}; };
using ped_map = std::map<std::string, ped_item>; using ped_map = std::map<std::string, ped_item>;
@ -31,9 +27,7 @@ namespace big
bool cache_needs_update() const; bool cache_needs_update() const;
eGtaDataUpdateState state() const; eGtaDataUpdateState state() const;
void set_state(eGtaDataUpdateState state); void set_state(eGtaDataUpdateState state);
void update_in_online();
void update_now(); void update_now();
void update_on_init();
const ped_item& ped_by_hash(std::uint32_t hash); const ped_item& ped_by_hash(std::uint32_t hash);
const vehicle_item& vehicle_by_hash(std::uint32_t hash); const vehicle_item& vehicle_by_hash(std::uint32_t hash);

View File

@ -16,18 +16,10 @@ namespace big
components::sub_title("GTA cache stats:"); components::sub_title("GTA cache stats:");
ImGui::Text("Peds Cached: %d\nVehicles Cached: %d\nWeapons Cached: %d", ped_count, veh_count, wep_count); ImGui::Text("Peds Cached: %d\nVehicles Cached: %d\nWeapons Cached: %d", ped_count, veh_count, wep_count);
if (components::button("Rebuild Cache in Online")) if (components::button("Rebuild Cache"))
{ {
g_gta_data_service->set_state(eGtaDataUpdateState::NEEDS_UPDATE); g_gta_data_service->set_state(eGtaDataUpdateState::NEEDS_UPDATE);
g_gta_data_service->update_now();
if (!*g_pointers->m_gta.m_is_session_started)
{
g_gta_data_service->update_in_online();
}
else
{
g_gta_data_service->update_now();
}
} }
} }
} }

View File

@ -26,27 +26,9 @@ namespace big
{ {
ImGui::Text("GAME_CACHE_UPDATE"_T.data()); ImGui::Text("GAME_CACHE_UPDATE"_T.data());
if (*g_pointers->m_gta.m_is_session_started) if (ImGui::Button("GAME_CACHE_UPDATE_CACHE"_T.data()))
{ {
if (ImGui::Button("GAME_CACHE_UPDATE_CACHE"_T.data())) g_gta_data_service->update_now();
{
g_gta_data_service->update_now();
}
}
else
{
if (ImGui::Button("GAME_CACHE_UPDATE_CACHE"_T.data()))
{
g_gta_data_service->update_now();
}
if (*g_pointers->m_gta.m_game_state == eGameState::Respawn)
{
if (ImGui::Button("GAME_CACHE_ON_INIT"_T.data()))
{
g_gta_data_service->update_on_init();
}
}
} }
break; break;
@ -57,30 +39,12 @@ namespace big
break; break;
} }
case eGtaDataUpdateState::WAITING_FOR_ONLINE:
{
ImGui::Text("GAME_CACHE_WAITING_FOR_ONLINE"_T.data());
break;
}
case eGtaDataUpdateState::UPDATING: case eGtaDataUpdateState::UPDATING:
{ {
ImGui::Text("GAME_CACHE_UPDATING"_T.data()); ImGui::Text("GAME_CACHE_UPDATING"_T.data());
break; break;
} }
case eGtaDataUpdateState::ON_INIT_WAITING:
{
ImGui::Text("GAME_CACHE_WAITING_FOR_SINGLE_PLAYER"_T.data());
break;
}
case eGtaDataUpdateState::ON_INIT_UPDATE_START:
{
ImGui::Text("GAME_CACHE_UPDATING"_T.data());
break;
}
case eGtaDataUpdateState::IDLE: case eGtaDataUpdateState::IDLE:
{ {
ImGui::CloseCurrentPopup(); ImGui::CloseCurrentPopup();