GithubHelp home page GithubHelp logo

johnnyonflame / fnapatches Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 4.0 166 KB

A repository containing Handheld and SBC Focused FNA game patches.

License: MIT License

C# 30.69% C 67.79% Makefile 0.46% HLSL 0.95% Batchfile 0.11%

fnapatches's Introduction

What is in this repository?


This repository contains game-specific hacks and patches for Mono/FNA games on low power SBCs and handhelds, and the required tooling to comfortably develop and deploy said patches are provided here.

  • FMODStudio Fix: A dead simple FMOD Studio 1.x to FMOD Studio 2.x wrapper.
  • SteamStubs: A series of 0-stubs to allow DRM-Free games not to crash when Steam's libraries aren't present.
  • EOSSDK-Shipping-Stubs: A series of 0-stubs to allow games not to crash when Epic Online Services aren't present.
  • ChasmPatches: Small patches for Chasm fullscreen logic on very small resolutions.
  • CelestePatches: Extensions to allow loading ASTC4x4 textures and Graphical Settings.
  • SteelAssaultCsPatches: A series of optimizations targeting low-power devices.
  • PanzerPaladinPatches: Fixes breakage when running non-Steam, newer FNA builds and does general optimizations.
  • BleedPatches: Fixes startup failures on certain FNA+SDL2 combinations.
  • TMNTSR-Mods: Load custom sound assets on TMNT: Shredder's Revenge.
  • TMNTSRPatches: Provides Performance settings, fixes Deadlocks on OpenGL, fixes file paths on Linux and more.
  • MMLoader: Force loading applications with MONOMODDED_*.dll redirection, change the AppDomain's BaseDirectory and more.

Usage:


This isn't meant for end-users, but for development reference or contribution. Please refer to your favorite supported packaging system, such as PortMaster.

Developing:


What follows is a non-exhaustive guide on how to first build the patch, it won't go into details on how to actually work with Harmony or how to approach the patch development. If you're looking for those, read Harmony's documentation, MonoMod's documentation and check out ILSpy.

Building:


  • [Optional] Build mono with a local prefix.
  • Clone this repository recursively.
  • Build the VisFree compiler (check the project's README for instructions).
  • [Optional] Build the stubs and support libraries.
  • Copy any necessary dependencies (such as game assemblies) into the deps folder, refer to the dot files included.
  • Build one or all of the included projects, you have a few optional, configurable parameters:
    • DEPS_FOLDER: Where the referenced game assemblies are.
    • MONO_PREFIX: Where your mono install is.
    • COMPILER: Where your VisFree.exe assembly is.

Example:

export CONFIGURATION=Debug
export COMPILER=VisFree/bin/Debug/VisFree.exe
export MONO_PREFIX=~/mono-6.12.0.122/built
export DEPS_FOLDER=~/.steam/steam/SteamApps/common/Celeste
git clone --recursive https://github.com/JohnnyonFlame/FNAPatches
(cd deps/Harmony && wget https://github.com/pardeike/Harmony/releases/download/v2.2.1.0/Harmony.2.2.1.0.zip && unzip Harmony.2.2.1.0.zip)
(cd deps/MonoMod && wget https://github.com/MonoMod/MonoMod/releases/download/v22.05.01.01/MonoMod-22.05.01.01-net452.zip && unzip MonoMod-22.05.01.01-net452.zip)
(cd deps/FNA && wget https://github.com/JohnnyonFlame/FNAHacks/releases/download/IntPtr-SoundEffect/FNA_3d954a5-aarch64.tar.gz && tar zxvf FNA_3d954a5-aarch64.tar.gz --strip-components=1 --wildcards dlls/\*.dll)
make -C VisFree
make libs
make Celeste

LICENSE:


The files in this repository are free software licensed under MIT, read the License File for reference.

fnapatches's People

Contributors

johnnyonflame avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

fnapatches's Issues

R36S - Salt and sanctuary only launches by FILEMANAGER

Hi! installed the salt and sanctuary port on my r36s using 04-11-24 version of ArkOS. It launched fine on the PORTS executable until the screen of "saving automatically", then it crashes with some console prompts. I tried using the filemanager to launch the .sh file as i saw on a the portmaster discord message and it worked fine (nice fps btw, between 30-40). Is there a fix for this? why it doesnt work using the launcher on PORTS?

Panzer Paladin - not starting on Game Console R36S

OS: ArkOS latest version v2.0 (02/23/2024)
device: Game Console R36S, RG351P, RG351V, RG351MP

issue:
At the frist boot a part of the script is running, then mono_gdb_render_backtraces not supported on this platform error
IMG_9731
IMG_9732
IMG_9733

after that, game is not starting and exit to the ports menu.

no log file created

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.