Files
tp/include/JSystem/J2DGraph/J2DScreen.h
T

104 lines
3.0 KiB
C++
Raw Normal View History

2021-03-28 22:49:05 +02:00
#ifndef J2DSCREEN_H
#define J2DSCREEN_H
2021-01-25 06:57:35 -08:00
2021-08-28 07:25:03 -07:00
#include "JSystem/J2DGraph/J2DManage.h"
#include "JSystem/J2DGraph/J2DPane.h"
2023-05-12 12:10:14 -07:00
#include "JSystem/JUtility/TColor.h"
2021-01-25 06:57:35 -08:00
2023-05-12 12:10:14 -07:00
class J2DMaterial;
class JUTNameTab;
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-j2d
*
*/
2022-04-12 13:44:06 -07:00
struct J2DScrnHeader {
/* 0x00 */ u32 mTag;
/* 0x04 */ u32 mType;
/* 0x08 */ u32 mFileSize;
/* 0x0C */ u32 mBlockNum;
/* 0x10 */ u8 padding[0x10];
};
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-j2d
*
*/
2022-04-12 13:44:06 -07:00
struct J2DScrnInfoHeader {
/* 0x0 */ u32 mTag;
/* 0x4 */ u32 mSize;
/* 0x8 */ u16 mWidth;
/* 0xA */ u16 mHeight;
/* 0xC */ u32 mColor;
};
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-j2d
*
*/
2022-04-12 13:44:06 -07:00
struct J2DScrnBlockHeader {
/* 0x00 */ u32 mTag;
/* 0x04 */ s32 mSize;
};
2021-08-28 07:25:03 -07:00
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-j2d
*
*/
2021-08-28 07:25:03 -07:00
class J2DScreen : public J2DPane {
public:
2025-11-30 14:23:42 -08:00
virtual ~J2DScreen();
virtual u16 getTypeID() const;
virtual void calcMtx();
virtual void drawSelf(f32, f32, Mtx*);
virtual J2DPane* search(u64);
virtual J2DPane* searchUserInfo(u64);
virtual bool isUsed(ResTIMG const*);
virtual bool isUsed(ResFONT const*);
virtual void clearAnmTransform() { J2DPane::clearAnmTransform(); }
virtual void setAnimation(J2DAnmColor*);
virtual void setAnimation(J2DAnmTransform* i_bck) { J2DPane::setAnimation(i_bck); }
virtual void setAnimation(J2DAnmTextureSRTKey*);
virtual void setAnimation(J2DAnmVtxColor*);
virtual void setAnimation(J2DAnmTexPattern*);
virtual void setAnimation(J2DAnmVisibilityFull*);
virtual void setAnimation(J2DAnmTevRegKey*);
virtual void setAnimation(J2DAnmBase*);
virtual void setAnimationVF(J2DAnmVisibilityFull*);
virtual void setAnimationVC(J2DAnmVtxColor*);
virtual J2DPane* createPane(J2DScrnBlockHeader const&, JSURandomInputStream*,
2022-04-24 04:02:50 -07:00
J2DPane*, u32);
2025-11-30 14:23:42 -08:00
virtual J2DPane* createPane(J2DScrnBlockHeader const&, JSURandomInputStream*,
2022-04-24 04:02:50 -07:00
J2DPane*, u32, JKRArchive*);
2021-08-28 07:25:03 -07:00
2025-11-30 14:23:42 -08:00
J2DScreen();
void clean();
bool setPriority(char const*, u32, JKRArchive*);
bool setPriority(JSURandomInputStream*, u32, JKRArchive*);
bool private_set(JSURandomInputStream*, u32, JKRArchive*);
bool checkSignature(JSURandomInputStream*);
bool getScreenInformation(JSURandomInputStream*);
s32 makeHierarchyPanes(J2DPane*, JSURandomInputStream*, u32, JKRArchive*);
void draw(f32, f32, J2DGrafContext const*);
J2DResReference* getResReference(JSURandomInputStream*, u32);
bool createMaterial(JSURandomInputStream*, u32, JKRArchive*);
static void* getNameResource(char const*);
void animation();
2021-08-28 07:25:03 -07:00
2023-09-04 15:38:41 +02:00
void setScissor(bool i_scissor) { mScissor = i_scissor; }
2021-12-11 23:39:53 +01:00
static J2DDataManage* getDataManage() { return mDataManage; }
2021-08-28 07:25:03 -07:00
static J2DDataManage* mDataManage;
/* 0x100 */ bool mScissor;
/* 0x102 */ u16 mMaterialNum;
/* 0x104 */ J2DMaterial* mMaterials;
2022-04-12 13:44:06 -07:00
/* 0x108 */ J2DResReference* mTexRes;
/* 0x10C */ J2DResReference* mFontRes;
2021-08-28 07:25:03 -07:00
/* 0x110 */ JUTNameTab* mNameTable;
2022-04-12 13:44:06 -07:00
/* 0x114 */ JUtility::TColor mColor;
2021-08-28 07:25:03 -07:00
};
2021-03-28 22:49:05 +02:00
#endif /* J2DSCREEN_H */