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.