From 58c948b8c4734bd7735edf918cae0af39771647c Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 2 Mar 2025 17:36:29 +0000 Subject: [PATCH 01/17] name flag fields in structs --- include/manager/flagAndOperatorManager.h | 4 ++-- include/manager/manager29.h | 2 +- include/manager/miscManager.h | 4 ++-- include/manager/templeOfDropletsManager.h | 4 ++-- include/object/itemOnGround.h | 2 +- include/object/pushableFurniture.h | 2 +- src/enemy/businessScrub.c | 6 ++--- src/enemy/eyegore.c | 6 ++--- src/enemy/torchTrap.c | 20 ++++++++-------- src/manager/fallingItemManager.c | 2 +- src/manager/flagAndOperatorManager.c | 6 ++--- src/manager/manager29.c | 4 ++-- src/manager/miscManager.c | 28 +++++++++++------------ src/manager/templeOfDropletsManager.c | 24 +++++++++---------- src/object/bigIceBlock.c | 8 +++---- src/object/bigVortex.c | 6 ++--- src/object/book.c | 6 ++--- src/object/bossDoor.c | 12 +++++----- src/object/button.c | 8 +++---- src/object/chestSpawner.c | 12 +++++----- src/object/doubleBookshelf.c | 8 +++---- src/object/enemyItem.c | 8 +++---- src/object/fairy.c | 8 +++---- src/object/fireplace.c | 6 ++--- src/object/flame.c | 6 ++--- src/object/heartContainer.c | 10 ++++---- src/object/hiddenLadderDown.c | 6 ++--- src/object/itemOnGround.c | 22 +++++++++--------- src/object/jailBars.c | 6 ++--- src/object/lightDoor.c | 4 ++-- src/object/lightableSwitch.c | 20 ++++++++-------- src/object/litArea.c | 4 ++-- src/object/lockedDoor.c | 24 +++++++++---------- src/object/mask.c | 8 +++---- src/object/metalDoor.c | 8 +++---- src/object/minecartDoor.c | 6 ++--- src/object/minishPortalStone.c | 6 ++--- src/object/objectA.c | 6 ++--- src/object/objectA8.c | 8 +++---- src/object/pinwheel.c | 10 ++++---- src/object/pot.c | 8 +++---- src/object/pushableFurniture.c | 4 ++-- src/object/railtrack.c | 18 +++++++-------- src/object/smallIceBlock.c | 10 ++++---- src/object/treeHidingPortal.c | 6 ++--- src/object/unusedSkull.c | 8 +++---- src/object/warpPoint.c | 6 ++--- src/objectUtils.c | 2 +- src/projectile/spiderWeb.c | 6 ++--- 49 files changed, 209 insertions(+), 209 deletions(-) diff --git a/include/manager/flagAndOperatorManager.h b/include/manager/flagAndOperatorManager.h index f41a129a..352cbf8f 100644 --- a/include/manager/flagAndOperatorManager.h +++ b/include/manager/flagAndOperatorManager.h @@ -6,8 +6,8 @@ typedef struct FlagAndOperatorManager { Manager base; u8 unk_20[0x1C]; - u16 unk_3c; - u16 unk_3e; + u16 setFlag; + u16 checkFlags; } FlagAndOperatorManager; #endif // FLAGANDOPERATORMANAGER_H diff --git a/include/manager/manager29.h b/include/manager/manager29.h index c7d99b69..da4c96b2 100644 --- a/include/manager/manager29.h +++ b/include/manager/manager29.h @@ -16,7 +16,7 @@ typedef struct { s16 unk_38; u16 unk_3a; u16 unk_3c; - u16 unk_3e; + u16 flag; } Manager29; #endif // MANAGER29_H diff --git a/include/manager/miscManager.h b/include/manager/miscManager.h index 44047584..a126937f 100644 --- a/include/manager/miscManager.h +++ b/include/manager/miscManager.h @@ -8,8 +8,8 @@ typedef struct { u8 unk_20[0x18]; s16 x; s16 y; - u16 unk_3c; - u16 flags; + u16 flag1; + u16 flag2; } MiscManager; #endif // MISCMANAGER_H diff --git a/include/manager/templeOfDropletsManager.h b/include/manager/templeOfDropletsManager.h index da1e8f66..43355eee 100644 --- a/include/manager/templeOfDropletsManager.h +++ b/include/manager/templeOfDropletsManager.h @@ -18,8 +18,8 @@ typedef struct { s16 unk_36; s16 unk_38; s16 unk_3a; - u16 unk_3c; - u16 unk_3e; // used + u16 flag; + u16 localFlag; // used } TempleOfDropletsManager; #endif // TEMPLEOFDROPLETSMANAGER_H diff --git a/include/object/itemOnGround.h b/include/object/itemOnGround.h index 47ab89a8..151dcc28 100644 --- a/include/object/itemOnGround.h +++ b/include/object/itemOnGround.h @@ -12,7 +12,7 @@ typedef struct { /*0x6c*/ u16 unk_6c; /*0x6e*/ u16 unk_6e; /*0x70*/ u8 unused2[22]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } ItemOnGroundEntity; #endif // ITEMONGROUND_H diff --git a/include/object/pushableFurniture.h b/include/object/pushableFurniture.h index db693183..c17ff6ce 100644 --- a/include/object/pushableFurniture.h +++ b/include/object/pushableFurniture.h @@ -19,7 +19,7 @@ typedef struct { /*0x82*/ u8 unk_82; /*0x83*/ u8 unk_83; /*0x84*/ u8 unk_84[0x2]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } PushableFurnitureEntity; #endif // PUSHABLEFURNITURE_H diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c index 3f2c5c74..71d1e578 100644 --- a/src/enemy/businessScrub.c +++ b/src/enemy/businessScrub.c @@ -37,7 +37,7 @@ typedef struct { /*0x80*/ u8 unk_80; /*0x81*/ u8 unk_81; /*0x82*/ u8 unused2[4]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } BusinessScrubEntity; void sub_08028E9C(BusinessScrubEntity*); @@ -95,7 +95,7 @@ void BusinessScrub_Action0(BusinessScrubEntity* this) { super->animationState = 0; super->direction = DirectionSouth; sub_08028E9C(this); - if ((*(u8*)this->unk_7c & 1) || CheckFlags(this->unk_86)) { + if ((*(u8*)this->unk_7c & 1) || CheckFlags(this->flag)) { super->action = 4; super->timer = 120; super->spritePriority.b1 = 1; @@ -227,7 +227,7 @@ void BusinessScrub_Action3(BusinessScrubEntity* this) { iVar1->z.HALF.HI -= 12; SetEntityPriority(iVar1, PRIO_MESSAGE); } - SetFlag(this->unk_86); + SetFlag(this->flag); sub_0802925C(this); } break; diff --git a/src/enemy/eyegore.c b/src/enemy/eyegore.c index 03b1c90e..cb7d8067 100644 --- a/src/enemy/eyegore.c +++ b/src/enemy/eyegore.c @@ -22,7 +22,7 @@ typedef struct { /*0x79*/ u8 unk_79; /*0x7a*/ u8 unk_7a; /*0x7b*/ u8 unk_7b; - /*0x7c*/ u16 unk_7c; + /*0x7c*/ u16 flag; /*0x7e*/ u8 unk_7e; /*0x7f*/ u8 unk_7f; /*0x80*/ u16 tileIndex1; @@ -152,7 +152,7 @@ void Eyegore_Init(EyegoreEntity* this) { this->unk_76 = super->y.HALF.HI; this->unk_7e = 0x3c; sub_08030F00(this); - if (this->unk_7c != 0) { + if (this->flag != 0) { super->flags &= ~ENT_COLLIDE; InitializeAnimation(super, 10); } else { @@ -161,7 +161,7 @@ void Eyegore_Init(EyegoreEntity* this) { } void Eyegore_Action1(EyegoreEntity* this) { - if ((this->unk_7c != 0) && CheckFlags(this->unk_7c)) { + if ((this->flag != 0) && CheckFlags(this->flag)) { sub_08031320(this); } } diff --git a/src/enemy/torchTrap.c b/src/enemy/torchTrap.c index e34e2caa..0e86c296 100644 --- a/src/enemy/torchTrap.c +++ b/src/enemy/torchTrap.c @@ -18,9 +18,9 @@ typedef struct { u16 filler2; u16 unk_78; u16 projectileTimer; - u16 unk_7c; + u16 flag1; u8 filler3[0x2]; - u16 unk_80; + u16 flag2; u16 unk_82; u16 unk_84; } TorchTrapEntity; @@ -77,35 +77,35 @@ void sub_0803CF38(TorchTrapEntity* this) { void sub_0803CF94(TorchTrapEntity* this) { if (GetTileTypeAtTilePos(this->tilePos, super->collisionLayer) == TILE_TYPE_118) { - this->unk_80 = 0; + this->flag2 = 0; TorchTrap_Reset(this); - } else if (this->unk_7c && sub_0803CFD8(this)) { + } else if (this->flag1 && sub_0803CFD8(this)) { TorchTrap_Reset(this); } } bool32 sub_0803CFD8(TorchTrapEntity* this) { u32 result; - if (this->unk_7c == 0) { + if (this->flag1 == 0) { result = TRUE; } else { - result = CheckFlags(this->unk_7c); + result = CheckFlags(this->flag1); } return result; } bool32 sub_0803CFF0(TorchTrapEntity* this) { u32 result; - if (this->unk_80 != 0) { - if (this->unk_80 == this->unk_7c) { - u32 val = CheckFlags(this->unk_80); + if (this->flag2 != 0) { + if (this->flag2 == this->flag1) { + u32 val = CheckFlags(this->flag2); result = FALSE; if (val == 0) { result = TRUE; } return result; } else { - return CheckFlags(this->unk_80); + return CheckFlags(this->flag2); } } diff --git a/src/manager/fallingItemManager.c b/src/manager/fallingItemManager.c index 740c91a3..951cf83c 100644 --- a/src/manager/fallingItemManager.c +++ b/src/manager/fallingItemManager.c @@ -40,7 +40,7 @@ void FallingItemManager_Action1(FallingItemManager* this) { object->base.collisionLayer = this->field_0x36; object->base.x.HALF.HI = this->field_0x38 + gRoomControls.origin_x; object->base.y.HALF.HI = this->field_0x3a + gRoomControls.origin_y; - object->unk_86 = this->field_0x3c; + object->flag = this->field_0x3c; } DeleteThisEntity(); } diff --git a/src/manager/flagAndOperatorManager.c b/src/manager/flagAndOperatorManager.c index 7439830a..6236ef91 100644 --- a/src/manager/flagAndOperatorManager.c +++ b/src/manager/flagAndOperatorManager.c @@ -10,12 +10,12 @@ void FlagAndOperatorManager_Main(FlagAndOperatorManager* this) { if (super->action == 0) { super->action = 1; - if (CheckFlags(this->unk_3c)) { + if (CheckFlags(this->setFlag)) { DeleteThisEntity(); } } else { - if (CheckFlags(this->unk_3e)) { - SetFlag(this->unk_3c); + if (CheckFlags(this->checkFlags)) { + SetFlag(this->setFlag); DeleteThisEntity(); } } diff --git a/src/manager/manager29.c b/src/manager/manager29.c index 133d3944..bd079e1c 100644 --- a/src/manager/manager29.c +++ b/src/manager/manager29.c @@ -16,12 +16,12 @@ void sub_0805CC3C(Manager29* this); void Manager29_Main(Manager29* this) { if (super->action == 0) { sub_0805CBD0(this); - if (CheckFlags(this->unk_3e)) { + if (CheckFlags(this->flag)) { sub_0805CC3C(this); DeleteManager(this); } } else if (sub_0805CF80(this)) { - SetFlag(this->unk_3e); + SetFlag(this->flag); DeleteManager(this); } } diff --git a/src/manager/miscManager.c b/src/manager/miscManager.c index 1adf595d..ed284275 100644 --- a/src/manager/miscManager.c +++ b/src/manager/miscManager.c @@ -146,12 +146,12 @@ void MiscManager_Type1(MiscManager* this) { super->subAction = 8; super->subtimer = 2; } - if (CheckFlags(this->flags)) { + if (CheckFlags(this->flag2)) { DeleteManager(super); } break; case 1: - if (CheckFlags(this->flags)) { + if (CheckFlags(this->flag2)) { super->action = 2; super->timer = 120; RequestPriorityDuration((Entity*)this, 240); @@ -172,7 +172,7 @@ void MiscManager_Type1(MiscManager* this) { } break; default: - SetFlag(this->flags); + SetFlag(this->flag2); SetPlayerControl(1); DeleteThisEntity(); } @@ -236,14 +236,14 @@ void MiscManager_Type5(MiscManager* this) { } break; case 0: - if (CheckFlags(this->flags)) { + if (CheckFlags(this->flag2)) { DeleteThisEntity(); } super->action = 1; SetTileType(TILE_TYPE_869, TILE_LOCAL(this->x, this->y), super->type2); break; case 1: - if (CheckFlags(this->flags)) { + if (CheckFlags(this->flag2)) { RequestPriorityDuration((Entity*)this, 75); super->timer = 45; super->action++; @@ -254,14 +254,14 @@ void MiscManager_Type5(MiscManager* this) { void MiscManager_Type6(MiscManager* this) { if (super->action == 0) { super->action = 1; - super->type2 = CheckFlags(this->flags); + super->type2 = CheckFlags(this->flag2); if (super->type2) { gRoomVars.lightLevel = this->y; } else { gRoomVars.lightLevel = this->x; } } else { - u32 tmp = CheckFlags(this->flags); + u32 tmp = CheckFlags(this->flag2); if (super->type2 != tmp) { super->type2 = tmp; if (tmp) { @@ -304,12 +304,12 @@ void MiscManager_Type8(MiscManager* this) { void MiscManager_Type9(MiscManager* this) { if (super->action == 0) { super->action = 1; - if (CheckFlags(this->flags)) { + if (CheckFlags(this->flag2)) { sub_080592EC(this); DeleteThisEntity(); } } else { - if (CheckFlags(this->flags)) { + if (CheckFlags(this->flag2)) { sub_080592EC(this); sub_0805930C(this); #ifndef EU @@ -346,8 +346,8 @@ void SetDirtTile(u32 tilePos) { void MiscManager_TypeA(MiscManager* this) { super->action = 1; - if (this->unk_3c == gTextRender.curToken.textIndex) { - SetFlag(this->flags); + if (this->flag1 == gTextRender.curToken.textIndex) { + SetFlag(this->flag2); DeleteThisEntity(); } } @@ -372,10 +372,10 @@ bool32 sub_080593CC(MiscManager* this) { void MiscManager_TypeC(MiscManager* this) { Entity* tmp; - if (CheckFlags(this->flags)) { + if (CheckFlags(this->flag2)) { DeleteThisEntity(); } - if (!CheckFlags(this->unk_3c)) + if (!CheckFlags(this->flag1)) return; tmp = CreateObject(SPECIAL_FX, FX_BIG_EXPLOSION, 0); if (!tmp) @@ -388,7 +388,7 @@ void MiscManager_TypeC(MiscManager* this) { } void MiscManager_TypeD(MiscManager* this) { - if (!CheckFlags(this->flags)) { + if (!CheckFlags(this->flag2)) { SetPlayerControl(3); if (gRoomControls.reload_flags) return; diff --git a/src/manager/templeOfDropletsManager.c b/src/manager/templeOfDropletsManager.c index 19d8f07a..213487db 100644 --- a/src/manager/templeOfDropletsManager.c +++ b/src/manager/templeOfDropletsManager.c @@ -60,7 +60,7 @@ void TempleOfDropletsManager_Main(TempleOfDropletsManager* this) { void TempleOfDropletsManager_Type0(TempleOfDropletsManager* this) { if (super->action == 0) { sub_0805A89C(this); - if (!CheckLocalFlag(this->unk_3e)) { + if (!CheckLocalFlag(this->localFlag)) { this->unk_23 = 1; } else { this->unk_23 = 2; @@ -83,7 +83,7 @@ void TempleOfDropletsManager_Type1(TempleOfDropletsManager* this) { sub_0805A89C(this); this->unk_23 = 1; sub_0805AAF0(1); - if (!CheckLocalFlag(this->unk_3e)) { + if (!CheckLocalFlag(this->localFlag)) { super->action = 1; gScreen.lcd.displayControl &= 0xB7FF; } else { @@ -144,12 +144,12 @@ void TempleOfDropletsManager_Type2(TempleOfDropletsManager* this) { this->unk_23 = 1; } sub_0805AAF0(this->unk_23); - if (!CheckLocalFlag(this->unk_3e)) { - ClearFlag(this->unk_3c); + if (!CheckLocalFlag(this->localFlag)) { + ClearFlag(this->flag); super->action = 1; gScreen.lcd.displayControl &= ~(DISPCNT_WIN1_ON | DISPCNT_BG3_ON); } else { - SetFlag(this->unk_3c); + SetFlag(this->flag); super->action = 3; gScreen.lcd.displayControl |= DISPCNT_WIN1_ON | DISPCNT_BG3_ON; } @@ -162,7 +162,7 @@ void TempleOfDropletsManager_Type2(TempleOfDropletsManager* this) { void sub_0805A4CC(TempleOfDropletsManager*, u32); void TempleOfDropletsManager_Type1_Action1(TempleOfDropletsManager* this) { - if (CheckLocalFlag(this->unk_3e)) { + if (CheckLocalFlag(this->localFlag)) { super->action = 2; sub_0805A4CC(this, 0); } @@ -171,12 +171,12 @@ void TempleOfDropletsManager_Type1_Action1(TempleOfDropletsManager* this) { void TempleOfDropletsManager_Type2_Action2(TempleOfDropletsManager* this) { if (super->subAction != 0) { super->action = 3; - SetFlag(this->unk_3c); + SetFlag(this->flag); } } void TempleOfDropletsManager_Type2_Action3(TempleOfDropletsManager* this) { - if (!CheckLocalFlag(this->unk_3e)) { + if (!CheckLocalFlag(this->localFlag)) { super->action = 4; sub_0805A4CC(this, 1); } @@ -185,7 +185,7 @@ void TempleOfDropletsManager_Type2_Action3(TempleOfDropletsManager* this) { void TempleOfDropletsManager_Type2_Action4(TempleOfDropletsManager* this) { if (super->subAction != 0) { super->action = 1; - ClearFlag(this->unk_3c); + ClearFlag(this->flag); } } @@ -363,7 +363,7 @@ void TempleOfDropletsManager_Type6_Action3(TempleOfDropletsManager* this) { void TempleOfDropletsManager_Type7(TempleOfDropletsManager* this) { switch (super->action) { case 0: - if (CheckLocalFlag(this->unk_3e)) { + if (CheckLocalFlag(this->localFlag)) { super->action = 1; } else { super->action = 2; @@ -373,7 +373,7 @@ void TempleOfDropletsManager_Type7(TempleOfDropletsManager* this) { SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); break; case 1: - if (CheckLocalFlag(this->unk_3e)) + if (CheckLocalFlag(this->localFlag)) break; super->action = 2; sub_0805A4CC(this, 4); @@ -384,7 +384,7 @@ void TempleOfDropletsManager_Type7(TempleOfDropletsManager* this) { } break; case 3: - if (!CheckLocalFlag(this->unk_3e)) + if (!CheckLocalFlag(this->localFlag)) break; super->action = 4; sub_0805A4CC(this, 4); diff --git a/src/object/bigIceBlock.c b/src/object/bigIceBlock.c index dd204c78..7cd09aa6 100644 --- a/src/object/bigIceBlock.c +++ b/src/object/bigIceBlock.c @@ -16,7 +16,7 @@ typedef struct { /*0x6c*/ u16 unk_6c; /*0x6e*/ u16 unk_6e; /*0x70*/ u8 unk_70[0x16]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } BigIceBlockEntity; extern void (*const BigIceBlock_Actions[])(BigIceBlockEntity*); @@ -40,7 +40,7 @@ void BigIceBlock(BigIceBlockEntity* this) { void BigIceBlock_Init(BigIceBlockEntity* this) { Entity* obj; - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { DeleteThisEntity(); } super->action = 1; @@ -88,9 +88,9 @@ void BigIceBlock_Action2(BigIceBlockEntity* this) { SetAffineInfo(super, 0x100, tmp, 0); if (super->type != 1) { if (super->type != 2) { - SetFlag(this->unk_86); + SetFlag(this->flag); } else { - CreateGroundItemWithFlags(super, ITEM_SMALL_KEY, 0, this->unk_86); + CreateGroundItemWithFlags(super, ITEM_SMALL_KEY, 0, this->flag); } } super->action = 3; diff --git a/src/object/bigVortex.c b/src/object/bigVortex.c index 91b510b9..6ee294ac 100644 --- a/src/object/bigVortex.c +++ b/src/object/bigVortex.c @@ -12,7 +12,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unused1[30]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } BigVortexEntity; void sub_08098E3C(Entity*); @@ -39,7 +39,7 @@ void BigVortex_Init(BigVortexEntity* this) { super->action = 1; super->z.HALF.HI = -0x10; - temp = this->unk_86; + temp = this->flag; if ((temp != 0) && !CheckFlags(temp)) { super->action = 1; @@ -55,7 +55,7 @@ void BigVortex_Init(BigVortexEntity* this) { void BigVortex_Action1(BigVortexEntity* this) { Entity* fx; - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { super->action = 2; super->timer = 45; fx = CreateFx(super, FX_BIG_EXPLOSION2, 0); diff --git a/src/object/book.c b/src/object/book.c index a031da2d..9903ae37 100644 --- a/src/object/book.c +++ b/src/object/book.c @@ -16,7 +16,7 @@ typedef struct { /*0x68*/ u8 unused1[24]; /*0x80*/ u8 unk_80; /*0x81*/ u8 unused2[5]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } BookEntity; extern void (*const Book_Actions[])(BookEntity*); @@ -46,7 +46,7 @@ void Book_Init(BookEntity* this) { } super->spriteOffsetY = 3; - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { if (super->type2 == 0) { super->y.HALF.HI += 48; } @@ -145,7 +145,7 @@ void Book_Action3(BookEntity* this) { super->action = 4; super->spritePriority.b0 = 4; - SetFlag(this->unk_86); + SetFlag(this->flag); fx = CreateFx(super, FX_DEATH, 0); if (fx != NULL) { diff --git a/src/object/bossDoor.c b/src/object/bossDoor.c index fab846b9..4c5084e8 100644 --- a/src/object/bossDoor.c +++ b/src/object/bossDoor.c @@ -20,8 +20,8 @@ typedef struct { /*0x7a*/ u16 unk_7a; /*0x7c*/ u16 unk_7c; /*0x7e*/ u8 unk_7e[6]; - /*0x84*/ u16 unk_84; - /*0x86*/ u16 unk_86; + /*0x84*/ u16 flags2; + /*0x86*/ u16 flag; } BossDoorEntity; extern bool32 gUnk_02036BB8; @@ -47,10 +47,10 @@ void BossDoor(BossDoorEntity* this) { } void BossDoor_Init(BossDoorEntity* this) { - if ((this->unk_84 != 0xffff) && CheckFlags(this->unk_84)) { + if ((this->flags2 != 0xffff) && CheckFlags(this->flags2)) { DeleteThisEntity(); } - if ((this->unk_86 != BEGIN) && CheckFlags(this->unk_86)) { + if ((this->flag != BEGIN) && CheckFlags(this->flag)) { DeleteThisEntity(); } super->type2 = super->type >> 2; @@ -86,7 +86,7 @@ void BossDoor_Action1(BossDoorEntity* this) { if (super->interactType != INTERACTION_NONE) { super->action = 2; RemoveInteractableObject(super); - SetFlag(this->unk_86); + SetFlag(this->flag); } } @@ -155,7 +155,7 @@ void BossDoor_Action5(BossDoorEntity* this) { } void BossDoor_Action6(BossDoorEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { super->action = 2; } } diff --git a/src/object/button.c b/src/object/button.c index d72e176f..ace84517 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -16,7 +16,7 @@ typedef struct { /*0x74*/ u16 tilePos; /*0x76*/ u8 unused2[14]; /*0x84*/ u16 unk_84; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } ButtonEntity; void Button_Init(ButtonEntity* this); @@ -45,7 +45,7 @@ void Button_Init(ButtonEntity* this) { this->tilePos = (((super->x.HALF.HI - gRoomControls.origin_x) >> 4) & 0x3F) | ((((super->y.HALF.HI - gRoomControls.origin_y) >> 4) & 0x3F) << 6); this->unk_72 = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); - if (super->type == 0 && CheckFlags(this->unk_86)) { + if (super->type == 0 && CheckFlags(this->flag)) { super->action = 5; SetTileType(TILE_TYPE_122, this->tilePos, super->collisionLayer); } else { @@ -114,7 +114,7 @@ void Button_Action4(ButtonEntity* this) { } } else { super->action = 2; - ClearFlag(this->unk_86); + ClearFlag(this->flag); SetTileType(TILE_TYPE_119, this->tilePos, super->collisionLayer); SoundReq(SFX_BUTTON_PRESS); } @@ -276,7 +276,7 @@ bool32 sub_08081F7C(ButtonEntity* this, u32 tileType) { super->child->spriteOffsetY = -4; } else { if (super->timer == 6) { - SetFlag(this->unk_86); + SetFlag(this->flag); SetTileType(tileType, this->tilePos, super->collisionLayer); sub_08081F24(super); SoundReq(SFX_BUTTON_PRESS); diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index 7ea08cda..702b87c1 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -17,7 +17,7 @@ typedef struct { /*0x70*/ u16 tilePos; /*0x72*/ u16 unk_72; /*0x74*/ u8 unk_74[0x12]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } ChestSpawnerEntity; extern const Hitbox gUnk_0811F8A8; @@ -84,7 +84,7 @@ void ChestSpawner_Type2Init(ChestSpawnerEntity* this) { sub_080842D8(this); InitializeAnimation(super, 1); } else { - if (CheckFlags(this->unk_86) || super->type == 4) { + if (CheckFlags(this->flag) || super->type == 4) { sub_08083E20(this); } else { super->action = 1; @@ -94,7 +94,7 @@ void ChestSpawner_Type2Init(ChestSpawnerEntity* this) { } void ChestSpawner_Type2Action1(ChestSpawnerEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { gScreen.controls.layerFXControl = 0xf40; gScreen.controls.alphaBlend = 0x1000; gPauseMenuOptions.disabled = 1; @@ -235,7 +235,7 @@ void ChestSpawner_Type0Init(ChestSpawnerEntity* this) { if (GetTileTypeAtEntity(super) == TILE_TYPE_116) { DeleteThisEntity(); } - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { super->action = 3; sub_0807B7D8(0x73, this->tilePos, super->collisionLayer); if ((super->type & 1) == 0) { @@ -245,7 +245,7 @@ void ChestSpawner_Type0Init(ChestSpawnerEntity* this) { } void ChestSpawner_Type0Action1(ChestSpawnerEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { super->action = 2; } } @@ -274,7 +274,7 @@ void ChestSpawner_Type0Action3(ChestSpawnerEntity* this) { if (GetTileTypeAtEntity(super) == TILE_TYPE_116) { DeleteEntity(super); } else { - if (!CheckFlags(this->unk_86)) { + if (!CheckFlags(this->flag)) { if (this->unk_72 != 0) { this->unk_72--; } else { diff --git a/src/object/doubleBookshelf.c b/src/object/doubleBookshelf.c index 33519589..c5a7386c 100644 --- a/src/object/doubleBookshelf.c +++ b/src/object/doubleBookshelf.c @@ -15,7 +15,7 @@ typedef struct { /*0x82*/ u16 unk_82; /*0x84*/ u8 unk_84; /*0x85*/ u8 unk_85; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } DoubleBookshelfEntity; void sub_0809B334(DoubleBookshelfEntity*); @@ -59,7 +59,7 @@ void DoubleBookshelf_Init(DoubleBookshelfEntity* this) { if (child != NULL) { (child->base).parent = super; super->child = &child->base; - if (CheckFlags(this->unk_86) == 0) { + if (CheckFlags(this->flag) == 0) { PositionRelative(super, &child->base, 0x100000, 0x100000); child->unk_84 = 0; } else { @@ -118,7 +118,7 @@ void sub_0809B0B0(DoubleBookshelfEntity* this) { SetTile(SPECIAL_TILE_130, tilePos + 3, layer); SetTile(SPECIAL_TILE_34, tilePos + 2, layer); SetTile(SPECIAL_TILE_95, tilePos, layer); - SetFlag(((DoubleBookshelfEntity*)super->parent)->unk_86); + SetFlag(((DoubleBookshelfEntity*)super->parent)->flag); break; case 3: this->unk_84 = 0; @@ -126,7 +126,7 @@ void sub_0809B0B0(DoubleBookshelfEntity* this) { SetTile(SPECIAL_TILE_130, tilePos - 1, layer); SetTile(SPECIAL_TILE_34, tilePos, layer); SetTile(SPECIAL_TILE_95, tilePos + 2, layer); - ClearFlag(((DoubleBookshelfEntity*)super->parent)->unk_86); + ClearFlag(((DoubleBookshelfEntity*)super->parent)->flag); break; case 4: SetTile(SPECIAL_TILE_34, tilePos, layer); diff --git a/src/object/enemyItem.c b/src/object/enemyItem.c index 16cae432..ac39921b 100644 --- a/src/object/enemyItem.c +++ b/src/object/enemyItem.c @@ -10,7 +10,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unk_68[0x1e]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } EnemyItemEntity; void sub_080A2500(EnemyItemEntity*); @@ -21,7 +21,7 @@ void EnemyItem(EnemyItemEntity* this) { Entity* entity; LinkedList* list; - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { sub_080A2500(this); } if (super->action == 0) { @@ -63,7 +63,7 @@ void sub_080A2508(EnemyItemEntity* this) { entity = (EnemyItemEntity*)CreateObjectWithParent(super, GROUND_ITEM, super->type, 0); if (entity != NULL) { (entity->base).timer = 5; - entity->unk_86 = this->unk_86; + entity->flag = this->flag; } sub_080A2500(this); } @@ -74,7 +74,7 @@ void sub_080A2534(EnemyItemEntity* this) { entity = (EnemyItemEntity*)CreateObjectWithParent(super, GROUND_ITEM, super->type, 0); if (entity != NULL) { (entity->base).timer = 4; - entity->unk_86 = this->unk_86; + entity->flag = this->flag; } sub_080A2500(this); } diff --git a/src/object/fairy.c b/src/object/fairy.c index 0f2eb209..c544d561 100644 --- a/src/object/fairy.c +++ b/src/object/fairy.c @@ -33,7 +33,7 @@ void Fairy_SubAction0(FairyEntity*); void Fairy_SubAction1(FairyEntity*); void Fairy_SubAction2(FairyEntity*); -extern void sub_08081404(Entity*, u32); +extern void ItemOnGround_SetFlagAndDelete(Entity*, u32); void Fairy(FairyEntity* this) { static void (*const Fairy_Actions[])(FairyEntity*) = { @@ -167,7 +167,7 @@ void Fairy_Action2(FairyEntity* this) { ProcessMovement1(super); if ((AnyPrioritySet() == 0) && (super->type2 == 0)) { if (--this->unk_78 == 0) { - sub_08081404(super, 0); + ItemOnGround_SetFlagAndDelete(super, FALSE); } if (this->unk_78 < 0x78) { super->spriteSettings.draw ^= 1; @@ -177,7 +177,7 @@ void Fairy_Action2(FairyEntity* this) { void Fairy_Action3(FairyEntity* this) { if (*(u16*)&super->child->kind != 0x308) { - sub_08081404(super, 0); + ItemOnGround_SetFlagAndDelete(super, FALSE); } else { CopyPosition(super->child, super); super->z.HALF.HI--; @@ -214,7 +214,7 @@ void Fairy_Action4(FairyEntity* this) { if (--super->subtimer == 0) { super->subtimer = 6; if (--super->spriteOffsetY < -0x16) { - sub_08081404(super, 1); + ItemOnGround_SetFlagAndDelete(super, TRUE); } } if (super->spriteOffsetY < -0x11) { diff --git a/src/object/fireplace.c b/src/object/fireplace.c index 4fd32aec..1bf536cf 100644 --- a/src/object/fireplace.c +++ b/src/object/fireplace.c @@ -11,7 +11,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unused1[30]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } FireplaceEntity; void Fireplace_Action1(FireplaceEntity* this); @@ -31,7 +31,7 @@ void Fireplace_Init(FireplaceEntity* this) { super->action = 1; super->spriteSettings.draw = 1; super->speed = 0x80; - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { sub_0809B7DC(this); DeleteThisEntity(); } else { @@ -44,7 +44,7 @@ void Fireplace_Init(FireplaceEntity* this) { void Fireplace_Action1(FireplaceEntity* this) { sub_0809B7C0(this); if (super->timer) { - SetFlag(this->unk_86); + SetFlag(this->flag); DeleteThisEntity(); } } diff --git a/src/object/flame.c b/src/object/flame.c index 5b1b48a7..d3d508f1 100644 --- a/src/object/flame.c +++ b/src/object/flame.c @@ -12,7 +12,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unused1[30]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } FlameEntity; extern void sub_0807AB44(Entity*, s32, s32); @@ -43,7 +43,7 @@ void Flame_Init(FlameEntity* this) { CopyPosition(super->parent, super); break; case 4: - if (!CheckFlags(this->unk_86)) { + if (!CheckFlags(this->flag)) { super->spriteSettings.draw = FALSE; super->subAction = 1; return; @@ -85,7 +85,7 @@ void Flame_Action1(FlameEntity* this) { CopyPosition(super->parent, super); break; case 4: - val = CheckFlags(this->unk_86); + val = CheckFlags(this->flag); if (super->subAction == 0) { if (val) return; diff --git a/src/object/heartContainer.c b/src/object/heartContainer.c index 1817b8c3..dce47c6b 100644 --- a/src/object/heartContainer.c +++ b/src/object/heartContainer.c @@ -14,8 +14,8 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unused1[28]; - /*0x84*/ u16 unk_84; - /*0x86*/ u16 unk_86; + /*0x84*/ u16 flag; + /*0x86*/ u16 flag2; } HeartContainerEntity; static void HeartContainer_Init(HeartContainerEntity* this); @@ -37,7 +37,7 @@ void HeartContainer(HeartContainerEntity* this) { } static void HeartContainer_Init(HeartContainerEntity* this) { - if (CheckFlags(this->unk_84)) { + if (CheckFlags(this->flag)) { DeleteThisEntity(); } super->action = 1; @@ -49,7 +49,7 @@ static void HeartContainer_Init(HeartContainerEntity* this) { } static void HeartContainer_Action1(HeartContainerEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag2)) { super->action = 2; super->spriteSettings.draw = 1; super->spriteRendering.b0 = 3; @@ -74,7 +74,7 @@ static void HeartContainer_Action2(HeartContainerEntity* this) { static void HeartContainer_Action3(HeartContainerEntity* this) { sub_08080CB4(super); if (!(gPlayerState.flags & PL_MINISH) && IsCollidingPlayer(super)) { - SetFlag(this->unk_84); + SetFlag(this->flag); CreateItemEntity(ITEM_HEART_CONTAINER, 0, 0); DeleteThisEntity(); } diff --git a/src/object/hiddenLadderDown.c b/src/object/hiddenLadderDown.c index dd7ed7d5..9239c39f 100644 --- a/src/object/hiddenLadderDown.c +++ b/src/object/hiddenLadderDown.c @@ -15,7 +15,7 @@ typedef struct { /*0x68*/ u8 unused1[8]; /*0x70*/ u16 unk_70; /*0x72*/ u8 unused2[20]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } HiddenLadderDownEntity; void HiddenLadderDown_Init(HiddenLadderDownEntity* this); @@ -39,7 +39,7 @@ void HiddenLadderDown_Init(HiddenLadderDownEntity* this) { super->animIndex = 0; this->unk_70 = COORD_TO_TILE(super); puVar3 = &this->unk_70; - if (CheckFlags(this->unk_86) != 0) { + if (CheckFlags(this->flag) != 0) { super->action = 2; super->spriteSettings.draw = TRUE; SetTileType(TILE_TYPE_418, *puVar3 + TILE_POS(-1, -1), super->collisionLayer); @@ -58,6 +58,6 @@ void HiddenLadderDown_Action1(HiddenLadderDownEntity* this) { if (GetTileTypeAtTilePos(this->unk_70, super->collisionLayer) == 0x1a6) { super->action = 2; super->spriteSettings.draw = TRUE; - SetFlag(this->unk_86); + SetFlag(this->flag); } } diff --git a/src/object/itemOnGround.c b/src/object/itemOnGround.c index 7d627de4..fe61aa2a 100644 --- a/src/object/itemOnGround.c +++ b/src/object/itemOnGround.c @@ -51,7 +51,7 @@ void sub_080813D4(ItemOnGroundEntity* this); void sub_080813E8(ItemOnGroundEntity* this); void sub_080813F0(ItemOnGroundEntity* this); bool32 CheckShouldPlayItemGetCutscene(ItemOnGroundEntity* this); -void sub_08081404(ItemOnGroundEntity*, u32); +void ItemOnGround_SetFlagAndDelete(ItemOnGroundEntity*, u32); typedef struct { u8 unk0[2]; @@ -107,7 +107,7 @@ void ItemOnGround_Init(ItemOnGroundEntity* this) { sub_080810A8, sub_080810FC, sub_08081150, sub_08081134, sub_08081188, sub_080810A8, sub_080810A8, sub_080811AC, sub_080811C8, sub_080811D8, sub_080810A8, }; - if (this->unk_86 && CheckFlags(this->unk_86)) { + if (this->flag && CheckFlags(this->flag)) { DeleteThisEntity(); } @@ -257,7 +257,7 @@ void ItemOnGround_Action2(ItemOnGroundEntity* this) { void sub_08081248(ItemOnGroundEntity* this) { sub_08081500(this); if (sub_080814C0(this)) { - sub_08081404(this, 0); + ItemOnGround_SetFlagAndDelete(this, FALSE); } else { sub_0800442E(super); } @@ -270,7 +270,7 @@ void sub_0808126C(ItemOnGroundEntity* this) { void sub_0808127C(ItemOnGroundEntity* this) { if (sub_080814C0(this)) { - sub_08081404(this, 0); + ItemOnGround_SetFlagAndDelete(this, FALSE); } else { sub_0808153C(this); } @@ -311,7 +311,7 @@ void nullsub_510(ItemOnGroundEntity* this) { void ItemOnGround_Action3(ItemOnGroundEntity* this) { Entity* other = super->child; if (!(other->kind == PLAYER_ITEM && other->id == 3)) { - sub_08081404(this, 0); + ItemOnGround_SetFlagAndDelete(this, FALSE); } else { CopyPosition(other, super); super->z.HALF.HI--; @@ -331,7 +331,7 @@ void ItemOnGround_Action4(ItemOnGroundEntity* this) { super->spriteRendering.b3 = other->spriteRendering.b3; GravityUpdate(super, Q_8_8(40.0)); } else { - sub_08081404(this, 1); + ItemOnGround_SetFlagAndDelete(this, TRUE); } } @@ -360,9 +360,9 @@ void sub_080813F0(ItemOnGroundEntity* this) { } } -void sub_08081404(ItemOnGroundEntity* this, u32 arg1) { - if (arg1 && this->unk_86) { - SetFlag(this->unk_86); +void ItemOnGround_SetFlagAndDelete(ItemOnGroundEntity* this, bool32 doSetFlag) { + if (doSetFlag && this->flag) { + SetFlag(this->flag); } DeleteThisEntity(); @@ -472,7 +472,7 @@ void sub_0808153C(ItemOnGroundEntity* this) { void sub_08081598(ItemOnGroundEntity* this) { if (super->health == 0) { - sub_08081404(this, 1); + ItemOnGround_SetFlagAndDelete(this, 1); } COLLISION_OFF(super); @@ -486,6 +486,6 @@ void sub_08081598(ItemOnGroundEntity* this) { CopyPosition(super->child, super); super->z.HALF.HI -= 4; if (super->type != 0x5F && sub_08081420(this)) { - sub_08081404(this, 1); + ItemOnGround_SetFlagAndDelete(this, 1); } } diff --git a/src/object/jailBars.c b/src/object/jailBars.c index b244af4e..dd4d7bcc 100644 --- a/src/object/jailBars.c +++ b/src/object/jailBars.c @@ -14,7 +14,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unused1[30]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } JailBarsEntity; static void SetJailBarTiles(JailBarsEntity* this, u32); @@ -34,7 +34,7 @@ void JailBars(JailBarsEntity* this) { } void JailBars_Init(JailBarsEntity* this) { - if (CheckFlags(this->unk_86) == 0) { + if (CheckFlags(this->flag) == 0) { super->action = 1; SetJailBarTiles(this, 0); } else { @@ -48,7 +48,7 @@ void JailBars_Init(JailBarsEntity* this) { } void JailBars_Action1(JailBarsEntity* this) { - if (CheckFlags(this->unk_86) != 0) { + if (CheckFlags(this->flag) != 0) { super->action = 2; SetJailBarTiles(this, 1); SoundReq(SFX_10B); diff --git a/src/object/lightDoor.c b/src/object/lightDoor.c index 3bb41e19..ebce1433 100644 --- a/src/object/lightDoor.c +++ b/src/object/lightDoor.c @@ -12,7 +12,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unk_68[30]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } LightDoorEntity; void LightDoor_Init(LightDoorEntity*); @@ -31,7 +31,7 @@ void LightDoor(LightDoorEntity* this) { void LightDoor_Init(LightDoorEntity* this) { if (super->type == 0) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { DeleteThisEntity(); } super->action = 1; diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index e8f22525..250fd2ae 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -19,8 +19,8 @@ typedef struct { /*0x68*/ u8 unused1[12]; /*0x74*/ u16 unk_74; /*0x76*/ u8 unused2[14]; - /*0x84*/ u16 unk_84; - /*0x86*/ u16 unk_86; + /*0x84*/ u16 flag1; + /*0x86*/ u16 flag2; } LightableSwitchEntity; static void sub_0809EB30(LightableSwitchEntity* this); @@ -69,10 +69,10 @@ void LightableSwitch_Type0_Init(LightableSwitchEntity* this) { void LightableSwitch_Type0_Action1(LightableSwitchEntity* this) { if ((super->contactFlags & CONTACT_NOW) != 0) { - if (CheckFlags(this->unk_86) != 0) { - ClearFlag(this->unk_86); + if (CheckFlags(this->flag2) != 0) { + ClearFlag(this->flag2); } else { - SetFlag(this->unk_86); + SetFlag(this->flag2); } EnqueueSFX(SFX_110); } @@ -82,7 +82,7 @@ void LightableSwitch_Type0_Action1(LightableSwitchEntity* this) { static void sub_0809EABC(LightableSwitchEntity* this) { bool32 anySet = 0; - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag2)) { anySet = 1; } if (super->frameIndex != anySet) { @@ -141,7 +141,7 @@ void LightableSwitch_Type1_Init(LightableSwitchEntity* this) { super->hitbox = (Hitbox*)&gHitbox_0; sub_0809EAD8(this); UpdateSpriteForCollisionLayer(super); - if (CheckFlags(this->unk_84)) { + if (CheckFlags(this->flag1)) { super->action = 3; super->frameIndex = 2; } @@ -152,21 +152,21 @@ void LightableSwitch_Type1_Action1(LightableSwitchEntity* this) { super->action = 2; super->timer = 16; super->frameIndex = 2; - SetFlag(this->unk_86); + SetFlag(this->flag2); EnqueueSFX(SFX_110); } } void LightableSwitch_Type1_Action2(LightableSwitchEntity* this) { - if (CheckFlags(this->unk_84)) { + if (CheckFlags(this->flag1)) { super->action = 3; } else { if (--super->timer == 0) { super->action = 1; super->frameIndex = 3; - ClearFlag(this->unk_86); + ClearFlag(this->flag2); EnqueueSFX(SFX_110); } } diff --git a/src/object/litArea.c b/src/object/litArea.c index 53b34d1f..93129db4 100644 --- a/src/object/litArea.c +++ b/src/object/litArea.c @@ -15,12 +15,12 @@ typedef struct { /*0x68*/ u16 unk_68; /*0x6a*/ u16 unk_6a; /*0x6c*/ u8 unused1[26]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } LitAreaEntity; void LitArea(LitAreaEntity* this) { if (super->action == 0) { - if (this->unk_86 != 0 && CheckFlags(this->unk_86) == 0) { + if (this->flag != 0 && CheckFlags(this->flag) == 0) { return; } super->spriteSettings.draw = 1; diff --git a/src/object/lockedDoor.c b/src/object/lockedDoor.c index f4af4b0e..c1419e1d 100644 --- a/src/object/lockedDoor.c +++ b/src/object/lockedDoor.c @@ -25,8 +25,8 @@ typedef struct { /*0x78*/ u8 unused2[6]; /*0x7e*/ u8 unk_7e; /*0x7f*/ u8 unused3[5]; - /*0x84*/ u16 unk_84; - /*0x86*/ u16 unk_86; + /*0x84*/ u16 flags; + /*0x86*/ u16 flag; } LockedDoorEntity; void LockedDoor_Init(LockedDoorEntity* this); @@ -102,7 +102,7 @@ const u8 gLockedDoorInteractDirections[] = { }; void LockedDoor_Init(LockedDoorEntity* this) { - if (this->unk_84 != 0xFFFF && CheckFlags(this->unk_84)) { + if (this->flags != 0xFFFF && CheckFlags(this->flags)) { DeleteThisEntity(); } if (!sub_080837B0(this)) @@ -120,7 +120,7 @@ void LockedDoor_Init(LockedDoorEntity* this) { this->unk_74 = GetTileIndex(this->unk_76, super->collisionLayer); switch (super->type2) { case 0: - if (!CheckFlags(this->unk_86)) { + if (!CheckFlags(this->flag)) { if (super->type & 0x10) { super->action = 3; } else { @@ -132,14 +132,14 @@ void LockedDoor_Init(LockedDoorEntity* this) { } break; case 1: - if (!CheckFlags(this->unk_86)) { + if (!CheckFlags(this->flag)) { sub_08083638(this); } else { sub_080836A0(this); } break; case 2: - if (!CheckFlags(this->unk_86)) { + if (!CheckFlags(this->flag)) { super->frameIndex |= 4; sub_080836DC(super, this->unk_7e, this->unk_76); if (!AreaIsDungeon()) { @@ -209,10 +209,10 @@ void LockedDoor_Action5(LockedDoorEntity* this) { void LockedDoor_Action6(LockedDoorEntity* this) { if (super->type2 == 0) { - if (!CheckFlags(this->unk_86)) + if (!CheckFlags(this->flag)) return; } else { - if (CheckFlags(this->unk_86)) + if (CheckFlags(this->flag)) return; } sub_08083658(this); @@ -220,22 +220,22 @@ void LockedDoor_Action6(LockedDoorEntity* this) { void LockedDoor_Action7(LockedDoorEntity* this) { if (super->type2 == 0) { - if (CheckFlags(this->unk_86)) + if (CheckFlags(this->flag)) return; } else { - if (!CheckFlags(this->unk_86)) + if (!CheckFlags(this->flag)) return; } super->action = 3; } void LockedDoor_Action8(LockedDoorEntity* this) { - if (super->interactType == INTERACTION_NONE && !CheckFlags(this->unk_86)) + if (super->interactType == INTERACTION_NONE && !CheckFlags(this->flag)) return; super->action = 1; super->timer = 20; sub_08083658(this); - SetFlag(this->unk_86); + SetFlag(this->flag); ModDungeonKeys(-1); } diff --git a/src/object/mask.c b/src/object/mask.c index 9246fda1..d2b5c2a8 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -16,7 +16,7 @@ typedef struct { /*0x7c*/ u16 unk_7c; /*0x7e*/ u16 unk_7e; /*0x80*/ u8 unused2[6]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } MaskEntity; void Mask_Init(MaskEntity* this); @@ -36,7 +36,7 @@ void Mask(MaskEntity* this) { void Mask_Init(MaskEntity* this) { if (super->type2 & 0xC0) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { s32 field_0x0a; switch (super->type2 & 0xC0) { @@ -49,7 +49,7 @@ void Mask_Init(MaskEntity* this) { DeleteThisEntity(); break; default: - ClearFlag(this->unk_86); + ClearFlag(this->flag); } break; @@ -122,7 +122,7 @@ void Mask_Action2(MaskEntity* this) { case 0x80: EnqueueSFX(SFX_SECRET); case 0x40: - SetFlag(this->unk_86); + SetFlag(this->flag); break; } diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c index 95f7f9a1..58e01766 100644 --- a/src/object/metalDoor.c +++ b/src/object/metalDoor.c @@ -24,8 +24,8 @@ typedef struct { /*0x78*/ u16 unk_78; /*0x7a*/ u16 unk_7a; /*0x7c*/ u8 unused2[8]; - /*0x84*/ u16 unk_84; - /*0x86*/ u16 unk_86; + /*0x84*/ u16 flag1; + /*0x86*/ u16 flag2; } MetalDoorEntity; extern u32 sub_08083734(Entity*, u32); @@ -45,7 +45,7 @@ void MetalDoor(MetalDoorEntity* this) { } void MetalDoor_Init(MetalDoorEntity* this) { - if ((this->unk_84 != 0xffff) && CheckFlags(this->unk_84)) { + if ((this->flag1 != 0xffff) && CheckFlags(this->flag1)) { DeleteThisEntity(); } super->action = 1; @@ -97,7 +97,7 @@ void MetalDoor_Action2(MetalDoorEntity* this) { } void MetalDoor_Action3(MetalDoorEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag2)) { super->action = 4; super->timer = 12; super->direction = 0x10; diff --git a/src/object/minecartDoor.c b/src/object/minecartDoor.c index 37667af6..a4ef3d59 100644 --- a/src/object/minecartDoor.c +++ b/src/object/minecartDoor.c @@ -18,7 +18,7 @@ typedef struct { /*0x78*/ u8 unk_78[0x6]; /*0x7e*/ u8 unk_7e; /*0x7f*/ u8 unk_7f[0x7]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } MinecartDoorEntity; extern bool32 sub_080837B0(Entity*); // lockedDoor @@ -95,7 +95,7 @@ void MinecartDoor_Action2(MinecartDoorEntity* this) { void MinecartDoor_Action3(MinecartDoorEntity* this) { bool32 bVar3; - if ((this->unk_7e != 0) && (CheckFlags(this->unk_86))) { + if ((this->unk_7e != 0) && CheckFlags(this->flag)) { return; } if ((gPlayerState.flags & PL_IN_MINECART) != 0) { @@ -128,7 +128,7 @@ void MinecartDoor_Action4(MinecartDoorEntity* this) { } bool32 sub_08096CEC(MinecartDoorEntity* this) { - if (this->unk_7e != 0 && CheckFlags(this->unk_86)) { + if (this->unk_7e != 0 && CheckFlags(this->flag)) { return TRUE; } else { if ((gPlayerState.flags & PL_IN_MINECART) != 0) { diff --git a/src/object/minishPortalStone.c b/src/object/minishPortalStone.c index 929f65ac..cb3ca717 100644 --- a/src/object/minishPortalStone.c +++ b/src/object/minishPortalStone.c @@ -11,7 +11,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unk_68[0x1e]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } MinishPortalStoneEntity; void MinishPortalStone_Init(MinishPortalStoneEntity* this); @@ -37,7 +37,7 @@ void MinishPortalStone_Init(MinishPortalStoneEntity* this) { super->action = 1; super->spritePriority.b0 = 7; super->hitbox = (Hitbox*)&gUnk_08123328; - if ((this->unk_86 == 0xffff) || (CheckFlags(this->unk_86))) { + if ((this->flag == 0xffff) || CheckFlags(this->flag)) { super->spriteSettings.draw = 1; super->action = 4; sub_08097CFC(this); @@ -47,7 +47,7 @@ void MinishPortalStone_Init(MinishPortalStoneEntity* this) { } void MinishPortalStone_Action1(MinishPortalStoneEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { SetPlayerControl(CONTROL_1); gPauseMenuOptions.disabled = 1; RequestPriorityDuration(super, 30); diff --git a/src/object/objectA.c b/src/object/objectA.c index ac45f99f..6aa82e40 100644 --- a/src/object/objectA.c +++ b/src/object/objectA.c @@ -18,7 +18,7 @@ typedef struct { /*0x68*/ u8 unused1[8]; /*0x70*/ u16 unk_70; /*0x72*/ u8 unused2[20]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } ObjectAEntity; extern u8 gUpdateVisibleTiles; @@ -35,7 +35,7 @@ void ObjectA(ObjectAEntity* this) { uVar2 = TILE_TYPE_52; } this->unk_70 = uVar2; - if (CheckFlags(this->unk_86) != 0) { + if (CheckFlags(this->flag) != 0) { SetTileType(this->unk_70, COORD_TO_TILE(super), super->collisionLayer); if ((gRoomControls.reload_flags & 1) != 0) { gUpdateVisibleTiles = 0; @@ -46,7 +46,7 @@ void ObjectA(ObjectAEntity* this) { } } else if (super->interactType != INTERACTION_NONE) { SetTileType(this->unk_70, COORD_TO_TILE(super), super->collisionLayer); - SetFlag(this->unk_86); + SetFlag(this->flag); CreateDust(super); ModDungeonKeys(-1); DeleteThisEntity(); diff --git a/src/object/objectA8.c b/src/object/objectA8.c index c5e95687..434e04c0 100644 --- a/src/object/objectA8.c +++ b/src/object/objectA8.c @@ -32,7 +32,7 @@ void ObjectA8_Action2Subaction0(ObjectA8Entity*); void ObjectA8_Action2Subaction1(ObjectA8Entity*); void ObjectA8_Action2Subaction2(ObjectA8Entity*); -extern void sub_08081404(Entity*, u32); +extern void ItemOnGround_SetFlagAndDelete(Entity*, u32); void ObjectA8(ObjectA8Entity* this) { static void (*const ObjectA8_Actions[])(ObjectA8Entity*) = { @@ -160,7 +160,7 @@ void ObjectA8_Action3(ObjectA8Entity* this) { ProcessMovement1(super); if ((AnyPrioritySet() == 0) && (super->type == 0)) { if (((gRoomTransition.frameCount & 1) != 0) && (--super->timer == 0)) { - sub_08081404(super, 0); + ItemOnGround_SetFlagAndDelete(super, FALSE); } if (super->timer < 0x3c) { super->spriteSettings.draw ^= 1; @@ -170,7 +170,7 @@ void ObjectA8_Action3(ObjectA8Entity* this) { void ObjectA8_Action4(ObjectA8Entity* this) { if (*(u16*)&super->child->kind != 0xb08) { - sub_08081404(super, 0); + ItemOnGround_SetFlagAndDelete(super, FALSE); } else { CopyPosition(super->child, super); super->z.HALF.HI--; @@ -217,7 +217,7 @@ void ObjectA8_Action6(ObjectA8Entity* this) { if (--super->subtimer == 0) { super->subtimer = 6; if (--super->spriteOffsetY < -0x16) { - sub_08081404(super, 1); + ItemOnGround_SetFlagAndDelete(super, TRUE); } } if (super->spriteOffsetY < -0x11) { diff --git a/src/object/pinwheel.c b/src/object/pinwheel.c index 35d161a8..ca6bfcd5 100644 --- a/src/object/pinwheel.c +++ b/src/object/pinwheel.c @@ -10,10 +10,10 @@ typedef struct { /*0x00*/ Entity base; - /*0x68*/ u16 unk_68; + /*0x68*/ u16 flag; } PinwheelEntity; -static const u16 gUnk_08125050[] = { +static const u16 gPinwheelFlags[] = { KUMOUE_02_AWASE_01, KUMOUE_02_AWASE_02, KUMOUE_02_AWASE_03, KUMOUE_02_AWASE_04, KUMOUE_02_AWASE_05, BEGIN_1, }; extern u32 gUnk_020342F8; @@ -38,9 +38,9 @@ void Pinwheel(PinwheelEntity* this) { } void Pinwheel_Init(PinwheelEntity* this) { - this->unk_68 = gUnk_08125050[super->type2]; + this->flag = gPinwheelFlags[super->type2]; super->spritePriority.b0 = 7; - if (CheckLocalFlag(this->unk_68) != 0) { + if (CheckLocalFlag(this->flag) != 0) { super->action = 2; } else { super->action = 1; @@ -49,7 +49,7 @@ void Pinwheel_Init(PinwheelEntity* this) { } void Pinwheel_Action1(PinwheelEntity* this) { - if (CheckLocalFlag(this->unk_68) != 0) { + if (CheckLocalFlag(this->flag) != 0) { super->action = 2; CreateDust(super); } diff --git a/src/object/pot.c b/src/object/pot.c index adfcb75d..e61b94fd 100644 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -22,7 +22,7 @@ typedef struct { /*0x72*/ u8 unused2[11]; /*0x7d*/ u8 unk_7d; /*0x7e*/ u8 unused3[8]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } PotEntity; void Pot_Action5(PotEntity*); @@ -60,7 +60,7 @@ void Pot(PotEntity* this) { } void Pot_Init(PotEntity* this) { - if (super->type2 == 1 && CheckFlags(this->unk_86)) { + if (super->type2 == 1 && CheckFlags(this->flag)) { DeleteThisEntity(); } @@ -306,7 +306,7 @@ static void BreakPot(PotEntity* this, Entity* parent) { } if (super->type2 == 1) { - SetFlag(this->unk_86); + SetFlag(this->flag); } DeleteThisEntity(); @@ -327,7 +327,7 @@ u32 sub_0808288C(Entity* this, u32 form, u32 arg2, u32 arg3) { if (entity != NULL) { if (arg3 == 2) { entity->base.timer = 5; - entity->unk_86 = ((PotEntity*)this)->unk_86; // This function is also used by flyingSkull. + entity->flag = ((PotEntity*)this)->flag; // This function is also used by flyingSkull. } else { entity->base.timer = 0; } diff --git a/src/object/pushableFurniture.c b/src/object/pushableFurniture.c index 4a0dfda7..b976bdcb 100644 --- a/src/object/pushableFurniture.c +++ b/src/object/pushableFurniture.c @@ -73,7 +73,7 @@ void PushableFurniture_Init(PushableFurnitureEntity* this) { this->unk_7e = (s8)super->subtimer + super->x.HALF_U.HI; } if (super->parent == NULL) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { condition++; } } else { @@ -228,7 +228,7 @@ bool32 sub_0808FC5C(PushableFurnitureEntity* this) { this->unk_81 = 1; if (super->parent == NULL) { - SetFlag((u32)this->unk_86); + SetFlag((u32)this->flag); } else { if ((this->unk_82 & 0x80) != 0) { puVar5 = super->parent->spriteAnimation + 2; diff --git a/src/object/railtrack.c b/src/object/railtrack.c index f5ceab8d..a775f6d3 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -19,10 +19,10 @@ typedef struct { /*0x74*/ u16 unk_74; /*0x76*/ u16 unk_76; /*0x78*/ u16 unk_78; - /*0x7a*/ u16 unk_7a; + /*0x7a*/ u16 flagValue; /*0x7c*/ union SplitHWord unk_7c; /*0x7e*/ u8 unused2[8]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } RailtrackEntity; void sub_08085394(RailtrackEntity* this); @@ -58,8 +58,8 @@ void Railtrack_Init(RailtrackEntity* this) { } super->animationState = super->type2 & 2; if (super->type == 3) { - uVar1 = CheckFlags(this->unk_86); - this->unk_7a = uVar1; + uVar1 = CheckFlags(this->flag); + this->flagValue = uVar1; if ((u16)(uVar1 & -1) != 0) { super->animationState = (super->animationState + 2) & 3; super->action = 3; @@ -71,11 +71,11 @@ void Railtrack_Init(RailtrackEntity* this) { } void Railtrack_Action1(RailtrackEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { super->action = 2; super->subtimer = 8; if (super->type == 1) { - ClearFlag(this->unk_86); + ClearFlag(this->flag); } super->animationState = (super->animationState + this->unk_7c.HALF.LO) & 3; InitializeAnimation(super, super->animationState); @@ -88,7 +88,7 @@ void Railtrack_Action2(RailtrackEntity* this) { if (--super->subtimer == 0) { super->action = 3; super->subtimer = super->timer; - this->unk_7a = CheckFlags(this->unk_86); + this->flagValue = CheckFlags(this->flag); super->animationState = (super->animationState + this->unk_7c.HALF.LO) & 3; InitializeAnimation(super, super->animationState); sub_08085394(this); @@ -103,13 +103,13 @@ void Railtrack_Action3(RailtrackEntity* this) { case 1: break; case 2: - if (CheckFlags(this->unk_86) == 0) { + if (CheckFlags(this->flag) == 0) { super->action = 1; return; } break; case 3: - if (CheckFlags(this->unk_86) == this->unk_7a) { + if (CheckFlags(this->flag) == this->flagValue) { super->subtimer = 255; } else { super->subtimer = 1; diff --git a/src/object/smallIceBlock.c b/src/object/smallIceBlock.c index 8aab1f91..16178fa3 100644 --- a/src/object/smallIceBlock.c +++ b/src/object/smallIceBlock.c @@ -18,7 +18,7 @@ typedef struct { /*0x6e*/ u8 unk_6e[0x2]; /*0x70*/ u16 tilePos; /*0x72*/ u8 unk_72[0x14]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } SmallIceBlockEntity; extern const s16 gUnk_080B4488[]; @@ -51,7 +51,7 @@ void SmallIceBlock_Init(SmallIceBlockEntity* this) { case 0: case 1: case 2: - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { DeleteThisEntity(); } } @@ -81,7 +81,7 @@ void SmallIceBlock_Action1(SmallIceBlockEntity* this) { EnqueueSFX(SFX_ICE_BLOCK_MELT); SmallIceBlock_Action3(this); if (super->type == 0) { - SetFlag(this->unk_86); + SetFlag(this->flag); } } else { if (!sub_0800442E(super)) { @@ -138,10 +138,10 @@ void SmallIceBlock_Action3(SmallIceBlockEntity* this) { } SetAffineInfo(super, 0x100, gUnk_08123748[super->timer >> 5], 0); if (super->type == 1) { - CreateGroundItemWithFlags(super, ITEM_SMALL_KEY, 0, this->unk_86); + CreateGroundItemWithFlags(super, ITEM_SMALL_KEY, 0, this->flag); SoundReq(SFX_SECRET); } else if (super->type == 2) { - CreateGroundItemWithFlags(super, ITEM_BIG_KEY, 0, this->unk_86); + CreateGroundItemWithFlags(super, ITEM_BIG_KEY, 0, this->flag); SoundReq(SFX_SECRET); } super->action = 4; diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index 283d64be..99d04565 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -17,7 +17,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unused1[30]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } TreeHidingPortalEntity; extern const s16 gUnk_080B4468[]; @@ -42,7 +42,7 @@ void TreeHidingPortal(TreeHidingPortalEntity* this) { } void TreeHidingPortal_Init(TreeHidingPortalEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { sub_0809E96C(this); DeleteThisEntity(); } @@ -79,7 +79,7 @@ void TreeHidingPortal_Action2(TreeHidingPortalEntity* this) { void TreeHidingPortal_Action3(TreeHidingPortalEntity* this) { if (--super->timer == 0) { - SetFlag(this->unk_86); + SetFlag(this->flag); SetPlayerControl(0); SoundReq(SFX_SECRET_BIG); DeleteThisEntity(); diff --git a/src/object/unusedSkull.c b/src/object/unusedSkull.c index 6bfb48a5..b2b9def3 100644 --- a/src/object/unusedSkull.c +++ b/src/object/unusedSkull.c @@ -12,7 +12,7 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unk_68[0x1e]; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } UnusedSkullEntity; void UnusedSkull_Init(UnusedSkullEntity*); @@ -40,9 +40,9 @@ void UnusedSkull_Init(UnusedSkullEntity* this) { super->collisionMask = 2; super->hitbox = (Hitbox*)&gHitbox_4; SetTile(SPECIAL_TILE_80, COORD_TO_TILE(super), super->collisionLayer); - if (super->type == 1 || CheckFlags(this->unk_86)) { + if (super->type == 1 || CheckFlags(this->flag)) { super->action = 3; - SetFlag(this->unk_86); + SetFlag(this->flag); InitializeAnimation(super, 1); } else { InitializeAnimation(super, super->type); @@ -62,7 +62,7 @@ void UnusedSkull_Action2(UnusedSkullEntity* this) { GetNextFrame(super); if ((super->frame & 1) != 0) { super->action = 3; - SetFlag(this->unk_86); + SetFlag(this->flag); EnqueueSFX(SFX_BUTTON_PRESS); } } diff --git a/src/object/warpPoint.c b/src/object/warpPoint.c index 67798907..dfd66d1b 100644 --- a/src/object/warpPoint.c +++ b/src/object/warpPoint.c @@ -18,7 +18,7 @@ typedef struct { /*0x7d*/ u8 unk_7d; /*0x7e*/ u8 unused3[6]; /*0x84*/ u16 unk_84; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } WarpPointEntity; extern void EnableDungeonWarp(u32); @@ -58,7 +58,7 @@ void WarpPoint_Init(WarpPointEntity* this) { super->hitbox = (Hitbox*)&gHitbox_1; super->updatePriority = PRIO_NO_BLOCK; InitializeAnimation(super, 0); - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { sub_0808B830(this); } else { if (AreaIsDungeon() && IsDungeonWarpActive(super->type)) { @@ -77,7 +77,7 @@ void WarpPoint_Init(WarpPointEntity* this) { } void WarpPoint_Action1(WarpPointEntity* this) { - if (CheckFlags(this->unk_86)) { + if (CheckFlags(this->flag)) { sub_0808B830(this); if (AreaIsDungeon()) { EnableDungeonWarp(super->type); diff --git a/src/objectUtils.c b/src/objectUtils.c index 21ec9568..e00c62d4 100644 --- a/src/objectUtils.c +++ b/src/objectUtils.c @@ -189,7 +189,7 @@ Entity* CreateGroundItemWithFlags(Entity* parent, u32 form, u32 subtype, u32 fla if (ent != NULL) { ItemOnGroundEntity* this = (ItemOnGroundEntity*)ent; ent->timer = 5; - this->unk_86 = flags; + this->flag = flags; } return ent; } diff --git a/src/projectile/spiderWeb.c b/src/projectile/spiderWeb.c index 6a386f64..5e4e1a46 100644 --- a/src/projectile/spiderWeb.c +++ b/src/projectile/spiderWeb.c @@ -16,7 +16,7 @@ typedef struct { /*0x68*/ u8 unused1[28]; /*0x84*/ u8 unk_84; /*0x85*/ u8 unused2; - /*0x86*/ u16 unk_86; + /*0x86*/ u16 flag; } SpiderWebEntity; typedef struct { @@ -134,7 +134,7 @@ void SpiderWeb_Init(SpiderWebEntity* this) { &gUnk_080FD42C, &gUnk_080FD434, }; - if (CheckFlags(this->unk_86) != 0) { + if (CheckFlags(this->flag) != 0) { DeleteThisEntity(); } super->action = 1; @@ -251,7 +251,7 @@ void sub_080AAA68(Entity* this) { } void sub_080AAAA8(SpiderWebEntity* this) { - SetFlag(this->unk_86); + SetFlag(this->flag); RestorePrevTileEntity(TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer); DeleteThisEntity(); } From e1f889e3cb1aa74a377d36810c4f20b6dce7e9a4 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 3 Mar 2025 13:27:44 +0000 Subject: [PATCH 02/17] replace ScreenTransitionData with Transition the struct did exist twice --- include/functions.h | 2 +- include/room.h | 17 +- include/screenTransitions.h | 62 +- include/subtask.h | 2 +- include/transitions.h | 12 +- src/data/screenTransitions.c | 102 +- src/data/transitions.c | 3010 +++++++++++++++---------------- src/enemy/armos.c | 4 +- src/enemy/mazaalHead.c | 8 +- src/enemy/vaatiArm.c | 4 +- src/menu/kinstoneMenu.c | 18 +- src/npc/npc4E.c | 6 +- src/scroll.c | 38 +- src/subtask.c | 2 +- src/subtask/subtaskFastTravel.c | 8 +- 15 files changed, 1640 insertions(+), 1655 deletions(-) diff --git a/include/functions.h b/include/functions.h index d0eace75..de36bf0b 100644 --- a/include/functions.h +++ b/include/functions.h @@ -92,7 +92,7 @@ extern u32* sub_0805F25C(u32); extern void sub_0805F8E4(u32 r0, WStruct* r1); extern void sub_0806D0B0(Entity*); extern bool32 sub_080806BC(u32, u32, u32, u32); -extern void sub_0808091C(const ScreenTransitionData* screenTransition, u32 transitionType); +extern void sub_0808091C(const Transition* screenTransition, u32 transitionType); extern void sub_080809D4(void); extern void sub_08080CB4(Entity*); extern u32 sub_0808288C(Entity*, u32, u32, u32); diff --git a/include/room.h b/include/room.h index 09d2b2fb..c05a7b82 100644 --- a/include/room.h +++ b/include/room.h @@ -4,6 +4,7 @@ #include "entity.h" #include "droptables.h" #include "map.h" +#include "transitions.h" enum RoomTransition { TRANSITION_DEFAULT, @@ -188,20 +189,6 @@ typedef struct { static_assert(sizeof(RoomTransition) == 0xB0); extern RoomTransition gRoomTransition; -typedef struct { - u16 type; - u8 field_0x2[4]; - s16 playerXPos; - s16 playerYPos; - u8 field_0xa; - u8 area; - u8 room; - u8 playerLayer; - u8 spawn_type; - u8 playerState; - u16 transitionSFX; -} ScreenTransitionData; - typedef struct { u8 type; u8 localFlag; @@ -251,6 +238,6 @@ void UnloadGFXSlots(Entity*); void LoadSmallChestTile2(TileEntity*); void sub_0804B0B0(u32 arg0, u32 arg1); -void DoExitTransition(const ScreenTransitionData* data); +void DoExitTransition(const Transition* data); #endif // ROOM_H diff --git a/include/screenTransitions.h b/include/screenTransitions.h index fa1d98b5..2abbba93 100644 --- a/include/screenTransitions.h +++ b/include/screenTransitions.h @@ -3,35 +3,35 @@ #include "room.h" -extern const ScreenTransitionData* const gWallMasterScreenTransitions[]; -extern const ScreenTransitionData gUnk_0813AB58; -extern const ScreenTransitionData gUnk_0813AB6C; -extern const ScreenTransitionData gUnk_0813AB80; -extern const ScreenTransitionData gUnk_0813AB94; -extern const ScreenTransitionData gUnk_0813ABA8; -extern const ScreenTransitionData gUnk_0813ABBC; -extern const ScreenTransitionData gUnk_0813ABD0; -extern const ScreenTransitionData gUnk_0813ABE4; -extern const ScreenTransitionData gUnk_0813ABF8; -extern const ScreenTransitionData gUnk_0813AC0C; -extern const ScreenTransitionData gUnk_0813AC20; -extern const ScreenTransitionData gUnk_0813AC34; -extern const ScreenTransitionData gUnk_0813AC48; -extern const ScreenTransitionData gUnk_0813AC5C; -extern const ScreenTransitionData gUnk_0813AC70; -extern const ScreenTransitionData gUnk_0813AC84; -extern const ScreenTransitionData gUnk_0813AC98; -extern const ScreenTransitionData gUnk_0813ACAC; -extern const ScreenTransitionData gUnk_0813ACC0; -extern const ScreenTransitionData gUnk_0813ACD4; -extern const ScreenTransitionData gUnk_0813ACE8; -extern const ScreenTransitionData gUnk_0813ACFC; -extern const ScreenTransitionData gUnk_0813AD10; // w -extern const ScreenTransitionData gUnk_0813AD24; // m -extern const ScreenTransitionData gUnk_0813AD38; // l -extern const ScreenTransitionData gUnk_0813AD4C; -extern const ScreenTransitionData gUnk_0813AD60; -extern const ScreenTransitionData gUnk_0813AD74; -extern const ScreenTransitionData gUnk_0813AD88[]; -extern const ScreenTransitionData gUnk_0813ADEC[]; +extern const Transition* const gWallMasterScreenTransitions[]; +extern const Transition gUnk_0813AB58; +extern const Transition gUnk_0813AB6C; +extern const Transition gUnk_0813AB80; +extern const Transition gUnk_0813AB94; +extern const Transition gUnk_0813ABA8; +extern const Transition gUnk_0813ABBC; +extern const Transition gUnk_0813ABD0; +extern const Transition gUnk_0813ABE4; +extern const Transition gUnk_0813ABF8; +extern const Transition gUnk_0813AC0C; +extern const Transition gUnk_0813AC20; +extern const Transition gUnk_0813AC34; +extern const Transition gUnk_0813AC48; +extern const Transition gUnk_0813AC5C; +extern const Transition gUnk_0813AC70; +extern const Transition gUnk_0813AC84; +extern const Transition gUnk_0813AC98; +extern const Transition gUnk_0813ACAC; +extern const Transition gUnk_0813ACC0; +extern const Transition gUnk_0813ACD4; +extern const Transition gUnk_0813ACE8; +extern const Transition gUnk_0813ACFC; +extern const Transition gUnk_0813AD10; // w +extern const Transition gUnk_0813AD24; // m +extern const Transition gUnk_0813AD38; // l +extern const Transition gUnk_0813AD4C; +extern const Transition gUnk_0813AD60; +extern const Transition gUnk_0813AD74; +extern const Transition gUnk_0813AD88[]; +extern const Transition gUnk_0813ADEC[]; #endif // SCREENTRANSITIONS_H diff --git a/include/subtask.h b/include/subtask.h index e1d98a16..90ba9f05 100644 --- a/include/subtask.h +++ b/include/subtask.h @@ -95,7 +95,7 @@ u32 sub_080A6F40(); s32 sub_080A69E0(); const OverworldLocation* GetOverworldLocation(u32 x, u32 y); void sub_080A6498(void); -void sub_080A71F4(const ScreenTransitionData* exitTransition); +void sub_080A71F4(const Transition* exitTransition); void sub_080A6F6C(u32 textIndexOrPtr); typedef struct { diff --git a/include/transitions.h b/include/transitions.h index 3da9d77e..a338202c 100644 --- a/include/transitions.h +++ b/include/transitions.h @@ -7,7 +7,9 @@ typedef enum { WARP_TYPE_BORDER, WARP_TYPE_AREA, - WARP_TYPE_END_OF_LIST = -1, + WARP_TYPE_UNK2, + WARP_TYPE_UNK3, + WARP_TYPE_END_OF_LIST = 0xffff, } WarpType; typedef enum { @@ -27,8 +29,7 @@ typedef enum { } TransitionType; typedef struct Transition { - WarpType warp_type : 8; - u8 subtype; + u16 warp_type; /**< @see WarpType */ u16 startX; u16 startY; u16 endX; @@ -36,11 +37,10 @@ typedef struct Transition { u8 shape; u8 area; RoomID room : 8; - u8 height; + u8 layer; TransitionType transition_type : 8; u8 facing_direction; // 0-4 - u8 unk0; - u8 unk1; + u16 transitionSFX; u8 unk2; u8 unk3; } Transition; diff --git a/src/data/screenTransitions.c b/src/data/screenTransitions.c index bec9e562..d81eeb21 100644 --- a/src/data/screenTransitions.c +++ b/src/data/screenTransitions.c @@ -4,72 +4,72 @@ // clang-format off -const ScreenTransitionData gUnk_0813AA54 = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AA68 = { 1, { 0, 0, 0, 0 }, 0xa8, 0xb8, 0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AA7C = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AA90 = { 1, { 0, 0, 0, 0 }, 0x78, 0xa8, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AAA4 = { 1, { 0, 0, 0, 0 }, 0x108, 0xf8, 0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AAB8 = { 1, { 0, 0, 0, 0 }, 0x238, 0x58, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, 1, 2, 6, 0 }; -const ScreenTransitionData gUnk_0813AACC = { 1, { 0, 0, 0, 0 }, 0x198, 0x1d8, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AAE0 = { 1, { 0, 0, 0, 0 }, 0x88, 0x78, 0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AB08 = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; -const ScreenTransitionData gUnk_0813AAF4 = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; +const Transition gUnk_0813AA54 = { WARP_TYPE_AREA, 0, 0, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; +const Transition gUnk_0813AA68 = { WARP_TYPE_AREA, 0, 0, 0xa8, 0xb8, 0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, 2, 0, 0 }; +const Transition gUnk_0813AA7C = { WARP_TYPE_AREA, 0, 0, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; +const Transition gUnk_0813AA90 = { WARP_TYPE_AREA, 0, 0, 0x78, 0xa8, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, 1, 2, 0, 0 }; +const Transition gUnk_0813AAA4 = { WARP_TYPE_AREA, 0, 0, 0x108, 0xf8, 0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, 1, 2, 0, 0 }; +const Transition gUnk_0813AAB8 = { WARP_TYPE_AREA, 0, 0, 0x238, 0x58, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, 1, 2, 6, 0 }; +const Transition gUnk_0813AACC = { WARP_TYPE_AREA, 0, 0, 0x198, 0x1d8, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 2, 0, 0 }; +const Transition gUnk_0813AAE0 = { WARP_TYPE_AREA, 0, 0, 0x88, 0x78, 0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, 2, 0, 0 }; +const Transition gUnk_0813AB08 = { WARP_TYPE_AREA, 0, 0, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; +const Transition gUnk_0813AAF4 = { WARP_TYPE_AREA, 0, 0, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 }; -const ScreenTransitionData* const gWallMasterScreenTransitions[] = { +const Transition* const gWallMasterScreenTransitions[] = { &gUnk_0813AA54, &gUnk_0813AA68, &gUnk_0813AA7C, &gUnk_0813AA90, &gUnk_0813AAA4, &gUnk_0813AAB8, &gUnk_0813AACC, &gUnk_0813AAE0, &gUnk_0813AB08, &gUnk_0813AAF4, }; -const ScreenTransitionData unusedScreenTransition = { 1, { 0, 0, 0, 0 }, 0x48, 0x68, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 2, 0 }; +const Transition unusedScreenTransition = { WARP_TYPE_AREA, 0, 0, 0x48, 0x68, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 2, 0 }; -const ScreenTransitionData gUnk_0813AB58 = { 1, { 0, 0, 0, 0 }, 0x108, 0xc8, 0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, 2, 2, 4, 0 }; -const ScreenTransitionData gUnk_0813AB6C = { 1, { 0, 0, 0, 0 }, 0x198, 0x68, 0, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AB80 = { 1, { 0, 0, 0, 0 }, 0xc8, 0x48, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_4, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AB94 = { 1, { 0, 0, 0, 0 }, 0xb8, 0x5c, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, 1, 4, 0 }; -const ScreenTransitionData gUnk_0813ABA8 = { 1, { 0, 0, 0, 0 }, 0xb8, 0x78, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, 0, 0, 0 }; -const ScreenTransitionData gUnk_0813ABBC = { 1, { 0, 0, 0, 0 }, 0xf0, 0xbc, 0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813ABD0 = { 1, { 0, 0, 0, 0 }, 0x1d8, 0xd8, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, 2, 2, 4, 0 }; -const ScreenTransitionData gUnk_0813ABE4 = { 1, { 0, 0, 0, 0 }, 0x198, 0x168, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 0, 4, 0 }; +const Transition gUnk_0813AB58 = { WARP_TYPE_AREA, 0, 0, 0x108, 0xc8, 0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, 2, 2, 4, 0 }; +const Transition gUnk_0813AB6C = { WARP_TYPE_AREA, 0, 0, 0x198, 0x68, 0, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, 0, 4, 0 }; +const Transition gUnk_0813AB80 = { WARP_TYPE_AREA, 0, 0, 0xc8, 0x48, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_4, 1, 0, 4, 0 }; +const Transition gUnk_0813AB94 = { WARP_TYPE_AREA, 0, 0, 0xb8, 0x5c, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, 1, 4, 0 }; +const Transition gUnk_0813ABA8 = { WARP_TYPE_AREA, 0, 0, 0xb8, 0x78, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, 0, 0, 0 }; +const Transition gUnk_0813ABBC = { WARP_TYPE_AREA, 0, 0, 0xf0, 0xbc, 0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, 0, 4, 0 }; +const Transition gUnk_0813ABD0 = { WARP_TYPE_AREA, 0, 0, 0x1d8, 0xd8, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, 2, 2, 4, 0 }; +const Transition gUnk_0813ABE4 = { WARP_TYPE_AREA, 0, 0, 0x198, 0x168, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 0, 4, 0 }; #if defined(EU) || defined(JP) -const ScreenTransitionData gUnk_0813ABF8 = { 1, { 0, 0, 0, 0 }, 0x128, 0x1a8, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 0, 0 }; +const Transition gUnk_0813ABF8 = { WARP_TYPE_AREA, 0, 0, 0x128, 0x1a8, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 0, 0 }; #else -const ScreenTransitionData gUnk_0813ABF8 = { 1, { 0, 0, 0, 0 }, 0x128, 0x1b0, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 0, 0 }; +const Transition gUnk_0813ABF8 = { WARP_TYPE_AREA, 0, 0, 0x128, 0x1b0, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 0, 0 }; #endif -const ScreenTransitionData gUnk_0813AC0C = { 1, { 0, 0, 0, 0 }, 0xb0, 0xd8, 0, AREA_VAATI_2, ROOM_VAATI_2_0, 2, 0, 0, 0 }; -const ScreenTransitionData gUnk_0813AC20 = { 1, { 0, 0, 0, 0 }, 0xa8, 0x78, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, 0, 0, 0 }; -const ScreenTransitionData gUnk_0813AC34 = { 1, { 0, 0, 0, 0 }, 0xb0, 0x88, 0, AREA_VAATI_3, ROOM_VAATI_3_0, 1, 0, 0, 0 }; -const ScreenTransitionData gUnk_0813AC48 = { 1, { 0, 0, 0, 0 }, 0xb0, 0x88, 0, AREA_VAATI_3, ROOM_VAATI_3_0, 1, 1, 4, 0 }; -const ScreenTransitionData gUnk_0813AC5C = { 1, { 0, 0, 0, 0 }, 0xa8, 0x88, 0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, 0, 6, 0 }; -const ScreenTransitionData gUnk_0813AC70 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AC84 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_2, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AC98 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813ACAC = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813ACC0 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813ACD4 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813ACE8 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813ACFC = { 1, { 0, 0, 0, 0 }, 0xa8, 0x88, 0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, 1, 0, 6, 0 }; -const ScreenTransitionData gUnk_0813AD10 = { 1, { 0, 0, 0, 0 }, 0x50, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AD24 = { 1, { 0, 0, 0, 0 }, 0x50, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AD38 = { 1, { 0, 0, 0, 0 }, 0x60, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AD4C = { 1, { 0, 0, 0, 0 }, 0x78, 0x68, 0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, 0, 0, 0 }; -const ScreenTransitionData gUnk_0813AD60 = { 1, { 0, 0, 0, 0 }, 0x98, 0x88, 0, AREA_SIMONS_SIMULATION, ROOM_SIMONS_SIMULATION_0, 1, 2, 4, 0 }; -const ScreenTransitionData gUnk_0813AD74 = { 1, { 0, 0, 0, 0 }, 0x50, 0x48, 0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, 1, 0, 4, 0 }; +const Transition gUnk_0813AC0C = { WARP_TYPE_AREA, 0, 0, 0xb0, 0xd8, 0, AREA_VAATI_2, ROOM_VAATI_2_0, 2, 0, 0, 0 }; +const Transition gUnk_0813AC20 = { WARP_TYPE_AREA, 0, 0, 0xa8, 0x78, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, 0, 0, 0 }; +const Transition gUnk_0813AC34 = { WARP_TYPE_AREA, 0, 0, 0xb0, 0x88, 0, AREA_VAATI_3, ROOM_VAATI_3_0, 1, 0, 0, 0 }; +const Transition gUnk_0813AC48 = { WARP_TYPE_AREA, 0, 0, 0xb0, 0x88, 0, AREA_VAATI_3, ROOM_VAATI_3_0, 1, 1, 4, 0 }; +const Transition gUnk_0813AC5C = { WARP_TYPE_AREA, 0, 0, 0xa8, 0x88, 0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, 0, 6, 0 }; +const Transition gUnk_0813AC70 = { WARP_TYPE_AREA, 0, 0, 0x0, 0x0, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, 1, 0, 4, 0 }; +const Transition gUnk_0813AC84 = { WARP_TYPE_AREA, 0, 0, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_2, 1, 0, 4, 0 }; +const Transition gUnk_0813AC98 = { WARP_TYPE_AREA, 0, 0, 0x0, 0x0, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 0, 4, 0 }; +const Transition gUnk_0813ACAC = { WARP_TYPE_AREA, 0, 0, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, 0, 4, 0 }; +const Transition gUnk_0813ACC0 = { WARP_TYPE_AREA, 0, 0, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, 0, 4, 0 }; +const Transition gUnk_0813ACD4 = { WARP_TYPE_AREA, 0, 0, 0x0, 0x0, 0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, 0, 4, 0 }; +const Transition gUnk_0813ACE8 = { WARP_TYPE_AREA, 0, 0, 0x0, 0x0, 0, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, 0, 4, 0 }; +const Transition gUnk_0813ACFC = { WARP_TYPE_AREA, 0, 0, 0xa8, 0x88, 0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, 1, 0, 6, 0 }; +const Transition gUnk_0813AD10 = { WARP_TYPE_AREA, 0, 0, 0x50, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, 1, 0, 4, 0 }; +const Transition gUnk_0813AD24 = { WARP_TYPE_AREA, 0, 0, 0x50, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, 1, 0, 4, 0 }; +const Transition gUnk_0813AD38 = { WARP_TYPE_AREA, 0, 0, 0x60, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, 1, 0, 4, 0 }; +const Transition gUnk_0813AD4C = { WARP_TYPE_AREA, 0, 0, 0x78, 0x68, 0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, 0, 0, 0 }; +const Transition gUnk_0813AD60 = { WARP_TYPE_AREA, 0, 0, 0x98, 0x88, 0, AREA_SIMONS_SIMULATION, ROOM_SIMONS_SIMULATION_0, 1, 2, 4, 0 }; +const Transition gUnk_0813AD74 = { WARP_TYPE_AREA, 0, 0, 0x50, 0x48, 0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, 1, 0, 4, 0 }; -const ScreenTransitionData gUnk_0813AD88[] = { - { 1, { 0, 0, 0, 0 }, 0x128, 0x188, 0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, 9, 4, 0}, - { 1, { 0, 0, 0, 0 }, 0x190, 0x1c0, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_BOTTOMS, 1, 10, 4, 0}, - { 1, { 0, 0, 0, 0 }, 0x1e8, 0x1f0, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, 10, 4, 0}, - { 1, { 0, 0, 0, 0 }, 0x268, 0x58, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, 1, 10, 6, 0}, +const Transition gUnk_0813AD88[] = { + { WARP_TYPE_AREA, 0, 0, 0x128, 0x188, 0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, 9, 4, 0}, + { WARP_TYPE_AREA, 0, 0, 0x190, 0x1c0, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_BOTTOMS, 1, 10, 4, 0}, + { WARP_TYPE_AREA, 0, 0, 0x1e8, 0x1f0, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, 10, 4, 0}, + { WARP_TYPE_AREA, 0, 0, 0x268, 0x58, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, 1, 10, 6, 0}, #if defined(EU) - { 1, { 0, 0, 0, 0 }, 0x200, 0x350, 0, AREA_PALACE_OF_WINDS_BOSS, ROOM_PALACE_OF_WINDS_BOSS_0, 2, 10, 4, 0}, + { WARP_TYPE_AREA, 0, 0, 0x200, 0x350, 0, AREA_PALACE_OF_WINDS_BOSS, ROOM_PALACE_OF_WINDS_BOSS_0, 2, 10, 4, 0}, #else - { 1, { 0, 0, 0, 0 }, 0x200, 0x300, 0, AREA_PALACE_OF_WINDS_BOSS, ROOM_PALACE_OF_WINDS_BOSS_0, 2, 10, 4, 0}, + { WARP_TYPE_AREA, 0, 0, 0x200, 0x300, 0, AREA_PALACE_OF_WINDS_BOSS, ROOM_PALACE_OF_WINDS_BOSS_0, 2, 10, 4, 0}, #endif }; -const ScreenTransitionData gUnk_0813ADEC[] = { - { 1, { 0, 0, 0, 0 }, 0xb8, 0x58, 0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, 1, 0, 4, 0}, - { 1, { 0, 0, 0, 0 }, 0x248, 0x108, 0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, 0, 4, 0}, +const Transition gUnk_0813ADEC[] = { + { WARP_TYPE_AREA, 0, 0, 0xb8, 0x58, 0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, 1, 0, 4, 0}, + { WARP_TYPE_AREA, 0, 0, 0x248, 0x108, 0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, 0, 4, 0}, }; // clang-format on diff --git a/src/data/transitions.c b/src/data/transitions.c index 38f0ae33..c78ef884 100644 --- a/src/data/transitions.c +++ b/src/data/transitions.c @@ -5,7 +5,7 @@ // clang-format off // this terminates a list of Transitions -#define TransitionListEnd { WARP_TYPE_END_OF_LIST, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +#define TransitionListEnd { -1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } const Transition gExitList_NoExitList[] = { TransitionListEnd }; const Transition* const gExitLists_NoExit[] = { @@ -25,34 +25,34 @@ const Transition* const gExitLists_NoExit[] = { }; const Transition gExitList_MinishWoods_Main[] = { - { WARP_TYPE_AREA, 0x00, 0x0138, 0x0318, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_MINISH_WOODS_BOMB, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x01c8, 0x0258, 0x00a8, 0x00d8, 0x00, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x03a8, 0x0010, 0x0078, 0x0088, 0x02, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0210, 0x01c8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0070, 0x0048, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x02c0, 0x0048, 0x0078, 0x0088, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WITCH_HUT, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x03b8, 0x0038, 0x0078, 0x0108, 0x00, AREA_MINISH_CAVES, - ROOM_MINISH_CAVES_MINISH_WOODS_NORTH_1, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0048, 0x0218, 0x0058, 0x0118, 0x00, AREA_MINISH_CAVES, - ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0068, 0x0218, 0x0138, 0x0118, 0x00, AREA_MINISH_CAVES, - ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0088, 0x0218, 0x0218, 0x0118, 0x00, AREA_MINISH_CAVES, - ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01d8, 0x0fff, 0x40, AREA_HYRULE_FIELD, - ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01d8, 0x00a0, 0x80, AREA_HYRULE_FIELD, - ROOM_HYRULE_FIELD_EASTERN_HILLS_SOUTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x0fff, 0x03b8, 0x01, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x0fff, 0x03ac, 0x02, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x0138, 0x0318, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MINISH_WOODS_BOMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x01c8, 0x0258, 0x00a8, 0x00d8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x03a8, 0x0010, 0x0078, 0x0088, 0x02, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0210, 0x01c8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0070, 0x0048, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x02c0, 0x0048, 0x0078, 0x0088, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WITCH_HUT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x03b8, 0x0038, 0x0078, 0x0108, 0x0, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_NORTH_1, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0048, 0x0218, 0x0058, 0x0118, 0x0, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0068, 0x0218, 0x0138, 0x0118, 0x0, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0088, 0x0218, 0x0218, 0x0118, 0x0, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x0fff, 0x40, AREA_HYRULE_FIELD, + ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x00a0, 0x80, AREA_HYRULE_FIELD, + ROOM_HYRULE_FIELD_EASTERN_HILLS_SOUTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x03b8, 0x01, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x03ac, 0x02, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MinishWoods[] = { @@ -60,35 +60,35 @@ const Transition* const gExitLists_MinishWoods[] = { }; const Transition gExitList_LakeHylia_Main[] = { - { WARP_TYPE_AREA, 0, 0x02a0, 0x0378, 0x0078, 0x00a0, 0x02, AREA_HOUSE_INTERIORS_4, - ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0, 0x0120, 0x0038, 0x0078, 0x0078, 0x02, AREA_HOUSE_INTERIORS_2, - ROOM_HOUSE_INTERIORS_2_STOCKWELL_LAKE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0, 0x0100, 0x02b8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0, 0x00c8, 0x0198, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_LAKE_HYLIA_OCARINA, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0, 0x01e8, 0x01a8, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_LIBRARI, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0, 0x02b8, 0x0058, 0x0188, 0x01a8, 0x00, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0, 0x0148, 0x0374, 0x0248, 0x01a8, 0x00, AREA_LAKE_WOODS_CAVE, ROOM_LAKE_WOODS_CAVE_MAIN, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x02c8, 0x0fff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, - 1, TRANSITION_TYPE_NORMAL, 0x04, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0fff, 0x0024, 0x20, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x04, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x02a0, 0x0378, 0x0078, 0x00a0, 0x02, AREA_HOUSE_INTERIORS_4, + ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0120, 0x0038, 0x0078, 0x0078, 0x02, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_STOCKWELL_LAKE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0100, 0x02b8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x00c8, 0x0198, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_LAKE_HYLIA_OCARINA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x01e8, 0x01a8, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_LIBRARI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x02b8, 0x0058, 0x0188, 0x01a8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0148, 0x0374, 0x0248, 0x01a8, 0x0, AREA_LAKE_WOODS_CAVE, ROOM_LAKE_WOODS_CAVE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x02c8, 0x0fff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x04, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0024, 0x20, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x04, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_LakeHylia_Beanstalk[] = { - { WARP_TYPE_AREA, 0, 0x0208, 0x94, 0x248, 0x88, 0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, - 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x0308, 0x94, 0x308, 0x88, 0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, - 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x0388, 0x64, 0x398, 0x68, 0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, - 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0x0208, 0x94, 0x248, 0x88, 0x0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0308, 0x94, 0x308, 0x88, 0x0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0388, 0x64, 0x398, 0x68, 0x0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_LakeHylia[] = { @@ -97,24 +97,24 @@ const Transition* const gExitLists_LakeHylia[] = { }; const Transition gExitList_CastorWilds_Main[] = { - { WARP_TYPE_AREA, 0, 0x0248, 0x0032, 0x0038, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x0288, 0x0032, 0x0128, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x01a8, 0x01a2, 0x0088, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x02d8, 0x0382, 0x0078, 0x0098, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_SOUTH, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x03c8, 0x0038, 0x0078, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_HEART_PIECE, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x0038, 0x02d4, 0x0078, 0x0088, 0x00, AREA_DOJOS, ROOM_DOJOS_SWIFTBLADE_I, 1, TRANSITION_TYPE_NORMAL, - 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0x03b8, 0x02f8, 0x0078, 0x01f8, 0x00, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_SOUTHEAST_WATER_1, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, - { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0008, 0x0fff, 0x08, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, - 1, TRANSITION_TYPE_NORMAL, 2, 0, 0, 0, 0 }, - { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 4, 0, - 0, 0, 0 }, + { WARP_TYPE_AREA, 0x0248, 0x0032, 0x0038, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0288, 0x0032, 0x0128, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x01a8, 0x01a2, 0x0088, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x02d8, 0x0382, 0x0078, 0x0098, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_SOUTH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x03c8, 0x0038, 0x0078, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0038, 0x02d4, 0x0078, 0x0088, 0x0, AREA_DOJOS, ROOM_DOJOS_SWIFTBLADE_I, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x03b8, 0x02f8, 0x0078, 0x01f8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_SOUTHEAST_WATER_1, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0008, 0x0fff, 0x08, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 4, 0x0, + 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CastorWilds[] = { @@ -122,23 +122,23 @@ const Transition* const gExitLists_CastorWilds[] = { }; const Transition gExitList_Ruins_Entrance[] = { - { WARP_TYPE_BORDER, 0, 0x00, 0x00, 0x0fff, 0x3b8, 0x01, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0, 0, 0, 0, 0 }, - { WARP_TYPE_AREA, 0, 0xc8, 0x38, 0x0078, 0x078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_WIND_RUINS, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0fff, 0x3b8, 0x01, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x38, 0x0078, 0x078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_WIND_RUINS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Ruins_Beanstalk[] = { TransitionListEnd, }; const Transition gExitList_Ruins_LadderToTektites[] = { - { WARP_TYPE_AREA, 0, 0x38, 0x08, 0x148, 0xb8, 0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_RUINS, 1, TRANSITION_TYPE_NORMAL, 0, - 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0x38, 0x08, 0x148, 0xb8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Ruins_FortressEntrance[] = { - { WARP_TYPE_BORDER, 0, 0, 0, 0x1d8, 0xb0, 3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, - 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xb0, 3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_Ruins[] = { @@ -151,76 +151,76 @@ const Transition* const gExitLists_Ruins[] = { }; const Transition gExitList_HyruleTown_0[] = { - { WARP_TYPE_AREA, 0x00, 0x02c8, 0x0138, 0x0068, 0x0098, 0x00, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0308, 0x0120, 0x00e8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, - 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0048, 0x00a8, 0x0078, 0x0090, 0x00, AREA_HOUSE_INTERIORS_1, - ROOM_HOUSE_INTERIORS_1_POST_OFFICE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0138, 0x0048, 0x0078, 0x0088, 0x00, AREA_HOUSE_INTERIORS_1, - ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0168, 0x00a8, 0x00e8, 0x00d8, 0x00, AREA_HOUSE_INTERIORS_1, - ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0388, 0x0258, 0x0068, 0x0078, 0x00, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0368, 0x01b8, 0x0068, 0x0078, 0x00, AREA_HOUSE_INTERIORS_1, - ROOM_HOUSE_INTERIORS_1_INN_WEST_2F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x03a8, 0x0218, 0x0048, 0x01a8, 0x00, AREA_HOUSE_INTERIORS_1, - ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x02c8, 0x0098, 0x0078, 0x00c8, 0x00, AREA_HOUSE_INTERIORS_1, - ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0328, 0x0068, 0x00d8, 0x0088, 0x00, AREA_HOUSE_INTERIORS_1, - ROOM_HOUSE_INTERIORS_1_SCHOOL_EAST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0258, 0x02e8, 0x0078, 0x00a8, 0x00, AREA_HOUSE_INTERIORS_3, - ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0198, 0x02e8, 0x0078, 0x00a8, 0x00, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0178, 0x0210, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, - ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0278, 0x01f0, 0x0028, 0x0090, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, - 1, TRANSITION_TYPE_NORMAL, 0x02, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0178, 0x0250, 0x00c8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, - 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0178, 0x0290, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, - ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0138, 0x0290, 0x0028, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, - ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x02, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0298, 0x0258, 0x0078, 0x0088, 0x00, AREA_HOUSE_INTERIORS_3, - ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0090, 0x02c8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0098, 0x0168, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_STRANGER, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0038, 0x0248, 0x0078, 0x0098, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x02e8, 0x02f0, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_ROMIO, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0348, 0x02f8, 0x0078, 0x0098, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_JULIETTA, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x03b8, 0x0358, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_CUCCO, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0138, 0x0388, 0x0078, 0x0098, 0x00, AREA_HOUSE_INTERIORS_4, - ROOM_HOUSE_INTERIORS_4_SWIFTBLADE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0038, 0x01a8, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_HYRULE_TOWN, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0050, 0x0378, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x00f0, 0x0188, 0x0078, 0x0078, 0x02, AREA_CAVES, ROOM_CAVES_HYRULE_TOWN_WATERFALL, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0040, 0x01b8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_2, - ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x02b8, 0x0360, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, - ROOM_HOUSE_INTERIORS_2_EAST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_AREA, 0x00, 0x0338, 0x0134, 0x0288, 0x0118, 0x00, AREA_HYRULE_TOWN_UNDERGROUND, - ROOM_HYRULE_TOWN_UNDERGROUND_0, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01f8, 0x0318, 0x03, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01d8, 0x0230, 0x40, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x0008, 0x0230, 0x04, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x02, 0x00, 0x00, 0x00, 0x00 }, - { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01f8, 0x0010, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x04, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x02c8, 0x0138, 0x0068, 0x0098, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0308, 0x0120, 0x00e8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0048, 0x00a8, 0x0078, 0x0090, 0x0, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_POST_OFFICE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0138, 0x0048, 0x0078, 0x0088, 0x0, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0168, 0x00a8, 0x00e8, 0x00d8, 0x0, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0388, 0x0258, 0x0068, 0x0078, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0368, 0x01b8, 0x0068, 0x0078, 0x0, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_INN_WEST_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x03a8, 0x0218, 0x0048, 0x01a8, 0x0, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x02c8, 0x0098, 0x0078, 0x00c8, 0x0, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0328, 0x0068, 0x00d8, 0x0088, 0x0, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_SCHOOL_EAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0258, 0x02e8, 0x0078, 0x00a8, 0x0, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0198, 0x02e8, 0x0078, 0x00a8, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0178, 0x0210, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0278, 0x01f0, 0x0028, 0x0090, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + 1, TRANSITION_TYPE_NORMAL, 0x02, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0178, 0x0250, 0x00c8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0178, 0x0290, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0138, 0x0290, 0x0028, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x02, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0298, 0x0258, 0x0078, 0x0088, 0x0, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0090, 0x02c8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0098, 0x0168, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_STRANGER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0038, 0x0248, 0x0078, 0x0098, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x02e8, 0x02f0, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_ROMIO, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0348, 0x02f8, 0x0078, 0x0098, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_JULIETTA, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x03b8, 0x0358, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_CUCCO, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0138, 0x0388, 0x0078, 0x0098, 0x0, AREA_HOUSE_INTERIORS_4, + ROOM_HOUSE_INTERIORS_4_SWIFTBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0038, 0x01a8, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_TOWN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0050, 0x0378, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x00f0, 0x0188, 0x0078, 0x0078, 0x02, AREA_CAVES, ROOM_CAVES_HYRULE_TOWN_WATERFALL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0040, 0x01b8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x02b8, 0x0360, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_EAST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0338, 0x0134, 0x0288, 0x0118, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, + ROOM_HYRULE_TOWN_UNDERGROUND_0, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01f8, 0x0318, 0x03, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x0230, 0x40, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0008, 0x0230, 0x04, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x02, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01f8, 0x0010, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x04, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyruleTown[] = { @@ -228,8 +228,8 @@ const Transition* const gExitLists_HyruleTown[] = { }; const Transition gExitList_HyruleTown_1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x318, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x318, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_FestivalTown[] = { @@ -237,70 +237,70 @@ const Transition* const gExitLists_FestivalTown[] = { }; const Transition gExitList_MtCrenel_MountainTop[] = { - { WARP_TYPE_AREA, 0x0, 0x328, 0x34, 0x1a8, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - TransitionListEnd, -}; -const Transition gExitList_MtCrenel_WallClimb[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x58, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HERMIT, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x148, 0x1e8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_CRENEL, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xd8, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x328, 0x34, 0x1a8, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; +const Transition gExitList_MtCrenel_WallClimb[] = { + { WARP_TYPE_AREA, 0xa8, 0x58, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HERMIT, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x148, 0x1e8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_CRENEL, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xd8, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; const Transition gExitList_MtCrenel_CaveOfFlamesEntrance[] = { - { WARP_TYPE_AREA, 0x0, 0x128, 0x18, 0x58, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x208, 0x18, 0x298, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1d8, 0xb8, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x238, 0xb8, 0x48, 0x1c8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x188, 0xf8, 0xb8, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x208, 0x148, 0x78, 0xf0, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1e8, 0x1d8, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_GRIP_RING, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x68, 0x72, 0x88, 0xa8, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x18, 0x58, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x208, 0x18, 0x298, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1d8, 0xb8, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x238, 0xb8, 0x48, 0x1c8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x188, 0xf8, 0xb8, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x208, 0x148, 0x78, 0xf0, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1e8, 0x1d8, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_GRIP_RING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x72, 0x88, 0xa8, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MtCrenel_GustJarShortcut[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x48, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x2f8, 0x28, 0x38, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x348, 0x58, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x108, 0x78, 0x118, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_WATER_HEART_PIECE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x48, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x2f8, 0x28, 0x38, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x348, 0x58, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x108, 0x78, 0x118, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_WATER_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MtCrenel_Entrance[] = { - { WARP_TYPE_AREA, 0x0, 0x298, 0x28, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x198, 0xd8, 0x1f8, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x138, 0x138, 0xb8, 0x138, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x2d8, 0x188, 0x78, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x198, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x3b8, 0x168, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HINT_SCRUB, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1c8, 0x18, 0x98, 0x1a8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_BEAN_PESTO, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x2d8, 0x154, 0x78, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x298, 0x28, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0xd8, 0x1f8, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x138, 0x138, 0xb8, 0x138, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x2d8, 0x188, 0x78, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x198, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x3b8, 0x168, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HINT_SCRUB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1c8, 0x18, 0x98, 0x1a8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_BEAN_PESTO, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x2d8, 0x154, 0x78, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MtCrenel[] = { @@ -312,135 +312,135 @@ const Transition* const gExitLists_MtCrenel[] = { }; const Transition gExitList_HyruleField_WesternWoodSouth[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_SouthHyruleField[] = { - { WARP_TYPE_AREA, 0x0, 0x290, 0x188, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, - ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x3a0, 0x228, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_SOUTH_HYRULE_FIELD_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0xa8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x58, 0x118, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x178, 0xd8, 0x78, 0xb8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x48, 0x1c8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x3b8, 0x3, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x290, 0x188, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x3a0, 0x228, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_SOUTH_HYRULE_FIELD_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0xa8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x118, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x178, 0xd8, 0x78, 0xb8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x1c8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x3b8, 0x3, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_EasternHillsSouth[] = { - { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0x3c8, 0x8, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0x3c8, 0x8, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_EasternHillsCenter[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x98, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_HILLS_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x98, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_HILLS_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_EasternHillsNorth[] = { - { WARP_TYPE_AREA, 0x0, 0x40, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_FARM_HOUSE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x40, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_FARM_HOUSE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_LonLonRanch[] = { - { WARP_TYPE_AREA, 0x0, 0x158, 0x278, 0x68, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x188, 0x278, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xe8, 0x1b4, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x158, 0x278, 0x68, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x188, 0x278, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xe8, 0x1b4, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1f8, 0x208, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH_WALLET, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x354, 0x78, 0x78, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1f8, 0x208, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH_WALLET, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0x354, 0x78, 0x78, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x154, 0x38, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x3e8, 0x2, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xf0, 0x80, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x154, 0x38, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x3e8, 0x2, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xf0, 0x80, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_NorthHyruleField[] = { - { WARP_TYPE_AREA, 0x0, 0x1f8, 0x38, 0x1f8, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1b0, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x240, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1b0, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x240, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x2f0, 0x138, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1f8, 0x154, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_AREA, 0x1f8, 0x38, 0x1f8, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1b0, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x240, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1b0, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x240, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x2f0, 0x138, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1f8, 0x154, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x108, 0x138, 0x108, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x108, 0x138, 0x108, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x138, 0x1e8, 0x78, 0xc8, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xf4, 0x38, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0xf4, 0x118, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x18, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x260, 0x40, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x138, 0x1e8, 0x78, 0xc8, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xf4, 0x38, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0xf4, 0x118, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x18, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x260, 0x40, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_TrilbyHighlands[] = { - { WARP_TYPE_AREA, 0x0, 0x40, 0x388, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0x222, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x2a8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_RUPEE, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x40, 0x388, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x222, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x198, 0x2b2, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0x94, 0x88, 0x68, 0x0, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x98, 0x284, 0x38, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0x284, 0x128, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xf0, 0x8, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + { WARP_TYPE_AREA, 0x38, 0x2a8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_RUPEE, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0x2b2, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x94, 0x88, 0x68, 0x0, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x98, 0x284, 0x38, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0x284, 0x128, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xf0, 0x8, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_WesternWoodsNorth[] = { - { WARP_TYPE_AREA, 0x0, 0xa0, 0x1e8, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_WESTERN_WOODS_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa0, 0x1e8, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_WESTERN_WOODS_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_WesternWoodsCenter[] = { - { WARP_TYPE_AREA, 0x0, 0x90, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_PERCY, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x90, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_PERCY, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyruleField[] = { @@ -458,38 +458,38 @@ const Transition* const gExitLists_HyruleField[] = { // TODO this is one table const Transition gExitList_CastleGarden_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x1f8, 0x28, 0xd8, 0x208, 0x2, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x1f8, 0x28, 0xd8, 0x208, 0x2, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_08134FBC[] = { - { WARP_TYPE_AREA, 0x0, 0x1f8, 0x28, 0x198, 0x1f0, 0x2, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1f8, 0x28, 0x198, 0x1f0, 0x2, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_08135048[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CastleGarden[] = { @@ -497,8 +497,8 @@ const Transition* const gExitLists_CastleGarden[] = { }; const Transition gExitList_CloudTops_House[] = { - { WARP_TYPE_AREA, 0x0, 0x1e8, 0x158, 0x78, 0x138, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1e8, 0x158, 0x78, 0x138, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CloudTops[] = { @@ -506,41 +506,41 @@ const Transition* const gExitLists_CloudTops[] = { }; const Transition gExitList_RoyalValley_Main[] = { - { WARP_TYPE_AREA, 0x0, 0xf0, 0x28, 0x88, 0x78, 0x2, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1a0, 0x198, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DAMPE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x198, 0x2a8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_GRAVEYARD, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x58, 0x84, 0x78, 0x78, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x188, 0x84, 0x78, 0x118, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_GINA, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x10, 0x10, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0x50, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xf0, 0x28, 0x88, 0x78, 0x2, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1a0, 0x198, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DAMPE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0x2a8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_GRAVEYARD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x84, 0x78, 0x78, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x188, 0x84, 0x78, 0x118, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_GINA, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, 0x10, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0x50, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, #ifndef EU - { WARP_TYPE_AREA, 0x0, 0x78, 0x28c, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x28c, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, #else - { WARP_TYPE_AREA, 0x0, 0x78, 0x288, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x288, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, #endif - { WARP_TYPE_AREA, 0x0, 0x78, 0x328, 0x78, 0x98, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x328, 0x78, 0x98, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalValley_ForestMaze[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_08135190[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x278, 0x3, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x278, 0x3, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_RoyalValley[] = { @@ -549,30 +549,30 @@ const Transition* const gExitLists_RoyalValley[] = { }; const Transition gExitList_VeilFalls_Main[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x22, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x158, 0x22, 0x118, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0x42, 0xb8, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x1e2, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xd8, 0x1c2, 0x98, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xd8, 0x142, 0x98, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, - ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0xc2, 0xb8, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xc8, 0x74, 0x38, 0x108, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_VEIL_FALLS_TOP, ROOM_VEIL_FALLS_TOP_0, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xfff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x22, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x158, 0x22, 0x118, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0x42, 0xb8, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x1e2, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xd8, 0x1c2, 0x98, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xd8, 0x142, 0x98, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, + ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0xc2, 0xb8, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x74, 0x38, 0x108, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_VEIL_FALLS_TOP, ROOM_VEIL_FALLS_TOP_0, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_VeilFalls[] = { @@ -580,63 +580,63 @@ const Transition* const gExitLists_VeilFalls[] = { }; const Transition gExitList_Beanstalks_MountCrenel[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL_CLIMB, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL_CLIMB, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_LakeHylia[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_Ruins[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS_CLIMB, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS_CLIMB, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_EasternHills[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_WesternWoods[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_MountCrenelClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x98, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - TransitionListEnd, -}; -const Transition gExitList_Beanstalks_LakeHyliaClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x228, 0x18, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - TransitionListEnd, -}; -const Transition gExitList_Beanstalks_RuinsClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_RUINS, ROOM_RUINS_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x98, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; +const Transition gExitList_Beanstalks_LakeHyliaClimb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x228, 0x18, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_RuinsClimb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_RUINS, ROOM_RUINS_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0 }, + TransitionListEnd, +}; const Transition gExitList_Beanstalks_EasternHillsClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_WesternWoodsClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_Beanstalks[] = { @@ -664,8 +664,8 @@ const Transition* const gExitLists_Beanstalks[] = { }; const Transition gExitList_LakeWoodsCave_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x248, 0x188, 0x148, 0x358, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x248, 0x188, 0x148, 0x358, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_LakeWoodsCave[] = { @@ -673,8 +673,8 @@ const Transition* const gExitLists_LakeWoodsCave[] = { }; const Transition gExitList_HyruleDigCaves_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x188, 0x218, 0x48, 0x118, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x188, 0x218, 0x48, 0x118, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyruleDigCaves[] = { @@ -682,37 +682,37 @@ const Transition* const gExitLists_HyruleDigCaves[] = { }; const Transition gExitList_MinishVillage_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x88, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_GENTARI_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x70, 0x68, 0x50, 0x1, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_GENTARI_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x258, 0x58, 0xe8, 0xb8, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_FESTARI, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x128, 0x228, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_RED, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x168, 0x1d8, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_GREEN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1a8, 0x208, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_BLUE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1e8, 0x2d8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_SHOE_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x48, 0x248, 0x78, 0xc8, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_POT_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x378, 0x288, 0x78, 0x140, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x368, 0x234, 0x58, 0x100, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x18, 0x30, AREA_MINISH_PATHS, ROOM_MINISH_PATHS_MINISH_VILLAGE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x338, 0x1, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x348, 0x40, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x88, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x70, 0x68, 0x50, 0x1, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x258, 0x58, 0xe8, 0xb8, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_FESTARI, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x228, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_RED, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x168, 0x1d8, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_GREEN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1a8, 0x208, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_BLUE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1e8, 0x2d8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_SHOE_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x248, 0x78, 0xc8, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_POT_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x378, 0x288, 0x78, 0x140, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x368, 0x234, 0x58, 0x100, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x18, 0x30, AREA_MINISH_PATHS, ROOM_MINISH_PATHS_MINISH_VILLAGE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x338, 0x1, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x348, 0x40, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishVillage_SideHouse[] = { - { WARP_TYPE_AREA, 0x0, 0x138, 0x68, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_SIDE_AREA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x138, 0x68, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_SIDE_AREA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MinishVillage[] = { @@ -723,16 +723,16 @@ const Transition* const gExitLists_MinishVillage[] = { }; const Transition gExitList_MelarisMine_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x38, 0x78, 0xa8, 0x0, AREA_CRENEL_MINISH_PATHS, ROOM_CRENEL_MINISH_PATHS_MELARI, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x70, 0x12c, 0xbc, 0x138, 0x0, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x228, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x280, 0x11c, 0x24, 0x56, 0x0, AREA_MINISH_HOUSE_INTERIORS, - ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_EAST, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x38, 0x78, 0xa8, 0x0, AREA_CRENEL_MINISH_PATHS, ROOM_CRENEL_MINISH_PATHS_MELARI, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x70, 0x12c, 0xbc, 0x138, 0x0, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x228, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x280, 0x11c, 0x24, 0x56, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_EAST, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MelarisMine[] = { @@ -740,34 +740,34 @@ const Transition* const gExitLists_MelarisMine[] = { }; const Transition gExitList_MinishPaths_ToMinishVillage[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0x3e0, 0x3, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x398, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x3e0, 0x3, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x398, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_CastorWilds[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0x68, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0xa8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x68, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0xa8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_HyruleTown[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x398, 0x68, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x398, 0x68, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_LonLonRanch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e0, 0x174, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e0, 0x174, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_MayorsCabin[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2a8, 0x31a, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x48, 0x30, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2a8, 0x31a, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x48, 0x30, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MinishPaths[] = { @@ -779,27 +779,27 @@ const Transition* const gExitLists_MinishPaths[] = { }; const Transition gExitList_CrenelMinishPaths_CrenelBean[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd2, 0x60, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd2, 0x60, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelMinishPaths_CrenelWater[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x372, 0xf5, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x372, 0xf5, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelMinishPaths_Rainfall[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2cc, 0x98, 0xc0, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2f4, 0x98, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2cc, 0x98, 0xc0, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f4, 0x98, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelMinishPaths_MelarisMine[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf4, 0x108, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x48, 0x30, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf4, 0x108, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x48, 0x30, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CrenelMinishPaths[] = { @@ -810,10 +810,10 @@ const Transition* const gExitLists_CrenelMinishPaths[] = { }; const Transition gExitList_DigCaves1_TrilbyHighlands[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x44, 0x88, 0x78, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1a8, 0x78, 0xb8, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x44, 0x88, 0x78, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1a8, 0x78, 0xb8, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_DigCaves1[] = { @@ -824,122 +824,122 @@ const Transition* const gExitLists_DigCaves1[] = { }; const Transition gExitList_MinishHouseInteriors_GentariMain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x98, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x98, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_GentariExit[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0x50, 0x28, 0x70, 0x1, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x50, 0x28, 0x70, 0x1, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Festari[] = { - { WARP_TYPE_AREA, 0x0, 0xe8, 0xe8, 0x258, 0x68, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xe8, 0x18, 0x1d0, 0x33c, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xe8, 0xe8, 0x258, 0x68, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xe8, 0x18, 0x1d0, 0x33c, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Red[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x238, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x238, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Green[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x168, 0x1e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0x1e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Blue[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x218, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x218, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_SideArea[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x78, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x78, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_ShoeMinish[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x2e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x2e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_PotMinish[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x258, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x258, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_BarrelMinish[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x378, 0x298, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x58, 0xd0, 0x368, 0x218, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x378, 0x298, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0xd0, 0x368, 0x218, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_NULL1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x378, 0x290, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x378, 0x290, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_NULL2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x70, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x70, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MelariMinesSouthwest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MelariMinesSoutheast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x228, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x228, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MelariMinesEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x270, 0x11e, 0xc0, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x270, 0x11e, 0xc0, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_HyruleFieldSouthwest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_SouthHyruleField[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x1d4, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x1d4, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_NextToKnuckle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0x55, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x55, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Librari[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x1b4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x1b4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_HyruleFieldExit[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_SOUTH, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_SOUTH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_HyruleTown[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x1b5, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x1b5, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MinishWoodsBomb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x325, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x325, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_LakeHyliaOcarina[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x1a4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x1a4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MinishHouseInteriors[] = { @@ -986,66 +986,66 @@ const Transition* const gExitLists_MinishHouseInteriors[] = { }; const Transition gExitList_OuterFortressOfWinds_EntranceHall[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WIZZROBE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x128, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1d8, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x288, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x338, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_HEART_PIECE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x28, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WIZZROBE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1d8, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x288, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x338, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x28, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_2F[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_STALFOS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1d8, 0x92, 0x88, 0x170, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x288, 0x92, 0x88, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x338, 0x22, 0x28, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BOSS_KEY, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x128, 0xd8, 0x128, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1d8, 0xd8, 0x1d8, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x288, 0xd8, 0x288, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x338, 0xd8, 0x338, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_STALFOS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1d8, 0x92, 0x88, 0x170, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x288, 0x92, 0x88, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x338, 0x22, 0x28, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BOSS_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0xd8, 0x128, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1d8, 0xd8, 0x1d8, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x288, 0xd8, 0x288, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x338, 0xd8, 0x338, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_3F[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x22, 0x78, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1d8, 0x22, 0x198, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x2e8, 0x22, 0x198, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x338, 0x22, 0x1f8, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1d8, 0x84, 0x1d8, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x288, 0x84, 0x288, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x338, 0x84, 0x338, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x128, 0x84, 0x128, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x22, 0x78, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1d8, 0x22, 0x198, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x2e8, 0x22, 0x198, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x338, 0x22, 0x1f8, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1d8, 0x84, 0x1d8, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x288, 0x84, 0x288, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x338, 0x84, 0x338, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x84, 0x128, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_MoleMitts[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS, - 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_SmallKey[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MINISH_HOLE, - 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MINISH_HOLE, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_OuterFortressOfWinds[] = { @@ -1057,12 +1057,12 @@ const Transition* const gExitLists_OuterFortressOfWinds[] = { }; const Transition gExitList_HyliaDigCaves_North[] = { - { WARP_TYPE_AREA, 0x0, 0x248, 0x62, 0x208, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x308, 0x62, 0x308, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x398, 0x52, 0x388, 0x48, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x248, 0x62, 0x208, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x308, 0x62, 0x308, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x398, 0x52, 0x388, 0x48, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyliaDigCaves[] = { @@ -1074,8 +1074,8 @@ const Transition* const gExitLists_HyliaDigCaves[] = { }; const Transition gExitList_VeilFallsTop_Main[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_VeilFallsTop[] = { @@ -1083,93 +1083,93 @@ const Transition* const gExitLists_VeilFallsTop[] = { }; const Transition gExitList_HouseInteriors2_Stranger[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x98, 0x17c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x98, 0x17c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_WestOracle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_3[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_DrLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x25c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x25c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_NULL1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Romio[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2e8, 0x304, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2e8, 0x304, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Julietta[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x348, 0x30c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x348, 0x30c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Percy[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x90, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x90, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_EastOracle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_A[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_B[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Cucco[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x36c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x36c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_LinksHouseEntrance[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x290, 0x19c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x290, 0x19c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Dampe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a0, 0x1ac, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a0, 0x1ac, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_NULL2[] = { TransitionListEnd, }; const Transition gExitList_HouseInteriors2_StockwellLakeHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x120, 0x4c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x120, 0x4c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_LinksHouseBedroom[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, - ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HouseInteriors2[] = { @@ -1224,33 +1224,33 @@ const Transition* const gExitLists_HouseInteriors2[] = { }; const Transition gExitList_HouseInteriors4_Carpenter[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x90, 0x2dc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x90, 0x2dc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_Swiftblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x39c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x39c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_RanchHouseWest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x158, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_RanchHouseEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_FarmHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_MayorLakeCabin[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2a0, 0x38c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2a0, 0x38c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HouseInteriors4[] = { @@ -1273,18 +1273,18 @@ const Transition* const gExitLists_HouseInteriors4[] = { }; const Transition gExitList_GreatFairies_Graveyard[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x2b8, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2b8, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GreatFairies_MinishWoods[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GreatFairies_MtCrenel[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x148, 0x1f8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x148, 0x1f8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_GreatFairies[] = { @@ -1295,52 +1295,52 @@ const Transition* const gExitLists_GreatFairies[] = { }; const Transition gExitList_HouseInteriors3_StockwellShop[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x258, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x258, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Cafe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_RemShoeShop[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x210, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x210, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Bakery[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x268, 0x1f0, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x268, 0x1f0, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Simon[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x250, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x250, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_FigurineHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x290, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x290, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x290, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x290, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_BorlovEntrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x298, 0x26c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x78, 0x3, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x298, 0x26c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x78, 0x3, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Carlov[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x60, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x60, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Borlov[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HouseInteriors3[] = { @@ -1363,81 +1363,81 @@ const Transition* const gExitLists_HouseInteriors3[] = { }; const Transition gExitList_HouseInteriors1_Mayor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2c8, 0x14c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x318, 0x120, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c8, 0x14c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x318, 0x120, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_PostOffice[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_Library2F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0x68, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x18, 0x68, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_Library1F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x168, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0x78, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x18, 0x78, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_Inn1F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x388, 0x268, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0x98, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xf8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0x38, 0xb8, 0x168, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x388, 0x268, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x18, 0x98, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xf8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0x38, 0xb8, 0x168, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnWestRoom[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnMiddleRoom[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnEastRoom[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnWest2F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x368, 0x1c8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x368, 0x1c8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnEast2F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3a8, 0x230, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x178, 0x118, 0x48, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a8, 0x230, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x178, 0x118, 0x48, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_SchoolWest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2c8, 0xa8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x168, 0x28, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c8, 0xa8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x48, 0x168, 0x28, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_SchoolEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x328, 0x78, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x328, 0x78, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HouseInteriors1[] = { @@ -1476,104 +1476,104 @@ const Transition* const gExitLists_HouseInteriors1[] = { }; const Transition gExitList_TreeInteriors_WitchHut[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2c0, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c0, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_StairsToCarlov[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CARLOV, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x50, 0x388, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CARLOV, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x50, 0x388, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_PercysTreehouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x398, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x398, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3a0, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a0, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_Waveblade[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x98, 0x0, AREA_DOJOS, ROOM_DOJOS_WAVEBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, - 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x100, 0x2c8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x98, 0x0, AREA_DOJOS, ROOM_DOJOS_WAVEBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x100, 0x2c8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_14[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangNorthwest[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x48, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, - 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b0, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x54, 0x48, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b0, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangNortheast[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x108, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x240, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x54, 0x108, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x240, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangSouthwest[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x48, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, - 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b0, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x54, 0x48, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b0, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangSoutheast[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x108, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x240, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x54, 0x108, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x240, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_WesternWoodsHeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa0, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa0, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_NorthHyruleFieldFairyFountain[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2f0, 0x148, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f0, 0x148, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_MinishWoodsGreatFairy[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_MINISH_WOODS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x70, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_MINISH_WOODS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x70, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_1C[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x50, 0x298, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x50, 0x298, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_MinishWoodsBusinessScrub[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_KINSTONE_BUSINESS_SCRUB, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_KINSTONE_BUSINESS_SCRUB, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_1E[] = { TransitionListEnd, }; const Transition gExitList_TreeInteriors_UnusedHeartContainer[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e0, 0x1b8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e0, 0x1b8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_TreeInteriors[] = { @@ -1612,38 +1612,38 @@ const Transition* const gExitLists_TreeInteriors[] = { }; const Transition gExitList_Dojos_Grayblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x20, 0x30, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x20, 0x30, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_Swiftblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x2e8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2e8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_Waveblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToGrimblade[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x3a8, 0x168, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x48, 0x3a8, 0x168, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToSplitblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0x358, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0x358, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToGreatblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToScarblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x398, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x398, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_Dojos[] = { @@ -1666,71 +1666,71 @@ const Transition* const gExitLists_Dojos[] = { }; const Transition gExitList_MinishCracks_LonLonRanchNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x232, 0x18, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x232, 0x18, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_LakeHyliaEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x114, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x114, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_HyruleCastleGarden[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3a8, 0x40, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a8, 0x40, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_MtCrenel[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x158, 0x54, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x54, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_EastHyruleCastle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3c8, 0x184, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3c8, 0x184, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_5[] = { TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsBow[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_RuinsEntrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x17c, 0x3, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, - 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x17c, 0x3, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_MinishWoodsSouth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x218, 0x3c4, 0x3, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x218, 0x3c4, 0x3, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x44, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x44, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsWest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x134, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x134, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsMiddle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x168, 0x2d4, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0x2d4, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_RuinsTektite[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x54, 0x3, AREA_RUINS, ROOM_RUINS_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, - 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x54, 0x3, AREA_RUINS, ROOM_RUINS_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, + 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsNextToBow[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_11[] = { @@ -1764,112 +1764,112 @@ const Transition* const gExitLists_MinishCracks[] = { }; const Transition gExitList_CrenelCaves_BlockPushing[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x328, 0x18, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x28, 0x10, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0x28, 0x20, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x238, 0xb8, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x328, 0x18, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x28, 0x10, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x28, 0x20, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x238, 0xb8, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_PillarCave[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_BridgeSwitch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x238, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0x238, 0xc8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x238, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x28, 0x238, 0xc8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_ExitToMines[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x108, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x108, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_GripRing[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x1e8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x1e8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_FairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x58, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x58, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_SpinyChuPuzzle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2f8, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f8, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_ChuchuPotChest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x348, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x348, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_WaterHeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x118, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x118, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_RupeeFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x298, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x298, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_HelmasaurHallway[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0xe8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0xe8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x18, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_MushroomKeese[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x148, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0x68, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x148, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x38, 0x68, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_LadderToSpringWater[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x198, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x138, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x198, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x138, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_BombBusinessScrub[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x1a8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x1a8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_Hermit[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_HintScrub[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x178, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x178, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_ToGrayblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0xa0, 0x3, AREA_DOJOS, ROOM_DOJOS_GRAYBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, - 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0x158, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0xa0, 0x3, AREA_DOJOS, ROOM_DOJOS_GRAYBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x158, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CrenelCaves[] = { @@ -1893,32 +1893,32 @@ const Transition* const gExitLists_CrenelCaves[] = { }; const Transition gExitList_CastorCaves_South[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x398, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x398, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_North[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x248, 0x48, 0x10, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x288, 0x48, 0x20, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x248, 0x48, 0x10, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0x48, 0x20, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_WindRuins[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x48, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, - 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x48, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, + 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_Darknut[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0x188, 0x28, 0x0, AREA_CASTOR_DARKNUT, ROOM_CASTOR_DARKNUT_HALL, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x1b8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x18, 0x188, 0x28, 0x0, AREA_CASTOR_DARKNUT, ROOM_CASTOR_DARKNUT_HALL, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x1b8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3c8, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3c8, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CastorCaves[] = { @@ -1936,8 +1936,8 @@ const Transition gExitList_CastorDarknut_Main[] = { TransitionListEnd, }; const Transition gExitList_CastorDarknut_Hall[] = { - { WARP_TYPE_AREA, 0x0, 0x188, 0x18, 0x68, 0x28, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x188, 0x18, 0x68, 0x28, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CastorDarknut[] = { @@ -1948,58 +1948,58 @@ const Transition* const gExitLists_CastorDarknut[] = { }; const Transition gExitList_ArmosInteriors_RuinsEntranceNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0xf8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, - 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0xf8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsEntranceSouth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x1a8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, - 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x1a8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsMiddleLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsMiddleRight[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsRight[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_6[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x108, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x108, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsGrassPath[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_8[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, - 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_FortressOfWindsLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_FortressOfWindsRight[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_ArmosInteriors[] = { @@ -2017,47 +2017,47 @@ const Transition* const gExitLists_ArmosInteriors[] = { }; const Transition gExitList_TownMinishHoles_MayorsHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x2c, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2c, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_WestOracle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc, 0x38, 0xc, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc, 0x38, 0xc, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_DrLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x44, 0x30, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x44, 0x30, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_Carpenter[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc, 0x68, 0xc, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc, 0x68, 0xc, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_Cafe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xcc, 0x48, 0xc0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xcc, 0x48, 0xc0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_LibraryBookshelf[] = { - { WARP_TYPE_AREA, 0x0, 0x100, 0xc8, 0x78, 0xc0, 0x0, AREA_TOWN_MINISH_HOLES, - ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKS_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e, 0x3c, 0x10, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x54, 0x3c, 0x20, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x100, 0xc8, 0x78, 0xc0, 0x0, AREA_TOWN_MINISH_HOLES, + ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKS_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e, 0x3c, 0x10, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x54, 0x3c, 0x20, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_LibrariBookHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0xd8, 0x30, AREA_TOWN_MINISH_HOLES, ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0xd8, 0x30, AREA_TOWN_MINISH_HOLES, ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_RemShoeShop[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x74, 0x64, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x74, 0x64, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_TownMinishHoles[] = { @@ -2084,29 +2084,29 @@ const Transition* const gExitLists_TownMinishHoles[] = { }; const Transition gExitList_MinishRafters_Cafe[] = { - { WARP_TYPE_AREA, 0x0, 0x38, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1bc, 0x2b4, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1bc, 0x2b4, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishRafters_Stockwell[] = { - { WARP_TYPE_AREA, 0x0, 0x198, 0x18, 0xac, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x238, 0x2b4, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0x18, 0xac, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x238, 0x2b4, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishRafters_DrLeft[] = { - { WARP_TYPE_AREA, 0x0, 0xe8, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xe8, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishRafters_Bakery[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x148, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x148, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MinishRafters[] = { @@ -2117,15 +2117,15 @@ const Transition* const gExitLists_MinishRafters[] = { }; const Transition gExitList_GoronCave_Stairs[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x38, 0x78, 0x278, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x368, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x38, 0x78, 0x278, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x368, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GoronCave_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x288, 0x78, 0x48, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x288, 0x78, 0x48, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_GoronCave[] = { @@ -2134,31 +2134,31 @@ const Transition* const gExitLists_GoronCave[] = { }; const Transition gExitList_WindTribeTower_Entrance[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x168, 0x30, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x168, 0x30, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_WindTribeTower_Floor2[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_WindTribeTower_Floor3[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_WindTribeTower_Floor4[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0x148, 0x0, AREA_WIND_TRIBE_TOWER_ROOF, ROOM_WIND_TRIBE_TOWER_ROOF_0, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0x148, 0x0, AREA_WIND_TRIBE_TOWER_ROOF, ROOM_WIND_TRIBE_TOWER_ROOF_0, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_WindTribeTower[] = { @@ -2169,8 +2169,8 @@ const Transition* const gExitLists_WindTribeTower[] = { }; const Transition gExitList_WindTribeTowerRoof_Main[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0x138, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x138, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_WindTribeTowerRoof[] = { @@ -2178,32 +2178,32 @@ const Transition* const gExitLists_WindTribeTowerRoof[] = { }; const Transition gExitList_Caves_Boomerang[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x108, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x48, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x108, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0xb8, 0x1f8, 0x138, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x108, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x108, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0xb8, 0x1f8, 0x138, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_ToGraveyard[] = { - { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x88, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0x38, 0x118, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x138, 0x98, 0x78, 0x48, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x108, 0x148, 0x20, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x38, 0x88, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0x38, 0x118, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x138, 0x98, 0x78, 0x48, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x108, 0x148, 0x20, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_2[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0x28, 0x308, 0x98, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x28, 0x308, 0x98, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_3[] = { @@ -2216,85 +2216,85 @@ const Transition gExitList_Caves_5[] = { TransitionListEnd, }; const Transition gExitList_Caves_TrilbyKeeseChest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x2c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_SouthHyruleFieldFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x118, 0xb8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0xb8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_A[] = { TransitionListEnd, }; const Transition gExitList_Caves_HyruleTownWaterfall[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf0, 0x198, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf0, 0x198, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_LonLonRanch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0x1c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x138, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x1c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x138, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyHighlands[] = { - { WARP_TYPE_AREA, 0x0, 0x38, 0x18, 0x98, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x128, 0x18, 0x118, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x18, 0x98, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x18, 0x118, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_LonLonRanchWallet[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x218, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x218, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_SouthHyruleFieldRupee[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x128, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x128, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyRupee[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x2b8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2b8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyMittsFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x68, 0x3, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x68, 0x3, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_HillsKeeseChest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_BottleBusinessScrub[] = { TransitionListEnd, }; const Transition gExitList_Caves_HeartPieceHallway[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x38, 0x138, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x38, 0x138, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_NorthHyruleFieldFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_KinstoneBusinessScrub[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, - ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_Caves[] = { @@ -2325,68 +2325,68 @@ const Transition* const gExitLists_Caves[] = { }; const Transition gExitList_VeilFallsCaves_Hallway2F[] = { - { WARP_TYPE_AREA, 0x0, 0xd8, 0x28, 0x78, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x38, 0x10, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x158, 0x38, 0x20, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xd8, 0x28, 0x78, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x38, 0x10, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x38, 0x20, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_Hallway1F[] = { - { WARP_TYPE_AREA, 0x0, 0x38, 0x18, 0x98, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0xd8, 0x38, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x8c, 0x118, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0xe8, 0xc8, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x18, 0x98, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x18, 0xd8, 0x38, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x8c, 0x118, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0xe8, 0xc8, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_Entrance[] = { - { WARP_TYPE_AREA, 0x0, 0x128, 0x18, 0x58, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x1f8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x18, 0x58, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x1f8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_Exit[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x128, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0x1d8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x18, 0x128, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x1d8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_SecretChest[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, - ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_SecretStaircases[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_SECRET_CHEST, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_SECRET_CHEST, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_BlockPuzzle[] = { - { WARP_TYPE_AREA, 0x0, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, - ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0x158, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x158, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_RupeePath[] = { - { WARP_TYPE_AREA, 0x0, 0x98, 0x18, 0x38, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xd8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x98, 0x18, 0x38, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xd8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x38, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x38, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_VeilFallsCaves[] = { @@ -2409,13 +2409,13 @@ const Transition* const gExitLists_VeilFallsCaves[] = { }; const Transition gExitList_RoyalValleyGraves_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalValleyGraves_Gina[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_RoyalValleyGraves[] = { @@ -2424,49 +2424,49 @@ const Transition* const gExitLists_RoyalValleyGraves[] = { }; const Transition gExitList_MinishCaves_BeanPesto[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x28, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x28, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_SoutheastWater1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x308, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x308, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_Ruins[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x14, 0x30, AREA_RUINS, ROOM_RUINS_LADDER_TO_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x14, 0x30, AREA_RUINS, ROOM_RUINS_LADDER_TO_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_OutsideLinksHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x178, 0xe8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x178, 0xe8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_MinishWoodsNorth1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x48, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x48, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_LakeHyliaNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x68, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x68, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_LakeHyliaLibrari[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0x38, 0x98, 0x204, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x378, 0x38, 0x1b8, 0x1c4, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x38, 0x98, 0x204, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x378, 0x38, 0x1b8, 0x1c4, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_MinishWoodsSouthwest[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x138, 0x48, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x138, 0x138, 0x68, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x218, 0x138, 0x88, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x138, 0x48, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x138, 0x138, 0x68, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x218, 0x138, 0x88, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_MinishCaves[] = { @@ -2483,13 +2483,13 @@ const Transition* const gExitLists_MinishCaves[] = { }; const Transition gExitList_CastleGardenMinishHoles_East[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastleGardenMinishHoles_West[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CastleGardenMinishHoles[] = { @@ -2498,13 +2498,13 @@ const Transition* const gExitLists_CastleGardenMinishHoles[] = { }; const Transition gExitList_37_0[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_37_1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_37[] = { @@ -2513,21 +2513,21 @@ const Transition* const gExitLists_37[] = { }; const Transition gExitList_HyruleTownUnderground_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x288, 0xf8, 0x338, 0x118, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x168, 0x18, 0x78, 0x38, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x48, 0xf8, 0x188, 0x208, 0x0, AREA_HYRULE_DIG_CAVES, ROOM_HYRULE_DIG_CAVES_TOWN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x138, 0x238, 0x88, 0x50, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_1, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x288, 0xf8, 0x338, 0x118, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x168, 0x18, 0x78, 0x38, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0xf8, 0x188, 0x208, 0x0, AREA_HYRULE_DIG_CAVES, ROOM_HYRULE_DIG_CAVES_TOWN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x138, 0x238, 0x88, 0x50, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_1, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleTownUnderground_Well[] = { - { WARP_TYPE_AREA, 0x0, 0x98, 0x50, 0x148, 0x23c, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x78, 0x28, 0x2f8, 0x26c, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x98, 0x50, 0x148, 0x23c, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x28, 0x2f8, 0x26c, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyruleTownUnderground[] = { @@ -2536,13 +2536,13 @@ const Transition* const gExitLists_HyruleTownUnderground[] = { }; const Transition gExitList_HyruleTownMinishCaves_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x174, 0x196, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x174, 0x196, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleTownMinishCaves_Entrance2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe2, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe2, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyruleTownMinishCaves[] = { @@ -2573,13 +2573,13 @@ const Transition* const gExitLists_HyruleTownMinishCaves[] = { }; const Transition gExitList_GardenFountains_East[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x88, 0x308, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x88, 0x308, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GardenFountains_West[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x88, 0xe8, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x88, 0xe8, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_GardenFountains[] = { @@ -2588,13 +2588,13 @@ const Transition* const gExitLists_GardenFountains[] = { }; const Transition gExitList_GreatFairies_Entrance[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x188, 0x68, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x188, 0x68, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GreatFairies_Exit[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x52, 0x29c, 0xc, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, - 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x52, 0x29c, 0xc, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyruleCastleCellar[] = { @@ -2608,85 +2608,85 @@ const Transition* const gExitLists_40[] = { }; const Transition gExitList_DeepwoodShrine_StairsToB1[] = { - { WARP_TYPE_AREA, 0x0, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_COMPASS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_BluePortal[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Map[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Button[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Lever[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x168, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x168, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Barrel[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0x88, 0x50, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0x88, 0xa0, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x108, 0x50, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0x108, 0xa0, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x88, 0x50, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0x88, 0xa0, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x108, 0x50, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0x108, 0xa0, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BUTTON, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_LEVER, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_MAP, 1, - TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BUTTON, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_MAP, 1, + TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Entrance[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x64, 0x30, AREA_DEEPWOOD_SHRINE_ENTRY, ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x64, 0x30, AREA_DEEPWOOD_SHRINE_ENTRY, ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Compass[] = { - { WARP_TYPE_AREA, 0x0, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrineBoss_Main[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x8, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x8, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_PreBoss[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0xd8, 0x3, AREA_DEEPWOOD_SHRINE_BOSS, ROOM_DEEPWOOD_SHRINE_BOSS_MAIN, - 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xd8, 0x3, AREA_DEEPWOOD_SHRINE_BOSS, ROOM_DEEPWOOD_SHRINE_BOSS_MAIN, + 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_DeepwoodShrine[] = { @@ -2730,14 +2730,14 @@ const Transition* const gExitLists_DeepwoodShrineBoss[] = { }; const Transition gExitList_DeepwoodShrineEntry_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x88, 0x1, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x272, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x272, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b8, 0x272, 0xc0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x188, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x272, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x272, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b8, 0x272, 0xc0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_DeepwoodShrineEntry[] = { @@ -2745,38 +2745,38 @@ const Transition* const gExitLists_DeepwoodShrineEntry[] = { }; const Transition gExitList_CaveOfFlames_AfterCane[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0x1a8, 0x38, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MINISH_SPIKES, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x38, 0x1a8, 0x38, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MINISH_SPIKES, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x68, 0x88, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0x88, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_MainCart[] = { - { WARP_TYPE_AREA, 0x0, 0x1f8, 0x38, 0x88, 0x28, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE, - 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1f8, 0x38, 0x88, 0x28, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_NorthEntrance[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0x1f8, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x18, 0x1f8, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_MinishSpikes[] = { - { WARP_TYPE_AREA, 0x0, 0x1a8, 0x28, 0x88, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_AFTER_CANE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1a8, 0x28, 0x88, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_AFTER_CANE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_BeforeGleerok[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BOSS_DOOR, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_BossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xc0, 0x1, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc0, 0x1, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_CaveOfFlames[] = { @@ -2816,102 +2816,102 @@ const Transition* const gExitLists_CaveOfFlames[] = { }; const Transition gExitList_FortressOfWinds_BeforeMazaal[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, - 1, TRANSITION_TYPE_INSTANT, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + 1, TRANSITION_TYPE_INSTANT, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EastKeyLever[] = { - { WARP_TYPE_AREA, 0x0, 0x198, 0x198, 0x2e8, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1f8, 0x198, 0x338, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0x198, 0x2e8, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1f8, 0x198, 0x338, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_PitPlatforms[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x68, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_WestKeyLever[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL, - 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL, + 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Mazaal[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0x18, 0xa0, 0x18c, 0x0, AREA_FORTRESS_OF_WINDS_TOP, ROOM_FORTRESS_OF_WINDS_TOP_MAIN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x18, 0xa0, 0x18c, 0x0, AREA_FORTRESS_OF_WINDS_TOP, ROOM_FORTRESS_OF_WINDS_TOP_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Stalfos[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EntranceMoleMitts[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, - ROOM_OUTER_FORTRESS_OF_WINDS_MOLE_MITTS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_MOLE_MITTS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Main2F[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0xf8, 0x78, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xf8, 0x78, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_MinishHole[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x68, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_BossKey[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_WestStairs2F[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EastStairs2F[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x288, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_WestStairs1F[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, - ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_CenterStairs1F[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x28, 0x88, 0x108, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, - ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x28, 0x88, 0x108, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EastStairs1F[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x288, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, - ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Wizzrobe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, - ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, - ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_FortressOfWinds[] = { @@ -2958,8 +2958,8 @@ const Transition* const gExitLists_FortressOfWinds[] = { }; const Transition gExitList_FortressOfWindsTop_Main[] = { - { WARP_TYPE_AREA, 0x0, 0xa0, 0x1a0, 0xb8, 0x28, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa0, 0x1a0, 0xb8, 0x28, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_FortressOfWindsTop[] = { @@ -2967,8 +2967,8 @@ const Transition* const gExitLists_FortressOfWindsTop[] = { }; const Transition gExitList_InnerMazaal_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x11c, 0xb8, 0x5c, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x11c, 0xb8, 0x5c, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_InnerMazaal[] = { @@ -2977,122 +2977,122 @@ const Transition* const gExitLists_InnerMazaal[] = { }; const Transition gExitList_TempleOfDroplets_WestHole[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_EastHole[] = { - { WARP_TYPE_AREA, 0x0, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_HoleToBlueChuchu[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xc8, 0x28, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x28, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BigBlueChuchu[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BigBlueChuchuKey[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x28, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BossKey[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_NorthSmallKey[] = { - { WARP_TYPE_AREA, 0x0, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BlueChuchuKeyLever[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0xc8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xc8, 0x18, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x18, 0xc8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x18, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_WaterfallNortheast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_Element[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_IceCorner[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BigOcto[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_NorthwestStairs[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_ICE_BRIDGE, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_ICE_BRIDGE, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_ScissorsMiniboss[] = { - { WARP_TYPE_AREA, 0x0, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_STAIRS_TO_SCISSORS_MINIBOSS, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_STAIRS_TO_SCISSORS_MINIBOSS, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_WaterfallSouthwest[] = { - { WARP_TYPE_AREA, 0x0, 0x38, 0x170, 0x38, 0x18, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x170, 0x38, 0x18, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_ToBigBlueChuchu[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_COMPASS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BlockCloneIceBridge[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_StairsToScissorsMiniboss[] = { - { WARP_TYPE_AREA, 0x0, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_LilypadWestB2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x168, 0x3, AREA_TEMPLE_OF_DROPLETS, - ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x168, 0x3, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_CompassRoom[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_TempleOfDroplets[] = { @@ -3163,10 +3163,10 @@ const Transition* const gExitLists_TempleOfDroplets[] = { }; const Transition gExitList_61_0[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x118, 0x174, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0x174, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_61[] = { @@ -3177,25 +3177,25 @@ const Transition gExitList_RoyalCrypt_WaterRope[] = { TransitionListEnd, }; const Transition gExitList_RoyalCrypt_Gibdo[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x12e, 0x128, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x12e, 0x128, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalCrypt_KeyBlock[] = { - { WARP_TYPE_AREA, 0x0, 0x128, 0x38, 0xa8, 0x118, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_GIBDO, 1, TRANSITION_TYPE_NORMAL, - 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x128, 0x16e, 0x88, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_MUSHROOM_PIT, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x38, 0xa8, 0x118, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_GIBDO, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x128, 0x16e, 0x88, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_MUSHROOM_PIT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalCrypt_MushroomPit[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0x128, 0x158, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x38, 0x128, 0x158, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalCrypt_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf0, 0x3c, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf0, 0x3c, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_RoyalCrypt[] = { @@ -3211,130 +3211,130 @@ const Transition* const gExitLists_RoyalCrypt[] = { }; const Transition gExitList_PalaceOfWinds_GyorgTornado[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_GyorgBossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x1c8, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x1c8, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BallAndChainSoldiers[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BombarossaPath[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_HoleToDarknut[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x128, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x128, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_ToBombarossaPath[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BombWallInside[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x218, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x38, 0x218, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BombWallOutside[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0xfff, 0x40, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0xfff, 0x80, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0xfff, 0x40, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0xfff, 0x80, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BlockMazeToBossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_HeartPieceBridge[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_RedWarpHall[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x1c8, 0x2, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, - ROOM_PALACE_OF_WINDS_STAIRS_AFTER_FLOORMASTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x218, 0xd8, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x1c8, 0x2, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, + ROOM_PALACE_OF_WINDS_STAIRS_AFTER_FLOORMASTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x218, 0xd8, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_PitCornerAfterKey[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0xfff, 0xc0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0xfff, 0xc0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_PotPush[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x78, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x78, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_StairsAfterFloormaster[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_KeyArrowButton[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x10, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY, - 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_POT_PUSH, - 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x10, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_POT_PUSH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_PeahatSwitch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_WhirlwindBombarossa[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_ToPeahatSwitch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_GibdoStairs[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BridgeAfterDarknut[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0x168, 0x118, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x18, 0x168, 0x118, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_DarkCompassHall[] = { - { WARP_TYPE_AREA, 0x0, 0x168, 0x130, 0x78, 0x28, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x168, 0x130, 0x78, 0x28, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_PalaceOfWinds[] = { @@ -3397,176 +3397,176 @@ const Transition gExitList_Unused1[] = { }; const Transition gExitList_DarkHyruleCastle_1FEntrance[] = { - { WARP_TYPE_AREA, 0x0, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, - 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, - 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x198, 0x220, 0x1f8, 0x38, 0x2, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0x220, 0x1f8, 0x38, 0x2, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FTopLeftTower[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FTopRightTower[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FBottomLeftTower[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FBottomRightTower[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FKeatonHallToVaati[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xe8, 0x3, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0x190, 0x88, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE_BRIDGE, - ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xe8, 0x3, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x190, 0x88, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE_BRIDGE, + ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FTripleDarknut[] = { - { WARP_TYPE_AREA, 0x0, 0xa8, 0x28, 0x78, 0x168, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_ZELDA_STATUE_PLATFORM, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x28, 0x78, 0x168, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_ZELDA_STATUE_PLATFORM, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FTopLeftTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FTopRightTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_3F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_1F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_1F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FRight[] = { - { WARP_TYPE_AREA, 0x0, 0xf0, 0x5c, 0x44, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xf0, 0xec, 0x44, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xf0, 0x5c, 0x44, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xf0, 0xec, 0x44, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x118, 0x3, AREA_DARK_HYRULE_CASTLE_BRIDGE, ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x118, 0x3, AREA_DARK_HYRULE_CASTLE_BRIDGE, ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FEntrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBottomLeftTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xc0, 0x78, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xc0, 0x78, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBottomLeftGhini[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x188, 0x3, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x188, 0x3, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBottomRightTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x108, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0xa8, 0x108, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0x190, 0x88, 0x288, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x108, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xa8, 0x108, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x190, 0x88, 0x288, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FTopLeftTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FThroneRoom[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x48, 0x88, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x48, 0x88, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FCompass[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FTopRightTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FBeforeThrone[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x68, 0x88, 0x78, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x68, 0x88, 0x78, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FBottomLeftTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FBottomRightTower[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1BelowThrone[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x48, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x48, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1BelowCompass[] = { - { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_COMPASS, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1BeforeThrone[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x68, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x68, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1ToPrison[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x58, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1Map[] = { - { WARP_TYPE_AREA, 0x0, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B2ToPrison[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x58, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_DarkHyruleCastle[] = { @@ -3641,49 +3641,49 @@ const Transition gExitList_Unused2[] = { }; const Transition gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0x178, 0xa8, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0x178, 0xa8, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_Garden[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideNorthwest[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0xc8, 0x88, 0xa8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xa8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideNortheast[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0xc8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideEast[] = { - { WARP_TYPE_AREA, 0x0, 0x38, 0x5c, 0xde, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x38, 0xec, 0xde, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0x5c, 0xde, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x38, 0xec, 0xde, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideSouthwest[] = { - { WARP_TYPE_AREA, 0x0, 0x78, 0xd8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x78, 0xd8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideSouth[] = { - { WARP_TYPE_AREA, 0x0, 0x198, 0xc8, 0x88, 0x170, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0xc8, 0x88, 0xa0, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_GHINI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0xc8, 0x88, 0x170, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xa0, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_GHINI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideSoutheast[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x278, 0x88, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x278, 0x88, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_DarkHyruleCastleOutside[] = { @@ -3698,13 +3698,13 @@ const Transition* const gExitLists_DarkHyruleCastleOutside[] = { }; const Transition gExitList_VaatisArms_First[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, - 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, + 0x0 }, TransitionListEnd, }; const Transition gExitList_VaatisArms_Second[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, - 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, + 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_VaatisArms[] = { @@ -3713,10 +3713,10 @@ const Transition* const gExitLists_VaatisArms[] = { }; const Transition gExitList_DarkHyruleCastleBridge_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0xa8, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, - ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x28, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x18, 0xa8, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x28, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_DarkHyruleCastleBridge[] = { @@ -3724,30 +3724,30 @@ const Transition* const gExitLists_DarkHyruleCastleBridge[] = { }; const Transition gExitList_HyruleCastle_0[] = { - { WARP_TYPE_AREA, 0x0, 0x48, 0xd8, 0x88, 0x288, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x38, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, - TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x48, 0xd8, 0x88, 0x288, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x38, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleCastle_1[] = { - { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x68, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x198, 0x28, 0x1c8, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x58, 0x28, 0x68, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x198, 0x28, 0x1c8, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleCastle_3[] = { - { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0x58, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x1c8, 0x18, 0x198, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x88, 0x278, 0x48, 0xe8, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0, 0x118, 0x1c8, 0x88, 0x180, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, - 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd2, 0x5c, 0xc0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_1, - 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x68, 0x18, 0x58, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x1c8, 0x18, 0x198, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x278, 0x48, 0xe8, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x118, 0x1c8, 0x88, 0x180, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd2, 0x5c, 0xc0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_1, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_HyruleCastle[] = { @@ -3762,10 +3762,10 @@ const Transition* const gExitLists_HyruleCastle[] = { }; const Transition gExitList_SanctuaryEntrance_Main[] = { - { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, - 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x118, 0x1e8, 0x30, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, - 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0x1e8, 0x30, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_SanctuaryEntrance[] = { @@ -3773,23 +3773,23 @@ const Transition* const gExitLists_SanctuaryEntrance[] = { }; const Transition gExitList_Sanctuary_Hall[] = { - { WARP_TYPE_AREA, 0x0, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, - 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_0813A76C[] = { - { WARP_TYPE_AREA, 0x0, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, - ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Sanctuary_Main[] = { - { WARP_TYPE_AREA, 0x0, 0xe8, 0x28, 0x98, 0x130, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_STAINED_GLASS, 2, - TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0xe8, 0x28, 0x98, 0x130, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_STAINED_GLASS, 2, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Sanctuary_StainedGlass[] = { - { WARP_TYPE_AREA, 0x0, 0x98, 0x140, 0xe8, 0x38, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_MAIN, 2, TRANSITION_TYPE_NORMAL, 0x4, - 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x98, 0x140, 0xe8, 0x38, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_MAIN, 2, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition* const gExitLists_Sanctuary[] = { diff --git a/src/enemy/armos.c b/src/enemy/armos.c index 94236dee..fcdfeb7a 100644 --- a/src/enemy/armos.c +++ b/src/enemy/armos.c @@ -18,7 +18,7 @@ typedef struct { /*0x68*/ u8 unk_68[0x10]; /*0x78*/ u16 unk_78; /*0x7a*/ u16 unk_7a; - /*0x7c*/ ScreenTransitionData* unk_7c; + /*0x7c*/ Transition* unk_7c; /*0x80*/ u8 unk_80; /*0x81*/ u8 unk_81; /*0x82*/ u8 unk_82; @@ -134,7 +134,7 @@ void sub_0803026C(ArmosEntity* this) { this->unk_84 = (0x47d >> this->unk_80) & 1; } if (super->type2 != 0) { - this->unk_7c = (ScreenTransitionData*)GetCurrentRoomProperty(super->type2); + this->unk_7c = (Transition*)GetCurrentRoomProperty(super->type2); } this->unk_81 = super->health; sub_08030580(this); diff --git a/src/enemy/mazaalHead.c b/src/enemy/mazaalHead.c index 049b32d1..5078e29a 100644 --- a/src/enemy/mazaalHead.c +++ b/src/enemy/mazaalHead.c @@ -118,11 +118,11 @@ void (*const gUnk_080CED74[])(MazaalHeadEntity*) = { sub_08034BA0, }; const s8 gUnk_080CED84[] = { 0x0d, 0x10, -0xd, 0x10 }; -const ScreenTransitionData gUnk_080CED88 = { - 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_PHASE_1, 1, 0, 0, 0 +const Transition gUnk_080CED88 = { + 1, 0, 0, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_PHASE_1, 1, 0, 0, 0 }; -const ScreenTransitionData gUnk_080CED9C = { - 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_MAIN, 1, 0, 0, 0 +const Transition gUnk_080CED9C = { + 1, 0, 0, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_MAIN, 1, 0, 0, 0 }; void MazaalHead(MazaalHeadEntity* this) { diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index facc5527..819decc9 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -185,8 +185,8 @@ const Coords gUnk_080D13D8[] = { { .HALF = { -0x60, 0x80 } }, { .HALF = { 0x60, const u8 gUnk_080D13E0[] = { 0xc, 0xe, 0x10 }; const u8 gUnk_080D13E3[] = { 8, 9, 10, 4, 4, 5 }; const s8 gUnk_080D13E9[] = { -8, 8 }; -const ScreenTransitionData gUnk_080D13EC = { - 1, { 0, 0, 0, 0 }, 0x98, 0xb8, 0, AREA_VAATIS_ARMS, ROOM_VAATIS_ARMS_FIRST, 1, 0, 0, 0 +const Transition gUnk_080D13EC = { + 1, 0, 0, 0x98, 0xb8, 0, AREA_VAATIS_ARMS, ROOM_VAATIS_ARMS_FIRST, 1, 0, 0, 0 }; const u16 gUnk_080D1400[][5] = { { 0x8000, 0x7000, 0x6000, 0x5000, 0x4000 }, diff --git a/src/menu/kinstoneMenu.c b/src/menu/kinstoneMenu.c index eecc21b6..ee6d1bf9 100644 --- a/src/menu/kinstoneMenu.c +++ b/src/menu/kinstoneMenu.c @@ -72,15 +72,15 @@ Subtask KinstoneMenu_Type4; Subtask KinstoneMenu_Type5; // Belongs to subtask2.c -const ScreenTransitionData gUnk_08128024[] = { - { 1, { 0, 0, 0, 0 }, 0x98, 0xf8, 0, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, 12, 4, 0 }, - { 1, { 0, 0, 0, 0 }, 0xf8, 0xf8, 0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, 12, 4, 0 }, - { 1, { 0, 0, 0, 0 }, 0x1e8, 0x1a8, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, 12, 4, 0 }, - { 1, { 0, 0, 0, 0 }, 0x278, 0x58, 0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, 12, 4, 0 }, - { 1, { 0, 0, 0, 0 }, 0xa8, 0x1b8, 0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, 12, 4, 0 }, - { 1, { 0, 0, 0, 0 }, 0x228, 0x398, 0, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, 12, 4, 0 }, - { 1, { 0, 0, 0, 0 }, 0x2c8, 0x128, 0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, 12, 4, 0 }, - { 1, { 0, 0, 0, 0 }, 0x128, 0x2a8, 0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, 12, 4, 0 }, +const Transition gUnk_08128024[] = { + { 1, 0, 0, 0x98, 0xf8, 0, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, 12, 4, 0 }, + { 1, 0, 0, 0xf8, 0xf8, 0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, 12, 4, 0 }, + { 1, 0, 0, 0x1e8, 0x1a8, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, 12, 4, 0 }, + { 1, 0, 0, 0x278, 0x58, 0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, 12, 4, 0 }, + { 1, 0, 0, 0xa8, 0x1b8, 0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, 12, 4, 0 }, + { 1, 0, 0, 0x228, 0x398, 0, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, 12, 4, 0 }, + { 1, 0, 0, 0x2c8, 0x128, 0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, 12, 4, 0 }, + { 1, 0, 0, 0x128, 0x2a8, 0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, 12, 4, 0 }, }; u32 sub_080A3B48(void) { diff --git a/src/npc/npc4E.c b/src/npc/npc4E.c index 2fae4b91..69a57088 100644 --- a/src/npc/npc4E.c +++ b/src/npc/npc4E.c @@ -35,7 +35,7 @@ extern void script_MinishVillageObjectRightStoneOpening; // Cutscene data type? const Hitbox gUnk_08114154; const InteractCollisionData gNpc4ECollisionData[]; -const ScreenTransitionData* const gNpc4ETransitions[]; +const Transition* const gNpc4ETransitions[]; const u8 gNpc4ETransitionTypes[]; const u16 gUnk_081141F4[]; @@ -255,8 +255,8 @@ const InteractCollisionData gNpc4ECollisionData[] = { // #endif }; -// Array of pointers to ScreenTransitionData -const ScreenTransitionData* const gNpc4ETransitions[] = { // +// Array of pointers to Transition +const Transition* const gNpc4ETransitions[] = { // &gUnk_0813AB6C, &gUnk_0813ABBC, &gUnk_0813ABE4, &gUnk_0813ABF8, &gUnk_0813AC0C, &gUnk_0813AC20, &gUnk_0813AC5C, &gUnk_0813AC70, &gUnk_0813AC84, &gUnk_0813AC98, &gUnk_0813ACAC, &gUnk_0813ACC0, &gUnk_0813ACD4, &gUnk_0813ACE8, &gUnk_0813AC5C, &gUnk_0813ACFC diff --git a/src/scroll.c b/src/scroll.c index 973bfcbd..3822a8b5 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -607,7 +607,7 @@ bool32 sub_080806BC(u32 x, u32 y, u32 param_3, u32 param_4) { while (*(u16*)puVar3 != 0xffff) { u32 uVar3 = *(u16*)puVar3; if ((((1 << uVar3) & param_4) != 0) && (gUnk_0811E7AC[uVar3](puVar3, x, y, param_3))) { - DoExitTransition((const ScreenTransitionData*)puVar3); + DoExitTransition((const Transition*)puVar3); return 1; } puVar3++; @@ -616,18 +616,16 @@ bool32 sub_080806BC(u32 x, u32 y, u32 param_3, u32 param_4) { } const Transition* sub_08080734(u32 param_1, u32 param_2) { - u32 warpType; - s32 iVar2; u32 uVar4; - const Transition* puVar3; + const Transition* transition; - puVar3 = (gArea.pCurrentRoomInfo->exits); - uVar4 = 10; - while (*(u16*)puVar3 != 0xffff) { - if ((((1 << *(u16*)puVar3) & uVar4) != 0) && (sub_08080808(puVar3, param_1, param_2, 0))) { - return puVar3; + transition = gArea.pCurrentRoomInfo->exits; + uVar4 = 0xa; + while (*(u16*)transition != 0xffff) { + if ((((1 << *(u16*)transition) & uVar4) != 0) && sub_08080808(transition, param_1, param_2, 0)) { + return transition; } - puVar3++; + transition++; } return NULL; } @@ -697,7 +695,7 @@ bool32 sub_08080808(const Transition* param_1, u32 x, u32 y, u32 param_4) { } } -void DoExitTransition(const ScreenTransitionData* data) { +void DoExitTransition(const Transition* data) { static void (*const gUnk_0811E7C4[])(s32) = { sub_080808D8, sub_080808E4, @@ -707,25 +705,25 @@ void DoExitTransition(const ScreenTransitionData* data) { PlayerRoomStatus* status; gRoomTransition.transitioningOut = 1; status = &gRoomTransition.player_status; - if ((u16)data->playerXPos <= 0x3ff) { - status->start_pos_x = data->playerXPos; + if ((u16)data->endX <= 0x3ff) { + status->start_pos_x = data->endX; } else { status->start_pos_x = (gRoomControls.camera_target)->x.HALF.HI | 0x8000; } - if ((u16)data->playerYPos <= 0x3ff) { - status->start_pos_y = data->playerYPos; + if ((u16)data->endY <= 0x3ff) { + status->start_pos_y = data->endY; } else { status->start_pos_y = (gRoomControls.camera_target)->y.HALF.HI | 0x8000; } status->area_next = data->area; status->room_next = data->room; - status->layer = data->playerLayer; - status->spawn_type = data->spawn_type; - status->start_anim = data->playerState; + status->layer = data->layer; + status->spawn_type = data->transition_type; + status->start_anim = data->facing_direction; if (data->transitionSFX != SFX_NONE) { SoundReq(data->transitionSFX); } - gUnk_0811E7C4[data->type](data->field_0xa); + gUnk_0811E7C4[data->warp_type](data->shape); } void sub_080808D8(s32 param_1) { @@ -748,7 +746,7 @@ void sub_08080910(s32 param_1) { gRoomTransition.type = TRANSITION_CUT; } -void sub_0808091C(const ScreenTransitionData* screenTransition, u32 transitionType) { +void sub_0808091C(const Transition* screenTransition, u32 transitionType) { DoExitTransition(screenTransition); gRoomTransition.type = transitionType; } diff --git a/src/subtask.c b/src/subtask.c index 3bc20af4..ddccfff1 100644 --- a/src/subtask.c +++ b/src/subtask.c @@ -188,7 +188,7 @@ void Subtask_Exit(void) { } // Used by Subtask_FastTravel and EnterPortalSubtask? -void sub_080A71F4(const ScreenTransitionData* exitTransition) { +void sub_080A71F4(const Transition* exitTransition) { if (exitTransition != NULL) { DoExitTransition(exitTransition); } diff --git a/src/subtask/subtaskFastTravel.c b/src/subtask/subtaskFastTravel.c index b457a10c..40b1ca0f 100644 --- a/src/subtask/subtaskFastTravel.c +++ b/src/subtask/subtaskFastTravel.c @@ -17,7 +17,7 @@ void sub_080A6E70(void); u32 sub_080A6D74(u32); void sub_080A6EE0(u32 param_1); -extern const ScreenTransitionData gUnk_08128024[]; +extern const Transition gUnk_08128024[]; void Subtask_FastTravel(void) { FlushSprites(); @@ -179,10 +179,10 @@ void sub_080A6EE0(u32 param_1) { u32 x; u32 y; RoomHeader* roomHeader; - const ScreenTransitionData* ptr = &gUnk_08128024[param_1]; + const Transition* ptr = &gUnk_08128024[param_1]; - x = (u16)ptr->playerXPos; - y = (u16)ptr->playerYPos; + x = (u16)ptr->endX; + y = (u16)ptr->endY; roomHeader = &gAreaRoomHeaders[ptr->area][ptr->room]; x += roomHeader->map_x; y += roomHeader->map_y; From e62e1d01cd474e0ced715e118712bea7251d7318 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 3 Mar 2025 14:01:31 +0000 Subject: [PATCH 03/17] clean up some transition functions --- src/scroll.c | 85 +++++++++++++++++++++++----------------------------- 1 file changed, 38 insertions(+), 47 deletions(-) diff --git a/src/scroll.c b/src/scroll.c index 3822a8b5..84264078 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -55,8 +55,8 @@ u32 sub_08080278(); void sub_08080C80(MapDataDefinition*); void sub_08080368(); void FillActTileForLayer(MapLayer* mapLayer); -bool32 sub_08080794(const Transition* transition, u32 param_2, u32 param_3, u32 param_4); -bool32 sub_08080808(const Transition* transition, u32 param_2, u32 param_3, u32 param_4); +bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 param_2, u32 param_3, u32 direction); +bool32 IsPosInTransitionRect(const Transition* transition, u32 param_2, u32 param_3, u32 unused); void sub_080808D8(s32); void sub_080808E4(s32); void sub_08080904(s32); @@ -592,37 +592,31 @@ void ClearTileMaps(void) { MemClear(&gMapDataTopSpecial, 0x8000); } -bool32 sub_080806BC(u32 x, u32 y, u32 param_3, u32 param_4) { +bool32 sub_080806BC(u32 x, u32 y, u32 direction, u32 warp_types) { static bool32 (*const gUnk_0811E7AC[])(const Transition*, u32, u32, u32) = { - sub_08080794, - sub_08080808, - sub_08080794, - sub_08080808, + IsPosInBorderTransitionRegion, + IsPosInTransitionRect, + IsPosInBorderTransitionRegion, + IsPosInTransitionRect, }; - u32 uVar1; - s32 iVar2; - const Transition* puVar3; - puVar3 = (gArea.pCurrentRoomInfo->exits); - while (*(u16*)puVar3 != 0xffff) { - u32 uVar3 = *(u16*)puVar3; - if ((((1 << uVar3) & param_4) != 0) && (gUnk_0811E7AC[uVar3](puVar3, x, y, param_3))) { - DoExitTransition((const Transition*)puVar3); + const Transition* transition = gArea.pCurrentRoomInfo->exits; + while (transition->warp_type != WARP_TYPE_END_OF_LIST) { + if (((1 << transition->warp_type) & warp_types) != 0 && + gUnk_0811E7AC[transition->warp_type](transition, x, y, direction)) { + DoExitTransition(transition); return 1; } - puVar3++; + transition++; } return 0; } const Transition* sub_08080734(u32 param_1, u32 param_2) { - u32 uVar4; - const Transition* transition; - - transition = gArea.pCurrentRoomInfo->exits; - uVar4 = 0xa; - while (*(u16*)transition != 0xffff) { - if ((((1 << *(u16*)transition) & uVar4) != 0) && sub_08080808(transition, param_1, param_2, 0)) { + const Transition* transition = gArea.pCurrentRoomInfo->exits; + u32 warp_types = 0xa; + while (transition->warp_type != WARP_TYPE_END_OF_LIST) { + if (((1 << transition->warp_type) & warp_types) != 0 && IsPosInTransitionRect(transition, param_1, param_2, 0)) { return transition; } transition++; @@ -630,35 +624,35 @@ const Transition* sub_08080734(u32 param_1, u32 param_2) { return NULL; } -bool32 sub_08080794(const Transition* transition, u32 x, u32 y, u32 param_4) { +bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 pos_x, u32 pos_y, u32 direction) { u32 shapeBitmask; - switch (param_4) { + switch (direction) { default: return 0; case 0: - if (gRoomControls.width / 2 < x) { + if (gRoomControls.width / 2 < pos_x) { shapeBitmask = 2; } else { shapeBitmask = 1; } break; case 1: - if (gRoomControls.height / 2 < y) { + if (gRoomControls.height / 2 < pos_y) { shapeBitmask = 8; } else { shapeBitmask = 4; } break; case 2: - if (gRoomControls.width / 2 < x) { + if (gRoomControls.width / 2 < pos_x) { shapeBitmask = 0x20; } else { shapeBitmask = 0x10; } break; case 3: - if (gRoomControls.height / 2 < y) { + if (gRoomControls.height / 2 < pos_y) { shapeBitmask = 0x80; } else { shapeBitmask = 0x40; @@ -672,27 +666,24 @@ bool32 sub_08080794(const Transition* transition, u32 x, u32 y, u32 param_4) { return FALSE; } -bool32 sub_08080808(const Transition* param_1, u32 x, u32 y, u32 param_4) { - static const u8 gUnk_0811E7BC[] = { 6, 6, 6, 14, 14, 6, 22, 6 }; - const u8* ptr; - u32 temp; - u32 temp2; - u32 temp3; - u32 temp4; - ptr = &gUnk_0811E7BC[param_1->shape * 2]; - temp = ptr[0]; - temp2 = x - param_1->startX; - if ((temp2 + temp <= ptr[0] * 2)) { - temp3 = ptr[1]; - temp4 = y - param_1->startY; - if (temp4 + temp3 <= ptr[1] * 2) { +bool32 IsPosInTransitionRect(const Transition* transition, u32 pos_x, u32 pos_y, u32 unused) { + static const u8 gShapeDimensions[] = { 6, 6, 6, 14, 14, 6, 22, 6 }; + const u8* shape; + u32 shape_x; + u32 delta_x; + u32 shape_y; + u32 delta_y; + shape = &gShapeDimensions[transition->shape * 2]; + shape_x = shape[0]; + delta_x = pos_x - transition->startX; + if (delta_x + shape_x <= shape_x * 2) { + shape_y = shape[1]; + delta_y = pos_y - transition->startY; + if (delta_y + shape_y <= shape_y * 2) { return TRUE; - } else { - return FALSE; } - } else { - return FALSE; } + return FALSE; } void DoExitTransition(const Transition* data) { From b5eab6fc2bb4b034f7153d56b779e3679076961d Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 3 Mar 2025 15:39:15 +0000 Subject: [PATCH 04/17] add enum for transition shape --- include/transitions.h | 20 + src/data/transitions.c | 1502 ++++++++++++++++++++-------------------- src/scroll.c | 31 +- 3 files changed, 787 insertions(+), 766 deletions(-) diff --git a/include/transitions.h b/include/transitions.h index a338202c..eac41f43 100644 --- a/include/transitions.h +++ b/include/transitions.h @@ -28,6 +28,26 @@ typedef enum { TRANSITION_TYPE_FLY_IN, } TransitionType; +typedef enum { + TRANSITION_SHAPE_AREA_12x12, + TRANSITION_SHAPE_AREA_12x28, + TRANSITION_SHAPE_AREA_28x12, + TRANSITION_SHAPE_AREA_44x12, + + TRANSITION_SHAPE_BORDER_NORTH_WEST = 0x01, + TRANSITION_SHAPE_BORDER_NORTH_EAST = 0x02, + TRANSITION_SHAPE_BORDER_NORTH = 0x03, + TRANSITION_SHAPE_BORDER_EAST_NORTH = 0x04, + TRANSITION_SHAPE_BORDER_EAST_SOUTH = 0x08, + TRANSITION_SHAPE_BORDER_EAST = 0x0c, + TRANSITION_SHAPE_BORDER_SOUTH_WEST = 0x10, + TRANSITION_SHAPE_BORDER_SOUTH_EAST = 0x20, + TRANSITION_SHAPE_BORDER_SOUTH = 0x30, + TRANSITION_SHAPE_BORDER_WEST_NORTH = 0x40, + TRANSITION_SHAPE_BORDER_WEST_SOUTH = 0x80, + TRANSITION_SHAPE_BORDER_WEST = 0xc0, +} TransitionShape; + typedef struct Transition { u16 warp_type; /**< @see WarpType */ u16 startX; diff --git a/src/data/transitions.c b/src/data/transitions.c index c78ef884..aaf9f991 100644 --- a/src/data/transitions.c +++ b/src/data/transitions.c @@ -25,33 +25,33 @@ const Transition* const gExitLists_NoExit[] = { }; const Transition gExitList_MinishWoods_Main[] = { - { WARP_TYPE_AREA, 0x0138, 0x0318, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x0138, 0x0318, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_MINISH_WOODS_BOMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x01c8, 0x0258, 0x00a8, 0x00d8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + { WARP_TYPE_AREA, 0x01c8, 0x0258, 0x00a8, 0x00d8, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x03a8, 0x0010, 0x0078, 0x0088, 0x02, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, + { WARP_TYPE_AREA, 0x03a8, 0x0010, 0x0078, 0x0088, TRANSITION_SHAPE_AREA_28x12, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0210, 0x01c8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + { WARP_TYPE_AREA, 0x0210, 0x01c8, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0070, 0x0048, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + { WARP_TYPE_AREA, 0x0070, 0x0048, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x02c0, 0x0048, 0x0078, 0x0088, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WITCH_HUT, + { WARP_TYPE_AREA, 0x02c0, 0x0048, 0x0078, 0x0088, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WITCH_HUT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x03b8, 0x0038, 0x0078, 0x0108, 0x0, AREA_MINISH_CAVES, + { WARP_TYPE_AREA, 0x03b8, 0x0038, 0x0078, 0x0108, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_MINISH_WOODS_NORTH_1, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0048, 0x0218, 0x0058, 0x0118, 0x0, AREA_MINISH_CAVES, + { WARP_TYPE_AREA, 0x0048, 0x0218, 0x0058, 0x0118, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0068, 0x0218, 0x0138, 0x0118, 0x0, AREA_MINISH_CAVES, + { WARP_TYPE_AREA, 0x0068, 0x0218, 0x0138, 0x0118, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0088, 0x0218, 0x0218, 0x0118, 0x0, AREA_MINISH_CAVES, + { WARP_TYPE_AREA, 0x0088, 0x0218, 0x0218, 0x0118, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x0fff, 0x40, AREA_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x0fff, TRANSITION_SHAPE_BORDER_WEST_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x00a0, 0x80, AREA_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x00a0, TRANSITION_SHAPE_BORDER_WEST_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_SOUTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x03b8, 0x01, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x03b8, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x03ac, 0x02, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x03ac, TRANSITION_SHAPE_BORDER_NORTH_EAST, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -60,34 +60,34 @@ const Transition* const gExitLists_MinishWoods[] = { }; const Transition gExitList_LakeHylia_Main[] = { - { WARP_TYPE_AREA, 0x02a0, 0x0378, 0x0078, 0x00a0, 0x02, AREA_HOUSE_INTERIORS_4, + { WARP_TYPE_AREA, 0x02a0, 0x0378, 0x0078, 0x00a0, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0120, 0x0038, 0x0078, 0x0078, 0x02, AREA_HOUSE_INTERIORS_2, + { WARP_TYPE_AREA, 0x0120, 0x0038, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_STOCKWELL_LAKE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0100, 0x02b8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, + { WARP_TYPE_AREA, 0x0100, 0x02b8, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x00c8, 0x0198, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x00c8, 0x0198, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_LAKE_HYLIA_OCARINA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x01e8, 0x01a8, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x01e8, 0x01a8, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_LIBRARI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x02b8, 0x0058, 0x0188, 0x01a8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH, + { WARP_TYPE_AREA, 0x02b8, 0x0058, 0x0188, 0x01a8, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0148, 0x0374, 0x0248, 0x01a8, 0x0, AREA_LAKE_WOODS_CAVE, ROOM_LAKE_WOODS_CAVE_MAIN, + { WARP_TYPE_AREA, 0x0148, 0x0374, 0x0248, 0x01a8, TRANSITION_SHAPE_AREA_12x12, AREA_LAKE_WOODS_CAVE, ROOM_LAKE_WOODS_CAVE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x02c8, 0x0fff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x02c8, 0x0fff, TRANSITION_SHAPE_BORDER_WEST, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0010, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x04, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0024, 0x20, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0024, TRANSITION_SHAPE_BORDER_SOUTH_EAST, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x04, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_LakeHylia_Beanstalk[] = { - { WARP_TYPE_AREA, 0x0208, 0x94, 0x248, 0x88, 0x0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x0208, 0x94, 0x248, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0308, 0x94, 0x308, 0x88, 0x0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x0308, 0x94, 0x308, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0388, 0x64, 0x398, 0x68, 0x0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x0388, 0x64, 0x398, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -97,23 +97,23 @@ const Transition* const gExitLists_LakeHylia[] = { }; const Transition gExitList_CastorWilds_Main[] = { - { WARP_TYPE_AREA, 0x0248, 0x0032, 0x0038, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, + { WARP_TYPE_AREA, 0x0248, 0x0032, 0x0038, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0288, 0x0032, 0x0128, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, + { WARP_TYPE_AREA, 0x0288, 0x0032, 0x0128, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x01a8, 0x01a2, 0x0088, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, + { WARP_TYPE_AREA, 0x01a8, 0x01a2, 0x0088, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x02d8, 0x0382, 0x0078, 0x0098, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_SOUTH, + { WARP_TYPE_AREA, 0x02d8, 0x0382, 0x0078, 0x0098, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_SOUTH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x03c8, 0x0038, 0x0078, 0x0078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_HEART_PIECE, + { WARP_TYPE_AREA, 0x03c8, 0x0038, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0038, 0x02d4, 0x0078, 0x0088, 0x0, AREA_DOJOS, ROOM_DOJOS_SWIFTBLADE_I, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x0038, 0x02d4, 0x0078, 0x0088, TRANSITION_SHAPE_AREA_12x12, AREA_DOJOS, ROOM_DOJOS_SWIFTBLADE_I, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x03b8, 0x02f8, 0x0078, 0x01f8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_SOUTHEAST_WATER_1, + { WARP_TYPE_AREA, 0x03b8, 0x02f8, 0x0078, 0x01f8, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_SOUTHEAST_WATER_1, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0008, 0x0fff, 0x08, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0008, 0x0fff, TRANSITION_SHAPE_BORDER_EAST_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, 1, TRANSITION_TYPE_NORMAL, 2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 4, 0x0, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0fff, 0x0010, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -122,9 +122,9 @@ const Transition* const gExitLists_CastorWilds[] = { }; const Transition gExitList_Ruins_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x0fff, 0x3b8, 0x01, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0fff, 0x3b8, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xc8, 0x38, 0x0078, 0x078, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_WIND_RUINS, + { WARP_TYPE_AREA, 0xc8, 0x38, 0x0078, 0x078, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_WIND_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -132,12 +132,12 @@ const Transition gExitList_Ruins_Beanstalk[] = { TransitionListEnd, }; const Transition gExitList_Ruins_LadderToTektites[] = { - { WARP_TYPE_AREA, 0x38, 0x08, 0x148, 0xb8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x38, 0x08, 0x148, 0xb8, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Ruins_FortressEntrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xb0, 3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xb0, TRANSITION_SHAPE_BORDER_NORTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -151,75 +151,75 @@ const Transition* const gExitLists_Ruins[] = { }; const Transition gExitList_HyruleTown_0[] = { - { WARP_TYPE_AREA, 0x02c8, 0x0138, 0x0068, 0x0098, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + { WARP_TYPE_AREA, 0x02c8, 0x0138, 0x0068, 0x0098, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0308, 0x0120, 0x00e8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + { WARP_TYPE_AREA, 0x0308, 0x0120, 0x00e8, 0x0070, TRANSITION_SHAPE_AREA_12x28, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0048, 0x00a8, 0x0078, 0x0090, 0x0, AREA_HOUSE_INTERIORS_1, + { WARP_TYPE_AREA, 0x0048, 0x00a8, 0x0078, 0x0090, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_POST_OFFICE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0138, 0x0048, 0x0078, 0x0088, 0x0, AREA_HOUSE_INTERIORS_1, + { WARP_TYPE_AREA, 0x0138, 0x0048, 0x0078, 0x0088, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0168, 0x00a8, 0x00e8, 0x00d8, 0x0, AREA_HOUSE_INTERIORS_1, + { WARP_TYPE_AREA, 0x0168, 0x00a8, 0x00e8, 0x00d8, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0388, 0x0258, 0x0068, 0x0078, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + { WARP_TYPE_AREA, 0x0388, 0x0258, 0x0068, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0368, 0x01b8, 0x0068, 0x0078, 0x0, AREA_HOUSE_INTERIORS_1, + { WARP_TYPE_AREA, 0x0368, 0x01b8, 0x0068, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x03a8, 0x0218, 0x0048, 0x01a8, 0x0, AREA_HOUSE_INTERIORS_1, + { WARP_TYPE_AREA, 0x03a8, 0x0218, 0x0048, 0x01a8, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x02c8, 0x0098, 0x0078, 0x00c8, 0x0, AREA_HOUSE_INTERIORS_1, + { WARP_TYPE_AREA, 0x02c8, 0x0098, 0x0078, 0x00c8, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0328, 0x0068, 0x00d8, 0x0088, 0x0, AREA_HOUSE_INTERIORS_1, + { WARP_TYPE_AREA, 0x0328, 0x0068, 0x00d8, 0x0088, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_SCHOOL_EAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0258, 0x02e8, 0x0078, 0x00a8, 0x0, AREA_HOUSE_INTERIORS_3, + { WARP_TYPE_AREA, 0x0258, 0x02e8, 0x0078, 0x00a8, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0198, 0x02e8, 0x0078, 0x00a8, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + { WARP_TYPE_AREA, 0x0198, 0x02e8, 0x0078, 0x00a8, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0178, 0x0210, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + { WARP_TYPE_AREA, 0x0178, 0x0210, 0x00c8, 0x0060, TRANSITION_SHAPE_AREA_12x28, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0278, 0x01f0, 0x0028, 0x0090, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + { WARP_TYPE_AREA, 0x0278, 0x01f0, 0x0028, 0x0090, TRANSITION_SHAPE_AREA_12x28, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, 1, TRANSITION_TYPE_NORMAL, 0x02, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0178, 0x0250, 0x00c8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, + { WARP_TYPE_AREA, 0x0178, 0x0250, 0x00c8, 0x0070, TRANSITION_SHAPE_AREA_12x28, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0178, 0x0290, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + { WARP_TYPE_AREA, 0x0178, 0x0290, 0x00c8, 0x0060, TRANSITION_SHAPE_AREA_12x28, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0138, 0x0290, 0x0028, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + { WARP_TYPE_AREA, 0x0138, 0x0290, 0x0028, 0x0060, TRANSITION_SHAPE_AREA_12x28, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x02, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0298, 0x0258, 0x0078, 0x0088, 0x0, AREA_HOUSE_INTERIORS_3, + { WARP_TYPE_AREA, 0x0298, 0x0258, 0x0078, 0x0088, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0090, 0x02c8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, + { WARP_TYPE_AREA, 0x0090, 0x02c8, 0x0078, 0x0098, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0098, 0x0168, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_STRANGER, + { WARP_TYPE_AREA, 0x0098, 0x0168, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_STRANGER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0038, 0x0248, 0x0078, 0x0098, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + { WARP_TYPE_AREA, 0x0038, 0x0248, 0x0078, 0x0098, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x02e8, 0x02f0, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_ROMIO, + { WARP_TYPE_AREA, 0x02e8, 0x02f0, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_ROMIO, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0348, 0x02f8, 0x0078, 0x0098, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_JULIETTA, + { WARP_TYPE_AREA, 0x0348, 0x02f8, 0x0078, 0x0098, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_JULIETTA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x03b8, 0x0358, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_CUCCO, + { WARP_TYPE_AREA, 0x03b8, 0x0358, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_CUCCO, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0138, 0x0388, 0x0078, 0x0098, 0x0, AREA_HOUSE_INTERIORS_4, + { WARP_TYPE_AREA, 0x0138, 0x0388, 0x0078, 0x0098, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_SWIFTBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0038, 0x01a8, 0x0078, 0x0078, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x0038, 0x01a8, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_HYRULE_TOWN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0050, 0x0378, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + { WARP_TYPE_AREA, 0x0050, 0x0378, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x00f0, 0x0188, 0x0078, 0x0078, 0x02, AREA_CAVES, ROOM_CAVES_HYRULE_TOWN_WATERFALL, + { WARP_TYPE_AREA, 0x00f0, 0x0188, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_28x12, AREA_CAVES, ROOM_CAVES_HYRULE_TOWN_WATERFALL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0040, 0x01b8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_2, + { WARP_TYPE_AREA, 0x0040, 0x01b8, 0x0078, 0x0098, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x02b8, 0x0360, 0x0078, 0x0078, 0x0, AREA_HOUSE_INTERIORS_2, + { WARP_TYPE_AREA, 0x02b8, 0x0360, 0x0078, 0x0078, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_EAST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x0338, 0x0134, 0x0288, 0x0118, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, + { WARP_TYPE_AREA, 0x0338, 0x0134, 0x0288, 0x0118, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01f8, 0x0318, 0x03, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01f8, 0x0318, TRANSITION_SHAPE_BORDER_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x0230, 0x40, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01d8, 0x0230, TRANSITION_SHAPE_BORDER_WEST_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0008, 0x0230, 0x04, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x0008, 0x0230, TRANSITION_SHAPE_BORDER_EAST_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x02, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01f8, 0x0010, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0000, 0x0000, 0x01f8, 0x0010, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x04, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -228,7 +228,7 @@ const Transition* const gExitLists_HyruleTown[] = { }; const Transition gExitList_HyruleTown_1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x318, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x318, TRANSITION_SHAPE_BORDER_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -237,69 +237,69 @@ const Transition* const gExitLists_FestivalTown[] = { }; const Transition gExitList_MtCrenel_MountainTop[] = { - { WARP_TYPE_AREA, 0x328, 0x34, 0x1a8, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + { WARP_TYPE_AREA, 0x328, 0x34, 0x1a8, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MtCrenel_WallClimb[] = { - { WARP_TYPE_AREA, 0xa8, 0x58, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HERMIT, 1, + { WARP_TYPE_AREA, 0xa8, 0x58, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HERMIT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x148, 0x1e8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_CRENEL, 1, + { WARP_TYPE_AREA, 0x148, 0x1e8, 0x78, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_CRENEL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xd8, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xd8, TRANSITION_SHAPE_BORDER_NORTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MtCrenel_CaveOfFlamesEntrance[] = { - { WARP_TYPE_AREA, 0x128, 0x18, 0x58, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + { WARP_TYPE_AREA, 0x128, 0x18, 0x58, 0x1b8, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x208, 0x18, 0x298, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + { WARP_TYPE_AREA, 0x208, 0x18, 0x298, 0x1b8, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1d8, 0xb8, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, + { WARP_TYPE_AREA, 0x1d8, 0xb8, 0xb8, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x238, 0xb8, 0x48, 0x1c8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + { WARP_TYPE_AREA, 0x238, 0xb8, 0x48, 0x1c8, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x188, 0xf8, 0xb8, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, + { WARP_TYPE_AREA, 0x188, 0xf8, 0xb8, 0x98, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x208, 0x148, 0x78, 0xf0, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, + { WARP_TYPE_AREA, 0x208, 0x148, 0x78, 0xf0, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1e8, 0x1d8, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_GRIP_RING, + { WARP_TYPE_AREA, 0x1e8, 0x1d8, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_GRIP_RING, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x68, 0x72, 0x88, 0xa8, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_ENTRANCE, + { WARP_TYPE_AREA, 0x68, 0x72, 0x88, 0xa8, TRANSITION_SHAPE_AREA_12x12, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MtCrenel_GustJarShortcut[] = { - { WARP_TYPE_AREA, 0xa8, 0x48, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN, + { WARP_TYPE_AREA, 0xa8, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x2f8, 0x28, 0x38, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + { WARP_TYPE_AREA, 0x2f8, 0x28, 0x38, 0x98, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x348, 0x58, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + { WARP_TYPE_AREA, 0x348, 0x58, 0xb8, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x108, 0x78, 0x118, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_WATER_HEART_PIECE, + { WARP_TYPE_AREA, 0x38, 0x108, 0x78, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_WATER_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MtCrenel_Entrance[] = { - { WARP_TYPE_AREA, 0x298, 0x28, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN, + { WARP_TYPE_AREA, 0x298, 0x28, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x198, 0xd8, 0x1f8, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + { WARP_TYPE_AREA, 0x198, 0xd8, 0x1f8, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x138, 0x138, 0xb8, 0x138, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + { WARP_TYPE_AREA, 0x138, 0x138, 0xb8, 0x138, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x2d8, 0x188, 0x78, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + { WARP_TYPE_AREA, 0x2d8, 0x188, 0x78, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x198, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB, + { WARP_TYPE_AREA, 0xb8, 0x198, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x3b8, 0x168, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HINT_SCRUB, + { WARP_TYPE_AREA, 0x3b8, 0x168, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HINT_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1c8, 0x18, 0x98, 0x1a8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_BEAN_PESTO, + { WARP_TYPE_AREA, 0x1c8, 0x18, 0x98, 0x1a8, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_BEAN_PESTO, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x2d8, 0x154, 0x78, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + { WARP_TYPE_AREA, 0x2d8, 0x154, 0x78, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, TRANSITION_SHAPE_BORDER_EAST_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -312,134 +312,134 @@ const Transition* const gExitLists_MtCrenel[] = { }; const Transition gExitList_HyruleField_WesternWoodSouth[] = { - { WARP_TYPE_AREA, 0xb8, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0xb8, 0x28, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_SouthHyruleField[] = { - { WARP_TYPE_AREA, 0x290, 0x188, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, + { WARP_TYPE_AREA, 0x290, 0x188, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x3a0, 0x228, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + { WARP_TYPE_AREA, 0x3a0, 0x228, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_SOUTH_HYRULE_FIELD_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0xa8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + { WARP_TYPE_AREA, 0x118, 0xa8, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x58, 0x118, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE, + { WARP_TYPE_AREA, 0x58, 0x118, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x178, 0xd8, 0x78, 0xb8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE, + { WARP_TYPE_AREA, 0x178, 0xd8, 0x78, 0xb8, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x48, 0x1c8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x48, 0x1c8, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x3b8, 0x3, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x3b8, TRANSITION_SHAPE_BORDER_NORTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_EasternHillsSouth[] = { - { WARP_TYPE_AREA, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x38, 0x28, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0x3c8, 0x8, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0x3c8, TRANSITION_SHAPE_BORDER_EAST_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_EasternHillsCenter[] = { - { WARP_TYPE_AREA, 0xa8, 0x98, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_HILLS_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0xa8, 0x98, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_HILLS_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_EasternHillsNorth[] = { - { WARP_TYPE_AREA, 0x40, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_FARM_HOUSE, + { WARP_TYPE_AREA, 0x40, 0x48, 0x78, 0x88, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_FARM_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_LonLonRanch[] = { - { WARP_TYPE_AREA, 0x158, 0x278, 0x68, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST, + { WARP_TYPE_AREA, 0x158, 0x278, 0x68, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x188, 0x278, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST, + { WARP_TYPE_AREA, 0x188, 0x278, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xe8, 0x1b4, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0xe8, 0x1b4, 0xa8, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1f8, 0x208, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH_WALLET, 1, + { WARP_TYPE_AREA, 0x1f8, 0x208, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH_WALLET, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0x354, 0x78, 0x78, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x88, 0x354, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x154, 0x38, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0xb8, 0x154, 0x38, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x3e8, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x3e8, 0x2, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x3e8, TRANSITION_SHAPE_BORDER_NORTH_EAST, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xf0, 0x80, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xf0, TRANSITION_SHAPE_BORDER_WEST_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_NorthHyruleField[] = { - { WARP_TYPE_AREA, 0x1f8, 0x38, 0x1f8, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_AREA, 0x1f8, 0x38, 0x1f8, 0x208, TRANSITION_SHAPE_AREA_44x12, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1b0, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + { WARP_TYPE_AREA, 0x1b0, 0x128, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x240, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + { WARP_TYPE_AREA, 0x240, 0x128, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1b0, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + { WARP_TYPE_AREA, 0x1b0, 0x188, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x240, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + { WARP_TYPE_AREA, 0x240, 0x188, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x2f0, 0x138, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + { WARP_TYPE_AREA, 0x2f0, 0x138, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1f8, 0x154, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_AREA, 0x1f8, 0x154, 0xa8, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x108, 0x138, 0x108, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x108, 0x138, 0x108, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x138, 0x1e8, 0x78, 0xc8, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, + { WARP_TYPE_AREA, 0x138, 0x1e8, 0x78, 0xc8, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xf4, 0x38, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x88, 0xf4, 0x38, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0xf4, 0x118, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x118, 0xf4, 0x118, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x208, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x18, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, TRANSITION_SHAPE_BORDER_EAST_NORTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x260, 0x40, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x260, TRANSITION_SHAPE_BORDER_WEST_NORTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_TrilbyHighlands[] = { - { WARP_TYPE_AREA, 0x40, 0x388, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE, + { WARP_TYPE_AREA, 0x40, 0x388, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0x222, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x88, 0x222, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TRILBY_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x2a8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_RUPEE, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x38, 0x2a8, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TRILBY_RUPEE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x198, 0x2b2, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN, 1, + { WARP_TYPE_AREA, 0x198, 0x2b2, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0x94, 0x88, 0x68, 0x0, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, + { WARP_TYPE_AREA, 0x88, 0x94, 0x88, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x98, 0x284, 0x38, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x98, 0x284, 0x38, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0x284, 0x128, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x118, 0x284, 0x128, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x3e8, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xf0, 0x8, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xf0, TRANSITION_SHAPE_BORDER_EAST_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, TRANSITION_SHAPE_BORDER_WEST_NORTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_WesternWoodsNorth[] = { - { WARP_TYPE_AREA, 0xa0, 0x1e8, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + { WARP_TYPE_AREA, 0xa0, 0x1e8, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WESTERN_WOODS_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, TRANSITION_SHAPE_BORDER_WEST_NORTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleField_WesternWoodsCenter[] = { - { WARP_TYPE_AREA, 0x90, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_PERCY, + { WARP_TYPE_AREA, 0x90, 0x48, 0x78, 0x88, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_PERCY, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -458,37 +458,37 @@ const Transition* const gExitLists_HyruleField[] = { // TODO this is one table const Transition gExitList_CastleGarden_Main[] = { - { WARP_TYPE_AREA, 0x1f8, 0x28, 0xd8, 0x208, 0x2, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x1f8, 0x28, 0xd8, 0x208, TRANSITION_SHAPE_AREA_28x12, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, + { WARP_TYPE_AREA, 0x308, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, + { WARP_TYPE_AREA, 0xe8, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, + { WARP_TYPE_AREA, 0x68, 0x74, 0x68, 0x1a8, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x3a8, 0x184, 0x78, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_08134FBC[] = { - { WARP_TYPE_AREA, 0x1f8, 0x28, 0x198, 0x1f0, 0x2, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + { WARP_TYPE_AREA, 0x1f8, 0x28, 0x198, 0x1f0, TRANSITION_SHAPE_AREA_28x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, + { WARP_TYPE_AREA, 0x308, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, + { WARP_TYPE_AREA, 0xe8, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, + { WARP_TYPE_AREA, 0x68, 0x74, 0x68, 0x1a8, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x3a8, 0x184, 0x78, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_08135048[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -497,7 +497,7 @@ const Transition* const gExitLists_CastleGarden[] = { }; const Transition gExitList_CloudTops_House[] = { - { WARP_TYPE_AREA, 0x1e8, 0x158, 0x78, 0x138, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, + { WARP_TYPE_AREA, 0x1e8, 0x158, 0x78, 0x138, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -506,40 +506,40 @@ const Transition* const gExitLists_CloudTops[] = { }; const Transition gExitList_RoyalValley_Main[] = { - { WARP_TYPE_AREA, 0xf0, 0x28, 0x88, 0x78, 0x2, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, + { WARP_TYPE_AREA, 0xf0, 0x28, 0x88, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1a0, 0x198, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DAMPE, + { WARP_TYPE_AREA, 0x1a0, 0x198, 0x78, 0x78, TRANSITION_SHAPE_AREA_28x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DAMPE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x198, 0x2a8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_GRAVEYARD, + { WARP_TYPE_AREA, 0x198, 0x2a8, 0x78, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x58, 0x84, 0x78, 0x78, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE, + { WARP_TYPE_AREA, 0x58, 0x84, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x188, 0x84, 0x78, 0x118, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_GINA, + { WARP_TYPE_AREA, 0x188, 0x84, 0x78, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_GINA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, 0x10, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0x50, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0x50, TRANSITION_SHAPE_BORDER_EAST_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, #ifndef EU - { WARP_TYPE_AREA, 0x78, 0x28c, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + { WARP_TYPE_AREA, 0x78, 0x28c, 0x78, 0x18, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, #else - { WARP_TYPE_AREA, 0x78, 0x288, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + { WARP_TYPE_AREA, 0x78, 0x288, 0x78, 0x18, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, #endif - { WARP_TYPE_AREA, 0x78, 0x328, 0x78, 0x98, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + { WARP_TYPE_AREA, 0x78, 0x328, 0x78, 0x98, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalValley_ForestMaze[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x338, TRANSITION_SHAPE_BORDER_SOUTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_08135190[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x278, 0x3, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x278, TRANSITION_SHAPE_BORDER_NORTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x338, TRANSITION_SHAPE_BORDER_SOUTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -549,29 +549,29 @@ const Transition* const gExitLists_RoyalValley[] = { }; const Transition gExitList_VeilFalls_Main[] = { - { WARP_TYPE_AREA, 0xa8, 0x22, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + { WARP_TYPE_AREA, 0xa8, 0x22, 0x38, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x158, 0x22, 0x118, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + { WARP_TYPE_AREA, 0x158, 0x22, 0x118, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0x42, 0xb8, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + { WARP_TYPE_AREA, 0x118, 0x42, 0xb8, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x1e2, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, + { WARP_TYPE_AREA, 0x38, 0x1e2, 0x38, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xd8, 0x1c2, 0x98, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, + { WARP_TYPE_AREA, 0xd8, 0x1c2, 0x98, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xd8, 0x142, 0x98, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, + { WARP_TYPE_AREA, 0xd8, 0x142, 0x98, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0xc2, 0xb8, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + { WARP_TYPE_AREA, 0xa8, 0xc2, 0xb8, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE, + { WARP_TYPE_AREA, 0x38, 0x28, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xc8, 0x74, 0x38, 0x108, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + { WARP_TYPE_AREA, 0xc8, 0x74, 0x38, 0x108, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_VEIL_FALLS_TOP, ROOM_VEIL_FALLS_TOP_0, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xb8, TRANSITION_SHAPE_BORDER_NORTH, AREA_VEIL_FALLS_TOP, ROOM_VEIL_FALLS_TOP_0, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e8, 0xfff, TRANSITION_SHAPE_BORDER_WEST, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -580,62 +580,62 @@ const Transition* const gExitLists_VeilFalls[] = { }; const Transition gExitList_Beanstalks_MountCrenel[] = { - { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL_CLIMB, 1, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, TRANSITION_SHAPE_AREA_28x12, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_LakeHylia[] = { - { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, TRANSITION_SHAPE_AREA_28x12, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_Ruins[] = { - { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS_CLIMB, 1, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, TRANSITION_SHAPE_AREA_28x12, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_EasternHills[] = { - { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, TRANSITION_SHAPE_AREA_28x12, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_WesternWoods[] = { - { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB, + { WARP_TYPE_AREA, 0x58, 0x88, 0x78, 0x18, TRANSITION_SHAPE_AREA_28x12, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_MountCrenelClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, TRANSITION_SHAPE_BORDER_NORTH, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x98, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x98, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_LakeHyliaClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, TRANSITION_SHAPE_BORDER_NORTH, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x228, 0x18, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x228, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_RuinsClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, TRANSITION_SHAPE_BORDER_NORTH, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_RUINS, ROOM_RUINS_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_EasternHillsClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, TRANSITION_SHAPE_BORDER_NORTH, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Beanstalks_WesternWoodsClimb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x68, TRANSITION_SHAPE_BORDER_NORTH, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -664,7 +664,7 @@ const Transition* const gExitLists_Beanstalks[] = { }; const Transition gExitList_LakeWoodsCave_Main[] = { - { WARP_TYPE_AREA, 0x248, 0x188, 0x148, 0x358, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x248, 0x188, 0x148, 0x358, TRANSITION_SHAPE_AREA_12x12, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -673,7 +673,7 @@ const Transition* const gExitLists_LakeWoodsCave[] = { }; const Transition gExitList_HyruleDigCaves_Main[] = { - { WARP_TYPE_AREA, 0x188, 0x218, 0x48, 0x118, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + { WARP_TYPE_AREA, 0x188, 0x218, 0x48, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -682,36 +682,36 @@ const Transition* const gExitLists_HyruleDigCaves[] = { }; const Transition gExitList_MinishVillage_Main[] = { - { WARP_TYPE_AREA, 0x78, 0x88, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x78, 0x88, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_GENTARI_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x70, 0x68, 0x50, 0x1, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x38, 0x70, 0x68, 0x50, TRANSITION_SHAPE_AREA_12x28, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_GENTARI_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x258, 0x58, 0xe8, 0xb8, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_FESTARI, + { WARP_TYPE_AREA, 0x258, 0x58, 0xe8, 0xb8, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_FESTARI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x128, 0x228, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_RED, + { WARP_TYPE_AREA, 0x128, 0x228, 0x80, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_RED, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x168, 0x1d8, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_GREEN, + { WARP_TYPE_AREA, 0x168, 0x1d8, 0x80, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_GREEN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1a8, 0x208, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_BLUE, + { WARP_TYPE_AREA, 0x1a8, 0x208, 0x80, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_BLUE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1e8, 0x2d8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x1e8, 0x2d8, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_SHOE_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x48, 0x248, 0x78, 0xc8, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x48, 0x248, 0x78, 0xc8, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_POT_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x378, 0x288, 0x78, 0x140, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x378, 0x288, 0x78, 0x140, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x368, 0x234, 0x58, 0x100, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x368, 0x234, 0x58, 0x100, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x18, 0x30, AREA_MINISH_PATHS, ROOM_MINISH_PATHS_MINISH_VILLAGE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_PATHS, ROOM_MINISH_PATHS_MINISH_VILLAGE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x338, 0x1, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x338, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x348, 0x40, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x348, TRANSITION_SHAPE_BORDER_WEST_NORTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishVillage_SideHouse[] = { - { WARP_TYPE_AREA, 0x138, 0x68, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x138, 0x68, 0x80, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_SIDE_AREA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -723,15 +723,15 @@ const Transition* const gExitLists_MinishVillage[] = { }; const Transition gExitList_MelarisMine_Main[] = { - { WARP_TYPE_AREA, 0x78, 0x38, 0x78, 0xa8, 0x0, AREA_CRENEL_MINISH_PATHS, ROOM_CRENEL_MINISH_PATHS_MELARI, + { WARP_TYPE_AREA, 0x78, 0x38, 0x78, 0xa8, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_MINISH_PATHS, ROOM_CRENEL_MINISH_PATHS_MELARI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x70, 0x12c, 0xbc, 0x138, 0x0, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_AREA, 0x70, 0x12c, 0xbc, 0x138, TRANSITION_SHAPE_AREA_12x12, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0xa8, 0x220, 0x78, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x228, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x228, 0x220, 0x78, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x280, 0x11c, 0x24, 0x56, 0x0, AREA_MINISH_HOUSE_INTERIORS, + { WARP_TYPE_AREA, 0x280, 0x11c, 0x24, 0x56, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_EAST, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -740,33 +740,33 @@ const Transition* const gExitLists_MelarisMine[] = { }; const Transition gExitList_MinishPaths_ToMinishVillage[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x3e0, 0x3, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x3e0, TRANSITION_SHAPE_BORDER_NORTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x398, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x398, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_CastorWilds[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x68, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x68, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0xa8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0xa8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_HyruleTown[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x398, 0x68, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x398, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_LonLonRanch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e0, 0x174, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e0, 0x174, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishPaths_MayorsCabin[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2a8, 0x31a, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2a8, 0x31a, TRANSITION_SHAPE_BORDER_NORTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x48, 0x30, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -779,26 +779,26 @@ const Transition* const gExitLists_MinishPaths[] = { }; const Transition gExitList_CrenelMinishPaths_CrenelBean[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xd2, 0x60, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd2, 0x60, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelMinishPaths_CrenelWater[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x372, 0xf5, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x372, 0xf5, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelMinishPaths_Rainfall[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2cc, 0x98, 0xc0, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2cc, 0x98, TRANSITION_SHAPE_BORDER_WEST, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f4, 0x98, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f4, 0x98, TRANSITION_SHAPE_BORDER_EAST, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelMinishPaths_MelarisMine[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xf4, 0x108, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf4, 0x108, TRANSITION_SHAPE_BORDER_EAST, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x48, 0x30, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -810,9 +810,9 @@ const Transition* const gExitLists_CrenelMinishPaths[] = { }; const Transition gExitList_DigCaves1_TrilbyHighlands[] = { - { WARP_TYPE_AREA, 0x88, 0x44, 0x88, 0x78, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_AREA, 0x88, 0x44, 0x88, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1a8, 0x78, 0xb8, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN, + { WARP_TYPE_AREA, 0x1a8, 0x78, 0xb8, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -824,121 +824,121 @@ const Transition* const gExitLists_DigCaves1[] = { }; const Transition gExitList_MinishHouseInteriors_GentariMain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x98, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x98, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_GentariExit[] = { - { WARP_TYPE_AREA, 0x48, 0x50, 0x28, 0x70, 0x1, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_AREA, 0x48, 0x50, 0x28, 0x70, TRANSITION_SHAPE_AREA_12x28, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Festari[] = { - { WARP_TYPE_AREA, 0xe8, 0xe8, 0x258, 0x68, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_AREA, 0xe8, 0xe8, 0x258, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xe8, 0x18, 0x1d0, 0x33c, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + { WARP_TYPE_AREA, 0xe8, 0x18, 0x1d0, 0x33c, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Red[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x238, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x238, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Green[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0x1e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0x1e8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Blue[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x218, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x218, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_SideArea[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x78, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x78, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_ShoeMinish[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x2e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x2e8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_PotMinish[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x258, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x258, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_BarrelMinish[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x378, 0x298, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x378, 0x298, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x58, 0xd0, 0x368, 0x218, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + { WARP_TYPE_AREA, 0x58, 0xd0, 0x368, 0x218, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_NULL1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x378, 0x290, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x378, 0x290, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_NULL2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x70, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x70, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MelariMinesSouthwest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x208, TRANSITION_SHAPE_BORDER_NORTH, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MelariMinesSoutheast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x228, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x228, 0x208, TRANSITION_SHAPE_BORDER_NORTH, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MelariMinesEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x270, 0x11e, 0xc0, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x270, 0x11e, TRANSITION_SHAPE_BORDER_WEST, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_HyruleFieldSouthwest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x35, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_SouthHyruleField[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x1d4, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x1d4, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_NextToKnuckle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x55, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x55, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_Librari[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x1b4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x1b4, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_HyruleFieldExit[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_SOUTH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x35, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_SOUTH, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_HyruleTown[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x1b5, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x1b5, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_MinishWoodsBomb[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x325, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x325, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishHouseInteriors_LakeHyliaOcarina[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x1a4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x1a4, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -986,65 +986,65 @@ const Transition* const gExitLists_MinishHouseInteriors[] = { }; const Transition gExitList_OuterFortressOfWinds_EntranceHall[] = { - { WARP_TYPE_AREA, 0x78, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WIZZROBE, + { WARP_TYPE_AREA, 0x78, 0x22, 0x78, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WIZZROBE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x128, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + { WARP_TYPE_AREA, 0x128, 0x22, 0x68, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1d8, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + { WARP_TYPE_AREA, 0x1d8, 0x22, 0x78, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x288, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + { WARP_TYPE_AREA, 0x288, 0x22, 0x68, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x338, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_HEART_PIECE, + { WARP_TYPE_AREA, 0x338, 0x22, 0x88, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x28, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_2F[] = { - { WARP_TYPE_AREA, 0x78, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_STALFOS, + { WARP_TYPE_AREA, 0x78, 0x22, 0x88, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_STALFOS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1d8, 0x92, 0x88, 0x170, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, + { WARP_TYPE_AREA, 0x1d8, 0x92, 0x88, 0x170, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x288, 0x92, 0x88, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + { WARP_TYPE_AREA, 0x288, 0x92, 0x88, 0xa0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x338, 0x22, 0x28, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BOSS_KEY, + { WARP_TYPE_AREA, 0x338, 0x22, 0x28, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BOSS_KEY, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x128, 0xd8, 0x128, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_AREA, 0x128, 0xd8, 0x128, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1d8, 0xd8, 0x1d8, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_AREA, 0x1d8, 0xd8, 0x1d8, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x288, 0xd8, 0x288, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_AREA, 0x288, 0xd8, 0x288, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x338, 0xd8, 0x338, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_AREA, 0x338, 0xd8, 0x338, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_3F[] = { - { WARP_TYPE_AREA, 0x68, 0x22, 0x78, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS, + { WARP_TYPE_AREA, 0x68, 0x22, 0x78, 0xa0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1d8, 0x22, 0x198, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + { WARP_TYPE_AREA, 0x1d8, 0x22, 0x198, 0xa0, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x2e8, 0x22, 0x198, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + { WARP_TYPE_AREA, 0x2e8, 0x22, 0x198, 0x178, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x338, 0x22, 0x1f8, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + { WARP_TYPE_AREA, 0x338, 0x22, 0x1f8, 0x178, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1d8, 0x84, 0x1d8, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_AREA, 0x1d8, 0x84, 0x1d8, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x288, 0x84, 0x288, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_AREA, 0x288, 0x84, 0x288, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x338, 0x84, 0x338, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_AREA, 0x338, 0x84, 0x338, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x128, 0x84, 0x128, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_AREA, 0x128, 0x84, 0x128, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_MoleMitts[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x22, TRANSITION_SHAPE_BORDER_SOUTH, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_OuterFortressOfWinds_SmallKey[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MINISH_HOLE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x22, TRANSITION_SHAPE_BORDER_SOUTH, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MINISH_HOLE, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1057,11 +1057,11 @@ const Transition* const gExitLists_OuterFortressOfWinds[] = { }; const Transition gExitList_HyliaDigCaves_North[] = { - { WARP_TYPE_AREA, 0x248, 0x62, 0x208, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + { WARP_TYPE_AREA, 0x248, 0x62, 0x208, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x308, 0x62, 0x308, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + { WARP_TYPE_AREA, 0x308, 0x62, 0x308, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x398, 0x52, 0x388, 0x48, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + { WARP_TYPE_AREA, 0x398, 0x52, 0x388, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1074,7 +1074,7 @@ const Transition* const gExitLists_HyliaDigCaves[] = { }; const Transition gExitList_VeilFallsTop_Main[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x10, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1083,79 +1083,79 @@ const Transition* const gExitLists_VeilFallsTop[] = { }; const Transition gExitList_HouseInteriors2_Stranger[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x98, 0x17c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x98, 0x17c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_WestOracle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_3[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x1cc, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_DrLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x25c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x25c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_NULL1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x5c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Romio[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2e8, 0x304, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2e8, 0x304, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Julietta[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x348, 0x30c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x348, 0x30c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Percy[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x90, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x90, 0x5c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_EastOracle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_A[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_B[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x374, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Cucco[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x36c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x36c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_LinksHouseEntrance[] = { - { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM, + { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x290, 0x19c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x290, 0x19c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_Dampe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a0, 0x1ac, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a0, 0x1ac, TRANSITION_SHAPE_BORDER_SOUTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1163,12 +1163,12 @@ const Transition gExitList_HouseInteriors2_NULL2[] = { TransitionListEnd, }; const Transition gExitList_HouseInteriors2_StockwellLakeHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x120, 0x4c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x120, 0x4c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors2_LinksHouseBedroom[] = { - { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, + { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1224,32 +1224,32 @@ const Transition* const gExitLists_HouseInteriors2[] = { }; const Transition gExitList_HouseInteriors4_Carpenter[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x90, 0x2dc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x90, 0x2dc, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_Swiftblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x39c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x39c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_RanchHouseWest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x28c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_RanchHouseEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x28c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_FarmHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x5c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors4_MayorLakeCabin[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2a0, 0x38c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2a0, 0x38c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1273,17 +1273,17 @@ const Transition* const gExitLists_HouseInteriors4[] = { }; const Transition gExitList_GreatFairies_Graveyard[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2b8, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2b8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GreatFairies_MinishWoods[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GreatFairies_MtCrenel[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x148, 0x1f8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x148, 0x1f8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1295,51 +1295,51 @@ const Transition* const gExitLists_GreatFairies[] = { }; const Transition gExitList_HouseInteriors3_StockwellShop[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x258, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x258, 0x2fc, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Cafe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2fc, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_RemShoeShop[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x210, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x210, TRANSITION_SHAPE_BORDER_EAST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Bakery[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x268, 0x1f0, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x268, 0x1f0, TRANSITION_SHAPE_BORDER_WEST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Simon[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x250, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x250, TRANSITION_SHAPE_BORDER_EAST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_FigurineHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x290, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x290, TRANSITION_SHAPE_BORDER_EAST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x290, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x290, TRANSITION_SHAPE_BORDER_WEST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_BorlovEntrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x298, 0x26c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x298, 0x26c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x78, 0x3, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x78, TRANSITION_SHAPE_BORDER_NORTH, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Carlov[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x60, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x60, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors3_Borlov[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1363,80 +1363,80 @@ const Transition* const gExitLists_HouseInteriors3[] = { }; const Transition gExitList_HouseInteriors1_Mayor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c8, 0x14c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c8, 0x14c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x318, 0x120, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x318, 0x120, TRANSITION_SHAPE_BORDER_EAST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_PostOffice[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0xb8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_Library2F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x78, 0x18, 0x68, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, + { WARP_TYPE_AREA, 0x78, 0x18, 0x68, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_Library1F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0xb8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x68, 0x18, 0x78, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + { WARP_TYPE_AREA, 0x68, 0x18, 0x78, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_Inn1F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x388, 0x268, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x388, 0x268, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x78, 0x18, 0x98, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, + { WARP_TYPE_AREA, 0x78, 0x18, 0x98, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, + { WARP_TYPE_AREA, 0xb8, 0x18, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xf8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, + { WARP_TYPE_AREA, 0xf8, 0x18, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0x38, 0xb8, 0x168, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, + { WARP_TYPE_AREA, 0x118, 0x38, 0xb8, 0x168, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnWestRoom[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnMiddleRoom[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnEastRoom[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnWest2F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x368, 0x1c8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x368, 0x1c8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_InnEast2F[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a8, 0x230, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a8, 0x230, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x178, 0x118, 0x48, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + { WARP_TYPE_AREA, 0xb8, 0x178, 0x118, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_SchoolWest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c8, 0xa8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c8, 0xa8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x78, 0x48, 0x168, 0x28, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + { WARP_TYPE_AREA, 0x78, 0x48, 0x168, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HouseInteriors1_SchoolEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x328, 0x78, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x328, 0x78, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1476,95 +1476,95 @@ const Transition* const gExitLists_HouseInteriors1[] = { }; const Transition gExitList_TreeInteriors_WitchHut[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c0, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2c0, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_StairsToCarlov[] = { - { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CARLOV, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CARLOV, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x50, 0x388, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x50, 0x388, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_PercysTreehouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x398, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x40, 0x398, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a0, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a0, 0x238, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_Waveblade[] = { - { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x98, 0x0, AREA_DOJOS, ROOM_DOJOS_WAVEBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x98, TRANSITION_SHAPE_AREA_12x12, AREA_DOJOS, ROOM_DOJOS_WAVEBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x100, 0x2c8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x100, 0x2c8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_14[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x210, 0x1d8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangNorthwest[] = { - { WARP_TYPE_AREA, 0x78, 0x54, 0x48, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + { WARP_TYPE_AREA, 0x78, 0x54, 0x48, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b0, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b0, 0x138, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangNortheast[] = { - { WARP_TYPE_AREA, 0x78, 0x54, 0x108, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x78, 0x54, 0x108, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x240, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x240, 0x138, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangSouthwest[] = { - { WARP_TYPE_AREA, 0x78, 0x54, 0x48, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + { WARP_TYPE_AREA, 0x78, 0x54, 0x48, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b0, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b0, 0x198, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_BoomerangSoutheast[] = { - { WARP_TYPE_AREA, 0x78, 0x54, 0x108, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x78, 0x54, 0x108, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x240, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x240, 0x198, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_WesternWoodsHeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa0, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa0, 0x1f8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_NorthHyruleFieldFairyFountain[] = { - { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f0, 0x148, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f0, 0x148, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_MinishWoodsGreatFairy[] = { - { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_MINISH_WOODS, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_MINISH_WOODS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x70, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x70, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_1C[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x50, 0x298, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x50, 0x298, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TreeInteriors_MinishWoodsBusinessScrub[] = { - { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_KINSTONE_BUSINESS_SCRUB, 1, + { WARP_TYPE_AREA, 0x78, 0x48, 0x78, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_KINSTONE_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x210, 0x1d8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1572,7 +1572,7 @@ const Transition gExitList_TreeInteriors_1E[] = { TransitionListEnd, }; const Transition gExitList_TreeInteriors_UnusedHeartContainer[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e0, 0x1b8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e0, 0x1b8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1612,37 +1612,37 @@ const Transition* const gExitLists_TreeInteriors[] = { }; const Transition gExitList_Dojos_Grayblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x20, 0x30, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x20, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_Swiftblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2e8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2e8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_Waveblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToGrimblade[] = { - { WARP_TYPE_AREA, 0x78, 0x48, 0x3a8, 0x168, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_AREA, 0x78, 0x48, 0x3a8, 0x168, TRANSITION_SHAPE_AREA_12x12, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToSplitblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0x358, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0x358, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToGreatblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x1f8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Dojos_ToScarblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x398, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x398, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1666,27 +1666,27 @@ const Transition* const gExitLists_Dojos[] = { }; const Transition gExitList_MinishCracks_LonLonRanchNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x232, 0x18, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x232, 0x18, TRANSITION_SHAPE_BORDER_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_LakeHyliaEast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x114, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x114, TRANSITION_SHAPE_BORDER_NORTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_HyruleCastleGarden[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a8, 0x40, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3a8, 0x40, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_MtCrenel[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x54, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x54, TRANSITION_SHAPE_BORDER_NORTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_EastHyruleCastle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3c8, 0x184, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3c8, 0x184, TRANSITION_SHAPE_BORDER_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1694,42 +1694,42 @@ const Transition gExitList_MinishCracks_5[] = { TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsBow[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0x54, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_RuinsEntrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x17c, 0x3, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x17c, TRANSITION_SHAPE_BORDER_NORTH, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_MinishWoodsSouth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x218, 0x3c4, 0x3, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x218, 0x3c4, TRANSITION_SHAPE_BORDER_NORTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x44, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x44, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsWest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x134, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x134, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsMiddle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0x2d4, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x168, 0x2d4, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_RuinsTektite[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x54, 0x3, AREA_RUINS, ROOM_RUINS_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x54, TRANSITION_SHAPE_BORDER_NORTH, AREA_RUINS, ROOM_RUINS_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCracks_CastorWildsNextToBow[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0x54, TRANSITION_SHAPE_BORDER_NORTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1764,111 +1764,111 @@ const Transition* const gExitLists_MinishCracks[] = { }; const Transition gExitList_CrenelCaves_BlockPushing[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x328, 0x18, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x328, 0x18, TRANSITION_SHAPE_BORDER_NORTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x28, 0x10, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x28, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x28, 0x20, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x28, TRANSITION_SHAPE_BORDER_SOUTH_EAST, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x238, 0xb8, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + { WARP_TYPE_AREA, 0x238, 0xb8, 0x38, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_PillarCave[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xc8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, + { WARP_TYPE_AREA, 0x38, 0x28, 0xb8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_BridgeSwitch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x238, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x238, 0xc8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x28, 0x238, 0xc8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + { WARP_TYPE_AREA, 0x38, 0x28, 0x238, 0xc8, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_ExitToMines[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x108, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x108, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, + { WARP_TYPE_AREA, 0xb8, 0x38, 0x38, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_GripRing[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x1e8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x1e8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_FairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x58, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_SpinyChuPuzzle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f8, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2f8, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + { WARP_TYPE_AREA, 0xb8, 0x38, 0x38, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_ChuchuPotChest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x348, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x348, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + { WARP_TYPE_AREA, 0x38, 0x28, 0xb8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_WaterHeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x118, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x118, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_RupeeFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x298, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x298, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_HelmasaurHallway[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0xe8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0xe8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x68, 0x18, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + { WARP_TYPE_AREA, 0x68, 0x18, 0xb8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_MushroomKeese[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x148, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x148, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x38, 0x68, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + { WARP_TYPE_AREA, 0xb8, 0x38, 0x68, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_LadderToSpringWater[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x198, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x198, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x138, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x138, TRANSITION_SHAPE_BORDER_NORTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_BombBusinessScrub[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x1a8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x1a8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_Hermit[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_HintScrub[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x178, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x178, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CrenelCaves_ToGrayblade[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0xa0, 0x3, AREA_DOJOS, ROOM_DOJOS_GRAYBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0xa0, TRANSITION_SHAPE_BORDER_NORTH, AREA_DOJOS, ROOM_DOJOS_GRAYBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x158, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0x158, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1893,31 +1893,31 @@ const Transition* const gExitLists_CrenelCaves[] = { }; const Transition gExitList_CastorCaves_South[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x398, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2d8, 0x398, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_North[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x248, 0x48, 0x10, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x248, 0x48, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0x48, 0x20, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0x48, TRANSITION_SHAPE_BORDER_SOUTH_EAST, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_WindRuins[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x48, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_Darknut[] = { - { WARP_TYPE_AREA, 0x68, 0x18, 0x188, 0x28, 0x0, AREA_CASTOR_DARKNUT, ROOM_CASTOR_DARKNUT_HALL, 1, + { WARP_TYPE_AREA, 0x68, 0x18, 0x188, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_DARKNUT, ROOM_CASTOR_DARKNUT_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x1b8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x1b8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastorCaves_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3c8, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3c8, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1936,7 +1936,7 @@ const Transition gExitList_CastorDarknut_Main[] = { TransitionListEnd, }; const Transition gExitList_CastorDarknut_Hall[] = { - { WARP_TYPE_AREA, 0x188, 0x18, 0x68, 0x28, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, 1, + { WARP_TYPE_AREA, 0x188, 0x18, 0x68, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -1948,57 +1948,57 @@ const Transition* const gExitLists_CastorDarknut[] = { }; const Transition gExitList_ArmosInteriors_RuinsEntranceNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0xf8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0xf8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsEntranceSouth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x1a8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x1a8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x48, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsMiddleLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsMiddleRight[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsRight[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_6[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x108, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x108, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_RuinsGrassPath[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xa8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_8[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_FortressOfWindsLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_ArmosInteriors_FortressOfWindsRight[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2017,46 +2017,46 @@ const Transition* const gExitLists_ArmosInteriors[] = { }; const Transition gExitList_TownMinishHoles_MayorsHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2c, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_WestOracle[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc, 0x38, 0xc, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc, 0x38, TRANSITION_SHAPE_BORDER_EAST, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_DrLeft[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x44, 0x30, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x44, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_Carpenter[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc, 0x68, 0xc, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc, 0x68, TRANSITION_SHAPE_BORDER_EAST, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_Cafe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xcc, 0x48, 0xc0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xcc, 0x48, TRANSITION_SHAPE_BORDER_WEST, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_LibraryBookshelf[] = { - { WARP_TYPE_AREA, 0x100, 0xc8, 0x78, 0xc0, 0x0, AREA_TOWN_MINISH_HOLES, + { WARP_TYPE_AREA, 0x100, 0xc8, 0x78, 0xc0, TRANSITION_SHAPE_AREA_12x12, AREA_TOWN_MINISH_HOLES, ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKS_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e, 0x3c, 0x10, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3e, 0x3c, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x54, 0x3c, 0x20, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x54, 0x3c, TRANSITION_SHAPE_BORDER_SOUTH_EAST, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_LibrariBookHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0xd8, 0x30, AREA_TOWN_MINISH_HOLES, ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0xd8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TOWN_MINISH_HOLES, ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TownMinishHoles_RemShoeShop[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x74, 0x64, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x74, 0x64, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2084,28 +2084,28 @@ const Transition* const gExitLists_TownMinishHoles[] = { }; const Transition gExitList_MinishRafters_Cafe[] = { - { WARP_TYPE_AREA, 0x38, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + { WARP_TYPE_AREA, 0x38, 0x18, 0x48, 0x2c, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1bc, 0x2b4, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1bc, 0x2b4, TRANSITION_SHAPE_BORDER_EAST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishRafters_Stockwell[] = { - { WARP_TYPE_AREA, 0x198, 0x18, 0xac, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, + { WARP_TYPE_AREA, 0x198, 0x18, 0xac, 0x2c, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x238, 0x2b4, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x238, 0x2b4, TRANSITION_SHAPE_BORDER_WEST, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishRafters_DrLeft[] = { - { WARP_TYPE_AREA, 0xe8, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + { WARP_TYPE_AREA, 0xe8, 0x18, 0x88, 0x2c, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishRafters_Bakery[] = { - { WARP_TYPE_AREA, 0x48, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + { WARP_TYPE_AREA, 0x48, 0x18, 0x48, 0x2c, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x148, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + { WARP_TYPE_AREA, 0x148, 0x18, 0x88, 0x2c, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2117,14 +2117,14 @@ const Transition* const gExitLists_MinishRafters[] = { }; const Transition gExitList_GoronCave_Stairs[] = { - { WARP_TYPE_AREA, 0x78, 0x38, 0x78, 0x278, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x78, 0x38, 0x78, 0x278, TRANSITION_SHAPE_AREA_12x12, AREA_GORON_CAVE, ROOM_GORON_CAVE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x368, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x368, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GoronCave_Main[] = { - { WARP_TYPE_AREA, 0x78, 0x288, 0x78, 0x48, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x78, 0x288, 0x78, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2134,30 +2134,30 @@ const Transition* const gExitLists_GoronCave[] = { }; const Transition gExitList_WindTribeTower_Entrance[] = { - { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x168, 0x30, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1e8, 0x168, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_WindTribeTower_Floor2[] = { - { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, + { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_WindTribeTower_Floor3[] = { - { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, + { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_WindTribeTower_Floor4[] = { - { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, + { WARP_TYPE_AREA, 0xb8, 0xe8, 0x88, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0x148, 0x0, AREA_WIND_TRIBE_TOWER_ROOF, ROOM_WIND_TRIBE_TOWER_ROOF_0, + { WARP_TYPE_AREA, 0x88, 0xe8, 0xb8, 0x148, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER_ROOF, ROOM_WIND_TRIBE_TOWER_ROOF_0, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2169,7 +2169,7 @@ const Transition* const gExitLists_WindTribeTower[] = { }; const Transition gExitList_WindTribeTowerRoof_Main[] = { - { WARP_TYPE_AREA, 0xb8, 0x138, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, + { WARP_TYPE_AREA, 0xb8, 0x138, 0x88, 0xf8, TRANSITION_SHAPE_AREA_12x12, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2178,31 +2178,31 @@ const Transition* const gExitLists_WindTribeTowerRoof[] = { }; const Transition gExitList_Caves_Boomerang[] = { - { WARP_TYPE_AREA, 0x48, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + { WARP_TYPE_AREA, 0x48, 0x68, 0x78, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x108, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + { WARP_TYPE_AREA, 0x108, 0x68, 0x78, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x48, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + { WARP_TYPE_AREA, 0x48, 0xd8, 0x78, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x108, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + { WARP_TYPE_AREA, 0x108, 0xd8, 0x78, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0xb8, 0x1f8, 0x138, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_AREA, 0xa8, 0xb8, 0x1f8, 0x138, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_ToGraveyard[] = { - { WARP_TYPE_AREA, 0x38, 0x38, 0x88, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_AREA, 0x38, 0x38, 0x88, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0x38, 0x118, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_AREA, 0x118, 0x38, 0x118, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x138, 0x98, 0x78, 0x48, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, + { WARP_TYPE_AREA, 0x138, 0x98, 0x78, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x108, 0x148, 0x20, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x108, 0x148, TRANSITION_SHAPE_BORDER_SOUTH_EAST, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_2[] = { - { WARP_TYPE_AREA, 0x48, 0x28, 0x308, 0x98, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_AREA, 0x48, 0x28, 0x308, 0x98, TRANSITION_SHAPE_AREA_12x12, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2216,17 +2216,17 @@ const Transition gExitList_Caves_5[] = { TransitionListEnd, }; const Transition gExitList_Caves_TrilbyKeeseChest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x238, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0x2c8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_SouthHyruleFieldFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0xb8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0xb8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2234,46 +2234,46 @@ const Transition gExitList_Caves_A[] = { TransitionListEnd, }; const Transition gExitList_Caves_HyruleTownWaterfall[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xf0, 0x198, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf0, 0x198, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_LonLonRanch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x1c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x1c8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x138, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x138, TRANSITION_SHAPE_BORDER_NORTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyHighlands[] = { - { WARP_TYPE_AREA, 0x38, 0x18, 0x98, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_AREA, 0x38, 0x18, 0x98, 0x268, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x128, 0x18, 0x118, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_AREA, 0x128, 0x18, 0x118, 0x268, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_LonLonRanchWallet[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x218, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x218, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_SouthHyruleFieldRupee[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x128, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x128, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyRupee[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2b8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x2b8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_TrilbyMittsFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x68, 0x3, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1a8, 0x68, TRANSITION_SHAPE_BORDER_NORTH, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_HillsKeeseChest[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xa8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLS_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2281,19 +2281,19 @@ const Transition gExitList_Caves_BottleBusinessScrub[] = { TransitionListEnd, }; const Transition gExitList_Caves_HeartPieceHallway[] = { - { WARP_TYPE_AREA, 0x78, 0x38, 0x138, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x78, 0x38, 0x138, 0x88, TRANSITION_SHAPE_AREA_12x12, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x138, 0x1f8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_NorthHyruleFieldFairyFountain[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Caves_KinstoneBusinessScrub[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2325,67 +2325,67 @@ const Transition* const gExitLists_Caves[] = { }; const Transition gExitList_VeilFallsCaves_Hallway2F[] = { - { WARP_TYPE_AREA, 0xd8, 0x28, 0x78, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + { WARP_TYPE_AREA, 0xd8, 0x28, 0x78, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x38, 0x10, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x38, TRANSITION_SHAPE_BORDER_SOUTH_WEST, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x38, 0x20, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x158, 0x38, TRANSITION_SHAPE_BORDER_SOUTH_EAST, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_Hallway1F[] = { - { WARP_TYPE_AREA, 0x38, 0x18, 0x98, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + { WARP_TYPE_AREA, 0x38, 0x18, 0x98, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x78, 0x18, 0xd8, 0x38, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + { WARP_TYPE_AREA, 0x78, 0x18, 0xd8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x8c, 0x118, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0xb8, 0x8c, 0x118, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0xe8, 0xc8, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x38, 0xe8, 0xc8, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_Entrance[] = { - { WARP_TYPE_AREA, 0x128, 0x18, 0x58, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, + { WARP_TYPE_AREA, 0x128, 0x18, 0x58, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x1f8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x1f8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_Exit[] = { - { WARP_TYPE_AREA, 0x58, 0x18, 0x128, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, + { WARP_TYPE_AREA, 0x58, 0x18, 0x128, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x1d8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x1d8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_SecretChest[] = { - { WARP_TYPE_AREA, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, + { WARP_TYPE_AREA, 0x58, 0x38, 0x98, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_SecretStaircases[] = { - { WARP_TYPE_AREA, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, + { WARP_TYPE_AREA, 0x58, 0x38, 0x98, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_SECRET_CHEST, + { WARP_TYPE_AREA, 0x98, 0x38, 0x58, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_SECRET_CHEST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_BlockPuzzle[] = { - { WARP_TYPE_AREA, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, + { WARP_TYPE_AREA, 0x98, 0x38, 0x58, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x158, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0x158, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_RupeePath[] = { - { WARP_TYPE_AREA, 0x98, 0x18, 0x38, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + { WARP_TYPE_AREA, 0x98, 0x18, 0x38, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xd8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xd8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VeilFallsCaves_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x38, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2409,12 +2409,12 @@ const Transition* const gExitLists_VeilFallsCaves[] = { }; const Transition gExitList_RoyalValleyGraves_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x58, 0x98, TRANSITION_SHAPE_BORDER_SOUTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalValleyGraves_Gina[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x188, 0x98, TRANSITION_SHAPE_BORDER_SOUTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2424,48 +2424,48 @@ const Transition* const gExitLists_RoyalValleyGraves[] = { }; const Transition gExitList_MinishCaves_BeanPesto[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x28, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_SoutheastWater1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x308, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x308, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_Ruins[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x14, 0x30, AREA_RUINS, ROOM_RUINS_LADDER_TO_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x14, TRANSITION_SHAPE_BORDER_SOUTH, AREA_RUINS, ROOM_RUINS_LADDER_TO_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_OutsideLinksHouse[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x178, 0xe8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x178, 0xe8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_MinishWoodsNorth1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x48, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x3b8, 0x48, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_LakeHyliaNorth[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x68, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x2b8, 0x68, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_LakeHyliaLibrari[] = { - { WARP_TYPE_AREA, 0x48, 0x38, 0x98, 0x204, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_AREA, 0x48, 0x38, 0x98, 0x204, TRANSITION_SHAPE_AREA_12x12, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x378, 0x38, 0x1b8, 0x1c4, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_AREA, 0x378, 0x38, 0x1b8, 0x1c4, TRANSITION_SHAPE_AREA_12x12, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_MinishCaves_MinishWoodsSouthwest[] = { - { WARP_TYPE_AREA, 0x58, 0x138, 0x48, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + { WARP_TYPE_AREA, 0x58, 0x138, 0x48, 0x224, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x138, 0x138, 0x68, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + { WARP_TYPE_AREA, 0x138, 0x138, 0x68, 0x224, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x218, 0x138, 0x88, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + { WARP_TYPE_AREA, 0x218, 0x138, 0x88, 0x224, TRANSITION_SHAPE_AREA_12x12, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2483,12 +2483,12 @@ const Transition* const gExitLists_MinishCaves[] = { }; const Transition gExitList_CastleGardenMinishHoles_East[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x308, 0x2c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CastleGardenMinishHoles_West[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x2c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2498,12 +2498,12 @@ const Transition* const gExitLists_CastleGardenMinishHoles[] = { }; const Transition gExitList_37_0[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x308, 0x2c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_37_1[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0x2c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2513,20 +2513,20 @@ const Transition* const gExitLists_37[] = { }; const Transition gExitList_HyruleTownUnderground_Main[] = { - { WARP_TYPE_AREA, 0x288, 0xf8, 0x338, 0x118, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x288, 0xf8, 0x338, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x168, 0x18, 0x78, 0x38, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, + { WARP_TYPE_AREA, 0x168, 0x18, 0x78, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x48, 0xf8, 0x188, 0x208, 0x0, AREA_HYRULE_DIG_CAVES, ROOM_HYRULE_DIG_CAVES_TOWN, + { WARP_TYPE_AREA, 0x48, 0xf8, 0x188, 0x208, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_DIG_CAVES, ROOM_HYRULE_DIG_CAVES_TOWN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x138, 0x238, 0x88, 0x50, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_1, + { WARP_TYPE_AREA, 0x138, 0x238, 0x88, 0x50, TRANSITION_SHAPE_AREA_12x28, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_1, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleTownUnderground_Well[] = { - { WARP_TYPE_AREA, 0x98, 0x50, 0x148, 0x23c, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + { WARP_TYPE_AREA, 0x98, 0x50, 0x148, 0x23c, TRANSITION_SHAPE_AREA_12x28, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x78, 0x28, 0x2f8, 0x26c, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x78, 0x28, 0x2f8, 0x26c, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2536,12 +2536,12 @@ const Transition* const gExitLists_HyruleTownUnderground[] = { }; const Transition gExitList_HyruleTownMinishCaves_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x174, 0x196, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x174, 0x196, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleTownMinishCaves_Entrance2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xe2, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe2, 0x58, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2573,12 +2573,12 @@ const Transition* const gExitLists_HyruleTownMinishCaves[] = { }; const Transition gExitList_GardenFountains_East[] = { - { WARP_TYPE_AREA, 0x78, 0x88, 0x308, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_AREA, 0x78, 0x88, 0x308, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GardenFountains_West[] = { - { WARP_TYPE_AREA, 0x78, 0x88, 0xe8, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_AREA, 0x78, 0x88, 0xe8, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2588,12 +2588,12 @@ const Transition* const gExitLists_GardenFountains[] = { }; const Transition gExitList_GreatFairies_Entrance[] = { - { WARP_TYPE_AREA, 0x68, 0x188, 0x68, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_AREA, 0x68, 0x188, 0x68, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_GreatFairies_Exit[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x52, 0x29c, 0xc, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x52, 0x29c, TRANSITION_SHAPE_BORDER_EAST, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2608,84 +2608,84 @@ const Transition* const gExitLists_40[] = { }; const Transition gExitList_DeepwoodShrine_StairsToB1[] = { - { WARP_TYPE_AREA, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_COMPASS, + { WARP_TYPE_AREA, 0xc8, 0x28, 0xc8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_COMPASS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_BluePortal[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Map[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Button[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b8, 0xfff, TRANSITION_SHAPE_BORDER_WEST, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Lever[] = { #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x168, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x168, TRANSITION_SHAPE_BORDER_NORTH, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Barrel[] = { - { WARP_TYPE_AREA, 0xb8, 0x88, 0x50, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + { WARP_TYPE_AREA, 0xb8, 0x88, 0x50, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0x88, 0xa0, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + { WARP_TYPE_AREA, 0x118, 0x88, 0xa0, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x108, 0x50, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + { WARP_TYPE_AREA, 0xb8, 0x108, 0x50, 0x70, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0x108, 0xa0, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + { WARP_TYPE_AREA, 0x118, 0x108, 0xa0, 0x70, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, #ifdef EU - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc8, TRANSITION_SHAPE_BORDER_NORTH, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BUTTON, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x28, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BUTTON, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_LEVER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_MAP, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xe8, 0xfff, TRANSITION_SHAPE_BORDER_WEST, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_MAP, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, #endif TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Entrance[] = { - { WARP_TYPE_AREA, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + { WARP_TYPE_AREA, 0x48, 0x68, 0x48, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + { WARP_TYPE_AREA, 0x108, 0x68, 0x108, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x64, 0x30, AREA_DEEPWOOD_SHRINE_ENTRY, ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x64, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DEEPWOOD_SHRINE_ENTRY, ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_Compass[] = { - { WARP_TYPE_AREA, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1, + { WARP_TYPE_AREA, 0xc8, 0x28, 0xc8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrineBoss_Main[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x8, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0x8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DeepwoodShrine_PreBoss[] = { - { WARP_TYPE_AREA, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + { WARP_TYPE_AREA, 0x48, 0x68, 0x48, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + { WARP_TYPE_AREA, 0x108, 0x68, 0x108, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xd8, 0x3, AREA_DEEPWOOD_SHRINE_BOSS, ROOM_DEEPWOOD_SHRINE_BOSS_MAIN, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xd8, TRANSITION_SHAPE_BORDER_NORTH, AREA_DEEPWOOD_SHRINE_BOSS, ROOM_DEEPWOOD_SHRINE_BOSS_MAIN, 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2730,13 +2730,13 @@ const Transition* const gExitLists_DeepwoodShrineBoss[] = { }; const Transition gExitList_DeepwoodShrineEntry_Main[] = { - { WARP_TYPE_AREA, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + { WARP_TYPE_AREA, 0x78, 0x58, 0xa8, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x188, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x272, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1c8, 0x272, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x272, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x272, TRANSITION_SHAPE_BORDER_EAST, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b8, 0x272, 0xc0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1b8, 0x272, TRANSITION_SHAPE_BORDER_WEST, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2745,37 +2745,37 @@ const Transition* const gExitLists_DeepwoodShrineEntry[] = { }; const Transition gExitList_CaveOfFlames_AfterCane[] = { - { WARP_TYPE_AREA, 0x88, 0x38, 0x1a8, 0x38, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MINISH_SPIKES, + { WARP_TYPE_AREA, 0x88, 0x38, 0x1a8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MINISH_SPIKES, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0x88, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0x88, TRANSITION_SHAPE_BORDER_SOUTH, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_MainCart[] = { - { WARP_TYPE_AREA, 0x1f8, 0x38, 0x88, 0x28, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE, + { WARP_TYPE_AREA, 0x1f8, 0x38, 0x88, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_NorthEntrance[] = { - { WARP_TYPE_AREA, 0x88, 0x18, 0x1f8, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, + { WARP_TYPE_AREA, 0x88, 0x18, 0x1f8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_MinishSpikes[] = { - { WARP_TYPE_AREA, 0x1a8, 0x28, 0x88, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_AFTER_CANE, + { WARP_TYPE_AREA, 0x1a8, 0x28, 0x88, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_AFTER_CANE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_BeforeGleerok[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BOSS_DOOR, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BOSS_DOOR, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_CaveOfFlames_BossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc0, 0x1, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc0, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2816,101 +2816,101 @@ const Transition* const gExitLists_CaveOfFlames[] = { }; const Transition gExitList_FortressOfWinds_BeforeMazaal[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, 1, TRANSITION_TYPE_INSTANT, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EastKeyLever[] = { - { WARP_TYPE_AREA, 0x198, 0x198, 0x2e8, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_AREA, 0x198, 0x198, 0x2e8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1f8, 0x198, 0x338, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_AREA, 0x1f8, 0x198, 0x338, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_PitPlatforms[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_WestKeyLever[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xc8, TRANSITION_SHAPE_BORDER_NORTH, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL, 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Mazaal[] = { - { WARP_TYPE_AREA, 0xb8, 0x18, 0xa0, 0x18c, 0x0, AREA_FORTRESS_OF_WINDS_TOP, ROOM_FORTRESS_OF_WINDS_TOP_MAIN, + { WARP_TYPE_AREA, 0xb8, 0x18, 0xa0, 0x18c, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS_TOP, ROOM_FORTRESS_OF_WINDS_TOP_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Stalfos[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EntranceMoleMitts[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xb0, TRANSITION_SHAPE_BORDER_NORTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_MOLE_MITTS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Main2F[] = { - { WARP_TYPE_AREA, 0x88, 0xf8, 0x78, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + { WARP_TYPE_AREA, 0x88, 0xf8, 0x78, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0xa8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_MinishHole[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x68, 0xb0, TRANSITION_SHAPE_BORDER_NORTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_BossKey[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x338, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_WestStairs2F[] = { - { WARP_TYPE_AREA, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + { WARP_TYPE_AREA, 0x88, 0x28, 0x68, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EastStairs2F[] = { - { WARP_TYPE_AREA, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + { WARP_TYPE_AREA, 0x88, 0x28, 0x68, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0xa8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_WestStairs1F[] = { - { WARP_TYPE_AREA, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F, + { WARP_TYPE_AREA, 0x68, 0x28, 0x88, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x128, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_CenterStairs1F[] = { - { WARP_TYPE_AREA, 0x78, 0x28, 0x88, 0x108, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, + { WARP_TYPE_AREA, 0x78, 0x28, 0x88, 0x108, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1d8, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_EastStairs1F[] = { - { WARP_TYPE_AREA, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + { WARP_TYPE_AREA, 0x68, 0x28, 0x88, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x288, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_Wizzrobe[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x78, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_FortressOfWinds_HeartPiece[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x338, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2958,7 +2958,7 @@ const Transition* const gExitLists_FortressOfWinds[] = { }; const Transition gExitList_FortressOfWindsTop_Main[] = { - { WARP_TYPE_AREA, 0xa0, 0x1a0, 0xb8, 0x28, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, + { WARP_TYPE_AREA, 0xa0, 0x1a0, 0xb8, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2967,7 +2967,7 @@ const Transition* const gExitLists_FortressOfWindsTop[] = { }; const Transition gExitList_InnerMazaal_Main[] = { - { WARP_TYPE_AREA, 0x88, 0x11c, 0xb8, 0x5c, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, + { WARP_TYPE_AREA, 0x88, 0x11c, 0xb8, 0x5c, TRANSITION_SHAPE_AREA_12x12, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -2977,121 +2977,121 @@ const Transition* const gExitLists_InnerMazaal[] = { }; const Transition gExitList_TempleOfDroplets_WestHole[] = { - { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY, + { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_EastHole[] = { - { WARP_TYPE_AREA, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY, + { WARP_TYPE_AREA, 0xd8, 0x28, 0xd8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_HoleToBlueChuchu[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0xfff, TRANSITION_SHAPE_BORDER_WEST, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xc8, 0x28, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_AREA, 0xc8, 0x28, 0x88, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BigBlueChuchu[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0xb8, TRANSITION_SHAPE_BORDER_NORTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BigBlueChuchuKey[] = { - { WARP_TYPE_AREA, 0x58, 0x28, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_AREA, 0x58, 0x28, 0xc8, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BossKey[] = { - { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE, + { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_NorthSmallKey[] = { - { WARP_TYPE_AREA, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE, + { WARP_TYPE_AREA, 0xd8, 0x28, 0xd8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BlueChuchuKeyLever[] = { - { WARP_TYPE_AREA, 0x88, 0x18, 0xc8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_AREA, 0x88, 0x18, 0xc8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xc8, 0x18, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY, + { WARP_TYPE_AREA, 0xc8, 0x18, 0x58, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_WaterfallNortheast[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_Element[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf8, 0xfff, TRANSITION_SHAPE_BORDER_WEST, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, TRANSITION_SHAPE_BORDER_EAST_NORTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x8, 0xfff, TRANSITION_SHAPE_BORDER_EAST_SOUTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x178, TRANSITION_SHAPE_BORDER_NORTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_IceCorner[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x208, 0xfff, TRANSITION_SHAPE_BORDER_WEST, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BigOcto[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x178, TRANSITION_SHAPE_BORDER_NORTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_NorthwestStairs[] = { - { WARP_TYPE_AREA, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_AREA, 0x88, 0x18, 0x88, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_ICE_BRIDGE, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_ScissorsMiniboss[] = { - { WARP_TYPE_AREA, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_AREA, 0xc8, 0x18, 0xc8, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_STAIRS_TO_SCISSORS_MINIBOSS, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_WaterfallSouthwest[] = { - { WARP_TYPE_AREA, 0x38, 0x170, 0x38, 0x18, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST, + { WARP_TYPE_AREA, 0x38, 0x170, 0x38, 0x18, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_ToBigBlueChuchu[] = { - { WARP_TYPE_AREA, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_COMPASS, + { WARP_TYPE_AREA, 0x58, 0x58, 0x58, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_COMPASS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_BlockCloneIceBridge[] = { - { WARP_TYPE_AREA, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS, + { WARP_TYPE_AREA, 0x88, 0x18, 0x88, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_StairsToScissorsMiniboss[] = { - { WARP_TYPE_AREA, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS, + { WARP_TYPE_AREA, 0xc8, 0x18, 0xc8, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_LilypadWestB2[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x168, 0x3, AREA_TEMPLE_OF_DROPLETS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x38, 0x168, TRANSITION_SHAPE_BORDER_NORTH, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_TempleOfDroplets_CompassRoom[] = { - { WARP_TYPE_AREA, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + { WARP_TYPE_AREA, 0x58, 0x58, 0x58, 0x68, TRANSITION_SHAPE_AREA_12x12, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3163,9 +3163,9 @@ const Transition* const gExitLists_TempleOfDroplets[] = { }; const Transition gExitList_61_0[] = { - { WARP_TYPE_AREA, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + { WARP_TYPE_AREA, 0x78, 0x58, 0xa8, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0x174, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0x174, TRANSITION_SHAPE_BORDER_SOUTH, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3177,24 +3177,24 @@ const Transition gExitList_RoyalCrypt_WaterRope[] = { TransitionListEnd, }; const Transition gExitList_RoyalCrypt_Gibdo[] = { - { WARP_TYPE_AREA, 0xa8, 0x12e, 0x128, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, + { WARP_TYPE_AREA, 0xa8, 0x12e, 0x128, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalCrypt_KeyBlock[] = { - { WARP_TYPE_AREA, 0x128, 0x38, 0xa8, 0x118, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_GIBDO, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x128, 0x38, 0xa8, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_GIBDO, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x128, 0x16e, 0x88, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_MUSHROOM_PIT, + { WARP_TYPE_AREA, 0x128, 0x16e, 0x88, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_MUSHROOM_PIT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalCrypt_MushroomPit[] = { - { WARP_TYPE_AREA, 0x88, 0x38, 0x128, 0x158, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, + { WARP_TYPE_AREA, 0x88, 0x38, 0x128, 0x158, TRANSITION_SHAPE_AREA_12x12, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_RoyalCrypt_Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xf0, 0x3c, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xf0, 0x3c, TRANSITION_SHAPE_BORDER_SOUTH, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3211,129 +3211,129 @@ const Transition* const gExitLists_RoyalCrypt[] = { }; const Transition gExitList_PalaceOfWinds_GyorgTornado[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_GyorgBossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x1c8, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x1c8, TRANSITION_SHAPE_BORDER_NORTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BallAndChainSoldiers[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BombarossaPath[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_HoleToDarknut[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x128, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x128, TRANSITION_SHAPE_BORDER_NORTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_ToBombarossaPath[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, TRANSITION_SHAPE_BORDER_NORTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BombWallInside[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x18, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x38, 0x218, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + { WARP_TYPE_AREA, 0x38, 0x38, 0x218, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BombWallOutside[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0xfff, 0x40, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0xfff, TRANSITION_SHAPE_BORDER_WEST_NORTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0xfff, 0x80, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xc8, 0xfff, TRANSITION_SHAPE_BORDER_WEST_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BlockMazeToBossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_HeartPieceBridge[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_RedWarpHall[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x1c8, 0x2, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x1c8, TRANSITION_SHAPE_BORDER_NORTH_EAST, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, + { WARP_TYPE_AREA, 0xb8, 0xd8, 0xb8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_STAIRS_AFTER_FLOORMASTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x218, 0xd8, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + { WARP_TYPE_AREA, 0x218, 0xd8, 0x38, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_PitCornerAfterKey[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0xfff, 0xc0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd8, 0xfff, TRANSITION_SHAPE_BORDER_WEST, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_PotPush[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x78, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x78, TRANSITION_SHAPE_BORDER_NORTH_WEST, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_StairsAfterFloormaster[] = { - { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_KeyArrowButton[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x10, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x10, 0xfff, TRANSITION_SHAPE_BORDER_EAST, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_POT_PUSH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_POT_PUSH, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + { WARP_TYPE_AREA, 0x38, 0x38, 0x38, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_PeahatSwitch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, TRANSITION_SHAPE_BORDER_NORTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_WhirlwindBombarossa[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x88, TRANSITION_SHAPE_BORDER_NORTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_ToPeahatSwitch[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_GibdoStairs[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xfff, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + { WARP_TYPE_AREA, 0x38, 0x38, 0x38, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_BridgeAfterDarknut[] = { - { WARP_TYPE_AREA, 0x78, 0x18, 0x168, 0x118, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + { WARP_TYPE_AREA, 0x78, 0x18, 0x168, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_PalaceOfWinds_DarkCompassHall[] = { - { WARP_TYPE_AREA, 0x168, 0x130, 0x78, 0x28, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT, + { WARP_TYPE_AREA, 0x168, 0x130, 0x78, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + { WARP_TYPE_AREA, 0xb8, 0xd8, 0xb8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3397,175 +3397,175 @@ const Transition gExitList_Unused1[] = { }; const Transition gExitList_DarkHyruleCastle_1FEntrance[] = { - { WARP_TYPE_AREA, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, + { WARP_TYPE_AREA, 0x108, 0xd8, 0x108, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, + { WARP_TYPE_AREA, 0x228, 0xd8, 0x228, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x198, 0x220, 0x1f8, 0x38, 0x2, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_AREA, 0x198, 0x220, 0x1f8, 0x38, TRANSITION_SHAPE_AREA_28x12, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FTopLeftTower[] = { - { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FTopRightTower[] = { - { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FBottomLeftTower[] = { - { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FBottomRightTower[] = { - { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FKeatonHallToVaati[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xe8, 0x3, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xa8, 0xe8, TRANSITION_SHAPE_BORDER_NORTH, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0x190, 0x88, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE_BRIDGE, + { WARP_TYPE_AREA, 0xa8, 0x190, 0x88, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_BRIDGE, ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_3FTripleDarknut[] = { - { WARP_TYPE_AREA, 0xa8, 0x28, 0x78, 0x168, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0xa8, 0x28, 0x78, 0x168, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_ZELDA_STATUE_PLATFORM, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb8, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FTopLeftTower[] = { - { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0x88, 0xc0, 0x88, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FTopRightTower[] = { - { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0x88, 0xc0, 0x88, 0xd8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FRight[] = { - { WARP_TYPE_AREA, 0xf0, 0x5c, 0x44, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0xf0, 0x5c, 0x44, 0x5e, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xf0, 0xec, 0x44, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0xf0, 0xec, 0x44, 0xee, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBossDoor[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x118, 0x3, AREA_DARK_HYRULE_CASTLE_BRIDGE, ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x118, TRANSITION_SHAPE_BORDER_NORTH, AREA_DARK_HYRULE_CASTLE_BRIDGE, ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FEntrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x198, 0xd8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBottomLeftTower[] = { - { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0xa8, 0x38, 0x68, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xc0, 0x78, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0x88, 0xc0, 0x78, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBottomLeftGhini[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0xd8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1Entrance[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x188, 0x3, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x188, TRANSITION_SHAPE_BORDER_NORTH, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_2FBottomRightTower[] = { - { WARP_TYPE_AREA, 0x68, 0x108, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x68, 0x108, 0xa8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0xa8, 0x108, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0xa8, 0x108, 0x68, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0x190, 0x88, 0x288, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0x88, 0x190, 0x88, 0x288, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FTopLeftTower[] = { - { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FThroneRoom[] = { - { WARP_TYPE_AREA, 0x88, 0x48, 0x88, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE, + { WARP_TYPE_AREA, 0x88, 0x48, 0x88, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FCompass[] = { - { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FTopRightTower[] = { - { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FBeforeThrone[] = { - { WARP_TYPE_AREA, 0x88, 0x68, 0x88, 0x78, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE, + { WARP_TYPE_AREA, 0x88, 0x68, 0x88, 0x78, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FBottomLeftTower[] = { - { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_1FBottomRightTower[] = { - { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x68, 0x38, 0xa8, 0x118, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1BelowThrone[] = { - { WARP_TYPE_AREA, 0x88, 0x48, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, + { WARP_TYPE_AREA, 0x88, 0x48, 0x88, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1BelowCompass[] = { - { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_COMPASS, + { WARP_TYPE_AREA, 0xb8, 0x38, 0xb8, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_COMPASS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1BeforeThrone[] = { - { WARP_TYPE_AREA, 0x88, 0x68, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE, + { WARP_TYPE_AREA, 0x88, 0x68, 0x88, 0x58, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1ToPrison[] = { - { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON, + { WARP_TYPE_AREA, 0x58, 0x28, 0x58, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B1Map[] = { - { WARP_TYPE_AREA, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + { WARP_TYPE_AREA, 0x108, 0xd8, 0x108, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + { WARP_TYPE_AREA, 0x228, 0xd8, 0x228, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastle_B2ToPrison[] = { - { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON, + { WARP_TYPE_AREA, 0x58, 0x18, 0x58, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3641,48 +3641,48 @@ const Transition gExitList_Unused2[] = { }; const Transition gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform[] = { - { WARP_TYPE_AREA, 0x78, 0x178, 0xa8, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x78, 0x178, 0xa8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_Garden[] = { - { WARP_TYPE_AREA, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x88, 0x38, 0xc8, 0x1e8, TRANSITION_SHAPE_AREA_12x12, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x18, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideNorthwest[] = { - { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xa8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xa8, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideNortheast[] = { - { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideEast[] = { - { WARP_TYPE_AREA, 0x38, 0x5c, 0xde, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + { WARP_TYPE_AREA, 0x38, 0x5c, 0xde, 0x5e, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x38, 0xec, 0xde, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + { WARP_TYPE_AREA, 0x38, 0xec, 0xde, 0xee, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideSouthwest[] = { - { WARP_TYPE_AREA, 0x78, 0xd8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x78, 0xd8, 0x88, 0xb0, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideSouth[] = { - { WARP_TYPE_AREA, 0x198, 0xc8, 0x88, 0x170, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE, + { WARP_TYPE_AREA, 0x198, 0xc8, 0x88, 0x170, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xa0, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x88, 0xc8, 0x88, 0xa0, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_GHINI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_DarkHyruleCastleOutside_OutsideSoutheast[] = { - { WARP_TYPE_AREA, 0x88, 0x278, 0x88, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x88, 0x278, 0x88, 0x178, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3698,12 +3698,12 @@ const Transition* const gExitLists_DarkHyruleCastleOutside[] = { }; const Transition gExitList_VaatisArms_First[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb0, 0x88, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_VaatisArms_Second[] = { - { WARP_TYPE_BORDER, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xb0, 0x88, TRANSITION_SHAPE_BORDER_SOUTH, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3713,9 +3713,9 @@ const Transition* const gExitLists_VaatisArms[] = { }; const Transition gExitList_DarkHyruleCastleBridge_Main[] = { - { WARP_TYPE_AREA, 0x88, 0x18, 0xa8, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, + { WARP_TYPE_AREA, 0x88, 0x18, 0xa8, 0x178, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x28, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x88, 0x28, TRANSITION_SHAPE_BORDER_SOUTH, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3724,29 +3724,29 @@ const Transition* const gExitLists_DarkHyruleCastleBridge[] = { }; const Transition gExitList_HyruleCastle_0[] = { - { WARP_TYPE_AREA, 0x48, 0xd8, 0x88, 0x288, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x48, 0xd8, 0x88, 0x288, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x38, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x1f8, 0x38, TRANSITION_SHAPE_BORDER_SOUTH, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleCastle_1[] = { - { WARP_TYPE_AREA, 0x58, 0x28, 0x68, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x58, 0x28, 0x68, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x198, 0x28, 0x1c8, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x198, 0x28, 0x1c8, 0x28, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_HyruleCastle_3[] = { - { WARP_TYPE_AREA, 0x68, 0x18, 0x58, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x68, 0x18, 0x58, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x1c8, 0x18, 0x198, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x1c8, 0x18, 0x198, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x88, 0x278, 0x48, 0xe8, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_AREA, 0x88, 0x278, 0x48, 0xe8, TRANSITION_SHAPE_AREA_12x12, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, - { WARP_TYPE_AREA, 0x118, 0x1c8, 0x88, 0x180, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, + { WARP_TYPE_AREA, 0x118, 0x1c8, 0x88, 0x180, TRANSITION_SHAPE_AREA_12x12, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0xd2, 0x5c, 0xc0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_1, + { WARP_TYPE_BORDER, 0x0, 0x0, 0xd2, 0x5c, TRANSITION_SHAPE_BORDER_WEST, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_1, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3762,9 +3762,9 @@ const Transition* const gExitLists_HyruleCastle[] = { }; const Transition gExitList_SanctuaryEntrance_Main[] = { - { WARP_TYPE_AREA, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, + { WARP_TYPE_AREA, 0x88, 0x38, 0xc8, 0x1e8, TRANSITION_SHAPE_AREA_12x12, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, - { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0x1e8, 0x30, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x118, 0x1e8, TRANSITION_SHAPE_BORDER_SOUTH, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; @@ -3773,22 +3773,22 @@ const Transition* const gExitLists_SanctuaryEntrance[] = { }; const Transition gExitList_Sanctuary_Hall[] = { - { WARP_TYPE_AREA, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, + { WARP_TYPE_AREA, 0xc8, 0x1fc, 0x88, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gUnk_0813A76C[] = { - { WARP_TYPE_AREA, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + { WARP_TYPE_AREA, 0xc8, 0x1fc, 0x88, 0x48, TRANSITION_SHAPE_AREA_12x12, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Sanctuary_Main[] = { - { WARP_TYPE_AREA, 0xe8, 0x28, 0x98, 0x130, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_STAINED_GLASS, 2, + { WARP_TYPE_AREA, 0xe8, 0x28, 0x98, 0x130, TRANSITION_SHAPE_AREA_12x12, AREA_SANCTUARY, ROOM_SANCTUARY_STAINED_GLASS, 2, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0 }, TransitionListEnd, }; const Transition gExitList_Sanctuary_StainedGlass[] = { - { WARP_TYPE_AREA, 0x98, 0x140, 0xe8, 0x38, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_MAIN, 2, TRANSITION_TYPE_NORMAL, 0x4, + { WARP_TYPE_AREA, 0x98, 0x140, 0xe8, 0x38, TRANSITION_SHAPE_AREA_12x12, AREA_SANCTUARY, ROOM_SANCTUARY_MAIN, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0 }, TransitionListEnd, }; diff --git a/src/scroll.c b/src/scroll.c index 84264078..6fa1e3d9 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -55,8 +55,8 @@ u32 sub_08080278(); void sub_08080C80(MapDataDefinition*); void sub_08080368(); void FillActTileForLayer(MapLayer* mapLayer); -bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 param_2, u32 param_3, u32 direction); -bool32 IsPosInTransitionRect(const Transition* transition, u32 param_2, u32 param_3, u32 unused); +bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 param_2, u32 param_3, u32 facing_direction); +bool32 IsPosInTransitionRect(const Transition* transition, u32 param_2, u32 param_3, u32 facing_direction); void sub_080808D8(s32); void sub_080808E4(s32); void sub_08080904(s32); @@ -616,7 +616,8 @@ const Transition* sub_08080734(u32 param_1, u32 param_2) { const Transition* transition = gArea.pCurrentRoomInfo->exits; u32 warp_types = 0xa; while (transition->warp_type != WARP_TYPE_END_OF_LIST) { - if (((1 << transition->warp_type) & warp_types) != 0 && IsPosInTransitionRect(transition, param_1, param_2, 0)) { + if (((1 << transition->warp_type) & warp_types) != 0 && + IsPosInTransitionRect(transition, param_1, param_2, 0)) { return transition; } transition++; @@ -624,38 +625,38 @@ const Transition* sub_08080734(u32 param_1, u32 param_2) { return NULL; } -bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 pos_x, u32 pos_y, u32 direction) { +bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 pos_x, u32 pos_y, u32 facing_direction) { u32 shapeBitmask; - switch (direction) { + switch (facing_direction) { default: - return 0; + return FALSE; case 0: if (gRoomControls.width / 2 < pos_x) { - shapeBitmask = 2; + shapeBitmask = TRANSITION_SHAPE_BORDER_NORTH_EAST; } else { - shapeBitmask = 1; + shapeBitmask = TRANSITION_SHAPE_BORDER_NORTH_WEST; } break; case 1: if (gRoomControls.height / 2 < pos_y) { - shapeBitmask = 8; + shapeBitmask = TRANSITION_SHAPE_BORDER_EAST_SOUTH; } else { - shapeBitmask = 4; + shapeBitmask = TRANSITION_SHAPE_BORDER_EAST_NORTH; } break; case 2: if (gRoomControls.width / 2 < pos_x) { - shapeBitmask = 0x20; + shapeBitmask = TRANSITION_SHAPE_BORDER_SOUTH_EAST; } else { - shapeBitmask = 0x10; + shapeBitmask = TRANSITION_SHAPE_BORDER_SOUTH_WEST; } break; case 3: if (gRoomControls.height / 2 < pos_y) { - shapeBitmask = 0x80; + shapeBitmask = TRANSITION_SHAPE_BORDER_WEST_SOUTH; } else { - shapeBitmask = 0x40; + shapeBitmask = TRANSITION_SHAPE_BORDER_WEST_NORTH; } break; } @@ -666,7 +667,7 @@ bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 pos_x, u3 return FALSE; } -bool32 IsPosInTransitionRect(const Transition* transition, u32 pos_x, u32 pos_y, u32 unused) { +bool32 IsPosInTransitionRect(const Transition* transition, u32 pos_x, u32 pos_y, u32 facing_direction) { static const u8 gShapeDimensions[] = { 6, 6, 6, 14, 14, 6, 22, 6 }; const u8* shape; u32 shape_x; From b19f86852b486b44c67f782914cfd208bb313bcf Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 3 Mar 2025 16:15:20 +0000 Subject: [PATCH 05/17] more transition function cleanup --- include/functions.h | 4 +- include/transitions.h | 4 +- src/beanstalkSubtask.c | 6 +- src/manager/miscManager.c | 2 +- src/manager/vaati3StartManager.c | 2 +- src/npc/npc4E.c | 2 +- src/object/gyorgBossObject.c | 2 +- src/object/lilypadLarge.c | 2 +- src/roomInit.c | 2 +- src/scroll.c | 135 ++++++++++++++++--------------- 10 files changed, 81 insertions(+), 80 deletions(-) diff --git a/include/functions.h b/include/functions.h index de36bf0b..9460e06e 100644 --- a/include/functions.h +++ b/include/functions.h @@ -91,8 +91,8 @@ extern void InitPlayerMacro(PlayerMacroEntry*); extern u32* sub_0805F25C(u32); extern void sub_0805F8E4(u32 r0, WStruct* r1); extern void sub_0806D0B0(Entity*); -extern bool32 sub_080806BC(u32, u32, u32, u32); -extern void sub_0808091C(const Transition* screenTransition, u32 transitionType); +extern bool32 DoApplicableTransition(u32, u32, u32, u32); +extern void DoExitTransitionWithType(const Transition* screenTransition, u32 transitionType); extern void sub_080809D4(void); extern void sub_08080CB4(Entity*); extern u32 sub_0808288C(Entity*, u32, u32, u32); diff --git a/include/transitions.h b/include/transitions.h index eac41f43..dd4dfc30 100644 --- a/include/transitions.h +++ b/include/transitions.h @@ -7,8 +7,8 @@ typedef enum { WARP_TYPE_BORDER, WARP_TYPE_AREA, - WARP_TYPE_UNK2, - WARP_TYPE_UNK3, + WARP_TYPE_BORDER2, + WARP_TYPE_AREA2, WARP_TYPE_END_OF_LIST = 0xffff, } WarpType; diff --git a/src/beanstalkSubtask.c b/src/beanstalkSubtask.c index 9da2f7eb..6ad7f184 100644 --- a/src/beanstalkSubtask.c +++ b/src/beanstalkSubtask.c @@ -63,7 +63,7 @@ extern void sub_0804B388(u32 a1, u32 a2); extern u32 sub_080A7CFC(u32 a1, u32 tmp); // TODO does this really have a second param? extern void OpenSmallChest(u32 pos, u32 layer); extern bool32 sub_08079778(); -extern Transition* sub_08080734(u32, u32); +extern Transition* FindApplicableAreaTransition(u32, u32); extern const s16 gUnk_080B4490[]; extern const s16 gUnk_080B4468[]; @@ -206,7 +206,7 @@ u32 UpdatePlayerCollision(void) { gPlayerEntity.base.collisionLayer) == COLLISION_DATA_255) { if ((((gPlayerState.flags & (PL_FLAGS10000 | PL_FLAGS2)) != 0) || ((gPlayerState.sword_state & 0x10) != 0)) || - ((sub_080806BC(gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x, + ((DoApplicableTransition(gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x, gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y, index, 5) == 0 && (((gPlayerState.heldObject != 0 || ((gPlayerState.gustJarState & 0xf) != 0)) || (sub_0807BD14(&gPlayerEntity.base, index) == 0)))))) { @@ -269,7 +269,7 @@ u32 UpdatePlayerCollision(void) { } ptr1 = &gUnk_080B4478[gPlayerEntity.base.animationState & 6]; - transition = sub_08080734((gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x) + ptr1[0], + transition = FindApplicableAreaTransition((gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x) + ptr1[0], (gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y) + ptr1[1]); if (transition == NULL) { return 0; diff --git a/src/manager/miscManager.c b/src/manager/miscManager.c index ed284275..bcb7bce9 100644 --- a/src/manager/miscManager.c +++ b/src/manager/miscManager.c @@ -355,7 +355,7 @@ void MiscManager_TypeA(MiscManager* this) { void MiscManager_TypeB(MiscManager* this) { if (sub_080593CC(this)) { if (++super->timer >= 8) { - sub_080806BC(this->x - gRoomControls.origin_x, this->y - gRoomControls.origin_y, 0xFF, 0xA); + DoApplicableTransition(this->x - gRoomControls.origin_x, this->y - gRoomControls.origin_y, 0xFF, 0xA); } } else { super->timer = 0; diff --git a/src/manager/vaati3StartManager.c b/src/manager/vaati3StartManager.c index 1fa0c618..097f3afa 100644 --- a/src/manager/vaati3StartManager.c +++ b/src/manager/vaati3StartManager.c @@ -154,5 +154,5 @@ void Vaati3StartManager_Type1_Action1(Vaati3StartManager* this) { void sub_0805E094(void) { SetInitializationPriority(); - sub_0808091C(&gUnk_0813AC34, TRANSITION_7); + DoExitTransitionWithType(&gUnk_0813AC34, TRANSITION_7); } diff --git a/src/npc/npc4E.c b/src/npc/npc4E.c index 69a57088..73dced19 100644 --- a/src/npc/npc4E.c +++ b/src/npc/npc4E.c @@ -62,7 +62,7 @@ void NPC4E_ChangeInteractableHitbox(Entity* this, ScriptExecutionContext* contex } void NPC4E_DoScreenTransition(Entity* this, ScriptExecutionContext* context) { - sub_0808091C(gNpc4ETransitions[context->intVariable], gNpc4ETransitionTypes[context->intVariable]); + DoExitTransitionWithType(gNpc4ETransitions[context->intVariable], gNpc4ETransitionTypes[context->intVariable]); } u8 NPC4E_GetKinstoneId(Entity* this) { diff --git a/src/object/gyorgBossObject.c b/src/object/gyorgBossObject.c index 2de64ed0..c04e6eaa 100644 --- a/src/object/gyorgBossObject.c +++ b/src/object/gyorgBossObject.c @@ -251,7 +251,7 @@ void GyorgBossObject_FightEnd(GyorgBossObjectEntity* this) { sub_080A1E54(this); if (--super->subtimer == 0) { SetFlag(0x7B); - sub_0808091C(&gUnk_0813ABD0, 8); + DoExitTransitionWithType(&gUnk_0813ABD0, 8); return; } if (super->subtimer == 0x3C) { diff --git a/src/object/lilypadLarge.c b/src/object/lilypadLarge.c index 03cca48a..9a7458b3 100644 --- a/src/object/lilypadLarge.c +++ b/src/object/lilypadLarge.c @@ -498,7 +498,7 @@ void sub_08085D60(LilypadLargeEntity* this) { tmpY = gUnk_08120638[tmp + 1]; if (GetCollisionDataRelativeTo(super, tmpX, tmpY) == COLLISION_DATA_255) { - if (sub_080806BC((super->x.HALF.HI - gRoomControls.origin_x) + tmpX, + if (DoApplicableTransition((super->x.HALF.HI - gRoomControls.origin_x) + tmpX, (super->y.HALF.HI - gRoomControls.origin_y) + tmpY, r4, 5) == 0) { if (sub_0807BD14(&gPlayerEntity.base, r4 >> 3) != 0) { super->direction = r4; diff --git a/src/roomInit.c b/src/roomInit.c index 4c5dbfa7..e5afa576 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -713,7 +713,7 @@ void sub_StateChange_HyruleCastle_4(void) { } void sub_0804BCDC(void) { - sub_0808091C(&gUnk_0813AB80, TRANSITION_FADE_BLACK_SLOW); + DoExitTransitionWithType(&gUnk_0813AB80, TRANSITION_FADE_BLACK_SLOW); } u32 sub_unk3_HyruleCastle_5(void) { diff --git a/src/scroll.c b/src/scroll.c index 6fa1e3d9..408cbd6b 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -57,10 +57,10 @@ void sub_08080368(); void FillActTileForLayer(MapLayer* mapLayer); bool32 IsPosInBorderTransitionRegion(const Transition* transition, u32 param_2, u32 param_3, u32 facing_direction); bool32 IsPosInTransitionRect(const Transition* transition, u32 param_2, u32 param_3, u32 facing_direction); -void sub_080808D8(s32); -void sub_080808E4(s32); -void sub_08080904(s32); -void sub_08080910(s32); +void SetRoomTransitionTypeForAreaWarp(s32); +void SetRoomTransitionTypeForBorderWarp(s32); +void SetRoomTransitionTypeForArea2Warp(s32); +void SetRoomTransitionTypeForBorder2Warp(s32); extern const s8 gShakeOffsets[]; @@ -482,89 +482,90 @@ void sub_08080368(void) { } u32 sub_080803D0(void) { - s32 sp00, sp04, sp08, sp0c, sp10, sp14, sp18, sp1c; - s32 r2, r4, r7, r8, r9, r10; + s32 delta_x, delta_y, dd_x, dd_y, pos_x, pos_y, scroll_x, scroll_y; + s32 xy49, r4, r7, r8, delta_yy, delta_xx; + + scroll_x = gRoomControls.scroll_x - gRoomControls.origin_x; + pos_x = gRoomControls.camera_target->x.HALF.HI - gRoomControls.origin_x; + scroll_y = gRoomControls.scroll_y - gRoomControls.origin_y; + pos_y = gRoomControls.camera_target->y.HALF.HI - gRoomControls.origin_y; + dd_x = 0x3c; - sp18 = gRoomControls.scroll_x - gRoomControls.origin_x; - sp10 = gRoomControls.camera_target->x.HALF.HI - gRoomControls.origin_x; - sp1c = gRoomControls.scroll_y - gRoomControls.origin_y; - sp14 = gRoomControls.camera_target->y.HALF.HI - gRoomControls.origin_y; - sp08 = 0x3c; do { r7 = 0; - sp08 += 6; - r10 = sp08 * sp08; - sp0c = sp08 * 2 / 3; - r9 = sp0c * sp0c; + dd_x += 6; + delta_xx = dd_x * dd_x; + dd_y = dd_x * 2 / 3; + delta_yy = dd_y * dd_y; - sp00 = sp08; - sp04 = 0; - r4 = (-(sp08 * 2) + 1) * r9 + r10 * 2; - r2 = sp00 * r9 / r10; - while (sp04 <= r2) { + delta_x = dd_x; + delta_y = 0; + r4 = (-(dd_x * 2) + 1) * delta_yy + delta_xx * 2; + xy49 = delta_x * delta_yy / delta_xx; // = x * 4/9 + while (delta_y <= xy49) { - if ((sp1c + 0xa8) > sp14 + sp04) { - if (sp18 + 0xf8 > sp00 + sp10) { + if (scroll_y + 0xa8 > pos_y + delta_y) { + if (scroll_x + 0xf8 > delta_x + pos_x) { r7 |= 1; } - if (sp18 < sp10 - sp00 + 8) { + if (scroll_x < pos_x - delta_x + 8) { r7 |= 2; } } - if (sp1c < (sp14 - sp04) + 8) { - if (sp18 + 0xf8 > sp00 + sp10) { + if (scroll_y < pos_y - delta_y + 8) { + if (scroll_x + 0xf8 > delta_x + pos_x) { r7 |= 4; } - if (sp18 < sp10 - sp00 + 8) { + if (scroll_x < pos_x - delta_x + 8) { r7 |= 8; } } if (r4 > 0) { - r4 += ((-(sp00 << 0x2) + 4) * r9) + (r10 * (6 + 4 * sp04)); - sp00--; - r2 = sp00 * r9 / r10; + r4 += ((-(delta_x << 0x2) + 4) * delta_yy) + (delta_xx * (6 + 4 * delta_y)); + delta_x--; + xy49 = delta_x * delta_yy / delta_xx; } else { - r4 += (r10 * (6 + 4 * sp04)); + r4 += (delta_xx * (6 + 4 * delta_y)); } - sp04++; + delta_y++; } - sp00 = 0; - sp04 = sp0c; - r4 = r9 * 2 + (sp04 * -2 + 1) * r10; - r2 = sp04 * r10 / r9; - while (sp00 <= r2) { - if (sp1c + 0xa8 > sp14 + sp04) { - if (sp18 + 0xf8 > sp10 + sp00) { + delta_x = 0; + delta_y = dd_y; + r4 = delta_yy * 2 + (delta_y * -2 + 1) * delta_xx; + xy49 = delta_y * delta_xx / delta_yy; // y * 9 / 4 + while (delta_x <= xy49) { + if (scroll_y + 0xa8 > pos_y + delta_y) { + if (scroll_x + 0xf8 > pos_x + delta_x) { r7 |= 0x10; } - if (sp18 < sp10 + 8 - sp00) { + if (scroll_x < pos_x + 8 - delta_x) { r7 |= 0x20; } } - if (sp1c < (sp14 - sp04) + 8) { - if (sp18 + 0xf8 > sp10 + sp00) { + if (scroll_y < pos_y - delta_y + 8) { + if (scroll_x + 0xf8 > pos_x + delta_x) { r7 |= 0x40; } - if (sp18 < sp10 + 8 - sp00) { + if (scroll_x < pos_x + 8 - delta_x) { r7 |= 0x80; } } if (r4 > 0) { - r4 += r9 * (6 + (4 * sp00)) + (sp04 * -4 + 4) * r10; - sp04--; - r2 = sp04 * r10 / r9; + r4 += delta_yy * (6 + (4 * delta_x)) + (delta_y * -4 + 4) * delta_xx; + delta_y--; + xy49 = delta_y * delta_xx / delta_yy; } else { - r4 += r9 * (6 + (4 * sp00)); + r4 += delta_yy * (6 + (4 * delta_x)); } - sp00++; + delta_x++; } } while (r7 != 0); - return sp08; + return dd_x; } void UpdateIsDiggingCave(void) { @@ -592,7 +593,7 @@ void ClearTileMaps(void) { MemClear(&gMapDataTopSpecial, 0x8000); } -bool32 sub_080806BC(u32 x, u32 y, u32 direction, u32 warp_types) { +bool32 DoApplicableTransition(u32 x, u32 y, u32 direction, u32 warp_types) { static bool32 (*const gUnk_0811E7AC[])(const Transition*, u32, u32, u32) = { IsPosInBorderTransitionRegion, IsPosInTransitionRect, @@ -612,12 +613,12 @@ bool32 sub_080806BC(u32 x, u32 y, u32 direction, u32 warp_types) { return 0; } -const Transition* sub_08080734(u32 param_1, u32 param_2) { +const Transition* FindApplicableAreaTransition(u32 pos_x, u32 pos_y) { const Transition* transition = gArea.pCurrentRoomInfo->exits; u32 warp_types = 0xa; while (transition->warp_type != WARP_TYPE_END_OF_LIST) { if (((1 << transition->warp_type) & warp_types) != 0 && - IsPosInTransitionRect(transition, param_1, param_2, 0)) { + IsPosInTransitionRect(transition, pos_x, pos_y, 0)) { return transition; } transition++; @@ -688,24 +689,24 @@ bool32 IsPosInTransitionRect(const Transition* transition, u32 pos_x, u32 pos_y, } void DoExitTransition(const Transition* data) { - static void (*const gUnk_0811E7C4[])(s32) = { - sub_080808D8, - sub_080808E4, - sub_08080904, - sub_08080910, + static void (*const sSetRoomTransitionTypes[])(s32) = { + SetRoomTransitionTypeForAreaWarp, + SetRoomTransitionTypeForBorderWarp, + SetRoomTransitionTypeForArea2Warp, + SetRoomTransitionTypeForBorder2Warp, }; PlayerRoomStatus* status; gRoomTransition.transitioningOut = 1; status = &gRoomTransition.player_status; - if ((u16)data->endX <= 0x3ff) { + if (data->endX <= 0x3ff) { status->start_pos_x = data->endX; } else { - status->start_pos_x = (gRoomControls.camera_target)->x.HALF.HI | 0x8000; + status->start_pos_x = gRoomControls.camera_target->x.HALF.HI | 0x8000; } - if ((u16)data->endY <= 0x3ff) { + if (data->endY <= 0x3ff) { status->start_pos_y = data->endY; } else { - status->start_pos_y = (gRoomControls.camera_target)->y.HALF.HI | 0x8000; + status->start_pos_y = gRoomControls.camera_target->y.HALF.HI | 0x8000; } status->area_next = data->area; status->room_next = data->room; @@ -715,14 +716,14 @@ void DoExitTransition(const Transition* data) { if (data->transitionSFX != SFX_NONE) { SoundReq(data->transitionSFX); } - gUnk_0811E7C4[data->warp_type](data->shape); + sSetRoomTransitionTypes[data->warp_type](data->shape); } -void sub_080808D8(s32 param_1) { +void SetRoomTransitionTypeForAreaWarp(s32 param_1) { gRoomTransition.type = TRANSITION_DEFAULT; } -void sub_080808E4(s32 param_1) { +void SetRoomTransitionTypeForBorderWarp(s32 param_1) { if (CheckAreaOverworld(gRoomTransition.player_status.area_next)) { gRoomTransition.type = TRANSITION_DEFAULT; } else { @@ -730,15 +731,15 @@ void sub_080808E4(s32 param_1) { } } -void sub_08080904(s32 param_1) { +void SetRoomTransitionTypeForArea2Warp(s32 param_1) { gRoomTransition.type = TRANSITION_CUT; } -void sub_08080910(s32 param_1) { +void SetRoomTransitionTypeForBorder2Warp(s32 param_1) { gRoomTransition.type = TRANSITION_CUT; } -void sub_0808091C(const Transition* screenTransition, u32 transitionType) { +void DoExitTransitionWithType(const Transition* screenTransition, u32 transitionType) { DoExitTransition(screenTransition); gRoomTransition.type = transitionType; } @@ -864,7 +865,7 @@ void UpdateDoorTransition() { case ACT_TILE_241: case ACT_TILE_40: case ACT_TILE_41: - sub_080806BC(x, y, 0xff, 10); + DoApplicableTransition(x, y, 0xff, 10); break; } } From e3022b8b039214f4aaec895558ec94931c5ed3a5 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 4 Mar 2025 21:00:25 +0000 Subject: [PATCH 06/17] cleanup hole manager --- assets/assets.json | 54 ++--- data/const/manager/holeManager.s | 189 --------------- include/functions.h | 1 - include/manager/holeManager.h | 16 +- include/manager/lightManager.h | 2 + linker.ld | 1 + src/manager/holeManager.c | 320 +++++++++++++++++--------- src/manager/lightManager.c | 2 +- src/object/chestSpawner.c | 7 +- src/object/fourElements.c | 5 +- src/object/minishPortalStone.c | 5 +- src/roomInit.c | 6 +- tools/src/asset_processor/offsets.cpp | 4 +- 13 files changed, 267 insertions(+), 345 deletions(-) diff --git a/assets/assets.json b/assets/assets.json index 159dcb76..e56d5b4a 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -13037,137 +13037,137 @@ "size": 8 }, { - "path": "holeManager/gUnk_08108764.bin", + "path": "holeManager/gHoleTransitions.bin", "start": 1083236, "size": 32 }, { - "path": "holeManager/gUnk_08108764_1.bin", + "path": "holeManager/gHoleTransitions_1.bin", "start": 1083272, "size": 16 }, { - "path": "holeManager/gUnk_08108764_2.bin", + "path": "holeManager/gHoleTransitions_2.bin", "start": 1083292, "size": 20 }, { - "path": "holeManager/gUnk_08108764_3.bin", + "path": "holeManager/gHoleTransitions_3.bin", "start": 1083316, "size": 12 }, { - "path": "holeManager/gUnk_08108764_4.bin", + "path": "holeManager/gHoleTransitions_4.bin", "start": 1083332, "size": 16 }, { - "path": "holeManager/gUnk_08108764_5.bin", + "path": "holeManager/gHoleTransitions_5.bin", "start": 1083352, "size": 16 }, { - "path": "holeManager/gUnk_08108764_6.bin", + "path": "holeManager/gHoleTransitions_6.bin", "start": 1083372, "size": 40 }, { - "path": "holeManager/gUnk_08108764_7.bin", + "path": "holeManager/gHoleTransitions_7.bin", "start": 1083416, "size": 16 }, { - "path": "holeManager/gUnk_08108764_8.bin", + "path": "holeManager/gHoleTransitions_8.bin", "start": 1083436, "size": 16 }, { - "path": "holeManager/gUnk_08108764_9.bin", + "path": "holeManager/gHoleTransitions_9.bin", "start": 1083456, "size": 16 }, { - "path": "holeManager/gUnk_08108764_10.bin", + "path": "holeManager/gHoleTransitions_10.bin", "start": 1083476, "size": 32 }, { - "path": "holeManager/gUnk_08108764_11.bin", + "path": "holeManager/gHoleTransitions_11.bin", "start": 1083512, "size": 440 }, { - "path": "holeManager/gUnk_08108764_12.bin", + "path": "holeManager/gHoleTransitions_12.bin", "start": 1083956, "size": 16 }, { - "path": "holeManager/gUnk_08108764_13.bin", + "path": "holeManager/gHoleTransitions_13.bin", "start": 1083976, "size": 36 }, { - "path": "holeManager/gUnk_08108764_14.bin", + "path": "holeManager/gHoleTransitions_14.bin", "start": 1084016, "size": 16 }, { - "path": "holeManager/gUnk_08108764_15.bin", + "path": "holeManager/gHoleTransitions_15.bin", "start": 1084036, "size": 16 }, { - "path": "holeManager/gUnk_08108764_16.bin", + "path": "holeManager/gHoleTransitions_16.bin", "start": 1084056, "size": 36 }, { - "path": "holeManager/gUnk_08108764_17.bin", + "path": "holeManager/gHoleTransitions_17.bin", "start": 1084096, "size": 16 }, { - "path": "holeManager/gUnk_08108764_18.bin", + "path": "holeManager/gHoleTransitions_18.bin", "start": 1084116, "size": 36 }, { - "path": "holeManager/gUnk_08108764_19.bin", + "path": "holeManager/gHoleTransitions_19.bin", "start": 1084156, "size": 36 }, { - "path": "holeManager/gUnk_08108764_20.bin", + "path": "holeManager/gHoleTransitions_20.bin", "start": 1084196, "size": 16 }, { - "path": "holeManager/gUnk_08108764_21.bin", + "path": "holeManager/gHoleTransitions_21.bin", "start": 1084216, "size": 16 }, { - "path": "holeManager/gUnk_08108764_22.bin", + "path": "holeManager/gHoleTransitions_22.bin", "start": 1084236, "size": 16 }, { - "path": "holeManager/gUnk_08108764_23.bin", + "path": "holeManager/gHoleTransitions_23.bin", "start": 1084256, "size": 32 }, { - "path": "holeManager/gUnk_08108764_24.bin", + "path": "holeManager/gHoleTransitions_24.bin", "start": 1084292, "size": 16 }, { - "path": "holeManager/gUnk_08108764_25.bin", + "path": "holeManager/gHoleTransitions_25.bin", "start": 1084312, "size": 16 }, { - "path": "holeManager/gUnk_08108764_26.bin", + "path": "holeManager/gHoleTransitions_26.bin", "start": 1084332, "size": 124 }, diff --git a/data/const/manager/holeManager.s b/data/const/manager/holeManager.s index 1ad9d330..d721bc55 100644 --- a/data/const/manager/holeManager.s +++ b/data/const/manager/holeManager.s @@ -3,192 +3,3 @@ .section .rodata .align 2 - -HoleManager_Actions:: @ 08108668 - .4byte sub_0805B048 - .4byte sub_0805B168 - -gUnk_08108670:: @ 08108670 -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_08108670_EU.bin" -.else - .incbin "holeManager/gUnk_08108670_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_0810867C:: @ 0810867C -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_0810867C_EU.bin" -.else - .incbin "holeManager/gUnk_0810867C_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_08108688:: @ 08108688 -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_08108688_EU.bin" -.else - .incbin "holeManager/gUnk_08108688_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_08108694:: @ 08108694 -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_08108694_EU.bin" -.else - .incbin "holeManager/gUnk_08108694_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_081086A0:: @ 081086A0 -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_081086A0_EU.bin" -.else - .incbin "holeManager/gUnk_081086A0_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - .incbin "holeManager/gUnk_081086A0_2.bin" - -gUnk_081086AC:: @ 081086AC -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_081086AC_EU.bin" -.else - .incbin "holeManager/gUnk_081086AC_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_081086B8:: @ 081086B8 -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_081086B8_EU.bin" -.else - .incbin "holeManager/gUnk_081086B8_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_081086C4:: @ 081086C4 -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_081086C4_EU.bin" -.else - .incbin "holeManager/gUnk_081086C4_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_081086D0:: @ 081086D0 -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_081086D0_EU.bin" -.else - .incbin "holeManager/gUnk_081086D0_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif -.ifdef EU - @ TODO only small differences - .incbin "holeManager/gUnk_081086D0_2_EU.bin" -.else - .incbin "holeManager/gUnk_081086D0_3_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_081086DC:: @ 081086DC - .incbin "holeManager/gUnk_081086DC.bin" - -gUnk_081086E4:: @ 081086E4 - .incbin "holeManager/gUnk_081086E4.bin" - -gUnk_081086EC:: @ 081086EC - .incbin "holeManager/gUnk_081086EC.bin" - -gUnk_081086F4:: @ 081086F4 - .incbin "holeManager/gUnk_081086F4.bin" - -gUnk_081086FC:: @ 081086FC - .incbin "holeManager/gUnk_081086FC.bin" - -gUnk_08108704:: @ 08108704 - .incbin "holeManager/gUnk_08108704.bin" - -gUnk_0810870C:: @ 0810870C - .incbin "holeManager/gUnk_0810870C.bin" - -gUnk_08108714:: @ 08108714 - .incbin "holeManager/gUnk_08108714.bin" - -gUnk_0810871C:: @ 0810871C - .incbin "holeManager/gUnk_0810871C.bin" - -gUnk_08108724:: @ 08108724 - .incbin "holeManager/gUnk_08108724.bin" - -gUnk_0810872C:: @ 0810872C - .incbin "holeManager/gUnk_0810872C.bin" - -gUnk_08108734:: @ 08108734 - .incbin "holeManager/gUnk_08108734.bin" - -gUnk_0810873C:: @ 0810873C - .incbin "holeManager/gUnk_0810873C.bin" - -gUnk_08108744:: @ 08108744 - .incbin "holeManager/gUnk_08108744.bin" - -gUnk_0810874C:: @ 0810874C - .incbin "holeManager/gUnk_0810874C.bin" - -gUnk_08108754:: @ 08108754 - .incbin "holeManager/gUnk_08108754.bin" - -gUnk_0810875C:: @ 0810875C - .incbin "holeManager/gUnk_0810875C.bin" - -gUnk_08108764:: @ 08108764 - .incbin "holeManager/gUnk_08108764.bin" - .4byte gUnk_08108670 - .incbin "holeManager/gUnk_08108764_1.bin" - .4byte gUnk_08108688 - .incbin "holeManager/gUnk_08108764_2.bin" - .4byte gUnk_0810875C - .incbin "holeManager/gUnk_08108764_3.bin" - .4byte gUnk_08108694 - .incbin "holeManager/gUnk_08108764_4.bin" - .4byte gUnk_081086A0 - .incbin "holeManager/gUnk_08108764_5.bin" - .4byte gUnk_081086AC - .incbin "holeManager/gUnk_08108764_6.bin" - .4byte gUnk_081086DC - .incbin "holeManager/gUnk_08108764_7.bin" - .4byte gUnk_081086E4 - .incbin "holeManager/gUnk_08108764_8.bin" - .4byte gUnk_081086EC - .incbin "holeManager/gUnk_08108764_9.bin" - .4byte gUnk_081086F4 - .incbin "holeManager/gUnk_08108764_10.bin" - .4byte gUnk_0810867C - .incbin "holeManager/gUnk_08108764_11.bin" - .4byte gUnk_081086FC - .incbin "holeManager/gUnk_08108764_12.bin" - .4byte gUnk_08108704 - .incbin "holeManager/gUnk_08108764_13.bin" - .4byte gUnk_0810870C - .incbin "holeManager/gUnk_08108764_14.bin" - .4byte gUnk_08108714 - .incbin "holeManager/gUnk_08108764_15.bin" - .4byte gUnk_0810871C - .incbin "holeManager/gUnk_08108764_16.bin" - .4byte gUnk_08108724 - .incbin "holeManager/gUnk_08108764_17.bin" - .4byte gUnk_0810872C - .incbin "holeManager/gUnk_08108764_18.bin" - .4byte gUnk_08108734 - .incbin "holeManager/gUnk_08108764_19.bin" - .4byte gUnk_0810873C - .incbin "holeManager/gUnk_08108764_20.bin" - .4byte gUnk_08108744 - .incbin "holeManager/gUnk_08108764_21.bin" - .4byte gUnk_0810874C - .incbin "holeManager/gUnk_08108764_22.bin" - .4byte gUnk_08108754 - .incbin "holeManager/gUnk_08108764_23.bin" - .4byte gUnk_081086B8 - .incbin "holeManager/gUnk_08108764_24.bin" - .4byte gUnk_081086C4 - .incbin "holeManager/gUnk_08108764_25.bin" - .4byte gUnk_081086D0 - .incbin "holeManager/gUnk_08108764_26.bin" diff --git a/include/functions.h b/include/functions.h index 9460e06e..5f16e8d5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -85,7 +85,6 @@ extern void sub_080580B0(u32); extern void sub_08058324(u32); extern void sub_08059278(void); extern void LoadStaticBackground(u32); -extern void sub_0805BC4C(void); extern void sub_0805EC60(Entity*); extern void InitPlayerMacro(PlayerMacroEntry*); extern u32* sub_0805F25C(u32); diff --git a/include/manager/holeManager.h b/include/manager/holeManager.h index 59bb8d66..6bf14c93 100644 --- a/include/manager/holeManager.h +++ b/include/manager/holeManager.h @@ -5,15 +5,15 @@ typedef struct { Manager base; - s16 unk_20; - s16 unk_22; - u16 unk_24; - u16 unk_26; + s16 x; + s16 y; + u16 width; + u16 height; u8 unk_28[8]; - u16 unk_30; - u16 unk_32; - u16 unk_34; - u16 unk_36; + u16 persistance_x; + u16 persistance_y; + u16 persistance_offset_x; + u16 persistance_offset_y; u8 unk_38[7]; u8 unk_3f; } HoleManager; diff --git a/include/manager/lightManager.h b/include/manager/lightManager.h index 9bbb1c6b..4a49d488 100644 --- a/include/manager/lightManager.h +++ b/include/manager/lightManager.h @@ -8,4 +8,6 @@ typedef struct { s32 unk20; } LightManager; +extern void UnDarkRoom(void); + #endif // LIGHTMANAGER_H diff --git a/linker.ld b/linker.ld index 4ed6e5b1..a6805557 100644 --- a/linker.ld +++ b/linker.ld @@ -1145,6 +1145,7 @@ SECTIONS { src/manager/templeOfDropletsManager.o(.rodata); src/manager/fallingItemManager.o(.rodata); src/manager/cloudOverlayManager.o(.rodata); + src/manager/holeManager.o(.rodata); data/const/manager/holeManager.o(.rodata); src/manager/staticBackgroundManager.o(.rodata); src/manager/rainfallManager.o(.rodata); diff --git a/src/manager/holeManager.c b/src/manager/holeManager.c index c83ed3ea..4517f41d 100644 --- a/src/manager/holeManager.c +++ b/src/manager/holeManager.c @@ -7,105 +7,210 @@ #include "manager/holeManager.h" #include "common.h" #include "flags.h" -#include "functions.h" #include "object.h" #include "room.h" #include "screen.h" +#include "manager/lightManager.h" +#include "assets/gfx_offsets.h" +#include "functions.h" -extern void (*const HoleManager_Actions[])(HoleManager*); +typedef enum { + HOLE_TRANSITION_ABSOLUTE, + HOLE_TRANSITION_RELATIVE, + HOLE_TRANSITION_ABSOLUTE_MINISH, +} HoleTransitionType; + +typedef struct { + u32 gfx; + u16 offset_x; + u16 offset_y; + u16 x; + u16 y; +} HoleTransitionPersistance; + +typedef struct { + u8 type; + u8 subtype; + u8 unk_2; + u8 unk_3; + u16 x; + u16 y; +} HoleTransitionParallax; + +typedef struct HoleTransition { + u8 type; + u8 area; + u8 room; + u8 layer; + u16 x; + u16 y; + u8 hole_x; + u8 hole_y; + u8 hole_width; + u8 hole_height; + const HoleTransitionPersistance* persistance; + const HoleTransitionParallax* parallax; +} HoleTransition; + +void HoleManager_Init(HoleManager*); +void HoleManager_Update(HoleManager*); + +void (*const HoleManager_Actions[])(HoleManager*) = { + HoleManager_Init, + HoleManager_Update, +}; + +const HoleTransitionPersistance gHoleTransitionPersistances[] = { + { offset_gfx_unknown_6, 0x00c4, 0x0030, 0x0310, 0x13c8 }, + { offset_gfx_unknown_6 + 0x800, 0x00c4, 0x0030, 0x0310, 0x13c8 }, + { offset_gfx_unknown_6 + 0x800 * 2, 0xfffa, 0x00de, 0x05d0, 0x0410 }, + { offset_gfx_unknown_6 + 0x800 * 3, 0x0024, 0x0004, 0x0290, 0x04e0 }, + { offset_gfx_unknown_6 + 0x800 * 4, 0x0058, 0x0014, 0x0280, 0x0cf0 }, + { offset_gfx_unknown_6 + 0x800 * 5, 0x002c, 0x0004, 0x04a0, 0x0cf0 }, + { offset_gfx_unknown_7, 0x0060, 0x0010, 0x0170, 0x08e0 }, + { offset_gfx_unknown_7 + 0x800, 0x001c, 0x00d0, 0x05b0, 0x0e20 }, + { offset_gfx_unknown_7 + 0x800 * 2, 0x005c, 0x00a4, 0x0290, 0x1b48 }, +}; + +const HoleTransitionParallax gHoleTransitionParallaxes[] = { + { 0x00, 0x00, 0x00, 0x00, 0x0088, 0x0068 }, { 0x01, 0x01, 0x00, 0x00, 0x0088, 0x0068 }, + { 0x02, 0x02, 0x00, 0x00, 0x00b8, 0x0068 }, { 0x04, 0x04, 0x00, 0x00, 0x00b8, 0x0068 }, + { 0x05, 0x00, 0x00, 0x00, 0x0078, 0x00b8 }, { 0x06, 0x01, 0x00, 0x00, 0x0048, 0x0040 }, + { 0x07, 0x02, 0x00, 0x00, 0x0090, 0x0040 }, { 0x07, 0x03, 0x00, 0x00, 0x0240, 0x0050 }, + { 0x07, 0x04, 0x00, 0x00, 0x0158, 0x0100 }, { 0x08, 0x05, 0x00, 0x00, 0x007c, 0x0050 }, + { 0x09, 0x06, 0x00, 0x00, 0x0078, 0x0070 }, { 0x0a, 0x07, 0x00, 0x00, 0x0060, 0x0058 }, + { 0x0b, 0x08, 0x00, 0x00, 0x0081, 0x005e }, { 0x0c, 0x09, 0x00, 0x00, 0x0080, 0x0058 }, + { 0x0d, 0x0a, 0x00, 0x00, 0x0060, 0x0038 }, { 0x0e, 0x0b, 0x00, 0x00, 0x0260, 0x0064 }, + { 0x0f, 0x00, 0x00, 0x00, 0x00a8, 0x0148 }, +}; + +const HoleTransition gHoleTransitions[] = { + { 0x00, 0x48, 0x14, 0x02, 0x00e8, 0x00c8, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x00, 0x51, 0x00, 0x02, 0x00c0, 0x00f8, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[0], NULL }, + { 0x01, 0x58, 0x1b, 0x02, 0xfeb0, 0x0000, 0x1d, 0x06, 0x05, 0x02, &gHoleTransitionPersistances[2], NULL }, + { 0x01, 0x58, 0x1d, 0x01, 0xffe0, 0xff20, 0x09, 0x13, 0x03, 0x03, NULL, &gHoleTransitionParallaxes[16] }, + { 0x01, 0x58, 0x1c, 0x01, 0xfff0, 0x0000, 0x08, 0x05, 0x03, 0x03, &gHoleTransitionPersistances[3], NULL }, + { 0x01, 0x58, 0x20, 0x01, 0xfff0, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[4], NULL }, + { 0x01, 0x58, 0x22, 0x01, 0xffe0, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[5], NULL }, + { 0x00, 0x62, 0x11, 0x01, 0x00c8, 0x0038, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x01, 0x60, 0x20, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[0] }, + { 0x01, 0x60, 0x21, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[1] }, + { 0x01, 0x60, 0x2e, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[2] }, + { 0x01, 0x60, 0x11, 0x01, 0xffc0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[3] }, + { 0x00, 0x60, 0x31, 0x01, 0x0078, 0x00a8, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x00, 0x51, 0x00, 0x02, 0x00c0, 0x00f8, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[1], NULL }, + { 0x01, 0x08, 0x01, 0x01, 0x0000, 0x0000, 0x1d, 0x1d, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x1d, 0x1d, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x23, 0x03, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x32, 0x03, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x03, 0x13, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x37, 0x10, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x2f, 0x18, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x16, 0x2b, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x25, 0x2c, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x32, 0x2d, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x0d, 0x35, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x17, 0x37, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x1d, 0x38, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x36, 0x38, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x38, 0x19, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x3a, 0x2e, 0x01, 0x01, NULL, NULL }, + { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x30, 0x39, 0x01, 0x01, NULL, NULL }, + { 0x00, 0x1a, 0x00, 0x01, 0x0058, 0x0048, 0x18, 0x1b, 0x03, 0x03, NULL, NULL }, + { 0x01, 0x70, 0x0f, 0x01, 0x01e0, 0x0070, 0x08, 0x03, 0x04, 0x04, NULL, NULL }, + { 0x01, 0x70, 0x10, 0x01, 0x0000, 0x0090, 0x14, 0x05, 0x05, 0x03, NULL, NULL }, + { 0x01, 0x70, 0x10, 0x01, 0x0000, 0x0090, 0x21, 0x05, 0x04, 0x03, NULL, NULL }, + { 0x00, 0x70, 0x0c, 0x01, 0x0078, 0x00a0, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[4] }, + { 0x01, 0x70, 0x15, 0x01, 0x01e0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[5] }, + { 0x01, 0x70, 0x19, 0x01, 0x00f0, 0x0000, 0x05, 0x08, 0x04, 0x04, NULL, NULL }, + { 0x01, 0x70, 0x1b, 0x01, 0x0000, 0x0000, 0x08, 0x02, 0x02, 0x04, NULL, &gHoleTransitionParallaxes[6] }, + { 0x01, 0x70, 0x1d, 0x01, 0xfe30, 0x0000, 0x23, 0x02, 0x02, 0x04, NULL, &gHoleTransitionParallaxes[7] }, + { 0x01, 0x70, 0x1f, 0x01, 0xff10, 0xff60, 0x13, 0x0e, 0x07, 0x04, NULL, &gHoleTransitionParallaxes[8] }, + { 0x01, 0x70, 0x21, 0x01, 0x0000, 0x0090, 0x06, 0x03, 0x04, 0x04, NULL, NULL }, + { 0x01, 0x70, 0x26, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[9] }, + { 0x01, 0x70, 0x29, 0x01, 0x0000, 0x0000, 0x06, 0x06, 0x03, 0x02, NULL, &gHoleTransitionParallaxes[10] }, + { 0x01, 0x70, 0x2c, 0x01, 0x0000, 0x0000, 0x12, 0x0c, 0x04, 0x04, NULL, NULL }, + { 0x01, 0x70, 0x32, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[11] }, + { 0x01, 0x70, 0x32, 0x02, 0x00f0, 0x0000, 0x07, 0x04, 0x02, 0x02, NULL, NULL }, + { 0x01, 0x70, 0x32, 0x01, 0x00f0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[12] }, + { 0x01, 0x70, 0x32, 0x01, 0x01e0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[13] }, + { 0x01, 0x70, 0x32, 0x01, 0x0000, 0x00a0, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[14] }, + { 0x00, 0x31, 0x00, 0x01, 0x0078, 0x0068, 0x25, 0x04, 0x03, 0x03, NULL, &gHoleTransitionParallaxes[15] }, + { 0x00, 0x70, 0x00, 0x02, 0x01d8, 0x00d8, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x01, 0x88, 0x1e, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[6], NULL }, + { 0x01, 0x88, 0x2c, 0x01, 0x0000, 0xff30, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[7], NULL }, + { 0x01, 0x88, 0x3a, 0x01, 0x0000, 0xffe0, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[8], NULL }, + { 0x00, 0x88, 0x06, 0x01, 0x00a8, 0x0088, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x02, 0x23, 0x01, 0x01, 0x0078, 0x0078, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x02, 0x23, 0x00, 0x01, 0x00a8, 0x0060, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x02, 0x22, 0x04, 0x01, 0x00a8, 0x0058, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x02, 0x23, 0x03, 0x01, 0x0078, 0x0078, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, + { 0x00, 0x41, 0x01, 0x01, 0x0078, 0x0050, 0x2f, 0x27, 0x03, 0x03, NULL, NULL }, +}; void HoleManager_Main(HoleManager* this) { HoleManager_Actions[super->action](this); } -typedef struct struct_08108764 { - u8 unk_00; - u8 unk_01; // area ID? - u8 unk_02; // room ID? - u8 unk_03; // layer? - u16 unk_04; - u16 unk_06; - u8 unk_08; - u8 unk_09; - u8 unk_0a; - u8 unk_0b; - struct { - u32 unk_00; - u16 unk_04; - u16 unk_06; - u16 unk_08; - u16 unk_0a; - } * unk_0c; - struct { - u8 unk_00; - u8 unk_01; - u8 unk_02[2]; - u16 unk_04; - u16 unk_06; - } * unk_10; -} struct_08108764; +bool32 IsPlayerOnHole(HoleManager*); +void DoHoleTransition(HoleManager*); +void HoleManager_ConfigureBG3Offset(HoleManager*); +void HoleManager_ConfigureBG3(HoleManager*); -extern struct_08108764 gUnk_08108764[]; - -u32 sub_0805B1CC(HoleManager*); -void sub_0805B210(HoleManager*); -void sub_0805B2B0(HoleManager*); -void sub_0805B328(HoleManager*); - -void sub_0805B048(HoleManager* this) { - struct_08108764* tmp; +void HoleManager_Init(HoleManager* this) { + const HoleTransition* transition; Entity* obj; SetEntityPriority((Entity*)super, PRIO_PLAYER_EVENT); - MemClear(&this->unk_20, 0x20); + MemClear(&this->x, 0x20); super->action = 1; this->unk_3f = gRoomControls.room; - tmp = &gUnk_08108764[super->type]; - if (!tmp->unk_0a) { - this->unk_20 = gRoomControls.origin_x; - this->unk_22 = gRoomControls.origin_y; - this->unk_24 = gRoomControls.width; - this->unk_26 = gRoomControls.height; + transition = &gHoleTransitions[super->type]; + if (transition->hole_width == 0) { + this->x = gRoomControls.origin_x; + this->y = gRoomControls.origin_y; + this->width = gRoomControls.width; + this->height = gRoomControls.height; } else { - this->unk_20 = (tmp->unk_08 << 4) + gRoomControls.origin_x; - this->unk_22 = (tmp->unk_09 << 4) + gRoomControls.origin_y; - this->unk_24 = (tmp->unk_0a << 4); - this->unk_26 = (tmp->unk_0b << 4); + this->x = (transition->hole_x << 4) + gRoomControls.origin_x; + this->y = (transition->hole_y << 4) + gRoomControls.origin_y; + this->width = (transition->hole_width << 4); + this->height = (transition->hole_height << 4); } - super->type2 = tmp->unk_0c != 0; + super->type2 = transition->persistance != NULL; if (super->type2) { super->flags |= ENT_PERSIST; - this->unk_34 = tmp->unk_0c->unk_04; - this->unk_36 = tmp->unk_0c->unk_06; - this->unk_30 = tmp->unk_0c->unk_08; - this->unk_32 = tmp->unk_0c->unk_0a; - sub_0805BC4C(); - sub_0805B2B0(this); - sub_0805B328(this); - RegisterTransitionManager(this, sub_0805B328, 0); + this->persistance_offset_x = transition->persistance->offset_x; + this->persistance_offset_y = transition->persistance->offset_y; + this->persistance_x = transition->persistance->x; + this->persistance_y = transition->persistance->y; + UnDarkRoom(); + HoleManager_ConfigureBG3Offset(this); + HoleManager_ConfigureBG3(this); + RegisterTransitionManager(this, HoleManager_ConfigureBG3, NULL); } - if (!tmp->unk_10) + if (!transition->parallax) return; - obj = CreateObject(PARALLAX_ROOM_VIEW, tmp->unk_10->unk_00, tmp->unk_10->unk_01); + obj = CreateObject(PARALLAX_ROOM_VIEW, transition->parallax->type, transition->parallax->subtype); if (obj) { - obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.origin_x; - obj->y.HALF.HI = tmp->unk_10->unk_06 + gRoomControls.origin_y; + obj->x.HALF.HI = transition->parallax->x + gRoomControls.origin_x; + obj->y.HALF.HI = transition->parallax->y + gRoomControls.origin_y; } if (super->type != 0xa || CheckLocalFlag(0x4B)) return; obj = CreateObject(PARALLAX_ROOM_VIEW, 3, 3); if (obj) { - obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.origin_x; - obj->y.HALF.HI = tmp->unk_10->unk_06 + gRoomControls.origin_y; + obj->x.HALF.HI = transition->parallax->x + gRoomControls.origin_x; + obj->y.HALF.HI = transition->parallax->y + gRoomControls.origin_y; } } -void sub_0805B168(HoleManager* this) { - if (sub_0805B1CC(this)) { - sub_0805B210(this); +void HoleManager_Update(HoleManager* this) { + if (IsPlayerOnHole(this)) { + DoHoleTransition(this); DeleteThisEntity(); return; } - sub_0805B2B0(this); + HoleManager_ConfigureBG3Offset(this); if (gRoomControls.reload_flags == 1) { super->subAction = 1; return; @@ -121,82 +226,83 @@ void sub_0805B168(HoleManager* this) { DeleteThisEntity(); } -u32 sub_0805B1CC(HoleManager* this) { - u32 re = 0; - if (CheckPlayerProximity(this->unk_20, this->unk_22, this->unk_24, this->unk_26)) { +bool32 IsPlayerOnHole(HoleManager* this) { + bool32 re = FALSE; + if (CheckPlayerProximity(this->x, this->y, this->width, this->height)) { if ((gPlayerState.flags & PL_DROWNING) && (gPlayerState.flags & PL_BUSY)) { gPlayerState.flags |= PL_PIT_IS_EXIT; } else if (gPlayerState.flags & PL_PIT_IS_EXIT) { - re = 1; + re = TRUE; } } return re; } -void sub_0805B210(HoleManager* this) { - struct_08108764* tmp; +void DoHoleTransition(HoleManager* this) { + const HoleTransition* transition; gRoomTransition.transitioningOut = 1; gRoomTransition.type = TRANSITION_CUT; gRoomTransition.player_status.start_anim = 4; - tmp = &gUnk_08108764[super->type]; - gRoomTransition.player_status.area_next = tmp->unk_01; - gRoomTransition.player_status.room_next = tmp->unk_02; - gRoomTransition.player_status.layer = tmp->unk_03; + transition = &gHoleTransitions[super->type]; + gRoomTransition.player_status.area_next = transition->area; + gRoomTransition.player_status.room_next = transition->room; + gRoomTransition.player_status.layer = transition->layer; if (gPlayerState.flags & PL_MINISH) { gRoomTransition.player_status.spawn_type = PL_SPAWN_DROP_MINISH; } else { gRoomTransition.player_status.spawn_type = PL_SPAWN_DROP; } - switch (tmp->unk_00) { - case 0: - gRoomTransition.player_status.start_pos_x = tmp->unk_04; - gRoomTransition.player_status.start_pos_y = tmp->unk_06; + switch (transition->type) { + case HOLE_TRANSITION_ABSOLUTE: + gRoomTransition.player_status.start_pos_x = transition->x; + gRoomTransition.player_status.start_pos_y = transition->y; break; - case 1: + case HOLE_TRANSITION_RELATIVE: gRoomTransition.player_status.start_pos_x = - gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x + tmp->unk_04; + gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x + transition->x; gRoomTransition.player_status.start_pos_y = - gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y + tmp->unk_06; + gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y + transition->y; break; - case 2: - gRoomTransition.player_status.start_pos_x = tmp->unk_04; - gRoomTransition.player_status.start_pos_y = tmp->unk_06; + case HOLE_TRANSITION_ABSOLUTE_MINISH: + gRoomTransition.player_status.start_pos_x = transition->x; + gRoomTransition.player_status.start_pos_y = transition->y; gRoomTransition.player_status.spawn_type = PL_SPAWN_DROP_MINISH; break; + default: + break; } } -void sub_0805B2B0(HoleManager* this) { - s32 tmp, tmp2; +void HoleManager_ConfigureBG3Offset(HoleManager* this) { + s32 x, y; if (!super->type2) return; - tmp = (this->unk_30 - gRoomControls.scroll_x) / 4; - tmp2 = (this->unk_32 - gRoomControls.scroll_y) / 4; - if (tmp < -12) { - tmp = -12; + x = (this->persistance_x - gRoomControls.scroll_x) / 4; + y = (this->persistance_y - gRoomControls.scroll_y) / 4; + if (x < -12) { + x = -12; } - if (tmp > 12) { - tmp = 12; + if (x > 12) { + x = 12; } - if (tmp2 < -12) { - tmp2 = -12; + if (y < -12) { + y = -12; } - if (tmp2 > 12) { - tmp2 = 12; + if (y > 12) { + y = 12; } gScreen.lcd.displayControl |= DISPCNT_BG3_ON; - gRoomControls.bg3OffsetX.HALF.HI = gRoomControls.scroll_x + this->unk_34 + tmp; - gScreen.bg3.xOffset = gRoomControls.scroll_x + this->unk_34 + tmp; - gRoomControls.bg3OffsetY.HALF.HI = gRoomControls.scroll_y + this->unk_36 + tmp2; - gScreen.bg3.yOffset = gRoomControls.scroll_y + this->unk_36 + tmp2; + + gScreen.bg3.xOffset = gRoomControls.bg3OffsetX.HALF.HI = gRoomControls.scroll_x + this->persistance_offset_x + x; + gScreen.bg3.yOffset = gRoomControls.bg3OffsetY.HALF.HI = gRoomControls.scroll_y + this->persistance_offset_y + y; } -void sub_0805B328(HoleManager* this) { - struct_08108764* tmp; +void HoleManager_ConfigureBG3(HoleManager* this) { + const HoleTransition* transition; if (!super->type2) return; - tmp = &gUnk_08108764[super->type]; - LoadResourceAsync(&gGlobalGfxAndPalettes[tmp->unk_0c->unk_00], 0x0600F000, 0x800); + transition = &gHoleTransitions[super->type]; + LoadResourceAsync(&gGlobalGfxAndPalettes[transition->persistance->gfx], 0x0600F000, 0x800); gScreen.bg3.control = 0x1E07; gScreen.lcd.displayControl |= DISPCNT_BG3_ON; gScreen.bg3.xOffset = gRoomControls.bg3OffsetX.HALF.HI; diff --git a/src/manager/lightManager.c b/src/manager/lightManager.c index 7a0cca5f..cb96636d 100644 --- a/src/manager/lightManager.c +++ b/src/manager/lightManager.c @@ -186,7 +186,7 @@ s32 sub_0805BC04(void) { return iVar1; } -void sub_0805BC4C() { +void UnDarkRoom() { if (gArea.lightType != 0) { gArea.lightType = 0; gScreen.lcd.displayControl &= ~(DISPCNT_BG3_ON | DISPCNT_WIN0_ON); diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index 702b87c1..d6f3256f 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -4,12 +4,13 @@ * * @brief Chest Spawner object */ -#include "functions.h" #include "item.h" #include "object.h" #include "screen.h" -#include "structures.h" #include "tiles.h" +#include "manager/lightManager.h" +#include "structures.h" +#include "functions.h" typedef struct { /*0x00*/ Entity base; @@ -104,7 +105,7 @@ void ChestSpawner_Type2Action1(ChestSpawnerEntity* this) { super->spriteSettings.draw = 1; super->spriteRendering.alphaBlend = 1; RequestPriorityDuration(super, 30); - sub_0805BC4C(); + UnDarkRoom(); } } diff --git a/src/object/fourElements.c b/src/object/fourElements.c index e364d7cb..a8514ec8 100644 --- a/src/object/fourElements.c +++ b/src/object/fourElements.c @@ -5,11 +5,12 @@ * @brief Four Elements object */ #include "collision.h" -#include "functions.h" #include "hitbox.h" #include "message.h" #include "object.h" #include "screen.h" +#include "manager/lightManager.h" +#include "functions.h" typedef struct { /*0x00*/ Entity base; @@ -63,7 +64,7 @@ void FourElements_Init(FourElementsEntity* this) { StartPlayerScript(script_PlayerGetElement); gScreen.controls.layerFXControl = 0x640; gScreen.controls.alphaBlend = 0x1000; - sub_0805BC4C(); + UnDarkRoom(); elementsBackground = CreateObjectWithParent(super, ELEMENTS_BACKGROUND, super->type - 0x40, 0); if (elementsBackground != NULL) { elementsBackground->parent = super; diff --git a/src/object/minishPortalStone.c b/src/object/minishPortalStone.c index cb3ca717..e4d92872 100644 --- a/src/object/minishPortalStone.c +++ b/src/object/minishPortalStone.c @@ -4,9 +4,10 @@ * * @brief Minish Portal Stone object */ -#include "functions.h" #include "object.h" #include "screen.h" +#include "manager/lightManager.h" +#include "functions.h" typedef struct { /*0x00*/ Entity base; @@ -42,7 +43,7 @@ void MinishPortalStone_Init(MinishPortalStoneEntity* this) { super->action = 4; sub_08097CFC(this); } else { - sub_0805BC4C(); + UnDarkRoom(); } } diff --git a/src/roomInit.c b/src/roomInit.c index e5afa576..f070575f 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -2,12 +2,10 @@ #include "common.h" #include "effects.h" #include "flags.h" -#include "functions.h" #include "game.h" #include "item.h" #include "kinstone.h" #include "main.h" -#include "npc.h" #include "object.h" #include "save.h" #include "screen.h" @@ -15,6 +13,8 @@ #include "sound.h" #include "tiles.h" #include "windcrest.h" +#include "manager/lightManager.h" +#include "functions.h" extern u32 sub_08060354(void); extern void sub_08057E64(void); @@ -861,7 +861,7 @@ void sub_StateChange_Dojos_Grimblade(void) { if (!CheckLocalFlag(3)) { LoadRoomEntityList(&gUnk_080D827C); } else { - sub_0805BC4C(); + UnDarkRoom(); SetTileType(TILE_TYPE_118, TILE_POS(2, 2), LAYER_TOP); SetTileType(TILE_TYPE_118, TILE_POS(12, 2), LAYER_TOP); } diff --git a/tools/src/asset_processor/offsets.cpp b/tools/src/asset_processor/offsets.cpp index f865a85a..631bb05e 100644 --- a/tools/src/asset_processor/offsets.cpp +++ b/tools/src/asset_processor/offsets.cpp @@ -5,6 +5,6 @@ OffsetCalculator::OffsetCalculator(const std::filesystem::path& asmOutputFile, c } void OffsetCalculator::addAsset(int start, const std::string& symbol) { - asmOutput << "\t.equiv offset_" << symbol << ", " << start - baseOffset << std::endl; - cOutput << "#define offset_" << symbol << " " << start - baseOffset << std::endl; + asmOutput << "\t.equiv offset_" << symbol << ", 0x" << std::hex << start - baseOffset << std::endl; + cOutput << "#define offset_" << symbol << " 0x" << std::hex << start - baseOffset << std::endl; } \ No newline at end of file From 22c5e387295ee76c16d165f8154cd9aaa19c087c Mon Sep 17 00:00:00 2001 From: Henny022p Date: Wed, 5 Mar 2025 13:06:39 +0000 Subject: [PATCH 07/17] improve hole manager member names --- src/manager/holeManager.c | 104 +++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/src/manager/holeManager.c b/src/manager/holeManager.c index 4517f41d..e177c4a3 100644 --- a/src/manager/holeManager.c +++ b/src/manager/holeManager.c @@ -26,7 +26,7 @@ typedef struct { u16 offset_y; u16 x; u16 y; -} HoleTransitionPersistance; +} HoleTransitionParallaxBackground; typedef struct { u8 type; @@ -35,7 +35,7 @@ typedef struct { u8 unk_3; u16 x; u16 y; -} HoleTransitionParallax; +} HoleTransitionParallaxEntity; typedef struct HoleTransition { u8 type; @@ -48,8 +48,8 @@ typedef struct HoleTransition { u8 hole_y; u8 hole_width; u8 hole_height; - const HoleTransitionPersistance* persistance; - const HoleTransitionParallax* parallax; + const HoleTransitionParallaxBackground* parallax_background; + const HoleTransitionParallaxEntity* parallax_entity; } HoleTransition; void HoleManager_Init(HoleManager*); @@ -60,7 +60,7 @@ void (*const HoleManager_Actions[])(HoleManager*) = { HoleManager_Update, }; -const HoleTransitionPersistance gHoleTransitionPersistances[] = { +const HoleTransitionParallaxBackground gHoleTransitionParallaxBackgrounds[] = { { offset_gfx_unknown_6, 0x00c4, 0x0030, 0x0310, 0x13c8 }, { offset_gfx_unknown_6 + 0x800, 0x00c4, 0x0030, 0x0310, 0x13c8 }, { offset_gfx_unknown_6 + 0x800 * 2, 0xfffa, 0x00de, 0x05d0, 0x0410 }, @@ -72,7 +72,7 @@ const HoleTransitionPersistance gHoleTransitionPersistances[] = { { offset_gfx_unknown_7 + 0x800 * 2, 0x005c, 0x00a4, 0x0290, 0x1b48 }, }; -const HoleTransitionParallax gHoleTransitionParallaxes[] = { +const HoleTransitionParallaxEntity gHoleTransitionParallaxEntities[] = { { 0x00, 0x00, 0x00, 0x00, 0x0088, 0x0068 }, { 0x01, 0x01, 0x00, 0x00, 0x0088, 0x0068 }, { 0x02, 0x02, 0x00, 0x00, 0x00b8, 0x0068 }, { 0x04, 0x04, 0x00, 0x00, 0x00b8, 0x0068 }, { 0x05, 0x00, 0x00, 0x00, 0x0078, 0x00b8 }, { 0x06, 0x01, 0x00, 0x00, 0x0048, 0x0040 }, @@ -86,19 +86,19 @@ const HoleTransitionParallax gHoleTransitionParallaxes[] = { const HoleTransition gHoleTransitions[] = { { 0x00, 0x48, 0x14, 0x02, 0x00e8, 0x00c8, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, - { 0x00, 0x51, 0x00, 0x02, 0x00c0, 0x00f8, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[0], NULL }, - { 0x01, 0x58, 0x1b, 0x02, 0xfeb0, 0x0000, 0x1d, 0x06, 0x05, 0x02, &gHoleTransitionPersistances[2], NULL }, - { 0x01, 0x58, 0x1d, 0x01, 0xffe0, 0xff20, 0x09, 0x13, 0x03, 0x03, NULL, &gHoleTransitionParallaxes[16] }, - { 0x01, 0x58, 0x1c, 0x01, 0xfff0, 0x0000, 0x08, 0x05, 0x03, 0x03, &gHoleTransitionPersistances[3], NULL }, - { 0x01, 0x58, 0x20, 0x01, 0xfff0, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[4], NULL }, - { 0x01, 0x58, 0x22, 0x01, 0xffe0, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[5], NULL }, + { 0x00, 0x51, 0x00, 0x02, 0x00c0, 0x00f8, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionParallaxBackgrounds[0], NULL }, + { 0x01, 0x58, 0x1b, 0x02, 0xfeb0, 0x0000, 0x1d, 0x06, 0x05, 0x02, &gHoleTransitionParallaxBackgrounds[2], NULL }, + { 0x01, 0x58, 0x1d, 0x01, 0xffe0, 0xff20, 0x09, 0x13, 0x03, 0x03, NULL, &gHoleTransitionParallaxEntities[16] }, + { 0x01, 0x58, 0x1c, 0x01, 0xfff0, 0x0000, 0x08, 0x05, 0x03, 0x03, &gHoleTransitionParallaxBackgrounds[3], NULL }, + { 0x01, 0x58, 0x20, 0x01, 0xfff0, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionParallaxBackgrounds[4], NULL }, + { 0x01, 0x58, 0x22, 0x01, 0xffe0, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionParallaxBackgrounds[5], NULL }, { 0x00, 0x62, 0x11, 0x01, 0x00c8, 0x0038, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, - { 0x01, 0x60, 0x20, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[0] }, - { 0x01, 0x60, 0x21, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[1] }, - { 0x01, 0x60, 0x2e, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[2] }, - { 0x01, 0x60, 0x11, 0x01, 0xffc0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[3] }, + { 0x01, 0x60, 0x20, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[0] }, + { 0x01, 0x60, 0x21, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[1] }, + { 0x01, 0x60, 0x2e, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[2] }, + { 0x01, 0x60, 0x11, 0x01, 0xffc0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[3] }, { 0x00, 0x60, 0x31, 0x01, 0x0078, 0x00a8, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, - { 0x00, 0x51, 0x00, 0x02, 0x00c0, 0x00f8, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[1], NULL }, + { 0x00, 0x51, 0x00, 0x02, 0x00c0, 0x00f8, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionParallaxBackgrounds[1], NULL }, { 0x01, 0x08, 0x01, 0x01, 0x0000, 0x0000, 0x1d, 0x1d, 0x03, 0x03, NULL, NULL }, { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x1d, 0x1d, 0x03, 0x03, NULL, NULL }, { 0x01, 0x08, 0x02, 0x01, 0x0000, 0x0000, 0x23, 0x03, 0x03, 0x03, NULL, NULL }, @@ -120,26 +120,26 @@ const HoleTransition gHoleTransitions[] = { { 0x01, 0x70, 0x0f, 0x01, 0x01e0, 0x0070, 0x08, 0x03, 0x04, 0x04, NULL, NULL }, { 0x01, 0x70, 0x10, 0x01, 0x0000, 0x0090, 0x14, 0x05, 0x05, 0x03, NULL, NULL }, { 0x01, 0x70, 0x10, 0x01, 0x0000, 0x0090, 0x21, 0x05, 0x04, 0x03, NULL, NULL }, - { 0x00, 0x70, 0x0c, 0x01, 0x0078, 0x00a0, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[4] }, - { 0x01, 0x70, 0x15, 0x01, 0x01e0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[5] }, + { 0x00, 0x70, 0x0c, 0x01, 0x0078, 0x00a0, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[4] }, + { 0x01, 0x70, 0x15, 0x01, 0x01e0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[5] }, { 0x01, 0x70, 0x19, 0x01, 0x00f0, 0x0000, 0x05, 0x08, 0x04, 0x04, NULL, NULL }, - { 0x01, 0x70, 0x1b, 0x01, 0x0000, 0x0000, 0x08, 0x02, 0x02, 0x04, NULL, &gHoleTransitionParallaxes[6] }, - { 0x01, 0x70, 0x1d, 0x01, 0xfe30, 0x0000, 0x23, 0x02, 0x02, 0x04, NULL, &gHoleTransitionParallaxes[7] }, - { 0x01, 0x70, 0x1f, 0x01, 0xff10, 0xff60, 0x13, 0x0e, 0x07, 0x04, NULL, &gHoleTransitionParallaxes[8] }, + { 0x01, 0x70, 0x1b, 0x01, 0x0000, 0x0000, 0x08, 0x02, 0x02, 0x04, NULL, &gHoleTransitionParallaxEntities[6] }, + { 0x01, 0x70, 0x1d, 0x01, 0xfe30, 0x0000, 0x23, 0x02, 0x02, 0x04, NULL, &gHoleTransitionParallaxEntities[7] }, + { 0x01, 0x70, 0x1f, 0x01, 0xff10, 0xff60, 0x13, 0x0e, 0x07, 0x04, NULL, &gHoleTransitionParallaxEntities[8] }, { 0x01, 0x70, 0x21, 0x01, 0x0000, 0x0090, 0x06, 0x03, 0x04, 0x04, NULL, NULL }, - { 0x01, 0x70, 0x26, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[9] }, - { 0x01, 0x70, 0x29, 0x01, 0x0000, 0x0000, 0x06, 0x06, 0x03, 0x02, NULL, &gHoleTransitionParallaxes[10] }, + { 0x01, 0x70, 0x26, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[9] }, + { 0x01, 0x70, 0x29, 0x01, 0x0000, 0x0000, 0x06, 0x06, 0x03, 0x02, NULL, &gHoleTransitionParallaxEntities[10] }, { 0x01, 0x70, 0x2c, 0x01, 0x0000, 0x0000, 0x12, 0x0c, 0x04, 0x04, NULL, NULL }, - { 0x01, 0x70, 0x32, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[11] }, + { 0x01, 0x70, 0x32, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[11] }, { 0x01, 0x70, 0x32, 0x02, 0x00f0, 0x0000, 0x07, 0x04, 0x02, 0x02, NULL, NULL }, - { 0x01, 0x70, 0x32, 0x01, 0x00f0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[12] }, - { 0x01, 0x70, 0x32, 0x01, 0x01e0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[13] }, - { 0x01, 0x70, 0x32, 0x01, 0x0000, 0x00a0, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxes[14] }, - { 0x00, 0x31, 0x00, 0x01, 0x0078, 0x0068, 0x25, 0x04, 0x03, 0x03, NULL, &gHoleTransitionParallaxes[15] }, + { 0x01, 0x70, 0x32, 0x01, 0x00f0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[12] }, + { 0x01, 0x70, 0x32, 0x01, 0x01e0, 0x0000, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[13] }, + { 0x01, 0x70, 0x32, 0x01, 0x0000, 0x00a0, 0x00, 0x00, 0x00, 0x00, NULL, &gHoleTransitionParallaxEntities[14] }, + { 0x00, 0x31, 0x00, 0x01, 0x0078, 0x0068, 0x25, 0x04, 0x03, 0x03, NULL, &gHoleTransitionParallaxEntities[15] }, { 0x00, 0x70, 0x00, 0x02, 0x01d8, 0x00d8, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, - { 0x01, 0x88, 0x1e, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[6], NULL }, - { 0x01, 0x88, 0x2c, 0x01, 0x0000, 0xff30, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[7], NULL }, - { 0x01, 0x88, 0x3a, 0x01, 0x0000, 0xffe0, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionPersistances[8], NULL }, + { 0x01, 0x88, 0x1e, 0x01, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionParallaxBackgrounds[6], NULL }, + { 0x01, 0x88, 0x2c, 0x01, 0x0000, 0xff30, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionParallaxBackgrounds[7], NULL }, + { 0x01, 0x88, 0x3a, 0x01, 0x0000, 0xffe0, 0x00, 0x00, 0x00, 0x00, &gHoleTransitionParallaxBackgrounds[8], NULL }, { 0x00, 0x88, 0x06, 0x01, 0x00a8, 0x0088, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, { 0x02, 0x23, 0x01, 0x01, 0x0078, 0x0078, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, { 0x02, 0x23, 0x00, 0x01, 0x00a8, 0x0060, 0x00, 0x00, 0x00, 0x00, NULL, NULL }, @@ -154,8 +154,8 @@ void HoleManager_Main(HoleManager* this) { bool32 IsPlayerOnHole(HoleManager*); void DoHoleTransition(HoleManager*); -void HoleManager_ConfigureBG3Offset(HoleManager*); -void HoleManager_ConfigureBG3(HoleManager*); +void HoleManager_UpdateParallaxBackground(HoleManager*); +void HoleManager_InitParallaxBackground(HoleManager*); void HoleManager_Init(HoleManager* this) { const HoleTransition* transition; @@ -176,31 +176,31 @@ void HoleManager_Init(HoleManager* this) { this->width = (transition->hole_width << 4); this->height = (transition->hole_height << 4); } - super->type2 = transition->persistance != NULL; + super->type2 = transition->parallax_background != NULL; if (super->type2) { super->flags |= ENT_PERSIST; - this->persistance_offset_x = transition->persistance->offset_x; - this->persistance_offset_y = transition->persistance->offset_y; - this->persistance_x = transition->persistance->x; - this->persistance_y = transition->persistance->y; + this->persistance_offset_x = transition->parallax_background->offset_x; + this->persistance_offset_y = transition->parallax_background->offset_y; + this->persistance_x = transition->parallax_background->x; + this->persistance_y = transition->parallax_background->y; UnDarkRoom(); - HoleManager_ConfigureBG3Offset(this); - HoleManager_ConfigureBG3(this); - RegisterTransitionManager(this, HoleManager_ConfigureBG3, NULL); + HoleManager_UpdateParallaxBackground(this); + HoleManager_InitParallaxBackground(this); + RegisterTransitionManager(this, HoleManager_InitParallaxBackground, NULL); } - if (!transition->parallax) + if (!transition->parallax_entity) return; - obj = CreateObject(PARALLAX_ROOM_VIEW, transition->parallax->type, transition->parallax->subtype); + obj = CreateObject(PARALLAX_ROOM_VIEW, transition->parallax_entity->type, transition->parallax_entity->subtype); if (obj) { - obj->x.HALF.HI = transition->parallax->x + gRoomControls.origin_x; - obj->y.HALF.HI = transition->parallax->y + gRoomControls.origin_y; + obj->x.HALF.HI = transition->parallax_entity->x + gRoomControls.origin_x; + obj->y.HALF.HI = transition->parallax_entity->y + gRoomControls.origin_y; } if (super->type != 0xa || CheckLocalFlag(0x4B)) return; obj = CreateObject(PARALLAX_ROOM_VIEW, 3, 3); if (obj) { - obj->x.HALF.HI = transition->parallax->x + gRoomControls.origin_x; - obj->y.HALF.HI = transition->parallax->y + gRoomControls.origin_y; + obj->x.HALF.HI = transition->parallax_entity->x + gRoomControls.origin_x; + obj->y.HALF.HI = transition->parallax_entity->y + gRoomControls.origin_y; } } @@ -210,7 +210,7 @@ void HoleManager_Update(HoleManager* this) { DeleteThisEntity(); return; } - HoleManager_ConfigureBG3Offset(this); + HoleManager_UpdateParallaxBackground(this); if (gRoomControls.reload_flags == 1) { super->subAction = 1; return; @@ -273,7 +273,7 @@ void DoHoleTransition(HoleManager* this) { } } -void HoleManager_ConfigureBG3Offset(HoleManager* this) { +void HoleManager_UpdateParallaxBackground(HoleManager* this) { s32 x, y; if (!super->type2) return; @@ -297,12 +297,12 @@ void HoleManager_ConfigureBG3Offset(HoleManager* this) { gScreen.bg3.yOffset = gRoomControls.bg3OffsetY.HALF.HI = gRoomControls.scroll_y + this->persistance_offset_y + y; } -void HoleManager_ConfigureBG3(HoleManager* this) { +void HoleManager_InitParallaxBackground(HoleManager* this) { const HoleTransition* transition; if (!super->type2) return; transition = &gHoleTransitions[super->type]; - LoadResourceAsync(&gGlobalGfxAndPalettes[transition->persistance->gfx], 0x0600F000, 0x800); + LoadResourceAsync(&gGlobalGfxAndPalettes[transition->parallax_background->gfx], 0x0600F000, 0x800); gScreen.bg3.control = 0x1E07; gScreen.lcd.displayControl |= DISPCNT_BG3_ON; gScreen.bg3.xOffset = gRoomControls.bg3OffsetX.HALF.HI; From 96a3e64280301f8adae30d58fae5502eee4b3b96 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Wed, 5 Mar 2025 14:00:09 +0000 Subject: [PATCH 08/17] cleanup graphics code a bit --- include/asm.h | 2 +- include/entity.h | 2 +- include/manager/hyruleTownTileSetManager.h | 6 +- src/common.c | 2 +- src/main.c | 7 +- src/manager/holeManager.c | 2 +- src/manager/hyruleTownTileSetManager.c | 217 +++++++++------- src/manager/minishVillageTileSetManager.c | 278 +++++++++++---------- src/manager/weatherChangeManager.c | 2 +- src/menu/figurineMenu.c | 4 +- src/message.c | 2 +- src/roomInit.c | 8 +- src/text.c | 2 +- 13 files changed, 290 insertions(+), 244 deletions(-) diff --git a/include/asm.h b/include/asm.h index dbf374d2..b5c12e26 100644 --- a/include/asm.h +++ b/include/asm.h @@ -11,7 +11,7 @@ extern void SetTile(u32 tileIndex, u32 tilePos, u32 layer); extern void UpdateScrollVram(void); extern u32 sub_080B1BA4(u32, u32, u32); -extern void LoadResourceAsync(const void* src, u32 dest, u32 size); +extern void LoadResourceAsync(const void* src, void* dest, u32 size); extern void GenericConfused(struct Entity_*); extern void sub_08001290(struct Entity_*, u32); extern void GenericKnockback(struct Entity_*); diff --git a/include/entity.h b/include/entity.h index d1d08517..ffde0674 100644 --- a/include/entity.h +++ b/include/entity.h @@ -560,7 +560,7 @@ extern u8 gManagerCount; #define TILE(x, y) (((((x)-gRoomControls.origin_x) >> 4) & 0x3F) | ((((y)-gRoomControls.origin_y) >> 4) & 0x3F) << 6) // Calculate tilePos from x and y coordinates where x and y are already relative to the current room. #define TILE_LOCAL(x, y) ((((x) >> 4) & 0x3F) | (((y) >> 4) & 0x3F) << 6) -#define TILE_POS(x, y) (x + (y << 6)) +#define TILE_POS(x, y) ((x) + ((y) << 6)) #define TILE_POS_X_COMPONENT 0x3f #define TILE_POS_Y_COMPONENT 0xfc0 #define COORD_TO_TILE(entity) TILE((entity)->x.HALF.HI, (entity)->y.HALF.HI) diff --git a/include/manager/hyruleTownTileSetManager.h b/include/manager/hyruleTownTileSetManager.h index ee908238..34a0e809 100644 --- a/include/manager/hyruleTownTileSetManager.h +++ b/include/manager/hyruleTownTileSetManager.h @@ -5,9 +5,9 @@ typedef struct { Manager base; - u8 field_0x20; - u8 field_0x21; - u8 field_0x22; + u8 gfxGroup0; + u8 gfxGroup1; + u8 gfxGroup2; } HyruleTownTileSetManager; #endif // HYRULETOWNTILESETMANAGER_H diff --git a/src/common.c b/src/common.c index 8c863d85..8b7f3033 100644 --- a/src/common.c +++ b/src/common.c @@ -596,7 +596,7 @@ void sub_0801DD58(u32 area, u32 room) { } void LoadDungeonMap(void) { - LoadResourceAsync(gDungeonMap, 0x6006000, sizeof(gDungeonMap)); + LoadResourceAsync(gDungeonMap, BG_SCREEN_ADDR(12), sizeof(gDungeonMap)); } void DrawDungeonFeatures(u32 floor, void* data, u32 size) { diff --git a/src/main.c b/src/main.c index 5049c054..d40d678e 100644 --- a/src/main.c +++ b/src/main.c @@ -283,10 +283,9 @@ u32 CheckRegionOnScreen(u32 x0, u32 y0, u32 x1, u32 y1) { * Iterate over array of AABBs and check if any fit on screen */ u32 CheckRegionsOnScreen(const u16* arr) { - const u16* i; - for (i = arr; *i != 0xff; i += 5) { - if (CheckRegionOnScreen(i[1], i[2], i[3], i[4])) - return *i; + for (; *arr != 0xff; arr += 5) { + if (CheckRegionOnScreen(arr[1], arr[2], arr[3], arr[4])) + return *arr; } return 0xff; } diff --git a/src/manager/holeManager.c b/src/manager/holeManager.c index e177c4a3..0ae74a87 100644 --- a/src/manager/holeManager.c +++ b/src/manager/holeManager.c @@ -302,7 +302,7 @@ void HoleManager_InitParallaxBackground(HoleManager* this) { if (!super->type2) return; transition = &gHoleTransitions[super->type]; - LoadResourceAsync(&gGlobalGfxAndPalettes[transition->parallax_background->gfx], 0x0600F000, 0x800); + LoadResourceAsync(&gGlobalGfxAndPalettes[transition->parallax_background->gfx], BG_SCREEN_ADDR(30), BG_SCREEN_SIZE); gScreen.bg3.control = 0x1E07; gScreen.lcd.displayControl |= DISPCNT_BG3_ON; gScreen.bg3.xOffset = gRoomControls.bg3OffsetX.HALF.HI; diff --git a/src/manager/hyruleTownTileSetManager.c b/src/manager/hyruleTownTileSetManager.c index 118d2f14..f6105c2a 100644 --- a/src/manager/hyruleTownTileSetManager.c +++ b/src/manager/hyruleTownTileSetManager.c @@ -8,106 +8,130 @@ #include "area.h" #include "asm.h" #include "flags.h" -#include "functions.h" #include "main.h" #include "room.h" #include "tiles.h" +#include "assets/gfx_offsets.h" +#include "functions.h" -void sub_08059A58(HyruleTownTileSetManager*); -void sub_08059A2C(HyruleTownTileSetManager*); +void HyruleTownTileSetManager_UpdateLoadGfxGroups(HyruleTownTileSetManager*); +void HyruleTownTileSetManager_Reset(HyruleTownTileSetManager*); -static const u16 gUnk_08108398[] = { 0x0, 0x0, 0x0, 0x3f0, 0x200, 0x1, 0x0, 0x280, 0x3f0, 0x140, 0xff }; -static const u16 gUnk_081083AE[] = { 0x2, 0x0, 0x0, 0x180, 0x3c0, 0x3, 0x280, 0x0, 0x170, 0x3c0, 0xff }; -static const u16 gUnk_081083C4[] = { 0x5, 0x130, 0x1b0, 0x190, 0x140, 0x4, 0x0, 0x0, 0x3f0, 0x3c0, 0xff }; -static const u16 gUnk_081083DA[] = { 0x0, 0x0, 0x0, 0x190, 0x1d0, 0x1, 0x0, 0x2a0, 0x190, 0x120, 0xff, 0xff }; -static const u16 gUnk_081083F2[] = { 0x5, 0x0, 0x1b0, 0x190, 0x140, 0x4, 0x0, 0x0, 0x190, 0x3c0, 0xff }; +// clang-format off +static const u16 gHyruleTownTileSetManager_regions0[] = { + 0, 0x000, 0x000, 0x3f0, 0x200, + 1, 0x000, 0x280, 0x3f0, 0x140, + 0xff +}; +static const u16 gHyruleTownTileSetManager_regions1[] = { + 2, 0x000, 0x000, 0x180, 0x3c0, + 3, 0x280, 0x000, 0x170, 0x3c0, + 0xff +}; +static const u16 gHyruleTownTileSetManager_regions2[] = { + 5, 0x130, 0x1b0, 0x190, 0x140, + 4, 0x000, 0x000, 0x3f0, 0x3c0, + 0xff +}; +static const u16 gHyruleTownTileSetManager_festivalRegions0[] = { + 0, 0x000, 0x000, 0x190, 0x1d0, + 1, 0x000, 0x2a0, 0x190, 0x120, + 0xff +}; +static const u16 gHyruleTownTileSetManager_festivalRegions1[] = { + 0xff +}; +static const u16 gHyruleTownTileSetManager_festivalRegions2[] = { + 5, 0x000, 0x1b0, 0x190, 0x140, + 4, 0x000, 0x000, 0x190, 0x3c0, + 0xff +}; +// clang-format on -void sub_08059CC0(u32, u32); -void sub_08059B18(void); +void HyruleTownTileSetManager_LoadGfxGroup(u32, u32); +void HyruleTownTileSetManager_BuildSecondOracleHouse(void); -bool32 sub_08059C8C(HyruleTownTileSetManager*, u32, u8*, const u16*); +bool32 HyruleTownTileSetManager_UpdateRoomGfxGroup(HyruleTownTileSetManager*, u32, u8*, const u16*); extern u32 gUnk_086E8460; typedef struct { - u32 field_0x0; - u32 field_0x4; - u32 field_0x8; - u32 field_0xc; -} Unknown; + u32 gfx1; + void* dest1; + u32 gfx2; + void* dest2; +} HyruleTownTileSetManagerGfxInfo; -static const Unknown gUnk_08108408[] = { -#ifdef EU - { 0x139860, 0x6000000, 0x13f860, 0x6008000 }, { 0x13c860, 0x6000000, 0x142860, 0x6008000 }, - { 0x13a860, 0x6001000, 0x140860, 0x6009000 }, { 0x13d860, 0x6001000, 0x143860, 0x6009000 }, - { 0x13b860, 0x6002000, 0x141860, 0x600a000 }, { 0x13e860, 0x6002000, 0x144860, 0x600a000 } -#else - { 0x1395e0, 0x6000000, 0x13f5e0, 0x6008000 }, { 0x13c5e0, 0x6000000, 0x1425e0, 0x6008000 }, - { 0x13a5e0, 0x6001000, 0x1405e0, 0x6009000 }, { 0x13d5e0, 0x6001000, 0x1435e0, 0x6009000 }, - { 0x13b5e0, 0x6002000, 0x1415e0, 0x600a000 }, { 0x13e5e0, 0x6002000, 0x1445e0, 0x600a000 } -#endif +static const HyruleTownTileSetManagerGfxInfo gHyruleTownTileSetManagerGfxInfos[] = { + { offset_gUnk_086D4460 + 0x8000, BG_SCREEN_ADDR(0), offset_gUnk_086D4460 + 0xE000, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086D4460 + 0xB000, BG_SCREEN_ADDR(0), offset_gUnk_086D4460 + 0x11000, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086D4460 + 0x9000, BG_SCREEN_ADDR(2), offset_gUnk_086D4460 + 0xF000, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086D4460 + 0xC000, BG_SCREEN_ADDR(2), offset_gUnk_086D4460 + 0x12000, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086D4460 + 0xA000, BG_SCREEN_ADDR(4), offset_gUnk_086D4460 + 0x10000, BG_SCREEN_ADDR(20) }, + { offset_gUnk_086D4460 + 0xD000, BG_SCREEN_ADDR(4), offset_gUnk_086D4460 + 0x13000, BG_SCREEN_ADDR(20) } }; -static const Unknown gUnk_08108468[] = { -#ifdef EU - { 0x146060, 0x6000000, 0x14c060, 0x6008000 }, { 0x149060, 0x6000000, 0x14f060, 0x6008000 }, - { 0x147060, 0x6001000, 0x14d060, 0x6009000 }, { 0x14a060, 0x6001000, 0x150060, 0x6009000 }, - { 0x148060, 0x6002000, 0x14e060, 0x600a000 }, { 0x14b060, 0x6002000, 0x151060, 0x600a000 }, -#else - { 0x145de0, 0x6000000, 0x14bde0, 0x6008000 }, { 0x148de0, 0x6000000, 0x14ede0, 0x6008000 }, - { 0x146de0, 0x6001000, 0x14cde0, 0x6009000 }, { 0x149de0, 0x6001000, 0x14fde0, 0x6009000 }, - { 0x147de0, 0x6002000, 0x14dde0, 0x600a000 }, { 0x14ade0, 0x6002000, 0x150de0, 0x600a000 }, -#endif +static const HyruleTownTileSetManagerGfxInfo gHyruleTownTileSetManagerGfxInfosFestival[] = { + { offset_gUnk_086E8460 + 0x800, BG_SCREEN_ADDR(0), offset_gUnk_086E8460 + 0x6800, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086E8460 + 0x3800, BG_SCREEN_ADDR(0), offset_gUnk_086E8460 + 0x9800, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086E8460 + 0x1800, BG_SCREEN_ADDR(2), offset_gUnk_086E8460 + 0x7800, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086E8460 + 0x4800, BG_SCREEN_ADDR(2), offset_gUnk_086E8460 + 0xA800, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086E8460 + 0x2800, BG_SCREEN_ADDR(4), offset_gUnk_086E8460 + 0x8800, BG_SCREEN_ADDR(20) }, + { offset_gUnk_086E8460 + 0x5800, BG_SCREEN_ADDR(4), offset_gUnk_086E8460 + 0xB800, BG_SCREEN_ADDR(20) }, }; extern const u8 gGlobalGfxAndPalettes[]; void HyruleTownTileSetManager_Main(HyruleTownTileSetManager* this) { if (super->action == 0) { super->action = 1; - this->field_0x22 = 0xff; - this->field_0x21 = 0xff; - this->field_0x20 = 0xff; - RegisterTransitionManager(this, sub_08059A2C, NULL); + this->gfxGroup2 = 0xff; + this->gfxGroup1 = 0xff; + this->gfxGroup0 = 0xff; + RegisterTransitionManager(this, HyruleTownTileSetManager_Reset, NULL); SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); } - sub_08059A58(this); + HyruleTownTileSetManager_UpdateLoadGfxGroups(this); } -void sub_08059A2C(HyruleTownTileSetManager* this) { +void HyruleTownTileSetManager_Reset(HyruleTownTileSetManager* this) { gRoomVars.graphicsGroups[2] = 0xff; gRoomVars.graphicsGroups[1] = 0xff; gRoomVars.graphicsGroups[0] = 0xff; - this->field_0x22 = 0xff; - this->field_0x21 = 0xff; - this->field_0x20 = 0xff; - sub_08059A58(this); + this->gfxGroup2 = 0xff; + this->gfxGroup1 = 0xff; + this->gfxGroup0 = 0xff; + HyruleTownTileSetManager_UpdateLoadGfxGroups(this); } -void sub_08059A58(HyruleTownTileSetManager* this) { +void HyruleTownTileSetManager_UpdateLoadGfxGroups(HyruleTownTileSetManager* this) { if (gRoomControls.area != AREA_FESTIVAL_TOWN) { - if (sub_08059C8C(this, 0, &this->field_0x20, gUnk_08108398) != 0) { - sub_08059CC0(0, (u32)this->field_0x20); + if (HyruleTownTileSetManager_UpdateRoomGfxGroup(this, 0, &this->gfxGroup0, + gHyruleTownTileSetManager_regions0) != 0) { + HyruleTownTileSetManager_LoadGfxGroup(0, this->gfxGroup0); } - if (sub_08059C8C(this, 1, &this->field_0x21, gUnk_081083AE) != 0) { - sub_08059CC0(1, this->field_0x21); - if (this->field_0x21 == 2) { - sub_08059B18(); + if (HyruleTownTileSetManager_UpdateRoomGfxGroup(this, 1, &this->gfxGroup1, + gHyruleTownTileSetManager_regions1) != 0) { + HyruleTownTileSetManager_LoadGfxGroup(1, this->gfxGroup1); + if (this->gfxGroup1 == 2) { + HyruleTownTileSetManager_BuildSecondOracleHouse(); } } - if (sub_08059C8C(this, 2, &this->field_0x22, gUnk_081083C4) != 0) { - sub_08059CC0(2, (u32)this->field_0x22); + if (HyruleTownTileSetManager_UpdateRoomGfxGroup(this, 2, &this->gfxGroup2, + gHyruleTownTileSetManager_regions2) != 0) { + HyruleTownTileSetManager_LoadGfxGroup(2, this->gfxGroup2); } } else { - if (sub_08059C8C(this, 0, &this->field_0x20, gUnk_081083DA) != 0) { - sub_08059CC0(0, (u32)this->field_0x20); + if (HyruleTownTileSetManager_UpdateRoomGfxGroup(this, 0, &this->gfxGroup0, + gHyruleTownTileSetManager_festivalRegions0) != 0) { + HyruleTownTileSetManager_LoadGfxGroup(0, this->gfxGroup0); } - if (sub_08059C8C(this, 2, &this->field_0x22, gUnk_081083F2) != 0) { - sub_08059CC0(2, (u32)this->field_0x22); + if (HyruleTownTileSetManager_UpdateRoomGfxGroup(this, 2, &this->gfxGroup2, + gHyruleTownTileSetManager_festivalRegions2) != 0) { + HyruleTownTileSetManager_LoadGfxGroup(2, this->gfxGroup2); } } } -#define COMMON(tmp2, tmp1) (((tmp2) >> 4 & 0x3f) | (((tmp1) + 0x188U) >> 4 & 0x3f) << 6) -void sub_08059B18(void) { +void HyruleTownTileSetManager_BuildSecondOracleHouse(void) { u32 loopVar; u32 innerLoopVar; @@ -115,25 +139,25 @@ void sub_08059B18(void) { for (loopVar = 0; loopVar < 4; ++loopVar) { for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { SetTileByIndex(loopVar * 0x10 + TILE_TYPE_1195 + innerLoopVar, - COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 1); + TILE_LOCAL(0x28 + innerLoopVar * 0x10, 0x188 + loopVar * 0x10), 1); } } for (loopVar = 0; loopVar < 3; ++loopVar) { for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { SetTileByIndex(loopVar * 0x10 + TILE_TYPE_1088 + innerLoopVar, - COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 2); + TILE_LOCAL(0x28 + innerLoopVar * 0x10, 0x188 + loopVar * 0x10), 2); } } SetTileByIndex(TILE_TYPE_214, TILE_POS(2, 23), LAYER_TOP); SetTileByIndex(TILE_TYPE_215, TILE_POS(3, 23), LAYER_TOP); - LoadResourceAsync(&gUnk_086E8460, 0x6001800, 0x800); + LoadResourceAsync(&gUnk_086E8460, BG_SCREEN_ADDR(3), BG_SCREEN_SIZE); } else { if (CheckGlobalFlag(TATEKAKE_TOCHU) != 0) { for (loopVar = 0; loopVar < 5; ++loopVar) { for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) { SetTileByIndex(loopVar * 0x10 + TILE_TYPE_1190 + innerLoopVar, - COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 1); + TILE_LOCAL(0x28 + innerLoopVar * 0x10, 0x188 + loopVar * 0x10), 1); } } SetTileByIndex(TILE_TYPE_1092, TILE_POS(2, 24), LAYER_TOP); @@ -144,55 +168,56 @@ void sub_08059B18(void) { } } -bool32 sub_08059C8C(HyruleTownTileSetManager* this, u32 param_2, u8* param_3, const u16* param_4) { - bool32 bVar2; - - *param_3 = CheckRegionsOnScreen(param_4); - if ((*param_3 != 0xff) && (gRoomVars.graphicsGroups[param_2] != *param_3)) { - gRoomVars.graphicsGroups[param_2] = *param_3; +bool32 HyruleTownTileSetManager_UpdateRoomGfxGroup(HyruleTownTileSetManager* this, u32 gfxIndex, u8* pGfxGroup, + const u16* regions) { + *pGfxGroup = CheckRegionsOnScreen(regions); + if ((*pGfxGroup != 0xff) && (gRoomVars.graphicsGroups[gfxIndex] != *pGfxGroup)) { + gRoomVars.graphicsGroups[gfxIndex] = *pGfxGroup; return TRUE; - } else { - return FALSE; } + return FALSE; } -void sub_08059CC0(u32 param_1, u32 param_2) { - const Unknown* unknown; +void HyruleTownTileSetManager_LoadGfxGroup(u32 gfxIndex, u32 gfxGroup) { + const HyruleTownTileSetManagerGfxInfo* gfxInfo; - gRoomVars.graphicsGroups[param_1] = param_2; + gRoomVars.graphicsGroups[gfxIndex] = gfxGroup; if (gRoomControls.area != AREA_FESTIVAL_TOWN) { - unknown = &gUnk_08108408[param_2]; + gfxInfo = &gHyruleTownTileSetManagerGfxInfos[gfxGroup]; } else { - unknown = &gUnk_08108468[param_2]; + gfxInfo = &gHyruleTownTileSetManagerGfxInfosFestival[gfxGroup]; } - LoadResourceAsync((void*)&gGlobalGfxAndPalettes + unknown->field_0x0, unknown->field_0x4, 0x1000); - LoadResourceAsync((void*)&gGlobalGfxAndPalettes + unknown->field_0x8, unknown->field_0xc, 0x1000); + LoadResourceAsync(&gGlobalGfxAndPalettes[gfxInfo->gfx1], gfxInfo->dest1, BG_SCREEN_SIZE * 2); + LoadResourceAsync(&gGlobalGfxAndPalettes[gfxInfo->gfx2], gfxInfo->dest2, BG_SCREEN_SIZE * 2); } void TryLoadPrologueHyruleTown(void) { - u32 tmp; + u32 gfxGroup; if (gRoomControls.area != AREA_FESTIVAL_TOWN) { - tmp = CheckRegionsOnScreen(gUnk_08108398); - if (tmp != 0xff) { - sub_08059CC0(0, tmp); + gfxGroup = CheckRegionsOnScreen(gHyruleTownTileSetManager_regions0); + if (gfxGroup != 0xff) { + HyruleTownTileSetManager_LoadGfxGroup(0, gfxGroup); } - tmp = CheckRegionsOnScreen(gUnk_081083AE); - if ((tmp != 0xff) && (sub_08059CC0(1, tmp), tmp == 2)) { - sub_08059B18(); + gfxGroup = CheckRegionsOnScreen(gHyruleTownTileSetManager_regions1); + if (gfxGroup != 0xff) { + HyruleTownTileSetManager_LoadGfxGroup(1, gfxGroup); + if (gfxGroup == 2) { + HyruleTownTileSetManager_BuildSecondOracleHouse(); + } } - tmp = CheckRegionsOnScreen(gUnk_081083C4); - if (tmp != 0xff) { - sub_08059CC0(2, tmp); + gfxGroup = CheckRegionsOnScreen(gHyruleTownTileSetManager_regions2); + if (gfxGroup != 0xff) { + HyruleTownTileSetManager_LoadGfxGroup(2, gfxGroup); } } else { - tmp = CheckRegionsOnScreen(gUnk_081083DA); - if (tmp != 0xff) { - sub_08059CC0(0, tmp); + gfxGroup = CheckRegionsOnScreen(gHyruleTownTileSetManager_festivalRegions0); + if (gfxGroup != 0xff) { + HyruleTownTileSetManager_LoadGfxGroup(0, gfxGroup); } - tmp = CheckRegionsOnScreen(gUnk_081083F2); - if (tmp != 0xff) { - sub_08059CC0(2, tmp); + gfxGroup = CheckRegionsOnScreen(gHyruleTownTileSetManager_festivalRegions2); + if (gfxGroup != 0xff) { + HyruleTownTileSetManager_LoadGfxGroup(2, gfxGroup); } } } diff --git a/src/manager/minishVillageTileSetManager.c b/src/manager/minishVillageTileSetManager.c index 88671417..0f5b2674 100644 --- a/src/manager/minishVillageTileSetManager.c +++ b/src/manager/minishVillageTileSetManager.c @@ -7,85 +7,148 @@ #include "manager/minishVillageTileSetManager.h" #include "asm.h" #include "common.h" -#include "functions.h" #include "main.h" +#include "assets/gfx_offsets.h" +#include "functions.h" -void sub_08057E30(void*); -bool32 sub_08057E40(MinishVillageTileSetManager*); -void sub_08057E7C(u32); +void MinishVillageTileSetManager_LoadRoomGfxGroup(void*); +bool32 MinishVillageTileSetManager_UpdateRoomGfxGroup(MinishVillageTileSetManager*); +void MinishVillageTileSetManager_LoadGfxGroup(u32); -extern const u8 gGlobalGfxAndPalettes[]; - -const u16 gUnk_08108050[0x2A] = { +// clang-format off +const u16 gMinishVillageTileSetManagerRegions[] = { + 0, 0x000, 0x020, 0x0E0, 0x0E0, #ifdef EU - 0, 0, 0x20, 0xE0, 0xE0, 1, 0x28, 0x1C8, 0x60, 0x80, 2, - 0x188, 0x278, 0xE0, 0xA0, 3, 0x310, 0x178, 0xC0, 0x150, 3, 0x340, + 1, 0x028, 0x1C8, 0x060, 0x080, + 2, 0x188, 0x278, 0x0E0, 0x0A0, #else - 0, 0, 0x20, 0xE0, 0xE0, 1, 0, 0x1D0, 0x80, 0x60, 2, - 0x170, 0x278, 0xF8, 0xA0, 3, 0x310, 0x178, 0xC0, 0x150, 3, 0x340, + 1, 0x000, 0x1D0, 0x080, 0x060, + 2, 0x170, 0x278, 0x0F8, 0x0A0, #endif - 0x2C8, 0x60, 0x90, 4, 0x1D0, 0, 0x200, 0xE0, 1, 0x108, 0x188, - 0xD0, 0x80, 2, 0x1E8, 0x338, 0x50, 0xC0, 0xFF, 0 + 3, 0x310, 0x178, 0x0C0, 0x150, + 3, 0x340, 0x2C8, 0x060, 0x090, + 4, 0x1D0, 0x000, 0x200, 0x0E0, + 1, 0x108, 0x188, 0x0D0, 0x080, + 2, 0x1E8, 0x338, 0x050, 0x0C0, + 0xFF, +}; +// clang-format on + +typedef struct { + u32 gfx; + void* dest; +} MinishVillageTileSetManagerGfxInfo; + +const MinishVillageTileSetManagerGfxInfo gMinishVillageTileSetManagerGfxInfos[][8] = { + { + { offset_gUnk_086AAEE0 + 0x1580, BG_SCREEN_ADDR(0) }, + { offset_gUnk_086AAEE0 + 0x2580, BG_SCREEN_ADDR(2) }, + { offset_gUnk_086AAEE0 + 0x3580, BG_SCREEN_ADDR(4) }, + { offset_gUnk_086AAEE0 + 0x4580, BG_SCREEN_ADDR(6) }, + { offset_gUnk_086AAEE0 + 0x5580, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086AAEE0 + 0x6580, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086AAEE0 + 0x7580, BG_SCREEN_ADDR(20) }, + { offset_gUnk_086AAEE0 + 0x8580, BG_SCREEN_ADDR(22) }, + }, + { + { offset_gUnk_086AAEE0 + 0x9580, BG_SCREEN_ADDR(0) }, + { offset_gUnk_086AAEE0 + 0xA580, BG_SCREEN_ADDR(2) }, + { offset_gUnk_086AAEE0 + 0xB580, BG_SCREEN_ADDR(4) }, + { offset_gUnk_086AAEE0 + 0xC580, BG_SCREEN_ADDR(6) }, + { offset_gUnk_086AAEE0 + 0xD580, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086AAEE0 + 0xE580, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086AAEE0 + 0xF580, BG_SCREEN_ADDR(20) }, + { offset_gUnk_086AAEE0 + 0x10580, BG_SCREEN_ADDR(22) }, + }, + { + { offset_gUnk_086AAEE0 + 0x11580, BG_SCREEN_ADDR(0) }, + { offset_gUnk_086AAEE0 + 0x12580, BG_SCREEN_ADDR(2) }, + { offset_gUnk_086AAEE0 + 0x13580, BG_SCREEN_ADDR(4) }, + { offset_gUnk_086AAEE0 + 0x14580, BG_SCREEN_ADDR(6) }, + { offset_gUnk_086AAEE0 + 0x15580, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086AAEE0 + 0x16580, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086AAEE0 + 0x17580, BG_SCREEN_ADDR(20) }, + { offset_gUnk_086AAEE0 + 0x18580, BG_SCREEN_ADDR(22) }, + }, + { + { offset_gUnk_086AAEE0 + 0x19580, BG_SCREEN_ADDR(0) }, + { offset_gUnk_086AAEE0 + 0x1A580, BG_SCREEN_ADDR(2) }, + { offset_gUnk_086AAEE0 + 0x1B580, BG_SCREEN_ADDR(4) }, + { offset_gUnk_086AAEE0 + 0x1C580, BG_SCREEN_ADDR(6) }, + { offset_gUnk_086AAEE0 + 0x1D580, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086AAEE0 + 0x1E580, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086AAEE0 + 0x1F580, BG_SCREEN_ADDR(20) }, + { offset_gUnk_086AAEE0 + 0x20580, BG_SCREEN_ADDR(22) }, + }, + { + { offset_gUnk_086AAEE0 + 0x21580, BG_SCREEN_ADDR(0) }, + { offset_gUnk_086AAEE0 + 0x22580, BG_SCREEN_ADDR(2) }, + { offset_gUnk_086AAEE0 + 0x23580, BG_SCREEN_ADDR(4) }, + { offset_gUnk_086AAEE0 + 0x24580, BG_SCREEN_ADDR(6) }, + { offset_gUnk_086AAEE0 + 0x25580, BG_SCREEN_ADDR(16) }, + { offset_gUnk_086AAEE0 + 0x26580, BG_SCREEN_ADDR(18) }, + { offset_gUnk_086AAEE0 + 0x27580, BG_SCREEN_ADDR(20) }, + { offset_gUnk_086AAEE0 + 0x28580, BG_SCREEN_ADDR(22) }, + }, }; -const u32 gUnk_081080A4[0x50] = { -#ifdef EU - 0x109860, 0x6000000, 0x10a860, 0x6001000, 0x10b860, 0x6002000, 0x10c860, 0x6003000, 0x10d860, 0x6008000, - 0x10e860, 0x6009000, 0x10f860, 0x600a000, 0x110860, 0x600b000, 0x111860, 0x6000000, 0x112860, 0x6001000, - 0x113860, 0x6002000, 0x114860, 0x6003000, 0x115860, 0x6008000, 0x116860, 0x6009000, 0x117860, 0x600a000, - 0x118860, 0x600b000, 0x119860, 0x6000000, 0x11a860, 0x6001000, 0x11b860, 0x6002000, 0x11c860, 0x6003000, - 0x11d860, 0x6008000, 0x11e860, 0x6009000, 0x11f860, 0x600a000, 0x120860, 0x600b000, 0x121860, 0x6000000, - 0x122860, 0x6001000, 0x123860, 0x6002000, 0x124860, 0x6003000, 0x125860, 0x6008000, 0x126860, 0x6009000, - 0x127860, 0x600a000, 0x128860, 0x600b000, 0x129860, 0x6000000, 0x12a860, 0x6001000, 0x12b860, 0x6002000, - 0x12c860, 0x6003000, 0x12d860, 0x6008000, 0x12e860, 0x6009000, 0x12f860, 0x600a000, 0x130860, 0x600b000 -#else - 0x001095E0, 0x06000000, 0x0010A5E0, 0x06001000, 0x0010B5E0, 0x06002000, 0x0010C5E0, 0x06003000, 0x0010D5E0, - 0x06008000, 0x0010E5E0, 0x06009000, 0x0010F5E0, 0x0600A000, 0x001105E0, 0x0600B000, 0x001115E0, 0x06000000, - 0x001125E0, 0x06001000, 0x001135E0, 0x06002000, 0x001145E0, 0x06003000, 0x001155E0, 0x06008000, 0x001165E0, - 0x06009000, 0x001175E0, 0x0600A000, 0x001185E0, 0x0600B000, 0x001195E0, 0x06000000, 0x0011A5E0, 0x06001000, - 0x0011B5E0, 0x06002000, 0x0011C5E0, 0x06003000, 0x0011D5E0, 0x06008000, 0x0011E5E0, 0x06009000, 0x0011F5E0, - 0x0600A000, 0x001205E0, 0x0600B000, 0x001215E0, 0x06000000, 0x001225E0, 0x06001000, 0x001235E0, 0x06002000, - 0x001245E0, 0x06003000, 0x001255E0, 0x06008000, 0x001265E0, 0x06009000, 0x001275E0, 0x0600A000, 0x001285E0, - 0x0600B000, 0x001295E0, 0x06000000, 0x0012A5E0, 0x06001000, 0x0012B5E0, 0x06002000, 0x0012C5E0, 0x06003000, - 0x0012D5E0, 0x06008000, 0x0012E5E0, 0x06009000, 0x0012F5E0, 0x0600A000, 0x001305E0, 0x0600B000 -#endif -}; +const u8 gMinishVillateTileSetManagerPaletteGroups[] = { 0x16, 0x17, 0x17, 0x18, 0x18 }; -const u8 gUnk_081081E4[] = { 0x16, 0x17, 0x17, 0x18, 0x18 }; - -#ifdef EU void MinishVillageTileSetManager_Main(MinishVillageTileSetManager* this) { - u32 tmp; - const u32* tmp2; - s32 tmp3; + u32 gfxGroup; + const MinishVillageTileSetManagerGfxInfo* gfxInfo; + s32 super_timer; if (super->action == 0) { super->action = 1; super->timer = 8; this->unk_20 = 0xFF; - RegisterTransitionManager(this, sub_08057E30, 0); +#ifndef EU + SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); +#endif + RegisterTransitionManager(this, MinishVillageTileSetManager_LoadRoomGfxGroup, 0); } +#ifdef EU if (gRoomControls.reload_flags) return; +#endif - if (sub_08057E40(this)) { - tmp = (u32)gRoomVars.graphicsGroups[0]; - if (this->unk_20 != tmp) { - this->unk_20 = tmp; + if (MinishVillageTileSetManager_UpdateRoomGfxGroup(this)) { + gfxGroup = (u32)gRoomVars.graphicsGroups[0]; + if (this->unk_20 != gfxGroup) { + this->unk_20 = gfxGroup; super->timer = 0; } } +#ifndef EU + if (gRoomControls.reload_flags) + return; +#endif +#ifndef JP +#ifndef EU + gfxGroup = this->unk_20; +#endif +#endif - tmp2 = &gUnk_081080A4[tmp << 4]; - tmp3 = super->timer; - if (tmp3 == 0) { + gfxInfo = gMinishVillageTileSetManagerGfxInfos[gfxGroup]; +#ifdef EU + super_timer = super->timer; + if (super_timer == 0) { +#else + switch (super->timer) { + case 0: +#endif gPauseMenuOptions.disabled = 1; - LoadResourceAsync(&gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x1000); - LoadPaletteGroup(gUnk_081081E4[tmp]); + LoadResourceAsync(&gGlobalGfxAndPalettes[gfxInfo->gfx], gfxInfo->dest, BG_SCREEN_SIZE * 2); + LoadPaletteGroup(gMinishVillateTileSetManagerPaletteGroups[gfxGroup]); super->timer++; +#ifdef EU } else { - switch (tmp3) { + switch (super_timer) { case 0: +#else + break; +#endif case 1: case 2: case 3: @@ -93,99 +156,58 @@ void MinishVillageTileSetManager_Main(MinishVillageTileSetManager* this) { case 5: case 6: case 7: - LoadResourceAsync(&gGlobalGfxAndPalettes[tmp2[(super->timer << 1)]], tmp2[(super->timer << 1) + 1], - 0x1000); + LoadResourceAsync(&gGlobalGfxAndPalettes[gfxInfo[super->timer].gfx], gfxInfo[super->timer].dest, + BG_SCREEN_SIZE * 2); super->timer++; +#ifdef EU gPauseMenuOptions.disabled = 0; +#endif + break; case 8: +#ifndef EU + gPauseMenuOptions.disabled = 0; + super->timer++; +#endif break; } +#ifdef EU } -} -#else -void MinishVillageTileSetManager_Main(MinishVillageTileSetManager* this) { - u32 tmp; - const u32* tmp2; - if (super->action == 0) { - super->action = 1; - super->timer = 8; - this->unk_20 = 0xFF; - - SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); - RegisterTransitionManager(this, sub_08057E30, 0); - } - if (sub_08057E40(this)) { - tmp = (u32)gRoomVars.graphicsGroups[0]; - if (this->unk_20 != tmp) { - this->unk_20 = tmp; - super->timer = 0; - } - } - if (gRoomControls.reload_flags) - return; -#ifndef JP - tmp = this->unk_20; #endif - tmp2 = &gUnk_081080A4[tmp << 4]; - switch (super->timer) { - case 0: - gPauseMenuOptions.disabled = 1; - LoadResourceAsync(&gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x1000); - LoadPaletteGroup(gUnk_081081E4[tmp]); - super->timer++; - break; - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - LoadResourceAsync(&gGlobalGfxAndPalettes[tmp2[(super->timer << 1)]], tmp2[(super->timer << 1) + 1], 0x1000); - super->timer++; - break; - case 8: - gPauseMenuOptions.disabled = 0; - super->timer++; - break; - } -} -#endif - -void sub_08057E30(void* this) { - sub_08057E7C(gRoomVars.graphicsGroups[0]); } -bool32 sub_08057E40(MinishVillageTileSetManager* this) { - u32 tmp = CheckRegionsOnScreen(gUnk_08108050); - if (tmp != 0xFF) { - gRoomVars.graphicsGroups[0] = tmp; +void MinishVillageTileSetManager_LoadRoomGfxGroup(void* this) { + MinishVillageTileSetManager_LoadGfxGroup(gRoomVars.graphicsGroups[0]); +} + +bool32 MinishVillageTileSetManager_UpdateRoomGfxGroup(MinishVillageTileSetManager* this) { + u32 gfxGroup = CheckRegionsOnScreen(gMinishVillageTileSetManagerRegions); + if (gfxGroup != 0xFF) { + gRoomVars.graphicsGroups[0] = gfxGroup; return TRUE; - } else { - return FALSE; + } + return FALSE; +} + +void MinishVillageTileSetManger_LoadInitialGfxGroup(void) { + u32 gfxGroup = CheckRegionsOnScreen(gMinishVillageTileSetManagerRegions); + if (gfxGroup != 0xFF) { + MinishVillageTileSetManager_LoadGfxGroup(gfxGroup); } } -void sub_08057E64(void) { - u32 tmp = CheckRegionsOnScreen(gUnk_08108050); - if (tmp != 0xFF) { - sub_08057E7C(tmp); - } -} - -void sub_08057E7C(u32 unk1) { - u32 tmp; - const u32* tmp2; +void MinishVillageTileSetManager_LoadGfxGroup(u32 gfxGroup) { + u32 i; + const MinishVillageTileSetManagerGfxInfo* gfxInfo; #ifndef EU - if (unk1 > 4) + if (gfxGroup >= ARRAY_COUNT(gMinishVillageTileSetManagerGfxInfos)) return; #endif - LoadPaletteGroup(gUnk_081081E4[unk1]); - tmp2 = &gUnk_081080A4[unk1 << 4]; - for (tmp = 0; tmp < 8; tmp++, tmp2 += 2) { - DmaCopy32(3, &gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x400 * 4); + LoadPaletteGroup(gMinishVillateTileSetManagerPaletteGroups[gfxGroup]); + gfxInfo = gMinishVillageTileSetManagerGfxInfos[gfxGroup]; + for (i = 0; i < ARRAY_COUNT(gMinishVillageTileSetManagerGfxInfos[0]); i++, gfxInfo++) { + DmaCopy32(3, &gGlobalGfxAndPalettes[gfxInfo->gfx], gfxInfo->dest, BG_SCREEN_SIZE * 2); } - gRoomVars.graphicsGroups[0] = unk1; + gRoomVars.graphicsGroups[0] = gfxGroup; } diff --git a/src/manager/weatherChangeManager.c b/src/manager/weatherChangeManager.c index 995716a0..57e8727b 100644 --- a/src/manager/weatherChangeManager.c +++ b/src/manager/weatherChangeManager.c @@ -140,7 +140,7 @@ void sub_080596E0(WeatherChangeManager* this) { break; case 4: MemClear(gBG3Buffer, 0x800); - LoadResourceAsync(gBG3Buffer, 0x600e800, 0x800); + LoadResourceAsync(gBG3Buffer, BG_SCREEN_ADDR(29), BG_SCREEN_SIZE); break; case 5: gMapTop.bgSettings = &gScreen.bg1; diff --git a/src/menu/figurineMenu.c b/src/menu/figurineMenu.c index 88c289f7..913f311c 100644 --- a/src/menu/figurineMenu.c +++ b/src/menu/figurineMenu.c @@ -380,9 +380,9 @@ void FigurineMenu_080A4978(void) { LoadPalettes(fig->pal, 0x16, 9); gfx = fig->gfx; if (fig->size < 0) { - LZ77UnCompVram(gfx, (void*)0x6014000); + LZ77UnCompVram(gfx, OBJ_VRAM0 + 0x4000); } else { - LoadResourceAsync(gfx, 0x6014000, fig->size); + LoadResourceAsync(gfx, OBJ_VRAM0 + 0x4000, fig->size); } } } diff --git a/src/message.c b/src/message.c index 08bad90c..ea3645e1 100644 --- a/src/message.c +++ b/src/message.c @@ -813,7 +813,7 @@ static void DispCursor(void) { } static void DrawCanvasLine(void) { - LoadResourceAsync(gTextGfxBuffer, 0x0600D040, sizeof(gTextGfxBuffer)); + LoadResourceAsync(gTextGfxBuffer, BG_SCREEN_ADDR(26) + 0x40, sizeof(gTextGfxBuffer)); } void sub_08056F88(u32 unk_1, u32 unk_2) { diff --git a/src/roomInit.c b/src/roomInit.c index f070575f..26ff32d1 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -17,7 +17,7 @@ #include "functions.h" extern u32 sub_08060354(void); -extern void sub_08057E64(void); +extern void MinishVillageTileSetManger_LoadInitialGfxGroup(void); extern void sub_0809F814(u32); extern void sub_080300E8(void); extern void sub_08058D34(void); @@ -1796,7 +1796,7 @@ void sub_StateChange_MinishVillage_Main(void) { if (!CheckLocalFlag(KOBITO_MORI_1ST)) { LoadRoomEntityList(&gUnk_080DC4C0); } - sub_08057E64(); + MinishVillageTileSetManger_LoadInitialGfxGroup(); } u32 sub_unk3_MinishVillage_SideHouse(void) { @@ -1814,8 +1814,8 @@ typedef struct { extern struct_086D4460 gUnk_086D4460; void sub_unk2_MinishVillage_SideHouse(void) { - LoadResourceAsync(&gUnk_086D4460.LO, 0x6000000, 0x4000); - LoadResourceAsync(&gUnk_086D4460.HI, 0x6008000, 0x4000); + LoadResourceAsync(&gUnk_086D4460.LO, BG_SCREEN_ADDR(0), BG_SCREEN_SIZE * 8); + LoadResourceAsync(&gUnk_086D4460.HI, BG_SCREEN_ADDR(16), BG_SCREEN_SIZE * 8); LoadPaletteGroup(0x19); } diff --git a/src/text.c b/src/text.c index b8ee3169..29d9b93a 100644 --- a/src/text.c +++ b/src/text.c @@ -741,7 +741,7 @@ void sub_0805F918(u32 idx, u32 idx2, void* dest) { idx3++; } } - LoadResourceAsync((const void*)&gUnk_02036AD8, (u32)dest, 0xe0); + LoadResourceAsync(&gUnk_02036AD8, dest, 0xe0); } u32 sub_0805F9A0(u32 r0) { From d602b93c8d5a81d9d92425d16dd45a36f6450878 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Wed, 5 Mar 2025 16:28:18 +0000 Subject: [PATCH 09/17] name transition handler functions --- include/game.h | 2 +- include/manager.h | 5 ---- src/enemy/gyorgFemale.c | 23 ++++++++-------- src/gameUtils.c | 2 +- src/manager/cloudOverlayManager.c | 17 ++++++------ src/manager/holeManager.c | 9 ++++--- .../horizontalMinishPathBackgroundManager.c | 27 ++++++++++--------- src/manager/hyruleTownTileSetManager.c | 7 ++--- src/manager/lightRayManager.c | 7 ++--- src/manager/minishRaftersBackgroundManager.c | 9 ++++--- src/manager/minishVillageTileSetManager.c | 7 ++--- src/manager/powBackgroundManager.c | 11 ++++---- src/manager/rollingBarrelManager.c | 10 +++---- src/manager/staticBackgroundManager.c | 9 ++++--- src/manager/steamOverlayManager.c | 15 ++++++----- src/manager/templeOfDropletsManager.c | 9 ++++--- src/manager/vaati3BackgroundManager.c | 13 ++++----- .../verticalMinishPathBackgroundManager.c | 6 ++--- src/manager/weatherChangeManager.c | 10 +++---- src/object/giantBookLadder.c | 10 +++---- src/roomInit.c | 4 +-- 21 files changed, 109 insertions(+), 103 deletions(-) diff --git a/include/game.h b/include/game.h index 9e1bc655..3480b46b 100644 --- a/include/game.h +++ b/include/game.h @@ -200,7 +200,7 @@ void InitParachuteRoom(void); * @param onEnter Room enter callback. * @param onExit Room exit callback. */ -void RegisterTransitionManager(void* mgr, void (*onEnter)(void*), void (*onExit)(void*)); +void RegisterTransitionHandler(void* mgr, void (*onEnter)(), void (*onExit)()); /** * Call the room exit callback. diff --git a/include/manager.h b/include/manager.h index c96a1785..322510c7 100644 --- a/include/manager.h +++ b/include/manager.h @@ -152,11 +152,6 @@ extern void (*const gMiscManagerunctions[58])(); Manager* GetEmptyManager(void); -/** - * @brief Set manager responsible for handling room changes - */ -extern void RegisterTransitionManager(void* mgr, void (*onEnter)(), void (*onExit)()); - extern u32 sub_0805ACC0(Entity*); extern void sub_0801855C(void); extern void SetNextAreaHint(u32 textId); diff --git a/src/enemy/gyorgFemale.c b/src/enemy/gyorgFemale.c index 034e8eb4..e566c480 100644 --- a/src/enemy/gyorgFemale.c +++ b/src/enemy/gyorgFemale.c @@ -9,10 +9,10 @@ #include "collision.h" #include "enemy.h" #include "enemy/gyorg.h" -#include "entity.h" -#include "functions.h" #include "sound.h" #include "assets/map_offsets.h" +#include "game.h" +#include "functions.h" extern u8 gEntCount; extern u8 gMapDataTopSpecial[]; @@ -20,11 +20,10 @@ extern u8 gMapDataTopSpecial[]; extern u16 gMapDataBottomSpecial[]; extern u32 sub_08000E62(u32); -extern void RegisterTransitionManager(void*, void (*)(), void (*)()); -void sub_08046498(); +void GyorgFemale_OnEnterRoom(); void sub_0804660C(GyorgFemaleEntity*, u32); -void sub_080464C0(GyorgFemaleEntity*); +void GyorgFemale_Reset(GyorgFemaleEntity*); void GyorgFemale_SpawnChildren(GyorgFemaleEntity* this, bool32 unlimit_tmp); void sub_080465C8(void); void GyorgFemale_ProcessEyeHit(GyorgFemaleEntity* this); @@ -92,13 +91,13 @@ void GyorgFemale_Setup(GyorgFemaleEntity* this) { MemClear(&gMapDataBottomSpecial, 0x8000); MemClear(&gMapDataTopSpecial, 0x8000); sub_0804660C(this, 0); - sub_080464C0(this); + GyorgFemale_Reset(this); gPlayerEntity.base.collisionLayer = 2; UpdateSpriteForCollisionLayer(&gPlayerEntity.base); #ifndef EU - RegisterTransitionManager(this, sub_08046498, 0); + RegisterTransitionHandler(this, GyorgFemale_OnEnterRoom, NULL); #else - RegisterTransitionManager(this, sub_080464C0, 0); + RegisterTransitionHandler(this, GyorgFemale_Reset, NULL); #endif } @@ -110,7 +109,7 @@ void GyorgFemale_Action1(GyorgFemaleEntity* this) { } else { if (this->unk_79 & 0x40) { this->unk_79 &= ~0x40; - sub_080464C0(this); + GyorgFemale_Reset(this); } } sub_080465C8(); @@ -217,14 +216,14 @@ void GyorgFemale_Action3(GyorgFemaleEntity* this) { } #ifndef EU -void sub_08046498(GyorgFemaleEntity* this) { +void GyorgFemale_OnEnterRoom(GyorgFemaleEntity* this) { MemClear(&gMapDataBottomSpecial, 0x8000); MemClear(&gMapDataTopSpecial, 0x8000); - sub_080464C0(this); + GyorgFemale_Reset(this); } #endif -void sub_080464C0(GyorgFemaleEntity* this) { +void GyorgFemale_Reset(GyorgFemaleEntity* this) { static const MapDataDefinition* const gyorgMappings[] = { gGyorgMapping0, gGyorgMapping1, diff --git a/src/gameUtils.c b/src/gameUtils.c index 2f54867d..4087bd32 100644 --- a/src/gameUtils.c +++ b/src/gameUtils.c @@ -531,7 +531,7 @@ u32 GetFlagBankOffset(u32 idx) { return gLocalFlagBanks[a_hdr->flag_bank]; } -void RegisterTransitionManager(void* mgr, void (*onEnter)(), void (*onExit)()) { +void RegisterTransitionHandler(void* mgr, void (*onEnter)(), void (*onExit)()) { if (gMain.substate != GAMEMAIN_SUBTASK) { gArea.transitionManager = mgr; gArea.onEnter = onEnter; diff --git a/src/manager/cloudOverlayManager.c b/src/manager/cloudOverlayManager.c index b9563b46..a9313b45 100644 --- a/src/manager/cloudOverlayManager.c +++ b/src/manager/cloudOverlayManager.c @@ -6,19 +6,20 @@ */ #include "manager/cloudOverlayManager.h" #include "area.h" -#include "functions.h" #include "screen.h" +#include "game.h" +#include "functions.h" -void sub_0805AEDC(CloudOverlayManager*); -void sub_0805AF3C(CloudOverlayManager*); +void CloudOverlayManager_OnEnterRoom(CloudOverlayManager*); +void CloudOverlayManager_OnExitRoom(CloudOverlayManager*); void CloudOverlayManager_Main(CloudOverlayManager* this) { static const u16 gUnk_0810865C[] = { 0xf01, 0xe02, 0xe03, 0xe04, 0, 0, }; if (this == NULL) { - if (gArea.onEnter != sub_0805AEDC) { - sub_0805AEDC(NULL); + if (gArea.onEnter != CloudOverlayManager_OnEnterRoom) { + CloudOverlayManager_OnEnterRoom(NULL); } } else { if (super->action == 0) { @@ -29,7 +30,7 @@ void CloudOverlayManager_Main(CloudOverlayManager* this) { this->field_0x20 = gUnk_0810865C[0]; SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); if (gArea.onEnter == NULL) { - RegisterTransitionManager(this, sub_0805AEDC, sub_0805AF3C); + RegisterTransitionHandler(this, CloudOverlayManager_OnEnterRoom, CloudOverlayManager_OnExitRoom); } else { DeleteThisEntity(); } @@ -49,7 +50,7 @@ void CloudOverlayManager_Main(CloudOverlayManager* this) { } } -void sub_0805AEDC(CloudOverlayManager* this) { +void CloudOverlayManager_OnEnterRoom(CloudOverlayManager* this) { gScreen.bg3.control = BGCNT_SCREENBASE(30) | BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1); gScreen.lcd.displayControl |= DISPCNT_BG3_ON; gScreen.controls.layerFXControl = @@ -62,7 +63,7 @@ void sub_0805AEDC(CloudOverlayManager* this) { } } -void sub_0805AF3C(CloudOverlayManager* this) { +void CloudOverlayManager_OnExitRoom(CloudOverlayManager* this) { super->flags &= ~ENT_PERSIST; gScreen.lcd.displayControl &= ~DISPCNT_BG3_ON; gScreen.controls.layerFXControl = 0; diff --git a/src/manager/holeManager.c b/src/manager/holeManager.c index 0ae74a87..3772ceb1 100644 --- a/src/manager/holeManager.c +++ b/src/manager/holeManager.c @@ -10,6 +10,7 @@ #include "object.h" #include "room.h" #include "screen.h" +#include "game.h" #include "manager/lightManager.h" #include "assets/gfx_offsets.h" #include "functions.h" @@ -155,7 +156,7 @@ void HoleManager_Main(HoleManager* this) { bool32 IsPlayerOnHole(HoleManager*); void DoHoleTransition(HoleManager*); void HoleManager_UpdateParallaxBackground(HoleManager*); -void HoleManager_InitParallaxBackground(HoleManager*); +void HoleManager_OnEnterRoom(HoleManager*); void HoleManager_Init(HoleManager* this) { const HoleTransition* transition; @@ -185,8 +186,8 @@ void HoleManager_Init(HoleManager* this) { this->persistance_y = transition->parallax_background->y; UnDarkRoom(); HoleManager_UpdateParallaxBackground(this); - HoleManager_InitParallaxBackground(this); - RegisterTransitionManager(this, HoleManager_InitParallaxBackground, NULL); + HoleManager_OnEnterRoom(this); + RegisterTransitionHandler(this, HoleManager_OnEnterRoom, NULL); } if (!transition->parallax_entity) return; @@ -297,7 +298,7 @@ void HoleManager_UpdateParallaxBackground(HoleManager* this) { gScreen.bg3.yOffset = gRoomControls.bg3OffsetY.HALF.HI = gRoomControls.scroll_y + this->persistance_offset_y + y; } -void HoleManager_InitParallaxBackground(HoleManager* this) { +void HoleManager_OnEnterRoom(HoleManager* this) { const HoleTransition* transition; if (!super->type2) return; diff --git a/src/manager/horizontalMinishPathBackgroundManager.c b/src/manager/horizontalMinishPathBackgroundManager.c index 5d5d1ae7..1f07763f 100644 --- a/src/manager/horizontalMinishPathBackgroundManager.c +++ b/src/manager/horizontalMinishPathBackgroundManager.c @@ -6,11 +6,12 @@ */ #include "manager/horizontalMinishPathBackgroundManager.h" #include "common.h" -#include "functions.h" #include "screen.h" +#include "game.h" +#include "functions.h" void sub_08057F20(HorizontalMinishPathBackgroundManager*); -void sub_08057EFC(void*); +void HorizontalMinishPathBackgroundManager_OnEnterRoom(HorizontalMinishPathBackgroundManager*); void sub_08058034(void); void sub_08058084(u16*, u16*); void sub_08058004(u32, void*, void*); @@ -24,38 +25,38 @@ void HorizontalMinishPathBackgroundManager_Main(HorizontalMinishPathBackgroundMa super->action = 1; gScreen.bg1.updated = 0; gScreen.bg3.updated = 0; - RegisterTransitionManager(this, sub_08057EFC, NULL); + RegisterTransitionHandler(this, HorizontalMinishPathBackgroundManager_OnEnterRoom, NULL); } } -void sub_08057EFC(void* this) { - LoadGfxGroup((u32)gRoomVars.graphicsGroups[0]); +void HorizontalMinishPathBackgroundManager_OnEnterRoom(HorizontalMinishPathBackgroundManager* this) { + LoadGfxGroup(gRoomVars.graphicsGroups[0]); sub_08058034(); - ((HorizontalMinishPathBackgroundManager*)this)->unk_3c = 0; - ((HorizontalMinishPathBackgroundManager*)this)->unk_38 = 0; - sub_08057F20(((HorizontalMinishPathBackgroundManager*)this)); + this->unk_3c = 0; + this->unk_38 = 0; + sub_08057F20(this); } void sub_08057F20(HorizontalMinishPathBackgroundManager* this) { u32 tmp; tmp = gRoomControls.scroll_x - gRoomControls.origin_x; - tmp = tmp + (tmp >> 3) + ((0x400 - gRoomControls.width) / 2); + tmp = tmp + (tmp >> 3) + (0x400 - gRoomControls.width) / 2; gScreen.bg3.xOffset = tmp & 0xF; gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 2); gScreen.bg3.subTileMap = gBG3Buffer; sub_08058004(tmp, gUnk_02006F00, gBG3Buffer); - tmp = ((tmp >> 4) << 1); + tmp = (tmp >> 4) << 1; if (this->unk_38 != tmp) { this->unk_38 = tmp; gScreen.bg3.updated = 1; } - tmp = (gRoomControls.scroll_x - gRoomControls.origin_x); - tmp = tmp + (tmp >> 2) + ((0x400 - gRoomControls.width) / 2); + tmp = gRoomControls.scroll_x - gRoomControls.origin_x; + tmp = tmp + (tmp >> 2) + (0x400 - gRoomControls.width) / 2; gScreen.bg1.xOffset = tmp & 0xF; gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 1); gScreen.bg1.subTileMap = gBG3Buffer + 0x400; sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x400); - tmp = ((tmp >> 4) << 1); + tmp = (tmp >> 4) << 1; if (this->unk_3c != tmp) { this->unk_3c = tmp; gScreen.bg1.updated = 1; diff --git a/src/manager/hyruleTownTileSetManager.c b/src/manager/hyruleTownTileSetManager.c index f6105c2a..2d19ac6d 100644 --- a/src/manager/hyruleTownTileSetManager.c +++ b/src/manager/hyruleTownTileSetManager.c @@ -11,11 +11,12 @@ #include "main.h" #include "room.h" #include "tiles.h" +#include "game.h" #include "assets/gfx_offsets.h" #include "functions.h" void HyruleTownTileSetManager_UpdateLoadGfxGroups(HyruleTownTileSetManager*); -void HyruleTownTileSetManager_Reset(HyruleTownTileSetManager*); +void HyruleTownTileSetManager_OnEnterRoom(HyruleTownTileSetManager*); // clang-format off static const u16 gHyruleTownTileSetManager_regions0[] = { @@ -86,13 +87,13 @@ void HyruleTownTileSetManager_Main(HyruleTownTileSetManager* this) { this->gfxGroup2 = 0xff; this->gfxGroup1 = 0xff; this->gfxGroup0 = 0xff; - RegisterTransitionManager(this, HyruleTownTileSetManager_Reset, NULL); + RegisterTransitionHandler(this, HyruleTownTileSetManager_OnEnterRoom, NULL); SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); } HyruleTownTileSetManager_UpdateLoadGfxGroups(this); } -void HyruleTownTileSetManager_Reset(HyruleTownTileSetManager* this) { +void HyruleTownTileSetManager_OnEnterRoom(HyruleTownTileSetManager* this) { gRoomVars.graphicsGroups[2] = 0xff; gRoomVars.graphicsGroups[1] = 0xff; gRoomVars.graphicsGroups[0] = 0xff; diff --git a/src/manager/lightRayManager.c b/src/manager/lightRayManager.c index 4a6c4227..65fd416b 100644 --- a/src/manager/lightRayManager.c +++ b/src/manager/lightRayManager.c @@ -12,6 +12,7 @@ #include "functions.h" #include "main.h" #include "screen.h" +#include "game.h" extern void DisableVBlankDMA(void); @@ -47,7 +48,7 @@ void LightRayManager_Main(LightRayManager* this) { } } -static void LightRayManager_EnterRoom(LightRayManager* this) { +static void LightRayManager_OnEnterRoom(LightRayManager* this) { u8* pbVar1; LoadGfxGroup(this->gfxGroup); @@ -60,7 +61,7 @@ static void LightRayManager_EnterRoom(LightRayManager* this) { } } -static void LightRayManager_ExitRoom(void) { +static void LightRayManager_OnExitRoom(void) { gScreen.lcd.displayControl &= ~DISPCNT_BG3_ON; gScreen.controls.layerFXControl = 0; DisableVBlankDMA(); @@ -76,7 +77,7 @@ void LightRayManager_Init(LightRayManager* this) { gScreen.lcd.displayControl |= DISPCNT_BG3_ON; gScreen.controls.layerFXControl = 0x3648; gScreen.controls.alphaBlend = 0x1000; - RegisterTransitionManager(this, LightRayManager_EnterRoom, LightRayManager_ExitRoom); + RegisterTransitionHandler(this, LightRayManager_OnEnterRoom, LightRayManager_OnExitRoom); } void LightRayManager_Action1(LightRayManager* this) { diff --git a/src/manager/minishRaftersBackgroundManager.c b/src/manager/minishRaftersBackgroundManager.c index f92470d6..c3a9d629 100644 --- a/src/manager/minishRaftersBackgroundManager.c +++ b/src/manager/minishRaftersBackgroundManager.c @@ -6,10 +6,11 @@ */ #include "manager/minishRaftersBackgroundManager.h" #include "common.h" -#include "functions.h" #include "room.h" +#include "game.h" +#include "functions.h" -void sub_08058204(MinishRaftersBackgroundManager*); +void MinishRaftersBackgroundManager_OnEnterRoom(MinishRaftersBackgroundManager*); void sub_08058210(MinishRaftersBackgroundManager*); u32 sub_08058244(int); void sub_080582A0(u32, u32*, u16*); @@ -23,11 +24,11 @@ void MinishRaftersBackgroundManager_Main(MinishRaftersBackgroundManager* this) { if (super->action == 0) { super->action = 1; gScreen.bg1.updated = 0; - RegisterTransitionManager(this, sub_08058204, NULL); + RegisterTransitionHandler(this, MinishRaftersBackgroundManager_OnEnterRoom, NULL); } } -void sub_08058204(MinishRaftersBackgroundManager* this) { +void MinishRaftersBackgroundManager_OnEnterRoom(MinishRaftersBackgroundManager* this) { sub_08058324(super->type); } diff --git a/src/manager/minishVillageTileSetManager.c b/src/manager/minishVillageTileSetManager.c index 0f5b2674..95cb7cc4 100644 --- a/src/manager/minishVillageTileSetManager.c +++ b/src/manager/minishVillageTileSetManager.c @@ -8,10 +8,11 @@ #include "asm.h" #include "common.h" #include "main.h" +#include "game.h" #include "assets/gfx_offsets.h" #include "functions.h" -void MinishVillageTileSetManager_LoadRoomGfxGroup(void*); +void MinishVillageTileSetManager_OnEnterRoom(void*); bool32 MinishVillageTileSetManager_UpdateRoomGfxGroup(MinishVillageTileSetManager*); void MinishVillageTileSetManager_LoadGfxGroup(u32); @@ -106,7 +107,7 @@ void MinishVillageTileSetManager_Main(MinishVillageTileSetManager* this) { #ifndef EU SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); #endif - RegisterTransitionManager(this, MinishVillageTileSetManager_LoadRoomGfxGroup, 0); + RegisterTransitionHandler(this, MinishVillageTileSetManager_OnEnterRoom, NULL); } #ifdef EU if (gRoomControls.reload_flags) @@ -175,7 +176,7 @@ void MinishVillageTileSetManager_Main(MinishVillageTileSetManager* this) { #endif } -void MinishVillageTileSetManager_LoadRoomGfxGroup(void* this) { +void MinishVillageTileSetManager_OnEnterRoom(void* this) { MinishVillageTileSetManager_LoadGfxGroup(gRoomVars.graphicsGroups[0]); } diff --git a/src/manager/powBackgroundManager.c b/src/manager/powBackgroundManager.c index d7a24f25..bbb29c7d 100644 --- a/src/manager/powBackgroundManager.c +++ b/src/manager/powBackgroundManager.c @@ -8,13 +8,14 @@ #include "area.h" #include "room.h" #include "screen.h" +#include "game.h" -void sub_0805AFFC(PowBackgroundManager*); +void PowBackgroundManager_OnEnterRoom(PowBackgroundManager*); void PowBackgroundManager_Main(PowBackgroundManager* this) { if (this == NULL) { - if ((void*)gArea.onEnter != sub_0805AFFC) { - sub_0805AFFC(this); + if ((void*)gArea.onEnter != PowBackgroundManager_OnEnterRoom) { + PowBackgroundManager_OnEnterRoom(this); } } else { if (super->action == 0) { @@ -22,7 +23,7 @@ void PowBackgroundManager_Main(PowBackgroundManager* this) { super->flags |= ENT_PERSIST; SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); if (gArea.onEnter == NULL) { - RegisterTransitionManager(this, sub_0805AFFC, NULL); + RegisterTransitionHandler(this, PowBackgroundManager_OnEnterRoom, NULL); } else { DeleteThisEntity(); } @@ -34,7 +35,7 @@ void PowBackgroundManager_Main(PowBackgroundManager* this) { } } -void sub_0805AFFC(PowBackgroundManager* this) { +void PowBackgroundManager_OnEnterRoom(PowBackgroundManager* this) { gScreen.bg3.control = BGCNT_PRIORITY(3) | BGCNT_SCREENBASE(30); gScreen.lcd.displayControl |= DISPCNT_BG3_ON; gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; diff --git a/src/manager/rollingBarrelManager.c b/src/manager/rollingBarrelManager.c index 7f44557b..303108a5 100644 --- a/src/manager/rollingBarrelManager.c +++ b/src/manager/rollingBarrelManager.c @@ -8,21 +8,21 @@ #include "area.h" #include "common.h" #include "flags.h" -#include "functions.h" #include "main.h" #include "physics.h" #include "room.h" #include "save.h" #include "screen.h" #include "sound.h" -#include "structures.h" +#include "game.h" +#include "functions.h" extern struct BgAffineDstData gUnk_02017AA0[]; extern struct BgAffineDstData gUnk_02017BA0[]; extern u8 gUpdateVisibleTiles; extern u32 gUsedPalettes; -void sub_08058D34(void); +void RollingBarrelManager_OnEnterRoom(void); void sub_08058BC8(RollingBarrelManager*); void sub_08058CB0(RollingBarrelManager*); void sub_08058CFC(void); @@ -52,7 +52,7 @@ void RollingBarrelManager_Init(RollingBarrelManager* this) { this->unk_28 = 0x1234; super->timer = CheckLocalFlags(0x15, 0x2) != 0; sub_08058CB0(this); - RegisterTransitionManager(this, sub_08058D34, 0); + RegisterTransitionHandler(this, RollingBarrelManager_OnEnterRoom, NULL); } void RollingBarrelManager_Action1(RollingBarrelManager* this) { @@ -256,7 +256,7 @@ void sub_08058CFC(void) { } } -void sub_08058D34(void) { +void RollingBarrelManager_OnEnterRoom(void) { u16 tmp; u32 tmp2; LoadPaletteGroup(0x28); diff --git a/src/manager/staticBackgroundManager.c b/src/manager/staticBackgroundManager.c index 2163b280..de3c8f3d 100644 --- a/src/manager/staticBackgroundManager.c +++ b/src/manager/staticBackgroundManager.c @@ -6,10 +6,11 @@ */ #include "manager/staticBackgroundManager.h" #include "common.h" -#include "functions.h" #include "screen.h" +#include "game.h" +#include "functions.h" -void sub_0805B4B4(StaticBackgroundManager*); +void StaticBackgroundManager_OnEnterRoom(StaticBackgroundManager*); void sub_0805B448(StaticBackgroundManager*); void sub_0805B474(StaticBackgroundManager*); @@ -37,7 +38,7 @@ void StaticBackgroundManager_Main(StaticBackgroundManager* this) { super->flags |= ENT_PERSIST; SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); if (super->type != 0) { - RegisterTransitionManager(this, sub_0805B4B4, NULL); + RegisterTransitionHandler(this, StaticBackgroundManager_OnEnterRoom, NULL); } iVar3 = 0x100 - (u32)gRoomControls.height; if (iVar3 < 0) { @@ -62,7 +63,7 @@ void sub_0805B474(StaticBackgroundManager* this) { gScreen.bg3.xOffset = gRoomControls.scroll_x - ((gRoomControls.width - 0x100) / 2); } -void sub_0805B4B4(StaticBackgroundManager* this) { +void StaticBackgroundManager_OnEnterRoom(StaticBackgroundManager* this) { LoadStaticBackground(super->type); if (super->type == 2) { sub_0806D0F8(); diff --git a/src/manager/steamOverlayManager.c b/src/manager/steamOverlayManager.c index 0052f5e1..358f70f7 100644 --- a/src/manager/steamOverlayManager.c +++ b/src/manager/steamOverlayManager.c @@ -10,6 +10,7 @@ #include "physics.h" #include "room.h" #include "screen.h" +#include "game.h" const u16 gUnk_08108588[] = { 0x1000, 0xF01, 0xE02, 0xD03, 0xC04, 0xB05, 0xA06, 0x907, 0x808 }; @@ -26,8 +27,8 @@ void sub_0805A098(SteamOverlayManager*); void SteamOverlayManager_Action3(SteamOverlayManager*); void sub_0805A114(u32, u32); void sub_0805A1D8(SteamOverlayManager*); -void nullsub_495(void*); -void sub_0805A25C(void*); +void SteamOverlayManager_OnEnterRoom(void*); +void SteamOverlayManager_OnExitRoom(void*); void SteamOverlayManager_Main(SteamOverlayManager* this) { static void (*const SteamOverlayManager_Actions[])(SteamOverlayManager*) = { @@ -55,7 +56,7 @@ void SteamOverlayManager_Init(SteamOverlayManager* this) { gScreen.controls.alphaBlend = 0x1000; gScreen.bg3.xOffset = 0x80; gScreen.bg3.yOffset = 0; - RegisterTransitionManager(this, nullsub_495, sub_0805A25C); + RegisterTransitionHandler(this, SteamOverlayManager_OnEnterRoom, SteamOverlayManager_OnExitRoom); } void SteamOverlayManager_Action4(SteamOverlayManager* this) { @@ -85,11 +86,11 @@ u32 sub_08059F9C(SteamOverlayManager* this) { if (CheckLocalFlag(0x16)) { return 0; } - sub_0805A25C(this); + SteamOverlayManager_OnExitRoom(this); DeleteThisEntity(); break; case 7: - sub_0805A25C(this); + SteamOverlayManager_OnExitRoom(this); DeleteThisEntity(); break; case 0: @@ -185,10 +186,10 @@ void sub_0805A1D8(SteamOverlayManager* this) { } } -void nullsub_495(void* this) { +void SteamOverlayManager_OnEnterRoom(void* this) { } -void sub_0805A25C(void* this) { +void SteamOverlayManager_OnExitRoom(void* this) { gScreen.controls.layerFXControl = 0; gScreen.lcd.displayControl &= ~DISPCNT_BG3_ON; DisableVBlankDMA(); diff --git a/src/manager/templeOfDropletsManager.c b/src/manager/templeOfDropletsManager.c index 213487db..dbdbc5cb 100644 --- a/src/manager/templeOfDropletsManager.c +++ b/src/manager/templeOfDropletsManager.c @@ -7,10 +7,11 @@ #include "manager/templeOfDropletsManager.h" #include "enemy.h" #include "flags.h" -#include "functions.h" #include "object.h" #include "screen.h" #include "sound.h" +#include "game.h" +#include "functions.h" #include "structures.h" static const u16 gUnk_081085B8[] = { 0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, @@ -399,7 +400,7 @@ void TempleOfDropletsManager_Type7(TempleOfDropletsManager* this) { } } -void sub_0805AAC8(TempleOfDropletsManager*); +void TempleOfDropletsManager_OnEnterRoom(TempleOfDropletsManager*); void sub_0805A89C(TempleOfDropletsManager* this) { SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); @@ -412,7 +413,7 @@ void sub_0805A89C(TempleOfDropletsManager* this) { this->unk_20 = gRoomControls.room; this->unk_24 = gRoomControls.origin_x; this->unk_26 = gRoomControls.origin_y; - RegisterTransitionManager(this, sub_0805AAC8, 0); + RegisterTransitionHandler(this, TempleOfDropletsManager_OnEnterRoom, NULL); } void sub_0805A94C(TempleOfDropletsManager* this); @@ -505,7 +506,7 @@ void sub_0805AA58(TempleOfDropletsManager* this) { } } -void sub_0805AAC8(TempleOfDropletsManager* this) { +void TempleOfDropletsManager_OnEnterRoom(TempleOfDropletsManager* this) { sub_0805AAF0(this->unk_23); TempleOfDropletsManager_Main(this); } diff --git a/src/manager/vaati3BackgroundManager.c b/src/manager/vaati3BackgroundManager.c index bc8847cf..d2fb85ed 100644 --- a/src/manager/vaati3BackgroundManager.c +++ b/src/manager/vaati3BackgroundManager.c @@ -7,16 +7,17 @@ #include "manager/vaati3BackgroundManager.h" #include "area.h" #include "common.h" -#include "functions.h" #include "room.h" #include "screen.h" +#include "game.h" +#include "functions.h" -void sub_0805D470(Vaati3BackgroundManager*); +void Vaati3BackgroundManager_OnEnterRoom(Vaati3BackgroundManager*); void Vaati3BackgroundManager_Main(Vaati3BackgroundManager* this) { if (this == NULL) { - if (gArea.onEnter != sub_0805D470) { - sub_0805D470(NULL); + if (gArea.onEnter != Vaati3BackgroundManager_OnEnterRoom) { + Vaati3BackgroundManager_OnEnterRoom(NULL); } } else { if (super->action == 0) { @@ -24,7 +25,7 @@ void Vaati3BackgroundManager_Main(Vaati3BackgroundManager* this) { super->flags |= ENT_PERSIST; SetEntityPriority((Entity*)this, PRIO_PLAYER_EVENT); if (gArea.onEnter == NULL) { - RegisterTransitionManager(this, sub_0805D470, NULL); + RegisterTransitionHandler(this, Vaati3BackgroundManager_OnEnterRoom, NULL); } else { DeleteThisEntity(); } @@ -37,7 +38,7 @@ void Vaati3BackgroundManager_Main(Vaati3BackgroundManager* this) { } } -void sub_0805D470(Vaati3BackgroundManager* this) { +void Vaati3BackgroundManager_OnEnterRoom(Vaati3BackgroundManager* this) { LoadGfxGroup(0x4c); gScreen.bg3.control = 0x1e07; gScreen.lcd.displayControl |= DISPCNT_BG3_ON; diff --git a/src/manager/verticalMinishPathBackgroundManager.c b/src/manager/verticalMinishPathBackgroundManager.c index 645118fc..c599eae0 100644 --- a/src/manager/verticalMinishPathBackgroundManager.c +++ b/src/manager/verticalMinishPathBackgroundManager.c @@ -9,7 +9,7 @@ #include "functions.h" #include "game.h" #include "screen.h" -extern void sub_080576A0(void*); +extern void VerticalMinishPathBackgroundManager_OnEnterRoom(void*); extern void sub_0805754C(VerticalMinishPathBackgroundManager*); extern u8 gMapDataTopSpecial[]; @@ -19,7 +19,7 @@ void VerticalMinishPathBackgroundManager_Main(VerticalMinishPathBackgroundManage super->action = 1; gScreen.bg3.updated = 0; gScreen.bg1.updated = 0; - RegisterTransitionManager(this, sub_080576A0, NULL); + RegisterTransitionHandler(this, VerticalMinishPathBackgroundManager_OnEnterRoom, NULL); } sub_0805754C(this); } @@ -79,7 +79,7 @@ void sub_08057688(void) { gScreen.bg1.control = BGCNT_SCREENBASE(30) | BGCNT_CHARBASE(2) | BGCNT_MOSAIC; } -void sub_080576A0(void* this) { +void VerticalMinishPathBackgroundManager_OnEnterRoom(void* this) { LoadGfxGroup(gRoomVars.graphicsGroups[0]); ((VerticalMinishPathBackgroundManager*)this)->field_0x38 = NULL; ((VerticalMinishPathBackgroundManager*)this)->field_0x3c = NULL; diff --git a/src/manager/weatherChangeManager.c b/src/manager/weatherChangeManager.c index 57e8727b..fdddd1d6 100644 --- a/src/manager/weatherChangeManager.c +++ b/src/manager/weatherChangeManager.c @@ -8,14 +8,14 @@ #include "area.h" #include "asm.h" #include "common.h" -#include "fileselect.h" -#include "functions.h" #include "main.h" #include "room.h" #include "screen.h" #include "sound.h" +#include "game.h" +#include "functions.h" -void sub_080595E4(WeatherChangeManager*); +void WeatherChangeManager_OnEnterRoom(WeatherChangeManager*); void sub_08059608(WeatherChangeManager*); void sub_08059690(WeatherChangeManager*); void sub_080596E0(WeatherChangeManager*); @@ -45,14 +45,14 @@ void WeatherChangeManager_Main(WeatherChangeManager* this) { this->unk_22 = 5; } gRoomVars.graphicsGroups[0] = 0xFF; - RegisterTransitionManager(this, sub_080595E4, 0); + RegisterTransitionHandler(this, WeatherChangeManager_OnEnterRoom, NULL); } sub_08059608(this); sub_08059690(this); sub_080596E0(this); } -void sub_080595E4(WeatherChangeManager* this) { +void WeatherChangeManager_OnEnterRoom(WeatherChangeManager* this) { gRoomVars.graphicsGroups[0] = 0xFF; sub_08059690(this); sub_080596E0(this); diff --git a/src/object/giantBookLadder.c b/src/object/giantBookLadder.c index 5f18d1b4..cce94fad 100644 --- a/src/object/giantBookLadder.c +++ b/src/object/giantBookLadder.c @@ -4,10 +4,10 @@ * * @brief Giant Book Ladder object */ -#include "manager.h" #include "map.h" #include "object.h" #include "tiles.h" +#include "game.h" typedef struct { Entity base; @@ -16,7 +16,7 @@ typedef struct { u16 unk76; } GiantBookLadderEntity; -void sub_0808E55C(GiantBookLadderEntity*); +void GiantBookLadder_OnEnterRoom(GiantBookLadderEntity*); u32 sub_0808E670(GiantBookLadderEntity*); void GiantBookLadder(Entity* this) { @@ -33,14 +33,14 @@ void GiantBookLadder(Entity* this) { this->spritePriority.b0 = spriteDefPtr[1]; ((GiantBookLadderEntity*)this)->unk76 = 0; ((GiantBookLadderEntity*)this)->unk74 = COORD_TO_TILE(this); - sub_0808E55C((GiantBookLadderEntity*)this); - RegisterTransitionManager(this, sub_0808E55C, 0); + GiantBookLadder_OnEnterRoom((GiantBookLadderEntity*)this); + RegisterTransitionHandler(this, GiantBookLadder_OnEnterRoom, NULL); } else if ((this->type & 1) == 0) { sub_0808E670((GiantBookLadderEntity*)this); } } -void sub_0808E55C(GiantBookLadderEntity* this) { +void GiantBookLadder_OnEnterRoom(GiantBookLadderEntity* this) { u32 type; u32 uVar4; u32 unaff_r9; diff --git a/src/roomInit.c b/src/roomInit.c index 26ff32d1..81366256 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -20,7 +20,7 @@ extern u32 sub_08060354(void); extern void MinishVillageTileSetManger_LoadInitialGfxGroup(void); extern void sub_0809F814(u32); extern void sub_080300E8(void); -extern void sub_08058D34(void); +extern void RollingBarrelManager_OnEnterRoom(void); extern void sub_0807BB98(u32, u32, u32, u32); extern void sub_080AF2E4(void); extern void sub_08059994(void); @@ -2342,7 +2342,7 @@ u32 sub_unk3_DeepwoodShrine_InsideBarrel(void) { } void sub_StateChange_DeepwoodShrine_InsideBarrel(void) { - sub_08058D34(); + RollingBarrelManager_OnEnterRoom(); gArea.areaMetadata |= AR_HAS_NO_ENEMIES; gMain.substate = GAMEMAIN_BARRELUPDATE; } From 3b9b1a388beba1d8293bea15352775a6139d3d52 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Wed, 5 Mar 2025 17:09:01 +0000 Subject: [PATCH 10/17] cleanup headers --- asm/src/code_08003FC4.s | 16 +-- asm/src/code_080043E8.s | 8 +- asm/src/enemy.s | 10 +- data/scripts/CreateDustFromScript.inc | 2 +- .../script_CutsceneMiscObjectOctorok1.inc | 2 +- .../script_CutsceneMiscObjectOctorok2.inc | 2 +- .../script_CutsceneMiscObjectOctorok3.inc | 2 +- .../script_CutsceneMiscObjectOctorok4.inc | 2 +- .../script_CutsceneMiscObjectTektite1.inc | 2 +- .../script_CutsceneMiscObjectTektite2.inc | 2 +- .../script_CutsceneMiscObjectTektite3.inc | 2 +- .../script_CutsceneMiscObjectTektite4.inc | 2 +- .../outro/script_MinishEzloGoodbye.inc | 2 +- include/affine.h | 21 ++++ include/asm.h | 14 +++ include/backgroundAnimations.h | 3 + include/beanstalkSubtask.h | 17 +++ include/collision.h | 2 + include/common.h | 2 + include/effects.h | 19 ++++ include/enemy.h | 5 + include/enemy/armos.h | 8 ++ include/entity.h | 3 - include/fileselect.h | 19 +--- include/functions.h | 100 +---------------- include/game.h | 2 +- include/item.h | 12 +- include/kinstone.h | 1 + include/main.h | 3 +- .../horizontalMinishPathBackgroundManager.h | 2 + include/manager/hyruleTownTileSetManager.h | 2 + .../manager/minishRaftersBackgroundManager.h | 2 + include/manager/miscManager.h | 3 + include/manager/staticBackgroundManager.h | 2 + .../verticalMinishPathBackgroundManager.h | 3 + include/message.h | 56 ++++++++- include/npc.h | 15 --- include/npc/bigGoron.h | 8 ++ include/object.h | 51 ++++----- include/object/cutsceneMiscObject.h | 8 ++ include/object/lockedDoor.h | 8 ++ include/object/pot.h | 8 ++ include/physics.h | 3 + include/player.h | 14 +++ include/playeritem.h | 4 + include/room.h | 2 - include/save.h | 13 ++- include/screen.h | 11 -- include/scroll.h | 7 ++ include/structures.h | 106 ------------------ include/subtask.h | 3 + include/ui.h | 1 + include/vram.h | 53 +++++++++ src/affine.c | 1 + src/backgroundAnimations.c | 3 +- src/beanstalkSubtask.c | 7 +- src/code_08049DF4.c | 2 +- src/collision.c | 6 +- src/color.c | 1 + src/common.c | 6 +- src/cutscene.c | 10 +- src/debug.c | 3 +- src/demo.c | 4 +- src/enemy/acroBandits.c | 3 +- src/enemy/armos.c | 11 +- src/enemy/ballChainSoldier.c | 3 +- src/enemy/beetle.c | 3 +- src/enemy/bladeTrap.c | 4 +- src/enemy/bobomb.c | 6 +- src/enemy/bombPeahat.c | 2 + src/enemy/bombarossa.c | 3 +- src/enemy/bowMoblin.c | 2 +- src/enemy/businessScrub.c | 3 +- src/enemy/businessScrubPrologue.c | 6 +- src/enemy/chaser.c | 2 + src/enemy/chuchu.c | 4 +- src/enemy/chuchuBoss.c | 12 +- src/enemy/cloudPiranha.c | 2 +- src/enemy/crow.c | 2 +- src/enemy/cuccoAggr.c | 4 +- src/enemy/cuccoChickAggr.c | 2 +- src/enemy/darkNut.c | 1 - src/enemy/doorMimic.c | 8 +- src/enemy/dust.c | 6 +- src/enemy/enemy4D.c | 3 +- src/enemy/enemy50.c | 3 +- src/enemy/enemy64.c | 5 +- src/enemy/enemyE.c | 1 - src/enemy/eyegore.c | 7 +- src/enemy/fallingBoulder.c | 4 +- src/enemy/fireballGuy.c | 3 +- src/enemy/flyingPot.c | 2 +- src/enemy/flyingSkull.c | 5 +- src/enemy/ghini.c | 2 +- src/enemy/gibdo.c | 6 +- src/enemy/gleerok.c | 9 +- src/enemy/gyorgChild.c | 3 +- src/enemy/gyorgFemale.c | 3 +- src/enemy/gyorgFemaleEye.c | 2 +- src/enemy/gyorgMale.c | 2 +- src/enemy/gyorgMaleEye.c | 3 +- src/enemy/hangingSeed.c | 4 +- src/enemy/helmasaur.c | 6 +- src/enemy/keaton.c | 2 +- src/enemy/lakituCloud.c | 1 + src/enemy/likeLike.c | 9 +- src/enemy/madderpillar.c | 4 +- src/enemy/mazaalBracelet.c | 7 +- src/enemy/mazaalHead.c | 7 +- src/enemy/mazaalMacro.c | 3 +- src/enemy/miniFireballGuy.c | 2 +- src/enemy/moldorm.c | 2 +- src/enemy/moldworm.c | 4 +- src/enemy/octorokBoss.c | 10 +- src/enemy/pesto.c | 8 +- src/enemy/puffstool.c | 6 + src/enemy/rockChuchu.c | 2 + src/enemy/rupeeLike.c | 9 +- src/enemy/spark.c | 3 + src/enemy/spearMoblin.c | 6 +- src/enemy/spikedBeetle.c | 3 +- src/enemy/spinyBeetle.c | 6 +- src/enemy/spinyChuchu.c | 2 +- src/enemy/stalfos.c | 4 +- src/enemy/takkuri.c | 23 ++-- src/enemy/tektite.c | 1 - src/enemy/tektiteGolden.c | 1 - src/enemy/treeItem.c | 6 +- src/enemy/vaatiArm.c | 8 +- src/enemy/vaatiBall.c | 7 +- src/enemy/vaatiEyesMacro.c | 5 +- src/enemy/vaatiProjectile.c | 3 +- src/enemy/vaatiRebornEnemy.c | 4 +- src/enemy/vaatiTransfigured.c | 8 +- src/enemy/vaatiTransfiguredEye.c | 1 - src/enemy/vaatiWrath.c | 15 ++- src/enemy/vaatiWrathEye.c | 3 +- src/enemy/wallMaster.c | 2 +- src/enemy/wallMaster2.c | 3 +- src/enemy/waterDrop.c | 5 + src/enemy/wisp.c | 7 +- src/enemy/wizzrobeFire.c | 2 +- src/enemy/wizzrobeIce.c | 5 +- src/enemy/wizzrobeWind.c | 7 +- src/enemyUtils.c | 9 +- src/enterPortalSubtask.c | 8 +- src/entity.c | 6 + src/fade.c | 2 +- src/fileselect.c | 10 +- src/game.c | 19 +--- src/gameOverTask.c | 2 +- src/gameUtils.c | 24 ++-- src/interrupts.c | 8 +- src/item/itemBomb.c | 2 - src/item/itemBoomerang.c | 2 +- src/item/itemBow.c | 2 +- src/item/itemGustJar.c | 1 - src/item/itemJarEmpty.c | 2 +- src/item/itemLantern.c | 5 +- src/item/itemMoleMitts.c | 5 +- src/item/itemOcarina.c | 3 +- src/item/itemPacciCane.c | 2 +- src/item/itemPegasusBoots.c | 1 - src/item/itemRocsCape.c | 1 - src/item/itemShield.c | 2 +- src/item/itemSword.c | 4 +- src/item/itemTryPickupObject.c | 4 +- src/itemUtils.c | 6 + src/main.c | 2 +- src/manager/angryStatueManager.c | 6 +- src/manager/armosInteriorManager.c | 2 +- src/manager/bombableWallManager.c | 3 +- src/manager/bridgeManager.c | 2 +- src/manager/cloudOverlayManager.c | 2 +- src/manager/cloudStaircaseTransitionManager.c | 3 +- src/manager/delayedEntityLoadManager.c | 4 + src/manager/diggingCaveEntranceManager.c | 4 +- src/manager/enterRoomTextboxManager.c | 2 +- src/manager/entitySpawnManager.c | 2 +- src/manager/ezloHintManager.c | 2 +- src/manager/flameManager.c | 2 +- src/manager/goronMerchantShopManager.c | 1 + src/manager/holeManager.c | 4 +- .../horizontalMinishPathBackgroundManager.c | 3 +- src/manager/hyruleTownTileSetManager.c | 2 +- src/manager/lightLevelSetManager.c | 6 +- src/manager/lightManager.c | 1 - src/manager/lightRayManager.c | 4 +- src/manager/manager29.c | 3 +- src/manager/minishPortalManager.c | 7 +- src/manager/minishRaftersBackgroundManager.c | 2 +- src/manager/minishSizedEntranceManager.c | 2 +- src/manager/minishVillageTileSetManager.c | 2 +- src/manager/miscManager.c | 13 ++- src/manager/moveableObjectManager.c | 1 + src/manager/pushableFurnitureManager.c | 1 + src/manager/rollingBarrelManager.c | 2 +- src/manager/secretManager.c | 2 +- src/manager/specialWarpManager.c | 3 +- src/manager/staticBackgroundManager.c | 2 +- src/manager/templeOfDropletsManager.c | 4 +- src/manager/tileChangeObserveManager.c | 1 - src/manager/tilePuzzleManager.c | 3 +- src/manager/vaati3BackgroundManager.c | 1 - src/manager/vaati3InsideArmManager.c | 1 - src/manager/vaati3StartManager.c | 9 +- src/manager/vaatiAppearingManager.c | 2 +- .../verticalMinishPathBackgroundManager.c | 3 +- src/manager/waterfallBottomManager.c | 3 +- src/manager/weatherChangeManager.c | 4 +- src/menu/figurineMenu.c | 13 ++- src/menu/kinstoneMenu.c | 5 +- src/menu/pauseMenu.c | 3 +- src/menu/pauseMenuScreen6.c | 3 +- src/message.c | 74 +++++++----- src/movement.c | 1 - src/npc.c | 1 + src/npc/anju.c | 2 + src/npc/beedle.c | 2 +- src/npc/bigGoron.c | 10 +- src/npc/bladeBrothers.c | 4 +- src/npc/brocco.c | 3 + src/npc/carlov.c | 1 + src/npc/carpenter.c | 4 + src/npc/castleMaid.c | 3 +- src/npc/castorWildsStatue.c | 6 +- src/npc/cat.c | 3 +- src/npc/clothesRack.c | 3 + src/npc/cow.c | 4 +- src/npc/cucco.c | 5 +- src/npc/cuccoChick.c | 5 +- src/npc/dampe.c | 2 + src/npc/din.c | 7 +- src/npc/dog.c | 9 +- src/npc/drLeft.c | 8 +- src/npc/emma.c | 1 - src/npc/epona.c | 3 +- src/npc/ezlo.c | 5 + src/npc/farmers.c | 2 +- src/npc/farore.c | 6 +- src/npc/festari.c | 4 +- src/npc/forestMinish.c | 13 ++- src/npc/gentari.c | 3 + src/npc/ghostBrothers.c | 4 +- src/npc/gina.c | 5 + src/npc/gorman.c | 7 +- src/npc/goron.c | 5 +- src/npc/goronMerchant.c | 4 +- src/npc/gregal.c | 3 +- src/npc/guard.c | 3 +- src/npc/guardWithSpear.c | 16 ++- src/npc/hurdyGurdyMan.c | 6 +- src/npc/kid.c | 8 +- src/npc/kingDaltus.c | 4 +- src/npc/kingGustaf.c | 2 +- src/npc/librari.c | 3 + src/npc/librarians.c | 1 - src/npc/mailbox.c | 1 + src/npc/malon.c | 2 + src/npc/mama.c | 2 + src/npc/marcy.c | 2 +- src/npc/mayorHagen.c | 5 + src/npc/melari.c | 6 + src/npc/ministerPotho.c | 2 + src/npc/moblinLady.c | 1 + src/npc/mountainMinish.c | 5 +- src/npc/mutoh.c | 3 + src/npc/nayru.c | 8 +- src/npc/npc23.c | 3 +- src/npc/npc26.c | 2 + src/npc/npc4E.c | 8 +- src/npc/npc4F.c | 1 + src/npc/npc5.c | 7 +- src/npc/npc9.c | 1 + src/npc/percy.c | 9 +- src/npc/phonograph.c | 6 +- src/npc/picolyteBottle.c | 8 +- src/npc/pina.c | 5 +- src/npc/pita.c | 5 + src/npc/postman.c | 7 +- src/npc/rem.c | 9 +- src/npc/simon.c | 2 +- src/npc/sittingPerson.c | 8 +- src/npc/smallTownMinish.c | 3 +- src/npc/smith.c | 10 +- src/npc/stamp.c | 4 +- src/npc/stockwell.c | 9 +- src/npc/sturgeon.c | 10 +- src/npc/syrup.c | 6 +- src/npc/talon.c | 5 +- src/npc/teachers.c | 2 + src/npc/tingleSiblings.c | 9 +- src/npc/townMinish.c | 7 +- src/npc/townsperson.c | 9 +- src/npc/vaati.c | 2 +- src/npc/vaatiReborn.c | 5 +- src/npc/wheaton.c | 2 + src/npc/windTribespeople.c | 5 + src/npc/zelda.c | 6 +- src/npc/zeldaFollower.c | 4 +- src/npcUtils.c | 6 +- src/object.c | 2 - src/object/ambientClouds.c | 2 +- src/object/backgroundCloud.c | 3 + src/object/bakerOven.c | 6 +- src/object/barrelSpiderweb.c | 10 +- src/object/beanstalk.c | 7 +- src/object/bedCover.c | 2 +- src/object/bench.c | 3 +- src/object/bigBarrel.c | 2 +- src/object/bigIceBlock.c | 7 ++ src/object/bigPushableLever.c | 6 +- src/object/bigVortex.c | 5 +- src/object/bird.c | 10 +- src/object/blockPushed.c | 7 +- src/object/board.c | 1 - src/object/bollard.c | 1 - src/object/book.c | 8 +- src/object/bossDoor.c | 10 +- src/object/bush.c | 6 +- src/object/button.c | 7 +- src/object/cameraTarget.c | 4 +- src/object/carlovObject.c | 11 +- src/object/chestSpawner.c | 14 ++- src/object/chuchuBossCutscene.c | 5 +- src/object/chuchuBossStartParticle.c | 6 +- src/object/cloud.c | 7 +- src/object/crackingGround.c | 6 +- src/object/crenelBeanSprout.c | 10 +- src/object/cuccoMinigame.c | 6 +- src/object/cutsceneMiscObject.c | 13 ++- src/object/cutsceneOrchestrator.c | 2 +- src/object/deathFx.c | 4 +- src/object/dirtParticle.c | 4 +- src/object/doubleBookshelf.c | 7 +- src/object/elementsBackground.c | 1 - src/object/enemyItem.c | 5 +- src/object/evilSpirit.c | 4 +- src/object/ezloCap.c | 6 +- src/object/ezloCapFlying.c | 6 +- src/object/fairy.c | 7 +- src/object/fan.c | 6 +- src/object/fanWind.c | 3 +- src/object/figurineDevice.c | 16 ++- src/object/fileScreenObjects.c | 6 +- src/object/fireballChain.c | 2 +- src/object/fireplace.c | 5 +- src/object/flame.c | 5 +- src/object/floatingPlatform.c | 4 +- src/object/fourElements.c | 6 +- src/object/frozenOctorok.c | 11 +- src/object/frozenWaterElement.c | 8 +- src/object/furniture.c | 4 +- src/object/gentariCurtain.c | 1 - src/object/giantBookLadder.c | 2 + src/object/giantLeaf.c | 2 + src/object/giantTwig.c | 5 +- src/object/gleerokParticle.c | 2 +- src/object/graveyardKey.c | 3 +- src/object/greatFairy.c | 6 + src/object/guruguruBar.c | 3 +- src/object/gyorgBossObject.c | 13 ++- src/object/heartContainer.c | 1 + src/object/hiddenLadderDown.c | 2 +- src/object/hittableLever.c | 6 +- src/object/houseDoorExterior.c | 4 +- src/object/houseDoorInterior.c | 3 +- src/object/itemForSale.c | 7 +- src/object/itemOnGround.c | 5 +- src/object/jailBars.c | 2 +- src/object/japaneseSubtitle.c | 2 +- src/object/jarPortal.c | 10 +- src/object/keyStealingTakkuri.c | 8 +- src/object/kinstoneSpark.c | 4 +- src/object/ladderUp.c | 1 - src/object/lavaPlatform.c | 7 +- src/object/lightDoor.c | 5 +- src/object/lightRay.c | 5 +- src/object/lightableSwitch.c | 2 +- src/object/lilypadLarge.c | 19 +++- src/object/lilypadLargeFalling.c | 1 - src/object/lilypadSmall.c | 4 +- src/object/linkAnimation.c | 5 +- src/object/linkEmptyingBottle.c | 6 +- src/object/linkFire.c | 3 +- src/object/linkHoldingItem.c | 4 +- src/object/litArea.c | 1 - src/object/lockedDoor.c | 7 +- src/object/macroAcorn.c | 2 + src/object/macroBook.c | 3 +- src/object/macroMushroomStalk.c | 3 +- src/object/macroPlayer.c | 2 + src/object/mask.c | 8 +- src/object/mazaalBossObject.c | 6 +- src/object/metalDoor.c | 4 +- src/object/minecart.c | 7 +- src/object/minecartDoor.c | 8 +- src/object/mineralWaterSource.c | 2 + src/object/minishEmoticon.c | 3 +- src/object/minishPortalCloseup.c | 3 +- src/object/minishPortalStone.c | 11 +- src/object/minishSizedEntrance.c | 5 +- src/object/minishVillageObject.c | 6 +- src/object/moleMittsParticle.c | 4 +- src/object/object1F.c | 4 +- src/object/object30.c | 4 +- src/object/object37.c | 6 +- src/object/object53.c | 4 +- src/object/object63.c | 5 +- src/object/object70.c | 4 +- src/object/objectA.c | 5 +- src/object/objectA2.c | 7 +- src/object/objectA8.c | 7 +- src/object/objectBlockingStairs.c | 4 +- src/object/objectOnPillar.c | 8 +- src/object/objectOnSpinyBeetle.c | 5 +- src/object/octorokBossObject.c | 9 +- src/object/palaceArchway.c | 2 + src/object/paper.c | 4 +- src/object/pinwheel.c | 10 +- src/object/playerClone.c | 2 +- src/object/pot.c | 5 +- src/object/pressurePlate.c | 5 +- src/object/pullableLever.c | 5 +- src/object/pullableMushroom.c | 6 +- src/object/pushableFurniture.c | 7 +- src/object/pushableGrave.c | 8 +- src/object/pushableLever.c | 6 +- src/object/pushableRock.c | 6 +- src/object/pushableStatue.c | 8 +- src/object/railtrack.c | 1 - src/object/rotatingTrapdoor.c | 2 +- src/object/rupee.c | 3 +- src/object/shrinkingHieroglyphs.c | 3 +- src/object/smallIceBlock.c | 6 + src/object/smoke.c | 2 + src/object/smokeParticle.c | 5 +- src/object/specialFx.c | 8 +- src/object/stoneTablet.c | 2 +- src/object/swordParticle.c | 6 +- src/object/swordsmanNewsletter.c | 1 + src/object/thunderbolt.c | 5 +- src/object/titleScreenObject.c | 2 +- src/object/trapdoor.c | 4 + src/object/treeHidingPortal.c | 5 +- src/object/treeThorns.c | 1 + src/object/unusedSkull.c | 6 +- src/object/warpPoint.c | 7 +- src/object/waterDropObject.c | 1 - src/object/waterElement.c | 1 - src/object/waterfallOpening.c | 2 +- src/object/well.c | 1 - src/object/whirlwind.c | 7 +- src/object/whiteTriangleEffect.c | 3 +- src/object/windTribeFlag.c | 1 + src/object/windTribeTeleporter.c | 7 +- src/object/windcrest.c | 2 +- src/objectUtils.c | 67 +++++------ src/physics.c | 3 +- src/player.c | 7 +- src/playerItem.c | 1 - src/playerItem/playerItemBoomerang.c | 5 +- src/playerItem/playerItemBottle.c | 6 +- src/playerItem/playerItemBow.c | 6 +- src/playerItem/playerItemDashSword.c | 4 +- src/playerItem/playerItemFireRodProjectile.c | 4 +- src/playerItem/playerItemGust.c | 4 +- src/playerItem/playerItemGustBig.c | 4 +- src/playerItem/playerItemGustJar.c | 3 +- src/playerItem/playerItemHeldObject.c | 5 +- src/playerItem/playerItemLantern.c | 5 +- src/playerItem/playerItemPacciCane.c | 4 +- .../playerItemPacciCaneProjectile.c | 6 +- src/playerItem/playerItemShield.c | 3 +- src/playerItem/playerItemSpiralBeam.c | 6 +- src/playerItem/playerItemSword.c | 6 +- src/playerItem/playerItemSwordBeam.c | 6 +- src/playerItemUtils.c | 3 +- src/playerUtils.c | 52 +++------ src/projectile/arrowProjectile.c | 10 +- src/projectile/ballAndChain.c | 2 +- src/projectile/boneProjectile.c | 2 +- src/projectile/cannonballProjectile.c | 8 +- src/projectile/dekuSeedProjectile.c | 2 +- src/projectile/dirtBallProjectile.c | 1 - src/projectile/fireProjectile.c | 2 +- src/projectile/gleerokProjectile.c | 3 +- src/projectile/guardLineOfSight.c | 2 +- src/projectile/gyorgMaleEnergyProjectile.c | 1 - src/projectile/gyorgTail.c | 1 - src/projectile/iceProjectile.c | 2 +- src/projectile/keatonDagger.c | 4 +- src/projectile/lakituCloudProjectile.c | 3 +- src/projectile/lakituLightning.c | 2 +- src/projectile/mandiblesProjectile.c | 7 +- src/projectile/octorokBossProjectile.c | 3 +- src/projectile/removableDust.c | 5 +- src/projectile/rockProjectile.c | 2 +- src/projectile/spiderWeb.c | 7 +- src/projectile/spikedRollers.c | 2 +- src/projectile/stalfosProjectile.c | 2 +- src/projectile/torchTrapProjectile.c | 3 +- src/projectile/v1DarkMagicProjectile.c | 1 - src/projectile/v1EyeLaser.c | 3 +- src/projectile/v1FireProjectile.c | 3 +- src/projectile/v2Projectile.c | 9 +- src/projectile/v3ElectricProjectile.c | 1 - src/projectile/v3HandProjectile.c | 3 +- src/projectile/v3TennisBallProjectile.c | 2 +- src/projectile/windProjectile.c | 2 +- src/projectile/winder.c | 3 +- src/projectileUtils.c | 3 +- src/room.c | 4 +- src/roomInit.c | 38 +++++-- src/save.c | 1 - src/script.c | 13 ++- src/scroll.c | 7 +- src/staffroll.c | 2 + src/subtask.c | 7 +- src/subtask/subtaskAuxCutscene.c | 5 +- src/subtask/subtaskFastTravel.c | 4 +- src/subtask/subtaskLocalMapHint.c | 4 +- src/subtask/subtaskMapHint.c | 2 +- src/subtask/subtaskWorldEvent.c | 3 +- src/text.c | 1 - src/title.c | 11 +- src/ui.c | 2 +- src/vram.c | 1 + src/worldEvent/worldEvent10.c | 3 + src/worldEvent/worldEvent12.c | 1 + src/worldEvent/worldEvent14.c | 1 + src/worldEvent/worldEvent17.c | 5 + src/worldEvent/worldEvent19.c | 3 +- src/worldEvent/worldEvent21.c | 1 + src/worldEvent/worldEvent22.c | 2 +- src/worldEvent/worldEvent25.c | 1 + src/worldEvent/worldEvent3.c | 1 - src/worldEvent/worldEvent4.c | 1 - src/worldEvent/worldEvent6.c | 3 + src/worldEvent/worldEvent7.c | 1 + 540 files changed, 2106 insertions(+), 985 deletions(-) create mode 100644 include/affine.h create mode 100644 include/enemy/armos.h create mode 100644 include/npc/bigGoron.h create mode 100644 include/object/cutsceneMiscObject.h create mode 100644 include/object/lockedDoor.h create mode 100644 include/object/pot.h create mode 100644 include/vram.h diff --git a/asm/src/code_08003FC4.s b/asm/src/code_08003FC4.s index d244179e..34d4b52f 100644 --- a/asm/src/code_08003FC4.s +++ b/asm/src/code_08003FC4.s @@ -621,23 +621,23 @@ _0800439C: .4byte gSpritePtrs _080043A0: .4byte gSpritePtrs _080043A4: .4byte gGFXSlots+4 - thumb_func_start CreateDrownFX -CreateDrownFX: @ 0x080043A8 + thumb_func_start CreateDrownFx +CreateDrownFx: @ 0x080043A8 movs r1, #0xb // FX_WATER_SPLASH b create_fx - thumb_func_start CreateLavaDrownFX -CreateLavaDrownFX: @ 0x080043AC + thumb_func_start CreateLavaDrownFx +CreateLavaDrownFx: @ 0x080043AC movs r1, #0xc // FX_LAVA_SPLASH b create_fx - thumb_func_start CreateSwampDrownFX -CreateSwampDrownFX: @ 0x080043AC + thumb_func_start CreateSwampDrownFx +CreateSwampDrownFx: @ 0x080043AC movs r1, #0x52 // FX_GREEN_SPLASH b create_fx - thumb_func_start CreatePitFallFX -CreatePitFallFX: @ 0x080043B4 + thumb_func_start CreatePitFallFx +CreatePitFallFx: @ 0x080043B4 movs r1, #0 // FX_FALL_DOWN create_fx: diff --git a/asm/src/code_080043E8.s b/asm/src/code_080043E8.s index 8442e031..6193ca01 100644 --- a/asm/src/code_080043E8.s +++ b/asm/src/code_080043E8.s @@ -62,10 +62,10 @@ sub_0800442E: @ 0x0800442E not_hazard: movs r0, #0 pop {r1, pc} -_0800444C: .4byte CreatePitFallFX -_08004450: .4byte CreateDrownFX -_08004454: .4byte CreateLavaDrownFX -_08004458: .4byte CreateSwampDrownFX +_0800444C: .4byte CreatePitFallFx +_08004450: .4byte CreateDrownFx +_08004454: .4byte CreateLavaDrownFx +_08004458: .4byte CreateSwampDrownFx thumb_func_start sub_0800445C sub_0800445C: @ 0x0800445C diff --git a/asm/src/enemy.s b/asm/src/enemy.s index d2dcd5ff..d8149fdf 100644 --- a/asm/src/enemy.s +++ b/asm/src/enemy.s @@ -71,7 +71,7 @@ _08001230: ldr r3, _0800135C @ =UpdateAnimationVariableFrames bx r3 _0800123E: - ldr r3, _08001360 @ =CreatePitFallFX + ldr r3, _08001360 @ =CreatePitFallFx bx r3 non_word_aligned_thumb_func_start GenericConfused @@ -155,9 +155,9 @@ _080012BA: gUnk_080012C8:: .4byte 0x00000000 _080012CC: .4byte sub_08001214 -_080012D0: .4byte CreateDrownFX -_080012D4: .4byte CreateLavaDrownFX -_080012D8: .4byte CreateSwampDrownFX +_080012D0: .4byte CreateDrownFx +_080012D4: .4byte CreateLavaDrownFx +_080012D8: .4byte CreateSwampDrownFx thumb_func_start sub_080012DC sub_080012DC: @ 0x080012DC @@ -241,7 +241,7 @@ _08001352: .align 2, 0 _08001358: .4byte gEnemyFunctions _0800135C: .4byte UpdateAnimationVariableFrames -_08001360: .4byte CreatePitFallFX +_08001360: .4byte CreatePitFallFx _08001364: .4byte 0x00001800 _08001368: .4byte gUnk_080012C8 _0800136C: .4byte gUnk_080012C8 diff --git a/data/scripts/CreateDustFromScript.inc b/data/scripts/CreateDustFromScript.inc index 859b127f..c4804328 100644 --- a/data/scripts/CreateDustFromScript.inc +++ b/data/scripts/CreateDustFromScript.inc @@ -1,5 +1,5 @@ thumb_func_start CreateDustFromScript CreateDustFromScript: push {lr} - bl CreateDust + bl CreateDeathFx pop {pc} diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok1.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok1.inc index bd05025c..d3c6348e 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok1.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok1.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectOctorok1 SetAnimation 0x0001 EndBlock WaitForSyncFlagAndClear 0x00000001 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok2.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok2.inc index 895d4380..769c3789 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok2.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok2.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectOctorok2 SetAnimation 0x0002 EndBlock WaitForSyncFlagAndClear 0x00000002 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok3.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok3.inc index a82a9f9a..55a985c4 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok3.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok3.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectOctorok3 SetAnimation 0x0000 EndBlock WaitForSyncFlagAndClear 0x00000004 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok4.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok4.inc index 6c524c65..7f233dbb 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok4.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectOctorok4.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectOctorok4 SetAnimation 0x0003 EndBlock WaitForSyncFlagAndClear 0x00000008 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite1.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite1.inc index b555f6a6..03dd568f 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite1.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite1.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectTektite1 SetAnimation 0x0000 EndBlock WaitForSyncFlagAndClear 0x00000001 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite2.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite2.inc index 0b83e353..fdfef66c 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite2.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite2.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectTektite2 SetAnimation 0x0000 EndBlock WaitForSyncFlagAndClear 0x00000002 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite3.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite3.inc index bc2a4e2f..dc4e6b22 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite3.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite3.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectTektite3 SetAnimation 0x0000 EndBlock WaitForSyncFlagAndClear 0x00000004 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite4.inc b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite4.inc index 517fb04b..8e8cd0ce 100644 --- a/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite4.inc +++ b/data/scripts/cutscene/outro/script_CutsceneMiscObjectTektite4.inc @@ -6,7 +6,7 @@ SCRIPT_START script_CutsceneMiscObjectTektite4 SetAnimation 0x0000 EndBlock WaitForSyncFlagAndClear 0x00000008 - Call CreateDust + Call CreateDeathFx DoPostScriptAction 0x0006 SCRIPT_END .2byte 0x0000 diff --git a/data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc b/data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc index 91afc910..1b7d5df7 100644 --- a/data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc +++ b/data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc @@ -39,7 +39,7 @@ SCRIPT_START script_MinishEzloGoodbye Wait 0x001e SetSyncFlag 0x00000020 StopBgm - Call CreateDust + Call CreateDeathFx Call sub_0806305C Call sub_080630A4 _0807EF3C 0x0000, 0x0020 diff --git a/include/affine.h b/include/affine.h new file mode 100644 index 00000000..1ea56c66 --- /dev/null +++ b/include/affine.h @@ -0,0 +1,21 @@ +#ifndef AFFINE_H +#define AFFINE_H + +#include "gba/types.h" + +typedef struct { + s16 x; + s16 y; + u16 _4; + u16 _6; + u16 _8; +} OAMCommand; +extern OAMCommand gOamCmd; + +extern void FlushSprites(void); +extern void CopyOAM(void); +extern void DrawEntities(void); +extern void sub_080ADA04(OAMCommand*, void*); +extern void DrawDirect(u32 spriteIndex, u32 frameIndex); + +#endif //AFFINE_H diff --git a/include/asm.h b/include/asm.h index b5c12e26..22c507c7 100644 --- a/include/asm.h +++ b/include/asm.h @@ -106,4 +106,18 @@ typedef struct { */ extern u32 FindValueForKey(u32 key, const KeyValuePair* keyValuePairList); +extern u32 GetTileIndex(u32 tilePos, u32 layer); +extern void LinearMoveDirectionOLD(struct Entity_*, u32, u32); +extern u16* DoTileInteraction(struct Entity_*, u32, u32, u32); +extern void UpdateCollisionLayer(struct Entity_*); +extern void sub_080028E0(struct Entity_*); +extern void SnapToTile(struct Entity_*); +extern u32 sub_0800419C(struct Entity_*, struct Entity_*, u32, u32); +extern u32 sub_080041DC(struct Entity_*, u32, u32); +extern void sub_080042BA(struct Entity_*, u32); +extern void sub_080042D0(struct Entity_*, u32, u16); +extern void sub_080044AE(struct Entity_*, u32, u32); +extern void sub_0800451C(struct Entity_*); +extern void sub_08004542(struct Entity_*); + #endif // ASM_H diff --git a/include/backgroundAnimations.h b/include/backgroundAnimations.h index 4c3ad5c8..180105f0 100644 --- a/include/backgroundAnimations.h +++ b/include/backgroundAnimations.h @@ -32,4 +32,7 @@ extern BgAnimation gBgAnimations[MAX_BG_ANIMATIONS]; extern const u16* const gUnk_080B755C[]; extern const u16 gUnk_080B77C0[]; +extern void LoadBgAnimations(u16*); +extern void ClearBgAnimations(void); + #endif // BACKGROUNDANIMATIONS_H diff --git a/include/beanstalkSubtask.h b/include/beanstalkSubtask.h index f7bebbaf..e89df836 100644 --- a/include/beanstalkSubtask.h +++ b/include/beanstalkSubtask.h @@ -28,4 +28,21 @@ void LoadMapData(MapDataDefinition* dataDefinition); */ void RenderMapLayerToSubTileMap(u16* tileMap, MapLayer* mapLayer); +extern void sub_0801AFE4(void); +extern void SetBGDefaults(void); + +typedef struct { + s16 tileIndex; + s16 tilePosOffset; +} TileData; + +/** + * @brief Sets multiple tiles at once + * + * @param tileData [u16 tileIndex, s16 positionOffset], ends with 0xffff + * @param basePosition the position the offsets in tileData are based on + * @param layer the tile layer + */ +extern void SetMultipleTiles(const TileData* tileData, u32 basePosition, u32 layer); + #endif // BEANSTALKSUBTASK_H diff --git a/include/collision.h b/include/collision.h index f2d50367..068c3ecd 100644 --- a/include/collision.h +++ b/include/collision.h @@ -67,4 +67,6 @@ u32 sub_080176E4(Entity*); extern const u8 gMapTileTypeToActTile[]; // actTile for tileType? +extern u32 sub_0801766C(Entity*); + #endif // COLLISION_H diff --git a/include/common.h b/include/common.h index 5f620c23..f9182284 100644 --- a/include/common.h +++ b/include/common.h @@ -143,4 +143,6 @@ typedef struct { u32 mapDataOffset; } DungeonLayout; +extern void sub_0801E104(void); + #endif // COMMON_H diff --git a/include/effects.h b/include/effects.h index 88f04fa4..99998c97 100644 --- a/include/effects.h +++ b/include/effects.h @@ -115,4 +115,23 @@ typedef enum { FX_6C } Effect; +Entity* CreateFx(Entity* parent, Effect type, u32 type2); +void CreateDeathFx(Entity* parent); +void CreateDeathFxAt(s32 xOff, s32 yOff, u32 layer); +void CreateDashFx(Entity* parent); +void CreateExplosionBrokenFx(Entity* parent); +void CreateWaterSplashFx(Entity* parent); +Entity* CreateRippleFx(Entity* parent); +void CreateRippleFxRandom(Entity* parent, s32 range); +Entity* CreateLargeRippleFx(Entity* parent); +void CreateLargeRippleFxRandom(Entity* parent, s32 minDistance, s32 maxDistance); +void CreateSparkleFx(Entity* parent); + +extern void CreateDrownFx(Entity*); +extern void CreateLavaDrownFx(Entity* parent); +extern void CreateSwampDrownFx(Entity* parent); +extern void CreatePitFallFx(Entity* parent); + +void CreateMagicSparklesFxAt(u32 baseX, u32 baseY, u32 layer); + #endif // EFFECTS_H diff --git a/include/enemy.h b/include/enemy.h index c799f058..08d51179 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -77,6 +77,11 @@ bool32 PlayerInRange(Entity*, u32, s32); void EnemyCopyParams(Entity*, Entity*); void GenericKnockback2(Entity*); +extern void sub_08001318(Entity*); + +extern void StealRupees(Entity*); +extern void EnemyDisableRespawn(Enemy*); + enum { /*0x00*/ OCTOROK, /*0x01*/ CHUCHU, diff --git a/include/enemy/armos.h b/include/enemy/armos.h new file mode 100644 index 00000000..03f5cceb --- /dev/null +++ b/include/enemy/armos.h @@ -0,0 +1,8 @@ +#ifndef ARMOS_H +#define ARMOS_H + +#include "gba/types.h" + +void Armos_SetFlagFromTransition(u32 armosId); + +#endif //ARMOS_H diff --git a/include/entity.h b/include/entity.h index ffde0674..de76f3b7 100644 --- a/include/entity.h +++ b/include/entity.h @@ -325,10 +325,7 @@ bool32 ProcessMovement0(Entity*); Entity* GetEmptyEntity(void); Entity* CreateEnemy(u32 id, u32 type); Entity* CreateNPC(u32 id, u32 type, u32 type2); -Entity* CreateObject(u32 id, u32 type, u32 type2); -Entity* CreateObjectWithParent(Entity* parent, u32 id, u32 type, u32 type2); Entity* CreateAuxPlayerEntity(void); -Entity* CreateFx(Entity* parent, u32 type, u32 type2); /// @} /** diff --git a/include/fileselect.h b/include/fileselect.h index 704fb1b1..5544c60d 100644 --- a/include/fileselect.h +++ b/include/fileselect.h @@ -1,9 +1,9 @@ #ifndef FILESELECT_H #define FILESELECT_H -#include "sound.h" #include "global.h" #include "save.h" +#include "message.h" typedef struct { /*0x00*/ u8 unk_0x0; @@ -23,19 +23,6 @@ static_assert(sizeof(ChooseFileState) == 0x30); // TODO: This occupies the same memory region as gMenu extern ChooseFileState gChooseFileState; -// typedef struct { -// u8 unk00 : 4; -// u8 unk04 : 4; -// u8 unk1; -// u8 charColor; -// u8 bgColor; -// u16 unk4; -// u16 unk6; -// u8* unk8; -// } struct_02036540; - -extern struct_020227E8 gUnk_020227E8[]; - typedef struct { /*0x00*/ u8 isTransitioning; /*0x01*/ u8 unk1; @@ -51,13 +38,9 @@ typedef struct { extern struct_02019EE0 gMapDataBottomSpecial; // TODO size: 0x8000 from ClearTileMaps? -extern void sub_08056FEC(u32, struct_020227E8*); extern u32 ShowTextBox(u32 textIndexOrPtr, const Font* font); extern void ClearTileMaps(void); extern void ResetSaveFile(u32); -extern WStruct* sub_0805F2C8(void); -extern u32 sub_0805F7DC(u32, WStruct*); -extern void sub_0805F300(WStruct*); extern void sub_08050A64(u32); extern void sub_08050AFC(u32); extern void sub_08050384(); diff --git a/include/functions.h b/include/functions.h index 5f16e8d5..e5b9e565 100644 --- a/include/functions.h +++ b/include/functions.h @@ -2,104 +2,8 @@ #define FUNCTIONS_H #include "global.h" -#include "entity.h" -#include "manager.h" -#include "physics.h" -#include "player.h" -#include "room.h" -#include "structures.h" -#include "script.h" -#include "map.h" -// Identified - to be sorted into header files -extern u32 CheckRegionOnScreen(u32, u32, u32, u32); -extern void CopyOAM(void); -extern void CreateLavaDrownFX(Entity*); -extern Entity* CreateGroundItem(Entity*, u32, u32); -extern Entity* CreateGroundItemWithFlags(Entity*, u32, u32, u32); -extern void CreatePitFallFX(Entity*); -extern void CreateMagicSparkles(u32, u32, u32); -extern void CreateMinishEntrance(u32 tile); -extern u32 CreateRandomItemDrop(Entity*, u32); -extern void DrawDirect(u32 spriteIndex, u32 frameIndex); -extern void DrawEntities(void); -extern void FlushSprites(void); -extern u32 GetTileIndex(u32 tilePos, u32 layer); -extern u32 GiveItem(u32, u32); -extern bool32 LoadFixedGFX(Entity*, u32); -extern void LoadResources(void); -extern bool32 LoadSwapGFX(Entity*, u16, u32); -extern void MenuFadeIn(u32, u32); -extern void SetDirtTile(u32); -/** - * @brief Sets multiple tiles at once - * - * @param tileData [u16 tileIndex, s16 positionOffset], ends with 0xffff - * @param basePosition the position the offsets in tileData are based on - * @param layer the tile layer - */ -extern void SetMultipleTiles(const TileData* tileData, u32 basePosition, u32 layer); -extern void TryLoadPrologueHyruleTown(void); -extern void UnloadGFXSlots(Entity*); -extern void UnloadOBJPalette(Entity*); -extern void UpdateDisplayControls(void); -extern void ClearBgAnimations(void); -extern void SetBGDefaults(void); - -// Unidentified -extern s32 sub_080012DC(Entity*); -extern void sub_08001318(Entity*); -extern void LinearMoveDirectionOLD(Entity*, u32, u32); -extern void sub_080028E0(Entity*); -extern u32 sub_080040A2(Entity*); -extern u32 sub_080040D8(Entity*, u8*, s32, s32); -extern void SnapToTile(Entity*); -extern u32 sub_0800419C(Entity*, Entity*, u32, u32); -extern u32 sub_080041DC(Entity*, u32, u32); -extern void sub_080042BA(Entity*, u32); -extern void sub_080042D0(Entity*, u32, u16); -extern void CreateDrownFX(Entity*); -extern u32 sub_0800445C(Entity*); -extern void sub_080044AE(Entity*, u32, u32); -extern u32 BounceUpdate(Entity*, u32); -extern void sub_0800451C(Entity*); -extern void sub_08004542(Entity*); -extern void sub_080085B0(Entity*); -extern u16* DoTileInteraction(Entity*, u32, u32, u32); -extern void UpdateCollisionLayer(Entity*); -extern u32 sub_0801766C(Entity*); -extern void sub_0801AFE4(void); -extern void UpdateUIElements(void); -extern void sub_0801E104(void); -extern void sub_08030118(u32); -extern void sub_0803C0AC(Entity*); -extern void EnemyDisableRespawn(Entity*); -extern u32 sub_0804A024(Entity*, u32, u32); -extern u32 IsMinishItem(u32); -extern void DisableRandomDrops(); -extern void EnableRandomDrops(void); -extern s32 sub_08056338(void); -extern void sub_080575C8(u32); -extern void sub_08057688(void); -extern void sub_080580B0(u32); -extern void sub_08058324(u32); -extern void sub_08059278(void); -extern void LoadStaticBackground(u32); -extern void sub_0805EC60(Entity*); -extern void InitPlayerMacro(PlayerMacroEntry*); -extern u32* sub_0805F25C(u32); -extern void sub_0805F8E4(u32 r0, WStruct* r1); -extern void sub_0806D0B0(Entity*); -extern bool32 DoApplicableTransition(u32, u32, u32, u32); -extern void DoExitTransitionWithType(const Transition* screenTransition, u32 transitionType); -extern void sub_080809D4(void); -extern void sub_08080CB4(Entity*); -extern u32 sub_0808288C(Entity*, u32, u32, u32); -extern bool32 sub_08083734(Entity*, u32); -extern void sub_08095C48(Entity*); -extern void sub_080A57F4(void); -extern void sub_080A71C4(u32, u32, u32, u32); -extern void sub_080ADD70(void); -extern void sub_080AF284(void); +extern u32 sub_0804A024(struct Entity_*, u32, u32); +extern void sub_0805EC60(struct Entity_*); #endif // FUNCTIONS_H diff --git a/include/game.h b/include/game.h index 3480b46b..20d8088c 100644 --- a/include/game.h +++ b/include/game.h @@ -3,7 +3,7 @@ #include "global.h" #include "area.h" -#include "structures.h" +#include "message.h" /** * Change the light level of the room. diff --git a/include/item.h b/include/item.h index ec20160d..5aa1913c 100644 --- a/include/item.h +++ b/include/item.h @@ -5,6 +5,12 @@ #include "entity.h" #include "player.h" +extern u32 GiveItem(u32, u32); +extern u32 CreateRandomItemDrop(Entity*, u32); +extern void DisableRandomDrops(); +extern void EnableRandomDrops(void); +extern u32 IsMinishItem(u32); + void CreateItemEntity(u32, u32, u32); extern void ExecuteItemFunction(ItemBehavior* this, u32 index); @@ -153,7 +159,11 @@ typedef enum { } Item; /** Slot that the item is equipped in. */ -typedef enum { EQUIP_SLOT_A, EQUIP_SLOT_B, EQUIP_SLOT_NONE } EquipSlot; +typedef enum { + EQUIP_SLOT_A, + EQUIP_SLOT_B, + EQUIP_SLOT_NONE, +} EquipSlot; /** Function used to create the item. */ typedef enum { diff --git a/include/kinstone.h b/include/kinstone.h index c50ba857..0c994b24 100644 --- a/include/kinstone.h +++ b/include/kinstone.h @@ -4,6 +4,7 @@ #include "global.h" #include "entity.h" +extern void CreateMinishEntrance(u32 tile); extern void sub_08018C58(u32); typedef enum { diff --git a/include/main.h b/include/main.h index f2a229ea..859f90ce 100644 --- a/include/main.h +++ b/include/main.h @@ -2,10 +2,10 @@ #define MAIN_H #include "global.h" -#include "structures.h" #include "room.h" #include "script.h" #include "screen.h" +#include "vram.h" /** File signature */ #define SIGNATURE 'MCZ3' @@ -158,6 +158,7 @@ extern void DemoTask(void); extern u8 gUnk_03003DE4[0xC]; extern u16 gPaletteBuffer[]; +extern u32 CheckRegionOnScreen(u32, u32, u32, u32); extern u32 CheckRegionsOnScreen(const u16* arr); #endif // MAIN_H diff --git a/include/manager/horizontalMinishPathBackgroundManager.h b/include/manager/horizontalMinishPathBackgroundManager.h index f67d4841..3835f6c2 100644 --- a/include/manager/horizontalMinishPathBackgroundManager.h +++ b/include/manager/horizontalMinishPathBackgroundManager.h @@ -11,4 +11,6 @@ typedef struct { u32 unk_3c; } HorizontalMinishPathBackgroundManager; +extern void sub_080580B0(u32); + #endif // HORIZONTALMINISHPATHBACKGROUNDMANAGER_H diff --git a/include/manager/hyruleTownTileSetManager.h b/include/manager/hyruleTownTileSetManager.h index 34a0e809..7e43bb2c 100644 --- a/include/manager/hyruleTownTileSetManager.h +++ b/include/manager/hyruleTownTileSetManager.h @@ -10,4 +10,6 @@ typedef struct { u8 gfxGroup2; } HyruleTownTileSetManager; +extern void TryLoadPrologueHyruleTown(void); + #endif // HYRULETOWNTILESETMANAGER_H diff --git a/include/manager/minishRaftersBackgroundManager.h b/include/manager/minishRaftersBackgroundManager.h index 1c746870..4c034ab1 100644 --- a/include/manager/minishRaftersBackgroundManager.h +++ b/include/manager/minishRaftersBackgroundManager.h @@ -9,4 +9,6 @@ typedef struct { u32 unk_3c; } MinishRaftersBackgroundManager; +extern void sub_08058324(u32); + #endif // MINISHRAFTERSBACKGROUNDMANAGER_H diff --git a/include/manager/miscManager.h b/include/manager/miscManager.h index a126937f..592f1878 100644 --- a/include/manager/miscManager.h +++ b/include/manager/miscManager.h @@ -12,4 +12,7 @@ typedef struct { u16 flag2; } MiscManager; +extern void sub_08059278(void); +extern void SetDirtTile(u32); + #endif // MISCMANAGER_H diff --git a/include/manager/staticBackgroundManager.h b/include/manager/staticBackgroundManager.h index f2cab28a..46e8ca0f 100644 --- a/include/manager/staticBackgroundManager.h +++ b/include/manager/staticBackgroundManager.h @@ -8,4 +8,6 @@ typedef struct { u32 field_0x20; } StaticBackgroundManager; +extern void LoadStaticBackground(u32); + #endif // STATICBACKGROUNDMANAGER_H diff --git a/include/manager/verticalMinishPathBackgroundManager.h b/include/manager/verticalMinishPathBackgroundManager.h index 34a80080..42e51b30 100644 --- a/include/manager/verticalMinishPathBackgroundManager.h +++ b/include/manager/verticalMinishPathBackgroundManager.h @@ -10,4 +10,7 @@ typedef struct { void* field_0x3c; } VerticalMinishPathBackgroundManager; +extern void sub_080575C8(u32); +extern void sub_08057688(void); + #endif // VERTICALMINISHPATHBACKGROUNDMANAGER_H diff --git a/include/message.h b/include/message.h index b25e9df5..ddbc473e 100644 --- a/include/message.h +++ b/include/message.h @@ -3,10 +3,54 @@ #include "global.h" #include "entity.h" -#include "structures.h" #define MESSAGE_ACTIVE 0x7f +typedef struct { + u8 unk00 : 1; + u8 unk01 : 3; + u8 unk04 : 4; + u8 unk1; + u8 charColor; + u8 bgColor; + u16 unk4; + u16 unk6; + void* unk8; +} WStruct; + +static_assert(sizeof(WStruct) == 12); + +typedef union { + char s[8]; + u32 w[2]; +} String8; + +extern String8 gUnk_020227E8[]; +extern u32 NumberToAscii(u32, String8*); +extern WStruct* sub_0805F2C8(void); +extern u32 sub_0805F7DC(u32, WStruct*); +extern void sub_0805F300(WStruct*); +extern void sub_0805F8E4(u32 r0, WStruct* r1); +extern s32 sub_08056338(void); + +typedef struct { + u16* dest; + void* gfx_dest; + void* buffer_loc; + u32 _c; + u16 gfx_src; + u8 width; + u8 right_align : 1; + u8 sm_border : 1; + u8 unused : 1; + u8 draw_border : 1; + u8 border_type : 4; + u8 fill_type; + u8 charColor; + u8 _16; + u8 stylized; +} Font; + typedef struct { u8 state; u8 unk; @@ -45,9 +89,11 @@ typedef struct { Token curToken; WStruct _50; char player_name[10]; - u8 _66[0x10]; - u8 _76; - u8 _77[0x11]; + u8 _66[2]; + String8 _68; + String8 _70; + String8 _78; + String8 _80; u8 msgStatus; u8 renderStatus; u8 newlineDelay; @@ -138,7 +184,7 @@ void MessageClose(void); void DispMessageFrame(u16*, s32, s32, u32); -void sub_08057044(u32, struct_020227E8*, u32); +void NumberToAsciiPad3Digits(u32, String8*, u32); typedef enum { TEXT_SAVE, diff --git a/include/npc.h b/include/npc.h index 525cc5d1..b3adc9f8 100644 --- a/include/npc.h +++ b/include/npc.h @@ -2,22 +2,7 @@ #define NPC_H #include "global.h" -#include "asm.h" -#include "common.h" - -#include "sound.h" -#include "effects.h" -#include "room.h" -#include "flags.h" -#include "physics.h" -#include "message.h" -#include "script.h" -#include "save.h" - #include "entity.h" -#include "player.h" - -#include "structures.h" typedef enum { DIALOG_ROOM_FLAG, diff --git a/include/npc/bigGoron.h b/include/npc/bigGoron.h new file mode 100644 index 00000000..b7279733 --- /dev/null +++ b/include/npc/bigGoron.h @@ -0,0 +1,8 @@ +#ifndef BIGGORON_H +#define BIGGORON_H + +#include "global.h" + +extern void sub_0806D0B0(struct Entity_*); + +#endif //BIGGORON_H diff --git a/include/object.h b/include/object.h index 67c000cf..e2f5855d 100644 --- a/include/object.h +++ b/include/object.h @@ -2,36 +2,8 @@ #define OBJECT_H #include "global.h" -#include "asm.h" -#include "common.h" - -#include "sound.h" -#include "flags.h" -#include "effects.h" -#include "room.h" -#include "physics.h" - +#include "definitions.h" #include "entity.h" -#include "player.h" - -void AddInteractablePedestal(Entity*); -void AddInteractableCheckableObject(Entity*); -void sub_0808C650(Entity*, u32); -u32 sub_0808C67C(void); -void sub_0808C688(void); -void SyncPlayerToPlatform(Entity*, bool32); -void UpdateRailMovement(Entity*, u16**, u16*); -void sub_080A2AF4(Entity*, s32, s32); -Entity* CreateLargeWaterTrace(Entity*); -void CreateSparkle(Entity*); - -void CreateDust(Entity* parent); -void CreateDustAt(s32, s32, u32); -void CreateDustSmall(Entity* parent); -Entity* CreateWaterTrace(Entity*); -Entity* CreateSpeechBubbleQuestionMark(Entity*, s32, s32); -Entity* CreateSpeechBubbleExclamationMark(Entity*, s32, s32); -Entity* CreateSpeechBubbleSleep(Entity*, s32, s32); typedef enum { GROUND_ITEM, @@ -230,6 +202,27 @@ typedef enum { LINK_ANIMATION, } Object; + +Entity* CreateLinkAnimation(Entity* parent, u32 type, u32 type2); +void ObjectInit(Entity* this); +u32 LoadObjectSprite(Entity* this, s32 type, const ObjectDefinition* definition); +Entity* CreateObject(Object id, u32 type, u32 type2); +Entity* CreateObjectWithParent(Entity* parent, Object id, u32 type, u32 type2); +extern Entity* CreateGroundItem(Entity*, u32 item, u32 subvalue); +extern Entity* CreateGroundItemWithFlags(Entity*, u32 item, u32 subvalue, u32 flags); +void SyncPlayerToPlatform(Entity* this, bool32 param_2); +void UpdateRailMovement(Entity* this, u16** param_2, u16* param_3); +Entity* CreateSpeechBubbleExclamationMark(Entity* parent, s32 offsetX, s32 offsetY); +Entity* CreateSpeechBubbleQuestionMark(Entity* parent, s32 offsetX, s32 offsetY); +Entity* CreateSpeechBubbleSleep(Entity* parent, s32 offsetX, s32 offsetY); + +void AddInteractablePedestal(Entity*); +void AddInteractableCheckableObject(Entity*); +void sub_0808C650(Entity*, u32); +u32 sub_0808C67C(void); +void sub_0808C688(void); + + void ItemOnGround(); void DeathFx(); void ItemForSale(); diff --git a/include/object/cutsceneMiscObject.h b/include/object/cutsceneMiscObject.h new file mode 100644 index 00000000..da8ee3e1 --- /dev/null +++ b/include/object/cutsceneMiscObject.h @@ -0,0 +1,8 @@ +#ifndef CUTSCENEMISCOBJECT_H +#define CUTSCENEMISCOBJECT_H + +#include "global.h" + +extern void sub_08095C48(struct Entity_*); + +#endif //CUTSCENEMISCOBJECT_H diff --git a/include/object/lockedDoor.h b/include/object/lockedDoor.h new file mode 100644 index 00000000..90a6c7cb --- /dev/null +++ b/include/object/lockedDoor.h @@ -0,0 +1,8 @@ +#ifndef LOCKEDDOOR_H +#define LOCKEDDOOR_H + +#include "global.h" + +extern bool32 sub_08083734(struct Entity_*, u32); + +#endif //LOCKEDDOOR_H diff --git a/include/object/pot.h b/include/object/pot.h new file mode 100644 index 00000000..4867586a --- /dev/null +++ b/include/object/pot.h @@ -0,0 +1,8 @@ +#ifndef POT_H +#define POT_H + +#include "global.h" + +extern u32 sub_0808288C(struct Entity_*, u32, u32, u32); + +#endif //POT_H diff --git a/include/physics.h b/include/physics.h index dc6460cc..9c1a8206 100644 --- a/include/physics.h +++ b/include/physics.h @@ -55,8 +55,11 @@ extern bool32 ProcessMovement4(Entity*); extern bool32 ProcessMovement5(Entity*); extern bool32 ProcessMovement6(Entity*); extern bool32 ProcessMovementInternal(Entity*, s32, s32, u32); +extern void sub_080AF284(void); extern const s16 gSineTable[64]; extern const s16 gCosineTable[256]; +extern u32 BounceUpdate(Entity*, u32); + #endif // PHYSICS_H diff --git a/include/player.h b/include/player.h index 05f550d3..956c98f7 100644 --- a/include/player.h +++ b/include/player.h @@ -609,6 +609,17 @@ typedef struct { /*0x18*/ Entity* field_0x18; } ItemBehavior; +typedef enum { ACTIVE_ITEM_0, ACTIVE_ITEM_1, ACTIVE_ITEM_2, ACTIVE_ITEM_LANTERN, MAX_ACTIVE_ITEMS } ActiveItemIndex; +/** + * Currently active items. + * 0: Active items? + * 1: Boots, Cape + * 2: would be used by CreateItem1 if gActiveItems[1] was already filled + * 3: Lamp + */ +extern ItemBehavior gActiveItems[MAX_ACTIVE_ITEMS]; +static_assert(sizeof(gActiveItems) == 0x70); + extern void (*const gPlayerItemFunctions[])(Entity*); typedef struct { @@ -778,6 +789,8 @@ bool32 HasSwordEquipped(); u32 GetPlayerPalette(bool32 use); void PlayerShrinkByRay(void); +extern void InitPlayerMacro(PlayerMacroEntry*); + // player.s extern u32 PlayerCheckNEastTile(); extern u32* DoTileInteractionHere(Entity*, u32); @@ -786,6 +799,7 @@ extern void sub_08008AC6(Entity*); extern void sub_08008926(Entity*); extern void sub_08008AC6(Entity*); extern void sub_08008AA0(Entity*); +extern void sub_080085B0(Entity*); // zelda.c void SetZeldaFollowTarget(Entity* target); diff --git a/include/playeritem.h b/include/playeritem.h index 3736cb31..40695872 100644 --- a/include/playeritem.h +++ b/include/playeritem.h @@ -1,6 +1,8 @@ #ifndef PLAYERITEM_H #define PLAYERITEM_H +#include "global.h" + typedef enum { PLAYER_ITEM_NONE, PLAYER_ITEM_SWORD, @@ -29,4 +31,6 @@ typedef enum { PLAYER_ITEM_CELL_OVERWRITE_SET2, } PlayerItem; +extern u32 sub_080040D8(struct Entity_*, u8*, s32, s32); + #endif // PLAYERITEM_H diff --git a/include/room.h b/include/room.h index c05a7b82..5abafd06 100644 --- a/include/room.h +++ b/include/room.h @@ -233,8 +233,6 @@ Entity* LoadRoomEntity(const EntityData*); void LoadRoomEntityList(const EntityData* listPtr); void* GetRoomProperty(u32 area, u32 room, u32 property); -bool32 LoadFixedGFX(Entity*, u32); -void UnloadGFXSlots(Entity*); void LoadSmallChestTile2(TileEntity*); void sub_0804B0B0(u32 arg0, u32 arg1); diff --git a/include/save.h b/include/save.h index bc966efc..6269380a 100644 --- a/include/save.h +++ b/include/save.h @@ -3,11 +3,22 @@ #include "global.h" #include "player.h" -#include "structures.h" #include "room.h" #define FILENAME_LENGTH 6 +typedef struct { + int signature; + u8 saveFileId; + u8 msg_speed; + u8 brightness; + u8 language; + u8 name[6]; + u8 invalid; + u8 initialized; +} SaveHeader; +#define gSaveHeader ((SaveHeader*)(0x2000000)) + typedef enum { SAVE_BUSY = 0, SAVE_OK = 1, diff --git a/include/screen.h b/include/screen.h index a1391401..5a69f44c 100644 --- a/include/screen.h +++ b/include/screen.h @@ -76,17 +76,6 @@ typedef struct { // /*0x78*/ u32 _78; } Screen; -typedef struct { - s16 x; - s16 y; - u16 _4; - u16 _6; - u16 _8; -} OAMCommand; - extern Screen gScreen; -extern OAMCommand gOamCmd; - -extern void sub_080ADA04(OAMCommand*, void*); #endif // SCREEN_H diff --git a/include/scroll.h b/include/scroll.h index 3f6d47b4..a100093c 100644 --- a/include/scroll.h +++ b/include/scroll.h @@ -2,8 +2,15 @@ #define SCROLL_H #include "global.h" +#include "transitions.h" + +extern bool32 DoApplicableTransition(u32, u32, u32, u32); +extern void DoExitTransitionWithType(const Transition* screenTransition, u32 transitionType); void UpdateIsDiggingCave(void); void sub_08080930(u32); +extern void sub_080809D4(void); +extern void sub_08080CB4(struct Entity_*); + #endif // SCROLL_H diff --git a/include/structures.h b/include/structures.h index 97233eea..68dd1f10 100644 --- a/include/structures.h +++ b/include/structures.h @@ -3,19 +3,6 @@ #include "global.h" #include "entity.h" -#include "player.h" - -typedef struct { - int signature; - u8 saveFileId; - u8 msg_speed; - u8 brightness; - u8 language; - u8 name[6]; - u8 invalid; - u8 initialized; -} SaveHeader; -#define gSaveHeader ((SaveHeader*)(0x2000000)) typedef struct { u8 unk_00; @@ -141,47 +128,6 @@ typedef struct { } HUD; extern HUD gHUD; -#define MAX_GFX_SLOTS 44 - -typedef enum { - GFX_SLOT_FREE, - GFX_SLOT_UNLOADED, // some sort of free? no longer in use? - GFX_SLOT_STATUS2, // some sort of free? - GFX_SLOT_FOLLOWER, // Set by SetGFXSlotStatus for the following slots - GFX_SLOT_RESERVED, // maybe ready to be loaded? - GFX_SLOT_GFX, - GFX_SLOT_PALETTE -} GfxSlotStatus; - -typedef enum { - GFX_VRAM_0, - GFX_VRAM_1, // uploaded to vram? - GFX_VRAM_2, - GFX_VRAM_3, // not yet uploaded to vram? -} GfxSlotVramStatus; - -typedef struct { - /*0x00*/ u8 status : 4; - /*0x00*/ u8 vramStatus : 4; // Whether the gfx was uploaded to the vram? - /*0x01*/ u8 slotCount; - /*0x02*/ u8 referenceCount; /**< How many entities use this gfx slot */ - /*0x03*/ u8 unk_3; - /*0x04*/ u16 gfxIndex; - /*0x06*/ u16 paletteIndex; - /*0x08*/ const void* palettePointer; -} GfxSlot; - -typedef struct { - /*0x00*/ u8 unk0; - /*0x01*/ u8 unk_1; - /*0x02*/ u8 unk_2; - /*0x03*/ u8 unk_3; - /*0x04*/ GfxSlot slots[MAX_GFX_SLOTS]; -} GfxSlotList; -extern GfxSlotList gGFXSlots; - -static_assert(sizeof(GfxSlotList) == 0x214); - typedef struct { u16 unk_00; u8 unk_02[0xE]; @@ -193,16 +139,6 @@ extern u16 gBG1Buffer[0x400]; extern u16 gBG2Buffer[0x400]; extern u16 gBG3Buffer[0x800]; -typedef enum { ACTIVE_ITEM_0, ACTIVE_ITEM_1, ACTIVE_ITEM_2, ACTIVE_ITEM_LANTERN, MAX_ACTIVE_ITEMS } ActiveItemIndex; -/** - * Currently active items. - * 0: Active items? - * 1: Boots, Cape - * 2: would be used by CreateItem1 if gActiveItems[1] was already filled - * 3: Lamp - */ -extern ItemBehavior gActiveItems[MAX_ACTIVE_ITEMS]; -static_assert(sizeof(gActiveItems) == 0x70); typedef struct { u8 event_priority; // system requested priority @@ -230,20 +166,6 @@ typedef struct { extern PauseMenuOptions gPauseMenuOptions; static_assert(sizeof(PauseMenuOptions) == 0x18); -typedef struct { - u8 unk00 : 1; - u8 unk01 : 3; - u8 unk04 : 4; - u8 unk1; - u8 charColor; - u8 bgColor; - u16 unk4; - u16 unk6; - void* unk8; -} WStruct; - -static_assert(sizeof(WStruct) == 12); - typedef struct { u8 unk0; u8 unk1; @@ -267,11 +189,6 @@ typedef struct { } OAMControls; extern OAMControls gOAMControls; -typedef struct { - union SplitWord _0; - union SplitWord _4; -} struct_020227E8; - typedef struct { s8 x; s8 y; @@ -318,24 +235,6 @@ typedef struct { extern SpritePtr gSpritePtrs[]; -typedef struct { - u16* dest; - void* gfx_dest; - void* buffer_loc; - u32 _c; - u16 gfx_src; - u8 width; - u8 right_align : 1; - u8 sm_border : 1; - u8 unused : 1; - u8 draw_border : 1; - u8 border_type : 4; - u8 fill_type; - u8 charColor; - u8 _16; - u8 stylized; -} Font; - typedef struct { u8 unk_0; u8 unk_1; @@ -351,11 +250,6 @@ typedef struct { extern struct_02018EB0 gUnk_02018EB0; -typedef struct { - s16 tileIndex; - s16 tilePosOffset; -} TileData; - typedef struct { /*0x00*/ bool8 isOnlyActiveFirstFrame; /**< Is the behavior for this item only created on the first frame */ /*0x01*/ u8 priority; diff --git a/include/subtask.h b/include/subtask.h index 90ba9f05..c1c4894f 100644 --- a/include/subtask.h +++ b/include/subtask.h @@ -117,4 +117,7 @@ extern const struct_gUnk_08128E94 gUnk_08128E94[]; #define DRAW_DIRECT_SPRITE_INDEX 0x1fb #endif +extern void MenuFadeIn(u32, u32); +extern void sub_080A71C4(u32, u32, u32, u32); + #endif // SUBTASK_H diff --git a/include/ui.h b/include/ui.h index 2a4994ee..669c29d1 100644 --- a/include/ui.h +++ b/include/ui.h @@ -4,6 +4,7 @@ #include "global.h" extern void DrawUIElements(void); +extern void UpdateUIElements(void); extern void CreateUIElement(u32, u32); extern void sub_0801C2F0(u32, u32); extern void sub_0801C25C(void); diff --git a/include/vram.h b/include/vram.h new file mode 100644 index 00000000..a3fde71c --- /dev/null +++ b/include/vram.h @@ -0,0 +1,53 @@ +#ifndef VRAM_H +#define VRAM_H + +#include "global.h" +#include "entity.h" + +#define MAX_GFX_SLOTS 44 + +typedef enum { + GFX_SLOT_FREE, + GFX_SLOT_UNLOADED, // some sort of free? no longer in use? + GFX_SLOT_STATUS2, // some sort of free? + GFX_SLOT_FOLLOWER, // Set by SetGFXSlotStatus for the following slots + GFX_SLOT_RESERVED, // maybe ready to be loaded? + GFX_SLOT_GFX, + GFX_SLOT_PALETTE +} GfxSlotStatus; + +typedef enum { + GFX_VRAM_0, + GFX_VRAM_1, // uploaded to vram? + GFX_VRAM_2, + GFX_VRAM_3, // not yet uploaded to vram? +} GfxSlotVramStatus; + +typedef struct { + /*0x00*/ u8 status : 4; + /*0x00*/ u8 vramStatus : 4; // Whether the gfx was uploaded to the vram? + /*0x01*/ u8 slotCount; + /*0x02*/ u8 referenceCount; /**< How many entities use this gfx slot */ + /*0x03*/ u8 unk_3; + /*0x04*/ u16 gfxIndex; + /*0x06*/ u16 paletteIndex; + /*0x08*/ const void* palettePointer; +} GfxSlot; + +typedef struct { + /*0x00*/ u8 unk0; + /*0x01*/ u8 unk_1; + /*0x02*/ u8 unk_2; + /*0x03*/ u8 unk_3; + /*0x04*/ GfxSlot slots[MAX_GFX_SLOTS]; +} GfxSlotList; +extern GfxSlotList gGFXSlots; + +static_assert(sizeof(GfxSlotList) == 0x214); + +extern bool32 LoadFixedGFX(Entity*, u32); +extern bool32 LoadSwapGFX(Entity*, u32, u32); +extern void UnloadGFXSlots(Entity*); +extern void sub_080ADD70(void); + +#endif //VRAM_H diff --git a/src/affine.c b/src/affine.c index 04c0be86..a7b71857 100644 --- a/src/affine.c +++ b/src/affine.c @@ -1,3 +1,4 @@ +#include "affine.h" #include "global.h" #include "structures.h" #include "main.h" diff --git a/src/backgroundAnimations.c b/src/backgroundAnimations.c index c944b205..827f42c3 100644 --- a/src/backgroundAnimations.c +++ b/src/backgroundAnimations.c @@ -8,7 +8,8 @@ #include "asm.h" #include "assets/gfx_offsets.h" #include "common.h" -#include "functions.h" +#include "structures.h" +#include "room.h" void LoadBgAnimationGfx(const BgAnimationGfx*); u32 GetBgAnimationTimer(const s32*); diff --git a/src/beanstalkSubtask.c b/src/beanstalkSubtask.c index 6ad7f184..0131c684 100644 --- a/src/beanstalkSubtask.c +++ b/src/beanstalkSubtask.c @@ -4,7 +4,6 @@ #include "collision.h" #include "common.h" #include "fade.h" -#include "functions.h" #include "game.h" #include "item.h" #include "main.h" @@ -12,10 +11,16 @@ #include "manager/diggingCaveEntranceManager.h" #include "menu.h" #include "object.h" +#include "asm.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "screen.h" #include "scroll.h" #include "structures.h" #include "tiles.h" +#include "affine.h" +#include "subtask.h" extern void sub_0807C898(void); extern void sub_0805BB74(s32); diff --git a/src/code_08049DF4.c b/src/code_08049DF4.c index b2004f1a..b903a5d4 100644 --- a/src/code_08049DF4.c +++ b/src/code_08049DF4.c @@ -1,7 +1,7 @@ #include "asm.h" #include "global.h" #include "entity.h" -#include "functions.h" + #include "map.h" #include "player.h" #include "room.h" diff --git a/src/collision.c b/src/collision.c index a13d28cf..7220bf5f 100644 --- a/src/collision.c +++ b/src/collision.c @@ -3,11 +3,13 @@ #include "common.h" #include "enemy.h" #include "entity.h" -#include "functions.h" -#include "game.h" +#include "structures.h" #include "global.h" #include "item.h" #include "object.h" +#include "sound.h" +#include "effects.h" +#include "physics.h" #include "player.h" #include "save.h" #include "tiles.h" diff --git a/src/color.c b/src/color.c index 26afadf3..76f4c4db 100644 --- a/src/color.c +++ b/src/color.c @@ -7,6 +7,7 @@ #include "fileselect.h" #include "main.h" #include "physics.h" +#include "structures.h" extern Palette gUnk_02001A3C; diff --git a/src/common.c b/src/common.c index 8b7f3033..69e4d3df 100644 --- a/src/common.c +++ b/src/common.c @@ -4,7 +4,7 @@ #include "area.h" #include "asm.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "game.h" #include "global.h" #include "item.h" @@ -15,6 +15,7 @@ #include "save.h" #include "screen.h" #include "sound.h" +#include "subtask.h" #include "structures.h" extern u8 gUnk_03003DE0; @@ -97,9 +98,8 @@ typedef struct { u8 y; } PACKED DungeonMapObject; -// More like PrepareTileEntitesForDungeonMap or so -u32 DecToHex(u32 value) { +u32 EncodeBCD(u32 value) { u32 result; FORCE_REGISTER(u32 r1, r1); diff --git a/src/cutscene.c b/src/cutscene.c index ef5a0ef6..241c9235 100644 --- a/src/cutscene.c +++ b/src/cutscene.c @@ -8,14 +8,22 @@ #include "enemy.h" #include "fade.h" #include "fileselect.h" -#include "functions.h" +#include "structures.h" #include "game.h" #include "main.h" #include "menu.h" #include "npc.h" #include "object.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "room.h" #include "screen.h" +#include "subtask.h" +#include "beanstalkSubtask.h" #include "tiles.h" +#include "backgroundAnimations.h" +#include "manager/staticBackgroundManager.h" void sub_08051F78(void); void sub_08051FF0(void); diff --git a/src/debug.c b/src/debug.c index 6edbf3ee..c8a92ace 100644 --- a/src/debug.c +++ b/src/debug.c @@ -6,13 +6,14 @@ */ #include "common.h" -#include "functions.h" #include "game.h" #include "main.h" #include "menu.h" #include "message.h" #include "screen.h" #include "sound.h" +#include "save.h" +#include "structures.h" void sub_0805FA04(void); void sub_0805FA98(void); diff --git a/src/demo.c b/src/demo.c index aea3f7ea..a8934300 100644 --- a/src/demo.c +++ b/src/demo.c @@ -7,7 +7,6 @@ #include "common.h" #include "fileselect.h" -#include "functions.h" #include "game.h" #include "global.h" #include "main.h" @@ -15,6 +14,9 @@ #include "message.h" #include "screen.h" #include "menu.h" +#include "sound.h" +#include "affine.h" +#include "structures.h" void sub_080A30AC(void); void sub_080A2E40(void); diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 4e6854b9..7336487c 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -5,7 +5,8 @@ * @brief Acro Bandits enemy */ #include "enemy.h" -#include "functions.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/armos.c b/src/enemy/armos.c index fcdfeb7a..13b20c5b 100644 --- a/src/enemy/armos.c +++ b/src/enemy/armos.c @@ -4,14 +4,17 @@ * * @brief Armos enemy */ +#include "enemy/armos.h" #include "collision.h" #include "common.h" #include "enemy.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "global.h" #include "hitbox.h" #include "tiles.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; @@ -68,11 +71,11 @@ void sub_080300E8(void) { } } -void sub_08030118(u32 armosId) { +void Armos_SetFlagFromTransition(u32 armosId) { if (((gRoomTransition.armos_data.field_0xac >> armosId) & 1) != 0) { - SetLocalFlagByBank(FLAG_BANK_3, armosId + 0x67); + SetLocalFlagByBank(FLAG_BANK_3, armosId + AMOS_00_00); } else { - ClearLocalFlagByBank(FLAG_BANK_3, armosId + 0x67); + ClearLocalFlagByBank(FLAG_BANK_3, armosId + AMOS_00_00); } } diff --git a/src/enemy/ballChainSoldier.c b/src/enemy/ballChainSoldier.c index bc6ff6d2..2b28fa1e 100644 --- a/src/enemy/ballChainSoldier.c +++ b/src/enemy/ballChainSoldier.c @@ -6,7 +6,8 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "room.h" +#include "physics.h" typedef struct { Entity base; diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 19603462..00a907d9 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -5,7 +5,8 @@ * @brief Beetle enemy */ #include "enemy.h" -#include "functions.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c index 68d229ed..fecaeeca 100644 --- a/src/enemy/bladeTrap.c +++ b/src/enemy/bladeTrap.c @@ -4,10 +4,10 @@ * * @brief Blade Trap enemy */ -#include "entity.h" #include "object.h" -#include "room.h" #include "sound.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/bobomb.c b/src/enemy/bobomb.c index f1ae158b..131fe12f 100644 --- a/src/enemy/bobomb.c +++ b/src/enemy/bobomb.c @@ -7,9 +7,11 @@ #include "asm.h" #include "collision.h" #include "enemy.h" -#include "functions.h" #include "object.h" #include "sound.h" +#include "effects.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; @@ -177,7 +179,7 @@ void sub_0802C91C(BobombEntity* this) { sub_0802CBC4(this); } else { if ((super->timer & 0xf) == 8) { - CreateDustSmall(super); + CreateDashFx(super); } sub_0802CC18(this); } diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c index 5993dfb2..56fb23ed 100644 --- a/src/enemy/bombPeahat.c +++ b/src/enemy/bombPeahat.c @@ -9,6 +9,8 @@ #include "entity.h" #include "functions.h" #include "object.h" +#include "room.h" +#include "physics.h" #include "player.h" typedef struct { diff --git a/src/enemy/bombarossa.c b/src/enemy/bombarossa.c index 1190d281..bd9bd235 100644 --- a/src/enemy/bombarossa.c +++ b/src/enemy/bombarossa.c @@ -5,9 +5,10 @@ * @brief Bombarossa enemy */ #include "enemy.h" -#include "entity.h" #include "object.h" +#include "asm.h" #include "room.h" +#include "physics.h" typedef struct { Entity base; diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c index b071ced4..d8319cc3 100644 --- a/src/enemy/bowMoblin.c +++ b/src/enemy/bowMoblin.c @@ -6,7 +6,7 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" typedef struct { Entity base; diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c index 71d1e578..54f6dd4d 100644 --- a/src/enemy/businessScrub.c +++ b/src/enemy/businessScrub.c @@ -6,14 +6,13 @@ */ #include "asm.h" #include "enemy.h" -#include "functions.h" -#include "game.h" #include "item.h" #include "kinstone.h" #include "message.h" #include "npc.h" #include "save.h" #include "tiles.h" +#include "vram.h" struct SalesOffering { u8 field_0x0; diff --git a/src/enemy/businessScrubPrologue.c b/src/enemy/businessScrubPrologue.c index 0f84737b..99f4e03b 100644 --- a/src/enemy/businessScrubPrologue.c +++ b/src/enemy/businessScrubPrologue.c @@ -4,9 +4,13 @@ * * @brief Business Scrub Prologue enemy */ +#include "object/cutsceneMiscObject.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "script.h" +#include "physics.h" +#include "room.h" +#include "player.h" typedef struct { Entity base; diff --git a/src/enemy/chaser.c b/src/enemy/chaser.c index a17f4c96..14be99e2 100644 --- a/src/enemy/chaser.c +++ b/src/enemy/chaser.c @@ -6,6 +6,8 @@ */ #include "enemy.h" #include "functions.h" +#include "player.h" +#include "physics.h" extern void (*const Chaser_Functions[])(Entity*); extern void (*const gUnk_080CD298[])(Entity*); diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c index 7f3186bb..19b269c1 100644 --- a/src/enemy/chuchu.c +++ b/src/enemy/chuchu.c @@ -6,7 +6,7 @@ */ #include "asm.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" #include "tiles.h" typedef struct { @@ -73,7 +73,7 @@ void Chuchu(ChuchuEntity* this) { /* ... */ break; case 2: - CreateDrownFX(super); + CreateDrownFx(super); return; } } diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index a558134a..8511e2b7 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -5,9 +5,19 @@ * @brief Chuchu Boss enemy */ #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" +#include "structures.h" +#ifndef EU +#include "vram.h" +#endif typedef struct { u8 unk_00; diff --git a/src/enemy/cloudPiranha.c b/src/enemy/cloudPiranha.c index 389237c4..2e12cfb4 100644 --- a/src/enemy/cloudPiranha.c +++ b/src/enemy/cloudPiranha.c @@ -6,7 +6,7 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" +#include "room.h" #include "physics.h" #include "tiles.h" diff --git a/src/enemy/crow.c b/src/enemy/crow.c index 5c882480..3d4231c5 100644 --- a/src/enemy/crow.c +++ b/src/enemy/crow.c @@ -6,7 +6,7 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" typedef struct { Entity base; diff --git a/src/enemy/cuccoAggr.c b/src/enemy/cuccoAggr.c index bf749082..220480c6 100644 --- a/src/enemy/cuccoAggr.c +++ b/src/enemy/cuccoAggr.c @@ -6,7 +6,9 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "room.h" +#include "player.h" +#include "physics.h" typedef struct { Entity base; diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c index 03eb697f..bbb8f98c 100644 --- a/src/enemy/cuccoChickAggr.c +++ b/src/enemy/cuccoChickAggr.c @@ -5,7 +5,7 @@ * @brief Cucco Chick Aggr enemy */ #include "enemy.h" -#include "functions.h" +#include "player.h" void sub_08022A88(Entity*); void sub_08022AA4(Entity*); diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index 6a7a17db..5a5c528b 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -5,7 +5,6 @@ * @brief Dark Nut enemy */ #include "enemy.h" -#include "functions.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c index 46972dc8..c7932157 100644 --- a/src/enemy/doorMimic.c +++ b/src/enemy/doorMimic.c @@ -5,9 +5,13 @@ * @brief Door Mimic enemy */ #include "enemy.h" -#include "functions.h" #include "sound.h" #include "tiles.h" +#include "object.h" +#include "asm.h" +#include "common.h" +#include "effects.h" +#include "room.h" typedef struct { /*0x00*/ Entity base; @@ -51,7 +55,7 @@ void DoorMimic_OnCollision(DoorMimicEntity* this) { void DoorMimic_OnDeath(DoorMimicEntity* this) { SetTile(this->unk_7c, this->unk_7e, super->collisionLayer); CreateFx(super, FX_POT_SHATTER, 0); - EnemyDisableRespawn(super); + EnemyDisableRespawn((Enemy*)super); DeleteThisEntity(); } diff --git a/src/enemy/dust.c b/src/enemy/dust.c index 7fd8c6d0..071184db 100644 --- a/src/enemy/dust.c +++ b/src/enemy/dust.c @@ -9,9 +9,13 @@ #include "entity.h" #include "hitbox.h" #include "object.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" #include "physics.h" #include "player.h" -#include "room.h" typedef struct { Entity base; diff --git a/src/enemy/enemy4D.c b/src/enemy/enemy4D.c index 4fe0acfa..71ff8276 100644 --- a/src/enemy/enemy4D.c +++ b/src/enemy/enemy4D.c @@ -6,7 +6,8 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/enemy50.c b/src/enemy/enemy50.c index 36156ce7..fdd4eb94 100644 --- a/src/enemy/enemy50.c +++ b/src/enemy/enemy50.c @@ -6,8 +6,9 @@ */ #include "area.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" #include "player.h" +#include "room.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/enemy64.c b/src/enemy/enemy64.c index c7e561cd..50572ce1 100644 --- a/src/enemy/enemy64.c +++ b/src/enemy/enemy64.c @@ -6,8 +6,11 @@ */ #include "enemy.h" #include "fade.h" -#include "functions.h" +#include "scroll.h" +#include "physics.h" #include "tiles.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/enemyE.c b/src/enemy/enemyE.c index 56a9fe04..08beabb0 100644 --- a/src/enemy/enemyE.c +++ b/src/enemy/enemyE.c @@ -5,7 +5,6 @@ * @brief EnemyE enemy */ #include "enemy.h" -#include "functions.h" void sub_08023000(Entity*, int); diff --git a/src/enemy/eyegore.c b/src/enemy/eyegore.c index cb7d8067..50d4d85e 100644 --- a/src/enemy/eyegore.c +++ b/src/enemy/eyegore.c @@ -6,9 +6,14 @@ */ #include "enemy.h" #include "fade.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" #include "tiles.h" typedef struct { diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c index 13421100..c7283f9b 100644 --- a/src/enemy/fallingBoulder.c +++ b/src/enemy/fallingBoulder.c @@ -5,7 +5,9 @@ * @brief Falling Boulder enemy */ #include "enemy.h" -#include "functions.h" +#include "room.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c index b35b8117..1d6b6b6d 100644 --- a/src/enemy/fireballGuy.c +++ b/src/enemy/fireballGuy.c @@ -5,7 +5,8 @@ * @brief Fireball Guy enemy */ #include "enemy.h" -#include "functions.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/flyingPot.c b/src/enemy/flyingPot.c index 9c7a8348..beabb8c2 100644 --- a/src/enemy/flyingPot.c +++ b/src/enemy/flyingPot.c @@ -6,7 +6,7 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" #include "player.h" #include "room.h" #include "tiles.h" diff --git a/src/enemy/flyingSkull.c b/src/enemy/flyingSkull.c index 2366f56d..6e05bdba 100644 --- a/src/enemy/flyingSkull.c +++ b/src/enemy/flyingSkull.c @@ -4,12 +4,15 @@ * * @brief Flying Skull enemy */ +#include "object/pot.h" #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "hitbox.h" #include "tiles.h" +#include "room.h" +#include "player.h" typedef struct { Entity base; diff --git a/src/enemy/ghini.c b/src/enemy/ghini.c index f835ec1f..f1b7877b 100644 --- a/src/enemy/ghini.c +++ b/src/enemy/ghini.c @@ -6,7 +6,7 @@ */ #include "area.h" #include "enemy.h" -#include "functions.h" +#include "player.h" #include "physics.h" typedef struct { diff --git a/src/enemy/gibdo.c b/src/enemy/gibdo.c index e0813e6d..3da47c9c 100644 --- a/src/enemy/gibdo.c +++ b/src/enemy/gibdo.c @@ -5,8 +5,12 @@ * @brief Gibdo enemy */ #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "physics.h" +#include "player.h" typedef struct { Entity base; diff --git a/src/enemy/gleerok.c b/src/enemy/gleerok.c index e88550f1..40e0eddf 100644 --- a/src/enemy/gleerok.c +++ b/src/enemy/gleerok.c @@ -6,10 +6,17 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" #include "player.h" #include "screen.h" +#include "structures.h" typedef struct { union SplitHWord unk0; diff --git a/src/enemy/gyorgChild.c b/src/enemy/gyorgChild.c index ea6a5db6..4d15d58d 100644 --- a/src/enemy/gyorgChild.c +++ b/src/enemy/gyorgChild.c @@ -6,8 +6,9 @@ */ #include "asm.h" #include "enemy/gyorg.h" -#include "functions.h" #include "room.h" +#include "player.h" +#include "physics.h" void GyorgChild_OnTick(GyorgChildEntity*); void GyorgChild_OnCollision(GyorgChildEntity*); diff --git a/src/enemy/gyorgFemale.c b/src/enemy/gyorgFemale.c index e566c480..de4abc83 100644 --- a/src/enemy/gyorgFemale.c +++ b/src/enemy/gyorgFemale.c @@ -12,7 +12,8 @@ #include "sound.h" #include "assets/map_offsets.h" #include "game.h" -#include "functions.h" +#include "player.h" +#include "room.h" extern u8 gEntCount; extern u8 gMapDataTopSpecial[]; diff --git a/src/enemy/gyorgFemaleEye.c b/src/enemy/gyorgFemaleEye.c index b9ff2671..423be91d 100644 --- a/src/enemy/gyorgFemaleEye.c +++ b/src/enemy/gyorgFemaleEye.c @@ -7,8 +7,8 @@ #include "enemy.h" #include "enemy/gyorg.h" #include "entity.h" -#include "functions.h" #include "player.h" +#include "room.h" void GyorgFemaleEye_OnTick(GyorgFemaleEyeEntity*); void GyorgFemaleEye_OnCollision(GyorgFemaleEyeEntity*); diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index d4d52e95..beccd977 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -8,7 +8,7 @@ #include "enemy.h" #include "enemy/gyorg.h" #include "fileselect.h" -#include "functions.h" +#include "physics.h" #include "player.h" // todo: wrong types diff --git a/src/enemy/gyorgMaleEye.c b/src/enemy/gyorgMaleEye.c index 03202469..e3f536fd 100644 --- a/src/enemy/gyorgMaleEye.c +++ b/src/enemy/gyorgMaleEye.c @@ -6,7 +6,8 @@ */ #include "enemy.h" #include "fade.h" -#include "functions.h" +#include "physics.h" +#include "room.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/hangingSeed.c b/src/enemy/hangingSeed.c index 2f52e0ab..19479230 100644 --- a/src/enemy/hangingSeed.c +++ b/src/enemy/hangingSeed.c @@ -6,7 +6,9 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "object.h" +#include "asm.h" +#include "effects.h" extern void (*const HangingSeed_Functions[])(Entity*); extern void (*const gUnk_080CB588[])(Entity*); diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c index 9de3ac59..abe346ce 100644 --- a/src/enemy/helmasaur.c +++ b/src/enemy/helmasaur.c @@ -6,8 +6,12 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index 40688bfe..8ca4ad09 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -5,7 +5,7 @@ * @brief keaton enemy */ #include "enemy.h" -#include "functions.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c index ac2549fc..9436c709 100644 --- a/src/enemy/lakituCloud.c +++ b/src/enemy/lakituCloud.c @@ -9,6 +9,7 @@ #include "enemy.h" #include "entity.h" #include "object.h" +#include "sound.h" #include "physics.h" #include "player.h" #include "room.h" diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index 0a124fe5..5bee7fc3 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -8,6 +8,11 @@ #include "item.h" #include "message.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "physics.h" +#include "player.h" #include "save.h" typedef struct { @@ -145,7 +150,7 @@ void sub_08027F84(LikeLikeEntity* this) { super->action = 5; super->spriteSettings.draw = 1; InitializeAnimation(super, 0); - CreateDust(super); + CreateDeathFx(super); } } @@ -177,7 +182,7 @@ void sub_0802802C(LikeLikeEntity* this) { super->spriteSettings.draw = 0; super->direction = 0; super->timer = 0; - CreateDust(super); + CreateDeathFx(super); } } diff --git a/src/enemy/madderpillar.c b/src/enemy/madderpillar.c index 7df20a7d..119fc0dd 100644 --- a/src/enemy/madderpillar.c +++ b/src/enemy/madderpillar.c @@ -5,8 +5,10 @@ * @brief Madderpillar enemy */ #include "enemy.h" -#include "functions.h" #include "hitbox.h" +#include "effects.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/mazaalBracelet.c b/src/enemy/mazaalBracelet.c index a4ec8dd8..152e21aa 100644 --- a/src/enemy/mazaalBracelet.c +++ b/src/enemy/mazaalBracelet.c @@ -5,9 +5,14 @@ * @brief Mazaal Bracelet enemy */ #include "enemy.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct MazaalBraceletEntity_ { /*0x00*/ Entity base; diff --git a/src/enemy/mazaalHead.c b/src/enemy/mazaalHead.c index 5078e29a..0e079d48 100644 --- a/src/enemy/mazaalHead.c +++ b/src/enemy/mazaalHead.c @@ -6,8 +6,13 @@ */ #include "area.h" #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "roomid.h" #include "screen.h" diff --git a/src/enemy/mazaalMacro.c b/src/enemy/mazaalMacro.c index 2f6f330f..e3e4e50d 100644 --- a/src/enemy/mazaalMacro.c +++ b/src/enemy/mazaalMacro.c @@ -5,11 +5,12 @@ * @brief Mazaal Macro enemy */ #include "enemy.h" -#include "functions.h" #include "screenTransitions.h" #include "script.h" #include "structures.h" #include "tiles.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c index 97365958..c80f57dc 100644 --- a/src/enemy/miniFireballGuy.c +++ b/src/enemy/miniFireballGuy.c @@ -5,7 +5,7 @@ * @brief Mini Fireball Guy enemy */ #include "enemy.h" -#include "functions.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c index 96d6a9cd..f53881dc 100644 --- a/src/enemy/moldorm.c +++ b/src/enemy/moldorm.c @@ -6,7 +6,7 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c index f5e2dc05..ac84d386 100644 --- a/src/enemy/moldworm.c +++ b/src/enemy/moldworm.c @@ -6,8 +6,10 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" #include "tiles.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/octorokBoss.c b/src/enemy/octorokBoss.c index e0d377f8..f2a85cd8 100644 --- a/src/enemy/octorokBoss.c +++ b/src/enemy/octorokBoss.c @@ -6,10 +6,18 @@ */ #include "enemy/octorokBoss.h" #include "collision.h" -#include "functions.h" +#include "structures.h" #include "game.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "projectile.h" +#include "vram.h" #define IS_FROZEN(this) ((this)->bossPhase & 1) diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index 37bc230a..6b523e27 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -8,6 +8,12 @@ #include "enemy.h" #include "game.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "playeritem.h" #include "save.h" @@ -139,7 +145,7 @@ void nullsub_138(PestoEntity* this) { void sub_0802409C(PestoEntity* this) { super->health = 0; InitializeAnimation(super, super->animationState); - CreateDust(super); + CreateDeathFx(super); } void sub_080240B8(PestoEntity* this) { diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index cf40c24c..2abd938b 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -7,6 +7,12 @@ #include "collision.h" #include "enemy.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/enemy/rockChuchu.c b/src/enemy/rockChuchu.c index 72e18f8d..8872b928 100644 --- a/src/enemy/rockChuchu.c +++ b/src/enemy/rockChuchu.c @@ -6,6 +6,8 @@ */ #include "enemy.h" #include "player.h" +#include "asm.h" +#include "effects.h" extern void (*const RockChuchu_Functions[])(Entity*); extern void (*const gUnk_080CB960[])(Entity*); diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index ada5434e..7344e387 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -8,7 +8,12 @@ #include "entity.h" #include "hitbox.h" #include "object.h" -#include "room.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "physics.h" +#include "player.h" +#include "vram.h" #include "save.h" typedef struct { @@ -275,7 +280,7 @@ void sub_08029770(RupeeLikeEntity* this) { InitializeAnimation(super, 2); super->child->spriteSettings.draw = TRUE; InitializeAnimation(super->child, 6); - CreateDust(super); + CreateDeathFx(super); } } diff --git a/src/enemy/spark.c b/src/enemy/spark.c index 79a65afe..69c4f75e 100644 --- a/src/enemy/spark.c +++ b/src/enemy/spark.c @@ -7,6 +7,9 @@ #include "collision.h" #include "enemy.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "physics.h" extern void (*const Spark_Functions[])(Entity*); extern void (*const gUnk_080CD24C[])(Entity*); diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c index 271a4c23..2c40c235 100644 --- a/src/enemy/spearMoblin.c +++ b/src/enemy/spearMoblin.c @@ -5,7 +5,11 @@ * @brief Spear Moblin enemy */ #include "enemy.h" -#include "functions.h" +#include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/spikedBeetle.c b/src/enemy/spikedBeetle.c index 4dcd1ec3..94b2085a 100644 --- a/src/enemy/spikedBeetle.c +++ b/src/enemy/spikedBeetle.c @@ -5,7 +5,8 @@ * @brief Spiked Beetle enemy */ #include "enemy.h" -#include "functions.h" +#include "player.h" +#include "physics.h" extern u32 sub_0804A024(Entity*, u32, u32); diff --git a/src/enemy/spinyBeetle.c b/src/enemy/spinyBeetle.c index ff5df9ae..c6fec3b0 100644 --- a/src/enemy/spinyBeetle.c +++ b/src/enemy/spinyBeetle.c @@ -6,8 +6,12 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index 72329b9f..8c8c3435 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -5,8 +5,8 @@ * @brief Spiny Chuchu enemy */ #include "enemy.h" -#include "functions.h" #include "hitbox.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/stalfos.c b/src/enemy/stalfos.c index 3a54a8c2..22cee8ce 100644 --- a/src/enemy/stalfos.c +++ b/src/enemy/stalfos.c @@ -6,8 +6,10 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" #include "tiles.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/takkuri.c b/src/enemy/takkuri.c index fc5c90bd..bc80e9f5 100644 --- a/src/enemy/takkuri.c +++ b/src/enemy/takkuri.c @@ -6,9 +6,12 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "save.h" typedef struct { @@ -49,7 +52,7 @@ void Takkuri_OnCollision(TakkuriEntity* this) { if (super->contactFlags & CONTACT_NOW) { if ((super->contactFlags & 0x7f) == 0) { u32 direction; - sub_0803C0AC(super); + StealRupees(super); COLLISION_OFF(super); direction = super->direction; if (!DirectionIsHorizontal(DirectionRoundUp(direction))) { @@ -307,8 +310,8 @@ void sub_0803BF70(TakkuriEntity* this) { GetNextFrame(super); } -void sub_0803C0AC(Entity* this) { - u32 index, rupeeType, rupees; +void StealRupees(Entity* this) { + u32 rupeeCount, rupeeType, rupees; Entity* entity; entity = sub_08049DF4(1); if (entity == NULL) @@ -317,22 +320,22 @@ void sub_0803C0AC(Entity* this) { rupees = gSave.stats.rupees; if (rupees >= 500) { rupeeType = ITEM_RUPEE20; - index = 5; + rupeeCount = 5; ModRupees(-100); } else if (rupees >= 100) { rupeeType = ITEM_RUPEE5; - index = 5; + rupeeCount = 5; ModRupees(-25); } else { rupeeType = ITEM_RUPEE1; - index = rupees; + rupeeCount = rupees; if (rupees >= 0x5) { - index = 5; + rupeeCount = 5; } - ModRupees(-index); + ModRupees(-rupeeCount); } - for (; index != 0; index--) { + for (; rupeeCount != 0; rupeeCount--) { Entity* obj = CreateObject(RUPEE_OBJECT, rupeeType, 0); if (obj) { diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index fbc4c756..eccb633c 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -6,7 +6,6 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index 047b449f..4e0d8862 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -6,7 +6,6 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" #include "item.h" typedef struct { diff --git a/src/enemy/treeItem.c b/src/enemy/treeItem.c index 2e1e9a34..60fe4802 100644 --- a/src/enemy/treeItem.c +++ b/src/enemy/treeItem.c @@ -5,9 +5,11 @@ * @brief Tree Item enemy */ #include "enemy.h" -#include "functions.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; @@ -73,7 +75,7 @@ void TreeItem(TreeItemEntity* this) { break; } - EnemyDisableRespawn(super); + EnemyDisableRespawn((Enemy*)super); DeleteThisEntity(); } diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index 819decc9..9abcd5c9 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -6,9 +6,15 @@ */ #include "area.h" #include "enemy.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "roomid.h" typedef struct { diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c index 94e040be..e97acf52 100644 --- a/src/enemy/vaatiBall.c +++ b/src/enemy/vaatiBall.c @@ -6,8 +6,11 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "physics.h" #include "player.h" typedef struct { @@ -72,7 +75,7 @@ void VaatiBall(VaatiBallEntity* this) { COLLISION_OFF(super); super->health = -1; ((VaatiBallEntity*)parent)->unk_80--; - CreateDust(super); + CreateDeathFx(super); SoundReq(SFX_1C3); } } diff --git a/src/enemy/vaatiEyesMacro.c b/src/enemy/vaatiEyesMacro.c index e1c11638..c4b4e475 100644 --- a/src/enemy/vaatiEyesMacro.c +++ b/src/enemy/vaatiEyesMacro.c @@ -5,7 +5,10 @@ * @brief Vaati Eyes Macro enemy */ #include "enemy.h" -#include "functions.h" +#include "room.h" +#include "player.h" +#include "physics.h" +#include "manager.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiProjectile.c b/src/enemy/vaatiProjectile.c index 71c84c44..0cf4f604 100644 --- a/src/enemy/vaatiProjectile.c +++ b/src/enemy/vaatiProjectile.c @@ -5,9 +5,10 @@ * @brief Vaati Projectile enemy */ #include "enemy.h" -#include "functions.h" #include "screenTransitions.h" #include "tiles.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiRebornEnemy.c b/src/enemy/vaatiRebornEnemy.c index 5463b4f0..b4135fec 100644 --- a/src/enemy/vaatiRebornEnemy.c +++ b/src/enemy/vaatiRebornEnemy.c @@ -6,7 +6,9 @@ */ #include "area.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiTransfigured.c b/src/enemy/vaatiTransfigured.c index 663133fe..132ec86e 100644 --- a/src/enemy/vaatiTransfigured.c +++ b/src/enemy/vaatiTransfigured.c @@ -5,8 +5,14 @@ * @brief Vaati Transfigured enemy */ #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiTransfiguredEye.c b/src/enemy/vaatiTransfiguredEye.c index c3e33442..7012dcd9 100644 --- a/src/enemy/vaatiTransfiguredEye.c +++ b/src/enemy/vaatiTransfiguredEye.c @@ -6,7 +6,6 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "message.h" #include "physics.h" diff --git a/src/enemy/vaatiWrath.c b/src/enemy/vaatiWrath.c index 21f5c506..c351381e 100644 --- a/src/enemy/vaatiWrath.c +++ b/src/enemy/vaatiWrath.c @@ -6,11 +6,22 @@ */ #include "enemy/vaatiWrath.h" -#include "functions.h" #include "message.h" #include "object.h" -#include "save.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "screen.h" +#include "vram.h" +#include "scroll.h" +#if defined USA || defined DEMO_USA || defined DEMO_JP +#include "save.h" +#endif void VaatiWrathType0PreAction(VaatiWrathEntity*); u32 sub_08041FCC(VaatiWrathEntity*); diff --git a/src/enemy/vaatiWrathEye.c b/src/enemy/vaatiWrathEye.c index f7782fd2..3fe49ccb 100644 --- a/src/enemy/vaatiWrathEye.c +++ b/src/enemy/vaatiWrathEye.c @@ -5,7 +5,8 @@ * @brief Vaati Wrath Eye enemy */ #include "enemy/vaatiWrath.h" -#include "functions.h" +#include "room.h" +#include "physics.h" void sub_080485D8(Entity*); void sub_080485FC(Entity*); diff --git a/src/enemy/wallMaster.c b/src/enemy/wallMaster.c index e48becaa..c111c740 100644 --- a/src/enemy/wallMaster.c +++ b/src/enemy/wallMaster.c @@ -6,7 +6,7 @@ */ #include "area.h" #include "enemy.h" -#include "functions.h" +#include "player.h" #include "screenTransitions.h" typedef struct { diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c index 63f14826..02d982b7 100644 --- a/src/enemy/wallMaster2.c +++ b/src/enemy/wallMaster2.c @@ -6,8 +6,9 @@ */ #include "area.h" #include "enemy.h" -#include "functions.h" +#include "physics.h" #include "screenTransitions.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/waterDrop.c b/src/enemy/waterDrop.c index fb2d13e2..d6ba88e8 100644 --- a/src/enemy/waterDrop.c +++ b/src/enemy/waterDrop.c @@ -6,6 +6,11 @@ */ #include "enemy.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "screen.h" #include "structures.h" diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index e5c4c5e5..1dc3c082 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -6,8 +6,11 @@ */ #include "collision.h" #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "physics.h" +#include "player.h" #include "save.h" typedef struct { @@ -147,7 +150,7 @@ void sub_080336DC(WispEntity* this) { super->y.HALF.HI = this->unk_82; break; case 0x18: - CreateDust(super); + CreateDeathFx(super); break; case 0xc: super->spriteSettings.draw = TRUE; diff --git a/src/enemy/wizzrobeFire.c b/src/enemy/wizzrobeFire.c index 638b16cf..1699f9a1 100644 --- a/src/enemy/wizzrobeFire.c +++ b/src/enemy/wizzrobeFire.c @@ -6,7 +6,7 @@ */ #include "enemy/wizzrobe.h" #include "enemy.h" -#include "functions.h" +#include "player.h" extern void (*const WizzrobeFire_Functions[])(WizzrobeEntity*); extern void (*const WizzrobeFire_Actions[])(WizzrobeEntity*); diff --git a/src/enemy/wizzrobeIce.c b/src/enemy/wizzrobeIce.c index d9af54c3..71ce4d92 100644 --- a/src/enemy/wizzrobeIce.c +++ b/src/enemy/wizzrobeIce.c @@ -6,8 +6,11 @@ */ #include "enemy/wizzrobe.h" #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "player.h" extern void (*const WizzrobeIce_Functions[])(WizzrobeEntity*); extern void (*const WizzrobeIce_Actions[])(WizzrobeEntity*); diff --git a/src/enemy/wizzrobeWind.c b/src/enemy/wizzrobeWind.c index 91687000..eb01fd0c 100644 --- a/src/enemy/wizzrobeWind.c +++ b/src/enemy/wizzrobeWind.c @@ -8,8 +8,13 @@ #include "collision.h" #include "enemy.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" extern void (*const WizzrobeWind_Functions[])(WizzrobeEntity*); diff --git a/src/enemyUtils.c b/src/enemyUtils.c index 35ff738d..e2356e4f 100644 --- a/src/enemyUtils.c +++ b/src/enemyUtils.c @@ -2,13 +2,16 @@ #include "enemy.h" #include "definitions.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" #include "object/deathFx.h" #include "projectile.h" #include "save.h" +#include "vram.h" -extern void EnemyDisableRespawn(Entity*); extern void ReplaceMonitoredEntity(Entity*, Entity*); extern EnemyDefinition gEnemyDefinitions[]; @@ -210,7 +213,7 @@ void EnemyCreateDeathFX(Enemy* parent, u32 parentId, u32 fixedItem) { } else { int tmp = parent->base.gustJarState & 2; if (tmp == 0) { - EnemyDisableRespawn(&(parent->base)); + EnemyDisableRespawn((Enemy*)&(parent->base)); gSave.enemies_killed++; parent->base.gustJarState |= 2; parent->base.timer = 255; diff --git a/src/enterPortalSubtask.c b/src/enterPortalSubtask.c index e3e7021c..ddc00cbe 100644 --- a/src/enterPortalSubtask.c +++ b/src/enterPortalSubtask.c @@ -9,13 +9,17 @@ #include "area.h" #include "common.h" #include "entity.h" -#include "fileselect.h" -#include "functions.h" +#include "structures.h" #include "game.h" #include "main.h" #include "object.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "screen.h" #include "subtask.h" +#include "affine.h" extern void ClearArmosData(void); extern void sub_080300C4(void); diff --git a/src/entity.c b/src/entity.c index a5b84baf..34ce01ae 100644 --- a/src/entity.c +++ b/src/entity.c @@ -4,6 +4,12 @@ #include "manager/diggingCaveEntranceManager.h" #include "message.h" #include "npc.h" +#include "vram.h" +#include "script.h" +#include "structures.h" +#include "room.h" +#include "player.h" +#include "physics.h" typedef struct Temp { void* prev; diff --git a/src/fade.c b/src/fade.c index f5b0cfa7..a9cd0a4d 100644 --- a/src/fade.c +++ b/src/fade.c @@ -1,6 +1,6 @@ #include "global.h" +#include "save.h" #include "structures.h" -#include "functions.h" #include "screen.h" #include "common.h" diff --git a/src/fileselect.c b/src/fileselect.c index 3257c807..2f873ee1 100644 --- a/src/fileselect.c +++ b/src/fileselect.c @@ -8,7 +8,6 @@ #include "common.h" #include "figurineMenu.h" -#include "functions.h" #include "game.h" #include "item.h" #include "kinstone.h" @@ -16,9 +15,16 @@ #include "menu.h" #include "message.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "screen.h" #include "subtask.h" #include "ui.h" +#include "affine.h" +#include "structures.h" // copy, erase, start #define NUM_FILE_OPERATIONS 3 @@ -306,7 +312,7 @@ void CreateDialogBox(u32 arg0, u32 arg1) { sub_08050384(); MemCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); - sub_08056FEC(arg1, gUnk_020227E8); + NumberToAscii(arg1, &gUnk_020227E8[0]); var0.gfx_src |= gUnk_080FC85C[arg0][0] << 0xC; ShowTextBox(gUnk_080FC85C[arg0][1], &var0); sfx = gUnk_080FC85C[arg0][2]; diff --git a/src/game.c b/src/game.c index 34a9930c..e582ec17 100644 --- a/src/game.c +++ b/src/game.c @@ -6,36 +6,23 @@ */ #include "game.h" +#include "affine.h" #include "area.h" #include "asm.h" -#include "backgroundAnimations.h" #include "common.h" -#include "droptables.h" -#include "enemy.h" #include "entity.h" #include "fileselect.h" -#include "flags.h" -#include "functions.h" -#include "item.h" -#include "itemMetaData.h" -#include "itemMetaData.h" -#include "kinstone.h" +#include "structures.h" #include "main.h" #include "manager/diggingCaveEntranceManager.h" -#include "menu.h" #include "message.h" -#include "npc.h" -#include "object.h" -#include "player.h" #include "player.h" #include "room.h" -#include "roomid.h" #include "save.h" #include "screen.h" #include "sound.h" -#include "subtask.h" -#include "transitions.h" #include "ui.h" +#include "beanstalkSubtask.h" // Game task diff --git a/src/gameOverTask.c b/src/gameOverTask.c index c56f86b3..d753ff17 100644 --- a/src/gameOverTask.c +++ b/src/gameOverTask.c @@ -7,13 +7,13 @@ #include "common.h" #include "fade.h" #include "fileselect.h" -#include "functions.h" #include "game.h" #include "main.h" #include "menu.h" #include "save.h" #include "sound.h" #include "subtask.h" +#include "affine.h" typedef void(GameOverState)(void); diff --git a/src/gameUtils.c b/src/gameUtils.c index 4087bd32..19d39204 100644 --- a/src/gameUtils.c +++ b/src/gameUtils.c @@ -5,23 +5,25 @@ */ #include "area.h" #include "backgroundAnimations.h" -#include "enemy.h" #include "entity.h" #include "fade.h" #include "fileselect.h" -#include "functions.h" +#include "manager.h" #include "game.h" #include "item.h" -#include "itemMetaData.h" #include "main.h" -#include "menu.h" -#include "npc.h" #include "object.h" +#include "common.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "save.h" #include "screen.h" -#include "script.h" #include "sound.h" #include "ui.h" +#include "subtask.h" +#include "beanstalkSubtask.h" +#include "structures.h" u32 StairsAreValid(void); void ClearFlagArray(const u16*); @@ -76,11 +78,11 @@ void SetPopupState(u32 type, u32 choice_idx) { u32 fakematch; MemClear(gBG1Buffer, sizeof gBG1Buffer); - gUnk_020227E8[0]._0.WORD = 0xf; - gUnk_020227E8[1]._0.WORD = 0xf; - gUnk_020227E8[2]._0.WORD = 0xf; - gUnk_020227E8[3]._0.WORD = 0xf; - *(&gUnk_020227E8[choice_idx]._0.BYTES.byte0 + 1) = fakematch = 1; + gUnk_020227E8[0].w[0] = 0xf; + gUnk_020227E8[1].w[0] = 0xf; + gUnk_020227E8[2].w[0] = 0xf; + gUnk_020227E8[3].w[0] = 0xf; + *(gUnk_020227E8[choice_idx].s + 1) = fakematch = 1; MemCopy(&sDefaultFont, &font, sizeof font); opt = &sPopupOptions[type]; diff --git a/src/interrupts.c b/src/interrupts.c index a9aad690..9d824006 100644 --- a/src/interrupts.c +++ b/src/interrupts.c @@ -1,16 +1,18 @@ -#include "functions.h" #include "gba/m4a.h" #include "global.h" #include "main.h" #include "message.h" #include "object.h" +#include "common.h" +#include "effects.h" +#include "room.h" #include "player.h" #include "save.h" #include "screen.h" #include "sound.h" #include "structures.h" #include "ui.h" -#include "collision.h" +#include "asm.h" extern u8 gUnk_03003DE0; extern u8 gUnk_03000C30; @@ -304,7 +306,7 @@ static void HandlePlayerLife(Entity* this) { gSave.stats.picolyteType = 0; SoundReq(SFX_140); } else if ((gSave.stats.picolyteTimer & 0xf) == 0) { - CreateSparkle(this); + CreateSparkleFx(this); } if (gSave.stats.effect == 0) { diff --git a/src/item/itemBomb.c b/src/item/itemBomb.c index 90c66539..f3df6504 100644 --- a/src/item/itemBomb.c +++ b/src/item/itemBomb.c @@ -1,9 +1,7 @@ #include "item.h" #include "physics.h" #include "sound.h" -#include "functions.h" #include "playeritem.h" -#include "functions.h" void sub_08075FF8(ItemBehavior*, u32); void sub_08076488(ItemBehavior*, u32); diff --git a/src/item/itemBoomerang.c b/src/item/itemBoomerang.c index a9c6aaab..9eef3d3b 100644 --- a/src/item/itemBoomerang.c +++ b/src/item/itemBoomerang.c @@ -1,5 +1,5 @@ #include "item.h" -#include "functions.h" +#include "physics.h" void sub_08075D2C(ItemBehavior*, u32); void sub_08075D88(ItemBehavior*, u32); diff --git a/src/item/itemBow.c b/src/item/itemBow.c index 9b57e9c1..92b52f20 100644 --- a/src/item/itemBow.c +++ b/src/item/itemBow.c @@ -1,6 +1,6 @@ #include "item.h" -#include "functions.h" #include "save.h" +#include "physics.h" void sub_08075DF4(ItemBehavior*, u32); void sub_08075E40(ItemBehavior*, u32); diff --git a/src/item/itemGustJar.c b/src/item/itemGustJar.c index 40fdd034..fe5a0476 100644 --- a/src/item/itemGustJar.c +++ b/src/item/itemGustJar.c @@ -1,5 +1,4 @@ #include "entity.h" -#include "functions.h" #include "item.h" #include "playeritem.h" #include "tiles.h" diff --git a/src/item/itemJarEmpty.c b/src/item/itemJarEmpty.c index 90ec65ed..98615777 100644 --- a/src/item/itemJarEmpty.c +++ b/src/item/itemJarEmpty.c @@ -1,6 +1,6 @@ #include "item.h" #include "save.h" -#include "functions.h" +#include "physics.h" void sub_08077534(ItemBehavior*, u32); void sub_08077618(ItemBehavior*, u32); diff --git a/src/item/itemLantern.c b/src/item/itemLantern.c index af488bd1..8c67edc5 100644 --- a/src/item/itemLantern.c +++ b/src/item/itemLantern.c @@ -1,7 +1,10 @@ -#include "functions.h" #include "game.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "sound.h" extern s8 gUnk_08126EEC[]; diff --git a/src/item/itemMoleMitts.c b/src/item/itemMoleMitts.c index 8f535bdb..9732776d 100644 --- a/src/item/itemMoleMitts.c +++ b/src/item/itemMoleMitts.c @@ -1,8 +1,9 @@ - #include "effects.h" -#include "functions.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "player.h" #include "sound.h" #include "tiles.h" diff --git a/src/item/itemOcarina.c b/src/item/itemOcarina.c index e5cea164..4cd8a621 100644 --- a/src/item/itemOcarina.c +++ b/src/item/itemOcarina.c @@ -1,8 +1,7 @@ -#include "functions.h" +#include "structures.h" #include "item.h" #include "sound.h" -extern void ResetPlayerVelocity(void); extern void CreateBird(Entity*); void OcarinaUse(ItemBehavior*, u32); void OcarinaUpdate(ItemBehavior*, u32); diff --git a/src/item/itemPacciCane.c b/src/item/itemPacciCane.c index 56d2592c..41994302 100644 --- a/src/item/itemPacciCane.c +++ b/src/item/itemPacciCane.c @@ -1,7 +1,7 @@ #include "global.h" #include "entity.h" #include "item.h" -#include "functions.h" +#include "physics.h" #include "playeritem.h" void sub_08076C98(ItemBehavior*, u32); diff --git a/src/item/itemPegasusBoots.c b/src/item/itemPegasusBoots.c index fca72541..0697d70a 100644 --- a/src/item/itemPegasusBoots.c +++ b/src/item/itemPegasusBoots.c @@ -1,6 +1,5 @@ #include "asm.h" #include "effects.h" -#include "functions.h" #include "game.h" #include "item.h" #include "playeritem.h" diff --git a/src/item/itemRocsCape.c b/src/item/itemRocsCape.c index 60d290c1..8c3c3c01 100644 --- a/src/item/itemRocsCape.c +++ b/src/item/itemRocsCape.c @@ -1,4 +1,3 @@ -#include "functions.h" #include "item.h" #include "sound.h" diff --git a/src/item/itemShield.c b/src/item/itemShield.c index 2fa8f07c..5f358905 100644 --- a/src/item/itemShield.c +++ b/src/item/itemShield.c @@ -2,7 +2,7 @@ #include "entity.h" #include "item.h" #include "sound.h" -#include "functions.h" +#include "physics.h" void sub_08076D04(ItemBehavior*, u32); void sub_08076D34(ItemBehavior*, u32); diff --git a/src/item/itemSword.c b/src/item/itemSword.c index 95110349..4035df2f 100644 --- a/src/item/itemSword.c +++ b/src/item/itemSword.c @@ -1,6 +1,8 @@ -#include "functions.h" #include "item.h" #include "object.h" +#include "effects.h" +#include "room.h" +#include "physics.h" #include "player.h" #include "playeritem.h" #include "sound.h" diff --git a/src/item/itemTryPickupObject.c b/src/item/itemTryPickupObject.c index c87c4838..1648b6a0 100644 --- a/src/item/itemTryPickupObject.c +++ b/src/item/itemTryPickupObject.c @@ -1,7 +1,9 @@ -#include "functions.h" +#include "physics.h" #include "item.h" #include "playeritem.h" #include "sound.h" +#include "structures.h" +#include "room.h" u32 sub_08077F64(ItemBehavior* arg0, u32 index); u32 sub_080789A8(void); diff --git a/src/itemUtils.c b/src/itemUtils.c index 1de52066..1ed84adc 100644 --- a/src/itemUtils.c +++ b/src/itemUtils.c @@ -9,8 +9,14 @@ #include "sound.h" #include "save.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "enemy.h" #include "message.h" +#include "structures.h" const Wallet gWalletSizes[] = { { 100, 0xf060 }, diff --git a/src/main.c b/src/main.c index d40d678e..a57a3ec7 100644 --- a/src/main.c +++ b/src/main.c @@ -6,13 +6,13 @@ #include "main.h" #include "common.h" -#include "functions.h" #include "game.h" #include "interrupts.h" #include "message.h" #include "save.h" #include "screen.h" #include "sound.h" +#include "structures.h" extern u32 gRand; diff --git a/src/manager/angryStatueManager.c b/src/manager/angryStatueManager.c index c24d026e..ad6744c6 100644 --- a/src/manager/angryStatueManager.c +++ b/src/manager/angryStatueManager.c @@ -6,10 +6,14 @@ */ #include "manager/angryStatueManager.h" #include "flags.h" -#include "functions.h" #include "object.h" +#include "asm.h" + +#include "sound.h" #include "room.h" +#include "player.h" + void sub_0805D11C(AngryStatueManager*); void AngryStatueManager_Init(AngryStatueManager*); void AngryStatueManager_Action1(AngryStatueManager*); diff --git a/src/manager/armosInteriorManager.c b/src/manager/armosInteriorManager.c index 98587f46..392e80ec 100644 --- a/src/manager/armosInteriorManager.c +++ b/src/manager/armosInteriorManager.c @@ -8,8 +8,8 @@ #include "common.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "sound.h" +#include "room.h" bool32 sub_0805C920(ArmosInteriorManager*); void ArmosInteriorManager_Init(ArmosInteriorManager*); diff --git a/src/manager/bombableWallManager.c b/src/manager/bombableWallManager.c index e0343063..18347fa1 100644 --- a/src/manager/bombableWallManager.c +++ b/src/manager/bombableWallManager.c @@ -7,10 +7,11 @@ #include "manager/bombableWallManager.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "game.h" #include "object.h" +#include "asm.h" #include "sound.h" +#include "room.h" #include "tiles.h" u32 BombableWallManager_GetBombableType(u32 tilePos, u32 layer); diff --git a/src/manager/bridgeManager.c b/src/manager/bridgeManager.c index 17e91f91..0070ed04 100644 --- a/src/manager/bridgeManager.c +++ b/src/manager/bridgeManager.c @@ -6,8 +6,8 @@ */ #include "manager/bridgeManager.h" #include "flags.h" -#include "functions.h" #include "sound.h" +#include "player.h" void BridgeManager_Init(BridgeManager*); void BridgeManager_Action1(BridgeManager*); diff --git a/src/manager/cloudOverlayManager.c b/src/manager/cloudOverlayManager.c index a9313b45..021da0f3 100644 --- a/src/manager/cloudOverlayManager.c +++ b/src/manager/cloudOverlayManager.c @@ -8,7 +8,7 @@ #include "area.h" #include "screen.h" #include "game.h" -#include "functions.h" +#include "room.h" void CloudOverlayManager_OnEnterRoom(CloudOverlayManager*); void CloudOverlayManager_OnExitRoom(CloudOverlayManager*); diff --git a/src/manager/cloudStaircaseTransitionManager.c b/src/manager/cloudStaircaseTransitionManager.c index d8a47d63..3926f1ed 100644 --- a/src/manager/cloudStaircaseTransitionManager.c +++ b/src/manager/cloudStaircaseTransitionManager.c @@ -7,7 +7,8 @@ #include "manager/cloudStaircaseTransitionManager.h" #include "asm.h" #include "common.h" -#include "functions.h" +#include "room.h" +#include "player.h" void CloudStaircaseTransitionManager_Main(CloudStaircaseTransitionManager* this) { if (super->action == 0) { diff --git a/src/manager/delayedEntityLoadManager.c b/src/manager/delayedEntityLoadManager.c index 0a13bf40..1509c95b 100644 --- a/src/manager/delayedEntityLoadManager.c +++ b/src/manager/delayedEntityLoadManager.c @@ -8,7 +8,11 @@ #include "room.h" #include "npc.h" #include "area.h" +#include "flags.h" +#include "script.h" +#include "save.h" #include "asm.h" +#include "object.h" typedef struct { Manager base; diff --git a/src/manager/diggingCaveEntranceManager.c b/src/manager/diggingCaveEntranceManager.c index ce428a2b..d7b37a73 100644 --- a/src/manager/diggingCaveEntranceManager.c +++ b/src/manager/diggingCaveEntranceManager.c @@ -7,11 +7,13 @@ #include "manager/diggingCaveEntranceManager.h" #include "area.h" #include "asm.h" -#include "functions.h" #include "player.h" #include "room.h" #include "scroll.h" #include "tiles.h" +#ifndef EU +#include "structures.h" +#endif void DiggingCaveEntranceManager_Main(DiggingCaveEntranceManager*); void DiggingCaveEntranceManager_Init(DiggingCaveEntranceManager*); diff --git a/src/manager/enterRoomTextboxManager.c b/src/manager/enterRoomTextboxManager.c index 61276437..f456714c 100644 --- a/src/manager/enterRoomTextboxManager.c +++ b/src/manager/enterRoomTextboxManager.c @@ -8,10 +8,10 @@ #include "area.h" #include "common.h" #include "fileselect.h" -#include "functions.h" #include "game.h" #include "message.h" #include "screen.h" +#include "structures.h" const u16 gUnk_08108DE8[] = { 0, 0x70b, 0x70c, 0x70d, 0x70e, 0x70f, 0x710, 0x711, 0x712, 0x713, 0x714, 0x715, 0x716, 0x717, 0x718, 0x719, 0x71a, 0x71b, 0x71c, 0x71d, 0x71e, 0x71f, diff --git a/src/manager/entitySpawnManager.c b/src/manager/entitySpawnManager.c index 6303d998..f9868310 100644 --- a/src/manager/entitySpawnManager.c +++ b/src/manager/entitySpawnManager.c @@ -9,9 +9,9 @@ #include "manager/entitySpawnManager.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "room.h" #include "sound.h" +#include "player.h" void EntitySpawnManager_Main(EntitySpawnManager* this) { if (super->action == 0) { diff --git a/src/manager/ezloHintManager.c b/src/manager/ezloHintManager.c index eb2a666a..f5b93933 100644 --- a/src/manager/ezloHintManager.c +++ b/src/manager/ezloHintManager.c @@ -9,7 +9,7 @@ #include "asm.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "player.h" static void EzloHintManager_Init(EzloHintManager*); static void EzloHintManager_Action1(EzloHintManager*); diff --git a/src/manager/flameManager.c b/src/manager/flameManager.c index a363ebe0..1132dc5a 100644 --- a/src/manager/flameManager.c +++ b/src/manager/flameManager.c @@ -8,9 +8,9 @@ */ #include "manager/flameManager.h" #include "asm.h" -#include "functions.h" #include "room.h" #include "tiles.h" +#include "player.h" void FlameManager_Main(FlameManager* this) { if (super->action == 0) { diff --git a/src/manager/goronMerchantShopManager.c b/src/manager/goronMerchantShopManager.c index ff1d1b56..f4004c8e 100644 --- a/src/manager/goronMerchantShopManager.c +++ b/src/manager/goronMerchantShopManager.c @@ -10,6 +10,7 @@ #include "flags.h" #include "item.h" #include "object.h" +#include "room.h" #include "object/itemForSale.h" typedef struct { diff --git a/src/manager/holeManager.c b/src/manager/holeManager.c index 3772ceb1..ced8e4b9 100644 --- a/src/manager/holeManager.c +++ b/src/manager/holeManager.c @@ -8,12 +8,14 @@ #include "common.h" #include "flags.h" #include "object.h" +#include "asm.h" +#include "player.h" #include "room.h" #include "screen.h" #include "game.h" #include "manager/lightManager.h" #include "assets/gfx_offsets.h" -#include "functions.h" +#include "structures.h" typedef enum { HOLE_TRANSITION_ABSOLUTE, diff --git a/src/manager/horizontalMinishPathBackgroundManager.c b/src/manager/horizontalMinishPathBackgroundManager.c index 1f07763f..7af97dde 100644 --- a/src/manager/horizontalMinishPathBackgroundManager.c +++ b/src/manager/horizontalMinishPathBackgroundManager.c @@ -8,7 +8,8 @@ #include "common.h" #include "screen.h" #include "game.h" -#include "functions.h" +#include "structures.h" +#include "room.h" void sub_08057F20(HorizontalMinishPathBackgroundManager*); void HorizontalMinishPathBackgroundManager_OnEnterRoom(HorizontalMinishPathBackgroundManager*); diff --git a/src/manager/hyruleTownTileSetManager.c b/src/manager/hyruleTownTileSetManager.c index 2d19ac6d..8fa8b77b 100644 --- a/src/manager/hyruleTownTileSetManager.c +++ b/src/manager/hyruleTownTileSetManager.c @@ -13,7 +13,7 @@ #include "tiles.h" #include "game.h" #include "assets/gfx_offsets.h" -#include "functions.h" +#include "player.h" void HyruleTownTileSetManager_UpdateLoadGfxGroups(HyruleTownTileSetManager*); void HyruleTownTileSetManager_OnEnterRoom(HyruleTownTileSetManager*); diff --git a/src/manager/lightLevelSetManager.c b/src/manager/lightLevelSetManager.c index 26350020..7aad3428 100644 --- a/src/manager/lightLevelSetManager.c +++ b/src/manager/lightLevelSetManager.c @@ -6,9 +6,11 @@ */ #include "manager/lightLevelSetManager.h" #include "flags.h" -#include "functions.h" #include "game.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "player.h" #include "room.h" #include "tiles.h" @@ -115,7 +117,7 @@ void LightLevelSetManager_Type3(LightLevelSetManager* this) { default: if (--this->field_0x22 == 0) { - CreateDustAt(*(s16*)&this->field_0x38, *(s16*)&this->field_0x3a, super->type2); + CreateDeathFxAt(*(s16*)&this->field_0x38, *(s16*)&this->field_0x3a, super->type2); ClearFlag(this->field_0x3e); RestorePrevTileEntity(this->field_0x20, super->type2); ChangeLightLevel(-super->timer); diff --git a/src/manager/lightManager.c b/src/manager/lightManager.c index cb96636d..a27d3b5a 100644 --- a/src/manager/lightManager.c +++ b/src/manager/lightManager.c @@ -7,7 +7,6 @@ #include "manager/lightManager.h" #include "area.h" #include "common.h" -#include "functions.h" #include "game.h" #include "main.h" #include "physics.h" diff --git a/src/manager/lightRayManager.c b/src/manager/lightRayManager.c index 65fd416b..93e21ddd 100644 --- a/src/manager/lightRayManager.c +++ b/src/manager/lightRayManager.c @@ -9,10 +9,12 @@ */ #include "manager/lightRayManager.h" #include "common.h" -#include "functions.h" #include "main.h" #include "screen.h" #include "game.h" +#include "structures.h" +#include "player.h" +#include "physics.h" extern void DisableVBlankDMA(void); diff --git a/src/manager/manager29.c b/src/manager/manager29.c index bd079e1c..ca3cd3a5 100644 --- a/src/manager/manager29.c +++ b/src/manager/manager29.c @@ -7,7 +7,8 @@ #include "manager/manager29.h" #include "asm.h" #include "flags.h" -#include "functions.h" +#include "room.h" +#include "player.h" bool32 sub_0805CF80(Manager29* this); void sub_0805CBD0(Manager29* this); diff --git a/src/manager/minishPortalManager.c b/src/manager/minishPortalManager.c index 2d13eb1e..74276e46 100644 --- a/src/manager/minishPortalManager.c +++ b/src/manager/minishPortalManager.c @@ -8,8 +8,9 @@ #include "area.h" #include "asm.h" #include "flags.h" -#include "functions.h" #include "object.h" +#include "common.h" +#include "effects.h" #include "player.h" #include "room.h" #include "sound.h" @@ -43,7 +44,7 @@ void MinishPortalManager_Main(MinishPortalManager* this) { } } if (GetActTileAtRoomCoords(this->unk_38, this->unk_3a, super->timer) == ACT_TILE_61) { - CreateMagicSparkles(this->unk_38 + gRoomControls.origin_x, this->unk_3a + gRoomControls.origin_y, + CreateMagicSparklesFxAt(this->unk_38 + gRoomControls.origin_x, this->unk_3a + gRoomControls.origin_y, super->timer); if (super->subtimer == 0) { super->subtimer = 1; @@ -57,7 +58,7 @@ void MinishPortalManager_Main(MinishPortalManager* this) { } } -void CreateMagicSparkles(u32 baseX, u32 baseY, u32 layer) { +void CreateMagicSparklesFxAt(u32 baseX, u32 baseY, u32 layer) { u32 r; int offsetX, offsetY; Entity* spark; diff --git a/src/manager/minishRaftersBackgroundManager.c b/src/manager/minishRaftersBackgroundManager.c index c3a9d629..183000af 100644 --- a/src/manager/minishRaftersBackgroundManager.c +++ b/src/manager/minishRaftersBackgroundManager.c @@ -8,7 +8,7 @@ #include "common.h" #include "room.h" #include "game.h" -#include "functions.h" +#include "structures.h" void MinishRaftersBackgroundManager_OnEnterRoom(MinishRaftersBackgroundManager*); void sub_08058210(MinishRaftersBackgroundManager*); diff --git a/src/manager/minishSizedEntranceManager.c b/src/manager/minishSizedEntranceManager.c index 3cac2f1f..a2bbf028 100644 --- a/src/manager/minishSizedEntranceManager.c +++ b/src/manager/minishSizedEntranceManager.c @@ -6,8 +6,8 @@ * screen. */ #include "manager/minishSizedEntranceManager.h" -#include "functions.h" #include "object.h" +#include "flags.h" #include "room.h" #include "asm.h" diff --git a/src/manager/minishVillageTileSetManager.c b/src/manager/minishVillageTileSetManager.c index 95cb7cc4..81c93ae8 100644 --- a/src/manager/minishVillageTileSetManager.c +++ b/src/manager/minishVillageTileSetManager.c @@ -10,7 +10,7 @@ #include "main.h" #include "game.h" #include "assets/gfx_offsets.h" -#include "functions.h" +#include "structures.h" void MinishVillageTileSetManager_OnEnterRoom(void*); bool32 MinishVillageTileSetManager_UpdateRoomGfxGroup(MinishVillageTileSetManager*); diff --git a/src/manager/miscManager.c b/src/manager/miscManager.c index bcb7bce9..93889ec9 100644 --- a/src/manager/miscManager.c +++ b/src/manager/miscManager.c @@ -6,16 +6,23 @@ */ #include "manager/miscManager.h" #include "area.h" -#include "common.h" #include "flags.h" -#include "functions.h" #include "item.h" #include "message.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "physics.h" #include "player.h" #include "room.h" +#include "script.h" #include "sound.h" #include "tiles.h" +#include "scroll.h" +#include "subtask.h" +#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP) +#include "common.h" +#endif void MiscManager_Type0(MiscManager*); void MiscManager_Type1(MiscManager*); @@ -229,7 +236,7 @@ void MiscManager_Type5(MiscManager* this) { switch (super->action) { default: if (!--super->timer) { - CreateDustAt(this->x, this->y, super->type2); + CreateDeathFxAt(this->x, this->y, super->type2); RestorePrevTileEntity(TILE_LOCAL(this->x, this->y), super->type2); SoundReq(SFX_TASK_COMPLETE); DeleteThisEntity(); diff --git a/src/manager/moveableObjectManager.c b/src/manager/moveableObjectManager.c index 21756299..5cf898fa 100644 --- a/src/manager/moveableObjectManager.c +++ b/src/manager/moveableObjectManager.c @@ -9,6 +9,7 @@ #include "manager/moveableObjectManager.h" #include "flags.h" #include "room.h" +#include "object.h" void MoveableObjectManager_Main(MoveableObjectManager* this) { Entity* object = CreateObject(super->timer, super->type, super->type2); diff --git a/src/manager/pushableFurnitureManager.c b/src/manager/pushableFurnitureManager.c index f701bc42..260c0348 100644 --- a/src/manager/pushableFurnitureManager.c +++ b/src/manager/pushableFurnitureManager.c @@ -8,6 +8,7 @@ #include "flags.h" #include "object.h" +#include "player.h" #include "object/pushableFurniture.h" #include "room.h" diff --git a/src/manager/rollingBarrelManager.c b/src/manager/rollingBarrelManager.c index 303108a5..f8209f6e 100644 --- a/src/manager/rollingBarrelManager.c +++ b/src/manager/rollingBarrelManager.c @@ -15,7 +15,7 @@ #include "screen.h" #include "sound.h" #include "game.h" -#include "functions.h" +#include "asm.h" extern struct BgAffineDstData gUnk_02017AA0[]; extern struct BgAffineDstData gUnk_02017BA0[]; diff --git a/src/manager/secretManager.c b/src/manager/secretManager.c index ca2ec125..f0ec19e2 100644 --- a/src/manager/secretManager.c +++ b/src/manager/secretManager.c @@ -9,8 +9,8 @@ #include "manager/secretManager.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "sound.h" +#include "structures.h" void SecretManager_Type0_Action2(SecretManager*); void SecretManager_Type0(SecretManager*); diff --git a/src/manager/specialWarpManager.c b/src/manager/specialWarpManager.c index f62ac451..cba10388 100644 --- a/src/manager/specialWarpManager.c +++ b/src/manager/specialWarpManager.c @@ -6,7 +6,8 @@ */ #include "manager/specialWarpManager.h" #include "asm.h" -#include "functions.h" +#include "room.h" +#include "player.h" void SpecialWarpManager_Main(SpecialWarpManager* this) { u32 collisionLayer; diff --git a/src/manager/staticBackgroundManager.c b/src/manager/staticBackgroundManager.c index de3c8f3d..1ee959fe 100644 --- a/src/manager/staticBackgroundManager.c +++ b/src/manager/staticBackgroundManager.c @@ -8,7 +8,7 @@ #include "common.h" #include "screen.h" #include "game.h" -#include "functions.h" +#include "room.h" void StaticBackgroundManager_OnEnterRoom(StaticBackgroundManager*); void sub_0805B448(StaticBackgroundManager*); diff --git a/src/manager/templeOfDropletsManager.c b/src/manager/templeOfDropletsManager.c index dbdbc5cb..1c9987a5 100644 --- a/src/manager/templeOfDropletsManager.c +++ b/src/manager/templeOfDropletsManager.c @@ -8,10 +8,12 @@ #include "enemy.h" #include "flags.h" #include "object.h" +#include "common.h" +#include "room.h" +#include "player.h" #include "screen.h" #include "sound.h" #include "game.h" -#include "functions.h" #include "structures.h" static const u16 gUnk_081085B8[] = { 0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, diff --git a/src/manager/tileChangeObserveManager.c b/src/manager/tileChangeObserveManager.c index 7a05a853..08b46b14 100644 --- a/src/manager/tileChangeObserveManager.c +++ b/src/manager/tileChangeObserveManager.c @@ -9,7 +9,6 @@ */ #include "manager/tileChangeObserveManager.h" #include "flags.h" -#include "functions.h" #include "room.h" void TileChangeObserveManager_Init(TileChangeObserveManager*); diff --git a/src/manager/tilePuzzleManager.c b/src/manager/tilePuzzleManager.c index 766e2c6d..2da91901 100644 --- a/src/manager/tilePuzzleManager.c +++ b/src/manager/tilePuzzleManager.c @@ -10,9 +10,10 @@ #include "manager/tilePuzzleManager.h" #include "asm.h" #include "flags.h" -#include "functions.h" #include "sound.h" #include "tiles.h" +#include "room.h" +#include "player.h" enum { INIT, IN_PROGRESS, FAILED, SUCCEEDED }; diff --git a/src/manager/vaati3BackgroundManager.c b/src/manager/vaati3BackgroundManager.c index d2fb85ed..2b2e838b 100644 --- a/src/manager/vaati3BackgroundManager.c +++ b/src/manager/vaati3BackgroundManager.c @@ -10,7 +10,6 @@ #include "room.h" #include "screen.h" #include "game.h" -#include "functions.h" void Vaati3BackgroundManager_OnEnterRoom(Vaati3BackgroundManager*); diff --git a/src/manager/vaati3InsideArmManager.c b/src/manager/vaati3InsideArmManager.c index 579ce58b..43402c28 100644 --- a/src/manager/vaati3InsideArmManager.c +++ b/src/manager/vaati3InsideArmManager.c @@ -5,7 +5,6 @@ * @brief Manages the inside of the arms of Vaati3. */ #include "manager/vaati3InsideArmManager.h" -#include "functions.h" #include "screenTransitions.h" #include "sound.h" #include "structures.h" diff --git a/src/manager/vaati3StartManager.c b/src/manager/vaati3StartManager.c index 097f3afa..8804a640 100644 --- a/src/manager/vaati3StartManager.c +++ b/src/manager/vaati3StartManager.c @@ -8,14 +8,17 @@ #include "area.h" #include "enemy.h" #include "flags.h" -#include "functions.h" #include "message.h" #include "object.h" -#include "save.h" +#include "room.h" +#include "player.h" #include "screen.h" #include "screenTransitions.h" #include "sound.h" -#include "structures.h" +#include "scroll.h" +#if !defined(EU) && !defined(JP) +#include "save.h" +#endif void sub_0805E094(void); void Vaati3StartManager_Type0(Vaati3StartManager*); diff --git a/src/manager/vaatiAppearingManager.c b/src/manager/vaatiAppearingManager.c index 6eabadd8..930c0bd5 100644 --- a/src/manager/vaatiAppearingManager.c +++ b/src/manager/vaatiAppearingManager.c @@ -7,11 +7,11 @@ #include "manager/vaatiAppearingManager.h" #include "area.h" #include "common.h" -#include "functions.h" #include "game.h" #include "main.h" #include "room.h" #include "screen.h" +#include "physics.h" void sub_0805D9D8(VaatiAppearingManager*); void VaatiAppearingManager_Action3(VaatiAppearingManager*); diff --git a/src/manager/verticalMinishPathBackgroundManager.c b/src/manager/verticalMinishPathBackgroundManager.c index c599eae0..a5d18429 100644 --- a/src/manager/verticalMinishPathBackgroundManager.c +++ b/src/manager/verticalMinishPathBackgroundManager.c @@ -6,9 +6,10 @@ */ #include "manager/verticalMinishPathBackgroundManager.h" #include "common.h" -#include "functions.h" #include "game.h" #include "screen.h" +#include "room.h" + extern void VerticalMinishPathBackgroundManager_OnEnterRoom(void*); extern void sub_0805754C(VerticalMinishPathBackgroundManager*); diff --git a/src/manager/waterfallBottomManager.c b/src/manager/waterfallBottomManager.c index a9e7196e..47000615 100644 --- a/src/manager/waterfallBottomManager.c +++ b/src/manager/waterfallBottomManager.c @@ -7,8 +7,9 @@ #include "manager/waterfallBottomManager.h" #include "asm.h" #include "entity.h" -#include "functions.h" +#include "player.h" #include "tiles.h" +#include "room.h" void WaterfallBottomManager_Main(WaterfallBottomManager* this) { SetTile(SPECIAL_TILE_20, TILE_POS(3, 23), LAYER_BOTTOM); diff --git a/src/manager/weatherChangeManager.c b/src/manager/weatherChangeManager.c index fdddd1d6..d5da1664 100644 --- a/src/manager/weatherChangeManager.c +++ b/src/manager/weatherChangeManager.c @@ -13,7 +13,9 @@ #include "screen.h" #include "sound.h" #include "game.h" -#include "functions.h" +#include "manager/staticBackgroundManager.h" +#include "player.h" +#include "structures.h" void WeatherChangeManager_OnEnterRoom(WeatherChangeManager*); void sub_08059608(WeatherChangeManager*); diff --git a/src/menu/figurineMenu.c b/src/menu/figurineMenu.c index 913f311c..cc3e84f8 100644 --- a/src/menu/figurineMenu.c +++ b/src/menu/figurineMenu.c @@ -8,19 +8,21 @@ #include "common.h" #include "flags.h" -#include "functions.h" +#include "structures.h" #include "game.h" #include "main.h" #include "menu.h" #include "message.h" #include "object.h" -#include "pauseMenu.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "player.h" #include "save.h" #include "screen.h" -#include "sound.h" #include "subtask.h" -#include "subtask2.h" #include "ui.h" +#include "affine.h" void sub_080A4DA8(u32); void sub_080A4B44(void); @@ -442,7 +444,6 @@ const struct_08128184 gUnk_08128184 = { 0xffu, }; -extern struct_020227E8 gUnk_020227E8[]; extern void ShowTextBox(u32, const struct_0812816C*); void sub_080A4BA0(u32 arg1, u32 arg2) { @@ -470,7 +471,7 @@ void sub_080A4BA0(u32 arg1, u32 arg2) { if (r5 <= 0 || maxFigurines < r5) { r5 = -1; } else { - sub_08057044(r5, gUnk_020227E8, 0x303030); + NumberToAsciiPad3Digits(r5, &gUnk_020227E8[0], 0x303030); if (FigurineMenu_isFigurineOwned(r5) == 0) { r5 += 0x8000; } else { diff --git a/src/menu/kinstoneMenu.c b/src/menu/kinstoneMenu.c index ee6d1bf9..3f53829b 100644 --- a/src/menu/kinstoneMenu.c +++ b/src/menu/kinstoneMenu.c @@ -8,13 +8,15 @@ #include "common.h" #include "enemy.h" #include "flags.h" -#include "functions.h" +#include "structures.h" #include "kinstone.h" #include "main.h" #include "menu.h" #include "message.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "physics.h" #include "room.h" #include "roomid.h" #include "save.h" @@ -22,6 +24,7 @@ #include "sound.h" #include "subtask.h" #include "ui.h" +#include "affine.h" extern u32 sub_08000E44(u32); extern void sub_080A3B74(void); diff --git a/src/menu/pauseMenu.c b/src/menu/pauseMenu.c index 940ed787..e3585520 100644 --- a/src/menu/pauseMenu.c +++ b/src/menu/pauseMenu.c @@ -7,7 +7,6 @@ #include "pauseMenu.h" #include "common.h" -#include "functions.h" #include "game.h" #include "item.h" #include "itemMetaData.h" @@ -21,6 +20,7 @@ #include "structures.h" #include "subtask.h" #include "ui.h" +#include "affine.h" extern void sub_080A4DB8(u32); @@ -28,6 +28,7 @@ void sub_080A5128(void); void sub_080A51D4(void); bool32 sub_080A51F4(void); void sub_080A5F48(u32, u32); +void sub_080A57F4(void); void Subtask_PauseMenu(void) { static Subtask* const pauseMenu_Variants[] = { diff --git a/src/menu/pauseMenuScreen6.c b/src/menu/pauseMenuScreen6.c index e36ef549..8883a1e3 100644 --- a/src/menu/pauseMenuScreen6.c +++ b/src/menu/pauseMenuScreen6.c @@ -6,13 +6,14 @@ #include "common.h" #include "fileselect.h" #include "flags.h" -#include "functions.h" #include "kinstone.h" #include "main.h" #include "menu.h" #include "pauseMenu.h" #include "save.h" #include "screen.h" +#include "affine.h" +#include "structures.h" typedef struct { u8 unk0; diff --git a/src/message.c b/src/message.c index ea3645e1..f7435451 100644 --- a/src/message.c +++ b/src/message.c @@ -3,10 +3,10 @@ #include "asm.h" #include "room.h" #include "common.h" -#include "functions.h" #include "message.h" #include "save.h" #include "ui.h" +#include "structures.h" #define MESSAGE_ADVANCE_KEYS (A_BUTTON | B_BUTTON | DPAD_ANY | R_BUTTON) #define MESSAGE_PRESS_ANY_ADVANCE_KEYS ((gInput.newKeys & MESSAGE_ADVANCE_KEYS) != 0) @@ -34,9 +34,8 @@ enum { extern void WriteBit(u32*, u32); extern bool32 sub_0805EF40(Token* tok, const u8*); extern void sub_0805F918(u32, u32, void*); -extern u32 DecToHex(u32, u8*, u32); +extern u32 EncodeBCD(u32); -u32 sub_08056FEC(u32, u8*); u32 GetCharacter(Token* tok); extern void sub_0805EEB4(Token* tok, u32 textIdx); u32 sub_0805F7DC(u32, WStruct*); @@ -221,9 +220,9 @@ static u32 MsgIdle(void) { return 0; } -extern u8 gUnk_020227DC, gUnk_020227E8, gUnk_020227F0, gUnk_020227F8, gUnk_02022800; +extern u8 gUnk_020227DC, gUnk_020227F0, gUnk_020227F8, gUnk_02022800; u8* const gUnk_08107BE0[] = { - &gUnk_020227DC, &gUnk_020227E8, &gUnk_020227F0, &gUnk_020227F8, &gUnk_02022800, + &gUnk_020227DC, (void*)&gUnk_020227E8, &gUnk_020227F0, &gUnk_020227F8, &gUnk_02022800, }; u32 MsgInit(void) { @@ -830,37 +829,52 @@ void sub_08056F88(u32 unk_1, u32 unk_2) { } static void sub_08056FBC(TextRender* ctb) { - sub_08056FEC(ctb->message.rupees, &ctb->_66[0x2]); - sub_08056FEC(ctb->message.field_0x14, &ctb->_66[0xa]); - sub_08056FEC(ctb->message.field_0x18, &ctb->_77[0x1]); - sub_08056FEC(ctb->message.field_0x1c, &ctb->_77[0x9]); + NumberToAscii(ctb->message.rupees, &ctb->_68); + NumberToAscii(ctb->message.field_0x14, &ctb->_70); + NumberToAscii(ctb->message.field_0x18, &ctb->_78); + NumberToAscii(ctb->message.field_0x1c, &ctb->_80); } -u32 sub_08056FEC(u32 this, u8* param_2) { - u32 uVar1; - int iVar2; - int iVar3; - int iVar4; - u8 local_1c[8]; +/** + * convert number to ascii string + * + * @param number number to convert + * @param string output string buffer (at least 8 bytes in size) + * @return number of character written (NOT including null terminator) +*/ +u32 NumberToAscii(u32 number, String8* string) { + int j; + int i; + int length; + u8 buffer[8]; + char * const output = string->s; - uVar1 = DecToHex(this, param_2, this); - uVar1 = uVar1 & 0xfffffff; - iVar4 = 0; + number = EncodeBCD(number) & 0xfffffff; + length = 0; do { - local_1c[iVar4++] = uVar1 & 0xf; - uVar1 = uVar1 / 16; - } while (uVar1 != 0); - for (iVar3 = 0, iVar2 = iVar4 - 1; iVar2 >= 0; iVar3++, iVar2--) { - param_2[iVar3] = local_1c[iVar2] | 0x30; + buffer[length++] = number & 0xf; + number = number >> 4; + } while (number != 0); + for (i = 0, j = length - 1; j >= 0; i++, j--) { + output[i] = buffer[j] | '0'; } - param_2[iVar3] = 0; - return iVar4; + output[i] = '\0'; + return length; } -void sub_08057044(u32 a1, struct_020227E8* a2, u32 a3) { - u32 z[2]; - u32 tmp = sub_08056FEC(a1, (u8*)z); - u32 first = z[0]; +/** + * converts number to ascii string, padding to 3 characters with specified filler + * filler will break if not '0' of ' ' + * filler should include no more than 3 characters and might break on small number with less + * + * @param number number to convert + * @param string output string buffer + * @param filler filler characters + */ +void NumberToAsciiPad3Digits(u32 number, String8* string, u32 filler) { + String8 z; + u32 tmp = NumberToAscii(number, &z); + u32 first = z.w[0]; first <<= 8 * (3 - tmp); - a2->_0.WORD = first | a3; + string->w[0] = first | filler; } diff --git a/src/movement.c b/src/movement.c index 3bd0d134..e6fd3ec8 100644 --- a/src/movement.c +++ b/src/movement.c @@ -8,7 +8,6 @@ #include "item.h" #include "physics.h" #include "transitions.h" -#include "functions.h" bool32 sub_080AF0C8(Entity*); diff --git a/src/npc.c b/src/npc.c index 1609e901..67f70a3d 100644 --- a/src/npc.c +++ b/src/npc.c @@ -2,6 +2,7 @@ #include "entity.h" #include "room.h" #include "npc.h" +#include "flags.h" extern u32 gUnk_020342F8; diff --git a/src/npc/anju.c b/src/npc/anju.c index 2e1b02bd..0670b221 100644 --- a/src/npc/anju.c +++ b/src/npc/anju.c @@ -7,6 +7,8 @@ #include "entity.h" #include "npc.h" #include "player.h" +#include "script.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/beedle.c b/src/npc/beedle.c index 0729e1cc..97bdd677 100644 --- a/src/npc/beedle.c +++ b/src/npc/beedle.c @@ -5,13 +5,13 @@ * @brief Beedle NPC */ #include "entity.h" -#include "functions.h" #include "game.h" #include "item.h" #include "message.h" #include "npc.h" #include "room.h" #include "script.h" +#include "structures.h" typedef struct { Rect customHitbox; diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 9a134cfe..61c44d20 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -4,11 +4,19 @@ * * @brief BigGoron NPC */ -#include "functions.h" +#include "npc/bigGoron.h" #include "hitbox.h" #include "item.h" +#include "message.h" +#include "script.h" #include "npc.h" #include "screen.h" +#include "effects.h" +#include "save.h" +#include "common.h" +#include "sound.h" +#include "asm.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index 58a0ed2c..41d97d4e 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -6,7 +6,7 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "game.h" #include "item.h" #include "message.h" @@ -15,6 +15,8 @@ #include "room.h" #include "save.h" #include "script.h" +#include "sound.h" +#include "effects.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/brocco.c b/src/npc/brocco.c index b4ab49e7..3f1c7379 100644 --- a/src/npc/brocco.c +++ b/src/npc/brocco.c @@ -7,7 +7,10 @@ #include "entity.h" #include "message.h" #include "npc.h" +#include "physics.h" #include "save.h" +#include "script.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/carlov.c b/src/npc/carlov.c index 07a9abb5..c95b4d69 100644 --- a/src/npc/carlov.c +++ b/src/npc/carlov.c @@ -8,6 +8,7 @@ #include "npc.h" #include "room.h" #include "sound.h" +#include "script.h" void Carlov(Entity* this) { if (this->action == 0) { diff --git a/src/npc/carpenter.c b/src/npc/carpenter.c index 690f6c67..bc969bb5 100644 --- a/src/npc/carpenter.c +++ b/src/npc/carpenter.c @@ -8,6 +8,10 @@ #include "item.h" #include "npc.h" #include "player.h" +#include "message.h" +#include "flags.h" +#include "script.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/castleMaid.c b/src/npc/castleMaid.c index 2a47701a..a2de47c4 100644 --- a/src/npc/castleMaid.c +++ b/src/npc/castleMaid.c @@ -6,12 +6,13 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" #include "manager.h" #include "message.h" #include "npc.h" #include "save.h" #include "script.h" +#include "asm.h" +#include "physics.h" typedef struct { Entity base; diff --git a/src/npc/castorWildsStatue.c b/src/npc/castorWildsStatue.c index 5043c0f0..dd4db86d 100644 --- a/src/npc/castorWildsStatue.c +++ b/src/npc/castorWildsStatue.c @@ -7,11 +7,15 @@ #include "effects.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "npc.h" #include "script.h" #include "sound.h" #include "tiles.h" +#include "asm.h" +#include "vram.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/cat.c b/src/npc/cat.c index 9adf40f1..0693e6a1 100644 --- a/src/npc/cat.c +++ b/src/npc/cat.c @@ -6,10 +6,11 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "message.h" #include "npc.h" #include "save.h" +#include "physics.h" +#include "manager.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/clothesRack.c b/src/npc/clothesRack.c index ddf8903d..83f463db 100644 --- a/src/npc/clothesRack.c +++ b/src/npc/clothesRack.c @@ -6,6 +6,9 @@ */ #include "npc.h" #include "tiles.h" +#include "room.h" +#include "flags.h" +#include "asm.h" void sub_0806DD90(Entity*); void sub_0806DEC8(Entity*); diff --git a/src/npc/cow.c b/src/npc/cow.c index 944d26b3..a43c8b9e 100644 --- a/src/npc/cow.c +++ b/src/npc/cow.c @@ -5,10 +5,12 @@ * @brief Cow NPC */ #include "entity.h" -#include "functions.h" +#include "message.h" #include "npc.h" #include "player.h" #include "sound.h" +#include "asm.h" +#include "manager.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/cucco.c b/src/npc/cucco.c index 54042add..e0be2aff 100644 --- a/src/npc/cucco.c +++ b/src/npc/cucco.c @@ -4,9 +4,12 @@ * * @brief Cucco NPC */ -#include "functions.h" +#include "message.h" #include "kinstone.h" #include "npc.h" +#include "sound.h" +#include "save.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/cuccoChick.c b/src/npc/cuccoChick.c index adf6eaf4..75cf0ede 100644 --- a/src/npc/cuccoChick.c +++ b/src/npc/cuccoChick.c @@ -4,8 +4,11 @@ * * @brief Cucco Chick NPC */ -#include "functions.h" +#include "message.h" #include "npc.h" +#include "sound.h" +#include "asm.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/dampe.c b/src/npc/dampe.c index 62a39909..b8d66f5d 100644 --- a/src/npc/dampe.c +++ b/src/npc/dampe.c @@ -13,6 +13,8 @@ #include "player.h" #include "room.h" #include "tiles.h" +#include "script.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/din.c b/src/npc/din.c index 604c03bb..63d27d04 100644 --- a/src/npc/din.c +++ b/src/npc/din.c @@ -4,9 +4,12 @@ * * @brief Din NPC */ -#include "entity.h" -#include "kinstone.h" #include "npc.h" +#include "kinstone.h" +#include "save.h" +#include "script.h" +#include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/dog.c b/src/npc/dog.c index 628e56d8..b9a188f8 100644 --- a/src/npc/dog.c +++ b/src/npc/dog.c @@ -6,10 +6,17 @@ */ #include "collision.h" #include "entity.h" -#include "functions.h" #include "item.h" #include "npc.h" #include "tiles.h" +#include "sound.h" +#include "flags.h" +#include "save.h" +#include "message.h" +#include "script.h" +#include "asm.h" +#include "physics.h" +#include "manager.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/drLeft.c b/src/npc/drLeft.c index c89760c5..0186c83c 100644 --- a/src/npc/drLeft.c +++ b/src/npc/drLeft.c @@ -4,9 +4,15 @@ * * @brief Dr Left NPC */ -#include "functions.h" +#include "physics.h" #include "item.h" +#include "message.h" #include "npc.h" +#include "flags.h" +#include "save.h" +#include "script.h" +#include "asm.h" +#include "structures.h" void sub_0806BFD8(Entity* this); diff --git a/src/npc/emma.c b/src/npc/emma.c index 7ff05e23..fa22a81d 100644 --- a/src/npc/emma.c +++ b/src/npc/emma.c @@ -5,7 +5,6 @@ * @brief Emma NPC */ #include "entity.h" -#include "functions.h" #include "screenTransitions.h" #include "script.h" diff --git a/src/npc/epona.c b/src/npc/epona.c index bec976fd..6cca50b8 100644 --- a/src/npc/epona.c +++ b/src/npc/epona.c @@ -5,10 +5,11 @@ * @brief Epona NPC */ #include "entity.h" -#include "functions.h" #include "message.h" #include "npc.h" #include "sound.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/ezlo.c b/src/npc/ezlo.c index c8012395..ba3532cd 100644 --- a/src/npc/ezlo.c +++ b/src/npc/ezlo.c @@ -5,6 +5,11 @@ * @brief Ezlo NPC */ #include "npc.h" +#include "physics.h" +#include "effects.h" +#include "player.h" +#include "script.h" +#include "asm.h" const u8 gUnk_08114134[]; const u8 gUnk_08114144[]; diff --git a/src/npc/farmers.c b/src/npc/farmers.c index f98b8ef2..9d5a2806 100644 --- a/src/npc/farmers.c +++ b/src/npc/farmers.c @@ -5,7 +5,7 @@ * @brief Farmers NPC */ #include "entity.h" -#include "functions.h" +#include "message.h" #include "npc.h" #include "script.h" diff --git a/src/npc/farore.c b/src/npc/farore.c index ae08c094..c56a91ea 100644 --- a/src/npc/farore.c +++ b/src/npc/farore.c @@ -4,9 +4,13 @@ * * @brief Farore NPC */ -#include "entity.h" #include "npc.h" #include "kinstone.h" +#include "save.h" +#include "player.h" +#include "script.h" +#include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/festari.c b/src/npc/festari.c index 8a13f80a..992d514c 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -5,8 +5,10 @@ * @brief Festari NPC */ #include "entity.h" -#include "functions.h" #include "npc.h" +#include "script.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 7c602e2a..8a1013f4 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -4,13 +4,22 @@ * * @brief Forest Minish NPC */ -#include "functions.h" #include "item.h" #include "kinstone.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "flags.h" +#include "effects.h" +#include "physics.h" +#include "player.h" #include "playeritem.h" +#include "save.h" +#include "message.h" +#include "script.h" #include "structures.h" + typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 fusionOffer; @@ -715,7 +724,7 @@ void sub_08060318(void) { for (i = 2; i >= 0; i--) { ent = FindEntityByID(PLAYER_ITEM, PLAYER_ITEM_BOMB, 2); if (ent != NULL) { - CreateDust(ent); + CreateDeathFx(ent); DeleteEntity(ent); } } diff --git a/src/npc/gentari.c b/src/npc/gentari.c index 968f71fc..91bd3d43 100644 --- a/src/npc/gentari.c +++ b/src/npc/gentari.c @@ -6,6 +6,9 @@ */ #include "entity.h" #include "npc.h" +#include "script.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/ghostBrothers.c b/src/npc/ghostBrothers.c index 9282b35f..29f8dc09 100644 --- a/src/npc/ghostBrothers.c +++ b/src/npc/ghostBrothers.c @@ -5,11 +5,13 @@ * @brief Ghost Brothers NPC */ #include "entity.h" -#include "functions.h" #include "message.h" #include "npc.h" #include "save.h" +#include "script.h" #include "screen.h" +#include "structures.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/gina.c b/src/npc/gina.c index 0124c37e..11c8d10b 100644 --- a/src/npc/gina.c +++ b/src/npc/gina.c @@ -7,6 +7,11 @@ #include "entity.h" #include "npc.h" #include "player.h" +#include "script.h" +#include "physics.h" +#if defined(USA) || defined(DEMO_USA) +#include "flags.h" +#endif typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/gorman.c b/src/npc/gorman.c index 576ef99b..c1ea99d2 100644 --- a/src/npc/gorman.c +++ b/src/npc/gorman.c @@ -4,8 +4,13 @@ * * @brief Gorman NPC */ -#include "functions.h" +#include "player.h" #include "npc.h" +#include "asm.h" +#include "message.h" +#include "script.h" +#include "flags.h" +#include "room.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/goron.c b/src/npc/goron.c index a67b0e5f..389eb043 100644 --- a/src/npc/goron.c +++ b/src/npc/goron.c @@ -6,10 +6,13 @@ */ #include "effects.h" #include "entity.h" -#include "functions.h" #include "kinstone.h" #include "message.h" +#include "script.h" #include "npc.h" +#include "common.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index c9bd4d73..005cbaf1 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -6,11 +6,13 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "manager.h" #include "item.h" #include "message.h" #include "npc.h" #include "save.h" +#include "script.h" +#include "physics.h" static u32 GoronMerchant_GetSalePrice(Entity*); diff --git a/src/npc/gregal.c b/src/npc/gregal.c index f081280a..48cc43aa 100644 --- a/src/npc/gregal.c +++ b/src/npc/gregal.c @@ -5,9 +5,10 @@ * @brief Gregal NPC */ #include "entity.h" -#include "functions.h" #include "npc.h" #include "script.h" +#include "player.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/guard.c b/src/npc/guard.c index 760bb6b0..8acd58d6 100644 --- a/src/npc/guard.c +++ b/src/npc/guard.c @@ -6,13 +6,14 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "manager.h" #include "message.h" #include "npc.h" #include "player.h" #include "projectile.h" #include "room.h" #include "script.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/guardWithSpear.c b/src/npc/guardWithSpear.c index e4821138..b3ebce26 100644 --- a/src/npc/guardWithSpear.c +++ b/src/npc/guardWithSpear.c @@ -5,12 +5,18 @@ * @brief Guard with Spear NPC */ #include "entity.h" -#include "functions.h" #include "item.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" #include "player.h" #include "script.h" +#include "save.h" +#include "message.h" typedef struct { /*0x00*/ Entity base; @@ -132,7 +138,7 @@ void sub_08064198(GuardWithSpearEntity* this) { ProcessMovement0(super); if (sVar1 != super->y.HALF.HI) { if (0x140 < gPlayerEntity.base.speed && gRoomTransition.frameCount % 6 == 0) { - CreateDustSmall(super); + CreateDashFx(super); } this->unk_71 = 10; animationState = super->animationState = GetAnimationStateForDirection8(super->direction); @@ -154,7 +160,7 @@ void sub_08064198(GuardWithSpearEntity* this) { sVar1 = super->z.HALF.HI; super->z.HALF.HI = gPlayerEntity.base.z.HALF.HI; if (sVar1 < 0 && gPlayerEntity.base.z.HALF.HI == 0) { - CreateDustSmall(super); + CreateDashFx(super); } } @@ -189,7 +195,7 @@ void sub_080642B8(GuardWithSpearEntity* this) { ProcessMovement0(super); if (sVar1 != super->x.HALF.HI) { if (0x140 < gPlayerEntity.base.speed && gRoomTransition.frameCount % 6 == 0) { - CreateDustSmall(super); + CreateDashFx(super); } this->unk_71 = 10; animationState = super->animationState = GetAnimationStateForDirection8(super->direction); @@ -211,7 +217,7 @@ void sub_080642B8(GuardWithSpearEntity* this) { sVar1 = super->z.HALF.HI; super->z.HALF.HI = gPlayerEntity.base.z.HALF.HI; if (sVar1 < 0 && gPlayerEntity.base.z.HALF.HI == 0) { - CreateDustSmall(super); + CreateDashFx(super); } } diff --git a/src/npc/hurdyGurdyMan.c b/src/npc/hurdyGurdyMan.c index eb271392..51600e21 100644 --- a/src/npc/hurdyGurdyMan.c +++ b/src/npc/hurdyGurdyMan.c @@ -5,9 +5,13 @@ * @brief Hurdy Gurdy Man NPC */ #include "entity.h" -#include "functions.h" +#include "message.h" #include "npc.h" #include "save.h" +#include "script.h" +#include "common.h" +#include "asm.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/kid.c b/src/npc/kid.c index 678ff84b..766d5814 100644 --- a/src/npc/kid.c +++ b/src/npc/kid.c @@ -4,10 +4,16 @@ * * @brief Kid NPC */ -#include "functions.h" #include "message.h" #include "npc.h" #include "tiles.h" +#include "save.h" +#include "common.h" +#include "asm.h" +#include "script.h" +#include "manager.h" +#include "structures.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/kingDaltus.c b/src/npc/kingDaltus.c index 1840e24e..d4a52aee 100644 --- a/src/npc/kingDaltus.c +++ b/src/npc/kingDaltus.c @@ -5,10 +5,12 @@ * @brief King Daltus NPC */ #include "entity.h" -#include "functions.h" #include "item.h" #include "npc.h" #include "script.h" +#include "message.h" +#include "flags.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/kingGustaf.c b/src/npc/kingGustaf.c index 48db93af..0a738bea 100644 --- a/src/npc/kingGustaf.c +++ b/src/npc/kingGustaf.c @@ -5,8 +5,8 @@ * @brief King Gustaf NPC */ #include "entity.h" -#include "functions.h" #include "screen.h" +#include "script.h" void KingGustaf(Entity* this) { s32 speed; diff --git a/src/npc/librari.c b/src/npc/librari.c index 7e2a69ba..fc8db45a 100644 --- a/src/npc/librari.c +++ b/src/npc/librari.c @@ -7,6 +7,9 @@ #include "entity.h" #include "item.h" #include "npc.h" +#include "flags.h" +#include "message.h" +#include "script.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/librarians.c b/src/npc/librarians.c index e19c3cc4..d53d6387 100644 --- a/src/npc/librarians.c +++ b/src/npc/librarians.c @@ -6,7 +6,6 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" #include "item.h" #include "message.h" #include "script.h" diff --git a/src/npc/mailbox.c b/src/npc/mailbox.c index 5eb4ea9d..7732485b 100644 --- a/src/npc/mailbox.c +++ b/src/npc/mailbox.c @@ -8,6 +8,7 @@ #include "entity.h" #include "message.h" #include "npc.h" +#include "player.h" void sub_08063280(Entity*); void sub_08063210(Entity*); diff --git a/src/npc/malon.c b/src/npc/malon.c index add79ace..a2a8fc9c 100644 --- a/src/npc/malon.c +++ b/src/npc/malon.c @@ -7,6 +7,8 @@ #include "entity.h" #include "npc.h" #include "script.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/mama.c b/src/npc/mama.c index fa20f7a2..e322a247 100644 --- a/src/npc/mama.c +++ b/src/npc/mama.c @@ -8,6 +8,8 @@ #include "npc.h" #include "save.h" #include "script.h" +#include "message.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/marcy.c b/src/npc/marcy.c index f7c56f54..a4d29146 100644 --- a/src/npc/marcy.c +++ b/src/npc/marcy.c @@ -6,7 +6,7 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "script.h" #include "item.h" #include "message.h" diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index 9f4aeb4c..89e42266 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -9,6 +9,11 @@ #include "item.h" #include "npc.h" #include "player.h" +#include "message.h" +#include "save.h" +#include "script.h" +#include "physics.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/melari.c b/src/npc/melari.c index 30c08445..e8d10481 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -6,6 +6,12 @@ */ #include "item.h" #include "npc.h" +#include "physics.h" +#include "effects.h" +#include "sound.h" +#include "script.h" +#include "message.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/ministerPotho.c b/src/npc/ministerPotho.c index 1532a424..fbcf9b8c 100644 --- a/src/npc/ministerPotho.c +++ b/src/npc/ministerPotho.c @@ -9,6 +9,8 @@ #include "item.h" #include "message.h" #include "npc.h" +#include "script.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/moblinLady.c b/src/npc/moblinLady.c index 1fa8d109..8ff54300 100644 --- a/src/npc/moblinLady.c +++ b/src/npc/moblinLady.c @@ -6,6 +6,7 @@ */ #include "entity.h" #include "npc.h" +#include "script.h" void MoblinLady(Entity* this) { if (this->action == 0) { diff --git a/src/npc/mountainMinish.c b/src/npc/mountainMinish.c index 4bbf89b9..8f471cba 100644 --- a/src/npc/mountainMinish.c +++ b/src/npc/mountainMinish.c @@ -6,11 +6,14 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "item.h" #include "message.h" #include "npc.h" #include "script.h" +#include "effects.h" +#include "sound.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index 5e09a1d0..407c6f16 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -11,6 +11,9 @@ #include "message.h" #include "npc.h" #include "player.h" +#include "save.h" +#include "physics.h" +#include "script.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/nayru.c b/src/npc/nayru.c index 5130dbf5..3b501723 100644 --- a/src/npc/nayru.c +++ b/src/npc/nayru.c @@ -4,9 +4,13 @@ * * @brief Nayru NPC */ -#include "entity.h" -#include "kinstone.h" #include "npc.h" +#include "kinstone.h" +#include "save.h" +#include "player.h" +#include "script.h" +#include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/npc23.c b/src/npc/npc23.c index acda02d4..cd3e67b0 100644 --- a/src/npc/npc23.c +++ b/src/npc/npc23.c @@ -5,11 +5,12 @@ * @brief NPC 23 */ #include "entity.h" -#include "functions.h" #include "message.h" #include "npc.h" #include "player.h" #include "structures.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/npc26.c b/src/npc/npc26.c index b3b5860b..0a4f4107 100644 --- a/src/npc/npc26.c +++ b/src/npc/npc26.c @@ -6,6 +6,8 @@ */ #include "entity.h" #include "npc.h" +#include "script.h" +#include "player.h" static void (*const gUnk_081106D4[])(Entity*); static void (*const gUnk_081106E0[])(Entity*); diff --git a/src/npc/npc4E.c b/src/npc/npc4E.c index 73dced19..3fd3da2e 100644 --- a/src/npc/npc4E.c +++ b/src/npc/npc4E.c @@ -6,17 +6,23 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "structures.h" #include "game.h" #include "hitbox.h" #include "item.h" #include "kinstone.h" #include "npc.h" #include "object.h" +#include "common.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "save.h" #include "screenTransitions.h" #include "sound.h" #include "tiles.h" +#include "scroll.h" +#include "script.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/npc4F.c b/src/npc/npc4F.c index 3f9450a3..442f9868 100644 --- a/src/npc/npc4F.c +++ b/src/npc/npc4F.c @@ -5,6 +5,7 @@ * @brief NPC 4F */ #include "npc.h" +#include "asm.h" void NPC4F(Entity* this) { if (this->action == 0) { diff --git a/src/npc/npc5.c b/src/npc/npc5.c index 27c865d6..787bb16f 100644 --- a/src/npc/npc5.c +++ b/src/npc/npc5.c @@ -5,11 +5,16 @@ * @brief Unused Zelda follower NPC. */ #include "collision.h" -#include "functions.h" #include "hitbox.h" #include "message.h" #include "npc.h" #include "tiles.h" +#include "flags.h" +#include "common.h" +#include "physics.h" +#include "asm.h" +#include "room.h" +#include "player.h" #define kFollowDistance 32 // distance to follow player #define kPoiDistance 4 // point of interest distance diff --git a/src/npc/npc9.c b/src/npc/npc9.c index 99fcccb9..b8d04ce5 100644 --- a/src/npc/npc9.c +++ b/src/npc/npc9.c @@ -7,6 +7,7 @@ #include "entity.h" #include "message.h" #include "npc.h" +#include "player.h" void sub_08062AF0(Entity*); void sub_08062B14(Entity*); diff --git a/src/npc/percy.c b/src/npc/percy.c index a3a04a44..5f4e660d 100644 --- a/src/npc/percy.c +++ b/src/npc/percy.c @@ -5,10 +5,17 @@ * @brief Percy NPC */ #include "entity.h" -#include "functions.h" #include "item.h" #include "kinstone.h" +#include "message.h" #include "npc.h" +#include "save.h" +#include "script.h" +#include "common.h" +#include "asm.h" +#include "effects.h" +#include "flags.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/phonograph.c b/src/npc/phonograph.c index f10677d2..241f2947 100644 --- a/src/npc/phonograph.c +++ b/src/npc/phonograph.c @@ -8,10 +8,10 @@ #include "entity.h" #include "fileselect.h" #include "flags.h" -#include "functions.h" #include "message.h" #include "screen.h" #include "script.h" +#include "sound.h" typedef struct { /*0x00*/ Entity base; @@ -205,14 +205,14 @@ const static Font gUnk_081146B8 = { #ifdef EU void sub_0806EABC(PhonographEntity* this) { sub_08050384(); - sub_08057044(this->unk_68, gUnk_020227E8, 0x202020); + NumberToAsciiPad3Digits(this->unk_68, gUnk_020227E8, 0x202020); ShowTextBox(0x3302, &gUnk_081146B8); gScreen.bg0.updated = 1; } #else void sub_0806EABC(Entity* this, u32 param) { sub_08050384(); - sub_08057044(param, gUnk_020227E8, 0x202020); + NumberToAsciiPad3Digits(param, &gUnk_020227E8[0], 0x202020); ShowTextBox(0x3302, &gUnk_081146B8); gScreen.bg0.updated = 1; } diff --git a/src/npc/picolyteBottle.c b/src/npc/picolyteBottle.c index c384b53b..16170a02 100644 --- a/src/npc/picolyteBottle.c +++ b/src/npc/picolyteBottle.c @@ -5,15 +5,19 @@ * @brief Picolyte Bottle NPC */ #include "entity.h" -#include "functions.h" #include "hitbox.h" #include "kinstone.h" #include "message.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "screenTransitions.h" #include "script.h" -#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/pina.c b/src/npc/pina.c index 26692def..592c4246 100644 --- a/src/npc/pina.c +++ b/src/npc/pina.c @@ -5,11 +5,14 @@ * @brief Pina NPC */ #include "entity.h" -#include "functions.h" #include "message.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "physics.h" +#include "player.h" #include "save.h" +#include "script.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/pita.c b/src/npc/pita.c index 804a0e38..3cfd55de 100644 --- a/src/npc/pita.c +++ b/src/npc/pita.c @@ -6,6 +6,11 @@ */ #include "item.h" #include "npc.h" +#include "message.h" +#include "flags.h" +#include "script.h" +#include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/postman.c b/src/npc/postman.c index 05f0d906..4a8bbb43 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -5,9 +5,14 @@ * @brief Postman NPC */ #include "entity.h" -#include "functions.h" #include "npc.h" #include "sound.h" +#include "effects.h" +#include "save.h" +#include "script.h" +#include "asm.h" +#include "message.h" +#include "physics.h" #include "structures.h" typedef struct { diff --git a/src/npc/rem.c b/src/npc/rem.c index d921f196..4298eccd 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -4,9 +4,16 @@ * * @brief Rem NPC */ -#include "functions.h" +#include "physics.h" #include "item.h" #include "npc.h" +#include "flags.h" +#include "sound.h" +#include "message.h" +#include "script.h" +#include "asm.h" +#include "structures.h" +#include "room.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/simon.c b/src/npc/simon.c index 480897ee..ddce95ea 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -6,8 +6,8 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" #include "object.h" +#include "effects.h" #include "room.h" #include "screen.h" #include "screenTransitions.h" diff --git a/src/npc/sittingPerson.c b/src/npc/sittingPerson.c index c3da1060..b5eea94f 100644 --- a/src/npc/sittingPerson.c +++ b/src/npc/sittingPerson.c @@ -5,7 +5,13 @@ * @brief Sitting Person NPC */ #include "npc.h" -#include "functions.h" +#include "save.h" +#include "flags.h" +#include "asm.h" +#include "message.h" +#include "script.h" +#include "physics.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/smallTownMinish.c b/src/npc/smallTownMinish.c index bada8800..485b4db9 100644 --- a/src/npc/smallTownMinish.c +++ b/src/npc/smallTownMinish.c @@ -5,12 +5,13 @@ * @brief Small Town Minish NPC */ #include "entity.h" -#include "functions.h" #include "item.h" +#include "message.h" #include "npc.h" #include "player.h" #include "save.h" #include "script.h" +#include "structures.h" void SmallTownMinish(Entity* this) { static const Hitbox gUnk_081142FC = { -2, 1, { 0, 0, 0, 0 }, 6, 6 }; diff --git a/src/npc/smith.c b/src/npc/smith.c index 2210dede..f002c7fa 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -4,8 +4,16 @@ * * @brief Smith NPC */ -#include "functions.h" +#include "physics.h" #include "npc.h" +#include "sound.h" +#include "save.h" +#include "flags.h" +#include "effects.h" +#include "message.h" +#include "script.h" +#include "asm.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/stamp.c b/src/npc/stamp.c index 8051fe44..ef6c99c0 100644 --- a/src/npc/stamp.c +++ b/src/npc/stamp.c @@ -6,10 +6,12 @@ */ #include "effects.h" #include "entity.h" -#include "functions.h" #include "kinstone.h" #include "message.h" #include "npc.h" +#include "common.h" +#include "script.h" +#include "player.h" void sub_08062CA4(Entity*); void sub_08062BD4(Entity*); diff --git a/src/npc/stockwell.c b/src/npc/stockwell.c index d1971904..786e39e7 100644 --- a/src/npc/stockwell.c +++ b/src/npc/stockwell.c @@ -5,14 +5,21 @@ * @brief Stockwell NPC */ #include "entity.h" -#include "functions.h" #include "game.h" #include "item.h" #include "message.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "flags.h" +#include "player.h" #include "room.h" #include "script.h" +#include "save.h" +#include "subtask.h" +#ifndef EU +#include "structures.h" +#endif #ifndef EU static const Rect gUnk_0810FDA0 = { 0, 8, 10, 16 }; diff --git a/src/npc/sturgeon.c b/src/npc/sturgeon.c index b48d2ec6..c6e51c21 100644 --- a/src/npc/sturgeon.c +++ b/src/npc/sturgeon.c @@ -5,10 +5,16 @@ * @brief Sturgeon NPC */ #include "entity.h" -#include "functions.h" #include "item.h" #include "npc.h" #include "object.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" +#include "message.h" +#include "script.h" typedef struct { /*0x00*/ Entity base; @@ -148,7 +154,7 @@ void Sturgeon_Head(Entity* this) { void sub_08064C9C(Entity* this) { if ((this->timer != 0) && ((gRoomTransition.frameCount & 3U) == 0)) { - CreateDust(this); + CreateDeathFx(this); } } diff --git a/src/npc/syrup.c b/src/npc/syrup.c index 60083964..7609ffe1 100644 --- a/src/npc/syrup.c +++ b/src/npc/syrup.c @@ -4,9 +4,13 @@ * * @brief Syrup NPC */ -#include "functions.h" +#include "script.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/talon.c b/src/npc/talon.c index ddcd1977..c0558722 100644 --- a/src/npc/talon.c +++ b/src/npc/talon.c @@ -4,9 +4,12 @@ * * @brief Talon NPC */ -#include "functions.h" +#include "physics.h" #include "item.h" #include "npc.h" +#include "script.h" +#include "message.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/teachers.c b/src/npc/teachers.c index 89953855..605ae639 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -9,6 +9,8 @@ #include "player.h" #include "save.h" #include "script.h" +#include "message.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/tingleSiblings.c b/src/npc/tingleSiblings.c index 75abc4db..3dc599be 100644 --- a/src/npc/tingleSiblings.c +++ b/src/npc/tingleSiblings.c @@ -5,10 +5,17 @@ * @brief Tingle Siblings NPC */ #include "entity.h" -#include "functions.h" #include "item.h" #include "kinstone.h" #include "npc.h" +#include "flags.h" +#include "save.h" +#include "effects.h" +#include "common.h" +#include "message.h" +#include "script.h" +#include "asm.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index b0f3fc68..b97dee5f 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -6,10 +6,15 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "item.h" #include "npc.h" #include "tiles.h" +#include "flags.h" +#include "message.h" +#include "save.h" +#include "script.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 8f8b34f1..1501b175 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -4,9 +4,16 @@ * * @brief Townsperson NPC */ -#include "functions.h" #include "item.h" #include "npc.h" +#include "save.h" +#include "script.h" +#include "flags.h" +#include "effects.h" +#include "asm.h" +#include "message.h" +#include "manager.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/vaati.c b/src/npc/vaati.c index d272f3d8..7b9017e0 100644 --- a/src/npc/vaati.c +++ b/src/npc/vaati.c @@ -5,9 +5,9 @@ * @brief Vaati NPC */ #include "entity.h" -#include "functions.h" #include "script.h" #include "sound.h" +#include "room.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/vaatiReborn.c b/src/npc/vaatiReborn.c index 82c349be..ffee2a4c 100644 --- a/src/npc/vaatiReborn.c +++ b/src/npc/vaatiReborn.c @@ -4,8 +4,11 @@ * * @brief Vaati Reborn NPC */ -#include "functions.h" #include "npc.h" +#include "sound.h" +#include "flags.h" +#include "message.h" +#include "physics.h" void VaatiRebornAction0(Entity* this); void VaatiRebornAction1(Entity* this); diff --git a/src/npc/wheaton.c b/src/npc/wheaton.c index 41eb8ac9..38b2585b 100644 --- a/src/npc/wheaton.c +++ b/src/npc/wheaton.c @@ -5,6 +5,8 @@ * @brief Wheaton NPC */ #include "npc.h" +#include "physics.h" +#include "script.h" void Wheaton(Entity* this) { static const Hitbox gUnk_0810C3C0 = { 0, 4, { 0, 0, 0, 0 }, 6, 12 }; diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c index 521e850b..dfa257a3 100644 --- a/src/npc/windTribespeople.c +++ b/src/npc/windTribespeople.c @@ -7,6 +7,11 @@ #include "entity.h" #include "npc.h" #include "sound.h" +#include "script.h" +#include "message.h" +#include "flags.h" +#include "save.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/zelda.c b/src/npc/zelda.c index e740296f..49a269bc 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -7,10 +7,14 @@ #include "npc/zelda.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "script.h" +#include "physics.h" #include "npc.h" #include "sound.h" #include "tiles.h" +#include "asm.h" +#include "room.h" +#include "player.h" void ZeldaFollower_Hide(Entity*, Entity*); void ZeldaFollower_Show(Entity*, Entity*); diff --git a/src/npc/zeldaFollower.c b/src/npc/zeldaFollower.c index 3e372423..28ce780f 100644 --- a/src/npc/zeldaFollower.c +++ b/src/npc/zeldaFollower.c @@ -7,7 +7,9 @@ #include "npc/zelda.h" #include "common.h" #include "entity.h" -#include "functions.h" +#include "asm.h" +#include "physics.h" +#include "player.h" extern s32 sub_080041E8(s32 x1, s32 y1, s32 x2, s32 y2); diff --git a/src/npcUtils.c b/src/npcUtils.c index 6866991c..e5a5318c 100644 --- a/src/npcUtils.c +++ b/src/npcUtils.c @@ -1,12 +1,16 @@ #include "global.h" #include "asm.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "definitions.h" #include "save.h" +#include "message.h" #include "npc.h" #include "kinstone.h" #include "hitbox.h" +#include "flags.h" +#include "common.h" +#include "vram.h" extern const NPCDefinition gNPCDefinitions[]; diff --git a/src/object.c b/src/object.c index 4f61cd10..6377e410 100644 --- a/src/object.c +++ b/src/object.c @@ -198,8 +198,6 @@ void (*const gObjectFunctions[])(Entity*) = { [LINK_ANIMATION] = LinkAnimation, }; -void ObjectInit(Entity*); - void ObjectUpdate(Entity* this) { if ((this->flags & ENT_DID_INIT) == 0 && this->action == 0) ObjectInit(this); diff --git a/src/object/ambientClouds.c b/src/object/ambientClouds.c index 7e885373..05e604ce 100644 --- a/src/object/ambientClouds.c +++ b/src/object/ambientClouds.c @@ -7,8 +7,8 @@ #include "asm.h" #include "effects.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "player.h" void AmbientClouds_Init(Entity* this); void AmbientClouds_Action1(Entity* this); diff --git a/src/object/backgroundCloud.c b/src/object/backgroundCloud.c index 0c150823..53d29d75 100644 --- a/src/object/backgroundCloud.c +++ b/src/object/backgroundCloud.c @@ -5,6 +5,9 @@ * @brief BackgroundCloud object */ #include "object.h" +#include "asm.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/bakerOven.c b/src/object/bakerOven.c index 1add5b41..3dce7457 100644 --- a/src/object/bakerOven.c +++ b/src/object/bakerOven.c @@ -4,8 +4,12 @@ * * @brief Baker Oven object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/barrelSpiderweb.c b/src/object/barrelSpiderweb.c index 69a1ea77..dd694bc3 100644 --- a/src/object/barrelSpiderweb.c +++ b/src/object/barrelSpiderweb.c @@ -4,9 +4,17 @@ * * @brief Barrel Spiderweb object */ -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "common.h" + +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" + +#include "player.h" void BarrelSpiderweb_Init(Entity*); void BarrelSpiderweb_Action1(Entity*); diff --git a/src/object/beanstalk.c b/src/object/beanstalk.c index e445d415..0b70aa06 100644 --- a/src/object/beanstalk.c +++ b/src/object/beanstalk.c @@ -4,9 +4,14 @@ * * @brief Beanstalk object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "tiles.h" +#include "vram.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/bedCover.c b/src/object/bedCover.c index a24189f5..10697f49 100644 --- a/src/object/bedCover.c +++ b/src/object/bedCover.c @@ -4,7 +4,7 @@ * * @brief Bed Cover object */ -#include "functions.h" +#include "script.h" #include "object.h" typedef struct { diff --git a/src/object/bench.c b/src/object/bench.c index 2b72fc56..8ca49a3c 100644 --- a/src/object/bench.c +++ b/src/object/bench.c @@ -6,9 +6,8 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" +#include "room.h" #include "player.h" -#include "sound.h" typedef struct { Entity base; diff --git a/src/object/bigBarrel.c b/src/object/bigBarrel.c index 74f13c50..4f7f99ee 100644 --- a/src/object/bigBarrel.c +++ b/src/object/bigBarrel.c @@ -10,9 +10,9 @@ #include "flags.h" #include "map.h" #include "object.h" +#include "sound.h" #include "room.h" #include "save.h" -#include "sound.h" #include "tiles.h" typedef struct { diff --git a/src/object/bigIceBlock.c b/src/object/bigIceBlock.c index 7cd09aa6..543f323f 100644 --- a/src/object/bigIceBlock.c +++ b/src/object/bigIceBlock.c @@ -8,6 +8,13 @@ #include "hitbox.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/bigPushableLever.c b/src/object/bigPushableLever.c index e7efcd56..1a01f69b 100644 --- a/src/object/bigPushableLever.c +++ b/src/object/bigPushableLever.c @@ -4,8 +4,12 @@ * * @brief Big Pushable Lever object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/bigVortex.c b/src/object/bigVortex.c index 6ee294ac..ded88e94 100644 --- a/src/object/bigVortex.c +++ b/src/object/bigVortex.c @@ -6,8 +6,11 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" #include "object.h" +#include "effects.h" +#include "physics.h" +#include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/bird.c b/src/object/bird.c index 638d2c52..e7cd5218 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -5,13 +5,21 @@ * @brief Bird object */ #include "collision.h" -#include "functions.h" #include "game.h" #include "item.h" #include "message.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "object/cutsceneOrchestrator.h" #include "save.h" +#include "subtask.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/blockPushed.c b/src/object/blockPushed.c index 85f45ce9..72b4a0a0 100644 --- a/src/object/blockPushed.c +++ b/src/object/blockPushed.c @@ -5,9 +5,14 @@ * @brief Block Pushed object */ #include "area.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" +#include "vram.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/board.c b/src/object/board.c index a05b42e4..ab757067 100644 --- a/src/object/board.c +++ b/src/object/board.c @@ -6,7 +6,6 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" #include "player.h" #include "room.h" #include "tiles.h" diff --git a/src/object/bollard.c b/src/object/bollard.c index 43286546..16dd4959 100644 --- a/src/object/bollard.c +++ b/src/object/bollard.c @@ -7,7 +7,6 @@ #include "asm.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "room.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/book.c b/src/object/book.c index 9903ae37..ef4610a1 100644 --- a/src/object/book.c +++ b/src/object/book.c @@ -5,11 +5,17 @@ * @brief Book object */ #include "collision.h" -#include "functions.h" #include "item.h" #include "message.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/bossDoor.c b/src/object/bossDoor.c index 4c5084e8..91324598 100644 --- a/src/object/bossDoor.c +++ b/src/object/bossDoor.c @@ -4,10 +4,18 @@ * * @brief Boss Door object */ -#include "functions.h" +#include "object/lockedDoor.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" +#include "common.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/bush.c b/src/object/bush.c index a83a2aec..bd9c3a37 100644 --- a/src/object/bush.c +++ b/src/object/bush.c @@ -4,9 +4,13 @@ * * @brief Bush object */ -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/button.c b/src/object/button.c index ace84517..e223f28c 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -4,9 +4,14 @@ * * @brief Button object */ -#include "functions.h" #include "tiles.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/cameraTarget.c b/src/object/cameraTarget.c index f327c414..7364ce96 100644 --- a/src/object/cameraTarget.c +++ b/src/object/cameraTarget.c @@ -6,9 +6,11 @@ */ #include "common.h" #include "entity.h" -#include "functions.h" +#include "player.h" #include "kinstone.h" #include "message.h" +#include "vram.h" +#include "structures.h" // typedef struct { // Entity base; diff --git a/src/object/carlovObject.c b/src/object/carlovObject.c index 23873a92..00536c0b 100644 --- a/src/object/carlovObject.c +++ b/src/object/carlovObject.c @@ -4,8 +4,15 @@ * * @brief Carlov Object object */ -#include "functions.h" +#include "object/lockedDoor.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { @@ -168,7 +175,7 @@ void CarlovObject_Type2Init(CarlovObjectEntity* this) { super->frameIndex = 1; } } - CreateDust(super); + CreateDeathFx(super); } void CarlovObject_Type2Action1(CarlovObjectEntity* this) { diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index d6f3256f..582ecbac 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -6,11 +6,17 @@ */ #include "item.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "player.h" #include "screen.h" #include "tiles.h" #include "manager/lightManager.h" #include "structures.h" -#include "functions.h" +#include "beanstalkSubtask.h" typedef struct { /*0x00*/ Entity base; @@ -131,7 +137,7 @@ void ChestSpawner_Type2Action2(ChestSpawnerEntity* this) { break; default: sub_0800445C(super); - CreateMagicSparkles(super->x.HALF.HI, super->y.HALF.HI, 2); + CreateMagicSparklesFxAt(super->x.HALF.HI, super->y.HALF.HI, 2); if (--super->timer == 0) { super->timer = 8; tmp = ++super->subtimer; @@ -260,7 +266,7 @@ void ChestSpawner_Type0Action2(ChestSpawnerEntity* this) { break; default: SoundReq(SFX_SECRET); - CreateDust(super); + CreateDeathFx(super); break; } super->action = 3; @@ -281,7 +287,7 @@ void ChestSpawner_Type0Action3(ChestSpawnerEntity* this) { } else { super->action = 1; RestorePrevTileEntity(this->tilePos, super->collisionLayer); - CreateDust(super); + CreateDeathFx(super); } } } diff --git a/src/object/chuchuBossCutscene.c b/src/object/chuchuBossCutscene.c index 9c1287f2..59d02100 100644 --- a/src/object/chuchuBossCutscene.c +++ b/src/object/chuchuBossCutscene.c @@ -4,9 +4,12 @@ * * @brief Chuchu Boss Cutscene object */ -#include "functions.h" #include "menu.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "physics.h" void ChuchuBossCutscene_Init(Entity*); void ChuchuBossCutscene_Action1(Entity*); diff --git a/src/object/chuchuBossStartParticle.c b/src/object/chuchuBossStartParticle.c index 286c414c..312b5839 100644 --- a/src/object/chuchuBossStartParticle.c +++ b/src/object/chuchuBossStartParticle.c @@ -4,8 +4,12 @@ * * @brief Chuchu Boss Start Particle object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/cloud.c b/src/object/cloud.c index 58d34f12..7521bdb4 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -4,8 +4,13 @@ * * @brief Cloud object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "structures.h" typedef struct { diff --git a/src/object/crackingGround.c b/src/object/crackingGround.c index fe8488c0..bd13dadf 100644 --- a/src/object/crackingGround.c +++ b/src/object/crackingGround.c @@ -4,8 +4,12 @@ * * @brief Cracking Ground object */ -#include "functions.h" +#include "asm.h" #include "object.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "player.h" void CrackingGround(Entity* this) { if (this->action == 0) { diff --git a/src/object/crenelBeanSprout.c b/src/object/crenelBeanSprout.c index b57c4c8c..e8f5a060 100644 --- a/src/object/crenelBeanSprout.c +++ b/src/object/crenelBeanSprout.c @@ -5,10 +5,16 @@ * @brief Crenel Bean Sprout object */ #include "asm.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; @@ -241,7 +247,7 @@ void CrenelBeanSprout_Action4(CrenelBeanSproutEntity* this) { if (--super->timer == 0) { super->action = 6; super->subAction = 0; - CreateDust(super); + CreateDeathFx(super); } } else { super->timer = 192; diff --git a/src/object/cuccoMinigame.c b/src/object/cuccoMinigame.c index ae866925..2b0d400e 100644 --- a/src/object/cuccoMinigame.c +++ b/src/object/cuccoMinigame.c @@ -8,10 +8,14 @@ #include "enemy.h" #include "entity.h" #include "fileselect.h" -#include "functions.h" #include "item.h" #include "npc.h" #include "object.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "script.h" #include "tiles.h" diff --git a/src/object/cutsceneMiscObject.c b/src/object/cutsceneMiscObject.c index 2427c370..d8ac6be7 100644 --- a/src/object/cutsceneMiscObject.c +++ b/src/object/cutsceneMiscObject.c @@ -4,12 +4,21 @@ * * @brief Cutscene Misc object */ +#include "object/cutsceneMiscObject.h" #include "area.h" -#include "functions.h" #include "item.h" #include "message.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "screen.h" +#include "scroll.h" #include "script.h" #include "tiles.h" @@ -188,7 +197,7 @@ void sub_08094B94(CutsceneMiscObjectEntity* this) { CopyPosition(&gPlayerEntity.base, e); e->z.HALF.HI = -48; ((CutsceneMiscObjectEntity*)e)->ctx = StartCutscene(e, &script_CutsceneMiscObjectTheLittleHat); - CreateDust(e); + CreateDeathFx(e); e->z.HALF.HI += 16; e->y.HALF.HI++; } diff --git a/src/object/cutsceneOrchestrator.c b/src/object/cutsceneOrchestrator.c index efc726a3..29312433 100644 --- a/src/object/cutsceneOrchestrator.c +++ b/src/object/cutsceneOrchestrator.c @@ -5,7 +5,7 @@ * @brief Cutscene Orchestrator object */ #include "entity.h" -#include "functions.h" +#include "script.h" #include "hitbox.h" void CutsceneOrchestrator(Entity* this) { diff --git a/src/object/deathFx.c b/src/object/deathFx.c index 2f51e110..a752fb53 100644 --- a/src/object/deathFx.c +++ b/src/object/deathFx.c @@ -7,9 +7,11 @@ #include "object/deathFx.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "item.h" +#include "physics.h" #include "global.h" #include "sound.h" +#include "vram.h" void sub_08081790(DeathFxObject* this); void DeathFx_Delete(DeathFxObject* this); diff --git a/src/object/dirtParticle.c b/src/object/dirtParticle.c index cfd0295a..1a038be5 100644 --- a/src/object/dirtParticle.c +++ b/src/object/dirtParticle.c @@ -4,8 +4,10 @@ * * @brief Dirt Particle object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/doubleBookshelf.c b/src/object/doubleBookshelf.c index c5a7386c..48fc4dcd 100644 --- a/src/object/doubleBookshelf.c +++ b/src/object/doubleBookshelf.c @@ -4,8 +4,13 @@ * * @brief Double Bookshelf object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/elementsBackground.c b/src/object/elementsBackground.c index f046d3b7..eaeb532f 100644 --- a/src/object/elementsBackground.c +++ b/src/object/elementsBackground.c @@ -5,7 +5,6 @@ * @brief Elements Background object */ #include "entity.h" -#include "functions.h" #include "screen.h" void ElementsBackground_Init(Entity*); diff --git a/src/object/enemyItem.c b/src/object/enemyItem.c index ac39921b..b44b85b9 100644 --- a/src/object/enemyItem.c +++ b/src/object/enemyItem.c @@ -4,8 +4,11 @@ * * @brief Enemy Item object */ -#include "functions.h" +#include "scroll.h" #include "object.h" +#include "flags.h" +#include "physics.h" +#include "item.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/evilSpirit.c b/src/object/evilSpirit.c index bec6e328..7f74689a 100644 --- a/src/object/evilSpirit.c +++ b/src/object/evilSpirit.c @@ -1,7 +1,9 @@ #include "entity.h" -#include "functions.h" #include "flags.h" #include "object.h" +#include "asm.h" +#include "physics.h" +#include "player.h" typedef struct { Entity base; diff --git a/src/object/ezloCap.c b/src/object/ezloCap.c index de1beb00..f342e00a 100644 --- a/src/object/ezloCap.c +++ b/src/object/ezloCap.c @@ -4,9 +4,13 @@ * * @brief Ezlo Cap object */ -#include "functions.h" #include "message.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "script.h" +#include "player.h" +#include "vram.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/ezloCapFlying.c b/src/object/ezloCapFlying.c index 91c197a0..2d270232 100644 --- a/src/object/ezloCapFlying.c +++ b/src/object/ezloCapFlying.c @@ -4,8 +4,12 @@ * * @brief Ezlo Cap Flying object */ -#include "functions.h" +#include "asm.h" #include "object.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/fairy.c b/src/object/fairy.c index c544d561..430da8d9 100644 --- a/src/object/fairy.c +++ b/src/object/fairy.c @@ -5,10 +5,13 @@ * @brief Fairy object */ #include "collision.h" -#include "functions.h" #include "hitbox.h" -#include "item.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "physics.h" +#include "player.h" +#include "scroll.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/fan.c b/src/object/fan.c index f786981a..1d184cf6 100644 --- a/src/object/fan.c +++ b/src/object/fan.c @@ -7,10 +7,12 @@ #include "collision.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "asm.h" #include "object.h" -#include "player.h" #include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { Entity base; diff --git a/src/object/fanWind.c b/src/object/fanWind.c index a33a58d7..631f3936 100644 --- a/src/object/fanWind.c +++ b/src/object/fanWind.c @@ -6,7 +6,8 @@ */ #include "collision.h" #include "entity.h" -#include "functions.h" +#include "room.h" +#include "physics.h" void FanWind(Entity* this) { u8* collisionData; diff --git a/src/object/figurineDevice.c b/src/object/figurineDevice.c index 6c553dc0..7bdf0124 100644 --- a/src/object/figurineDevice.c +++ b/src/object/figurineDevice.c @@ -6,13 +6,23 @@ */ #include "figurineMenu.h" #include "fileselect.h" -#include "functions.h" #include "item.h" #include "kinstone.h" #include "message.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "screen.h" #include "tiles.h" +#include "subtask.h" +#ifndef EU +#include "script.h" +#endif typedef struct { /*0x00*/ Entity base; @@ -596,8 +606,8 @@ void sub_080882A8(FigurineDeviceEntity* this) { static const u16 gUnk_08120AE4[] = { TEXT_INDEX(TEXT_CARLOV, 0x18), TEXT_INDEX(TEXT_CARLOV, 0x19) }; u8* ptr; sub_08050384(); - sub_08057044(this->shells, gUnk_020227E8, 0x202020); - sub_08057044(this->chance, &gUnk_020227E8[1], 0x202020); + NumberToAsciiPad3Digits(this->shells, &gUnk_020227E8[0], 0x202020); + NumberToAsciiPad3Digits(this->chance, &gUnk_020227E8[1], 0x202020); ptr = (u8*)0x02000000; if (ptr[7] == 0) { ShowTextBox(gUnk_08120AE4[super->type2], (Font*)&gUnk_08120AB4); // TODO convert data diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c index 3b01e789..aa82c7c1 100644 --- a/src/object/fileScreenObjects.c +++ b/src/object/fileScreenObjects.c @@ -5,11 +5,15 @@ * @brief File Screen Objects object */ #include "fileselect.h" -#include "functions.h" #include "main.h" #include "menu.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "flags.h" +#include "physics.h" #include "player.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/fireballChain.c b/src/object/fireballChain.c index af1aa68e..f9b08cbe 100644 --- a/src/object/fireballChain.c +++ b/src/object/fireballChain.c @@ -5,7 +5,7 @@ * @brief Fireball Chain object */ #include "entity.h" -#include "functions.h" +#include "physics.h" #include "global.h" #include "projectile.h" #include "projectile/winder.h" diff --git a/src/object/fireplace.c b/src/object/fireplace.c index 1bf536cf..2c3d3eed 100644 --- a/src/object/fireplace.c +++ b/src/object/fireplace.c @@ -4,8 +4,11 @@ * * @brief Fireplace object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/flame.c b/src/object/flame.c index d3d508f1..4fce1e8d 100644 --- a/src/object/flame.c +++ b/src/object/flame.c @@ -6,8 +6,11 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "sound.h" +#include "asm.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/floatingPlatform.c b/src/object/floatingPlatform.c index 3a260350..f9ec6f89 100644 --- a/src/object/floatingPlatform.c +++ b/src/object/floatingPlatform.c @@ -5,8 +5,10 @@ * @brief Floating Platform object */ #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "player.h" typedef struct { Entity base; diff --git a/src/object/fourElements.c b/src/object/fourElements.c index a8514ec8..9e88cb0d 100644 --- a/src/object/fourElements.c +++ b/src/object/fourElements.c @@ -8,9 +8,13 @@ #include "hitbox.h" #include "message.h" #include "object.h" +#include "sound.h" +#include "flags.h" +#include "player.h" #include "screen.h" +#include "scroll.h" #include "manager/lightManager.h" -#include "functions.h" +#include "script.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/frozenOctorok.c b/src/object/frozenOctorok.c index be88eb5f..b9d04b1c 100644 --- a/src/object/frozenOctorok.c +++ b/src/object/frozenOctorok.c @@ -5,9 +5,16 @@ * @brief Frozen Octorok object */ #include "enemy/octorokBoss.h" -#include "functions.h" #include "message.h" #include "object.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" +#include "vram.h" typedef struct { /*0x00*/ Entity base; @@ -219,7 +226,7 @@ void FrozenOctorok_Action1(FrozenOctorokEntity* this) { FrozenOctorok_Action1SubActions[super->subAction](this); if (super->subtimer != 0) { if ((gRoomTransition.frameCount & 7) == 0) { - CreateSparkle(super->child); + CreateSparkleFx(super->child); } if (this->unk_7e != 0) { super->child->zVelocity = super->child->zVelocity - (s16)this->unk_7e; diff --git a/src/object/frozenWaterElement.c b/src/object/frozenWaterElement.c index 848964b3..183fc31b 100644 --- a/src/object/frozenWaterElement.c +++ b/src/object/frozenWaterElement.c @@ -4,8 +4,14 @@ * * @brief Frozen Water Element object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/furniture.c b/src/object/furniture.c index ddcec22f..c8ff8961 100644 --- a/src/object/furniture.c +++ b/src/object/furniture.c @@ -5,9 +5,11 @@ * @brief Furniture object */ #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" #include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" enum { diff --git a/src/object/gentariCurtain.c b/src/object/gentariCurtain.c index 97c3aad0..65506287 100644 --- a/src/object/gentariCurtain.c +++ b/src/object/gentariCurtain.c @@ -7,7 +7,6 @@ #include "asm.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "object.h" #include "room.h" #include "tiles.h" diff --git a/src/object/giantBookLadder.c b/src/object/giantBookLadder.c index cce94fad..d0d602c5 100644 --- a/src/object/giantBookLadder.c +++ b/src/object/giantBookLadder.c @@ -6,6 +6,8 @@ */ #include "map.h" #include "object.h" +#include "asm.h" +#include "room.h" #include "tiles.h" #include "game.h" diff --git a/src/object/giantLeaf.c b/src/object/giantLeaf.c index 6293a9d0..3dc3cda8 100644 --- a/src/object/giantLeaf.c +++ b/src/object/giantLeaf.c @@ -6,6 +6,8 @@ */ #include "map.h" #include "object.h" +#include "asm.h" +#include "room.h" void sub_0808D618(Entity* this); diff --git a/src/object/giantTwig.c b/src/object/giantTwig.c index 00beda17..eead81c1 100644 --- a/src/object/giantTwig.c +++ b/src/object/giantTwig.c @@ -4,8 +4,11 @@ * * @brief Giant Twig object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/gleerokParticle.c b/src/object/gleerokParticle.c index 7af41d2f..5cac9ce0 100644 --- a/src/object/gleerokParticle.c +++ b/src/object/gleerokParticle.c @@ -7,9 +7,9 @@ #include "asm.h" #include "effects.h" #include "entity.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "physics.h" #include "player.h" #include "room.h" diff --git a/src/object/graveyardKey.c b/src/object/graveyardKey.c index 577d4b09..45549be8 100644 --- a/src/object/graveyardKey.c +++ b/src/object/graveyardKey.c @@ -9,10 +9,11 @@ #include "effects.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "item.h" #include "player.h" #include "sound.h" +#include "scroll.h" typedef struct _struct_gUnk_08123FB0 { void (*const funcEnt)(Entity*); diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index 3099571c..366dff46 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -6,6 +6,12 @@ */ #include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "save.h" #include "screen.h" #include "script.h" diff --git a/src/object/guruguruBar.c b/src/object/guruguruBar.c index 40fa7d41..d6e9ebc0 100644 --- a/src/object/guruguruBar.c +++ b/src/object/guruguruBar.c @@ -4,9 +4,8 @@ * * @brief Guruguru Bar object */ -#include "entity.h" -#include "functions.h" #include "object.h" +#include "physics.h" #include "projectile.h" #include "room.h" diff --git a/src/object/gyorgBossObject.c b/src/object/gyorgBossObject.c index c04e6eaa..c32f6770 100644 --- a/src/object/gyorgBossObject.c +++ b/src/object/gyorgBossObject.c @@ -4,14 +4,23 @@ * * @brief Gyorg Boss object */ -#include "area.h" #include "enemy/gyorg.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "physics.h" +#include "player.h" #include "room.h" #include "screen.h" #include "screenTransitions.h" +#include "scroll.h" +#ifndef EU +#include "area.h" +#endif struct GyorgChildSpawns { s16 offsetX; diff --git a/src/object/heartContainer.c b/src/object/heartContainer.c index dce47c6b..732f9475 100644 --- a/src/object/heartContainer.c +++ b/src/object/heartContainer.c @@ -10,6 +10,7 @@ #include "functions.h" #include "item.h" #include "sound.h" +#include "scroll.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/hiddenLadderDown.c b/src/object/hiddenLadderDown.c index 9239c39f..0cdf073e 100644 --- a/src/object/hiddenLadderDown.c +++ b/src/object/hiddenLadderDown.c @@ -7,7 +7,7 @@ #include "asm.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "room.h" #include "tiles.h" typedef struct { diff --git a/src/object/hittableLever.c b/src/object/hittableLever.c index a2d97301..2fc017d2 100644 --- a/src/object/hittableLever.c +++ b/src/object/hittableLever.c @@ -4,8 +4,12 @@ * * @brief Hittable Lever object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index 79ecf0d8..0e64d308 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -6,9 +6,11 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "main.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "player.h" #include "room.h" #include "script.h" #include "sound.h" diff --git a/src/object/houseDoorInterior.c b/src/object/houseDoorInterior.c index f2a51b32..6648f24e 100644 --- a/src/object/houseDoorInterior.c +++ b/src/object/houseDoorInterior.c @@ -6,9 +6,10 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "player.h" #include "npc.h" #include "sound.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/object/itemForSale.c b/src/object/itemForSale.c index cb37efd5..228dda8d 100644 --- a/src/object/itemForSale.c +++ b/src/object/itemForSale.c @@ -6,10 +6,13 @@ */ #include "object/itemForSale.h" -#include "functions.h" #include "hitbox.h" -#include "kinstone.h" #include "message.h" +#include "scroll.h" +#include "asm.h" +#include "structures.h" +#include "room.h" +#include "player.h" typedef struct { u8 before[0x20]; diff --git a/src/object/itemOnGround.c b/src/object/itemOnGround.c index fe61aa2a..e74438e4 100644 --- a/src/object/itemOnGround.c +++ b/src/object/itemOnGround.c @@ -8,11 +8,14 @@ #include "collision.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "scroll.h" #include "hitbox.h" #include "item.h" #include "itemMetaData.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "physics.h" #include "player.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/jailBars.c b/src/object/jailBars.c index dd4d7bcc..8644a134 100644 --- a/src/object/jailBars.c +++ b/src/object/jailBars.c @@ -6,7 +6,7 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "beanstalkSubtask.h" #include "room.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/japaneseSubtitle.c b/src/object/japaneseSubtitle.c index 11e7f85f..5a14192e 100644 --- a/src/object/japaneseSubtitle.c +++ b/src/object/japaneseSubtitle.c @@ -4,9 +4,9 @@ * * @brief Japanese Subtitle object */ -#include "entity.h" #include "menu.h" #include "object.h" +#include "asm.h" #include "physics.h" extern void sub_0806FB00(Entity*, u32, u32, u32); diff --git a/src/object/jarPortal.c b/src/object/jarPortal.c index 99341c30..9741c9d8 100644 --- a/src/object/jarPortal.c +++ b/src/object/jarPortal.c @@ -5,9 +5,15 @@ * @brief Jar Portal object */ #include "area.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "tiles.h" +#include "effects.h" typedef struct { /*0x00*/ Entity base; @@ -134,7 +140,7 @@ void sub_0808C01C(JarPortalEntity* this, u32 r1) { gArea.portal_mode = 3; } } - CreateMagicSparkles(super->x.HALF.HI, super->y.HALF.HI, super->collisionLayer); + CreateMagicSparklesFxAt(super->x.HALF.HI, super->y.HALF.HI, super->collisionLayer); if (super->subtimer == 0) { super->subtimer = 1; SoundReq(SFX_NEAR_PORTAL); diff --git a/src/object/keyStealingTakkuri.c b/src/object/keyStealingTakkuri.c index dfd35e6a..000bc605 100644 --- a/src/object/keyStealingTakkuri.c +++ b/src/object/keyStealingTakkuri.c @@ -4,8 +4,14 @@ * * @brief Key Stealing Takkuri object */ -#include "functions.h" +#include "script.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/kinstoneSpark.c b/src/object/kinstoneSpark.c index b32609f2..afc05722 100644 --- a/src/object/kinstoneSpark.c +++ b/src/object/kinstoneSpark.c @@ -4,9 +4,11 @@ * * @brief Kinstone Fusion Particle object */ -#include "functions.h" +#include "script.h" #include "kinstone.h" #include "object.h" +#include "asm.h" +#include "sound.h" void sub_080A0ADC(Entity*); void sub_080A0AF0(Entity*); diff --git a/src/object/ladderUp.c b/src/object/ladderUp.c index 8dcd7e67..b64d56d2 100644 --- a/src/object/ladderUp.c +++ b/src/object/ladderUp.c @@ -7,7 +7,6 @@ #include "asm.h" #include "effects.h" #include "entity.h" -#include "functions.h" #include "player.h" #include "room.h" #include "sound.h" diff --git a/src/object/lavaPlatform.c b/src/object/lavaPlatform.c index 5e806494..9624b606 100644 --- a/src/object/lavaPlatform.c +++ b/src/object/lavaPlatform.c @@ -4,9 +4,14 @@ * * @brief Lava Platform object */ -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/lightDoor.c b/src/object/lightDoor.c index ebce1433..522084a0 100644 --- a/src/object/lightDoor.c +++ b/src/object/lightDoor.c @@ -4,8 +4,11 @@ * * @brief Light Door object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "flags.h" +#include "room.h" +#include "physics.h" #include "screen.h" #include "tiles.h" diff --git a/src/object/lightRay.c b/src/object/lightRay.c index a48ffa53..6ad499d3 100644 --- a/src/object/lightRay.c +++ b/src/object/lightRay.c @@ -4,8 +4,11 @@ * * @brief Light Ray object */ -#include "functions.h" #include "object.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "screen.h" typedef struct { diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index 250fd2ae..a8ed21cb 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -7,9 +7,9 @@ #include "asm.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "physics.h" #include "room.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/lilypadLarge.c b/src/object/lilypadLarge.c index 9a7458b3..6da49a41 100644 --- a/src/object/lilypadLarge.c +++ b/src/object/lilypadLarge.c @@ -6,12 +6,19 @@ */ #include "object/lilypadLarge.h" #include "area.h" -#include "functions.h" #include "item.h" #include "object.h" -#include "map.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" +#include "scroll.h" +extern u32 sub_080040A2(Entity*); extern s8 gUnk_08126EE4[]; void LilypadLarge_Action1(LilypadLargeEntity*); @@ -119,7 +126,7 @@ void LilypadLarge_Action1(LilypadLargeEntity* this) { if (super->subtimer == 0) { super->subtimer = 4; while (super->subtimer != 0) { - sub_080A2AF4(super, 8, 10); + CreateLargeRippleFxRandom(super, 8, 10); super->subtimer--; } super->subtimer = 1; @@ -194,7 +201,7 @@ void LilypadLarge_Action1(LilypadLargeEntity* this) { } if ((gRoomTransition.frameCount & 0xfU) == 0) { - CreateLargeWaterTrace(super); + CreateLargeRippleFx(super); } sVar10 = super->x.WORD + this->unk_6c; uVar4 = super->y.WORD + this->unk_70; @@ -312,7 +319,7 @@ void LilypadLarge_Action1(LilypadLargeEntity* this) { } else { end: if ((gRoomTransition.frameCount & 0x1fU) == 0) { - sub_080A2AF4(super, 8, 10); + CreateLargeRippleFxRandom(super, 8, 10); } } sub_08085F48(this); @@ -403,7 +410,7 @@ void sub_08085B40(LilypadLargeEntity* this) { super->action = 1; super->subtimer = 4; while (super->subtimer != 0) { - sub_080A2AF4(super, 8, 10); + CreateLargeRippleFxRandom(super, 8, 10); super->subtimer--; } super->subtimer = 1; diff --git a/src/object/lilypadLargeFalling.c b/src/object/lilypadLargeFalling.c index d0b19b12..791f13dd 100644 --- a/src/object/lilypadLargeFalling.c +++ b/src/object/lilypadLargeFalling.c @@ -5,7 +5,6 @@ * @brief LilypadLargeFalling object */ #include "entity.h" -#include "functions.h" #include "object/lilypadLarge.h" void LilypadLargeFalling(Entity* this) { diff --git a/src/object/lilypadSmall.c b/src/object/lilypadSmall.c index 2d92e4f0..12696e21 100644 --- a/src/object/lilypadSmall.c +++ b/src/object/lilypadSmall.c @@ -4,8 +4,10 @@ * * @brief Lilypad Small object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/linkAnimation.c b/src/object/linkAnimation.c index 71e1a494..75054314 100644 --- a/src/object/linkAnimation.c +++ b/src/object/linkAnimation.c @@ -5,10 +5,13 @@ * @brief Link Animation object. This is used during "item get" sequences and * replaces the player entity for the duration. */ -#include "functions.h" #include "message.h" #include "object.h" +#include "physics.h" +#include "player.h" #include "object/linkAnimation.h" +#include "item.h" +#include "structures.h" typedef enum { ITEMGET_INIT, diff --git a/src/object/linkEmptyingBottle.c b/src/object/linkEmptyingBottle.c index 0b4200a7..93e35f16 100644 --- a/src/object/linkEmptyingBottle.c +++ b/src/object/linkEmptyingBottle.c @@ -5,9 +5,13 @@ * @brief Link Emptying Bottle object * Handles effects of using water, mineral water or a fairy in a bottle in PlayerItemBottle_UseOther. */ -#include "functions.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/linkFire.c b/src/object/linkFire.c index 1a12c93f..b208398f 100644 --- a/src/object/linkFire.c +++ b/src/object/linkFire.c @@ -4,8 +4,9 @@ * * @brief Link Fire object */ -#include "functions.h" #include "object.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/linkHoldingItem.c b/src/object/linkHoldingItem.c index 6e5bedd2..c0920698 100644 --- a/src/object/linkHoldingItem.c +++ b/src/object/linkHoldingItem.c @@ -4,12 +4,14 @@ * * @brief Link Holding Item object */ -#include "functions.h" +#include "scroll.h" #include "game.h" #include "item.h" #include "itemMetaData.h" #include "message.h" #include "object.h" +#include "sound.h" +#include "player.h" #include "save.h" typedef struct { diff --git a/src/object/litArea.c b/src/object/litArea.c index 93129db4..80332d9a 100644 --- a/src/object/litArea.c +++ b/src/object/litArea.c @@ -6,7 +6,6 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" #include "room.h" #include "screen.h" diff --git a/src/object/lockedDoor.c b/src/object/lockedDoor.c index c1419e1d..5eaee228 100644 --- a/src/object/lockedDoor.c +++ b/src/object/lockedDoor.c @@ -4,16 +4,19 @@ * * @brief Looked Door object */ +#include "object/lockedDoor.h" #include "asm.h" -#include "common.h" +#include "room.h" #include "effects.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "game.h" #include "hitbox.h" #include "sound.h" #include "tiles.h" +#include "vram.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/macroAcorn.c b/src/object/macroAcorn.c index 76773942..0fb1ac7b 100644 --- a/src/object/macroAcorn.c +++ b/src/object/macroAcorn.c @@ -7,6 +7,8 @@ #include "entity.h" #include "map.h" #include "object.h" +#include "asm.h" +#include "room.h" #include "physics.h" #include "tiles.h" diff --git a/src/object/macroBook.c b/src/object/macroBook.c index 2b43af8b..10270a6c 100644 --- a/src/object/macroBook.c +++ b/src/object/macroBook.c @@ -7,9 +7,10 @@ #include "asm.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "player.h" #include "npc.h" #include "tiles.h" +#include "room.h" typedef struct { Entity base; diff --git a/src/object/macroMushroomStalk.c b/src/object/macroMushroomStalk.c index 45eb8fe0..185d1de1 100644 --- a/src/object/macroMushroomStalk.c +++ b/src/object/macroMushroomStalk.c @@ -5,10 +5,11 @@ * @brief Macro Mushroom Stalk object */ #include "area.h" -#include "entity.h" #include "main.h" #include "object.h" +#include "room.h" #include "sound.h" +#include "structures.h" void MacroMushroomStalk_Init(Entity*); void MacroMushroomStalk_Action1(Entity*); diff --git a/src/object/macroPlayer.c b/src/object/macroPlayer.c index a313729b..76dbc3c7 100644 --- a/src/object/macroPlayer.c +++ b/src/object/macroPlayer.c @@ -8,8 +8,10 @@ #include "entity.h" #include "functions.h" #include "object.h" +#include "asm.h" #include "physics.h" #include "player.h" +#include "structures.h" typedef struct { Entity base; diff --git a/src/object/mask.c b/src/object/mask.c index d2b5c2a8..284c5c1f 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -4,9 +4,15 @@ * * @brief Mask object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "player.h" #include "tiles.h" +#include "item.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/mazaalBossObject.c b/src/object/mazaalBossObject.c index 9fc03361..1a487226 100644 --- a/src/object/mazaalBossObject.c +++ b/src/object/mazaalBossObject.c @@ -5,13 +5,15 @@ * @brief Mazaal Boss object */ #include "enemy.h" -#include "entity.h" -#include "functions.h" #include "item.h" #include "object.h" +#include "flags.h" +#include "physics.h" #include "player.h" #include "room.h" #include "screen.h" +#include "scroll.h" +#include "script.h" #include "sound.h" extern u16 script_MazaalBossObjectMazaal[]; diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c index 58e01766..3281ff53 100644 --- a/src/object/metalDoor.c +++ b/src/object/metalDoor.c @@ -4,11 +4,12 @@ * * @brief Metal Door object */ +#include "object/lockedDoor.h" #include "asm.h" #include "effects.h" #include "entity.h" #include "flags.h" -#include "functions.h" +#include "physics.h" #include "hitbox.h" #include "room.h" #include "sound.h" @@ -28,7 +29,6 @@ typedef struct { /*0x86*/ u16 flag2; } MetalDoorEntity; -extern u32 sub_08083734(Entity*, u32); void sub_080A080C(MetalDoorEntity* this); void sub_080A0870(MetalDoorEntity* this); void MetalDoor_Init(MetalDoorEntity* this); diff --git a/src/object/minecart.c b/src/object/minecart.c index 6d101de6..207fa4dd 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -4,9 +4,14 @@ * * @brief Minecart object */ -#include "functions.h" +#include "collision.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/minecartDoor.c b/src/object/minecartDoor.c index a4ef3d59..274b34db 100644 --- a/src/object/minecartDoor.c +++ b/src/object/minecartDoor.c @@ -4,8 +4,14 @@ * * @brief Minecart Door object */ -#include "functions.h" +#include "object/lockedDoor.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/mineralWaterSource.c b/src/object/mineralWaterSource.c index 3692821b..dd602e0d 100644 --- a/src/object/mineralWaterSource.c +++ b/src/object/mineralWaterSource.c @@ -5,6 +5,8 @@ * @brief Mineral Water Source object */ #include "object.h" +#include "asm.h" +#include "physics.h" void MineralWaterSource_Init(Entity*); void MineralWaterSource_Action1(Entity*); diff --git a/src/object/minishEmoticon.c b/src/object/minishEmoticon.c index 147ca51d..40cb3a78 100644 --- a/src/object/minishEmoticon.c +++ b/src/object/minishEmoticon.c @@ -5,7 +5,8 @@ * @brief Minish Emoticon object */ #include "entity.h" -#include "functions.h" +#include "vram.h" +#include "player.h" void MinishEmoticon_Init(Entity*); void MinishEmoticon_Action1(Entity*); diff --git a/src/object/minishPortalCloseup.c b/src/object/minishPortalCloseup.c index e9ded723..ec7232f9 100644 --- a/src/object/minishPortalCloseup.c +++ b/src/object/minishPortalCloseup.c @@ -5,9 +5,10 @@ * @brief Minish Portal Closeup object */ #include "area.h" -#include "functions.h" #include "main.h" #include "object.h" +#include "common.h" +#include "room.h" #include "screen.h" #include "structures.h" diff --git a/src/object/minishPortalStone.c b/src/object/minishPortalStone.c index e4d92872..ba1699d5 100644 --- a/src/object/minishPortalStone.c +++ b/src/object/minishPortalStone.c @@ -5,9 +5,16 @@ * @brief Minish Portal Stone object */ #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "screen.h" +#include "beanstalkSubtask.h" #include "manager/lightManager.h" -#include "functions.h" +#include "effects.h" +#include "structures.h" typedef struct { /*0x00*/ Entity base; @@ -68,7 +75,7 @@ void MinishPortalStone_Action3(MinishPortalStoneEntity* this) { u32 tmp; SetPriorityTimer(30); sub_0800445C(super); - CreateMagicSparkles(super->x.HALF.HI, super->y.HALF.HI, super->collisionLayer); + CreateMagicSparklesFxAt(super->x.HALF.HI, super->y.HALF.HI, super->collisionLayer); if (--super->timer == 0) { super->timer = 8; tmp = ++super->subtimer; diff --git a/src/object/minishSizedEntrance.c b/src/object/minishSizedEntrance.c index cbe61fc8..b7819429 100644 --- a/src/object/minishSizedEntrance.c +++ b/src/object/minishSizedEntrance.c @@ -4,9 +4,12 @@ * * @brief MinishSizedEntrance object */ -#include "functions.h" #include "game.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "player.h" +#include "vram.h" void MinishSizedEntrance_Action1(Entity*); void MinishSizedEntrance_Init(Entity*); diff --git a/src/object/minishVillageObject.c b/src/object/minishVillageObject.c index b7d09356..c42a598c 100644 --- a/src/object/minishVillageObject.c +++ b/src/object/minishVillageObject.c @@ -4,8 +4,12 @@ * * @brief Minish Village Object object */ -#include "functions.h" +#include "script.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" #include "screen.h" #include "tiles.h" diff --git a/src/object/moleMittsParticle.c b/src/object/moleMittsParticle.c index f83472bc..1d243967 100644 --- a/src/object/moleMittsParticle.c +++ b/src/object/moleMittsParticle.c @@ -5,8 +5,10 @@ * @brief Mole Mitts Particle object */ #include "area.h" -#include "functions.h" #include "object.h" +#include "room.h" +#include "player.h" +#include "item.h" void MoleMittsParticle_Init(Entity*); void MoleMittsParticle_Action1(Entity*); diff --git a/src/object/object1F.c b/src/object/object1F.c index 444f616a..bbe7e166 100644 --- a/src/object/object1F.c +++ b/src/object/object1F.c @@ -4,10 +4,10 @@ * * @brief Object1F object */ +#include "object.h" #include "asm.h" #include "effects.h" -#include "entity.h" -#include "functions.h" +#include "physics.h" #include "player.h" #include "tiles.h" diff --git a/src/object/object30.c b/src/object/object30.c index 3f31e5e3..8b4290a0 100644 --- a/src/object/object30.c +++ b/src/object/object30.c @@ -5,9 +5,11 @@ * @brief Object30 object */ #include "collision.h" -#include "functions.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "scroll.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/object37.c b/src/object/object37.c index 35f32e93..14d3d89f 100644 --- a/src/object/object37.c +++ b/src/object/object37.c @@ -4,8 +4,10 @@ * * @brief Object37 object */ -#include "entity.h" -#include "functions.h" +#include "object.h" +#include "asm.h" +#include "room.h" +#include "player.h" #include "item.h" #include "save.h" diff --git a/src/object/object53.c b/src/object/object53.c index 737c8967..94cc73cd 100644 --- a/src/object/object53.c +++ b/src/object/object53.c @@ -4,9 +4,9 @@ * * @brief Object53 object */ +#include "object.h" #include "asm.h" -#include "entity.h" -#include "functions.h" +#include "effects.h" void Object53_Init(Entity*); void Object53_Action1(Entity*); diff --git a/src/object/object63.c b/src/object/object63.c index bbf74160..8557fb2f 100644 --- a/src/object/object63.c +++ b/src/object/object63.c @@ -4,10 +4,9 @@ * * @brief Object63 object */ -#include "asm.h" -#include "entity.h" -#include "functions.h" #include "object.h" +#include "physics.h" +#include "item.h" void Object63_Init(Entity*); void Object63_Action1(Entity*); diff --git a/src/object/object70.c b/src/object/object70.c index 605e074b..5064feb1 100644 --- a/src/object/object70.c +++ b/src/object/object70.c @@ -4,8 +4,10 @@ * * @brief Object70 object */ -#include "functions.h" +#include "asm.h" #include "object.h" +#include "effects.h" +#include "player.h" void Object70_Init(Entity*); void Object70_Action1(Entity*); diff --git a/src/object/objectA.c b/src/object/objectA.c index 6aa82e40..c0af01b5 100644 --- a/src/object/objectA.c +++ b/src/object/objectA.c @@ -6,11 +6,12 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" #include "game.h" #include "hitbox.h" #include "object.h" +#include "effects.h" #include "room.h" +#include "player.h" #include "tiles.h" typedef struct { @@ -47,7 +48,7 @@ void ObjectA(ObjectAEntity* this) { } else if (super->interactType != INTERACTION_NONE) { SetTileType(this->unk_70, COORD_TO_TILE(super), super->collisionLayer); SetFlag(this->flag); - CreateDust(super); + CreateDeathFx(super); ModDungeonKeys(-1); DeleteThisEntity(); } diff --git a/src/object/objectA2.c b/src/object/objectA2.c index d73db1f5..f6e3c473 100644 --- a/src/object/objectA2.c +++ b/src/object/objectA2.c @@ -4,10 +4,13 @@ * * @brief Object A2 object */ -#include "functions.h" #include "menu.h" #include "object.h" -#include "structures.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "physics.h" +#include "save.h" void ObjectA2_Init(Entity*); void ObjectA2_Action1(Entity*); diff --git a/src/object/objectA8.c b/src/object/objectA8.c index 434e04c0..b1c68fb1 100644 --- a/src/object/objectA8.c +++ b/src/object/objectA8.c @@ -5,10 +5,15 @@ * @brief ObjectA8 object */ #include "collision.h" -#include "functions.h" #include "hitbox.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "scroll.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/objectBlockingStairs.c b/src/object/objectBlockingStairs.c index 76ff017f..014485da 100644 --- a/src/object/objectBlockingStairs.c +++ b/src/object/objectBlockingStairs.c @@ -8,8 +8,10 @@ #include "effects.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "object.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/objectOnPillar.c b/src/object/objectOnPillar.c index f48d7bcd..3d7b8c56 100644 --- a/src/object/objectOnPillar.c +++ b/src/object/objectOnPillar.c @@ -4,9 +4,15 @@ * * @brief Object on Pillar object */ -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/objectOnSpinyBeetle.c b/src/object/objectOnSpinyBeetle.c index 52c575ca..20db5ff0 100644 --- a/src/object/objectOnSpinyBeetle.c +++ b/src/object/objectOnSpinyBeetle.c @@ -4,8 +4,11 @@ * * @brief Object on Spiny Beetle object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/octorokBossObject.c b/src/object/octorokBossObject.c index ed704166..39dc5cf4 100644 --- a/src/object/octorokBossObject.c +++ b/src/object/octorokBossObject.c @@ -4,9 +4,16 @@ * * @brief Octorok Boss Object object */ -#include "functions.h" #include "game.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct HelperStruct { u8 field_0x0; // [0,1,2,4] is later stored in super->subtimer diff --git a/src/object/palaceArchway.c b/src/object/palaceArchway.c index bcf23fb2..4d48b1db 100644 --- a/src/object/palaceArchway.c +++ b/src/object/palaceArchway.c @@ -5,6 +5,8 @@ * @brief Palace Archway object */ #include "object.h" +#include "asm.h" +#include "room.h" #include "tiles.h" void PalaceArchway_Init(Entity*); diff --git a/src/object/paper.c b/src/object/paper.c index eb2af45d..05529683 100644 --- a/src/object/paper.c +++ b/src/object/paper.c @@ -4,9 +4,11 @@ * * @brief Paper object */ -#include "functions.h" #include "map.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "player.h" #include "tiles.h" void Paper_Init(Entity*); diff --git a/src/object/pinwheel.c b/src/object/pinwheel.c index ca6bfcd5..cb9a0478 100644 --- a/src/object/pinwheel.c +++ b/src/object/pinwheel.c @@ -7,6 +7,14 @@ #include "entity.h" #include "flags.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; @@ -51,7 +59,7 @@ void Pinwheel_Init(PinwheelEntity* this) { void Pinwheel_Action1(PinwheelEntity* this) { if (CheckLocalFlag(this->flag) != 0) { super->action = 2; - CreateDust(super); + CreateDeathFx(super); } } void Pinwheel_Action2(PinwheelEntity* this) { diff --git a/src/object/playerClone.c b/src/object/playerClone.c index 174b7a1d..f606108c 100644 --- a/src/object/playerClone.c +++ b/src/object/playerClone.c @@ -8,7 +8,7 @@ #include "collision.h" #include "effects.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "player.h" #include "room.h" #include "sound.h" diff --git a/src/object/pot.c b/src/object/pot.c index e61b94fd..8dda49f9 100644 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -6,9 +6,12 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" +#include "object/pot.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "effects.h" +#include "physics.h" #include "object/itemOnGround.h" #include "player.h" #include "room.h" diff --git a/src/object/pressurePlate.c b/src/object/pressurePlate.c index df373091..68c17a1d 100644 --- a/src/object/pressurePlate.c +++ b/src/object/pressurePlate.c @@ -5,9 +5,12 @@ * @brief Pressure Plate object */ #include "collision.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" typedef struct { Entity base; diff --git a/src/object/pullableLever.c b/src/object/pullableLever.c index c8f9b086..f986123c 100644 --- a/src/object/pullableLever.c +++ b/src/object/pullableLever.c @@ -4,9 +4,12 @@ * * @brief Pullable Lever object */ -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "flags.h" +#include "physics.h" +#include "player.h" #include "sound.h" typedef struct { diff --git a/src/object/pullableMushroom.c b/src/object/pullableMushroom.c index 44d17deb..f8136808 100644 --- a/src/object/pullableMushroom.c +++ b/src/object/pullableMushroom.c @@ -4,10 +4,14 @@ * * @brief Pullable Mushroom object */ -#include "functions.h" #include "game.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/pushableFurniture.c b/src/object/pushableFurniture.c index b976bdcb..28e1f6bf 100644 --- a/src/object/pushableFurniture.c +++ b/src/object/pushableFurniture.c @@ -6,8 +6,13 @@ */ #include "object/pushableFurniture.h" -#include "functions.h" #include "tiles.h" +#include "flags.h" +#include "sound.h" +#include "asm.h" +#include "room.h" +#include "player.h" +#include "physics.h" extern const s16 gUnk_080B4488[]; diff --git a/src/object/pushableGrave.c b/src/object/pushableGrave.c index 4ba81982..e059b866 100644 --- a/src/object/pushableGrave.c +++ b/src/object/pushableGrave.c @@ -4,9 +4,15 @@ * * @brief Pushable Grave object */ -#include "functions.h" +#include "beanstalkSubtask.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/pushableLever.c b/src/object/pushableLever.c index 592a51e2..fb523054 100644 --- a/src/object/pushableLever.c +++ b/src/object/pushableLever.c @@ -4,8 +4,12 @@ * * @brief Pushable Lever object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/object/pushableRock.c b/src/object/pushableRock.c index f58afa79..f2401fab 100644 --- a/src/object/pushableRock.c +++ b/src/object/pushableRock.c @@ -4,8 +4,12 @@ * * @brief Pushable Rock object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" #include "tiles.h" typedef struct { diff --git a/src/object/pushableStatue.c b/src/object/pushableStatue.c index 35fbb3bd..bda7a547 100644 --- a/src/object/pushableStatue.c +++ b/src/object/pushableStatue.c @@ -5,10 +5,16 @@ * @brief Pushable Statue object */ #include "area.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" +#include "vram.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/railtrack.c b/src/object/railtrack.c index a775f6d3..2456f4c1 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -7,7 +7,6 @@ #include "asm.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "room.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/rotatingTrapdoor.c b/src/object/rotatingTrapdoor.c index 3351b1d7..b6b5f587 100644 --- a/src/object/rotatingTrapdoor.c +++ b/src/object/rotatingTrapdoor.c @@ -6,7 +6,7 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" +#include "player.h" #include "room.h" #include "sound.h" diff --git a/src/object/rupee.c b/src/object/rupee.c index 49ff7835..22059aed 100644 --- a/src/object/rupee.c +++ b/src/object/rupee.c @@ -4,9 +4,10 @@ * * @brief Rupee object */ -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "physics.h" void sub_08086A6C(Entity*); void Rupee_Init(Entity*); diff --git a/src/object/shrinkingHieroglyphs.c b/src/object/shrinkingHieroglyphs.c index c490b834..d8b34eea 100644 --- a/src/object/shrinkingHieroglyphs.c +++ b/src/object/shrinkingHieroglyphs.c @@ -5,9 +5,10 @@ * @brief Shrinking Hieroglyphs object */ #include "entity.h" -#include "functions.h" #include "player.h" #include "sound.h" +#include "vram.h" +#include "physics.h" typedef struct { Entity base; diff --git a/src/object/smallIceBlock.c b/src/object/smallIceBlock.c index 16178fa3..dfde7891 100644 --- a/src/object/smallIceBlock.c +++ b/src/object/smallIceBlock.c @@ -9,6 +9,12 @@ #include "hitbox.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" #include "tiles.h" typedef struct { diff --git a/src/object/smoke.c b/src/object/smoke.c index 62b4d1ac..534d91c2 100644 --- a/src/object/smoke.c +++ b/src/object/smoke.c @@ -5,6 +5,8 @@ * @brief Smoke object */ #include "object.h" +#include "asm.h" +#include "physics.h" void Smoke_Type0(Entity*); void Smoke_Type1(Entity*); diff --git a/src/object/smokeParticle.c b/src/object/smokeParticle.c index ac05de1f..52aef4f4 100644 --- a/src/object/smokeParticle.c +++ b/src/object/smokeParticle.c @@ -4,8 +4,11 @@ * * @brief Smoke Particle object */ -#include "functions.h" +#include "collision.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "room.h" #include "tiles.h" void SmokeParticle_Init(Entity*); diff --git a/src/object/specialFx.c b/src/object/specialFx.c index cdd72a0b..a580acfc 100644 --- a/src/object/specialFx.c +++ b/src/object/specialFx.c @@ -5,8 +5,14 @@ * @brief Special FX object */ #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" +#include "item.h" typedef struct { Entity base; diff --git a/src/object/stoneTablet.c b/src/object/stoneTablet.c index 99e45cbe..efd6bbfe 100644 --- a/src/object/stoneTablet.c +++ b/src/object/stoneTablet.c @@ -5,9 +5,9 @@ * @brief Stone Tablet object */ #include "entity.h" -#include "functions.h" #include "room.h" #include "tiles.h" +#include "beanstalkSubtask.h" void StoneTablet_Init(Entity*); void StoneTablet_Action1(Entity*); diff --git a/src/object/swordParticle.c b/src/object/swordParticle.c index f86879a0..d5232947 100644 --- a/src/object/swordParticle.c +++ b/src/object/swordParticle.c @@ -4,9 +4,13 @@ * * @brief Sword Particle object */ -#include "functions.h" #include "item.h" #include "object.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/swordsmanNewsletter.c b/src/object/swordsmanNewsletter.c index bc17266a..2afc5657 100644 --- a/src/object/swordsmanNewsletter.c +++ b/src/object/swordsmanNewsletter.c @@ -6,6 +6,7 @@ */ #include "entity.h" #include "message.h" +#include "player.h" extern void AddInteractableCheckableObject(Entity*); void SwordsmanNewsletter_Init(Entity*); diff --git a/src/object/thunderbolt.c b/src/object/thunderbolt.c index 543c08c4..312b1306 100644 --- a/src/object/thunderbolt.c +++ b/src/object/thunderbolt.c @@ -4,8 +4,11 @@ * * @brief Thunderbolt object */ -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/titleScreenObject.c b/src/object/titleScreenObject.c index dc94e9fc..fa199270 100644 --- a/src/object/titleScreenObject.c +++ b/src/object/titleScreenObject.c @@ -4,8 +4,8 @@ * * @brief Title Screen object */ -#include "functions.h" #include "object.h" +#include "asm.h" void TitleScreenObject_Type0(Entity*); void TitleScreenObject_Type1(Entity*); diff --git a/src/object/trapdoor.c b/src/object/trapdoor.c index 809643dd..1704c770 100644 --- a/src/object/trapdoor.c +++ b/src/object/trapdoor.c @@ -6,6 +6,10 @@ */ #include "item.h" #include "object.h" +#include "asm.h" +#include "flags.h" +#include "physics.h" +#include "player.h" void sub_08099ECC(Entity*); void Trapdoor_Init(Entity*); diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index 99d04565..da087e26 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -7,12 +7,13 @@ #include "effects.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "object.h" +#include "asm.h" #include "player.h" #include "room.h" #include "sound.h" #include "tiles.h" +#include "kinstone.h" typedef struct { /*0x00*/ Entity base; @@ -56,7 +57,7 @@ void TreeHidingPortal_Action1(TreeHidingPortalEntity* this) { if (sub_0800419C(super, &gPlayerEntity.base, 0x30, 0x30)) { if (CheckGlobalFlag(EZERO_1ST)) { if (((gRoomTransition.frameCount & 3) == 0)) { - CreateSparkle(super); + CreateSparkleFx(super); } } } diff --git a/src/object/treeThorns.c b/src/object/treeThorns.c index 3fe27355..3c7b9f06 100644 --- a/src/object/treeThorns.c +++ b/src/object/treeThorns.c @@ -7,6 +7,7 @@ #include "entity.h" #include "hitbox.h" #include "object.h" +#include "asm.h" #include "physics.h" #include "room.h" #include "tiles.h" diff --git a/src/object/unusedSkull.c b/src/object/unusedSkull.c index b2b9def3..5198aeba 100644 --- a/src/object/unusedSkull.c +++ b/src/object/unusedSkull.c @@ -4,9 +4,13 @@ * * @brief Unused Skull object */ -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" #include "tiles.h" typedef struct { diff --git a/src/object/warpPoint.c b/src/object/warpPoint.c index dfd66d1b..9c263eea 100644 --- a/src/object/warpPoint.c +++ b/src/object/warpPoint.c @@ -4,10 +4,15 @@ * * @brief Warp Point object */ -#include "functions.h" #include "game.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/waterDropObject.c b/src/object/waterDropObject.c index 056afa57..b4dbec44 100644 --- a/src/object/waterDropObject.c +++ b/src/object/waterDropObject.c @@ -5,7 +5,6 @@ * @brief Water Drop object */ #include "entity.h" -#include "functions.h" void WaterDropObject(Entity* this) { u32 iVar2; diff --git a/src/object/waterElement.c b/src/object/waterElement.c index 6f55a27c..4ff3d9fa 100644 --- a/src/object/waterElement.c +++ b/src/object/waterElement.c @@ -4,7 +4,6 @@ * * @brief Water Element object */ -#include "functions.h" #include "object.h" void WaterElement_Init(Entity*); diff --git a/src/object/waterfallOpening.c b/src/object/waterfallOpening.c index c63c937a..a3986be0 100644 --- a/src/object/waterfallOpening.c +++ b/src/object/waterfallOpening.c @@ -6,11 +6,11 @@ */ #include "entity.h" #include "flags.h" -#include "functions.h" #include "menu.h" #include "room.h" #include "sound.h" #include "tiles.h" +#include "vram.h" typedef struct { Entity base; diff --git a/src/object/well.c b/src/object/well.c index 0e19e21a..9fa5860d 100644 --- a/src/object/well.c +++ b/src/object/well.c @@ -6,7 +6,6 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" #include "player.h" #include "room.h" #include "tiles.h" diff --git a/src/object/whirlwind.c b/src/object/whirlwind.c index add24319..16dca27d 100644 --- a/src/object/whirlwind.c +++ b/src/object/whirlwind.c @@ -5,9 +5,14 @@ * @brief Whirlwind object */ #include "area.h" -#include "functions.h" +#include "script.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "physics.h" +#include "player.h" void Whirlwind_Init(Entity*); void Whirlwind_Action1(Entity*); diff --git a/src/object/whiteTriangleEffect.c b/src/object/whiteTriangleEffect.c index 2d7f24e3..ce12c336 100644 --- a/src/object/whiteTriangleEffect.c +++ b/src/object/whiteTriangleEffect.c @@ -4,8 +4,9 @@ * * @brief White Triangle Effect object */ -#include "functions.h" #include "object.h" +#include "common.h" +#include "room.h" #include "screen.h" typedef struct { diff --git a/src/object/windTribeFlag.c b/src/object/windTribeFlag.c index 99b8572f..deac4c39 100644 --- a/src/object/windTribeFlag.c +++ b/src/object/windTribeFlag.c @@ -5,6 +5,7 @@ * @brief Wind Tribe Flag object */ #include "object.h" +#include "asm.h" void WindTribeFlag(Entity* this) { if (this->action == 0) { diff --git a/src/object/windTribeTeleporter.c b/src/object/windTribeTeleporter.c index 5a238478..70d84512 100644 --- a/src/object/windTribeTeleporter.c +++ b/src/object/windTribeTeleporter.c @@ -5,10 +5,15 @@ * @brief Wind Tribe Teleporter object */ #include "collision.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "sound.h" +#include "room.h" +#include "player.h" #include "screenTransitions.h" +#if defined(DEMO_JP) || defined(USA) || defined(DEMO_USA) +#include "flags.h" +#endif typedef struct { /*0x00*/ Entity base; diff --git a/src/object/windcrest.c b/src/object/windcrest.c index ad1b63a3..5ac537c0 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -6,7 +6,7 @@ */ #include "effects.h" #include "entity.h" -#include "functions.h" +#include "structures.h" #include "save.h" #include "script.h" #include "sound.h" diff --git a/src/objectUtils.c b/src/objectUtils.c index e00c62d4..54883afd 100644 --- a/src/objectUtils.c +++ b/src/objectUtils.c @@ -1,17 +1,18 @@ - -#include "global.h" #include "entity.h" #include "physics.h" #include "room.h" #include "object.h" -#include "functions.h" +#include "asm.h" +#include "effects.h" +#include "player.h" +#include "structures.h" #include "definitions.h" +#include "vram.h" #include "object/linkAnimation.h" #include "object/itemOnGround.h" extern const Hitbox* const gObjectHitboxes[]; -u32 LoadObjectSprite(Entity* this, s32 type, const ObjectDefinition* definition); extern const ObjectDefinition gObjectDefinitions[]; static Entity* CreateSpeechBubble(Entity*, u32, s32, s32); @@ -119,20 +120,20 @@ u32 LoadObjectSprite(Entity* this, s32 type, const ObjectDefinition* definition) return 2; } -Entity* CreateObject(u32 subtype, u32 form, u32 type2) { +Entity* CreateObject(Object id, u32 type, u32 type2) { Entity* entity = GetEmptyEntity(); if (entity != NULL) { entity->kind = OBJECT; - entity->id = subtype; - entity->type = form; + entity->id = id; + entity->type = type; entity->type2 = type2; AppendEntityToList(entity, 6); } return entity; } -Entity* CreateObjectWithParent(Entity* parent, u32 subtype, u32 form, u32 type2) { - Entity* entity = CreateObject(subtype, form, type2); +Entity* CreateObjectWithParent(Entity* parent, Object id, u32 type, u32 type2) { + Entity* entity = CreateObject(id, type, type2); if (entity != NULL) { entity->parent = parent; CopyPosition(parent, entity); @@ -141,15 +142,15 @@ Entity* CreateObjectWithParent(Entity* parent, u32 subtype, u32 form, u32 type2) return entity; } -Entity* CreateFx(Entity* parentEnt, u32 form, u32 parameter) { - return CreateObjectWithParent(parentEnt, SPECIAL_FX, form, parameter); +Entity* CreateFx(Entity* parentEnt, Effect type, u32 type2) { + return CreateObjectWithParent(parentEnt, SPECIAL_FX, type, type2); } -void CreateDust(Entity* parent) { +void CreateDeathFx(Entity* parent) { CreateFx(parent, FX_DEATH, 0); } -void CreateDustAt(s32 xOff, s32 yOff, u32 layer) { +void CreateDeathFxAt(s32 xOff, s32 yOff, u32 layer) { Entity* ent; ent = CreateObject(SPECIAL_FX, FX_DEATH, 0); @@ -160,32 +161,32 @@ void CreateDustAt(s32 xOff, s32 yOff, u32 layer) { } } -void CreateDustSmall(Entity* parent) { +void CreateDashFx(Entity* parent) { CreateFx(parent, FX_DASH, 0); } -void CreateExplosionBroken(Entity* parent) { +void CreateExplosionBrokenFx(Entity* parent) { CreateFx(parent, FX_6, 0); } -void CreateWaterSplash(Entity* parent) { +void CreateWaterSplashFx(Entity* parent) { CreateFx(parent, FX_WATER_SPLASH, 0); } -Entity* CreateGroundItem(Entity* parent, u32 form, u32 subtype) { +Entity* CreateGroundItem(Entity* parent, u32 item, u32 subvalue) { Entity* ent; - ent = CreateObjectWithParent(parent, GROUND_ITEM, form, subtype); + ent = CreateObjectWithParent(parent, GROUND_ITEM, item, subvalue); if (ent != NULL) { ent->timer = 5; } return ent; } -Entity* CreateGroundItemWithFlags(Entity* parent, u32 form, u32 subtype, u32 flags) { +Entity* CreateGroundItemWithFlags(Entity* parent, u32 item, u32 subvalue, u32 flags) { Entity* ent; - ent = CreateObjectWithParent(parent, GROUND_ITEM, form, subtype); + ent = CreateObjectWithParent(parent, GROUND_ITEM, item, subvalue); if (ent != NULL) { ItemOnGroundEntity* this = (ItemOnGroundEntity*)ent; ent->timer = 5; @@ -194,7 +195,7 @@ Entity* CreateGroundItemWithFlags(Entity* parent, u32 form, u32 subtype, u32 fla return ent; } -Entity* CreateWaterTrace(Entity* parent) { +Entity* CreateRippleFx(Entity* parent) { Entity* ent; ent = CreateFx(parent, FX_RIPPLE, 0); @@ -204,12 +205,12 @@ Entity* CreateWaterTrace(Entity* parent) { return ent; } -void CreateRandomWaterTrace(Entity* parent, int range) { - s32 sVar1, sVar2, sVar3; +void CreateRippleFxRandom(Entity* parent, s32 range) { + s32 sVar1, sVar2; Entity* ent; u32 uVar3; - ent = CreateWaterTrace(parent); + ent = CreateRippleFx(parent); if (ent != NULL) { uVar3 = Random(); sVar1 = (int)uVar3 % (++range); @@ -228,7 +229,7 @@ void CreateRandomWaterTrace(Entity* parent, int range) { } } -Entity* CreateLargeWaterTrace(Entity* parent) { +Entity* CreateLargeRippleFx(Entity* parent) { Entity* ent = CreateFx(parent, FX_RIPPLE_LARGE, 0); if (ent != NULL) { ent->spritePriority.b0 = 7; @@ -236,22 +237,22 @@ Entity* CreateLargeWaterTrace(Entity* parent) { return ent; } -void sub_080A2AF4(Entity* parent, s32 param_2, s32 param_3) { +void CreateLargeRippleFxRandom(Entity* parent, s32 minDistance, s32 maxDistance) { Entity* entity; s32 radius; s32 angle; - entity = CreateLargeWaterTrace(parent); + entity = CreateLargeRippleFx(parent); if (entity != NULL) { angle = Random(); - radius = (angle % (param_3 - param_2 + 1)) + param_2; + radius = (angle % (maxDistance - minDistance + 1)) + minDistance; angle = angle >> 0x10 & 0xff; entity->x.WORD += FixedDiv(FixedMul(gSineTable[angle], radius << 8), 0x100) << 8; entity->y.WORD -= FixedDiv(FixedMul(gSineTable[angle + 0x40], radius << 8), 0x100) << 8; } } -void CreateSparkle(Entity* entity) { +void CreateSparkleFx(Entity* parent) { Entity* sparkle; u32 rand; s32 y; @@ -268,10 +269,10 @@ void CreateSparkle(Entity* entity) { if (4 < y) { y = -y; } - PositionRelative(entity, sparkle, x << 0x10, y << 0x10); - SortEntityAbove(entity, sparkle); - sparkle->spriteOffsetX = entity->spriteOffsetX; - sparkle->spriteOffsetY = entity->spriteOffsetY; + PositionRelative(parent, sparkle, x << 0x10, y << 0x10); + SortEntityAbove(parent, sparkle); + sparkle->spriteOffsetX = parent->spriteOffsetX; + sparkle->spriteOffsetY = parent->spriteOffsetY; } } diff --git a/src/physics.c b/src/physics.c index 99bc50df..d5b1a0a3 100644 --- a/src/physics.c +++ b/src/physics.c @@ -2,12 +2,13 @@ #include "asm.h" #include "color.h" #include "common.h" -#include "functions.h" +#include "structures.h" #include "physics.h" #include "player.h" #include "playeritem.h" #include "room.h" #include "sound.h" +#include "vram.h" const u8 gSpriteSortAboveTable[]; const u8 gSpriteSortBelowTable[]; diff --git a/src/player.c b/src/player.c index c394ea0d..6a7ef891 100644 --- a/src/player.c +++ b/src/player.c @@ -17,14 +17,19 @@ #include "main.h" #include "message.h" #include "object.h" +#include "effects.h" +#include "room.h" +#include "physics.h" #include "player.h" #include "playeritem.h" #include "playerItem/playerItemBottle.h" #include "save.h" #include "screen.h" #include "screenTransitions.h" +#include "scroll.h" #include "sound.h" #include "tiles.h" +#include "structures.h" #define kGravityRate Q_8_8(32) #define kWalkSpeedSlopeSubtractor Q_8_8(0.3125) @@ -559,7 +564,7 @@ static void PlayerNormal(PlayerEntity* this) { if (gPlayerState.item == NULL) UpdateAnimationSingleFrame(super); if (gPlayerState.swim_state != 0 && (gRoomTransition.frameCount & 7) == 0) - CreateWaterTrace(super); + CreateRippleFx(super); return; } } diff --git a/src/playerItem.c b/src/playerItem.c index 266d12d0..c50b9160 100644 --- a/src/playerItem.c +++ b/src/playerItem.c @@ -1,5 +1,4 @@ #include "global.h" -#include "functions.h" #include "player.h" #include "playeritem.h" diff --git a/src/playerItem/playerItemBoomerang.c b/src/playerItem/playerItemBoomerang.c index bcc151a8..b5d12dd7 100644 --- a/src/playerItem/playerItemBoomerang.c +++ b/src/playerItem/playerItemBoomerang.c @@ -6,9 +6,12 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "item.h" +#include "room.h" #include "sound.h" +#include "vram.h" +#include "collision.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItem/playerItemBottle.c b/src/playerItem/playerItemBottle.c index 47eeed56..d02a133a 100644 --- a/src/playerItem/playerItemBottle.c +++ b/src/playerItem/playerItemBottle.c @@ -6,12 +6,16 @@ */ #include "playerItem/playerItemBottle.h" -#include "functions.h" #include "item.h" #include "object.h" +#include "asm.h" +#include "physics.h" +#include "player.h" #include "save.h" #include "sound.h" #include "tiles.h" +#include "vram.h" +#include "collision.h" void PlayerItemBottle_UseEmptyBottle(Entity*); void PlayerItemBottle_Action1(PlayerItemBottleEntity*); diff --git a/src/playerItem/playerItemBow.c b/src/playerItem/playerItemBow.c index fec8aea4..827aa51f 100644 --- a/src/playerItem/playerItemBow.c +++ b/src/playerItem/playerItemBow.c @@ -7,12 +7,16 @@ #include "asm.h" #include "effects.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "playeritem.h" #include "save.h" #include "sound.h" #include "tiles.h" +#include "vram.h" +#include "collision.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItem/playerItemDashSword.c b/src/playerItem/playerItemDashSword.c index 0256561c..f12237d2 100644 --- a/src/playerItem/playerItemDashSword.c +++ b/src/playerItem/playerItemDashSword.c @@ -5,8 +5,10 @@ * @brief Dash Sword Player Item */ #include "entity.h" -#include "functions.h" #include "player.h" +#include "vram.h" +#include "collision.h" +#include "asm.h" extern Entity* DoTileInteractionOffset(Entity*, u32, s32, s32); diff --git a/src/playerItem/playerItemFireRodProjectile.c b/src/playerItem/playerItemFireRodProjectile.c index c80c7894..698bf3a3 100644 --- a/src/playerItem/playerItemFireRodProjectile.c +++ b/src/playerItem/playerItemFireRodProjectile.c @@ -7,10 +7,12 @@ #include "asm.h" #include "effects.h" #include "entity.h" -#include "functions.h" #include "physics.h" #include "playeritem.h" #include "sound.h" +#include "collision.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItem/playerItemGust.c b/src/playerItem/playerItemGust.c index 286c06f3..0ca4ef45 100644 --- a/src/playerItem/playerItemGust.c +++ b/src/playerItem/playerItemGust.c @@ -6,8 +6,10 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" +#include "collision.h" #include "object.h" +#include "room.h" +#include "physics.h" #include "player.h" #include "playeritem.h" diff --git a/src/playerItem/playerItemGustBig.c b/src/playerItem/playerItemGustBig.c index 7281139d..45b52c4a 100644 --- a/src/playerItem/playerItemGustBig.c +++ b/src/playerItem/playerItemGustBig.c @@ -4,13 +4,15 @@ * * @brief Gust Big Player Item */ +#include "playeritem.h" #include "asm.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "global.h" #include "player.h" #include "sound.h" #include "tiles.h" +#include "collision.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItem/playerItemGustJar.c b/src/playerItem/playerItemGustJar.c index 10cbca1b..3425e6e4 100644 --- a/src/playerItem/playerItemGustJar.c +++ b/src/playerItem/playerItemGustJar.c @@ -5,9 +5,10 @@ * @brief Gust Jar Player Item */ #include "entity.h" -#include "functions.h" #include "player.h" #include "sound.h" +#include "vram.h" +#include "asm.h" extern const u8* gUnk_08132714[]; // Anim index lists? // TODO spriteAnimations in here diff --git a/src/playerItem/playerItemHeldObject.c b/src/playerItem/playerItemHeldObject.c index 0783cd04..18013074 100644 --- a/src/playerItem/playerItemHeldObject.c +++ b/src/playerItem/playerItemHeldObject.c @@ -4,10 +4,11 @@ * * @brief Held Object Player Item */ +#include "object.h" #include "asm.h" #include "effects.h" -#include "entity.h" -#include "functions.h" +#include "physics.h" +#include "collision.h" #include "player.h" #include "sound.h" #include "tiles.h" diff --git a/src/playerItem/playerItemLantern.c b/src/playerItem/playerItemLantern.c index 7c16acbc..fe6fccf6 100644 --- a/src/playerItem/playerItemLantern.c +++ b/src/playerItem/playerItemLantern.c @@ -5,10 +5,13 @@ * @brief Lantern Player Item */ #include "entity.h" -#include "functions.h" #include "item.h" #include "object.h" +#include "physics.h" #include "player.h" +#include "vram.h" +#include "asm.h" +#include "collision.h" void PlayerItemLantern_Init(Entity* this); void PlayerItemLantern_Action1(Entity* this); diff --git a/src/playerItem/playerItemPacciCane.c b/src/playerItem/playerItemPacciCane.c index a6ef2553..c4937aef 100644 --- a/src/playerItem/playerItemPacciCane.c +++ b/src/playerItem/playerItemPacciCane.c @@ -6,11 +6,11 @@ */ #include "common.h" #include "entity.h" -#include "functions.h" -#include "message.h" #include "save.h" #include "sound.h" #include "structures.h" +#include "vram.h" +#include "asm.h" void PlayerItemPacciCane_Action1(Entity*); void PlayerItemPacciCane_Init(Entity* this); diff --git a/src/playerItem/playerItemPacciCaneProjectile.c b/src/playerItem/playerItemPacciCaneProjectile.c index 251274c9..3e7aa03e 100644 --- a/src/playerItem/playerItemPacciCaneProjectile.c +++ b/src/playerItem/playerItemPacciCaneProjectile.c @@ -4,10 +4,14 @@ * * @brief Pacci Cane Projectile Player Item */ +#include "playeritem.h" #include "asm.h" #include "entity.h" -#include "functions.h" +#include "collision.h" #include "object.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "sound.h" #include "tiles.h" diff --git a/src/playerItem/playerItemShield.c b/src/playerItem/playerItemShield.c index 7df31ebd..f10623cc 100644 --- a/src/playerItem/playerItemShield.c +++ b/src/playerItem/playerItemShield.c @@ -6,10 +6,11 @@ */ #include "collision.h" #include "entity.h" -#include "functions.h" #include "player.h" #include "playeritem.h" #include "sound.h" +#include "vram.h" +#include "asm.h" const Hitbox gUnk_081271CC = { 0, 0, { 1, 0, 0, 1 }, 8, 8 }; diff --git a/src/playerItem/playerItemSpiralBeam.c b/src/playerItem/playerItemSpiralBeam.c index e381d594..8baeee41 100644 --- a/src/playerItem/playerItemSpiralBeam.c +++ b/src/playerItem/playerItemSpiralBeam.c @@ -7,8 +7,12 @@ #include "asm.h" #include "effects.h" #include "entity.h" -#include "functions.h" +#include "playeritem.h" +#include "physics.h" #include "sound.h" +#include "collision.h" +#include "room.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItem/playerItemSword.c b/src/playerItem/playerItemSword.c index 1bf1d9e7..d82e19c4 100644 --- a/src/playerItem/playerItemSword.c +++ b/src/playerItem/playerItemSword.c @@ -7,10 +7,14 @@ #include "asm.h" #include "effects.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "sound.h" #include "tiles.h" +#include "vram.h" +#include "collision.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItem/playerItemSwordBeam.c b/src/playerItem/playerItemSwordBeam.c index 4b110c43..8d04528b 100644 --- a/src/playerItem/playerItemSwordBeam.c +++ b/src/playerItem/playerItemSwordBeam.c @@ -4,14 +4,16 @@ * * @brief Sword Beam Player Item */ +#include "playeritem.h" #include "asm.h" -#include "common.h" #include "effects.h" #include "entity.h" -#include "functions.h" +#include "collision.h" #include "physics.h" #include "player.h" #include "sound.h" +#include "object.h" +#include "room.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItemUtils.c b/src/playerItemUtils.c index 446bbdc7..42da7cff 100644 --- a/src/playerItemUtils.c +++ b/src/playerItemUtils.c @@ -1,10 +1,10 @@ #include "common.h" #include "entity.h" #include "flags.h" -#include "functions.h" #include "item.h" #include "message.h" #include "object.h" +#include "room.h" #include "player.h" #include "save.h" #include "sound.h" @@ -12,7 +12,6 @@ static Entity* GiveItemWithCutscene(u32, u32, u32); static void InitTileMessage(u32, u32); -Entity* CreateLinkAnimation(Entity*, u32, u32); void SetPlayerItemGetState(Entity*, u32, u32); void CreateItemEntity(u32 type, u32 type2, u32 delay) { diff --git a/src/playerUtils.c b/src/playerUtils.c index 312eca72..32236958 100644 --- a/src/playerUtils.c +++ b/src/playerUtils.c @@ -4,7 +4,7 @@ #include "collision.h" #include "common.h" #include "entity.h" -#include "functions.h" +#include "structures.h" #include "game.h" #include "global.h" #include "item.h" @@ -13,15 +13,21 @@ #include "manager/diggingCaveEntranceManager.h" #include "message.h" #include "object.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "physics.h" #include "player.h" #include "room.h" #include "save.h" #include "screen.h" #include "screenTransitions.h" +#include "scroll.h" #include "tileMap.h" #include "tiles.h" +#include "backgroundAnimations.h" -static void sub_08077E54(ItemBehavior* beh); +static void sub_08077E54(ItemBehavior* this); extern void sub_0800857C(Entity*); extern void InitDefaultPriority(Entity*); @@ -46,14 +52,10 @@ bool32 IsTryingToPickupObject(void); ItemBehavior* CreateItem(u32); u32 sub_080789A8(void); ItemBehavior* CreateItem1(u32); -void DeleteItemBehavior(ItemBehavior*, u32); bool32 sub_08079E90(u32); -void PlayerMinishSetNormalAndCollide(void); -void sub_08078D60(void); void* CreateItemGetPlayerItemWithParent(ItemBehavior*); u32 sub_08079FD4(Entity*, u32); void LoadRoomGfx(void); -SurfaceType GetSurfaceCalcType(Entity*, s32, s32); void sub_0807AAF8(Entity*, u32); void sub_0807A750(u32, u32, const u8*, u32); @@ -63,15 +65,12 @@ extern ItemBehavior* (*const gCreateItemsFuncs[])(Item); extern void UnregisterInteractTile(u32, u32); -extern const u8 gMapTileTypeToCollisionData[]; // collisionData for tileType? - extern u8 gUpdateVisibleTiles; bool32 sub_0807BF88(u32, u32, RoomResInfo*); void LoadRoomTileSet(void); -void ForceSetPlayerState(u32 framestate); InteractableObject* sub_080784E4(void); u32 sub_08079778(void); @@ -81,34 +80,27 @@ extern const KeyValuePair gMapActTileToSurfaceType[]; u32 sub_0807BEEC(u32 param_1, u32 param_2, u32 param_3); -bool32 sub_0807B434(u32 position, u32 layer); +bool32 sub_0807B434(u32 tilePos, u32 layer); void sub_0807B820(u32); void sub_0807B8A8(u32); void sub_0807B930(u32); -bool32 sub_0807B464(u32 param_1, u32 param_2); +bool32 sub_0807B464(u32 tilePos, u32 layer); void sub_0807B55C(u32, u32, u16*); void sub_0807B480(u32, u32); bool32 sub_0807B600(u32); -bool32 sub_0807B464(u32 tilePos, u32 param_2); - -bool32 sub_0807B464(u32 param_1, u32 param_2); - -extern void CreateRandomWaterTrace(Entity* parent, int range); void sub_08079520(Entity* this); bool32 ToggleDiving(Entity*); extern const u16* sub_0806FC50(u32 param_1, u32 param_2); -bool32 sub_08079F48(u32 param_1, u32 param_2); +bool32 sub_08079F48(u32 direction, u32 collisionData); extern void FillActTileForLayer(MapLayer* mapLayer); -extern u16 gUnk_080B77C0[]; - void sub_0807BFA8(void); void sub_0807C8B0(u16*, u32, u32); void sub_0807C69C(u8*, u32, u32); @@ -123,18 +115,7 @@ extern const u8 gMapTileTypeToCollisionData[]; // collisions for tiles > 0x4000 extern const u8 gMapSpecialTileToCollisionData[]; -extern u16 gUnk_080B77C0[]; - -void sub_0807BFA8(void); -void sub_0807C8B0(u16*, u32, u32); -void sub_0807C69C(u8*, u32, u32); -void sub_0807C460(void); -void sub_0807BBE4(void); -void CreateCollisionDataBorderAroundRoom(void); -void sub_0807C5F4(u16*, u16*); -void sub_0807C5B0(void); - -extern u8 gUnk_080082DC[]; +extern const u8 gUnk_080082DC[]; extern u32 sub_08004202(Entity*, u8*, u32); // This just reuses the first 12 bytes of gUnk_02022830 to store a MapDataDefinition there temporarily. @@ -154,9 +135,6 @@ u32 sub_0807A180(Entity*, Entity*, u32, u32); extern u32 gUsedPalettes; -extern void ClearBgAnimations(void); -extern void LoadBgAnimations(u16*); - void sub_0807BFA8(void); void UpdateActiveItems(PlayerEntity* this) { @@ -3090,11 +3068,11 @@ void PlayerUpdateSwimming(Entity* this) { } if (this->direction & DIR_NOT_MOVING_CHECK) { if ((gRoomTransition.frameCount & 0xf) == 0) { - CreateRandomWaterTrace(this, 4); + CreateRippleFxRandom(this, 4); } } else { if ((gRoomTransition.frameCount & 7) == 0) { - CreateWaterTrace(this); + CreateRippleFx(this); } } } @@ -3228,7 +3206,7 @@ void sub_0807B178(PlayerEntity* this) { void sub_0807B1A8(PlayerEntity* this) { gUnk_0811C298[this->unk_6e](this); if ((gRoomTransition.frameCount & 7) == 0) { - CreateSparkle(super); + CreateSparkleFx(super); } } diff --git a/src/projectile/arrowProjectile.c b/src/projectile/arrowProjectile.c index c47f0414..cf39a80c 100644 --- a/src/projectile/arrowProjectile.c +++ b/src/projectile/arrowProjectile.c @@ -7,8 +7,14 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" + +#include "sound.h" +#include "effects.h" +#include "physics.h" + +#include "player.h" extern void (*const ArrowProjectile_Functions[])(Entity*); extern void (*const ArrowProjectile_Actions[])(Entity*); @@ -95,7 +101,7 @@ void ArrowProjectile_Action3(Entity* this) { void ArrowProjectile_Action4(Entity* this) { if (GravityUpdate(this, Q_8_8(40.0)) == 0) { - CreateDust(this); + CreateDeathFx(this); DeleteThisEntity(); } else { if (--this->timer == 0) { diff --git a/src/projectile/ballAndChain.c b/src/projectile/ballAndChain.c index a727240a..fa1c5d0f 100644 --- a/src/projectile/ballAndChain.c +++ b/src/projectile/ballAndChain.c @@ -5,9 +5,9 @@ * @brief Ball and Chain Projectile */ #include "entity.h" -#include "functions.h" #include "hitbox.h" #include "projectile.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/boneProjectile.c b/src/projectile/boneProjectile.c index 336920a2..82bc43a4 100644 --- a/src/projectile/boneProjectile.c +++ b/src/projectile/boneProjectile.c @@ -7,7 +7,7 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const BoneProjectile_Functions[])(Entity*); extern void (*const BoneProjectile_Actions[])(Entity*); diff --git a/src/projectile/cannonballProjectile.c b/src/projectile/cannonballProjectile.c index c5b4244f..468424b9 100644 --- a/src/projectile/cannonballProjectile.c +++ b/src/projectile/cannonballProjectile.c @@ -7,7 +7,7 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const CannonballProjectile_Functions[])(Entity*); extern void (*const CannonballProjectile_Actions[])(Entity*); @@ -65,13 +65,13 @@ void CannonballProjectile_Action2(Entity* this) { bool32 sub_080AB5F4(Entity* this) { switch (GetTileHazardType(this)) { case 1: - CreatePitFallFX(this); + CreatePitFallFx(this); return TRUE; case 2: - CreateDrownFX(this); + CreateDrownFx(this); return TRUE; case 3: - CreateLavaDrownFX(this); + CreateLavaDrownFx(this); return TRUE; } return FALSE; diff --git a/src/projectile/dekuSeedProjectile.c b/src/projectile/dekuSeedProjectile.c index f3b2f5e7..897fbace 100644 --- a/src/projectile/dekuSeedProjectile.c +++ b/src/projectile/dekuSeedProjectile.c @@ -7,7 +7,7 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const DekuSeedProjectile_Functions[])(Entity*); extern void (*const DekuSeedProjectile_Actions[])(Entity*); diff --git a/src/projectile/dirtBallProjectile.c b/src/projectile/dirtBallProjectile.c index a03009de..24b561f6 100644 --- a/src/projectile/dirtBallProjectile.c +++ b/src/projectile/dirtBallProjectile.c @@ -6,7 +6,6 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "physics.h" #include "player.h" #include "sound.h" diff --git a/src/projectile/fireProjectile.c b/src/projectile/fireProjectile.c index cd81f3d3..5cd9d922 100644 --- a/src/projectile/fireProjectile.c +++ b/src/projectile/fireProjectile.c @@ -6,7 +6,7 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const FireProjectile_Actions[])(Entity*); diff --git a/src/projectile/gleerokProjectile.c b/src/projectile/gleerokProjectile.c index 3fd4bbf5..6a8b0ca9 100644 --- a/src/projectile/gleerokProjectile.c +++ b/src/projectile/gleerokProjectile.c @@ -6,8 +6,9 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "player.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/guardLineOfSight.c b/src/projectile/guardLineOfSight.c index d117507c..caadc900 100644 --- a/src/projectile/guardLineOfSight.c +++ b/src/projectile/guardLineOfSight.c @@ -7,7 +7,7 @@ #include "asm.h" #include "collision.h" #include "entity.h" -#include "functions.h" +#include "room.h" #include "hitbox.h" #include "physics.h" #include "projectile.h" diff --git a/src/projectile/gyorgMaleEnergyProjectile.c b/src/projectile/gyorgMaleEnergyProjectile.c index b3ee446d..73556f7e 100644 --- a/src/projectile/gyorgMaleEnergyProjectile.c +++ b/src/projectile/gyorgMaleEnergyProjectile.c @@ -6,7 +6,6 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/gyorgTail.c b/src/projectile/gyorgTail.c index a6f30104..e11b7daa 100644 --- a/src/projectile/gyorgTail.c +++ b/src/projectile/gyorgTail.c @@ -6,7 +6,6 @@ */ #include "asm.h" #include "entity.h" -#include "functions.h" #include "hitbox.h" #include "physics.h" #include "projectile.h" diff --git a/src/projectile/iceProjectile.c b/src/projectile/iceProjectile.c index 7a430b38..97898fa2 100644 --- a/src/projectile/iceProjectile.c +++ b/src/projectile/iceProjectile.c @@ -6,7 +6,7 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const IceProjectile_Actions[])(Entity*); diff --git a/src/projectile/keatonDagger.c b/src/projectile/keatonDagger.c index cf1fa109..90e89e05 100644 --- a/src/projectile/keatonDagger.c +++ b/src/projectile/keatonDagger.c @@ -8,7 +8,7 @@ #include "player.h" #include "physics.h" -extern void sub_0803C0AC(Entity*); +extern void StealRupees(Entity*); extern const Hitbox* const gUnk_08129998[]; @@ -21,7 +21,7 @@ void KeatonDagger(Entity* this) { parent = this->parent; if (((parent == NULL) || (parent->health == 0)) || (parent->next == NULL)) { if (((this->contactFlags & CONTACT_NOW) != 0) && (this->contactedEntity == &gPlayerEntity.base)) { - sub_0803C0AC(this); + StealRupees(this); } DeleteEntity(this); } else { diff --git a/src/projectile/lakituCloudProjectile.c b/src/projectile/lakituCloudProjectile.c index 8c0a11f2..d7284203 100644 --- a/src/projectile/lakituCloudProjectile.c +++ b/src/projectile/lakituCloudProjectile.c @@ -6,7 +6,8 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "player.h" +#include "physics.h" extern void SoundReqClipped(Entity*, u32); extern void sub_08079D84(void); diff --git a/src/projectile/lakituLightning.c b/src/projectile/lakituLightning.c index 279ef9e9..912ce722 100644 --- a/src/projectile/lakituLightning.c +++ b/src/projectile/lakituLightning.c @@ -7,7 +7,7 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const LakituLightning_Functions[])(Entity*); extern void (*const LakituLightning_Actions[])(Entity*); diff --git a/src/projectile/mandiblesProjectile.c b/src/projectile/mandiblesProjectile.c index 99ceb48b..4df4dc8d 100644 --- a/src/projectile/mandiblesProjectile.c +++ b/src/projectile/mandiblesProjectile.c @@ -6,11 +6,14 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" -#include "game.h" +#include "room.h" #include "hitbox.h" #include "physics.h" #include "tiles.h" +#include "player.h" +#ifndef EU +#include "game.h" +#endif typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/octorokBossProjectile.c b/src/projectile/octorokBossProjectile.c index 8ca0d67d..da2b3ffd 100644 --- a/src/projectile/octorokBossProjectile.c +++ b/src/projectile/octorokBossProjectile.c @@ -7,8 +7,9 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "projectile.h" +#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/removableDust.c b/src/projectile/removableDust.c index c6b7a5ff..c5617a61 100644 --- a/src/projectile/removableDust.c +++ b/src/projectile/removableDust.c @@ -6,8 +6,11 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "flags.h" +#include "player.h" #include "physics.h" #include "room.h" #include "tiles.h" diff --git a/src/projectile/rockProjectile.c b/src/projectile/rockProjectile.c index a2e75f11..4bfebb9b 100644 --- a/src/projectile/rockProjectile.c +++ b/src/projectile/rockProjectile.c @@ -6,7 +6,7 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const RockProjectile_Functions[])(Entity*); extern void (*const RockProjectile_Actions[])(Entity*); diff --git a/src/projectile/spiderWeb.c b/src/projectile/spiderWeb.c index 5e4e1a46..069e881b 100644 --- a/src/projectile/spiderWeb.c +++ b/src/projectile/spiderWeb.c @@ -6,9 +6,14 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "hitbox.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "flags.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/projectile/spikedRollers.c b/src/projectile/spikedRollers.c index bc641510..2c5b6298 100644 --- a/src/projectile/spikedRollers.c +++ b/src/projectile/spikedRollers.c @@ -5,7 +5,7 @@ * @brief Spiked Rollers Projectile */ #include "entity.h" -#include "functions.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/stalfosProjectile.c b/src/projectile/stalfosProjectile.c index bbe7b728..4a4f1651 100644 --- a/src/projectile/stalfosProjectile.c +++ b/src/projectile/stalfosProjectile.c @@ -6,7 +6,7 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const StalfosProjectile_Functions[])(Entity*); extern void (*const StalfosProjectile_Actions[])(Entity*); diff --git a/src/projectile/torchTrapProjectile.c b/src/projectile/torchTrapProjectile.c index 5176b451..b007037f 100644 --- a/src/projectile/torchTrapProjectile.c +++ b/src/projectile/torchTrapProjectile.c @@ -6,8 +6,7 @@ */ #include "collision.h" #include "enemy.h" -#include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const TorchTrapProjectile_Functions[])(Entity*); extern void (*const TorchTrapProjectile_Actions[])(Entity*); diff --git a/src/projectile/v1DarkMagicProjectile.c b/src/projectile/v1DarkMagicProjectile.c index dd3d1d0b..f56e1ba2 100644 --- a/src/projectile/v1DarkMagicProjectile.c +++ b/src/projectile/v1DarkMagicProjectile.c @@ -6,7 +6,6 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/v1EyeLaser.c b/src/projectile/v1EyeLaser.c index a79f5c94..f5f38f5f 100644 --- a/src/projectile/v1EyeLaser.c +++ b/src/projectile/v1EyeLaser.c @@ -5,8 +5,9 @@ * @brief V1 Eye Laser Projectile */ #include "entity.h" -#include "functions.h" #include "projectile.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/v1FireProjectile.c b/src/projectile/v1FireProjectile.c index bdf914bf..d15767ee 100644 --- a/src/projectile/v1FireProjectile.c +++ b/src/projectile/v1FireProjectile.c @@ -6,8 +6,9 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "player.h" +#include "room.h" +#include "physics.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/v2Projectile.c b/src/projectile/v2Projectile.c index b96a2be5..fa77b2a6 100644 --- a/src/projectile/v2Projectile.c +++ b/src/projectile/v2Projectile.c @@ -6,8 +6,13 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" #include "object.h" +#include "asm.h" +#include "sound.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { @@ -56,7 +61,7 @@ void V2Projectile_OnCollision(V2ProjectileEntity* this) { } case 3: case 0x14: { - CreateDust(super); + CreateDeathFx(super); DeleteThisEntity(); break; } diff --git a/src/projectile/v3ElectricProjectile.c b/src/projectile/v3ElectricProjectile.c index 2fe12fb2..51391304 100644 --- a/src/projectile/v3ElectricProjectile.c +++ b/src/projectile/v3ElectricProjectile.c @@ -7,7 +7,6 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/v3HandProjectile.c b/src/projectile/v3HandProjectile.c index ff594836..b60057c4 100644 --- a/src/projectile/v3HandProjectile.c +++ b/src/projectile/v3HandProjectile.c @@ -6,8 +6,7 @@ */ #include "collision.h" #include "enemy.h" -#include "entity.h" -#include "functions.h" +#include "physics.h" #include "player.h" extern void (*const V3HandProjectile_Functions[])(Entity*); diff --git a/src/projectile/v3TennisBallProjectile.c b/src/projectile/v3TennisBallProjectile.c index abc6d35c..b6be41f3 100644 --- a/src/projectile/v3TennisBallProjectile.c +++ b/src/projectile/v3TennisBallProjectile.c @@ -7,7 +7,7 @@ #include "collision.h" #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const V3TennisBallProjectile_Functions[])(Entity*); extern void (*const V3TennisBallProjectile_Actions[])(Entity*); diff --git a/src/projectile/windProjectile.c b/src/projectile/windProjectile.c index 2682b104..3ad7a171 100644 --- a/src/projectile/windProjectile.c +++ b/src/projectile/windProjectile.c @@ -6,7 +6,7 @@ */ #include "enemy.h" #include "entity.h" -#include "functions.h" +#include "physics.h" extern void (*const WindProjectile_Actions[])(Entity*); diff --git a/src/projectile/winder.c b/src/projectile/winder.c index d8b5c5d8..032df7e5 100644 --- a/src/projectile/winder.c +++ b/src/projectile/winder.c @@ -9,8 +9,9 @@ #include "collision.h" #include "common.h" #include "entity.h" -#include "functions.h" +#include "physics.h" #include "projectile.h" +#include "room.h" extern s16 gUnk_080B4488[]; diff --git a/src/projectileUtils.c b/src/projectileUtils.c index e11be579..5eebb291 100644 --- a/src/projectileUtils.c +++ b/src/projectileUtils.c @@ -1,6 +1,7 @@ #include "entity.h" #include "definitions.h" -#include "functions.h" +#include "vram.h" +#include "room.h" extern const ProjectileDefinition gProjectileDefinitions[]; diff --git a/src/room.c b/src/room.c index a75c098a..61c2c707 100644 --- a/src/room.c +++ b/src/room.c @@ -4,11 +4,13 @@ #include "common.h" #include "enemy.h" #include "flags.h" -#include "functions.h" +#include "script.h" #include "game.h" #include "manager/bombableWallManager.h" #include "map.h" #include "object.h" +#include "asm.h" +#include "effects.h" #include "room.h" #include "tiles.h" diff --git a/src/roomInit.c b/src/roomInit.c index 81366256..68e812e8 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -7,14 +7,28 @@ #include "kinstone.h" #include "main.h" #include "object.h" +#include "asm.h" +#include "room.h" +#include "player.h" +#include "physics.h" #include "save.h" #include "screen.h" #include "screenTransitions.h" #include "sound.h" #include "tiles.h" #include "windcrest.h" +#include "enemy/armos.h" #include "manager/lightManager.h" -#include "functions.h" +#include "manager/hyruleTownTileSetManager.h" +#include "manager/staticBackgroundManager.h" +#include "manager/verticalMinishPathBackgroundManager.h" +#include "manager/horizontalMinishPathBackgroundManager.h" +#include "manager/minishRaftersBackgroundManager.h" +#include "manager/miscManager.h" +#include "npc/bigGoron.h" +#include "scroll.h" +#include "subtask.h" +#include "beanstalkSubtask.h" extern u32 sub_08060354(void); extern void MinishVillageTileSetManger_LoadInitialGfxGroup(void); @@ -46,7 +60,7 @@ u32 sub_unk3_ArmosInteriors_RuinsEntranceNorth(u32 arg0) { } void sub_StateChange_ArmosInteriors_RuinsEntranceNorth(void) { - sub_08030118(0); + Armos_SetFlagFromTransition(0); } u32 sub_unk3_ArmosInteriors_RuinsEntranceSouth(void) { @@ -54,7 +68,7 @@ u32 sub_unk3_ArmosInteriors_RuinsEntranceSouth(void) { } void sub_StateChange_ArmosInteriors_RuinsEntranceSouth(void) { - sub_08030118(1); + Armos_SetFlagFromTransition(1); } u32 sub_unk3_ArmosInteriors_RuinsLeft(void) { @@ -62,7 +76,7 @@ u32 sub_unk3_ArmosInteriors_RuinsLeft(void) { } void sub_StateChange_ArmosInteriors_RuinsLeft(void) { - sub_08030118(2); + Armos_SetFlagFromTransition(2); } u32 sub_unk3_ArmosInteriors_RuinsMiddleLeft(void) { @@ -70,7 +84,7 @@ u32 sub_unk3_ArmosInteriors_RuinsMiddleLeft(void) { } void sub_StateChange_ArmosInteriors_RuinsMiddleLeft(void) { - sub_08030118(3); + Armos_SetFlagFromTransition(3); } u32 sub_unk3_ArmosInteriors_RuinsMiddleRight(void) { @@ -78,7 +92,7 @@ u32 sub_unk3_ArmosInteriors_RuinsMiddleRight(void) { } void sub_StateChange_ArmosInteriors_RuinsMiddleRight(void) { - sub_08030118(4); + Armos_SetFlagFromTransition(4); } u32 sub_unk3_ArmosInteriors_RuinsRight(void) { @@ -86,7 +100,7 @@ u32 sub_unk3_ArmosInteriors_RuinsRight(void) { } void sub_StateChange_ArmosInteriors_RuinsRight(void) { - sub_08030118(5); + Armos_SetFlagFromTransition(5); } u32 sub_unk3_ArmosInteriors_6(void) { @@ -94,7 +108,7 @@ u32 sub_unk3_ArmosInteriors_6(void) { } void sub_StateChange_ArmosInteriors_6(void) { - sub_08030118(6); + Armos_SetFlagFromTransition(6); } u32 sub_unk3_ArmosInteriors_RuinsGrassPath(void) { @@ -102,7 +116,7 @@ u32 sub_unk3_ArmosInteriors_RuinsGrassPath(void) { } void sub_StateChange_ArmosInteriors_RuinsGrassPath(void) { - sub_08030118(7); + Armos_SetFlagFromTransition(7); } u32 sub_unk3_ArmosInteriors_8(void) { @@ -110,7 +124,7 @@ u32 sub_unk3_ArmosInteriors_8(void) { } void sub_StateChange_ArmosInteriors_8(void) { - sub_08030118(8); + Armos_SetFlagFromTransition(8); } u32 sub_unk3_ArmosInteriors_FortressOfWindsLeft(void) { @@ -118,7 +132,7 @@ u32 sub_unk3_ArmosInteriors_FortressOfWindsLeft(void) { } void sub_StateChange_ArmosInteriors_FortressOfWindsLeft(void) { - sub_08030118(9); + Armos_SetFlagFromTransition(9); gArea.dungeon_idx = 3; gArea.areaMetadata = AR_HAS_NO_ENEMIES | AR_HAS_MAP | AR_IS_DUNGEON | AR_HAS_KEYS; } @@ -128,7 +142,7 @@ u32 sub_unk3_ArmosInteriors_FortressOfWindsRight(void) { } void sub_StateChange_ArmosInteriors_FortressOfWindsRight(void) { - sub_08030118(10); + Armos_SetFlagFromTransition(10); gArea.dungeon_idx = 3; gArea.areaMetadata = AR_HAS_NO_ENEMIES | AR_HAS_MAP | AR_IS_DUNGEON | AR_HAS_KEYS; } diff --git a/src/save.c b/src/save.c index 46dcb0d3..b638d73e 100644 --- a/src/save.c +++ b/src/save.c @@ -3,7 +3,6 @@ #include "sound.h" #include "menu.h" #include "main.h" -#include "functions.h" #include "game.h" #include "fileselect.h" diff --git a/src/script.c b/src/script.c index bb2cfe75..fee3403d 100644 --- a/src/script.c +++ b/src/script.c @@ -1,14 +1,25 @@ #include "area.h" -#include "functions.h" #include "game.h" #include "item.h" #include "kinstone.h" #include "main.h" #include "npc.h" #include "object.h" +#include "asm.h" +#include "common.h" +#include "sound.h" +#include "flags.h" +#include "effects.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "screen.h" +#include "scroll.h" #include "script.h" #include "ui.h" +#include "save.h" +#include "subtask.h" +#include "structures.h" void InitScriptExecutionContext(ScriptExecutionContext* context, Script* script); void sub_0807DE80(Entity*); diff --git a/src/scroll.c b/src/scroll.c index 408cbd6b..b3cd7953 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -6,12 +6,15 @@ #include "common.h" #include "effects.h" #include "entity.h" -#include "functions.h" #include "game.h" #include "kinstone.h" #include "manager/diggingCaveEntranceManager.h" #include "map.h" #include "object.h" +#include "sound.h" +#include "room.h" +#include "physics.h" +#include "player.h" #include "screen.h" #include "structures.h" #include "tileMap.h" @@ -964,7 +967,7 @@ void sub_08080CB4(Entity* this) { case 0x5c: case 0x62: if ((gRoomTransition.frameCount & 0xf) == 0) { - CreateSparkle(this); + CreateSparkleFx(this); } break; } diff --git a/src/staffroll.c b/src/staffroll.c index f0ff11ae..007049fb 100644 --- a/src/staffroll.c +++ b/src/staffroll.c @@ -14,6 +14,8 @@ #include "save.h" #include "screen.h" #include "subtask.h" +#include "sound.h" +#include "structures.h" typedef struct { /*0x00*/ Menu base; diff --git a/src/subtask.c b/src/subtask.c index ddccfff1..5fc61704 100644 --- a/src/subtask.c +++ b/src/subtask.c @@ -1,11 +1,6 @@ #include "common.h" #include "fileselect.h" -#include "flags.h" -#include "functions.h" #include "game.h" -#include "item.h" -#include "itemMetaData.h" -#include "kinstone.h" #include "main.h" #include "menu.h" #include "message.h" @@ -14,6 +9,8 @@ #include "subtask.h" #include "ui.h" #include "windcrest.h" +#include "affine.h" +#include "structures.h" extern Screen gUnk_03001020; extern u8 gPaletteBufferBackup[]; diff --git a/src/subtask/subtaskAuxCutscene.c b/src/subtask/subtaskAuxCutscene.c index f916ae62..f1c30af4 100644 --- a/src/subtask/subtaskAuxCutscene.c +++ b/src/subtask/subtaskAuxCutscene.c @@ -6,9 +6,7 @@ #include "area.h" #include "asm.h" #include "common.h" -#include "fileselect.h" -#include "flags.h" -#include "functions.h" +#include "structures.h" #include "game.h" #include "main.h" #include "menu.h" @@ -17,6 +15,7 @@ #include "screen.h" #include "sound.h" #include "subtask.h" +#include "affine.h" typedef void(AuxCutsceneState)(void); typedef void(CutsceneMainState)(void); diff --git a/src/subtask/subtaskFastTravel.c b/src/subtask/subtaskFastTravel.c index 40b1ca0f..1b297789 100644 --- a/src/subtask/subtaskFastTravel.c +++ b/src/subtask/subtaskFastTravel.c @@ -7,10 +7,12 @@ #include "subtask.h" #include "common.h" #include "menu.h" -#include "functions.h" #include "message.h" #include "sound.h" #include "save.h" +#include "affine.h" +#include "asm.h" +#include "structures.h" extern void (*const Subtask_FastTravel_Functions[])(void); void sub_080A6E70(void); diff --git a/src/subtask/subtaskLocalMapHint.c b/src/subtask/subtaskLocalMapHint.c index 357e3f7e..cd33365d 100644 --- a/src/subtask/subtaskLocalMapHint.c +++ b/src/subtask/subtaskLocalMapHint.c @@ -7,10 +7,12 @@ #include "menu.h" #include "subtask.h" #include "kinstone.h" -#include "functions.h" +#include "player.h" #include "screen.h" #include "sound.h" #include "common.h" +#include "affine.h" +#include "structures.h" void Subtask_LocalMapHint() { extern void (*const gUnk_08128F1C[])(void); diff --git a/src/subtask/subtaskMapHint.c b/src/subtask/subtaskMapHint.c index 1bbe2670..2ab6bead 100644 --- a/src/subtask/subtaskMapHint.c +++ b/src/subtask/subtaskMapHint.c @@ -5,7 +5,6 @@ * @brief Map Hint Subtask */ #include "menu.h" -#include "functions.h" #include "subtask.h" #include "common.h" #include "main.h" @@ -15,6 +14,7 @@ #include "fileselect.h" #include "kinstone.h" #include "game.h" +#include "affine.h" void sub_080A6438(); diff --git a/src/subtask/subtaskWorldEvent.c b/src/subtask/subtaskWorldEvent.c index 0c7c5b5b..ac8d52af 100644 --- a/src/subtask/subtaskWorldEvent.c +++ b/src/subtask/subtaskWorldEvent.c @@ -7,7 +7,7 @@ #include "asm.h" #include "common.h" #include "flags.h" -#include "functions.h" +#include "manager/hyruleTownTileSetManager.h" #include "game.h" #include "kinstone.h" #include "main.h" @@ -16,6 +16,7 @@ #include "room.h" #include "screen.h" #include "subtask.h" +#include "affine.h" void Subtask_WorldEvent_Update(void); diff --git a/src/text.c b/src/text.c index 29d9b93a..d15ce166 100644 --- a/src/text.c +++ b/src/text.c @@ -1,7 +1,6 @@ #include "global.h" #include "common.h" #include "structures.h" -#include "functions.h" #include "asm.h" #include "enemy.h" #include "message.h" diff --git a/src/title.c b/src/title.c index 238e11d1..c9ca4543 100644 --- a/src/title.c +++ b/src/title.c @@ -11,12 +11,17 @@ #include "common.h" #include "screen.h" #include "object.h" +#include "room.h" +#include "player.h" #include "message.h" -#include "functions.h" +#include "structures.h" #include "save.h" -#include "area.h" -#include "item.h" #include "game.h" +#include "affine.h" +#ifdef DEMO_JP +#include "item.h" +#include "flags.h" +#endif typedef struct { u8 filler0[0x4]; diff --git a/src/ui.c b/src/ui.c index 8c529f57..f7bd74c8 100644 --- a/src/ui.c +++ b/src/ui.c @@ -1,6 +1,5 @@ #include "area.h" #include "common.h" -#include "functions.h" #include "game.h" #include "global.h" #include "item.h" @@ -9,6 +8,7 @@ #include "save.h" #include "screen.h" #include "sound.h" +#include "affine.h" #include "structures.h" extern void sub_0805ECEC(u32, u32, u32, u32); diff --git a/src/vram.c b/src/vram.c index 68b1433c..02a186ac 100644 --- a/src/vram.c +++ b/src/vram.c @@ -1,5 +1,6 @@ #include "common.h" #include "fileselect.h" +#include "vram.h" #include "structures.h" extern u32 gFixedTypeGfxData[]; diff --git a/src/worldEvent/worldEvent10.c b/src/worldEvent/worldEvent10.c index 69d7691e..6074760a 100644 --- a/src/worldEvent/worldEvent10.c +++ b/src/worldEvent/worldEvent10.c @@ -7,6 +7,9 @@ #include "fade.h" #include "menu.h" #include "object.h" +#include "common.h" +#include "flags.h" +#include "room.h" #include "subtask.h" void WorldEvent_Beanstalk_0(void); diff --git a/src/worldEvent/worldEvent12.c b/src/worldEvent/worldEvent12.c index 3fa18c50..0cba9c61 100644 --- a/src/worldEvent/worldEvent12.c +++ b/src/worldEvent/worldEvent12.c @@ -12,6 +12,7 @@ #include "room.h" #include "script.h" #include "subtask.h" +#include "save.h" extern Script script_GormanFirstAppearance; const EntityData gUnk_080FF2C0[] = { diff --git a/src/worldEvent/worldEvent14.c b/src/worldEvent/worldEvent14.c index 249a7774..c6e4c462 100644 --- a/src/worldEvent/worldEvent14.c +++ b/src/worldEvent/worldEvent14.c @@ -12,6 +12,7 @@ #include "room.h" #include "script.h" #include "subtask.h" +#include "save.h" extern Script script_GhostBrotherKinstone; const EntityData gUnk_080FF17C[] = { diff --git a/src/worldEvent/worldEvent17.c b/src/worldEvent/worldEvent17.c index 0be153e6..4e6caf61 100644 --- a/src/worldEvent/worldEvent17.c +++ b/src/worldEvent/worldEvent17.c @@ -13,6 +13,11 @@ #include "subtask.h" #include "manager/bombableWallManager.h" #include "tiles.h" +#include "flags.h" +#include "sound.h" +#include "asm.h" +#include "effects.h" +#include "physics.h" // Called Goron Kinstone Fusion Script void sub_08054EB8(Entity* this, ScriptExecutionContext* context) { diff --git a/src/worldEvent/worldEvent19.c b/src/worldEvent/worldEvent19.c index 12437991..4e319336 100644 --- a/src/worldEvent/worldEvent19.c +++ b/src/worldEvent/worldEvent19.c @@ -5,12 +5,13 @@ * @brief World Event 19 */ #include "fade.h" -#include "functions.h" #include "menu.h" #include "npc.h" #include "room.h" #include "script.h" #include "subtask.h" +#include "manager/staticBackgroundManager.h" +#include "npc/bigGoron.h" extern Script script_BigGoronKinstone1; extern Script script_BigGoronKinstone2; diff --git a/src/worldEvent/worldEvent21.c b/src/worldEvent/worldEvent21.c index e5540fa9..2fc9625d 100644 --- a/src/worldEvent/worldEvent21.c +++ b/src/worldEvent/worldEvent21.c @@ -9,6 +9,7 @@ #include "npc.h" #include "room.h" #include "subtask.h" +#include "script.h" extern Script script_CarlovKinstone; const EntityData gUnk_080FF264[] = { diff --git a/src/worldEvent/worldEvent22.c b/src/worldEvent/worldEvent22.c index 3fc0a672..e26dd650 100644 --- a/src/worldEvent/worldEvent22.c +++ b/src/worldEvent/worldEvent22.c @@ -4,7 +4,7 @@ * * @brief World Event 22 */ -#include "functions.h" +#include "script.h" #include "menu.h" #include "npc.h" #include "room.h" diff --git a/src/worldEvent/worldEvent25.c b/src/worldEvent/worldEvent25.c index b50b5ce8..d24fa8dc 100644 --- a/src/worldEvent/worldEvent25.c +++ b/src/worldEvent/worldEvent25.c @@ -7,6 +7,7 @@ #include "fade.h" #include "menu.h" #include "object.h" +#include "room.h" #include "script.h" #include "subtask.h" diff --git a/src/worldEvent/worldEvent3.c b/src/worldEvent/worldEvent3.c index adb20f68..a40483f1 100644 --- a/src/worldEvent/worldEvent3.c +++ b/src/worldEvent/worldEvent3.c @@ -6,7 +6,6 @@ */ #include "fade.h" #include "flags.h" -#include "functions.h" #include "menu.h" #include "subtask.h" diff --git a/src/worldEvent/worldEvent4.c b/src/worldEvent/worldEvent4.c index 114cec1c..7280d2c4 100644 --- a/src/worldEvent/worldEvent4.c +++ b/src/worldEvent/worldEvent4.c @@ -6,7 +6,6 @@ */ #include "fade.h" #include "flags.h" -#include "functions.h" #include "kinstone.h" #include "menu.h" #include "screen.h" diff --git a/src/worldEvent/worldEvent6.c b/src/worldEvent/worldEvent6.c index bfc96630..fdc90450 100644 --- a/src/worldEvent/worldEvent6.c +++ b/src/worldEvent/worldEvent6.c @@ -7,6 +7,9 @@ #include "fade.h" #include "menu.h" #include "object.h" +#include "flags.h" +#include "effects.h" +#include "room.h" #include "sound.h" #include "subtask.h" diff --git a/src/worldEvent/worldEvent7.c b/src/worldEvent/worldEvent7.c index 601990ad..1984868d 100644 --- a/src/worldEvent/worldEvent7.c +++ b/src/worldEvent/worldEvent7.c @@ -7,6 +7,7 @@ #include "fade.h" #include "menu.h" #include "object.h" +#include "flags.h" #include "sound.h" #include "subtask.h" From 46506530fc489732833e26d321b8879e9b13e6b4 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 9 Mar 2025 12:01:00 +0000 Subject: [PATCH 11/17] cleanup structures.h --- include/beanstalkSubtask.h | 15 + include/color.h | 2 +- include/entity.h | 10 + include/fade.h | 3 + include/gfx.h | 8 + include/itemDefinitions.h | 20 ++ include/main.h | 12 + include/message.h | 8 + include/pauseMenu.h | 16 ++ include/player.h | 31 ++ include/scroll.h | 6 + include/structures.h | 268 +----------------- include/ui.h | 98 +++++++ include/vram.h | 28 ++ src/affine.c | 1 - src/backgroundAnimations.c | 2 +- src/beanstalkSubtask.c | 2 +- src/code_0805EC04.c | 2 +- src/collision.c | 1 - src/color.c | 17 +- src/common.c | 5 +- src/cutscene.c | 1 - src/debug.c | 1 - src/demo.c | 1 - src/enemy/chuchuBoss.c | 2 +- src/enemy/gleerok.c | 2 +- src/enemy/mazaalMacro.c | 1 - src/enemy/octorokBoss.c | 2 +- src/enemy/waterDrop.c | 2 +- src/enterPortalSubtask.c | 4 +- src/entity.c | 1 - src/fade.c | 10 +- src/fileselect.c | 2 +- src/game.c | 2 +- src/gameUtils.c | 4 +- src/interrupts.c | 1 - src/item/itemOcarina.c | 2 +- src/item/itemTryPickupObject.c | 2 +- src/itemDefinitions.c | 2 +- src/itemUtils.c | 2 +- src/main.c | 1 - src/manager/diggingCaveEntranceManager.c | 1 - src/manager/enterRoomTextboxManager.c | 2 +- src/manager/holeManager.c | 2 +- .../horizontalMinishPathBackgroundManager.c | 2 +- src/manager/lightRayManager.c | 1 - src/manager/minishRaftersBackgroundManager.c | 2 +- src/manager/minishVillageTileSetManager.c | 3 +- src/manager/rollingBarrelManager.c | 2 +- src/manager/secretManager.c | 1 - src/manager/templeOfDropletsManager.c | 3 +- src/manager/vaati3InsideArmManager.c | 1 - src/manager/weatherChangeManager.c | 1 - src/menu/figurineMenu.c | 2 +- src/menu/kinstoneMenu.c | 1 - src/menu/pauseMenu.c | 3 +- src/menu/pauseMenuScreen6.c | 1 - src/message.c | 2 +- src/npc/beedle.c | 1 - src/npc/drLeft.c | 1 - src/npc/ghostBrothers.c | 2 +- src/npc/mayorHagen.c | 1 - src/npc/npc23.c | 2 +- src/npc/npc4E.c | 1 - src/npc/postman.c | 1 - src/npc/rem.c | 1 - src/npc/smallTownMinish.c | 1 - src/npc/smith.c | 1 - src/npc/stockwell.c | 1 - src/npc/townMinish.c | 1 - src/object/bird.c | 2 +- src/object/cameraTarget.c | 1 - src/object/chestSpawner.c | 2 +- src/object/cloud.c | 2 +- src/object/crenelBeanSprout.c | 2 +- src/object/fileScreenObjects.c | 2 +- src/object/itemForSale.c | 2 +- src/object/linkAnimation.c | 2 +- src/object/macroMushroomStalk.c | 2 +- src/object/macroPlayer.c | 2 +- src/object/minishPortalCloseup.c | 1 - src/object/minishPortalStone.c | 2 +- src/object/windcrest.c | 1 - src/objectUtils.c | 2 +- src/physics.c | 20 +- src/player.c | 3 +- src/playerItem/playerItemPacciCane.c | 2 +- src/playerUtils.c | 16 +- src/script.c | 2 +- src/scroll.c | 1 - src/staffroll.c | 18 +- src/subtask.c | 2 +- src/subtask/subtaskAuxCutscene.c | 1 - src/subtask/subtaskFastTravel.c | 2 +- src/subtask/subtaskLocalMapHint.c | 2 +- src/text.c | 1 - src/title.c | 1 - src/ui.c | 4 +- src/vram.c | 2 +- 99 files changed, 363 insertions(+), 383 deletions(-) create mode 100644 include/gfx.h create mode 100644 include/itemDefinitions.h diff --git a/include/beanstalkSubtask.h b/include/beanstalkSubtask.h index e89df836..3a91465e 100644 --- a/include/beanstalkSubtask.h +++ b/include/beanstalkSubtask.h @@ -45,4 +45,19 @@ typedef struct { */ extern void SetMultipleTiles(const TileData* tileData, u32 basePosition, u32 layer); +typedef struct { + u8 unk_0; + u8 unk_1; + u8 unk_2[2]; + u16 unk_4; + u8 filler[12]; + struct Entity_* unk_14; + u8 unk_18; + u8 unk_19; + u8 unk_1a; + u8 unk_1b; +} struct_02018EB0; + +extern struct_02018EB0 gUnk_02018EB0; + #endif // BEANSTALKSUBTASK_H diff --git a/include/color.h b/include/color.h index eaebb6a6..06c6662c 100644 --- a/include/color.h +++ b/include/color.h @@ -23,7 +23,7 @@ typedef struct { u16 unk_02; union SplitWord unk_04; union SplitWord unk_08; - u32 unk_0C; + void* unk_0C; } struct_gUnk_020000C0_1; typedef struct { diff --git a/include/entity.h b/include/entity.h index de76f3b7..a332089e 100644 --- a/include/entity.h +++ b/include/entity.h @@ -537,6 +537,16 @@ typedef struct { } CarriedEntity; extern CarriedEntity gCarriedEntity; +typedef struct { + u8 event_priority; /**< system requested priority @see Priority */ + u8 ent_priority; /**< entity requested priority @see Priority */ + u8 queued_priority; /**< @see Priority */ + u8 queued_priority_reset; /**< @see Priority */ + Entity* requester; + u16 priority_timer; +} PriorityHandler; +extern PriorityHandler gPriorityHandler; + /** * Current number of entities. * @see Entity diff --git a/include/fade.h b/include/fade.h index c9b30e10..e623df25 100644 --- a/include/fade.h +++ b/include/fade.h @@ -100,4 +100,7 @@ void FadeVBlank(void); */ void ResetFadeMask(void); +extern u32 gUsedPalettes; +#define USE_PALETTE(i) do { gUsedPalettes |= 1 << (i); } while(0) + #endif // FADE_H diff --git a/include/gfx.h b/include/gfx.h new file mode 100644 index 00000000..b0ecd2a4 --- /dev/null +++ b/include/gfx.h @@ -0,0 +1,8 @@ +#ifndef GFX_H +#define GFX_H + +#include "global.h" + +extern const u8 gGlobalGfxAndPalettes[]; + +#endif //GFX_H diff --git a/include/itemDefinitions.h b/include/itemDefinitions.h new file mode 100644 index 00000000..f48fa18a --- /dev/null +++ b/include/itemDefinitions.h @@ -0,0 +1,20 @@ +#ifndef ITEMDEFINITIONS_H +#define ITEMDEFINITIONS_H + +#include "global.h" + +typedef struct { + /*0x00*/ bool8 isOnlyActiveFirstFrame; /**< Is the behavior for this item only created on the first frame */ + /*0x01*/ u8 priority; + /*0x02*/ u8 createFunc; + /*0x03*/ u8 playerItemId; /**< Id for the corresponsing PlayerItem. */ + /*0x04*/ u16 frameIndex; + /*0x06*/ u8 animPriority; + /*0x07*/ bool8 isChangingAttackStatus; + /*0x08*/ bool8 isUseableAsMinish; + /*0x09*/ u8 pad[3]; +} ItemDefinition; + +static_assert(sizeof(ItemDefinition) == 0xc); + +#endif //ITEMDEFINITIONS_H diff --git a/include/main.h b/include/main.h index 859f90ce..8a38f36f 100644 --- a/include/main.h +++ b/include/main.h @@ -101,6 +101,18 @@ static_assert(sizeof(UI) == 0x3b4); extern Main gMain; /**< Main instance. */ extern UI gUI; /**< UI instance. */ +typedef struct { + s32 signature; + u8 field_0x4; + u8 listenForKeyPresses; + u8 field_0x6; + u8 field_0x7; + u8 pad[24]; +} struct_02000010; +static_assert(sizeof(struct_02000010) == 0x20); + +extern struct_02000010 gUnk_02000010; + /** * Program entry point. */ diff --git a/include/message.h b/include/message.h index ddbc473e..dbb5ac55 100644 --- a/include/message.h +++ b/include/message.h @@ -127,6 +127,14 @@ typedef struct { extern TextRender gTextRender; static_assert(sizeof(TextRender) == 0xa8); +typedef struct { + u8 unk_00; + u8 unk_01; + u8 unk_02[0xE]; +} struct_02000040; + +extern struct_02000040 gUnk_02000040; + /** * @brief Initialize the message system. */ diff --git a/include/pauseMenu.h b/include/pauseMenu.h index 1197b2f3..aba00a4a 100644 --- a/include/pauseMenu.h +++ b/include/pauseMenu.h @@ -40,4 +40,20 @@ typedef enum { PauseMenuScreen_19, } PauseMenuScreen; +typedef struct { + u8 disabled; + u8 screen; + u8 unk2[0xf]; // cursor positions on the different screens + u8 unk11; + u8 unk12; + u8 unk13; + s8 screen2; + u8 unk15; + s8 unk16; + u8 unk17; +} PauseMenuOptions; + +extern PauseMenuOptions gPauseMenuOptions; +static_assert(sizeof(PauseMenuOptions) == 0x18); + #endif // PAUSEMENU_H diff --git a/include/player.h b/include/player.h index 956c98f7..ac8bcddf 100644 --- a/include/player.h +++ b/include/player.h @@ -676,6 +676,37 @@ typedef enum { INTERACTION_NULL = 0xFF, } InteractionType; +typedef struct { + s8 x; + s8 y; + s8 width; + s8 height; +} Rect; + +typedef struct { + /*0x00*/ u8 ignoreLayer; /* if bit 0 set, skip layer check for collision */ + /*0x01*/ u8 type; + /*0x02*/ u8 interactDirections; /* lower 4 bits determine Link's allowed facing directions to interact, 0 to allow + (0000WSEN) */ + /*0x03*/ u8 kinstoneId; + /*0x04*/ const Rect* customHitbox; /* optional custom rectangle */ + /*0x08*/ Entity* entity; +} InteractableObject; + +typedef struct { + /*0x00*/ u8 isUpdated; + /*0x01*/ u8 unused; + /*0x02*/ u8 kinstoneId; + /*0x03*/ u8 currentIndex; /* index of currentObject in candidate list, or 0xFF */ + /*0x04*/ InteractableObject* currentObject; + /*0x08*/ InteractableObject + candidates[0x20]; /* contains the loaded NPCs, key doors, windcrests and other objects */ +} PossibleInteraction; + +static_assert(sizeof(PossibleInteraction) == 0x188); + +extern PossibleInteraction gPossibleInteraction; + typedef enum { R_ACTION_NONE, R_ACTION_CANCEL, diff --git a/include/scroll.h b/include/scroll.h index a100093c..486814f2 100644 --- a/include/scroll.h +++ b/include/scroll.h @@ -4,6 +4,12 @@ #include "global.h" #include "transitions.h" +typedef struct { + u16 unk_00; + u8 unk_02[0xE]; +} struct_02034480; +extern struct_02034480 gUnk_02034480; + extern bool32 DoApplicableTransition(u32, u32, u32, u32); extern void DoExitTransitionWithType(const Transition* screenTransition, u32 transitionType); diff --git a/include/structures.h b/include/structures.h index 68dd1f10..811bae31 100644 --- a/include/structures.h +++ b/include/structures.h @@ -2,223 +2,6 @@ #define STRUCTURES_H #include "global.h" -#include "entity.h" - -typedef struct { - u8 unk_00; - u8 unk_01; - u8 unk_02[0xE]; -} struct_02000040; - -extern struct_02000040 gUnk_02000040; - -typedef struct { - s32 signature; - u8 field_0x4; - u8 listenForKeyPresses; - u8 field_0x6; - u8 field_0x7; - u8 pad[24]; -} struct_02000010; -static_assert(sizeof(struct_02000010) == 0x20); - -extern struct_02000010 gUnk_02000010; - -typedef struct { - u8 unk0; - u8 unk1; - u16 unk2; -} struct_020354C0; -extern struct_020354C0 gUnk_020354C0[0x20]; - -#define MAX_UI_ELEMENTS 24 - -typedef enum { - UI_ELEMENT_BUTTON_A, - UI_ELEMENT_BUTTON_B, - UI_ELEMENT_BUTTON_R, - UI_ELEMENT_ITEM_A, - UI_ELEMENT_ITEM_B, - UI_ELEMENT_TEXT_R, - UI_ELEMENT_HEART, - UI_ELEMENT_EZLONAGSTART, - UI_ELEMENT_EZLONAGACTIVE, - UI_ELEMENT_TEXT_A, - UI_ELEMENT_TEXT_B -} UIElementType; - -/** - * @brief Floating UI element - */ -typedef struct { - u8 used : 1; - u8 unk_0_1 : 1; - u8 unk_0_2 : 2; // Load data into VRAM? 0: do not load, 1: ready to load 2: loaded - u8 unk_0_4 : 4; - u8 type; /**< @see UIElementType */ - u8 type2; // Subtype - u8 buttonElementId; /**< Id of the button UI element this text is attached to */ - u8 action; - u8 unk_5; - u8 unk_6; - u8 unk_7; - u8 unk_8; - u8 unk_9[3]; - u16 x; - u16 y; - u8 frameIndex; - u8 duration; - u8 spriteSettings; - u8 frameSettings; - Frame* framePtr; - u8 unk_18; - u8 numTiles; - u16 unk_1a; // TODO oam id? VRAM target (element->unk_1a * 0x20 + 0x6010000) - u32* firstTile; -} UIElement; - -typedef enum { - HUD_HIDE_NONE, - HUD_HIDE_1 = 0x1, // A - HUD_HIDE_2 = 0x2, // B - HUD_HIDE_4 = 0x4, // R - HUD_HIDE_8 = 0x8, - HUD_HIDE_HEARTS = 0x10, - HUD_HIDE_CHARGE_BAR = 0x20, - HUD_HIDE_RUPEES = 0x40, - HUD_HIDE_KEYS = 0x80, - - HUD_HIDE_ALL = 0xff -} HUDHideFlags; - -typedef struct { - u8 unk_0; - u8 hideFlags; - u8 unk_2; - u8 health; - u8 maxHealth; - u8 unk_5; - u8 unk_6; - u8 unk_7; - u8 unk_8; - u8 unk_9; - u8 unk_a; - u8 unk_b; - u8 unk_c; - u8 unk_d; - u16 rupees; - u8 unk_10; // TODO drawing keys dirty flag or something? - u8 unk_11; - u8 dungeonKeys; - s8 unk_13; - s8 unk_14; - u8 unk_15; - u16 buttonX[3]; /**< X coordinates for the button UI elements */ - u16 buttonY[3]; /**< Y coordinates for the button UI elements */ - u8 filler22[0x2]; - u8 ezloNagFuncIndex; - u8 filler25[7]; - u8 rActionInteractObject; // used as R button UI frame index - u8 rActionInteractTile; - u8 rActionGrabbing; - u8 rActionPlayerState; // if not 0, overrides other R actions - u8 buttonText[3]; - u8 unk_33; - UIElement elements[MAX_UI_ELEMENTS]; -} HUD; -extern HUD gHUD; - -typedef struct { - u16 unk_00; - u8 unk_02[0xE]; -} struct_02034480; -extern struct_02034480 gUnk_02034480; - -extern u16 gBG0Buffer[0x400]; -extern u16 gBG1Buffer[0x400]; -extern u16 gBG2Buffer[0x400]; -extern u16 gBG3Buffer[0x800]; - - -typedef struct { - u8 event_priority; // system requested priority - u8 ent_priority; // entity requested priority - u8 queued_priority; - u8 queued_priority_reset; - Entity* requester; - u16 priority_timer; -} PriorityHandler; -extern PriorityHandler gPriorityHandler; - -typedef struct { - u8 disabled; - u8 screen; - u8 unk2[0xf]; // cursor positions on the different screens - u8 unk11; - u8 unk12; - u8 unk13; - s8 screen2; - u8 unk15; - s8 unk16; - u8 unk17; -} PauseMenuOptions; - -extern PauseMenuOptions gPauseMenuOptions; -static_assert(sizeof(PauseMenuOptions) == 0x18); - -typedef struct { - u8 unk0; - u8 unk1; - u16 unk2; - u8 unk4; - u8 unk5; - u8 unk6; - u8 unk7; -} OAMObj; - -typedef struct { - u8 field_0x0; - u8 field_0x1; - u8 spritesOffset; - u8 updated; - u16 _4; - u16 _6; - u8 _0[0x18]; - struct OamData oam[0x80]; - OAMObj unk[0xA0]; /* todo: affine */ -} OAMControls; -extern OAMControls gOAMControls; - -typedef struct { - s8 x; - s8 y; - s8 width; - s8 height; -} Rect; - -typedef struct { - /*0x00*/ u8 ignoreLayer; /* if bit 0 set, skip layer check for collision */ - /*0x01*/ u8 type; - /*0x02*/ u8 interactDirections; /* lower 4 bits determine Link's allowed facing directions to interact, 0 to allow - (0000WSEN) */ - /*0x03*/ u8 kinstoneId; - /*0x04*/ const Rect* customHitbox; /* optional custom rectangle */ - /*0x08*/ Entity* entity; -} InteractableObject; - -typedef struct { - /*0x00*/ u8 isUpdated; - /*0x01*/ u8 unused; - /*0x02*/ u8 kinstoneId; - /*0x03*/ u8 currentIndex; /* index of currentObject in candidate list, or 0xFF */ - /*0x04*/ InteractableObject* currentObject; - /*0x08*/ InteractableObject - candidates[0x20]; /* contains the loaded NPCs, key doors, windcrests and other objects */ -} PossibleInteraction; - -static_assert(sizeof(PossibleInteraction) == 0x188); - -extern PossibleInteraction gPossibleInteraction; typedef struct { u8 numTiles; @@ -233,60 +16,11 @@ typedef struct { u32 pad; } SpritePtr; -extern SpritePtr gSpritePtrs[]; - -typedef struct { - u8 unk_0; - u8 unk_1; - u8 unk_2[2]; - u16 unk_4; - u8 filler[12]; - Entity* unk_14; - u8 unk_18; - u8 unk_19; - u8 unk_1a; - u8 unk_1b; -} struct_02018EB0; - -extern struct_02018EB0 gUnk_02018EB0; - -typedef struct { - /*0x00*/ bool8 isOnlyActiveFirstFrame; /**< Is the behavior for this item only created on the first frame */ - /*0x01*/ u8 priority; - /*0x02*/ u8 createFunc; - /*0x03*/ u8 playerItemId; /**< Id for the corresponsing PlayerItem. */ - /*0x04*/ u16 frameIndex; - /*0x06*/ u8 animPriority; - /*0x07*/ bool8 isChangingAttackStatus; - /*0x08*/ bool8 isUseableAsMinish; - /*0x09*/ u8 pad[3]; -} ItemDefinition; - -static_assert(sizeof(ItemDefinition) == 0xc); +extern const SpritePtr gSpritePtrs[]; typedef struct { u8 frame; u8 frameIndex; } PACKED FrameStruct; -typedef struct { - /*0x0*/ u8 menuType; - /*0x1*/ u16 font; - /*0x3*/ u8 unk_3; // TODO padding? - /*0x4*/ u16 transitionTimer; - /*0x6*/ u16 gfxEntry; - /*0x8*/ u16 bg2XOffset; - /*0xa*/ u16 sm_unk_14; -} PACKED StaffrollEntry; - -static_assert(sizeof(StaffrollEntry) == 0xc); - -typedef struct { - u8 paletteGroup; - u8 gfxGroup; -} PACKED StaffrollGfxEntry; - -extern const u8 gGlobalGfxAndPalettes[]; -extern u32 gUsedPalettes; - #endif // STRUCTURES_H diff --git a/include/ui.h b/include/ui.h index 669c29d1..77c27f4a 100644 --- a/include/ui.h +++ b/include/ui.h @@ -2,6 +2,104 @@ #define UI_H #include "global.h" +#include "sprite.h" + +#define MAX_UI_ELEMENTS 24 + +typedef enum { + UI_ELEMENT_BUTTON_A, + UI_ELEMENT_BUTTON_B, + UI_ELEMENT_BUTTON_R, + UI_ELEMENT_ITEM_A, + UI_ELEMENT_ITEM_B, + UI_ELEMENT_TEXT_R, + UI_ELEMENT_HEART, + UI_ELEMENT_EZLONAGSTART, + UI_ELEMENT_EZLONAGACTIVE, + UI_ELEMENT_TEXT_A, + UI_ELEMENT_TEXT_B +} UIElementType; + +/** + * @brief Floating UI element + */ +typedef struct { + u8 used : 1; + u8 unk_0_1 : 1; + u8 unk_0_2 : 2; // Load data into VRAM? 0: do not load, 1: ready to load 2: loaded + u8 unk_0_4 : 4; + u8 type; /**< @see UIElementType */ + u8 type2; // Subtype + u8 buttonElementId; /**< Id of the button UI element this text is attached to */ + u8 action; + u8 unk_5; + u8 unk_6; + u8 unk_7; + u8 unk_8; + u8 unk_9[3]; + u16 x; + u16 y; + u8 frameIndex; + u8 duration; + u8 spriteSettings; + u8 frameSettings; + Frame* framePtr; + u8 unk_18; + u8 numTiles; + u16 unk_1a; // TODO oam id? VRAM target (element->unk_1a * 0x20 + 0x6010000) + u32* firstTile; +} UIElement; + +typedef enum { + HUD_HIDE_NONE, + HUD_HIDE_1 = 0x1, // A + HUD_HIDE_2 = 0x2, // B + HUD_HIDE_4 = 0x4, // R + HUD_HIDE_8 = 0x8, + HUD_HIDE_HEARTS = 0x10, + HUD_HIDE_CHARGE_BAR = 0x20, + HUD_HIDE_RUPEES = 0x40, + HUD_HIDE_KEYS = 0x80, + + HUD_HIDE_ALL = 0xff +} HUDHideFlags; + +typedef struct { + u8 unk_0; + u8 hideFlags; + u8 unk_2; + u8 health; + u8 maxHealth; + u8 unk_5; + u8 unk_6; + u8 unk_7; + u8 unk_8; + u8 unk_9; + u8 unk_a; + u8 unk_b; + u8 unk_c; + u8 unk_d; + u16 rupees; + u8 unk_10; // TODO drawing keys dirty flag or something? + u8 unk_11; + u8 dungeonKeys; + s8 unk_13; + s8 unk_14; + u8 unk_15; + u16 buttonX[3]; /**< X coordinates for the button UI elements */ + u16 buttonY[3]; /**< Y coordinates for the button UI elements */ + u8 filler22[0x2]; + u8 ezloNagFuncIndex; + u8 filler25[7]; + u8 rActionInteractObject; // used as R button UI frame index + u8 rActionInteractTile; + u8 rActionGrabbing; + u8 rActionPlayerState; // if not 0, overrides other R actions + u8 buttonText[3]; + u8 unk_33; + UIElement elements[MAX_UI_ELEMENTS]; +} HUD; +extern HUD gHUD; extern void DrawUIElements(void); extern void UpdateUIElements(void); diff --git a/include/vram.h b/include/vram.h index a3fde71c..eae470e5 100644 --- a/include/vram.h +++ b/include/vram.h @@ -50,4 +50,32 @@ extern bool32 LoadSwapGFX(Entity*, u32, u32); extern void UnloadGFXSlots(Entity*); extern void sub_080ADD70(void); +extern u16 gBG0Buffer[0x400]; +extern u16 gBG1Buffer[0x400]; +extern u16 gBG2Buffer[0x400]; +extern u16 gBG3Buffer[0x800]; + +typedef struct { + u8 unk0; + u8 unk1; + u16 unk2; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; +} OAMObj; + +typedef struct { + u8 field_0x0; + u8 field_0x1; + u8 spritesOffset; + u8 updated; + u16 _4; + u16 _6; + u8 _0[0x18]; + struct OamData oam[0x80]; + OAMObj unk[0xA0]; /* todo: affine */ +} OAMControls; +extern OAMControls gOAMControls; + #endif //VRAM_H diff --git a/src/affine.c b/src/affine.c index a7b71857..e552b715 100644 --- a/src/affine.c +++ b/src/affine.c @@ -1,6 +1,5 @@ #include "affine.h" #include "global.h" -#include "structures.h" #include "main.h" #include "room.h" #include "screen.h" diff --git a/src/backgroundAnimations.c b/src/backgroundAnimations.c index 827f42c3..b055bbbf 100644 --- a/src/backgroundAnimations.c +++ b/src/backgroundAnimations.c @@ -8,7 +8,7 @@ #include "asm.h" #include "assets/gfx_offsets.h" #include "common.h" -#include "structures.h" +#include "gfx.h" #include "room.h" void LoadBgAnimationGfx(const BgAnimationGfx*); diff --git a/src/beanstalkSubtask.c b/src/beanstalkSubtask.c index 0131c684..3188b2e8 100644 --- a/src/beanstalkSubtask.c +++ b/src/beanstalkSubtask.c @@ -17,10 +17,10 @@ #include "player.h" #include "screen.h" #include "scroll.h" -#include "structures.h" #include "tiles.h" #include "affine.h" #include "subtask.h" +#include "ui.h" extern void sub_0807C898(void); extern void sub_0805BB74(s32); diff --git a/src/code_0805EC04.c b/src/code_0805EC04.c index 09b0c6dd..2adb5251 100644 --- a/src/code_0805EC04.c +++ b/src/code_0805EC04.c @@ -2,7 +2,7 @@ #include "entity.h" #include "player.h" #include "room.h" -#include "structures.h" +#include "vram.h" const u8 gUnk_08109202[] = { 255, 8, 24, 255, 0, 4, 28, 255, 16, 12, 20, 255, 255, 255, 255, 255, 0, 0, diff --git a/src/collision.c b/src/collision.c index 7220bf5f..42f7c358 100644 --- a/src/collision.c +++ b/src/collision.c @@ -3,7 +3,6 @@ #include "common.h" #include "enemy.h" #include "entity.h" -#include "structures.h" #include "global.h" #include "item.h" #include "object.h" diff --git a/src/color.c b/src/color.c index 76f4c4db..cf179c19 100644 --- a/src/color.c +++ b/src/color.c @@ -3,15 +3,12 @@ #include "common.h" #include "color.h" #include "room.h" -#include "global.h" -#include "fileselect.h" #include "main.h" -#include "physics.h" -#include "structures.h" +#include "gfx.h" extern Palette gUnk_02001A3C; -void LoadObjPaletteAtIndex(u32 a1, u32 a2); +void LoadObjPaletteAtIndex(u32 a1, u32 paletteIndex); void CleanUpObjPalettes(); u32 FindFreeObjPalette(u32); void SetEntityObjPalette(Entity*, s32); @@ -238,21 +235,21 @@ void ChangeObjPalette(Entity* entity, u32 objPaletteId) { LoadObjPalette(entity, objPaletteId); } -void LoadObjPaletteAtIndex(u32 objPaletteId, u32 a2) { +void LoadObjPaletteAtIndex(u32 objPaletteId, u32 paletteIndex) { u16* buffer; - gUsedPalettes |= 1 << (a2 + 16); + USE_PALETTE(paletteIndex + 16); if (objPaletteId > 5) { if (objPaletteId == 0x15) { buffer = gPaletteBuffer; - MemFill16(buffer[0x3C], buffer + (a2 + 16) * 16, 0x20); + MemFill16(buffer[0x3C], buffer + (paletteIndex + 16) * 16, 0x20); } else if (objPaletteId < 0x15) { - LoadPalettes((u8*)(gPaletteBuffer + (objPaletteId - 6) * 16), a2 + 16, 1); + LoadPalettes((u8*)(gPaletteBuffer + (objPaletteId - 6) * 16), paletteIndex + 16, 1); } else { u32 offset = gUnk_08133368[(objPaletteId - 0x16)].WORD_U; u32 numPalettes = (offset >> 0x18) & 0xf; offset &= 0xffffff; - LoadPalettes(gGlobalGfxAndPalettes + offset, a2 + 16, numPalettes); + LoadPalettes(&gGlobalGfxAndPalettes[offset], paletteIndex + 16, numPalettes); } } } diff --git a/src/common.c b/src/common.c index 69e4d3df..73020e20 100644 --- a/src/common.c +++ b/src/common.c @@ -16,7 +16,6 @@ #include "screen.h" #include "sound.h" #include "subtask.h" -#include "structures.h" extern u8 gUnk_03003DE0; extern u8 gzHeap[0x1000]; @@ -244,7 +243,7 @@ void LoadPalettes(const u8* src, s32 destPaletteNum, s32 numPalettes) { u32 size = numPalettes * 32; u32 usedPalettesMask = 1 << destPaletteNum; while (--numPalettes > 0) { - usedPalettesMask |= (usedPalettesMask << 1); + usedPalettesMask |= usedPalettesMask << 1; } gUsedPalettes |= usedPalettesMask; dest = &gPaletteBuffer[destPaletteNum * 16]; @@ -253,7 +252,7 @@ void LoadPalettes(const u8* src, s32 destPaletteNum, s32 numPalettes) { void SetColor(u32 colorIndex, u32 color) { gPaletteBuffer[colorIndex] = color; - gUsedPalettes |= 1 << (colorIndex / 16); + USE_PALETTE(colorIndex / 16); } void SetFillColor(u32 color, u32 disable_layers) { diff --git a/src/cutscene.c b/src/cutscene.c index 241c9235..dbdabec5 100644 --- a/src/cutscene.c +++ b/src/cutscene.c @@ -8,7 +8,6 @@ #include "enemy.h" #include "fade.h" #include "fileselect.h" -#include "structures.h" #include "game.h" #include "main.h" #include "menu.h" diff --git a/src/debug.c b/src/debug.c index c8a92ace..9ca357ad 100644 --- a/src/debug.c +++ b/src/debug.c @@ -13,7 +13,6 @@ #include "screen.h" #include "sound.h" #include "save.h" -#include "structures.h" void sub_0805FA04(void); void sub_0805FA98(void); diff --git a/src/demo.c b/src/demo.c index a8934300..b510a6fb 100644 --- a/src/demo.c +++ b/src/demo.c @@ -16,7 +16,6 @@ #include "menu.h" #include "sound.h" #include "affine.h" -#include "structures.h" void sub_080A30AC(void); void sub_080A2E40(void); diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index 8511e2b7..81bfd0c3 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -14,7 +14,7 @@ #include "physics.h" #include "player.h" #include "tiles.h" -#include "structures.h" +#include "pauseMenu.h" #ifndef EU #include "vram.h" #endif diff --git a/src/enemy/gleerok.c b/src/enemy/gleerok.c index 40e0eddf..124d5d65 100644 --- a/src/enemy/gleerok.c +++ b/src/enemy/gleerok.c @@ -16,7 +16,7 @@ #include "physics.h" #include "player.h" #include "screen.h" -#include "structures.h" +#include "pauseMenu.h" typedef struct { union SplitHWord unk0; diff --git a/src/enemy/mazaalMacro.c b/src/enemy/mazaalMacro.c index e3e4e50d..5d2dd7a4 100644 --- a/src/enemy/mazaalMacro.c +++ b/src/enemy/mazaalMacro.c @@ -7,7 +7,6 @@ #include "enemy.h" #include "screenTransitions.h" #include "script.h" -#include "structures.h" #include "tiles.h" #include "player.h" #include "physics.h" diff --git a/src/enemy/octorokBoss.c b/src/enemy/octorokBoss.c index f2a85cd8..0ef5f55c 100644 --- a/src/enemy/octorokBoss.c +++ b/src/enemy/octorokBoss.c @@ -6,7 +6,7 @@ */ #include "enemy/octorokBoss.h" #include "collision.h" -#include "structures.h" +#include "pauseMenu.h" #include "game.h" #include "object.h" #include "asm.h" diff --git a/src/enemy/waterDrop.c b/src/enemy/waterDrop.c index d6ba88e8..7d7c7e78 100644 --- a/src/enemy/waterDrop.c +++ b/src/enemy/waterDrop.c @@ -12,7 +12,7 @@ #include "physics.h" #include "player.h" #include "screen.h" -#include "structures.h" +#include "vram.h" void sub_0802A39C(Entity*); void sub_0802A334(Entity*); diff --git a/src/enterPortalSubtask.c b/src/enterPortalSubtask.c index ddc00cbe..ee748dca 100644 --- a/src/enterPortalSubtask.c +++ b/src/enterPortalSubtask.c @@ -9,7 +9,7 @@ #include "area.h" #include "common.h" #include "entity.h" -#include "structures.h" +#include "beanstalkSubtask.h" #include "game.h" #include "main.h" #include "object.h" @@ -188,7 +188,7 @@ void Subtask_PortalCutscene_0(void) { LoadPaletteGroup(ptr->paletteGroup); LoadGfxGroup(ptr->gfxGroup); MemCopy(gPaletteBuffer + 3 * 16, gPaletteBuffer + 21 * 16, 16 * 2); - gUsedPalettes |= 1 << 21; + USE_PALETTE(21); EraseAllEntities(); LoadRoomEntityList(gUnk_080D4110[portalId]); ClearEventPriority(); diff --git a/src/entity.c b/src/entity.c index 34ce01ae..9e1603d4 100644 --- a/src/entity.c +++ b/src/entity.c @@ -6,7 +6,6 @@ #include "npc.h" #include "vram.h" #include "script.h" -#include "structures.h" #include "room.h" #include "player.h" #include "physics.h" diff --git a/src/fade.c b/src/fade.c index a9cd0a4d..8f14b277 100644 --- a/src/fade.c +++ b/src/fade.c @@ -1,6 +1,6 @@ #include "global.h" #include "save.h" -#include "structures.h" +#include "vram.h" #include "screen.h" #include "common.h" @@ -8,7 +8,13 @@ static u32 sub_080501C0(FadeControl* ctl); static u32 sub_08050230(FadeControl* ctl); static u32 sub_080502A4(FadeControl* ctl); -extern u32 gUsedPalettes; +typedef struct { + u8 unk0; + u8 unk1; + u16 unk2; +} struct_020354C0; +extern struct_020354C0 gUnk_020354C0[0x20]; + extern u16 gPaletteBuffer[]; extern u16 gUnk_080FC3C4[]; diff --git a/src/fileselect.c b/src/fileselect.c index 2f873ee1..34c13d3a 100644 --- a/src/fileselect.c +++ b/src/fileselect.c @@ -24,7 +24,7 @@ #include "subtask.h" #include "ui.h" #include "affine.h" -#include "structures.h" +#include "gfx.h" // copy, erase, start #define NUM_FILE_OPERATIONS 3 diff --git a/src/game.c b/src/game.c index e582ec17..da2c4427 100644 --- a/src/game.c +++ b/src/game.c @@ -12,7 +12,6 @@ #include "common.h" #include "entity.h" #include "fileselect.h" -#include "structures.h" #include "main.h" #include "manager/diggingCaveEntranceManager.h" #include "message.h" @@ -23,6 +22,7 @@ #include "sound.h" #include "ui.h" #include "beanstalkSubtask.h" +#include "pauseMenu.h" // Game task diff --git a/src/gameUtils.c b/src/gameUtils.c index 19d39204..92a9db0b 100644 --- a/src/gameUtils.c +++ b/src/gameUtils.c @@ -23,7 +23,7 @@ #include "ui.h" #include "subtask.h" #include "beanstalkSubtask.h" -#include "structures.h" +#include "pauseMenu.h" u32 StairsAreValid(void); void ClearFlagArray(const u16*); @@ -828,7 +828,7 @@ void sub_080533CC(void) { *p2++ = *p1++; *p2++ = *p1++; *p2++ = *p1++; - gUsedPalettes |= 1 << 3; + USE_PALETTE(3); } void UpdateTimerCallbacks(void) { diff --git a/src/interrupts.c b/src/interrupts.c index 9d824006..14b97384 100644 --- a/src/interrupts.c +++ b/src/interrupts.c @@ -10,7 +10,6 @@ #include "save.h" #include "screen.h" #include "sound.h" -#include "structures.h" #include "ui.h" #include "asm.h" diff --git a/src/item/itemOcarina.c b/src/item/itemOcarina.c index 4cd8a621..8cae9252 100644 --- a/src/item/itemOcarina.c +++ b/src/item/itemOcarina.c @@ -1,4 +1,4 @@ -#include "structures.h" +#include "pauseMenu.h" #include "item.h" #include "sound.h" diff --git a/src/item/itemTryPickupObject.c b/src/item/itemTryPickupObject.c index 1648b6a0..5503a670 100644 --- a/src/item/itemTryPickupObject.c +++ b/src/item/itemTryPickupObject.c @@ -2,7 +2,7 @@ #include "item.h" #include "playeritem.h" #include "sound.h" -#include "structures.h" +#include "ui.h" #include "room.h" u32 sub_08077F64(ItemBehavior* arg0, u32 index); diff --git a/src/itemDefinitions.c b/src/itemDefinitions.c index 0550f3e9..c50e71f9 100644 --- a/src/itemDefinitions.c +++ b/src/itemDefinitions.c @@ -1,6 +1,6 @@ +#include "itemDefinitions.h" #include "item.h" #include "playeritem.h" -#include "structures.h" const ItemDefinition gItemDefinitions[] = { [ITEM_NONE] = { TRUE, 1, CREATE_ITEM_0, PLAYER_ITEM_NONE, 0, 0, FALSE, FALSE }, diff --git a/src/itemUtils.c b/src/itemUtils.c index 1ed84adc..a57ad013 100644 --- a/src/itemUtils.c +++ b/src/itemUtils.c @@ -16,7 +16,7 @@ #include "player.h" #include "enemy.h" #include "message.h" -#include "structures.h" +#include "ui.h" const Wallet gWalletSizes[] = { { 100, 0xf060 }, diff --git a/src/main.c b/src/main.c index a57a3ec7..5260574a 100644 --- a/src/main.c +++ b/src/main.c @@ -12,7 +12,6 @@ #include "save.h" #include "screen.h" #include "sound.h" -#include "structures.h" extern u32 gRand; diff --git a/src/manager/diggingCaveEntranceManager.c b/src/manager/diggingCaveEntranceManager.c index d7b37a73..18e7a74c 100644 --- a/src/manager/diggingCaveEntranceManager.c +++ b/src/manager/diggingCaveEntranceManager.c @@ -12,7 +12,6 @@ #include "scroll.h" #include "tiles.h" #ifndef EU -#include "structures.h" #endif void DiggingCaveEntranceManager_Main(DiggingCaveEntranceManager*); diff --git a/src/manager/enterRoomTextboxManager.c b/src/manager/enterRoomTextboxManager.c index f456714c..e9c7d5a4 100644 --- a/src/manager/enterRoomTextboxManager.c +++ b/src/manager/enterRoomTextboxManager.c @@ -11,7 +11,7 @@ #include "game.h" #include "message.h" #include "screen.h" -#include "structures.h" +#include "vram.h" const u16 gUnk_08108DE8[] = { 0, 0x70b, 0x70c, 0x70d, 0x70e, 0x70f, 0x710, 0x711, 0x712, 0x713, 0x714, 0x715, 0x716, 0x717, 0x718, 0x719, 0x71a, 0x71b, 0x71c, 0x71d, 0x71e, 0x71f, diff --git a/src/manager/holeManager.c b/src/manager/holeManager.c index ced8e4b9..cc3a3191 100644 --- a/src/manager/holeManager.c +++ b/src/manager/holeManager.c @@ -15,7 +15,7 @@ #include "game.h" #include "manager/lightManager.h" #include "assets/gfx_offsets.h" -#include "structures.h" +#include "gfx.h" typedef enum { HOLE_TRANSITION_ABSOLUTE, diff --git a/src/manager/horizontalMinishPathBackgroundManager.c b/src/manager/horizontalMinishPathBackgroundManager.c index 7af97dde..6c0a96fd 100644 --- a/src/manager/horizontalMinishPathBackgroundManager.c +++ b/src/manager/horizontalMinishPathBackgroundManager.c @@ -8,7 +8,7 @@ #include "common.h" #include "screen.h" #include "game.h" -#include "structures.h" +#include "vram.h" #include "room.h" void sub_08057F20(HorizontalMinishPathBackgroundManager*); diff --git a/src/manager/lightRayManager.c b/src/manager/lightRayManager.c index 93e21ddd..1a75f63b 100644 --- a/src/manager/lightRayManager.c +++ b/src/manager/lightRayManager.c @@ -12,7 +12,6 @@ #include "main.h" #include "screen.h" #include "game.h" -#include "structures.h" #include "player.h" #include "physics.h" diff --git a/src/manager/minishRaftersBackgroundManager.c b/src/manager/minishRaftersBackgroundManager.c index 183000af..da5680e3 100644 --- a/src/manager/minishRaftersBackgroundManager.c +++ b/src/manager/minishRaftersBackgroundManager.c @@ -8,7 +8,7 @@ #include "common.h" #include "room.h" #include "game.h" -#include "structures.h" +#include "vram.h" void MinishRaftersBackgroundManager_OnEnterRoom(MinishRaftersBackgroundManager*); void sub_08058210(MinishRaftersBackgroundManager*); diff --git a/src/manager/minishVillageTileSetManager.c b/src/manager/minishVillageTileSetManager.c index 81c93ae8..7799ba83 100644 --- a/src/manager/minishVillageTileSetManager.c +++ b/src/manager/minishVillageTileSetManager.c @@ -10,7 +10,8 @@ #include "main.h" #include "game.h" #include "assets/gfx_offsets.h" -#include "structures.h" +#include "pauseMenu.h" +#include "gfx.h" void MinishVillageTileSetManager_OnEnterRoom(void*); bool32 MinishVillageTileSetManager_UpdateRoomGfxGroup(MinishVillageTileSetManager*); diff --git a/src/manager/rollingBarrelManager.c b/src/manager/rollingBarrelManager.c index f8209f6e..cf42b5e7 100644 --- a/src/manager/rollingBarrelManager.c +++ b/src/manager/rollingBarrelManager.c @@ -261,7 +261,7 @@ void RollingBarrelManager_OnEnterRoom(void) { u32 tmp2; LoadPaletteGroup(0x28); MemCopy(gPaletteBuffer + 3 * 16, gPaletteBuffer + 21 * 16, 16 * 2); - gUsedPalettes |= 1 << 21; + USE_PALETTE(21); LoadGfxGroup(0x16); tmp = gScreen.lcd.displayControl; tmp2 = 0; diff --git a/src/manager/secretManager.c b/src/manager/secretManager.c index f0ec19e2..69739493 100644 --- a/src/manager/secretManager.c +++ b/src/manager/secretManager.c @@ -10,7 +10,6 @@ #include "entity.h" #include "flags.h" #include "sound.h" -#include "structures.h" void SecretManager_Type0_Action2(SecretManager*); void SecretManager_Type0(SecretManager*); diff --git a/src/manager/templeOfDropletsManager.c b/src/manager/templeOfDropletsManager.c index 1c9987a5..94b247d0 100644 --- a/src/manager/templeOfDropletsManager.c +++ b/src/manager/templeOfDropletsManager.c @@ -14,7 +14,8 @@ #include "screen.h" #include "sound.h" #include "game.h" -#include "structures.h" +#include "vram.h" +#include "pauseMenu.h" static const u16 gUnk_081085B8[] = { 0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, 0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009 }; diff --git a/src/manager/vaati3InsideArmManager.c b/src/manager/vaati3InsideArmManager.c index 43402c28..2f89d2ce 100644 --- a/src/manager/vaati3InsideArmManager.c +++ b/src/manager/vaati3InsideArmManager.c @@ -7,7 +7,6 @@ #include "manager/vaati3InsideArmManager.h" #include "screenTransitions.h" #include "sound.h" -#include "structures.h" void sub_0805DBF0(Vaati3InsideArmManager*); void Vaati3InsideArmManager_Init(Vaati3InsideArmManager*); diff --git a/src/manager/weatherChangeManager.c b/src/manager/weatherChangeManager.c index d5da1664..53156fef 100644 --- a/src/manager/weatherChangeManager.c +++ b/src/manager/weatherChangeManager.c @@ -15,7 +15,6 @@ #include "game.h" #include "manager/staticBackgroundManager.h" #include "player.h" -#include "structures.h" void WeatherChangeManager_OnEnterRoom(WeatherChangeManager*); void sub_08059608(WeatherChangeManager*); diff --git a/src/menu/figurineMenu.c b/src/menu/figurineMenu.c index cc3e84f8..a15668bb 100644 --- a/src/menu/figurineMenu.c +++ b/src/menu/figurineMenu.c @@ -8,7 +8,6 @@ #include "common.h" #include "flags.h" -#include "structures.h" #include "game.h" #include "main.h" #include "menu.h" @@ -23,6 +22,7 @@ #include "subtask.h" #include "ui.h" #include "affine.h" +#include "pauseMenu.h" void sub_080A4DA8(u32); void sub_080A4B44(void); diff --git a/src/menu/kinstoneMenu.c b/src/menu/kinstoneMenu.c index 3f53829b..a50b5460 100644 --- a/src/menu/kinstoneMenu.c +++ b/src/menu/kinstoneMenu.c @@ -8,7 +8,6 @@ #include "common.h" #include "enemy.h" #include "flags.h" -#include "structures.h" #include "kinstone.h" #include "main.h" #include "menu.h" diff --git a/src/menu/pauseMenu.c b/src/menu/pauseMenu.c index e3585520..e6b0a5ec 100644 --- a/src/menu/pauseMenu.c +++ b/src/menu/pauseMenu.c @@ -17,7 +17,6 @@ #include "save.h" #include "screen.h" #include "sound.h" -#include "structures.h" #include "subtask.h" #include "ui.h" #include "affine.h" @@ -1074,7 +1073,7 @@ void PauseMenu_Screen_5(void) { paletteColor = *gUnk_02017830; MemCopy(gUnk_02017830 + 1, gUnk_02017830, 7 * 2); gUnk_02017830[7] = paletteColor; - gUsedPalettes |= 1 << 12; + USE_PALETTE(12); } } diff --git a/src/menu/pauseMenuScreen6.c b/src/menu/pauseMenuScreen6.c index 8883a1e3..cf74fc22 100644 --- a/src/menu/pauseMenuScreen6.c +++ b/src/menu/pauseMenuScreen6.c @@ -13,7 +13,6 @@ #include "save.h" #include "screen.h" #include "affine.h" -#include "structures.h" typedef struct { u8 unk0; diff --git a/src/message.c b/src/message.c index f7435451..64e26581 100644 --- a/src/message.c +++ b/src/message.c @@ -6,7 +6,7 @@ #include "message.h" #include "save.h" #include "ui.h" -#include "structures.h" +#include "vram.h" #define MESSAGE_ADVANCE_KEYS (A_BUTTON | B_BUTTON | DPAD_ANY | R_BUTTON) #define MESSAGE_PRESS_ANY_ADVANCE_KEYS ((gInput.newKeys & MESSAGE_ADVANCE_KEYS) != 0) diff --git a/src/npc/beedle.c b/src/npc/beedle.c index 97bdd677..84afb434 100644 --- a/src/npc/beedle.c +++ b/src/npc/beedle.c @@ -11,7 +11,6 @@ #include "npc.h" #include "room.h" #include "script.h" -#include "structures.h" typedef struct { Rect customHitbox; diff --git a/src/npc/drLeft.c b/src/npc/drLeft.c index 0186c83c..5c22035d 100644 --- a/src/npc/drLeft.c +++ b/src/npc/drLeft.c @@ -12,7 +12,6 @@ #include "save.h" #include "script.h" #include "asm.h" -#include "structures.h" void sub_0806BFD8(Entity* this); diff --git a/src/npc/ghostBrothers.c b/src/npc/ghostBrothers.c index 29f8dc09..b1dd30a6 100644 --- a/src/npc/ghostBrothers.c +++ b/src/npc/ghostBrothers.c @@ -10,7 +10,7 @@ #include "save.h" #include "script.h" #include "screen.h" -#include "structures.h" +#include "beanstalkSubtask.h" #include "physics.h" typedef struct { diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index 89e42266..d39943f4 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -13,7 +13,6 @@ #include "save.h" #include "script.h" #include "physics.h" -#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/npc23.c b/src/npc/npc23.c index cd3e67b0..2ff8885a 100644 --- a/src/npc/npc23.c +++ b/src/npc/npc23.c @@ -8,7 +8,7 @@ #include "message.h" #include "npc.h" #include "player.h" -#include "structures.h" +#include "pauseMenu.h" #include "room.h" #include "physics.h" diff --git a/src/npc/npc4E.c b/src/npc/npc4E.c index 3fd3da2e..25a831cc 100644 --- a/src/npc/npc4E.c +++ b/src/npc/npc4E.c @@ -6,7 +6,6 @@ */ #include "entity.h" #include "flags.h" -#include "structures.h" #include "game.h" #include "hitbox.h" #include "item.h" diff --git a/src/npc/postman.c b/src/npc/postman.c index 4a8bbb43..98678a3a 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -13,7 +13,6 @@ #include "asm.h" #include "message.h" #include "physics.h" -#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/rem.c b/src/npc/rem.c index 4298eccd..739efcbd 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -12,7 +12,6 @@ #include "message.h" #include "script.h" #include "asm.h" -#include "structures.h" #include "room.h" typedef struct { diff --git a/src/npc/smallTownMinish.c b/src/npc/smallTownMinish.c index 485b4db9..2acf353e 100644 --- a/src/npc/smallTownMinish.c +++ b/src/npc/smallTownMinish.c @@ -11,7 +11,6 @@ #include "player.h" #include "save.h" #include "script.h" -#include "structures.h" void SmallTownMinish(Entity* this) { static const Hitbox gUnk_081142FC = { -2, 1, { 0, 0, 0, 0 }, 6, 6 }; diff --git a/src/npc/smith.c b/src/npc/smith.c index f002c7fa..f1b6f2f7 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -13,7 +13,6 @@ #include "message.h" #include "script.h" #include "asm.h" -#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/stockwell.c b/src/npc/stockwell.c index 786e39e7..253f53e2 100644 --- a/src/npc/stockwell.c +++ b/src/npc/stockwell.c @@ -18,7 +18,6 @@ #include "save.h" #include "subtask.h" #ifndef EU -#include "structures.h" #endif #ifndef EU diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index b97dee5f..40f49234 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -14,7 +14,6 @@ #include "message.h" #include "save.h" #include "script.h" -#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/bird.c b/src/object/bird.c index e7cd5218..083f9322 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -19,7 +19,7 @@ #include "object/cutsceneOrchestrator.h" #include "save.h" #include "subtask.h" -#include "structures.h" +#include "pauseMenu.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/cameraTarget.c b/src/object/cameraTarget.c index 7364ce96..f025fea8 100644 --- a/src/object/cameraTarget.c +++ b/src/object/cameraTarget.c @@ -10,7 +10,6 @@ #include "kinstone.h" #include "message.h" #include "vram.h" -#include "structures.h" // typedef struct { // Entity base; diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index 582ecbac..b739489c 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -15,7 +15,7 @@ #include "screen.h" #include "tiles.h" #include "manager/lightManager.h" -#include "structures.h" +#include "pauseMenu.h" #include "beanstalkSubtask.h" typedef struct { diff --git a/src/object/cloud.c b/src/object/cloud.c index 7521bdb4..7a51601d 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -11,7 +11,7 @@ #include "room.h" #include "physics.h" #include "player.h" -#include "structures.h" +#include "pauseMenu.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/crenelBeanSprout.c b/src/object/crenelBeanSprout.c index e8f5a060..d1d71e55 100644 --- a/src/object/crenelBeanSprout.c +++ b/src/object/crenelBeanSprout.c @@ -14,7 +14,7 @@ #include "physics.h" #include "player.h" #include "tiles.h" -#include "structures.h" +#include "ui.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c index aa82c7c1..ab8a1c1f 100644 --- a/src/object/fileScreenObjects.c +++ b/src/object/fileScreenObjects.c @@ -13,7 +13,7 @@ #include "flags.h" #include "physics.h" #include "player.h" -#include "structures.h" +#include "gfx.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/itemForSale.c b/src/object/itemForSale.c index 228dda8d..61d111f2 100644 --- a/src/object/itemForSale.c +++ b/src/object/itemForSale.c @@ -10,7 +10,7 @@ #include "message.h" #include "scroll.h" #include "asm.h" -#include "structures.h" +#include "ui.h" #include "room.h" #include "player.h" diff --git a/src/object/linkAnimation.c b/src/object/linkAnimation.c index 75054314..ec523d61 100644 --- a/src/object/linkAnimation.c +++ b/src/object/linkAnimation.c @@ -11,7 +11,7 @@ #include "player.h" #include "object/linkAnimation.h" #include "item.h" -#include "structures.h" +#include "pauseMenu.h" typedef enum { ITEMGET_INIT, diff --git a/src/object/macroMushroomStalk.c b/src/object/macroMushroomStalk.c index 185d1de1..a8c544fb 100644 --- a/src/object/macroMushroomStalk.c +++ b/src/object/macroMushroomStalk.c @@ -9,7 +9,7 @@ #include "object.h" #include "room.h" #include "sound.h" -#include "structures.h" +#include "beanstalkSubtask.h" void MacroMushroomStalk_Init(Entity*); void MacroMushroomStalk_Action1(Entity*); diff --git a/src/object/macroPlayer.c b/src/object/macroPlayer.c index 76dbc3c7..80218ced 100644 --- a/src/object/macroPlayer.c +++ b/src/object/macroPlayer.c @@ -11,7 +11,7 @@ #include "asm.h" #include "physics.h" #include "player.h" -#include "structures.h" +#include "beanstalkSubtask.h" typedef struct { Entity base; diff --git a/src/object/minishPortalCloseup.c b/src/object/minishPortalCloseup.c index ec7232f9..2b224c83 100644 --- a/src/object/minishPortalCloseup.c +++ b/src/object/minishPortalCloseup.c @@ -10,7 +10,6 @@ #include "common.h" #include "room.h" #include "screen.h" -#include "structures.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/minishPortalStone.c b/src/object/minishPortalStone.c index ba1699d5..b8e7a960 100644 --- a/src/object/minishPortalStone.c +++ b/src/object/minishPortalStone.c @@ -14,7 +14,7 @@ #include "beanstalkSubtask.h" #include "manager/lightManager.h" #include "effects.h" -#include "structures.h" +#include "pauseMenu.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/windcrest.c b/src/object/windcrest.c index 5ac537c0..f6dbba59 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -6,7 +6,6 @@ */ #include "effects.h" #include "entity.h" -#include "structures.h" #include "save.h" #include "script.h" #include "sound.h" diff --git a/src/objectUtils.c b/src/objectUtils.c index 54883afd..3e589d2e 100644 --- a/src/objectUtils.c +++ b/src/objectUtils.c @@ -5,7 +5,7 @@ #include "asm.h" #include "effects.h" #include "player.h" -#include "structures.h" +#include "pauseMenu.h" #include "definitions.h" #include "vram.h" #include "object/linkAnimation.h" diff --git a/src/physics.c b/src/physics.c index d5b1a0a3..28213602 100644 --- a/src/physics.c +++ b/src/physics.c @@ -557,7 +557,7 @@ void sub_0806FEBC(Entity* ent, u32 param_2, Entity* param_3) { *((u32*)ptr) = 0; ptr->unk_04.WORD = 0; ptr->unk_08.WORD = 0; - ptr->unk_0C = (u32)param_3; + ptr->unk_0C = param_3; ptr->unk_00.unk0 = 1; ptr->unk_00.unk1 = 1; } @@ -647,9 +647,9 @@ void sub_0807000C(Entity* this) { } static bool32 sub_0807007C(struct_gUnk_020000C0* this, u32 param_2) { - u8* ptr2; - u8* ptr3; - u32* spritePtr; + SpriteFrame* frames; + SpriteFrame* frame; + const SpritePtr* spritePtr; struct_gUnk_020000C0_1* ptr1 = &this->unk_00[param_2]; if ((ptr1->unk_00.unk3) == 0) return 0; @@ -658,14 +658,14 @@ static bool32 sub_0807007C(struct_gUnk_020000C0* this, u32 param_2) { if (ptr1->unk_01 == 0xff) return 0; - spritePtr = &((u32*)gSpritePtrs)[ptr1->unk_02 * 4]; - ptr2 = (u8*)(spritePtr[1]); - if (ptr2 == 0) + spritePtr = &gSpritePtrs[ptr1->unk_02]; + frames = spritePtr->frames; + if (frames == 0) return 0; - ptr3 = &ptr2[ptr1->unk_01 * 4]; - ptr1->unk_08.BYTES.byte1 = *ptr3; - ptr1->unk_0C = spritePtr[2] + ((*(u16*)&ptr3[2]) << 5); + frame = &frames[ptr1->unk_01]; + ptr1->unk_08.BYTES.byte1 = frame->numTiles; + ptr1->unk_0C = spritePtr->ptr + (frame->firstTileIndex << 5); return 1; } diff --git a/src/player.c b/src/player.c index 6a7ef891..c8b5d6c7 100644 --- a/src/player.c +++ b/src/player.c @@ -29,7 +29,8 @@ #include "scroll.h" #include "sound.h" #include "tiles.h" -#include "structures.h" +#include "ui.h" +#include "pauseMenu.h" #define kGravityRate Q_8_8(32) #define kWalkSpeedSlopeSubtractor Q_8_8(0.3125) diff --git a/src/playerItem/playerItemPacciCane.c b/src/playerItem/playerItemPacciCane.c index c4937aef..82cb79f9 100644 --- a/src/playerItem/playerItemPacciCane.c +++ b/src/playerItem/playerItemPacciCane.c @@ -8,7 +8,7 @@ #include "entity.h" #include "save.h" #include "sound.h" -#include "structures.h" +#include "pauseMenu.h" #include "vram.h" #include "asm.h" diff --git a/src/playerUtils.c b/src/playerUtils.c index 32236958..c93f1fb9 100644 --- a/src/playerUtils.c +++ b/src/playerUtils.c @@ -26,6 +26,8 @@ #include "tileMap.h" #include "tiles.h" #include "backgroundAnimations.h" +#include "itemDefinitions.h" +#include "ui.h" static void sub_08077E54(ItemBehavior* this); @@ -3817,18 +3819,18 @@ void LoadRoomTileSet(void) { MemFill16(0xffff, gMapTop.tileTypes, 0x1000); gMapTop.tileTypes[0] = 0; - if ((void*)gRoomControls.tileSet != (gArea.pCurrentRoomInfo)->tileSet) { - gRoomControls.tileSet = (u32)(gArea.pCurrentRoomInfo)->tileSet; - LoadMapData((gArea.pCurrentRoomInfo)->tileSet); + if ((void*)gRoomControls.tileSet != gArea.pCurrentRoomInfo->tileSet) { + gRoomControls.tileSet = (u32)gArea.pCurrentRoomInfo->tileSet; + LoadMapData(gArea.pCurrentRoomInfo->tileSet); } - LoadMapData((gArea.pCurrentRoomInfo)->tiles); + LoadMapData(gArea.pCurrentRoomInfo->tiles); paletteBuffer = gPaletteBuffer; MemCopy(&paletteBuffer[0x30], &paletteBuffer[0x150], 0x20); - gUsedPalettes |= 0x200000; + USE_PALETTE(21); - if ((gArea.pCurrentRoomInfo)->bg_anim != NULL) { - LoadBgAnimations((gArea.pCurrentRoomInfo)->bg_anim); + if (gArea.pCurrentRoomInfo->bg_anim != NULL) { + LoadBgAnimations(gArea.pCurrentRoomInfo->bg_anim); } tileTypes = gMapBottom.tileTypes; diff --git a/src/script.c b/src/script.c index fee3403d..084665ee 100644 --- a/src/script.c +++ b/src/script.c @@ -19,7 +19,7 @@ #include "ui.h" #include "save.h" #include "subtask.h" -#include "structures.h" +#include "pauseMenu.h" void InitScriptExecutionContext(ScriptExecutionContext* context, Script* script); void sub_0807DE80(Entity*); diff --git a/src/scroll.c b/src/scroll.c index b3cd7953..0137e344 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -16,7 +16,6 @@ #include "physics.h" #include "player.h" #include "screen.h" -#include "structures.h" #include "tileMap.h" #include "tiles.h" diff --git a/src/staffroll.c b/src/staffroll.c index 007049fb..169c52ac 100644 --- a/src/staffroll.c +++ b/src/staffroll.c @@ -15,7 +15,6 @@ #include "screen.h" #include "subtask.h" #include "sound.h" -#include "structures.h" typedef struct { /*0x00*/ Menu base; @@ -32,6 +31,23 @@ typedef struct { } StaffrollMenu; #define gStaffrollMenu (*(StaffrollMenu*)&gMenu) +typedef struct { + /*0x0*/ u8 menuType; + /*0x1*/ u16 font; + /*0x3*/ u8 unk_3; // TODO padding? + /*0x4*/ u16 transitionTimer; + /*0x6*/ u16 gfxEntry; + /*0x8*/ u16 bg2XOffset; + /*0xa*/ u16 sm_unk_14; +} PACKED StaffrollEntry; + +static_assert(sizeof(StaffrollEntry) == 0xc); + +typedef struct { + u8 paletteGroup; + u8 gfxGroup; +} PACKED StaffrollGfxEntry; + const Font gUnk_08127280 = { &gBG1Buffer[0x21], BG_TILE_ADDR(0x188), gTextGfxBuffer, 0, 61472, 240, 0, 0, 0, 0, 0, 5, 0, 1, 0 }; diff --git a/src/subtask.c b/src/subtask.c index 5fc61704..974002fe 100644 --- a/src/subtask.c +++ b/src/subtask.c @@ -10,7 +10,7 @@ #include "ui.h" #include "windcrest.h" #include "affine.h" -#include "structures.h" +#include "beanstalkSubtask.h" extern Screen gUnk_03001020; extern u8 gPaletteBufferBackup[]; diff --git a/src/subtask/subtaskAuxCutscene.c b/src/subtask/subtaskAuxCutscene.c index f1c30af4..ac585965 100644 --- a/src/subtask/subtaskAuxCutscene.c +++ b/src/subtask/subtaskAuxCutscene.c @@ -6,7 +6,6 @@ #include "area.h" #include "asm.h" #include "common.h" -#include "structures.h" #include "game.h" #include "main.h" #include "menu.h" diff --git a/src/subtask/subtaskFastTravel.c b/src/subtask/subtaskFastTravel.c index 1b297789..f2f24059 100644 --- a/src/subtask/subtaskFastTravel.c +++ b/src/subtask/subtaskFastTravel.c @@ -12,7 +12,7 @@ #include "save.h" #include "affine.h" #include "asm.h" -#include "structures.h" +#include "pauseMenu.h" extern void (*const Subtask_FastTravel_Functions[])(void); void sub_080A6E70(void); diff --git a/src/subtask/subtaskLocalMapHint.c b/src/subtask/subtaskLocalMapHint.c index cd33365d..7de81d4d 100644 --- a/src/subtask/subtaskLocalMapHint.c +++ b/src/subtask/subtaskLocalMapHint.c @@ -12,7 +12,7 @@ #include "sound.h" #include "common.h" #include "affine.h" -#include "structures.h" +#include "vram.h" void Subtask_LocalMapHint() { extern void (*const gUnk_08128F1C[])(void); diff --git a/src/text.c b/src/text.c index d15ce166..7b4305f8 100644 --- a/src/text.c +++ b/src/text.c @@ -1,6 +1,5 @@ #include "global.h" #include "common.h" -#include "structures.h" #include "asm.h" #include "enemy.h" #include "message.h" diff --git a/src/title.c b/src/title.c index c9ca4543..a9df5b66 100644 --- a/src/title.c +++ b/src/title.c @@ -14,7 +14,6 @@ #include "room.h" #include "player.h" #include "message.h" -#include "structures.h" #include "save.h" #include "game.h" #include "affine.h" diff --git a/src/ui.c b/src/ui.c index f7bd74c8..b12cfc9a 100644 --- a/src/ui.c +++ b/src/ui.c @@ -1,3 +1,4 @@ +#include "ui.h" #include "area.h" #include "common.h" #include "game.h" @@ -9,6 +10,7 @@ #include "screen.h" #include "sound.h" #include "affine.h" +#include "vram.h" #include "structures.h" extern void sub_0805ECEC(u32, u32, u32, u32); @@ -609,7 +611,7 @@ void sub_0801CAFC(UIElement* element, u32 frameIndex) { void sub_0801CB20(UIElement* element, UIElementDefinition* definition) { if (definition->unk_e == 0) { - SpritePtr* ptr = &gSpritePtrs[definition->spriteIndex]; + const SpritePtr* ptr = &gSpritePtrs[definition->spriteIndex]; SpriteFrame* frame = &ptr->frames[element->frameIndex]; u32* firstTile = (u32*)(ptr->ptr + frame->firstTileIndex * 0x20); u8 numTiles = frame->numTiles; diff --git a/src/vram.c b/src/vram.c index 02a186ac..be4820cf 100644 --- a/src/vram.c +++ b/src/vram.c @@ -1,7 +1,7 @@ #include "common.h" #include "fileselect.h" #include "vram.h" -#include "structures.h" +#include "gfx.h" extern u32 gFixedTypeGfxData[]; From 0d58d2c5d70726abd3b439d99a6b4f41bf81b861 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 9 Mar 2025 13:59:29 +0000 Subject: [PATCH 12/17] use gfx offset constants --- src/common.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/common.c b/src/common.c index 73020e20..a93fd730 100644 --- a/src/common.c +++ b/src/common.c @@ -1,6 +1,7 @@ #include "common.h" #include "assets/map_offsets.h" +#include "assets/gfx_offsets.h" #include "area.h" #include "asm.h" #include "flags.h" @@ -97,7 +98,6 @@ typedef struct { u8 y; } PACKED DungeonMapObject; - u32 EncodeBCD(u32 value) { u32 result; FORCE_REGISTER(u32 r1, r1); @@ -1922,19 +1922,23 @@ const KinstoneWorldEvent gKinstoneWorldEvents[] = { #endif // For sub_080A4418 -// TODO these are gGlobalGfxAndPalettes offsets with the size of 0x80 -#ifdef EU -const u32 gUnk_080CA06C[] = { 139744, 139744, 140256, 140768, 141280, 141792, 142304, 142816, 143840, 144864, 145888, - 146912, 147936, 148960, 149984, 151008, 152032, 153056, 154080, 155104, 156128, 157152, - 158176, 159200, 160224, 161248, 143328, 144352, 145376, 146400, 147424, 148448, 149472, - 150496, 151520, 152544, 153568, 154592, 155616, 156640, 157664, 158688, 159712, 160736 }; -#else -const u32 gUnk_080CA06C[] = { 139808, 139808, 140320, 140832, 141344, 141856, 142368, 142880, 143904, 144928, 145952, - 146976, 148000, 149024, 150048, 151072, 152096, 153120, 154144, 155168, 156192, 157216, - 158240, 159264, 160288, 161312, 143392, 144416, 145440, 146464, 147488, 148512, 149536, - 150560, 151584, 152608, 153632, 154656, 155680, 156704, 157728, 158752, 159776, 160800 }; -#endif - +const u32 gUnk_080CA06C[] = { + offset_gUnk_data3_085C4FE0 + 0xC0, offset_gUnk_data3_085C4FE0 + 0xC0, offset_gUnk_data3_085C4FE0 + 0x2C0, + offset_gUnk_data3_085C4FE0 + 0x4C0, offset_gUnk_data3_085C4FE0 + 0x6C0, offset_gUnk_data3_085C4FE0 + 0x8C0, + offset_gUnk_data3_085C4FE0 + 0xAC0, offset_gUnk_data3_085C4FE0 + 0xCC0, offset_gUnk_data3_085C4FE0 + 0x10C0, + offset_gUnk_data3_085C4FE0 + 0x14C0, offset_gUnk_data3_085C4FE0 + 0x18C0, offset_gUnk_data3_085C4FE0 + 0x1CC0, + offset_gUnk_data3_085C4FE0 + 0x20C0, offset_gUnk_data3_085C4FE0 + 0x24C0, offset_gUnk_data3_085C4FE0 + 0x28C0, + offset_gUnk_data3_085C4FE0 + 0x2CC0, offset_gUnk_data3_085C4FE0 + 0x30C0, offset_gUnk_data3_085C4FE0 + 0x34C0, + offset_gUnk_data3_085C4FE0 + 0x38C0, offset_gUnk_data3_085C4FE0 + 0x3CC0, offset_gUnk_data3_085C4FE0 + 0x40C0, + offset_gUnk_data3_085C4FE0 + 0x44C0, offset_gUnk_data3_085C4FE0 + 0x48C0, offset_gUnk_data3_085C4FE0 + 0x4CC0, + offset_gUnk_data3_085C4FE0 + 0x50C0, offset_gUnk_data3_085C4FE0 + 0x54C0, offset_gUnk_data3_085C4FE0 + 0xEC0, + offset_gUnk_data3_085C4FE0 + 0x12C0, offset_gUnk_data3_085C4FE0 + 0x16C0, offset_gUnk_data3_085C4FE0 + 0x1AC0, + offset_gUnk_data3_085C4FE0 + 0x1EC0, offset_gUnk_data3_085C4FE0 + 0x22C0, offset_gUnk_data3_085C4FE0 + 0x26C0, + offset_gUnk_data3_085C4FE0 + 0x2AC0, offset_gUnk_data3_085C4FE0 + 0x2EC0, offset_gUnk_data3_085C4FE0 + 0x32C0, + offset_gUnk_data3_085C4FE0 + 0x36C0, offset_gUnk_data3_085C4FE0 + 0x3AC0, offset_gUnk_data3_085C4FE0 + 0x3EC0, + offset_gUnk_data3_085C4FE0 + 0x42C0, offset_gUnk_data3_085C4FE0 + 0x46C0, offset_gUnk_data3_085C4FE0 + 0x4AC0, + offset_gUnk_data3_085C4FE0 + 0x4EC0, offset_gUnk_data3_085C4FE0 + 0x52C0, +}; const u8 SharedFusions[] = { 0x18, 0x2D, 0x35, 0x36, 0x37, 0x39, 0x3C, 0x44, 0x46, 0x47, 0x4E, 0x50, 0x53, 0x55, 0x56, 0x58, 0x5F, 0x60, 0, 0, }; From deacc6e95e733a54c9660f6b0155ceddddd2e6e3 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 9 Mar 2025 14:26:33 +0000 Subject: [PATCH 13/17] cleanup asm.h --- include/asm.h | 8 -------- include/enemy.h | 4 +++- include/player.h | 2 ++ include/script.h | 3 +++ src/enemy/acroBandits.c | 1 + src/enemy/armos.c | 1 + src/enemy/ballChainSoldier.c | 1 + src/enemy/beetle.c | 1 + src/enemy/bowMoblin.c | 1 + src/enemy/businessScrubPrologue.c | 1 + src/enemy/cloudPiranha.c | 1 + src/enemy/crow.c | 1 + src/enemy/cuccoAggr.c | 1 + src/enemy/cuccoChickAggr.c | 1 + src/enemy/darkNut.c | 1 + src/enemy/enemy4D.c | 1 + src/enemy/enemy50.c | 2 ++ src/enemy/enemy64.c | 1 + src/enemy/eyegore.c | 1 + src/enemy/fallingBoulder.c | 1 + src/enemy/fireballGuy.c | 1 + src/enemy/flyingPot.c | 1 + src/enemy/flyingSkull.c | 1 + src/enemy/ghini.c | 1 + src/enemy/gyorgFemaleEye.c | 1 + src/enemy/gyorgMale.c | 1 + src/enemy/keaton.c | 1 + src/enemy/keese.c | 1 + src/enemy/lakitu.c | 1 + src/enemy/madderpillar.c | 1 + src/enemy/mazaalBracelet.c | 1 + src/enemy/mazaalMacro.c | 1 + src/enemy/miniFireballGuy.c | 1 + src/enemy/miniSlime.c | 1 + src/enemy/moldorm.c | 1 + src/enemy/moldworm.c | 1 + src/enemy/mulldozer.c | 1 + src/enemy/octorok.c | 1 + src/enemy/octorokGolden.c | 1 + src/enemy/peahat.c | 1 + src/enemy/rollobite.c | 1 + src/enemy/rope.c | 1 + src/enemy/ropeGolden.c | 1 + src/enemy/scissorsBeetle.c | 1 + src/enemy/slime.c | 1 + src/enemy/sluggula.c | 1 + src/enemy/smallPesto.c | 1 + src/enemy/spikedBeetle.c | 1 + src/enemy/spinyChuchu.c | 1 + src/enemy/stalfos.c | 1 + src/enemy/tektite.c | 1 + src/enemy/tektiteGolden.c | 1 + src/enemy/torchTrap.c | 1 + src/enemy/vaatiEyesMacro.c | 1 + src/enemy/vaatiProjectile.c | 1 + src/enemy/vaatiRebornEnemy.c | 1 + src/enemy/vaatiWrathEye.c | 1 + src/enemy/wallMaster.c | 1 + src/enemy/wallMaster2.c | 1 + src/enemy/wizzrobeFire.c | 1 + src/manager/angryStatueManager.c | 2 +- src/manager/minishSizedEntranceManager.c | 1 + src/manager/templeOfDropletsManager.c | 1 + src/npc/cat.c | 1 + src/object/ambientClouds.c | 1 + src/object/chestSpawner.c | 1 + src/object/itemOnGround.c | 1 + src/object/pot.c | 1 + src/object/smokeParticle.c | 2 ++ src/object/specialFx.c | 1 + src/object/steam.c | 1 + src/object/thunderbolt.c | 1 + src/projectile/boneProjectile.c | 2 ++ src/projectile/cannonballProjectile.c | 1 + src/projectile/dekuSeedProjectile.c | 2 ++ src/projectile/dirtBallProjectile.c | 1 + src/projectile/fireProjectile.c | 1 + src/projectile/gleerokProjectile.c | 1 + src/projectile/iceProjectile.c | 1 + src/projectile/mandiblesProjectile.c | 1 + src/projectile/octorokBossProjectile.c | 1 + src/projectile/rockProjectile.c | 2 ++ src/projectile/stalfosProjectile.c | 1 + src/projectile/v1DarkMagicProjectile.c | 1 + src/projectile/v1FireProjectile.c | 1 + src/projectile/v3ElectricProjectile.c | 1 + src/projectile/windProjectile.c | 1 + 87 files changed, 96 insertions(+), 10 deletions(-) diff --git a/include/asm.h b/include/asm.h index 22c507c7..20a57c35 100644 --- a/include/asm.h +++ b/include/asm.h @@ -12,9 +12,6 @@ extern void SetTile(u32 tileIndex, u32 tilePos, u32 layer); extern void UpdateScrollVram(void); extern u32 sub_080B1BA4(u32, u32, u32); extern void LoadResourceAsync(const void* src, void* dest, u32 size); -extern void GenericConfused(struct Entity_*); -extern void sub_08001290(struct Entity_*, u32); -extern void GenericKnockback(struct Entity_*); extern u32 GetFuserId(struct Entity_*); #define GetFuserIdAndFuserTextId(ent) ((union SplitDWord)(*(MultiReturnTypeSingleEntityArg)(&GetFuserId))(ent)) extern u32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); @@ -39,12 +36,9 @@ extern void sub_08004596(struct Entity_*, u32); extern u32 sub_080045B4(struct Entity_*, u32, u32); extern u32 CalculateDirectionTo(u32, u32, u32, u32); extern u32 CalculateDirectionFromOffsets(s32, s32); -extern u32 sub_080086B4(u32, u32, const u8*); -extern u32 ResolveCollisionLayer(struct Entity_*); extern void sub_0800417E(struct Entity_*, u32); extern u32 sub_0800442E(struct Entity_*); extern void SoundReqClipped(struct Entity_*, u32); -extern u32 sub_0800132C(struct Entity_*, struct Entity_*); extern u32 sub_0800445C(struct Entity_*); extern u32 CheckRectOnScreen(s32, s32, u32, u32); @@ -108,8 +102,6 @@ extern u32 FindValueForKey(u32 key, const KeyValuePair* keyValuePairList); extern u32 GetTileIndex(u32 tilePos, u32 layer); extern void LinearMoveDirectionOLD(struct Entity_*, u32, u32); -extern u16* DoTileInteraction(struct Entity_*, u32, u32, u32); -extern void UpdateCollisionLayer(struct Entity_*); extern void sub_080028E0(struct Entity_*); extern void SnapToTile(struct Entity_*); extern u32 sub_0800419C(struct Entity_*, struct Entity_*, u32, u32); diff --git a/include/enemy.h b/include/enemy.h index 08d51179..ab3ed769 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -2,7 +2,6 @@ #define ENEMY_H #include "global.h" -#include "asm.h" #include "sound.h" #include "effects.h" @@ -76,8 +75,11 @@ bool32 sub_08049F1C(Entity*, Entity*, s32); bool32 PlayerInRange(Entity*, u32, s32); void EnemyCopyParams(Entity*, Entity*); void GenericKnockback2(Entity*); +extern void GenericConfused(struct Entity_*); extern void sub_08001318(Entity*); +extern void sub_08001290(Entity*, u32); +extern u32 sub_0800132C(struct Entity_*, struct Entity_*); extern void StealRupees(Entity*); extern void EnemyDisableRespawn(Enemy*); diff --git a/include/player.h b/include/player.h index ac8bcddf..3248f04f 100644 --- a/include/player.h +++ b/include/player.h @@ -831,6 +831,8 @@ extern void sub_08008926(Entity*); extern void sub_08008AC6(Entity*); extern void sub_08008AA0(Entity*); extern void sub_080085B0(Entity*); +extern u32 sub_080086B4(u32, u32, const u8*); +extern u16* DoTileInteraction(struct Entity_*, u32, u32, u32); // zelda.c void SetZeldaFollowTarget(Entity* target); diff --git a/include/script.h b/include/script.h index 6a0688d6..de391faf 100644 --- a/include/script.h +++ b/include/script.h @@ -64,4 +64,7 @@ void ExecuteScriptAndHandleAnimation(Entity* entity, void (*postScriptCallback)( ScriptExecutionContext* CreateScriptExecutionContext(void); void InitScriptForEntity(Entity* entity, ScriptExecutionContext* context, Script* script); +extern u32 ResolveCollisionLayer(struct Entity_*); +extern void UpdateCollisionLayer(struct Entity_*); + #endif // SCRIPT_H diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 7336487c..6ac2b964 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/armos.c b/src/enemy/armos.c index 13b20c5b..04d6bdb7 100644 --- a/src/enemy/armos.c +++ b/src/enemy/armos.c @@ -15,6 +15,7 @@ #include "tiles.h" #include "room.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/ballChainSoldier.c b/src/enemy/ballChainSoldier.c index 2b28fa1e..908c7d2d 100644 --- a/src/enemy/ballChainSoldier.c +++ b/src/enemy/ballChainSoldier.c @@ -8,6 +8,7 @@ #include "entity.h" #include "room.h" #include "physics.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 00a907d9..9637abb6 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c index d8319cc3..8bbc4b5c 100644 --- a/src/enemy/bowMoblin.c +++ b/src/enemy/bowMoblin.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/businessScrubPrologue.c b/src/enemy/businessScrubPrologue.c index 99f4e03b..fdd9646f 100644 --- a/src/enemy/businessScrubPrologue.c +++ b/src/enemy/businessScrubPrologue.c @@ -11,6 +11,7 @@ #include "physics.h" #include "room.h" #include "player.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/cloudPiranha.c b/src/enemy/cloudPiranha.c index 2e12cfb4..534c8505 100644 --- a/src/enemy/cloudPiranha.c +++ b/src/enemy/cloudPiranha.c @@ -9,6 +9,7 @@ #include "room.h" #include "physics.h" #include "tiles.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/crow.c b/src/enemy/crow.c index 3d4231c5..2c51fb5d 100644 --- a/src/enemy/crow.c +++ b/src/enemy/crow.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/cuccoAggr.c b/src/enemy/cuccoAggr.c index 220480c6..7a353788 100644 --- a/src/enemy/cuccoAggr.c +++ b/src/enemy/cuccoAggr.c @@ -9,6 +9,7 @@ #include "room.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c index bbb8f98c..30332fcb 100644 --- a/src/enemy/cuccoChickAggr.c +++ b/src/enemy/cuccoChickAggr.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "player.h" +#include "asm.h" void sub_08022A88(Entity*); void sub_08022AA4(Entity*); diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index 5a5c528b..f174bae9 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -5,6 +5,7 @@ * @brief Dark Nut enemy */ #include "enemy.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/enemy4D.c b/src/enemy/enemy4D.c index 71ff8276..4e930e91 100644 --- a/src/enemy/enemy4D.c +++ b/src/enemy/enemy4D.c @@ -8,6 +8,7 @@ #include "entity.h" #include "room.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/enemy50.c b/src/enemy/enemy50.c index fdd4eb94..0ffd569a 100644 --- a/src/enemy/enemy50.c +++ b/src/enemy/enemy50.c @@ -9,6 +9,8 @@ #include "physics.h" #include "player.h" #include "room.h" +#include "script.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/enemy64.c b/src/enemy/enemy64.c index 50572ce1..5ebc2949 100644 --- a/src/enemy/enemy64.c +++ b/src/enemy/enemy64.c @@ -11,6 +11,7 @@ #include "tiles.h" #include "room.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/eyegore.c b/src/enemy/eyegore.c index 50d4d85e..07991c44 100644 --- a/src/enemy/eyegore.c +++ b/src/enemy/eyegore.c @@ -14,6 +14,7 @@ #include "effects.h" #include "room.h" #include "physics.h" +#include "player.h" #include "tiles.h" typedef struct { diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c index c7283f9b..fbb40c70 100644 --- a/src/enemy/fallingBoulder.c +++ b/src/enemy/fallingBoulder.c @@ -8,6 +8,7 @@ #include "room.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c index 1d6b6b6d..848b2b04 100644 --- a/src/enemy/fireballGuy.c +++ b/src/enemy/fireballGuy.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/flyingPot.c b/src/enemy/flyingPot.c index beabb8c2..0c99cc7a 100644 --- a/src/enemy/flyingPot.c +++ b/src/enemy/flyingPot.c @@ -10,6 +10,7 @@ #include "player.h" #include "room.h" #include "tiles.h" +#include "asm.h" extern Hitbox gUnk_080FD34C; diff --git a/src/enemy/flyingSkull.c b/src/enemy/flyingSkull.c index 6e05bdba..307fb7fa 100644 --- a/src/enemy/flyingSkull.c +++ b/src/enemy/flyingSkull.c @@ -13,6 +13,7 @@ #include "tiles.h" #include "room.h" #include "player.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/ghini.c b/src/enemy/ghini.c index f1b7877b..e0afd0fb 100644 --- a/src/enemy/ghini.c +++ b/src/enemy/ghini.c @@ -8,6 +8,7 @@ #include "enemy.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/gyorgFemaleEye.c b/src/enemy/gyorgFemaleEye.c index 423be91d..1dc30c7c 100644 --- a/src/enemy/gyorgFemaleEye.c +++ b/src/enemy/gyorgFemaleEye.c @@ -9,6 +9,7 @@ #include "entity.h" #include "player.h" #include "room.h" +#include "asm.h" void GyorgFemaleEye_OnTick(GyorgFemaleEyeEntity*); void GyorgFemaleEye_OnCollision(GyorgFemaleEyeEntity*); diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index beccd977..a4cfffeb 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -10,6 +10,7 @@ #include "fileselect.h" #include "physics.h" #include "player.h" +#include "asm.h" // todo: wrong types extern void sub_080A1D70(Entity*, u32); diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index 8ca4ad09..ac7366da 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/keese.c b/src/enemy/keese.c index 922ad17d..99517334 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "physics.h" #include "player.h" +#include "asm.h" typedef struct { /* 0x00 */ Entity base; diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index c0dba3db..f22d0fa1 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "physics.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/madderpillar.c b/src/enemy/madderpillar.c index 119fc0dd..1ecff210 100644 --- a/src/enemy/madderpillar.c +++ b/src/enemy/madderpillar.c @@ -9,6 +9,7 @@ #include "effects.h" #include "room.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/mazaalBracelet.c b/src/enemy/mazaalBracelet.c index 152e21aa..60fc15e7 100644 --- a/src/enemy/mazaalBracelet.c +++ b/src/enemy/mazaalBracelet.c @@ -8,6 +8,7 @@ #include "hitbox.h" #include "object.h" #include "asm.h" +#include "script.h" #include "sound.h" #include "effects.h" #include "room.h" diff --git a/src/enemy/mazaalMacro.c b/src/enemy/mazaalMacro.c index 5d2dd7a4..91191679 100644 --- a/src/enemy/mazaalMacro.c +++ b/src/enemy/mazaalMacro.c @@ -10,6 +10,7 @@ #include "tiles.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c index c80f57dc..a0097211 100644 --- a/src/enemy/miniFireballGuy.c +++ b/src/enemy/miniFireballGuy.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 856651e6..0624494e 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c index f53881dc..7c744db4 100644 --- a/src/enemy/moldorm.c +++ b/src/enemy/moldorm.c @@ -7,6 +7,7 @@ #include "collision.h" #include "enemy.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c index ac84d386..1282d029 100644 --- a/src/enemy/moldworm.c +++ b/src/enemy/moldworm.c @@ -10,6 +10,7 @@ #include "tiles.h" #include "room.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/mulldozer.c b/src/enemy/mulldozer.c index 9afd925a..d60a1c4f 100644 --- a/src/enemy/mulldozer.c +++ b/src/enemy/mulldozer.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index bdf9c73f..ac13da58 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "physics.h" +#include "asm.h" void Octorok_Pause(Entity*); bool32 Octorok_FacesPlayer(Entity*); diff --git a/src/enemy/octorokGolden.c b/src/enemy/octorokGolden.c index 23b92aa5..8c31a460 100644 --- a/src/enemy/octorokGolden.c +++ b/src/enemy/octorokGolden.c @@ -9,6 +9,7 @@ #include "map.h" #include "player.h" #include "item.h" +#include "asm.h" void (*const OctorokGolden_Functions[])(Entity*); void (*const gUnk_080CF484[])(Entity*); diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index a8404af9..d18a3553 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "physics.h" +#include "asm.h" #include "room.h" typedef struct { diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index e2a372a8..ab546efb 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -10,6 +10,7 @@ #include "player.h" #include "room.h" #include "tiles.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/rope.c b/src/enemy/rope.c index 74c77066..6ba4d764 100644 --- a/src/enemy/rope.c +++ b/src/enemy/rope.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "physics.h" #include "tiles.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/ropeGolden.c b/src/enemy/ropeGolden.c index 0e653b80..4b5051cf 100644 --- a/src/enemy/ropeGolden.c +++ b/src/enemy/ropeGolden.c @@ -9,6 +9,7 @@ #include "physics.h" #include "player.h" #include "item.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/scissorsBeetle.c b/src/enemy/scissorsBeetle.c index 72bb2f8a..f0eaa381 100644 --- a/src/enemy/scissorsBeetle.c +++ b/src/enemy/scissorsBeetle.c @@ -7,6 +7,7 @@ #include "collision.h" #include "enemy.h" #include "entity.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 536eec67..6e6be923 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "physics.h" #include "room.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/sluggula.c b/src/enemy/sluggula.c index cd371ec4..5a95aa56 100644 --- a/src/enemy/sluggula.c +++ b/src/enemy/sluggula.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "physics.h" +#include "asm.h" void sub_08023E10(Entity*); void sub_08023E54(Entity*); diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index 0c287bbc..79f24419 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -6,6 +6,7 @@ */ #include "enemy.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/spikedBeetle.c b/src/enemy/spikedBeetle.c index 94b2085a..6563b7bd 100644 --- a/src/enemy/spikedBeetle.c +++ b/src/enemy/spikedBeetle.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "player.h" #include "physics.h" +#include "asm.h" extern u32 sub_0804A024(Entity*, u32, u32); diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index 8c8c3435..c6ffc5ab 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "hitbox.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/stalfos.c b/src/enemy/stalfos.c index 22cee8ce..ab0b46a1 100644 --- a/src/enemy/stalfos.c +++ b/src/enemy/stalfos.c @@ -10,6 +10,7 @@ #include "tiles.h" #include "room.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index eccb633c..59b71c7b 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index 4e0d8862..570cc67c 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -7,6 +7,7 @@ #include "collision.h" #include "enemy.h" #include "item.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/torchTrap.c b/src/enemy/torchTrap.c index 0e86c296..f2e4dd2d 100644 --- a/src/enemy/torchTrap.c +++ b/src/enemy/torchTrap.c @@ -10,6 +10,7 @@ #include "player.h" #include "room.h" #include "tiles.h" +#include "asm.h" typedef struct { Entity base; diff --git a/src/enemy/vaatiEyesMacro.c b/src/enemy/vaatiEyesMacro.c index c4b4e475..f2f4829b 100644 --- a/src/enemy/vaatiEyesMacro.c +++ b/src/enemy/vaatiEyesMacro.c @@ -9,6 +9,7 @@ #include "player.h" #include "physics.h" #include "manager.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiProjectile.c b/src/enemy/vaatiProjectile.c index 0cf4f604..6e34e868 100644 --- a/src/enemy/vaatiProjectile.c +++ b/src/enemy/vaatiProjectile.c @@ -9,6 +9,7 @@ #include "tiles.h" #include "player.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiRebornEnemy.c b/src/enemy/vaatiRebornEnemy.c index b4135fec..d8b0fac9 100644 --- a/src/enemy/vaatiRebornEnemy.c +++ b/src/enemy/vaatiRebornEnemy.c @@ -9,6 +9,7 @@ #include "physics.h" #include "room.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiWrathEye.c b/src/enemy/vaatiWrathEye.c index 3fe49ccb..7f398d4f 100644 --- a/src/enemy/vaatiWrathEye.c +++ b/src/enemy/vaatiWrathEye.c @@ -7,6 +7,7 @@ #include "enemy/vaatiWrath.h" #include "room.h" #include "physics.h" +#include "asm.h" void sub_080485D8(Entity*); void sub_080485FC(Entity*); diff --git a/src/enemy/wallMaster.c b/src/enemy/wallMaster.c index c111c740..922eb611 100644 --- a/src/enemy/wallMaster.c +++ b/src/enemy/wallMaster.c @@ -8,6 +8,7 @@ #include "enemy.h" #include "player.h" #include "screenTransitions.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c index 02d982b7..aa8a6d74 100644 --- a/src/enemy/wallMaster2.c +++ b/src/enemy/wallMaster2.c @@ -9,6 +9,7 @@ #include "physics.h" #include "screenTransitions.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/wizzrobeFire.c b/src/enemy/wizzrobeFire.c index 1699f9a1..a9dfb2c2 100644 --- a/src/enemy/wizzrobeFire.c +++ b/src/enemy/wizzrobeFire.c @@ -7,6 +7,7 @@ #include "enemy/wizzrobe.h" #include "enemy.h" #include "player.h" +#include "asm.h" extern void (*const WizzrobeFire_Functions[])(WizzrobeEntity*); extern void (*const WizzrobeFire_Actions[])(WizzrobeEntity*); diff --git a/src/manager/angryStatueManager.c b/src/manager/angryStatueManager.c index ad6744c6..6d7cc127 100644 --- a/src/manager/angryStatueManager.c +++ b/src/manager/angryStatueManager.c @@ -7,7 +7,7 @@ #include "manager/angryStatueManager.h" #include "flags.h" #include "object.h" -#include "asm.h" +#include "script.h" #include "sound.h" #include "room.h" diff --git a/src/manager/minishSizedEntranceManager.c b/src/manager/minishSizedEntranceManager.c index a2bbf028..9c06a928 100644 --- a/src/manager/minishSizedEntranceManager.c +++ b/src/manager/minishSizedEntranceManager.c @@ -9,6 +9,7 @@ #include "object.h" #include "flags.h" #include "room.h" +#include "script.h" #include "asm.h" typedef struct { diff --git a/src/manager/templeOfDropletsManager.c b/src/manager/templeOfDropletsManager.c index 94b247d0..12e523a4 100644 --- a/src/manager/templeOfDropletsManager.c +++ b/src/manager/templeOfDropletsManager.c @@ -16,6 +16,7 @@ #include "game.h" #include "vram.h" #include "pauseMenu.h" +#include "asm.h" static const u16 gUnk_081085B8[] = { 0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, 0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009 }; diff --git a/src/npc/cat.c b/src/npc/cat.c index 0693e6a1..4d44c978 100644 --- a/src/npc/cat.c +++ b/src/npc/cat.c @@ -11,6 +11,7 @@ #include "save.h" #include "physics.h" #include "manager.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/ambientClouds.c b/src/object/ambientClouds.c index 05e604ce..8277b138 100644 --- a/src/object/ambientClouds.c +++ b/src/object/ambientClouds.c @@ -9,6 +9,7 @@ #include "entity.h" #include "object.h" #include "player.h" +#include "script.h" void AmbientClouds_Init(Entity* this); void AmbientClouds_Action1(Entity* this); diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index b739489c..5c454666 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -13,6 +13,7 @@ #include "room.h" #include "player.h" #include "screen.h" +#include "script.h" #include "tiles.h" #include "manager/lightManager.h" #include "pauseMenu.h" diff --git a/src/object/itemOnGround.c b/src/object/itemOnGround.c index e74438e4..860f52a4 100644 --- a/src/object/itemOnGround.c +++ b/src/object/itemOnGround.c @@ -17,6 +17,7 @@ #include "room.h" #include "physics.h" #include "player.h" +#include "script.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/pot.c b/src/object/pot.c index 8dda49f9..758c6b92 100644 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -15,6 +15,7 @@ #include "object/itemOnGround.h" #include "player.h" #include "room.h" +#include "script.h" #include "sound.h" #include "tiles.h" diff --git a/src/object/smokeParticle.c b/src/object/smokeParticle.c index 52aef4f4..68963f44 100644 --- a/src/object/smokeParticle.c +++ b/src/object/smokeParticle.c @@ -8,6 +8,8 @@ #include "object.h" #include "asm.h" #include "sound.h" +#include "script.h" +#include "player.h" #include "room.h" #include "tiles.h" diff --git a/src/object/specialFx.c b/src/object/specialFx.c index a580acfc..63afabd3 100644 --- a/src/object/specialFx.c +++ b/src/object/specialFx.c @@ -7,6 +7,7 @@ #include "entity.h" #include "object.h" #include "asm.h" +#include "script.h" #include "sound.h" #include "effects.h" #include "room.h" diff --git a/src/object/steam.c b/src/object/steam.c index 7cef37d1..f13bde3c 100644 --- a/src/object/steam.c +++ b/src/object/steam.c @@ -8,6 +8,7 @@ #include "entity.h" #include "player.h" #include "room.h" +#include "script.h" #include "screen.h" const u8 gUnk_08123484[]; diff --git a/src/object/thunderbolt.c b/src/object/thunderbolt.c index 312b1306..d79159cc 100644 --- a/src/object/thunderbolt.c +++ b/src/object/thunderbolt.c @@ -6,6 +6,7 @@ */ #include "object.h" #include "asm.h" +#include "script.h" #include "sound.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/boneProjectile.c b/src/projectile/boneProjectile.c index 82bc43a4..7902f3e6 100644 --- a/src/projectile/boneProjectile.c +++ b/src/projectile/boneProjectile.c @@ -8,6 +8,8 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "script.h" +#include "asm.h" extern void (*const BoneProjectile_Functions[])(Entity*); extern void (*const BoneProjectile_Actions[])(Entity*); diff --git a/src/projectile/cannonballProjectile.c b/src/projectile/cannonballProjectile.c index 468424b9..9c198811 100644 --- a/src/projectile/cannonballProjectile.c +++ b/src/projectile/cannonballProjectile.c @@ -8,6 +8,7 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "asm.h" extern void (*const CannonballProjectile_Functions[])(Entity*); extern void (*const CannonballProjectile_Actions[])(Entity*); diff --git a/src/projectile/dekuSeedProjectile.c b/src/projectile/dekuSeedProjectile.c index 897fbace..6e3c5acc 100644 --- a/src/projectile/dekuSeedProjectile.c +++ b/src/projectile/dekuSeedProjectile.c @@ -8,6 +8,8 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "script.h" +#include "asm.h" extern void (*const DekuSeedProjectile_Functions[])(Entity*); extern void (*const DekuSeedProjectile_Actions[])(Entity*); diff --git a/src/projectile/dirtBallProjectile.c b/src/projectile/dirtBallProjectile.c index 24b561f6..2aeb8755 100644 --- a/src/projectile/dirtBallProjectile.c +++ b/src/projectile/dirtBallProjectile.c @@ -9,6 +9,7 @@ #include "physics.h" #include "player.h" #include "sound.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/fireProjectile.c b/src/projectile/fireProjectile.c index 5cd9d922..5dbe969b 100644 --- a/src/projectile/fireProjectile.c +++ b/src/projectile/fireProjectile.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "script.h" extern void (*const FireProjectile_Actions[])(Entity*); diff --git a/src/projectile/gleerokProjectile.c b/src/projectile/gleerokProjectile.c index 6a8b0ca9..28de350b 100644 --- a/src/projectile/gleerokProjectile.c +++ b/src/projectile/gleerokProjectile.c @@ -9,6 +9,7 @@ #include "player.h" #include "room.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/iceProjectile.c b/src/projectile/iceProjectile.c index 97898fa2..02191bd9 100644 --- a/src/projectile/iceProjectile.c +++ b/src/projectile/iceProjectile.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "script.h" extern void (*const IceProjectile_Actions[])(Entity*); diff --git a/src/projectile/mandiblesProjectile.c b/src/projectile/mandiblesProjectile.c index 4df4dc8d..5f06db16 100644 --- a/src/projectile/mandiblesProjectile.c +++ b/src/projectile/mandiblesProjectile.c @@ -11,6 +11,7 @@ #include "physics.h" #include "tiles.h" #include "player.h" +#include "asm.h" #ifndef EU #include "game.h" #endif diff --git a/src/projectile/octorokBossProjectile.c b/src/projectile/octorokBossProjectile.c index da2b3ffd..a295a9ea 100644 --- a/src/projectile/octorokBossProjectile.c +++ b/src/projectile/octorokBossProjectile.c @@ -10,6 +10,7 @@ #include "physics.h" #include "projectile.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/rockProjectile.c b/src/projectile/rockProjectile.c index 4bfebb9b..aa88fd1e 100644 --- a/src/projectile/rockProjectile.c +++ b/src/projectile/rockProjectile.c @@ -7,6 +7,8 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "script.h" +#include "asm.h" extern void (*const RockProjectile_Functions[])(Entity*); extern void (*const RockProjectile_Actions[])(Entity*); diff --git a/src/projectile/stalfosProjectile.c b/src/projectile/stalfosProjectile.c index 4a4f1651..dd6a0bd5 100644 --- a/src/projectile/stalfosProjectile.c +++ b/src/projectile/stalfosProjectile.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "asm.h" extern void (*const StalfosProjectile_Functions[])(Entity*); extern void (*const StalfosProjectile_Actions[])(Entity*); diff --git a/src/projectile/v1DarkMagicProjectile.c b/src/projectile/v1DarkMagicProjectile.c index f56e1ba2..73d10a11 100644 --- a/src/projectile/v1DarkMagicProjectile.c +++ b/src/projectile/v1DarkMagicProjectile.c @@ -8,6 +8,7 @@ #include "entity.h" #include "physics.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/v1FireProjectile.c b/src/projectile/v1FireProjectile.c index d15767ee..c5ce71b0 100644 --- a/src/projectile/v1FireProjectile.c +++ b/src/projectile/v1FireProjectile.c @@ -9,6 +9,7 @@ #include "player.h" #include "room.h" #include "physics.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/v3ElectricProjectile.c b/src/projectile/v3ElectricProjectile.c index 51391304..e3e5f070 100644 --- a/src/projectile/v3ElectricProjectile.c +++ b/src/projectile/v3ElectricProjectile.c @@ -9,6 +9,7 @@ #include "entity.h" #include "physics.h" #include "player.h" +#include "asm.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/windProjectile.c b/src/projectile/windProjectile.c index 3ad7a171..5f294a3d 100644 --- a/src/projectile/windProjectile.c +++ b/src/projectile/windProjectile.c @@ -7,6 +7,7 @@ #include "enemy.h" #include "entity.h" #include "physics.h" +#include "script.h" extern void (*const WindProjectile_Actions[])(Entity*); From 4c88a43f42196a5af1f26b420097759d5485cb35 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 9 Mar 2025 14:32:04 +0000 Subject: [PATCH 14/17] disable PACKED and ALIGNED in CLion CLion does not like these macros when doing static analysis, so disable them for that. Does not affect build. --- include/gba/defines.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/gba/defines.h b/include/gba/defines.h index a135969e..73802774 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -16,9 +16,13 @@ #define NAKED __attribute__((naked)) #define UNUSED __attribute__((unused)) +#ifdef __CLION_IDE__ +#define PACKED +#define ALIGNED(n) +#else #define PACKED __attribute__((packed)) - #define ALIGNED(n) __attribute__((aligned(n))) +#endif #define SOUND_INFO_PTR (*(struct SoundInfo**)0x3007FF0) #define INTR_CHECK (*(u16*)0x3007FF8) From 6c71c8f55936b6a5d75f0680c6a55f2169f48e9c Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 9 Mar 2025 15:24:57 +0000 Subject: [PATCH 15/17] cleanup unused and transitive includes --- include/enemy.h | 7 ------- include/entity.h | 1 - include/main.h | 1 + include/object.h | 1 - include/room.h | 1 - include/screen.h | 1 - include/screenTransitions.h | 2 +- src/affine.c | 1 - src/backgroundAnimations.c | 2 +- src/code_08049CD4.c | 1 + src/collision.c | 4 ++-- src/color.c | 1 + src/common.c | 1 + src/cutscene.c | 6 +++--- src/debug.c | 1 + src/demo.c | 2 +- src/droptables.c | 1 - src/enemy/acroBandits.c | 2 ++ src/enemy/armos.c | 2 ++ src/enemy/ballChainSoldier.c | 2 ++ src/enemy/beetle.c | 2 ++ src/enemy/bobomb.c | 2 +- src/enemy/bombarossa.c | 2 ++ src/enemy/bowMoblin.c | 3 +++ src/enemy/businessScrub.c | 5 +++++ src/enemy/businessScrubPrologue.c | 3 +++ src/enemy/chaser.c | 2 ++ src/enemy/chuchu.c | 2 ++ src/enemy/chuchuBoss.c | 7 ++++--- src/enemy/cloudPiranha.c | 3 +++ src/enemy/crow.c | 1 + src/enemy/cuccoAggr.c | 3 +++ src/enemy/cuccoChickAggr.c | 2 ++ src/enemy/curtain.c | 2 ++ src/enemy/darkNut.c | 3 +++ src/enemy/doorMimic.c | 4 ++-- src/enemy/dust.c | 8 ++++---- src/enemy/enemy4D.c | 2 ++ src/enemy/enemy50.c | 1 + src/enemy/enemy64.c | 5 +++++ src/enemy/enemyE.c | 1 + src/enemy/eyegore.c | 7 +++---- src/enemy/fallingBoulder.c | 2 ++ src/enemy/fireballGuy.c | 2 ++ src/enemy/flyingPot.c | 1 + src/enemy/flyingSkull.c | 1 + src/enemy/ghini.c | 2 ++ src/enemy/gibdo.c | 4 ++-- src/enemy/gleerok.c | 11 +++++++---- src/enemy/gyorgChild.c | 1 + src/enemy/gyorgFemale.c | 5 ++++- src/enemy/gyorgFemaleEye.c | 2 ++ src/enemy/gyorgMale.c | 2 ++ src/enemy/gyorgMaleEye.c | 3 ++- src/enemy/hangingSeed.c | 5 ++--- src/enemy/helmasaur.c | 3 ++- src/enemy/keaton.c | 3 +++ src/enemy/keese.c | 2 ++ src/enemy/lakitu.c | 3 +++ src/enemy/lakituCloud.c | 2 +- src/enemy/leever.c | 1 + src/enemy/likeLike.c | 4 ++-- src/enemy/madderpillar.c | 4 +++- src/enemy/mazaalBracelet.c | 5 +++-- src/enemy/mazaalHead.c | 5 +++-- src/enemy/mazaalMacro.c | 3 +++ src/enemy/miniFireballGuy.c | 2 ++ src/enemy/miniSlime.c | 2 ++ src/enemy/moldworm.c | 3 +++ src/enemy/mulldozer.c | 2 ++ src/enemy/octorok.c | 3 +++ src/enemy/octorokBoss.c | 1 + src/enemy/octorokGolden.c | 4 ++++ src/enemy/peahat.c | 2 ++ src/enemy/pesto.c | 5 +++-- src/enemy/puffstool.c | 5 +++-- src/enemy/rockChuchu.c | 3 ++- src/enemy/rollobite.c | 1 + src/enemy/rope.c | 2 ++ src/enemy/ropeGolden.c | 3 +++ src/enemy/scissorsBeetle.c | 3 +++ src/enemy/sensorBladeTrap.c | 1 + src/enemy/slime.c | 2 ++ src/enemy/sluggula.c | 2 ++ src/enemy/smallPesto.c | 2 ++ src/enemy/spark.c | 3 +-- src/enemy/spearMoblin.c | 5 +++-- src/enemy/spikedBeetle.c | 2 ++ src/enemy/spinyBeetle.c | 1 + src/enemy/spinyChuchu.c | 2 ++ src/enemy/stalfos.c | 3 +++ src/enemy/takkuri.c | 1 + src/enemy/tektite.c | 1 + src/enemy/tektiteGolden.c | 2 ++ src/enemy/torchTrap.c | 3 +++ src/enemy/treeItem.c | 2 ++ src/enemy/vaatiArm.c | 7 ++++--- src/enemy/vaatiBall.c | 1 + src/enemy/vaatiEyesMacro.c | 2 ++ src/enemy/vaatiProjectile.c | 3 +++ src/enemy/vaatiRebornEnemy.c | 4 ++++ src/enemy/vaatiTransfigured.c | 7 ++++--- src/enemy/vaatiTransfiguredEye.c | 2 ++ src/enemy/vaatiWrath.c | 4 +++- src/enemy/vaatiWrathEye.c | 3 +++ src/enemy/wallMaster.c | 3 +++ src/enemy/wallMaster2.c | 2 ++ src/enemy/waterDrop.c | 1 + src/enemy/wizzrobeFire.c | 3 +++ src/enemy/wizzrobeIce.c | 1 + src/enemy/wizzrobeWind.c | 1 + src/enemyUtils.c | 7 ++++--- src/enterPortalSubtask.c | 1 + src/entity.c | 1 + src/fade.c | 1 + src/fileselect.c | 1 + src/game.c | 1 + src/gameData.c | 1 - src/interrupts.c | 2 ++ src/item/itemPacciCane.c | 1 - src/item/itemShield.c | 1 - src/main.c | 1 + src/manager/armosInteriorManager.c | 1 - src/manager/enterRoomTextboxManager.c | 1 + src/manager/flameManager.c | 1 + src/manager/manager29.c | 1 + src/manager/rollingBarrelManager.c | 1 + src/manager/templeOfDropletsManager.c | 2 +- src/manager/tileChangeObserveManager.c | 1 + src/manager/vaati3InsideArmManager.c | 1 + src/manager/vaati3StartManager.c | 2 +- src/manager/waterfallBottomManager.c | 1 + src/manager/weatherChangeManager.c | 1 + src/menu/figurineMenu.c | 1 + src/menu/kinstoneMenu.c | 4 +++- src/menu/pauseMenu.c | 1 + src/npc/bigGoron.c | 1 + src/npc/bladeBrothers.c | 1 + src/npc/castorWildsStatue.c | 2 ++ src/npc/cat.c | 1 + src/npc/emma.c | 1 + src/npc/gregal.c | 1 + src/npc/kid.c | 1 + src/npc/npc5.c | 1 + src/npc/simon.c | 2 +- src/npc/vaatiReborn.c | 1 + src/npc/zelda.c | 1 + src/npcDefinitions.c | 1 - src/npcUtils.c | 1 + src/object/ambientClouds.c | 1 + src/object/beanstalk.c | 1 + src/object/bush.c | 1 - src/object/button.c | 1 + src/object/chuchuBossStartParticle.c | 1 + src/object/cuccoMinigame.c | 7 ++++--- src/object/cutsceneMiscObject.c | 3 ++- src/object/deathFx.c | 2 +- src/object/dirtParticle.c | 1 + src/object/doubleBookshelf.c | 1 + src/object/fan.c | 2 +- src/object/fanWind.c | 2 +- src/object/figurineDevice.c | 1 + src/object/fourElements.c | 1 + src/object/frozenOctorok.c | 1 + src/object/furniture.c | 2 ++ src/object/gentariCurtain.c | 1 + src/object/giantTwig.c | 2 ++ src/object/greatFairy.c | 1 + src/object/gyorgBossObject.c | 1 + src/object/kinstoneSpark.c | 1 + src/object/lightRay.c | 1 + src/object/lockedDoor.c | 1 + src/object/macroBook.c | 1 + src/object/macroDecorations.c | 1 + src/object/macroPlayer.c | 1 + src/object/mask.c | 1 + src/object/mazaalBossObject.c | 5 +++-- src/object/minishPortalCloseup.c | 1 + src/object/minishVillageObject.c | 2 ++ src/object/moleMittsParticle.c | 1 + src/object/object30.c | 2 +- src/object/object37.c | 2 +- src/object/objectA2.c | 3 +++ src/object/octorokBossObject.c | 3 --- src/object/pinwheel.c | 7 ------- src/object/pullableMushroom.c | 1 + src/object/pushableFurniture.c | 1 + src/object/railtrack.c | 1 + src/object/vaati3PlayerObject.c | 2 ++ src/object/waterfallOpening.c | 1 + src/object/well.c | 1 + src/object/whirlwind.c | 1 + src/objectUtils.c | 1 + src/player.c | 2 +- src/playerItem/playerItemSwordBeam.c | 1 + src/playerItemDefinitions.c | 1 - src/playerUtils.c | 1 + src/projectile/arrowProjectile.c | 7 +++---- src/projectile/boneProjectile.c | 1 + src/projectile/cannonballProjectile.c | 2 ++ src/projectile/dekuSeedProjectile.c | 3 +++ src/projectile/dirtBallProjectile.c | 4 +++- src/projectile/fireProjectile.c | 2 ++ src/projectile/gleerokProjectile.c | 2 ++ src/projectile/guardLineOfSight.c | 2 +- src/projectile/gyorgMaleEnergyProjectile.c | 2 ++ src/projectile/iceProjectile.c | 2 ++ src/projectile/lakituCloudProjectile.c | 3 +++ src/projectile/lakituLightning.c | 2 ++ src/projectile/mandiblesProjectile.c | 1 + src/projectile/moblinSpear.c | 2 ++ src/projectile/octorokBossProjectile.c | 4 +++- src/projectile/projectile5.c | 1 + src/projectile/removableDust.c | 5 +++-- src/projectile/rockProjectile.c | 2 ++ src/projectile/stalfosProjectile.c | 3 +++ src/projectile/torchTrapProjectile.c | 1 + src/projectile/v1DarkMagicProjectile.c | 4 ++++ src/projectile/v1FireProjectile.c | 1 + src/projectile/v2Projectile.c | 2 ++ src/projectile/v3ElectricProjectile.c | 2 ++ src/projectile/v3HandProjectile.c | 2 ++ src/projectile/v3TennisBallProjectile.c | 3 +++ src/projectile/windProjectile.c | 2 ++ src/projectile/winder.c | 1 + src/projectileUtils.c | 1 + src/room.c | 3 +-- src/roomInit.c | 1 + src/save.c | 1 - src/script.c | 2 +- src/staffroll.c | 1 + src/subtask.c | 1 + src/subtask/subtaskAuxCutscene.c | 1 + src/subtask/subtaskFastTravel.c | 1 + src/subtask/subtaskLocalMapHint.c | 1 + src/subtask/subtaskMapHint.c | 5 +---- src/subtask/subtaskWorldEvent.c | 1 + src/text.c | 1 + src/title.c | 1 + src/vram.c | 1 + src/worldEvent/worldEvent1.c | 4 ---- src/worldEvent/worldEvent22.c | 2 +- src/worldEvent/worldEvent4.c | 2 -- 243 files changed, 402 insertions(+), 131 deletions(-) diff --git a/include/enemy.h b/include/enemy.h index ab3ed769..61d210ad 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -2,14 +2,7 @@ #define ENEMY_H #include "global.h" - -#include "sound.h" -#include "effects.h" -#include "flags.h" -#include "common.h" - #include "entity.h" -#include "projectile.h" #define EM_FLAG_BOSS (1 << 0) #define EM_FLAG_BOSS_KILLED (1 << 1) diff --git a/include/entity.h b/include/entity.h index a332089e..7361d119 100644 --- a/include/entity.h +++ b/include/entity.h @@ -3,7 +3,6 @@ #define ENTITY_H #include "global.h" -#include "color.h" #include "sprite.h" #define MAX_ENTITIES 72 diff --git a/include/main.h b/include/main.h index 8a38f36f..03356134 100644 --- a/include/main.h +++ b/include/main.h @@ -6,6 +6,7 @@ #include "script.h" #include "screen.h" #include "vram.h" +#include "color.h" /** File signature */ #define SIGNATURE 'MCZ3' diff --git a/include/object.h b/include/object.h index e2f5855d..34a85ea5 100644 --- a/include/object.h +++ b/include/object.h @@ -1,7 +1,6 @@ #ifndef OBJECT_H #define OBJECT_H -#include "global.h" #include "definitions.h" #include "entity.h" diff --git a/include/room.h b/include/room.h index 5abafd06..1802a934 100644 --- a/include/room.h +++ b/include/room.h @@ -3,7 +3,6 @@ #include "entity.h" #include "droptables.h" -#include "map.h" #include "transitions.h" enum RoomTransition { diff --git a/include/screen.h b/include/screen.h index 5a69f44c..fd0dd0b7 100644 --- a/include/screen.h +++ b/include/screen.h @@ -2,7 +2,6 @@ #define SCREEN_H #include "global.h" -#include "fade.h" typedef struct { /*0x00*/ u16 displayControl; diff --git a/include/screenTransitions.h b/include/screenTransitions.h index 2abbba93..2a28b04f 100644 --- a/include/screenTransitions.h +++ b/include/screenTransitions.h @@ -1,7 +1,7 @@ #ifndef SCREENTRANSITIONS_H #define SCREENTRANSITIONS_H -#include "room.h" +#include "transitions.h" extern const Transition* const gWallMasterScreenTransitions[]; extern const Transition gUnk_0813AB58; diff --git a/src/affine.c b/src/affine.c index e552b715..cf14f46b 100644 --- a/src/affine.c +++ b/src/affine.c @@ -2,7 +2,6 @@ #include "global.h" #include "main.h" #include "room.h" -#include "screen.h" extern u32 gFrameObjLists[]; diff --git a/src/backgroundAnimations.c b/src/backgroundAnimations.c index b055bbbf..f32770b3 100644 --- a/src/backgroundAnimations.c +++ b/src/backgroundAnimations.c @@ -9,7 +9,7 @@ #include "assets/gfx_offsets.h" #include "common.h" #include "gfx.h" -#include "room.h" +#include "fade.h" void LoadBgAnimationGfx(const BgAnimationGfx*); u32 GetBgAnimationTimer(const s32*); diff --git a/src/code_08049CD4.c b/src/code_08049CD4.c index 077c5745..c0ddc189 100644 --- a/src/code_08049CD4.c +++ b/src/code_08049CD4.c @@ -1,6 +1,7 @@ #include "global.h" #include "room.h" #include "enemy.h" +#include "common.h" extern void MemFill32(u32, void*, u32); diff --git a/src/collision.c b/src/collision.c index 42f7c358..8f063d14 100644 --- a/src/collision.c +++ b/src/collision.c @@ -2,12 +2,12 @@ #include "collision.h" #include "common.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "entity.h" #include "global.h" #include "item.h" #include "object.h" -#include "sound.h" -#include "effects.h" #include "physics.h" #include "player.h" #include "save.h" diff --git a/src/color.c b/src/color.c index cf179c19..7f1b8e97 100644 --- a/src/color.c +++ b/src/color.c @@ -5,6 +5,7 @@ #include "room.h" #include "main.h" #include "gfx.h" +#include "fade.h" extern Palette gUnk_02001A3C; diff --git a/src/common.c b/src/common.c index a93fd730..0cb0da73 100644 --- a/src/common.c +++ b/src/common.c @@ -17,6 +17,7 @@ #include "screen.h" #include "sound.h" #include "subtask.h" +#include "fade.h" extern u8 gUnk_03003DE0; extern u8 gzHeap[0x1000]; diff --git a/src/cutscene.c b/src/cutscene.c index dbdabec5..f76d8482 100644 --- a/src/cutscene.c +++ b/src/cutscene.c @@ -6,6 +6,9 @@ #include "cutscene.h" #include "enemy.h" +#include "sound.h" +#include "flags.h" +#include "common.h" #include "fade.h" #include "fileselect.h" #include "game.h" @@ -13,9 +16,6 @@ #include "menu.h" #include "npc.h" #include "object.h" -#include "common.h" -#include "sound.h" -#include "flags.h" #include "room.h" #include "screen.h" #include "subtask.h" diff --git a/src/debug.c b/src/debug.c index 9ca357ad..9d2b728d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -13,6 +13,7 @@ #include "screen.h" #include "sound.h" #include "save.h" +#include "fade.h" void sub_0805FA04(void); void sub_0805FA98(void); diff --git a/src/demo.c b/src/demo.c index b510a6fb..7675ef7a 100644 --- a/src/demo.c +++ b/src/demo.c @@ -13,9 +13,9 @@ #include "menu.h" #include "message.h" #include "screen.h" -#include "menu.h" #include "sound.h" #include "affine.h" +#include "fade.h" void sub_080A30AC(void); void sub_080A2E40(void); diff --git a/src/droptables.c b/src/droptables.c index aafd0879..69deb7ee 100644 --- a/src/droptables.c +++ b/src/droptables.c @@ -1,4 +1,3 @@ -#include "global.h" #include "droptables.h" const Droptable gEnemyDroptables[] = { diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 6ac2b964..8011c609 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -5,6 +5,8 @@ * @brief Acro Bandits enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/armos.c b/src/enemy/armos.c index 04d6bdb7..5eadaaf6 100644 --- a/src/enemy/armos.c +++ b/src/enemy/armos.c @@ -8,6 +8,7 @@ #include "collision.h" #include "common.h" #include "enemy.h" +#include "sound.h" #include "flags.h" #include "physics.h" #include "global.h" @@ -16,6 +17,7 @@ #include "room.h" #include "player.h" #include "asm.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/ballChainSoldier.c b/src/enemy/ballChainSoldier.c index 908c7d2d..fac44fa0 100644 --- a/src/enemy/ballChainSoldier.c +++ b/src/enemy/ballChainSoldier.c @@ -5,6 +5,8 @@ * @brief Ball Chain Soldier enemy */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "room.h" #include "physics.h" diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 9637abb6..934e308a 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -5,6 +5,8 @@ * @brief Beetle enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/bobomb.c b/src/enemy/bobomb.c index 131fe12f..0fc89c5c 100644 --- a/src/enemy/bobomb.c +++ b/src/enemy/bobomb.c @@ -7,9 +7,9 @@ #include "asm.h" #include "collision.h" #include "enemy.h" -#include "object.h" #include "sound.h" #include "effects.h" +#include "object.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/bombarossa.c b/src/enemy/bombarossa.c index bd9bd235..49a7d4a5 100644 --- a/src/enemy/bombarossa.c +++ b/src/enemy/bombarossa.c @@ -5,6 +5,8 @@ * @brief Bombarossa enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "object.h" #include "asm.h" #include "room.h" diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c index 8bbc4b5c..150d89cd 100644 --- a/src/enemy/bowMoblin.c +++ b/src/enemy/bowMoblin.c @@ -5,6 +5,9 @@ * @brief Bow Moblin enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c index 54f6dd4d..c00fdd50 100644 --- a/src/enemy/businessScrub.c +++ b/src/enemy/businessScrub.c @@ -6,6 +6,10 @@ */ #include "asm.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" +#include "projectile.h" #include "item.h" #include "kinstone.h" #include "message.h" @@ -13,6 +17,7 @@ #include "save.h" #include "tiles.h" #include "vram.h" +#include "color.h" struct SalesOffering { u8 field_0x0; diff --git a/src/enemy/businessScrubPrologue.c b/src/enemy/businessScrubPrologue.c index fdd9646f..56a0ca38 100644 --- a/src/enemy/businessScrubPrologue.c +++ b/src/enemy/businessScrubPrologue.c @@ -6,6 +6,9 @@ */ #include "object/cutsceneMiscObject.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "script.h" #include "physics.h" diff --git a/src/enemy/chaser.c b/src/enemy/chaser.c index 14be99e2..93a042b8 100644 --- a/src/enemy/chaser.c +++ b/src/enemy/chaser.c @@ -5,6 +5,8 @@ * @brief Chaser enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "functions.h" #include "player.h" #include "physics.h" diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c index 19b269c1..cbc3ce55 100644 --- a/src/enemy/chuchu.c +++ b/src/enemy/chuchu.c @@ -6,6 +6,8 @@ */ #include "asm.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "tiles.h" diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index 81bfd0c3..a7c52e03 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -5,11 +5,11 @@ * @brief Chuchu Boss enemy */ #include "enemy.h" -#include "object.h" -#include "asm.h" -#include "common.h" #include "sound.h" #include "effects.h" +#include "common.h" +#include "object.h" +#include "asm.h" #include "room.h" #include "physics.h" #include "player.h" @@ -17,6 +17,7 @@ #include "pauseMenu.h" #ifndef EU #include "vram.h" +#include "color.h" #endif typedef struct { diff --git a/src/enemy/cloudPiranha.c b/src/enemy/cloudPiranha.c index 534c8505..ba3a1f67 100644 --- a/src/enemy/cloudPiranha.c +++ b/src/enemy/cloudPiranha.c @@ -6,10 +6,13 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "room.h" #include "physics.h" #include "tiles.h" #include "asm.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/crow.c b/src/enemy/crow.c index 2c51fb5d..5a3f4cc4 100644 --- a/src/enemy/crow.c +++ b/src/enemy/crow.c @@ -5,6 +5,7 @@ * @brief Crow enemy */ #include "enemy.h" +#include "sound.h" #include "entity.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/cuccoAggr.c b/src/enemy/cuccoAggr.c index 7a353788..67068086 100644 --- a/src/enemy/cuccoAggr.c +++ b/src/enemy/cuccoAggr.c @@ -5,6 +5,9 @@ * @brief Cucco Aggr enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" #include "entity.h" #include "room.h" #include "player.h" diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c index 30332fcb..eecb3de1 100644 --- a/src/enemy/cuccoChickAggr.c +++ b/src/enemy/cuccoChickAggr.c @@ -5,6 +5,8 @@ * @brief Cucco Chick Aggr enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "asm.h" diff --git a/src/enemy/curtain.c b/src/enemy/curtain.c index e5256714..918bdd5c 100644 --- a/src/enemy/curtain.c +++ b/src/enemy/curtain.c @@ -5,6 +5,8 @@ * @brief Curtain enemy */ #include "enemy.h" +#include "sound.h" +#include "flags.h" #include "entity.h" void (*const Curtain_Functions[])(Entity*); diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index f174bae9..c0ff9b39 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -5,6 +5,9 @@ * @brief Dark Nut enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "asm.h" typedef struct { diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c index c7932157..bc906e07 100644 --- a/src/enemy/doorMimic.c +++ b/src/enemy/doorMimic.c @@ -6,11 +6,11 @@ */ #include "enemy.h" #include "sound.h" +#include "effects.h" +#include "common.h" #include "tiles.h" #include "object.h" #include "asm.h" -#include "common.h" -#include "effects.h" #include "room.h" typedef struct { diff --git a/src/enemy/dust.c b/src/enemy/dust.c index 071184db..a19dd612 100644 --- a/src/enemy/dust.c +++ b/src/enemy/dust.c @@ -6,13 +6,13 @@ */ #include "asm.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" +#include "common.h" #include "entity.h" #include "hitbox.h" #include "object.h" -#include "common.h" -#include "sound.h" -#include "flags.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/enemy4D.c b/src/enemy/enemy4D.c index 4e930e91..3a37c7da 100644 --- a/src/enemy/enemy4D.c +++ b/src/enemy/enemy4D.c @@ -5,6 +5,8 @@ * @brief Enemy4D enemy */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "room.h" #include "physics.h" diff --git a/src/enemy/enemy50.c b/src/enemy/enemy50.c index 0ffd569a..0b54476e 100644 --- a/src/enemy/enemy50.c +++ b/src/enemy/enemy50.c @@ -6,6 +6,7 @@ */ #include "area.h" #include "enemy.h" +#include "effects.h" #include "physics.h" #include "player.h" #include "room.h" diff --git a/src/enemy/enemy64.c b/src/enemy/enemy64.c index 5ebc2949..7dc17d67 100644 --- a/src/enemy/enemy64.c +++ b/src/enemy/enemy64.c @@ -5,6 +5,10 @@ * @brief Enemy64 enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" +#include "projectile.h" #include "fade.h" #include "scroll.h" #include "physics.h" @@ -12,6 +16,7 @@ #include "room.h" #include "player.h" #include "asm.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/enemyE.c b/src/enemy/enemyE.c index 08beabb0..5b59069b 100644 --- a/src/enemy/enemyE.c +++ b/src/enemy/enemyE.c @@ -5,6 +5,7 @@ * @brief EnemyE enemy */ #include "enemy.h" +#include "effects.h" void sub_08023000(Entity*, int); diff --git a/src/enemy/eyegore.c b/src/enemy/eyegore.c index 07991c44..d7d3679f 100644 --- a/src/enemy/eyegore.c +++ b/src/enemy/eyegore.c @@ -5,13 +5,12 @@ * @brief Eyegore enemy */ #include "enemy.h" -#include "fade.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" #include "hitbox.h" #include "object.h" #include "asm.h" -#include "sound.h" -#include "flags.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c index fbb40c70..fa3d564c 100644 --- a/src/enemy/fallingBoulder.c +++ b/src/enemy/fallingBoulder.c @@ -5,6 +5,8 @@ * @brief Falling Boulder enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "room.h" #include "player.h" #include "physics.h" diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c index 848b2b04..112194d0 100644 --- a/src/enemy/fireballGuy.c +++ b/src/enemy/fireballGuy.c @@ -5,6 +5,8 @@ * @brief Fireball Guy enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/flyingPot.c b/src/enemy/flyingPot.c index 0c99cc7a..1116caa8 100644 --- a/src/enemy/flyingPot.c +++ b/src/enemy/flyingPot.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "effects.h" #include "physics.h" #include "player.h" #include "room.h" diff --git a/src/enemy/flyingSkull.c b/src/enemy/flyingSkull.c index 307fb7fa..b9e2f8fa 100644 --- a/src/enemy/flyingSkull.c +++ b/src/enemy/flyingSkull.c @@ -7,6 +7,7 @@ #include "object/pot.h" #include "collision.h" #include "enemy.h" +#include "effects.h" #include "entity.h" #include "physics.h" #include "hitbox.h" diff --git a/src/enemy/ghini.c b/src/enemy/ghini.c index e0afd0fb..0dd2a388 100644 --- a/src/enemy/ghini.c +++ b/src/enemy/ghini.c @@ -6,6 +6,8 @@ */ #include "area.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/gibdo.c b/src/enemy/gibdo.c index 3da47c9c..d31c94ed 100644 --- a/src/enemy/gibdo.c +++ b/src/enemy/gibdo.c @@ -5,10 +5,10 @@ * @brief Gibdo enemy */ #include "enemy.h" -#include "object.h" -#include "asm.h" #include "sound.h" #include "effects.h" +#include "object.h" +#include "asm.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/gleerok.c b/src/enemy/gleerok.c index 124d5d65..18586946 100644 --- a/src/enemy/gleerok.c +++ b/src/enemy/gleerok.c @@ -5,18 +5,21 @@ * @brief Gleerok enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" +#include "common.h" +#include "projectile.h" #include "entity.h" #include "object.h" #include "asm.h" -#include "common.h" -#include "sound.h" -#include "flags.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" #include "screen.h" #include "pauseMenu.h" +#include "color.h" +#include "fade.h" typedef struct { union SplitHWord unk0; diff --git a/src/enemy/gyorgChild.c b/src/enemy/gyorgChild.c index 4d15d58d..67beee16 100644 --- a/src/enemy/gyorgChild.c +++ b/src/enemy/gyorgChild.c @@ -9,6 +9,7 @@ #include "room.h" #include "player.h" #include "physics.h" +#include "sound.h" void GyorgChild_OnTick(GyorgChildEntity*); void GyorgChild_OnCollision(GyorgChildEntity*); diff --git a/src/enemy/gyorgFemale.c b/src/enemy/gyorgFemale.c index de4abc83..b705005b 100644 --- a/src/enemy/gyorgFemale.c +++ b/src/enemy/gyorgFemale.c @@ -8,8 +8,11 @@ #include "beanstalkSubtask.h" #include "collision.h" #include "enemy.h" -#include "enemy/gyorg.h" #include "sound.h" +#include "effects.h" +#include "common.h" +#include "projectile.h" +#include "enemy/gyorg.h" #include "assets/map_offsets.h" #include "game.h" #include "player.h" diff --git a/src/enemy/gyorgFemaleEye.c b/src/enemy/gyorgFemaleEye.c index 1dc30c7c..05c03183 100644 --- a/src/enemy/gyorgFemaleEye.c +++ b/src/enemy/gyorgFemaleEye.c @@ -5,6 +5,8 @@ * @brief Gyorg Female Eye enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "enemy/gyorg.h" #include "entity.h" #include "player.h" diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index a4cfffeb..39d98d7c 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -6,6 +6,8 @@ */ #include "effects.h" #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "enemy/gyorg.h" #include "fileselect.h" #include "physics.h" diff --git a/src/enemy/gyorgMaleEye.c b/src/enemy/gyorgMaleEye.c index e3f536fd..c62b8d30 100644 --- a/src/enemy/gyorgMaleEye.c +++ b/src/enemy/gyorgMaleEye.c @@ -5,7 +5,8 @@ * @brief GyorgMaleEye enemy */ #include "enemy.h" -#include "fade.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "room.h" diff --git a/src/enemy/hangingSeed.c b/src/enemy/hangingSeed.c index 19479230..3dabc2ca 100644 --- a/src/enemy/hangingSeed.c +++ b/src/enemy/hangingSeed.c @@ -5,10 +5,9 @@ * @brief Hanging Seed enemy */ #include "enemy.h" -#include "entity.h" -#include "object.h" -#include "asm.h" +#include "sound.h" #include "effects.h" +#include "entity.h" extern void (*const HangingSeed_Functions[])(Entity*); extern void (*const gUnk_080CB588[])(Entity*); diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c index abe346ce..cf22a53c 100644 --- a/src/enemy/helmasaur.c +++ b/src/enemy/helmasaur.c @@ -6,12 +6,13 @@ */ #include "collision.h" #include "enemy.h" +#include "effects.h" #include "object.h" #include "asm.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index ac7366da..993d0ba0 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -5,6 +5,9 @@ * @brief keaton enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/keese.c b/src/enemy/keese.c index 99517334..8f1390a6 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -5,6 +5,8 @@ * @brief Keese enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "player.h" #include "asm.h" diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index f22d0fa1..bff5b976 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -5,6 +5,9 @@ * @brief Lakitu enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "physics.h" #include "player.h" #include "asm.h" diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c index 9436c709..85d37c90 100644 --- a/src/enemy/lakituCloud.c +++ b/src/enemy/lakituCloud.c @@ -7,9 +7,9 @@ #include "asm.h" #include "effects.h" #include "enemy.h" +#include "sound.h" #include "entity.h" #include "object.h" -#include "sound.h" #include "physics.h" #include "player.h" #include "room.h" diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 6b12cf8e..6896e80e 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -6,6 +6,7 @@ */ #include "asm.h" #include "enemy.h" +#include "effects.h" #include "physics.h" #include "tiles.h" diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index 5bee7fc3..b69bfde1 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -5,12 +5,12 @@ * @brief Like Like enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "item.h" #include "message.h" #include "object.h" #include "asm.h" -#include "sound.h" -#include "effects.h" #include "physics.h" #include "player.h" #include "save.h" diff --git a/src/enemy/madderpillar.c b/src/enemy/madderpillar.c index 1ecff210..de439c90 100644 --- a/src/enemy/madderpillar.c +++ b/src/enemy/madderpillar.c @@ -5,11 +5,13 @@ * @brief Madderpillar enemy */ #include "enemy.h" -#include "hitbox.h" +#include "sound.h" #include "effects.h" +#include "hitbox.h" #include "room.h" #include "physics.h" #include "asm.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/mazaalBracelet.c b/src/enemy/mazaalBracelet.c index 60fc15e7..72ba305e 100644 --- a/src/enemy/mazaalBracelet.c +++ b/src/enemy/mazaalBracelet.c @@ -5,15 +5,16 @@ * @brief Mazaal Bracelet enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "hitbox.h" #include "object.h" #include "asm.h" #include "script.h" -#include "sound.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" +#include "color.h" typedef struct MazaalBraceletEntity_ { /*0x00*/ Entity base; diff --git a/src/enemy/mazaalHead.c b/src/enemy/mazaalHead.c index 0e079d48..1cec5baa 100644 --- a/src/enemy/mazaalHead.c +++ b/src/enemy/mazaalHead.c @@ -6,10 +6,11 @@ */ #include "area.h" #include "enemy.h" -#include "object.h" -#include "asm.h" #include "sound.h" #include "effects.h" +#include "projectile.h" +#include "object.h" +#include "asm.h" #include "room.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/mazaalMacro.c b/src/enemy/mazaalMacro.c index 91191679..fd3146b6 100644 --- a/src/enemy/mazaalMacro.c +++ b/src/enemy/mazaalMacro.c @@ -5,7 +5,10 @@ * @brief Mazaal Macro enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "screenTransitions.h" +#include "room.h" #include "script.h" #include "tiles.h" #include "player.h" diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c index a0097211..f50c3bc6 100644 --- a/src/enemy/miniFireballGuy.c +++ b/src/enemy/miniFireballGuy.c @@ -5,6 +5,8 @@ * @brief Mini Fireball Guy enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 0624494e..38a42e96 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -5,6 +5,8 @@ * @brief Mini Slime enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c index 1282d029..8e3e6db0 100644 --- a/src/enemy/moldworm.c +++ b/src/enemy/moldworm.c @@ -6,11 +6,14 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "tiles.h" #include "room.h" #include "player.h" #include "asm.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/mulldozer.c b/src/enemy/mulldozer.c index d60a1c4f..60176768 100644 --- a/src/enemy/mulldozer.c +++ b/src/enemy/mulldozer.c @@ -6,6 +6,8 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "asm.h" typedef struct { diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index ac13da58..07101e70 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -5,6 +5,9 @@ * @brief Octorok enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/octorokBoss.c b/src/enemy/octorokBoss.c index 0ef5f55c..0886f1bf 100644 --- a/src/enemy/octorokBoss.c +++ b/src/enemy/octorokBoss.c @@ -18,6 +18,7 @@ #include "player.h" #include "projectile.h" #include "vram.h" +#include "color.h" #define IS_FROZEN(this) ((this)->bossPhase & 1) diff --git a/src/enemy/octorokGolden.c b/src/enemy/octorokGolden.c index 8c31a460..8753e2b5 100644 --- a/src/enemy/octorokGolden.c +++ b/src/enemy/octorokGolden.c @@ -6,6 +6,10 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" +#include "projectile.h" #include "map.h" #include "player.h" #include "item.h" diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index d18a3553..52437ceb 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -5,6 +5,8 @@ * @brief Peahat enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "asm.h" #include "room.h" diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index 6b523e27..e44b11e3 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -6,11 +6,12 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "game.h" #include "object.h" #include "asm.h" -#include "sound.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 2abd938b..bb6fa93a 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -6,14 +6,15 @@ */ #include "collision.h" #include "enemy.h" -#include "object.h" -#include "asm.h" #include "sound.h" #include "effects.h" +#include "object.h" +#include "asm.h" #include "room.h" #include "physics.h" #include "player.h" #include "tiles.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/rockChuchu.c b/src/enemy/rockChuchu.c index 8872b928..25acfff7 100644 --- a/src/enemy/rockChuchu.c +++ b/src/enemy/rockChuchu.c @@ -5,9 +5,10 @@ * @brief Rock Chuchu enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "asm.h" -#include "effects.h" extern void (*const RockChuchu_Functions[])(Entity*); extern void (*const gUnk_080CB960[])(Entity*); diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index ab546efb..428038e6 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" #include "physics.h" #include "player.h" #include "room.h" diff --git a/src/enemy/rope.c b/src/enemy/rope.c index 6ba4d764..762e32b1 100644 --- a/src/enemy/rope.c +++ b/src/enemy/rope.c @@ -5,6 +5,8 @@ * @brief Rope enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "tiles.h" #include "asm.h" diff --git a/src/enemy/ropeGolden.c b/src/enemy/ropeGolden.c index 4b5051cf..69c43e98 100644 --- a/src/enemy/ropeGolden.c +++ b/src/enemy/ropeGolden.c @@ -5,6 +5,9 @@ * @brief Golden Rope enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" #include "entity.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/scissorsBeetle.c b/src/enemy/scissorsBeetle.c index f0eaa381..dd4eba0c 100644 --- a/src/enemy/scissorsBeetle.c +++ b/src/enemy/scissorsBeetle.c @@ -6,6 +6,9 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "asm.h" diff --git a/src/enemy/sensorBladeTrap.c b/src/enemy/sensorBladeTrap.c index 31d2bc10..36357f4e 100644 --- a/src/enemy/sensorBladeTrap.c +++ b/src/enemy/sensorBladeTrap.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" #include "map.h" #include "physics.h" diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 6e6be923..5c7636c0 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -5,6 +5,8 @@ * @brief Slime enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "room.h" #include "asm.h" diff --git a/src/enemy/sluggula.c b/src/enemy/sluggula.c index 5a95aa56..cece7301 100644 --- a/src/enemy/sluggula.c +++ b/src/enemy/sluggula.c @@ -5,6 +5,8 @@ * @brief Sluggula enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index 79f24419..a9652e10 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -5,6 +5,8 @@ * @brief Small Pesto enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/spark.c b/src/enemy/spark.c index 69c4f75e..a5dde94a 100644 --- a/src/enemy/spark.c +++ b/src/enemy/spark.c @@ -6,9 +6,8 @@ */ #include "collision.h" #include "enemy.h" -#include "object.h" -#include "asm.h" #include "effects.h" +#include "object.h" #include "physics.h" extern void (*const Spark_Functions[])(Entity*); diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c index 2c40c235..e8954dd2 100644 --- a/src/enemy/spearMoblin.c +++ b/src/enemy/spearMoblin.c @@ -5,10 +5,11 @@ * @brief Spear Moblin enemy */ #include "enemy.h" -#include "object.h" -#include "asm.h" #include "sound.h" #include "effects.h" +#include "projectile.h" +#include "object.h" +#include "asm.h" #include "physics.h" typedef struct { diff --git a/src/enemy/spikedBeetle.c b/src/enemy/spikedBeetle.c index 6563b7bd..01200c7d 100644 --- a/src/enemy/spikedBeetle.c +++ b/src/enemy/spikedBeetle.c @@ -5,6 +5,8 @@ * @brief Spiked Beetle enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/spinyBeetle.c b/src/enemy/spinyBeetle.c index c6fec3b0..bbc0b84a 100644 --- a/src/enemy/spinyBeetle.c +++ b/src/enemy/spinyBeetle.c @@ -5,6 +5,7 @@ * @brief Spiny Beetle enemy */ #include "enemy.h" +#include "sound.h" #include "entity.h" #include "object.h" #include "asm.h" diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index c6ffc5ab..89de684b 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -5,6 +5,8 @@ * @brief Spiny Chuchu enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "hitbox.h" #include "physics.h" #include "asm.h" diff --git a/src/enemy/stalfos.c b/src/enemy/stalfos.c index ab0b46a1..103698d7 100644 --- a/src/enemy/stalfos.c +++ b/src/enemy/stalfos.c @@ -6,6 +6,9 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "physics.h" #include "tiles.h" #include "room.h" diff --git a/src/enemy/takkuri.c b/src/enemy/takkuri.c index bc80e9f5..ee5e6908 100644 --- a/src/enemy/takkuri.c +++ b/src/enemy/takkuri.c @@ -5,6 +5,7 @@ * @brief Takkuri enemy */ #include "enemy.h" +#include "sound.h" #include "entity.h" #include "item.h" #include "object.h" diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index 59b71c7b..46053390 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "effects.h" #include "asm.h" typedef struct { diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index 570cc67c..f7875954 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -6,6 +6,8 @@ */ #include "collision.h" #include "enemy.h" +#include "effects.h" +#include "flags.h" #include "item.h" #include "asm.h" diff --git a/src/enemy/torchTrap.c b/src/enemy/torchTrap.c index f2e4dd2d..c6ce0762 100644 --- a/src/enemy/torchTrap.c +++ b/src/enemy/torchTrap.c @@ -5,6 +5,9 @@ * @brief Torch Trap enemy */ #include "enemy.h" +#include "sound.h" +#include "flags.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/treeItem.c b/src/enemy/treeItem.c index 60fe4802..5169946d 100644 --- a/src/enemy/treeItem.c +++ b/src/enemy/treeItem.c @@ -5,6 +5,8 @@ * @brief Tree Item enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "item.h" #include "object.h" #include "asm.h" diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index 9abcd5c9..b53ca35e 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -6,12 +6,13 @@ */ #include "area.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "common.h" +#include "projectile.h" #include "hitbox.h" #include "object.h" #include "asm.h" -#include "common.h" -#include "sound.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c index e97acf52..3e662393 100644 --- a/src/enemy/vaatiBall.c +++ b/src/enemy/vaatiBall.c @@ -5,6 +5,7 @@ * @brief Vaati Ball enemy */ #include "enemy.h" +#include "projectile.h" #include "entity.h" #include "object.h" #include "asm.h" diff --git a/src/enemy/vaatiEyesMacro.c b/src/enemy/vaatiEyesMacro.c index f2f4829b..33e90175 100644 --- a/src/enemy/vaatiEyesMacro.c +++ b/src/enemy/vaatiEyesMacro.c @@ -5,6 +5,8 @@ * @brief Vaati Eyes Macro enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "room.h" #include "player.h" #include "physics.h" diff --git a/src/enemy/vaatiProjectile.c b/src/enemy/vaatiProjectile.c index 6e34e868..783eb43c 100644 --- a/src/enemy/vaatiProjectile.c +++ b/src/enemy/vaatiProjectile.c @@ -5,7 +5,10 @@ * @brief Vaati Projectile enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "screenTransitions.h" +#include "room.h" #include "tiles.h" #include "player.h" #include "physics.h" diff --git a/src/enemy/vaatiRebornEnemy.c b/src/enemy/vaatiRebornEnemy.c index d8b0fac9..123442cb 100644 --- a/src/enemy/vaatiRebornEnemy.c +++ b/src/enemy/vaatiRebornEnemy.c @@ -6,6 +6,10 @@ */ #include "area.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" +#include "projectile.h" #include "physics.h" #include "room.h" #include "player.h" diff --git a/src/enemy/vaatiTransfigured.c b/src/enemy/vaatiTransfigured.c index 132ec86e..ca917019 100644 --- a/src/enemy/vaatiTransfigured.c +++ b/src/enemy/vaatiTransfigured.c @@ -5,11 +5,12 @@ * @brief Vaati Transfigured enemy */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" +#include "projectile.h" #include "object.h" #include "asm.h" -#include "sound.h" -#include "flags.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" diff --git a/src/enemy/vaatiTransfiguredEye.c b/src/enemy/vaatiTransfiguredEye.c index 7012dcd9..a0190dd6 100644 --- a/src/enemy/vaatiTransfiguredEye.c +++ b/src/enemy/vaatiTransfiguredEye.c @@ -5,9 +5,11 @@ * @brief Vaati Transfigured Eye enemy */ #include "enemy.h" +#include "sound.h" #include "entity.h" #include "message.h" #include "physics.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/enemy/vaatiWrath.c b/src/enemy/vaatiWrath.c index c351381e..66a40a98 100644 --- a/src/enemy/vaatiWrath.c +++ b/src/enemy/vaatiWrath.c @@ -16,9 +16,11 @@ #include "room.h" #include "physics.h" #include "player.h" -#include "screen.h" #include "vram.h" #include "scroll.h" +#include "color.h" +#include "fade.h" +#include "projectile.h" #if defined USA || defined DEMO_USA || defined DEMO_JP #include "save.h" #endif diff --git a/src/enemy/vaatiWrathEye.c b/src/enemy/vaatiWrathEye.c index 7f398d4f..3fd20877 100644 --- a/src/enemy/vaatiWrathEye.c +++ b/src/enemy/vaatiWrathEye.c @@ -8,6 +8,9 @@ #include "room.h" #include "physics.h" #include "asm.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" void sub_080485D8(Entity*); void sub_080485FC(Entity*); diff --git a/src/enemy/wallMaster.c b/src/enemy/wallMaster.c index 922eb611..f7f93fd7 100644 --- a/src/enemy/wallMaster.c +++ b/src/enemy/wallMaster.c @@ -6,8 +6,11 @@ */ #include "area.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "player.h" #include "screenTransitions.h" +#include "room.h" #include "asm.h" typedef struct { diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c index aa8a6d74..7be382a8 100644 --- a/src/enemy/wallMaster2.c +++ b/src/enemy/wallMaster2.c @@ -6,8 +6,10 @@ */ #include "area.h" #include "enemy.h" +#include "effects.h" #include "physics.h" #include "screenTransitions.h" +#include "room.h" #include "player.h" #include "asm.h" diff --git a/src/enemy/waterDrop.c b/src/enemy/waterDrop.c index 7d7c7e78..c96e2754 100644 --- a/src/enemy/waterDrop.c +++ b/src/enemy/waterDrop.c @@ -5,6 +5,7 @@ * @brief Water Drop enemy */ #include "enemy.h" +#include "effects.h" #include "object.h" #include "asm.h" #include "sound.h" diff --git a/src/enemy/wizzrobeFire.c b/src/enemy/wizzrobeFire.c index a9dfb2c2..dda22d54 100644 --- a/src/enemy/wizzrobeFire.c +++ b/src/enemy/wizzrobeFire.c @@ -6,6 +6,9 @@ */ #include "enemy/wizzrobe.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "player.h" #include "asm.h" diff --git a/src/enemy/wizzrobeIce.c b/src/enemy/wizzrobeIce.c index 71ce4d92..99ec30ce 100644 --- a/src/enemy/wizzrobeIce.c +++ b/src/enemy/wizzrobeIce.c @@ -6,6 +6,7 @@ */ #include "enemy/wizzrobe.h" #include "enemy.h" +#include "projectile.h" #include "object.h" #include "asm.h" #include "sound.h" diff --git a/src/enemy/wizzrobeWind.c b/src/enemy/wizzrobeWind.c index eb01fd0c..b261ee15 100644 --- a/src/enemy/wizzrobeWind.c +++ b/src/enemy/wizzrobeWind.c @@ -8,6 +8,7 @@ #include "collision.h" #include "enemy.h" +#include "projectile.h" #include "object.h" #include "asm.h" #include "sound.h" diff --git a/src/enemyUtils.c b/src/enemyUtils.c index e2356e4f..4abe5b5f 100644 --- a/src/enemyUtils.c +++ b/src/enemyUtils.c @@ -1,16 +1,17 @@ #include "enemyUtils.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "definitions.h" #include "entity.h" #include "object.h" -#include "sound.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "object/deathFx.h" -#include "projectile.h" #include "save.h" #include "vram.h" +#include "color.h" extern void ReplaceMonitoredEntity(Entity*, Entity*); diff --git a/src/enterPortalSubtask.c b/src/enterPortalSubtask.c index ee748dca..15210253 100644 --- a/src/enterPortalSubtask.c +++ b/src/enterPortalSubtask.c @@ -20,6 +20,7 @@ #include "screen.h" #include "subtask.h" #include "affine.h" +#include "fade.h" extern void ClearArmosData(void); extern void sub_080300C4(void); diff --git a/src/entity.c b/src/entity.c index 9e1603d4..0670283f 100644 --- a/src/entity.c +++ b/src/entity.c @@ -9,6 +9,7 @@ #include "room.h" #include "player.h" #include "physics.h" +#include "color.h" typedef struct Temp { void* prev; diff --git a/src/fade.c b/src/fade.c index 8f14b277..94d57cea 100644 --- a/src/fade.c +++ b/src/fade.c @@ -1,3 +1,4 @@ +#include "fade.h" #include "global.h" #include "save.h" #include "vram.h" diff --git a/src/fileselect.c b/src/fileselect.c index 34c13d3a..f920798f 100644 --- a/src/fileselect.c +++ b/src/fileselect.c @@ -25,6 +25,7 @@ #include "ui.h" #include "affine.h" #include "gfx.h" +#include "fade.h" // copy, erase, start #define NUM_FILE_OPERATIONS 3 diff --git a/src/game.c b/src/game.c index da2c4427..7a7fc11d 100644 --- a/src/game.c +++ b/src/game.c @@ -23,6 +23,7 @@ #include "ui.h" #include "beanstalkSubtask.h" #include "pauseMenu.h" +#include "fade.h" // Game task diff --git a/src/gameData.c b/src/gameData.c index c7ed4cf1..09a983e8 100644 --- a/src/gameData.c +++ b/src/gameData.c @@ -1,6 +1,5 @@ // TODO belongs to game.c, but spriteAnimations332.s is before. // maybe also signals code that no longer belongs to game.c? -#include "common.h" #include "flags.h" #include "game.h" #include "item.h" diff --git a/src/interrupts.c b/src/interrupts.c index 14b97384..66c9f7ad 100644 --- a/src/interrupts.c +++ b/src/interrupts.c @@ -12,6 +12,8 @@ #include "sound.h" #include "ui.h" #include "asm.h" +#include "map.h" +#include "fade.h" extern u8 gUnk_03003DE0; extern u8 gUnk_03000C30; diff --git a/src/item/itemPacciCane.c b/src/item/itemPacciCane.c index 41994302..8c8c08e6 100644 --- a/src/item/itemPacciCane.c +++ b/src/item/itemPacciCane.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" #include "item.h" #include "physics.h" #include "playeritem.h" diff --git a/src/item/itemShield.c b/src/item/itemShield.c index 5f358905..74418bd6 100644 --- a/src/item/itemShield.c +++ b/src/item/itemShield.c @@ -1,5 +1,4 @@ #include "global.h" -#include "entity.h" #include "item.h" #include "sound.h" #include "physics.h" diff --git a/src/main.c b/src/main.c index 5260574a..68204fd4 100644 --- a/src/main.c +++ b/src/main.c @@ -12,6 +12,7 @@ #include "save.h" #include "screen.h" #include "sound.h" +#include "fade.h" extern u32 gRand; diff --git a/src/manager/armosInteriorManager.c b/src/manager/armosInteriorManager.c index 392e80ec..0c190d36 100644 --- a/src/manager/armosInteriorManager.c +++ b/src/manager/armosInteriorManager.c @@ -6,7 +6,6 @@ */ #include "manager/armosInteriorManager.h" #include "common.h" -#include "entity.h" #include "flags.h" #include "sound.h" #include "room.h" diff --git a/src/manager/enterRoomTextboxManager.c b/src/manager/enterRoomTextboxManager.c index e9c7d5a4..6e1f012c 100644 --- a/src/manager/enterRoomTextboxManager.c +++ b/src/manager/enterRoomTextboxManager.c @@ -12,6 +12,7 @@ #include "message.h" #include "screen.h" #include "vram.h" +#include "fade.h" const u16 gUnk_08108DE8[] = { 0, 0x70b, 0x70c, 0x70d, 0x70e, 0x70f, 0x710, 0x711, 0x712, 0x713, 0x714, 0x715, 0x716, 0x717, 0x718, 0x719, 0x71a, 0x71b, 0x71c, 0x71d, 0x71e, 0x71f, diff --git a/src/manager/flameManager.c b/src/manager/flameManager.c index 1132dc5a..e7535e63 100644 --- a/src/manager/flameManager.c +++ b/src/manager/flameManager.c @@ -11,6 +11,7 @@ #include "room.h" #include "tiles.h" #include "player.h" +#include "map.h" void FlameManager_Main(FlameManager* this) { if (super->action == 0) { diff --git a/src/manager/manager29.c b/src/manager/manager29.c index ca3cd3a5..29daf9e7 100644 --- a/src/manager/manager29.c +++ b/src/manager/manager29.c @@ -9,6 +9,7 @@ #include "flags.h" #include "room.h" #include "player.h" +#include "map.h" bool32 sub_0805CF80(Manager29* this); void sub_0805CBD0(Manager29* this); diff --git a/src/manager/rollingBarrelManager.c b/src/manager/rollingBarrelManager.c index cf42b5e7..11320d40 100644 --- a/src/manager/rollingBarrelManager.c +++ b/src/manager/rollingBarrelManager.c @@ -16,6 +16,7 @@ #include "sound.h" #include "game.h" #include "asm.h" +#include "fade.h" extern struct BgAffineDstData gUnk_02017AA0[]; extern struct BgAffineDstData gUnk_02017BA0[]; diff --git a/src/manager/templeOfDropletsManager.c b/src/manager/templeOfDropletsManager.c index 12e523a4..fc8309df 100644 --- a/src/manager/templeOfDropletsManager.c +++ b/src/manager/templeOfDropletsManager.c @@ -7,8 +7,8 @@ #include "manager/templeOfDropletsManager.h" #include "enemy.h" #include "flags.h" -#include "object.h" #include "common.h" +#include "object.h" #include "room.h" #include "player.h" #include "screen.h" diff --git a/src/manager/tileChangeObserveManager.c b/src/manager/tileChangeObserveManager.c index 08b46b14..e24a8787 100644 --- a/src/manager/tileChangeObserveManager.c +++ b/src/manager/tileChangeObserveManager.c @@ -10,6 +10,7 @@ #include "manager/tileChangeObserveManager.h" #include "flags.h" #include "room.h" +#include "map.h" void TileChangeObserveManager_Init(TileChangeObserveManager*); void TileChangeObserveManager_Action1(TileChangeObserveManager*); diff --git a/src/manager/vaati3InsideArmManager.c b/src/manager/vaati3InsideArmManager.c index 2f89d2ce..a5f1eaed 100644 --- a/src/manager/vaati3InsideArmManager.c +++ b/src/manager/vaati3InsideArmManager.c @@ -6,6 +6,7 @@ */ #include "manager/vaati3InsideArmManager.h" #include "screenTransitions.h" +#include "room.h" #include "sound.h" void sub_0805DBF0(Vaati3InsideArmManager*); diff --git a/src/manager/vaati3StartManager.c b/src/manager/vaati3StartManager.c index 8804a640..27fc8b9b 100644 --- a/src/manager/vaati3StartManager.c +++ b/src/manager/vaati3StartManager.c @@ -12,10 +12,10 @@ #include "object.h" #include "room.h" #include "player.h" -#include "screen.h" #include "screenTransitions.h" #include "sound.h" #include "scroll.h" +#include "fade.h" #if !defined(EU) && !defined(JP) #include "save.h" #endif diff --git a/src/manager/waterfallBottomManager.c b/src/manager/waterfallBottomManager.c index 47000615..9fb68714 100644 --- a/src/manager/waterfallBottomManager.c +++ b/src/manager/waterfallBottomManager.c @@ -10,6 +10,7 @@ #include "player.h" #include "tiles.h" #include "room.h" +#include "map.h" void WaterfallBottomManager_Main(WaterfallBottomManager* this) { SetTile(SPECIAL_TILE_20, TILE_POS(3, 23), LAYER_BOTTOM); diff --git a/src/manager/weatherChangeManager.c b/src/manager/weatherChangeManager.c index 53156fef..92b1edb5 100644 --- a/src/manager/weatherChangeManager.c +++ b/src/manager/weatherChangeManager.c @@ -15,6 +15,7 @@ #include "game.h" #include "manager/staticBackgroundManager.h" #include "player.h" +#include "fade.h" void WeatherChangeManager_OnEnterRoom(WeatherChangeManager*); void sub_08059608(WeatherChangeManager*); diff --git a/src/menu/figurineMenu.c b/src/menu/figurineMenu.c index a15668bb..881dc803 100644 --- a/src/menu/figurineMenu.c +++ b/src/menu/figurineMenu.c @@ -23,6 +23,7 @@ #include "ui.h" #include "affine.h" #include "pauseMenu.h" +#include "fade.h" void sub_080A4DA8(u32); void sub_080A4B44(void); diff --git a/src/menu/kinstoneMenu.c b/src/menu/kinstoneMenu.c index a50b5460..bac34a14 100644 --- a/src/menu/kinstoneMenu.c +++ b/src/menu/kinstoneMenu.c @@ -7,6 +7,8 @@ #include "area.h" #include "common.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "flags.h" #include "kinstone.h" #include "main.h" @@ -20,10 +22,10 @@ #include "roomid.h" #include "save.h" #include "screen.h" -#include "sound.h" #include "subtask.h" #include "ui.h" #include "affine.h" +#include "fade.h" extern u32 sub_08000E44(u32); extern void sub_080A3B74(void); diff --git a/src/menu/pauseMenu.c b/src/menu/pauseMenu.c index e6b0a5ec..413b93b9 100644 --- a/src/menu/pauseMenu.c +++ b/src/menu/pauseMenu.c @@ -20,6 +20,7 @@ #include "subtask.h" #include "ui.h" #include "affine.h" +#include "fade.h" extern void sub_080A4DB8(u32); diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 61c44d20..0f3237cd 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -17,6 +17,7 @@ #include "sound.h" #include "asm.h" #include "physics.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index 41d97d4e..ffdf7c41 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -17,6 +17,7 @@ #include "script.h" #include "sound.h" #include "effects.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/castorWildsStatue.c b/src/npc/castorWildsStatue.c index dd4db86d..911fc0c5 100644 --- a/src/npc/castorWildsStatue.c +++ b/src/npc/castorWildsStatue.c @@ -16,6 +16,8 @@ #include "vram.h" #include "room.h" #include "player.h" +#include "color.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/cat.c b/src/npc/cat.c index 4d44c978..9815e8e1 100644 --- a/src/npc/cat.c +++ b/src/npc/cat.c @@ -5,6 +5,7 @@ * @brief Cat NPC */ #include "enemy.h" +#include "sound.h" #include "entity.h" #include "message.h" #include "npc.h" diff --git a/src/npc/emma.c b/src/npc/emma.c index fa22a81d..7e7cdb3c 100644 --- a/src/npc/emma.c +++ b/src/npc/emma.c @@ -6,6 +6,7 @@ */ #include "entity.h" #include "screenTransitions.h" +#include "room.h" #include "script.h" void Emma(Entity* this) { diff --git a/src/npc/gregal.c b/src/npc/gregal.c index 48cc43aa..a6706d75 100644 --- a/src/npc/gregal.c +++ b/src/npc/gregal.c @@ -9,6 +9,7 @@ #include "script.h" #include "player.h" #include "physics.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/kid.c b/src/npc/kid.c index 766d5814..44f65647 100644 --- a/src/npc/kid.c +++ b/src/npc/kid.c @@ -14,6 +14,7 @@ #include "manager.h" #include "structures.h" #include "physics.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/npc/npc5.c b/src/npc/npc5.c index 787bb16f..e5219081 100644 --- a/src/npc/npc5.c +++ b/src/npc/npc5.c @@ -15,6 +15,7 @@ #include "asm.h" #include "room.h" #include "player.h" +#include "map.h" #define kFollowDistance 32 // distance to follow player #define kPoiDistance 4 // point of interest distance diff --git a/src/npc/simon.c b/src/npc/simon.c index ddce95ea..783aeb31 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -9,11 +9,11 @@ #include "object.h" #include "effects.h" #include "room.h" -#include "screen.h" #include "screenTransitions.h" #include "script.h" #include "sound.h" #include "tiles.h" +#include "fade.h" typedef struct { u8 filler[4]; diff --git a/src/npc/vaatiReborn.c b/src/npc/vaatiReborn.c index ffee2a4c..a699702c 100644 --- a/src/npc/vaatiReborn.c +++ b/src/npc/vaatiReborn.c @@ -5,6 +5,7 @@ * @brief Vaati Reborn NPC */ #include "npc.h" +#include "color.h" #include "sound.h" #include "flags.h" #include "message.h" diff --git a/src/npc/zelda.c b/src/npc/zelda.c index 49a269bc..f5a93fa3 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -15,6 +15,7 @@ #include "asm.h" #include "room.h" #include "player.h" +#include "map.h" void ZeldaFollower_Hide(Entity*, Entity*); void ZeldaFollower_Show(Entity*, Entity*); diff --git a/src/npcDefinitions.c b/src/npcDefinitions.c index b6db7f31..7bc178a2 100644 --- a/src/npcDefinitions.c +++ b/src/npcDefinitions.c @@ -1,4 +1,3 @@ -#include "entity.h" #include "definitions.h" // TODO deduplicate using sprite indices enum diff --git a/src/npcUtils.c b/src/npcUtils.c index e5a5318c..d4fd6839 100644 --- a/src/npcUtils.c +++ b/src/npcUtils.c @@ -11,6 +11,7 @@ #include "flags.h" #include "common.h" #include "vram.h" +#include "color.h" extern const NPCDefinition gNPCDefinitions[]; diff --git a/src/object/ambientClouds.c b/src/object/ambientClouds.c index 8277b138..cd607cbc 100644 --- a/src/object/ambientClouds.c +++ b/src/object/ambientClouds.c @@ -10,6 +10,7 @@ #include "object.h" #include "player.h" #include "script.h" +#include "color.h" void AmbientClouds_Init(Entity* this); void AmbientClouds_Action1(Entity* this); diff --git a/src/object/beanstalk.c b/src/object/beanstalk.c index 0b70aa06..b0815ad0 100644 --- a/src/object/beanstalk.c +++ b/src/object/beanstalk.c @@ -12,6 +12,7 @@ #include "player.h" #include "tiles.h" #include "vram.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/bush.c b/src/object/bush.c index bd9c3a37..fb142371 100644 --- a/src/object/bush.c +++ b/src/object/bush.c @@ -4,7 +4,6 @@ * * @brief Bush object */ -#include "hitbox.h" #include "object.h" #include "asm.h" #include "effects.h" diff --git a/src/object/button.c b/src/object/button.c index e223f28c..a2967cac 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -12,6 +12,7 @@ #include "effects.h" #include "room.h" #include "player.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/chuchuBossStartParticle.c b/src/object/chuchuBossStartParticle.c index 312b5839..00469edd 100644 --- a/src/object/chuchuBossStartParticle.c +++ b/src/object/chuchuBossStartParticle.c @@ -10,6 +10,7 @@ #include "room.h" #include "physics.h" #include "player.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/cuccoMinigame.c b/src/object/cuccoMinigame.c index 2b0d400e..887a1022 100644 --- a/src/object/cuccoMinigame.c +++ b/src/object/cuccoMinigame.c @@ -6,18 +6,19 @@ * @brief Cucco Minigame object */ #include "enemy.h" +#include "sound.h" +#include "flags.h" +#include "common.h" #include "entity.h" #include "fileselect.h" #include "item.h" #include "npc.h" #include "object.h" -#include "common.h" -#include "sound.h" -#include "flags.h" #include "room.h" #include "player.h" #include "script.h" #include "tiles.h" +#include "map.h" typedef struct { Entity base; diff --git a/src/object/cutsceneMiscObject.c b/src/object/cutsceneMiscObject.c index d8ac6be7..4d052dfe 100644 --- a/src/object/cutsceneMiscObject.c +++ b/src/object/cutsceneMiscObject.c @@ -17,10 +17,11 @@ #include "room.h" #include "physics.h" #include "player.h" -#include "screen.h" #include "scroll.h" #include "script.h" #include "tiles.h" +#include "color.h" +#include "fade.h" extern u8 gUnk_08122AE0[]; extern u16 gUnk_08122AE8[]; diff --git a/src/object/deathFx.c b/src/object/deathFx.c index a752fb53..779a2f5e 100644 --- a/src/object/deathFx.c +++ b/src/object/deathFx.c @@ -6,11 +6,11 @@ */ #include "object/deathFx.h" #include "enemy.h" +#include "sound.h" #include "entity.h" #include "item.h" #include "physics.h" #include "global.h" -#include "sound.h" #include "vram.h" void sub_08081790(DeathFxObject* this); diff --git a/src/object/dirtParticle.c b/src/object/dirtParticle.c index 1a038be5..f4e80932 100644 --- a/src/object/dirtParticle.c +++ b/src/object/dirtParticle.c @@ -8,6 +8,7 @@ #include "asm.h" #include "physics.h" #include "player.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/doubleBookshelf.c b/src/object/doubleBookshelf.c index 48fc4dcd..b0b706d5 100644 --- a/src/object/doubleBookshelf.c +++ b/src/object/doubleBookshelf.c @@ -12,6 +12,7 @@ #include "physics.h" #include "player.h" #include "tiles.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/fan.c b/src/object/fan.c index 1d184cf6..2f496c27 100644 --- a/src/object/fan.c +++ b/src/object/fan.c @@ -10,9 +10,9 @@ #include "asm.h" #include "object.h" #include "sound.h" -#include "room.h" #include "physics.h" #include "player.h" +#include "map.h" typedef struct { Entity base; diff --git a/src/object/fanWind.c b/src/object/fanWind.c index 631f3936..b5509bb9 100644 --- a/src/object/fanWind.c +++ b/src/object/fanWind.c @@ -6,8 +6,8 @@ */ #include "collision.h" #include "entity.h" -#include "room.h" #include "physics.h" +#include "map.h" void FanWind(Entity* this) { u8* collisionData; diff --git a/src/object/figurineDevice.c b/src/object/figurineDevice.c index 7bdf0124..b38571f0 100644 --- a/src/object/figurineDevice.c +++ b/src/object/figurineDevice.c @@ -20,6 +20,7 @@ #include "screen.h" #include "tiles.h" #include "subtask.h" +#include "color.h" #ifndef EU #include "script.h" #endif diff --git a/src/object/fourElements.c b/src/object/fourElements.c index 9e88cb0d..f163ee79 100644 --- a/src/object/fourElements.c +++ b/src/object/fourElements.c @@ -15,6 +15,7 @@ #include "scroll.h" #include "manager/lightManager.h" #include "script.h" +#include "fade.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/frozenOctorok.c b/src/object/frozenOctorok.c index b9d04b1c..b7d2a2a9 100644 --- a/src/object/frozenOctorok.c +++ b/src/object/frozenOctorok.c @@ -15,6 +15,7 @@ #include "physics.h" #include "player.h" #include "vram.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/furniture.c b/src/object/furniture.c index c8ff8961..5ebf750d 100644 --- a/src/object/furniture.c +++ b/src/object/furniture.c @@ -11,6 +11,8 @@ #include "physics.h" #include "player.h" #include "tiles.h" +#include "color.h" +#include "map.h" enum { FURNITURE_INIT, diff --git a/src/object/gentariCurtain.c b/src/object/gentariCurtain.c index 65506287..9607058b 100644 --- a/src/object/gentariCurtain.c +++ b/src/object/gentariCurtain.c @@ -10,6 +10,7 @@ #include "object.h" #include "room.h" #include "tiles.h" +#include "map.h" typedef struct { Entity base; diff --git a/src/object/giantTwig.c b/src/object/giantTwig.c index eead81c1..92fcdbc1 100644 --- a/src/object/giantTwig.c +++ b/src/object/giantTwig.c @@ -10,6 +10,8 @@ #include "physics.h" #include "player.h" #include "tiles.h" +#include "color.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index 366dff46..27440aa2 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -15,6 +15,7 @@ #include "save.h" #include "screen.h" #include "script.h" +#include "fade.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/gyorgBossObject.c b/src/object/gyorgBossObject.c index c32f6770..3704d70b 100644 --- a/src/object/gyorgBossObject.c +++ b/src/object/gyorgBossObject.c @@ -18,6 +18,7 @@ #include "screen.h" #include "screenTransitions.h" #include "scroll.h" +#include "fade.h" #ifndef EU #include "area.h" #endif diff --git a/src/object/kinstoneSpark.c b/src/object/kinstoneSpark.c index afc05722..7b359ee0 100644 --- a/src/object/kinstoneSpark.c +++ b/src/object/kinstoneSpark.c @@ -9,6 +9,7 @@ #include "object.h" #include "asm.h" #include "sound.h" +#include "color.h" void sub_080A0ADC(Entity*); void sub_080A0AF0(Entity*); diff --git a/src/object/lightRay.c b/src/object/lightRay.c index 6ad499d3..1e4c53eb 100644 --- a/src/object/lightRay.c +++ b/src/object/lightRay.c @@ -10,6 +10,7 @@ #include "room.h" #include "player.h" #include "screen.h" +#include "fade.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/lockedDoor.c b/src/object/lockedDoor.c index 5eaee228..02b7614c 100644 --- a/src/object/lockedDoor.c +++ b/src/object/lockedDoor.c @@ -17,6 +17,7 @@ #include "tiles.h" #include "vram.h" #include "player.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/macroBook.c b/src/object/macroBook.c index 10270a6c..2d14e0b5 100644 --- a/src/object/macroBook.c +++ b/src/object/macroBook.c @@ -11,6 +11,7 @@ #include "npc.h" #include "tiles.h" #include "room.h" +#include "map.h" typedef struct { Entity base; diff --git a/src/object/macroDecorations.c b/src/object/macroDecorations.c index 457dce52..9e124c33 100644 --- a/src/object/macroDecorations.c +++ b/src/object/macroDecorations.c @@ -9,6 +9,7 @@ #include "map.h" #include "room.h" #include "tiles.h" +#include "color.h" typedef struct { Entity base; diff --git a/src/object/macroPlayer.c b/src/object/macroPlayer.c index 80218ced..270e648f 100644 --- a/src/object/macroPlayer.c +++ b/src/object/macroPlayer.c @@ -12,6 +12,7 @@ #include "physics.h" #include "player.h" #include "beanstalkSubtask.h" +#include "color.h" typedef struct { Entity base; diff --git a/src/object/mask.c b/src/object/mask.c index 284c5c1f..0c961656 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -13,6 +13,7 @@ #include "player.h" #include "tiles.h" #include "item.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/mazaalBossObject.c b/src/object/mazaalBossObject.c index 1a487226..f668bb52 100644 --- a/src/object/mazaalBossObject.c +++ b/src/object/mazaalBossObject.c @@ -5,16 +5,17 @@ * @brief Mazaal Boss object */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "flags.h" #include "item.h" #include "object.h" -#include "flags.h" #include "physics.h" #include "player.h" #include "room.h" #include "screen.h" #include "scroll.h" #include "script.h" -#include "sound.h" extern u16 script_MazaalBossObjectMazaal[]; diff --git a/src/object/minishPortalCloseup.c b/src/object/minishPortalCloseup.c index 2b224c83..33308043 100644 --- a/src/object/minishPortalCloseup.c +++ b/src/object/minishPortalCloseup.c @@ -10,6 +10,7 @@ #include "common.h" #include "room.h" #include "screen.h" +#include "fade.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/minishVillageObject.c b/src/object/minishVillageObject.c index c42a598c..9c3330a7 100644 --- a/src/object/minishVillageObject.c +++ b/src/object/minishVillageObject.c @@ -12,6 +12,8 @@ #include "room.h" #include "screen.h" #include "tiles.h" +#include "color.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/moleMittsParticle.c b/src/object/moleMittsParticle.c index 1d243967..a124887a 100644 --- a/src/object/moleMittsParticle.c +++ b/src/object/moleMittsParticle.c @@ -9,6 +9,7 @@ #include "room.h" #include "player.h" #include "item.h" +#include "color.h" void MoleMittsParticle_Init(Entity*); void MoleMittsParticle_Action1(Entity*); diff --git a/src/object/object30.c b/src/object/object30.c index 8b4290a0..fc145a17 100644 --- a/src/object/object30.c +++ b/src/object/object30.c @@ -8,8 +8,8 @@ #include "item.h" #include "object.h" #include "asm.h" -#include "room.h" #include "scroll.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/object37.c b/src/object/object37.c index 14d3d89f..c6f87a1a 100644 --- a/src/object/object37.c +++ b/src/object/object37.c @@ -6,10 +6,10 @@ */ #include "object.h" #include "asm.h" -#include "room.h" #include "player.h" #include "item.h" #include "save.h" +#include "map.h" typedef struct { Entity base; diff --git a/src/object/objectA2.c b/src/object/objectA2.c index f6e3c473..39372890 100644 --- a/src/object/objectA2.c +++ b/src/object/objectA2.c @@ -10,7 +10,10 @@ #include "sound.h" #include "effects.h" #include "physics.h" +#include "color.h" +#ifndef EU #include "save.h" +#endif void ObjectA2_Init(Entity*); void ObjectA2_Action1(Entity*); diff --git a/src/object/octorokBossObject.c b/src/object/octorokBossObject.c index 39dc5cf4..503403d2 100644 --- a/src/object/octorokBossObject.c +++ b/src/object/octorokBossObject.c @@ -7,10 +7,7 @@ #include "game.h" #include "object.h" #include "asm.h" -#include "common.h" #include "sound.h" -#include "flags.h" -#include "effects.h" #include "room.h" #include "physics.h" #include "player.h" diff --git a/src/object/pinwheel.c b/src/object/pinwheel.c index cb9a0478..dc69967e 100644 --- a/src/object/pinwheel.c +++ b/src/object/pinwheel.c @@ -7,14 +7,7 @@ #include "entity.h" #include "flags.h" #include "object.h" -#include "asm.h" -#include "common.h" -#include "sound.h" -#include "flags.h" #include "effects.h" -#include "room.h" -#include "physics.h" -#include "player.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/pullableMushroom.c b/src/object/pullableMushroom.c index f8136808..bd674d2c 100644 --- a/src/object/pullableMushroom.c +++ b/src/object/pullableMushroom.c @@ -13,6 +13,7 @@ #include "physics.h" #include "player.h" #include "tiles.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/pushableFurniture.c b/src/object/pushableFurniture.c index 28e1f6bf..f869c62d 100644 --- a/src/object/pushableFurniture.c +++ b/src/object/pushableFurniture.c @@ -13,6 +13,7 @@ #include "room.h" #include "player.h" #include "physics.h" +#include "map.h" extern const s16 gUnk_080B4488[]; diff --git a/src/object/railtrack.c b/src/object/railtrack.c index 2456f4c1..3639f929 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -10,6 +10,7 @@ #include "room.h" #include "sound.h" #include "tiles.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/vaati3PlayerObject.c b/src/object/vaati3PlayerObject.c index 6420cbab..5a7980e0 100644 --- a/src/object/vaati3PlayerObject.c +++ b/src/object/vaati3PlayerObject.c @@ -7,7 +7,9 @@ #include "entity.h" #include "physics.h" #include "player.h" +#ifndef EU #include "room.h" +#endif void Vaati3PlayerObject(Entity* this) { if (this->action == 0) { diff --git a/src/object/waterfallOpening.c b/src/object/waterfallOpening.c index a3986be0..f6f02a3f 100644 --- a/src/object/waterfallOpening.c +++ b/src/object/waterfallOpening.c @@ -11,6 +11,7 @@ #include "sound.h" #include "tiles.h" #include "vram.h" +#include "map.h" typedef struct { Entity base; diff --git a/src/object/well.c b/src/object/well.c index 9fa5860d..082ba849 100644 --- a/src/object/well.c +++ b/src/object/well.c @@ -9,6 +9,7 @@ #include "player.h" #include "room.h" #include "tiles.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/object/whirlwind.c b/src/object/whirlwind.c index 16dca27d..218ee28b 100644 --- a/src/object/whirlwind.c +++ b/src/object/whirlwind.c @@ -13,6 +13,7 @@ #include "flags.h" #include "physics.h" #include "player.h" +#include "color.h" void Whirlwind_Init(Entity*); void Whirlwind_Action1(Entity*); diff --git a/src/objectUtils.c b/src/objectUtils.c index 3e589d2e..965b0437 100644 --- a/src/objectUtils.c +++ b/src/objectUtils.c @@ -10,6 +10,7 @@ #include "vram.h" #include "object/linkAnimation.h" #include "object/itemOnGround.h" +#include "color.h" extern const Hitbox* const gObjectHitboxes[]; diff --git a/src/player.c b/src/player.c index c8b5d6c7..e1cba46b 100644 --- a/src/player.c +++ b/src/player.c @@ -24,13 +24,13 @@ #include "playeritem.h" #include "playerItem/playerItemBottle.h" #include "save.h" -#include "screen.h" #include "screenTransitions.h" #include "scroll.h" #include "sound.h" #include "tiles.h" #include "ui.h" #include "pauseMenu.h" +#include "fade.h" #define kGravityRate Q_8_8(32) #define kWalkSpeedSlopeSubtractor Q_8_8(0.3125) diff --git a/src/playerItem/playerItemSwordBeam.c b/src/playerItem/playerItemSwordBeam.c index 8d04528b..e538407e 100644 --- a/src/playerItem/playerItemSwordBeam.c +++ b/src/playerItem/playerItemSwordBeam.c @@ -14,6 +14,7 @@ #include "sound.h" #include "object.h" #include "room.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/playerItemDefinitions.c b/src/playerItemDefinitions.c index 1eaaff4c..c944cae5 100644 --- a/src/playerItemDefinitions.c +++ b/src/playerItemDefinitions.c @@ -1,4 +1,3 @@ -#include "entity.h" #include "definitions.h" #define MULTI_FORM(index, unk) \ diff --git a/src/playerUtils.c b/src/playerUtils.c index c93f1fb9..b417ff74 100644 --- a/src/playerUtils.c +++ b/src/playerUtils.c @@ -28,6 +28,7 @@ #include "backgroundAnimations.h" #include "itemDefinitions.h" #include "ui.h" +#include "fade.h" static void sub_08077E54(ItemBehavior* this); diff --git a/src/projectile/arrowProjectile.c b/src/projectile/arrowProjectile.c index cf39a80c..eeba0cf0 100644 --- a/src/projectile/arrowProjectile.c +++ b/src/projectile/arrowProjectile.c @@ -6,14 +6,13 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "object.h" #include "asm.h" - -#include "sound.h" -#include "effects.h" #include "physics.h" - #include "player.h" extern void (*const ArrowProjectile_Functions[])(Entity*); diff --git a/src/projectile/boneProjectile.c b/src/projectile/boneProjectile.c index 7902f3e6..c15e3da7 100644 --- a/src/projectile/boneProjectile.c +++ b/src/projectile/boneProjectile.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "script.h" diff --git a/src/projectile/cannonballProjectile.c b/src/projectile/cannonballProjectile.c index 9c198811..8e52b1df 100644 --- a/src/projectile/cannonballProjectile.c +++ b/src/projectile/cannonballProjectile.c @@ -6,6 +6,8 @@ */ #include "collision.h" #include "enemy.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "asm.h" diff --git a/src/projectile/dekuSeedProjectile.c b/src/projectile/dekuSeedProjectile.c index 6e3c5acc..326e4ad1 100644 --- a/src/projectile/dekuSeedProjectile.c +++ b/src/projectile/dekuSeedProjectile.c @@ -6,6 +6,9 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "flags.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "script.h" diff --git a/src/projectile/dirtBallProjectile.c b/src/projectile/dirtBallProjectile.c index 2aeb8755..06690e5f 100644 --- a/src/projectile/dirtBallProjectile.c +++ b/src/projectile/dirtBallProjectile.c @@ -5,10 +5,12 @@ * @brief Dirt Ball Projectile */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "player.h" -#include "sound.h" #include "asm.h" typedef struct { diff --git a/src/projectile/fireProjectile.c b/src/projectile/fireProjectile.c index 5dbe969b..c121411a 100644 --- a/src/projectile/fireProjectile.c +++ b/src/projectile/fireProjectile.c @@ -5,6 +5,8 @@ * @brief Fire Projectile */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "script.h" diff --git a/src/projectile/gleerokProjectile.c b/src/projectile/gleerokProjectile.c index 28de350b..223d05ce 100644 --- a/src/projectile/gleerokProjectile.c +++ b/src/projectile/gleerokProjectile.c @@ -5,6 +5,8 @@ * @brief Gleerok Projectile */ #include "enemy.h" +#include "sound.h" +#include "effects.h" #include "entity.h" #include "player.h" #include "room.h" diff --git a/src/projectile/guardLineOfSight.c b/src/projectile/guardLineOfSight.c index caadc900..6ac4146c 100644 --- a/src/projectile/guardLineOfSight.c +++ b/src/projectile/guardLineOfSight.c @@ -7,10 +7,10 @@ #include "asm.h" #include "collision.h" #include "entity.h" -#include "room.h" #include "hitbox.h" #include "physics.h" #include "projectile.h" +#include "map.h" extern u32 sub_080644C8(Entity*); diff --git a/src/projectile/gyorgMaleEnergyProjectile.c b/src/projectile/gyorgMaleEnergyProjectile.c index 73556f7e..c5d91c8c 100644 --- a/src/projectile/gyorgMaleEnergyProjectile.c +++ b/src/projectile/gyorgMaleEnergyProjectile.c @@ -5,6 +5,8 @@ * @brief Gyorg Male Energy Projectile */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/iceProjectile.c b/src/projectile/iceProjectile.c index 02191bd9..41031cfb 100644 --- a/src/projectile/iceProjectile.c +++ b/src/projectile/iceProjectile.c @@ -5,6 +5,8 @@ * @brief Ice Projectile */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "script.h" diff --git a/src/projectile/lakituCloudProjectile.c b/src/projectile/lakituCloudProjectile.c index d7284203..ec6d6b88 100644 --- a/src/projectile/lakituCloudProjectile.c +++ b/src/projectile/lakituCloudProjectile.c @@ -5,6 +5,9 @@ * @brief Lakitu Cloud Projectile */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "player.h" #include "physics.h" diff --git a/src/projectile/lakituLightning.c b/src/projectile/lakituLightning.c index 912ce722..78536197 100644 --- a/src/projectile/lakituLightning.c +++ b/src/projectile/lakituLightning.c @@ -6,6 +6,8 @@ */ #include "collision.h" #include "enemy.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" diff --git a/src/projectile/mandiblesProjectile.c b/src/projectile/mandiblesProjectile.c index 5f06db16..29a9507c 100644 --- a/src/projectile/mandiblesProjectile.c +++ b/src/projectile/mandiblesProjectile.c @@ -5,6 +5,7 @@ * @brief Mandibles Projectile */ #include "enemy.h" +#include "sound.h" #include "entity.h" #include "room.h" #include "hitbox.h" diff --git a/src/projectile/moblinSpear.c b/src/projectile/moblinSpear.c index 2e58a091..a89eba94 100644 --- a/src/projectile/moblinSpear.c +++ b/src/projectile/moblinSpear.c @@ -5,6 +5,8 @@ * @brief Moblin Spear Projectile */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "physics.h" diff --git a/src/projectile/octorokBossProjectile.c b/src/projectile/octorokBossProjectile.c index a295a9ea..5c7dea7e 100644 --- a/src/projectile/octorokBossProjectile.c +++ b/src/projectile/octorokBossProjectile.c @@ -6,9 +6,11 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" -#include "projectile.h" #include "player.h" #include "asm.h" diff --git a/src/projectile/projectile5.c b/src/projectile/projectile5.c index f84d2a7b..f1895384 100644 --- a/src/projectile/projectile5.c +++ b/src/projectile/projectile5.c @@ -6,6 +6,7 @@ */ #include "asm.h" #include "enemy.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/removableDust.c b/src/projectile/removableDust.c index c5617a61..d5ccd5f4 100644 --- a/src/projectile/removableDust.c +++ b/src/projectile/removableDust.c @@ -5,11 +5,12 @@ * @brief Removable Dust Projectile */ #include "enemy.h" +#include "sound.h" +#include "flags.h" +#include "common.h" #include "entity.h" #include "object.h" #include "asm.h" -#include "common.h" -#include "flags.h" #include "player.h" #include "physics.h" #include "room.h" diff --git a/src/projectile/rockProjectile.c b/src/projectile/rockProjectile.c index aa88fd1e..b7888f58 100644 --- a/src/projectile/rockProjectile.c +++ b/src/projectile/rockProjectile.c @@ -5,6 +5,8 @@ * @brief Rock Projectile */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "script.h" diff --git a/src/projectile/stalfosProjectile.c b/src/projectile/stalfosProjectile.c index dd6a0bd5..24f9b6d4 100644 --- a/src/projectile/stalfosProjectile.c +++ b/src/projectile/stalfosProjectile.c @@ -5,6 +5,9 @@ * @brief Stalfos Projectile */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "asm.h" diff --git a/src/projectile/torchTrapProjectile.c b/src/projectile/torchTrapProjectile.c index b007037f..ee472563 100644 --- a/src/projectile/torchTrapProjectile.c +++ b/src/projectile/torchTrapProjectile.c @@ -6,6 +6,7 @@ */ #include "collision.h" #include "enemy.h" +#include "projectile.h" #include "physics.h" extern void (*const TorchTrapProjectile_Functions[])(Entity*); diff --git a/src/projectile/v1DarkMagicProjectile.c b/src/projectile/v1DarkMagicProjectile.c index 73d10a11..b0a95ad3 100644 --- a/src/projectile/v1DarkMagicProjectile.c +++ b/src/projectile/v1DarkMagicProjectile.c @@ -5,10 +5,14 @@ * @brief V1 Dark Magic Projectile */ #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "player.h" #include "asm.h" +#include "color.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/v1FireProjectile.c b/src/projectile/v1FireProjectile.c index c5ce71b0..66a30bb4 100644 --- a/src/projectile/v1FireProjectile.c +++ b/src/projectile/v1FireProjectile.c @@ -5,6 +5,7 @@ * @brief V1 Fire Projectile */ #include "enemy.h" +#include "sound.h" #include "entity.h" #include "player.h" #include "room.h" diff --git a/src/projectile/v2Projectile.c b/src/projectile/v2Projectile.c index fa77b2a6..9223dedd 100644 --- a/src/projectile/v2Projectile.c +++ b/src/projectile/v2Projectile.c @@ -14,6 +14,8 @@ #include "physics.h" #include "player.h" #include "tiles.h" +#include "color.h" +#include "map.h" typedef struct { /*0x00*/ Entity base; diff --git a/src/projectile/v3ElectricProjectile.c b/src/projectile/v3ElectricProjectile.c index e3e5f070..539792b2 100644 --- a/src/projectile/v3ElectricProjectile.c +++ b/src/projectile/v3ElectricProjectile.c @@ -6,6 +6,8 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/v3HandProjectile.c b/src/projectile/v3HandProjectile.c index b60057c4..b896a9db 100644 --- a/src/projectile/v3HandProjectile.c +++ b/src/projectile/v3HandProjectile.c @@ -6,6 +6,8 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "physics.h" #include "player.h" diff --git a/src/projectile/v3TennisBallProjectile.c b/src/projectile/v3TennisBallProjectile.c index b6be41f3..0456d5cd 100644 --- a/src/projectile/v3TennisBallProjectile.c +++ b/src/projectile/v3TennisBallProjectile.c @@ -6,6 +6,9 @@ */ #include "collision.h" #include "enemy.h" +#include "sound.h" +#include "effects.h" +#include "projectile.h" #include "entity.h" #include "physics.h" diff --git a/src/projectile/windProjectile.c b/src/projectile/windProjectile.c index 5f294a3d..3e97e606 100644 --- a/src/projectile/windProjectile.c +++ b/src/projectile/windProjectile.c @@ -5,6 +5,8 @@ * @brief Wind Projectile */ #include "enemy.h" +#include "sound.h" +#include "projectile.h" #include "entity.h" #include "physics.h" #include "script.h" diff --git a/src/projectile/winder.c b/src/projectile/winder.c index 032df7e5..aac4bba7 100644 --- a/src/projectile/winder.c +++ b/src/projectile/winder.c @@ -12,6 +12,7 @@ #include "physics.h" #include "projectile.h" #include "room.h" +#include "map.h" extern s16 gUnk_080B4488[]; diff --git a/src/projectileUtils.c b/src/projectileUtils.c index 5eebb291..79154830 100644 --- a/src/projectileUtils.c +++ b/src/projectileUtils.c @@ -2,6 +2,7 @@ #include "definitions.h" #include "vram.h" #include "room.h" +#include "color.h" extern const ProjectileDefinition gProjectileDefinitions[]; diff --git a/src/room.c b/src/room.c index 61c2c707..fd039c6e 100644 --- a/src/room.c +++ b/src/room.c @@ -3,14 +3,13 @@ #include "area.h" #include "common.h" #include "enemy.h" +#include "effects.h" #include "flags.h" #include "script.h" #include "game.h" #include "manager/bombableWallManager.h" #include "map.h" #include "object.h" -#include "asm.h" -#include "effects.h" #include "room.h" #include "tiles.h" diff --git a/src/roomInit.c b/src/roomInit.c index 68e812e8..4db08d58 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -29,6 +29,7 @@ #include "scroll.h" #include "subtask.h" #include "beanstalkSubtask.h" +#include "fade.h" extern u32 sub_08060354(void); extern void MinishVillageTileSetManger_LoadInitialGfxGroup(void); diff --git a/src/save.c b/src/save.c index b638d73e..9b58b364 100644 --- a/src/save.c +++ b/src/save.c @@ -3,7 +3,6 @@ #include "sound.h" #include "menu.h" #include "main.h" -#include "game.h" #include "fileselect.h" typedef struct SaveFileStatus { diff --git a/src/script.c b/src/script.c index 084665ee..a9c1271a 100644 --- a/src/script.c +++ b/src/script.c @@ -13,13 +13,13 @@ #include "room.h" #include "physics.h" #include "player.h" -#include "screen.h" #include "scroll.h" #include "script.h" #include "ui.h" #include "save.h" #include "subtask.h" #include "pauseMenu.h" +#include "fade.h" void InitScriptExecutionContext(ScriptExecutionContext* context, Script* script); void sub_0807DE80(Entity*); diff --git a/src/staffroll.c b/src/staffroll.c index 169c52ac..f0354a95 100644 --- a/src/staffroll.c +++ b/src/staffroll.c @@ -15,6 +15,7 @@ #include "screen.h" #include "subtask.h" #include "sound.h" +#include "fade.h" typedef struct { /*0x00*/ Menu base; diff --git a/src/subtask.c b/src/subtask.c index 974002fe..61a40f79 100644 --- a/src/subtask.c +++ b/src/subtask.c @@ -11,6 +11,7 @@ #include "windcrest.h" #include "affine.h" #include "beanstalkSubtask.h" +#include "fade.h" extern Screen gUnk_03001020; extern u8 gPaletteBufferBackup[]; diff --git a/src/subtask/subtaskAuxCutscene.c b/src/subtask/subtaskAuxCutscene.c index ac585965..2297e727 100644 --- a/src/subtask/subtaskAuxCutscene.c +++ b/src/subtask/subtaskAuxCutscene.c @@ -15,6 +15,7 @@ #include "sound.h" #include "subtask.h" #include "affine.h" +#include "fade.h" typedef void(AuxCutsceneState)(void); typedef void(CutsceneMainState)(void); diff --git a/src/subtask/subtaskFastTravel.c b/src/subtask/subtaskFastTravel.c index f2f24059..400291e1 100644 --- a/src/subtask/subtaskFastTravel.c +++ b/src/subtask/subtaskFastTravel.c @@ -13,6 +13,7 @@ #include "affine.h" #include "asm.h" #include "pauseMenu.h" +#include "fade.h" extern void (*const Subtask_FastTravel_Functions[])(void); void sub_080A6E70(void); diff --git a/src/subtask/subtaskLocalMapHint.c b/src/subtask/subtaskLocalMapHint.c index 7de81d4d..f3095bcb 100644 --- a/src/subtask/subtaskLocalMapHint.c +++ b/src/subtask/subtaskLocalMapHint.c @@ -13,6 +13,7 @@ #include "common.h" #include "affine.h" #include "vram.h" +#include "fade.h" void Subtask_LocalMapHint() { extern void (*const gUnk_08128F1C[])(void); diff --git a/src/subtask/subtaskMapHint.c b/src/subtask/subtaskMapHint.c index 2ab6bead..d514770d 100644 --- a/src/subtask/subtaskMapHint.c +++ b/src/subtask/subtaskMapHint.c @@ -10,11 +10,8 @@ #include "main.h" #include "sound.h" #include "save.h" -#include "flags.h" -#include "fileselect.h" -#include "kinstone.h" -#include "game.h" #include "affine.h" +#include "fade.h" void sub_080A6438(); diff --git a/src/subtask/subtaskWorldEvent.c b/src/subtask/subtaskWorldEvent.c index ac8d52af..b44f3b33 100644 --- a/src/subtask/subtaskWorldEvent.c +++ b/src/subtask/subtaskWorldEvent.c @@ -17,6 +17,7 @@ #include "screen.h" #include "subtask.h" #include "affine.h" +#include "fade.h" void Subtask_WorldEvent_Update(void); diff --git a/src/text.c b/src/text.c index 7b4305f8..90f04386 100644 --- a/src/text.c +++ b/src/text.c @@ -2,6 +2,7 @@ #include "common.h" #include "asm.h" #include "enemy.h" +#include "effects.h" #include "message.h" #include "fileselect.h" diff --git a/src/title.c b/src/title.c index a9df5b66..3130a234 100644 --- a/src/title.c +++ b/src/title.c @@ -17,6 +17,7 @@ #include "save.h" #include "game.h" #include "affine.h" +#include "fade.h" #ifdef DEMO_JP #include "item.h" #include "flags.h" diff --git a/src/vram.c b/src/vram.c index be4820cf..495a7c07 100644 --- a/src/vram.c +++ b/src/vram.c @@ -2,6 +2,7 @@ #include "fileselect.h" #include "vram.h" #include "gfx.h" +#include "color.h" extern u32 gFixedTypeGfxData[]; diff --git a/src/worldEvent/worldEvent1.c b/src/worldEvent/worldEvent1.c index 92a17ddd..e4e6a808 100644 --- a/src/worldEvent/worldEvent1.c +++ b/src/worldEvent/worldEvent1.c @@ -4,14 +4,10 @@ * * @brief World Event 1 */ -#include "asm.h" #include "fade.h" #include "flags.h" #include "menu.h" -#include "physics.h" #include "room.h" -#include "script.h" -#include "sound.h" #include "subtask.h" void WorldEvent_1_0(void); diff --git a/src/worldEvent/worldEvent22.c b/src/worldEvent/worldEvent22.c index e26dd650..46fe2037 100644 --- a/src/worldEvent/worldEvent22.c +++ b/src/worldEvent/worldEvent22.c @@ -8,7 +8,7 @@ #include "menu.h" #include "npc.h" #include "room.h" -#include "screen.h" +#include "fade.h" extern void sub_0804B0B0(u32, u32); extern void sub_08055B70(u32, u32, u32, u32); diff --git a/src/worldEvent/worldEvent4.c b/src/worldEvent/worldEvent4.c index 7280d2c4..ceb4b226 100644 --- a/src/worldEvent/worldEvent4.c +++ b/src/worldEvent/worldEvent4.c @@ -6,9 +6,7 @@ */ #include "fade.h" #include "flags.h" -#include "kinstone.h" #include "menu.h" -#include "screen.h" #include "sound.h" #include "subtask.h" From b5734d09a469ea679b01cdb2f6eb1a267b068d20 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 9 Mar 2025 16:56:10 +0000 Subject: [PATCH 16/17] cleanup --- include/area.h | 2 +- src/enemy/chuchuBoss.c | 1 - src/enemy/peahat.c | 2 +- src/manager/miscManager.c | 2 +- src/npc/castorWildsStatue.c | 4 ++-- src/object/evilSpirit.c | 1 - 6 files changed, 5 insertions(+), 7 deletions(-) diff --git a/include/area.h b/include/area.h index 0bfbf919..8c49e393 100644 --- a/include/area.h +++ b/include/area.h @@ -83,7 +83,7 @@ typedef struct { u16 pixel_width; u16 pixel_height; u16 tileSet_id; -} FORCE_WORD_ALIGNED RoomHeader; +} PACKED ALIGNED(2) RoomHeader; static_assert(sizeof(RoomHeader) == 0xa); extern RoomHeader* gAreaRoomHeaders[]; diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c index a7c52e03..e59a2b5b 100644 --- a/src/enemy/chuchuBoss.c +++ b/src/enemy/chuchuBoss.c @@ -1105,7 +1105,6 @@ void sub_08026E1C(ChuchuBossEntity* this) { COLLISION_ON(super); if (sub_08027C54(this)) { this->unk_84->unk_04++; - ; super->child->health = 0xff; } if (this->unk_84->unk_04 == 3) { diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index 52437ceb..0a134afe 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -265,7 +265,7 @@ void Peahat_Stunned(PeahatEntity* this) { super->hitType = 0x71; } break; - }; + } } void Peahat_RepairPropeller(PeahatEntity* this) { diff --git a/src/manager/miscManager.c b/src/manager/miscManager.c index 93889ec9..0008dc51 100644 --- a/src/manager/miscManager.c +++ b/src/manager/miscManager.c @@ -75,7 +75,7 @@ typedef struct { u16 width; u16 height; u16 unk_08; -} PACKED __attribute__((aligned(2))) MiscManager_HelperStruct; +} PACKED ALIGNED(2) MiscManager_HelperStruct; const MiscManager_HelperStruct gUnk_08108354[] = { { 0xF0, 0xB0, 0xF0, 0xB0, 0x100 }, diff --git a/src/npc/castorWildsStatue.c b/src/npc/castorWildsStatue.c index 911fc0c5..175cb3c2 100644 --- a/src/npc/castorWildsStatue.c +++ b/src/npc/castorWildsStatue.c @@ -167,7 +167,7 @@ void sub_080675D4(Entity* this) { ent->spriteRendering.b3 = this->spriteRendering.b3; SortEntityAbove(this, ent); } - }; + } gUnk = gUnk_08110E8A; for (i = 0; i < 4; i++, gUnk++) { Entity* ent = CreateFx(this, FX_ROCK, 0); @@ -180,7 +180,7 @@ void sub_080675D4(Entity* this) { ent->spriteRendering.b3 = this->spriteRendering.b3; SortEntityAbove(this, ent); } - }; + } if (this->subAction > 2) { this->spriteSettings.draw = 0; } diff --git a/src/object/evilSpirit.c b/src/object/evilSpirit.c index 7f74689a..03c65712 100644 --- a/src/object/evilSpirit.c +++ b/src/object/evilSpirit.c @@ -104,7 +104,6 @@ void EvilSpirit_Action1(EvilSpiritEntity* this) { } else { this->unk76 = this->unk7c - 0x20; this->unk7a = this->unk7c + 0x50; - ; } } super->x = super->parent->x; From 5b2cafdc894823d57beee8f3947a391d881d91de Mon Sep 17 00:00:00 2001 From: Henny022p Date: Sun, 9 Mar 2025 19:12:36 +0000 Subject: [PATCH 17/17] formatting --- include/affine.h | 2 +- include/enemy/armos.h | 2 +- include/fade.h | 5 ++++- include/gfx.h | 2 +- include/itemDefinitions.h | 2 +- include/npc/bigGoron.h | 2 +- include/object.h | 2 -- include/object/cutsceneMiscObject.h | 2 +- include/object/lockedDoor.h | 2 +- include/object/pot.h | 2 +- include/vram.h | 2 +- src/beanstalkSubtask.c | 7 ++++--- src/enemy/mazaalHead.c | 8 ++------ src/enemy/vaatiArm.c | 4 +--- src/manager/diggingCaveEntranceManager.c | 2 +- src/manager/minishPortalManager.c | 2 +- src/message.c | 4 ++-- src/object/lilypadLarge.c | 2 +- src/scroll.c | 3 +-- 19 files changed, 26 insertions(+), 31 deletions(-) diff --git a/include/affine.h b/include/affine.h index 1ea56c66..ae8d2ddb 100644 --- a/include/affine.h +++ b/include/affine.h @@ -18,4 +18,4 @@ extern void DrawEntities(void); extern void sub_080ADA04(OAMCommand*, void*); extern void DrawDirect(u32 spriteIndex, u32 frameIndex); -#endif //AFFINE_H +#endif // AFFINE_H diff --git a/include/enemy/armos.h b/include/enemy/armos.h index 03f5cceb..277f80ca 100644 --- a/include/enemy/armos.h +++ b/include/enemy/armos.h @@ -5,4 +5,4 @@ void Armos_SetFlagFromTransition(u32 armosId); -#endif //ARMOS_H +#endif // ARMOS_H diff --git a/include/fade.h b/include/fade.h index e623df25..aa7c86e1 100644 --- a/include/fade.h +++ b/include/fade.h @@ -101,6 +101,9 @@ void FadeVBlank(void); void ResetFadeMask(void); extern u32 gUsedPalettes; -#define USE_PALETTE(i) do { gUsedPalettes |= 1 << (i); } while(0) +#define USE_PALETTE(i) \ + do { \ + gUsedPalettes |= 1 << (i); \ + } while (0) #endif // FADE_H diff --git a/include/gfx.h b/include/gfx.h index b0ecd2a4..2620debc 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -5,4 +5,4 @@ extern const u8 gGlobalGfxAndPalettes[]; -#endif //GFX_H +#endif // GFX_H diff --git a/include/itemDefinitions.h b/include/itemDefinitions.h index f48fa18a..e5816dd5 100644 --- a/include/itemDefinitions.h +++ b/include/itemDefinitions.h @@ -17,4 +17,4 @@ typedef struct { static_assert(sizeof(ItemDefinition) == 0xc); -#endif //ITEMDEFINITIONS_H +#endif // ITEMDEFINITIONS_H diff --git a/include/npc/bigGoron.h b/include/npc/bigGoron.h index b7279733..568c420b 100644 --- a/include/npc/bigGoron.h +++ b/include/npc/bigGoron.h @@ -5,4 +5,4 @@ extern void sub_0806D0B0(struct Entity_*); -#endif //BIGGORON_H +#endif // BIGGORON_H diff --git a/include/object.h b/include/object.h index 34a85ea5..231f7239 100644 --- a/include/object.h +++ b/include/object.h @@ -201,7 +201,6 @@ typedef enum { LINK_ANIMATION, } Object; - Entity* CreateLinkAnimation(Entity* parent, u32 type, u32 type2); void ObjectInit(Entity* this); u32 LoadObjectSprite(Entity* this, s32 type, const ObjectDefinition* definition); @@ -221,7 +220,6 @@ void sub_0808C650(Entity*, u32); u32 sub_0808C67C(void); void sub_0808C688(void); - void ItemOnGround(); void DeathFx(); void ItemForSale(); diff --git a/include/object/cutsceneMiscObject.h b/include/object/cutsceneMiscObject.h index da8ee3e1..49772846 100644 --- a/include/object/cutsceneMiscObject.h +++ b/include/object/cutsceneMiscObject.h @@ -5,4 +5,4 @@ extern void sub_08095C48(struct Entity_*); -#endif //CUTSCENEMISCOBJECT_H +#endif // CUTSCENEMISCOBJECT_H diff --git a/include/object/lockedDoor.h b/include/object/lockedDoor.h index 90a6c7cb..8bbca19c 100644 --- a/include/object/lockedDoor.h +++ b/include/object/lockedDoor.h @@ -5,4 +5,4 @@ extern bool32 sub_08083734(struct Entity_*, u32); -#endif //LOCKEDDOOR_H +#endif // LOCKEDDOOR_H diff --git a/include/object/pot.h b/include/object/pot.h index 4867586a..65429388 100644 --- a/include/object/pot.h +++ b/include/object/pot.h @@ -5,4 +5,4 @@ extern u32 sub_0808288C(struct Entity_*, u32, u32, u32); -#endif //POT_H +#endif // POT_H diff --git a/include/vram.h b/include/vram.h index eae470e5..26fa4412 100644 --- a/include/vram.h +++ b/include/vram.h @@ -78,4 +78,4 @@ typedef struct { } OAMControls; extern OAMControls gOAMControls; -#endif //VRAM_H +#endif // VRAM_H diff --git a/src/beanstalkSubtask.c b/src/beanstalkSubtask.c index 3188b2e8..c18bd945 100644 --- a/src/beanstalkSubtask.c +++ b/src/beanstalkSubtask.c @@ -212,7 +212,7 @@ u32 UpdatePlayerCollision(void) { if ((((gPlayerState.flags & (PL_FLAGS10000 | PL_FLAGS2)) != 0) || ((gPlayerState.sword_state & 0x10) != 0)) || ((DoApplicableTransition(gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x, - gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y, index, 5) == 0 && + gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y, index, 5) == 0 && (((gPlayerState.heldObject != 0 || ((gPlayerState.gustJarState & 0xf) != 0)) || (sub_0807BD14(&gPlayerEntity.base, index) == 0)))))) { return 3; @@ -274,8 +274,9 @@ u32 UpdatePlayerCollision(void) { } ptr1 = &gUnk_080B4478[gPlayerEntity.base.animationState & 6]; - transition = FindApplicableAreaTransition((gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x) + ptr1[0], - (gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y) + ptr1[1]); + transition = + FindApplicableAreaTransition((gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x) + ptr1[0], + (gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y) + ptr1[1]); if (transition == NULL) { return 0; } diff --git a/src/enemy/mazaalHead.c b/src/enemy/mazaalHead.c index 1cec5baa..ffb4d420 100644 --- a/src/enemy/mazaalHead.c +++ b/src/enemy/mazaalHead.c @@ -124,12 +124,8 @@ void (*const gUnk_080CED74[])(MazaalHeadEntity*) = { sub_08034BA0, }; const s8 gUnk_080CED84[] = { 0x0d, 0x10, -0xd, 0x10 }; -const Transition gUnk_080CED88 = { - 1, 0, 0, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_PHASE_1, 1, 0, 0, 0 -}; -const Transition gUnk_080CED9C = { - 1, 0, 0, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_MAIN, 1, 0, 0, 0 -}; +const Transition gUnk_080CED88 = { 1, 0, 0, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_PHASE_1, 1, 0, 0, 0 }; +const Transition gUnk_080CED9C = { 1, 0, 0, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_MAIN, 1, 0, 0, 0 }; void MazaalHead(MazaalHeadEntity* this) { MazaalHead_Functions[GetNextFunction(super)](this); diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index b53ca35e..8ee71d2e 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -192,9 +192,7 @@ const Coords gUnk_080D13D8[] = { { .HALF = { -0x60, 0x80 } }, { .HALF = { 0x60, const u8 gUnk_080D13E0[] = { 0xc, 0xe, 0x10 }; const u8 gUnk_080D13E3[] = { 8, 9, 10, 4, 4, 5 }; const s8 gUnk_080D13E9[] = { -8, 8 }; -const Transition gUnk_080D13EC = { - 1, 0, 0, 0x98, 0xb8, 0, AREA_VAATIS_ARMS, ROOM_VAATIS_ARMS_FIRST, 1, 0, 0, 0 -}; +const Transition gUnk_080D13EC = { 1, 0, 0, 0x98, 0xb8, 0, AREA_VAATIS_ARMS, ROOM_VAATIS_ARMS_FIRST, 1, 0, 0, 0 }; const u16 gUnk_080D1400[][5] = { { 0x8000, 0x7000, 0x6000, 0x5000, 0x4000 }, { 0x8000, -0x7000, -0x6000, -0x5000, -0x4000 }, diff --git a/src/manager/diggingCaveEntranceManager.c b/src/manager/diggingCaveEntranceManager.c index 18e7a74c..49104baf 100644 --- a/src/manager/diggingCaveEntranceManager.c +++ b/src/manager/diggingCaveEntranceManager.c @@ -11,7 +11,7 @@ #include "room.h" #include "scroll.h" #include "tiles.h" -#ifndef EU +#ifndef EU #endif void DiggingCaveEntranceManager_Main(DiggingCaveEntranceManager*); diff --git a/src/manager/minishPortalManager.c b/src/manager/minishPortalManager.c index 74276e46..66171581 100644 --- a/src/manager/minishPortalManager.c +++ b/src/manager/minishPortalManager.c @@ -45,7 +45,7 @@ void MinishPortalManager_Main(MinishPortalManager* this) { } if (GetActTileAtRoomCoords(this->unk_38, this->unk_3a, super->timer) == ACT_TILE_61) { CreateMagicSparklesFxAt(this->unk_38 + gRoomControls.origin_x, this->unk_3a + gRoomControls.origin_y, - super->timer); + super->timer); if (super->subtimer == 0) { super->subtimer = 1; SoundReq(SFX_NEAR_PORTAL); diff --git a/src/message.c b/src/message.c index 64e26581..54ab722f 100644 --- a/src/message.c +++ b/src/message.c @@ -841,13 +841,13 @@ static void sub_08056FBC(TextRender* ctb) { * @param number number to convert * @param string output string buffer (at least 8 bytes in size) * @return number of character written (NOT including null terminator) -*/ + */ u32 NumberToAscii(u32 number, String8* string) { int j; int i; int length; u8 buffer[8]; - char * const output = string->s; + char* const output = string->s; number = EncodeBCD(number) & 0xfffffff; length = 0; diff --git a/src/object/lilypadLarge.c b/src/object/lilypadLarge.c index 6da49a41..fceb7d0c 100644 --- a/src/object/lilypadLarge.c +++ b/src/object/lilypadLarge.c @@ -506,7 +506,7 @@ void sub_08085D60(LilypadLargeEntity* this) { if (GetCollisionDataRelativeTo(super, tmpX, tmpY) == COLLISION_DATA_255) { if (DoApplicableTransition((super->x.HALF.HI - gRoomControls.origin_x) + tmpX, - (super->y.HALF.HI - gRoomControls.origin_y) + tmpY, r4, 5) == 0) { + (super->y.HALF.HI - gRoomControls.origin_y) + tmpY, r4, 5) == 0) { if (sub_0807BD14(&gPlayerEntity.base, r4 >> 3) != 0) { super->direction = r4; sub_08085E74(this); diff --git a/src/scroll.c b/src/scroll.c index 0137e344..47ba7688 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -619,8 +619,7 @@ const Transition* FindApplicableAreaTransition(u32 pos_x, u32 pos_y) { const Transition* transition = gArea.pCurrentRoomInfo->exits; u32 warp_types = 0xa; while (transition->warp_type != WARP_TYPE_END_OF_LIST) { - if (((1 << transition->warp_type) & warp_types) != 0 && - IsPosInTransitionRect(transition, pos_x, pos_y, 0)) { + if (((1 << transition->warp_type) & warp_types) != 0 && IsPosInTransitionRect(transition, pos_x, pos_y, 0)) { return transition; } transition++;