[FF7] SpeedHack (Alpha)

  • Thread starter Thread starter Kranmer
  • Start date Start date
Status
Not open for further replies.
K

Kranmer

Guest
This hack is no longer needed since Aali's Custom Driver (0.7.7b) now supports loading the DLL so the EXE no longer needs patching.
here is Aali's Custom Driver 0.7.7b with the speedhack.dll and enabled in the CFG
http://www.mediafire.com/?wz3mmyofnmg

-------------------------------
Hi guys, I was reading through the "Custom Driver" Thread yesterday and a few people have asked how to make the game go faster or just for higher FPS, So i decided to implement Dark Byte's Generic Speedhack (speedhack.dll) into FF7 so that a box will run along side the game allowing the user to change the speed that the game will play at.
Here are some screenshots
here the game boosted by a very little amount.
ff7speedhack1.jpg

here it is boosted by a lot.
ff7speedhack2.jpg


Anyway here is the patch
http://www.mediafire.com/?zzzugekamyf
THIS IS A ALPHA TEST AND WILL ONLY WORK ON A UNMODDIFIED FF7.EXE 1.02.
ALSO BACKUP YOUR FF7.EXE BEFORE APPLYING THE PATCH.
Any Feedback is welcome.

This patch is completely compatible with Aali's Driver and all patches that dont require ff7.exe being modifyed (like "custom textures" and "models" etc).

Known problems:-
1 - After exiting the game somtimes a error while appear (only happened once to me).
2 - If the speed is set too high (and i mean too high) the game may crash when entering a new area (for example 20speed is fine but 500speed isnt)

Thanks To:-
Dark Byte
 
Last edited:
Interesting, Is this just a hack that makes it run faster (sound plays double speed and everything is sped up) or is this a hack that makes it run smoother?
 
Interesting, Is this just a hack that makes it run faster (sound plays double speed and everything is sped up) or is this a hack that makes it run smoother?
I'm going to assume faster graphic motions. Making it smoother would mean increasing frame counts of all models by a factor of four. This would likely make all the sound effects go out of sync since they are executed by animation frames. Try summoning KoR and you'll see what I mean.
 
yes NFITC1 is correct, This is just a generic speed hack to make everything run faster, The audio does go out of sync on things like KoR but normal menu sounds and background music all seem in sync.
I also have noticed that if you use this in a part of the game that has a timer (like the first reactor) or even the battle with emerald weapon, the timer still runs at normal speed even if the game is running at 170+FPS,
Also V-sync limits this hack to 60fps so if your using this its best to disable it for higher fps (if you want higher then 60fps that is, if your happy with 60fps then leave v-sync on)
 
yes NFITC1 is correct, This is just a generic speed hack to make everything run faster, The audio does go out of sync on things like KoR but normal menu sounds and background music all seem in sync.
I also have noticed that if you use this in a part of the game that has a timer (like the first reactor) or even the battle with emerald weapon, the timer still runs at normal speed even if the game is running at 170+FPS,
Also V-sync limits this hack to 60fps so if your using this its best to disable it for higher fps (if you want higher then 60fps that is, if your happy with 60fps then leave v-sync on)
Yeah, the timer uses the system clock, and doesn't take framerates into account.
 
yes NFITC1 is correct, This is just a generic speed hack to make everything run faster, The audio does go out of sync on things like KoR but normal menu sounds and background music all seem in sync.
I also have noticed that if you use this in a part of the game that has a timer (like the first reactor) or even the battle with emerald weapon, the timer still runs at normal speed even if the game is running at 170+FPS,
Also V-sync limits this hack to 60fps so if your using this its best to disable it for higher fps (if you want higher then 60fps that is, if your happy with 60fps then leave v-sync on)
Yeah, the timer uses the system clock, and doesn't take framerates into account.
This is news to me...
I don't remember the PSX having a system clock... I think? I haven looked at mine in years, but I don't remember ever setting the time. I wonder how the original PSX did that...
 
Cool thanks kranmer, works great.
I made a video example of it here, on speed 6:
(10 points to whoever can guess what FF game the battle music is from)
 
