Files
PodeCaradox--GalaxyFrame/decomp/include/Game/MapObj/NormalMapBase.hpp
T
bigmak94andClaude Opus 5.5 4b395efe5c Add the Petari decompilation (SMGCommunity/Petari@0a5c660)
The sources of Petari (https://github.com/SMGCommunity/Petari), the
Super Mario Galaxy decompilation by the SMGCommunity, at commit
0a5c6608dc3b4c44a9aa68c2535d1793dc565f02, unchanged but for LF line
endings: LICENSE (as LICENSE-Petari.txt; CC0 1.0), include/, libs/ and
src/.  Left out: the game data Petari keeps from the original
executable, the error message archive (include/Game/System/
ErrorArchive.hpp) and two tables (src/Game/System/GalaxyID.bcsv and
StoryEvent.bcsv); GalaxyQuest's converter takes them from the player's
own disc.  The port's changes follow in the next commit, so
`git diff petari-base -- decomp` shows them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 01:59:38 +02:00

99 lines
2.8 KiB
C++

#pragma once
#include "Game/LiveActor/LiveActor.hpp"
#include "Game/Util/Color.hpp"
class BtkPlayer;
class J3DMaterial;
class J3DModel;
class J3DShape;
class JUTTexture;
class NormalMapBase : public LiveActor {
public:
NormalMapBase(const char*);
virtual ~NormalMapBase();
virtual void draw() const;
virtual void calcAnim();
virtual void control();
virtual void drawSetting(MtxPtr) const;
virtual void drawMaterialSetting(J3DMaterial*) const;
virtual void setTevForObject() const;
virtual void setTevForObject_Material() const;
virtual void setTevForDebug() const;
void setup(const char*);
void initNormalMap();
void setupLighting();
void setupTexture();
void updateBtkMtx();
void loadTexMtxBtk(J3DMaterial*) const;
void updateLightMtx(MtxPtr) const;
bool isNormalMapMaterial(const char*) const;
void standardDraw(J3DModel*) const;
void shapeAnalyzeDraw(J3DModel*) const;
void drawShape(J3DModel*, J3DShape*) const;
void loadTexture1(J3DMaterial*) const;
void createGradTexture();
void swapColorGB(JUTTexture*);
void loadData(const char*, u32);
void loadDirectLightTex(GXTexMapID) const;
void indirectCapture() const;
void drawSettingForDebug(MtxPtr) const;
void drawSettingForCapture(MtxPtr) const;
void loadDiffuseGradTex(GXTexMapID) const;
void loadNormalTex(const JUTTexture*, GXTexMapID) const;
/* 0x08C */ u32 _8C;
/* 0x090 */ JUTTexture* _90;
/* 0x094 */ JUTTexture* mNormalTex;
/* 0x098 */ JUTTexture* mTextures[16];
/* 0x0D8 */ u32 _D8;
/* 0x0DC */ void* mImagePtr;
/* 0x0E0 */ u32 _E0;
/* 0x0E4 */ s32 mGradTexMode;
/* 0x0E8 */ u32 _E8;
/* 0x0EC */ s32 _EC;
/* 0x0F0 */ u32 _F0;
/* 0x0F4 */ Mtx _F4;
/* 0x124 */ u8 mBackLightMode;
/* 0x125 */ u8 _125;
/* 0x126 */ u8 _126;
/* 0x127 */ u8 _127;
/* 0x128 */ Color10 mTevColor0;
/* 0x130 */ Color10 mTevColor1;
/* 0x138 */ u16 _138;
/* 0x13A */ u16 _13A;
/* 0x13C */ u8 mLightAMode;
/* 0x13D */ u8 mLightBMode;
/* 0x13E */ u16 mHardLightColorMask;
/* 0x140 */ u16 mHardLightAlphaMask;
/* 0x142 */ u8 mAmbColor;
/* 0x143 */ u8 mMatColor;
/* 0x144 */ u8 mAmbAlpha;
/* 0x145 */ u8 mMatAlpha;
/* 0x146 */ u16 mUseModelLightReg;
/* 0x148 */ u16 mUseModelTevReg;
/* 0x14A */ u8 mLightingHighLevel;
/* 0x14B */ u8 mLightingLowLevel;
/* 0x14C */ BtkPlayer* mBtkPlayer;
/* 0x150 */ u8 _150;
/* 0x151 */ u8 _151;
/* 0x152 */ u16 mBtkMtxCount;
/* 0x154 */ u16 mBtkMtxIndices[24];
/* 0x184 */ Mtx _184[0x10];
/* 0x484 */ u8 _484[0x34];
/* 0x4B8 */ JUTTexture* _4B8;
/* 0x4BC */ int mHeight;
/* 0x4C0 */ int mWidth;
/* 0x4C4 */ u8 _4C4;
/* 0x4C5 */ u8 _4C5;
};