Skip to content

Commit

Permalink
Some game UI basics
Browse files Browse the repository at this point in the history
  • Loading branch information
robojumper committed Sep 13, 2024
1 parent 36450cb commit 820120d
Show file tree
Hide file tree
Showing 13 changed files with 433 additions and 112 deletions.
9 changes: 9 additions & 0 deletions config/SOUE01/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,15 @@ toBeSorted/lyt/pause_disp_00.cpp:
.ctors start:0x804DB798 end:0x804DB79C
.data start:0x80525138 end:0x80525EE0

toBeSorted/lyt/common_arrow.cpp:
.text start:0x80167FE0 end:0x801695E8
.ctors start:0x804DB7AC end:0x804DB7B0
.rodata start:0x804E8D28 end:0x804E8D70
.data start:0x80527298 end:0x80527600
.sdata start:0x805729D0 end:0x805729D8
.sdata2 start:0x8057A180 end:0x8057A188
.bss start:0x805B1CB0 end:0x805B1DB0

toBeSorted/counters/counter.cpp:
.text start:0x8016CC40 end:0x8016CD94

Expand Down
164 changes: 82 additions & 82 deletions config/SOUE01/symbols.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,7 @@ def nw4rLib(lib_name, objects, extra_cflags=[]):
Object(Matching, "toBeSorted/counters/extra_wallet_counter.cpp"),
Object(NonMatching, "toBeSorted/lyt/d2d.cpp"),
Object(Matching, "toBeSorted/lyt/d_lyt_fader.cpp"),
Object(NonMatching, "toBeSorted/lyt/common_arrow.cpp"),
Object(NonMatching, "toBeSorted/lyt/pause_disp_00.cpp"),
Object(NonMatching, "toBeSorted/file_manager.cpp"),
Object(NonMatching, "toBeSorted/save_manager.cpp"),
Expand Down
14 changes: 7 additions & 7 deletions include/m/m2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ class FrameCtrl_c {
f32 getEndFrame() const;
f32 getEndFrame2() const;

inline f32 getFrame() {
inline f32 getFrame() const {
return mCurrFrame;
}

inline void setToStart() {
setFrame(0.0f);
}

inline bool isEndReached() {
inline bool isEndReached() const {
f32 actualEnd = mEndFrame - 1.0f;
return mCurrFrame >= actualEnd;
}
Expand All @@ -84,11 +84,11 @@ class FrameCtrl_c {
return (mFlags & FLAG_BACKWARDS) != 0;
}

f32 mEndFrame;
f32 mCurrFrame;
f32 mPrevFrame;
f32 mRate;
u8 mFlags;
/* 0x04 */ f32 mEndFrame;
/* 0x08 */ f32 mCurrFrame;
/* 0x0C */ f32 mPrevFrame;
/* 0x10 */ f32 mRate;
/* 0x14 */ u8 mFlags;
};

class Anm_c {
Expand Down
4 changes: 4 additions & 0 deletions include/nw4r/lyt/lyt_pane.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ class Pane : detail::PaneBase {
return &mAnimList;
}

void SetTranslate(const nw4r::math::VEC3 &value) {
mTranslate = value;
}

const math::MTX34 &GetGlobalMtx() const {
return mGlbMtx;
}
Expand Down
2 changes: 2 additions & 0 deletions include/s/s_StateInterfaces.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#ifndef S_STATEINTERFACES_H
#define S_STATEINTERFACES_H

#include <common.h>

// Note: Ported from https://github.com/NSMBW-Community/NSMBW-Decomp/tree/master/include/dol/sLib
// See include/s/README.txt for changes made

Expand Down
58 changes: 58 additions & 0 deletions include/toBeSorted/lyt/common_arrow.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#ifndef D_LYT_COMMON_ARROW_H
#define D_LYT_COMMON_ARROW_H

#include <s/s_State.hpp>
#include <s/s_StateMgr.hpp>
#include <toBeSorted/lyt/d2d.h>


class dLytCommonArrow_c {
public:
dLytCommonArrow_c();
virtual ~dLytCommonArrow_c() {}

bool init();

STATE_FUNC_DECLARE(dLytCommonArrow_c, None);
STATE_FUNC_DECLARE(dLytCommonArrow_c, In);
STATE_FUNC_DECLARE(dLytCommonArrow_c, Wait);
STATE_FUNC_DECLARE(dLytCommonArrow_c, Out);

void setState(s32 state);
bool addToDrawList();

bool fn_80168490();
bool fn_80168500();
void fn_80168640(f32 *);
bool fn_80168680();
bool fn_801686F0();
bool fn_80168760();
void fn_80168790(s32, f32);
void fn_80168800(s32);
void fn_80168810(d2d::dLytStructA *);
void fn_80168880();

private:

STATE_MGR_DECLARE(dLytCommonArrow_c);
/* 0x40 */ d2d::LytBase_c mLytBase;
d2d::ResAccIf_c mResAcc;
d2d::dLytStructA field_0x440[0x9];
d2d::dLytStructD field_0x680;
void *field_0x6A8;
void *field_0x6AC;
s32 field_0x6B0;
s32 field_0x6B4;
s32 field_0x6B8;
s32 field_0x6BC;
s32 field_0x6C0;
s32 field_0x6C4;
u8 field_0x6C8;
u8 field_0x6C9;
u8 field_0x6CA;
u8 field_0x6CB;
u8 field_0x6CC;
};


#endif
26 changes: 24 additions & 2 deletions include/toBeSorted/lyt/d2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@
namespace d2d
{

class ResAccIf_c : public m2d::ResAccIf_c {
public:
/* 0xB4 */ nw4r::lyt::FontRefLink mFontRefLinks[5];

void fn_800A9D30();
void fn_800A9D90(void *data, const char *name);
};

struct LytBrlanMapping {
const char *mFile;
const char *mName;
Expand Down Expand Up @@ -51,7 +59,9 @@ class LytBase_c : public Multi_c {
public:
LytBase_c();
virtual ~LytBase_c();
virtual void draw() override;
virtual void draw() override {
mLayout.Draw(mDrawInfo);
};

LytBase_c *fn_800AAAD0(const char *name);
void fn_800AAB70();
Expand All @@ -67,11 +77,18 @@ struct dLytStructA {
void init(const char *fileName, m2d::ResAccIf_c* acc, d2d::Layout_c *layout, const char *animName);

void fn_800AC6D0(bool);
void fn_800AC780(bool);
void fn_800AC7D0();
void fn_800AC860();
void fn_800AC870(bool);
void fn_800AC910();

inline void setFrame(f32 frame) {
fn_800AC6D0(false);
fn_800AC870(true);
mpFrameCtrl->setFrame(frame);
fn_800AC910();
}

u8 field_0x00[0x08 - 0x00];

/* 0x08 */ m2d::FrameCtrl_c *mpFrameCtrl;
Expand Down Expand Up @@ -111,8 +128,13 @@ struct dLytStructD_Base {
struct dLytStructD : dLytStructD_Base {
dLytStructD() : field_0x18(0), field_0x1C(0), field_0x20(0), field_0x22(0), field_0x23(0), field_0x24(0) {}

virtual ~dLytStructD();

void init(nw4r::lyt::Pane*, u16, u8, u8);
void append(dLytStructD *other);
void detach(dLytStructD *other);
void fn_80065E70(nw4r::lyt::Pane*, s32, s32, s32);
void fn_80065F70();

u32 field_0x18;
u32 field_0x1C;
Expand Down
10 changes: 1 addition & 9 deletions include/toBeSorted/lyt/d_lyt_fader.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,6 @@
#include <m/m_fader_base.h>
#include <toBeSorted/lyt/d2d.h>

class dLytFontRefAndAccess : public m2d::ResAccIf_c {
public:
/* 0xB4 */ nw4r::lyt::FontRefLink mFontRefLinks[5];

void fn_800A9D30();
void fn_800A9D90(void *data, const char *name);
};

class dLytFader_c : public mFaderBase_c {
public:
dLytFader_c(const mColor &color, EStatus status);
Expand All @@ -32,7 +24,7 @@ class dLytFader_c : public mFaderBase_c {
void fn_80175B10();
void fn_80175BC0(s32);

/* 0x014 */ dLytFontRefAndAccess mFont;
/* 0x014 */ d2d::ResAccIf_c mFont;
/* 0x384 */ d2d::LytBase_c mLytBase;
/* 0x414 */ d2d::dLytStructA mLytStructAs[3];
/* 0x4D4 */ s32 field_0x4D4;
Expand Down
Loading

0 comments on commit 820120d

Please sign in to comment.