Post by umbreon on May 30, 2023 2:00:01 GMT -5
I took an English PSX copy of Mega Man Legends 2 and transplanted all of the English assets into a Japanese PC copy of Rockman DASH2.
I left the title screen's logo and the credits alone. The game is still Rockman DASH2, after all.
I tested this as thoroughly as I could by playing through the entire game.
I am providing this modification as a set of Xdelta3 patches so I am not distributing any game files.
Primary changes:
Miscellaneous fixes:
Issues I did not look into:
I played on EndeavourOS (Arch-based linux distribution) using Wine 8.5 + dgVoodoo2 v2.8.1.
I had to change dgVoodoo's OutputAPI setting to d3d12_fl11_0 but that may just be a Wine-specific linux compatibility issue.
I do not have a Windows installation readily available, so I cannot guarantee that the game runs on modern Windows systems. As long as the unmodified game runs okay, there is no reason for my modifications to cause any issues.
Included is a file named dash2asm.txt. This is mainly intended to document what code I changed within the executable and why each specific change was made. It can be injected using Cheat Engine, but it is not meant to be used on its own because it does not change any of the other data in the executable that needed modifications.
Requirements:
Optional requirements:
I do not know if this patched version provides any useful bug fixes over the retail release.
Almost all of my testing was done with the official patch, but I made sure all my changes work as intended in both versions.
Audio/SFX requirements:
Audio/SFX notes:
If you intend on playing under Windows 98-XP with English audio, you'll have to patch the game on something running an operating system that supports Python 3.8/higher.
I realize it is very inconvenient having to use extra scripts to convert the audio, but I am not comfortable providing the pre-converted files even in Xdelta3 patch form. The audio remained intact enough that you could listen to it.
You will need your original PSX copy of the game inserted in your drive and you will also need a dump of track 1 as a BIN image.
Use DiscImageCreator to dump your CD if you have not already done so.
Converting the sound effects requires regular file access to the CD's contents.
Converting the voice lines/cutscene audio requires access to the CD's raw sectors, and I was unable to find any convenient way to do this from within Python without adding external dependencies.
A lot of the audio tracks were shuffled around when the game was ported to PC, causing the audio files to not match.
I fixed everything I noticed that seemed wrong during my playthrough, but there is a possibility some of the voice lines may still be out of order as there are some I never heard.
It was extremely tedious matching up all of the audio, so I am not going to be making any further changes now that I have released this.
Some of the sound effects seem to be cut off at the end -- not sure if that's my fault or not.
Directions:
This will overwrite your installed game files. Make a backup in case anything goes wrong.
You will need approximately 300MB of free space for temporary files that will be deleted if following these directions.
Windows directions are the same, just use the batch file instead of the shell script and replace mv with move.
After patching the game, the directories dat/sfx, snd/mp3, eng-dat can be deleted as they are not required.
pixeldrain link: dash2eng.zip (if this link expires and I don't notice, you may mirror it somewhere more permanent)
attachment: dash2eng.zip (351.96 KB)
zip sha256 checksum: fa0c9624e0c3275d2f20c57d6c7dfa311b54489fe37c607b3027b8d9c9f041fd
feel free to improve my work if you find anything that could use work, but please give credit by linking back to this thread if you release any improvements
-- umbreon
may 2023
I left the title screen's logo and the credits alone. The game is still Rockman DASH2, after all.
I tested this as thoroughly as I could by playing through the entire game.
I am providing this modification as a set of Xdelta3 patches so I am not distributing any game files.
Primary changes:
- Copied over the PSX English translation. I do not know any Japanese and I wanted to play the PC version, so I needed to find a way to transplant all of the relevant data.
- Copied over the PSX font. Original PC font was designed with only full-width characters in mind and looked out of place.
- Hacked in variable-width font support. English strings were too wide to fit on screen with Asian releases of the game only supporting fixed-width text rendering.
Miscellaneous fixes:
- Fixed map menu bug. With the map menu open, you're supposed to be able to press Turn Left/Right to change which floor is shown. The PC port's menu handling code has a bug and ends up just switching which menu is shown instead.
- Game window is no longer always on top.
- Changed the window title to Dash2 instead of Shift-JIS-encoded Dash2 so your system locale doesn't have to be set to Japanese for the title to be legible.
Issues I did not look into:
- Text is very slightly crooked if you disable texture filtering using dgVoodoo2. This is not my fault so I did not look into it any further.
- The Parabola Gun mission progress has poor texture cropping. This is also not my fault. (You can see it if you play with all of the original Japanese files)
- Some of the music does not loop properly. (This happens even when using the original Japanese files)
- Mouse sensitivity is awful, and dodging is also way too sensitive when moving the mouse at all.
I played on EndeavourOS (Arch-based linux distribution) using Wine 8.5 + dgVoodoo2 v2.8.1.
I had to change dgVoodoo's OutputAPI setting to d3d12_fl11_0 but that may just be a Wine-specific linux compatibility issue.
I do not have a Windows installation readily available, so I cannot guarantee that the game runs on modern Windows systems. As long as the unmodified game runs okay, there is no reason for my modifications to cause any issues.
Included is a file named dash2asm.txt. This is mainly intended to document what code I changed within the executable and why each specific change was made. It can be injected using Cheat Engine, but it is not meant to be used on its own because it does not change any of the other data in the executable that needed modifications.
Requirements:
- Xdelta3; I used version 3.1.0
Optional requirements:
- Official "dash2patch_easy" patch available from an archive of Capcom's website
I do not know if this patched version provides any useful bug fixes over the retail release.
Almost all of my testing was done with the official patch, but I made sure all my changes work as intended in both versions.
Audio/SFX requirements:
- Python version 3.8 or higher; I used 3.10.10, newer versions in the future should be fine as long as they have no breaking changes
- FFmpeg; I used version n6.0 from the Arch Linux repositories; older versions (or potentially newer versions in the future) may not behave correctly. Use version n6.0 if you run into any issues.
- North American PSX copy of Mega Man Legends 2; the European release unfortunately further shuffles the audio files around than they already were.
Audio/SFX notes:
If you intend on playing under Windows 98-XP with English audio, you'll have to patch the game on something running an operating system that supports Python 3.8/higher.
I realize it is very inconvenient having to use extra scripts to convert the audio, but I am not comfortable providing the pre-converted files even in Xdelta3 patch form. The audio remained intact enough that you could listen to it.
You will need your original PSX copy of the game inserted in your drive and you will also need a dump of track 1 as a BIN image.
Use DiscImageCreator to dump your CD if you have not already done so.
Converting the sound effects requires regular file access to the CD's contents.
Converting the voice lines/cutscene audio requires access to the CD's raw sectors, and I was unable to find any convenient way to do this from within Python without adding external dependencies.
A lot of the audio tracks were shuffled around when the game was ported to PC, causing the audio files to not match.
I fixed everything I noticed that seemed wrong during my playthrough, but there is a possibility some of the voice lines may still be out of order as there are some I never heard.
It was extremely tedious matching up all of the audio, so I am not going to be making any further changes now that I have released this.
Some of the sound effects seem to be cut off at the end -- not sure if that's my fault or not.
Directions:
This will overwrite your installed game files. Make a backup in case anything goes wrong.
You will need approximately 300MB of free space for temporary files that will be deleted if following these directions.
- Patch the level files and executable
- ➜ ~ cd dash2eng
- ➜ dash2eng ./dash2eng.sh "~/DASH2"
- ➜ dash2eng xdelta3 -d -s "~/DASH2/DASH2.EXE" DASH2.EXE.XDELTA "~/DASH2/DASH2eng.EXE" (if using the original version)
- ➜ dash2eng xdelta3 -d -s "~/DASH2/DASH2easy.EXE" DASH2easy.EXE.XDELTA "~/DASH2/DASH2easy-eng.EXE" (if using Capcom's official patch)
- Convert all the level sound effects (to be done after applying the Xdelta3 patches)
- ➜ dash2eng ./dash2sfxConvert.py "~/DASH2" /run/media/umbreon/MEGAMAN_LEGENDS2 "~/DASH2/dat/sfx"
- ➜ dash2eng ./dash2injectFiles.py "~/DASH2/dat" "~/DASH2/dat/sfx" "~/DASH2/eng-dat"
- ➜ dash2eng mv "~/DASH2/eng-dat/"* "~/DASH2/dat/"
- Convert the cutscene audio tracks and voice lines
- ➜ dash2eng ./dash2audioConvert.py "~/MEGAMAN_LEGENDS2 (Track 1).bin" "~/DASH2/snd"
- Launch the game using either DASH2eng.EXE or DASH2easy-eng.EXE
Windows directions are the same, just use the batch file instead of the shell script and replace mv with move.
After patching the game, the directories dat/sfx, snd/mp3, eng-dat can be deleted as they are not required.
pixeldrain link: dash2eng.zip (if this link expires and I don't notice, you may mirror it somewhere more permanent)
attachment: dash2eng.zip (351.96 KB)
zip sha256 checksum: fa0c9624e0c3275d2f20c57d6c7dfa311b54489fe37c607b3027b8d9c9f041fd
feel free to improve my work if you find anything that could use work, but please give credit by linking back to this thread if you release any improvements
-- umbreon
may 2023