d_a_balloon equivalent (#2542)

This commit is contained in:
Max Roncace 2025-07-19 19:20:19 +00:00 committed by GitHub
parent c4ec1a5402
commit 541501d781
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 385 additions and 455 deletions

View File

@ -1636,7 +1636,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_magic"), ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_magic"),
ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_mobile"), ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_mobile"),
ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_sima"), ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_sima"),
ActorRel(NonMatching, "d_a_balloon_2D"), ActorRel(Equivalent, "d_a_balloon_2D"), # weak func order
ActorRel(MatchingFor("GZ2E01"), "d_a_bullet"), ActorRel(MatchingFor("GZ2E01"), "d_a_bullet"),
ActorRel(Equivalent, "d_a_coach_2D"), # weak func order ActorRel(Equivalent, "d_a_coach_2D"), # weak func order
ActorRel(MatchingFor("GZ2E01"), "d_a_coach_fire"), ActorRel(MatchingFor("GZ2E01"), "d_a_coach_fire"),

View File

@ -13,6 +13,75 @@ class J2DPicture;
class J2DPane; class J2DPane;
class J2DTextBox; class J2DTextBox;
class daBalloon2D_HIO_c : public mDoHIO_entry_c {
public:
inline daBalloon2D_HIO_c();
/* 806553A8 */ virtual ~daBalloon2D_HIO_c();
#if DEBUG
void genMessage(JORMContext*);
#endif
void resetAddScoreSetFlag();
struct param {
/* 0x04 */ u8 mAdjustmentToggle;
/* 0x08 */ s32 mScore;
/* 0x0C */ u8 mComboCount;
/* 0x0D */ u8 mBalloonSize;
/* 0x0E */ u8 mOverheadScoreToggle;
/* 0x10 */ s32 mOverheadScore;
/* 0x14 */ s32 field_0x14;
/* 0x18 */ f32 field_0x1c;
/* 0x1C */ f32 field_0x20;
/* 0x20 */ f32 mScorePosX;
/* 0x24 */ f32 mScorePosY;
/* 0x28 */ f32 mScoreSize;
/* 0x2C */ f32 m5DNumberPosX;
/* 0x30 */ f32 m5DNumberPosY;
/* 0x34 */ f32 m5DNumberSizeX;
/* 0x38 */ f32 m5DNumberSizeY;
/* 0x3C */ f32 m5DNumberAlpha;
/* 0x40 */ f32 m5DNumber2PosX;
/* 0x44 */ f32 m5DNumber2PosY;
/* 0x48 */ f32 m5DNumber2Size;
/* 0x4C */ f32 mUnkPosX;
/* 0x50 */ f32 mUnkPosY;
/* 0x54 */ f32 mUnkSize;
/* 0x58 */ f32 mComboPosX;
/* 0x5C */ f32 mComboPosY;
/* 0x60 */ f32 mComboSize;
/* 0x64 */ f32 m2DNumberPosX;
/* 0x68 */ f32 m2DNumberPosY;
/* 0x6C */ f32 m2DNumberSizeX;
/* 0x70 */ f32 m2DNumberSizeY;
/* 0x74 */ f32 field_0x78;
/* 0x78 */ f32 m2DNumberComboPosX;
/* 0x7C */ f32 m2DNumberComboPosY;
/* 0x80 */ f32 m2DNumberComboSize;
/* 0x84 */ f32 m2DNumberComboAlpha;
/* 0x88 */ f32 mBalloonLargePosX;
/* 0x8C */ f32 mBalloonLargePosY;
/* 0x90 */ f32 mBalloonLargeSize;
/* 0x94 */ f32 mBalloonLargeAlpha;
/* 0x98 */ f32 mBalloonMedPosX;
/* 0x9C */ f32 mBalloonMedPosY;
/* 0xA0 */ f32 mBalloonMedSize;
/* 0xA4 */ f32 mBalloonMedAlpha;
/* 0xA8 */ f32 mBalloonSmallPosX;
/* 0xAC */ f32 mBalloonSmallPosY;
/* 0xB0 */ f32 mBalloonSmallSize;
/* 0xB4 */ f32 mBalloonSmallAlpha;
/* 0xB8 */ f32 m2DNumberCombo2PosX;
/* 0xBC */ f32 m2DNumberCombo2PosY;
/* 0xC0 */ f32 m2DNumberCombo2Size;
/* 0xC4 */ f32 m2DNumberCombo2PosX43;
};
param m;
};
/** /**
* @ingroup actors-unsorted * @ingroup actors-unsorted
* @class daBalloon2D_c * @class daBalloon2D_c
@ -29,17 +98,11 @@ public:
void set(daBalloon2D_c* i_this) { mBalloon = i_this; } void set(daBalloon2D_c* i_this) { mBalloon = i_this; }
/* 806534CC */ virtual void draw(); /* 806534CC */ virtual void draw();
/* 8065544C */ virtual ~c_list(); /* 8065544C */ virtual ~c_list() {}
daBalloon2D_c* mBalloon; daBalloon2D_c* mBalloon;
}; };
class CHeadScore {
public:
/* 80655304 */ ~CHeadScore();
/* 80655340 */ CHeadScore();
};
daBalloon2D_c() { daBalloon2D_c() {
initiate(); initiate();
} }
@ -79,6 +142,12 @@ public:
u8 field_0xf; u8 field_0xf;
}; };
class CHeadScore : public ScoreCount {
public:
/* 80655304 */ ~CHeadScore();
/* 80655340 */ CHeadScore();
};
/* 0x574 */ J2DScreen* mScreen; /* 0x574 */ J2DScreen* mScreen;
/* 0x578 */ CPaneMgr* field_0x578; /* 0x578 */ CPaneMgr* field_0x578;
/* 0x57C */ CPaneMgr* field_0x57c; /* 0x57C */ CPaneMgr* field_0x57c;
@ -96,7 +165,7 @@ public:
/* 0x5A4 */ J2DPicture* field_0x5c4[10]; /* 0x5A4 */ J2DPicture* field_0x5c4[10];
/* 0x5EC */ J2DPicture* field_0x5ec; /* 0x5EC */ J2DPicture* field_0x5ec;
/* 0x5F0 */ c_list field_0x5f0; /* 0x5F0 */ c_list field_0x5f0;
/* 0x5F8 */ ScoreCount field_0x5f8[20]; /* 0x5F8 */ CHeadScore field_0x5f8[20];
/* 0x738 */ f32 mAllAlpha; /* 0x738 */ f32 mAllAlpha;
/* 0x73C */ f32 mComboAlpha; /* 0x73C */ f32 mComboAlpha;
/* 0x740 */ u32 mScoreCount; /* 0x740 */ u32 mScoreCount;
@ -105,56 +174,6 @@ public:
/* 0x746 */ u8 mIsVisible; /* 0x746 */ u8 mIsVisible;
}; };
class daBalloon2D_HIO_c /*: public mDoHIO_entry_c */ {
public:
/* 806553A8 */ /* virtual */ ~daBalloon2D_HIO_c();
/* 0x00 */ u32 field_0x00;
/* 0x04 */ u8 field_0x04;
/* 0x00 */ u8 field_0x05[0x20 - 5];
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3c;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5c;
/* 0x60 */ f32 field_0x60;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x78 */ f32 field_0x78;
/* 0x7C */ f32 field_0x7c;
/* 0x80 */ f32 field_0x80;
/* 0x84 */ f32 field_0x84;
/* 0x88 */ f32 field_0x88;
/* 0x8C */ f32 field_0x8c;
/* 0x90 */ f32 field_0x90;
/* 0x94 */ f32 field_0x94;
/* 0x98 */ f32 field_0x98;
/* 0x9C */ f32 field_0x9c;
/* 0xA0 */ f32 field_0xa0;
/* 0xA4 */ f32 field_0xa4;
/* 0xA8 */ f32 field_0xa8;
/* 0xAC */ f32 field_0xac;
/* 0xB0 */ f32 field_0xb0;
/* 0xB4 */ f32 field_0xb4;
/* 0xB8 */ f32 field_0xb8;
/* 0xBC */ f32 field_0xbc;
/* 0xC0 */ f32 field_0xc0;
/* 0xC4 */ f32 field_0xc4;
};
#include "f_op/f_op_actor_mng.h" #include "f_op/f_op_actor_mng.h"
struct JKRExpHeap {}; struct JKRExpHeap {};

