Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[XCX] Various New Mods #675

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

intra0
Copy link
Contributor

@intra0 intra0 commented Jan 1, 2025

new mod that by default is just a quality of life mod.
makes you boot with max TP instead of 0
also disableds the skell losing their TP when out of them
most people are unaware of that mechanic but everyone who is aware hates it

also has aditional cheat options
disabling automatic hp healing options
and a new game mode of syncronising your HP and TP stats

Also a new mod to change blade division because you no longer can with the offline down
and a new mod to force enable/disable the skell flight module
and a new mod to fix one of the most anoying bugs in the game relating to the camera forgetting your settings whenever theres a ceiling over you

Copy link
Contributor Author

@intra0 intra0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've written a review that should explain what various parts of the mod does.
please let me know if this was helpful and if so I'll do it for all my new mods

@@ -0,0 +1,104 @@
[XCX_BootWithTP_Data]
moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J
.origin = codecave
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the data file just stores a whole bunch of data that the mod needs to work.


;array of flags that check if applied max tp on boot to a specific character/skell
BoolBootWithTP:
.byte $QoL-1, $QoL-1, $QoL-1, $QoL-1, $QoLSkell-1, $QoLSkell-1, $QoLSkell-1, $QoLSkell-1
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has an array of bools to check if tp has been updated, so that it only updates once at boot

.byte $HPboundtoTP, $HPboundtoTPNegative, $TPboundtoHP, $TPboundtoHPNegative
;array of syncronous settings for skell
DollSyncSettingsArray:
.byte $HPboundtoTPSkell, $HPboundtoTPNegativeSkell, $TPboundtoHPSkell, $TPboundtoHPNegativeSkell
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has a whole bunch of arrays that store the settings from the rules.txt so they can be accessed easily and I dont need sperate code for ground characters and skells

StoreCharacter2Stats:
.uint 0, 0, 0, 0, 0, 0, 0, 0
StoreCharacter3Stats:
.uint 0, 0, 0, 0, 0, 0, 0, 0
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to store a lot of data to identify what character we want to update the HP of
there needs to be a constant track of our hp for the disable healing when skip traveling mod

.uint 0, 0, 0, 0, 0, 0, 0, 0
;array of offsets for each of the stats. used to lower code duplication
PointerStatsOffsets:
.short maxHP, meleeAttack, rangedAttack, potential, defence, meleeAccuracy, rangedAccuracy, evasion
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this array is used when storing stats and checking stats.
the max tp stat is missing because there is a condition that is only used by 1 specific enemy that changes it
I do not think any of the other stats can change without going into a menu, and every menu calls the boot section of the mod pretty much

lwz r31, maxTP(r10)
_MaxHPSmallerbootsync:
stw r31, currentTP(r10)
stw r31, currentHP(r10)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and boot needs its own function for Synchronously binding HP & TP

lis r31, NumOfTimesLoadingScreenRan@ha
lwz r30, NumOfTimesLoadingScreenRan@l(r31)
BootWithTP:
bl CheckifToMaxTP_Boot
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

main function for boot to call the functions above (has a different entrance for skells or ground characters)

bl GetModDataDollHPTP
addTPtoHP:
or r21, r12, r12
lis r30, FunctionPointerArrayCheatTP@hi
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

main function for tp to call the functions above (has a different entrance for skells or ground characters)

;then this prevents tp from updating from out of battle heals and only out of battle heals
HPStopSlipHealTP:
lbz r31, 0(r24) ; $TPboundtoHP
cmpwi r31, 1
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

function that is called only in the update hp section of the mod. checks if healing out of battle and if so prevents TP from updating if bound asynchronously

stw r0, LinkRegisterBackUpTPHP@l(r31)
bl GetModDataDollHPTP
addHPtoTP:
neg r21, r21
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

main function for HP to call the functions above (has a different entrance for skells or ground characters)

intra0 added 2 commits January 1, 2025 14:58
Its super Simple and I dont think I need to make a whole new PR for it
@intra0 intra0 changed the title [XCX] New mod for QoL and change HP & TP behavior [XCX] New mod for QoL and change HP & TP behavior & new mod to change blade division offline Jan 1, 2025
intra0 added 3 commits January 5, 2025 08:38
Tested the disable option every skell that you can only get after getting a flight module and no glitches
the mod doesn't even modify the save file
@intra0 intra0 changed the title [XCX] New mod for QoL and change HP & TP behavior & new mod to change blade division offline [XCX] Various New Mods Jan 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant