mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-03 01:54:02 -04:00
d_meter work
This commit is contained in:
+29
-16
@@ -35,10 +35,10 @@ public:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x08 */ dMap_2DMtMapSpcl_tex_c* field_0x8;
|
||||
/* 0x0C */ short field_0xc;
|
||||
/* 0x0E */ short field_0xe;
|
||||
/* 0x10 */ short field_0x10;
|
||||
/* 0x12 */ short field_0x12;
|
||||
/* 0x0C */ s16 field_0xc;
|
||||
/* 0x0E */ s16 field_0xe;
|
||||
/* 0x10 */ s16 field_0x10;
|
||||
/* 0x12 */ s16 field_0x12;
|
||||
};
|
||||
|
||||
class dMap_2DAGBScrDsp_c : public dDlst_base_c {
|
||||
@@ -153,8 +153,20 @@ public:
|
||||
|
||||
class dMap_c {
|
||||
public:
|
||||
static void setMapAlpha(u8 alpha) { mAlpha = alpha; }
|
||||
static void setIconFreeAlpha(u8 alpha) { mIconFreeAlpha = alpha; }
|
||||
static void setMapDispMode(u8 mode) { mMapDispMode = mode; }
|
||||
static void setMapDispPosLeftUpX(s16 x) { mDispPosLeftUpX = x; }
|
||||
static void setMapDispPosLeftUpY(s16 y) { mDispPosLeftUpY = y; }
|
||||
static void setIconFreePosX(s16 x) { mIconFreePosX = x; }
|
||||
static void setIconFreePosY(s16 y) { mIconFreePosY = y; }
|
||||
static void setIconFreeScale(f32 scale) { mIconFreeScale = scale; }
|
||||
static void setIconSelfAlpha(u8 alpha) { mIconSelfAlpha = alpha; }
|
||||
static void setIconSelfScale(f32 scale) { mIconSelfScale = scale; }
|
||||
static u8 getIconDispMode() { return mIconDispMode; }
|
||||
static void setIconDispMode(u8 mode) { mIconDispMode = mode; }
|
||||
|
||||
void clrAGBMapSendStopFlg() {}
|
||||
void getIconDispMode() {}
|
||||
void getMapAlpha() {}
|
||||
void getMapDspPosLeftUpX() {}
|
||||
void getMapDspPosLeftUpY() {}
|
||||
@@ -165,19 +177,8 @@ public:
|
||||
void isMapDispTypeEnlargementSize() {}
|
||||
void isMapDispTypeRealSize() {}
|
||||
void setAGBMapSendStopFlg() {}
|
||||
void setIconDispMode(u8) {}
|
||||
void setIconFreeAlpha(u8) {}
|
||||
void setIconFreePosX(s16) {}
|
||||
void setIconFreePosY(s16) {}
|
||||
void setIconFreeScale(f32) {}
|
||||
void setIconSelfAlpha(u8) {}
|
||||
void setIconSelfScale(f32) {}
|
||||
void setMapAlpha(u8) {}
|
||||
void setMapChgSizeEnlargementSize() {}
|
||||
void setMapChgSizeRealSize() {}
|
||||
void setMapDispMode(u8) {}
|
||||
void setMapDispPosLeftUpX(s16) {}
|
||||
void setMapDispPosLeftUpY(s16) {}
|
||||
|
||||
static void create();
|
||||
void isEnableEnlargementScroll();
|
||||
@@ -244,6 +245,18 @@ public:
|
||||
void mapBufferSendAGB_dungeon();
|
||||
void mapSetPointAll();
|
||||
static void mapBufferSendAGB(int);
|
||||
|
||||
static u8 mAlpha;
|
||||
static u8 mIconFreeAlpha;
|
||||
static u8 mMapDispMode;
|
||||
static u16 mDispPosLeftUpX;
|
||||
static u16 mDispPosLeftUpY;
|
||||
static u16 mIconFreePosX;
|
||||
static u16 mIconFreePosY;
|
||||
static f32 mIconFreeScale;
|
||||
static u8 mIconSelfAlpha;
|
||||
static f32 mIconSelfScale;
|
||||
static u8 mIconDispMode;
|
||||
};
|
||||
|
||||
inline void dMap_drawPoint(u8 param_1, f32 param_2, f32 param_3, f32 param_4, s8 param_5, s16 param_6, u8 param_7, u8 param_8, u8 param_9) {
|
||||
|
||||
@@ -518,9 +518,23 @@ public:
|
||||
|
||||
class mapCtrlDisp_c {
|
||||
public:
|
||||
// TODO: these two functions are supposed to be weak
|
||||
void initMapCtrlDisp();
|
||||
void moveMapCtrlDisp();
|
||||
|
||||
void Create() {}
|
||||
void Delete() {}
|
||||
void getAlpha() {}
|
||||
void getHideOffsetX() {}
|
||||
void getShowOffsetX() {}
|
||||
void hideSEOff() {}
|
||||
void hideSEOn() {}
|
||||
void isMode() {}
|
||||
void setAlpha(u8) {}
|
||||
void setHide() {}
|
||||
void showSEOff() {}
|
||||
void showSEOn() {}
|
||||
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u8 field_0x2;
|
||||
@@ -560,6 +574,9 @@ public:
|
||||
/* 0x2F60 */ ResTIMG* moveIconTex[3];
|
||||
/* 0x2F6C */ u8 field_0x2f6c[0x3024 - 0x2F6C];
|
||||
/* 0x3024 */ u8 field_0x3024;
|
||||
/* 0x3025 */ u8 field_0x3025;
|
||||
/* 0x3026 */ u8 field_0x3026;
|
||||
/* 0x3027 */ u8 field_0x3027;
|
||||
};
|
||||
|
||||
extern dMeter_menuHIO_c g_menuHIO;
|
||||
|
||||
+87
-5
@@ -15,7 +15,10 @@
|
||||
#include "d/d_timer.h"
|
||||
#include "stdio.h"
|
||||
|
||||
u8 dummy_3569[0xC];
|
||||
|
||||
dMeter_info_c dMeter_Info;
|
||||
fopMsgM_pane_class item_parts;
|
||||
dMeter_map_HIO_c g_meter_mapHIO;
|
||||
dMeter_HIO_c g_meterHIO;
|
||||
dMeter_menuHIO_c g_menuHIO;
|
||||
@@ -59,6 +62,13 @@ dDlst_2DMETER2_c meter2;
|
||||
dDlst_2Dm_c tekari;
|
||||
dDlst_2Dm_c clock[3];
|
||||
|
||||
static const char* arrowTexImage[] = {
|
||||
"arrow_00.bti",
|
||||
"arrow_01.bti",
|
||||
"arrow_02.bti",
|
||||
"arrow_03.bti",
|
||||
};
|
||||
|
||||
static void dummy(f32* m, u32 p2, s32 p3) {
|
||||
m[0] = 0.8f;
|
||||
m[1] = 0.0f;
|
||||
@@ -589,8 +599,6 @@ void dMeter_offAuctionFlag() {
|
||||
dMeter_auctionFlag = false;
|
||||
}
|
||||
|
||||
fopMsgM_pane_class item_parts;
|
||||
|
||||
/* 801EF9C4-801EFA38 .text dMeter_itemMoveSet__FP18fopMsgM_pane_classUcUc */
|
||||
void dMeter_itemMoveSet(fopMsgM_pane_class* pane, u8 btn, u8 item) {
|
||||
dMeter_itemMoveFlag = 1;
|
||||
@@ -1133,6 +1141,18 @@ void dMeter_actionAlpha(sub_meter_class* i_this) {
|
||||
/* 801F4C80-801F4CC4 .text dMeter_numberSet__FP7J2DPaneUc */
|
||||
void dMeter_numberSet(J2DPane*, u8) {
|
||||
/* Nonmatching */
|
||||
static const char* number[] = {
|
||||
"count_num_0.bti",
|
||||
"count_num_1.bti",
|
||||
"count_num_2.bti",
|
||||
"count_num_3.bti",
|
||||
"count_num_4.bti",
|
||||
"count_num_5.bti",
|
||||
"count_num_6.bti",
|
||||
"count_num_7.bti",
|
||||
"count_num_8.bti",
|
||||
"count_num_9.bti",
|
||||
};
|
||||
}
|
||||
|
||||
/* 801F4CC4-801F4E04 .text dMeter_numberColor__FP7J2DPaneUcUc */
|
||||
@@ -1507,12 +1527,17 @@ void dMeter_clockMultiMove(sub_meter_class* i_this) {
|
||||
|
||||
/* 801FF184-801FF1F8 .text dMeter_mapInit__FP15sub_meter_class */
|
||||
void dMeter_mapInit(sub_meter_class* i_this) {
|
||||
/* Nonmatching */
|
||||
i_this->field_0x3027 = 0xFF;
|
||||
i_this->field_0x0100[0].mUserArea = dComIfGs_isDungeonItemCompass();
|
||||
dMeter_mMapCtrlDisp.field_0x0 = 0;
|
||||
dMeter_mMapCtrlDisp.field_0x4 = g_meter_mapHIO.field_0xc - g_meter_mapHIO.field_0x8;
|
||||
dMeter_mMapCtrlDisp.initMapCtrlDisp();
|
||||
}
|
||||
|
||||
/* 801FF1F8-801FF684 .text dMeter_mapMove__FP15sub_meter_class */
|
||||
void dMeter_mapMove(sub_meter_class* i_this) {
|
||||
/* Nonmatching */
|
||||
dMeter_mMapCtrlDisp.moveMapCtrlDisp();
|
||||
}
|
||||
|
||||
/* 801FF684-801FF76C .text dMeter_arwInit__FP15sub_meter_class */
|
||||
@@ -1699,7 +1724,6 @@ BOOL dMeter_Draw(sub_meter_class* i_this) {
|
||||
|
||||
/* 80204820-80204C20 .text dMeter_Execute__FP15sub_meter_class */
|
||||
BOOL dMeter_Execute(sub_meter_class* i_this) {
|
||||
/* Nonmatching */
|
||||
JKRHeap* oldHeap = mDoExt_setCurrentHeap(i_this->heap);
|
||||
i_this->field_0x3024 = 0;
|
||||
dMeter_statusCheck(i_this);
|
||||
@@ -1710,6 +1734,50 @@ BOOL dMeter_Execute(sub_meter_class* i_this) {
|
||||
dMeter_xyMove(i_this);
|
||||
dMeter_rMove(i_this);
|
||||
|
||||
f32 f31 = g_meterHIO.field_0x40 / 100.0f;
|
||||
f32 f30 = g_meterHIO.field_0x44 / 100.0f;
|
||||
f32 f29 = g_meterHIO.field_0x46 / 100.0f;
|
||||
|
||||
dMeter_parentPaneTrans(i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x14, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x15, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTransOnly(i_this->field_0x1638 + 0x1F, i_this->field_0x2438 + 0x16, f31, f30);
|
||||
dMeter_childPaneTransOnly(i_this->field_0x2438 + 0x12, i_this->field_0x2438 + 0x16, f31, f29);
|
||||
dMeter_childPaneTransChildTrans(i_this->field_0x2438 + 0x13, i_this->field_0x2438 + 0x16, i_this->field_0x2438 + 0x12, f31, f29);
|
||||
dMeter_childPaneTransOnly(i_this->field_0x1d38 + 0x00, i_this->field_0x2438 + 0x16, f31, f30);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
dMeter_childPaneTrans(i_this->field_0x1d38 + 0x04 + i, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x1d38 + 0x02 + i, i_this->field_0x2438 + 0x16, f31);
|
||||
}
|
||||
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x0E, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x0F, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x10, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x11, i_this->field_0x2438 + 0x16, f31);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
dMeter_childPaneTransOnly(i_this->field_0x1d38 + 0x0F + i, i_this->field_0x2438 + 0x16, f31, f29);
|
||||
dMeter_childPaneTransChildTransOnly(i_this->field_0x1d38 + 0x0C + i, i_this->field_0x2438 + 0x16, i_this->field_0x1d38 + 0x0F + i, f31, f29);
|
||||
dMeter_childPaneTransChildTransOnly(i_this->field_0x1d38 + 0x09 + i, i_this->field_0x2438 + 0x16, i_this->field_0x1d38 + 0x0F + i, f31, f29);
|
||||
dMeter_childPaneTransChildTrans(i_this->field_0x1d38 + 0x12 + i, i_this->field_0x2438 + 0x16, i_this->field_0x1d38 + 0x0F + i, f31, f29);
|
||||
dMeter_childPaneTransChildTrans(i_this->field_0x1d38 + 0x1B + i, i_this->field_0x2438 + 0x16, i_this->field_0x1d38 + 0x0F + i, f31, f29);
|
||||
dMeter_childPaneTransChildTrans(i_this->field_0x1d38 + 0x1E + i, i_this->field_0x2438 + 0x16, i_this->field_0x1d38 + 0x0F + i, f31, f29);
|
||||
dMeter_childPaneTransChildTrans(i_this->field_0x2438 + 0x01 + i, i_this->field_0x2438 + 0x16, i_this->field_0x1d38 + 0x0F + i, f31, f29);
|
||||
}
|
||||
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x04, i_this->field_0x2438 + 0x16, f31);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x05 + i, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x07 + i, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x09 + i, i_this->field_0x2438 + 0x16, f31);
|
||||
}
|
||||
|
||||
dMeter_childPaneTransOnly(i_this->field_0x1638 + 0x1E, i_this->field_0x2438 + 0x16, f31, f29);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x0C, i_this->field_0x2438 + 0x16, f31);
|
||||
dMeter_childPaneTrans(i_this->field_0x2438 + 0x0B, i_this->field_0x2438 + 0x16, f31);
|
||||
|
||||
dMeter_enemyMove(i_this);
|
||||
dMeter_magicMove(i_this);
|
||||
dMeter_windMove(i_this);
|
||||
@@ -1882,7 +1950,21 @@ dMeter_map_HIO_c::dMeter_map_HIO_c() {
|
||||
|
||||
/* 802059E0-80205A44 .text initMapCtrlDisp__13mapCtrlDisp_cFv */
|
||||
void mapCtrlDisp_c::initMapCtrlDisp() {
|
||||
/* Nonmatching */
|
||||
dMap_c::setMapAlpha(0);
|
||||
dMap_c::setIconFreeAlpha(0);
|
||||
dMap_c::setMapDispMode(1);
|
||||
dMap_c::setMapDispPosLeftUpX(g_meter_mapHIO.field_0x8);
|
||||
dMap_c::setMapDispPosLeftUpY(g_meter_mapHIO.field_0xa);
|
||||
dMap_c::setIconFreePosX(g_meter_mapHIO.field_0x14);
|
||||
dMap_c::setIconFreePosY(g_meter_mapHIO.field_0x16);
|
||||
dMap_c::setIconFreeScale(0.0f);
|
||||
dMap_c::setIconSelfAlpha(0);
|
||||
dMap_c::setIconSelfScale(0.0f);
|
||||
dMap_c::setIconDispMode(0);
|
||||
field_0x0 = 0;
|
||||
field_0x1 = 0;
|
||||
field_0x2 = 0;
|
||||
field_0x4 = 0;
|
||||
}
|
||||
|
||||
/* 80205A44-80205D24 .text moveMapCtrlDisp__13mapCtrlDisp_cFv */
|
||||
|
||||
Reference in New Issue
Block a user