View File

@ -5,104 +5,16 @@
#include "d/actor/d_a_balloon_2D.h" #include "d/actor/d_a_balloon_2D.h"
#include "JSystem/J2DGraph/J2DGrafContext.h" #include "JSystem/J2DGraph/J2DGrafContext.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "JSystem/J2DGraph/J2DScreen.h" #include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "SSystem/SComponent/c_math.h" #include "SSystem/SComponent/c_math.h"
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h" #include "d/d_com_inf_game.h"
#include "d/d_pane_class.h"
#include "d/d_meter2_info.h" #include "d/d_meter2_info.h"
#include "d/d_msg_object.h" #include "d/d_msg_object.h"
#include "d/d_pane_class.h"
#include "m_Do/m_Do_graphic.h"
#include "m_Do/m_Do_lib.h" #include "m_Do/m_Do_lib.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void draw__Q213daBalloon2D_c6c_listFv();
extern "C" static void daBalloon2D_createHeap__FP10fopAc_ac_c();
extern "C" void createHeap__13daBalloon2D_cFv();
extern "C" void create__13daBalloon2D_cFv();
extern "C" void destroy__13daBalloon2D_cFv();
extern "C" void draw__13daBalloon2D_cFv();
extern "C" void execute__13daBalloon2D_cFv();
extern "C" void drawMeter__13daBalloon2D_cFv();
extern "C" void setComboCount__13daBalloon2D_cFUcUc();
extern "C" void setScoreCount__13daBalloon2D_cFUl();
extern "C" void addScoreCount__13daBalloon2D_cFP4cXyzUlUc();
extern "C" void initiate__13daBalloon2D_cFv();
extern "C" void update__13daBalloon2D_cFv();
extern "C" void setComboNum__13daBalloon2D_cFUc();
extern "C" void setBalloonSize__13daBalloon2D_cFUc();
extern "C" void setScoreNum__13daBalloon2D_cFi();
extern "C" void setAllAlpha__13daBalloon2D_cFv();
extern "C" void setComboAlpha__13daBalloon2D_cFv();
extern "C" void drawAddScore__13daBalloon2D_cFv();
extern "C" void setHIO__13daBalloon2D_cFb();
extern "C" static void daBalloon2D_create__FP13daBalloon2D_c();
extern "C" void __dt__Q213daBalloon2D_c10CHeadScoreFv();
extern "C" void __ct__Q213daBalloon2D_c10CHeadScoreFv();
extern "C" static void daBalloon2D_destroy__FP13daBalloon2D_c();
extern "C" static void daBalloon2D_execute__FP13daBalloon2D_c();
extern "C" static void daBalloon2D_draw__FP13daBalloon2D_c();
extern "C" void draw__12dDlst_base_cFv();
extern "C" void __dt__17daBalloon2D_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void __dt__Q213daBalloon2D_c6c_listFv();
extern "C" void __dt__13daBalloon2D_cFv();
extern "C" void __sinit_d_a_balloon_2D_cpp();
extern "C" extern char const* const d_a_balloon_2D__stringBase0;
extern "C" u8 myclass__13daBalloon2D_c[4];
//
// External References:
//
extern "C" void mDoExt_getMesgFont__Fv();
extern "C" void mDoLib_project__FP3VecP3Vec();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
extern "C" void dMeter2Info_getNumberTextureName__Fi();
extern "C" void dMeter2Info_getPlusTextureName__Fv();
extern "C" void getStatus__12dMsgObject_cFv();
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
extern "C" void paneTrans__8CPaneMgrFff();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void show__13CPaneMgrAlphaFv();
extern "C" void hide__13CPaneMgrAlphaFv();
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
extern "C" void getAlphaRate__13CPaneMgrAlphaFv();
extern "C" void cLib_addCalc2__FPffff();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void __ct__10J2DPictureFPC7ResTIMG();
extern "C" void getStringPtr__10J2DTextBoxCFv();
extern "C" void setString__10J2DTextBoxFsPCce();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_23();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_23();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 sincosTable___5JMath[65536];
extern "C" void __register_global_object();
//
// Declarations:
//
/* 806534CC-80653518 0000EC 004C+00 1/0 0/0 0/0 .text draw__Q213daBalloon2D_c6c_listFv */ /* 806534CC-80653518 0000EC 004C+00 1/0 0/0 0/0 .text draw__Q213daBalloon2D_c6c_listFv */
void daBalloon2D_c::c_list::draw() { void daBalloon2D_c::c_list::draw() {
@ -115,42 +27,6 @@ static int daBalloon2D_createHeap(fopAc_ac_c* i_this) {
return static_cast<daBalloon2D_c*>(i_this)->createHeap(); return static_cast<daBalloon2D_c*>(i_this)->createHeap();
} }
/* ############################################################################################## */
/* 806555AC-806555B0 000000 0004+00 5/5 0/0 0/0 .rodata @3896 */
SECTION_RODATA static u8 const lit_3896[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x806555AC, &lit_3896);
/* 806555EC-806555EC 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_806555EC = "Balloon2D";
SECTION_DEAD static char const* const stringBase_806555F6 = "zelda_balloon_game.blo";
SECTION_DEAD static char const* const stringBase_8065560D = "";
#pragma pop
/* 80655610-806556D4 000000 00C4+00 1/1 0/0 0/0 .data
* aParam$localstatic3$__ct__17daBalloon2D_HIO_cFv */
SECTION_DATA static u8 data_80655610[196] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC1, 0x20, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x50, 0x00, 0x00,
0x3F, 0x8C, 0xCC, 0xCD, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
0x41, 0x90, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xC0, 0xD3, 0x33, 0x33, 0x40, 0xD3, 0x33, 0x33,
0x3F, 0xA6, 0x66, 0x66, 0xBF, 0xA6, 0x66, 0x66, 0x41, 0x13, 0x33, 0x33, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0xD3, 0x33, 0x33, 0x3F, 0x8C, 0xCC, 0xCD, 0x3F, 0x66, 0x66, 0x66,
0x3F, 0x80, 0x00, 0x00, 0x40, 0x79, 0x99, 0x9A, 0xC1, 0x13, 0x33, 0x33, 0x3F, 0x59, 0x99, 0x9A,
0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0xD3, 0x33, 0x33, 0x3F, 0xA6, 0x66, 0x66, 0x3F, 0x40, 0x00, 0x00,
0x3F, 0x66, 0x66, 0x66, 0x40, 0x79, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x59, 0x99, 0x9A,
0x3F, 0x66, 0x66, 0x66, 0x40, 0x79, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x73, 0x33, 0x33,
0x3F, 0x66, 0x66, 0x66, 0x41, 0xB0, 0x00, 0x00, 0xC1, 0x88, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x41, 0xA0, 0x00, 0x00,
};
/* 806556D4-806556D8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ /* 806556D4-806556D8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "Balloon2D"; static char* l_arcName = "Balloon2D";
@ -228,11 +104,6 @@ int daBalloon2D_c::createHeap() {
return 1; return 1;
} }
/* ############################################################################################## */
/* 80655770-8065577C 000008 000C+00 1/1 0/0 0/0 .bss @3779 */
static u8 lit_3779[12];
/* 8065577C-80655844 000014 00C8+00 3/3 0/0 0/0 .bss l_HOSTIO */ /* 8065577C-80655844 000014 00C8+00 3/3 0/0 0/0 .bss l_HOSTIO */
daBalloon2D_HIO_c l_HOSTIO; daBalloon2D_HIO_c l_HOSTIO;
@ -398,35 +269,6 @@ void daBalloon2D_c::setScoreNum(int scoreNum) {
field_0x5a8[4]->changeTexture(resTimg, 0); field_0x5a8[4]->changeTexture(resTimg, 0);
} }
/* ############################################################################################## */
/* 806555B0-806555B4 000004 0004+00 0/3 0/0 0/0 .rodata @4064 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4064 = 1.0f;
COMPILER_STRIP_GATE(0x806555B0, &lit_4064);
#pragma pop
/* 806555B4-806555B8 000008 0004+00 0/2 0/0 0/0 .rodata @4065 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4065 = 2.0f / 5.0f;
COMPILER_STRIP_GATE(0x806555B4, &lit_4065);
#pragma pop
/* 806555B8-806555BC 00000C 0004+00 0/3 0/0 0/0 .rodata @4066 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4066 = 0.5f;
COMPILER_STRIP_GATE(0x806555B8, &lit_4066);
#pragma pop
/* 806555BC-806555C0 000010 0004+00 0/2 0/0 0/0 .rodata @4067 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4067 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x806555BC, &lit_4067);
#pragma pop
/* 80654440-8065464C 001060 020C+00 1/1 0/0 0/0 .text setAllAlpha__13daBalloon2D_cFv */ /* 80654440-8065464C 001060 020C+00 1/1 0/0 0/0 .text setAllAlpha__13daBalloon2D_cFv */
void daBalloon2D_c::setAllAlpha() { void daBalloon2D_c::setAllAlpha() {
mAllAlpha = field_0x578->getAlphaRate(); mAllAlpha = field_0x578->getAlphaRate();
@ -437,11 +279,11 @@ void daBalloon2D_c::setAllAlpha() {
mAllAlpha = 1.0f; mAllAlpha = 1.0f;
} }
field_0x578->setAlphaRate(mAllAlpha); field_0x578->setAlphaRate(mAllAlpha);
field_0x580->setAlphaRate(l_HOSTIO.field_0x3c * mAllAlpha); field_0x580->setAlphaRate(l_HOSTIO.m.m5DNumberAlpha * mAllAlpha);
field_0x594->setAlphaRate(l_HOSTIO.field_0x84 * mAllAlpha); field_0x594->setAlphaRate(l_HOSTIO.m.m2DNumberComboAlpha * mAllAlpha);
field_0x598->setAlphaRate(l_HOSTIO.field_0x94 * mAllAlpha); field_0x598->setAlphaRate(l_HOSTIO.m.mBalloonLargeAlpha * mAllAlpha);
field_0x59c->setAlphaRate(l_HOSTIO.field_0xa4 * mAllAlpha); field_0x59c->setAlphaRate(l_HOSTIO.m.mBalloonMedAlpha * mAllAlpha);
field_0x5a0->setAlphaRate(l_HOSTIO.field_0xb4 * mAllAlpha); field_0x5a0->setAlphaRate(l_HOSTIO.m.mBalloonSmallAlpha * mAllAlpha);
} }
} else if (mAllAlpha != 1.0f) { } else if (mAllAlpha != 1.0f) {
cLib_addCalc2(&mAllAlpha, 0.0f, 0.4f, 0.5f); cLib_addCalc2(&mAllAlpha, 0.0f, 0.4f, 0.5f);
@ -449,11 +291,11 @@ void daBalloon2D_c::setAllAlpha() {
mAllAlpha = 0.0f; mAllAlpha = 0.0f;
} }
field_0x578->setAlphaRate(mAllAlpha); field_0x578->setAlphaRate(mAllAlpha);
field_0x580->setAlphaRate(l_HOSTIO.field_0x3c * mAllAlpha); field_0x580->setAlphaRate(l_HOSTIO.m.m5DNumberAlpha * mAllAlpha);
field_0x594->setAlphaRate(l_HOSTIO.field_0x84 * mAllAlpha); field_0x594->setAlphaRate(l_HOSTIO.m.m2DNumberComboAlpha * mAllAlpha);
field_0x598->setAlphaRate(l_HOSTIO.field_0x94 * mAllAlpha); field_0x598->setAlphaRate(l_HOSTIO.m.mBalloonLargeAlpha * mAllAlpha);
field_0x59c->setAlphaRate(l_HOSTIO.field_0xa4 * mAllAlpha); field_0x59c->setAlphaRate(l_HOSTIO.m.mBalloonMedAlpha * mAllAlpha);
field_0x5a0->setAlphaRate(l_HOSTIO.field_0xb4 * mAllAlpha); field_0x5a0->setAlphaRate(l_HOSTIO.m.mBalloonSmallAlpha * mAllAlpha);
} }
} }
@ -475,91 +317,20 @@ void daBalloon2D_c::setComboAlpha() {
} }
} }
/* ############################################################################################## */
/* 806555C0-806555C4 000014 0004+00 0/1 0/0 0/0 .rodata @4165 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4165 = 30.0f;
COMPILER_STRIP_GATE(0x806555C0, &lit_4165);
#pragma pop
/* 806555C4-806555C8 000018 0004+00 0/1 0/0 0/0 .rodata @4166 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4166 = 3.0f / 10.0f;
COMPILER_STRIP_GATE(0x806555C4, &lit_4166);
#pragma pop
/* 806555C8-806555CC 00001C 0004+00 0/1 0/0 0/0 .rodata @4167 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4167 = 10.0f;
COMPILER_STRIP_GATE(0x806555C8, &lit_4167);
#pragma pop
/* 806555CC-806555D0 000020 0004+00 0/1 0/0 0/0 .rodata @4168 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4168 = 255.0f;
COMPILER_STRIP_GATE(0x806555CC, &lit_4168);
#pragma pop
/* 806555D0-806555D4 000024 0004+00 0/1 0/0 0/0 .rodata @4169 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4169 = 6.0f;
COMPILER_STRIP_GATE(0x806555D0, &lit_4169);
#pragma pop
/* 806555D4-806555D8 000028 0004+00 0/1 0/0 0/0 .rodata @4170 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4170 = 2.0f;
COMPILER_STRIP_GATE(0x806555D4, &lit_4170);
#pragma pop
/* 806555D8-806555DC 00002C 0004+00 0/1 0/0 0/0 .rodata @4171 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4171 = 3.0f;
COMPILER_STRIP_GATE(0x806555D8, &lit_4171);
#pragma pop
/* 806555DC-806555E0 000030 0004+00 0/1 0/0 0/0 .rodata @4172 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4172 = 4.0f;
COMPILER_STRIP_GATE(0x806555DC, &lit_4172);
#pragma pop
/* 806555E0-806555E4 000034 0004+00 0/1 0/0 0/0 .rodata @4173 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4173 = 5.0f;
COMPILER_STRIP_GATE(0x806555E0, &lit_4173);
#pragma pop
/* 806555E4-806555EC 000038 0008+00 0/1 0/0 0/0 .rodata @4175 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4175[8] = {
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x806555E4, &lit_4175);
#pragma pop
/* 80654730-80654E8C 001350 075C+00 1/1 0/0 0/0 .text drawAddScore__13daBalloon2D_cFv */ /* 80654730-80654E8C 001350 075C+00 1/1 0/0 0/0 .text drawAddScore__13daBalloon2D_cFv */
// NONMATCHING - field_0x0.x, regalloc // NONMATCHING - field_0x0.x, regalloc
void daBalloon2D_c::drawAddScore() { void daBalloon2D_c::drawAddScore() {
for (int i = 19; i >= 0; i--) { for (s32 i = 19; i >= 0; i--) {
if (field_0x5f8[i].field_0xe != 0) { if (field_0x5f8[i].field_0xe != 0) {
field_0x5f8[i].field_0xe--; field_0x5f8[i].field_0xe--;
int uVar7 = field_0x5f8[i].field_0xc; s32 score3;
s32 score2;
s32 score = field_0x5f8[i].field_0xc;
s16 temp0 = (field_0x5f8[i].field_0xe % 60) * 1024;
u8 local_88 = 0xff; u8 local_88 = 0xff;
f32 dVar11 = 30.0f; f32 dVar11 = 30.0f;
f32 dVar9 = 30.0f; f32 dVar9 = 30.0f;
field_0x5f8[i].field_0x0.x += 0.3f * cM_ssin((field_0x5f8[i].field_0xe % 60) * 1024); field_0x5f8[i].field_0x0.x += cM_ssin(temp0) * 0.3f;
field_0x5f8[i].field_0x0.y -= 1.0f; field_0x5f8[i].field_0x0.y -= 1.0f;
if (field_0x5f8[i].field_0xe < 10) { if (field_0x5f8[i].field_0xe < 10) {
f32 fVar5 = field_0x5f8[i].field_0xe / 10.0f; f32 fVar5 = field_0x5f8[i].field_0xe / 10.0f;
@ -567,67 +338,67 @@ void daBalloon2D_c::drawAddScore() {
dVar11 *= fVar5; dVar11 *= fVar5;
dVar9 *= fVar5; dVar9 *= fVar5;
} }
for (int j = 0; j < 10; j++) { for (s32 j = 0; j < 10; j++) {
field_0x5c4[j]->setAlpha(local_88); field_0x5c4[j]->setAlpha(local_88);
} }
field_0x5ec->setAlpha(local_88); field_0x5ec->setAlpha(local_88);
f32 dVar8 = (field_0x5f8[i].field_0x0.y - (dVar9 / 2.0f)); f32 dVar8 = (field_0x5f8[i].field_0x0.y - (dVar9 / 2.0f));
int digit; s32 digit;
if (uVar7 >= 10000) { if (score >= 10000) {
f32 dVar10 = (field_0x5f8[i].field_0x0.x - f32 dVar10 = (field_0x5f8[i].field_0x0.x -
(dVar11 / 2.0f) * 6.0f); (dVar11 / 2.0f) * 6.0f);
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false); field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 10000; digit = score / 10000;
uVar7 = uVar7 % 10000; score = score % 10000;
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 1000; digit = score / 1000;
uVar7 %= 1000; score %= 1000;
field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 100; digit = score / 100;
uVar7 %= 100; score %= 100;
field_0x5c4[digit]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 10; digit = score / 10;
uVar7 %= 10; score %= 10;
field_0x5c4[digit]->draw(dVar10 + dVar11 * 4.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11 * 4.0f, dVar8, dVar11, dVar9, false, false, false);
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 5.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[score]->draw(dVar10 + dVar11 * 5.0f, dVar8, dVar11, dVar9, false, false, false);
} else if (uVar7 >= 1000) { } else if (score >= 1000) {
f32 dVar10 = (field_0x5f8[i].field_0x0.x - f32 dVar10 = (field_0x5f8[i].field_0x0.x -
(dVar11 / 2.0f) * 5.0f); (dVar11 / 2.0f) * 5.0f);
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false); field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 1000; digit = score / 1000;
uVar7 %= 1000; score2 = score % 1000;
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 100; digit = score2 / 100;
uVar7 %= 100; score2 %= 100;
field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 10; digit = score2 / 10;
uVar7 %= 10; score2 %= 10;
field_0x5c4[digit]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false);
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 4.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[score2]->draw(dVar10 + dVar11 * 4.0f, dVar8, dVar11, dVar9, false, false, false);
} else if (uVar7 >= 100) { } else if (score >= 100) {
f32 dVar10 = (field_0x5f8[i].field_0x0.x - f32 dVar10 = (field_0x5f8[i].field_0x0.x -
(dVar11 / 2.0f) * 4.0f); (dVar11 / 2.0f) * 4.0f);
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false); field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 100; digit = score / 100;
uVar7 %= 100; score3 = score % 100;
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 10; digit = score3 / 10;
uVar7 %= 10; score3 %= 10;
field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[score3]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false);
} else if (uVar7 >= 10) { } else if (score >= 10) {
f32 dVar10 = (field_0x5f8[i].field_0x0.x - f32 dVar10 = (field_0x5f8[i].field_0x0.x -
(dVar11 / 2.0f) * 3.0f); (dVar11 / 2.0f) * 3.0f);
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false); field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
digit = uVar7 / 10; digit = score / 10;
uVar7 %= 10; score3 = score % 10;
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[score3]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
} else { } else {
f32 dVar10 = (field_0x5f8[i].field_0x0.x - f32 dVar10 = (field_0x5f8[i].field_0x0.x -
(dVar11 / 2.0f) * 2.0f); (dVar11 / 2.0f) * 2.0f);
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false); field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
field_0x5c4[uVar7]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false); field_0x5c4[score]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
} }
} }
} }
@ -635,87 +406,120 @@ void daBalloon2D_c::drawAddScore() {
/* 80654E8C-80655250 001AAC 03C4+00 2/2 0/0 0/0 .text setHIO__13daBalloon2D_cFb */ /* 80654E8C-80655250 001AAC 03C4+00 2/2 0/0 0/0 .text setHIO__13daBalloon2D_cFb */
void daBalloon2D_c::setHIO(bool param_1) { void daBalloon2D_c::setHIO(bool param_1) {
if ((l_HOSTIO.field_0x04 != 0) || param_1) { if ((l_HOSTIO.m.mAdjustmentToggle != 0) || param_1) {
field_0x57c->paneTrans(l_HOSTIO.field_0x20, l_HOSTIO.field_0x24); #if DEBUG
field_0x57c->scale(l_HOSTIO.field_0x28, l_HOSTIO.field_0x28); if (l_HOSTIO.m.mOverheadScoreToggle != 0) {
field_0x580->paneTrans(l_HOSTIO.field_0x2c, l_HOSTIO.field_0x30); daPy_py_c* player = daPy_getPlayerActorClass();
field_0x580->scale(l_HOSTIO.field_0x34, l_HOSTIO.field_0x38); cXyz acStack_28;
field_0x580->setAlphaRate(l_HOSTIO.field_0x3c * mAllAlpha); acStack_28.set(player->getHeadTopPos());
field_0x584->paneTrans(l_HOSTIO.field_0x40, l_HOSTIO.field_0x44); addScoreCount(&acStack_28, l_HOSTIO.m.mOverheadScore, 0);
field_0x584->scale(l_HOSTIO.field_0x48, l_HOSTIO.field_0x48); l_HOSTIO.resetAddScoreSetFlag();
field_0x588->paneTrans(l_HOSTIO.field_0x4c, l_HOSTIO.field_0x50); }
field_0x588->scale(l_HOSTIO.field_0x54, l_HOSTIO.field_0x54); #endif
field_0x58c->paneTrans(l_HOSTIO.field_0x58, l_HOSTIO.field_0x5c);
field_0x58c->scale(l_HOSTIO.field_0x60, l_HOSTIO.field_0x60); field_0x57c->paneTrans(l_HOSTIO.m.mScorePosX, l_HOSTIO.m.mScorePosY);
field_0x590->paneTrans(l_HOSTIO.field_0x64, l_HOSTIO.field_0x68); field_0x57c->scale(l_HOSTIO.m.mScoreSize, l_HOSTIO.m.mScoreSize);
field_0x590->scale(l_HOSTIO.field_0x6c, l_HOSTIO.field_0x70); field_0x580->paneTrans(l_HOSTIO.m.m5DNumberPosX, l_HOSTIO.m.m5DNumberPosY);
field_0x594->paneTrans(l_HOSTIO.field_0x78, l_HOSTIO.field_0x7c); field_0x580->scale(l_HOSTIO.m.m5DNumberSizeX, l_HOSTIO.m.m5DNumberSizeY);
field_0x594->scale(l_HOSTIO.field_0x80, l_HOSTIO.field_0x80); field_0x580->setAlphaRate(l_HOSTIO.m.m5DNumberAlpha * mAllAlpha);
field_0x594->setAlphaRate(l_HOSTIO.field_0x84 * mAllAlpha); field_0x584->paneTrans(l_HOSTIO.m.m5DNumber2PosX, l_HOSTIO.m.m5DNumber2PosY);
field_0x598->paneTrans(l_HOSTIO.field_0x88, l_HOSTIO.field_0x8c); field_0x584->scale(l_HOSTIO.m.m5DNumber2Size, l_HOSTIO.m.m5DNumber2Size);
field_0x598->scale(l_HOSTIO.field_0x90, l_HOSTIO.field_0x90); field_0x588->paneTrans(l_HOSTIO.m.mUnkPosX, l_HOSTIO.m.mUnkPosY);
field_0x598->setAlphaRate(l_HOSTIO.field_0x94 * mAllAlpha); field_0x588->scale(l_HOSTIO.m.mUnkSize, l_HOSTIO.m.mUnkSize);
field_0x59c->paneTrans(l_HOSTIO.field_0x98, l_HOSTIO.field_0x9c); field_0x58c->paneTrans(l_HOSTIO.m.mComboPosX, l_HOSTIO.m.mComboPosY);
field_0x59c->scale(l_HOSTIO.field_0xa0, l_HOSTIO.field_0xa0); field_0x58c->scale(l_HOSTIO.m.mComboSize, l_HOSTIO.m.mComboSize);
field_0x59c->setAlphaRate(l_HOSTIO.field_0xa4 * mAllAlpha); field_0x590->paneTrans(l_HOSTIO.m.m2DNumberPosX, l_HOSTIO.m.m2DNumberPosY);
field_0x5a0->paneTrans(l_HOSTIO.field_0xa8, l_HOSTIO.field_0xac); field_0x590->scale(l_HOSTIO.m.m2DNumberSizeX, l_HOSTIO.m.m2DNumberSizeY);
field_0x5a0->scale(l_HOSTIO.field_0xb0, l_HOSTIO.field_0xb0); field_0x594->paneTrans(l_HOSTIO.m.m2DNumberComboPosX, l_HOSTIO.m.m2DNumberComboPosY);
field_0x5a0->setAlphaRate(l_HOSTIO.field_0xb4 * mAllAlpha); field_0x594->scale(l_HOSTIO.m.m2DNumberComboSize, l_HOSTIO.m.m2DNumberComboSize);
field_0x5a4->paneTrans(l_HOSTIO.field_0xb8, l_HOSTIO.field_0xbc); field_0x594->setAlphaRate(l_HOSTIO.m.m2DNumberComboAlpha * mAllAlpha);
field_0x5a4->scale(l_HOSTIO.field_0xc0, l_HOSTIO.field_0xc0); field_0x598->paneTrans(l_HOSTIO.m.mBalloonLargePosX, l_HOSTIO.m.mBalloonLargePosY);
field_0x598->scale(l_HOSTIO.m.mBalloonLargeSize, l_HOSTIO.m.mBalloonLargeSize);
field_0x598->setAlphaRate(l_HOSTIO.m.mBalloonLargeAlpha * mAllAlpha);
field_0x59c->paneTrans(l_HOSTIO.m.mBalloonMedPosX, l_HOSTIO.m.mBalloonMedPosY);
field_0x59c->scale(l_HOSTIO.m.mBalloonMedSize, l_HOSTIO.m.mBalloonMedSize);
field_0x59c->setAlphaRate(l_HOSTIO.m.mBalloonMedAlpha * mAllAlpha);
field_0x5a0->paneTrans(l_HOSTIO.m.mBalloonSmallPosX, l_HOSTIO.m.mBalloonSmallPosY);
field_0x5a0->scale(l_HOSTIO.m.mBalloonSmallSize, l_HOSTIO.m.mBalloonSmallSize);
field_0x5a0->setAlphaRate(l_HOSTIO.m.mBalloonSmallAlpha * mAllAlpha);
#if DEBUG
if (mDoGph_gInf_c::isWide()) {
field_0x5a4->paneTrans(l_HOSTIO.m.m2DNumberCombo2PosX, l_HOSTIO.m.m2DNumberCombo2PosY);
} else {
field_0x5a4->paneTrans(l_HOSTIO.m.m2DNumberCombo2PosX43, l_HOSTIO.m.m2DNumberCombo2PosY);
}
#else
field_0x5a4->paneTrans(l_HOSTIO.m.m2DNumberCombo2PosX, l_HOSTIO.m.m2DNumberCombo2PosY);
#endif
field_0x5a4->scale(l_HOSTIO.m.m2DNumberCombo2Size, l_HOSTIO.m.m2DNumberCombo2Size);
} }
} }
daBalloon2D_HIO_c::daBalloon2D_HIO_c() {
static param aParam = {
0,
0,
0,
0,
0,
0,
0,
0.0f,
1.0f,
0.0f,
-10.0f,
0.8f,
0.0f,
-13.0f,
1.1f,
0.9f,
0.7f,
0.0f,
18.0f,
1.0f,
-6.6f,
6.6f,
1.3f,
-1.3f,
9.2f,
1.0f,
0.0f,
6.6f,
1.1f,
0.9f,
1.0f,
3.9f,
-9.2f,
0.85f,
0.8f,
6.6f,
1.3f,
0.75f,
0.9f,
3.9f,
0.0f,
0.85f,
0.9f,
3.9f,
0.0f,
0.95f,
0.9f,
22.0f,
-17.0f,
1.0f,
20.0f,
};
memcpy(&m, &aParam, sizeof(aParam));
}
/* ############################################################################################## */ void daBalloon2D_HIO_c::resetAddScoreSetFlag() {
/* 806556D8-806556F8 -00001 0020+00 1/0 0/0 0/0 .data daBalloon2D_METHODS */ JORMContext* ctx = attachJORMContext(8);
static actor_method_class daBalloon2D_METHODS = { ctx->startUpdateNode(this);
(process_method_func)daBalloon2D_create__FP13daBalloon2D_c, m.mOverheadScoreToggle = 0x0;
(process_method_func)daBalloon2D_destroy__FP13daBalloon2D_c, ctx->updateCheckBox(2, &m.mOverheadScoreToggle, 1, 0);
(process_method_func)daBalloon2D_execute__FP13daBalloon2D_c, ctx->endUpdateNode();
0, releaseJORMContext(ctx);
(process_method_func)daBalloon2D_draw__FP13daBalloon2D_c, }
};
/* 806556F8-80655728 -00001 0030+00 0/0 0/0 1/0 .data g_profile_BALLOON2D */
extern actor_process_profile_definition g_profile_BALLOON2D = {
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_BALLOON2D, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(daBalloon2D_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
765, // mPriority
&daBalloon2D_METHODS, // sub_method
0x00040000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_0_e, // cullType
};
/* 80655728-80655734 000118 000C+00 1/1 0/0 0/0 .data __vt__12dDlst_base_c */
SECTION_DATA extern void* __vt__12dDlst_base_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__12dDlst_base_cFv,
};
/* 80655734-80655740 000124 000C+00 2/2 0/0 0/0 .data __vt__13daBalloon2D_c */
SECTION_DATA extern void* __vt__13daBalloon2D_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__13daBalloon2D_cFv,
};
/* 80655740-80655750 000130 0010+00 3/3 0/0 0/0 .data __vt__Q213daBalloon2D_c6c_list */
SECTION_DATA extern void* __vt__Q213daBalloon2D_c6c_list[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__Q213daBalloon2D_c6c_listFv,
(void*)__dt__Q213daBalloon2D_c6c_listFv,
};
/* 80655250-80655304 001E70 00B4+00 1/0 0/0 0/0 .text daBalloon2D_create__FP13daBalloon2D_c */ /* 80655250-80655304 001E70 00B4+00 1/0 0/0 0/0 .text daBalloon2D_create__FP13daBalloon2D_c */
// NONMATCHING - vtable // NONMATCHING - vtable
@ -748,55 +552,162 @@ static int daBalloon2D_draw(daBalloon2D_c* i_this) {
return i_this->draw(); return i_this->draw();
} }
/* 806553A4-806553A8 001FC4 0004+00 1/0 0/0 0/0 .text draw__12dDlst_base_cFv */
void draw__12dDlst_base_cFv() {
/* empty function */
}
/* ############################################################################################## */
/* 80655750-8065575C 000140 000C+00 2/2 0/0 0/0 .data __vt__17daBalloon2D_HIO_c */
SECTION_DATA extern void* __vt__17daBalloon2D_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17daBalloon2D_HIO_cFv,
};
/* 8065575C-80655768 00014C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 806553A8-80655404 001FC8 005C+00 2/1 0/0 0/0 .text __dt__17daBalloon2D_HIO_cFv */ /* 806553A8-80655404 001FC8 005C+00 2/1 0/0 0/0 .text __dt__17daBalloon2D_HIO_cFv */
daBalloon2D_HIO_c::~daBalloon2D_HIO_c() { daBalloon2D_HIO_c::~daBalloon2D_HIO_c() {
// NONMATCHING // NONMATCHING
} }
/* 80655404-8065544C 002024 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ #if DEBUG
void __dt__14mDoHIO_entry_cFv() { void daBalloon2D_HIO_c::genMessage(JORMContext* ctx) {
//asm mDoHIO_entry_c::~mDoHIO_entry_c() { ctx->genCheckBox("調整ON", &m.mAdjustmentToggle, 1, 0, NULL, 0xffff,
// NONMATCHING 0xffff, 0x200, 0x18);
} ctx->genSlider("スコア", &m.mScore, 0, 99999, 0, NULL, 0xffff, 0xffff, 0x200,
0x18);
/* 8065544C-80655494 00206C 0048+00 1/0 0/0 0/0 .text __dt__Q213daBalloon2D_c6c_listFv */ ctx->genSlider("コンボ数", &m.mComboCount, 0, 99, 0, NULL, 0xffff, 0xffff,
daBalloon2D_c::c_list::~c_list() { 0x200, 0x18);
// NONMATCHING ctx->startComboBox("風船のサイズ", &m.mBalloonSize, 0, NULL, 0xffff, 0xffff, 0x100,
0x1a);
ctx->genComboBoxItem("", 0); // large
ctx->genComboBoxItem("", 1); // medium
ctx->genComboBoxItem("", 2); // small
ctx->endComboBox();
ctx->genCheckBox("頭上スコアON", &m.mOverheadScoreToggle, 1, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("頭上スコア", &m.mOverheadScore, 0, 99999, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genLabel("*****「SCORE」score_tn*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.mScorePosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.mScorePosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.mScoreSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
// 5-digit number
ctx->genLabel("*****ケタの数字suji_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.m5DNumberPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.m5DNumberPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズX", &m.m5DNumberSizeX, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズY", &m.m5DNumberSizeY, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("アルファ", &m.m5DNumberAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
// "SCORE" & 5-digit number
ctx->genLabel("*****「SCORE」ケタの数字suji_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.m5DNumber2PosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.m5DNumber2PosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.m5DNumber2Size, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genLabel("*****「tas_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.mUnkPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.mUnkPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.mUnkSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genLabel("*****「COMBO」\u3000combo_tn*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.mComboPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.mComboPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.mComboSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genLabel("*****ケタの数字num_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.m2DNumberPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.m2DNumberPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズX", &m.m2DNumberSizeX, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズY", &m.m2DNumberSizeY, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
// "+" & 2-digit number & "COMBO"
ctx->genLabel("*****「ケタの数字「COMBO」co_set_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.m2DNumberComboPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.m2DNumberComboPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.m2DNumberComboSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("アルファ", &m.m2DNumberComboAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
// balloon "large"
ctx->genLabel("*****風船「大」bal_1_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.mBalloonLargePosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.mBalloonLargePosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.mBalloonLargeSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("アルファ", &m.mBalloonLargeAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
// balloon "medium"
ctx->genLabel("*****風船「中」bal_2_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.mBalloonMedPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.mBalloonMedPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.mBalloonMedSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("アルファ", &m.mBalloonMedAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
// balloon "small"
ctx->genLabel("*****風船「小」bal_3_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("位置X", &m.mBalloonSmallPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.mBalloonSmallPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.mBalloonSmallSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("アルファ", &m.mBalloonSmallAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
// "Balloon" & "+" & two-digit number & "COMBO"
ctx->genLabel("*****「風船」ケタの数字「COMBO」ba_com_n*****", 0, 0, NULL, 0xffff, 0xffff, 0x200,
0x18);
ctx->genSlider("位置X", &m.m2DNumberCombo2PosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置X(4:3)", &m.m2DNumberCombo2PosX43, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("位置Y", &m.m2DNumberCombo2PosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("サイズ", &m.m2DNumberCombo2Size, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
} }
#endif
/* 80655494-80655524 0020B4 0090+00 1/0 0/0 0/0 .text __dt__13daBalloon2D_cFv */ /* 80655494-80655524 0020B4 0090+00 1/0 0/0 0/0 .text __dt__13daBalloon2D_cFv */
daBalloon2D_c::~daBalloon2D_c() { daBalloon2D_c::~daBalloon2D_c() {
// NONMATCHING // NONMATCHING
} }
/* 80655524-80655598 002144 0074+00 0/0 1/0 0/0 .text __sinit_d_a_balloon_2D_cpp */ /* ############################################################################################## */
void __sinit_d_a_balloon_2D_cpp() { /* 806556D8-806556F8 -00001 0020+00 1/0 0/0 0/0 .data daBalloon2D_METHODS */
// NONMATCHING static actor_method_class daBalloon2D_METHODS = {
} (process_method_func)daBalloon2D_create,
(process_method_func)daBalloon2D_destroy,
(process_method_func)daBalloon2D_execute,
0,
(process_method_func)daBalloon2D_draw,
};
#pragma push /* 806556F8-80655728 -00001 0030+00 0/0 0/0 1/0 .data g_profile_BALLOON2D */
#pragma force_active on extern actor_process_profile_definition g_profile_BALLOON2D = {
REGISTER_CTORS(0x80655524, __sinit_d_a_balloon_2D_cpp); fpcLy_CURRENT_e, // mLayerID
#pragma pop 3, // mListID
fpcPi_CURRENT_e, // mListPrio
/* 806555EC-806555EC 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ PROC_BALLOON2D, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(daBalloon2D_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
765, // mPriority
&daBalloon2D_METHODS, // sub_method
0x00040000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_0_e, // cullType
};