More actions
No edit summary |
No edit summary |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox DS Homebrews | {{Infobox DS Homebrews | ||
|title=Cave Story | |title=Cave Story NDS | ||
|image=Cavestoryds2.png | |image=Cavestoryds2.png | ||
|description=Homebrew Cave Story DS port | |description=Homebrew Cave Story DS port with multiplayer and modding support. Based on CSE2 Decompilation. | ||
|author=rain | |author=rain | ||
|lastupdated= | |lastupdated=2022/09/12 | ||
|type=Platform | |type=Platform | ||
|version=0. | |version=0.4 | ||
|license=Mixed | |license=Mixed | ||
|download=https://dlhb.gamebrew.org/ | |download=https://dlhb.gamebrew.org/dshomebrew2/cavestoryds.7z | ||
|website=https://gbatemp.net/threads/cave-story-ds-port-based-on-cse2-decompilation.582377/post- | |website=https://gbatemp.net/threads/cave-story-ds-port-based-on-cse2-decompilation.582377/post-9934825 | ||
|source=https://github.com/tilderain/CaveStoryNDS | |||
|discussion={{Tick}} | |||
}} | }} | ||
This is a homebrew port of Cave Story based on the CSE2 decompilation project, which itself is a decompilation of the freeware version of Cave Story. | This is a homebrew port of Cave Story for the NDS, with multiplayer, modding support and many quality of life improvements. It is based on the CSE2 decompilation project, which itself is a decompilation of the freeware version of Cave Story. | ||
'''Note:''' CSE2 is one of the open source reproduction of the Cave Story engine, except it is designed for accuracy and faithfulness to the original. Sadly, it was subject to a DMCA takedown. | '''Note:''' CSE2 is one of the open source reproduction of the Cave Story engine, except it is designed for accuracy and faithfulness to the original. Sadly, it was subject to a DMCA takedown. | ||
==User guide== | ==User guide== | ||
The fast-paced gameplay of Cave Story revolves around Quote, a robot who wakes up suffering amnesia and who must explore and blast his way through cavernous areas in order to figure out his backstory and escape from the cave. | The fast-paced gameplay of Cave Story revolves around Quote, a robot who wakes up suffering amnesia and who must explore and blast his way through cavernous areas in order to figure out his backstory and escape from the cave. | ||
Line 23: | Line 24: | ||
Quote speaks to non-player characters scattered around the game world in order to learn more about the world and its inhabitants. | Quote speaks to non-player characters scattered around the game world in order to learn more about the world and its inhabitants. | ||
'''Note:''' Config.dat and Profile.dat will be saved to the root of the SD card. | |||
Config.dat and Profile.dat will be saved to the root of the SD card. | |||
==Controls== | |||
'''In game:''' | |||
L+R+Start - Access the escape menu | L+R+Start - Access the escape menu | ||
Line 37: | Line 37: | ||
B - Shoot | B - Shoot | ||
X - Previous | X/Y - Previous/Next Weapon | ||
Start - Inventory | Start - Inventory | ||
Select - Map | Select - Map | ||
R - Fast Forward during cutscenes | |||
L+R+Select - Toggle console output | |||
'''During boot:''' | |||
Hold Start - Start with display on the bottom screen | |||
Hold Select - See console output | |||
==Screenshots== | ==Screenshots== | ||
Line 51: | Line 59: | ||
https://dlhb.gamebrew.org/dshomebrew/cavestoryds5.png | https://dlhb.gamebrew.org/dshomebrew/cavestoryds5.png | ||
https://dlhb.gamebrew.org/dshomebrew/cavestoryds6.png | https://dlhb.gamebrew.org/dshomebrew/cavestoryds6.png | ||
<!--BEGIN Online Emulator Section--> | |||
==Online emulator== | |||
{{EmulatorJS Main | |||
|width=515px | |||
|height=384px | |||
|EJS_backgroundImage=https://www.gamebrew.org/images/8/89/Cavestoryds2.png | |||
|EJS_core=desmume2015 | |||
|EJS_gameName=Cave Story NDS | |||
|EJS_gameUrl=https://dlhb.gamebrew.org/onlineemulators/nds/cavestoryds.7z | |||
}} | |||
{{DS Control Settings}} | |||
<!--END Online Emulator Section--> | |||
==Compatibility== | ==Compatibility== | ||
Line 60: | Line 80: | ||
The game will rarely crash when closing the lid. | The game will rarely crash when closing the lid. | ||
The game will slow down when hitting a missile or using the Spur in the | The game will slow down in the Plantation and Sand Zone when hitting a missile or using the Spur. | ||
Performance will lower in multiplayer when using the Spur or missiles. | |||
There may be a loud noise during stage transition. | There may be a loud noise during stage transition. | ||
==Changelog== | ==Changelog== | ||
'''v0.4''' | |||
* This version adds the option of the SD card ROM, which supports basic mods. See the SD card folder readme for instructions on how to use it. There are also many fixes and quality of life improvements. | |||
* Added a setting to use an alternate set of percussion for songs. | |||
* You can now fast forward during cutscenes and events by holding down the R button. | |||
* Added a few songs to the sound test. | |||
* 50fps mode is now smoother. (Switched to a timer system instead of adding an additional wait) | |||
* Disabled file opening after ejecting card, so saves and config menu won't just crash. | |||
* You can toggle the console output with L+R+Select. | |||
* Holding down the Start button during boot will set display on the bottom screen. | |||
* Reduced size of ROM by compressing songs. | |||
* Added a loading progress indicator. | |||
* Improved look of credit illustrations. | |||
* Updated credits in the readme. | |||
* Add version to game subtitle and config menu. | |||
* Fixed missing tiles in Egg Corridor?. | |||
* Fixed arms graphic being corrupted after credits. | |||
* Fixed credits graphics corruption after viewing it twice. | |||
* Fixed face portrait appearing for a bit before sliding. | |||
* Reduced flicker and save a few frames when uploading texture (use DMA). | |||
* Fixed flicker during fast forward. | |||
* Upload face portrait and Japanese text to texture only during vblank, reducing flicker. | |||
* Fix ending cloud parallax. | |||
* Added an additional "fun" rom. | |||
* Multi: Fixed NPCs targeting dead players. | |||
* Multi: Optimized performance a bit. | |||
* Multi: reduced flicker. | |||
* JPN: Add some missing characters to the font. (whoops) | |||
* JPN: Fixed credit text being cut off. | |||
* JPN: Fixed some missing credit portraits. | |||
'''v0.3a''' | '''v0.3a''' | ||
* Fix shooting while dead in netplay. | * Fix shooting while dead in netplay. | ||
Line 96: | Line 147: | ||
==Credits== | ==Credits== | ||
Thanks to: | Thanks to: | ||
* CSE2 | * The CSE2 Decompilation Project, by CuckyDev and Clownacy (and optimization mascot GabrielRavier). | ||
* Lusty_ | * Lusty_ from GBATemp, who helped test and helped figuring out the compatibility issue with flashcarts. | ||
* Random people in the CSE2 Discord | * Random people in the CSE2 Discord, who tried the port in its early stages. | ||
* Aeon Genesis- Cave Story | * Aeon Genesis - Shih Tzu (TranslateDoggie), and GideonZhi, whose expert translation and ROM hacking skills brought Cave Story to a boatload of people. | ||
* devKitPro. | * devKitPro, the homebrew toolchain that lets us make games for Nintendo consoles without anyone's permission. | ||
* gl2D. | * Martin Korth, for making N0$GBA and its fantastic debugging suite, as well as the GBA/DS/3DS documentation that shaped the scene. | ||
* Drenn1 | * The DeSmuME developers for making an emulator with GDB debugging support making this port a lot less of a pain in the ass to develop. | ||
* huiminghao | * gl2D- by Relminator, for making a pretty good 3D library saving. | ||
* Ravenworks | * lvandeve, for the lodepng library that lets me painlessly load pngs. | ||
* Pixel. | * AntonioND, for the great BMP loading from Nitro Engine as well. | ||
* mackron, for the sexy dr_wav loading library. | |||
* graphitemaster, for the sleek incbin file embed library. | |||
* CUE, for the sly NDS lzss compression library. | |||
* Drenn1, for the WiFi code from GameYob, and the forum posts on the devKitPro forums that probably let me avoid a dozen hours of debugging the sound. | |||
* huiminghao, for the WiFi code from NesDS. | |||
* Arisutora, for MelonDS and the NiFi debugging support. | |||
* Ravenworks, who took on the Cave Story DS port in the first place, got destroyed by a publisher in the process, and inspired me to create the DS version that the people deserve. | |||
* And Pixel, who created this wonderful thing that inspired a generation of gamers. | |||
==External links== | ==External links== | ||
* Cave Story Tribute Site - https://www.cavestory.org/download/cave-story.php | * Cave Story Tribute Site - https://www.cavestory.org/download/cave-story.php | ||
* GBAtemp - https://gbatemp.net/threads/cave-story-ds-port-based-on-cse2-decompilation.582377/post-9572313 | * GBAtemp - https://gbatemp.net/threads/cave-story-ds-port-based-on-cse2-decompilation.582377/post-9572313 | ||
Latest revision as of 06:55, 19 August 2024
Cave Story NDS | |
---|---|
General | |
Author | rain |
Type | Platform |
Version | 0.4 |
License | Mixed |
Last Updated | 2022/09/12 |
Links | |
Download | |
Website | |
Source | |
This is a homebrew port of Cave Story for the NDS, with multiplayer, modding support and many quality of life improvements. It is based on the CSE2 decompilation project, which itself is a decompilation of the freeware version of Cave Story.
Note: CSE2 is one of the open source reproduction of the Cave Story engine, except it is designed for accuracy and faithfulness to the original. Sadly, it was subject to a DMCA takedown.
User guide
The fast-paced gameplay of Cave Story revolves around Quote, a robot who wakes up suffering amnesia and who must explore and blast his way through cavernous areas in order to figure out his backstory and escape from the cave.
The character gains access to new areas as he powers up his weapons by collecting triangular experience crystals and solves various platforming puzzles.
Quote speaks to non-player characters scattered around the game world in order to learn more about the world and its inhabitants.
Note: Config.dat and Profile.dat will be saved to the root of the SD card.
Controls
In game:
L+R+Start - Access the escape menu
D-Pad - Move
A - Jump
B - Shoot
X/Y - Previous/Next Weapon
Start - Inventory
Select - Map
R - Fast Forward during cutscenes
L+R+Select - Toggle console output
During boot:
Hold Start - Start with display on the bottom screen
Hold Select - See console output
Screenshots
Online emulator
Nintendo DS | Keyboard |
---|---|
Compatibility
On 3DS or DSi you will need the DSi version to run.
If it fails to run, you can try launching it with nds-hb-menu 0.5.0 or TWiLight Menu++.
Known issues
The game will rarely crash when closing the lid.
The game will slow down in the Plantation and Sand Zone when hitting a missile or using the Spur.
Performance will lower in multiplayer when using the Spur or missiles.
There may be a loud noise during stage transition.
Changelog
v0.4
- This version adds the option of the SD card ROM, which supports basic mods. See the SD card folder readme for instructions on how to use it. There are also many fixes and quality of life improvements.
- Added a setting to use an alternate set of percussion for songs.
- You can now fast forward during cutscenes and events by holding down the R button.
- Added a few songs to the sound test.
- 50fps mode is now smoother. (Switched to a timer system instead of adding an additional wait)
- Disabled file opening after ejecting card, so saves and config menu won't just crash.
- You can toggle the console output with L+R+Select.
- Holding down the Start button during boot will set display on the bottom screen.
- Reduced size of ROM by compressing songs.
- Added a loading progress indicator.
- Improved look of credit illustrations.
- Updated credits in the readme.
- Add version to game subtitle and config menu.
- Fixed missing tiles in Egg Corridor?.
- Fixed arms graphic being corrupted after credits.
- Fixed credits graphics corruption after viewing it twice.
- Fixed face portrait appearing for a bit before sliding.
- Reduced flicker and save a few frames when uploading texture (use DMA).
- Fixed flicker during fast forward.
- Upload face portrait and Japanese text to texture only during vblank, reducing flicker.
- Fix ending cloud parallax.
- Added an additional "fun" rom.
- Multi: Fixed NPCs targeting dead players.
- Multi: Optimized performance a bit.
- Multi: reduced flicker.
- JPN: Add some missing characters to the font. (whoops)
- JPN: Fixed credit text being cut off.
- JPN: Fixed some missing credit portraits.
v0.3a
- Fix shooting while dead in netplay.
v0.3
- Local multiplayer is here. Explore the caves with a friend over wireless.
- Thanks to Drenn1 and huiminghao's wonderful Nifi code from GameYob and NesDS respectively.
- If you experience lag, try selecting another channel.
- Note that the client will not write the profile to the SD card during netplay (so you can take out the flashcart after loading on one console, and put it in the other to play with only one flashcart for both DSes).
- Take care not to fire the Spur in a big area.
- Moved input processing to beginning of frame, saving 1 frame of input lag.
- Fixed bosses damage frames not appearing half the time.
- Fix camera position in H**l ending event.
- Tile 0 is no longer rendered.
- Added some "fun" ROMs to play.
v0.2
- Japanese language support.
- Reduced filesize, so it can run on more flashcarts. (ADPCM sound with waveconv.exe)
- Minimap works now.
- 60/50 FPS toggle.
- Transparent textbox toggle.
- Resize inventory screen.
- Draw stage on inventory, teleporter, and map screen.
- Emulators can save temporarily.
- Fix L2/L3 missile sprite.
- Fix camera position in Balcony heli event, and Passage.
- Added event jump to cheat menu.
- Text will appear when an error occurs.
v0.1
- Initial release.
Credits
Thanks to:
- The CSE2 Decompilation Project, by CuckyDev and Clownacy (and optimization mascot GabrielRavier).
- Lusty_ from GBATemp, who helped test and helped figuring out the compatibility issue with flashcarts.
- Random people in the CSE2 Discord, who tried the port in its early stages.
- Aeon Genesis - Shih Tzu (TranslateDoggie), and GideonZhi, whose expert translation and ROM hacking skills brought Cave Story to a boatload of people.
- devKitPro, the homebrew toolchain that lets us make games for Nintendo consoles without anyone's permission.
- Martin Korth, for making N0$GBA and its fantastic debugging suite, as well as the GBA/DS/3DS documentation that shaped the scene.
- The DeSmuME developers for making an emulator with GDB debugging support making this port a lot less of a pain in the ass to develop.
- gl2D- by Relminator, for making a pretty good 3D library saving.
- lvandeve, for the lodepng library that lets me painlessly load pngs.
- AntonioND, for the great BMP loading from Nitro Engine as well.
- mackron, for the sexy dr_wav loading library.
- graphitemaster, for the sleek incbin file embed library.
- CUE, for the sly NDS lzss compression library.
- Drenn1, for the WiFi code from GameYob, and the forum posts on the devKitPro forums that probably let me avoid a dozen hours of debugging the sound.
- huiminghao, for the WiFi code from NesDS.
- Arisutora, for MelonDS and the NiFi debugging support.
- Ravenworks, who took on the Cave Story DS port in the first place, got destroyed by a publisher in the process, and inspired me to create the DS version that the people deserve.
- And Pixel, who created this wonderful thing that inspired a generation of gamers.
External links
- Cave Story Tribute Site - https://www.cavestory.org/download/cave-story.php
- GBAtemp - https://gbatemp.net/threads/cave-story-ds-port-based-on-cse2-decompilation.582377/post-9572313