1
0
Fork 0
mirror of https://github.com/doukutsu-rs/doukutsu-rs synced 2024-11-09 15:54:24 +00:00
Go to file
2022-02-28 20:07:25 +01:00
.cargo Initial Android support and some ggez rewrite 2020-10-07 16:08:12 +02:00
app New Android app icon by Daedliy 2022-02-15 17:22:07 -05:00
drsandroid fix android build 2022-01-16 02:57:12 +01:00
misc/json-schemas various tweaks, dskinmeta format 2021-06-21 13:12:58 +02:00
src refactor stuff to make code cleaner 2022-02-28 19:03:57 +01:00
.appveyor.yml strip linux binary, fix data files not being put in linux .zip 2022-02-28 20:07:25 +01:00
.gitignore macOS tweaks / CI builds 2021-08-13 03:46:41 +02:00
build.rs fix macOS build 2022-02-28 19:13:27 +01:00
Cargo.toml Parse mod names and string table 2022-02-13 14:39:28 -05:00
LICENSE Relicense under modified MIT (#70) 2022-02-28 09:00:18 +01:00
README.md add screenshots [ci skip] 2022-02-28 19:01:41 +01:00
rustfmt.toml ogg playback and persistent settings 2021-02-12 11:05:28 +01:00

doukutsu-rs

A fully playable re-implementation of Cave Story (Doukutsu Monogatari) engine written in Rust.

Join the Discord server

https://ci.appveyor.com/api/projects/status/github/doukutsu-rs/doukutsu-rs

Data files

In order to work doukutsu-rs needs to be paired with supported data files. This repository does not contain any data files.

doukutsu-rs works fine with pre-extracted freeware data from this repository builds or NXEngine(-evo) or from a supported copy of Cave Story+.

Supported game editions and data file acquisition guides

Freeware

  • Vanilla freeware can't be just used without additional work, because some important data files are embedded inside the executable. An automatic extractor might be available in future.
Manual extraction guide

Tools required:

  1. Open Doukutsu.exe in Resource Hacker.
  2. Click on ORG group, select Action -> Save [ORG] group to an .RC file.
  3. Navigate to data folder and create a folder named Org and save the .RC file there.
  4. Click on BITMAP group, select Action -> Save [BITMAP] group to an .RC file.
  5. Save them in data folder (NOT in Org folder).
  6. Go to file explorer and navigate to data folder.
  7. Delete Bitmap.rc
  8. Go to Org folder.
  9. Delete Org.rc
  10. Rename extension of all files from .bin to .org - you won't have music if you don't do that!
  11. Close Resource Hacker.
  12. Open Booster's Lab
  13. Load Doukutsu.exe in Booster's Lab - you can ignore the fact it tries to apply any patches or renames .pbm to .bmp, d-rs doesn't care.
  14. Select File -> Export mapdata -> stage.tbl
  15. Close Booster's Lab, saving isn't necessary.
  16. Optionally delete leftover files and folders - .boostlab, ScriptSource, tsc_def.txt
  17. That's all, you have everything to use it with doukutsu-rs now.

If you followed the above steps, the directory structure should look like this:

data/:

files in /data/

data/Org: files in /data/Org/

Cave Story+

doukutsu-rs can be used as drop-in replacement for CaveStory+.exe. No modifications to game files are needed.

Original version (first released in 2011 on Steam) - expand for instructions

Steam release (Win/Mac/Linux)

The data folder is in the same place across all platforms.

image

If you want to use doukutsu-rs as a substitute for Mac version of Cave Story+ (which at moment of writing doesn't work on 10.15+ anymore), do the following:

  1. Find the doukutsu-rs executable:
    • In AppVeyor builds, it's in doukutsu-rs.app/Contents/MacOS/doukutsu-rs
    • In your own builds, it's in target/(release|debug)/doukutsu-rs
  2. Open Steam Library, select Cave Story+, press the Manage button (gear icon) and select Properties...
  3. Select Local Files and press Browse....
  4. Open the Cave Story+.app bundle and navigate to Contents/MacOS directory.
  5. Rename the Cave Story+ executable to something else or delete it.
  6. Copy the doukutsu-rs executable and rename it to Cave Story+.
  7. Launch the game from Steam and enjoy!
Epic Games Store

Check your default installation directory.

image

GOG

Check your default installation directory.

image

Humble Bundle

We haven't tested it so no screenshots, but it very likely works. Feel free to PR screenshots to this guide.

Remastered version (first released in 2017 on Switch)

Note that this version is incompatible with saves from the original version.

Intercharging the save files may result in spawning in wrong locations, softlocks, etc.

Nintendo Switch

(Only 1.2+ has been tested, earlier versions may not work properly due to lack of 2P/Original Graphics support.)

Your interest is only in data directory placed in romfs.

Requires a hackable/modchipped console. If you got your Switch early, it's likely that it's hackable so give it a shot - just be very careful to not get your console banned. There's tons of guides you can easily find online so we won't cover it there.

You can dump the ROM (or just dump the romfs directly but it's just a bit slow so we recommend doing it on PC instead) using nxdumptool.

Once you got the keys and ROM dumped you can use the romfs extraction feature in Ryujinx or yuzu emulators to grab the data files.

Screenshots

Freeware

JP Freeware 2

Toroko Fight Freeware

No Lighting Freeware

Original CS+

CS+ Sand Zone

CS+ Showoff Outer Wall

CS+ Challenge

Remastered CS+

Balcony Switch

Dogs Switch

Almond Switch

Hell Switch

Credits

  • Studio Pixel/Nicalis for Cave Story
  • @Daedily - brand artwork (Icon / Banner / Server), screenshots for this guide.
  • ggez - parts of it are used in crate::framework, notably the VFS code.
  • Clownacy - widescreen camera code.
  • LunarLambda for organism - used as basis for our Organya playback engine.