Solved #207 , Fixed some typos

This commit is contained in:
Joaquin 2022-07-24 22:52:47 -06:00
parent 5af8d4dd9e
commit f2b5a26de9
10 changed files with 97 additions and 59 deletions

View File

@ -58,7 +58,7 @@ As well as setting up **`cheat-library`** as startup project.
#### Player #### Player
- Invincible - Invincible
- Attack Modifier - Attack Modifier
- No Cooldown Skill/Ultimate/Sprint - No Cooldown Skill/Ultimate/Sprint/Bow
- Unlimited Stamina - Unlimited Stamina
- No Clip - No Clip
@ -66,6 +66,7 @@ As well as setting up **`cheat-library`** as startup project.
- Auto Seelie - Auto Seelie
- Vacuum Loot - Vacuum Loot
- Dumb Enemies - Dumb Enemies
- Freeze Enemies
- Auto Destroy Objects - Auto Destroy Objects
- Auto Loot - Auto Loot
- Pickup Range - Pickup Range
@ -92,7 +93,7 @@ As well as setting up **`cheat-library`** as startup project.
- Chest Indicator - Chest Indicator
- Hide UI - Hide UI
- In-game Embedded Browser - In-game Embedded Browser
- Enable Peaking - Enable Peeking
- Profile Changer - Profile Changer
- Free Camera - Free Camera
- Texture Changer - Texture Changer
@ -135,9 +136,9 @@ As well as setting up **`cheat-library`** as startup project.
<h1 align="center">Bugs</h1> <h1 align="center">Bugs</h1>
Welcome to the short explanation for bug reporting Welcome to the short explanation for bug reporting
1. You Found a bug. 1. You found a bug.
1. write down what happened, as well as your first thoughts on what you think caused it. 1. Write down what happened, as well as your first thoughts on what you think caused it.
1. can it be reproduced? Yes or no. If yes: Explain in as much clear as possible. i.e what happens when the bug occurs and why it occurs. 1. Can it be reproduced? Yes or no. If yes: Explain in as much clear as possible. i.e what happens when the bug occurs and why it occurs.
1. Tell us which version you are using. copy the `SHA`/ Version Number of the latest commit when you built the mod. For example: `bd17a00ec388f3b93624280cde9e1c66e740edf9` / Release 0.7 1. Tell us which version you are using. copy the `SHA`/ Version Number of the latest commit when you built the mod. For example: `bd17a00ec388f3b93624280cde9e1c66e740edf9` / Release 0.7
## Bug reporting template ## Bug reporting template

View File

@ -34,7 +34,7 @@
<ClInclude Include="src\user\cheat\teleport\CustomTeleports.h" /> <ClInclude Include="src\user\cheat\teleport\CustomTeleports.h" />
<ClInclude Include="src\user\cheat\visuals\Browser.h" /> <ClInclude Include="src\user\cheat\visuals\Browser.h" />
<ClInclude Include="src\user\cheat\visuals\CameraZoom.h" /> <ClInclude Include="src\user\cheat\visuals\CameraZoom.h" />
<ClInclude Include="src\user\cheat\visuals\EnablePeaking.h" /> <ClInclude Include="src\user\cheat\visuals\EnablePeeking.h" />
<ClInclude Include="src\user\cheat\visuals\FPSUnlock.h" /> <ClInclude Include="src\user\cheat\visuals\FPSUnlock.h" />
<ClInclude Include="src\user\cheat\visuals\HideUI.h" /> <ClInclude Include="src\user\cheat\visuals\HideUI.h" />
<ClInclude Include="src\user\cheat\visuals\NoFog.h" /> <ClInclude Include="src\user\cheat\visuals\NoFog.h" />
@ -125,7 +125,7 @@
<ClCompile Include="src\user\cheat\GenshinCM.cpp" /> <ClCompile Include="src\user\cheat\GenshinCM.cpp" />
<ClCompile Include="src\user\cheat\visuals\Browser.cpp" /> <ClCompile Include="src\user\cheat\visuals\Browser.cpp" />
<ClCompile Include="src\user\cheat\visuals\CameraZoom.cpp" /> <ClCompile Include="src\user\cheat\visuals\CameraZoom.cpp" />
<ClCompile Include="src\user\cheat\visuals\EnablePeaking.cpp" /> <ClCompile Include="src\user\cheat\visuals\EnablePeeking.cpp" />
<ClCompile Include="src\user\cheat\visuals\FPSUnlock.cpp" /> <ClCompile Include="src\user\cheat\visuals\FPSUnlock.cpp" />
<ClCompile Include="src\user\cheat\visuals\HideUI.cpp" /> <ClCompile Include="src\user\cheat\visuals\HideUI.cpp" />
<ClCompile Include="src\user\cheat\visuals\NoFog.cpp" /> <ClCompile Include="src\user\cheat\visuals\NoFog.cpp" />

