Warioware-like touhou game on its home (Nintendo 3DS) at last!
This is a homebrew application for running Bankiware, a game by paradot, released on touhou station game jam 2024 on the Nintendo 3DS.
- Download Bankiware from the itch.io page.
- Install UndertaleModTool to unpack the assets
- Download DevkitPro to setup the Development Environment.
- Install ffmpeg to convert the audio files to the correct format.
Supposing you are using Debian-based system:
sudo apt install ffmpeg
- Install ImageMagick, jq, GNU Make, bc to do the preprocessing of the assets.
Supposing you are using Debian-based system:
sudo apt install imagemagick jq build-essential bc
- Install
7zor equivalent on your system to unpack theGame.exeexecutable (Right-Click,Open Inside). - Extract all of the contents into a folder.
- Open
UndertaleModTooland open thedata.winfile. - Run
Scripts>Resource Unpackers>ExportAllSounds.csxto export all of the sounds. (If the script asks if you want to export"external" ogg sounds, clickYes) - Copy
Exported_Sounds/,External_Soundsfolder to root of this repository. - Run
Scripts>Resource Unpackers>ExportAllTexturesGrouped.csxto export all of the Textures and Sprites. - Copy
Exported_Textures/folder to the root of this repository.
- Run
./copy.shto copy the assets to the correct location.
By default, running make will:
- Scale-down and add padding to images to the nearest power of 2 using
ImageMagick.Why not pre-scale the images to the nearest power of 2?
- As mentioned in FAQ, I am TRYING my best NOT to redistribute the original resources.
- The original resources are not in the power of 2, so I have to scale them down to the nearest power of 2 programatically, See
tools/texture_config.jsonfor scaling configs.
- Convert the images to Nintendo's proprietary
t3xformat usingtex3dsfor Nintendo 3DS compatibility. - Convert the audio files to 22050Hz, 16-bit, mono, PCM WAV format using
ffmpegfor Nintendo 3DS compatibility. - And last, build the project using
arm-none-eabi-gcc.
If you are changing codebase rapidly, You can run make codeonly to build the C source code only without re-preprocessing the assets.
There are multiple ways to run the project on real hardware:
- Using a homebrew launcher - For easy and quick way:
- Copy the
bankiware.3dsxfile to the/3dsdirectory of your SD card. - Run the homebrew launcher via your favorite exploit and select
bankiware.
- Copy the
- Build the
.ciafile - For streamlined experience like e-shop games:- Install
bannertool(link broken). ./tools/create_banner.sh- Run following command on the project root:
bannertool makebanner -i title.png -a banner.wav -o bankiware.bnr
- Run following command on the project root:
makerom -f cia -o bankiware.cia -DAPP_ENCRYPTED=false -rsf bankiware-3ds.rsf -target t -exefslogo -elf bankiware-3ds.elf -icon bankiware-3ds.smdh -banner bankiware.bnr
- Now copy
bankiware.ciainto your SD card and install it using FBI or any other CIA installer!
- Install
- Why don't you provide unpacked resources?
I am NEVER going to distribute the unpacked resources since it is incompliant to according to Guidelines for Touhou Project Fan Creators (Last updated on 2020-11-10) Article 2, "Anything that infringes upon other intellectual property.".
If the resource is lost, You have to recreate the resource by yourself, in doujin fashion! good luck! - The images displayed on the game is mushy
Due to restrictions of 1, I only have options for modifying images via "programmatically" that had been "extracted" by the end-user that have downloaded the game.
By implementing this way (i.e. Spigot BuildTools method), I can avoid the infringement of the original resources, and make sure that paradot gets well-deserved credit for building this fantastic game.Therefore, If you want to improve the image quality, modify the texture by yourself and update the conversion scripts, and coordinates on the source.
- Why are the coordinates of the images are off?
See 2.
This project is a fan-made project and is not in any way affiliated with the original creator (paradot) of the game.
For the code that I have wrote, I am releasing it under UNLICENSE (Public domain).
For the ./src/include/bankiware_original.h file, The name bankiware, and resources related to original game, Please refer to the original license of the game.