Giter Site home page Giter Site logo

lanhikari22 / bn6f-modding Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 0.0 23.8 MB

A C modding project of MegaMan Battle Network 6 Cybeast Falzar using the bn6f disassembly project

Assembly 95.82% Python 0.41% C 0.61% C++ 2.42% Objective-C 0.08% Makefile 0.02% Smarty 0.63% Batchfile 0.01%
reverse-engineering romhacking rom-hacking gameboy-advance megaman-battle-network

bn6f-modding's People

Contributors

lanhikari22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bn6f-modding's Issues

develop execution entrypoint onPWM

This'll be great for logic that executes for some time once per frame, but then automatically deactivates for some time before it reactivates itself!

develop code entry point mode: onTimer

For now, onTimer would have a specified number of frames to count down from. It will execute once evert N number of frames. Technically, though, I am not 100% positive the injection is executed once a frame. It is very close, though, or maybe even faster. So this code will be defined as executing once every N turns.

develop malloc_api.asm

This should have a linked list of malloced variables. As well as some other datastructure, or perhaps some sort of format that keeps track of the actual data each node points to.

Suggested by andy64734!

Slinker: Automate ldscript management with hooks, repointing and redirecting functions/data

The ldscript has to be manually modified whenever you want to add logic or data in an arbitrary location.
Enter the Slinker! Its purpose it to automate management of relinking functions and data from binaries! This will make linking data and functions from ROM into separate files a more slinky task

Here's a list of commands defined in the Slinker script (*.sls files):
link(sub_084A0000) ; this will obtain the function sub_084A0000, export it into sub_084A0000.s, and
; modify the ldscript to link it at location 0x084A0000 when compiling! If the function
; has any xrefs, intermediate symbols will be created for them so all function calls/data
; references work as expected!
intercept(sub_084A0000, 0x08900000) ; this will add a hook at location 0x084A0000 and longjump to
; 0x08900000, where it will redo overwritten logic. A file incpt__sub_084A0000.s will be created
; and linked for implementing intercepting logic.
redirect(sub_084A0000, 0x08900000) ; this is like intercept, except the function returns right after the
; interception. additionally, the whole logic of the function is written at redir__sub_084A0000.s
link_m(moduleName) ; this is like link, except it includes ALL functions that start with
;'moduleName_'. Instead of seperate .s files, they are included in one file: 'moduleName.s'
intercept_m(moduleName, 0x08900000)
redirect_m(moduleName, 0x08900000)

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.