- C 99.6%
- Makefile 0.2%
- CMake 0.1%
| jni | Added knPack | |
| knsdk | KnShim SDK prototype | |
| logo | New logo | |
| scripts | Load lua from libsmashhit.so instead of including our own copy of lua | |
| .gitignore | Remove unused files | |
| build.py | Move all game specific stuff to built-in modules | |
| Changelog.md | Leave note about changelog moving | |
| Documentation.md | Move docs | |
| LICENSE | Partial refactor of init code | |
| Readme.md | yiploader | |
KnShim
KnShim has a successor, YipLoader, that will be further developed in the future.
KnShim is a mod loader for Android games. It loads before the game's native library and uses a custom ELF loader and hooking library, Leaf, to provide the needed tools to modify games at runtime on even the newest versions of Android (as of Android 16).
It also provides some "out of the box" goodies for specific games and libraries, like utility functions in Lua scripts.
Supported Games
Currently, only games by Mediocre AB are supported, and many built-in features assume they are running with one of their games loaded. It should be possible to add support for other games (especially as I've been doing work to make the shim more generic), though I don't yet have a personal interest in any other games.
| Game | Developer |
|---|---|
| Granny Smith (2012) | Mediocre AB |
| Smash Hit (2014) | Mediocre AB |
Showcase
KnShim has been in several Smash Hit mods to provide features not possible in the base game. Here are some of my favourite:
- Shatter Client is the primary development target for KnShim. It uses KnShim's utlities to download levels from a server and test them.
- Smash Hit Flatbread uses the shim to create an extremely high effort shitpost that you can't not enjoy.
- Mod Blueprints include KnShim by default too!
Docs
The documentation is kept on the new Smash Hit Wiki. Feel free to contribute if you have an account. :3
Building
Build using:
ndk-build
from the Android NDK.
Any version of the NDK not horrendously oudated should be fine. I usually build using r18.