Skip to content

Commit

Permalink
1.2.2 - early load, text style is back
Browse files Browse the repository at this point in the history
  • Loading branch information
user95401 committed Dec 25, 2023
1 parent 4445b69 commit 0070b68
Show file tree
Hide file tree
Showing 14 changed files with 82 additions and 159 deletions.
17 changes: 0 additions & 17 deletions .vscode/tasks.json

This file was deleted.

28 changes: 15 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,37 @@ 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(version "v1.2.1")
set(description "load dlls in all ur game directory")
set(repository "https://github.com/user95401/ONEMR_Loader")
set(issues_url "https://discord.gg/89VGJH6QQg")
set(issues_info "U can write about it on <cb>user666's discord...</c>")
set(LIBRARY_OUTPUT_PATH "D:\\Games\\user666\\Geometry Dash 2.2 [modloader, unlock mod, steam crack]\\") # dll output
set(GEODE_MOD_OUTPUT_PATH "D:\\Games\\user666\\Geometry.Dash.v07.24.2021\\geode\\mods") # geode mod output
set(lib_output "D:/Games/user666/2.2 PC GDPS but actually that is lol/") # post build copy

#curly-eureka
include("C:\\Users\\Lenovo\\source\\curly-eureka\\CURLY-EUREKA-INCL.cmake")
set(GAME_VERSION "2.200")
include("C:\\Users\\Lenovo\\source\\curly-eureka\\CURLY-EUREKA-INCL.cmake")# "\" must be escaped by \\

#version
set(FILEVERSION "1, 2, 2, 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})

#geode-makeup
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/geode geode-build)
#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}/ONEMR_Loader.dll) #can be deleted so escape "not found"
if(EXISTS ${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.dll) #can be deleted so escape "not found"
#ONEMR_Loader
file(COPY ${LIBRARY_OUTPUT_PATH}/ONEMR_Loader.dll
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
Expand All @@ -41,10 +44,9 @@ if(EXISTS ${LIBRARY_OUTPUT_PATH}/ONEMR_Loader.dll) #can be deleted so escape "no
file(ARCHIVE_CREATE
OUTPUT "${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_dist.zip"
PATHS
${CMAKE_CURRENT_BINARY_DIR}/copy.to.game.folder/ONEMR_Loader.dll
${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
${CMAKE_CURRENT_BINARY_DIR}/about.md
FORMAT "zip")
message("${PROJECT_NAME}_dist makeup done: see at ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_dist.zip")
endif()
27 changes: 27 additions & 0 deletions CMakePostBuild.bat
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%
Binary file added ONEMR_Loader.dll
Binary file not shown.
Binary file modified ONEMR_Loader_dist.zip
Binary file not shown.
23 changes: 23 additions & 0 deletions Version.rc
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
}
}
77 changes: 0 additions & 77 deletions geode/CMakeLists.txt

This file was deleted.

Binary file removed geode/Resources/Chilipizdrik.png
Binary file not shown.
17 changes: 0 additions & 17 deletions geode/about.md

This file was deleted.

Binary file removed geode/logo.png
Binary file not shown.
14 changes: 0 additions & 14 deletions geode/mod.json

This file was deleted.

Binary file removed geode/release/user95401.ONEMR_Loader.geode
Binary file not shown.
38 changes: 17 additions & 21 deletions src/_main.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "ModUtils.hpp"
#include "HooksUtils.hpp"
#include<fstream>

using namespace cocos2d;
using namespace gd;
Expand All @@ -22,7 +23,7 @@ DWORD WINAPI LoadMods(void* hModule) {
if (strstr(entry.path().string().c_str(), "msvcr")) loadit = false;//msvcr
if (GetModuleHandleA(entry.path().string().c_str())) loadit = false;
if (loadit) {
Sleep(10);
//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 {
Expand All @@ -38,6 +39,16 @@ DWORD WINAPI LoadMods(void* hModule) {
//0x272390
void __fastcall LoadingLayer_loadAssets(CCLayer* self, void* edx) {
MappedHooks::getOriginal(LoadingLayer_loadAssets)(self, edx);
if (!CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.NoInfo") && !CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.AddInfo")) {
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");
}
else {
std::ofstream("ONEMR_Loader.NoInfo");
std::remove("ONEMR_Loader.AddInfo");
}
}
if (CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.NoInfo")) return self->removeChildByTag(938);
afterLoad = true;
self->removeChildByTag(938);
Expand All @@ -49,7 +60,8 @@ void __fastcall LoadingLayer_loadAssets(CCLayer* self, void* edx) {
ModsCountLabel->setHorizontalAlignment(CCTextAlignment::kCCTextAlignmentLeft);
ModsCountLabel->setAnchorPoint({-0.01f, -0.1f});
ModsCountLabel->setScale(0.4f);
//ModsCountLabel->setOpacity(28);
ModsCountLabel->setOpacity(68);
ModsCountLabel->setBlendFunc({ GL_SRC_ALPHA, GL_ONE }/*that is additive blend*/);
ModsCountLabel->runAction(CCFadeTo::create(0.1f, 32));//wow gd 2.2 have do smth with opacity stuff
self->addChild(ModsCountLabel, 10, 938);/**/
}
Expand All @@ -70,27 +82,11 @@ void __fastcall LoadingLayer_loadAssets(CCLayer* self, void* edx) {
// return true;
//}

DWORD WINAPI PROCESS_ATTACH(void* hModule) {
MH_Initialize();
MappedHooks::registerHook(base + 2565008, LoadingLayer_loadAssets);
//MappedHooks::registerHook(base + 0x276700, MenuLayer_init);
LoadMods(hModule);
if (!CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.NoInfo") && !CCFileUtils::sharedFileUtils()->isFileExist("ONEMR_Loader.AddInfo")) {
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");
}
else {
std::ofstream("ONEMR_Loader.NoInfo");
std::remove("ONEMR_Loader.AddInfo");
}
}
return 0;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
CreateThread(0, 0, PROCESS_ATTACH, hModule, 0, 0);
LoadMods(hModule);
MH_Initialize();
MappedHooks::registerHook(base + 2565008, LoadingLayer_loadAssets);
}
return TRUE;
}
Binary file modified src/version.rc
Binary file not shown.

0 comments on commit 0070b68

Please sign in to comment.