mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-16 00:57:02 +00:00
Bug fixes and more CStateManager imps
This commit is contained in:
@@ -56,7 +56,7 @@ void CActor::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateMana
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EScriptObjectMessage::InternalMessage12: // 34
|
||||
case EScriptObjectMessage::Deleted: // 34
|
||||
{
|
||||
RemoveEmitter();
|
||||
#if 0
|
||||
@@ -235,7 +235,7 @@ void CActor::SetCallTouch(bool callTouch) { xe5_28_callTouch = callTouch; }
|
||||
|
||||
bool CActor::GetCallTouch() const { return xe5_28_callTouch; }
|
||||
|
||||
void CActor::SetUseInSortedList(bool use) { xe5_27_useInSortedLists = use; }
|
||||
void CActor::SetUseInSortedLists(bool use) { xe5_27_useInSortedLists = use; }
|
||||
|
||||
bool CActor::GetUseInSortedLists() const { return xe5_27_useInSortedLists; }
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
void CreateShadow(bool);
|
||||
void SetCallTouch(bool callTouch);
|
||||
bool GetCallTouch() const;
|
||||
void SetUseInSortedList(bool use);
|
||||
void SetUseInSortedLists(bool use);
|
||||
bool GetUseInSortedLists() const;
|
||||
const CMaterialFilter& GetMaterialFilter() const { return x70_materialFilter; }
|
||||
void SetMaterialFilter(const CMaterialFilter& filter) { x70_materialFilter = filter; }
|
||||
|
||||
@@ -28,7 +28,7 @@ protected:
|
||||
bool x30_24_active : 1;
|
||||
bool x30_25_inGraveyard : 1;
|
||||
bool x30_26_scriptingBlocked : 1;
|
||||
bool x30_27_ : 1;
|
||||
bool x30_27_inUse : 1;
|
||||
};
|
||||
u8 _dummy = 0;
|
||||
};
|
||||
@@ -53,14 +53,16 @@ public:
|
||||
void SetIsInGraveyard(bool in) { x30_25_inGraveyard = in; }
|
||||
bool IsScriptingBlocked() const { return x30_26_scriptingBlocked; }
|
||||
void SetIsScriptingBlocked(bool blocked) { x30_26_scriptingBlocked = blocked; }
|
||||
bool IsInUse() const { return x30_27_inUse; }
|
||||
|
||||
TAreaId GetAreaId() const
|
||||
{
|
||||
if (x30_27_)
|
||||
if (x30_27_inUse)
|
||||
return x4_areaId;
|
||||
return kInvalidAreaId;
|
||||
}
|
||||
TUniqueId GetUniqueId() const {return x8_uid;}
|
||||
TEditorId GetEditorId() const {return xc_editorId;}
|
||||
void SendScriptMsgs(EScriptObjectState state, CStateManager& stateMgr, EScriptObjectMessage msg);
|
||||
};
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ void CScriptAreaAttributes::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId
|
||||
area->SetAreaAttributes(this);
|
||||
stateMgr.GetEnvFxManager()->SetFxDensity(500, x3c_envFxDensity);
|
||||
}
|
||||
else if (msg >= EScriptObjectMessage::InternalMessage12)
|
||||
else if (msg >= EScriptObjectMessage::Deleted)
|
||||
{
|
||||
CGameArea* area = stateMgr.WorldNC()->GetArea(x4_areaId);
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ void CScriptBeam::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CSt
|
||||
EMaterialTypes::Projectile, x138_damageInfo, x8_uid, x4_areaId,
|
||||
x154_projectileId, 8, false, 2));
|
||||
}
|
||||
else if (msg == EScriptObjectMessage::InternalMessage12)
|
||||
else if (msg == EScriptObjectMessage::Deleted)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ void CScriptDock::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStat
|
||||
dock->SetReferenceCount(x258_dockReferenceCount);
|
||||
}
|
||||
break;
|
||||
case EScriptObjectMessage::InternalMessage12:
|
||||
case EScriptObjectMessage::Deleted:
|
||||
CleanUp();
|
||||
break;
|
||||
case EScriptObjectMessage::InternalMessage13:
|
||||
|
||||
@@ -18,7 +18,7 @@ void CScriptRelay::Accept(IVisitor& visitor)
|
||||
void CScriptRelay::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager &stateMgr)
|
||||
{
|
||||
CEntity::AcceptScriptMsg(msg, objId, stateMgr);
|
||||
if (msg == EScriptObjectMessage::InternalMessage12)
|
||||
if (msg == EScriptObjectMessage::Deleted)
|
||||
{
|
||||
UpdateObjectRef(stateMgr);
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ void CScriptSound::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CSta
|
||||
{
|
||||
}
|
||||
break;
|
||||
case EScriptObjectMessage::InternalMessage12:
|
||||
case EScriptObjectMessage::Deleted:
|
||||
{
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -39,7 +39,7 @@ void CScriptTrigger::Think(float dt, CStateManager& mgr)
|
||||
|
||||
void CScriptTrigger::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr)
|
||||
{
|
||||
if (GetActive() && (msg == EScriptObjectMessage::Deactivate || msg == EScriptObjectMessage::InternalMessage12))
|
||||
if (GetActive() && (msg == EScriptObjectMessage::Deactivate || msg == EScriptObjectMessage::Deleted))
|
||||
{
|
||||
if (msg == EScriptObjectMessage::Deactivate)
|
||||
{
|
||||
@@ -62,7 +62,6 @@ void CScriptTrigger::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CS
|
||||
}
|
||||
|
||||
CEntity::AcceptScriptMsg(msg, uid, mgr);
|
||||
;
|
||||
}
|
||||
|
||||
CScriptTrigger::CObjectTracker* CScriptTrigger::FindObject(TUniqueId id)
|
||||
|
||||
@@ -183,8 +183,9 @@ std::string CDummyWorld::IGetDefaultAudioTrack() const { return {}; }
|
||||
int CDummyWorld::IGetAreaCount() const { return x18_areas.size(); }
|
||||
|
||||
CWorld::CWorld(IObjectStore& objStore, IFactory& resFactory, ResId mlvlId)
|
||||
: x60_objectStore(objStore), x64_resFactory(resFactory)
|
||||
: x8_mlvlId(mlvlId), x60_objectStore(objStore), x64_resFactory(resFactory)
|
||||
{
|
||||
x70_24_ = true;
|
||||
SObjectTag tag{FOURCC('MLVL'), mlvlId};
|
||||
static_cast<ProjectResourceFactoryBase&>(resFactory).LoadResourceAsync(tag, x40_loadBuf);
|
||||
}
|
||||
@@ -263,7 +264,7 @@ bool CWorld::CheckWorldComplete(CStateManager* mgr, TAreaId id, ResId mreaId)
|
||||
{
|
||||
if (!x40_loadBuf)
|
||||
return false;
|
||||
athena::io::MemoryReader r(x40_loadBuf.get(), UINT32_MAX, false);
|
||||
athena::io::MemoryReader r(x40_loadBuf.get(), UINT32_MAX);
|
||||
r.readUint32Big();
|
||||
int version = r.readUint32Big();
|
||||
xc_strgId = r.readUint32Big();
|
||||
|
||||
@@ -211,7 +211,7 @@ enum class EScriptObjectMessage
|
||||
InternalMessage09 = 31,
|
||||
InternalMessage10 = 32,
|
||||
InternalMessage11 = 33,
|
||||
InternalMessage12 = 34,
|
||||
Deleted = 34,
|
||||
InternalMessage13 = 35,
|
||||
InternalMessage14 = 36,
|
||||
InternalMessage15 = 37,
|
||||
|
||||
Reference in New Issue
Block a user