mirror of https://github.com/PrimeDecomp/prime.git
Match and link CScriptSwitch
This commit is contained in:
parent
b841756b36
commit
9cfd7f1776
|
@ -10,6 +10,7 @@
|
||||||
"editor.tabSize": 2,
|
"editor.tabSize": 2,
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
"source_location": "cpp",
|
"source_location": "cpp",
|
||||||
|
"math.h": "c"
|
||||||
},
|
},
|
||||||
"files.autoSave": "onFocusChange",
|
"files.autoSave": "onFocusChange",
|
||||||
"files.insertFinalNewline": true,
|
"files.insertFinalNewline": true,
|
||||||
|
|
1
Makefile
1
Makefile
|
@ -151,6 +151,7 @@ $(DTK_FILES): MWCC_VERSION := 1.2.5
|
||||||
$(DTK_FILES): CFLAGS := $(CFLAGS_BASE)
|
$(DTK_FILES): CFLAGS := $(CFLAGS_BASE)
|
||||||
$(SI_FILES): MWCC_VERSION := 1.2.5
|
$(SI_FILES): MWCC_VERSION := 1.2.5
|
||||||
$(SI_FILES): CFLAGS := $(CFLAGS_BASE)
|
$(SI_FILES): CFLAGS := $(CFLAGS_BASE)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Recipes
|
# Recipes
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
|
@ -32,6 +32,7 @@ COMPLETE_OBJECTS = [
|
||||||
"MetroidPrime/HUD/CHUDMemoParms",
|
"MetroidPrime/HUD/CHUDMemoParms",
|
||||||
"MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint",
|
"MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint",
|
||||||
"MetroidPrime/ScriptObjects/CScriptPickup",
|
"MetroidPrime/ScriptObjects/CScriptPickup",
|
||||||
|
"MetroidPrime/ScriptObjects/CScriptSwitch",
|
||||||
"Weapons/IWeaponRenderer",
|
"Weapons/IWeaponRenderer",
|
||||||
"Collision/CMaterialList",
|
"Collision/CMaterialList",
|
||||||
"Collision/CMaterialFilter",
|
"Collision/CMaterialFilter",
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef __CSCRIPTSWITCH_HPP__
|
||||||
|
#define __CSCRIPTSWITCH_HPP__
|
||||||
|
|
||||||
|
#include "MetroidPrime/CEntity.hpp"
|
||||||
|
|
||||||
|
class CScriptSwitch : public CEntity {
|
||||||
|
public:
|
||||||
|
CScriptSwitch(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, bool, bool, bool);
|
||||||
|
|
||||||
|
void Accept(IVisitor& visitor);
|
||||||
|
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr);
|
||||||
|
~CScriptSwitch();
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
u8 mOpened;
|
||||||
|
u8 mCloseOnOpened;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __CSCRIPTSWITCH_HPP__
|
|
@ -254,7 +254,7 @@ METROIDPRIME :=\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CJellyZap.o\
|
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CJellyZap.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptControllerAction.o\
|
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptControllerAction.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/Weapons/GunController/CGunMotion.o\
|
$(BUILD_DIR)/asm/MetroidPrime/Weapons/GunController/CGunMotion.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptSwitch.o\
|
$(BUILD_DIR)/src/MetroidPrime/ScriptObjects/CScriptSwitch.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSIdle.o\
|
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSIdle.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSFlinch.o\
|
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSFlinch.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSAim.o\
|
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSAim.o\
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
#include "MetroidPrime/ScriptObjects/CScriptSwitch.hpp"
|
||||||
|
|
||||||
|
CScriptSwitch::CScriptSwitch(TUniqueId uid, const rstl::string& name, const CEntityInfo& info,
|
||||||
|
bool active, bool opened, bool closeOnOpened)
|
||||||
|
: CEntity(uid, info, active, name) {
|
||||||
|
mOpened = opened;
|
||||||
|
mCloseOnOpened = closeOnOpened;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CScriptSwitch::Accept(IVisitor& visitor) { visitor.Visit(*this); }
|
||||||
|
|
||||||
|
void CScriptSwitch::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager& mgr) {
|
||||||
|
if (GetActive()) {
|
||||||
|
switch (msg) {
|
||||||
|
case kSM_Open:
|
||||||
|
mOpened = true;
|
||||||
|
break;
|
||||||
|
case kSM_Close:
|
||||||
|
mOpened = false;
|
||||||
|
break;
|
||||||
|
case kSM_SetToZero: {
|
||||||
|
if (mOpened) {
|
||||||
|
SendScriptMsgs(kSS_Open, mgr, kSM_None);
|
||||||
|
if (mCloseOnOpened)
|
||||||
|
mOpened = false;
|
||||||
|
} else {
|
||||||
|
SendScriptMsgs(kSS_Closed, mgr, kSM_None);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CEntity::AcceptScriptMsg(msg, objId, mgr);
|
||||||
|
}
|
||||||
|
|
||||||
|
CScriptSwitch::~CScriptSwitch() {}
|
Loading…
Reference in New Issue