diff --git a/plugins/amongus/Game.cpp b/plugins/amongus/Game.cpp index 2aa948149a..e271680496 100644 --- a/plugins/amongus/Game.cpp +++ b/plugins/amongus/Game.cpp @@ -115,7 +115,7 @@ const std::string &Game::identity(const AmongUsClient_Fields &fields, const Play std::ostringstream stream; stream << "ID: " << std::to_string(infoFields.playerId) << '\n'; - stream << "Name: " << string(outfitFields.playerName) << '\n'; + stream << "Name: " << string(outfitFields.preCensorName) << '\n'; stream << "Level: " << std::to_string(infoFields.playerLevel + 1) << '\n'; stream << "Color ID: " << std::to_string(outfitFields.colorId) << '\n'; stream << "Skin: " << string(outfitFields.skinId) << '\n'; diff --git a/plugins/amongus/structs.h b/plugins/amongus/structs.h index b712a092f0..7b73e73850 100644 --- a/plugins/amongus/structs.h +++ b/plugins/amongus/structs.h @@ -108,6 +108,17 @@ struct Dictionary_o { Dictionary_Fields fields; }; +struct UnityEngine_AsyncOperationHandle_Fields { + ptr_t internalOp; + int32_t version; + ptr_t locationName; + bool unloadSceneOpExcludeReleaseCallback; +}; + +struct UnityEngine_AsyncOperationHandle_o { + UnityEngine_AsyncOperationHandle_Fields fields; +}; + struct UnityEngine_Vector2_Fields { float x; float y; @@ -138,6 +149,24 @@ struct String_o { String_Fields fields; }; +struct Nullable_Uint16_Fields { + uint16_t value; + bool hasValue; +}; + +struct Nullable_Uint16_o { + Nullable_Uint16_Fields fields; +}; + +struct Nullable_Vector2_Fields { + UnityEngine_Vector2_o value; + bool hasValue; +}; + +struct Nullable_Vector2_o { + Nullable_Vector2_Fields fields; +}; + struct UnityEngine_Object_Fields { ptr_t cachedPtr; }; @@ -154,6 +183,7 @@ struct InnerNet_InnerNetClient_Fields : UnityEngine_Object_Fields { ptr_t allObjectsFast; ptr_t streams; int32_t msgNum; + ptr_t serverLogger; ptr_t networkAddress; int32_t networkPort; bool useDTLS; @@ -168,8 +198,10 @@ struct InnerNet_InnerNetClient_Fields : UnityEngine_Object_Fields { DisconnectReason lastDisconnectReason; ptr_t lastCustomDisconnect; uint8_t lastServerChatMode; + ptr_t lastMatchmakerError; ptr_t preSpawnDispatcher; ptr_t dispatcher; + ptr_t gameOptionsFactory; bool isGamePublic; GameState gameState; bool isConnecting; @@ -189,17 +221,17 @@ struct InnerNet_InnerNetObject_Fields : UnityEngine_Object_Fields { }; struct CustomNetworkTransform_Fields : InnerNet_InnerNetObject_Fields { - ptr_t xRange; - ptr_t yRange; float sendInterval; float snapThreshold; float interpolateMovement; + ptr_t myPlayer; ptr_t body; UnityEngine_Vector2_o targetSyncPosition; UnityEngine_Vector2_o targetSyncVelocity; uint16_t lastSequenceId; UnityEngine_Vector2_o prevPosSent; UnityEngine_Vector2_o prevVelSent; + Nullable_Vector2_o tempSnapPosition; }; struct CustomNetworkTransform_o { @@ -220,6 +252,9 @@ struct AmongUsClient_Fields : InnerNet_InnerNetClient_Fields { ptr_t disconnectHandlers; ptr_t gameListHandlers; int32_t crossplayPrivilegeError; + int32_t maxClientWaitTime; + ptr_t logger; + UnityEngine_AsyncOperationHandle_o shipLoadingAsyncHandle; }; struct AmongUsClient_StaticFields { @@ -244,42 +279,41 @@ struct PlayerControl_Fields : InnerNet_InnerNetObject_Fields { ptr_t puid; float maxReportDistance; bool moveable; - ptr_t bodySprites; - ptr_t currentBodySprite; - ptr_t normalBodySprite; + ptr_t cosmetics; + bool forceKillTimerContinue; int32_t currentOutfitType; bool inVent; + bool walkingToVent; + bool petting; + bool inMovingPlat; + bool onLadder; bool protectedByGuardianThisRound; bool shapeshifting; ptr_t cachedData; bool protectedByGuardian; float flashlightAngle; + int32_t shapeshiftTargetPlayerId; ptr_t footSteps; ptr_t killSfx; ptr_t killAnimations; float killTimer; int32_t remainingEmergencies; - ptr_t nameText; ptr_t lightPrefab; - ptr_t myLight; + ptr_t lightSource; ptr_t collider; ptr_t myPhysics; ptr_t netTransform; - ptr_t currentPet; - ptr_t hatRenderer; - ptr_t visorSlot; - ptr_t myAnim; - ptr_t horseAnim; - ptr_t hitBuffer; + ptr_t clickKillCollider; + UnityEngine_Vector3_o defaultCosmeticsScale; ptr_t myTasks; - UnityEngine_Vector3_o defaultPlayerScale; - ptr_t scannerAnims; - ptr_t scannersImages; ptr_t currentRoleAnimations; - ptr_t closest; - bool isNew; + ptr_t targetFlashlight; bool isDummy; bool notRealPlayer; + ptr_t logger; + ptr_t hitBuffer; + ptr_t closest; + bool isNew; ptr_t cache; ptr_t itemsInRange; ptr_t newItemsInRange; @@ -289,8 +323,7 @@ struct PlayerControl_Fields : InnerNet_InnerNetObject_Fields { struct PlayerControl_StaticFields { ptr_t localPlayer; - ptr_t gameOptions; - ptr_t allPlayers; + ptr_t allPlayerControls; }; struct PlayerControl_c { @@ -312,7 +345,7 @@ struct GameData_PlayerOutfit_Fields { ptr_t skinId; ptr_t visorId; ptr_t namePlateId; - ptr_t playerName; + ptr_t nameCallback; ptr_t preCensorName; ptr_t postCensorName; }; @@ -327,6 +360,8 @@ struct GameData_PlayerInfo_Fields { uint8_t playerId; ptr_t friendCode; ptr_t puid; + uint16_t roleType; + Nullable_Uint16_o roleWhenAlive; ptr_t outfits; uint32_t playerLevel; bool disconnected;