Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

Happy Holidays from the GTANet team!

Changing the maximum FPS


Bigun
 Share

Recommended Posts

Has the address for VC's 30-or-so FPS limit with the frame limiter on been found yet, so you can edit the EXE to increase it if you want? If not, can anybody knowledgeable please try to look for it?

I know you can just turn off the frame limiter. But it is a total waste and unneeded, to have 150 FPS, and have buildings next to me take time to load their real textures instead of LODs, etc. Both using the frame limiter on and off currently gives bad play experience, you could mostly fix it by increasing the frames allowed by the frame limiter to a more sensible limit than 30.

Link to comment
Share on other sites

 

Has the address for VC's 30-or-so FPS limit with the frame limiter on been found yet, so you can edit the EXE to increase it if you want? If not, can anybody knowledgeable please try to look for it?

I know you can just turn off the frame limiter. But it is a total waste and unneeded, to have 150 FPS, and have buildings next to me take time to load their real textures instead of LODs, etc. Both using the frame limiter on and off currently gives bad play experience, you could mostly fix it by increasing the frames allowed by the frame limiter to a more sensible limit than 30.

 

I think it can be done, I just have to look it up again.

 

Alex

 

Link to comment
Share on other sites

0x9B48EC DWORD

Amount of frames to be rendered per second. Default is 30.

 

0x869655 BYTE

Toggle frame limiter.

 

You can easily experiment with the settings, using TSearch for example.

Edited by Squiddy
Link to comment
Share on other sites

Thanks, Squiddy! smile.gif

It works. But I need to edit the memory every time I start the game, and since I can't really write a launcher or something, isn't there a way to edit it in the EXE so the value stays that way? I tried to but I know nothing about this and I guess the memory address isn't what you use for that. dontgetit.gif

Link to comment
Share on other sites

Racer did this for SA...let me see if I can find the post.

 

EDIT: Ok here ya go:

 

http://www.gtaforums.com/index.php?showtop...dpost&p=2897604

 

BACKUP THE EXE FIRST, since what you'll be doing is hardmodding it. I have NO idea if this technique works for the VC.exe, though I can't imagine why it wouldn't; you're essentially looking for the same data.

Edited by ceedj

I'm actually not against democracy though. I'm against things I think are f*cking stupid. I think this is f*cking stupid. - Sweets

Link to comment
Share on other sites

There are many ways. You can do it the way ceedj suggest, which should work fine. A launcher is possible too, but I think this is a bit overkill, having to start another exe just to change that limit.

 

I would suggest either changing it directly in the exe or having a little .asi inside your vice city directory which does the job. This could be done by specifying a certain value in a config file, or by parsing the command line. Command line would mean, that you create a shortcut to the gta-vc.exe and apped the limit value:

 

"gta-vc.exe -fpslimit 50"

 

If you're interested in the asi option and can decide what would be better (config file or command line option or both?!), I would write that.

The asi has a good advantage. hammer83 wrote a DLL (which ModelingMan ported to c++) which supports many different versions of VC, so you avoid the hassle of looking for the adress on different exe versions. I use that on most of my mods.

 

Edit:

Or contacting steve to include it into his limit adjuster, kinda fits there I think.

Edited by Squiddy
Link to comment
Share on other sites

Sorry for posting this here but don't think I should make a new topic about it, how do you make an *.asi file? I know it's an assembly include file, but do you make one with assembly language? Do you know any tutorial for creating one, that modifies the exe (like here the max FPS)?

Link to comment
Share on other sites

A .asi is simply a DLL. VCs sound engine (miles sound studio) loads different files (.asi, .flt maybe others) as plugins. So you use whatever you like, that can create DLLs. I'm using c/c++.

 

 

Edit:

Wait, I must have lost my mind.. it just came to me when I thought about it. Modifying the exe directory does work, but not with the adress I found.

You have to edit the instruction that assigns the value to that adress.

 

0x602D68 4 BYTE

Edited by Squiddy
Link to comment
Share on other sites

Oh, thanks. But what files do you need to include for the DLL to work, in spooky's SCM hook there was some Direct X stuff that weren't even no longer on the site

Link to comment
Share on other sites

Depends on what you want to achieve. For a basic DLL you only need to include "windows.h" for the DLL entry. The rest is up to you.

As you are talking about DirectX, it works a little bit different, even thought you can work with directX from those dlls too, but it's probably better to start with one of the DirectX hooks avaiable here.

 

To modify for example the fps limit you only need a basic DLL, in the DllMain you change the instruction to whatever you like, that's all. I don't know of a tutorial, but you could have a look at gtagarage.com. Some people that worked with DLLs released their source.

 

For example you could have a look at my widescreen fix for VC (should make a topic about that sometime wow.gif): http://squiddy.marway.org/gta/source/vcwidescreen.txt

