d_com_static OK

This commit is contained in:
LagoLunatic
2024-04-13 15:16:15 -04:00
parent 282756e6e8
commit 133df570d9
20 changed files with 248 additions and 87 deletions
+1 -1
View File
@@ -342,7 +342,7 @@ config.libs = [
Object(NonMatching, "d/d_map.cpp"),
Object(Matching, "d/d_com_inf_game.cpp", extra_cflags=['-sym off']),
Object(Matching, "d/d_com_lib_game.cpp"),
Object(NonMatching, "d/d_com_static.cpp"),
Object(Matching, "d/d_com_static.cpp", extra_cflags=['-sym off']),
Object(NonMatching, "d/d_lib.cpp"),
Object(Matching, "d/d_save.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(Matching, "d/d_save_init.cpp"),
+2
View File
@@ -36,6 +36,8 @@ public:
void PadMove();
void CreateHeap();
void GameInfo2DDraw();
static daCanon_c* canon_p;
public:
/* Place member variables here */
+2 -2
View File
@@ -30,8 +30,8 @@ public:
mNowDaizaNum = 0;
mNowItemNum = 0;
}
static void getMaxDaiza();
static void getDaizaSetItemNum();
static s8 getMaxDaiza();
static s8 getDaizaSetItemNum();
static s8 mNowDaizaNum;
static s8 mNowItemNum;
+1 -1
View File
@@ -12,7 +12,7 @@ class J3DNode;
class daStandItem_c : public fopAc_ac_c {
public:
void getItemNo() const {}
int getItemNo() const { return mItemNo; }
bool _delete();
void CreateHeap();
+4
View File
@@ -6,6 +6,7 @@
class J3DModelData;
class mDoDvdThd_mountXArchive_c;
class JKRArchive;
class JKRExpHeap;
class daLodbg_c : public fopAc_ac_c {
public:
@@ -20,6 +21,9 @@ public:
void execCreateWait();
void execReadWait();
void execDeleteWait();
static s32 sObjectCount;
static JKRExpHeap* sLocalHeap;
public:
/* 0x290 */ int (daLodbg_c::*mExecFunc)();
+12 -7
View File
@@ -22,13 +22,14 @@ public:
s8 getBackboneJntNum() { return m_backbone_jnt_num; }
s16 getBackbone_x() { return mJntCtrl.getBackbone_x(); }
s16 getBackbone_y() { return mJntCtrl.getBackbone_y(); }
void getBuyItem() {}
void getBuyItemMax() {}
int getHeadJntNum() { return m_head_jnt_num; }
s16 getHead_x() { return mJntCtrl.getHead_x(); }
s16 getHead_y() { return mJntCtrl.getHead_y(); }
void getPayRupee() {}
void incAttnSetCount() {}
void incAttnSetCount() {
if (m72F != 0xFF) {
m72F += 1;
}
}
void setAction(ActionFunc func, void* arg) {
if (mCurrActionFunc != func) {
if (mCurrActionFunc) {
@@ -41,10 +42,14 @@ public:
}
}
void setAttentionBasePos(cXyz value) { m718 = value;}
void setBuyItem(u8) {}
void setBuyItemMax(u8) {}
void setEyePos(cXyz other) { eyePos = other; }
void setPayRupee(s16) {}
static u8 getBuyItemMax() { return m_tag_buy_item_max; }
static void setBuyItemMax(u8 count) { m_tag_buy_item_max = count; }
static u8 getBuyItem() { return m_tag_buy_item; }
static void setBuyItem(u8 count) { m_tag_buy_item = count; }
static s16 getPayRupee() { return m_tag_pay_rupee; }
static void setPayRupee(s16 count) { m_tag_pay_rupee = count; }
s16 XyEventCB(int);
BOOL initTexPatternAnm(bool);
+4 -2
View File
@@ -29,10 +29,12 @@ public:
void wait_action();
void clr_seq_flag();
void getMsg();
void next_msgStatus(unsigned long*);
void anmAtr(unsigned short);
void next_msgStatus(u32*);
void anmAtr(u16);
void setAnm();
static const u8 m_highscore;
public:
/* 0x6C4 */ J3DModel* m6C4;
/* 0x6C8 */ mDoExt_btpAnm mBtpAnm;
+7 -6
View File
@@ -7,21 +7,21 @@ class daNpc_Kg2_c : public fopAc_ac_c {
public:
void getAttentionBasePos() {}
void getEyePos() {}
void seStart(unsigned long) {}
void seStart(u32) {}
void setAction(int (daNpc_Kg2_c::*)(void*), void*) {}
void setCanonGameResult(unsigned char) {}
void setCanonGameResult(u8) {}
void set_mtx();
void initTexPatternAnm(bool);
void playTexPatternAnm();
void setAnm(signed char, float);
void setAnm(s8, f32);
void subAnm();
void chkAttention(cXyz, short);
void chkAttention(cXyz, s16);
void eventOrder();
void checkOrder();
void getMsg();
void next_msgStatus(unsigned long*);
void anmAtr(unsigned short);
void next_msgStatus(u32*);
void anmAtr(u16);
void setAttention();
void lookBack();
void CreateHeap();
@@ -48,6 +48,7 @@ public:
}
static s8 canon_game_result;
static daNpc_Kg2_c* l_kg2_pointer;
public:
/* Place member variables here */
+7 -4
View File
@@ -14,13 +14,13 @@ public:
void initTexPatternAnm(bool);
void playTexPatternAnm();
void setAnm(signed char, float);
void chkAttention(cXyz, short);
void setAnm(s8, f32);
void chkAttention(cXyz, s16);
void eventOrder();
void checkOrder();
void next_msgStatus(unsigned long*);
void next_msgStatus(u32*);
void getMsg();
void anmAtr(unsigned short);
void anmAtr(u16);
void CreateInit();
void setAttention();
void lookBack();
@@ -35,6 +35,9 @@ public:
BOOL _delete();
s32 _create();
void CreateHeap();
static s32 ship_race_rupee;
static s32 ship_race_result;
public:
/* Place member variables here */
+12 -7
View File
@@ -16,8 +16,8 @@ namespace daObjLight {
void draw_fire();
void exe_fire();
void delete_fire();
void now_event(short);
void set_event(short);
void now_event(s16);
void set_event(s16);
void exe_event();
void set_mtx();
void renew_angle();
@@ -26,11 +26,16 @@ namespace daObjLight {
BOOL _execute();
BOOL _draw();
static void renew_light_angle();
static void get_light_angle();
static void get_light_dif_angle();
static void set_light_dif_angle_LOD(short);
static void set_light_dif_angle_FRRS(short);
static BOOL renew_light_angle();
static s16 get_light_angle();
static s16 get_light_dif_angle();
static BOOL set_light_dif_angle_LOD(s16);
static BOOL set_light_dif_angle_FRRS(s16);
static s16 M_S_light_angle;
static u32 M_S_pre_set_frame_LOD;
static u32 M_S_pre_set_frame_FRRS;
static u8 M_S_lod_access;
public:
/* Place member variables here */
+1 -1
View File
@@ -4,7 +4,7 @@
#include "f_op/f_op_actor.h"
namespace daObjPirateship {
static f32 getShipOffsetY(s16*, s16*, f32);
f32 getShipOffsetY(s16*, s16*, f32);
class Act_c : public fopAc_ac_c {
public:
+1 -1
View File
@@ -14,7 +14,7 @@ public:
void CreateHeap();
void CreateInit();
static void getCreateCount();
static int getCreateCount();
public:
/* Place member variables here */
+10 -10
View File
@@ -4,13 +4,13 @@
#include "f_op/f_op_actor.h"
#include "d/actor/d_a_oship.h"
class daSalvage_control_c;
class dSalvage_control_c;
class daSalvage_c : public fopAc_ac_c {
public:
void checkRegist(int) {}
void checkUsed(int) {}
void clrFlag(int, unsigned char) {}
void clrFlag(int, u8) {}
void debug_print() {}
void debug_print_reg() {}
void getAlphaP(int) {}
@@ -33,10 +33,10 @@ public:
void init_one(int) {}
void isValidSalvageId() {}
void setDrawMode(int, int) {}
void setFlag(int, unsigned char) {}
void setNowAlpha(int, unsigned char) {}
void setFlag(int, u8) {}
void setNowAlpha(int, u8) {}
void setPos(int, cXyz) {}
void setSRoomNo(signed char) {}
void setSRoomNo(s8) {}
void setSalvageId(int) {}
void CreateHeap();
@@ -57,7 +57,7 @@ public:
void end_salvage();
void checkDistance();
void checkXZDistance();
void getDistance(int, float*);
void getDistance(int, f32*);
void send_agb();
void debug_print2();
BOOL _draw();
@@ -65,7 +65,7 @@ public:
void isEffectKind(int);
void debugDraw();
static void init_room(signed char);
static void init_room(s8);
static void init() {
mNowRoomNo = -1;
@@ -73,10 +73,10 @@ public:
mSalvageId = -1;
}
static s8 mNowRoomNo;
static daSalvage_control_c* mTagData_p;
static s32 mSalvageId;
static const u16 m_savelabel[];
static dSalvage_control_c* mTagData_p;
static s8 mNowRoomNo;
static s32 mSalvageId;
public:
/* Place member variables here */
+10
View File
@@ -54,6 +54,16 @@ namespace daTagLight {
BOOL _execute();
void set_material(J3DMaterial*, unsigned char);
BOOL _draw();
static const f32 M_box_x_min;
static const f32 M_box_x_max;
static const f32 M_box_y_min;
static const f32 M_box_y_max;
static const f32 M_box_z_min;
static const f32 M_box_z_max;
static const f32 M_cone_lower;
static const f32 M_cone_upper;
static const f32 M_cone_r;
public:
/* Place member variables here */
+2
View File
@@ -20,6 +20,8 @@ public:
void set_at();
void set_co();
BOOL _draw();
static const s16 m_max_rot_speed[];
public:
/* Place member variables here */
+5 -2
View File
@@ -3,6 +3,7 @@
#include "f_op/f_op_actor.h"
class dPath;
class JPABaseEmitter;
class JPABaseParticle;
@@ -21,11 +22,13 @@ public:
}
};
static JPABaseEmitter* m_emitter;
static u8 m_flag;
static u8 m_alpha_flag;
static u8 m_alpha;
static f32 m_aim_rate;
static dPath* m_path;
static JPABaseEmitter* m_emitter;
inline s32 _create();
inline BOOL _delete();
inline BOOL _draw();
+1 -1
View File
@@ -120,7 +120,7 @@ public:
BOOL isHide() { return mbIsHide; }
s16 getItemDataIdx() { return mItemSetListGlobalIdx; }
void setItemDataIdx(s16 idx) { mItemSetListGlobalIdx = idx; }
void setItemSum(s16) {}
void setItemSum(s16 count) { mNumItems = count; }
void init() {}
void createItem(int, int);
+17 -16
View File
@@ -241,9 +241,7 @@ static BOOL nodeCallBack_Bs(J3DNode* node, int value) {
offset.z = 0.0f;
MtxPosition(&offset, &pos);
i_this->setEyePos(pos);
if (i_this->m72F != (u8)-1) {
i_this->m72F += 1;
}
i_this->incAttnSetCount();
} else if (jntNo == i_this->getBackboneJntNum()) {
mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y());
mDoMtx_ZrotM(*calc_mtx, -i_this->getBackbone_x());
@@ -505,7 +503,7 @@ static void daNpc_Bs1_setPayRupee(int unknownParam1, int unknownParam2) {
int r5 = maxRupees - rupee;
int paymentTotal = cLib_maxLimit(unknownParam1 * unknownParam2, r5);
daNpc_Bs1_c::m_tag_pay_rupee = paymentTotal;
daNpc_Bs1_c::setPayRupee(paymentTotal);
}
/* 000010EC-00001F7C .text next_msgStatus__11daNpc_Bs1_cFPUl */
@@ -549,8 +547,8 @@ u16 daNpc_Bs1_c::next_msgStatus(u32* pMsgNo) {
case 0xF9E:
m83C = dComIfGp_getMessageRupee();
int buyMax = daNpc_Bs1_getBuyItemMax(m83C, m840);
m_tag_buy_item_max = buyMax;
m_tag_buy_item = buyMax;
setBuyItemMax(buyMax);
setBuyItem(buyMax);
if(buyMax != 0) {
*pMsgNo += 1;
break;
@@ -561,8 +559,8 @@ u16 daNpc_Bs1_c::next_msgStatus(u32* pMsgNo) {
case 0xFD4:
m83C = dComIfGp_getMessageRupee();
buyMax = daNpc_Bs1_getBuyItemMax(m83C, m840);
m_tag_buy_item_max = buyMax;
m_tag_buy_item = buyMax;
setBuyItemMax(buyMax);
setBuyItem(buyMax);
if(buyMax != 0) {
*pMsgNo = 0xF9F;
break;
@@ -599,7 +597,7 @@ u16 daNpc_Bs1_c::next_msgStatus(u32* pMsgNo) {
case 0xF97:
case 0xF9C:
case 0xFD2:
daNpc_Bs1_setPayRupee(m83C, m_tag_buy_item);
daNpc_Bs1_setPayRupee(m83C, getBuyItem());
*pMsgNo += 1;
break;
@@ -644,15 +642,15 @@ u16 daNpc_Bs1_c::next_msgStatus(u32* pMsgNo) {
idx = 3;
break;
}
dComIfGp_setItemRupeeCount(m_tag_pay_rupee);
dComIfGp_setItemBeastNumCount(idx, -m_tag_buy_item);
dComIfGp_setItemRupeeCount(getPayRupee());
dComIfGp_setItemBeastNumCount(idx, -getBuyItem());
if(*pMsgNo == 0xFD3) {
u8 r3 = dComIfGs_getEventReg(0x7F0F);
r3 += m_tag_buy_item;
r3 += getBuyItem();
u8 temp = cLib_maxLimit<u8>(r3, 0xF);
dComIfGs_setEventReg(0x7F0F, temp);
if(temp < 0xA) {
*pMsgNo = 0xFD5;
break;
@@ -912,7 +910,7 @@ u16 daNpc_Bs1_c::next_msgStatus(u32* pMsgNo) {
execItemGet(itemNo);
if(mType == 0) {
if(dComIfGs_getEventReg(0x86FF)) {
if(dComIfGs_getEventReg(0x86FF) != 0) {
*pMsgNo = 0xF4C;
break;
}
@@ -1004,7 +1002,8 @@ u16 daNpc_Bs1_c::next_msgStatus(u32* pMsgNo) {
case 0xF4C:
case 0xF4E:
int points = dComIfGs_getEventReg(0x86FF);
points = points + 1 > 0xFF ? 0xFF : points + 1;
points += 1;
points = cLib_maxLimit<int>(points, 0xFF);
dComIfGs_setEventReg(0x86FF, points);
if(points > 60) {
@@ -1033,6 +1032,7 @@ u16 daNpc_Bs1_c::next_msgStatus(u32* pMsgNo) {
break;
default:
msgStatus = fopMsgStts_MSG_ENDS_e;
break;
}
return msgStatus;
@@ -1235,6 +1235,7 @@ u32 daNpc_Bs1_c::getMsg() {
}
msgNo = 0x2F5E;
break;
}
if(dComIfGs_isEventBit(0x1F10)) {
@@ -1582,7 +1583,7 @@ void daNpc_Bs1_c::createShopList() {
}
}
mShopItems.mNumItems = 3;
mShopItems.setItemSum(3);
mShopItems.setItemSetDataList(mpItemSetList);
for(int i = 0; i < 3; i++) {
mShopItems.mSelectedItemIdx = i;
+2 -2
View File
@@ -27,6 +27,7 @@
#include "d/actor/d_a_bomb.h"
#include "d/actor/d_a_ship.h"
#include "d/actor/d_a_boko.h"
#include "d/actor/d_a_npc_sarace.h"
#include "SSystem/SComponent/c_counter.h"
#include "m_Do/m_Do_graphic.h"
@@ -2966,7 +2967,6 @@ void daPy_lk_c::checkFallCode() {
/* 80120724-80120BBC .text startRestartRoom__9daPy_lk_cFUlifi */
BOOL daPy_lk_c::startRestartRoom(u32 param_1, int eventInfoIdx, f32 param_3, int i_point) {
/* Nonmatching - npc_sarace */
if (!checkNoResetFlg0(daPyFlg0_UNK4000) && (i_point != 0 || dComIfGp_event_compulsory(this))) {
mDemo.setOriginalDemoType();
if (i_point == 0) {
@@ -2978,7 +2978,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int eventInfoIdx, f32 param_3, int
if (dComIfGp_getMiniGameType() == 1) {
dComIfGp_setNextStage("sea", 1, 48);
mDoAud_seStart(JA_SE_FORCE_BACK);
// daNpc_Sarace_c::ship_race_result = 3;
daNpc_Sarace_c::ship_race_result = 3;
mTinkleShieldTimer = 0;
return TRUE;
} else {
+147 -24
View File
@@ -5,17 +5,27 @@
#include "dolphin/types.h"
#include "d/d_com_inf_game.h"
#include "d/d_salvage.h"
#include "d/d_procname.h"
#include "d/actor/d_a_lod_bg.h"
#include "d/actor/d_a_agb.h"
#include "d/actor/d_a_agbsw0.h"
#include "d/actor/d_a_npc_kamome.h"
#include "d/actor/d_a_npc_os.h"
#include "d/actor/d_a_npc_md.h"
#include "d/actor/d_a_npc_sarace.h"
#include "d/actor/d_a_canon.h"
#include "d/actor/d_a_arrow.h"
#include "d/actor/d_a_ib.h"
#include "d/actor/d_a_item.h"
#include "d/actor/d_a_tag_light.h"
#include "d/actor/d_a_obj_movebox.h"
#include "d/actor/d_a_windmill.h"
#include "d/actor/d_a_npc_kg1.h"
#include "d/actor/d_a_npc_kg2.h"
#include "d/actor/d_a_obj_pirateship.h"
#include "d/actor/d_a_steam_tag.h"
#include "d/actor/d_a_ykgr.h"
#include "d/actor/d_a_tag_kb_item.h"
#include "d/actor/d_a_tag_waterlevel.h"
#include "d/actor/d_a_title.h"
@@ -25,9 +35,15 @@
#include "d/actor/d_a_dai.h"
#include "d/actor/d_a_obj_roten.h"
#include "d/actor/d_a_dai_item.h"
#include "d/d_procname.h"
#include "d/actor/d_a_npc_ji1.h"
#include "d/actor/d_a_npc_bs1.h"
#include "SSystem/SComponent/c_counter.h"
static Vec dummy_3569;
s32 daLodbg_c::sObjectCount;
JKRExpHeap* daLodbg_c::sLocalHeap;
u8 daSteamTag_c::mEmitterNum;
/* 8005662C-80056638 .text init__12daSteamTag_cFv */
@@ -35,6 +51,13 @@ void daSteamTag_c::init() {
mEmitterNum = 0;
}
u8 daYkgr_c::m_flag;
u8 daYkgr_c::m_alpha_flag;
u8 daYkgr_c::m_alpha;
f32 daYkgr_c::m_aim_rate;
dPath* daYkgr_c::m_path;
JPABaseEmitter* daYkgr_c::m_emitter;
/* 80056638-800566F0 .text getShipOffsetY__15daObjPirateshipFPsPsf */
f32 daObjPirateship::getShipOffsetY(s16* param_1, s16* param_2, f32 param_3) {
if (*param_1 > 0x4000 || *param_1 < -0x4000) {
@@ -100,37 +123,70 @@ const u16 daSalvage_c::m_savelabel[] = {
0x3C10, 0x3C08,
0x3C04, 0x3C02,
};
dSalvage_control_c* daSalvage_c::mTagData_p;
s8 daSalvage_c::mNowRoomNo;
s32 daSalvage_c::mSalvageId;
/* 80056760-80056790 .text init_room__11daSalvage_cFSc */
void daSalvage_c::init_room(signed char) {
/* Nonmatching */
void daSalvage_c::init_room(s8 roomNo) {
if (mTagData_p) {
mTagData_p->init_room(roomNo);
}
}
s16 daObjLight::Act_c::M_S_light_angle;
u32 daObjLight::Act_c::M_S_pre_set_frame_LOD;
u32 daObjLight::Act_c::M_S_pre_set_frame_FRRS;
u8 daObjLight::Act_c::M_S_lod_access;
/* 80056790-800567F8 .text renew_light_angle__Q210daObjLight5Act_cFv */
void daObjLight::Act_c::renew_light_angle() {
/* Nonmatching */
BOOL daObjLight::Act_c::renew_light_angle() {
M_S_lod_access = 1;
if (dKy_daynight_check() == 1) {
if (dComIfGs_isEventBit(0x1C02) == 1) {
set_light_dif_angle_LOD(get_light_dif_angle() + 0x80);
return TRUE;
}
}
return FALSE;
}
/* 800567F8-80056824 .text get_light_angle__Q210daObjLight5Act_cFv */
void daObjLight::Act_c::get_light_angle() {
/* Nonmatching */
s16 daObjLight::Act_c::get_light_angle() {
return get_light_dif_angle() + 0xF6C2;
}
/* 80056824-8005682C .text get_light_dif_angle__Q210daObjLight5Act_cFv */
void daObjLight::Act_c::get_light_dif_angle() {
/* Nonmatching */
s16 daObjLight::Act_c::get_light_dif_angle() {
return M_S_light_angle;
}
/* 8005682C-80056860 .text set_light_dif_angle_LOD__Q210daObjLight5Act_cFs */
void daObjLight::Act_c::set_light_dif_angle_LOD(short) {
/* Nonmatching */
BOOL daObjLight::Act_c::set_light_dif_angle_LOD(s16 r3) {
if (g_Counter.mCounter0 != M_S_pre_set_frame_FRRS) {
M_S_light_angle = r3;
M_S_pre_set_frame_LOD = g_Counter.mCounter0;
return TRUE;
} else {
M_S_pre_set_frame_LOD = g_Counter.mCounter0;
return FALSE;
}
}
/* 80056860-800568A8 .text set_light_dif_angle_FRRS__Q210daObjLight5Act_cFs */
void daObjLight::Act_c::set_light_dif_angle_FRRS(short) {
/* Nonmatching */
BOOL daObjLight::Act_c::set_light_dif_angle_FRRS(s16 r3) {
if (g_Counter.mCounter0 != M_S_pre_set_frame_LOD && g_Counter.mCounter0-1 == M_S_pre_set_frame_FRRS) {
M_S_light_angle = r3;
M_S_pre_set_frame_FRRS = g_Counter.mCounter0;
return TRUE;
} else {
M_S_pre_set_frame_FRRS = *(s32*)&g_Counter.mCounter0; // fakematch
return FALSE;
}
}
s8 daDai_c::mNowDaizaNum;
s8 daDai_c::mNowItemNum;
const u16 daDai_c::m_savelabel[] = {
0xF8FF, 0xF7FF,
0xF6FF, 0xF5FF,
@@ -155,13 +211,13 @@ const u16 daDai_c::m_savelabel[] = {
};
/* 800568A8-800568B0 .text getMaxDaiza__7daDai_cFv */
void daDai_c::getMaxDaiza() {
/* Nonmatching */
s8 daDai_c::getMaxDaiza() {
return mNowDaizaNum;
}
/* 800568B0-800568B8 .text getDaizaSetItemNum__7daDai_cFv */
void daDai_c::getDaizaSetItemNum() {
/* Nonmatching */
s8 daDai_c::getDaizaSetItemNum() {
return mNowItemNum;
}
bool daNpc_Os_c::m_playerRoom[3] = { false, false, false };
@@ -180,6 +236,14 @@ s16 daNpc_Md_c::getMaxFlyingTimer() {
return 15*30;
}
s32 daNpc_Sarace_c::ship_race_rupee;
s32 daNpc_Sarace_c::ship_race_result;
daCanon_c* daCanon_c::canon_p;
s8 daNpc_Kg2_c::canon_game_result;
daNpc_Kg2_c* daNpc_Kg2_c::l_kg2_pointer;
u8 daArrow_c::m_keep_type;
/* 800568C0-800568C8 .text getKeepType__9daArrow_cFv */
@@ -240,10 +304,38 @@ void daIball_c::remove_old() {
}
/* 80056A18-80056AD0 .text getCreateCount__13daObj_Roten_cFv */
void daObj_Roten_c::getCreateCount() {
/* Nonmatching */
int daObj_Roten_c::getCreateCount() {
u8 r30 = 0;
int r29 = 0;
for (; r30 <= 0xB; r30++) {
if (dComIfGs_isGetItemReserve(r30)) {
r29++;
} else if (r30 == 0) {
r29++;
}
}
if (r29 > 9) {
return 4;
} else if (r29 > 6) {
return 3;
} else if (r29 > 3) {
return 2;
} else {
return 1;
}
}
const f32 daTagLight::Act_c::M_box_x_min = -50.0f;
const f32 daTagLight::Act_c::M_box_x_max = 50.0f;
const f32 daTagLight::Act_c::M_box_y_min = 0.0f;
const f32 daTagLight::Act_c::M_box_y_max = 100.0f;
const f32 daTagLight::Act_c::M_box_z_min = -50.0f;
const f32 daTagLight::Act_c::M_box_z_max = 50.0f;
const f32 daTagLight::Act_c::M_cone_lower = 0.0f;
const f32 daTagLight::Act_c::M_cone_upper = 100.0f;
const f32 daTagLight::Act_c::M_cone_r = 50.0f;
const s16 daObjMovebox::Act_c::M_dir_base[4] = {
0x0000,
0x4000,
@@ -251,6 +343,13 @@ const s16 daObjMovebox::Act_c::M_dir_base[4] = {
0xC000,
};
const s16 daWindMill_c::m_max_rot_speed[] = {
0x09C4,
0x09C4,
};
const u8 daNpc_Kg1_c::m_highscore = 20;
/* 80056AD0-80056AFC .text kb_dig__13daTagKbItem_cFP10fopAc_ac_c */
void daTagKbItem_c::kb_dig(fopAc_ac_c* i_actor) {
field_0x299 = 1;
@@ -283,11 +382,9 @@ void daTagKbItem_c::dig_main() {
if (field_0x2a0 != 0xFF) {
angle.y = cM_rndF((f32)0x7FFE);
s8 roomNo = current.roomNo;
f32 speedY = cM_rndFX(5.0f) + 60.0f;
f32 speedF = cM_rndF(5.0f);
daItem_c* item = (daItem_c*)fopAcM_fastCreateItem(
&mpActor->current.pos, field_0x2a0, roomNo, &angle,
&scale, speedF, speedY, -6.0f, field_0x29c
&scale, cM_rndF(5.0f), 60.0f + cM_rndFX(5.0f), -6.0f, field_0x29c
);
if (item) {
fopAcM_OnStatus(item, fopAcStts_UNK4000_e);
@@ -321,10 +418,36 @@ void daTitle_proc_c::daTitle_Kirakira_Sound_flag_on() {
}
/* 80056CCC-80056DE0 .text daiItemNodeCallBack__13daStandItem_cFP7J3DNodei */
BOOL daStandItem_c::daiItemNodeCallBack(J3DNode*, int) {
/* Nonmatching */
BOOL daStandItem_c::daiItemNodeCallBack(J3DNode* node, int param_1) {
if (!param_1) {
J3DJoint* joint = (J3DJoint*)node;
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
void* userArea = (void*)model->getUserArea();
if (userArea && fopAcM_IsActor(userArea) && fopAcM_GetName(userArea) == PROC_STANDITEM) {
daStandItem_c* i_this = (daStandItem_c*)userArea;
mDoMtx_stack_c::copy(model->getAnmMtx(jntNo));
switch (i_this->getItemNo()) {
case 0x92:
mDoMtx_stack_c::XrotM(i_this->m6B4);
break;
case 0x95:
if (jntNo == 0) {
mDoMtx_copy(mDoMtx_stack_c::get(), i_this->m630);
} else if (jntNo == 1) {
mDoMtx_copy(mDoMtx_stack_c::get(), i_this->m660);
}
break;
}
model->setAnmMtx(jntNo, mDoMtx_stack_c::get());
cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
}
}
return TRUE;
}
s8 daNpc_Ji1_c::game_life_point;
bool daNpc_kam_c::m_hyoi_kamome;
u8 daNpc_Bs1_c::m_tag_buy_item_max;