Shenmue I Re-Release 16:9 Cutscenes Fix

Shenmue I and II - 16:9 Widescreen patch
- for any™ PC version -


I decided to adapt to the PC re-release version of Shenmue the script that I initially did for the Dreamcast, which was also based on @Esppiral's work.

The script is universal for both games, and it patches the binaries instead of the memory. One of the immediate advantages is that it is permanent, you don't have to run the program every time you want to play. At this point it works with all releases up until v1.07 of both games. This patch also includes a "fix" dedicated to Shenmue II which allows cut-scenes to be full-screen instead of keeping black borders on the top and bottom. Additionally, I have written custom code that can be injected into the executable to make the subtitles stay on the same lower position during full-screen cut-scenes; optionally you can remove the camera icon that appears during cut-scenes and action sequences in the top-right corner.

Link to the patch: http://tiny.cc/shmwsp


giphy.gif

Just unzip all the ZIP archive's contents anywhere on your disk, then simply drag & drop one of Shenmue's executables, from the sm1 or sm2 folders (Shenmue.exe or Shenmue2.exe, accordingly), over the script named DRAGnDROP Shenmue EXE HERE. When the patch is ready to be applied, a backup of the executable is created for you to be able to roll-back if you need.

NOTE: If you have issues with the patcher opening and closing without any error message at all, try extracting its contents to a folder in your Desktop and copy the intended Shenmue's executable there, then do the drag & drop operation inside that folder and see if that works for you, if it does then just copy the patched executable and backup files back to your Steam installation folder.


Patcher feature demo







Shenmue II
Proper fullscreen cut-scenes





Shenmue II
Proper subtitle positioning in fullscreen cut-scenes

View attachment 1272

NOTE
: The subtitle positioning fix during full-screen cut-scenes will only work if your game UI Display scale is at 100%.


Shenmue II
Proper subtitle positioning in fullscreen cut-scenes (tech demo)




Shenmue II
No camera icon in top-right during fullscreen cut-scenes or action sequences

index.php


Code:
00007FF7E4A18D3E  | jmp 0x7FF7E4C599C1               ->|--|
00007FF7E4A18D43  | mov dword ptr ss:[rbp+0x4C],eax  <-|--|-------|
                                                       |  |       |
00007FF7E4C599C1  | cmp eax,0x44430000               <-|--|       |
00007FF7E4C599C6  | je 0x7FF7E4CA699A                ->|----|     |
00007FF7E4C599CC  | mov rdi,qword ptr ss:[rsp+0x60]  <-|----|--|  |
00007FF7E4C599D1  | jmp 0x7FF7E4A18D43               ->|----|--|--|
                                                       |    |  |
00007FF7E4CA699A  | cmp si,0x198                     <-|----|  |
00007FF7E4CA699F  | jne 0x7FF7E4C599CC               ->|-------|
00007FF7E4CA69A5  | mov eax,0x44638000                 |       |
00007FF7E4CA69AA  | jmp 0x7FF7E4C599CC               ->|-------|
Notes:
  • This code checks if the game is trying to change the position of an UI object to the coordinates 0x44430000, if it is then it checks for the next thing on its list;
  • 0x198 is the value that represents the subtitle object during cut-scenes - when the game is about to change the object position, it checks if it's during a cut-scene, if it is not then the code returns to its original routine;


how do I patch the STEAM version of Shenmue I & II?

I dont have any Shenmue.exe just the steam executable to choose between 1 and 2

EDIT: I figured out thanks
 
Last edited:
Good evening,
How would I get this mod to work on Linux?
It is not possible to drag and drop the executable to the .bat script.
I've tried with both the Nautilus and Nemo file managers.
I'm on Pop!_OS if that helps at all.
Thank you very much.

Edit: Had a friend on Windows help patch the files for me.
 
Last edited:
Good evening,
How would I get this mod to work on Linux?
It is not possible to drag and drop the executable to the .bat script.
I've tried with both the Nautilus and Nemo file managers.
I'm on Pop!_OS if that helps at all.
Thank you very much.
You have a few options:
1. Run a Windows VM;
2. Patch it manually;
3. Request a delta patch.
 
