mirror of
https://github.com/360NENZ/Taiga74164-Akebi-GC.git
synced 2025-01-09 10:49:23 +08:00
commit
8872b728de
@ -50,6 +50,7 @@
|
|||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<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\CameraZoom.h" />
|
<ClInclude Include="src\user\cheat\visuals\CameraZoom.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" />
|
||||||
@ -163,6 +164,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="src\user\cheat\teleport\CustomTeleports.cpp" />
|
<ClCompile Include="src\user\cheat\teleport\CustomTeleports.cpp" />
|
||||||
<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\CameraZoom.cpp" />
|
<ClCompile Include="src\user\cheat\visuals\CameraZoom.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" />
|
||||||
|
@ -234,6 +234,9 @@
|
|||||||
<ClInclude Include="src\user\cheat\visuals\HideUI.h">
|
<ClInclude Include="src\user\cheat\visuals\HideUI.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\user\cheat\visuals\Browser.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Font Include="res\Ruda-Bold.ttf" />
|
<Font Include="res\Ruda-Bold.ttf" />
|
||||||
@ -426,6 +429,9 @@
|
|||||||
<ClCompile Include="src\user\cheat\visuals\HideUI.cpp">
|
<ClCompile Include="src\user\cheat\visuals\HideUI.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\user\cheat\visuals\Browser.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="res\res.rc">
|
<ResourceCompile Include="res\res.rc">
|
||||||
|
@ -164,6 +164,25 @@ DO_APP_FUNC(0x065546E0, Transform*, Transform_GetChild, (Transform* __this, int3
|
|||||||
DO_APP_FUNC(0x0652EA10, Component_1*, Component_1_GetComponent_1, (Component_1* __this, String* type, MethodInfo* method));
|
DO_APP_FUNC(0x0652EA10, Component_1*, Component_1_GetComponent_1, (Component_1* __this, String* type, MethodInfo* method));
|
||||||
DO_APP_FUNC(0x0662F520, void, GameObject_SetActive, (GameObject* __this, bool value, MethodInfo* method));
|
DO_APP_FUNC(0x0662F520, void, GameObject_SetActive, (GameObject* __this, bool value, MethodInfo* method));
|
||||||
|
|
||||||
|
// Browser
|
||||||
|
DO_APP_FUNC(0x0662F100, GameObject*, GameObject_CreatePrimitive, (PrimitiveType__Enum type, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x0662F700, Transform*, GameObject_get_transform, (GameObject* __this, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x06555EF0, void, Transform_set_localRotation, (Transform* __this, Quaternion value, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x065548E0, void, Transform_set_localScale, (Transform* __this, Vector3 value, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x06555EE0, void, Transform_set_localPosition, (Transform* __this, Vector3 value, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x0662F090, Component_1*, GameObject_AddComponentInternal, (GameObject* __this, String* className, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x064296D0, void, Browser_Show, (Browser* __this, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x06427060, void, Browser_Hide, (Browser* __this, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x00C21580, void, Browser_set_EnableRendering, (Browser* __this, bool value, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x0642C5D0, void, Browser_set_Url, (Browser* __this, String* value, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x064273E0, void, Browser_LoadURL, (Browser* __this, String* url, bool force, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x06427610, void, Browser_OnDestroy, (Browser* __this, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x0642A200, void, Browser_Update, (Browser* __this, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x06427100, void, Browser_LateUpdate, (Browser* __this, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x06429770, void, Browser_Stop, (Browser* __this, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x06550910, void, Object_1_Destroy_1, (Object_1* obj, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x0662F0A0, Component_1*, GameObject_AddComponent, (GameObject* __this, Type* componentType, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x065508C0, void, Object_1_DestroyImmediate_1, (Object_1* obj, MethodInfo* method));
|
||||||
|
|
||||||
// Utility
|
// Utility
|
||||||
DO_APP_FUNC(0x03551B60, String*, Text_get_text, (Text* __this, MethodInfo* method));
|
DO_APP_FUNC(0x03551B60, String*, Text_get_text, (Text* __this, MethodInfo* method));
|
||||||
|
@ -3818,6 +3818,12 @@ namespace app {
|
|||||||
void* m_CachedPtr;
|
void* m_CachedPtr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct Object_1 {
|
||||||
|
struct Object_1__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct Object_1__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
struct Component_1__Fields {
|
struct Component_1__Fields {
|
||||||
struct Object_1__Fields _;
|
struct Object_1__Fields _;
|
||||||
};
|
};
|
||||||
@ -11538,6 +11544,103 @@ namespace app {
|
|||||||
struct MonoFriendInformationDialog__Fields fields;
|
struct MonoFriendInformationDialog__Fields fields;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct Color32 {
|
||||||
|
int32_t rgba;
|
||||||
|
uint8_t r;
|
||||||
|
uint8_t g;
|
||||||
|
uint8_t b;
|
||||||
|
uint8_t a;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class PrimitiveType__Enum : int32_t {
|
||||||
|
Sphere = 0x00000000,
|
||||||
|
Capsule = 0x00000001,
|
||||||
|
Cylinder = 0x00000002,
|
||||||
|
Cube = 0x00000003,
|
||||||
|
Plane = 0x00000004,
|
||||||
|
Quad = 0x00000005,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class BrowserNative_ContextMenuOrigin__Enum : int32_t {
|
||||||
|
Editable = 0x00000002,
|
||||||
|
Image = 0x00000004,
|
||||||
|
Selection = 0x00000008,
|
||||||
|
Other = 0x00000001,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class Browser_NewWindowAction__Enum : int32_t {
|
||||||
|
Ignore = 0x00000001,
|
||||||
|
Redirect = 0x00000002,
|
||||||
|
NewBrowser = 0x00000003,
|
||||||
|
NewWindow = 0x00000004,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Browser__Fields {
|
||||||
|
struct MonoBehaviour__Fields _;
|
||||||
|
bool offScreen;
|
||||||
|
struct IBrowserUI* _uiHandler;
|
||||||
|
bool uiHandlerAssigned;
|
||||||
|
struct String* _url;
|
||||||
|
int32_t _width;
|
||||||
|
int32_t _height;
|
||||||
|
bool generateMipmap;
|
||||||
|
struct Color32 baseColor;
|
||||||
|
float _zoom;
|
||||||
|
struct Action_2_String_String_* onConsoleMessage;
|
||||||
|
BrowserNative_ContextMenuOrigin__Enum allowContextMenuOn;
|
||||||
|
Browser_NewWindowAction__Enum newWindowAction;
|
||||||
|
struct INewWindowHandler* _NewWindowHandler_k__BackingField;
|
||||||
|
bool _EnableRendering_k__BackingField;
|
||||||
|
bool _EnableInput_k__BackingField;
|
||||||
|
struct CookieManager* _CookieManager_k__BackingField;
|
||||||
|
int32_t browserId;
|
||||||
|
int32_t unsafeBrowserId;
|
||||||
|
bool browserIdRequested;
|
||||||
|
struct Texture2D* texture;
|
||||||
|
struct Action_1_UnityEngine_Texture2D_* afterResize;
|
||||||
|
bool textureIsOurs;
|
||||||
|
bool forceNextRender;
|
||||||
|
bool isPopup;
|
||||||
|
struct List_1_System_Action_* thingsToDo;
|
||||||
|
struct List_1_System_Action_* onloadActions;
|
||||||
|
struct List_1_System_Object_* thingsToRemember;
|
||||||
|
int32_t nextCallbackId;
|
||||||
|
struct Dictionary_2_System_Int32_ZenFulcrum_EmbeddedBrowser_Browser_JSResultFunc_* registeredCallbacks;
|
||||||
|
struct BrowserNative_ReadyFunc* onNativeReady;
|
||||||
|
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onLoad;
|
||||||
|
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onFetch;
|
||||||
|
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onFetchError;
|
||||||
|
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onCertError;
|
||||||
|
struct Action* onSadTab;
|
||||||
|
struct Action* onTextureUpdated;
|
||||||
|
struct Action* onNavStateChange;
|
||||||
|
struct Action_2_Int32_ZenFulcrum_EmbeddedBrowser_JSONNode_* onDownloadStarted;
|
||||||
|
struct Action_2_Int32_ZenFulcrum_EmbeddedBrowser_JSONNode_* onDownloadStatus;
|
||||||
|
struct Action_3_String_Boolean_String_* onNodeFocus;
|
||||||
|
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onUniWebviewMsgReceive;
|
||||||
|
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onBeforeNavigationMsgReceive;
|
||||||
|
struct Action_2_Boolean_Boolean_* onBrowserFocus;
|
||||||
|
struct BrowserFocusState* focusState;
|
||||||
|
struct BrowserInput* browserInput;
|
||||||
|
struct Browser* overlay;
|
||||||
|
bool skipNextLoad;
|
||||||
|
bool loadPending;
|
||||||
|
struct BrowserNavState* navState;
|
||||||
|
bool newWindowHandlerSet;
|
||||||
|
struct INewWindowHandler* newWindowHandler;
|
||||||
|
struct DialogHandler* dialogHandler;
|
||||||
|
struct Action* pageReplacer;
|
||||||
|
float pageReplacerPriority;
|
||||||
|
struct List_1_System_Action_* thingsToDoClone;
|
||||||
|
struct Color32__Array* colorBuffer;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Browser {
|
||||||
|
struct Browser__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct Browser__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
#if !defined(_GHIDRA_) && !defined(_IDA_)
|
#if !defined(_GHIDRA_) && !defined(_IDA_)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include <cheat/visuals/ProfileChanger.h>
|
#include <cheat/visuals/ProfileChanger.h>
|
||||||
#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 "GenshinCM.h"
|
#include "GenshinCM.h"
|
||||||
|
|
||||||
@ -101,7 +102,8 @@ namespace cheat
|
|||||||
FEAT_INST(ChestIndicator),
|
FEAT_INST(ChestIndicator),
|
||||||
FEAT_INST(ProfileChanger),
|
FEAT_INST(ProfileChanger),
|
||||||
FEAT_INST(PaimonFollow),
|
FEAT_INST(PaimonFollow),
|
||||||
FEAT_INST(HideUI)
|
FEAT_INST(HideUI),
|
||||||
|
FEAT_INST(Browser)
|
||||||
|
|
||||||
});
|
});
|
||||||
#undef FEAT_INST
|
#undef FEAT_INST
|
||||||
|
99
cheat-library/src/user/cheat/visuals/Browser.cpp
Normal file
99
cheat-library/src/user/cheat/visuals/Browser.cpp
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
#include "pch-il2cpp.h"
|
||||||
|
#include "Browser.h"
|
||||||
|
|
||||||
|
#include <helpers.h>
|
||||||
|
#include <cheat/events.h>
|
||||||
|
#include <misc/cpp/imgui_stdlib.h>
|
||||||
|
|
||||||
|
#include <cheat/esp/ESPRender.h>
|
||||||
|
|
||||||
|
namespace cheat::feature
|
||||||
|
{
|
||||||
|
app::GameObject* planeObject = nullptr;
|
||||||
|
app::Component_1* BrowserComponents = nullptr;
|
||||||
|
static std::string f_URL;
|
||||||
|
|
||||||
|
Browser::Browser() : Feature(),
|
||||||
|
NF(f_Enabled, "Browser", "Visuals", false),
|
||||||
|
toBeUpdate(), nextUpdate(0)
|
||||||
|
{
|
||||||
|
events::GameUpdateEvent += MY_METHOD_HANDLER(Browser::OnGameUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FeatureGUIInfo& Browser::GetGUIInfo() const
|
||||||
|
{
|
||||||
|
static const FeatureGUIInfo info{ "Browser", "Visuals", false };
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Browser::DrawMain()
|
||||||
|
{
|
||||||
|
ConfigWidget(f_Enabled, "Create in-game Browser");
|
||||||
|
ImGui::InputText("URL", &f_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Browser::NeedStatusDraw() const
|
||||||
|
{
|
||||||
|
return f_Enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Browser::DrawStatus()
|
||||||
|
{
|
||||||
|
ImGui::Text("Browser");
|
||||||
|
}
|
||||||
|
|
||||||
|
Browser& Browser::GetInstance()
|
||||||
|
{
|
||||||
|
static Browser instance;
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Browser::OnGameUpdate()
|
||||||
|
{
|
||||||
|
auto currentTime = util::GetCurrentTimeMillisec();
|
||||||
|
if (currentTime < nextUpdate)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (f_Enabled) {
|
||||||
|
if (planeObject == nullptr) {
|
||||||
|
|
||||||
|
auto PrimitiveType = app::PrimitiveType__Enum::Plane;
|
||||||
|
planeObject = app::GameObject_CreatePrimitive(PrimitiveType, nullptr);
|
||||||
|
|
||||||
|
app::Transform* planeObject_Transform = app::GameObject_get_transform(planeObject, nullptr);
|
||||||
|
app::Quaternion planeObject_Transform_Quaternion = { 0.5, 0.5, -0.5, 0.5};
|
||||||
|
auto avatarPos = app::ActorUtils_GetAvatarPos(nullptr);
|
||||||
|
auto relativePos = app::WorldShiftManager_GetRelativePosition(avatarPos, nullptr);
|
||||||
|
app::Vector3 planeObject_Transform_Vector3 = { relativePos.x, relativePos.y + 3, relativePos.z };
|
||||||
|
app::Vector3 planeObject_Transform_Scale = { 1, 1, 1};
|
||||||
|
|
||||||
|
app::Transform_set_localPosition(planeObject_Transform, planeObject_Transform_Vector3, nullptr);
|
||||||
|
app::Transform_set_localScale(planeObject_Transform, planeObject_Transform_Scale, nullptr);
|
||||||
|
app::Transform_set_localRotation(planeObject_Transform, planeObject_Transform_Quaternion, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (planeObject != nullptr) {
|
||||||
|
if (BrowserComponents == nullptr) {
|
||||||
|
std::string custom_url = f_URL.length() < 2 || f_URL.c_str() == "" ? "https://www.google.com/" : f_URL.c_str();
|
||||||
|
|
||||||
|
BrowserComponents = app::GameObject_AddComponentInternal(planeObject, string_to_il2cppi("Browser"), nullptr);
|
||||||
|
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._url = string_to_il2cppi(custom_url);
|
||||||
|
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._width = 1920;
|
||||||
|
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._height = 1080;
|
||||||
|
reinterpret_cast<app::Browser*>(BrowserComponents)->fields.forceNextRender = true;
|
||||||
|
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._EnableInput_k__BackingField = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (planeObject != nullptr && BrowserComponents != nullptr)
|
||||||
|
{
|
||||||
|
app::Object_1_DestroyImmediate_1(reinterpret_cast<app::Object_1*>(planeObject), nullptr);
|
||||||
|
app::Object_1_DestroyImmediate_1(reinterpret_cast<app::Object_1*>(BrowserComponents), nullptr);
|
||||||
|
planeObject = nullptr;
|
||||||
|
BrowserComponents = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nextUpdate = currentTime + (int)f_DelayUpdate;
|
||||||
|
}
|
||||||
|
}
|
26
cheat-library/src/user/cheat/visuals/Browser.h
Normal file
26
cheat-library/src/user/cheat/visuals/Browser.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <cheat-base/cheat/Feature.h>
|
||||||
|
#include <cheat-base/config/config.h>
|
||||||
|
#include <cheat-base/thread-safe.h>
|
||||||
|
|
||||||
|
namespace cheat::feature
|
||||||
|
{
|
||||||
|
class Browser : public Feature
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
config::Field<config::Toggle<Hotkey>> f_Enabled;
|
||||||
|
|
||||||
|
static Browser& GetInstance();
|
||||||
|
const FeatureGUIInfo& GetGUIInfo() const override;
|
||||||
|
void DrawMain() override;
|
||||||
|
virtual bool NeedStatusDraw() const override;
|
||||||
|
void DrawStatus() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
SafeQueue<uint32_t> toBeUpdate;
|
||||||
|
SafeValue<int64_t> nextUpdate;
|
||||||
|
int f_DelayUpdate = 20.f;
|
||||||
|
void OnGameUpdate();
|
||||||
|
Browser();
|
||||||
|
};
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user