Bigun Posted March 12, 2008 Share Posted March 12, 2008 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 More sharing options...
AK-73 Posted March 17, 2008 Share Posted March 17, 2008 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 More sharing options...
Squiddy Posted March 18, 2008 Share Posted March 18, 2008 (edited) 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 March 18, 2008 by Squiddy GTA mods VC hud GTAreactor ~ DeviantArt ~ Link to comment Share on other sites More sharing options...
Bigun Posted March 20, 2008 Author Share Posted March 20, 2008 Thanks, Squiddy! 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. Link to comment Share on other sites More sharing options...
rebel_36 Posted March 20, 2008 Share Posted March 20, 2008 would be cool if someone could make a launcher, a must download Link to comment Share on other sites More sharing options...
ceedj Posted March 20, 2008 Share Posted March 20, 2008 (edited) 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 March 20, 2008 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 More sharing options...
Squiddy Posted March 20, 2008 Share Posted March 20, 2008 (edited) 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 March 20, 2008 by Squiddy GTA mods VC hud GTAreactor ~ DeviantArt ~ Link to comment Share on other sites More sharing options...
Mag-got Posted March 20, 2008 Share Posted March 20, 2008 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 More sharing options...
Squiddy Posted March 20, 2008 Share Posted March 20, 2008 (edited) 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 March 20, 2008 by Squiddy GTA mods VC hud GTAreactor ~ DeviantArt ~ Link to comment Share on other sites More sharing options...
Mag-got Posted March 20, 2008 Share Posted March 20, 2008 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 More sharing options...
Squiddy Posted March 20, 2008 Share Posted March 20, 2008 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 ): 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. GTA mods VC hud GTAreactor ~ DeviantArt ~ Link to comment Share on other sites More sharing options...
Mag-got Posted March 20, 2008 Share Posted March 20, 2008 (edited) Thanks, Squiddy. Reading source codes EDIT: Just one more question, what about changing memory adresses values? Edited March 20, 2008 by Mag-got Link to comment Share on other sites More sharing options...
Squiddy Posted March 20, 2008 Share Posted March 20, 2008 (edited) 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 March 20, 2008 by Squiddy Placeholder225 1 GTA mods VC hud GTAreactor ~ DeviantArt ~ Link to comment Share on other sites More sharing options...
Mag-got Posted March 20, 2008 Share Posted March 20, 2008 Thanks a lot Squiddy, those are just the things I thought, makes this a lot clearer to me 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 More sharing options...
morsolo Posted March 20, 2008 Share Posted March 20, 2008 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 Link to comment Share on other sites More sharing options...
Squiddy Posted March 20, 2008 Share Posted March 20, 2008 (edited) @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. Edited March 20, 2008 by Squiddy GTA mods VC hud GTAreactor ~ DeviantArt ~ Link to comment Share on other sites More sharing options...
morsolo Posted March 20, 2008 Share Posted March 20, 2008 Ah, thanks Squiddy! I might contact Sacky to see if he'll put it in, thanks for that suggestion. Link to comment Share on other sites More sharing options...
derty Posted March 20, 2008 Share Posted March 20, 2008 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 Can this be done with resource hacker or something? I'd be lost either way... Link to comment Share on other sites More sharing options...
Bigun Posted March 21, 2008 Author Share Posted March 21, 2008 Thanks for the plugin Squiddy. Link to comment Share on other sites More sharing options...
Placeholder225 Posted November 14, 2020 Share Posted November 14, 2020 (edited) 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 November 14, 2020 by Placeholder225 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now