Shenmue I and II - 16:9 Widescreen patch
- for any™ PC version -


I decided to adapt to the PC re-release version of Shenmue the script that I initially did for the Dreamcast, which was also based on @Esppiral's work.

The script is universal for both games, and it patches the binaries instead of the memory. One of the immediate advantages is that it is permanent, you don't have to run the program every time you want to play. At this point it works with all releases up until v1.07 of both games. This patch also includes a "fix" dedicated to Shenmue II which allows cut-scenes to be full-screen instead of keeping black borders on the top and bottom. Additionally, I have written custom code that can be injected into the executable to make the subtitles stay on the same lower position during full-screen cut-scenes; optionally you can remove the camera icon that appears during cut-scenes and action sequences in the top-right corner.

Link to the patch: http://tiny.cc/shmwsp


giphy.gif

Just unzip all the ZIP archive's contents anywhere on your disk, then simply drag & drop one of Shenmue's executables, from the sm1 or sm2 folders (Shenmue.exe or Shenmue2.exe, accordingly), over the script named DRAGnDROP Shenmue EXE HERE. When the patch is ready to be applied, a backup of the executable is created for you to be able to roll-back if you need.

NOTE: If you have issues with the patcher opening and closing without any error message at all, try extracting its contents to a folder in your Desktop and copy the intended Shenmue's executable there, then do the drag & drop operation inside that folder and see if that works for you, if it does then just copy the patched executable and backup files back to your Steam installation folder.


Patcher feature demo







Shenmue II
Proper fullscreen cut-scenes





Shenmue II
Proper subtitle positioning in fullscreen cut-scenes

View attachment 1272

NOTE
: The subtitle positioning fix during full-screen cut-scenes will only work if your game UI Display scale is at 100%.


Shenmue II
Proper subtitle positioning in fullscreen cut-scenes (tech demo)




Shenmue II
No camera icon in top-right during fullscreen cut-scenes or action sequences

index.php


Code:
00007FF7E4A18D3E  | jmp 0x7FF7E4C599C1               ->|--|
00007FF7E4A18D43  | mov dword ptr ss:[rbp+0x4C],eax  <-|--|-------|
                                                       |  |       |
00007FF7E4C599C1  | cmp eax,0x44430000               <-|--|       |
00007FF7E4C599C6  | je 0x7FF7E4CA699A                ->|----|     |
00007FF7E4C599CC  | mov rdi,qword ptr ss:[rsp+0x60]  <-|----|--|  |
00007FF7E4C599D1  | jmp 0x7FF7E4A18D43               ->|----|--|--|
                                                       |    |  |
00007FF7E4CA699A  | cmp si,0x198                     <-|----|  |
00007FF7E4CA699F  | jne 0x7FF7E4C599CC               ->|-------|
00007FF7E4CA69A5  | mov eax,0x44638000                 |       |
00007FF7E4CA69AA  | jmp 0x7FF7E4C599CC               ->|-------|
Notes:
  • This code checks if the game is trying to change the position of an UI object to the coordinates 0x44430000, if it is then it checks for the next thing on its list;
  • 0x198 is the value that represents the subtitle object during cut-scenes - when the game is about to change the object position, it checks if it's during a cut-scene, if it is not then the code returns to its original routine;

Hello, thank you very much for your work! When I try on Steam Deck and I put the .exe on the .bat not work, Can you do a versión for Steam Deck? Thank you again!
 
Last edited:
Sorry, don't own one.
In theory its Linux, its not posible to do a version for that? Im not at home these days because of work and I not have my PC. Another patch option like xdelta perhaps?

Also if for example you patch your exe and send to me, that would work?

It would be great to can play Shenmue without camera icon and also have the option of 16:9 on the Deck.

Anyway, thanks for the help. (y)
 
