3#include <layout_sys/LayoutAllocator.h>
4#include <layout_sys/TagProcessor.h>
6#include <container/seadBuffer.h>
7#include <container/seadStrTreeMap.h>
8#include <heap/seadDisposer.h>
9#include <math/seadMatrix.h>
11#include <nw/lyt/lyt_Animator.h>
12#include <nw/lyt/lyt_DrawInfo.h>
14namespace nw {
namespace lyt {
17class GroupArrayAnimator;
72 void animResRegister(
const sead::SafeString* anim_res_names,
const s32& anim_res_num);
75 void NPaneRegister(nw::
lyt::Pane** panes,
const sead::SafeString* names,
const s32& num);
77 void PPaneRegister(nw::
lyt::Picture** panes,
const sead::SafeString* names,
const s32& num);
79 void TPaneRegister(TextBox** panes,
const sead::SafeString* names,
const s32& num);
81 void BPaneRegister(nw::
lyt::Bounding** panes,
const sead::SafeString* names,
const s32& num);
83 void WPaneRegister(nw::
lyt::Window** panes,
const sead::SafeString* names,
const s32 num);
88 void PaTPaneRegister(TextBox** panes,
const sead::SafeString& parts_pane_name,
const sead::SafeString* names,
const s32& num);
90 void PaBPaneRegister(nw::
lyt::Bounding** panes,
const sead::SafeString& parts_pane_name,
const sead::SafeString* names,
const s32& num);
92 void PaPPaneRegister(nw::
lyt::Picture** panes,
const sead::SafeString& parts_pane_name,
const sead::SafeString* names,
const s32& num);
94 void PaNPaneRegister(nw::
lyt::Pane** panes,
const sead::SafeString& parts_pane_name,
const sead::SafeString* names,
const s32& num);
100 void animPlay(
const sead::Matrix34f& view_mtx,
const sead::Matrix34f* model_mtx =
nullptr);
102 void animPlay(s32 view_layer_id,
const sead::Matrix34f* model_mtx =
nullptr);
105 void setPlayerColor(
const sead::SafeString& color_anim_res_name, s32 player_no, s32 view_layer_id,
bool force_5th_color);
114 void draw(
const sead::Matrix44f& proj_mtx);
123 static_assert(
sizeof(
AnimRes) == 0xC);
132 static_assert(
sizeof(
Animation) == 0x14);
141 void animStartBaseSetup_(s32 anim_index,
const sead::SafeString& anim_res_name, nw::lyt::Animator::PlayType type, f32 speed, nw::lyt::Animator* animator);
174static_assert(
sizeof(
Multi2D) == 0xE88);
178class FlexibleTextBox;
193 void build(
const sead::SafeString& lyt_filename,
UtilCursorButtonMgr* cursor_btn_mgr =
nullptr, sead::OffsetList<FlexibleTextBox>* flexible_text_box_list =
nullptr, sead::OffsetList<AnimText>* anim_text_list =
nullptr);
Definition AnimLayout.h:182
AnimLayoutBase(Animation *anim_buf, s32 anim_buf_size)
void readResource(const sead::SafeString &res_name)
ArcResAccMulti * mResAcc
Definition AnimLayout.h:196
void build(const sead::SafeString &lyt_filename, UtilCursorButtonMgr *cursor_btn_mgr=nullptr, sead::OffsetList< FlexibleTextBox > *flexible_text_box_list=nullptr, sead::OffsetList< AnimText > *anim_text_list=nullptr)
~AnimLayoutBase() override
Definition AnimLayout.h:217
Animation mAnimation[N]
Definition AnimLayout.h:225
AnimLayout()
Definition AnimLayout.h:219
Definition AnimLayout.h:30
nw::lyt::Animator * reverseAnimeStartSetup(s32 anim_index, const sead::SafeString &anim_res_name, nw::lyt::Animator::PlayType type)
void NPaneRegister(nw::lyt::Pane **panes, const sead::SafeString *names, const s32 &num)
nw::lyt::Pane * findPaneByName_(const sead::SafeString &name)
nw::lyt::DrawInfo mDrawInfo
Definition AnimLayout.h:165
void animPlay(const sead::Matrix34f &view_mtx, const sead::Matrix34f *model_mtx=nullptr)
PartsLayoutObj * findPartsLayoutByPaneName_(const sead::SafeString &name)
nw::lyt::Parts * findPartsByName_(const sead::SafeString &name)
void WPaneRegister(nw::lyt::Window **panes, const sead::SafeString *names, const s32 num)
nw::lyt::Animator * groupAnimeStartSetup(s32 anim_index, const sead::SafeString &anim_res_name, s32 group, nw::lyt::Animator::PlayType type)
nw::lyt::Bounding * findBoundingByName_(const sead::SafeString &name)
void setAnimFrame(s32 anim_index, f32 frame)
void animResRegister(const sead::SafeString *anim_res_names, const s32 &anim_res_num)
void BPaneRegister(nw::lyt::Bounding **panes, const sead::SafeString *names, const s32 &num)
void TPaneRegister(TextBox **panes, const sead::SafeString *names, const s32 &num)
void PaBPaneRegister(nw::lyt::Bounding **panes, const sead::SafeString &parts_pane_name, const sead::SafeString *names, const s32 &num)
TextBox * findTextBoxByName_(const sead::SafeString &name)
LayoutAllocator mAllocator
Definition AnimLayout.h:164
sead::Buffer< Animation > mAnimBuffer
Definition AnimLayout.h:171
void PaNPaneRegister(nw::lyt::Pane **panes, const sead::SafeString &parts_pane_name, const sead::SafeString *names, const s32 &num)
f32 getAnimFrame(s32 anim_index) const
void PaTPaneRegister(TextBox **panes, const sead::SafeString &parts_pane_name, const sead::SafeString *names, const s32 &num)
s32 getAnimGroupIndex(const sead::SafeString &anim_res_name, const sead::SafeString &group_name) const
void initializeLayoutObj_()
void setTextBoxMessageFromTextID(TextBox &text_box, bool is_urcc)
void animEndSetup(s32 anim_index)
Multi2D(Animation *anim_buf, s32 anim_buf_size)
void PaPaneRegister(nw::lyt::Parts **panes, const sead::SafeString *names, const s32 &num)
void animStartBaseSetup_(s32 anim_index, const sead::SafeString &anim_res_name, nw::lyt::Animator::PlayType type, f32 speed, nw::lyt::Animator *animator)
LayoutObj * getPartsLayoutObj_(const sead::SafeString &parts_pane_name)
nw::lyt::Animator * getAnimatorObj(s32 anim_index)
nw::lyt::Animator * animStartSetup(s32 anim_index, const sead::SafeString &anim_res_name, nw::lyt::Animator::PlayType type)
void animResRegister(const sead::SafeString &anim_res_name)
void animPlay(s32 view_layer_id, const sead::Matrix34f *model_mtx=nullptr)
void createLayoutObj(sead::Heap *heap)
nw::lyt::Pane * getRootPane()
sead::FixedStrTreeMap< 64, AnimRes, 32 > mAnimResMap
Definition AnimLayout.h:170
nw::lyt::Picture * findPictureByName_(const sead::SafeString &name)
nw::lyt::Window * findWindowByName_(const sead::SafeString &name)
TagProcessor mTagProcessor
Definition AnimLayout.h:172
nw::lyt::Animator * groupReverseAnimeStartSetup(s32 anim_index, const sead::SafeString &anim_res_name, s32 group, nw::lyt::Animator::PlayType type)
LayoutObj * mObj
Definition AnimLayout.h:163
const sead::SafeString & getAnimResName(s32 anim_index) const
void draw(const sead::Matrix44f &proj_mtx)
void PaPPaneRegister(nw::lyt::Picture **panes, const sead::SafeString &parts_pane_name, const sead::SafeString *names, const s32 &num)
void setPlayerColor(const sead::SafeString &color_anim_res_name, s32 player_no, s32 view_layer_id, bool force_5th_color)
f32 getAnimFrameSize(s32 anim_index) const
void PaRootPaneRegister(nw::lyt::Pane **panes, const sead::SafeString *parts_pane_names, const s32 &num)
void PPaneRegister(nw::lyt::Picture **panes, const sead::SafeString *names, const s32 &num)
Definition AnimLayout.h:201
void setLayoutObj_(LayoutObj *obj)
void createLayoutObj(const Multi2D &parent, const sead::SafeString &parts_name)
PartsAnimLayoutBase(Animation *anim_buf, s32 anim_buf_size)
Definition AnimLayout.h:230
PartsAnimLayout()
Definition AnimLayout.h:232
Animation mAnimation[N]
Definition AnimLayout.h:238
Definition AnimLayout.h:118
nw::lyt::GroupArrayAnimator * group_array_animator
Definition AnimLayout.h:119
u32 group_num
Definition AnimLayout.h:120
nw::lyt::Animator ** animators
Definition AnimLayout.h:121
Definition AnimLayout.h:126
bool oneshot_playback_done
Definition AnimLayout.h:130
sead::SafeString anim_res_name
Definition AnimLayout.h:128
nw::lyt::Animator * animator
Definition AnimLayout.h:127
u32 _c
Definition AnimLayout.h:129