mirror of
https://github.com/SunsetMkt/Akebi-GC.git
synced 2025-01-08 10:33:54 +08:00
No more hardcoding Animations
This commit is contained in:
parent
d5cb6f3be5
commit
ae7e8ca414
@ -141,6 +141,7 @@ DO_APP_FUNC(0x01CA4DB0, void, MoleMole_FishingModule_onFishChosenNotify, (void*
|
|||||||
// Visuals
|
// Visuals
|
||||||
DO_APP_FUNC(0x02F624E0, void, MoleMole_SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method));
|
DO_APP_FUNC(0x02F624E0, void, MoleMole_SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method));
|
||||||
DO_APP_FUNC(0x0260AB80, void, MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue, (MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method));
|
DO_APP_FUNC(0x0260AB80, void, MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue, (MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method));
|
||||||
|
DO_APP_FUNC(0x014CE8F0, void, MoleMole_PlayerModule_EntityAppear, (MoleMole_PlayerModule* __this, Proto_SceneEntityInfo* entity, VisionType__Enum type, uint32_t infoParam, MethodInfo* method));
|
||||||
|
|
||||||
// Chest Indicator | RyujinZX#6666
|
// Chest Indicator | RyujinZX#6666
|
||||||
DO_APP_FUNC(0x03620070, bool, MoleMole_LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method));
|
DO_APP_FUNC(0x03620070, bool, MoleMole_LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method));
|
||||||
|
@ -9251,6 +9251,25 @@ namespace app {
|
|||||||
struct Canvas__Fields fields;
|
struct Canvas__Fields fields;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct MoleMole_InfoTextDialogContext__Fields {
|
||||||
|
struct BaseDialogContext__Fields _;
|
||||||
|
struct MonoInfoTextDialog* _dialogMono;
|
||||||
|
struct List_1_System_String_* _contents;
|
||||||
|
bool _needFreeClickButton;
|
||||||
|
bool _interactable;
|
||||||
|
struct Nullable_1_Boolean_ _customEnableInputPenetrate;
|
||||||
|
/*MoleMole_InfoTextDialogContext_MoleMole_InfoTextDialogContext_InfoState__Enum _infoState;
|
||||||
|
float _nextTimeStamp;
|
||||||
|
bool _needFadeIn;*/
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MoleMole_InfoTextDialogContext {
|
||||||
|
struct MoleMole_InfoTextDialogContext__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct MoleMole_InfoTextDialogContext__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
struct __declspec(align(8)) UIManager__Fields {
|
struct __declspec(align(8)) UIManager__Fields {
|
||||||
struct LinkedList_1_MoleMole_BaseContext_* _inputContextList;
|
struct LinkedList_1_MoleMole_BaseContext_* _inputContextList;
|
||||||
struct HashSet_1_MoleMole_BaseContext_* _inputContextSet;
|
struct HashSet_1_MoleMole_BaseContext_* _inputContextSet;
|
||||||
@ -9260,6 +9279,50 @@ namespace app {
|
|||||||
uint32_t _curProfileHandle;
|
uint32_t _curProfileHandle;
|
||||||
struct Canvas* _sceneCanvas;
|
struct Canvas* _sceneCanvas;
|
||||||
struct Camera* _uiCamera;
|
struct Camera* _uiCamera;
|
||||||
|
struct Stack_1_MoleMole_BasePageContext_* _pageContextStack;
|
||||||
|
struct List_1_MoleMole_BaseDialogContext_* _rootDialogContextList;
|
||||||
|
struct List_1_MoleMole_BaseWidgetContext_* _widgetContextList;
|
||||||
|
struct List_1_MoleMole_BaseContext_* _tickContextList;
|
||||||
|
struct List_1_MoleMole_BaseContext_* _lateTickContextList;
|
||||||
|
struct List_1_MoleMole_BaseContext_* _toBeDestroyedContextList;
|
||||||
|
struct List_1_MoleMole_BaseDialogContext_* _cacheDialogContextList;
|
||||||
|
struct Dictionary_2_System_Int32_MoleMole_DoublyList_1_* _cachedLockingContexts;
|
||||||
|
struct Dictionary_2_System_Int32_System_Int32_* _lockPriorityCounts;
|
||||||
|
int32_t _curLockPriority;
|
||||||
|
struct Dictionary_2_System_Type_MoleMole_BaseContextData_* _contextDatas;
|
||||||
|
struct Dictionary_2_System_UInt32_Proto_AnnounceData_* _announceDatas;
|
||||||
|
struct MoleMole_ViewCache* _pageViewCache;
|
||||||
|
struct MoleMole_ViewCache* _dialogViewCache;
|
||||||
|
struct MoleMole_ViewCache* _widgetViewCache;
|
||||||
|
int32_t _showingContext;
|
||||||
|
bool BOJECMDPLDJ;
|
||||||
|
struct Dictionary_2_System_String_MoleMole_UIManager_MoleMole_UIManager_HandleItem_* _pathHandleDic;
|
||||||
|
struct CanvasScaler* _canvasScaler_k__BackingField;
|
||||||
|
struct MonoBaseCanvas* _levelCanvas;
|
||||||
|
/*CameraClearFlags__Enum*/ void* _curClearFlag;
|
||||||
|
struct MoleMole_FixedStack_1_System_Boolean_* _isUICameraEnableStack;
|
||||||
|
bool _needRefreshUICameraEnable;
|
||||||
|
bool _enableJoypadVirtualCursor;
|
||||||
|
bool _isWindowsPotrait;
|
||||||
|
struct List_1_System_String_* _uiResolitions;
|
||||||
|
int32_t _canvasSizeLevel;
|
||||||
|
struct Vector2 _currReferenceResolution;
|
||||||
|
struct List_1_UnityEngine_Resolution_* _windowResolutions;
|
||||||
|
int32_t _currWindowResIndex;
|
||||||
|
struct UnityAction* OnResolutionChanged;
|
||||||
|
/*MoleMole_LayoutVersion__Enum*/ void* _layoutVersion_k__BackingField;
|
||||||
|
bool _hideUI;
|
||||||
|
struct MoleMole_UIManager_SaveData* _saveData;
|
||||||
|
uint32_t _rootCanvasPrefabHandle;
|
||||||
|
struct GameObject* _rootCanvasPrefab;
|
||||||
|
struct MonoBaseCanvas* _rootCanvasInstance;
|
||||||
|
bool _isMobilePlatform;
|
||||||
|
struct List_1_MoleMole_BaseGroupContext_* _groupContextList;
|
||||||
|
struct MoleMole_BaseGroupContext* _curGroupContext;
|
||||||
|
struct MoleMole_TipsDialogContext* _normalMessageDialog;
|
||||||
|
struct MoleMole_InfoTextDialogContext* _infoDialogContext;
|
||||||
|
struct MoleMole_InfoTextDialogContext* _rootInfoDialogContext;
|
||||||
|
struct MoleMole_InfoTextDialogContext* _infoDialogContextWithoutBlockInput;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MoleMole_UIManager {
|
struct MoleMole_UIManager {
|
||||||
@ -9815,51 +9878,51 @@ namespace app {
|
|||||||
struct List_1_System_String_* FDFHCABDDFE;
|
struct List_1_System_String_* FDFHCABDDFE;
|
||||||
bool NMJJKJPPIGC;
|
bool NMJJKJPPIGC;
|
||||||
};
|
};
|
||||||
struct __declspec(align(8)) MoleMole_MapManager__Fields
|
struct __declspec(align(8)) MoleMole_MapManager__Fields
|
||||||
{
|
{
|
||||||
bool GCNMOPKPIMF;
|
bool GCNMOPKPIMF;
|
||||||
struct GameObject* mapObj;
|
struct GameObject* mapObj;
|
||||||
struct MonoLevelMapUI* monoLevelMapUI;
|
struct MonoLevelMapUI* monoLevelMapUI;
|
||||||
uint32_t _mapContainerHandle;
|
uint32_t _mapContainerHandle;
|
||||||
uint32_t playerSceneID;
|
uint32_t playerSceneID;
|
||||||
uint32_t mapSceneID;
|
uint32_t mapSceneID;
|
||||||
struct SceneScriptData* _sceneDataInMap;
|
struct SceneScriptData* _sceneDataInMap;
|
||||||
struct MapScriptData* mapData;
|
struct MapScriptData* mapData;
|
||||||
struct String* _currMapPrefabPath;
|
struct String* _currMapPrefabPath;
|
||||||
struct Nullable_1_MoleMole_AsyncJob_ BKMDLHJBOMF;
|
struct Nullable_1_MoleMole_AsyncJob_ BKMDLHJBOMF;
|
||||||
bool _forceCurrentScene;
|
bool _forceCurrentScene;
|
||||||
uint32_t _mapSceneIDSelected;
|
uint32_t _mapSceneIDSelected;
|
||||||
bool DebugNewmap;
|
bool DebugNewmap;
|
||||||
struct String* currMapString;
|
struct String* currMapString;
|
||||||
struct RectTransform* currParent;
|
struct RectTransform* currParent;
|
||||||
struct GameObject* mapGameObjectInst;
|
struct GameObject* mapGameObjectInst;
|
||||||
uint32_t _mapImageHandle;
|
uint32_t _mapImageHandle;
|
||||||
struct MonoLevelMap* levelMap;
|
struct MonoLevelMap* levelMap;
|
||||||
float mainPageCheckDistance;
|
float mainPageCheckDistance;
|
||||||
int32_t _currState;
|
int32_t _currState;
|
||||||
bool _hasSignalv;
|
bool _hasSignalv;
|
||||||
struct Vector3 _signalPos;
|
struct Vector3 _signalPos;
|
||||||
float _distanceThreshold;
|
float _distanceThreshold;
|
||||||
uint32_t _id;
|
uint32_t _id;
|
||||||
bool FLDAFADKOJI;
|
bool FLDAFADKOJI;
|
||||||
struct GameObject* FPKDGCJHAGM;
|
struct GameObject* FPKDGCJHAGM;
|
||||||
uint32_t LPOBPKLKGGK;
|
uint32_t LPOBPKLKGGK;
|
||||||
struct List_1_OOMOGPMHEAO_* HAEOLGFHPEN;
|
struct List_1_OOMOGPMHEAO_* HAEOLGFHPEN;
|
||||||
struct List_1_System_String_* EIJHGKFFDHO;
|
struct List_1_System_String_* EIJHGKFFDHO;
|
||||||
struct Dictionary_2_System_String_PILLJDIDHIJ_* _polygonLimitRegions;
|
struct Dictionary_2_System_String_PILLJDIDHIJ_* _polygonLimitRegions;
|
||||||
bool _isCurActivityLimitRegion;
|
bool _isCurActivityLimitRegion;
|
||||||
bool _isCurHomeworldLimitRegion;
|
bool _isCurHomeworldLimitRegion;
|
||||||
struct Coroutine* _curDestroyLimitRegionCoroutine;
|
struct Coroutine* _curDestroyLimitRegionCoroutine;
|
||||||
float KJLNBKEIFCJ;
|
float KJLNBKEIFCJ;
|
||||||
struct Vector3 CIPDJNHBFPB;
|
struct Vector3 CIPDJNHBFPB;
|
||||||
struct List_1_System_UInt32_* OBMINJCEAJL;
|
struct List_1_System_UInt32_* OBMINJCEAJL;
|
||||||
struct Dictionary_2_System_UInt32_List_1_LPKPLIFIBGA_* JAKFLGOOBMP;
|
struct Dictionary_2_System_UInt32_List_1_LPKPLIFIBGA_* JAKFLGOOBMP;
|
||||||
bool OJNGNBKMMFI;
|
bool OJNGNBKMMFI;
|
||||||
struct List_1_System_String_* OJBKAGDIEIK;
|
struct List_1_System_String_* OJBKAGDIEIK;
|
||||||
struct List_1_System_String_* NFGGLJBPIBO;
|
struct List_1_System_String_* NFGGLJBPIBO;
|
||||||
struct Dictionary_2_System_String_System_UInt32_* AIMGKHPHKMP;
|
struct Dictionary_2_System_String_System_UInt32_* AIMGKHPHKMP;
|
||||||
struct Dictionary_2_System_UInt32_System_UInt32_* NCOMNKCALBL;
|
struct Dictionary_2_System_UInt32_System_UInt32_* NCOMNKCALBL;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MoleMole_MapManager {
|
struct MoleMole_MapManager {
|
||||||
struct MapManager__Class* klass;
|
struct MapManager__Class* klass;
|
||||||
@ -10544,19 +10607,19 @@ namespace app {
|
|||||||
struct IGKEDHHIDMA__Fields fields;
|
struct IGKEDHHIDMA__Fields fields;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct __declspec(align(8)) InLevelMainPageContext_DoTeamCountDown_Iterator__Fields
|
struct __declspec(align(8)) InLevelMainPageContext_DoTeamCountDown_Iterator__Fields
|
||||||
{
|
{
|
||||||
int32_t HGCHJINEMCM;
|
int32_t HGCHJINEMCM;
|
||||||
struct Object* KOBKOALABHL;
|
struct Object* KOBKOALABHL;
|
||||||
struct InLevelMainPageContext* _levelMainPageContext;
|
struct InLevelMainPageContext* _levelMainPageContext;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct InLevelMainPageContext_DoTeamCountDown_Iterator
|
struct InLevelMainPageContext_DoTeamCountDown_Iterator
|
||||||
{
|
{
|
||||||
struct InLevelMainPageContext_DoTeamCountDown_Iterator__Class* klass;
|
struct InLevelMainPageContext_DoTeamCountDown_Iterator__Class* klass;
|
||||||
MonitorData* monitor;
|
MonitorData* monitor;
|
||||||
struct InLevelMainPageContext_DoTeamCountDown_Iterator__Fields fields;
|
struct InLevelMainPageContext_DoTeamCountDown_Iterator__Fields fields;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MonoMiniMap__Fields {
|
struct MonoMiniMap__Fields {
|
||||||
struct MonoBehaviour__Fields _;
|
struct MonoBehaviour__Fields _;
|
||||||
@ -12120,7 +12183,7 @@ namespace app {
|
|||||||
int32_t m_Tag;
|
int32_t m_Tag;
|
||||||
int32_t m_Loop;
|
int32_t m_Loop;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct __declspec(align(8)) MoleMole_VCAnimatorEvent_MoleMole_VCAnimatorEvent_AnimatorEventPatternProcessItem__Fields {
|
struct __declspec(align(8)) MoleMole_VCAnimatorEvent_MoleMole_VCAnimatorEvent_AnimatorEventPatternProcessItem__Fields {
|
||||||
struct List_1_System_Int32_* patterns;
|
struct List_1_System_Int32_* patterns;
|
||||||
struct AnimatorStateInfo stateInfo;
|
struct AnimatorStateInfo stateInfo;
|
||||||
@ -12141,6 +12204,207 @@ namespace app {
|
|||||||
ForceTriggerOnExitTransitionFinish = 0x00000004,
|
ForceTriggerOnExitTransitionFinish = 0x00000004,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct __declspec(align(8)) MoleMole_ElementDurability__Fields {
|
||||||
|
float value;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MoleMole_ElementDurability {
|
||||||
|
struct MoleMole_ElementDurability__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct MoleMole_ElementDurability__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ScriptableObject__Fields {
|
||||||
|
struct Object_1__Fields _;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct __declspec(align(8)) ParameterOverride__Fields {
|
||||||
|
bool overrideState;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ParameterOverride {
|
||||||
|
struct ParameterOverride__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct ParameterOverride__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ParameterOverride_1_System_Boolean___Fields {
|
||||||
|
struct ParameterOverride__Fields _;
|
||||||
|
bool value;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct BoolParameter__Fields {
|
||||||
|
struct ParameterOverride_1_System_Boolean___Fields _;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct BoolParameter {
|
||||||
|
struct BoolParameter__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct BoolParameter__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ParameterOverride_1_System_Single___Fields {
|
||||||
|
struct ParameterOverride__Fields _;
|
||||||
|
float value;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct FloatParameter__Fields {
|
||||||
|
struct ParameterOverride_1_System_Single___Fields _;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct FloatParameter {
|
||||||
|
struct FloatParameter__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct FloatParameter__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PostProcessEffectSettings__Fields {
|
||||||
|
struct ScriptableObject__Fields _;
|
||||||
|
bool active;
|
||||||
|
struct BoolParameter* enabled;
|
||||||
|
struct ReadOnlyCollection_1_UnityEngine_Rendering_PostProcessing_ParameterOverride_* parameters;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MHYDepthOfField__Fields {
|
||||||
|
struct PostProcessEffectSettings__Fields _;
|
||||||
|
struct MHYDepthOfFieldQualityParameter* quality;
|
||||||
|
struct FloatParameter* focusDistance;
|
||||||
|
struct FloatParameter* fStop;
|
||||||
|
struct FloatParameter* maxForegroundRadius;
|
||||||
|
struct FloatParameter* maxBackgroundRadius;
|
||||||
|
struct BoolParameter* debugTestSomething;
|
||||||
|
struct BoolParameter* useMotionBlurParameters;
|
||||||
|
struct FloatParameter* mbFocusRange;
|
||||||
|
struct FloatParameter* mbDofBlurAmount;
|
||||||
|
struct FloatParameter* mbNearFocalDistance;
|
||||||
|
struct FloatParameter* mbNearFocalTransitionDistance;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MHYDepthOfField {
|
||||||
|
struct MHYDepthOfField__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct MHYDepthOfField__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Int3 {
|
||||||
|
int32_t x;
|
||||||
|
int32_t y;
|
||||||
|
int32_t z;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class PropSpace__Enum : int32_t {
|
||||||
|
None = 0x00000000,
|
||||||
|
World = 0x00000001,
|
||||||
|
Body = 0x00000002,
|
||||||
|
RightHand = 0x00000003,
|
||||||
|
LeftHand = 0x00000004,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct AnimatorController__Fields {
|
||||||
|
struct MonoBehaviour__Fields _;
|
||||||
|
struct Action_1_motion4hi_AnimatorController_CrossFadeInfo_* onCrossFadeTransition;
|
||||||
|
struct Int3__Array* _transitionProirities;
|
||||||
|
struct Dictionary_2_System_Int32_List_1_Int3_* _transitionProiritiesDict;
|
||||||
|
struct Dictionary_2_System_String_System_Boolean_* _stateLoop;
|
||||||
|
float _random;
|
||||||
|
bool _disableNoFadeZone;
|
||||||
|
struct Dictionary_2_UnityEngine_StateMachineBehaviour_motion4hi_AnimatorController_StateMachineBehaviourInfo_* _currentBehaviour;
|
||||||
|
struct List_1_motion4hi_CrossFadeByParameterConfig_* _crossfadeConfigs;
|
||||||
|
struct Dictionary_2_System_Int32_motion4hi_CrossFadeByParameterConfig_* _configsDictionary;
|
||||||
|
struct String__Array* _curveExtractionKeywords;
|
||||||
|
struct String__Array* _stateNames; //all animations
|
||||||
|
struct Boolean__Array* _stateLoops;
|
||||||
|
struct Int32__Array* _stateHashes;
|
||||||
|
struct Boolean__Array* _stateMirros;
|
||||||
|
struct Boolean__Array* _stateHasMirrors;
|
||||||
|
struct String__Array* _stateMirrorParams;
|
||||||
|
struct String__Array* _statePhaseJsonPathes;
|
||||||
|
struct AnimationPhaseArray__Array* _statePhaseArrays;
|
||||||
|
struct Single__Array* _stateDefaultDurations;
|
||||||
|
struct List_1_System_String_* _serializedParamConstraints;
|
||||||
|
struct List_1_motion4hi_ParamConstraint_* _paramConstraints;
|
||||||
|
struct Boolean__Array* _stateTransitionedArray;
|
||||||
|
struct Int3 _cfTransition;
|
||||||
|
struct Vector3 _cfParams;
|
||||||
|
struct Animator* _animator;
|
||||||
|
int32_t _frame;
|
||||||
|
struct AnimatorControllerParameter__Array* _allParams;
|
||||||
|
struct Dictionary_2_System_Int32_UnityEngine_AnimatorControllerParameterType_* _allParamsTypeDictionary;
|
||||||
|
PropSpace__Enum _prop1Space;
|
||||||
|
struct Vector3 _crossOverStepBorderNear0;
|
||||||
|
struct Vector3 _crossOverStepBorderNear1;
|
||||||
|
struct Vector3 _crossOverStepBorderFar0;
|
||||||
|
struct Vector3 _crossOverStepBorderFar1;
|
||||||
|
struct Vector3 _crossOverJumpBorder0;
|
||||||
|
struct Vector3 _crossOverJumpBorder1;
|
||||||
|
struct Vector3 _crossOverPredictJumpPos;
|
||||||
|
struct Vector3 _crossOverPredictStepInPos;
|
||||||
|
struct Vector3 _crossOverDecisionJumpPos;
|
||||||
|
int32_t _currentstateHash;
|
||||||
|
int32_t _nextstateHash;
|
||||||
|
float _currentstateTime;
|
||||||
|
float _nextstateTime;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct AnimatorController {
|
||||||
|
struct AnimatorController__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct AnimatorController__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class Proto_ProtEntityType__Enum : int32_t {
|
||||||
|
ProtEntityNone = 0x00000000,
|
||||||
|
ProtEntityAvatar = 0x00000001,
|
||||||
|
ProtEntityMonster = 0x00000002,
|
||||||
|
ProtEntityNpc = 0x00000003,
|
||||||
|
ProtEntityGadget = 0x00000004,
|
||||||
|
ProtEntityRegion = 0x00000005,
|
||||||
|
ProtEntityWeapon = 0x00000006,
|
||||||
|
ProtEntityWeather = 0x00000007,
|
||||||
|
ProtEntityScene = 0x00000008,
|
||||||
|
ProtEntityTeam = 0x00000009,
|
||||||
|
ProtEntityMassiveEntity = 0x0000000a,
|
||||||
|
ProtEntityMpLevel = 0x0000000b,
|
||||||
|
ProtEntityPlayTeamEntity = 0x0000000c,
|
||||||
|
ProtEntityEyePoint = 0x0000000d,
|
||||||
|
ProtEntityMax = 0x0000000e,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class Proto_SceneEntityInfo_Proto_SceneEntityInfo_EntityOneofCase__Enum : int32_t {
|
||||||
|
None = 0x00000000,
|
||||||
|
Avatar = 0x0000000a,
|
||||||
|
Monster = 0x0000000b,
|
||||||
|
Npc = 0x0000000c,
|
||||||
|
Gadget = 0x0000000d,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Proto_SceneEntityInfo__Fields {
|
||||||
|
struct MessageBase_1__Fields _;
|
||||||
|
Proto_ProtEntityType__Enum entityType_;
|
||||||
|
uint32_t entityId_;
|
||||||
|
struct String* name_;
|
||||||
|
struct Proto_MotionInfo* motionInfo_;
|
||||||
|
struct Google_Protobuf_Collections_RepeatedMessageField_1_Proto_PropPair_* propList_;
|
||||||
|
struct Google_Protobuf_Collections_RepeatedMessageField_1_Proto_FightPropPair_* fightPropList_;
|
||||||
|
uint32_t lifeState_;
|
||||||
|
struct Google_Protobuf_Collections_RepeatedMessageField_1_Proto_AnimatorParameterValueInfoPair_* animatorParaList_;
|
||||||
|
uint32_t lastMoveSceneTimeMs_;
|
||||||
|
uint32_t lastMoveReliableSeq_;
|
||||||
|
struct Proto_EntityClientData* entityClientData_;
|
||||||
|
struct Google_Protobuf_Collections_RepeatedMessageField_1_Proto_EntityEnvironmentInfo_* entityEnvironmentInfoList_;
|
||||||
|
struct Proto_EntityAuthorityInfo* entityAuthorityInfo_;
|
||||||
|
struct Google_Protobuf_Collections_RepeatedPrimitiveField_1_System_String_* tagList_;
|
||||||
|
struct Google_Protobuf_Collections_RepeatedMessageField_1_Proto_ServerBuff_* serverBuffList_;
|
||||||
|
struct Object* entity_;
|
||||||
|
Proto_SceneEntityInfo_Proto_SceneEntityInfo_EntityOneofCase__Enum entityCase_;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Proto_SceneEntityInfo {
|
||||||
|
struct Proto_SceneEntityInfo__Class* klass;
|
||||||
|
MonitorData* monitor;
|
||||||
|
struct Proto_SceneEntityInfo__Fields fields;
|
||||||
|
};
|
||||||
|
|
||||||
#if !defined(_GHIDRA_) && !defined(_IDA_)
|
#if !defined(_GHIDRA_) && !defined(_IDA_)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -8,236 +8,18 @@
|
|||||||
|
|
||||||
namespace cheat::feature
|
namespace cheat::feature
|
||||||
{
|
{
|
||||||
static std::string animations[] = {
|
static bool onEntityAppear = false;
|
||||||
// All characters
|
static void MoleMole_PlayerModule_EntityAppear_Hook(app::MoleMole_PlayerModule* __this, app::Proto_SceneEntityInfo* entity, app::VisionType__Enum type, uint32_t infoParam, MethodInfo* method);
|
||||||
"SlipFaceWall",
|
std::vector<std::string> animations;
|
||||||
"SlipBackWall",
|
|
||||||
"DropDown",
|
|
||||||
"JumpOffWall",
|
|
||||||
"Jump",
|
|
||||||
"JumpForRun",
|
|
||||||
"JumpForWalk",
|
|
||||||
"Fly",
|
|
||||||
"FlyStart",
|
|
||||||
"JumpForSprint",
|
|
||||||
"SwimIdle",
|
|
||||||
"SwimMove",
|
|
||||||
"SwimDash",
|
|
||||||
"ClimbMove1",
|
|
||||||
"ClimbIdle",
|
|
||||||
"ClimbJump",
|
|
||||||
"ClimbMove0",
|
|
||||||
"FallToGroundRun",
|
|
||||||
"FallOnGroundLit",
|
|
||||||
"FallOnGround",
|
|
||||||
"FallToGroundRunHard",
|
|
||||||
"FallToGroundSprint",
|
|
||||||
"Walk",
|
|
||||||
"Run",
|
|
||||||
"Standby",
|
|
||||||
"RunToIdle",
|
|
||||||
"RunToWalk",
|
|
||||||
"WalkToIdle",
|
|
||||||
"WalkToRun",
|
|
||||||
"Sprint",
|
|
||||||
"SprintToIdle",
|
|
||||||
"SprintToRun",
|
|
||||||
"ClimbDownToGround",
|
|
||||||
"SprintBS",
|
|
||||||
"ShowUp",
|
|
||||||
"CrouchToStandby",
|
|
||||||
"CrouchIdle",
|
|
||||||
"CrouchRoll",
|
|
||||||
"CrouchMove",
|
|
||||||
"SkiffNormal",
|
|
||||||
"Upstairs",
|
|
||||||
"JumpUpWallForStandby",
|
|
||||||
"JumpUpWallReady",
|
|
||||||
"Standby2ClimbA",
|
|
||||||
"SwimJump",
|
|
||||||
"SwimJumpDrop",
|
|
||||||
"SwimJumpToWater",
|
|
||||||
"Standby2ClimbB",
|
|
||||||
"CrouchDrop",
|
|
||||||
"TurnDir",
|
|
||||||
"StandbyWeapon",
|
|
||||||
"StandbyPutaway",
|
|
||||||
"StandbyPutawayOver",
|
|
||||||
"Icespine_Out",
|
|
||||||
"Icespine",
|
|
||||||
"LiquidStrike_MoveStandby",
|
|
||||||
"LiquidStrike_AS",
|
|
||||||
"LiquidStrike_BS",
|
|
||||||
"LiquidStrike_BS1",
|
|
||||||
"LiquidStrike_Move",
|
|
||||||
"LiquidStrike_Strike",
|
|
||||||
"LiquidStrike_FatalStandby",
|
|
||||||
"LiquidStrike_FatalMove",
|
|
||||||
"LiquidStrike_AS_OnWater",
|
|
||||||
"LiquidStrike_BS_0",
|
|
||||||
"FrozenWindmill",
|
|
||||||
"FrozenWindmill_AS",
|
|
||||||
"Attack03",
|
|
||||||
"Attack04",
|
|
||||||
"Attack05",
|
|
||||||
"Attack06",
|
|
||||||
"Attack01",
|
|
||||||
"Attack02",
|
|
||||||
"ExtraAttack",
|
|
||||||
"ExtraAttack_AS",
|
|
||||||
"ExtraAttack_BS",
|
|
||||||
"Katana_Attack03",
|
|
||||||
"Katana_Attack04",
|
|
||||||
"Katana_Attack02",
|
|
||||||
"Katana_Attack01",
|
|
||||||
"Katana_Attack05",
|
|
||||||
"FallingAnthem_Loop",
|
|
||||||
"FallingAnthem_AS_2",
|
|
||||||
"FallingAnthem_BS_1",
|
|
||||||
"FallingAnthem_BS_2",
|
|
||||||
"FallingAnthem_AS_1",
|
|
||||||
"FallingAnthem_Loop_Low",
|
|
||||||
"SitBDown",
|
|
||||||
"SitBLoop",
|
|
||||||
"SitBUp",
|
|
||||||
"SitDown",
|
|
||||||
"SitLoop",
|
|
||||||
"SitUp",
|
|
||||||
"StandbyShow_01",
|
|
||||||
"StandbyShow_02",
|
|
||||||
"StandbyVoice",
|
|
||||||
"Think01BS",
|
|
||||||
"Think01Loop",
|
|
||||||
"Think01AS",
|
|
||||||
"Akimbo02BS",
|
|
||||||
"Akimbo02Loop",
|
|
||||||
"Akimbo02AS",
|
|
||||||
"ChannelBS",
|
|
||||||
"ChannelLoop",
|
|
||||||
"ChannelAS",
|
|
||||||
"PlayMusic_Lyre_AS",
|
|
||||||
"PlayMusic_Lyre_BS",
|
|
||||||
"PlayMusic_Lyre_Loop",
|
|
||||||
"PlayMusic_Qin_BS",
|
|
||||||
"PlayMusic_Qin_AS",
|
|
||||||
"PlayMusic_Qin_Loop",
|
|
||||||
"PlayMusic_Drum_BS",
|
|
||||||
"PlayMusic_Drum_AS",
|
|
||||||
"PlayMusic_Drum_Loop",
|
|
||||||
"ActivitySkill_ElectricCoreFly",
|
|
||||||
"ActivitySkill_GrapplingHook",
|
|
||||||
"Hit_H",
|
|
||||||
"Hit_L",
|
|
||||||
"Hit_Throw",
|
|
||||||
"Hit_Throw_Ground",
|
|
||||||
"Hit_ThrowAir",
|
|
||||||
"Struggle",
|
|
||||||
"NormalDie",
|
|
||||||
"SwimDie",
|
|
||||||
"HitGroundDie",
|
|
||||||
"FallDie_AS",
|
|
||||||
"FallDie",
|
|
||||||
// Main Character only
|
|
||||||
"UziExplode_AS",
|
|
||||||
"UziExplode_BS",
|
|
||||||
"UziExplode_Charge_01",
|
|
||||||
"UziExplode_Strike_02",
|
|
||||||
"UziExplode_Charge_02",
|
|
||||||
"UziExplode_Strike_01",
|
|
||||||
"UziExplode_BS_1",
|
|
||||||
"WindBreathe_AS",
|
|
||||||
"WindBreathe",
|
|
||||||
"Hogyoku_AS",
|
|
||||||
"Hogyoku_BS",
|
|
||||||
"Hogyoku",
|
|
||||||
"Hogyoku_Charge",
|
|
||||||
"Hogyoku_Charge_AS",
|
|
||||||
"Hogyoku_Charge_2",
|
|
||||||
"RockTide_AS",
|
|
||||||
"RockTide",
|
|
||||||
"CrouchThrowBS",
|
|
||||||
"CrouchThrowLoop",
|
|
||||||
"CrouchThrowAS",
|
|
||||||
"FindCatThrowBS",
|
|
||||||
"FindCatThrowLoop",
|
|
||||||
"FindCatThrowAS",
|
|
||||||
"Player_Electric_ElementalArt",
|
|
||||||
"Player_Electric_ElementalArt_AS",
|
|
||||||
"Player_Electric_ElementalBurst",
|
|
||||||
"Player_Electric_ElementalBurst_AS",
|
|
||||||
"PutHand01BS",
|
|
||||||
"PutHand01Loop",
|
|
||||||
"PutHand01AS",
|
|
||||||
"Akimbo01BS",
|
|
||||||
"Backrake01BS",
|
|
||||||
"Forerake01BS",
|
|
||||||
"StrikeChest01BS",
|
|
||||||
"Akimbo01Loop",
|
|
||||||
"Akimbo01AS",
|
|
||||||
"Backrake01Loop",
|
|
||||||
"Backrake01AS",
|
|
||||||
"Forerake01Loop",
|
|
||||||
"Forerake01AS",
|
|
||||||
"StrikeChest01Loop",
|
|
||||||
"StrikeChest01AS",
|
|
||||||
"HoldHead01BS",
|
|
||||||
"HoldHead01Loop",
|
|
||||||
"HoldHead01AS",
|
|
||||||
"Clap01",
|
|
||||||
"Turn01_90LBS",
|
|
||||||
"Turn01_90RBS",
|
|
||||||
"Turn01_90LAS",
|
|
||||||
"Turn01_90RAS",
|
|
||||||
"Alert01BS",
|
|
||||||
"Alert01Loop",
|
|
||||||
"Alert01AS",
|
|
||||||
"Fishing01_BS",
|
|
||||||
"Fishing01Loop",
|
|
||||||
"Fishing01AS",
|
|
||||||
"Think01_BS",
|
|
||||||
"Think01_Loop",
|
|
||||||
"Think01_AS",
|
|
||||||
"Channel01BS",
|
|
||||||
"Channel01Loop",
|
|
||||||
"Channel01AS",
|
|
||||||
"Fishing_Battle_BS",
|
|
||||||
"Fishing_Cast_AS",
|
|
||||||
"Fishing_Cast_BS",
|
|
||||||
"Fishing_Cast_Loop",
|
|
||||||
"Fishing_Choose",
|
|
||||||
"Fishing_Choose_Loop",
|
|
||||||
"Fishing_End",
|
|
||||||
"Fishing_Pull_01",
|
|
||||||
"Fishing_Pull_02",
|
|
||||||
"Fishing_Wait",
|
|
||||||
"Fishing_Pull_Fail",
|
|
||||||
"Bartender_MixingStandby",
|
|
||||||
"Bartender_MixingStart",
|
|
||||||
"Bartender_MixingToPour",
|
|
||||||
"Bartender_Pour",
|
|
||||||
"Bartender_PourFinish",
|
|
||||||
"Bartender_PourStandby",
|
|
||||||
"Bartender_AddLoop",
|
|
||||||
"Bartender_PrepareStart",
|
|
||||||
"Bartender_Standby",
|
|
||||||
"Bartender_AddStandby",
|
|
||||||
"Bartender_PrepareToStandby",
|
|
||||||
"Bartender_StandbyFinish",
|
|
||||||
"Blocking_BS",
|
|
||||||
"Blocking_Loop",
|
|
||||||
"Blocking_Back",
|
|
||||||
"Blocking_Bounce",
|
|
||||||
"Blocking_Hit",
|
|
||||||
"Blocking_AS"
|
|
||||||
};
|
|
||||||
|
|
||||||
AnimationChanger::AnimationChanger() : Feature(),
|
AnimationChanger::AnimationChanger() : Feature(),
|
||||||
NF(f_Enabled, "Animation Changer", "Visuals::AnimationChanger", false),
|
NF(f_Enabled, "Animation Changer", "Visuals::AnimationChanger", false),
|
||||||
NF(f_Animation, "Animation", "Visuals::AnimationChanger", "ExtraAttack"),
|
NF(f_Animation, "Animation", "Visuals::AnimationChanger", "Attack01"),
|
||||||
NF(f_ApplyKey, "Apply Animation", "Visuals::AnimationChanger", Hotkey('Y')),
|
NF(f_ApplyKey, "Apply Animation", "Visuals::AnimationChanger", Hotkey('Y')),
|
||||||
NF(f_ResetKey, "Reset Animation", "Visuals::AnimationChanger", Hotkey('R')),
|
NF(f_ResetKey, "Reset Animation", "Visuals::AnimationChanger", Hotkey('R')),
|
||||||
NF(f_Delay, "Repeat Delay", "Visuals::AnimationChanger", 400)
|
NF(f_Delay, "Repeat Delay", "Visuals::AnimationChanger", 400)
|
||||||
{
|
{
|
||||||
|
HookManager::install(app::MoleMole_PlayerModule_EntityAppear, MoleMole_PlayerModule_EntityAppear_Hook);
|
||||||
events::GameUpdateEvent += MY_METHOD_HANDLER(AnimationChanger::OnGameUpdate);
|
events::GameUpdateEvent += MY_METHOD_HANDLER(AnimationChanger::OnGameUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -292,6 +74,14 @@ namespace cheat::feature
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Taiga#5555: Called when you switch characters. Feel free to get rid of this hook if you find a better function.
|
||||||
|
static void MoleMole_PlayerModule_EntityAppear_Hook(app::MoleMole_PlayerModule* __this, app::Proto_SceneEntityInfo* entity, app::VisionType__Enum type, uint32_t infoParam, MethodInfo* method)
|
||||||
|
{
|
||||||
|
CALL_ORIGIN(MoleMole_PlayerModule_EntityAppear_Hook, __this, entity, type, infoParam, method);
|
||||||
|
onEntityAppear = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Feel free to refactor.
|
||||||
void AnimationChanger::OnGameUpdate()
|
void AnimationChanger::OnGameUpdate()
|
||||||
{
|
{
|
||||||
if (!f_Enabled)
|
if (!f_Enabled)
|
||||||
@ -304,6 +94,40 @@ namespace cheat::feature
|
|||||||
if (avatar->animator() == nullptr)
|
if (avatar->animator() == nullptr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
auto avatarName = avatar->name();
|
||||||
|
std::string objectName = il2cppi_to_string(app::Object_1_get_name(reinterpret_cast<app::Object_1*>(avatar->gameObject()), nullptr)).c_str();
|
||||||
|
|
||||||
|
auto gameObj = app::GameObject_Find(string_to_il2cppi("EntityRoot/AvatarRoot/" + avatarName.substr(0, avatarName.find_first_of(" ")) + "/OffsetDummy/" + objectName.c_str()), nullptr);
|
||||||
|
if (gameObj == nullptr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto acComponent = app::GameObject_GetComponentByName(gameObj, string_to_il2cppi("AnimatorController"), nullptr);
|
||||||
|
if (acComponent == nullptr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto stateNamesArray = reinterpret_cast<app::AnimatorController*>(acComponent)->fields._stateNames;
|
||||||
|
|
||||||
|
static bool isFull = false;
|
||||||
|
for (int i = 0; i < stateNamesArray->max_length && !isFull; i++)
|
||||||
|
{
|
||||||
|
if (animations.size() == stateNamesArray->max_length)
|
||||||
|
{
|
||||||
|
std::sort(animations.begin(), animations.end());
|
||||||
|
animations.erase(unique(animations.begin(), animations.end()), animations.end());
|
||||||
|
isFull = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
animations.push_back(il2cppi_to_string(stateNamesArray->vector[i]).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!onEntityAppear && isFull)
|
||||||
|
{
|
||||||
|
animations.clear();
|
||||||
|
isFull = false;
|
||||||
|
onEntityAppear = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (f_ApplyKey.value().IsPressed())
|
if (f_ApplyKey.value().IsPressed())
|
||||||
app::Animator_Play(avatar->animator(), string_to_il2cppi(f_Animation.value().c_str()), 0, 0, nullptr);
|
app::Animator_Play(avatar->animator(), string_to_il2cppi(f_Animation.value().c_str()), 0, 0, nullptr);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user