mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-10 04:27:42 +00:00
Various loader implementations
This commit is contained in:
@@ -100,9 +100,10 @@ void CMainFlow::SetGameState(EClientFlowStates state, CArchitectureQueue& queue)
|
||||
case EClientFlowStates::Game:
|
||||
{
|
||||
g_GameState->GameOptions().EnsureSettings();
|
||||
std::shared_ptr<CMFGameLoader> gameLoader = std::make_shared<CMFGameLoader>();
|
||||
main->SetFlowState(EFlowState::Default);
|
||||
queue.Push(MakeMsg::CreateCreateIOWin(EArchMsgTarget::IOWinManager, 10, 1000,
|
||||
std::make_shared<CMFGameLoader>()));
|
||||
gameLoader));
|
||||
break;
|
||||
}
|
||||
default: break;
|
||||
|
||||
@@ -1597,7 +1597,7 @@ void CSamusHud::Draw(const CStateManager& mgr, float alpha,
|
||||
if (x29c_decoIntf && !x2cc_preLoadCountdown)
|
||||
x29c_decoIntf->Draw();
|
||||
|
||||
if (x2bc_nextState >= EHudState::Combat && x2bc_nextState < EHudState::Scan)
|
||||
if (x2bc_nextState >= EHudState::Combat && x2bc_nextState <= EHudState::Scan)
|
||||
{
|
||||
if (hudVis &&
|
||||
helmetVis != CInGameGuiManager::EHelmetVisMode::ReducedUpdate &&
|
||||
|
||||
@@ -488,6 +488,8 @@ void CMain::Give(hecl::Console* console, const std::vector<std::string>& args)
|
||||
{
|
||||
pState->IncrPickup(eType, 9999);
|
||||
console->report(hecl::Console::Level::Info, "Cheater....., Greatly increasing Metroid encounters, have fun!");
|
||||
if (g_StateManager)
|
||||
g_StateManager->Player()->AsyncLoadSuit(*g_StateManager);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -517,7 +519,8 @@ void CMain::Give(hecl::Console* console, const std::vector<std::string>& args)
|
||||
else
|
||||
pState->DecrPickup(eType, zeus::clamp(0u, u32(abs(itemAmt)), pState->GetItemAmount(eType)));
|
||||
}
|
||||
g_StateManager->Player()->AsyncLoadSuit(*g_StateManager);
|
||||
if (g_StateManager)
|
||||
g_StateManager->Player()->AsyncLoadSuit(*g_StateManager);
|
||||
console->report(hecl::Console::Level::Info, "Cheater....., Greatly increasing Metroid encounters, have fun!");
|
||||
}
|
||||
|
||||
|
||||
14
Runtime/MP1/World/CAtomicAlpha.cpp
Normal file
14
Runtime/MP1/World/CAtomicAlpha.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include "CAtomicAlpha.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
CAtomicAlpha::CAtomicAlpha(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& mData, const CActorParameters& actParms, const CPatternedInfo& pInfo,
|
||||
CAssetId wpsc, const CDamageInfo& dInfo, float f1, float f2, float f3, CAssetId cmdl,
|
||||
bool b1, bool b2)
|
||||
: CPatterned(ECharacter::AtomicAlpha, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Flyer, EColliderType::One, EBodyType::Flyer, actParms, 1)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
16
Runtime/MP1/World/CAtomicAlpha.hpp
Normal file
16
Runtime/MP1/World/CAtomicAlpha.hpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CAtomicAlpha : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(AtomicAlpha)
|
||||
CAtomicAlpha(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CActorParameters&, const CPatternedInfo&, CAssetId, const CDamageInfo&, float, float, float,
|
||||
CAssetId, bool, bool);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
#include "CBabygoth.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
CBabygothData::CBabygothData(CInputStream& in)
|
||||
: x0_(in.readFloatBig())
|
||||
, x4_(in.readFloatBig())
|
||||
, x8_(in)
|
||||
, xc_(in)
|
||||
, x28_(in)
|
||||
, x44_(in)
|
||||
, x48_(in)
|
||||
, x4c_(in)
|
||||
, x68_(in)
|
||||
, xd0_(in)
|
||||
, x138_(in)
|
||||
, x13c_(in)
|
||||
, x140_(in.readFloatBig())
|
||||
, x144_(CSfxManager::TranslateSFXID(in.readUint32Big()))
|
||||
, x148_(in)
|
||||
, x14c_(in)
|
||||
, x150_(in)
|
||||
, x154_(in)
|
||||
, x158_(CSfxManager::TranslateSFXID(in.readUint32Big()))
|
||||
, x15c_(CSfxManager::TranslateSFXID(in.readUint32Big()))
|
||||
, x160_(in.readFloatBig())
|
||||
, x164_(in.readFloatBig())
|
||||
, x168_(in.readFloatBig())
|
||||
, x16c_(in)
|
||||
, x170_(CSfxManager::TranslateSFXID(in.readUint32Big()))
|
||||
, x174_(in)
|
||||
{
|
||||
}
|
||||
|
||||
CBabygoth::CBabygoth(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& mData, const CPatternedInfo& pInfo, const CActorParameters& actParms, const CBabygothData& babyData)
|
||||
: CPatterned(ECharacter::Babygoth, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo, EMovementType::Ground,
|
||||
EColliderType::One, EBodyType::BiPedal, actParms, 1)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,37 +3,37 @@
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CBabygothData
|
||||
{
|
||||
float x0_;
|
||||
float x4_;
|
||||
u32 x8_;
|
||||
CAssetId x8_;
|
||||
CDamageInfo xc_;
|
||||
CDamageInfo x28_;
|
||||
u32 x44_;
|
||||
u32 x48_;
|
||||
CAssetId x44_;
|
||||
CAssetId x48_;
|
||||
CDamageInfo x4c_;
|
||||
CDamageVulnerability x68_;
|
||||
CDamageVulnerability xd0_;
|
||||
u32 x138_;
|
||||
u32 x13c_;
|
||||
CAssetId x138_;
|
||||
CAssetId x13c_;
|
||||
float x140_;
|
||||
s16 x144_;
|
||||
u32 x148_;
|
||||
u32 x14c_;
|
||||
u32 x150_;
|
||||
u32 x154_;
|
||||
CAssetId x148_;
|
||||
CAssetId x14c_;
|
||||
CAssetId x150_;
|
||||
CAssetId x154_;
|
||||
s16 x158_;
|
||||
s16 x15a_;
|
||||
s16 x15c_;
|
||||
float x160_;
|
||||
float x164_;
|
||||
float x168_;
|
||||
u32 x16c_;
|
||||
CAssetId x16c_;
|
||||
s16 x170_;
|
||||
u32 x174_;
|
||||
CAssetId x174_;
|
||||
public:
|
||||
CBabygothData(CInputStream&);
|
||||
CAssetId GetShellModelResId() const;
|
||||
@@ -47,5 +47,13 @@ public:
|
||||
CAssetId GetFireBreathResId() const;
|
||||
};
|
||||
|
||||
class CBabygoth : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(Babygoth)
|
||||
CBabygoth(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, const CActorParameters&, const CBabygothData&);
|
||||
};
|
||||
|
||||
}
|
||||
#endif // __URDE_MP1_CBABYGOTH_HPP__
|
||||
|
||||
12
Runtime/MP1/World/CBloodFlower.cpp
Normal file
12
Runtime/MP1/World/CBloodFlower.cpp
Normal file
@@ -0,0 +1,12 @@
|
||||
#include "CBloodFlower.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
CBloodFlower::CBloodFlower(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& mData, const CPatternedInfo& pInfo, CAssetId partId1, CAssetId wpscId1,
|
||||
const CActorParameters& actParms, CAssetId wpscId2, const CDamageInfo& dInfo1,
|
||||
const CDamageInfo& dInfo2, const CDamageInfo& dInfo3, CAssetId partId2, CAssetId partId3,
|
||||
CAssetId partId4, float f1, CAssetId partId5, u32 soundId)
|
||||
: CPatterned(ECharacter::BloodFlower, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Ground, EColliderType::One, EBodyType::Restricted, actParms, 1) {}
|
||||
}
|
||||
16
Runtime/MP1/World/CBloodFlower.hpp
Normal file
16
Runtime/MP1/World/CBloodFlower.hpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CBloodFlower : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(BloodFlower)
|
||||
|
||||
CBloodFlower(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, CAssetId, CAssetId, const CActorParameters&, CAssetId, const CDamageInfo&,
|
||||
const CDamageInfo&, const CDamageInfo&, CAssetId, CAssetId, CAssetId, float, CAssetId, u32);
|
||||
};
|
||||
}
|
||||
14
Runtime/MP1/World/CBurrower.cpp
Normal file
14
Runtime/MP1/World/CBurrower.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include "CBurrower.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
|
||||
CBurrower::CBurrower(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& mData, const CPatternedInfo& pInfo, const CActorParameters& actParms,
|
||||
CAssetId, CAssetId, CAssetId, const CDamageInfo&, CAssetId, u32, CAssetId)
|
||||
: CPatterned(ECharacter::Burrower, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Ground, EColliderType::One, EBodyType::BiPedal, actParms, 0)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
17
Runtime/MP1/World/CBurrower.hpp
Normal file
17
Runtime/MP1/World/CBurrower.hpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
|
||||
class CBurrower : public CPatterned
|
||||
{
|
||||
|
||||
public:
|
||||
DEFINE_PATTERNED(Burrower)
|
||||
CBurrower(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, const CActorParameters&, CAssetId, CAssetId, CAssetId, const CDamageInfo&, CAssetId, u32,
|
||||
CAssetId);
|
||||
};
|
||||
}
|
||||
26
Runtime/MP1/World/CElitePirate.cpp
Normal file
26
Runtime/MP1/World/CElitePirate.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "CElitePirate.hpp"
|
||||
#include "World/ScriptLoader.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
CElitePirateData::CElitePirateData(CInputStream& in, u32 propCount)
|
||||
: x0_(in.readFloatBig()), x4_(in.readFloatBig()), x8_(in.readFloatBig()), xc_(in.readFloatBig()),
|
||||
x10_(in.readFloatBig()), x14_(in.readFloatBig()), x18_(in.readFloatBig()), x1c_(in.readFloatBig()), x20_(in),
|
||||
x24_(CSfxManager::TranslateSFXID(in.readUint32Big())), x28_(ScriptLoader::LoadActorParameters(in)),
|
||||
x90_(ScriptLoader::LoadAnimationParameters(in)), x9c_(in), xa0_(CSfxManager::TranslateSFXID(in.readUint32Big())),
|
||||
xa4_(in), xa8_(in), xc4_(in.readFloatBig()), xc8_(in), xcc_(in), xd0_(in), xd4_(in), xd8_(in.readFloatBig()),
|
||||
xdc_(in.readFloatBig()), xe0_(in.readFloatBig()), xe4_(in.readFloatBig()),
|
||||
xe8_(zeus::degToRad(in.readFloatBig())), xec_(zeus::degToRad(in.readFloatBig())), xf0_(in.readUint32Big()),
|
||||
xf4_(CSfxManager::TranslateSFXID(in.readUint32Big())), xf8_(in), xfc_(in), x118_(in),
|
||||
x11c_(CSfxManager::TranslateSFXID(in.readUint32Big())), x11e_(in.readBool()),
|
||||
x11f_(propCount < 24 ? true : in.readBool()) {}
|
||||
|
||||
CElitePirate::CElitePirate(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& mData, const CPatternedInfo& pInfo, const CActorParameters& actParms,
|
||||
const CElitePirateData& eliteData)
|
||||
: CPatterned(ECharacter::ElitePirate, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Ground, EColliderType::One, EBodyType::BiPedal, actParms, 2)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
58
Runtime/MP1/World/CElitePirate.hpp
Normal file
58
Runtime/MP1/World/CElitePirate.hpp
Normal file
@@ -0,0 +1,58 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
#include "World/CActorParameters.hpp"
|
||||
#include "World/CAnimationParameters.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CElitePirateData
|
||||
{
|
||||
float x0_;
|
||||
float x4_;
|
||||
float x8_;
|
||||
float xc_;
|
||||
float x10_;
|
||||
float x14_;
|
||||
float x18_;
|
||||
float x1c_;
|
||||
CAssetId x20_;
|
||||
s16 x24_;
|
||||
CActorParameters x28_;
|
||||
CAnimationParameters x90_;
|
||||
CAssetId x9c_;
|
||||
s16 xa0_;
|
||||
CAssetId xa4_;
|
||||
CDamageInfo xa8_;
|
||||
float xc4_;
|
||||
CAssetId xc8_;
|
||||
CAssetId xcc_;
|
||||
CAssetId xd0_;
|
||||
CAssetId xd4_;
|
||||
float xd8_;
|
||||
float xdc_;
|
||||
float xe0_;
|
||||
float xe4_;
|
||||
float xe8_;
|
||||
float xec_;
|
||||
u32 xf0_;
|
||||
u32 xf4_;
|
||||
CAssetId xf8_;
|
||||
CDamageInfo xfc_;
|
||||
CAssetId x118_;
|
||||
s16 x11c_;
|
||||
bool x11e_;
|
||||
bool x11f_;
|
||||
public:
|
||||
CElitePirateData(CInputStream&, u32 propCount);
|
||||
};
|
||||
|
||||
class CElitePirate : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(ElitePirate)
|
||||
|
||||
CElitePirate(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, const CActorParameters&, const CElitePirateData&);
|
||||
};
|
||||
}
|
||||
14
Runtime/MP1/World/CEyeball.cpp
Normal file
14
Runtime/MP1/World/CEyeball.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include "CEyeball.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
CEyeball::CEyeball(TUniqueId uid, std::string_view name, CPatterned::EFlavorType flavor, const CEntityInfo& info,
|
||||
const zeus::CTransform& xf, CModelData&& mData, const CPatternedInfo& pInfo, float, float,
|
||||
CAssetId, const CDamageInfo&, CAssetId, CAssetId, CAssetId, CAssetId, u32, u32, u32, u32, u32,
|
||||
const CActorParameters& actParms, bool)
|
||||
: CPatterned(ECharacter::EyeBall, uid, name, flavor, info, xf, std::move(mData), pInfo, EMovementType::Flyer,
|
||||
EColliderType::Zero, EBodyType::Restricted, actParms, 1)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
17
Runtime/MP1/World/CEyeball.hpp
Normal file
17
Runtime/MP1/World/CEyeball.hpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CEyeball : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(EyeBall)
|
||||
|
||||
CEyeball(TUniqueId, std::string_view, EFlavorType, const CEntityInfo&, const zeus::CTransform&,
|
||||
CModelData&&, const CPatternedInfo&, float, float, CAssetId, const CDamageInfo&, CAssetId, CAssetId,
|
||||
CAssetId, CAssetId, u32, u32, u32, u32, u32, const CActorParameters&, bool);
|
||||
|
||||
};
|
||||
}
|
||||
13
Runtime/MP1/World/CFireFlea.cpp
Normal file
13
Runtime/MP1/World/CFireFlea.cpp
Normal file
@@ -0,0 +1,13 @@
|
||||
#include "CFireFlea.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
|
||||
CFireFlea::CFireFlea(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& mData, const CActorParameters& actParms, const CPatternedInfo& pInfo, float)
|
||||
: CPatterned(ECharacter::FireFlea, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Flyer, EColliderType::One, EBodyType::NewFlyer, actParms, 0)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
15
Runtime/MP1/World/CFireFlea.hpp
Normal file
15
Runtime/MP1/World/CFireFlea.hpp
Normal file
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CFireFlea : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(FireFlea)
|
||||
|
||||
CFireFlea(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CActorParameters&, const CPatternedInfo&, float);
|
||||
};
|
||||
}
|
||||
14
Runtime/MP1/World/CFlickerBat.cpp
Normal file
14
Runtime/MP1/World/CFlickerBat.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include "CFlickerBat.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
|
||||
CFlickerBat::CFlickerBat(TUniqueId uid, std::string_view name, CPatterned::EFlavorType flavor, const CEntityInfo& info,
|
||||
const zeus::CTransform& xf, CModelData&& mData, const CPatternedInfo& pInfo,
|
||||
EColliderType colType, bool b1, const CActorParameters& actParms, bool b2)
|
||||
: CPatterned(ECharacter::FlickerBat, uid, name, flavor, info, xf, std::move(mData), pInfo, EMovementType::Flyer, colType,
|
||||
EBodyType::Pitchable, actParms, 0)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
14
Runtime/MP1/World/CFlickerBat.hpp
Normal file
14
Runtime/MP1/World/CFlickerBat.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CFlickerBat : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(FlickerBat)
|
||||
CFlickerBat(TUniqueId, std::string_view name, EFlavorType, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, EColliderType, bool, const CActorParameters&, bool);
|
||||
};
|
||||
}
|
||||
28
Runtime/MP1/World/CMagdolite.cpp
Normal file
28
Runtime/MP1/World/CMagdolite.cpp
Normal file
@@ -0,0 +1,28 @@
|
||||
#include "CMagdolite.hpp"
|
||||
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
|
||||
CMagdolite::CMagdoliteData::CMagdoliteData(CInputStream& in)
|
||||
: x0_propertyCount(in.readUint32Big())
|
||||
, x4_(in.readUint32Big())
|
||||
, x8_(in)
|
||||
, xc_(in.readUint32Big())
|
||||
, x10_(in.readFloatBig())
|
||||
, x18_(in.readFloatBig())
|
||||
, x1c_(in.readFloatBig())
|
||||
{
|
||||
}
|
||||
|
||||
CMagdolite::CMagdolite(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& mData, const CPatternedInfo& pInfo, const CActorParameters& actParms, float f1, float f2,
|
||||
const CDamageInfo& dInfo1, const CDamageInfo& dInfo2, const CDamageVulnerability& dVuln1,
|
||||
const CDamageVulnerability& dVuln2, CAssetId modelId, CAssetId skinId, float f3, float f4,
|
||||
float f5, float f6, const urde::MP1::CMagdolite::CMagdoliteData& magData, float f7, float f8, float f9)
|
||||
: CPatterned(ECharacter::Magdolite, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Flyer, EColliderType::One, EBodyType::BiPedal, actParms, 2)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
32
Runtime/MP1/World/CMagdolite.hpp
Normal file
32
Runtime/MP1/World/CMagdolite.hpp
Normal file
@@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CMagdolite : public CPatterned
|
||||
{
|
||||
public:
|
||||
class CMagdoliteData
|
||||
{
|
||||
u32 x0_propertyCount;
|
||||
u32 x4_;
|
||||
CAssetId x8_;
|
||||
u32 xc_;
|
||||
float x10_;
|
||||
float x18_;
|
||||
float x1c_;
|
||||
public:
|
||||
CMagdoliteData(CInputStream&);
|
||||
};
|
||||
private:
|
||||
public:
|
||||
DEFINE_PATTERNED(Magdolite)
|
||||
CMagdolite(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, const CActorParameters&, float, float, const CDamageInfo&, const CDamageInfo&,
|
||||
const CDamageVulnerability&, const CDamageVulnerability&, CAssetId, CAssetId, float, float, float, float,
|
||||
const CMagdoliteData&, float, float, float);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,9 +2,16 @@ set(MP1_WORLD_SOURCES
|
||||
CNewIntroBoss.hpp CNewIntroBoss.cpp
|
||||
CBeetle.hpp CBeetle.cpp
|
||||
CWarWasp.hpp CWarWasp.cpp
|
||||
CElitePirate.hpp CElitePirate.cpp
|
||||
CBloodFlower.hpp CBloodFlower.cpp
|
||||
CSpacePirate.hpp CSpacePirate.cpp
|
||||
CParasite.hpp CParasite.cpp
|
||||
CBabygoth.hpp CBabygoth.cpp
|
||||
CTryclops.hpp CTryclops.cpp
|
||||
CFireFlea.hpp CFireFlea.cpp
|
||||
CEyeball.hpp CEyeball.cpp
|
||||
CAtomicAlpha.hpp CAtomicAlpha.cpp
|
||||
CFlickerBat.hpp CFlickerBat.cpp
|
||||
CMetroidPrimeRelay.hpp CMetroidPrimeRelay.cpp
|
||||
CMetroidPrimeExo.hpp CMetroidPrimeExo.cpp
|
||||
CMetroidPrimeProjectile.hpp CMetroidPrimeProjectile.cpp
|
||||
@@ -13,6 +20,9 @@ set(MP1_WORLD_SOURCES
|
||||
CMetroidBeta.hpp CMetroidBeta.cpp
|
||||
CMetroid.hpp CMetroid.cpp
|
||||
CMetaree.hpp CMetaree.cpp
|
||||
CBurrower.hpp CBurrower.cpp
|
||||
CPuffer.hpp CPuffer.cpp
|
||||
CMagdolite.hpp CMagdolite.cpp
|
||||
CSeedling.hpp CSeedling.cpp
|
||||
CRidley.hpp CRidley.cpp
|
||||
CPuddleToadGamma.hpp CPuddleToadGamma.cpp
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
//
|
||||
// Created by antidote on 8/19/17.
|
||||
//
|
||||
|
||||
#include "CMetaree.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
|
||||
15
Runtime/MP1/World/CPuffer.cpp
Normal file
15
Runtime/MP1/World/CPuffer.cpp
Normal file
@@ -0,0 +1,15 @@
|
||||
#include "CPuffer.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
|
||||
CPuffer::CPuffer(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
CModelData&& modelData, const CActorParameters& actorParameters, const CPatternedInfo& patternedInfo,
|
||||
float hoverSpeed, CAssetId cloudEffect, const CDamageInfo& cloudDamage, CAssetId cloudSteam, float f2,
|
||||
bool b1, bool b2, bool b3, const CDamageInfo& explosionDamage, s16 sfxId)
|
||||
: CPatterned(ECharacter::Puffer, uid, name, EFlavorType::Zero, info, xf, std::move(modelData), patternedInfo,
|
||||
EMovementType::Flyer, EColliderType::One, EBodyType::RestrictedFlyer, actorParameters, 0)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
16
Runtime/MP1/World/CPuffer.hpp
Normal file
16
Runtime/MP1/World/CPuffer.hpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CPuffer : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(Puffer)
|
||||
|
||||
CPuffer(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CActorParameters&, const CPatternedInfo&, float, CAssetId, const CDamageInfo&, CAssetId,
|
||||
float, bool, bool, bool, const CDamageInfo&, s16);
|
||||
};
|
||||
}
|
||||
@@ -7,24 +7,23 @@ namespace MP1
|
||||
{
|
||||
|
||||
CRidleyData::CRidleyData(CInputStream& in, u32 propCount)
|
||||
: x0_(in), x4_(in), x8_(in), xc_(in), x10_(in), x14_(in), x18_(in), x1c_(in), x20_(in), x24_(in), x28_(in)
|
||||
, x2c_(in), x30_(in), x34_(in.readFloatBig()), x38_(in.readFloatBig()), x3c_(in.readFloatBig()), x40_(in.readFloatBig())
|
||||
, x44_(in), x48_(in), x64_(in), xa8_(CSfxManager::TranslateSFXID(in.readUint32Big())), xac_(in), xb0_(in)
|
||||
, xcc_(in), x1a0_(in), x1a4_(in), x1c0_(in), x294_(CSfxManager::TranslateSFXID(in.readUint32Big()))
|
||||
, x298_(in), x2b4_(in), x388_(in.readFloatBig()), x38c_(in.readFloatBig()), x390_(in), x3ac_(in.readFloatBig())
|
||||
, x3b0_(in), x3cc_(in.readFloatBig()), x3d0_(in), x3f4_(in.readFloatBig()), x3f8_(CSfxManager::TranslateSFXID(in.readUint32Big()))
|
||||
, x3fc_(propCount > 47 ? CDamageInfo(in) : x48_)
|
||||
: x0_(in), x4_(in), x8_(in), xc_(in), x10_(in), x14_(in), x18_(in), x1c_(in), x20_(in), x24_(in), x28_(in),
|
||||
x2c_(in), x30_(in), x34_(in.readFloatBig()), x38_(in.readFloatBig()), x3c_(in.readFloatBig()),
|
||||
x40_(in.readFloatBig()), x44_(in), x48_(in), x64_(in), xa8_(CSfxManager::TranslateSFXID(in.readUint32Big())),
|
||||
xac_(in), xb0_(in), xcc_(in), x1a0_(in), x1a4_(in), x1c0_(in),
|
||||
x294_(CSfxManager::TranslateSFXID(in.readUint32Big())), x298_(in), x2b4_(in), x388_(in.readFloatBig()),
|
||||
x38c_(in.readFloatBig()), x390_(in), x3ac_(in.readFloatBig()), x3b0_(in), x3cc_(in.readFloatBig()), x3d0_(in),
|
||||
x3f4_(in.readFloatBig()), x3f8_(CSfxManager::TranslateSFXID(in.readUint32Big())),
|
||||
x3fc_(propCount > 47 ? CDamageInfo(in) : x48_)
|
||||
{
|
||||
}
|
||||
|
||||
CRidley::CRidley(TUniqueId uid, std::string_view name, const CEntityInfo& info,
|
||||
const zeus::CTransform& xf, CModelData&& mData, const CPatternedInfo& pInfo, const CActorParameters& actParms, CInputStream& in, u32 propCount)
|
||||
: CPatterned(ECharacter::Ridley, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Flyer, EColliderType::Zero, EBodyType::Flyer, actParms, 2)
|
||||
, x568_(in, propCount)
|
||||
const zeus::CTransform& xf, CModelData&& mData, const CPatternedInfo& pInfo,
|
||||
const CActorParameters& actParms, CInputStream& in, u32 propCount)
|
||||
: CPatterned(ECharacter::Ridley, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Flyer, EColliderType::Zero, EBodyType::Flyer, actParms, 2), x568_(in, propCount)
|
||||
{
|
||||
}
|
||||
|
||||
void CRidley::Accept(IVisitor &visitor) { visitor.Visit(this); }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,8 +65,6 @@ public:
|
||||
DEFINE_PATTERNED(Ridley)
|
||||
CRidley(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, const CActorParameters&, CInputStream&, u32);
|
||||
|
||||
void Accept(IVisitor&);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
10
Runtime/MP1/World/CTryclops.cpp
Normal file
10
Runtime/MP1/World/CTryclops.cpp
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "CTryclops.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
CTryclops::CTryclops(urde::TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
urde::CModelData&& mData, const urde::CPatternedInfo& pInfo, const urde::CActorParameters& actParms, float, float, float, float)
|
||||
: CPatterned(ECharacter::Tryclops, uid, name, EFlavorType::Zero, info, xf, std::move(mData), pInfo,
|
||||
EMovementType::Ground, EColliderType::One, EBodyType::BiPedal, actParms, 0)
|
||||
{}
|
||||
}
|
||||
14
Runtime/MP1/World/CTryclops.hpp
Normal file
14
Runtime/MP1/World/CTryclops.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "World/CPatterned.hpp"
|
||||
|
||||
namespace urde::MP1
|
||||
{
|
||||
class CTryclops : public CPatterned
|
||||
{
|
||||
public:
|
||||
DEFINE_PATTERNED(Tryclops)
|
||||
CTryclops(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
||||
const CPatternedInfo&, const CActorParameters&, float, float, float, float);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user