summaryrefslogtreecommitdiff
path: root/ZAPD/ZRoom/Commands/SetTransitionActorList.cpp
diff options
context:
space:
mode:
authorRozelette <Rozelette@users.noreply.github.com>2021-04-07 08:42:37 -0500
committerGitHub <noreply@github.com>2021-04-07 09:42:37 -0400
commit95bf5fc0080135f20f3ab17082f79b9e539e80a5 (patch)
tree92f5190dc89172df719d82092ae2d2fb086205ba /ZAPD/ZRoom/Commands/SetTransitionActorList.cpp
parent19c2ea3d474de1b74781417f4b58782396c0aa50 (diff)
Add MM scene support (#109)
* Enough to get 1 scene OK * More MM progress * Fixes for scenes. 376/401 match * Fix last of MM scenes * Add SetWorldMapVisited * Cleanup * Hopefully fix OOT build * Address feedback * Add macro for rotation flags in MM * remove Align2 * Cleanup * Conditionally use looser alignment only in MM
Diffstat (limited to 'ZAPD/ZRoom/Commands/SetTransitionActorList.cpp')
-rw-r--r--ZAPD/ZRoom/Commands/SetTransitionActorList.cpp27
1 files changed, 10 insertions, 17 deletions
diff --git a/ZAPD/ZRoom/Commands/SetTransitionActorList.cpp b/ZAPD/ZRoom/Commands/SetTransitionActorList.cpp
index f736640..0a38cac 100644
--- a/ZAPD/ZRoom/Commands/SetTransitionActorList.cpp
+++ b/ZAPD/ZRoom/Commands/SetTransitionActorList.cpp
@@ -2,13 +2,13 @@
#include "../../BitConverter.h"
#include "../../StringHelper.h"
#include "../../ZFile.h"
-#include "../ActorList.h"
+#include "../ZNames.h"
#include "../ZRoom.h"
using namespace std;
SetTransitionActorList::SetTransitionActorList(ZRoom* nZRoom, std::vector<uint8_t> rawData,
- int rawDataIndex)
+ int rawDataIndex)
: ZRoomCommand(nZRoom, rawData, rawDataIndex)
{
int numActors = rawData[rawDataIndex + 1];
@@ -42,24 +42,17 @@ string SetTransitionActorList::GenerateSourceCodePass1(string roomName, int base
{
string sourceOutput =
StringHelper::Sprintf("%s 0x%02X, (u32)%sTransitionActorList0x%06X",
- ZRoomCommand::GenerateSourceCodePass1(roomName, baseAddress).c_str(),
- transitionActors.size(), roomName.c_str(), segmentOffset);
+ ZRoomCommand::GenerateSourceCodePass1(roomName, baseAddress).c_str(),
+ transitionActors.size(), roomName.c_str(), segmentOffset);
string declaration = "";
for (TransitionActorEntry* entry : transitionActors)
{
- string actorStr = "";
-
- if (entry->actorNum < sizeof(ActorList) / sizeof(ActorList[0]))
- actorStr = ActorList[entry->actorNum];
- else
- actorStr = StringHelper::Sprintf("0x%04X", entry->actorNum);
-
- declaration += StringHelper::Sprintf("\t{ %i, %i, %i, %i, %s, %i, %i, %i, %i, 0x%04X }, \n",
- entry->frontObjectRoom, entry->frontTransitionReaction,
- entry->backObjectRoom, entry->backTransitionReaction,
- actorStr.c_str(), entry->posX, entry->posY,
- entry->posZ, entry->rotY, (uint16_t)entry->initVar);
+ declaration += StringHelper::Sprintf(" { %i, %i, %i, %i, %s, %i, %i, %i, %i, 0x%04X }, \n",
+ entry->frontObjectRoom, entry->frontTransitionReaction,
+ entry->backObjectRoom, entry->backTransitionReaction,
+ ZNames::GetActorName(entry->actorNum).c_str(), entry->posX, entry->posY,
+ entry->posZ, entry->rotY, (uint16_t)entry->initVar);
}
zRoom->parent->AddDeclarationArray(
@@ -84,7 +77,7 @@ int32_t SetTransitionActorList::GetRawDataSize()
string SetTransitionActorList::GenerateExterns()
{
return StringHelper::Sprintf("extern TransitionActorEntry %sTransitionActorList0x%06X[];\n",
- zRoom->GetName().c_str(), segmentOffset);
+ zRoom->GetName().c_str(), segmentOffset);
}
string SetTransitionActorList::GetCommandCName()