mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-26 06:16:24 -04:00
update some actors to use sizeof for mSize, endian swap J2DScreen related structs, add 64bit endian swapping
game appears to be hanging on fully initing some processes, so while there isnt an immediate crash, nothing seems to be happening
This commit is contained in:
@@ -136,38 +136,38 @@ public:
|
||||
u8 newDither(int) const;
|
||||
|
||||
u8 getMaterialMode(int idx) const {
|
||||
return field_0x4[field_0x8[idx]].field_0x0;
|
||||
return mpMaterialInitData[mpMaterialID[idx]].field_0x0;
|
||||
}
|
||||
|
||||
u8 getMaterialAlphaCalc(int idx) const {
|
||||
return field_0x4[field_0x8[idx]].field_0x6;
|
||||
return mpMaterialInitData[mpMaterialID[idx]].field_0x6;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 field_0x0;
|
||||
/* 0x00 */ u16 mMaterialNum;
|
||||
/* 0x02 */ u16 field_0x2;
|
||||
/* 0x04 */ J2DMaterialInitData* field_0x4;
|
||||
/* 0x08 */ u16* field_0x8;
|
||||
/* 0x0C */ J2DIndInitData* field_0xc;
|
||||
/* 0x10 */ GXColor* field_0x10;
|
||||
/* 0x14 */ u8* field_0x14;
|
||||
/* 0x18 */ J2DColorChanInfo* field_0x18;
|
||||
/* 0x1C */ u8* field_0x1c;
|
||||
/* 0x20 */ J2DTexCoordInfo* field_0x20;
|
||||
/* 0x24 */ J2DTexMtxInfo* field_0x24;
|
||||
/* 0x28 */ u16* field_0x28;
|
||||
/* 0x2C */ u16* field_0x2c;
|
||||
/* 0x30 */ BE(GXCullMode)* field_0x30;
|
||||
/* 0x34 */ J2DTevOrderInfo* field_0x34;
|
||||
/* 0x38 */ BE(GXColorS10)* field_0x38;
|
||||
/* 0x3C */ GXColor* field_0x3c;
|
||||
/* 0x40 */ u8* field_0x40;
|
||||
/* 0x44 */ J2DTevStageInfo* field_0x44;
|
||||
/* 0x48 */ J2DTevSwapModeInfo* field_0x48;
|
||||
/* 0x4C */ J2DTevSwapModeTableInfo* field_0x4c;
|
||||
/* 0x50 */ J2DAlphaCompInfo* field_0x50;
|
||||
/* 0x54 */ J2DBlendInfo* field_0x54;
|
||||
/* 0x58 */ u8* field_0x58;
|
||||
/* 0x04 */ J2DMaterialInitData* mpMaterialInitData;
|
||||
/* 0x08 */ BE(u16)* mpMaterialID;
|
||||
/* 0x0C */ J2DIndInitData* mpIndInitData;
|
||||
/* 0x10 */ GXColor* mpMatColor;
|
||||
/* 0x14 */ u8* mpColorChanNum;
|
||||
/* 0x18 */ J2DColorChanInfo* mpColorChanInfo;
|
||||
/* 0x1C */ u8* mpTexGenNum;
|
||||
/* 0x20 */ J2DTexCoordInfo* mpTexCoordInfo;
|
||||
/* 0x24 */ J2DTexMtxInfo* mpTexMtxInfo;
|
||||
/* 0x28 */ BE(u16)* mpTexNo;
|
||||
/* 0x2C */ BE(u16)* mpFontNo;
|
||||
/* 0x30 */ BE(GXCullMode)* mpCullMode;
|
||||
/* 0x34 */ J2DTevOrderInfo* mpTevOrderInfo;
|
||||
/* 0x38 */ BE(GXColorS10)* mpTevColor;
|
||||
/* 0x3C */ GXColor* mpTevKColor;
|
||||
/* 0x40 */ u8* mpTevStageNum;
|
||||
/* 0x44 */ J2DTevStageInfo* mpTevStageInfo;
|
||||
/* 0x48 */ J2DTevSwapModeInfo* mpTevSwapModeInfo;
|
||||
/* 0x4C */ J2DTevSwapModeTableInfo* mpTevSwapModeTableInfo;
|
||||
/* 0x50 */ J2DAlphaCompInfo* mpAlphaCompInfo;
|
||||
/* 0x54 */ J2DBlendInfo* mpBlendInfo;
|
||||
/* 0x58 */ u8* mpDither;
|
||||
};
|
||||
|
||||
#endif /* J2DMATERIALFACTORY_H */
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include <dolphin/gx.h>
|
||||
#include <dolphin/mtx.h>
|
||||
#include "dusk/endian.h"
|
||||
|
||||
class J2DAnmBase;
|
||||
class J2DAnmColor;
|
||||
@@ -40,8 +41,8 @@ enum J2DBasePosition {
|
||||
*
|
||||
*/
|
||||
struct J2DPaneHeader {
|
||||
/* 0x0 */ u32 mKind;
|
||||
/* 0x4 */ u32 mSize;
|
||||
/* 0x0 */ BE(u32) mKind;
|
||||
/* 0x4 */ BE(u32) mSize;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "JSystem/J2DGraph/J2DPane.h"
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
#include "dusk/endian.h"
|
||||
|
||||
class J2DMaterial;
|
||||
class JUTPalette;
|
||||
@@ -31,8 +32,8 @@ enum J2DBinding {
|
||||
*
|
||||
*/
|
||||
struct J2DPicHeader {
|
||||
/* 0x0 */ u32 mTag;
|
||||
/* 0x4 */ u32 mSize;
|
||||
/* 0x0 */ BE(u32) mTag;
|
||||
/* 0x4 */ BE(u32) mSize;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -40,12 +41,12 @@ struct J2DPicHeader {
|
||||
*
|
||||
*/
|
||||
struct J2DScrnBlockPictureParameter {
|
||||
/* 0x00 */ u16 field_0x0;
|
||||
/* 0x02 */ u16 mMaterialNum;
|
||||
/* 0x04 */ u16 field_0x4;
|
||||
/* 0x06 */ u16 field_0x6;
|
||||
/* 0x08 */ u16 field_0x8[4];
|
||||
/* 0x10 */ JGeometry::TVec2<s16> field_0x10[4];
|
||||
/* 0x00 */ BE(u16) field_0x0;
|
||||
/* 0x02 */ BE(u16) mMaterialNum;
|
||||
/* 0x04 */ BE(u16) field_0x4;
|
||||
/* 0x06 */ BE(u16) field_0x6;
|
||||
/* 0x08 */ BE(u16) field_0x8[4];
|
||||
/* 0x10 */ JGeometry::TVec2<BE(s16)> field_0x10[4];
|
||||
/* 0x20 */ u32 mCornerColor[4];
|
||||
}; // Size: 0x30
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "JSystem/J2DGraph/J2DManage.h"
|
||||
#include "JSystem/J2DGraph/J2DPane.h"
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
#include "dusk/endian.h"
|
||||
|
||||
class J2DMaterial;
|
||||
class JUTNameTab;
|
||||
@@ -13,10 +14,10 @@ class JUTNameTab;
|
||||
*
|
||||
*/
|
||||
struct J2DScrnHeader {
|
||||
/* 0x00 */ u32 mTag;
|
||||
/* 0x04 */ u32 mType;
|
||||
/* 0x08 */ u32 mFileSize;
|
||||
/* 0x0C */ u32 mBlockNum;
|
||||
/* 0x00 */ BE(u32) mTag;
|
||||
/* 0x04 */ BE(u32) mType;
|
||||
/* 0x08 */ BE(u32) mFileSize;
|
||||
/* 0x0C */ BE(u32) mBlockNum;
|
||||
/* 0x10 */ u8 padding[0x10];
|
||||
};
|
||||
|
||||
@@ -25,10 +26,10 @@ struct J2DScrnHeader {
|
||||
*
|
||||
*/
|
||||
struct J2DScrnInfoHeader {
|
||||
/* 0x0 */ u32 mTag;
|
||||
/* 0x4 */ u32 mSize;
|
||||
/* 0x8 */ u16 mWidth;
|
||||
/* 0xA */ u16 mHeight;
|
||||
/* 0x0 */ BE(u32) mTag;
|
||||
/* 0x4 */ BE(u32) mSize;
|
||||
/* 0x8 */ BE(u16) mWidth;
|
||||
/* 0xA */ BE(u16) mHeight;
|
||||
/* 0xC */ u32 mColor;
|
||||
};
|
||||
|
||||
@@ -37,8 +38,8 @@ struct J2DScrnInfoHeader {
|
||||
*
|
||||
*/
|
||||
struct J2DScrnBlockHeader {
|
||||
/* 0x00 */ u32 mTag;
|
||||
/* 0x04 */ s32 mSize;
|
||||
/* 0x00 */ BE(u32) mTag;
|
||||
/* 0x04 */ BE(s32) mSize;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,17 +4,18 @@
|
||||
#include <dolphin/gx.h>
|
||||
#include <dolphin/mtx.h>
|
||||
#include "global.h"
|
||||
#include "dusk/endian.h"
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j2d
|
||||
*
|
||||
*/
|
||||
struct J2DTextureSRTInfo {
|
||||
/* 0x00 */ f32 mScaleX;
|
||||
/* 0x04 */ f32 mScaleY;
|
||||
/* 0x08 */ f32 mRotationDeg;
|
||||
/* 0x0C */ f32 mTranslationX;
|
||||
/* 0x10 */ f32 mTranslationY;
|
||||
/* 0x00 */ BE(f32) mScaleX;
|
||||
/* 0x04 */ BE(f32) mScaleY;
|
||||
/* 0x08 */ BE(f32) mRotationDeg;
|
||||
/* 0x0C */ BE(f32) mTranslationX;
|
||||
/* 0x10 */ BE(f32) mTranslationY;
|
||||
}; // Size: 0x14
|
||||
|
||||
/**
|
||||
@@ -31,7 +32,7 @@ struct J2DTexMtxInfo {
|
||||
/* 0x01 */ u8 mTexMtxDCC;
|
||||
/* 0x02 */ u8 field_0x2; // padding ?
|
||||
/* 0x03 */ u8 field_0x3; // padding ?
|
||||
/* 0x04 */ Vec mCenter;
|
||||
/* 0x04 */ BE(Vec) mCenter;
|
||||
/* 0x10 */ J2DTextureSRTInfo mTexSRTInfo;
|
||||
|
||||
GXTexMtxType getTexMtxType() const { return (GXTexMtxType)mTexMtxType; }
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "JSystem/J2DGraph/J2DMaterial.h"
|
||||
#include "JSystem/J2DGraph/J2DPane.h"
|
||||
#include "dusk/endian.h"
|
||||
|
||||
class J2DMaterial;
|
||||
class JUTFont;
|
||||
@@ -24,8 +25,8 @@ enum J2DTextBoxHBinding {
|
||||
*
|
||||
*/
|
||||
struct J2DTbxBlockHeader {
|
||||
/* 0x00 */ u32 mTag;
|
||||
/* 0x04 */ s32 mSize;
|
||||
/* 0x00 */ BE(u32) mTag;
|
||||
/* 0x04 */ BE(s32) mSize;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -33,17 +34,17 @@ struct J2DTbxBlockHeader {
|
||||
*
|
||||
*/
|
||||
struct J2DTextBoxInfo {
|
||||
/* 0x00 */ u16 field_0x0;
|
||||
/* 0x02 */ u16 field_0x2;
|
||||
/* 0x04 */ u16 mMaterialNum;
|
||||
/* 0x06 */ s16 mCharSpace;
|
||||
/* 0x08 */ s16 mLineSpace;
|
||||
/* 0x0A */ u16 mFontSizeX;
|
||||
/* 0x0C */ u16 mFontSizeY;
|
||||
/* 0x00 */ BE(u16) field_0x0;
|
||||
/* 0x02 */ BE(u16) field_0x2;
|
||||
/* 0x04 */ BE(u16) mMaterialNum;
|
||||
/* 0x06 */ BE(s16) mCharSpace;
|
||||
/* 0x08 */ BE(s16) mLineSpace;
|
||||
/* 0x0A */ BE(u16) mFontSizeX;
|
||||
/* 0x0C */ BE(u16) mFontSizeY;
|
||||
/* 0x0E */ u8 mHBind;
|
||||
/* 0x0F */ u8 mVBind;
|
||||
/* 0x10 */ u32 mCharColor;
|
||||
/* 0x14 */ u32 mGradColor;
|
||||
/* 0x10 */ BE(u32) mCharColor;
|
||||
/* 0x14 */ BE(u32) mGradColor;
|
||||
/* 0x18 */ u8 mConnected;
|
||||
/* 0x19 */ char field_0x19[3];
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
|
||||
Reference in New Issue
Block a user