summaryrefslogtreecommitdiff
path: root/ZAPD/ZRoom/Commands/SetCollisionHeader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ZAPD/ZRoom/Commands/SetCollisionHeader.cpp')
-rw-r--r--ZAPD/ZRoom/Commands/SetCollisionHeader.cpp44
1 files changed, 20 insertions, 24 deletions
diff --git a/ZAPD/ZRoom/Commands/SetCollisionHeader.cpp b/ZAPD/ZRoom/Commands/SetCollisionHeader.cpp
index d08a301..1eb13f6 100644
--- a/ZAPD/ZRoom/Commands/SetCollisionHeader.cpp
+++ b/ZAPD/ZRoom/Commands/SetCollisionHeader.cpp
@@ -1,33 +1,34 @@
#include "SetCollisionHeader.h"
-#include "../../BitConverter.h"
-#include "../../StringHelper.h"
-#include "../../ZFile.h"
-#include "../ZRoom.h"
-SetCollisionHeader::SetCollisionHeader(ZRoom* nZRoom, std::vector<uint8_t> rawData,
- uint32_t rawDataIndex)
- : ZRoomCommand(nZRoom, rawData, rawDataIndex)
+#include "BitConverter.h"
+#include "StringHelper.h"
+#include "ZFile.h"
+#include "ZRoom/ZRoom.h"
+
+SetCollisionHeader::SetCollisionHeader(ZFile* nParent) : ZRoomCommand(nParent)
+{
+}
+
+void SetCollisionHeader::ParseRawData()
{
- segmentOffset = GETSEGOFFSET(BitConverter::ToInt32BE(rawData, rawDataIndex + 4));
- collisionHeader = new ZCollisionHeader(nZRoom->parent);
- collisionHeader->SetRawData(rawData);
+ ZRoomCommand::ParseRawData();
+ collisionHeader = new ZCollisionHeader(parent);
+ collisionHeader->SetRawData(parent->GetRawData());
collisionHeader->SetRawDataIndex(segmentOffset);
collisionHeader->SetName(
- StringHelper::Sprintf("%sCollisionHeader0x%06X", nZRoom->GetName().c_str(), segmentOffset));
+ StringHelper::Sprintf("%sCollisionHeader_%06X", parent->GetName().c_str(), segmentOffset));
collisionHeader->ParseRawData();
}
-std::string SetCollisionHeader::GenerateSourceCodePass1(std::string roomName, uint32_t baseAddress)
+SetCollisionHeader::~SetCollisionHeader()
{
- return StringHelper::Sprintf(
- "%s 0x00, (u32)&%sCollisionHeader0x%06X",
- ZRoomCommand::GenerateSourceCodePass1(roomName, baseAddress).c_str(),
- zRoom->GetName().c_str(), segmentOffset);
+ delete collisionHeader;
}
-std::string SetCollisionHeader::GenerateSourceCodePass2(std::string roomName, uint32_t baseAddress)
+std::string SetCollisionHeader::GetBodySourceCode() const
{
- return "";
+ std::string listName = parent->GetDeclarationPtrName(cmdArg2);
+ return StringHelper::Sprintf("SCENE_CMD_COL_HEADER(%s)", listName.c_str());
}
std::string SetCollisionHeader::GetCommandCName() const
@@ -35,12 +36,7 @@ std::string SetCollisionHeader::GetCommandCName() const
return "SCmdColHeader";
}
-std::string SetCollisionHeader::GenerateExterns() const
-{
- return "";
-}
-
RoomCommand SetCollisionHeader::GetRoomCommand() const
{
return RoomCommand::SetCollisionHeader;
-} \ No newline at end of file
+}