Ditto's International Hack Release Day (IHRD) Thread

Happy International Hack Release Day!
On occassion I partake in “making engine hacks”, and here I shall show any I have made for this wondrous day.

Affinity Getter

This engine hack aims to allow easy modification of affinities for characters without having to change character IDs.
It does this by running functions from a list, akin to skillsys’ calc loops.

Therefore it could also be considered the AffinityCalcLoop but that’s stupid and lame and other such expletives.

(how to actually use it)

Modify any parts of the installer you need to. There are definitions which may need changed depending on your romhack’s needs. Always consult a doctor before changing your BL freespace address. If a fever breaks out, stop using this product immediately and seek medical attention.

As for writing your own functions; each function is given two parameters:

r0 - Unit pointer of the unit you’re getting the affinity for
r1 - Pointer to a word of stack space

And each function returns 0 if the loop is to continue, non-zero means the loop will terminate.

The affinity ID itself is written to the stack space given as a parameter to the function, and this affinity ID will be read and used when the loop terminates.
So you do not need to set it unless you are returning non-zero as well.

(A C-style header would be int AffinityFunc(struct Unit* unit, int* affinity))

Write your own functions to modify one of the least gameplay applicable things in GBAFE NOW!
Download here

unfortunately I have no photos but you’ll have to trust me okay it’s very cool

it. it does work. if it doesn’t that’s a bug please report it to me it’s a genuine release.

7 Likes

if it’s an Affinity Getter

Let’s hook it up to Gaiden Magic
And make a law/chaos system

Let’s Ogre Battle.

1 Like