mirror of https://github.com/zeldaret/tp.git
d_a_obj_lv6bemos2 OK (#2672)
* d_a_obj_lv6bemos2 OK * Forgot to remove NONMATCHING comment * Link d_a_obj_lv6bemos2 for JP --------- Co-authored-by: Max Roncace <me@caseif.net>
This commit is contained in:
parent
11ebeb3fe0
commit
9306edbec6
|
|
@ -1,7 +1,7 @@
|
|||
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
|
||||
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
|
||||
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
|
||||
nodeCallBack__FP8J3DJointi = .text:0x00000078; // type:function size:0x154 scope:global
|
||||
nodeCallBack__FP8J3DJointi = .text:0x00000078; // type:function size:0x154 scope:local
|
||||
initBaseMtx__12daObjLv6Bm_cFv = .text:0x000001CC; // type:function size:0x68 scope:global
|
||||
setBaseMtx__12daObjLv6Bm_cFv = .text:0x00000234; // type:function size:0xD4 scope:global
|
||||
Create__12daObjLv6Bm_cFv = .text:0x00000308; // type:function size:0x31C scope:global
|
||||
|
|
@ -34,14 +34,14 @@ initActionEnd__12daObjLv6Bm_cFv = .text:0x000032E8; // type:function size:0xD4 s
|
|||
actionEnd__12daObjLv6Bm_cFv = .text:0x000033BC; // type:function size:0x4 scope:global
|
||||
Draw__12daObjLv6Bm_cFv = .text:0x000033C0; // type:function size:0x1A8 scope:global
|
||||
Delete__12daObjLv6Bm_cFv = .text:0x00003568; // type:function size:0x160 scope:global
|
||||
daObjLv6Bm_create1st__FP12daObjLv6Bm_c = .text:0x000036C8; // type:function size:0x1C0 scope:global
|
||||
daObjLv6Bm_create1st__FP12daObjLv6Bm_c = .text:0x000036C8; // type:function size:0x1C0 scope:local
|
||||
__dt__8cM3dGCylFv = .text:0x00003888; // type:function size:0x48 scope:global
|
||||
__dt__8cM3dGSphFv = .text:0x000038D0; // type:function size:0x48 scope:global
|
||||
__dt__8cM3dGAabFv = .text:0x00003918; // type:function size:0x48 scope:global
|
||||
__dt__10dCcD_GSttsFv = .text:0x00003960; // type:function size:0x5C scope:global
|
||||
daObjLv6Bm_MoveBGDelete__FP12daObjLv6Bm_c = .text:0x000039BC; // type:function size:0x20 scope:global
|
||||
daObjLv6Bm_MoveBGExecute__FP12daObjLv6Bm_c = .text:0x000039DC; // type:function size:0x20 scope:global
|
||||
daObjLv6Bm_MoveBGDraw__FP12daObjLv6Bm_c = .text:0x000039FC; // type:function size:0x2C scope:global
|
||||
daObjLv6Bm_MoveBGDelete__FP12daObjLv6Bm_c = .text:0x000039BC; // type:function size:0x20 scope:local
|
||||
daObjLv6Bm_MoveBGExecute__FP12daObjLv6Bm_c = .text:0x000039DC; // type:function size:0x20 scope:local
|
||||
daObjLv6Bm_MoveBGDraw__FP12daObjLv6Bm_c = .text:0x000039FC; // type:function size:0x2C scope:local
|
||||
__dt__10cCcD_GSttsFv = .text:0x00003A28; // type:function size:0x48 scope:global
|
||||
cLib_calcTimer<Us>__FPUs = .text:0x00003A70; // type:function size:0x1C scope:global
|
||||
cLib_calcTimer<Uc>__FPUc = .text:0x00003A8C; // type:function size:0x1C scope:global
|
||||
|
|
@ -49,7 +49,7 @@ __sinit_d_a_obj_lv6bemos2_cpp = .text:0x00003AA8; // type:function size:0x38 sco
|
|||
_ctors = .ctors:0x00000000; // type:label scope:global
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
...rodata.0 = .rodata:0x00000000; // type:label scope:local
|
||||
l_eye_offset = .rodata:0x00000000; // type:object size:0xC scope:global
|
||||
l_eye_offset = .rodata:0x00000000; // type:object size:0xC scope:local
|
||||
l_beam_offsetPos = .rodata:0x0000000C; // type:object size:0xC scope:global
|
||||
@3854 = .rodata:0x00000018; // type:object size:0x4 scope:local align:4 data:float
|
||||
@3855 = .rodata:0x0000001C; // type:object size:0x4 scope:local align:4 data:float
|
||||
|
|
@ -80,10 +80,10 @@ l_eff_id$4949 = .rodata:0x00000090; // type:object size:0x4 scope:local
|
|||
@5280 = .rodata:0x0000009C; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x000000A0; // type:object size:0x35 scope:local data:string_table
|
||||
...data.0 = .data:0x00000000; // type:label scope:local
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_553_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
l_arcName = .data:0x00000020; // type:object size:0x4 scope:global data:4byte
|
||||
l_arcName = .data:0x00000020; // type:object size:0x4 scope:local data:4byte
|
||||
l_eye_matName = .data:0x00000024; // type:object size:0x4 scope:global
|
||||
l_head_joint = .data:0x00000028; // type:object size:0x4 scope:global
|
||||
l_bigGear_joint = .data:0x0000002C; // type:object size:0x4 scope:global
|
||||
|
|
@ -106,7 +106,7 @@ l_func$4180 = .data:0x00000180; // type:object size:0x48 scope:local
|
|||
@4563 = .data:0x000001D4; // type:object size:0xC scope:local
|
||||
l_eff_func$4561 = .data:0x000001E0; // type:object size:0x18 scope:local
|
||||
@5281 = .data:0x000001F8; // type:object size:0x1C scope:local
|
||||
daObjLv6Bm_METHODS = .data:0x00000214; // type:object size:0x20 scope:global
|
||||
daObjLv6Bm_METHODS = .data:0x00000214; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_Lv6bemos2 = .data:0x00000234; // type:object size:0x30 scope:global
|
||||
__vt__10cCcD_GStts = .data:0x00000264; // type:object size:0xC scope:global
|
||||
__vt__10dCcD_GStts = .data:0x00000270; // type:object size:0xC scope:global
|
||||
|
|
@ -116,5 +116,5 @@ __vt__8cM3dGAab = .data:0x00000294; // type:object size:0xC scope:global
|
|||
__vt__8cM3dGPla = .data:0x000002A0; // type:object size:0xC scope:global
|
||||
__vt__12J3DFrameCtrl = .data:0x000002AC; // type:object size:0xC scope:global
|
||||
__vt__12daObjLv6Bm_c = .data:0x000002B8; // type:object size:0x28 scope:global
|
||||
lbl_553_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
lbl_553_bss_1 = .bss:0x00000001; // type:object size:0x1 data:byte
|
||||
lbl_553_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte
|
||||
lbl_553_bss_1 = .bss:0x00000001; // type:object size:0x1 scope:local data:byte
|
||||
|
|
|
|||
|
|
@ -14,3 +14,4 @@ d/actor/d_a_obj_lv6bemos2.cpp:
|
|||
.ctors start:0x00000000 end:0x00000004
|
||||
.rodata start:0x00000000 end:0x000000D8
|
||||
.data start:0x00000000 end:0x000002E0
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -2079,7 +2079,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6TogeRoll"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6TogeTrap"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6bemos"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6bemos2"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv6bemos2"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6egate"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6elevta"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6swturn"),
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public:
|
|||
/* 80C7EE50 */ void action();
|
||||
/* 80C7F2A4 */ void calcBeam();
|
||||
/* 80C7F904 */ int checkFindPlayer();
|
||||
/* 80C7FA54 */ int checkSearchPlayer();
|
||||
/* 80C7FA54 */ s8 checkSearchPlayer();
|
||||
/* 80C7FBA4 */ f32 getSearchDistance();
|
||||
/* 80C7FBFC */ f32 getBeamSearchDistance();
|
||||
/* 80C7FC54 */ void effect_proc();
|
||||
|
|
@ -62,7 +62,7 @@ public:
|
|||
u8 getSearchDist() { return fopAcM_GetParamBit(this, 0x1C, 4); }
|
||||
u16 getBeamSearchDist() { return field_0xa32 & 15; }
|
||||
|
||||
BOOL checkLockOnCamera() { return (field_0xa32 & 0x8000) >> 15; }
|
||||
u8 checkLockOnCamera() { return (field_0xa32 & 0x8000) >> 15; }
|
||||
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mBeamosModel;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include "d/d_cc_d.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_camera.h"
|
||||
#include "d/d_s_play.h"
|
||||
|
||||
enum E_bm6_RES_File_ID {
|
||||
/* BCK */
|
||||
|
|
@ -559,10 +560,10 @@ int daObjLv6Bm_c::checkFindPlayer() {
|
|||
}
|
||||
|
||||
/* 80C7FA54-80C7FBA4 001914 0150+00 1/1 0/0 0/0 .text checkSearchPlayer__12daObjLv6Bm_cFv */
|
||||
int daObjLv6Bm_c::checkSearchPlayer() {
|
||||
s8 daObjLv6Bm_c::checkSearchPlayer() {
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
f32 searchDistance = getSearchDistance();
|
||||
int rv = -1;
|
||||
s8 rv = -1;
|
||||
|
||||
field_0xa15 = 0;
|
||||
|
||||
|
|
@ -580,7 +581,7 @@ int daObjLv6Bm_c::checkSearchPlayer() {
|
|||
rv = 0;
|
||||
}
|
||||
|
||||
if ((s8)rv == 0) {
|
||||
if (rv == 0) {
|
||||
cXyz sp5c(eyePos);
|
||||
cXyz sp68(player->eyePos);
|
||||
if (fopAcM_lc_c::lineCheck(&sp5c, &sp68, this)) {
|
||||
|
|
@ -841,23 +842,26 @@ void daObjLv6Bm_c::initActionAttack() {
|
|||
|
||||
/* 80C8082C-80C80F48 0026EC 071C+00 1/0 0/0 0/0 .text actionAttack__12daObjLv6Bm_cFv */
|
||||
void daObjLv6Bm_c::actionAttack() {
|
||||
// NONMATCHING
|
||||
static u16 const l_eff_id[2] = {
|
||||
ZL2_GLOW02_1,
|
||||
ZL2_GLOW02_2,
|
||||
};
|
||||
|
||||
bool sp_0x15 = false;
|
||||
bool bVar2 = false;
|
||||
f32 fVar1 = fopAcM_searchPlayerDistanceXZ(this);
|
||||
if (fVar1 > getBeamSearchDistance()) {
|
||||
fVar1 = getBeamSearchDistance();
|
||||
}
|
||||
|
||||
s16 sp_0x18 = 30000;
|
||||
s16 sp_0x16 = 200;
|
||||
bool bVar1 = true;
|
||||
if (((s8)checkSearchPlayer() == -1 && cLib_calcTimer(&field_0xa11) == 0) || field_0xa15 != 0) {
|
||||
s8 is_srch_ply = checkSearchPlayer();
|
||||
if ((is_srch_ply == -1 && cLib_calcTimer(&field_0xa11) == 0) || field_0xa15 != 0) {
|
||||
bVar1 = false;
|
||||
}
|
||||
|
||||
bool bVar2;
|
||||
switch (mMode) {
|
||||
case 0:
|
||||
if (cLib_calcTimer(&field_0xa12) == 0) {
|
||||
|
|
@ -866,10 +870,10 @@ void daObjLv6Bm_c::actionAttack() {
|
|||
break;
|
||||
|
||||
case 1:
|
||||
field_0x9d8 = 200;
|
||||
field_0x9d8 = sp_0x16;
|
||||
field_0x9c4 = fopAcM_searchPlayerAngleY(this) - home.angle.y;
|
||||
|
||||
cLib_chaseF(&field_0xa2c, fVar1, 5.0f);
|
||||
cLib_chaseF(&field_0xa2c, fVar1, 5.0f + KREG_F(16));
|
||||
if (!bVar1) {
|
||||
mMode = 3;
|
||||
}
|
||||
|
|
@ -882,7 +886,7 @@ void daObjLv6Bm_c::actionAttack() {
|
|||
case 2:
|
||||
field_0x9d8 = 450;
|
||||
field_0x9c4 = fopAcM_searchPlayerAngleY(this) - home.angle.y;
|
||||
cLib_chaseF(&field_0xa2c, fVar1, 15.0f);
|
||||
cLib_chaseF(&field_0xa2c, fVar1, 15.0f + KREG_F(16));
|
||||
if (!bVar1) {
|
||||
mMode = 3;
|
||||
}
|
||||
|
|
@ -898,13 +902,7 @@ void daObjLv6Bm_c::actionAttack() {
|
|||
break;
|
||||
|
||||
case 4:
|
||||
bVar2 = false;
|
||||
if (cLib_chaseUC(&field_0xa1c, 0, 26) == 1) {
|
||||
if (mpBtkAnm->isStop()) {
|
||||
bVar2 = true;
|
||||
}
|
||||
}
|
||||
|
||||
bVar2 = (cLib_chaseUC(&field_0xa1c, 0, 26) == 1) && (mpBtkAnm->isStop());
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (field_0xa40[i] != NULL) {
|
||||
field_0xa40[i]->setGlobalAlpha(field_0xa1c);
|
||||
|
|
@ -930,12 +928,10 @@ void daObjLv6Bm_c::actionAttack() {
|
|||
|
||||
initActionWarning();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
field_0xa70 = home.pos;
|
||||
bVar1 = false;
|
||||
|
||||
bool sp_0x11 = false;
|
||||
if (fopAcM_lc_c::lineCheck(&field_0x9e4, &field_0x9f8, this) && fopAcM_lc_c::checkGroundHit()) {
|
||||
if (field_0xa18 == 0) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
|
|
@ -956,10 +952,10 @@ void daObjLv6Bm_c::actionAttack() {
|
|||
|
||||
field_0xa70 = fopAcM_lc_c::getCross();
|
||||
}
|
||||
bVar1 = true;
|
||||
sp_0x11 = true;
|
||||
}
|
||||
|
||||
if (!bVar1) {
|
||||
if (!sp_0x11) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (field_0xa38[i] != NULL) {
|
||||
field_0xa38[i]->becomeInvalidEmitter();
|
||||
|
|
|
|||
Loading…
Reference in New Issue