NokiMo
TopazTK
TopazTK

patreon


The Importance of Update Agnosticism

One of the greatest reasons that the new releases of Re:Fined is taking a long time to deliver is because I am looking for ways to provide the mod a way to adapt and modify itself in case an update from Square Enix strike again. Basically, I should just be able to pack the mod in a new EXE in the smallest amount of time possible and be done with it. This is called "Update Agnosticism".

The idea being, instead of being hard-wired to edit certain memory spaces, the mod will just determine what to edit when it starts up and does that instead. This is a great undertaking because it means that the mod will have to do a lot of operations on first boot. However, even though the undertaking is large at it's first iteration, if done right, it doesn't have to be done again! As such, any update that comes to Kingdom Hearts will see a Re:Fined release in the exact same day! Magical, right? I think so too! So I believe it is for the greater good to delay the release to ensure this feature's success.

There are 2 ways to be Update Agnostic:

Signature Recognition, although the most reliable method, is also the hardest to program. Now, I do believe that I am a smart man, but I ain't smart enough for that. As such, in my current situation, I won't be attempting that method.

However, Pattern Recognition is easier to work with, and as far as I can see right now, should work for all updates once done. Basically, every function that Re:Fined edits starts with a unique set of bytes across all versions, and all Re:Fined has to do on bootup is to find those bytes and declare that memory position as the function! Seems simple, but there are many factors in making this successful. Because this game is a port of a port of a port of a 2006 game, the functions are messy and complicated. And the signatures can be duplicated across many positions. To overcome this, I will be deploying a system that looks on the surrounding patterns as well, which can be tricky.

But when this is done, the latest version of Re:Fined should be compatible with all versions from 1.0.0.0 EGS to 1.0.0.10 Steam. And hopefully, everyone can have a good time with it.

This is all for this blog post. More Patreon exclusive insights on Re:Fined will be posted very soon! Thank for very much for your support and Keep on Moddin'!


Related Creators