1
0
Fork 0
mirror of https://github.com/doukutsu-rs/doukutsu-rs synced 2025-12-01 08:37:23 +00:00
Go to file
periwinkle 7caff84e04
Fix LOTS of bugs and inaccuracies (#213)
- Player vs. soft solid NPCs used the wrong collision size
- Curly w/ Nemesis attached too high above the player when standing facing up
- Butes from Bute spawners started following the player at the wrong conditions
- Small pignons in Cemetery never turned around
- Refill stations spawned with alt direction didn't spawn with upward velocity
- Misery blocks spawned with glitchy framerects
- Various issues with possessed Misery
- Various issues with possessed Sue
- Ballos (phase 1) didn't face the player at certain points
- Ballos orbiting eyes (phase 4) didn't spawn smoke when killed
- A part of Ballos phase 2 had the wrong collision type
  (apparently this was intentional due to a bug with soft solid collision;
  hopefully that's also fixed by these changes?)
- A few missing sound effects during the Ballos fight
- Green devil generators weren't spawning enough enemies
- Balrog missile trails were in the wrong direction
- Core blade projectiles had the wrong check for water collision
- Monster X fish missiles moved at the wrong initial angle
- Sisters fireball attacks shot in the wrong direction
- Sisters missing smoke when shot
- Undead Core missing smoke in some cases
- <DNA'd NPCs spawned the wrong amount of smoke
  (fixes Heavy Press lightning despawn for the speedrun ;) )
- Player jumping and falling animations were flipped
- Implemented <MYDxxxx facing towards entity xxxx if xxxx >= 10
  (also <MYD0003 should not set the player's direction to down)
- <TRA resets invincibility in freeware (due to starting a new event)
- Bubbler level 1 bullets spawned at the wrong offset
- Bubbler and Machine Gun autofire timers shouldn't reset when fire button is pressed
- Fixed level 3 missile and Super Missile spawn offsets and trajectories
- Nemesis carets spawned at wrong offsets
- Various small typos/logic errors
2023-06-16 12:51:22 +03:00
.cargo Initial Android support and some ggez rewrite 2020-10-07 16:08:12 +02:00
app Update android port strings 2023-05-23 10:10:12 +03:00
drsandroid hotfix time 2023-01-25 18:23:15 +01:00
drshorizon Well, there's something to see there now... [ci skip] 2023-01-28 00:47:50 +01:00
misc/json-schemas Add schema for texture_sizes.json [ci skip] 2022-03-12 12:38:58 -05:00
res Minor icon change 2023-04-03 17:35:22 +03:00
src Fix LOTS of bugs and inaccuracies (#213) 2023-06-16 12:51:22 +03:00
.appveyor.yml Revert changes [ci skip] 2023-04-23 15:04:41 +03:00
.gitignore Mostly-working Horizon port 2022-12-01 14:30:59 +01:00
build.rs hotfix time 2023-01-25 18:23:15 +01:00
Cargo.toml Add logging to file 2023-05-11 17:40:11 +03:00
LICENSE Relicense under modified MIT (#70) 2022-02-28 09:00:18 +01:00
README.md add win32 build to readme [skip ci] 2023-01-23 13:27:29 +02:00
rustfmt.toml Mostly-working Horizon port 2022-12-01 14:30:59 +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 freeware data files or NXEngine(-evo) or from a supported copy of Cave Story+.

Supported game editions and data file acquisition guides

Freeware

doukutsu-rs works out of the box when it's placed in the same directory as the original Doukutsu.exe executable. On the initial startup, doukutsu-rs will automatically extract the additional resources that are embedded in the vanilla game into the data directory. Until that is done, both doukutsu-rs and the vanilla executable have to exist in the directory.

Example root directory

example root directory with doukutsu-rs and vanilla Cave Story

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.

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!

image

Epic Games Store

Check your default installation directory.

image

GOG

Check your default installation directory.

image

Humble Bundle

The archive from Humble Bundle contains the necessary data folder, in the same folder as CaveStory+.exe.

image

WiiWare
  1. Dump Your WiiWare .wad
  2. Extract and decompress the data folder Example of a valid uncompressed data folder

Remastered version (first released in 2017 on Switch)

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

Interchanging the save files may result in spawning in wrong locations, softlocks, graphical glitches, or other issues.

Nintendo Switch

Extract the data folder (contained in romfs) from your console using tool such as nxdumptool.

Important notes:

  • doukutsu-rs doesn't rely on the original ROM or executable, you just need the data files, go to RomFS options menu to just extract the files to SD card so you don't need to do any extra steps.
  • Ensure you're dumping the files with update included (Use update/DLC option), as 1.0 isn't supported.

Nintendo Switch homebrew port specific info

If you're running the homebrew port (drshorizon.nro) on your Switch, you can avoid the dumping step, doukutsu-rs will automatically detect and mount the data files if you run it over Cave Story+ in Title Override mode (hold R while starting CS+ and launch d-rs from hbmenu).

You can put your own data files in /switch/doukutsu-rs/data directory on SD Card, which will be overlayed over RomFS if you run it in setup described above.

Controls

Same controls as the default for freeware and Cave Story+ keyboard.

To change, use the control customization menu or edit doukutsu-rs\data\settings.json within your user directory.

P1 P2
Movement ← ↑ ↓ → , L . /
Jump Z B
Shoot X N
Cycle Weapon A and S G and H
Inventory / Skip cutscene Q T
Map W Y
Strafe LShift RShift
  • Alt + Enter - Toggle Fullscreen
  • F2 (While paused) - Quick Restart

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.