Move back to 1.3.2 compiler

This commit is contained in:
Luke Street 2022-08-09 19:03:51 -04:00
parent 47201d2495
commit 1107bdaa26
27 changed files with 432 additions and 105 deletions

View File

@ -58,7 +58,7 @@ DEPENDS += $(MAKECMDGOALS:.o=.d)
# Tools # Tools
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
MWCC_VERSION := 2.7 MWCC_VERSION := 1.3.2
MWLD_VERSION := 2.6 MWLD_VERSION := 2.6
# Programs # Programs

View File

@ -16,9 +16,7 @@ public:
enum EScope { enum EScope {
kSC_Unk0, kSC_Unk0,
}; };
enum EType { enum EType { kTP_Unk0 };
kTP_Unk0
};
struct SMetrics { struct SMetrics {
u32 x0_heapSize; u32 x0_heapSize;
@ -43,10 +41,10 @@ public:
u32 x4c_; u32 x4c_;
u32 x50_mediumTotalAllocated; u32 x50_mediumTotalAllocated;
u32 x54_fakeStatics; u32 x54_fakeStatics;
SMetrics(u32 heapSize, u32 unk1, u32 unk2, u32 unk3, u32 unk4, u32 heapSize2, u32 unk5, u32 unk6, u32 unk7, SMetrics(u32 heapSize, u32 unk1, u32 unk2, u32 unk3, u32 unk4, u32 heapSize2, u32 unk5, u32 unk6, u32 unk7, u32 unk8, u32 unk9,
u32 unk8, u32 unk9, u32 smallAllocNumAllocs, u32 smallAllocAllocatedSize, u32 smallAllocRemainingSize, u32 smallAllocNumAllocs, u32 smallAllocAllocatedSize, u32 smallAllocRemainingSize, u32 mediumAllocNumAllocs,
u32 mediumAllocNumAllocs, u32 mediumAllocAllocatedSize, u32 mediumAllocBlocksAvailable, u32 unk10, u32 unk11, u32 unk12, u32 mediumAllocAllocatedSize, u32 mediumAllocBlocksAvailable, u32 unk10, u32 unk11, u32 unk12, u32 mediumAllocTotalAllocated,
u32 mediumAllocTotalAllocated, u32 fakeStatics); u32 fakeStatics);
}; };
struct SAllocInfo { struct SAllocInfo {

View File

@ -3,9 +3,9 @@
#include "types.h" #include "types.h"
#include "CToken.hpp" #include "Kyoto/CToken.hpp"
#include "IObjectStore.hpp" #include "Kyoto/IObjectStore.hpp"
#include "Streams/CInputStream.hpp" #include "Kyoto/Streams/CInputStream.hpp"
class CFactoryMgr { class CFactoryMgr {
public: public:

View File

@ -6,9 +6,9 @@
#include "rstl/auto_ptr.hpp" #include "rstl/auto_ptr.hpp"
#include "rstl/string.hpp" #include "rstl/string.hpp"
#include "CDvdFile.hpp" #include "Kyoto/CDvdFile.hpp"
#include "CResLoader.hpp" #include "Kyoto/CResLoader.hpp"
#include "IObjectStore.hpp" #include "Kyoto/IObjectStore.hpp"
class CPakFile : CDvdFile { class CPakFile : CDvdFile {
public: public:

View File

@ -5,8 +5,8 @@
#include "rstl/list.hpp" #include "rstl/list.hpp"
#include "CFactoryMgr.hpp" #include "Kyoto/CFactoryMgr.hpp"
#include "CResLoader.hpp" #include "Kyoto/CResLoader.hpp"
class CResFactory { class CResFactory {
public: public:

View File

@ -6,7 +6,7 @@
#include "rstl/list.hpp" #include "rstl/list.hpp"
#include "rstl/string.hpp" #include "rstl/string.hpp"
#include "IObjectStore.hpp" #include "Kyoto/IObjectStore.hpp"
class CPakFile; class CPakFile;

View File

@ -5,7 +5,7 @@
#include "rstl/map.hpp" #include "rstl/map.hpp"
#include "IObjectStore.hpp" #include "Kyoto/IObjectStore.hpp"
class CSimplePool { class CSimplePool {
public: public:

View File

@ -3,9 +3,9 @@
#include "types.h" #include "types.h"
#include "rstl/auto_ptr.hpp" #include "Kyoto/IObjectStore.hpp"
#include "IObjectStore.hpp" #include "rstl/auto_ptr.hpp"
class CToken { class CToken {
public: public:

View File

@ -6,7 +6,7 @@
#include "Kyoto/Math/CColor.hpp" #include "Kyoto/Math/CColor.hpp"
#include "Kyoto/Math/CVector3f.hpp" #include "Kyoto/Math/CVector3f.hpp"
#include "CTevCombiners.hpp" #include "Kyoto/Graphics/CTevCombiners.hpp"
enum ERglTevStage { enum ERglTevStage {
kTS_Stage0, kTS_Stage0,

View File

@ -3,7 +3,7 @@
#include "types.h" #include "types.h"
#include "CVector3f.hpp" #include "Kyoto/Math/CVector3f.hpp"
class CTransform4f { class CTransform4f {
public: public:

View File

@ -3,8 +3,8 @@
#include "types.h" #include "types.h"
#include "CVector2f.hpp" #include "Kyoto/Math/CVector2f.hpp"
#include "CVector3f.hpp" #include "Kyoto/Math/CVector3f.hpp"
static bool close_enough(const CVector2f& a, const CVector2f& b, f32 epsilon = 0.001f); static bool close_enough(const CVector2f& a, const CVector2f& b, f32 epsilon = 0.001f);
static bool close_enough(const CVector3f& a, const CVector3f& b, f32 epsilon = 0.001f); static bool close_enough(const CVector3f& a, const CVector3f& b, f32 epsilon = 0.001f);

View File

@ -0,0 +1,39 @@
#ifndef _CENTITY_HPP
#define _CENTITY_HPP
#include "types.h"
#include "MetroidPrime/CEntityInfo.hpp"
#include "MetroidPrime/CStateManager.hpp"
#include "MetroidPrime/TCastTo.hpp"
#include "MetroidPrime/TGameTypes.hpp"
#include "rstl/string.hpp"
#include "rstl/vector.hpp"
class CEntity {
public:
virtual ~CEntity();
virtual void Accept(IVisitor& visitor) = 0;
virtual void PreThink(float dt, CStateManager& mgr);
virtual void Think(float dt, CStateManager& mgr);
virtual void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager& stateMgr);
virtual void SetActive(bool active);
CEntity(TUniqueId id, const CEntityInfo& info, bool active, const rstl::string& name);
static rstl::vector<SConnection> NullConnectionList;
protected:
TAreaId x4_areaId;
TUniqueId x8_uid;
TEditorId xc_editorId;
rstl::string x10_name;
rstl::vector<SConnection> x20_conns;
bool x30_24_active : 1;
bool x30_25_inGraveyard : 1;
bool x30_26_scriptingBlocked : 1;
bool x30_27_inUse : 1;
};
#endif

View File

@ -0,0 +1,249 @@
#ifndef _CENTITY_INFO_HPP
#define _CENTITY_INFO_HPP
#include "types.h"
#include "MetroidPrime/TGameTypes.hpp"
#include "rstl/vector.hpp"
enum EScriptObjectType {
kST_Actor = 0x00,
kST_Waypoint = 0x02,
kST_Door = 0x03,
kST_Trigger = 0x04,
kST_Timer = 0x05,
kST_Counter = 0x06,
kST_Effect = 0x07,
kST_Platform = 0x08,
kST_Sound = 0x09,
kST_Generator = 0x0A,
kST_Dock = 0x0B,
kST_Camera = 0x0C,
kST_CameraWaypoint = 0x0D,
kST_NewIntroBoss = 0x0E,
kST_SpawnPoint = 0x0F,
kST_CameraHint = 0x10,
kST_Pickup = 0x11,
kST_MemoryRelay = 0x13,
kST_RandomRelay = 0x14,
kST_Relay = 0x15,
kST_Beetle = 0x16,
kST_HUDMemo = 0x17,
kST_CameraFilterKeyframe = 0x18,
kST_CameraBlurKeyframe = 0x19,
kST_DamageableTrigger = 0x1A,
kST_Debris = 0x1B,
kST_CameraShaker = 0x1C,
kST_ActorKeyframe = 0x1D,
kST_Water = 0x20,
kST_Warwasp = 0x21,
kST_SpacePirate = 0x24,
kST_FlyingPirate = 0x25,
kST_ElitePirate = 0x26,
kST_MetroidBeta = 0x27,
kST_ChozoGhost = 0x28,
kST_CoverPoint = 0x2A,
kST_SpiderBallWaypoint = 0x2C,
kST_BloodFlower = 0x2D,
kST_FlickerBat = 0x2E,
kST_PathCamera = 0x2F,
kST_GrapplePoint = 0x30,
kST_PuddleSpore = 0x31,
kST_DebugCameraWaypoint = 0x32,
kST_SpiderBallAttractionSurface = 0x33,
kST_PuddleToadGamma = 0x34,
kST_DistanceFog = 0x35,
kST_FireFlea = 0x36,
kST_Metaree = 0x37,
kST_DockAreaChange = 0x38,
kST_ActorRotate = 0x39,
kST_SpecialFunction = 0x3A,
kST_SpankWeed = 0x3B,
kST_Parasite = 0x3D,
kST_PlayerHint = 0x3E,
kST_Ripper = 0x3F,
kST_PickupGenerator = 0x40,
kST_AIKeyframe = 0x41,
kST_PointOfInterest = 0x42,
kST_Drone = 0x43,
kST_Metroid = 0x44,
kST_DebrisExtended = 0x45,
kST_Steam = 0x46,
kST_Ripple = 0x47,
kST_BallTrigger = 0x48,
kST_TargetingPoint = 0x49,
kST_EMPulse = 0x4A,
kST_IceSheegoth = 0x4B,
kST_PlayerActor = 0x4C,
kST_Flaahgra = 0x4D,
kST_AreaAttributes = 0x4E,
kST_FishCloud = 0x4F,
kST_FishCloudModifier = 0x50,
kST_VisorFlare = 0x51,
kST_WorldTeleporter = 0x52,
kST_VisorGoo = 0x53,
kST_JellyZap = 0x54,
kST_ControllerAction = 0x55,
kST_Switch = 0x56,
kST_PlayerStateChange = 0x57,
kST_Thardus = 0x58,
kST_WallCrawlerSwarm = 0x5A,
kST_AIJumpPoint = 0x5B,
kST_FlaahgraTentacle = 0x5C,
kST_RoomAcoustics = 0x5D,
kST_ColorModulate = 0x5E,
kST_ThardusRockProjectile = 0x5F,
kST_Midi = 0x60,
kST_StreamedAudio = 0x61,
kST_WorldTeleporterToo = 0x62,
kST_Repulsor = 0x63,
kST_GunTurret = 0x64,
kST_FogVolume = 0x65,
kST_Babygoth = 0x66,
kST_Eyeball = 0x67,
kST_RadialDamage = 0x68,
kST_CameraPitchVolume = 0x69,
kST_EnvFxDensityController = 0x6A,
kST_Magdolite = 0x6B,
kST_TeamAIMgr = 0x6C,
kST_SnakeWeedSwarm = 0x6D,
kST_ActorContraption = 0x6E,
kST_Oculus = 0x6F,
kST_Geemer = 0x70,
kST_SpindleCamera = 0x71,
kST_AtomicAlpha = 0x72,
kST_CameraHintTrigger = 0x73,
kST_RumbleEffect = 0x74,
kST_AmbientAI = 0x75,
kST_AtomicBeta = 0x77,
kST_IceZoomer = 0x78,
kST_Puffer = 0x79,
kST_Tryclops = 0x7A,
kST_Ridley = 0x7B,
kST_Seedling = 0x7C,
kST_ThermalHeatFader = 0x7D,
kST_Burrower = 0x7F,
kST_ScriptBeam = 0x81,
kST_WorldLightFader = 0x82,
kST_MetroidPrimeStage2 = 0x83,
kST_MetroidPrimeStage1 = 0x84,
kST_MazeNode = 0x85,
kST_OmegaPirate = 0x86,
kST_PhazonPool = 0x87,
kST_PhazonHealingNodule = 0x88,
kST_NewCameraShaker = 0x89,
kST_ShadowProjector = 0x8A,
kST_EnergyBall = 0x8B,
kST_MAX
};
enum EScriptObjectState {
kSS_Any = -1,
kSS_Active = 0,
kSS_Arrived = 1,
kSS_Closed = 2,
kSS_Entered = 3,
kSS_Exited = 4,
kSS_Inactive = 5,
kSS_Inside = 6,
kSS_MaxReached = 7,
kSS_Open = 8,
kSS_Zero = 9,
kSS_Attack = 10,
kSS_CloseIn = 11,
kSS_Retreat = 12,
kSS_Patrol = 13,
kSS_Dead = 14,
kSS_CameraPath = 15,
kSS_CameraTarget = 16,
kSS_DeactivateState = 17,
kSS_Play = 18,
kSS_MassiveDeath = 19,
kSS_DeathRattle = 20,
kSS_AboutToMassivelyDie = 21,
kSS_Damage = 22,
kSS_InvulnDamage = 23,
kSS_MassiveFrozenDeath = 24,
kSS_Modify = 25,
kSS_ScanStart = 26,
kSS_ScanProcessing = 27,
kSS_ScanDone = 28,
kSS_UnFrozen = 29,
kSS_Default = 30,
kSS_ReflectedDamage = 31,
InheritBounds = 32
};
enum EScriptObjectMessage {
kSM_None = -1,
kSM_UNKM0 = 0,
kSM_Activate = 1,
kSM_Arrived = 2,
kSM_Close = 3,
kSM_Deactivate = 4,
kSM_Decrement = 5,
kSM_Follow = 6,
kSM_Increment = 7,
kSM_Next = 8,
kSM_Open = 9,
kSM_Reset = 10,
kSM_ResetAndStart = 11,
kSM_SetToMax = 12,
kSM_SetToZero = 13,
kSM_Start = 14,
kSM_Stop = 15,
kSM_StopAndReset = 16,
kSM_ToggleActive = 17,
kSM_UNKM18 = 18,
kSM_Action = 19,
kSM_Play = 20,
kSM_Alert = 21,
kSM_InternalMessage00 = 22,
kSM_OnFloor = 23,
kSM_InternalMessage02 = 24,
kSM_InternalMessage03 = 25,
kSM_Falling = 26,
kSM_OnIceSurface = 27,
kSM_OnMudSlowSurface = 28,
kSM_OnNormalSurface = 29,
kSM_Touched = 30,
kSM_AddPlatformRider = 31,
kSM_LandOnNotFloor = 32,
kSM_Registered = 33,
kSM_Deleted = 34,
kSM_InitializedInArea = 35,
kSM_WorldInitialized = 36,
kSM_AddSplashInhabitant = 37,
kSM_UpdateSplashInhabitant = 38,
kSM_RemoveSplashInhabitant = 39,
kSM_Jumped = 40,
kSM_Damage = 41,
kSM_InvulnDamage = 42,
kSM_ProjectileCollide = 43,
kSM_InSnakeWeed = 44,
kSM_AddPhazonPoolInhabitant = 45,
kSM_UpdatePhazonPoolInhabitant = 46,
kSM_RemovePhazonPoolInhabitant = 47,
kSM_SuspendedMove = 48
};
struct SConnection {
EScriptObjectState x0_state;
EScriptObjectMessage x4_msg;
TEditorId x8_objId;
};
class CEntityInfo {
TAreaId x0_areaId;
rstl::vector<SConnection> x4_conns;
TEditorId x14_editorId;
public:
CEntityInfo(TAreaId aid, const rstl::vector< SConnection >& conns, TEditorId eid = kInvalidEditorId);
TAreaId GetAreaId() const { return x0_areaId; }
const rstl::vector<SConnection>& GetConnectionList() const { return x4_conns; }
TEditorId GetEditorId() const { return x14_editorId; }
};
#endif

View File

@ -3,10 +3,10 @@
#include "types.h" #include "types.h"
#include "CIOWinManager.hpp"
#include "Kyoto/Basics/COsContext.hpp" #include "Kyoto/Basics/COsContext.hpp"
#include "Kyoto/Basics/CStopwatch.hpp" #include "Kyoto/Basics/CStopwatch.hpp"
#include "Kyoto/TOneStatic.hpp" #include "Kyoto/TOneStatic.hpp"
#include "MetroidPrime/CIOWinManager.hpp"
class CGameArchitectureSupport : public TOneStatic< CGameArchitectureSupport > { class CGameArchitectureSupport : public TOneStatic< CGameArchitectureSupport > {
public: public:

View File

@ -6,9 +6,6 @@
#include "rstl/optional_object.hpp" #include "rstl/optional_object.hpp"
#include "rstl/single_ptr.hpp" #include "rstl/single_ptr.hpp"
#include "CInGameTweakManager.hpp"
#include "Enemies/CAiFuncMap.hpp"
#include "Factories/CCharacterFactoryBuilder.hpp"
#include "Kyoto/Basics/COsContext.hpp" #include "Kyoto/Basics/COsContext.hpp"
#include "Kyoto/CMemoryCardSys.hpp" #include "Kyoto/CMemoryCardSys.hpp"
#include "Kyoto/CMemorySys.hpp" #include "Kyoto/CMemorySys.hpp"
@ -18,7 +15,10 @@
#include "Kyoto/Graphics/CGraphicsSys.hpp" #include "Kyoto/Graphics/CGraphicsSys.hpp"
#include "Kyoto/Text/CRasterFont.hpp" #include "Kyoto/Text/CRasterFont.hpp"
#include "Kyoto/TOneStatic.hpp" #include "Kyoto/TOneStatic.hpp"
#include "Player/CGameState.hpp" #include "MetroidPrime/CInGameTweakManager.hpp"
#include "MetroidPrime/Enemies/CAiFuncMap.hpp"
#include "MetroidPrime/Factories/CCharacterFactoryBuilder.hpp"
#include "MetroidPrime/Player/CGameState.hpp"
class CGameGlobalObjects : public TOneStatic< CGameGlobalObjects > { class CGameGlobalObjects : public TOneStatic< CGameGlobalObjects > {
public: public:

View File

@ -5,13 +5,13 @@
#include "rstl/reserved_vector.hpp" #include "rstl/reserved_vector.hpp"
#include "CGameArchitectureSupport.hpp"
#include "CGameGlobalObjects.hpp"
#include "Kyoto/Basics/COsContext.hpp" #include "Kyoto/Basics/COsContext.hpp"
#include "Kyoto/Basics/CStopwatch.hpp" #include "Kyoto/Basics/CStopwatch.hpp"
#include "Kyoto/CMemorySys.hpp" #include "Kyoto/CMemorySys.hpp"
#include "Kyoto/Streams/CInputStream.hpp" #include "Kyoto/Streams/CInputStream.hpp"
#include "Kyoto/TReservedAverage.hpp" #include "Kyoto/TReservedAverage.hpp"
#include "MetroidPrime/CGameArchitectureSupport.hpp"
#include "MetroidPrime/CGameGlobalObjects.hpp"
#include "MetroidPrime/TGameTypes.hpp" #include "MetroidPrime/TGameTypes.hpp"
#include "MetroidPrime/Tweaks/CTweaks.hpp" #include "MetroidPrime/Tweaks/CTweaks.hpp"

View File

@ -0,0 +1,8 @@
#ifndef _CSTATEMANAGER_HPP
#define _CSTATEMANAGER_HPP
#include "types.h"
class CStateManager {};
#endif

View File

@ -7,12 +7,12 @@
#include "rstl/reserved_vector.hpp" #include "rstl/reserved_vector.hpp"
#include "rstl/vector.hpp" #include "rstl/vector.hpp"
#include "CGameOptions.hpp" #include "MetroidPrime/Player/CGameOptions.hpp"
#include "CHintOptions.hpp" #include "MetroidPrime/Player/CHintOptions.hpp"
#include "CPlayerState.hpp" #include "MetroidPrime/Player/CPlayerState.hpp"
#include "CSystemOptions.hpp" #include "MetroidPrime/Player/CSystemOptions.hpp"
#include "CWorldState.hpp" #include "MetroidPrime/Player/CWorldState.hpp"
#include "CWorldTransManager.hpp" #include "MetroidPrime/Player/CWorldTransManager.hpp"
#include "MetroidPrime/TGameTypes.hpp" #include "MetroidPrime/TGameTypes.hpp"
class CGameState { class CGameState {

View File

@ -0,0 +1,10 @@
#ifndef _TCASTTO_HPP
#define _TCASTTO_HPP
#include "types.h"
class IVisitor {
};
#endif

View File

@ -3,12 +3,35 @@
#include "types.h" #include "types.h"
typedef s32 TAreaId; struct TAreaId;
typedef s32 TEditorId; struct TEditorId;
typedef u16 TUniqueId; struct TUniqueId;
extern TAreaId kInvalidAreaId; extern TAreaId kInvalidAreaId;
extern TEditorId kInvalidEditorId; extern TEditorId kInvalidEditorId;
extern TUniqueId kInvalidUniqueId; extern TUniqueId kInvalidUniqueId;
struct TAreaId {
s32 value;
TAreaId() : value(-1) {}
TAreaId(s32 value) : value(value) {}
s32 Value() const { return value; }
bool operator==(const TAreaId& other) const { return value == other.value; }
bool operator!=(const TAreaId& other) const { return value != other.value; }
};
struct TEditorId {
u32 value;
TEditorId() : value(-1) {}
TEditorId(u32 value) : value(value) {}
};
struct TUniqueId {
u16 value;
TUniqueId() : value(-1) {}
TUniqueId(u16 value) : value(value) {}
};
#endif #endif

View File

@ -3,7 +3,7 @@
#include "types.h" #include "types.h"
#include "rmemory_allocator.hpp" #include "rstl/rmemory_allocator.hpp"
namespace rstl { namespace rstl {
template < typename T, typename Alloc = rmemory_allocator > template < typename T, typename Alloc = rmemory_allocator >

View File

@ -3,7 +3,7 @@
#include "types.h" #include "types.h"
#include "rmemory_allocator.hpp" #include "rstl/rmemory_allocator.hpp"
namespace rstl { namespace rstl {
template < typename K, typename V, typename Alloc = rmemory_allocator > template < typename K, typename V, typename Alloc = rmemory_allocator >

View File

@ -3,7 +3,7 @@
#include "types.h" #include "types.h"
#include "construct.hpp" #include "rstl/construct.hpp"
namespace rstl { namespace rstl {
template < typename T > template < typename T >

View File

@ -3,7 +3,7 @@
#include "types.h" #include "types.h"
#include "construct.hpp" #include "rstl/construct.hpp"
namespace rstl { namespace rstl {
template < typename T, typename Vec, typename Alloc > template < typename T, typename Vec, typename Alloc >

View File

@ -3,8 +3,8 @@
#include "types.h" #include "types.h"
#include "construct.hpp" #include "rstl/construct.hpp"
#include "pointer_iterator.hpp" #include "rstl/pointer_iterator.hpp"
namespace rstl { namespace rstl {
template < typename T, size_t N > template < typename T, size_t N >

View File

@ -3,7 +3,7 @@
#include "types.h" #include "types.h"
#include "rmemory_allocator.hpp" #include "rstl/rmemory_allocator.hpp"
namespace rstl { namespace rstl {
template < typename _CharTp > template < typename _CharTp >

View File

@ -3,8 +3,8 @@
#include "types.h" #include "types.h"
#include "pointer_iterator.hpp" #include "rstl/pointer_iterator.hpp"
#include "rmemory_allocator.hpp" #include "rstl/rmemory_allocator.hpp"
namespace rstl { namespace rstl {
template < typename T, typename Alloc = rmemory_allocator > template < typename T, typename Alloc = rmemory_allocator >
@ -27,7 +27,7 @@ public:
vector(const vector& other) { vector(const vector& other) {
x4_count = other.x4_count; x4_count = other.x4_count;
x8_capacity = other.x8_capacity; x8_capacity = other.x8_capacity;
if (x4_count == 0 && x8_capacity == 0) { if (other.x4_count == 0 && other.x8_capacity == 0) {
xc_items = NULL; xc_items = NULL;
} else { } else {
size_t sz = x8_capacity * sizeof(T); size_t sz = x8_capacity * sizeof(T);