Alright, let's see if this will lead me to find what I want
I managed to get it so that when I close and restart, it automatically goes to correct address.
However, if I open a new project and start a game there and try to use the same address, it doesn't work.
I get an offset of 0x214...not sure what to do with that.
Hmm wonder where to go from there.
EDIT: looked at a different video
This one tells me that green addresses are base pointers and that's what I should be looking for.
Looking through the list, I do find one. It points to RGSS DLL
RGSS300.dll+25EB00So the pointer to the value is located at wherever the DLL is plus the offset.This one always points to the correct value even if I start up different instances of the game.
So now the question is...what would be the value of RGSS300.dll?
Oh, wait, so RGSS300.dll starts at 0x10000000, which is the "fixed" address.
So I should be able to modify this address and it will work, but the game just crashes.
base = 0x10000000mod = -> adr, val { DL::CPtr.new(base + adr)[0, val.size] = val } f = -> rate { [rate].pack("l").scan /.{4}/ }o = f.(60)[0]mod.(0x25EB00, o)That's not right. I need to add the offset as well
Code:base = 0x10000000mod = -> adr, val { DL::CPtr.new(base + adr)[0, val.size] = val } f = -> rate { [rate].pack("l").scan /.{4}/ }o = f.(60)[0]mod.(0x25EB00 + 0x214, o)
And now I start the game, and it doesn't crash! and I have 60 FPS.Might be on to something.
So I switch to 120, and...it's still 60 FPS. Didn't work
:(
Cheat engine still reports it as 60. Which is weird...I'd like to believe I'm changing the value of those 4 bytes starting at the given address.
UPDATE
OK...didn't think of the basics.
I printed out the value at that address when the game starts normally and it was 0. So I don't have the right address, cause I expect it to be 60.