Skip to content

Commit

Permalink
Add Options Toggle to show map packs again
Browse files Browse the repository at this point in the history
  • Loading branch information
FigmentBoy committed Jan 11, 2021
1 parent 72f6731 commit 71ebfb4
Show file tree
Hide file tree
Showing 8 changed files with 88 additions and 16 deletions.
8 changes: 8 additions & 0 deletions GameManager.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include "GameManager.h"
#include <Windows.h>

void GameManager::mem_init() {
size_t base = reinterpret_cast<size_t>(GetModuleHandle(0));
getSharedState = reinterpret_cast<decltype(getSharedState)>(base + 0xC4A50);
getGameVariable = reinterpret_cast<decltype(getGameVariable)>(base + 0xC9D30);
}
7 changes: 7 additions & 0 deletions GameManager.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#pragma once

namespace GameManager {
inline void* (__cdecl* getSharedState)();
inline bool(__thiscall* getGameVariable)(void* self, const char* key);
void mem_init();
}
25 changes: 25 additions & 0 deletions MenuOptions.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include "MenuOptions.h"
#include "MinHook.h"

bool __fastcall MenuOptions::initHook(void* self)
{
bool result = MenuOptions::init(self);

MenuOptions::addToggle(
self,
"Show Map Packs",
"mp-show",
"Re-adds Map Packs to the game");

return result;
}

void MenuOptions::mem_init() {
size_t base = reinterpret_cast<size_t>(GetModuleHandle(0));
MH_CreateHook(
(PVOID)(base + 0x1DE8F0),
MenuOptions::initHook,
(PVOID*)&MenuOptions::init);

MenuOptions::addToggle = reinterpret_cast<decltype(MenuOptions::addToggle)>(base + 0x1DF6B0);
}
9 changes: 9 additions & 0 deletions MenuOptions.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once

namespace MenuOptions {

inline int(__thiscall* addToggle)(void* self, const char* display, const char* key, const char* extraInfo);
inline bool(__thiscall* init)(void*);
bool __fastcall initHook(void* self);
void mem_init();
}
4 changes: 4 additions & 0 deletions NO-MAP-PACKS.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,8 @@
<ClInclude Include="cappuccino-sdk\incl\extensions\spine\spine-cocos2dx.h" />
<ClInclude Include="cappuccino-sdk\incl\extensions\spine\spine.h" />
<ClInclude Include="framework.h" />
<ClInclude Include="GameManager.h" />
<ClInclude Include="MenuOptions.h" />
<ClInclude Include="MinHook.h" />
<ClInclude Include="TargetLayer.h" />
</ItemGroup>
Expand All @@ -556,6 +558,8 @@
<ClCompile Include="cappuccino-sdk\incl\cocos2dx\kazmath\src\vec3.c" />
<ClCompile Include="cappuccino-sdk\incl\cocos2dx\kazmath\src\vec4.c" />
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="GameManager.cpp" />
<ClCompile Include="MenuOptions.cpp" />
<ClCompile Include="TargetLayer.cpp" />
</ItemGroup>
<ItemGroup>
Expand Down
12 changes: 12 additions & 0 deletions NO-MAP-PACKS.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1155,6 +1155,12 @@
<ClInclude Include="TargetLayer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MenuOptions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="GameManager.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">
Expand Down Expand Up @@ -1208,6 +1214,12 @@
<ClCompile Include="TargetLayer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MenuOptions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GameManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Library Include="libMinHook-x86-v141-mtd.lib">
Expand Down
35 changes: 19 additions & 16 deletions TargetLayer.cpp
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@
#include "TargetLayer.h"
#include "MinHook.h"
#include "GameManager.h"

bool __fastcall TargetLayer::initHook(CCLayer* self) {
void* gm = GameManager::getSharedState();
bool result = init(self);
auto children = self->getChildren();
CCMenu* menu = (CCMenu*)children->objectAtIndex(1);
if (!GameManager::getGameVariable(gm, "mp-show")) {
auto children = self->getChildren();
CCMenu* menu = (CCMenu*)children->objectAtIndex(1);

auto menuObjs = menu->getChildren();
auto menuObjs = menu->getChildren();

CCNode* mapPack = (CCNode*)menuObjs->objectAtIndex(8);
CCNode* mapPack = (CCNode*)menuObjs->objectAtIndex(8);

menu->removeChild(mapPack, true);
menu->removeChild(mapPack, true);

CCNode* Featured = (CCNode*)menuObjs->objectAtIndex(6);
CCNode* HOF = (CCNode*)menuObjs->objectAtIndex(7);
CCNode* Search = (CCNode*)menuObjs->objectAtIndex(8);
CCNode* Featured = (CCNode*)menuObjs->objectAtIndex(6);
CCNode* HOF = (CCNode*)menuObjs->objectAtIndex(7);
CCNode* Search = (CCNode*)menuObjs->objectAtIndex(8);

CCNode* Create = (CCNode*)menuObjs->objectAtIndex(0);
CCNode* Saved = (CCNode*)menuObjs->objectAtIndex(1);
CCNode* Scores = (CCNode*)menuObjs->objectAtIndex(2);
CCNode* Create = (CCNode*)menuObjs->objectAtIndex(0);
CCNode* Saved = (CCNode*)menuObjs->objectAtIndex(1);
CCNode* Scores = (CCNode*)menuObjs->objectAtIndex(2);


float width = HOF->getScaledContentSize().width;

Featured->setPositionX(Create->getPositionX());
HOF->setPositionX(Saved->getPositionX());
Search->setPositionX(Scores->getPositionX());
float width = HOF->getScaledContentSize().width;

Featured->setPositionX(Create->getPositionX());
HOF->setPositionX(Saved->getPositionX());
Search->setPositionX(Scores->getPositionX());
}
return result;
}

Expand Down
4 changes: 4 additions & 0 deletions dllmain.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
// dllmain.cpp : Defines the entry point for the DLL application.
#include <cocos2d.h>
#include "MinHook.h"
#include "GameManager.h";
#include "MenuOptions.h";
#include "TargetLayer.h";

DWORD WINAPI my_thread(void* hModule) {
MH_Initialize();
GameManager::mem_init();
MenuOptions::mem_init();
TargetLayer::mem_init();
MH_EnableHook(MH_ALL_HOOKS);

Expand Down

0 comments on commit 71ebfb4

Please sign in to comment.