View File

@ -213,7 +213,7 @@
<ClInclude Include="src\user\cheat\visuals\Browser.h"> <ClInclude Include="src\user\cheat\visuals\Browser.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\user\cheat\visuals\EnablePeaking.h"> <ClInclude Include="src\user\cheat\visuals\EnablePeeking.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\user\cheat\visuals\TextureChanger.h"> <ClInclude Include="src\user\cheat\visuals\TextureChanger.h">
@ -420,7 +420,7 @@
<ClCompile Include="src\user\cheat\visuals\Browser.cpp"> <ClCompile Include="src\user\cheat\visuals\Browser.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\user\cheat\visuals\EnablePeaking.cpp"> <ClCompile Include="src\user\cheat\visuals\EnablePeeking.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\user\cheat\visuals\TextureChanger.cpp"> <ClCompile Include="src\user\cheat\visuals\TextureChanger.cpp">

View File

@ -51,7 +51,7 @@
#include <cheat/visuals/PaimonFollow.h> #include <cheat/visuals/PaimonFollow.h>
#include <cheat/visuals/HideUI.h> #include <cheat/visuals/HideUI.h>
#include <cheat/visuals/Browser.h> #include <cheat/visuals/Browser.h>
#include <cheat/visuals/EnablePeaking.h> #include <cheat/visuals/EnablePeeking.h>
#include <cheat/visuals/TextureChanger.h> #include <cheat/visuals/TextureChanger.h>
#include <cheat/visuals/FreeCamera.h> #include <cheat/visuals/FreeCamera.h>
@ -117,7 +117,7 @@ namespace cheat
FEAT_INST(PaimonFollow), FEAT_INST(PaimonFollow),
FEAT_INST(HideUI), FEAT_INST(HideUI),
FEAT_INST(Browser), FEAT_INST(Browser),
FEAT_INST(EnablePeaking), FEAT_INST(EnablePeeking),
FEAT_INST(TextureChanger), FEAT_INST(TextureChanger),
FEAT_INST(FreeCamera) FEAT_INST(FreeCamera)

View File

@ -1,25 +0,0 @@
#pragma once
#include <cheat-base/cheat/Feature.h>
#include <cheat-base/config/config.h>
namespace cheat::feature
{
class EnablePeaking : public Feature
{
public:
config::Field<config::Toggle<Hotkey>> f_Enabled;
static EnablePeaking& GetInstance();
const FeatureGUIInfo& GetGUIInfo() const override;
void DrawMain() override;
virtual bool NeedStatusDraw() const override;
void DrawStatus() override;
private:
EnablePeaking();
};
}

View File

