Skip to content

Commit

Permalink
Update to v3.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
g0aty committed Mar 8, 2024
1 parent 4a1af21 commit 6d67884
Show file tree
Hide file tree
Showing 26 changed files with 128 additions and 173 deletions.
7 changes: 3 additions & 4 deletions FEATURES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# Features of SickoMenu

## ⚙️ Settings
Expand Down Expand Up @@ -38,14 +37,15 @@
- **Spam** Spams chat with your desired message
- **Spam by Everyone** *(Only with Safe Mode disabled)* Spams the chat as all players with your desired message (Default: OFF)
- **Console** Shows a console window that tracks all game events (Default: OFF)
- **Disable Venting** Prevents anyone from venting
- **Spam Report** Spams dead body reports
- **Disable Venting** Instantly kicks anyone in the vents out (Default: OFF)
- **Spam Report** Spams dead body reports (Default: OFF)
- **Kill All Crewmates** Kills all crewmates as yourself
- **Kill All Impostors** Kills all impostors as yourself
- **Suicide All Crewmates** *(Only with Safe Mode disabled)* Kills all crewmates as themselves
- **Suicide All Impostors** *(Only with Safe Mode disabled)* Kills all impostors as themselves
- **Scan Everyone** *(Only with Safe Mode disabled and visual tasks enabled)* Forces everyone to medbay scan
- **Stop Scanning Everyone** *(Only with Safe Mode disabled and visual tasks enabled)* Forces everyone to stop medbay scannning
- **Kick Everyone from Vents** Fakes vent cleaning for every vent to kick everyone from vents
- **End Meeting** *(Only as host/Safe Mode disabled)* Forces the meeting to end
- **Force Name for Everyone** *(Only with Safe Mode disabled)* Forces your desired name for everyone
- **Force Color for Everyone** *(Only with Safe Mode disabled)* Forces your desired color for everyone
Expand Down Expand Up @@ -117,7 +117,6 @@ View the game options!
- **Right Click to Teleport** Allows you to right click and teleport anywhere on the radar (Default: OFF)
- **Hide Radar During Meetings** Hides radar in meetings (Default: OFF)
- **Draw Player Icons** Replaces player colored dots with player icons (Default: OFF)
- **Show Role Color on Visor** If you choose to draw player icons, show the role color on the visor (Default: OFF)
- **Lock Radar Position** Locks the radar in place (Default: OFF)
- **Show Border** Shows a border on the radar (Default: OFF)
- **Radar Color** Changes the radar's color
Expand Down
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 👺 SickoMenu v3.1: The "Update" Update?
# 👺 SickoMenu v3.1.1: The "Update" Update? (Hotfix)
A highly sophisticated cheat menu for Among Us based on AmongUsMenu which promises more features and regular updates.

