Jump to content

[REL] Vice City Widescreen Fix


Recommended Posts

Hey all,

 

a friend noted on gtareactor that Vice City has problems with 16:10 resolutions (like widescreen monitors have). This showed in a difference between the crosshair and the actual hit point. See the screenshots below if you don't know what I'm talking about. smile.gif

From that on I worked on improving the display and fixed some minor stuff.

 

Fixes

- HUD not stretched anymore

- Crosshair match hit point

- perspective adjusted

 

Download

http://squiddy.marway.org/gta/files/vcwidescreen.zip

(http://squiddy.marway.org/gta)

 

Install

Extract into vice city directory. Enable the widescreen option in the display menu. Be sure to keep the file in the directory only if you're playing in widescreen. Otherwise it will affect 4:3 displays.

 

Before/After comparison

screenshot

Edited by Squiddy
Link to comment
https://gtaforums.com/topic/318680-rel-vice-city-widescreen-fix/
Share on other sites

Thank you all.

 

Does SA really have the same problems? I am surprised, I expected them to handle this better. Of course I do my best to help you Alexander, you might want to check the source, it really is not much I did, research lasted longer than everything else:

http://squiddy.marway.org/gta/source/vcwidescreen.txt

 

But if you don't work with VC it probably doesn't help you much, maybe I can explain it better.

 

First priority was to fix the crosshair position, which is drawn in CHud::Draw. The calculation used some floats for scaling. As I changed them, the bullet hit position was changed too, so I had to change the code and manually adjusted them to fit.

 

float shoot_scale_x = 0.5362989902f;float shoot_scale_y = 0.3810000122f;DWORD p = vcversion::AdjustOffset(0x5575FA);VirtualProtect((void*)p, 4, PAGE_EXECUTE_READWRITE, &dwProt);*(DWORD*)p = (DWORD)&shoot_scale_x;VirtualProtect((void*)p, 4, dwProt, &dwProt);	p = vcversion::AdjustOffset(0x55760A);VirtualProtect((void*)p, 4, PAGE_EXECUTE_READWRITE, &dwProt);*(DWORD*)p = (DWORD)&shoot_scale_y;VirtualProtect((void*)p, 4, dwProt, &dwProt);	

 

 

Second was the vertical scale of the whole display. Strechnutter had that option in VC Camhack, called 'Height stretch'. Maybe it's present in SA too. This value is changed when activating cutscenes for example.

 

p = vcversion::AdjustOffset(0x54A29E);VirtualProtect((void*)p, 4, PAGE_EXECUTE_READWRITE, &dwProt);*(float*)p = 1.56f;VirtualProtect((void*)p, 4, dwProt, &dwProt);

 

 

The horizontal scaling of the HUD was corrected. Everything was affected, excepts the radar map sprites. They had to be adjusted seperatly.

 

*(float*)vcversion::AdjustOffset(0x697A70) = hud_scale_x;*(float*)vcversion::AdjustOffset(0x68FD14) = radar_scale_x;

 

 

When I corrected the huds horizontal scale, the sniper mode had a bug. The black rectangles left and right to the sniper texture had to be made wider, otherwise a small coloumn was not black. This is how it looked in the end:

See here: http://gtareactor.planet-multiplayer.de/gt...achmentid=32712

 

 

Well, I hope this helps you somehow. smile.gif

If there is any question, feel free to ask.

San Andreas on my PC always looks all stretched upwards. I've resorted to the CamHack, it fixes the problem. I haven't noticed any aiming difficulties though, but I'll be glad if you can fix this. It just eliminates another app I keep open when gaming. smile.gif
  • 2 weeks later...

Well... that's going to be difficult. Thing is, I asked a friend what vertical scale he prefers, that's the one I chose for the fix. It's really a matter of personal taste I assume, but imo on the second screenshot Tommy does look more natural than on the other one.

If you prefer a different setting, I need to make it configurable.

Well... that's going to be difficult. Thing is, I asked a friend what vertical scale he prefers, that's the one I chose for the fix. It's really a matter of personal taste I assume, but imo on the second screenshot Tommy does look more natural than on the other one.

If you prefer a different setting, I need to make it configurable.

He looks too short in the second picture.

spaceeinstein

I don't know if other people have this issue but someone posted this problem with the widescreen fix.

http://img228.imageshack.us/img228/3417/bugcr3.jpg

Oh, never checked that. biggrin.gif

 

Makes sense, because that map is rendered in the same function as the HUD I think. When I corrected the scale factor for the hud, the icons position stayed the same. Two possibilities.. stretching the map in that display or correcting the icons position. I think the first is easier. I'll check that out.

 

Edit

Okay, figured out where the problem is, just need to find a good way to fix it. Maybe I do it the lazy way, at least the bug will be fixed then. tounge.gif

Edited by Squiddy
The Kirbster

Thanks man, I really needed this. icon14.gif Good job. Correct me if I'm wrong, but I think you just made the aiming circle at the location of where the Widescreen mode fires, instead of changing the line of fire location to where the aiming circle is. Yes?

Thank you. I think I fixed the problem with the map, could someone try it out please? I do not have a widescreen here, which makes it harder to decide if it really was fixed.

 

I uploaded the new .asi temporarly for testing. Thanks to anyone who tries. If it works, it will be updated on my webpage.

http://squiddy.marway.org/gta/files/vcwidescreenfix.asi

The Kirbster

OK, I'll go test it out after I finish re-installing (my game can't load for some reason cryani.gif)

 

Edit: Alright, I tested it, and the map is good. All the icons are good. BUT, the new version has the problem that is displayed in the "Before" of the Before/After pic. (Like I aim at a cop's head with the targeting thing, and it completely misses) Strange... confused.gif

Edited by The Kirbster
  • 4 weeks later...
BruTaLysT

If you still use a 4:3 CRT, it's quite easy to simulate a 16:10 widescreen resolution. Just set the display to 1920x1080 for instance (or 1680x1050, 1440x900 etc.) and scale the image with your monitor's OSD settings to get the correct aspectratio. This will result in black bars on top and bottom, but it will represent a 16:10 display correctly. It could be very practical for you to test the changes you make.

 

But lot's of tnx for making the fix anywayz. Although I hope u will fine-tune it a bit further

 

Oh and i you can't get these resolutions to work, there should be ways to add custom resolutions within nVidia or ATi control panel. If this does not work either, Powerstrip will be able to biggrin.gif

Edited by BruTaLysT
  • 2 months later...
  • 2 months later...
I tried it on the Steam version of VC, and the game crashes on loading a savegame. Anybody got it to work on the Steam version?

 

Using Geforce 8800 GT 512, Forceware 169.12, 1440x900 resolution

Nope, crashes for me too in the Steam version.

 

GeForce 9800 GX2

Forceware 175.16

1680x1050

 

Any ideas? confused.gif

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.