most daMidna_c (#43)

* most daMidna_c done

* setLinkState ok

* format

* remove asm

Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
TakaRikka
2021-01-01 22:46:34 -08:00
committed by GitHub
parent a1f5c1abe2
commit 4d5b9676cb
10 changed files with 37 additions and 53 deletions
+6 -6
View File
@@ -17,7 +17,7 @@
/* 800C8740 000C5680 80 6D 8A 98 */ lwz r3, lbl_80451018-_SDA_BASE_(r13)
/* 800C8744 000C5684 28 03 00 00 */ cmplwi r3, 0
/* 800C8748 000C5688 41 82 00 08 */ beq lbl_800C8750
/* 800C874C 000C568C 48 07 93 39 */ bl daMidna_c_NS_onNoServiceWait
/* 800C874C 000C568C 48 07 93 39 */ bl onNoServiceWait__9daMidna_cFv
lbl_800C8750:
/* 800C8750 000C5690 A0 1F 30 FE */ lhz r0, 0x30fe(r31)
/* 800C8754 000C5694 28 00 00 00 */ cmplwi r0, 0
@@ -1835,12 +1835,12 @@ lbl_800CA150:
/* 800CA164 000C70A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800CA168 000C70A8 40 82 00 14 */ bne lbl_800CA17C
/* 800CA16C 000C70AC 7F 63 DB 78 */ mr r3, r27
/* 800CA170 000C70B0 48 07 78 A1 */ bl daMidna_c_NS_checkForceTiredColor
/* 800CA170 000C70B0 48 07 78 A1 */ bl checkForceTiredColor__9daMidna_cCFv
/* 800CA174 000C70B4 28 03 00 00 */ cmplwi r3, 0
/* 800CA178 000C70B8 41 82 00 68 */ beq lbl_800CA1E0
lbl_800CA17C:
/* 800CA17C 000C70BC 7F 63 DB 78 */ mr r3, r27
/* 800CA180 000C70C0 48 07 78 85 */ bl daMidna_c_NS_checkForceNormalColor
/* 800CA180 000C70C0 48 07 78 85 */ bl checkForceNormalColor__9daMidna_cCFv
/* 800CA184 000C70C4 28 03 00 00 */ cmplwi r3, 0
/* 800CA188 000C70C8 40 82 00 58 */ bne lbl_800CA1E0
/* 800CA18C 000C70CC 80 7F 07 9C */ lwz r3, 0x79c(r31)
@@ -2201,7 +2201,7 @@ lbl_800CA684:
/* 800CA6B0 000C75F0 28 03 00 00 */ cmplwi r3, 0
/* 800CA6B4 000C75F4 41 82 00 0C */ beq lbl_800CA6C0
/* 800CA6B8 000C75F8 80 6D 8A 98 */ lwz r3, lbl_80451018-_SDA_BASE_(r13)
/* 800CA6BC 000C75FC 48 07 73 39 */ bl daMidna_c_NS_onForcePanic
/* 800CA6BC 000C75FC 48 07 73 39 */ bl onForcePanic__9daMidna_cFv
lbl_800CA6C0:
/* 800CA6C0 000C7600 38 00 00 00 */ li r0, 0
/* 800CA6C4 000C7604 B0 1F 30 FE */ sth r0, 0x30fe(r31)
@@ -2256,7 +2256,7 @@ lbl_800CA744:
/* 800CA780 000C76C0 4E 80 04 21 */ bctrl
/* 800CA784 000C76C4 38 7F 2C A8 */ addi r3, r31, 0x2ca8
/* 800CA788 000C76C8 38 80 00 05 */ li r4, 5
/* 800CA78C 000C76CC 48 07 71 FD */ bl Z2CreatureLink_NS_setLinkState
/* 800CA78C 000C76CC 48 07 71 FD */ bl setLinkState__14Z2CreatureLinkFUc
/* 800CA790 000C76D0 48 00 00 50 */ b lbl_800CA7E0
lbl_800CA794:
/* 800CA794 000C76D4 48 07 71 FD */ bl dComIfGs_getRupee
@@ -2277,7 +2277,7 @@ lbl_800CA794:
/* 800CA7D0 000C7710 4E 80 04 21 */ bctrl
/* 800CA7D4 000C7714 38 7F 2C A8 */ addi r3, r31, 0x2ca8
/* 800CA7D8 000C7718 38 80 00 04 */ li r4, 4
/* 800CA7DC 000C771C 48 07 71 AD */ bl Z2CreatureLink_NS_setLinkState
/* 800CA7DC 000C771C 48 07 71 AD */ bl setLinkState__14Z2CreatureLinkFUc
lbl_800CA7E0:
/* 800CA7E0 000C7720 7F E3 FB 78 */ mr r3, r31
/* 800CA7E4 000C7724 48 07 6B E9 */ bl daPy_py_c_NS_checkWolf
@@ -1,2 +0,0 @@
/* 80141988 0013E8C8 98 83 00 C0 */ stb r4, 0xc0(r3)
/* 8014198C 0013E8CC 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
/* 801419F4 0013E934 80 03 08 98 */ lwz r0, 0x898(r3)
/* 801419F8 0013E938 60 00 00 08 */ ori r0, r0, 8
/* 801419FC 0013E93C 90 03 08 98 */ stw r0, 0x898(r3)
/* 80141A00 0013E940 4E 80 00 20 */ blr
@@ -1,3 +0,0 @@
/* 80141A04 0013E944 80 03 08 94 */ lwz r0, 0x894(r3)
/* 80141A08 0013E948 54 03 07 38 */ rlwinm r3, r0, 0, 0x1c, 0x1c
/* 80141A0C 0013E94C 4E 80 00 20 */ blr
@@ -1,3 +0,0 @@
/* 80141A10 0013E950 80 03 08 94 */ lwz r0, 0x894(r3)
/* 80141A14 0013E954 54 03 07 7A */ rlwinm r3, r0, 0, 0x1d, 0x1d
/* 80141A18 0013E958 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
/* 80141A84 0013E9C4 80 03 08 98 */ lwz r0, 0x898(r3)
/* 80141A88 0013E9C8 60 00 00 80 */ ori r0, r0, 0x80
/* 80141A8C 0013E9CC 90 03 08 98 */ stw r0, 0x898(r3)
/* 80141A90 0013E9D0 4E 80 00 20 */ blr
+14
View File
@@ -201,6 +201,20 @@ private:
u8 unk[14268];
};
class daMidna_c {
public:
void onForcePanic(void);
u32 checkForceNormalColor(void) const;
u32 checkForceTiredColor(void) const;
bool checkMidnaTired(void);
void onNoServiceWait(void);
private:
u8 unk[0x893];
u32 unk2196;
u32 unk2200;
};
extern "C" {
void tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf(fopAc_ac_c*,
dCcD_GObjInf*,
+5 -5
View File
@@ -1167,7 +1167,7 @@ void daAlink_c_NS_checkPlayerGuardAndAttack(void);
void daAlink_c_NS_checkMidnaUseAbility(void);
void daAlink_c_NS_setItemAction(void);
void dBgS_NS_ChkPolyHSStick(void);
void Z2CreatureLink_NS_setLinkState(void);
void setLinkState__14Z2CreatureLinkFUc(void);
void func_800D09EC(void);
void dPa_control_c_NS_set_X1_(void);
void daAlink_c_NS_checkWolfRopeHit(void);
@@ -1230,7 +1230,7 @@ void func_8011D6D0(void);
void func_800C7690(void);
void setRoom__13dSv_restart_cFRC4cXyzsSc(void);
void daPy_py_c_NS_checkWolf(void);
void daMidna_c_NS_checkForceNormalColor(void);
void checkForceNormalColor__9daMidna_cCFv(void);
void daAlink_c_NS_setWolfDigEffect(void);
void daAlink_c_NS_procCutLargeJumpLandInit(void);
void dBgS_Acch_NS_CrrPos(void);
@@ -2073,7 +2073,7 @@ void func_800D0A14(void);
void dBgS_NS_GetExitId(void);
void func_800D0CDC(void);
void daAlink_c_NS_commonCutAction(void);
void daMidna_c_NS_onForcePanic(void);
void onForcePanic__9daMidna_cFv(void);
void daAlink_c_NS_checkCanoeRideTandem(void);
void dComIfGp_TransportWarp_check(void);
void daAlink_c_NS_procCoHorseCallWaitInit(void);
@@ -3405,7 +3405,7 @@ void daAlink_c_NS_checkRAction(void);
void daAlink_c_NS_setSwordAtCollision(void);
void daAlink_c_NS_searchPeepObj(void);
void daAlink_c_NS_checkNextActionFromButton(void);
void daMidna_c_NS_checkForceTiredColor(void);
void checkForceTiredColor__9daMidna_cCFv(void);
void daAlink_c_NS_checkCastleTown(void);
void daAlink_c_NS_resetFairyEffect(void);
void d_GameOver_Create(void);
@@ -3520,7 +3520,7 @@ void dEvt_control_c_NS_reset_X1_(void);
void daAlink_c_NS_checkSpecialNpc(void);
void daAlink_createHeap(void);
void daAlink_c_NS_setDemoRightHandIndex(void);
void daMidna_c_NS_onNoServiceWait(void);
void onNoServiceWait__9daMidna_cFv(void);
void func_80105728(void);
void daAlink_searchNightStalker(void);
void func_80107418(void);
+1 -1
View File
@@ -443,7 +443,7 @@ extern u8 lbl_80453330;
extern u8 lbl_804255D4;
extern u8 lbl_8045324C;
extern u8 lbl_80452E08;
extern u8 lbl_80452EAC;
extern float lbl_80452EAC;
extern u8 lbl_804532B8;
extern u8 lbl_8038DB40;
extern u8 lbl_80452E10;
+11 -25
View File
@@ -1,6 +1,7 @@
#include "d/d_a/d_a_alink/d_a_alink.h"
#include "SComponent/c_bg_w.h"
#include "SComponent/c_phase.h"
#include "Z2AudioLib/Z2LinkMgr/Z2LinkMgr.h"
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
#include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h"
#include "f/f_pc/f_pc_manager.h"
@@ -15050,11 +15051,8 @@ asm void dMeter2Info_offUseButton(void) {
#include "d/d_a/d_a_alink/asm/func_8014196C.s"
}
// setLinkState__14Z2CreatureLinkFUc
// Z2CreatureLink::setLinkState(unsigned char)
asm void Z2CreatureLink_NS_setLinkState(void) {
nofralloc
#include "d/d_a/d_a_alink/asm/func_80141988.s"
void Z2CreatureLink::setLinkState(u8 state) {
link_state = state;
}
// dComIfGs_getRupee__Fv
@@ -15077,25 +15075,16 @@ asm void dMeter2Info_setFloatingMessage(void) {
#include "d/d_a/d_a_alink/asm/func_801419B8.s"
}
// onForcePanic__9daMidna_cFv
// daMidna_c::onForcePanic(void)
asm void daMidna_c_NS_onForcePanic(void) {
nofralloc
#include "d/d_a/d_a_alink/asm/func_801419F4.s"
void daMidna_c::onForcePanic(void) {
unk2200 |= 8;
}
// checkForceNormalColor__9daMidna_cCFv
// daMidna_c::checkForceNormalColor(const void)
asm void daMidna_c_NS_checkForceNormalColor(void) {
nofralloc
#include "d/d_a/d_a_alink/asm/func_80141A04.s"
u32 daMidna_c::checkForceNormalColor(void) const {
return unk2196 & 8;
}
// checkForceTiredColor__9daMidna_cCFv
// daMidna_c::checkForceTiredColor(const void)
asm void daMidna_c_NS_checkForceTiredColor(void) {
nofralloc
#include "d/d_a/d_a_alink/asm/func_80141A10.s"
u32 daMidna_c::checkForceTiredColor(void) const {
return unk2196 & 4;
}
// checkMidnaTired__9daMidna_cFv
@@ -15105,11 +15094,8 @@ asm void daMidna_c_NS_checkMidnaTired(void) {
#include "d/d_a/d_a_alink/asm/func_80141A1C.s"
}
// onNoServiceWait__9daMidna_cFv
// daMidna_c::onNoServiceWait(void)
asm void daMidna_c_NS_onNoServiceWait(void) {
nofralloc
#include "d/d_a/d_a_alink/asm/func_80141A84.s"
void daMidna_c::onNoServiceWait(void) {
unk2200 |= 128;
}
// setControllActorData__8daCrod_cFv