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
7z
or equivalent on your system to unpack theGame.exe
executable (Right-Click,Open Inside
). - Extract all of the contents into a folder.
- Open
UndertaleModTool
and open thedata.win
file. - Run
Scripts
>Resource Unpackers
>ExportAllSounds.csx
to export all of the sounds. (If the script asks if you want to export"external" ogg sounds
, clickYes
) - Copy
Exported_Sounds/
,External_Sounds
folder to root of this repository. - Run
Scripts
>Resource Unpackers
>ExportAllTexturesGrouped.csx
to export all of the Textures and Sprites. - Copy
Exported_Textures/
folder to the root of this repository.
- Run
./copy.sh
to 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.json
for scaling configs.
- Convert the images to Nintendo's proprietary
t3x
format usingtex3ds
for Nintendo 3DS compatibility. - Convert the audio files to 22050Hz, 16-bit, mono, PCM WAV format using
ffmpeg
for 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.3dsx
file to the/3ds
directory of your SD card. - Run the homebrew launcher via your favorite exploit and select
bankiware
.
- Copy the
- Build the
.cia
file - 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.cia
into 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.