Join our very own [Discord](https://dsc.gg/sickos) server for support, bug reports, and sneak peeks!
Expand All @@ -23,6 +23,15 @@ A huge collection of various utilities and cheats such as
<img src="screenshot.png">
</p>

## 👌 Supported Versions
- ✅ Steam (Supported)
- ✅ Epic Games (Supported)
- ✅ itch.io (Supported)
- ❓ Cracked (works occasionally, I don't condone it)
- ❌ Microsoft Store (Not Supported)
- ❌ iOS/iPadOS/Android (Not Supported)
- ❌ Switch/Xbox/Playstation (Not Supported)

## ⬇️ Download & Install
### For Windows
You can find the latest release here: [Download](https://github.com/g0aty/SickoMenu/releases/latest).
Expand Down
2 changes: 1 addition & 1 deletion appdata/il2cpp-functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ DO_APP_FUNC(void, GameObject_SetActive, (GameObject* __this, bool value, MethodI
DO_APP_FUNC(void, KeyboardJoystick_Update, (KeyboardJoystick* __this, MethodInfo* method), "Assembly-CSharp, System.Void KeyboardJoystick::Update()");
DO_APP_FUNC(void, ScreenJoystick_FixedUpdate, (ScreenJoystick* __this, MethodInfo* method), "Assembly-CSharp, System.Void ScreenJoystick::FixedUpdate()");

DO_APP_FUNC(void, MainMenuManager_Start, (MainMenuManager* __this, MethodInfo* method), "Assembly-CSharp, System.Void MainMenuManager::Start()");
//DO_APP_FUNC(void, MainMenuManager_Start, (MainMenuManager* __this, MethodInfo* method), "Assembly-CSharp, System.Void MainMenuManager::Start()");

DO_APP_FUNC(void, MeetingHud_RpcClose, (MeetingHud* __this, MethodInfo* method), "Assembly-CSharp, System.Void MeetingHud::RpcClose()");
DO_APP_FUNC(void, MeetingHud_Awake, (MeetingHud* __this, MethodInfo* method), "Assembly-CSharp, System.Void MeetingHud::Awake()");
Expand Down
65 changes: 0 additions & 65 deletions appdata/il2cpp-types.h
Original file line number Diff line number Diff line change
Expand Up @@ -8092,71 +8092,6 @@ namespace app
};
#pragma endregion

#pragma region MainMenuManager
struct MainMenuManager__Fields {
struct MonoBehaviour__Fields _;
void* AdsPolicy;
void* PlayOnlineButton;
struct HatManager* HatManagerRef;
void* CosmicubeManagerRef;
void* playerCustomizationPrefab;
void* announcementPopUp;
struct GameObject* gameModeButtons;
struct GameObject* accountButtons;
void* screenMask;
struct GameObject* mainMenuUI;
struct GameObject* rightPanelMask;
struct SpriteRenderer* screenTint;
void* freePlayButton;
void* playButton;
void* inventoryButton;
void* shopButton;
void* myAccountButton;
void* newsButton;
void* settingsButton;
void* creditsButton;
void* quitButton;
void* playLocalButton;
void* howToPlayButton;
void* accountCTAButton;
void* mainButtons;
struct GameObject* creditsScreen;
void* DefaultButtonSelected;
void* ControllerSelectable;
void* disableOnStartup;
struct GameObject* NewStoreItemsIcon;
void* cosmicubeManager;
};

struct MainMenuManager {
struct MainMenuManager__Class* klass;
MonitorData* monitor;
struct MainMenuManager__Fields fields;
};

struct MainMenuManager__VTable
{
VirtualInvokeData Equals;
VirtualInvokeData Finalize;
VirtualInvokeData GetHashCode;
VirtualInvokeData ToString;
};

struct MainMenuManager__StaticFields
{
};

struct MainMenuManager__Class
{
Il2CppClass_0 _0;
Il2CppRuntimeInterfaceOffsetPair* interfaceOffsets;
struct MainMenuManager__StaticFields* static_fields;
const Il2CppRGCTXData* rgctx_data;
Il2CppClass_1 _1;
struct MainMenuManager__VTable vtable;
};
#pragma endregion

#pragma region DisconnectReasons__Enum
#if defined(_CPLUSPLUS_)
enum class DisconnectReasons__Enum : int32_t {
Expand Down
8 changes: 5 additions & 3 deletions gui/gui-helpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

using namespace ImGui;

bool CustomListBoxInt(const char* label, int* value, const std::vector<const char*> list, float width, ImGuiComboFlags flags) {
bool CustomListBoxInt(const char* label, int* value, const std::vector<const char*> list, float width, ImVec4 col, ImGuiComboFlags flags) {
auto comboLabel = "##" + std::string(label);
auto leftArrow = "##" + std::string(label) + "Left";
auto rightArrow = "##" + std::string(label) + "Right";
Expand Down Expand Up @@ -49,7 +49,9 @@ bool CustomListBoxInt(const char* label, int* value, const std::vector<const cha
return RightResponse;
}
SameLine(0, spacing);
Text(label);
//noobuild by gdjkhp
if (col.x == 0 && col.y == 0 && col.z == 0 && col.w == 0) Text(label);
else TextColored(col, label);

return response;
}
Expand Down Expand Up @@ -395,7 +397,7 @@ void drawPlayerIcon(PlayerControl* player, const ImVec2& winPos, ImU32 color)
p_min, p_max,
ImVec2(0.0f, 1.0f),
ImVec2(1.0f, 0.0f),
(State.RadarVisorRoleColor && State.RevealRoles) ?
(/*State.RadarVisorRoleColor && */State.RevealRoles) ?
GetColorU32(AmongUsColorToImVec4(GetRoleColor(GetPlayerData(player)->fields.Role))) :
GetColorU32(AmongUsColorToImVec4(Palette__TypeInfo->static_fields->VisorColor)));

Expand Down
2 changes: 1 addition & 1 deletion gui/gui-helpers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ static inline ImVec2 operator-(const ImVec2& lhs, const float scalar) { return I
static inline ImVec2& operator+=(ImVec2& lhs, const float scalar) { lhs.x += scalar; lhs.y += scalar; return lhs; }
static inline ImVec2& operator-=(ImVec2& lhs, const float scalar) { lhs.x -= scalar; lhs.y -= scalar; return lhs; }

bool CustomListBoxInt(const char* label, int* value, const std::vector<const char*> list, float width = 225.f, ImGuiComboFlags flags = ImGuiComboFlags_None);
bool CustomListBoxInt(const char* label, int* value, const std::vector<const char*> list, float width = 225.f, ImVec4 col = ImVec4(0, 0, 0, 0), ImGuiComboFlags flags = ImGuiComboFlags_None);
bool CustomListBoxIntMultiple(const char* label, std::vector<std::pair<const char*, bool>>* list, float width, bool resetButton = true, ImGuiComboFlags flags = ImGuiComboFlags_None);
bool CustomListBoxPlayerSelectionMultiple(const char* label, std::array<std::pair<PlayerSelection, bool>, Game::MAX_PLAYERS>* list, float width, bool resetButton = true, ImGuiComboFlags flags = ImGuiComboFlags_None);
bool SteppedSliderFloat(const char* label, float* v, float v_min, float v_max, float v_step, const char* format, ImGuiSliderFlags flags);
Expand Down
9 changes: 8 additions & 1 deletion gui/replay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#include <sstream>
#include <chrono>


namespace Replay
{
// NOTE:
Expand Down Expand Up @@ -299,6 +298,7 @@ namespace Replay
}

IconTexture icon = icons.at(ICON_TYPES::PLAYER);
IconTexture visorIcon = icons.at(ICON_TYPES::PLAYERVISOR);
const auto& map = maps[(size_t)MapType];
// the latestPos variable is already pre-transformed for line rendering, so we have to un-transform and then re-transform for proper icon positioning
// existing transformation:
Expand All @@ -322,6 +322,13 @@ namespace Replay
ImVec2(0.0f, 0.0f),
ImVec2(1.0f, 1.0f),
GetReplayPlayerColor(plrLineData.colorId));
drawList->AddImage((void*)visorIcon.iconImage.shaderResourceView,
p_min, p_max,
ImVec2(0.0f, 0.0f),
ImVec2(1.0f, 1.0f),
State.RevealRoles ?
ImGui::GetColorU32(AmongUsColorToImVec4(GetRoleColor(GetPlayerDataById(plrLineData.playerId)->fields.Role))) :
ImGui::GetColorU32(AmongUsColorToImVec4(Palette__TypeInfo->static_fields->VisorColor)));

app::GameData_PlayerInfo* plrInfo = GetPlayerDataById(plrLineData.playerId);
if ((plrInfo != NULL) &&
Expand Down
7 changes: 7 additions & 0 deletions gui/tabs/about_tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,20 @@ namespace AboutTab {
ImGui::Text(welcomeText.c_str());
ImGui::Text("SickoMenu is a highly sophisticated cheat menu for Among Us based on AmongUsMenu.");
ImGui::Text("It promises more features and regular updates.");
if (ImGui::Button("GitHub")) {
OpenLink("https://github.com/g0aty/SickoMenu");
}
ImGui::SameLine();
if (ImGui::Button("Check for Updates")) {
OpenLink("https://github.com/g0aty/SickoMenu/releases/latest");
}
ImGui::Text("Join the Discord server for support, bug reports, and sneak peeks!");
if (ImGui::Button("Join our Discord!")) {
OpenLink("https://dsc.gg/sickos"); //sickomenu discord invite
}
ImGui::Text("SickoMenu is a free and open-source software.");
ImGui::Text("If you've paid for this menu, demand a refund immediately.");
//hopefully stop people from reselling a foss menu for actual money
}

if (openCredits) {
Expand Down
3 changes: 2 additions & 1 deletion gui/tabs/host_tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ namespace HostTab {
app::GameData_PlayerOutfit* outfit = GetPlayerOutfit(playerData);
if (outfit == NULL) continue;
const std::string& playerName = convert_from_string(GameData_PlayerOutfit_get_PlayerName(outfit, nullptr));
if (CustomListBoxInt(playerName.c_str(), reinterpret_cast<int*>(&State.assignedRoles[index]), ROLE_NAMES, 80 * State.dpiScale))
//player colors in host tab by gdjkhp (https://github.com/GDjkhp/AmongUsMenu/commit/53b017183bac503c546f198e2bc03539a338462c)
if (CustomListBoxInt(playerName.c_str(), reinterpret_cast<int*>(&State.assignedRoles[index]), ROLE_NAMES, 80 * State.dpiScale, AmongUsColorToImVec4(GetPlayerColor(outfit->fields.ColorId))))
{
State.engineers_amount = (int)GetRoleCount(RoleType::Engineer);
State.scientists_amount = (int)GetRoleCount(RoleType::Scientist);
Expand Down
6 changes: 3 additions & 3 deletions gui/tabs/players_tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ namespace PlayersTab {
uint32_t playerLevel = selectedPlayer.get_PlayerData()->fields.PlayerLevel + 1;
std::string levelText = std::format("Level: {}", playerLevel);
ImGui::Text(const_cast<char*>(levelText.c_str()));
std::string platform = "";
std::string platform = "Unknown";
for (auto client : GetAllClients()) {
if (GetPlayerControlById(selectedPlayer.get_PlayerData()->fields.PlayerId)->fields._.OwnerId == client->fields.Id) {
switch (client->fields.PlatformData->fields.Platform) {
Expand All @@ -142,7 +142,7 @@ namespace PlayersTab {
platform = "itch.io (PC)";
break;
case Platforms__Enum::IPhone:
platform = "iOS (Mobile)";
platform = "iOS/iPadOS (Mobile)";
break;
case Platforms__Enum::Android:
platform = "Android (Mobile)";
Expand Down Expand Up @@ -328,7 +328,7 @@ namespace PlayersTab {
app::RoleBehaviour* playerRole = localData->fields.Role;
app::RoleTypes__Enum role = playerRole != nullptr ? playerRole->fields.Role : app::RoleTypes__Enum::Crewmate;

if (IsHost() || !State.SafeMode)
if (!State.SafeMode)
{
if (ImGui::Button("Shift"))
{
Expand Down
12 changes: 8 additions & 4 deletions gui/tabs/radar_tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ namespace RadarTab {
if (ToggleButton("Draw Player Icons", &State.RadarDrawIcons)) {
State.Save();
}
if (State.RadarDrawIcons && State.RevealRoles) {
/*if (State.RadarDrawIcons && State.RevealRoles) {
ImGui::SameLine();
if (ToggleButton("Show Role Color on Visor", &State.RadarVisorRoleColor)) {
State.Save();
}
}
}*/

if (ToggleButton("Lock Radar Position", &State.LockRadar)) {
State.Save();
Expand All @@ -64,10 +64,14 @@ namespace RadarTab {
| ImGuiColorEditFlags_AlphaPreview)) {
State.Save();
}
if (ImGui::InputInt("Extra Width", &State.RadarExtraWidth))
if (ImGui::InputInt("Extra Width", &State.RadarExtraWidth)) {
State.RadarExtraWidth = abs(State.RadarExtraWidth); //prevent negatives
State.Save();
if (ImGui::InputInt("Extra Height", &State.RadarExtraHeight))
}
if (ImGui::InputInt("Extra Height", &State.RadarExtraHeight)) {
State.RadarExtraHeight = abs(State.RadarExtraHeight); //prevent negatives
State.Save();
}

ImGui::EndChild();
}
Expand Down
2 changes: 1 addition & 1 deletion gui/tabs/self_tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ namespace SelfTab {
State.Save();
}
ImGui::SameLine();
if (ToggleButton("Allow Paste in Chat", &State.ChatPaste)) { //add copying in v3.1
if (ToggleButton("Allow Paste in Chat", &State.ChatPaste)) { //add copying later
State.Save();
}

Expand Down
4 changes: 2 additions & 2 deletions hooks/AirshipStatus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ void dAirshipStatus_OnEnable(AirshipStatus* __this, MethodInfo* method)
ControlAppearance(true);

if (State.AutoFakeRole) {
if (IsHost() || !State.SafeMode) State.rpcQueue.push(new RpcSetRole(*Game::pLocalPlayer, (RoleTypes__Enum)State.FakeRole));
else State.rpcQueue.push(new SetRole((RoleTypes__Enum)State.FakeRole));
if (!State.SafeMode) State.rpcQueue.push(new RpcSetRole(*Game::pLocalPlayer, (RoleTypes__Enum)State.FakeRole));
State.rpcQueue.push(new SetRole((RoleTypes__Enum)State.FakeRole));
}
}
catch (...) {
Expand Down
2 changes: 1 addition & 1 deletion hooks/Chat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ void dChatController_AddChat(ChatController* __this, PlayerControl* sourcePlayer
}

void dChatController_SetVisible(ChatController* __this, bool visible, MethodInfo* method) {
if ((State.ChatAlwaysActive && !State.PanicMode) || (State.InMeeting || IsInLobby() || GetPlayerData(*Game::pLocalPlayer)->fields.IsDead))
if (State.ChatAlwaysActive && !State.PanicMode)
ChatController_SetVisible(__this, true, method);
else
{
Expand Down
4 changes: 2 additions & 2 deletions hooks/FungleShipStatus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ void dFungleShipStatus_OnEnable(FungleShipStatus* __this, MethodInfo* method)
ControlAppearance(true);

if (State.AutoFakeRole) {
if (IsHost() || !State.SafeMode) State.rpcQueue.push(new RpcSetRole(*Game::pLocalPlayer, (RoleTypes__Enum)State.FakeRole));
else State.rpcQueue.push(new SetRole((RoleTypes__Enum)State.FakeRole));
if (!State.SafeMode) State.rpcQueue.push(new RpcSetRole(*Game::pLocalPlayer, (RoleTypes__Enum)State.FakeRole));
State.rpcQueue.push(new SetRole((RoleTypes__Enum)State.FakeRole));
}
}
catch (...) {
Expand Down
Loading

0 comments on commit 6d67884

Please sign in to comment.