Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
cgytrus committed Sep 11, 2023
0 parents commit 4711462
Show file tree
Hide file tree
Showing 26 changed files with 1,759 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Build Geode Mod

on:
workflow_dispatch:
push:
branches:
- "main"

jobs:
build:
strategy:
fail-fast: false
matrix:
config:
- name: Windows
os: windows-latest
- name: macOS
os: macos-latest

name: Build ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}

steps:
- uses: actions/checkout@v3

- name: Build
uses: geode-sdk/build-geode-mod@main
with:
combine: true

package:
name: Package builds
runs-on: ubuntu-latest
needs: ['build']

steps:
- name: Combine Builds
uses: geode-sdk/build-geode-mod@combine
id: build

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: Build Output
path: ${{ steps.build.outputs.build-output }}
55 changes: 55 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Macos be like
**/.DS_Store

# Cache files for Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache

# Ignore build folders
**/build

# Workspace files are user-specific
*.sublime-workspace

# ILY vscode
**/.vscode
.idea/

# clangd
.cache/

!mh/absolllute.megahack.lib
45 changes: 45 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
cmake_minimum_required(VERSION 3.3.0)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

project(SimplePatchLoader VERSION 1.0.0)

file(GLOB SOURCES
src/main.cpp
src/sigscan.cpp
src/dirs.cpp
src/util.cpp
src/patches.cpp
)

if (WIN32)
file(GLOB PLATFORM_SOURCES
src/mh.cpp
src/pp.cpp # TODO: mac users dont have pp rn
)
else ()
file(GLOB PLATFORM_SOURCES
src/mh_stub.cpp
)
endif ()

add_library(${PROJECT_NAME} SHARED ${SOURCES} ${PLATFORM_SOURCES})

if (NOT DEFINED ENV{GEODE_SDK})
message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode")
else()
message(STATUS "Found Geode: $ENV{GEODE_SDK}")
endif()

add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode)

CPMAddPackage("gh:matcool/gd-imgui-cocos#cb7290b")
target_link_libraries(${PROJECT_NAME} imgui-cocos)

if (WIN32)
target_include_directories(${PROJECT_NAME} PRIVATE mh)
target_link_libraries(${PROJECT_NAME} ${PROJECT_SOURCE_DIR}/mh/absolllute.megahack.lib)
target_link_options(${PROJECT_NAME} PRIVATE /DELAYLOAD:absolllute.megahack.dll)
endif ()

setup_geode_mod(${PROJECT_NAME})
44 changes: 44 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Simple Patch Loader

A simple patch loader for Geode.

## Usage

Click "Open Patches Folder" and put your patch files in there.

### Patch Format

too lazy to write this rn so heres just an example

```json
{
"name": "Test",
"patches": {
"test-patch": {
"name": "Test Patch",
"description": "old accurate percentage",
"address": {
"0x208114": "C7 02 25 66 25 25 8B 87 C0 03 00 00 8B B0 04 01 00 00 F3 0F 5A C0 83 EC 08 F2 0F 11 04 24 83 EC 04 89 14 24 90",
"0x20813F": "83 C4 0C"
}
},
"test-2": {
"name": "Test 2",
"description": "new accurate percentage",
"address": {
"[33 C9 F3 0F 10 00 F3 0F 5E 87 B4 03 00 ?? ?? ?? ?? 05]": "F3 0F 10 00 F3 0F 5E 87 B4 03 00 00 BA ref:0x2E65C0 F3 0F 59 02 0F 2F 02 76 04 F3 0F 10 02 8B 87 C0 03 00 00 8B B0 04 01 00 00 F3 0F 5A C0 83 EC 08 F2 0F 11 04 24 68 ref:0x2881B0",
"0x20813F": "83 C4 0C",
"0x2881B0": "25 2E 32 66 25 25 00"
}
},
"test-3": {
"name": "uwu :3",
"description": "no paritcles",
"address": {
"libcocos2d.dll 0xB76C5": "31 F6",
"libcocos2d.dll 0xB8ED6": "00"
}
}
}
}
```
45 changes: 45 additions & 0 deletions about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Simple Patch Loader

A simple patch loader for Geode.

## Usage

Click "Open Patches Folder" and put your patch files in there.

### Patch Format

too lazy to write this rn so heres just an example

```json

{
"name": "Test",
"patches": {
"test-patch": {
"name": "Test Patch",
"description": "old accurate percentage",
"address": {
"0x208114": "C7 02 25 66 25 25 8B 87 C0 03 00 00 8B B0 04 01 00 00 F3 0F 5A C0 83 EC 08 F2 0F 11 04 24 83 EC 04 89 14 24 90",
"0x20813F": "83 C4 0C"
}
},
"test-2": {
"name": "Test 2",
"description": "new accurate percentage",
"address": {
"[33 C9 F3 0F 10 00 F3 0F 5E 87 B4 03 00 ?? ?? ?? ?? 05]": "F3 0F 10 00 F3 0F 5E 87 B4 03 00 00 BA ref:0x2E65C0 F3 0F 59 02 0F 2F 02 76 04 F3 0F 10 02 8B 87 C0 03 00 00 8B B0 04 01 00 00 F3 0F 5A C0 83 EC 08 F2 0F 11 04 24 68 ref:0x2881B0",
"0x20813F": "83 C4 0C",
"0x2881B0": "25 2E 32 66 25 25 00"
}
},
"test-3": {
"name": "uwu :3",
"description": "no paritcles",
"address": {
"libcocos2d.dll 0xB76C5": "31 F6",
"libcocos2d.dll 0xB8ED6": "00"
}
}
}
}
```
Binary file added logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added logo.xcf
Binary file not shown.
Binary file added mh/absolllute.megahack.lib
Binary file not shown.
Loading

0 comments on commit 4711462

Please sign in to comment.