2019-10-28 23:19:29 -07:00
|
|
|
################################################################################
|
|
|
|
# Address: FN_GetIsFollower # 0x800055f8 from Common.s
|
|
|
|
################################################################################
|
|
|
|
|
2018-12-21 16:01:03 -05:00
|
|
|
################################################################################
|
2018-12-23 00:21:57 -05:00
|
|
|
# Function: GetREG_IsFollower
|
2018-12-21 16:01:03 -05:00
|
|
|
# Inject @ 800055f8
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# Description: Returns whether or not the player is a follower
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# in
|
|
|
|
# r3 = player's data
|
|
|
|
# out
|
2018-12-23 00:21:57 -05:00
|
|
|
# r3 = REG_IsFollower
|
2018-12-21 16:01:03 -05:00
|
|
|
################################################################################
|
2019-10-28 23:19:29 -07:00
|
|
|
.include "Common/Common.s"
|
2018-12-21 16:01:03 -05:00
|
|
|
|
2018-12-23 00:21:57 -05:00
|
|
|
.set REG_IsFollower, 31
|
|
|
|
.set REG_PlayerData, 30
|
2018-12-21 16:01:03 -05:00
|
|
|
|
2018-12-23 00:21:57 -05:00
|
|
|
GetREG_IsFollower:
|
2018-12-21 16:01:03 -05:00
|
|
|
backup
|
|
|
|
|
2018-12-23 00:21:57 -05:00
|
|
|
mr REG_PlayerData,r3
|
2018-12-21 16:01:03 -05:00
|
|
|
|
|
|
|
# check if the player is a follower
|
2018-12-23 00:21:57 -05:00
|
|
|
li REG_IsFollower, 0 # initialize REG_IsFollower to false
|
|
|
|
lbz r3, 0x221F(REG_PlayerData)
|
2018-12-21 16:01:03 -05:00
|
|
|
#Check If Subchar
|
|
|
|
rlwinm. r0, r3, 29, 31, 31
|
|
|
|
beq RETURN_IS_FOLLOWER
|
|
|
|
#Check If Follower
|
2018-12-23 00:21:57 -05:00
|
|
|
lbz r3,0xC(REG_PlayerData)
|
2019-03-15 15:49:49 -05:00
|
|
|
branchl r12, PlayerBlock_LoadExternalCharID
|
2018-12-21 16:01:03 -05:00
|
|
|
load r4,0x803bcde0 #pdLoadCommonData table
|
|
|
|
mulli r0, r3, 3 #struct length
|
|
|
|
add r3,r4,r0 #get characters entry
|
2018-12-23 00:21:57 -05:00
|
|
|
lbz r0, 0x2(r3) #get subchar functionality
|
2018-12-21 16:01:03 -05:00
|
|
|
cmpwi r0,0x0 #if not a follower, exit
|
|
|
|
bne RETURN_IS_FOLLOWER
|
2018-12-23 00:21:57 -05:00
|
|
|
li REG_IsFollower, 1 # if we get here then we know this is nana
|
2018-12-21 16:01:03 -05:00
|
|
|
RETURN_IS_FOLLOWER:
|
2018-12-23 00:21:57 -05:00
|
|
|
mr r3,REG_IsFollower
|
2018-12-21 16:01:03 -05:00
|
|
|
|
|
|
|
Exit:
|
|
|
|
#restore registers and sp
|
|
|
|
restore
|
|
|
|
blr
|