Cool thanks kranmer, works great.
I made a video example of it here, on speed 6:
(10 points to whoever can guess what FF game the battle music is from)
Wow that's cool! But isn't that serpent's 'Viper Breath' suppose to be blue? Which mod made it change?
And imagine if you could speed up the FMV's. DAMN! lol
Anyways, pretty nice hack you got there.  ;)
 
That would be my mod. I redid the flamethrower enemy skill. Did not realize it had a palette swap.
 
That would be my mod. I redid the flamethrower enemy skill. Did not realize it had a palette swap.
Aww. I kinda liked the blue-flamey thingy lol.
 
@titeguy3 - Thanks for that i wasnt sure why, i had no idea it took it from the system.

@Timber - Nice video, I have no idea on the music though.

@drfeelgud88 - i dont know how to get this to work with videos but you could always just reencode your videos at higher FPS to go with this.
 
I'm not sure how it does it (AFAIK there's no system time function in C++), but I remember having a discussion about how the timer completely ignores the framerate, so if you speed up the game you'll have an easier time with the timed segments, and if your game lags, you'll have a harder time with the timed parts of the game.
 
It prob just uses timegettime (the windows internal timer) and uses time based movement rather than frame based. I know that when I made a few games I often had to use Time based movements so that slower PC's would still run the game at the same speed.  It is something like this (forgive me I am rusty and I hate time based movement):

Timegettime displays current number of milliseconds that Windows has been operational.  It is independant of games and is always running in the background.  See Aali's driver, he has also allowed you to upgrade to a more accurate timer performanceQuerycounter which is basically the same idea. http://msdn.microsoft.com/en-us/library/dd757629(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms644904(VS.85).aspx

below, lasttime, millisec and change are variables that I have made.

Lasttime=timegettime [lasttime becomes the current windows time]

millisec=millisec+change [the number of milliseconds elapsed since timer start is added from the change]

Display Number [formatted to show only when millisec clocks a second, doesnt have to be here in this loop]

change= timegettime-lasttime [The change in time is the current windows time minus the last windows time]


---------

That is bog standard and I hope I haven't made a mistake.  The problem with this if I have it right, is that if you were on an EXTREMELY slow computer, the timer would count down at the correct speed but the game would be so slow you would be at a massive disadvantage to complete bombing mission.  Not sure why they didn't use Frame based movement here.


I doubt it does this in the PSX version, I am guessing all of that will be frame based movement.
 
Last edited:
Also I think it is really worth mentioning that this speedhack can also be achieved using Cheat Engine 5.6
(since .exe mod patches don't like to play nice with eachother)
Link: http://www.cheatengine.org/

@Timber - Nice video, I have no idea on the music though.
Yeah I was being tricky, the music hasn't been released yet, but it's by Nobuo Uematsu.
 
Also I think it is really worth mentioning that this speedhack can also be achieved using Cheat Engine 5.6
(since .exe mod patches don't like to play nice with eachother)
Link: http://www.cheatengine.org/

@Timber - Nice video, I have no idea on the music though.
Yeah I was being tricky, the music hasn't been released yet, but it's by Nobuo Uematsu.
Basically cheatengine and this hack are very similar (we both use a speedhack.dll created by Dark Byte although we use different DLL versions) but my aim was to make it so that an external program wasn't needed, I basically just inject the speedhack.dll into FF7 everytime it runs.
I am trying to come up with a patch that will work with all FF7.EXE's but its hard since there are so damn many variations,
It may be easier to make different patches for different versions of the game by request then to make a universal patch that will work with every EXE.
 
kranmer, there will be compatibility for other versions of FF7.exe (modded/unpatched/international) of this speedhack in the future?
and other question: this program supports fullscreen view or not?
thanks for your work!
 
kranmer, there will be compatibility for other versions of FF7.exe (modded/unpatched/international) of this speedhack in the future?
and other question: this program supports fullscreen view or not?
thanks for your work!
@AlbusJC - As i said in my last post it is hard to get it working with all EXE's since there are so many different ones but i am trying to work on it but it isnt going well,
But if you want to make a request i will make a patch just for your EXE (either post the info on your EXE here or PM me if you want to request a patch for your ff7.exe).
This works with fullscreen and window and all mods that dont require modding the EXE (like "Aali's Custom Driver" etc)
 
What does it patch? If I make it an option in the custom driver you'll have support for any 1.02-based exe for free.
 
Status
Not open for further replies.
Back
Top