diff options
| author | Rozelette <Rozelette@users.noreply.github.com> | 2021-04-07 08:42:37 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-07 09:42:37 -0400 |
| commit | 95bf5fc0080135f20f3ab17082f79b9e539e80a5 (patch) | |
| tree | 92f5190dc89172df719d82092ae2d2fb086205ba /ZAPD/ZRoom/Commands/SetTransitionActorList.cpp | |
| parent | 19c2ea3d474de1b74781417f4b58782396c0aa50 (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.cpp | 27 |
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() |
