mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-21 22:10:59 -04:00
d_a_fganon 100% (#695)
* added `cBgS_Chk::OffSameActorChk`inline function * initial progress of d_a_fganon 100% Matching: - `anim_init` - `tama_draw` - `daFganon_Draw` - `daFganon_IsDelete` Partial Matching: - `daFganon_Hio_C::daFganon_HIO_c` (88%) - `deru_brk` (98%, code is matching, variable memory locations needed for 100% match) - `kieru_brk` (98%, code is matching, variable memory locations needed for 100% match) - `deru_brk2` (98%, code is matching, variable memory locations needed for 100% match) - `kieru_brk2` (98%, code is matching, variable memory locations needed for 100% match) - `pos_move` (73%) - `move` (80%) - `mahou_se_set` (82%) - `daFganon_Delete` (94%, code is matching, variable memory locations needed for 100% match) - `useHeapInit` (92%) - `daFganon_Create` (77%) - `fgannon_class::fganon_class()` (88%) Remainder haven't been started * Additional progress, more functions at 100% matching 100% Matching: - `daFganon_Hio_C::daFganon_HIO_c` - `anim_init` - `tama_draw` - `daFganon_Draw` - `deru_brk` - `kieru_brk` - `deru_brk2` - `kieru_brk2` - `pos_move` - `fly_se_set` - `mahou_set` - `mahou_se_set` - `daFganon_IsDelete` - `daFganon_Delete` - `useHeapInit` Partial Matching: - `fly` (60%) - `shot` (46%) - `move` (92%) - `daFganon_Execute` (11%) - `daFganon_Create` (60%) - `fgannon_class::fganon_class()` (93%) * More functions at 100% matching - Added a `cXyz` member to `mant_class` that is referenced in this TU. - Changed 'fganon_class` to inherit from `fopEn_enemy_c` instead of `fopAc_ac_c` 100% Matching: - `daFganon_Hio_C::daFganon_HIO_c` - `anim_init` - `tama_draw` - `daFganon_Draw` - `deru_brk` - `kieru_brk` - `deru_brk2` - `kieru_brk2` - `pos_move` - `fly_se_set` - `fly` - `shot` - `spinattack` - `fly2` - `tama_set` - `mahou_set` - `mahou_set` - `mahou_se_set` - `daFganon_IsDelete` - `daFganon_Delete` - `useHeapInit` - `fgannon_class::fganon_class()` Partial Matching: - `move` (96%, code is matching, variable memory locations needed for 100% match) - `daFganon_Execute` (96%, code is matching, variable memory locations needed for 100% match) - `daFganon_Create` (96%, code is matching, variable memory locations needed for 100% match) * additional functions at 100% matching Cleaned up the values of the static globals, will resolve their symbols later 100% Matching: - `daFganon_Hio_C::daFganon_HIO_c` - `anim_init` - `tama_draw` - `daFganon_Draw` - `deru_brk` - `kieru_brk` - `deru_brk2` - `kieru_brk2` - `pos_move` - `fly_se_set` - `fly` - `shot` - `spinattack` - `fly2` - `tama_set` - `mahou_set` - `shot2` - `spinattack2` - `down` - `kabe_check` - `deru` - `kieru` - `fail` - `standby` - `start` - `last_end` - `damage_check` - `ball_tg_check` - `mahou_se_set` - `daFganon_IsDelete` - `daFganon_Delete` - `useHeapInit` - `fgannon_class::fganon_class()` Partial Matching: - `end` (97%, code is matching, variable memory locations needed for 100% match) - `move` (97%, code is matching, variable memory locations needed for 100% match) - `demo_camera` (63%) - `daFganon_Execute` (97%, code is matching, variable memory locations needed for 100% match) - `daFganon_Create` (98%, code is matching, variable memory locations needed for 100% match) * added `mDoAud_changeSubBgmStatus` inline * changed return type of `dComIfGp_getPlayerCameraID` inline needed this change to get a match for this `d_a_fganon` * d_a_fganon 100% matching Currently the checksum fails but I have some theories as to why that might be. I'll continue to cleanup the symbols. * symbol cleanup * fixed `mDoAud_changeSubBgmStatus` calling wrong function * 100% matching now, checksum passes There is a weak function ordering issue so I included the param in `configure.py` * PR changes made * Additional PR changes, better naming of class members
This commit is contained in:
@@ -16,20 +16,20 @@ private:
|
||||
/* 0x0 */ cBgS_PolyPassChk* mPolyPassChk;
|
||||
/* 0x4 */ cBgS_GrpPassChk* mGrpPassChk;
|
||||
/* 0x8 */ fpc_ProcID mActorPid;
|
||||
/* 0xC */ u8 unk_0x0C;
|
||||
/* 0xC */ bool mSameActorChk;
|
||||
/* 0x10 */ // __vtable__
|
||||
|
||||
public:
|
||||
cBgS_Chk() {
|
||||
mPolyPassChk = NULL;
|
||||
mGrpPassChk = NULL;
|
||||
unk_0x0C = 1;
|
||||
mSameActorChk = 1;
|
||||
}
|
||||
void SetExtChk(cBgS_Chk& other) {
|
||||
mPolyPassChk = other.mPolyPassChk;
|
||||
mGrpPassChk = other.mGrpPassChk;
|
||||
mActorPid = other.mActorPid;
|
||||
unk_0x0C = other.unk_0x0C;
|
||||
mSameActorChk = other.mSameActorChk;
|
||||
}
|
||||
bool ChkSameActorPid(fpc_ProcID) const;
|
||||
|
||||
@@ -39,6 +39,7 @@ public:
|
||||
void SetGrpPassChk(cBgS_GrpPassChk* p_chk) { mGrpPassChk = p_chk; }
|
||||
cBgS_PolyPassChk* GetPolyPassChk() const { return mPolyPassChk; }
|
||||
cBgS_GrpPassChk* GetGrpPassChk() const { return mGrpPassChk; }
|
||||
void OffSameActorChk() { mSameActorChk = false; }
|
||||
|
||||
virtual ~cBgS_Chk();
|
||||
}; // Size: 0x14
|
||||
|
||||
Reference in New Issue
Block a user