In theory its Linux, its not posible to do a version for that? Im not at home these days because of work and I not have my PC. Another patch option like xdelta perhaps?

Also if for example you patch your exe and send to me, that would work?

It would be great to can play Shenmue without camera icon and also have the option of 16:9 on the Deck.

Anyway, thanks for the help. (y)
Anything is possible, time is short though. Get access to a Windows machine, patch the executable and copy it back to your Steam Deck.

Also if for example you patch your exe and send to me, that would work?

How would I know? Do you even know the location of Shenmue2.exe on your system and how to unzip a file?

Send me your exe zipped, then I'll know that you can replace it yourself.
 
Last edited:
Anything is possible, time is short though. Get access to a Windows machine, patch the executable and copy it back to your Steam Deck.

Also if for example you patch your exe and send to me, that would work?

How would I know? Do you even know the location of Shenmue2.exe on your system and how to unzip a file?

Send me your exe zipped, then I'll know that you can replace it yourself.
ok, here, thx again!
 
I'd love to use your patch, but I'm having issues. I'm using the the MS Games version, not the Steam version, but I believe all versions should work. This is the error message I receive:

"STATUS: Checking binary...

ERROR: Patch was aborted!

Patching has failed due to one of these reasons: unknown file version, or denied overwrite
over existing backup file, or failed to write the patch bytes to the target file."

I don't have the expertise to hex edit them myself, so I'm relying on your patch. Here's a link to both of my .exe files for reference:

https://1fichier.com/?g71zmfpxau1kkg2hdmyl
 
I'd love to use your patch, but I'm having issues. I'm using the the MS Games version, not the Steam version, but I believe all versions should work. This is the error message I receive:

"STATUS: Checking binary...

ERROR: Patch was aborted!

Patching has failed due to one of these reasons: unknown file version, or denied overwrite
over existing backup file, or failed to write the patch bytes to the target file."

I don't have the expertise to hex edit them myself, so I'm relying on your patch. Here's a link to both of my .exe files for reference:

https://1fichier.com/?g71zmfpxau1kkg2hdmyl
Unfortunately it isn't that straightforward. The binary file is almost completely different and with the executables alone it's a bit like shooting in the dark. That being said, I did try to find the approximation to the Steam version, but I'm not sure if it will work. Also, I only tried Shenmue 1 because it has less code patches, and even if this works for S1 I can't promise that I'll be able to replicate everything from S2 patch.

Give it a try with the patched file attached here (Microsoft Store version).
 

Attachments

Unfortunately it isn't that straightforward. The binary file is almost completely different and with the executables alone it's a bit like shooting in the dark. That being said, I did try to find the approximation to the Steam version, but I'm not sure if it will work. Also, I only tried Shenmue 1 because it has less code patches, and even if this works for S1 I can't promise that I'll be able to replicate everything from S2 patch.

Give it a try with the patched file attached here (Microsoft Store version).
That worked! I know it seems insignificant to some, but what a difference that makes on an ultra-wide monitor. I suppose I could acquire the steam version for Shenmue II now that I know that the .exe files are different between versions. Thank you!
 
That worked! I know it seems insignificant to some, but what a difference that makes on an ultra-wide monitor. I suppose I could acquire the steam version for Shenmue II now that I know that the .exe files are different between versions. Thank you!
Great! I was optimistic about it working, but not entirely sure.
If you're not in a rush to jump into Shenmue 2, I could take up the challenge to patch it too, although due to the much higher number of patches needed for that one I will probably not have the time to take that on until maybe next weekend, and also it would entirely depend on yourself to then validate it since I don't known anyone else who owns that version.

For posterity, here are the differences between versions (Shenmue 1 Steam v1.06/v1.07 and Shenmue 1 Microsoft v1.00(?)):
Code:
- Shenmue1 (Steam v1.06/v1.07) - Widescreen (cut-scenes):
@3CA5E: 89 15 1C BB BB 00
@3CA5E: 90 90 90 90 90 90
- Shenmue1 (Microsoft v1.00?) - Widescreen (cut-scenes):
@3EDAE: 89 15 10 8A 41 05
@3EDAE: 90 90 90 90 90 90

