mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-21 16:01:28 +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
1.9 KiB
C++
99 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include "Game/NPC/NPCActor.hpp"
|
|
#include "Game/NPC/NPCActorItem.hpp"
|
|
#include "Game/Util/Array.hpp"
|
|
#include "Game/Util/JMapInfo.hpp"
|
|
#include <JSystem/JGeometry/TVec.hpp>
|
|
|
|
class JMapInfo;
|
|
class NPCActorItem;
|
|
|
|
class NPCParameterBase {
|
|
public:
|
|
NPCParameterBase(const char* pName) {
|
|
mName = pName;
|
|
};
|
|
|
|
const char* mName;
|
|
|
|
virtual void read(JMapInfo*, s32);
|
|
};
|
|
|
|
class NPCParameterEdit : public NPCParameterBase {
|
|
public:
|
|
NPCParameterEdit(const char*, const char**, bool);
|
|
|
|
virtual void read(JMapInfo*, s32);
|
|
|
|
const char** _8;
|
|
bool _C;
|
|
};
|
|
|
|
class NPCParameterBool : public NPCParameterBase {
|
|
public:
|
|
NPCParameterBool(const char*, bool*);
|
|
|
|
virtual void read(JMapInfo*, s32);
|
|
|
|
bool* _8;
|
|
};
|
|
|
|
class NPCParameterV3f : public NPCParameterBase {
|
|
public:
|
|
NPCParameterV3f(const char*, TVec3f*, f32, f32);
|
|
|
|
virtual void read(JMapInfo*, s32);
|
|
|
|
TVec3f* _8;
|
|
f32 _C;
|
|
f32 _10;
|
|
};
|
|
|
|
class NPCParameterJoint : public NPCParameterBase {
|
|
public:
|
|
NPCParameterJoint(const char*, const char*, const char**);
|
|
|
|
virtual void read(JMapInfo*, s32);
|
|
|
|
const char** _8;
|
|
const char* _C;
|
|
s32 _10;
|
|
};
|
|
|
|
class NPCParameterReader : public NPCParameterBase, public MR::Vector< MR::FixedArray< NPCParameterBase*, 48 > > {
|
|
public:
|
|
NPCParameterReader(const char*);
|
|
|
|
virtual void read(JMapInfo*, s32);
|
|
};
|
|
|
|
class NPCCapsParameterReader : public NPCParameterReader {
|
|
public:
|
|
NPCCapsParameterReader(const char*);
|
|
|
|
void init();
|
|
|
|
NPCActorCaps mActorCaps;
|
|
};
|
|
|
|
class NPCItemParameterReader : public NPCParameterReader {
|
|
public:
|
|
NPCItemParameterReader(const char*);
|
|
|
|
void copy(const NPCActorItem*);
|
|
NPCActorItem mItem;
|
|
};
|
|
|
|
template < typename T >
|
|
class NPCParameterRange : public NPCParameterBase {
|
|
public:
|
|
NPCParameterRange< T >(const char*, T*, T, T);
|
|
|
|
virtual void read(JMapInfo*, s32);
|
|
|
|
T* _8;
|
|
T _C;
|
|
T _10;
|
|
};
|