-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
a 2.1 and 2.2 projects some fixes and additions
- Loading branch information
Showing
18 changed files
with
248 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
cmake_minimum_required(VERSION 3.10.0) | ||
set(CMAKE_CXX_STANDARD 20) | ||
set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
set(CMAKE_CXX_EXTENSIONS OFF) | ||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /MANIFEST:NO") | ||
set(LIBRARY_OUTPUT_PATH "${CMAKE_CURRENT_LIST_DIR}") | ||
cmake_policy(SET CMP0057 NEW) | ||
|
||
project ("ONEMR_Loader") | ||
set(developer "user95401") | ||
set(description "gd 2.1 mod that load dlls in all ur game directory") | ||
set(lib_output "D:\\Games\\user666\\Geometry.Dash.v07.24.2021\\") # post build copy | ||
|
||
#curly-eureka | ||
set(GAME_VERSION "2.113") | ||
include("C:\\Users\\Lenovo\\source\\curly-eureka\\CURLY-EUREKA-INCL.cmake")# "\" must be escaped by \\ | ||
|
||
#version | ||
set(FILEVERSION "1, 3, 0, 0") | ||
set(LegalCopyright "user666's original") | ||
configure_file("Version.rc" "../../../src/Version.rc") | ||
|
||
#mod | ||
file(GLOB_RECURSE SRC | ||
src/* | ||
) | ||
add_library(${PROJECT_NAME} SHARED ${SRC} ${CURLY_EUREKA_SRC}) | ||
|
||
#POST_BUILD | ||
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND #POST_BUILD UPDATE USES POWERSHELL! | ||
"${CMAKE_CURRENT_LIST_DIR}/CMakePostBuild.bat" ${developer} ${PROJECT_NAME} ${LIBRARY_OUTPUT_PATH} ${lib_output}) | ||
|
||
#libcurl distributing zip makeup | ||
if(EXISTS ${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.dll) #can be deleted so escape "not found" | ||
#ONEMR_Loader | ||
file(COPY ${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.dll | ||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/copy.to.game.folder/) | ||
#libcurl | ||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/libcurl.dll | ||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/copy.to.game.folder/) | ||
#libcurldist_readme | ||
configure_file(${CMAKE_CURRENT_LIST_DIR}/libcurldist_readme.md ${CMAKE_CURRENT_BINARY_DIR}/libcurldist_readme.md) | ||
#ARCHIVE_CREATE | ||
file(ARCHIVE_CREATE | ||
OUTPUT "${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_dist.zip" | ||
PATHS | ||
${CMAKE_CURRENT_BINARY_DIR}/copy.to.game.folder/${PROJECT_NAME}.dll | ||
${CMAKE_CURRENT_BINARY_DIR}/copy.to.game.folder/libcurl.dll | ||
${CMAKE_CURRENT_BINARY_DIR}/libcurldist_readme.md | ||
FORMAT "zip") | ||
message("${PROJECT_NAME}_dist makeup done: see at ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_dist.zip") | ||
endif() |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# ONEMR_Loader | ||
|
||
load dlls in all ur game directory | ||
|
||
Made with curly-eureka, only for Windows. | ||
|
||
## Install Loader to game | ||
- download zip from [releases](https://github.com/user95401/ONEMR_Loader/releases) and read the [`libcurldist_readme.md`](libcurldist_readme.md) and `about.md` | ||
>just copy all files from `copy.to.game.folder` to ur Geometry Dash | ||
# build | ||
learn here https://github.com/user95401/GMDModTemplate/wiki/Prepare |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# libcurldist | ||
made for installing mod loader to a clear game | ||
|
||
libcurl.dll is file that game loading: | ||
1. game loading libcurl.dll | ||
2. libcurl.dll loading ONEMR_Loader.dll |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
#include "ModUtils.hpp" | ||
#include "HooksUtils.hpp" | ||
#include<fstream> | ||
|
||
using namespace cocos2d; | ||
using namespace gd; | ||
|
||
int ModsLoaded = 0; | ||
std::string ModsLoadedList = ""; | ||
bool afterLoad = false; | ||
|
||
DWORD WINAPI LoadMods(void* hModule) { | ||
ModUtils::log("Crawling..."); | ||
for (const auto& entry : std::filesystem::recursive_directory_iterator(std::filesystem::current_path())) { | ||
//ModUtils::log(entry.path().extension().string()); .dll | ||
bool loadit = false; | ||
if (entry.path().extension().string() == std::string(".dll")) loadit = true;//is dll | ||
if (strstr(entry.path().string().c_str(), "geode")) loadit = false;//in geode/unzipped | ||
if (strstr(entry.path().string().c_str(), "minhook")) loadit = false;//minhook | ||
if (strstr(entry.path().string().c_str(), "MinHook")) loadit = false;//MinHook | ||
if (strstr(entry.path().string().c_str(), "websockets.dll")) loadit = false;//websockets.dll | ||
if (strstr(entry.path().string().c_str(), "msvcp")) loadit = false;//msvcp | ||
if (strstr(entry.path().string().c_str(), "msvcr")) loadit = false;//msvcr | ||
if (GetModuleHandleA(entry.path().string().c_str())) loadit = false; | ||
if (loadit) { | ||
//Sleep(10);justwhy | ||
HMODULE hModule = LoadLibraryA(entry.path().string().c_str()); | ||
if (!hModule) ModUtils::log("Failed to load library \"" + entry.path().relative_path().string() + "\" ."); | ||
else { | ||
ModUtils::log("Loaded library \"" + entry.path().relative_path().string() + "\"!"); | ||
++ModsLoaded; | ||
ModsLoadedList = ModsLoadedList + ((ModsLoadedList == "" ? "" : ", ") + entry.path().filename().string()); | ||
} | ||
} | ||
} | ||
ModUtils::log("Loading libs reached end!"); | ||
} | ||
|
||
//0x272390 | ||
void __fastcall LoadingLayer_loadAssets(CCLayer* self, void* edx) { | ||
afterLoad = true; | ||
MappedHooks::getOriginal(LoadingLayer_loadAssets)(self, edx); | ||
if (!CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.NoInfo") && !CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.AddInfo")) { | ||
std::string fileinfo = ( | ||
"u can delete that file, so message box with confirm appears again" "\n" | ||
"if exists ONEMR_Loader.NoInfo => dont show loaded mods info in corner" "\n" | ||
"if exists ONEMR_Loader.AddInfo => dont show confirm message box" | ||
); | ||
if (MessageBoxExA(nullptr, "Enable showing info?", "ONEMR_Loader", MB_ICONQUESTION | MB_YESNO, LANG_ENGLISH) == IDYES) { | ||
std::remove("ONEMR_Loader.NoInfo"); | ||
std::ofstream("ONEMR_Loader.AddInfo") << fileinfo; | ||
} | ||
else { | ||
std::ofstream("ONEMR_Loader.NoInfo") << fileinfo; | ||
std::remove("ONEMR_Loader.AddInfo"); | ||
} | ||
} | ||
if (CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.NoInfo")) return self->removeChildByTag(938); | ||
self->removeChildByTag(938); | ||
CCLabelTTF* ModsCountLabel = CCLabelTTF::create(std::format( | ||
"ONEMR_Loader: {} dlls loaded{}", | ||
ModsLoaded, | ||
ModsLoadedList == "" ? "" : ("\n" + ModsLoadedList) | ||
).c_str(), "Arial", 12.000f); | ||
ModsCountLabel->setHorizontalAlignment(CCTextAlignment::kCCTextAlignmentLeft); | ||
ModsCountLabel->setAnchorPoint({ -0.01f, -0.1f }); | ||
ModsCountLabel->setScale(0.4f); | ||
ModsCountLabel->setOpacity(68); | ||
ModsCountLabel->setBlendFunc({ GL_SRC_ALPHA, GL_ONE }/*that is additive blend*/); | ||
self->addChild(ModsCountLabel, 10, 938);/**/ | ||
} | ||
|
||
//0x1907b0 | ||
bool __fastcall MenuLayer_init(CCLayer* self, void* edx) { | ||
MappedHooks::getOriginal(MenuLayer_init)(self, edx); | ||
//afterLoad | ||
if (!afterLoad) return true; | ||
afterLoad = false; | ||
//ONEMR_Loader.NoInfo | ||
if (CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.NoInfo")) return true; | ||
//geode thook origin call bug | ||
twoTimesBoolCallEscapeByParrentNode(self); | ||
//add label | ||
CCLabelTTF* ModsCountLabel = CCLabelTTF::create(std::format( | ||
"ONEMR_Loader: {} dlls loaded{}", | ||
ModsLoaded, | ||
ModsLoadedList == "" ? "" : ("\n" + ModsLoadedList) | ||
).c_str(), "Arial", 12.000f); | ||
ModsCountLabel->setHorizontalAlignment(CCTextAlignment::kCCTextAlignmentLeft); | ||
ModsCountLabel->setAnchorPoint({ -0.01f, -0.1f }); | ||
ModsCountLabel->setScale(0.4f); | ||
ModsCountLabel->setOpacity(68); | ||
ModsCountLabel->setBlendFunc({ GL_SRC_ALPHA, GL_ONE }/*that is additive blend*/); | ||
ModsCountLabel->runAction(CCEaseExponentialIn::create(CCFadeTo::create(3.0f, 0))); | ||
self->addChild(ModsCountLabel, 10, 938); | ||
return true; | ||
} | ||
|
||
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { | ||
if (ul_reason_for_call == DLL_PROCESS_ATTACH) { | ||
LoadMods(hModule); | ||
MH_Initialize(); | ||
MappedHooks::registerHook(base + 0x18c8e0, LoadingLayer_loadAssets); | ||
MappedHooks::registerHook(base + 0x1907b0, MenuLayer_init); | ||
} | ||
return TRUE; | ||
} |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
::Msg "%username%" developer: %1, PROJECT_NAME: %2, LIBRARY_OUTPUT_PATH: %3, lib_output: %4 | ||
|
||
@echo POST_BUILD_PART | ||
|
||
@set "$Title=Built mod install" | ||
@set "$Message=Done: " | ||
|
||
@echo "working at LIBRARY_OUTPUT_PATH: %3" | ||
@cd "%3" | ||
|
||
@echo "remove minhook built static lib because who needs it even" | ||
@if exist "minhook.x32.lib" del "minhook.x32.lib" | ||
|
||
@echo "copy dll to game: %2.dll => %4" | ||
@if not exist "%2.dll" set "$Message=Can´t found %3/%2.dll to copy dll!" | ||
if exist "%2.dll" copy "%2.dll" %4 | ||
|
||
::BEEEp if smth wrong | ||
@if not "%$Message%" == "Done: " rundll32 user32.dll,MessageBeep | ||
::add warn emoji | ||
@if not "%$Message%" == "Done: " set "$Title=⚠️ Failed to %$Title%" | ||
|
||
@if "%$Message%" == "Done: " set "$Message=%$Message%%4" | ||
|
||
::push notify | ||
@powershell -Command "& {Add-Type -AssemblyName System.Windows.Forms; Add-Type -AssemblyName System.Drawing; $notify = New-Object System.Windows.Forms.NotifyIcon; $notify.Icon = [System.Drawing.SystemIcons]::Information; $notify.Visible = $true; $notify.ShowBalloonTip(0, '%$Title%', '%$Message%', [System.Windows.Forms.ToolTipIcon]::None)}" | ||
@echo [%$Title%]: %$Message% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"configurations": [ | ||
{ | ||
"name": "x86-Release", | ||
"generator": "Ninja", | ||
"configurationType": "Release", | ||
"buildRoot": "${projectDir}\\out\\build\\${name}", | ||
"installRoot": "${projectDir}\\out\\install\\${name}", | ||
"cmakeCommandArgs": "", | ||
"buildCommandArgs": "", | ||
"ctestCommandArgs": "", | ||
"inheritEnvironments": [ "msvc_x86" ] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
1 VERSIONINFO | ||
FILEVERSION ${FILEVERSION} | ||
PRODUCTVERSION ${FILEVERSION} | ||
FILEOS 0x40004 | ||
FILETYPE 0x2 | ||
{ | ||
BLOCK "StringFileInfo" | ||
{ | ||
BLOCK "040904B0" | ||
{ | ||
VALUE "ProductName", "${PROJECT_NAME}" | ||
VALUE "CompanyName", "${developer}" | ||
VALUE "LegalCopyright", "${LegalCopyright}" | ||
VALUE "FileDescription", "${description}" | ||
VALUE "OriginalFilename", "${PROJECT_NAME}.dll" | ||
} | ||
} | ||
|
||
BLOCK "VarFileInfo" | ||
{ | ||
VALUE "Translation", 0x0409 0x04B0 | ||
} | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# libcurldist | ||
made for installing mod loader to a clear game | ||
|
||
libcurl.dll is file that game loading: | ||
1. game loading libcurl.dll | ||
2. libcurl.dll loading ONEMR_Loader.dll |
File renamed without changes.
Binary file not shown.
Binary file not shown.
This file was deleted.
Oops, something went wrong.