Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split into command line and gui executables #3

Open
RicBent opened this issue Dec 11, 2021 · 2 comments
Open

Split into command line and gui executables #3

RicBent opened this issue Dec 11, 2021 · 2 comments

Comments

@RicBent
Copy link
Owner

RicBent commented Dec 11, 2021

No description provided.

@fadillzzz
Copy link

Is this still being worked on? I'd love a CLI version that I can use in a CI/CD pipeline

@RicBent
Copy link
Owner Author

RicBent commented Nov 15, 2023

Hey, indeed it is being worked on and almost done.

See https://github.com/RicBent/magwi

It's a complete CLI replacement for Magikoopa. At least for NSMB2 its already stable and is being used to build SMBNext. Besides these hks files (ie it just works out of the box with Magikoopa projects) it also supports inline C(++)/ASM hooks like this to make the workflow a bit nicer:

// Places 3 branches with different condition codes/linking to exampleHook
mw_b(0x00100040)
mw_bleq(0x0010208C)
mw_bne(0x003A1F38)
int exampleHook() { return 3; }

// Replace 5 bytes at 0x006ad410
mw_replace(0x006ad410)
char exampleReplaceHook = { 0x42, 0x42, 0x42, 0x42, 0x42 };

Though a bit work is still needed to add proper error messages (right now it just panics with cryptic error messages if something goes wrong). Also some symbols need to be relocated if pre/post hooks are used (those were called "softbranch" in Magikoopa).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants