mirror of
https://github.com/zeldaret/ss
synced 2026-05-31 09:21:42 -04:00
d_lyt_draw_mark WIP
This commit is contained in:
@@ -475,6 +475,11 @@ d/lyt/d2d.cpp:
|
||||
d/lyt/d_lyt_draw_mark.cpp:
|
||||
.text start:0x800ACAC0 end:0x800AE958 align:16
|
||||
.ctors start:0x804DB6CC end:0x804DB6D0
|
||||
.rodata start:0x804E3850 end:0x804E39E0
|
||||
.data start:0x80510088 end:0x80510780
|
||||
.sdata start:0x805722B8 end:0x805722C0
|
||||
.sdata2 start:0x805797B0 end:0x805797D0
|
||||
.bss start:0x805A6140 end:0x805A6370
|
||||
|
||||
d/lyt/d_textbox.cpp:
|
||||
.text start:0x800AE960 end:0x800B1628 align:16
|
||||
|
||||
+34
-34
@@ -3794,44 +3794,44 @@ remove__14dLytDrawMark_cFv = .text:0x800ACD80; // type:function size:0x3C
|
||||
execute__14dLytDrawMark_cFv = .text:0x800ACDC0; // type:function size:0xBC
|
||||
executeState__83sStateMgr_c<14dLytDrawMark_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x800ACE80; // type:function size:0x10
|
||||
draw__14dLytDrawMark_cFv = .text:0x800ACE90; // type:function size:0x28
|
||||
fn_800ACEC0 = .text:0x800ACEC0; // type:function size:0x4
|
||||
fn_800ACED0 = .text:0x800ACED0; // type:function size:0x4
|
||||
fn_800ACEE0 = .text:0x800ACEE0; // type:function size:0x4
|
||||
fn_800ACEF0 = .text:0x800ACEF0; // type:function size:0xAC
|
||||
fn_800ACFA0 = .text:0x800ACFA0; // type:function size:0x60
|
||||
fn_800AD000 = .text:0x800AD000; // type:function size:0x4
|
||||
fn_800AD010 = .text:0x800AD010; // type:function size:0x80
|
||||
fn_800AD090 = .text:0x800AD090; // type:function size:0x68
|
||||
fn_800AD100 = .text:0x800AD100; // type:function size:0x4
|
||||
fn_800AD110 = .text:0x800AD110; // type:function size:0xA8
|
||||
fn_800AD1C0 = .text:0x800AD1C0; // type:function size:0xBC
|
||||
fn_800AD280 = .text:0x800AD280; // type:function size:0x4
|
||||
fn_800AD290 = .text:0x800AD290; // type:function size:0x50
|
||||
fn_800AD2E0 = .text:0x800AD2E0; // type:function size:0x8C
|
||||
fn_800AD370 = .text:0x800AD370; // type:function size:0x4
|
||||
fn_800AD380 = .text:0x800AD380; // type:function size:0xE8
|
||||
fn_800AD470 = .text:0x800AD470; // type:function size:0x12C
|
||||
fn_800AD5A0 = .text:0x800AD5A0; // type:function size:0x4
|
||||
fn_800AD5B0 = .text:0x800AD5B0; // type:function size:0x60
|
||||
fn_800AD610 = .text:0x800AD610; // type:function size:0x9C
|
||||
fn_800AD6B0 = .text:0x800AD6B0; // type:function size:0x4
|
||||
fn_800AD6C0 = .text:0x800AD6C0; // type:function size:0xA4
|
||||
fn_800AD770 = .text:0x800AD770; // type:function size:0x80
|
||||
fn_800AD7F0 = .text:0x800AD7F0; // type:function size:0x4
|
||||
initializeState_Wait__14dLytDrawMark_cFv = .text:0x800ACEC0; // type:function size:0x4
|
||||
executeState_Wait__14dLytDrawMark_cFv = .text:0x800ACED0; // type:function size:0x4
|
||||
finalizeState_Wait__14dLytDrawMark_cFv = .text:0x800ACEE0; // type:function size:0x4
|
||||
initializeState_In__14dLytDrawMark_cFv = .text:0x800ACEF0; // type:function size:0xAC
|
||||
executeState_In__14dLytDrawMark_cFv = .text:0x800ACFA0; // type:function size:0x60
|
||||
finalizeState_In__14dLytDrawMark_cFv = .text:0x800AD000; // type:function size:0x4
|
||||
initializeState_RingIn__14dLytDrawMark_cFv = .text:0x800AD010; // type:function size:0x80
|
||||
executeState_RingIn__14dLytDrawMark_cFv = .text:0x800AD090; // type:function size:0x68
|
||||
finalizeState_RingIn__14dLytDrawMark_cFv = .text:0x800AD100; // type:function size:0x4
|
||||
initializeState_MoveWait__14dLytDrawMark_cFv = .text:0x800AD110; // type:function size:0xA8
|
||||
executeState_MoveWait__14dLytDrawMark_cFv = .text:0x800AD1C0; // type:function size:0xBC
|
||||
finalizeState_MoveWait__14dLytDrawMark_cFv = .text:0x800AD280; // type:function size:0x4
|
||||
initializeState_MoveDraw__14dLytDrawMark_cFv = .text:0x800AD290; // type:function size:0x50
|
||||
executeState_MoveDraw__14dLytDrawMark_cFv = .text:0x800AD2E0; // type:function size:0x8C
|
||||
finalizeState_MoveDraw__14dLytDrawMark_cFv = .text:0x800AD370; // type:function size:0x4
|
||||
initializeState_MoveFix__14dLytDrawMark_cFv = .text:0x800AD380; // type:function size:0xE8
|
||||
executeState_MoveFix__14dLytDrawMark_cFv = .text:0x800AD470; // type:function size:0x12C
|
||||
finalizeState_MoveFix__14dLytDrawMark_cFv = .text:0x800AD5A0; // type:function size:0x4
|
||||
initializeState_MoveEnd__14dLytDrawMark_cFv = .text:0x800AD5B0; // type:function size:0x60
|
||||
executeState_MoveEnd__14dLytDrawMark_cFv = .text:0x800AD610; // type:function size:0x9C
|
||||
finalizeState_MoveEnd__14dLytDrawMark_cFv = .text:0x800AD6B0; // type:function size:0x4
|
||||
initializeState_Complete__14dLytDrawMark_cFv = .text:0x800AD6C0; // type:function size:0xA4
|
||||
executeState_Complete__14dLytDrawMark_cFv = .text:0x800AD770; // type:function size:0x80
|
||||
finalizeState_Complete__14dLytDrawMark_cFv = .text:0x800AD7F0; // type:function size:0x4
|
||||
fn_800AD800 = .text:0x800AD800; // type:function size:0x3B8
|
||||
fn_800ADBC0 = .text:0x800ADBC0; // type:function size:0x50
|
||||
fn_800ADC10 = .text:0x800ADC10; // type:function size:0x38
|
||||
fn_800ADC50 = .text:0x800ADC50; // type:function size:0x144
|
||||
fn_800ADDA0 = .text:0x800ADDA0; // type:function size:0x13C
|
||||
fn_800ADEE0 = .text:0x800ADEE0; // type:function size:0x13C
|
||||
fn_800AE020 = .text:0x800AE020; // type:function size:0x13C
|
||||
buildVariant01__14dLytDrawMark_cFv = .text:0x800ADDA0; // type:function size:0x13C
|
||||
buildVariant02__14dLytDrawMark_cFv = .text:0x800ADEE0; // type:function size:0x13C
|
||||
buildVariant03__14dLytDrawMark_cFv = .text:0x800AE020; // type:function size:0x13C
|
||||
fn_800AE160 = .text:0x800AE160; // type:function size:0x28
|
||||
fn_800AE190 = .text:0x800AE190; // type:function size:0x30
|
||||
fn_800AE1C0 = .text:0x800AE1C0; // type:function size:0x30
|
||||
fn_800AE1F0 = .text:0x800AE1F0; // type:function size:0x30
|
||||
LytDrawMark__initStates = .text:0x800AE220; // type:function size:0x644
|
||||
LytDrawMark__dtor = .text:0x800AE870; // type:function size:0x58
|
||||
fn_800AE8D0 = .text:0x800AE8D0; // type:function size:0x88
|
||||
finalizeState__29sFStateID_c<14dLytDrawMark_c>CFR14dLytDrawMark_c = .text:0x800AE190; // type:function size:0x30
|
||||
executeState__29sFStateID_c<14dLytDrawMark_c>CFR14dLytDrawMark_c = .text:0x800AE1C0; // type:function size:0x30
|
||||
initializeState__29sFStateID_c<14dLytDrawMark_c>CFR14dLytDrawMark_c = .text:0x800AE1F0; // type:function size:0x30
|
||||
__sinit_\d_lyt_draw_mark_cpp = .text:0x800AE220; // type:function size:0x644
|
||||
__dt__29sFStateID_c<14dLytDrawMark_c>Fv = .text:0x800AE870; // type:function size:0x58
|
||||
isSameName__29sFStateID_c<14dLytDrawMark_c>CFPCc = .text:0x800AE8D0; // type:function size:0x88
|
||||
__ct__10dTextBox_cFPCQ44nw4r3lyt3res7TextBoxRCQ34nw4r3lyt11ResBlockSet = .text:0x800AE960; // type:function size:0xE0
|
||||
GetColor__FRC11_GXColorS10 = .text:0x800AEA40; // type:function size:0xB4
|
||||
GetMyTextDrawRect__10dTextBox_cCFPQ34nw4r2ut17TextWriterBase<w>Pb = .text:0x800AEB00; // type:function size:0x178
|
||||
@@ -31103,7 +31103,7 @@ lbl_8051048C = .data:0x8051048C; // type:object size:0x1B data:string
|
||||
lbl_805104A8 = .data:0x805104A8; // type:object size:0x9 data:string
|
||||
lbl_805104B4 = .data:0x805104B4; // type:object size:0x60
|
||||
lbl_80510514 = .data:0x80510514; // type:object size:0x238
|
||||
lbl_8051074C = .data:0x8051074C; // type:object size:0x34
|
||||
__vt__29sFStateID_c<14dLytDrawMark_c> = .data:0x8051074C; // type:object size:0x34
|
||||
@20500 = .data:0x80510780; // type:object size:0xA scope:local data:string
|
||||
@20902 = .data:0x8051078C; // type:object size:0xA scope:local data:string
|
||||
__vt__10dTextBox_c = .data:0x80510798; // type:object size:0x84
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
#ifndef D_LYT_DRAW_MARK_H
|
||||
#define D_LYT_DRAW_MARK_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "s/s_State.hpp"
|
||||
|
||||
/** 2D UI - Handles drawing the shape for re-sealing the Imprisoned One */
|
||||
class dLytDrawMark_c {
|
||||
public:
|
||||
dLytDrawMark_c() : mStateMgr(*this) {}
|
||||
@@ -24,25 +26,64 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
void buildVariant01();
|
||||
void buildVariant02();
|
||||
void buildVariant03();
|
||||
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, In);
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, RingIn);
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, MoveWait);
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, MoveDraw);
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, MoveFix);
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, MoveEnd);
|
||||
STATE_FUNC_DECLARE(dLytDrawMark_c, Complete);
|
||||
|
||||
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytDrawMark_c);
|
||||
/* 0x018 */ d2d::LytBase_c mLyt;
|
||||
/* 0x03C */ d2d::LytBase_c mLyt;
|
||||
/* 0x0CC */ d2d::AnmGroup_c mAnm[16];
|
||||
|
||||
/* 0x4CC */ u8 _0x4CC[0x504 - 0x4CC];
|
||||
|
||||
/* 0x4CC */ UNKWORD field_0x4CC;
|
||||
|
||||
/* 0x4D0 */ u8 _0x4D0[0x500 - 0x4D0];
|
||||
|
||||
/* 0x500 */ UNKWORD field_0x500;
|
||||
|
||||
/* 0x504 */ d2d::ResAccIf_c mResAcc;
|
||||
|
||||
/* 0x874 */ u8 _0x874[0x88C - 0x874];
|
||||
/* 0x874 */ mVec2_c field_0x874;
|
||||
/* 0x87C */ mVec2_c field_0x87C;
|
||||
|
||||
/* 0x888 */ u8 _0x888[0x88C - 0x884];
|
||||
|
||||
/* 0x88C */ mVec2_c field_0x88C[6];
|
||||
/* 0x8BC */ mVec2_c field_0x8BC[6];
|
||||
|
||||
/* 0x8EC */ u8 _0x8EC[0x940 - 0x8EC];
|
||||
/* 0x8EC */ UNKWORD field_0x8EC;
|
||||
|
||||
/* 0x8F0 */ s32 mVariant;
|
||||
/* 0x8F4 */ UNKWORD field_0x8F4;
|
||||
/* 0x8F8 */ UNKWORD field_0x8F8;
|
||||
/* 0x8FC */ UNKWORD field_0x8FC;
|
||||
/* 0x900 */ UNKWORD field_0x900;
|
||||
/* 0x904 */ UNKWORD field_0x904;
|
||||
/* 0x908 */ UNKWORD field_0x908;
|
||||
|
||||
/* 0x90C */ u8 _0x90C[0x910 - 0x90C];
|
||||
|
||||
/* 0x910 */ f32 field_0x910[12];
|
||||
|
||||
/* 0x940 */ u8 field_0x940;
|
||||
/* 0x941 */ u8 field_0x941;
|
||||
/* 0x942 */ u8 field_0x942;
|
||||
/* 0x943 */ u8 field_0x943;
|
||||
/* 0x944 */ u8 field_0x944;
|
||||
|
||||
/* 0x942 */ u8 _0x942[0x958 - 0x942];
|
||||
/* 0x945 */ u8 _0x945[0x955 - 0x945];
|
||||
|
||||
/* 0x955 */ u8 field_0x955;
|
||||
/* 0x956 */ u8 field_0x956;
|
||||
/* 0x957 */ u8 field_0x957;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
#include "d/lyt/d_lyt_draw_mark.h"
|
||||
|
||||
#include "d/d_sc_game.h"
|
||||
|
||||
STATE_DEFINE(dLytDrawMark_c, Wait);
|
||||
STATE_DEFINE(dLytDrawMark_c, In);
|
||||
STATE_DEFINE(dLytDrawMark_c, RingIn);
|
||||
STATE_DEFINE(dLytDrawMark_c, MoveWait);
|
||||
STATE_DEFINE(dLytDrawMark_c, MoveDraw);
|
||||
STATE_DEFINE(dLytDrawMark_c, MoveFix);
|
||||
STATE_DEFINE(dLytDrawMark_c, MoveEnd);
|
||||
STATE_DEFINE(dLytDrawMark_c, Complete);
|
||||
|
||||
#define DRAW_MARK_ANIM_IN 0
|
||||
#define DRAW_MARK_ANIM_RING_IN 1
|
||||
#define DRAW_MARK_ANIM_COMPLETE 15
|
||||
|
||||
#define DRAW_MARK_NUM_ANIMS 16
|
||||
|
||||
bool dLytDrawMark_c::build(UNKWORD) {
|
||||
mVariant = dScGame_c::currentSpawnInfo.layer == 3 ? 1 : dScGame_c::currentSpawnInfo.layer == 4 ? 2 : 0;
|
||||
|
||||
if (mVariant == 1) {
|
||||
buildVariant02();
|
||||
} else if (mVariant == 2) {
|
||||
buildVariant03();
|
||||
} else {
|
||||
buildVariant01();
|
||||
}
|
||||
|
||||
field_0x500 = field_0x4CC;
|
||||
|
||||
field_0x942 = 0;
|
||||
field_0x943 = 0;
|
||||
field_0x940 = 0;
|
||||
field_0x941 = 0;
|
||||
|
||||
field_0x8F4 = -1;
|
||||
field_0x8F8 = -1;
|
||||
field_0x8FC = 0;
|
||||
|
||||
field_0x944 = 0;
|
||||
|
||||
field_0x900 = 0;
|
||||
field_0x904 = 1;
|
||||
field_0x908 = 0;
|
||||
field_0x8EC = 0;
|
||||
|
||||
field_0x874.x = field_0x874.y = 0.0f;
|
||||
field_0x87C.x = field_0x87C.y = 0.0f;
|
||||
|
||||
for (int i = 0; i < 12; i++) {
|
||||
field_0x910[i] = 0.0f;
|
||||
}
|
||||
|
||||
field_0x955 = 0;
|
||||
field_0x956 = 0;
|
||||
field_0x957 = 0;
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
field_0x88C[i].x = field_0x88C[i].y = 0.0f;
|
||||
field_0x8BC[i].x = field_0x8BC[i].y = 0.0f;
|
||||
}
|
||||
|
||||
mAnm[DRAW_MARK_ANIM_IN].setFrame(0.0f);
|
||||
mAnm[DRAW_MARK_ANIM_IN].setAnimEnable(true);
|
||||
mAnm[DRAW_MARK_ANIM_RING_IN].setFrame(0.0f);
|
||||
mAnm[DRAW_MARK_ANIM_RING_IN].setAnimEnable(true);
|
||||
|
||||
mLyt.calc();
|
||||
|
||||
mAnm[DRAW_MARK_ANIM_IN].setAnimEnable(false);
|
||||
mAnm[DRAW_MARK_ANIM_RING_IN].setAnimEnable(false);
|
||||
|
||||
mStateMgr.changeState(StateID_In);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytDrawMark_c::initializeState_Wait() {}
|
||||
void dLytDrawMark_c::executeState_Wait() {}
|
||||
void dLytDrawMark_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytDrawMark_c::initializeState_In() {}
|
||||
void dLytDrawMark_c::executeState_In() {}
|
||||
void dLytDrawMark_c::finalizeState_In() {}
|
||||
|
||||
void dLytDrawMark_c::initializeState_RingIn() {}
|
||||
void dLytDrawMark_c::executeState_RingIn() {}
|
||||
void dLytDrawMark_c::finalizeState_RingIn() {}
|
||||
|
||||
void dLytDrawMark_c::initializeState_MoveWait() {}
|
||||
void dLytDrawMark_c::executeState_MoveWait() {}
|
||||
void dLytDrawMark_c::finalizeState_MoveWait() {}
|
||||
|
||||
void dLytDrawMark_c::initializeState_MoveDraw() {}
|
||||
void dLytDrawMark_c::executeState_MoveDraw() {}
|
||||
void dLytDrawMark_c::finalizeState_MoveDraw() {}
|
||||
|
||||
void dLytDrawMark_c::initializeState_MoveFix() {}
|
||||
void dLytDrawMark_c::executeState_MoveFix() {}
|
||||
void dLytDrawMark_c::finalizeState_MoveFix() {}
|
||||
|
||||
void dLytDrawMark_c::initializeState_MoveEnd() {}
|
||||
void dLytDrawMark_c::executeState_MoveEnd() {}
|
||||
void dLytDrawMark_c::finalizeState_MoveEnd() {}
|
||||
|
||||
void dLytDrawMark_c::initializeState_Complete() {}
|
||||
void dLytDrawMark_c::executeState_Complete() {}
|
||||
void dLytDrawMark_c::finalizeState_Complete() {}
|
||||
Reference in New Issue
Block a user