mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-19 03:01:21 +02:00
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>
99 lines
2.8 KiB
C++
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;
|
|
};
|