346 lines
6.5 KiB
C++
346 lines
6.5 KiB
C++
// Copyright 2020-2023 The Mumble Developers. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license
|
|
// that can be found in the LICENSE file at the root of the
|
|
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
|
|
|
|
#ifndef AMONGUS_STRUCTS
|
|
#define AMONGUS_STRUCTS
|
|
|
|
#include <cstdint>
|
|
|
|
typedef uint32_t ptr_t;
|
|
typedef uint32_t il2cpp_array_size_t; // uintptr_t
|
|
|
|
enum class DisconnectReason {
|
|
ExitGame = 0x0,
|
|
GameFull = 0x1,
|
|
GameStarted = 0x2,
|
|
GameNotFound = 0x3,
|
|
IncorrectVersion = 0x5,
|
|
Banned = 0x6,
|
|
Kicked = 0x7,
|
|
Custom = 0x8,
|
|
InvalidName = 0x9,
|
|
Hacking = 0xA,
|
|
Destroy = 0x10,
|
|
Error = 0x11,
|
|
IncorrectGame = 0x12,
|
|
ServerRequest = 0x13,
|
|
ServerFull = 0x14,
|
|
IntentionalLeaving = 0xD0,
|
|
FocusLostBackground = 0xCF,
|
|
FocusLost = 0xD1,
|
|
NewConnection = 0xD2
|
|
};
|
|
|
|
enum class DiscoverState { Off, Broadcast };
|
|
|
|
enum class GameMode { LocalGame, OnlineGame, FreePlay };
|
|
|
|
enum class GameState { NotJoined, Joined, Started, Ended };
|
|
|
|
enum class Mode { None, Client, HostAndClient };
|
|
|
|
struct Il2CppType {
|
|
ptr_t data;
|
|
uint32_t bits;
|
|
};
|
|
|
|
struct Il2CppObject {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
};
|
|
|
|
struct Il2CppClass_1 {
|
|
ptr_t image;
|
|
ptr_t gcDesc;
|
|
ptr_t name;
|
|
ptr_t namespaze;
|
|
Il2CppType byvalArg;
|
|
Il2CppType thisArg;
|
|
ptr_t elementClass;
|
|
ptr_t castClass;
|
|
ptr_t declaringType;
|
|
ptr_t parent;
|
|
ptr_t genericClass;
|
|
ptr_t typeMetadataHandle;
|
|
ptr_t interopData;
|
|
ptr_t klass;
|
|
ptr_t fields;
|
|
ptr_t events;
|
|
ptr_t properties;
|
|
ptr_t methods;
|
|
ptr_t nestedTypes;
|
|
ptr_t implementedInterfaces;
|
|
ptr_t interfaceOffsets;
|
|
};
|
|
|
|
struct Dictionary_Item {
|
|
int32_t hashCode;
|
|
int32_t next;
|
|
ptr_t key;
|
|
ptr_t value;
|
|
};
|
|
|
|
struct Dictionary_Array {
|
|
Il2CppObject obj;
|
|
ptr_t bounds;
|
|
il2cpp_array_size_t maxLength;
|
|
Dictionary_Item items[1];
|
|
};
|
|
|
|
struct Dictionary_Fields {
|
|
ptr_t buckets;
|
|
ptr_t entries;
|
|
int32_t count;
|
|
int32_t version;
|
|
int32_t freeList;
|
|
int32_t freeCount;
|
|
ptr_t comparer;
|
|
ptr_t keys;
|
|
ptr_t values;
|
|
ptr_t syncRoot;
|
|
};
|
|
|
|
struct Dictionary_o {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
Dictionary_Fields fields;
|
|
};
|
|
|
|
struct UnityEngine_Vector2_Fields {
|
|
float x;
|
|
float y;
|
|
};
|
|
|
|
struct UnityEngine_Vector2_o {
|
|
UnityEngine_Vector2_Fields fields;
|
|
};
|
|
|
|
struct UnityEngine_Vector3_Fields {
|
|
float x;
|
|
float y;
|
|
float z;
|
|
};
|
|
|
|
struct UnityEngine_Vector3_o {
|
|
UnityEngine_Vector3_Fields fields;
|
|
};
|
|
|
|
struct String_Fields {
|
|
int32_t length;
|
|
// char16_t string[];
|
|
};
|
|
|
|
struct String_o {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
String_Fields fields;
|
|
};
|
|
|
|
struct UnityEngine_Object_Fields {
|
|
ptr_t cachedPtr;
|
|
};
|
|
|
|
struct InnerNet_InnerNetClient_Fields : UnityEngine_Object_Fields {
|
|
float minSendInterval;
|
|
uint32_t netIdCnt;
|
|
float timer;
|
|
ptr_t spawnableObjects;
|
|
ptr_t nonAddressableSpawnableObjects;
|
|
bool inOnlineScene;
|
|
ptr_t destroyedObjects;
|
|
ptr_t allObjects;
|
|
ptr_t allObjectsFast;
|
|
ptr_t streams;
|
|
int32_t msgNum;
|
|
ptr_t networkAddress;
|
|
int32_t networkPort;
|
|
bool useDTLS;
|
|
ptr_t connection;
|
|
Mode mode;
|
|
GameMode gameMode;
|
|
int32_t gameId;
|
|
int32_t hostId;
|
|
int32_t clientId;
|
|
ptr_t allClients;
|
|
ptr_t recentClients;
|
|
DisconnectReason lastDisconnectReason;
|
|
ptr_t lastCustomDisconnect;
|
|
uint8_t lastServerChatMode;
|
|
ptr_t preSpawnDispatcher;
|
|
ptr_t dispatcher;
|
|
bool isGamePublic;
|
|
GameState gameState;
|
|
bool isConnecting;
|
|
bool platformSpecificsChecked;
|
|
ptr_t tempQueue;
|
|
bool appPaused;
|
|
};
|
|
|
|
struct InnerNet_InnerNetObject_Fields : UnityEngine_Object_Fields {
|
|
uint32_t spawnId;
|
|
uint32_t netId;
|
|
uint32_t dirtyBits;
|
|
uint8_t spawnFlags;
|
|
uint8_t sendMode;
|
|
int32_t ownerId;
|
|
bool despawnOnDestroy;
|
|
};
|
|
|
|
struct CustomNetworkTransform_Fields : InnerNet_InnerNetObject_Fields {
|
|
ptr_t xRange;
|
|
ptr_t yRange;
|
|
float sendInterval;
|
|
float snapThreshold;
|
|
float interpolateMovement;
|
|
ptr_t body;
|
|
UnityEngine_Vector2_o targetSyncPosition;
|
|
UnityEngine_Vector2_o targetSyncVelocity;
|
|
uint16_t lastSequenceId;
|
|
UnityEngine_Vector2_o prevPosSent;
|
|
UnityEngine_Vector2_o prevVelSent;
|
|
};
|
|
|
|
struct CustomNetworkTransform_o {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
CustomNetworkTransform_Fields fields;
|
|
};
|
|
|
|
struct AmongUsClient_Fields : InnerNet_InnerNetClient_Fields {
|
|
ptr_t onlineScene;
|
|
ptr_t mainMenuScene;
|
|
ptr_t gameDataPrefab;
|
|
ptr_t playerPrefab;
|
|
ptr_t shipPrefabs;
|
|
int32_t tutorialMapId;
|
|
float spawnRadius;
|
|
DiscoverState discoverState;
|
|
ptr_t disconnectHandlers;
|
|
ptr_t gameListHandlers;
|
|
int32_t crossplayPrivilegeError;
|
|
};
|
|
|
|
struct AmongUsClient_StaticFields {
|
|
ptr_t instance;
|
|
};
|
|
|
|
struct AmongUsClient_c {
|
|
Il2CppClass_1 _1;
|
|
ptr_t staticFields;
|
|
};
|
|
|
|
struct AmongUsClient_o {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
AmongUsClient_Fields fields;
|
|
};
|
|
|
|
struct PlayerControl_Fields : InnerNet_InnerNetObject_Fields {
|
|
int32_t lastStartCounter;
|
|
uint8_t playerId;
|
|
ptr_t friendCode;
|
|
ptr_t puid;
|
|
float maxReportDistance;
|
|
bool moveable;
|
|
ptr_t bodySprites;
|
|
ptr_t currentBodySprite;
|
|
ptr_t normalBodySprite;
|
|
int32_t currentOutfitType;
|
|
bool inVent;
|
|
bool protectedByGuardianThisRound;
|
|
bool shapeshifting;
|
|
ptr_t cachedData;
|
|
bool protectedByGuardian;
|
|
float flashlightAngle;
|
|
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 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 myTasks;
|
|
UnityEngine_Vector3_o defaultPlayerScale;
|
|
ptr_t scannerAnims;
|
|
ptr_t scannersImages;
|
|
ptr_t currentRoleAnimations;
|
|
ptr_t closest;
|
|
bool isNew;
|
|
bool isDummy;
|
|
bool notRealPlayer;
|
|
ptr_t cache;
|
|
ptr_t itemsInRange;
|
|
ptr_t newItemsInRange;
|
|
uint8_t scannerCount;
|
|
bool roleAssigned;
|
|
};
|
|
|
|
struct PlayerControl_StaticFields {
|
|
ptr_t localPlayer;
|
|
ptr_t gameOptions;
|
|
ptr_t allPlayers;
|
|
};
|
|
|
|
struct PlayerControl_c {
|
|
Il2CppClass_1 _1;
|
|
ptr_t staticFields;
|
|
};
|
|
|
|
struct PlayerControl_o {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
PlayerControl_Fields fields;
|
|
};
|
|
|
|
struct GameData_PlayerOutfit_Fields {
|
|
bool dontCensorName;
|
|
int32_t colorId;
|
|
ptr_t hatId;
|
|
ptr_t petId;
|
|
ptr_t skinId;
|
|
ptr_t visorId;
|
|
ptr_t namePlateId;
|
|
ptr_t playerName;
|
|
ptr_t preCensorName;
|
|
ptr_t postCensorName;
|
|
};
|
|
|
|
struct GameData_PlayerOutfit_o {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
GameData_PlayerOutfit_Fields fields;
|
|
};
|
|
|
|
struct GameData_PlayerInfo_Fields {
|
|
uint8_t playerId;
|
|
ptr_t friendCode;
|
|
ptr_t puid;
|
|
ptr_t outfits;
|
|
uint32_t playerLevel;
|
|
bool disconnected;
|
|
ptr_t role;
|
|
ptr_t tasks;
|
|
bool isDead;
|
|
ptr_t object;
|
|
};
|
|
|
|
struct GameData_PlayerInfo_o {
|
|
ptr_t klass;
|
|
ptr_t monitor;
|
|
GameData_PlayerInfo_Fields fields;
|
|
};
|
|
|
|
#endif
|