d_a_tag_ret basically done (#16)

This commit is contained in:
LagoLunatic
2023-09-12 01:28:10 -04:00
committed by GitHub
parent 21a9fccc4b
commit aa975d1c5f
7 changed files with 200 additions and 207 deletions
-4
View File
@@ -61,7 +61,6 @@ public:
virtual cXyz& GetCoCP() { return m_virtual_center; }
virtual void CalcAabBox() = 0;
virtual bool GetNVec(cXyz const&, cXyz*) const = 0;
virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
cM3dGAab& GetWorkAab() { return mAab; }
cM3dGAab const& GetWorkAab() const { return mAab; }
@@ -172,7 +171,6 @@ public:
virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
virtual void CalcAabBox();
virtual bool GetNVec(cXyz const&, cXyz*) const;
virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
}; // Size = 0x34
@@ -204,7 +202,6 @@ public:
virtual cXyz& GetCoCP() { return mCenter; }
virtual void CalcAabBox();
virtual bool GetNVec(cXyz const&, cXyz*) const;
virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
}; // Size = 0x38
@@ -497,7 +494,6 @@ public:
virtual cCcD_GObjInf* GetGObjInf() { return NULL; }
virtual cCcD_ShapeAttr const* GetShapeAttr() const { return NULL; }
virtual cCcD_ShapeAttr* GetShapeAttr() { return NULL; }
virtual void Draw(_GXColor const&) {}
void ct();
void Set(cCcD_SrcObj const&);
fopAc_ac_c* GetAc();
+38 -33
View File
@@ -70,49 +70,54 @@ public:
/* 0x2FC */ u8 field_0x2FC[0x300 - 0x2FC];
/* 0x300 */ f32 field_0x300;
/* 0x304 */ daPy_demo_c mDemo;
/* 0x31C */ void* vtbl;
void onFrollCrashFlg(u32);
void getGrabActorID() const;
void getBokoFlamePos(cXyz*);
void setPlayerPosAndAngle(cXyz*, s16);
virtual void getLeftHandMatrix();
virtual void getRightHandMatrix();
virtual void getGroundY();
virtual void getTactMusic() const;
virtual void getTactTimerCancel() const;
virtual void checkPlayerGuard() const;
virtual void getGrabMissActor();
virtual void checkPlayerFly() const;
virtual void checkFrontRoll() const;
virtual void checkBottleSwing() const;
virtual void checkCutCharge() const;
virtual void getBokoFlamePos(cXyz*);
virtual void checkTactWait() const;
virtual void setTactZev(u32, int, char*);
virtual void onDekuSpReturnFlg(u8);
virtual void checkComboCutTurn() const;
virtual void getBaseAnimeFrameRate();
virtual void getBaseAnimeFrame();
virtual void getItemID() const;
virtual void getThrowBoomerangID() const;
virtual void getGrabActorID() const;
virtual void checkGrabBarrel();
virtual void checkPlayerNoDraw();
virtual void checkRopeTag();
virtual void checkRopeReadyAnime() const;
virtual void voiceStart(u32);
virtual void setOutPower(f32, s16, int);
virtual void onFrollCrashFlg(u32);
virtual void getModelJointMtx(u16);
virtual void getOldSpeedY();
virtual void setHookshotCarryOffset(u32, cXyz const*);
virtual void setPlayerPosAndAngle(cXyz*, s16);
virtual void setPlayerPosAndAngle(cXyz*, csXyz*);
virtual void setPlayerPosAndAngle(f32*[][][][]);
virtual void setThrowDamage(cXyz*, s16, f32, f32, int);
virtual void changeTextureAnime(u16, u16, int);
virtual void cancelChangeTextureAnime();
void getSwordTopPos() const;
void checkPlayerFly() const;
void checkPlayerNoDraw();
void getLeftHandPos() const;
void checkPlayerGuard() const;
void getRopeJumpLand() const;
void checkRopeReadyAnime() const;
void checkRopeForceEnd() const;
void getHeadTopPos() const;
void changePlayer(fopAc_ac_c*);
void objWindHitCheck(dCcD_Cyl*);
void setDoButtonQuake();
void stopDoButtonQuake(int);
void getTactMusic() const;
void getTactTimerCancel() const;
void getGrabMissActor();
void checkFrontRoll() const;
void checkBottleSwing() const;
void checkCutCharge() const;
void checkTactWait() const;
void setTactZev(u32, int, char*);
void onDekuSpReturnFlg(u8);
void checkComboCutTurn() const;
void getItemID() const;
void getThrowBoomerangID() const;
void checkGrabBarrel();
void checkRopeTag();
void voiceStart(u32);
void setOutPower(f32, s16, int);
void getModelJointMtx(u16);
void getOldSpeedY();
void setHookshotCarryOffset(u32, cXyz const*);
void setPlayerPosAndAngle(f32*[][][][]);
void setPlayerPosAndAngle(cXyz*, csXyz*);
void setThrowDamage(cXyz*, s16, f32, f32, int);
void changeTextureAnime(u16, u16, int);
void cancelChangeTextureAnime();
void getRopePos() const;
};
+2 -1
View File
@@ -6,7 +6,8 @@
namespace daObj {
template <typename T>
int PrmAbstract(const fopAc_ac_c* actor, T width, T shift) {
return ((1 << width) - 1) & (fopAcM_GetParam(actor) >> shift);
u32 param = fopAcM_GetParam(actor);
return ((1 << width) - 1) & (param >> shift);
}
};
+1 -1
View File
@@ -351,7 +351,7 @@ STATIC_ASSERT(sizeof(dCcD_GObjInf) == 0xF8);
class dCcD_Cyl : public dCcD_GObjInf, public cCcD_CylAttr {
public:
void Set(dCcD_SrcCyl const&);
cCcD_ShapeAttr* GetShapeAttr();
cCcD_ShapeAttr* GetShapeAttr() { return this; }
void StartCAt(cXyz&);
void MoveCAt(cXyz&);
void MoveCTg(cXyz&);
+2 -2
View File
@@ -1,8 +1,8 @@
#ifndef D_ITEM_H
#define D_ITEM_H
void execItemGet(unsigned char);
void checkItemGet(unsigned char, int);
void execItemGet(u8 itemNo);
BOOL checkItemGet(u8 itemNo, BOOL defaultVal);
void item_func_heart();
void item_func_green_rupee();
void item_func_blue_rupee();
+2 -2
View File
@@ -101,7 +101,7 @@ BOOL daAndsw2_c::chkAllSw2() {
return false;
}
}
return true;
return TRUE;
}
/* 000001D8-000002B0 .text daAndsw2_actionOnAll__FP10daAndsw2_c */
@@ -245,7 +245,7 @@ s32 daAndsw2_c::create() {
current.angle.z = 0;
current.angle.x = 0;
return 4;
return cPhs_COMPLEATE_e;
}
/* 00000530-00000538 .text daAndsw2_Draw__FP10daAndsw2_c */
+155 -164
View File
@@ -3,171 +3,162 @@
// Translation Unit: d_a_tag_ret.cpp
//
#include "d_a_tag_ret.h"
#include "d/d_a_obj.h"
#include "d/d_item.h"
#include "d/d_item_data.h"
#include "d/d_cc_d.h"
#include "d/d_procname.h"
#include "d/d_com_inf_game.h"
#include "d/actor/d_a_player.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "dolphin/types.h"
/* 00000078-000001D4 .text _create__Q28daTagRet5Act_cFv */
void daTagRet::Act_c::_create() {
/* Nonmatching */
}
static dCcD_SrcCyl cyl_check_src = {
0,
0,
0,
0,
0,
0,
0x119,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// Cylinder
0.0, // X
0.0, // Y
0.0, // Z
1000.0, // Radius
100.0, // Height
};
/* 000001D4-000002A0 .text __dt__8dCcD_CylFv */
dCcD_Cyl::~dCcD_Cyl() {
/* Nonmatching */
}
/* 000002A0-000002E8 .text __dt__8cM3dGCylFv */
cM3dGCyl::~cM3dGCyl() {
/* Nonmatching */
}
/* 000002E8-00000344 .text __dt__14cCcD_ShapeAttrFv */
cCcD_ShapeAttr::~cCcD_ShapeAttr() {
/* Nonmatching */
}
/* 00000344-0000038C .text __dt__8cM3dGAabFv */
cM3dGAab::~cM3dGAab() {
/* Nonmatching */
}
/* 0000038C-00000394 .text _delete__Q28daTagRet5Act_cFv */
void daTagRet::Act_c::_delete() {
/* Nonmatching */
}
/* 00000394-00000398 .text set_mtx__Q28daTagRet5Act_cFv */
void daTagRet::Act_c::set_mtx() {
/* Nonmatching */
}
/* 00000398-00000460 .text _execute__Q28daTagRet5Act_cFv */
void daTagRet::Act_c::_execute() {
/* Nonmatching */
}
/* 00000460-00000468 .text _draw__Q28daTagRet5Act_cFv */
void daTagRet::Act_c::_draw() {
/* Nonmatching */
}
/* 00000468-00000488 .text Mthd_Create__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
void daTagRet::@unnamed@d_a_tag_ret_cpp@::Mthd_Create(void*) {
/* Nonmatching */
}
/* 00000488-000004AC .text Mthd_Delete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
void daTagRet::@unnamed@d_a_tag_ret_cpp@::Mthd_Delete(void*) {
/* Nonmatching */
}
/* 000004AC-000004D0 .text Mthd_Execute__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
void daTagRet::@unnamed@d_a_tag_ret_cpp@::Mthd_Execute(void*) {
/* Nonmatching */
}
/* 000004D0-000004F4 .text Mthd_Draw__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
void daTagRet::@unnamed@d_a_tag_ret_cpp@::Mthd_Draw(void*) {
/* Nonmatching */
}
/* 000004F4-000004FC .text Mthd_IsDelete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
void daTagRet::@unnamed@d_a_tag_ret_cpp@::Mthd_IsDelete(void*) {
/* Nonmatching */
}
/* 000004FC-0000050C .text GetShapeAttr__8dCcD_CylFv */
void dCcD_Cyl::GetShapeAttr() {
/* Nonmatching */
}
/* 0000050C-00000514 .text GetCoCP__12cCcD_CylAttrFv */
void cCcD_CylAttr::GetCoCP() {
/* Nonmatching */
}
/* 00000514-0000051C .text GetCoCP__12cCcD_CylAttrCFv */
void cCcD_CylAttr::GetCoCP() const {
/* Nonmatching */
}
/* 0000051C-00000524 .text CrossAtTg__12cCcD_CylAttrCFRC12cCcD_AabAttrP4cXyz */
void cCcD_CylAttr::CrossAtTg(const cCcD_AabAttr&, cXyz*) const {
/* Nonmatching */
}
/* 00000524-0000052C .text CrossAtTg__12cCcD_CylAttrCFRC12cCcD_PntAttrP4cXyz */
void cCcD_CylAttr::CrossAtTg(const cCcD_PntAttr&, cXyz*) const {
/* Nonmatching */
}
/* 0000052C-00000564 .text CrossAtTg__12cCcD_CylAttrCFRC14cCcD_ShapeAttrP4cXyz */
void cCcD_CylAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const {
/* Nonmatching */
}
/* 00000564-0000056C .text CrossCo__12cCcD_CylAttrCFRC12cCcD_AabAttrPf */
void cCcD_CylAttr::CrossCo(const cCcD_AabAttr&, float*) const {
/* Nonmatching */
}
/* 0000056C-00000574 .text CrossCo__12cCcD_CylAttrCFRC12cCcD_TriAttrPf */
void cCcD_CylAttr::CrossCo(const cCcD_TriAttr&, float*) const {
/* Nonmatching */
}
/* 00000574-0000057C .text CrossCo__12cCcD_CylAttrCFRC12cCcD_PntAttrPf */
void cCcD_CylAttr::CrossCo(const cCcD_PntAttr&, float*) const {
/* Nonmatching */
}
/* 0000057C-000005B4 .text CrossCo__12cCcD_CylAttrCFRC14cCcD_ShapeAttrPf */
void cCcD_CylAttr::CrossCo(const cCcD_ShapeAttr&, float*) const {
/* Nonmatching */
}
/* 000005B4-000005B8 .text GetGObjInf__12cCcD_GObjInfCFv */
void cCcD_GObjInf::GetGObjInf() const {
/* Nonmatching */
}
/* 000005B8-000005C0 .text GetShapeAttr__8cCcD_ObjCFv */
void cCcD_Obj::GetShapeAttr() const {
/* Nonmatching */
}
/* 000005C0-000005C8 .text CrossAtTg__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrP4cXyz */
void cCcD_ShapeAttr::CrossAtTg(const cCcD_ShapeAttr&, cXyz*) const {
/* Nonmatching */
}
/* 000005C8-000005D0 .text CrossCo__14cCcD_ShapeAttrCFRC14cCcD_ShapeAttrPf */
void cCcD_ShapeAttr::CrossCo(const cCcD_ShapeAttr&, float*) const {
/* Nonmatching */
}
/* 000005D0-000005DC .text GetCoCP__14cCcD_ShapeAttrFv */
void cCcD_ShapeAttr::GetCoCP() {
/* Nonmatching */
}
/* 000005DC-000005E8 .text GetCoCP__14cCcD_ShapeAttrCFv */
void cCcD_ShapeAttr::GetCoCP() const {
/* Nonmatching */
}
/* 000005E8-00000604 .text PrmAbstract<Q38daTagRet5Act_c5Prm_e>__5daObjFPC10fopAc_ac_cQ38daTagRet5Act_c5Prm_eQ38daTagRet5Act_c5Prm_e */
void daObj::PrmAbstract<daTagRet::Act_c::Prm_e>(const fopAc_ac_c*, daTagRet::Act_c::Prm_e, daTagRet::Act_c::Prm_e) {
/* Nonmatching */
}
/* 00000604-0000060C .text @280@__dt__8dCcD_CylFv */
void @280@__dt__8dCcD_CylFv {
/* Nonmatching */
}
/* 0000060C-00000614 .text @248@__dt__8dCcD_CylFv */
void @248@__dt__8dCcD_CylFv {
/* Nonmatching */
}
namespace daTagRet {
struct Act_c : public fopAc_ac_c {
public:
enum Prm_e {
PRM_PLAYER_ID_W = 8,
PRM_PLAYER_ID_S = 0,
};
s32 _create();
s32 _delete();
void set_mtx();
s32 _execute();
s32 _draw();
public:
u8 unknown_padding[0xC];
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Cyl mCyl;
};
/* 00000078-000001D4 .text _create__Q28daTagRet5Act_cFv */
s32 Act_c::_create() {
fopAcM_SetupActor(this, daTagRet::Act_c);
if (checkItemGet(PEARL3, TRUE)) {
return cPhs_UNK3_e;
}
mStts.Init(0xFF, 0xFF, this);
mCyl.Set(cyl_check_src);
mCyl.SetR(1000.0f*mScale.x);
mCyl.SetH(100.0f*mScale.y);
mCyl.SetStts(&mStts);
return cPhs_COMPLEATE_e;
}
/* 0000038C-00000394 .text _delete__Q28daTagRet5Act_cFv */
s32 Act_c::_delete() {
return TRUE;
}
/* 00000394-00000398 .text set_mtx__Q28daTagRet5Act_cFv */
void Act_c::set_mtx() {
return;
}
/* 00000398-00000460 .text _execute__Q28daTagRet5Act_cFv */
s32 Act_c::_execute() {
mCyl.SetC(current.pos);
mCyl.SetR(1000.0f*mScale.x);
mCyl.SetH(100.0f*mScale.y);
g_dComIfG_gameInfo.play.mCcS.Set(&mCyl);
if (mCyl.ChkCoHit()) {
u32 playerId = daObj::PrmAbstract(this, PRM_PLAYER_ID_W, PRM_PLAYER_ID_S);
daPy_getPlayerLinkActorClass()->onDekuSpReturnFlg(playerId);
}
set_mtx();
return TRUE;
}
/* 00000460-00000468 .text _draw__Q28daTagRet5Act_cFv */
s32 Act_c::_draw() {
return TRUE;
}
namespace {
/* 00000468-00000488 .text Mthd_Create__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
s32 Mthd_Create(void* i_this) {
return ((Act_c*)i_this)->_create();
}
/* 00000488-000004AC .text Mthd_Delete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
u8 Mthd_Delete(void* i_this) {
return ((Act_c*)i_this)->_delete();
}
/* 000004AC-000004D0 .text Mthd_Execute__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
u8 Mthd_Execute(void* i_this) {
return ((Act_c*)i_this)->_execute();
}
/* 000004D0-000004F4 .text Mthd_Draw__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
u8 Mthd_Draw(void* i_this) {
return ((Act_c*)i_this)->_draw();
}
/* 000004F4-000004FC .text Mthd_IsDelete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
u8 Mthd_IsDelete(void* i_this) {
return TRUE;
}
static actor_method_class Mthd_Table = {
(process_method_func)Mthd_Create,
(process_method_func)Mthd_Delete,
(process_method_func)Mthd_Execute,
(process_method_func)Mthd_IsDelete,
(process_method_func)Mthd_Draw,
};
};
};
extern actor_process_profile_definition g_profile_Tag_Ret = {
fpcLy_CURRENT_e,
3,
fpcLy_CURRENT_e,
PROC_Tag_Ret,
&g_fpcLf_Method.mBase,
sizeof(daTagRet::Act_c),
0,
0,
&g_fopAc_Method.base,
0x005F,
&daTagRet::Mthd_Table,
0x00040000,
fopAc_ACTOR_e,
fopAc_CULLBOX_0_e,
};