@ -1,5 +1,5 @@
#include "pch-il2cpp.h" #include "pch-il2cpp.h"
#include "EnablePeaking.h" #include "EnablePeeking.h"
#include <helpers.h> #include <helpers.h>
@ -7,43 +7,43 @@ namespace cheat::feature
{ {
static void MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook(app::MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method); static void MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook(app::MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method);
EnablePeaking::EnablePeaking() : Feature(), EnablePeeking::EnablePeeking() : Feature(),
NF(f_Enabled, "Enable Peaking", "Visuals::EnablePeaking", false) NF(f_Enabled, "Enable Peeking", "Visuals::EnablePeeking", false)
{ {
HookManager::install(app::MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue, MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook); HookManager::install(app::MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue, MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook);
} }
const FeatureGUIInfo& EnablePeaking::GetGUIInfo() const const FeatureGUIInfo& EnablePeeking::GetGUIInfo() const
{ {
static const FeatureGUIInfo info{ "EnablePeaking", "Visuals", false }; static const FeatureGUIInfo info{ "EnablePeeking", "Visuals", false };
return info; return info;
} }
void EnablePeaking::DrawMain() void EnablePeeking::DrawMain()
{ {
ConfigWidget(f_Enabled, ";)"); ConfigWidget(f_Enabled, ";)");
} }
bool EnablePeaking::NeedStatusDraw() const bool EnablePeeking::NeedStatusDraw() const
{ {
return f_Enabled; return f_Enabled;
} }
void EnablePeaking::DrawStatus() void EnablePeeking::DrawStatus()
{ {
ImGui::Text("Enable Peaking"); ImGui::Text("Enable Peeking");
} }
EnablePeaking& EnablePeaking::GetInstance() EnablePeeking& EnablePeeking::GetInstance()
{ {
static EnablePeaking instance; static EnablePeeking instance;
return instance; return instance;
} }
static void MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook(app::MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method) static void MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook(app::MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method)
{ {
EnablePeaking& EnablePeaking = EnablePeaking::GetInstance(); EnablePeeking& EnablePeeking = EnablePeeking::GetInstance();
if (EnablePeaking.f_Enabled) if (EnablePeeking.f_Enabled)
value = 1; value = 1;
CALL_ORIGIN(MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook, __this, value, method); CALL_ORIGIN(MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue_Hook, __this, value, method);

View File

@ -0,0 +1,25 @@
#pragma once
#include <cheat-base/cheat/Feature.h>
#include <cheat-base/config/config.h>
namespace cheat::feature
{
class EnablePeeking : public Feature
{
public:
config::Field<config::Toggle<Hotkey>> f_Enabled;
static EnablePeeking& GetInstance();
const FeatureGUIInfo& GetGUIInfo() const override;
void DrawMain() override;
virtual bool NeedStatusDraw() const override;
void DrawStatus() override;
private:
EnablePeeking();
};
}

View File

@ -3,6 +3,7 @@
#include <helpers.h> #include <helpers.h>
#include <cheat/events.h> #include <cheat/events.h>
#include <cheat/game/EntityManager.h>
namespace cheat::feature namespace cheat::feature
{ {
@ -20,6 +21,7 @@ namespace cheat::feature
FreeCamera::FreeCamera() : Feature(), FreeCamera::FreeCamera() : Feature(),
NF(f_Enabled, "Free Camera", "Visuals::FreeCamera", false), NF(f_Enabled, "Free Camera", "Visuals::FreeCamera", false),
NF(f_FreezeAnimation, "Freeze Character Animation", "Visuals::FreeCamera", false),
NF(f_Speed, "Speed", "Visuals::FreeCamera", 1.0f), NF(f_Speed, "Speed", "Visuals::FreeCamera", 1.0f),
NF(f_LookSens, "Look Sensitivity", "Visuals::FreeCamera", 1.0f), NF(f_LookSens, "Look Sensitivity", "Visuals::FreeCamera", 1.0f),
NF(f_RollSpeed, "Roll Speed", "Visuals::FreeCamera", 1.0f), NF(f_RollSpeed, "Roll Speed", "Visuals::FreeCamera", 1.0f),
@ -50,6 +52,7 @@ namespace cheat::feature
void FreeCamera::DrawMain() void FreeCamera::DrawMain()
{ {
ConfigWidget("Enable", f_Enabled); ConfigWidget("Enable", f_Enabled);
ConfigWidget("Freeze Character Animation", f_FreezeAnimation, "Freezes the active character's animation.\nAfter disabling, jump to un-freeze your character.");
if (ImGui::BeginTable("FreeCameraDrawTable", 1, ImGuiTableFlags_NoBordersInBody)) if (ImGui::BeginTable("FreeCameraDrawTable", 1, ImGuiTableFlags_NoBordersInBody))
{ {
ImGui::TableNextRow(); ImGui::TableNextRow();
@ -245,5 +248,25 @@ namespace cheat::feature
} }
else else
DisableFreeCam(); DisableFreeCam();
// Taiga#5555: There's probably be a better way of implementing this. But for now, this is just what I came up with.
auto& manager = game::EntityManager::instance();
auto animator = manager.avatar()->animator();
auto rigidBody = manager.avatar()->rigidbody();
if (animator == nullptr && rigidBody == nullptr)
return;
if (f_FreezeAnimation)
{
//auto constraints = app::Rigidbody_get_constraints(rigidBody, nullptr);
//LOG_DEBUG("%s", magic_enum::enum_name(constraints).data());
app::Rigidbody_set_constraints(rigidBody, app::RigidbodyConstraints__Enum::FreezePosition, nullptr);
app::Animator_set_speed(animator, 0.f, nullptr);
}
else
{
app::Rigidbody_set_constraints(rigidBody, app::RigidbodyConstraints__Enum::FreezeRotation, nullptr);
app::Animator_set_speed(animator, 1.f, nullptr);
}
} }
} }

View File

@ -8,6 +8,7 @@ namespace cheat::feature
{ {
public: public:
config::Field<config::Toggle<Hotkey>> f_Enabled; config::Field<config::Toggle<Hotkey>> f_Enabled;
config::Field<config::Toggle<Hotkey>> f_FreezeAnimation;
config::Field<float> f_Speed; config::Field<float> f_Speed;
config::Field<float> f_LookSens; config::Field<float> f_LookSens;
config::Field<float> f_RollSpeed; config::Field<float> f_RollSpeed;

View File

@ -28,7 +28,7 @@ namespace cheat::feature
} }
bool FreezeEnemies::NeedStatusDraw() const bool FreezeEnemies::NeedStatusDraw() const
{ {
return f_Enabled; return f_Enabled;
} }
@ -43,6 +43,7 @@ namespace cheat::feature
return instance; return instance;
} }
// Taiga#5555: There's probably be a better way of implementing this. But for now, this is just what I came up with.
void FreezeEnemies::OnGameUpdate() void FreezeEnemies::OnGameUpdate()
{ {
auto& manager = game::EntityManager::instance(); auto& manager = game::EntityManager::instance();
@ -50,10 +51,22 @@ namespace cheat::feature
for (const auto& monster : manager.entities(game::filters::combined::Monsters)) for (const auto& monster : manager.entities(game::filters::combined::Monsters))
{ {
auto animator = monster->animator(); auto animator = monster->animator();
if (animator == nullptr) auto rigidBody = monster->rigidbody();
if (animator == nullptr && rigidBody == nullptr)
return; return;
f_Enabled ? app::Animator_set_speed(animator, 0.f, nullptr) : app::Animator_set_speed(animator, 1.f, nullptr); if (f_Enabled)
{
//auto constraints = app::Rigidbody_get_constraints(rigidBody, nullptr);
//LOG_DEBUG("%s", magic_enum::enum_name(constraints).data());
app::Rigidbody_set_constraints(rigidBody, app::RigidbodyConstraints__Enum::FreezeAll, nullptr);
app::Animator_set_speed(animator, 0.f, nullptr);
}
else
{
app::Rigidbody_set_constraints(rigidBody, app::RigidbodyConstraints__Enum::FreezeRotation, nullptr);
app::Animator_set_speed(animator, 1.f, nullptr);
}
} }
} }
} }