mirror of
https://github.com/doukutsu-rs/doukutsu-rs
synced 2025-04-22 05:34:36 +00:00
stop shipping data files in appveyor builds and update readme
This commit is contained in:
parent
444539405a
commit
aaecafcb72
|
@ -68,9 +68,6 @@ for:
|
|||
- copy LICENSE release\LICENSE
|
||||
- copy target\release\doukutsu-rs.exe release\doukutsu-rs.x86_64.exe
|
||||
- cd release
|
||||
- appveyor DownloadFile https://github.com/doukutsu-rs/game-data/archive/master.zip -FileName ../game-data.zip
|
||||
- 7z x ../game-data.zip
|
||||
- rename game-data-master data
|
||||
- 7z a ../doukutsu-rs_%target_name%.zip *
|
||||
- appveyor PushArtifact ../doukutsu-rs_%target_name%.zip
|
||||
|
||||
|
@ -100,9 +97,6 @@ for:
|
|||
|
||||
build_script:
|
||||
- export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_BUILD_VERSION
|
||||
- appveyor DownloadFile https://github.com/doukutsu-rs/game-data/archive/master.zip -FileName ../game-data.zip
|
||||
- 7z x ../game-data.zip
|
||||
- mv game-data-master data
|
||||
- CARGO_INCREMENTAL=1 cargo bundle --release --target $target
|
||||
- mkdir release
|
||||
- cp LICENSE ./release/LICENSE
|
||||
|
@ -142,8 +136,5 @@ for:
|
|||
- cp LICENSE ./release/LICENSE
|
||||
- cp -a target/release/doukutsu-rs ./release/doukutsu-rs.x86_64.elf
|
||||
- cd release
|
||||
- appveyor DownloadFile https://github.com/doukutsu-rs/game-data/archive/master.zip -FileName ../game-data.zip
|
||||
- 7z x ../game-data.zip
|
||||
- mv game-data-master data
|
||||
- 7z a ../doukutsu-rs_$target_name.zip *
|
||||
- appveyor PushArtifact ../doukutsu-rs_$target_name.zip
|
||||
|
|
75
README.md
75
README.md
|
@ -8,15 +8,16 @@ in [Rust](https://www.rust-lang.org/).
|
|||

|
||||
|
||||
- [Get nightly builds from AppVeyor](https://ci.appveyor.com/project/alula/doukutsu-rs) (recommended for now, has latest fixes and improvements)
|
||||
|
||||
|
||||
Permalinks to latest builds from `master` branch:
|
||||
|
||||
- [Windows (x86_64)](https://ci.appveyor.com/api/projects/alula/doukutsu-rs/artifacts/doukutsu-rs_win64.zip?branch=master&job=windows-x64)
|
||||
- [macOS (Intel, 64-bit, 10.14+)](https://ci.appveyor.com/api/projects/alula/doukutsu-rs/artifacts/doukutsu-rs_mac-intel.zip?branch=master&job=mac-x64)
|
||||
- [macOS (Apple M1, 11.0+)](https://ci.appveyor.com/api/projects/alula/doukutsu-rs/artifacts/doukutsu-rs_mac-m1.zip?branch=master&job=mac-arm64)
|
||||
- [Linux (x86_64)](https://ci.appveyor.com/api/projects/alula/doukutsu-rs/artifacts/doukutsu-rs_linux.zip?branch=master&job=linux-x64)
|
||||
|
||||
|
||||
**macOS note:** If you get a `"doukutsu-rs" can't be opened` message, right-click doukutsu-rs.app and click open.
|
||||
|
||||
|
||||
- [Get stable/beta builds from GitHub Releases](https://github.com/doukutsu-rs/doukutsu-rs/releases) (Includes Android builds)
|
||||
|
||||
#### Data files
|
||||
|
@ -24,58 +25,23 @@ in [Rust](https://www.rust-lang.org/).
|
|||
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](https://github.com/doukutsu-rs/game-data)
|
||||
builds or [NXEngine(-evo)](https://github.com/nxengine/nxengine-evo) or from a supported copy
|
||||
of [Cave Story+](https://www.nicalis.com/games/cavestory+).
|
||||
doukutsu-rs works fine with freeware data files or [NXEngine(-evo)](https://github.com/nxengine/nxengine-evo) or from a
|
||||
supported copy of [Cave Story+](https://www.nicalis.com/games/cavestory+).
|
||||
|
||||
#### 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.
|
||||
|
||||
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.
|
||||
|
||||
<details>
|
||||
<summary>Manual extraction guide</summary>
|
||||
<summary>Example root directory</summary>
|
||||
|
||||
Tools required:
|
||||
- Windows version of the game (1.0.0.6), original Japanese or with Aeon Genesis patch.
|
||||
- [Resource Hacker](http://www.angusj.com/resourcehacker/#download)
|
||||
- [Booster's Lab](https://www.cavestory.org/download/editors.php)
|
||||
|
||||
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/`:
|
||||
|
||||

|
||||
|
||||
`data/Org`:
|
||||

|
||||

|
||||
|
||||
</details>
|
||||
|
||||
- https://github.com/doukutsu-rs/game-data - Pre-extracted freeware game data, graphics converted to .png, already
|
||||
distributed with AppVeyor builds for your convenience. (recommended)
|
||||
- https://github.com/nxengine/nxengine-evo/releases/download/v2.6.5-1/NXEngine-Evo-v2.6.5-1-Win64.zip -
|
||||
copy `NXEngine-evo-2.6.5-1-xxx/data` from the archive to runtime directory
|
||||
|
||||
**Cave Story+**
|
||||
|
||||
|
@ -92,8 +58,8 @@ If you want to use doukutsu-rs as a substitute for Mac version of Cave Story+ (w
|
|||
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`
|
||||
- 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.
|
||||
|
@ -102,6 +68,7 @@ on 10.15+ anymore), do the following:
|
|||
7. Launch the game from Steam and enjoy!
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
@ -110,6 +77,7 @@ on 10.15+ anymore), do the following:
|
|||
Check your default installation directory.
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
@ -118,6 +86,7 @@ Check your default installation directory.
|
|||
Check your default installation directory.
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
@ -126,6 +95,7 @@ Check your default installation directory.
|
|||
The archive from Humble Bundle contains the necessary `data` folder, in the same folder as `CaveStory+.exe`.
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
@ -144,18 +114,18 @@ Interchanging the save files may result in spawning in wrong locations, softlock
|
|||
<details>
|
||||
<summary>Nintendo Switch</summary>
|
||||
|
||||
Extract the `data` folder directly from the ROM.
|
||||
Extract the `data` folder directly from the ROM.
|
||||
|
||||
</details>
|
||||
|
||||
#### Controls
|
||||
|
||||
Same controls as the default for freeware and Cave Story+ keyboard.
|
||||
Same controls as the default for freeware and Cave Story+ keyboard.
|
||||
|
||||
To change, edit `doukutsu-rs\data\settings.json` within your user directory.
|
||||
|
||||
| | P1 | P2 |
|
||||
|--------------|-----------|-----------|
|
||||
| ------------ | --------- | --------- |
|
||||
| Movement | `← ↑ ↓ →` | `, L . /` |
|
||||
| Jump | `Z` | `B` |
|
||||
| Shoot | `X` | `N` |
|
||||
|
@ -163,11 +133,10 @@ To change, edit `doukutsu-rs\data\settings.json` within your user directory.
|
|||
| Inventory | `Q` | `T` |
|
||||
| Map | `W` | `Y` |
|
||||
| Strafe | `LShift` | `RShift` |
|
||||
|
||||
|
||||
- `Alt + Enter` - Toggle Fullscreen
|
||||
- `F2` (While paused) - Quick Restart
|
||||
|
||||
|
||||
#### Screenshots
|
||||
|
||||
<details>
|
||||
|
|
|
@ -26,7 +26,7 @@ public class DownloadActivity extends AppCompatActivity {
|
|||
setContentView(R.layout.activity_download);
|
||||
txtProgress = findViewById(R.id.txtProgress);
|
||||
progressBar = findViewById(R.id.progressBar);
|
||||
basePath = getFilesDir().getAbsolutePath() + "/data/";
|
||||
basePath = getFilesDir().getAbsolutePath() + "/";
|
||||
|
||||
downloadThread = new DownloadThread();
|
||||
downloadThread.start();
|
||||
|
@ -39,7 +39,7 @@ public class DownloadActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
private class DownloadThread extends Thread {
|
||||
private static final String DOWNLOAD_URL = "https://github.com/doukutsu-rs/game-data/archive/refs/heads/master.zip";
|
||||
private static final String DOWNLOAD_URL = "https://www.cavestory.org/downloads/cavestoryen.zip";
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -101,8 +101,8 @@ public class DownloadActivity extends AppCompatActivity {
|
|||
String entryName = entry.getName();
|
||||
|
||||
// strip prefix
|
||||
if (entryName.startsWith("game-data-master/")) {
|
||||
entryName = entryName.substring("game-data-master/".length());
|
||||
if (entryName.startsWith("CaveStory/")) {
|
||||
entryName = entryName.substring("CaveStory/".length());
|
||||
}
|
||||
|
||||
txtProgress.setText("Unpacking: " + entryName);
|
||||
|
|
Loading…
Reference in a new issue