This is just changing instructions and values. Ignore the vcversion code, it just adjustes memory offsets to fit many vc versions.

 

Link to comment
Share on other sites

Thanks, Squiddy. Reading source codes turn.gif

 

EDIT: Just one more question, what about changing memory adresses values?

Edited by Mag-got
Link to comment
Share on other sites

Okay, I wrote a little asi. Both command line and configuration file are supported.

 

Download (http://squiddy.marway.org/gta/files/fpslimit.zip)

 

I'm lazy so I quote the readme, hope anyone can read.

 

Install

-------

  Copy fpslimit.asi to your vice city directory.

  E.g. C:\Program Files\Rockstar Games\Grand Theft Auto Vice City\

 

Usage

-----

  By default the limit is 30. You have two options to change it.

 

  Make a file fpslimit.cfg and write the desired limit in the first line. Or use

  the file from the archive and change it to your needs.

 

  or

 

  Create a shortcut to your gta-vc.exe and add the following:

  -fpslimit=30

  where for example 30 is the limit you want. Target of the shortcut

  could look like that:

  "C:\Program Files\Rockstar Games\Grand Theft Auto Vice City\gta-vc.exe" -fslimit=30

 

  ATTENTION: The shortcut option overwrites the setting in the file, so if you change it in

  the config file, be sure to have no limit set in the shortcut.

 

 

 

 

 

 

 

 

 

EDIT: Just one more question, what about changing memory adresses values?
That's easy. If you only want to change memory, you specify a pointer to the desired address and assign a value. From the fps limit:

 

DWORD *p = (DWORD*)0x9B48EC;*p = 45;

 

However, if you want to change code, it is protected. Therefore, you have to change it first to be writeable again.

 

DWORD dwProt;DWORD p = (DWORD*)0x602D68;VirtualProtect((void*)p, 4, PAGE_EXECUTE_READWRITE, &dwProt);*(DWORD*)p = 45;VirtualProtect((void*)p, 4, dwProt, &dwProt);	

 

This one changes the instruction, which assigns 30 to the fps limit btw.

Edited by Squiddy
  • Like 1
Link to comment
Share on other sites

Thanks a lot Squiddy, those are just the things I thought, makes this a lot clearer to me colgate.gif I will propably get some DLL done this easter, this has been one of the few things I've wanted to learn for a while.

Link to comment
Share on other sites

Now, how do you do this for GTA SA?

 

Because I like the limiter on, it frees up resources, but 30 FPS is a mockery of my computer wink.gif

Link to comment
Share on other sites

@morsolo:

ceedj already provided a link to an explanation on how to do this. You have to change the exe yourself this way, but Stretchnutter explained it pretty good:

http://www.gtaforums.com/index.php?showtop...0entry2897604

 

Otherwise see if Sacky could include it in his Limit Adjuster, if he hasn't allready. SA Limit Adjuster

 

@Mag-got:

Glad I could help. smile.gif

Edited by Squiddy
Link to comment
Share on other sites

Ah, thanks Squiddy! tounge.gif

 

I might contact Sacky to see if he'll put it in, thanks for that suggestion.

Link to comment
Share on other sites

ceedj already provided a link to an explanation on how to do this. You have to change the exe yourself this way, but Stretchnutter explained it pretty good:

http://www.gtaforums.com/index.php?showtop...0entry2897604

I just posted in that topic; Hiew demo is non-functional on SA exe it can support 15000 bytes exe,

SA exe is 15mb confused.gif

 

Can this be done with resource hacker or something? I'd be lost either way...

Link to comment
Share on other sites

  • 12 years later...
Placeholder225

Hey dude, if you still alive please upload your script again, the link from 2008 is not working

On 3/20/2008 at 3:59 PM, Squiddy said:

Okay, I wrote a little asi. Both command line and configuration file are supported.

 

Download (http://squiddy.marway.org/gta/files/fpslimit.zip)

 

I'm lazy so I quote the readme, hope anyone can read.

 

 

 

 

 

 

 

 

 

That's easy. If you only want to change memory, you specify a pointer to the desired address and assign a value. From the fps limit:

 

DWORD *p = (DWORD*)0x9B48EC;*p = 45;
 

 

However, if you want to change code, it is protected. Therefore, you have to change it first to be writeable again.

 

DWORD dwProt;DWORD p = (DWORD*)0x602D68;VirtualProtect((void*)p, 4, PAGE_EXECUTE_READWRITE, &dwProt);*(DWORD*)p = 45;VirtualProtect((void*)p, 4, dwProt, &dwProt);	
 

 

This one changes the instruction, which assigns 30 to the fps limit btw.

 

Edited by Placeholder225
Link to comment
Share on other sites

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
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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