Kamek
Kamek copied to clipboard
a nice code injection engine for Wii games
When trying to use the kmBranch function to redirect a certain address to another, one will be met with the following exceptions while linking: ```Unhandled exception. System.InvalidOperationException: cannot compare different...
This PR improves some logic in `BranchCommand.Apply()`, making it possible to use `kmBranch()` and `kmCall()` to create a call from one game address to another (i.e. `kmCall(0xFROMADDR, 0xTOADDR)`). I also...
Two small improvements: ## Kamek file version detection - The supported Kamek file version is now a constant at the top of the file, instead of buried in the code....
In addition to the `__ctor_loc` and `__ctor_end` symbols already generated by Kamek, I added the (applicable) section start/end symbols seen from the CodeWarrior linker: - `_f_init`, `_e_init` - `_f_text`, `_e_text`...
It's common to want to add code to a function without damaging the code you're hooking into. To support that, this PR provides macros for saving and restoring context (registers)...
nw4r.h from k_stdlib is mostly copypasted from NewerSMBW, but it's missing some definitions and typedefs that _weren't_ copied over which are still needed to compile (e.g. nw4r::ut::Rect, ulong and uchar,...
When a string or other data is referenced in the same source file where it is defined, Kamek will throw an undefined symbol error: ``` $ cat returnstring.s lis 3,...
This PR adds support for the mainland Chinese version of NSMBW (SMNC01). This only exists as a release on the Nvidia Shield TV, but can be converted to a playable*...
These really should work on Mac/Linux too. Easy fix; I think the example shell scripts just need two adjustments: - Add ".exe" extension to the end of the executable paths...
I've been working on a project based on the headers from NSMBW's decomp. One of the most annoying issues I've run into is Kamek's own SDK headers conflicting with the...