Widescreen Gaming Forum

[-noun] Web community dedicated to ensuring PC games run properly on your tablet, netbook, personal computer, HDTV and multi-monitor gaming rig.
It is currently 21 Dec 2024, 06:30

All times are UTC [ DST ]




Post new topic Reply to topic  [ 36 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
PostPosted: 22 Mar 2009, 05:17 
Offline

Joined: 22 Mar 2009, 04:59
Posts: 26
How to change to a custom video mode in a Telltale game.

Note the original post was deleted by me and updated to add the patcher program and the newest info on how it works.

How would you like to play Sam and Max season 1 in 1920x1080 widescreen? How about other special modes your monitor supports?

Just download the TTres patcher (Ver 1.1a July 12, 2009) from here:
http://rapidshare.com/files/255045416/TTres.zip

You also need to download and install the Visual C++ Runtime Components:
32-bit:http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en
64-bit:http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en

It will work on Sam & Max Season 1 & 2; Strong Bad, Bone Directors cut; Wallace & Gromit (full and demo versions); Tales of Monkey Island. It will not work on the original Bone games.

Note: You have to run the game at least once so the prefs.prop file is built. You may also have to select the video mode at least once so a resolution mode is stored in the prefs.prop file. Vista users may have to disable UAC.



Put the file in the same directory as the prefs.prop file you would like to modify, set the video resolution you would like from 640x480 to 2047x2047 and click patch. The lastest version has untested support up to 4095.

You can back up the original file if you like. If there are any problems with the patched file, the Telltale game usually successfully rebuilds it to default values. I have not had any problems on the multiple files I have tried.

The patch utility does not use any fixed memory locations. It scans the file for the modes and patches them. It will find 1 or 2 locations and patch them to your selected resolution. I am not sure why there are 2 locations. Sometimes the first set forces the mode and sometimes it is the second set. Only 1 seems to force the video mode, but it is best and easiest to change both locations.

If you patch using a mode that your video card and monitor does not support, the game will know it is invalid when it polls DirectX. It will then reset your file back to default settings. So don't waste your time trying to break things.

You can find your prefs.prop file in these directories:
C:Program FilesTelltale GamesSam and Max - Season OneEpisode 101 - Culture Shock
C:Program FilesTelltale GamesSam and Max - Season OneEpisode 102 - Situation Comedy
C:Program FilesTelltale GamesSam and Max - Season OneEpisode 103 - The Mole, The Mob, and the Meatball
C:Program FilesTelltale GamesSam and Max - Season OneEpisode 104 - Abe Lincoln Must Die
C:Program FilesTelltale GamesSam and Max - Season OneEpisode 105 - Reality 2.0
C:Program FilesTelltale GamesSam and Max - Season OneEpisode 106 - Bright Side of the Moon
C:Program FilesTelltale GamesSam and Max - Season TwoEpisode 201 - Ice Station Santa
C:Program FilesTelltale GamesSam and Max - Season TwoEpisode 202 - Moai Better Blues
C:Program FilesTelltale GamesSam and Max - Season TwoEpisode 203 - Night of the Raving Dead
C:Program FilesTelltale GamesSam and Max - Season TwoEpisode 204 - Chariots of the Dogs
C:Program FilesTelltale GamesSam and Max - Season TwoEpisode 205 - What's New, Beelzebub
C:Program FilesTelltale GamesBoneOut From Boneville
C:Program FilesTelltale GamesBoneThe Great Cow Race
My DocumentsTelltale GamesEpisode 1 - Homestar Ruiner
My DocumentsTelltale GamesEpisode 2 - Strong Badia the Free
My DocumentsTelltale GamesEpisode 3 - Baddest of the Bands
My DocumentsTelltale GamesEpisode 4 - Dangeresque 3
My DocumentsTelltale GamesEpisode 5 - 8-Bit Is Enough

DISCLAIMER: I am not responsible if you completely bugger up your computer. The game does seem to reset to default settings if you hack the file wrong. If you delete the hacked prefs.prop file, it will be rebuilt. I have never had any problems with hacking the mode.

Note, for S&M season 1, if you hack in a widescreen mode, the fades will still be in 4:3 and will not fully fade the screen. Other then that it seems to work great. So far it is most annoying in episode 6. The TV frame mask at the start of the game is not large enough to mask the edges, so you loose the effect that it is supposed to be a view through the camera.

This also happens in any game that you hack an aspect ratio different the the game expects. Except for Wallace & Gromit. That game automatically masks the screen to keep it's aspect ratio.


Background Info

The reason why I hacked the video modes is because I have an LCD rear projection TV. It has over-scan, so the whole game screen does not fit on my TV without using custom video modes. Until Wallace & Gromit came out, I had to play the games missing some of the screen. I could not even see the gear icon in Sam & Max.

Thanks to The_cranky_hermit for pointing out that the formula is not always /8 and that there is a second byte involved.

The video resolutions are found by searching for this hex string. The values in [] are in hex. [**] means any hex value and contain the video mode info.

[00] [**] [**] [44] [00] [**] [**] [44]

Sometimes the video info is inverted and is found using this string.

[ff] [**] [**] [bb] [ff] [**] [**] [bb]

From here on, I will explain how the regular non-inverted data is stored in the first string sequence.

[00] [hByte0] [hByte1] [44] [00] [vByte0] [vByte1] [44]

The bytes use different formulas depending on the resolution.

If Res < 1024

Byte1 = (Res - 512) / 4
Byte0 = (Res - (Byte1 * 4 + 512)) * 64

If Res >= 1024

Byte1 = Res / 8
Byte0 = (Res - Byte1 * 8) * 32

Here are some sample bytes:
Code:
 res
    800x600   [00] [00] [48] [44] [00] [00] [16] [44]
   1024x768   [00] [00] [80] [44] [00] [00] [40] [44]
   1280x720   [00] [00] [a0] [44] [00] [00] [34] [44]
   1920x1080  [00] [00] [f0] [44] [00] [00] [87] [44]
   1176x656   [00] [00] [93] [44] [00] [00] [24] [44]
   1176x664   [00] [00] [93] [44] [00] [00] [26] [44]
   
   1680x1047  [00] [00] [d2] [44] [00] [e0] [82] [44]
   1680x1048  [00] [00] [d2] [44] [00] [00] [83] [44]
   1680x1049  [00] [00] [d2] [44] [00] [20] [83] [44]
   1680x1050  [00] [00] [d2] [44] [00] [40] [83] [44]
   1680x1051  [00] [00] [d2] [44] [00] [60] [83] [44]


Some games use complimented vales as found by the other search string. I won't bore you with that. I'll just skip to the above table redone in compliment form.
Code:
 res
    800x600   [ff] [ff] [b7] [bb] [ff] [ff] [e9] [bb]
   1024x768   [ff] [ff] [7f] [bb] [ff] [ff] [bf] [bb]
   1280x720   [ff] [ff] [5f] [bb] [ff] [ff] [cb] [bb]
   1920x1080  [ff] [ff] [0f] [bb] [ff] [ff] [78] [bb]
   1176x656   [ff] [ff] [6c] [bb] [ff] [ff] [db] [bb]
   1176x664   [ff] [ff] [6c] [bb] [ff] [ff] [d9] [bb]
   
   1680x1047  [ff] [ff] [2d] [bb] [ff] [1f] [7d] [bb]
   1680x1048  [ff] [ff] [2d] [bb] [ff] [ff] [7c] [bb]
   1680x1049  [ff] [ff] [2d] [bb] [ff] [df] [7c] [bb]
   1680x1050  [ff] [ff] [2d] [bb] [ff] [bf] [7c] [bb]
   1680x1051  [ff] [ff] [2d] [bb] [ff] [9f] [7c] [bb]


These may not always be the case but it seems that:
Sam & Max Season 1 & 2; Strong Bad Episode 1; and Bone Director's Cut series all use the compliment value.
Strong Bad Episodes 2-5 and Wallace & Gromit all use regular values.

Conclusion.... I can now play the games without the edges missing on my rear projection widescreen TV. Yeah!


Top
 Profile  
 


PostPosted: 22 Mar 2009, 20:24 
Offline

Joined: 22 Mar 2009, 04:59
Posts: 26
I posted some pictures at the Telltale site showing S&M S1 in 1920x1080. I also show some of the problems in doing so.

http://www.telltalegames.com/forums/showthread.php?t=8043

Hopefully TTG will not delete the thread.

[Edit] TTG has deleted the thread. They do not seem to want users to know how to select a video mode they need. I feel special. 2 censored threads in 1 week.


Top
 Profile  
 
PostPosted: 22 Mar 2009, 22:27 
Offline
Insiders
Insiders

Joined: 07 Nov 2005, 04:16
Posts: 3010
Thanks a lot for this solution! But based on the sample values, it looks like this formula isn't always correct:
Code:

   hByte = hRes / 8
   vByte = (vRes - 512) / 4


Because in your 800x600 sample, the Hres/Hbyte does not match this formula, and in yout 1920x1080 sample, the Yres/Ybyte does not match this formula.

Based on the sample data, the first line is for resolutions below 1000, while the second line is for resolutions below 1000. For most resolutions that are horizontally greater than 1000 and vertically below 1000, the formula as you wrote it works just fine. But for large ones where both are above 1000, you'd use this:
hByte = hRes / 8
vByte = vRes / 8

And for small ones where both are below 1000, you'd use this:
hByte = (hRes - 512) / 4
vByte = (vRes - 512) / 4

One other thing - do you have any idea how you would force 1680x1050? The 1050 part doesn't divide very well.

Also, what's this about the "newest version?" I don't see any patches on Telltale's website. Does the retail box come with the "newest version?" If not, are retail customers screwed?


Top
 Profile  
 
PostPosted: 22 Mar 2009, 23:12 
Offline

Joined: 22 Mar 2009, 04:59
Posts: 26
Thanks, you seem to be correct about the formulas. That I why I recommend to just use W&G to set the mode you want and read out the 2 bytes from it's prefs.prop file. Then compliment it if the game requires it as I originally described.

You might be out of luck as far as 1050 goes. My TV does not support that mode so I can't try. Try the new Wallace & Gromit Demo to see if it allows it. If it does and you can't figure it out, post your W&G prefs.prop file and I'll see what I can do.

As far as the retail versions, I have no idea. You can try setting the games to 1024x768 and then look at your prefs.prop file and see if the 2 bytes at the locations I mention are 0x7f and 0xbf.

Another thing to check is that the byte that follows the hByte and vByte is 0xbb. On all games that use the compliment value the next byte is always 0xbb.

On the games that don't use the compliment value, the next byte is always 0x44.

If you find that the bytes don't match, try setting the game to 1024x768 then use a hex editor to search for [0x7f][0xbb]. 4 bytes away from the hByte will be the vByte [0xbf] followed by [0xbb].

Or it may not use the compliment so then try [0x80][0x44] and 4 bytes away will be [0x40][0x44]

One other thing to note is that some games duplicate the bytes. Only one set of them is used to force the video mode.


Top
 Profile  
 
PostPosted: 22 Mar 2009, 23:45 
Offline

Joined: 22 Mar 2009, 04:59
Posts: 26
Also, what's this about the "newest version?" I don't see any patches on Telltale's website. Does the retail box come with the "newest version?" If not, are retail customers screwed?


FWIW, the newest version IIRC, is just that they updated the S1 engine to the S2 engine. But I have no idea about the retail version.

The retail versions may not even have any of the bytes in the locations I mentioned.


Top
 Profile  
 
PostPosted: 23 Mar 2009, 00:01 
Offline
Insiders
Insiders

Joined: 07 Nov 2005, 04:16
Posts: 3010
I just downloaded Sam & Max Episode 201 demo and set the res to 1680x1050.
hByte is 2D. Working backwards, complement byte would be D2, decimal is 210, multiply by 8 and you get 1680. As expected.

vByte is 7C. Compliment would be 83, decimal is 131. 131 * 8 = 1048, which is pretty close to 1050. I'm going to see if that works in Abe Lincoln Must Die.

Ok, I've found out that in order to get 1050 vertical resolution, you need to set TWO bytes. The usual vByte should be 7C. The byte immediately before it, which is normally FF for resolutions that are divisible by 8, should be BF instead.

I can't quite figure out why it's BF. The complement of BF would be 40, which in decimal is 64.


Top
 Profile  
 
PostPosted: 23 Mar 2009, 17:36 
Offline

Joined: 22 Mar 2009, 04:59
Posts: 26
Now were really getting somewhere.

It seems the magic switch-over number is 1024.
1024/8 = 128 = 0x80
(1024-512)/4 = 128 = 0x80

So below 1024 you use (res-512)/4.
1024 is always 0x80.
Above 1024 you use res/8.

Not sure why TTG went this route instead of just storing the res in 2 bytes, but who knows.

As for the other byte you mention you are right. I added some custom resolutions and came up with this. The first byte is the newly found byte you mention, the second byte is our resByte, then as always followed by 0x44.

Non-compliment values
1042 = 0x40, 0x82, 0x44
1044 = 0x80, 0x82, 0x44
1046 = 0xc0, 0x82, 0x44
1048 = 0x00, 0x83, 0x44
1049 = 0x20, 0x83, 0x44
1050 = 0x40, 0x83, 0x44
1070 = 0xc0, 0xd0, 0x44

So the front byte is the remainder stored in the top 3 bits.

1048/8 is even so we have 0x83 with 0x00 remaining.

1049/8 is 0x83 + 0x01 left over. Left Shift 0x01 by 5 (or *32 or *0x20) and we get 0x20 for the byte in front of the resByte. Lets call it remainByte.


Top
 Profile  
 
PostPosted: 25 Mar 2009, 14:11 
Offline

Joined: 22 Mar 2009, 04:59
Posts: 26
deleted by me. Info no longer needed.


Top
 Profile  
 
PostPosted: 25 Mar 2009, 15:20 
Offline
Insiders
Insiders

Joined: 07 Nov 2005, 04:16
Posts: 3010
If you PM Ibrin, I'm sure he'll be happy to host your respatcher.


Top
 Profile  
 
PostPosted: 26 Mar 2009, 04:16 
Offline

Joined: 22 Mar 2009, 04:59
Posts: 26
If you PM Ibrin, I'm sure he'll be happy to host your respatcher.


Thanks. I p-mailed him yesterday and he said he would. I e-mailed the files to him a few hours ago, so we just have to wait for him to find the time to host them.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 36 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 14 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  




Powered by phpBB® Forum Software © phpBB Group