- Shenmue1 (Steam v1.06/v1.07) - Widescreen (cut-scenes):
@3F110: 89 15 6A 94 BB 00
@3F110: 90 90 90 90 90 90
- Shenmue1 (Microsoft v1.00?) - Widescreen (cut-scenes):
@4162F: 89 15 8F 61 41 05

- Shenmue1 (Steam v1.06/v1.07) - Widescreen (cut-scenes):
@3F1A1: 89 1D D9 93 BB 00
@3F1A1: 90 90 90 90 90 90
- Shenmue1 (Microsoft v1.00?) - Widescreen (cut-scenes):
@41852: 89 3D 6C 5F 41 05
@41852: 90 90 90 90 90 90

- Shenmue1 (Steam v1.06/v1.07) - Widescreen (cut-scenes):
@3F217: 89 1D 63 93 BB 00
@3F217: 90 90 90 90 90 90
- Shenmue1 (Microsoft v1.00?) - Widescreen (cut-scenes):
@419A4: 89 3D 1A 5E 41 05
@419A4: 90 90 90 90 90 90
 
Last edited:
Great! I was optimistic about it working, but not entirely sure.
If you're not in a rush to jump into Shenmue 2, I could take up the challenge to patch it too, although due to the much higher number of patches needed for that one I will probably not have the time to take that on until maybe next weekend, and also it would entirely depend on yourself to then validate it since I don't known anyone else who owns that version.
I'm in no rush and I'd gladly test it for you whenever you get around to it.
 
I'm in no rush and I'd gladly test it for you whenever you get around to it.
Alright, that's cool.
It's still curious that nobody who bought it from the MS Store ever came here before you, I personally didn't even know it existed. And on top of that, the store page lists "Ultimatum Games" as the developer, while the Steam version was by "d3t"; release dates are apparently the same so it's really odd why another company did the "development" (probably codename for 'tweaking' for MS Store/GamePass).
 
I'm in no rush and I'd gladly test it for you whenever you get around to it.
It seems that it won't happen, I tried opening the Shenmue2.exe in the disassembler and it tells me the file has an invalid PE header, so I open it with an hexeditor and sure enough... executable file is not just invalid, there is no actual PE header and its content is completely garbled/obfuscated, unlike Shenmue1 executable.

I still find it odd that one is obfuscated and the other is not, so make sure to double-check that the file you copied and compressed (Shenmue2.exe) is correct and not corrupt. If it turns out that it is actually encrypted/obfuscated, then I can't even load it up in the disassembler, let alone patch anything in it, so no patch unfortunately.

The file I got from your archive:
Code:
Name: Shenmue2.exe
Size: 11360768 bytes (10 MiB)
CRC-32: aca4fd23
MD5: 1a382bc98f519bafed18a96667c26f4e
SHA-1: 251d62e82ac66b98836adc95f3bd2e4d34c644d3
 
It seems that it won't happen, I tried opening the Shenmue2.exe in the disassembler and it tells me the file has an invalid PE header, so I open it with an hexeditor and sure enough... executable file is not just invalid, there is no actual PE header and its content is completely garbled/obfuscated, unlike Shenmue1 executable.

I still find it odd that one is obfuscated and the other is not, so make sure to double-check that the file you copied and compressed (Shenmue2.exe) is correct and not corrupt. If it turns out that it is actually encrypted/obfuscated, then I can't even load it up in the disassembler, let alone patch anything in it, so no patch unfortunately.

The file I got from your archive:
Code:
Name: Shenmue2.exe
Size: 11360768 bytes (10 MiB)
CRC-32: aca4fd23
MD5: 1a382bc98f519bafed18a96667c26f4e
SHA-1: 251d62e82ac66b98836adc95f3bd2e4d34c644d3
Thanks again for looking into this. Try this one.
 

Attachments

Back