Registration Code (Part 1): w%kQ6
Registration Code (Part 2): b<#$1[*(cw~
In order to register on this forum, you must use the codes above. Combine them into one code (copy paste).

Resident Evil 3 - Movie Resolution Fix

Topics regarding the Resident Evil game series.
Post Reply
User avatar
atom0s
Site Admin
Posts: 397
Joined: Sun Jan 04, 2015 11:23 pm
Location: 127.0.0.1
Contact:

Resident Evil 3 - Movie Resolution Fix

Post by atom0s » Wed Nov 22, 2017 1:17 am

As part of a project I was helping with recently that landed up falling through due to various reasons, here is some information about Resident Evil 3.

Movie Resolution Fix

File: ResidentEvil3.exe
CRC32: 0x929F6CAE
Type: Runtime Patches
Purpose: Fixes the resolution of the movie files to not be scaled down to 320 x 160.
Pattern: 66891E66C746??????66C746??????66C74606

When the game loads movie files, it has the size of the movie scaled to 320x160. Because of this, the movies are boxed and offset from the screen top with black borders on the top and bottom. This causes the videos to look smushed and oddly scaled. This can be found here:
  1. .text:0042F9BC                 lea     ecx, [esi+18h]
  2. .text:0042F9BF                 mov     dword ptr [esi-8], 3
  3. .text:0042F9C6                 push    ecx
  4. .text:0042F9C7                 mov     byte ptr [esi-1], 1Ch
  5. .text:0042F9CB                 mov     [esi], bx
  6. .text:0042F9CE                 mov     word ptr [esi+2], 28h        ;<== Y Coord Offset
  7. .text:0042F9D4                 mov     word ptr [esi+4], 140h       ;<== Width
  8. .text:0042F9DA                 mov     word ptr [esi+6], 0A0h       ;<== Height
  9. .text:0042F9E0                 call    sub_423420
  10. .text:0042F9E5                 mov     [esi+1Eh], bl
  11. .text:0042F9E8                 mov     [esi+1Dh], bl
  12. .text:0042F9EB                 mov     [esi+1Ch], bl
  13. .text:0042F9EE                 mov     [esi+22h], bx
  14. .text:0042F9F2                 mov     [esi+20h], bx
  15. .text:0042F9F6                 mov     word ptr [esi+24h], 140h
  16. .text:0042F9FC                 mov     word ptr [esi+26h], 0F0h
  17. .text:0042FA02                 mov     byte ptr [edi], 14h

Here we can apply runtime patches when the game first loads to override the movie size that is played. In order to fix the movies to play the full size of the resolution you have selected, we need to remove the "Y Coord Offset" value, and adjust the "Height" value as well.

For the "Y Coord Offset", we want to make that value 0x0000.
For the "Height", we want to make that value 0x00F0.

This will cause the screen scaling to match the resolution you are currently playing the game with and the videos will look much better.
Derp~
Need a great web host? Check out: AnHonestHost.com


Donations can be made via Paypal:
https://www.paypal.me/atom0s
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest