From 06dc15859867c7f2db22ea6e289e28ff12b0b6c9 Mon Sep 17 00:00:00 2001 From: octorock <79596758+octorock@users.noreply.github.com> Date: Sat, 6 Jan 2024 16:14:12 +0100 Subject: [PATCH] Rename vvv to actTile --- asm/macros/map.inc | 8 +- asm/src/code_080043E8.s | 2 +- asm/src/code_08007CAC.s | 2 +- asm/src/intr.s | 62 +- asm/src/player.s | 6 +- asm/src/script.s | 6 +- asm/src/veneer.s | 140 +- include/asm.h | 34 +- include/collision.h | 2 +- include/functions.h | 1 - include/manager/diggingCaveEntranceManager.h | 4 +- include/map.h | 72 +- include/player.h | 2 +- include/room.h | 4 +- include/tiles.h | 3516 ++++++++--------- linker.ld | 26 +- src/beanstalkSubtask.c | 96 +- src/collision.c | 2828 ++++++------- src/data/mapActTileToSurfaceType.c | 75 + src/data/mapVvvToSurfaceType.c | 75 - src/enemy/armos.c | 2 +- src/enemy/bombPeahat.c | 2 +- src/enemy/chuchu.c | 2 +- src/enemy/eyegore.c | 4 +- src/enemy/flyingPot.c | 2 +- src/enemy/flyingSkull.c | 2 +- src/enemy/gyorgFemale.c | 28 +- src/enemy/leever.c | 14 +- src/enemy/moldworm.c | 8 +- src/enemy/puffstool.c | 18 +- src/enemy/rollobite.c | 2 +- src/enemy/rope.c | 2 +- src/enemy/spinyBeetle.c | 2 +- src/enemy/stalfos.c | 2 +- src/enemy/tektite.c | 2 +- src/enemy/tektiteGolden.c | 2 +- src/enemy/torchTrap.c | 2 +- src/entity.c | 2 +- src/item/itemGustJar.c | 2 +- src/item/itemMoleMitts.c | 2 +- src/manager/bombableWallManager.c | 4 +- src/manager/destructibleTileObserveManager.c | 2 +- src/manager/diggingCaveEntranceManager.c | 20 +- src/manager/flameManager.c | 6 +- src/manager/lightLevelSetManager.c | 4 +- src/manager/manager29.c | 2 +- src/manager/minishPortalManager.c | 2 +- src/manager/miscManager.c | 2 +- src/manager/tilePuzzleManager.c | 2 +- src/movement.c | 2 +- src/npc/npc5.c | 10 +- src/npc/townMinish.c | 4 +- src/object/beanstalk.c | 6 +- src/object/bigIceBlock.c | 66 +- src/object/bigPushableLever.c | 36 +- src/object/blockPushed.c | 2 +- src/object/button.c | 20 +- src/object/chestSpawner.c | 4 +- src/object/crenelBeanSprout.c | 6 +- src/object/cutsceneMiscObject.c | 2 +- src/object/doubleBookshelf.c | 2 +- src/object/fireplace.c | 2 +- src/object/furniture.c | 8 +- src/object/giantBookLadder.c | 2 +- src/object/hiddenLadderDown.c | 2 +- src/object/itemOnGround.c | 4 +- src/object/ladderUp.c | 4 +- src/object/lilypadLarge.c | 12 +- src/object/linkEmptyingBottle.c | 4 +- src/object/minecart.c | 46 +- src/object/objectBlockingStairs.c | 4 +- src/object/objectOnPillar.c | 8 +- src/object/playerClone.c | 6 +- src/object/pot.c | 6 +- src/object/pushableFurniture.c | 16 +- src/object/pushableGrave.c | 2 +- src/object/pushableRock.c | 8 +- src/object/pushableStatue.c | 16 +- src/object/rotatingTrapdoor.c | 2 +- src/object/smallIceBlock.c | 6 +- src/object/smokeParticle.c | 4 +- src/object/treeHidingPortal.c | 10 +- src/object/well.c | 2 +- src/physics.c | 4 +- src/player.c | 10 +- src/playerItem/playerItemBottle.c | 2 +- src/playerItem/playerItemCellOverwriteSet.c | 92 +- src/playerItem/playerItemGustBig.c | 4 +- src/playerItem/playerItemHeldObject.c | 26 +- .../playerItemPacciCaneProjectile.c | 2 +- src/playerItem/playerItemSword.c | 2 +- src/playerUtils.c | 193 +- src/projectile/gleerokProjectile.c | 2 +- src/projectile/mandiblesProjectile.c | 2 +- src/projectile/removableDust.c | 8 +- src/projectile/v1FireProjectile.c | 2 +- src/projectile/v2Projectile.c | 4 +- src/scroll.c | 36 +- 98 files changed, 3920 insertions(+), 3910 deletions(-) create mode 100644 src/data/mapActTileToSurfaceType.c delete mode 100644 src/data/mapVvvToSurfaceType.c diff --git a/asm/macros/map.inc b/asm/macros/map.inc index df535345..67036e69 100755 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -5,16 +5,16 @@ .set TOP_COLLISIONDATA, gMapTop+0x2004 .set TOP_TILEDATAORIGINAL, gMapTop+0x3004 .set TOP_TILETYPES, gMapTop+0x5004 - .set TOP_UNKDATA2, gMapTop+0x6004 + .set TOP_TILEINDICES, gMapTop+0x6004 .set TOP_TILES, gMapTop+0x7004 - .set TOP_UNKDATA3, gMapTop+0xb004 + .set TOP_ACTTILES, gMapTop+0xb004 .set BOTTOM_TILEDATA, gMapBottom+0x4 .set BOTTOM_COLLISIONDATA, gMapBottom+0x2004 .set BOTTOM_TILEDATAORIGINAL, gMapBottom+0x3004 .set BOTTOM_TILETYPES, gMapBottom+0x5004 - .set BOTTOM_UNKDATA2, gMapBottom+0x6004 + .set BOTTOM_TILEINDICES, gMapBottom+0x6004 .set BOTTOM_TILES, gMapBottom+0x7004 - .set BOTTOM_UNKDATA3, gMapBottom+0xb004 + .set BOTTOM_ACTTILES, gMapBottom+0xb004 .macro room_header map_x, map_y, pixel_width, pixel_height, tileset_id .2byte (\map_x) << 4 diff --git a/asm/src/code_080043E8.s b/asm/src/code_080043E8.s index 5c9eb10f..8442e031 100644 --- a/asm/src/code_080043E8.s +++ b/asm/src/code_080043E8.s @@ -185,7 +185,7 @@ _08004516: thumb_func_start sub_0800451C sub_0800451C: @ 0x0800451C push {r0, lr} - bl GetVvvAtEntity + bl GetActTileAtEntity adds r1, r0, #0 pop {r0, r3} mov lr, r3 diff --git a/asm/src/code_08007CAC.s b/asm/src/code_08007CAC.s index 5fffe296..4f4dbeb0 100644 --- a/asm/src/code_08007CAC.s +++ b/asm/src/code_08007CAC.s @@ -5,7 +5,7 @@ .text -// TODO cannot add this at the end of mapVvvToSurfaceType.c due to alignment? +// TODO cannot add this at the end of mapActTileToSurfaceType.c due to alignment? .2byte 0 // TODO unused? might also be code? diff --git a/asm/src/intr.s b/asm/src/intr.s index 8f34aab5..a82a6364 100644 --- a/asm/src/intr.s +++ b/asm/src/intr.s @@ -78,36 +78,35 @@ arm_sub_080B1A04: ldr r2, _080B1C14 @ =gUnk_08000258 b _080B1A64 - arm_func_start arm_sub_080B1A0C -arm_sub_080B1A0C: @ 0x080B1A0C + arm_func_start arm_GetTileTypeRelativeToEntity +arm_GetTileTypeRelativeToEntity: @ 0x080B1A0C ldrh r3, [r0, #0x2e] add r3, r3, r1 ldrh r1, [r0, #0x32] add r1, r1, r2 ldrb r2, [r0, #0x38] mov r0, r3 - b arm_GetTileTypeByPos -arm_GetTileTypeByEntity: // GetCell + b arm_GetTileTypeAtWorldCoords +arm_GetTileTypeAtEntity: // GetCell ldrb r2, [r0, #0x38] ldrh r1, [r0, #0x32] ldrh r0, [r0, #0x2e] -arm_GetTileTypeByPos: +arm_GetTileTypeAtWorldCoords: ldr ip, _080B1C18 @ =gRoomControls ldrh r3, [ip, #6] sub r0, r0, r3 ldrh r3, [ip, #8] sub r1, r1, r3 -arm_sub_080B1A48: +arm_GetTileTypeAtRoomCoords: lsl r0, r0, #0x16 lsr r0, r0, #0x1a lsl r1, r1, #0x16 lsr r1, r1, #0x1a -arm_sub_080B1A58: +arm_GetTileTypeAtRoomTile: add r0, r0, r1, lsl #6 mov r1, r2 - - arm_func_start arm_GetTileType -arm_GetTileType: @ 0x080B1A60 + arm_func_start arm_GetTileTypeAtTilePos +arm_GetTileTypeAtTilePos: @ 0x080B1A60 ldr r2, _080B1C1C @ =gMapDataPtrs _080B1A64: add r2, r2, r1, lsl #3 @@ -122,36 +121,36 @@ _080B1A64: bx lr // entity plus offset to world pixel coordinates and layer - arm_func_start arm_GetVvvRelativeToEntity -arm_GetVvvRelativeToEntity: @ 0x080B1A8C + arm_func_start arm_GetActTileRelativeToEntity +arm_GetActTileRelativeToEntity: @ 0x080B1A8C ldrh r3, [r0, #0x2e] add r3, r3, r1 ldrh r1, [r0, #0x32] add r1, r1, r2 ldrb r2, [r0, #0x38] mov r0, r3 - b arm_GetVvvAtWorldCoords + b arm_GetActTileAtWorldCoords // entity to world pixel coordinates and layer -arm_GetVvvAtEntity: // GetCellAct +arm_GetActTileAtEntity: // GetCellAct ldrb r2, [r0, #0x38] ldrh r1, [r0, #0x32] ldrh r0, [r0, #0x2e] -arm_GetVvvAtWorldCoords: @ world pixel coordinates to room pixel coordinates +arm_GetActTileAtWorldCoords: @ world pixel coordinates to room pixel coordinates ldr ip, _080B1C20 @ =gRoomControls ldrh r3, [ip, #6] sub r0, r0, r3 ldrh r3, [ip, #8] sub r1, r1, r3 -arm_GetVvvAtRoomCoords: @ room pixel coordinates to room tile coordinates +arm_GetActTileAtRoomCoords: @ room pixel coordinates to room tile coordinates lsl r0, r0, #0x16 lsr r0, r0, #0x1a lsl r1, r1, #0x16 lsr r1, r1, #0x1a -arm_GetVvvAtRoomTile: +arm_GetActTileAtRoomTile: add r0, r0, r1, lsl #6 mov r1, r2 @ move layer to r1 -arm_GetVvvAtTilePos: - ldr r2, _080B1C24 @ =gVvvPtrs +arm_GetActTileAtTilePos: + ldr r2, _080B1C24 @ =gActTilePtrs ldr r2, [r2, r1, lsl #2] ldrb r0, [r2, r0] bx lr @@ -161,7 +160,6 @@ arm_GetCollisionDataRelativeTo: @ 0x080B1AF0 @ r0 = entity* @ r1 = x @ r2 = y - ldrh r3, [r0, #0x2e] @ ent.x + x add r3, r3, r1 ldrh r1, [r0, #0x32] @ ent.y + y @@ -185,7 +183,7 @@ arm_GetCollisionDataAtRoomCoords: lsl r1, r1, #0x16 lsr r1, r1, #0x1a @ /= 16 arm_GetCollisionDataAtRoomTile: - add r0, r0, r1, lsl #6 @ convert coords to tile index + add r0, r0, r1, lsl #6 @ convert coords to tile pos mov r1, r2 arm_GetCollisionDataAtTilePos: ldr r2, _080B1C2C @ =gCollisionDataPtrs @@ -193,11 +191,11 @@ arm_GetCollisionDataAtTilePos: ldrb r0, [r1, r0] @ load collision tile at my location bx lr - arm_func_start arm_GetVvvForTileType -arm_GetVvvForTileType: @ 0x080B1B54 + arm_func_start arm_GetActTileForTileType +arm_GetActTileForTileType: @ 0x080B1B54 lsls r0, r0, #0x12 - ldrlo r1, _080B1C30 @ =gMapTileTypeToVvv - ldrhs r1, _080B1C34 @ =gMapSpecialTileToVvv + ldrlo r1, _080B1C30 @ =gMapTileTypeToActTile + ldrhs r1, _080B1C34 @ =gMapSpecialTileToActTile ldrb r0, [r1, r0, lsr #18] bx lr @@ -214,7 +212,7 @@ arm_sub_080B1B68: @ 0x080B1B68 arm_func_start arm_sub_080B1B84 arm_sub_080B1B84: @ 0x080B1B84 mov ip, lr - bl arm_GetTileType + bl arm_GetTileTypeAtTilePos lsls r0, r0, #0x12 ldrlo r1, _080B1C3C @ =gUnk_08000360 ldrhs r1, _080B1C40 @ =gUnk_080B7A3E @@ -226,7 +224,7 @@ arm_sub_080B1B84: @ 0x080B1B84 arm_sub_080B1BA4: @ 0x080B1BA4 mov ip, lr mov r3, r2 - bl arm_GetTileType + bl arm_GetTileTypeAtTilePos lsls r0, r0, #0x12 ldrlo r1, _080B1C44 @ =gUnk_08000360 ldrhs r1, _080B1C48 @ =gUnk_080B7A3E @@ -249,7 +247,7 @@ sub_080B1BCC: @ 0x080B1BCC and r1, r1, #0x3f0 and r2, r2, #0x3f0 add r1, r1, r2, lsl #6 - ldr r2, _080B1C50 @ =gVvvPtrs + ldr r2, _080B1C50 @ =gActTilePtrs ldrb r3, [r0, #0x38] ldr r2, [r2, r3, lsl #2] ldrb r0, [r2, r1, lsr #4] @@ -260,18 +258,18 @@ _080B1C14: .4byte gUnk_08000258 _080B1C18: .4byte gRoomControls _080B1C1C: .4byte gMapDataPtrs _080B1C20: .4byte gRoomControls -_080B1C24: .4byte gVvvPtrs +_080B1C24: .4byte gActTilePtrs _080B1C28: .4byte gRoomControls _080B1C2C: .4byte gCollisionDataPtrs -_080B1C30: .4byte gMapTileTypeToVvv -_080B1C34: .4byte gMapSpecialTileToVvv +_080B1C30: .4byte gMapTileTypeToActTile +_080B1C34: .4byte gMapSpecialTileToActTile _080B1C38: .4byte gTileTypesPtrs _080B1C3C: .4byte gUnk_08000360 _080B1C40: .4byte gUnk_080B7A3E _080B1C44: .4byte gUnk_08000360 _080B1C48: .4byte gUnk_080B7A3E _080B1C4C: .4byte gRoomControls -_080B1C50: .4byte gVvvPtrs +_080B1C50: .4byte gActTilePtrs arm_func_start UpdateCollision UpdateCollision: @ 0x080B1C54 diff --git a/asm/src/player.s b/asm/src/player.s index dcb7bfdc..f99cde9f 100644 --- a/asm/src/player.s +++ b/asm/src/player.s @@ -326,7 +326,7 @@ DoTileInteraction: @ 0x08008796 adds r1, r7, #0 movs r2, #0x38 ldrb r2, [r4, r2] // collision layer - bl GetTileTypeByPos + bl GetTileTypeAtWorldCoords ldr r1, _080088D8 @ =gUnk_080046A4 bl FindEntryForKey beq _080087CE_return0 @@ -758,12 +758,12 @@ CheckNEastTile: @ 0x08008B02 push {r0, r1, lr} movs r1, #0 movs r2, #0 - bl GetVvvRelativeToEntity + bl GetActTileRelativeToEntity // check if north east collision? ldr r1, =0x4000 tst r0, r1 bne _08008B1E - ldr r1, =gMapVvvToSurfaceType + ldr r1, =gMapActTileToSurfaceType bl FindEntryForKey movs r2, #1 cmp r3, #1 diff --git a/asm/src/script.s b/asm/src/script.s index c1f39f1e..25d62798 100644 --- a/asm/src/script.s +++ b/asm/src/script.s @@ -78,11 +78,11 @@ ResolveCollisionLayer:: ldrh r0, [r4, #0x2e] ldrh r1, [r4, #0x32] movs r2, #2 - bl GetTileTypeByPos + bl GetTileTypeAtWorldCoords movs r3, #1 cmp r0, #0 beq _08016A62 - bl GetVvvForTileType + bl GetActTileForTileType movs r3, #2 add r1, pc, #0x40 _08016A54: @@ -103,7 +103,7 @@ _08016A64: CheckOnLayerTransition:: push {r4, r5, lr} adds r4, r0, #0 - bl GetVvvAtEntity // tile under me + bl GetActTileAtEntity // tile under me adr r1, gTransitionTiles-4 loop: adds r1, #4 // p += 4 diff --git a/asm/src/veneer.s b/asm/src/veneer.s index 4ab22bfb..420ab8b4 100644 --- a/asm/src/veneer.s +++ b/asm/src/veneer.s @@ -69,9 +69,9 @@ SetTile: @ r0 = tile index, r1, = tile position, r2 = layer blo tile_wrong_type @ jump if tileIndex < 0x4000 push {r1, r2} subs r4, r0, r6 @ r4 = tileIndex - 0x4000 - ldr r3, _08000210 @ =gMapSpecialTileToVvv - ldrb r0, [r3, r4] @ r0 = gMapSpecialTileToVvv[tileIndex - 0x4000] - bl SetVvvAtTilePos + ldr r3, _08000210 @ =gMapSpecialTileToActTile + ldrb r0, [r3, r4] @ r0 = gMapSpecialTileToActTile[tileIndex - 0x4000] + bl SetActTileAtTilePos ldr r3, _08000214 @ =gMapSpecialTileToCollisionData ldrb r0, [r3, r4] @ r0 = gMapSpecialTileToCollisionData[tileIndex - 0x4000] lsrs r2, r2, #2 @ r2 = layer @@ -89,9 +89,9 @@ tile_wrong_type: lsls r0, r0, #1 @ r0 = tileIndex * 2 ldrh r4, [r4, r0] @ r4 (tileType) = gMapBottom.tileTypes[tileIndex] push {r1, r2} - ldr r3, _08000218 @ =gMapTileTypeToVvv - ldrb r0, [r3, r4] @ r0 = gMapTileTypeToVvv[tileType] - bl SetVvvAtTilePos + ldr r3, _08000218 @ =gMapTileTypeToActTile + ldrb r0, [r3, r4] @ r0 = gMapTileTypeToActTile[tileType] + bl SetActTileAtTilePos ldr r3, _0800021C @ =gMapTileTypeToCollisionData ldrb r0, [r3, r4] @ r0 = gMapTileTypeToCollisionData[tileType] lsrs r2, r2, #2 @ r2 = layer @@ -105,13 +105,13 @@ _080001C4: .4byte gMapBottom+0x6004 _080001C8: .4byte gMapTop+0x6004 _080001CC: .4byte gMapBottom+0x6004 -@ r0: @see gMapSpecialTileToVvv r1: tilePos, r2: layer - thumb_func_start SetVvvAtTilePos -SetVvvAtTilePos: @ 0x080001D0 +@ r0: @see gMapSpecialTileToActTile r1: tilePos, r2: layer + thumb_func_start SetActTileAtTilePos +SetActTileAtTilePos: @ 0x080001D0 lsls r2, r2, #2 - ldr r3, _08000220 @ =gVvvPtrs - ldr r3, [r3, r2] @ r3 = gMapBottom.vvv - strb r0, [r3, r1] @ gMapBottom.vvv[tilePos] = r0 + ldr r3, _08000220 @ =gActTilePtrs + ldr r3, [r3, r2] @ r3 = gMapBottom.actTiles + strb r0, [r3, r1] @ gMapBottom.actTiles[tilePos] = r0 bx lr non_word_aligned_thumb_func_start GetTileIndex @@ -133,11 +133,11 @@ _08000200: .4byte gBG2Buffer+0x40 _08000204: .4byte gCollisionDataPtrs _08000208: .4byte gMapDataPtrs _0800020C: .4byte 0x00004000 -_08000210: .4byte gMapSpecialTileToVvv +_08000210: .4byte gMapSpecialTileToActTile _08000214: .4byte gMapSpecialTileToCollisionData -_08000218: .4byte gMapTileTypeToVvv +_08000218: .4byte gMapTileTypeToActTile _0800021C: .4byte gMapTileTypeToCollisionData -_08000220: .4byte gVvvPtrs +_08000220: .4byte gActTilePtrs _08000224: .4byte gMapDataPtrs gMapDataPtrs:: @@ -164,11 +164,11 @@ gUnk_08000258:: @ mapDataOriginal and tileTypes .4byte TOP_TILETYPES .4byte BOTTOM_TILEDATAORIGINAL @ layer 3 .4byte BOTTOM_TILETYPES -gVvvPtrs:: @ vvv for layers - .4byte BOTTOM_UNKDATA3 @ layer 0 - .4byte BOTTOM_UNKDATA3 @ layer 1 - .4byte TOP_UNKDATA3 @ layer 2 - .4byte BOTTOM_UNKDATA3 @ layer 3 +gActTilePtrs:: @ actTile for layers + .4byte BOTTOM_ACTTILES @ layer 0 + .4byte BOTTOM_ACTTILES @ layer 1 + .4byte TOP_ACTTILES @ layer 2 + .4byte BOTTOM_ACTTILES @ layer 3 @ call 0x80B19CC @ ======== @@ -214,17 +214,17 @@ sub_080B1A04: @ 0x08000298 @ r0: entity* @ r1: s32 @ r2: s32 - thumb_func_start sub_080B1A0C -sub_080B1A0C: @ 0x0800029C - ldr r3, _08000308 @ =ram_sub_080B1A0C + thumb_func_start GetTileTypeRelativeToEntity +GetTileTypeRelativeToEntity: @ 0x0800029C + ldr r3, _08000308 @ =ram_GetTileTypeRelativeToEntity bx r3 @ call 0x080B1A28 @ r0: entity @ return: u32 (tileType) - thumb_func_start GetTileTypeByEntity -GetTileTypeByEntity: @ 0x080002A0 - ldr r3, _0800030C @ =ram_GetTileTypeByEntity + thumb_func_start GetTileTypeAtEntity +GetTileTypeAtEntity: @ 0x080002A0 + ldr r3, _0800030C @ =ram_GetTileTypeAtEntity bx r3 @ call 0x080B1A34 @@ -232,35 +232,35 @@ GetTileTypeByEntity: @ 0x080002A0 @ r1: s32 (yPos) @ r2: u32 (layer) @ return: u32 (tileType) - thumb_func_start GetTileTypeByPos -GetTileTypeByPos: @ 0x080002A4 - ldr r3, _08000310 @ =ram_GetTileTypeByPos + thumb_func_start GetTileTypeAtWorldCoords +GetTileTypeAtWorldCoords: @ 0x080002A4 + ldr r3, _08000310 @ =ram_GetTileTypeAtWorldCoords bx r3 @ call 0x080B1A48 @ r0: s32 (xPos) @ r1: s32 (yPos) @ r2: u32 (layer) - thumb_func_start sub_080B1A48 -sub_080B1A48: @ 0x080002A8 - ldr r3, _08000314 @ =ram_sub_080B1A48 + thumb_func_start GetTileTypeAtRoomCoords +GetTileTypeAtRoomCoords: @ 0x080002A8 + ldr r3, _08000314 @ =ram_GetTileTypeAtRoomCoords bx r3 @ call 0x080B1A58 @ r0: s32 (xPos) @ r1: s32 (yPos) @ r2: u32 (layer) - thumb_func_start sub_080B1A58 -sub_080B1A58: @ 0x080002AC - ldr r3, _08000318 @ =ram_sub_080B1A58 + thumb_func_start GetTileTypeAtRoomTile +GetTileTypeAtRoomTile: @ 0x080002AC + ldr r3, _08000318 @ =ram_GetTileTypeAtRoomTile bx r3 @ call 0x080B1A60 @ r0: u32 (tileIndex) @ r1: u32 (layer) @ return: u32 (tileType) - thumb_func_start GetTileType -GetTileType: @ 0x080002B0 + thumb_func_start GetTileTypeAtTilePos +GetTileTypeAtTilePos: @ 0x080002B0 ldr r3, _0800031C @ =ram_GetTileType bx r3 @@ -268,9 +268,9 @@ GetTileType: @ 0x080002B0 @ r0: Entity* @ r1: u32 @ r2: u32 - thumb_func_start GetVvvRelativeToEntity -GetVvvRelativeToEntity: @ 0x080002B4 - ldr r3, _08000320 @ =ram_GetVvvRelativeToEntity + thumb_func_start GetActTileRelativeToEntity +GetActTileRelativeToEntity: @ 0x080002B4 + ldr r3, _08000320 @ =ram_GetActTileRelativeToEntity bx r3 @ call 0x080B1AA8 @@ -280,18 +280,18 @@ GetVvvRelativeToEntity: @ 0x080002B4 @ return: @ ======== @ Called every frame a pot is thrown, every frame the screen is sliding in a transition, and once when entering stairs. - thumb_func_start GetVvvAtEntity -GetVvvAtEntity: @ 0x080002B8 - ldr r3, _08000324 @ =ram_GetVvvAtEntity + thumb_func_start GetActTileAtEntity +GetActTileAtEntity: @ 0x080002B8 + ldr r3, _08000324 @ =ram_GetActTileAtEntity bx r3 @ call 0x080B1AB4 @ r0: s32 (xPos) @ r1: s32 (yPos) @ r2: u32 (layer) - thumb_func_start GetVvvAtWorldCoords -GetVvvAtWorldCoords: @ 0x080002BC - ldr r3, _08000328 @ =ram_GetVvvAtWorldCoords + thumb_func_start GetActTileAtWorldCoords +GetActTileAtWorldCoords: @ 0x080002BC + ldr r3, _08000328 @ =ram_GetActTileAtWorldCoords bx r3 @ call 0x080B1AC8 @@ -299,9 +299,9 @@ GetVvvAtWorldCoords: @ 0x080002BC @ r1: u32 @ r2: u32 @ return: ??? - thumb_func_start GetVvvAtRoomCoords -GetVvvAtRoomCoords: @ 0x080002C0 - ldr r3, _0800032C @ =ram_GetVvvAtRoomCoords + thumb_func_start GetActTileAtRoomCoords +GetActTileAtRoomCoords: @ 0x080002C0 + ldr r3, _0800032C @ =ram_GetActTileAtRoomCoords bx r3 @ call 0x080B1AD8 @@ -310,17 +310,17 @@ GetVvvAtRoomCoords: @ 0x080002C0 @ r2: s32 (yOffset) @ ======== @ Unused? Doesn't seem to be called by anything in Ghidra. - thumb_func_start GetVvvAtRoomTile -GetVvvAtRoomTile: @ 0x080002C4 - ldr r3, _08000330 @ =ram_GetVvvAtRoomTile + thumb_func_start GetActTileAtRoomTile +GetActTileAtRoomTile: @ 0x080002C4 + ldr r3, _08000330 @ =ram_GetActTileAtRoomTile bx r3 @ call 0x080B1AE0 @ r0: u32 (tileIndex) @ r1: u32 (layer) - thumb_func_start GetVvvAtTilePos -GetVvvAtTilePos: @ 0x080002C8 - ldr r3, _08000334 @ =ram_GetVvvAtTilePos + thumb_func_start GetActTileAtTilePos +GetActTileAtTilePos: @ 0x080002C8 + ldr r3, _08000334 @ =ram_GetActTileAtTilePos bx r3 @ call 0x080B1AF0 @@ -372,9 +372,9 @@ GetCollisionDataAtTilePos: @ 0x080002E0 @ call 0x080B1B54 @ r0: u32 (tileIndex) - thumb_func_start GetVvvForTileType -GetVvvForTileType: @ 0x080002E4 - ldr r3, _08000350 @ =ram_GetVvvForTileType + thumb_func_start GetActTileForTileType +GetActTileForTileType: @ 0x080002E4 + ldr r3, _08000350 @ =ram_GetActTileForTileType bx r3 @ call 0x080B1B68 @@ -407,25 +407,25 @@ _080002F8: .4byte ram_sub_080B19D8 _080002FC: .4byte ram_sub_080B19EC _08000300: .4byte ram_sub_080B19FC _08000304: .4byte ram_sub_080B1A04 -_08000308: .4byte ram_sub_080B1A0C -_0800030C: .4byte ram_GetTileTypeByEntity -_08000310: .4byte ram_GetTileTypeByPos -_08000314: .4byte ram_sub_080B1A48 -_08000318: .4byte ram_sub_080B1A58 +_08000308: .4byte ram_GetTileTypeRelativeToEntity +_0800030C: .4byte ram_GetTileTypeAtEntity +_08000310: .4byte ram_GetTileTypeAtWorldCoords +_08000314: .4byte ram_GetTileTypeAtRoomCoords +_08000318: .4byte ram_GetTileTypeAtRoomTile _0800031C: .4byte ram_GetTileType -_08000320: .4byte ram_GetVvvRelativeToEntity -_08000324: .4byte ram_GetVvvAtEntity -_08000328: .4byte ram_GetVvvAtWorldCoords -_0800032C: .4byte ram_GetVvvAtRoomCoords -_08000330: .4byte ram_GetVvvAtRoomTile -_08000334: .4byte ram_GetVvvAtTilePos +_08000320: .4byte ram_GetActTileRelativeToEntity +_08000324: .4byte ram_GetActTileAtEntity +_08000328: .4byte ram_GetActTileAtWorldCoords +_0800032C: .4byte ram_GetActTileAtRoomCoords +_08000330: .4byte ram_GetActTileAtRoomTile +_08000334: .4byte ram_GetActTileAtTilePos _08000338: .4byte ram_GetCollisionDataRelativeTo _0800033C: .4byte ram_GetCollisionDataAtEntity _08000340: .4byte ram_GetCollisionDataAtWorldCoords _08000344: .4byte ram_GetCollisionDataAtRoomCoords _08000348: .4byte ram_GetCollisionDataAtRoomTile _0800034C: .4byte ram_GetCollisionDataAtTilePos -_08000350: .4byte ram_GetVvvForTileType +_08000350: .4byte ram_GetActTileForTileType _08000354: .4byte ram_sub_080B1B68 _08000358: .4byte ram_sub_080B1B84 _0800035C: .4byte ram_sub_080B1BA4 diff --git a/include/asm.h b/include/asm.h index e95ef3b0..a5e0fccf 100644 --- a/include/asm.h +++ b/include/asm.h @@ -6,9 +6,8 @@ extern u32 Random(void); extern u32 GetRandomByWeight(const u8*); extern void CloneTile(u32, u32, u32); -extern u32 GetTileTypeByEntity(struct Entity_*); -extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); -extern u32 GetTileType(u32 tilePos, u32 layer); + + extern void SetTile(u32 tileIndex, u32 tilePos, u32 layer); @@ -48,22 +47,28 @@ extern u32 sub_0800442E(struct Entity_*); extern void SoundReqClipped(struct Entity_*, u32); extern u32 sub_0800132C(struct Entity_*, struct Entity_*); -extern u32 sub_080B1A48(u32, u32, u32); extern u32 sub_0800445C(struct Entity_*); -extern bool32 GetVvvForTileType(u32); extern u32 CheckRectOnScreen(s32, s32, u32, u32); -extern u32 GetVvvRelativeToEntity(struct Entity_* entity, s32 xOffset, s32 yOffset); -extern u32 GetVvvAtEntity(struct Entity_* entity); -extern u32 GetVvvAtWorldCoords(u32 worldX, u32 worldY, u32 layer); -extern u32 GetVvvAtRoomCoords(u32 roomX, u32 roomY, u32 layer); -extern u32 GetVvvAtRoomTile(u32 roomTileX, u32 roomTileY, u32 layer); -extern u32 GetVvvAtTilePos(u16 tilePos, u8 layer); + +extern u32 GetTileTypeRelativeToEntity(struct Entity_* entity, s32 xOffset, s32 yOffset); +extern u32 GetTileTypeAtEntity(struct Entity_* entity); +extern u32 GetTileTypeAtWorldCoords(s32 worldX, s32 worldY, u32 layer); +extern u32 GetTileTypeAtRoomCoords(u32 roomX, u32 roomY, u32 layer); +extern u32 GetTileTypeAtTilePos(u32 tilePos, u32 layer); + +extern u32 GetActTileRelativeToEntity(struct Entity_* entity, s32 xOffset, s32 yOffset); +extern u32 GetActTileAtEntity(struct Entity_* entity); +extern u32 GetActTileAtWorldCoords(u32 worldX, u32 worldY, u32 layer); +extern u32 GetActTileAtRoomCoords(u32 roomX, u32 roomY, u32 layer); +extern u32 GetActTileAtRoomTile(u32 roomTileX, u32 roomTileY, u32 layer); +extern u32 GetActTileAtTilePos(u16 tilePos, u8 layer); + /** - * Sets vvv for a tilePos. + * Sets actTile for a tilePos. */ -extern void SetVvvAtTilePos(u32 vvv, u32 tilePos, u32 layer); +extern void SetActTileAtTilePos(u32 actTile, u32 tilePos, u32 layer); // Get CollisionData for entity (relative to entity?) extern u32 GetCollisionDataRelativeTo(struct Entity_* entity, s32 xOffset, s32 yOffset); @@ -91,6 +96,9 @@ extern u32 GetCollisionDataAtTilePos(u32 tilePos, u32 layer); */ extern void SetCollisionData(u32 collisionData, u32 tilePos, u32 layer); + +extern u32 GetActTileForTileType(u32 tileType); + typedef struct { u16 key; u16 value; diff --git a/include/collision.h b/include/collision.h index 03d7f5b6..f2d50367 100644 --- a/include/collision.h +++ b/include/collision.h @@ -65,6 +65,6 @@ void CalculateEntityTileCollisions(Entity* this, u32 direction, u32 collisionTyp bool32 ProcessMovementInternal(Entity*, s32, s32, u32); u32 sub_080176E4(Entity*); -extern const u8 gMapTileTypeToVvv[]; // vvv for tileType? +extern const u8 gMapTileTypeToActTile[]; // actTile for tileType? #endif // COLLISION_H diff --git a/include/functions.h b/include/functions.h index 28cf1a30..d0eace75 100644 --- a/include/functions.h +++ b/include/functions.h @@ -47,7 +47,6 @@ extern void ClearBgAnimations(void); extern void SetBGDefaults(void); // Unidentified -extern u32 sub_080B1A0C(Entity*, s32, s32); extern s32 sub_080012DC(Entity*); extern void sub_08001318(Entity*); extern void LinearMoveDirectionOLD(Entity*, u32, u32); diff --git a/include/manager/diggingCaveEntranceManager.h b/include/manager/diggingCaveEntranceManager.h index 959b5397..28b0e6ef 100644 --- a/include/manager/diggingCaveEntranceManager.h +++ b/include/manager/diggingCaveEntranceManager.h @@ -31,12 +31,12 @@ enum DiggingCaveEntranceType { }; typedef struct { - u16 sourceTilePosition; /**< Tile position for the entrance in the source room. */ + u16 sourceTilePos; /**< Tile position for the entrance in the source room. */ u8 sourceRoom; /**< @see RoomID */ u8 type; /**< @see DiggingCaveEntranceType */ u8 targetArea; /**< @see AreaID */ u8 targetRoom; /**< @see RoomID */ - u16 targetTilePosition; /**< Tile position for the entrance in the target room. */ + u16 targetTilePos; /**< Tile position for the entrance in the target room. */ } DiggingCaveEntrance; typedef struct { diff --git a/include/map.h b/include/map.h index 97f13f26..c4284b1a 100644 --- a/include/map.h +++ b/include/map.h @@ -1,17 +1,21 @@ #ifndef MAP_H #define MAP_H -#include "global.h" #include "screen.h" /** * @page TileMap TileMap - * @brief + * @brief The map consists of tiles to create the world. * * 16x16 tiles * 8x8 subTiles - * * + * tileIndex index into the tile set + * 0 to 0x800, special tiles at 0x4000 to 0x4096 + * tilePos index into the current map + * tileType + * collisionData + * */ /** @@ -20,38 +24,40 @@ */ typedef struct { /*0x0000*/ BgSettings* bgSettings; + /** + * tileIndex for each tile on the current layer. + */ /*0x0004*/ u16 mapData[0x40 * 0x40]; - /**< TileIndex for each tile on the current layer. */ // tilemap data? <-- gMapDataTop / gMapDataBottom - /*0x2004*/ u8 collisionData[0x40 * 0x40]; // more tilemap data? <-- gUnk_0200D654 / gUnk_02027EB4 - /*0x3004*/ u16 mapDataOriginal[0x40 * 0x40]; // more tilemap data? <-- gUnk_0200E654 / gUnk_02028EB4 - // Tileset + /** + * Collision data for each tile on the current layer. + * @see CollisionData + */ + /*0x2004*/ u8 collisionData[0x40 * 0x40]; + /** + * Copy of the map data. + * @see mapData + */ + /*0x3004*/ u16 mapDataOriginal[0x40 * 0x40]; + /** + * Maps from the tileIndex to the tileType. + * @see TileType + */ /*0x5004*/ u16 tileTypes[0x800]; - /**< Maps from the TileIndex to the TileType. */ // gTileTypesTop, gTileTypesBottom - /*0x6004*/ u16 unkData2[0x800]; - /**< Maps from a TileType to a TileIndex. */ // gUnk_02011654,gUnk_0202BEB4 // TODO tile index for - // the tile type?? - /*0x7004*/ u16 tiles[0x800 * 4]; - /**< Mapping from a tile to the four tile_attrs it consists of.*/ // gTilesTop, gTilesBottom - - /* - Temporarily call this vvv - VVV - vvv - Vvv - - */ - /*0xb004*/ u8 vvv[0x40*0x40]; /**< Some sort of special behavior for tiles? Falling into holes or jumping off walls does not work when this is all zero.*/ // gUnk_02016654, gUnk_02030EB4 - // TODO check with debugger what accesses this - // 0x637 - // 0x2030eb4 + 0x637 - // 0x20314eb - // e.g. GetVvvAtTilePos accesses this - // TODO check whether this also affects sound played when walking? - /* - 0x10: water - 0x12: ice - 0x57: cloning pad - */ + /** + * Maps from a tileType to a tileIndex. Inverse of @see tileTypes. + * @see TileType + */ + /*0x6004*/ u16 tileIndices[0x800]; + /** + * Maps from a tile index to the four sub tiles (with attributes) it consists of. + * @see https://www.coranac.com/tonc/text/regbg.htm#sec-map + */ + /*0x7004*/ u16 subTiles[0x800 * 4]; + /** + * Some sort of special behavior for tiles? Falling into holes or jumping off walls does not work when this is all zero. + * @see ActTile + */ + /*0xb004*/ u8 actTiles[0x40*0x40]; } MapLayer; extern MapLayer gMapTop; diff --git a/include/player.h b/include/player.h index 12970f65..05f550d3 100644 --- a/include/player.h +++ b/include/player.h @@ -696,7 +696,7 @@ u32 sub_08079B24(void); void sub_08079708(Entity*); void sub_08079744(Entity*); void PlayerUpdateSwimming(Entity*); -u32 GetVvvInFront(Entity* player); +u32 GetActTileInFront(Entity* player); u32 sub_080797C4(void); void CheckPlayerVelocity(void); void sub_0807B068(Entity*); diff --git a/include/room.h b/include/room.h index 1623ef63..80cf8ab5 100644 --- a/include/room.h +++ b/include/room.h @@ -1,9 +1,9 @@ #ifndef ROOM_H #define ROOM_H -#include "global.h" #include "entity.h" #include "droptables.h" +#include "map.h" enum RoomTransition { TRANSITION_DEFAULT, @@ -56,7 +56,7 @@ typedef struct { /*0x28*/ union SplitWord bg3OffsetX; /*0x2C*/ union SplitWord bg3OffsetY; /*0x30*/ Entity* camera_target; - /*0x34*/ u32 unk_34; + /*0x34*/ u32 tileset; // TODO Should be MapDataDefinition*, but then SetupTileSet does not match. } RoomControls; extern RoomControls gRoomControls; diff --git a/include/tiles.h b/include/tiles.h index ee9b568c..46c1552b 100644 --- a/include/tiles.h +++ b/include/tiles.h @@ -3,1781 +3,1781 @@ typedef enum { - TILE_TYPE_0, // 0x0 - TILE_TYPE_1, // 0x1 - TILE_TYPE_2, // 0x2 - TILE_TYPE_3, // 0x3 - TILE_TYPE_4, // 0x4 - TILE_TYPE_5, // 0x5 - TILE_TYPE_6, // 0x6 - TILE_TYPE_7, // 0x7 - TILE_TYPE_8, // 0x8 - TILE_TYPE_9, // 0x9 - TILE_TYPE_10, // 0xa - TILE_TYPE_11, // 0xb - TILE_TYPE_12, // 0xc - TILE_TYPE_13, // 0xd - TILE_TYPE_14, // 0xe - TILE_TYPE_15, // 0xf - TILE_TYPE_16, // 0x10 - TILE_TYPE_17, // 0x11 - TILE_TYPE_18, // 0x12 - TILE_TYPE_19, // 0x13 - TILE_TYPE_20, // 0x14 - TILE_TYPE_21, // 0x15 - TILE_TYPE_22, // 0x16 - TILE_TYPE_23, // 0x17 - TILE_TYPE_24, // 0x18 - TILE_TYPE_25, // 0x19 - TILE_TYPE_26, // 0x1a - TILE_TYPE_27, // 0x1b - TILE_TYPE_28, // 0x1c CUT_BUSH - TILE_TYPE_29, // 0x1d CUT_GRASS - TILE_TYPE_30, // 0x1e CUT_SIGNPOST - TILE_TYPE_31, // 0x1f CUT_TREE - TILE_TYPE_32, // 0x20 - TILE_TYPE_33, // 0x21 - TILE_TYPE_34, // 0x22 - TILE_TYPE_35, // 0x23 - TILE_TYPE_36, // 0x24 - TILE_TYPE_37, // 0x25 - TILE_TYPE_38, // 0x26 - TILE_TYPE_39, // 0x27 - TILE_TYPE_40, // 0x28 - TILE_TYPE_41, // 0x29 - TILE_TYPE_42, // 0x2a - TILE_TYPE_43, // 0x2b - TILE_TYPE_44, // 0x2c - TILE_TYPE_45, // 0x2d - TILE_TYPE_46, // 0x2e - TILE_TYPE_47, // 0x2f - TILE_TYPE_48, // 0x30 - TILE_TYPE_49, // 0x31 - TILE_TYPE_50, // 0x32 - TILE_TYPE_51, // 0x33 - TILE_TYPE_52, // 0x34 - TILE_TYPE_53, // 0x35 - TILE_TYPE_54, // 0x36 - TILE_TYPE_55, // 0x37 - TILE_TYPE_56, // 0x38 - TILE_TYPE_57, // 0x39 - TILE_TYPE_58, // 0x3a - TILE_TYPE_59, // 0x3b - TILE_TYPE_60, // 0x3c - TILE_TYPE_61, // 0x3d - TILE_TYPE_62, // 0x3e - TILE_TYPE_63, // 0x3f - TILE_TYPE_64, // 0x40 - TILE_TYPE_65, // 0x41 - TILE_TYPE_66, // 0x42 - TILE_TYPE_67, // 0x43 - TILE_TYPE_68, // 0x44 - TILE_TYPE_69, // 0x45 - TILE_TYPE_70, // 0x46 - TILE_TYPE_71, // 0x47 - TILE_TYPE_72, // 0x48 - TILE_TYPE_73, // 0x49 - TILE_TYPE_74, // 0x4a - TILE_TYPE_75, // 0x4b - TILE_TYPE_76, // 0x4c - TILE_TYPE_77, // 0x4d - TILE_TYPE_78, // 0x4e - TILE_TYPE_79, // 0x4f - TILE_TYPE_80, // 0x50 - TILE_TYPE_81, // 0x51 - TILE_TYPE_82, // 0x52 - TILE_TYPE_83, // 0x53 - TILE_TYPE_84, // 0x54 - TILE_TYPE_85, // 0x55 ROCK - TILE_TYPE_86, // 0x56 - TILE_TYPE_87, // 0x57 - TILE_TYPE_88, // 0x58 - TILE_TYPE_89, // 0x59 - TILE_TYPE_90, // 0x5a - TILE_TYPE_91, // 0x5b - TILE_TYPE_92, // 0x5c - TILE_TYPE_93, // 0x5d - TILE_TYPE_94, // 0x5e - TILE_TYPE_95, // 0x5f - TILE_TYPE_96, // 0x60 - TILE_TYPE_97, // 0x61 - TILE_TYPE_98, // 0x62 - TILE_TYPE_99, // 0x63 - TILE_TYPE_100, // 0x64 - TILE_TYPE_101, // 0x65 - TILE_TYPE_102, // 0x66 - TILE_TYPE_103, // 0x67 - TILE_TYPE_104, // 0x68 - TILE_TYPE_105, // 0x69 - TILE_TYPE_106, // 0x6a - TILE_TYPE_107, // 0x6b - TILE_TYPE_108, // 0x6c - TILE_TYPE_109, // 0x6d - TILE_TYPE_110, // 0x6e - TILE_TYPE_111, // 0x6f - TILE_TYPE_112, // 0x70 - TILE_TYPE_113, // 0x71 - TILE_TYPE_114, // 0x72 - TILE_TYPE_115, // 0x73 CHEST - TILE_TYPE_116, // 0x74 CHEST_OPEN - TILE_TYPE_117, // 0x75 - TILE_TYPE_118, // 0x76 TORCH - TILE_TYPE_119, // 0x77 TORCH_LIT - TILE_TYPE_120, // 0x78 PRESSURE_BUTTON - TILE_TYPE_121, // 0x79 PRESSURE_BUTTON_PRESSED - TILE_TYPE_122, // 0x7a PRESSURE_SQUARE - TILE_TYPE_123, // 0x7b PRESSURE_SQUARE_PRESSED - TILE_TYPE_124, // 0x7c - TILE_TYPE_125, // 0x7d - TILE_TYPE_126, // 0x7e - TILE_TYPE_127, // 0x7f - TILE_TYPE_128, // 0x80 - TILE_TYPE_129, // 0x81 - TILE_TYPE_130, // 0x82 - TILE_TYPE_131, // 0x83 - TILE_TYPE_132, // 0x84 - TILE_TYPE_133, // 0x85 - TILE_TYPE_134, // 0x86 - TILE_TYPE_135, // 0x87 - TILE_TYPE_136, // 0x88 - TILE_TYPE_137, // 0x89 - TILE_TYPE_138, // 0x8a - TILE_TYPE_139, // 0x8b - TILE_TYPE_140, // 0x8c - TILE_TYPE_141, // 0x8d - TILE_TYPE_142, // 0x8e - TILE_TYPE_143, // 0x8f - TILE_TYPE_144, // 0x90 - TILE_TYPE_145, // 0x91 - TILE_TYPE_146, // 0x92 STAIRS_UP - TILE_TYPE_147, // 0x93 STAIRS_DOWN - TILE_TYPE_148, // 0x94 - TILE_TYPE_149, // 0x95 - TILE_TYPE_150, // 0x96 - TILE_TYPE_151, // 0x97 - TILE_TYPE_152, // 0x98 - TILE_TYPE_153, // 0x99 - TILE_TYPE_154, // 0x9a - TILE_TYPE_155, // 0x9b - TILE_TYPE_156, // 0x9c - TILE_TYPE_157, // 0x9d - TILE_TYPE_158, // 0x9e - TILE_TYPE_159, // 0x9f - TILE_TYPE_160, // 0xa0 - TILE_TYPE_161, // 0xa1 - TILE_TYPE_162, // 0xa2 - TILE_TYPE_163, // 0xa3 - TILE_TYPE_164, // 0xa4 - TILE_TYPE_165, // 0xa5 - TILE_TYPE_166, // 0xa6 - TILE_TYPE_167, // 0xa7 - TILE_TYPE_168, // 0xa8 - TILE_TYPE_169, // 0xa9 - TILE_TYPE_170, // 0xaa - TILE_TYPE_171, // 0xab - TILE_TYPE_172, // 0xac - TILE_TYPE_173, // 0xad - TILE_TYPE_174, // 0xae - TILE_TYPE_175, // 0xaf - TILE_TYPE_176, // 0xb0 - TILE_TYPE_177, // 0xb1 - TILE_TYPE_178, // 0xb2 - TILE_TYPE_179, // 0xb3 - TILE_TYPE_180, // 0xb4 - TILE_TYPE_181, // 0xb5 - TILE_TYPE_182, // 0xb6 - TILE_TYPE_183, // 0xb7 - TILE_TYPE_184, // 0xb8 - TILE_TYPE_185, // 0xb9 - TILE_TYPE_186, // 0xba - TILE_TYPE_187, // 0xbb - TILE_TYPE_188, // 0xbc - TILE_TYPE_189, // 0xbd - TILE_TYPE_190, // 0xbe - TILE_TYPE_191, // 0xbf - TILE_TYPE_192, // 0xc0 - TILE_TYPE_193, // 0xc1 - TILE_TYPE_194, // 0xc2 - TILE_TYPE_195, // 0xc3 - TILE_TYPE_196, // 0xc4 - TILE_TYPE_197, // 0xc5 - TILE_TYPE_198, // 0xc6 - TILE_TYPE_199, // 0xc7 - TILE_TYPE_200, // 0xc8 - TILE_TYPE_201, // 0xc9 - TILE_TYPE_202, // 0xca - TILE_TYPE_203, // 0xcb - TILE_TYPE_204, // 0xcc - TILE_TYPE_205, // 0xcd - TILE_TYPE_206, // 0xce - TILE_TYPE_207, // 0xcf - TILE_TYPE_208, // 0xd0 - TILE_TYPE_209, // 0xd1 - TILE_TYPE_210, // 0xd2 - TILE_TYPE_211, // 0xd3 - TILE_TYPE_212, // 0xd4 - TILE_TYPE_213, // 0xd5 - TILE_TYPE_214, // 0xd6 - TILE_TYPE_215, // 0xd7 - TILE_TYPE_216, // 0xd8 - TILE_TYPE_217, // 0xd9 - TILE_TYPE_218, // 0xda - TILE_TYPE_219, // 0xdb - TILE_TYPE_220, // 0xdc - TILE_TYPE_221, // 0xdd - TILE_TYPE_222, // 0xde - TILE_TYPE_223, // 0xdf - TILE_TYPE_224, // 0xe0 - TILE_TYPE_225, // 0xe1 - TILE_TYPE_226, // 0xe2 - TILE_TYPE_227, // 0xe3 - TILE_TYPE_228, // 0xe4 - TILE_TYPE_229, // 0xe5 - TILE_TYPE_230, // 0xe6 - TILE_TYPE_231, // 0xe7 - TILE_TYPE_232, // 0xe8 - TILE_TYPE_233, // 0xe9 - TILE_TYPE_234, // 0xea - TILE_TYPE_235, // 0xeb - TILE_TYPE_236, // 0xec - TILE_TYPE_237, // 0xed - TILE_TYPE_238, // 0xee - TILE_TYPE_239, // 0xef - TILE_TYPE_240, // 0xf0 - TILE_TYPE_241, // 0xf1 - TILE_TYPE_242, // 0xf2 - TILE_TYPE_243, // 0xf3 - TILE_TYPE_244, // 0xf4 - TILE_TYPE_245, // 0xf5 - TILE_TYPE_246, // 0xf6 - TILE_TYPE_247, // 0xf7 - TILE_TYPE_248, // 0xf8 - TILE_TYPE_249, // 0xf9 - TILE_TYPE_250, // 0xfa - TILE_TYPE_251, // 0xfb - TILE_TYPE_252, // 0xfc - TILE_TYPE_253, // 0xfd - TILE_TYPE_254, // 0xfe - TILE_TYPE_255, // 0xff - TILE_TYPE_256, // 0x100 - TILE_TYPE_257, // 0x101 - TILE_TYPE_258, // 0x102 - TILE_TYPE_259, // 0x103 - TILE_TYPE_260, // 0x104 - TILE_TYPE_261, // 0x105 - TILE_TYPE_262, // 0x106 - TILE_TYPE_263, // 0x107 - TILE_TYPE_264, // 0x108 - TILE_TYPE_265, // 0x109 - TILE_TYPE_266, // 0x10a - TILE_TYPE_267, // 0x10b - TILE_TYPE_268, // 0x10c - TILE_TYPE_269, // 0x10d - TILE_TYPE_270, // 0x10e - TILE_TYPE_271, // 0x10f - TILE_TYPE_272, // 0x110 - TILE_TYPE_273, // 0x111 - TILE_TYPE_274, // 0x112 - TILE_TYPE_275, // 0x113 - TILE_TYPE_276, // 0x114 - TILE_TYPE_277, // 0x115 - TILE_TYPE_278, // 0x116 - TILE_TYPE_279, // 0x117 - TILE_TYPE_280, // 0x118 - TILE_TYPE_281, // 0x119 - TILE_TYPE_282, // 0x11a - TILE_TYPE_283, // 0x11b - TILE_TYPE_284, // 0x11c - TILE_TYPE_285, // 0x11d - TILE_TYPE_286, // 0x11e - TILE_TYPE_287, // 0x11f - TILE_TYPE_288, // 0x120 - TILE_TYPE_289, // 0x121 - TILE_TYPE_290, // 0x122 - TILE_TYPE_291, // 0x123 - TILE_TYPE_292, // 0x124 - TILE_TYPE_293, // 0x125 - TILE_TYPE_294, // 0x126 - TILE_TYPE_295, // 0x127 - TILE_TYPE_296, // 0x128 - TILE_TYPE_297, // 0x129 - TILE_TYPE_298, // 0x12a - TILE_TYPE_299, // 0x12b - TILE_TYPE_300, // 0x12c - TILE_TYPE_301, // 0x12d - TILE_TYPE_302, // 0x12e - TILE_TYPE_303, // 0x12f - TILE_TYPE_304, // 0x130 - TILE_TYPE_305, // 0x131 - TILE_TYPE_306, // 0x132 - TILE_TYPE_307, // 0x133 - TILE_TYPE_308, // 0x134 - TILE_TYPE_309, // 0x135 - TILE_TYPE_310, // 0x136 - TILE_TYPE_311, // 0x137 - TILE_TYPE_312, // 0x138 - TILE_TYPE_313, // 0x139 - TILE_TYPE_314, // 0x13a - TILE_TYPE_315, // 0x13b - TILE_TYPE_316, // 0x13c - TILE_TYPE_317, // 0x13d - TILE_TYPE_318, // 0x13e - TILE_TYPE_319, // 0x13f - TILE_TYPE_320, // 0x140 - TILE_TYPE_321, // 0x141 - TILE_TYPE_322, // 0x142 - TILE_TYPE_323, // 0x143 - TILE_TYPE_324, // 0x144 - TILE_TYPE_325, // 0x145 - TILE_TYPE_326, // 0x146 - TILE_TYPE_327, // 0x147 - TILE_TYPE_328, // 0x148 - TILE_TYPE_329, // 0x149 - TILE_TYPE_330, // 0x14a - TILE_TYPE_331, // 0x14b - TILE_TYPE_332, // 0x14c - TILE_TYPE_333, // 0x14d - TILE_TYPE_334, // 0x14e - TILE_TYPE_335, // 0x14f - TILE_TYPE_336, // 0x150 - TILE_TYPE_337, // 0x151 - TILE_TYPE_338, // 0x152 - TILE_TYPE_339, // 0x153 - TILE_TYPE_340, // 0x154 - TILE_TYPE_341, // 0x155 - TILE_TYPE_342, // 0x156 - TILE_TYPE_343, // 0x157 - TILE_TYPE_344, // 0x158 - TILE_TYPE_345, // 0x159 - TILE_TYPE_346, // 0x15a - TILE_TYPE_347, // 0x15b - TILE_TYPE_348, // 0x15c - TILE_TYPE_349, // 0x15d - TILE_TYPE_350, // 0x15e - TILE_TYPE_351, // 0x15f - TILE_TYPE_352, // 0x160 - TILE_TYPE_353, // 0x161 - TILE_TYPE_354, // 0x162 - TILE_TYPE_355, // 0x163 - TILE_TYPE_356, // 0x164 - TILE_TYPE_357, // 0x165 - TILE_TYPE_358, // 0x166 - TILE_TYPE_359, // 0x167 - TILE_TYPE_360, // 0x168 - TILE_TYPE_361, // 0x169 - TILE_TYPE_362, // 0x16a - TILE_TYPE_363, // 0x16b - TILE_TYPE_364, // 0x16c - TILE_TYPE_365, // 0x16d - TILE_TYPE_366, // 0x16e - TILE_TYPE_367, // 0x16f - TILE_TYPE_368, // 0x170 - TILE_TYPE_369, // 0x171 - TILE_TYPE_370, // 0x172 - TILE_TYPE_371, // 0x173 - TILE_TYPE_372, // 0x174 - TILE_TYPE_373, // 0x175 - TILE_TYPE_374, // 0x176 SIGNPOST - TILE_TYPE_375, // 0x177 - TILE_TYPE_376, // 0x178 - TILE_TYPE_377, // 0x179 - TILE_TYPE_378, // 0x17a - TILE_TYPE_379, // 0x17b - TILE_TYPE_380, // 0x17c - TILE_TYPE_381, // 0x17d - TILE_TYPE_382, // 0x17e - TILE_TYPE_383, // 0x17f - TILE_TYPE_384, // 0x180 - TILE_TYPE_385, // 0x181 - TILE_TYPE_386, // 0x182 - TILE_TYPE_387, // 0x183 - TILE_TYPE_388, // 0x184 - TILE_TYPE_389, // 0x185 - TILE_TYPE_390, // 0x186 - TILE_TYPE_391, // 0x187 - TILE_TYPE_392, // 0x188 - TILE_TYPE_393, // 0x189 - TILE_TYPE_394, // 0x18a - TILE_TYPE_395, // 0x18b - TILE_TYPE_396, // 0x18c - TILE_TYPE_397, // 0x18d - TILE_TYPE_398, // 0x18e - TILE_TYPE_399, // 0x18f - TILE_TYPE_400, // 0x190 - TILE_TYPE_401, // 0x191 - TILE_TYPE_402, // 0x192 - TILE_TYPE_403, // 0x193 - TILE_TYPE_404, // 0x194 - TILE_TYPE_405, // 0x195 - TILE_TYPE_406, // 0x196 - TILE_TYPE_407, // 0x197 - TILE_TYPE_408, // 0x198 - TILE_TYPE_409, // 0x199 - TILE_TYPE_410, // 0x19a - TILE_TYPE_411, // 0x19b - TILE_TYPE_412, // 0x19c - TILE_TYPE_413, // 0x19d - TILE_TYPE_414, // 0x19e - TILE_TYPE_415, // 0x19f - TILE_TYPE_416, // 0x1a0 - TILE_TYPE_417, // 0x1a1 - TILE_TYPE_418, // 0x1a2 - TILE_TYPE_419, // 0x1a3 - TILE_TYPE_420, // 0x1a4 - TILE_TYPE_421, // 0x1a5 - TILE_TYPE_422, // 0x1a6 - TILE_TYPE_423, // 0x1a7 - TILE_TYPE_424, // 0x1a8 - TILE_TYPE_425, // 0x1a9 - TILE_TYPE_426, // 0x1aa - TILE_TYPE_427, // 0x1ab - TILE_TYPE_428, // 0x1ac - TILE_TYPE_429, // 0x1ad - TILE_TYPE_430, // 0x1ae - TILE_TYPE_431, // 0x1af - TILE_TYPE_432, // 0x1b0 - TILE_TYPE_433, // 0x1b1 - TILE_TYPE_434, // 0x1b2 - TILE_TYPE_435, // 0x1b3 - TILE_TYPE_436, // 0x1b4 - TILE_TYPE_437, // 0x1b5 - TILE_TYPE_438, // 0x1b6 - TILE_TYPE_439, // 0x1b7 - TILE_TYPE_440, // 0x1b8 - TILE_TYPE_441, // 0x1b9 - TILE_TYPE_442, // 0x1ba - TILE_TYPE_443, // 0x1bb - TILE_TYPE_444, // 0x1bc - TILE_TYPE_445, // 0x1bd - TILE_TYPE_446, // 0x1be - TILE_TYPE_447, // 0x1bf - TILE_TYPE_448, // 0x1c0 - TILE_TYPE_449, // 0x1c1 - TILE_TYPE_450, // 0x1c2 - TILE_TYPE_451, // 0x1c3 - TILE_TYPE_452, // 0x1c4 - TILE_TYPE_453, // 0x1c5 - TILE_TYPE_454, // 0x1c6 - TILE_TYPE_455, // 0x1c7 - TILE_TYPE_456, // 0x1c8 - TILE_TYPE_457, // 0x1c9 - TILE_TYPE_458, // 0x1ca - TILE_TYPE_459, // 0x1cb - TILE_TYPE_460, // 0x1cc - TILE_TYPE_461, // 0x1cd - TILE_TYPE_462, // 0x1ce - TILE_TYPE_463, // 0x1cf - TILE_TYPE_464, // 0x1d0 - TILE_TYPE_465, // 0x1d1 - TILE_TYPE_466, // 0x1d2 - TILE_TYPE_467, // 0x1d3 PERMA_ROCK - TILE_TYPE_468, // 0x1d4 PERMA_ROCK2 - TILE_TYPE_469, // 0x1d5 PERMA_ROCK3 - TILE_TYPE_470, // 0x1d6 PERMA_ROCK4 - TILE_TYPE_471, // 0x1d7 - TILE_TYPE_472, // 0x1d8 - TILE_TYPE_473, // 0x1d9 - TILE_TYPE_474, // 0x1da - TILE_TYPE_475, // 0x1db - TILE_TYPE_476, // 0x1dc - TILE_TYPE_477, // 0x1dd - TILE_TYPE_478, // 0x1de - TILE_TYPE_479, // 0x1df - TILE_TYPE_480, // 0x1e0 - TILE_TYPE_481, // 0x1e1 - TILE_TYPE_482, // 0x1e2 - TILE_TYPE_483, // 0x1e3 - TILE_TYPE_484, // 0x1e4 - TILE_TYPE_485, // 0x1e5 - TILE_TYPE_486, // 0x1e6 - TILE_TYPE_487, // 0x1e7 - TILE_TYPE_488, // 0x1e8 - TILE_TYPE_489, // 0x1e9 - TILE_TYPE_490, // 0x1ea - TILE_TYPE_491, // 0x1eb - TILE_TYPE_492, // 0x1ec - TILE_TYPE_493, // 0x1ed - TILE_TYPE_494, // 0x1ee - TILE_TYPE_495, // 0x1ef - TILE_TYPE_496, // 0x1f0 - TILE_TYPE_497, // 0x1f1 - TILE_TYPE_498, // 0x1f2 - TILE_TYPE_499, // 0x1f3 - TILE_TYPE_500, // 0x1f4 - TILE_TYPE_501, // 0x1f5 - TILE_TYPE_502, // 0x1f6 - TILE_TYPE_503, // 0x1f7 - TILE_TYPE_504, // 0x1f8 - TILE_TYPE_505, // 0x1f9 - TILE_TYPE_506, // 0x1fa - TILE_TYPE_507, // 0x1fb - TILE_TYPE_508, // 0x1fc - TILE_TYPE_509, // 0x1fd - TILE_TYPE_510, // 0x1fe - TILE_TYPE_511, // 0x1ff - TILE_TYPE_512, // 0x200 - TILE_TYPE_513, // 0x201 - TILE_TYPE_514, // 0x202 - TILE_TYPE_515, // 0x203 - TILE_TYPE_516, // 0x204 - TILE_TYPE_517, // 0x205 - TILE_TYPE_518, // 0x206 - TILE_TYPE_519, // 0x207 - TILE_TYPE_520, // 0x208 - TILE_TYPE_521, // 0x209 - TILE_TYPE_522, // 0x20a - TILE_TYPE_523, // 0x20b - TILE_TYPE_524, // 0x20c - TILE_TYPE_525, // 0x20d - TILE_TYPE_526, // 0x20e - TILE_TYPE_527, // 0x20f - TILE_TYPE_528, // 0x210 - TILE_TYPE_529, // 0x211 - TILE_TYPE_530, // 0x212 - TILE_TYPE_531, // 0x213 - TILE_TYPE_532, // 0x214 - TILE_TYPE_533, // 0x215 - TILE_TYPE_534, // 0x216 - TILE_TYPE_535, // 0x217 - TILE_TYPE_536, // 0x218 - TILE_TYPE_537, // 0x219 - TILE_TYPE_538, // 0x21a - TILE_TYPE_539, // 0x21b - TILE_TYPE_540, // 0x21c - TILE_TYPE_541, // 0x21d - TILE_TYPE_542, // 0x21e - TILE_TYPE_543, // 0x21f - TILE_TYPE_544, // 0x220 - TILE_TYPE_545, // 0x221 - TILE_TYPE_546, // 0x222 - TILE_TYPE_547, // 0x223 - TILE_TYPE_548, // 0x224 - TILE_TYPE_549, // 0x225 - TILE_TYPE_550, // 0x226 - TILE_TYPE_551, // 0x227 - TILE_TYPE_552, // 0x228 - TILE_TYPE_553, // 0x229 - TILE_TYPE_554, // 0x22a - TILE_TYPE_555, // 0x22b - TILE_TYPE_556, // 0x22c - TILE_TYPE_557, // 0x22d - TILE_TYPE_558, // 0x22e - TILE_TYPE_559, // 0x22f - TILE_TYPE_560, // 0x230 - TILE_TYPE_561, // 0x231 - TILE_TYPE_562, // 0x232 - TILE_TYPE_563, // 0x233 - TILE_TYPE_564, // 0x234 - TILE_TYPE_565, // 0x235 - TILE_TYPE_566, // 0x236 - TILE_TYPE_567, // 0x237 - TILE_TYPE_568, // 0x238 - TILE_TYPE_569, // 0x239 - TILE_TYPE_570, // 0x23a - TILE_TYPE_571, // 0x23b - TILE_TYPE_572, // 0x23c - TILE_TYPE_573, // 0x23d - TILE_TYPE_574, // 0x23e - TILE_TYPE_575, // 0x23f - TILE_TYPE_576, // 0x240 - TILE_TYPE_577, // 0x241 - TILE_TYPE_578, // 0x242 - TILE_TYPE_579, // 0x243 - TILE_TYPE_580, // 0x244 - TILE_TYPE_581, // 0x245 - TILE_TYPE_582, // 0x246 - TILE_TYPE_583, // 0x247 - TILE_TYPE_584, // 0x248 - TILE_TYPE_585, // 0x249 - TILE_TYPE_586, // 0x24a - TILE_TYPE_587, // 0x24b - TILE_TYPE_588, // 0x24c - TILE_TYPE_589, // 0x24d - TILE_TYPE_590, // 0x24e - TILE_TYPE_591, // 0x24f - TILE_TYPE_592, // 0x250 - TILE_TYPE_593, // 0x251 - TILE_TYPE_594, // 0x252 - TILE_TYPE_595, // 0x253 - TILE_TYPE_596, // 0x254 - TILE_TYPE_597, // 0x255 - TILE_TYPE_598, // 0x256 - TILE_TYPE_599, // 0x257 - TILE_TYPE_600, // 0x258 - TILE_TYPE_601, // 0x259 - TILE_TYPE_602, // 0x25a - TILE_TYPE_603, // 0x25b - TILE_TYPE_604, // 0x25c - TILE_TYPE_605, // 0x25d - TILE_TYPE_606, // 0x25e - TILE_TYPE_607, // 0x25f - TILE_TYPE_608, // 0x260 - TILE_TYPE_609, // 0x261 - TILE_TYPE_610, // 0x262 - TILE_TYPE_611, // 0x263 - TILE_TYPE_612, // 0x264 - TILE_TYPE_613, // 0x265 - TILE_TYPE_614, // 0x266 - TILE_TYPE_615, // 0x267 - TILE_TYPE_616, // 0x268 - TILE_TYPE_617, // 0x269 - TILE_TYPE_618, // 0x26a - TILE_TYPE_619, // 0x26b - TILE_TYPE_620, // 0x26c - TILE_TYPE_621, // 0x26d - TILE_TYPE_622, // 0x26e - TILE_TYPE_623, // 0x26f - TILE_TYPE_624, // 0x270 - TILE_TYPE_625, // 0x271 - TILE_TYPE_626, // 0x272 - TILE_TYPE_627, // 0x273 - TILE_TYPE_628, // 0x274 - TILE_TYPE_629, // 0x275 - TILE_TYPE_630, // 0x276 - TILE_TYPE_631, // 0x277 - TILE_TYPE_632, // 0x278 - TILE_TYPE_633, // 0x279 - TILE_TYPE_634, // 0x27a - TILE_TYPE_635, // 0x27b - TILE_TYPE_636, // 0x27c - TILE_TYPE_637, // 0x27d - TILE_TYPE_638, // 0x27e - TILE_TYPE_639, // 0x27f - TILE_TYPE_640, // 0x280 - TILE_TYPE_641, // 0x281 - TILE_TYPE_642, // 0x282 - TILE_TYPE_643, // 0x283 - TILE_TYPE_644, // 0x284 - TILE_TYPE_645, // 0x285 - TILE_TYPE_646, // 0x286 - TILE_TYPE_647, // 0x287 - TILE_TYPE_648, // 0x288 - TILE_TYPE_649, // 0x289 - TILE_TYPE_650, // 0x28a - TILE_TYPE_651, // 0x28b - TILE_TYPE_652, // 0x28c - TILE_TYPE_653, // 0x28d - TILE_TYPE_654, // 0x28e - TILE_TYPE_655, // 0x28f - TILE_TYPE_656, // 0x290 - TILE_TYPE_657, // 0x291 - TILE_TYPE_658, // 0x292 - TILE_TYPE_659, // 0x293 - TILE_TYPE_660, // 0x294 - TILE_TYPE_661, // 0x295 - TILE_TYPE_662, // 0x296 - TILE_TYPE_663, // 0x297 - TILE_TYPE_664, // 0x298 - TILE_TYPE_665, // 0x299 - TILE_TYPE_666, // 0x29a - TILE_TYPE_667, // 0x29b - TILE_TYPE_668, // 0x29c - TILE_TYPE_669, // 0x29d - TILE_TYPE_670, // 0x29e - TILE_TYPE_671, // 0x29f - TILE_TYPE_672, // 0x2a0 - TILE_TYPE_673, // 0x2a1 - TILE_TYPE_674, // 0x2a2 - TILE_TYPE_675, // 0x2a3 - TILE_TYPE_676, // 0x2a4 - TILE_TYPE_677, // 0x2a5 - TILE_TYPE_678, // 0x2a6 - TILE_TYPE_679, // 0x2a7 - TILE_TYPE_680, // 0x2a8 - TILE_TYPE_681, // 0x2a9 - TILE_TYPE_682, // 0x2aa - TILE_TYPE_683, // 0x2ab - TILE_TYPE_684, // 0x2ac - TILE_TYPE_685, // 0x2ad - TILE_TYPE_686, // 0x2ae - TILE_TYPE_687, // 0x2af - TILE_TYPE_688, // 0x2b0 - TILE_TYPE_689, // 0x2b1 - TILE_TYPE_690, // 0x2b2 - TILE_TYPE_691, // 0x2b3 - TILE_TYPE_692, // 0x2b4 - TILE_TYPE_693, // 0x2b5 - TILE_TYPE_694, // 0x2b6 - TILE_TYPE_695, // 0x2b7 - TILE_TYPE_696, // 0x2b8 - TILE_TYPE_697, // 0x2b9 - TILE_TYPE_698, // 0x2ba - TILE_TYPE_699, // 0x2bb - TILE_TYPE_700, // 0x2bc - TILE_TYPE_701, // 0x2bd - TILE_TYPE_702, // 0x2be - TILE_TYPE_703, // 0x2bf - TILE_TYPE_704, // 0x2c0 - TILE_TYPE_705, // 0x2c1 - TILE_TYPE_706, // 0x2c2 - TILE_TYPE_707, // 0x2c3 - TILE_TYPE_708, // 0x2c4 - TILE_TYPE_709, // 0x2c5 - TILE_TYPE_710, // 0x2c6 - TILE_TYPE_711, // 0x2c7 - TILE_TYPE_712, // 0x2c8 - TILE_TYPE_713, // 0x2c9 - TILE_TYPE_714, // 0x2ca - TILE_TYPE_715, // 0x2cb - TILE_TYPE_716, // 0x2cc - TILE_TYPE_717, // 0x2cd - TILE_TYPE_718, // 0x2ce - TILE_TYPE_719, // 0x2cf - TILE_TYPE_720, // 0x2d0 - TILE_TYPE_721, // 0x2d1 - TILE_TYPE_722, // 0x2d2 - TILE_TYPE_723, // 0x2d3 - TILE_TYPE_724, // 0x2d4 - TILE_TYPE_725, // 0x2d5 - TILE_TYPE_726, // 0x2d6 - TILE_TYPE_727, // 0x2d7 - TILE_TYPE_728, // 0x2d8 - TILE_TYPE_729, // 0x2d9 - TILE_TYPE_730, // 0x2da - TILE_TYPE_731, // 0x2db - TILE_TYPE_732, // 0x2dc - TILE_TYPE_733, // 0x2dd - TILE_TYPE_734, // 0x2de - TILE_TYPE_735, // 0x2df - TILE_TYPE_736, // 0x2e0 - TILE_TYPE_737, // 0x2e1 - TILE_TYPE_738, // 0x2e2 - TILE_TYPE_739, // 0x2e3 - TILE_TYPE_740, // 0x2e4 - TILE_TYPE_741, // 0x2e5 - TILE_TYPE_742, // 0x2e6 - TILE_TYPE_743, // 0x2e7 - TILE_TYPE_744, // 0x2e8 - TILE_TYPE_745, // 0x2e9 - TILE_TYPE_746, // 0x2ea - TILE_TYPE_747, // 0x2eb - TILE_TYPE_748, // 0x2ec - TILE_TYPE_749, // 0x2ed - TILE_TYPE_750, // 0x2ee - TILE_TYPE_751, // 0x2ef - TILE_TYPE_752, // 0x2f0 - TILE_TYPE_753, // 0x2f1 - TILE_TYPE_754, // 0x2f2 - TILE_TYPE_755, // 0x2f3 - TILE_TYPE_756, // 0x2f4 - TILE_TYPE_757, // 0x2f5 - TILE_TYPE_758, // 0x2f6 - TILE_TYPE_759, // 0x2f7 - TILE_TYPE_760, // 0x2f8 - TILE_TYPE_761, // 0x2f9 - TILE_TYPE_762, // 0x2fa - TILE_TYPE_763, // 0x2fb - TILE_TYPE_764, // 0x2fc - TILE_TYPE_765, // 0x2fd - TILE_TYPE_766, // 0x2fe - TILE_TYPE_767, // 0x2ff - TILE_TYPE_768, // 0x300 - TILE_TYPE_769, // 0x301 - TILE_TYPE_770, // 0x302 - TILE_TYPE_771, // 0x303 - TILE_TYPE_772, // 0x304 - TILE_TYPE_773, // 0x305 - TILE_TYPE_774, // 0x306 - TILE_TYPE_775, // 0x307 - TILE_TYPE_776, // 0x308 - TILE_TYPE_777, // 0x309 - TILE_TYPE_778, // 0x30a - TILE_TYPE_779, // 0x30b - TILE_TYPE_780, // 0x30c - TILE_TYPE_781, // 0x30d - TILE_TYPE_782, // 0x30e - TILE_TYPE_783, // 0x30f - TILE_TYPE_784, // 0x310 - TILE_TYPE_785, // 0x311 - TILE_TYPE_786, // 0x312 - TILE_TYPE_787, // 0x313 - TILE_TYPE_788, // 0x314 - TILE_TYPE_789, // 0x315 - TILE_TYPE_790, // 0x316 - TILE_TYPE_791, // 0x317 RED_TILE - TILE_TYPE_792, // 0x318 BLUE_TILE - TILE_TYPE_793, // 0x319 - TILE_TYPE_794, // 0x31a - TILE_TYPE_795, // 0x31b - TILE_TYPE_796, // 0x31c - TILE_TYPE_797, // 0x31d - TILE_TYPE_798, // 0x31e - TILE_TYPE_799, // 0x31f - TILE_TYPE_800, // 0x320 - TILE_TYPE_801, // 0x321 - TILE_TYPE_802, // 0x322 - TILE_TYPE_803, // 0x323 - TILE_TYPE_804, // 0x324 - TILE_TYPE_805, // 0x325 - TILE_TYPE_806, // 0x326 - TILE_TYPE_807, // 0x327 - TILE_TYPE_808, // 0x328 - TILE_TYPE_809, // 0x329 - TILE_TYPE_810, // 0x32a - TILE_TYPE_811, // 0x32b - TILE_TYPE_812, // 0x32c - TILE_TYPE_813, // 0x32d - TILE_TYPE_814, // 0x32e - TILE_TYPE_815, // 0x32f - TILE_TYPE_816, // 0x330 - TILE_TYPE_817, // 0x331 - TILE_TYPE_818, // 0x332 - TILE_TYPE_819, // 0x333 - TILE_TYPE_820, // 0x334 - TILE_TYPE_821, // 0x335 - TILE_TYPE_822, // 0x336 - TILE_TYPE_823, // 0x337 - TILE_TYPE_824, // 0x338 - TILE_TYPE_825, // 0x339 - TILE_TYPE_826, // 0x33a - TILE_TYPE_827, // 0x33b - TILE_TYPE_828, // 0x33c - TILE_TYPE_829, // 0x33d - TILE_TYPE_830, // 0x33e - TILE_TYPE_831, // 0x33f - TILE_TYPE_832, // 0x340 - TILE_TYPE_833, // 0x341 - TILE_TYPE_834, // 0x342 - TILE_TYPE_835, // 0x343 - TILE_TYPE_836, // 0x344 - TILE_TYPE_837, // 0x345 - TILE_TYPE_838, // 0x346 - TILE_TYPE_839, // 0x347 - TILE_TYPE_840, // 0x348 - TILE_TYPE_841, // 0x349 - TILE_TYPE_842, // 0x34a - TILE_TYPE_843, // 0x34b - TILE_TYPE_844, // 0x34c - TILE_TYPE_845, // 0x34d - TILE_TYPE_846, // 0x34e - TILE_TYPE_847, // 0x34f - TILE_TYPE_848, // 0x350 - TILE_TYPE_849, // 0x351 - TILE_TYPE_850, // 0x352 - TILE_TYPE_851, // 0x353 - TILE_TYPE_852, // 0x354 - TILE_TYPE_853, // 0x355 - TILE_TYPE_854, // 0x356 - TILE_TYPE_855, // 0x357 - TILE_TYPE_856, // 0x358 - TILE_TYPE_857, // 0x359 - TILE_TYPE_858, // 0x35a - TILE_TYPE_859, // 0x35b - TILE_TYPE_860, // 0x35c - TILE_TYPE_861, // 0x35d - TILE_TYPE_862, // 0x35e - TILE_TYPE_863, // 0x35f - TILE_TYPE_864, // 0x360 - TILE_TYPE_865, // 0x361 - TILE_TYPE_866, // 0x362 - TILE_TYPE_867, // 0x363 - TILE_TYPE_868, // 0x364 - TILE_TYPE_869, // 0x365 - TILE_TYPE_870, // 0x366 - TILE_TYPE_871, // 0x367 - TILE_TYPE_872, // 0x368 - TILE_TYPE_873, // 0x369 - TILE_TYPE_874, // 0x36a - TILE_TYPE_875, // 0x36b - TILE_TYPE_876, // 0x36c - TILE_TYPE_877, // 0x36d - TILE_TYPE_878, // 0x36e - TILE_TYPE_879, // 0x36f - TILE_TYPE_880, // 0x370 - TILE_TYPE_881, // 0x371 - TILE_TYPE_882, // 0x372 - TILE_TYPE_883, // 0x373 - TILE_TYPE_884, // 0x374 - TILE_TYPE_885, // 0x375 - TILE_TYPE_886, // 0x376 - TILE_TYPE_887, // 0x377 - TILE_TYPE_888, // 0x378 - TILE_TYPE_889, // 0x379 - TILE_TYPE_890, // 0x37a - TILE_TYPE_891, // 0x37b - TILE_TYPE_892, // 0x37c - TILE_TYPE_893, // 0x37d - TILE_TYPE_894, // 0x37e - TILE_TYPE_895, // 0x37f - TILE_TYPE_896, // 0x380 - TILE_TYPE_897, // 0x381 - TILE_TYPE_898, // 0x382 - TILE_TYPE_899, // 0x383 - TILE_TYPE_900, // 0x384 - TILE_TYPE_901, // 0x385 - TILE_TYPE_902, // 0x386 - TILE_TYPE_903, // 0x387 - TILE_TYPE_904, // 0x388 - TILE_TYPE_905, // 0x389 - TILE_TYPE_906, // 0x38a - TILE_TYPE_907, // 0x38b - TILE_TYPE_908, // 0x38c - TILE_TYPE_909, // 0x38d - TILE_TYPE_910, // 0x38e - TILE_TYPE_911, // 0x38f - TILE_TYPE_912, // 0x390 - TILE_TYPE_913, // 0x391 - TILE_TYPE_914, // 0x392 - TILE_TYPE_915, // 0x393 - TILE_TYPE_916, // 0x394 - TILE_TYPE_917, // 0x395 - TILE_TYPE_918, // 0x396 - TILE_TYPE_919, // 0x397 - TILE_TYPE_920, // 0x398 - TILE_TYPE_921, // 0x399 - TILE_TYPE_922, // 0x39a - TILE_TYPE_923, // 0x39b - TILE_TYPE_924, // 0x39c - TILE_TYPE_925, // 0x39d - TILE_TYPE_926, // 0x39e - TILE_TYPE_927, // 0x39f - TILE_TYPE_928, // 0x3a0 - TILE_TYPE_929, // 0x3a1 - TILE_TYPE_930, // 0x3a2 - TILE_TYPE_931, // 0x3a3 - TILE_TYPE_932, // 0x3a4 - TILE_TYPE_933, // 0x3a5 - TILE_TYPE_934, // 0x3a6 - TILE_TYPE_935, // 0x3a7 - TILE_TYPE_936, // 0x3a8 - TILE_TYPE_937, // 0x3a9 - TILE_TYPE_938, // 0x3aa - TILE_TYPE_939, // 0x3ab - TILE_TYPE_940, // 0x3ac - TILE_TYPE_941, // 0x3ad - TILE_TYPE_942, // 0x3ae - TILE_TYPE_943, // 0x3af - TILE_TYPE_944, // 0x3b0 - TILE_TYPE_945, // 0x3b1 - TILE_TYPE_946, // 0x3b2 - TILE_TYPE_947, // 0x3b3 - TILE_TYPE_948, // 0x3b4 - TILE_TYPE_949, // 0x3b5 - TILE_TYPE_950, // 0x3b6 - TILE_TYPE_951, // 0x3b7 - TILE_TYPE_952, // 0x3b8 - TILE_TYPE_953, // 0x3b9 - TILE_TYPE_954, // 0x3ba - TILE_TYPE_955, // 0x3bb - TILE_TYPE_956, // 0x3bc - TILE_TYPE_957, // 0x3bd - TILE_TYPE_958, // 0x3be - TILE_TYPE_959, // 0x3bf - TILE_TYPE_960, // 0x3c0 - TILE_TYPE_961, // 0x3c1 - TILE_TYPE_962, // 0x3c2 - TILE_TYPE_963, // 0x3c3 - TILE_TYPE_964, // 0x3c4 - TILE_TYPE_965, // 0x3c5 - TILE_TYPE_966, // 0x3c6 - TILE_TYPE_967, // 0x3c7 - TILE_TYPE_968, // 0x3c8 - TILE_TYPE_969, // 0x3c9 - TILE_TYPE_970, // 0x3ca - TILE_TYPE_971, // 0x3cb - TILE_TYPE_972, // 0x3cc - TILE_TYPE_973, // 0x3cd - TILE_TYPE_974, // 0x3ce - TILE_TYPE_975, // 0x3cf - TILE_TYPE_976, // 0x3d0 - TILE_TYPE_977, // 0x3d1 - TILE_TYPE_978, // 0x3d2 - TILE_TYPE_979, // 0x3d3 - TILE_TYPE_980, // 0x3d4 - TILE_TYPE_981, // 0x3d5 - TILE_TYPE_982, // 0x3d6 - TILE_TYPE_983, // 0x3d7 - TILE_TYPE_984, // 0x3d8 - TILE_TYPE_985, // 0x3d9 - TILE_TYPE_986, // 0x3da - TILE_TYPE_987, // 0x3db - TILE_TYPE_988, // 0x3dc - TILE_TYPE_989, // 0x3dd - TILE_TYPE_990, // 0x3de - TILE_TYPE_991, // 0x3df - TILE_TYPE_992, // 0x3e0 - TILE_TYPE_993, // 0x3e1 - TILE_TYPE_994, // 0x3e2 - TILE_TYPE_995, // 0x3e3 - TILE_TYPE_996, // 0x3e4 - TILE_TYPE_997, // 0x3e5 - TILE_TYPE_998, // 0x3e6 - TILE_TYPE_999, // 0x3e7 - TILE_TYPE_1000, // 0x3e8 - TILE_TYPE_1001, // 0x3e9 - TILE_TYPE_1002, // 0x3ea - TILE_TYPE_1003, // 0x3eb - TILE_TYPE_1004, // 0x3ec - TILE_TYPE_1005, // 0x3ed - TILE_TYPE_1006, // 0x3ee - TILE_TYPE_1007, // 0x3ef - TILE_TYPE_1008, // 0x3f0 - TILE_TYPE_1009, // 0x3f1 - TILE_TYPE_1010, // 0x3f2 - TILE_TYPE_1011, // 0x3f3 - TILE_TYPE_1012, // 0x3f4 - TILE_TYPE_1013, // 0x3f5 - TILE_TYPE_1014, // 0x3f6 - TILE_TYPE_1015, // 0x3f7 - TILE_TYPE_1016, // 0x3f8 - TILE_TYPE_1017, // 0x3f9 - TILE_TYPE_1018, // 0x3fa - TILE_TYPE_1019, // 0x3fb - TILE_TYPE_1020, // 0x3fc - TILE_TYPE_1021, // 0x3fd - TILE_TYPE_1022, // 0x3fe - TILE_TYPE_1023, // 0x3ff - TILE_TYPE_1024, // 0x400 - TILE_TYPE_1025, // 0x401 - TILE_TYPE_1026, // 0x402 - TILE_TYPE_1027, // 0x403 - TILE_TYPE_1028, // 0x404 - TILE_TYPE_1029, // 0x405 - TILE_TYPE_1030, // 0x406 - TILE_TYPE_1031, // 0x407 - TILE_TYPE_1032, // 0x408 - TILE_TYPE_1033, // 0x409 - TILE_TYPE_1034, // 0x40a - TILE_TYPE_1035, // 0x40b - TILE_TYPE_1036, // 0x40c - TILE_TYPE_1037, // 0x40d - TILE_TYPE_1038, // 0x40e - TILE_TYPE_1039, // 0x40f - TILE_TYPE_1040, // 0x410 - TILE_TYPE_1041, // 0x411 - TILE_TYPE_1042, // 0x412 - TILE_TYPE_1043, // 0x413 - TILE_TYPE_1044, // 0x414 - TILE_TYPE_1045, // 0x415 - TILE_TYPE_1046, // 0x416 - TILE_TYPE_1047, // 0x417 - TILE_TYPE_1048, // 0x418 - TILE_TYPE_1049, // 0x419 - TILE_TYPE_1050, // 0x41a - TILE_TYPE_1051, // 0x41b - TILE_TYPE_1052, // 0x41c - TILE_TYPE_1053, // 0x41d - TILE_TYPE_1054, // 0x41e - TILE_TYPE_1055, // 0x41f - TILE_TYPE_1056, // 0x420 - TILE_TYPE_1057, // 0x421 - TILE_TYPE_1058, // 0x422 - TILE_TYPE_1059, // 0x423 - TILE_TYPE_1060, // 0x424 - TILE_TYPE_1061, // 0x425 - TILE_TYPE_1062, // 0x426 - TILE_TYPE_1063, // 0x427 - TILE_TYPE_1064, // 0x428 - TILE_TYPE_1065, // 0x429 - TILE_TYPE_1066, // 0x42a - TILE_TYPE_1067, // 0x42b - TILE_TYPE_1068, // 0x42c - TILE_TYPE_1069, // 0x42d - TILE_TYPE_1070, // 0x42e - TILE_TYPE_1071, // 0x42f - TILE_TYPE_1072, // 0x430 - TILE_TYPE_1073, // 0x431 - TILE_TYPE_1074, // 0x432 - TILE_TYPE_1075, // 0x433 - TILE_TYPE_1076, // 0x434 - TILE_TYPE_1077, // 0x435 - TILE_TYPE_1078, // 0x436 - TILE_TYPE_1079, // 0x437 - TILE_TYPE_1080, // 0x438 - TILE_TYPE_1081, // 0x439 - TILE_TYPE_1082, // 0x43a - TILE_TYPE_1083, // 0x43b - TILE_TYPE_1084, // 0x43c - TILE_TYPE_1085, // 0x43d - TILE_TYPE_1086, // 0x43e - TILE_TYPE_1087, // 0x43f - TILE_TYPE_1088, // 0x440 - TILE_TYPE_1089, // 0x441 - TILE_TYPE_1090, // 0x442 - TILE_TYPE_1091, // 0x443 - TILE_TYPE_1092, // 0x444 - TILE_TYPE_1093, // 0x445 - TILE_TYPE_1094, // 0x446 - TILE_TYPE_1095, // 0x447 - TILE_TYPE_1096, // 0x448 - TILE_TYPE_1097, // 0x449 - TILE_TYPE_1098, // 0x44a - TILE_TYPE_1099, // 0x44b - TILE_TYPE_1100, // 0x44c - TILE_TYPE_1101, // 0x44d - TILE_TYPE_1102, // 0x44e - TILE_TYPE_1103, // 0x44f - TILE_TYPE_1104, // 0x450 - TILE_TYPE_1105, // 0x451 - TILE_TYPE_1106, // 0x452 - TILE_TYPE_1107, // 0x453 - TILE_TYPE_1108, // 0x454 - TILE_TYPE_1109, // 0x455 - TILE_TYPE_1110, // 0x456 - TILE_TYPE_1111, // 0x457 - TILE_TYPE_1112, // 0x458 - TILE_TYPE_1113, // 0x459 - TILE_TYPE_1114, // 0x45a - TILE_TYPE_1115, // 0x45b - TILE_TYPE_1116, // 0x45c - TILE_TYPE_1117, // 0x45d - TILE_TYPE_1118, // 0x45e - TILE_TYPE_1119, // 0x45f - TILE_TYPE_1120, // 0x460 - TILE_TYPE_1121, // 0x461 - TILE_TYPE_1122, // 0x462 - TILE_TYPE_1123, // 0x463 - TILE_TYPE_1124, // 0x464 - TILE_TYPE_1125, // 0x465 - TILE_TYPE_1126, // 0x466 - TILE_TYPE_1127, // 0x467 - TILE_TYPE_1128, // 0x468 - TILE_TYPE_1129, // 0x469 - TILE_TYPE_1130, // 0x46a - TILE_TYPE_1131, // 0x46b - TILE_TYPE_1132, // 0x46c - TILE_TYPE_1133, // 0x46d - TILE_TYPE_1134, // 0x46e - TILE_TYPE_1135, // 0x46f - TILE_TYPE_1136, // 0x470 - TILE_TYPE_1137, // 0x471 - TILE_TYPE_1138, // 0x472 - TILE_TYPE_1139, // 0x473 - TILE_TYPE_1140, // 0x474 - TILE_TYPE_1141, // 0x475 - TILE_TYPE_1142, // 0x476 - TILE_TYPE_1143, // 0x477 - TILE_TYPE_1144, // 0x478 - TILE_TYPE_1145, // 0x479 - TILE_TYPE_1146, // 0x47a - TILE_TYPE_1147, // 0x47b - TILE_TYPE_1148, // 0x47c - TILE_TYPE_1149, // 0x47d - TILE_TYPE_1150, // 0x47e - TILE_TYPE_1151, // 0x47f - TILE_TYPE_1152, // 0x480 - TILE_TYPE_1153, // 0x481 - TILE_TYPE_1154, // 0x482 - TILE_TYPE_1155, // 0x483 - TILE_TYPE_1156, // 0x484 - TILE_TYPE_1157, // 0x485 - TILE_TYPE_1158, // 0x486 - TILE_TYPE_1159, // 0x487 - TILE_TYPE_1160, // 0x488 - TILE_TYPE_1161, // 0x489 - TILE_TYPE_1162, // 0x48a - TILE_TYPE_1163, // 0x48b - TILE_TYPE_1164, // 0x48c - TILE_TYPE_1165, // 0x48d - TILE_TYPE_1166, // 0x48e - TILE_TYPE_1167, // 0x48f - TILE_TYPE_1168, // 0x490 - TILE_TYPE_1169, // 0x491 - TILE_TYPE_1170, // 0x492 - TILE_TYPE_1171, // 0x493 - TILE_TYPE_1172, // 0x494 - TILE_TYPE_1173, // 0x495 - TILE_TYPE_1174, // 0x496 - TILE_TYPE_1175, // 0x497 - TILE_TYPE_1176, // 0x498 - TILE_TYPE_1177, // 0x499 - TILE_TYPE_1178, // 0x49a - TILE_TYPE_1179, // 0x49b - TILE_TYPE_1180, // 0x49c - TILE_TYPE_1181, // 0x49d - TILE_TYPE_1182, // 0x49e - TILE_TYPE_1183, // 0x49f - TILE_TYPE_1184, // 0x4a0 - TILE_TYPE_1185, // 0x4a1 - TILE_TYPE_1186, // 0x4a2 - TILE_TYPE_1187, // 0x4a3 - TILE_TYPE_1188, // 0x4a4 - TILE_TYPE_1189, // 0x4a5 - TILE_TYPE_1190, // 0x4a6 - TILE_TYPE_1191, // 0x4a7 - TILE_TYPE_1192, // 0x4a8 - TILE_TYPE_1193, // 0x4a9 - TILE_TYPE_1194, // 0x4aa - TILE_TYPE_1195, // 0x4ab - TILE_TYPE_1196, // 0x4ac - TILE_TYPE_1197, // 0x4ad - TILE_TYPE_1198, // 0x4ae - TILE_TYPE_1199, // 0x4af - TILE_TYPE_1200, // 0x4b0 - TILE_TYPE_1201, // 0x4b1 - TILE_TYPE_1202, // 0x4b2 - TILE_TYPE_1203, // 0x4b3 - TILE_TYPE_1204, // 0x4b4 - TILE_TYPE_1205, // 0x4b5 - TILE_TYPE_1206, // 0x4b6 - TILE_TYPE_1207, // 0x4b7 - TILE_TYPE_1208, // 0x4b8 - TILE_TYPE_1209, // 0x4b9 - TILE_TYPE_1210, // 0x4ba - TILE_TYPE_1211, // 0x4bb - TILE_TYPE_1212, // 0x4bc - TILE_TYPE_1213, // 0x4bd - TILE_TYPE_1214, // 0x4be - TILE_TYPE_1215, // 0x4bf - TILE_TYPE_1216, // 0x4c0 - TILE_TYPE_1217, // 0x4c1 - TILE_TYPE_1218, // 0x4c2 - TILE_TYPE_1219, // 0x4c3 - TILE_TYPE_1220, // 0x4c4 - TILE_TYPE_1221, // 0x4c5 - TILE_TYPE_1222, // 0x4c6 - TILE_TYPE_1223, // 0x4c7 - TILE_TYPE_1224, // 0x4c8 - TILE_TYPE_1225, // 0x4c9 - TILE_TYPE_1226, // 0x4ca - TILE_TYPE_1227, // 0x4cb - TILE_TYPE_1228, // 0x4cc - TILE_TYPE_1229, // 0x4cd - TILE_TYPE_1230, // 0x4ce - TILE_TYPE_1231, // 0x4cf - TILE_TYPE_1232, // 0x4d0 - TILE_TYPE_1233, // 0x4d1 - TILE_TYPE_1234, // 0x4d2 - TILE_TYPE_1235, // 0x4d3 - TILE_TYPE_1236, // 0x4d4 - TILE_TYPE_1237, // 0x4d5 - TILE_TYPE_1238, // 0x4d6 - TILE_TYPE_1239, // 0x4d7 - TILE_TYPE_1240, // 0x4d8 - TILE_TYPE_1241, // 0x4d9 - TILE_TYPE_1242, // 0x4da - TILE_TYPE_1243, // 0x4db - TILE_TYPE_1244, // 0x4dc - TILE_TYPE_1245, // 0x4dd - TILE_TYPE_1246, // 0x4de - TILE_TYPE_1247, // 0x4df - TILE_TYPE_1248, // 0x4e0 - TILE_TYPE_1249, // 0x4e1 - TILE_TYPE_1250, // 0x4e2 - TILE_TYPE_1251, // 0x4e3 - TILE_TYPE_1252, // 0x4e4 - TILE_TYPE_1253, // 0x4e5 - TILE_TYPE_1254, // 0x4e6 - TILE_TYPE_1255, // 0x4e7 - TILE_TYPE_1256, // 0x4e8 - TILE_TYPE_1257, // 0x4e9 - TILE_TYPE_1258, // 0x4ea - TILE_TYPE_1259, // 0x4eb - TILE_TYPE_1260, // 0x4ec - TILE_TYPE_1261, // 0x4ed - TILE_TYPE_1262, // 0x4ee - TILE_TYPE_1263, // 0x4ef - TILE_TYPE_1264, // 0x4f0 - TILE_TYPE_1265, // 0x4f1 - TILE_TYPE_1266, // 0x4f2 - TILE_TYPE_1267, // 0x4f3 - TILE_TYPE_1268, // 0x4f4 - TILE_TYPE_1269, // 0x4f5 - TILE_TYPE_1270, // 0x4f6 - TILE_TYPE_1271, // 0x4f7 - TILE_TYPE_1272, // 0x4f8 - TILE_TYPE_1273, // 0x4f9 - TILE_TYPE_1274, // 0x4fa - TILE_TYPE_1275, // 0x4fb - TILE_TYPE_1276, // 0x4fc - TILE_TYPE_1277, // 0x4fd - TILE_TYPE_1278, // 0x4fe - TILE_TYPE_1279, // 0x4ff - TILE_TYPE_1280, // 0x500 - TILE_TYPE_1281, // 0x501 - TILE_TYPE_1282, // 0x502 - TILE_TYPE_1283, // 0x503 - TILE_TYPE_1284, // 0x504 - TILE_TYPE_1285, // 0x505 - TILE_TYPE_1286, // 0x506 - TILE_TYPE_1287, // 0x507 - TILE_TYPE_1288, // 0x508 - TILE_TYPE_1289, // 0x509 - TILE_TYPE_1290, // 0x50a - TILE_TYPE_1291, // 0x50b - TILE_TYPE_1292, // 0x50c - TILE_TYPE_1293, // 0x50d - TILE_TYPE_1294, // 0x50e - TILE_TYPE_1295, // 0x50f - TILE_TYPE_1296, // 0x510 - TILE_TYPE_1297, // 0x511 - TILE_TYPE_1298, // 0x512 - TILE_TYPE_1299, // 0x513 - TILE_TYPE_1300, // 0x514 - TILE_TYPE_1301, // 0x515 - TILE_TYPE_1302, // 0x516 - TILE_TYPE_1303, // 0x517 - TILE_TYPE_1304, // 0x518 - TILE_TYPE_1305, // 0x519 - TILE_TYPE_1306, // 0x51a - TILE_TYPE_1307, // 0x51b - TILE_TYPE_1308, // 0x51c - TILE_TYPE_1309, // 0x51d - TILE_TYPE_1310, // 0x51e - TILE_TYPE_1311, // 0x51f - TILE_TYPE_1312, // 0x520 - TILE_TYPE_1313, // 0x521 - TILE_TYPE_1314, // 0x522 - TILE_TYPE_1315, // 0x523 - TILE_TYPE_1316, // 0x524 - TILE_TYPE_1317, // 0x525 - TILE_TYPE_1318, // 0x526 - TILE_TYPE_1319, // 0x527 - TILE_TYPE_1320, // 0x528 - TILE_TYPE_1321, // 0x529 - TILE_TYPE_1322, // 0x52a - TILE_TYPE_1323, // 0x52b - TILE_TYPE_1324, // 0x52c - TILE_TYPE_1325, // 0x52d - TILE_TYPE_1326, // 0x52e - TILE_TYPE_1327, // 0x52f - TILE_TYPE_1328, // 0x530 - TILE_TYPE_1329, // 0x531 - TILE_TYPE_1330, // 0x532 - TILE_TYPE_1331, // 0x533 - TILE_TYPE_1332, // 0x534 - TILE_TYPE_1333, // 0x535 - TILE_TYPE_1334, // 0x536 - TILE_TYPE_1335, // 0x537 - TILE_TYPE_1336, // 0x538 - TILE_TYPE_1337, // 0x539 - TILE_TYPE_1338, // 0x53a - TILE_TYPE_1339, // 0x53b - TILE_TYPE_1340, // 0x53c - TILE_TYPE_1341, // 0x53d - TILE_TYPE_1342, // 0x53e - TILE_TYPE_1343, // 0x53f - TILE_TYPE_1344, // 0x540 - TILE_TYPE_1345, // 0x541 - TILE_TYPE_1346, // 0x542 - TILE_TYPE_1347, // 0x543 - TILE_TYPE_1348, // 0x544 - TILE_TYPE_1349, // 0x545 - TILE_TYPE_1350, // 0x546 - TILE_TYPE_1351, // 0x547 - TILE_TYPE_1352, // 0x548 - TILE_TYPE_1353, // 0x549 - TILE_TYPE_1354, // 0x54a - TILE_TYPE_1355, // 0x54b - TILE_TYPE_1356, // 0x54c - TILE_TYPE_1357, // 0x54d - TILE_TYPE_1358, // 0x54e - TILE_TYPE_1359, // 0x54f - TILE_TYPE_1360, // 0x550 - TILE_TYPE_1361, // 0x551 - TILE_TYPE_1362, // 0x552 - TILE_TYPE_1363, // 0x553 - TILE_TYPE_1364, // 0x554 - TILE_TYPE_1365, // 0x555 - TILE_TYPE_1366, // 0x556 - TILE_TYPE_1367, // 0x557 - TILE_TYPE_1368, // 0x558 - TILE_TYPE_1369, // 0x559 - TILE_TYPE_1370, // 0x55a - TILE_TYPE_1371, // 0x55b - TILE_TYPE_1372, // 0x55c - TILE_TYPE_1373, // 0x55d - TILE_TYPE_1374, // 0x55e - TILE_TYPE_1375, // 0x55f - TILE_TYPE_1376, // 0x560 - TILE_TYPE_1377, // 0x561 - TILE_TYPE_1378, // 0x562 - TILE_TYPE_1379, // 0x563 - TILE_TYPE_1380, // 0x564 - TILE_TYPE_1381, // 0x565 - TILE_TYPE_1382, // 0x566 - TILE_TYPE_1383, // 0x567 - TILE_TYPE_1384, // 0x568 - TILE_TYPE_1385, // 0x569 - TILE_TYPE_1386, // 0x56a - TILE_TYPE_1387, // 0x56b - TILE_TYPE_1388, // 0x56c - TILE_TYPE_1389, // 0x56d - TILE_TYPE_1390, // 0x56e - TILE_TYPE_1391, // 0x56f - TILE_TYPE_1392, // 0x570 - TILE_TYPE_1393, // 0x571 - TILE_TYPE_1394, // 0x572 - TILE_TYPE_1395, // 0x573 + TILE_TYPE_0 = 0x0, + TILE_TYPE_1 = 0x1, + TILE_TYPE_2 = 0x2, + TILE_TYPE_3 = 0x3, + TILE_TYPE_4 = 0x4, + TILE_TYPE_5 = 0x5, + TILE_TYPE_6 = 0x6, + TILE_TYPE_7 = 0x7, + TILE_TYPE_8 = 0x8, + TILE_TYPE_9 = 0x9, + TILE_TYPE_10 = 0xa, + TILE_TYPE_11 = 0xb, + TILE_TYPE_12 = 0xc, + TILE_TYPE_13 = 0xd, + TILE_TYPE_14 = 0xe, + TILE_TYPE_15 = 0xf, + TILE_TYPE_16 = 0x10, + TILE_TYPE_17 = 0x11, + TILE_TYPE_18 = 0x12, + TILE_TYPE_19 = 0x13, + TILE_TYPE_20 = 0x14, + TILE_TYPE_21 = 0x15, + TILE_TYPE_22 = 0x16, + TILE_TYPE_23 = 0x17, + TILE_TYPE_24 = 0x18, + TILE_TYPE_25 = 0x19, + TILE_TYPE_26 = 0x1a, + TILE_TYPE_27 = 0x1b, + TILE_TYPE_28 = 0x1c, // CUT_BUSH + TILE_TYPE_29 = 0x1d, // CUT_GRASS + TILE_TYPE_30 = 0x1e, // CUT_SIGNPOST + TILE_TYPE_31 = 0x1f, // CUT_TREE + TILE_TYPE_32 = 0x20, + TILE_TYPE_33 = 0x21, + TILE_TYPE_34 = 0x22, + TILE_TYPE_35 = 0x23, + TILE_TYPE_36 = 0x24, + TILE_TYPE_37 = 0x25, + TILE_TYPE_38 = 0x26, + TILE_TYPE_39 = 0x27, + TILE_TYPE_40 = 0x28, + TILE_TYPE_41 = 0x29, + TILE_TYPE_42 = 0x2a, + TILE_TYPE_43 = 0x2b, + TILE_TYPE_44 = 0x2c, + TILE_TYPE_45 = 0x2d, + TILE_TYPE_46 = 0x2e, + TILE_TYPE_47 = 0x2f, + TILE_TYPE_48 = 0x30, + TILE_TYPE_49 = 0x31, + TILE_TYPE_50 = 0x32, + TILE_TYPE_51 = 0x33, + TILE_TYPE_52 = 0x34, + TILE_TYPE_53 = 0x35, + TILE_TYPE_54 = 0x36, + TILE_TYPE_55 = 0x37, + TILE_TYPE_56 = 0x38, + TILE_TYPE_57 = 0x39, + TILE_TYPE_58 = 0x3a, + TILE_TYPE_59 = 0x3b, + TILE_TYPE_60 = 0x3c, + TILE_TYPE_61 = 0x3d, + TILE_TYPE_62 = 0x3e, + TILE_TYPE_63 = 0x3f, + TILE_TYPE_64 = 0x40, + TILE_TYPE_65 = 0x41, + TILE_TYPE_66 = 0x42, + TILE_TYPE_67 = 0x43, + TILE_TYPE_68 = 0x44, + TILE_TYPE_69 = 0x45, + TILE_TYPE_70 = 0x46, + TILE_TYPE_71 = 0x47, + TILE_TYPE_72 = 0x48, + TILE_TYPE_73 = 0x49, + TILE_TYPE_74 = 0x4a, + TILE_TYPE_75 = 0x4b, + TILE_TYPE_76 = 0x4c, + TILE_TYPE_77 = 0x4d, + TILE_TYPE_78 = 0x4e, + TILE_TYPE_79 = 0x4f, + TILE_TYPE_80 = 0x50, + TILE_TYPE_81 = 0x51, + TILE_TYPE_82 = 0x52, + TILE_TYPE_83 = 0x53, + TILE_TYPE_84 = 0x54, + TILE_TYPE_85 = 0x55, // ROCK + TILE_TYPE_86 = 0x56, + TILE_TYPE_87 = 0x57, + TILE_TYPE_88 = 0x58, + TILE_TYPE_89 = 0x59, + TILE_TYPE_90 = 0x5a, + TILE_TYPE_91 = 0x5b, + TILE_TYPE_92 = 0x5c, + TILE_TYPE_93 = 0x5d, + TILE_TYPE_94 = 0x5e, + TILE_TYPE_95 = 0x5f, + TILE_TYPE_96 = 0x60, + TILE_TYPE_97 = 0x61, + TILE_TYPE_98 = 0x62, + TILE_TYPE_99 = 0x63, + TILE_TYPE_100 = 0x64, + TILE_TYPE_101 = 0x65, + TILE_TYPE_102 = 0x66, + TILE_TYPE_103 = 0x67, + TILE_TYPE_104 = 0x68, + TILE_TYPE_105 = 0x69, + TILE_TYPE_106 = 0x6a, + TILE_TYPE_107 = 0x6b, + TILE_TYPE_108 = 0x6c, + TILE_TYPE_109 = 0x6d, + TILE_TYPE_110 = 0x6e, + TILE_TYPE_111 = 0x6f, + TILE_TYPE_112 = 0x70, + TILE_TYPE_113 = 0x71, + TILE_TYPE_114 = 0x72, + TILE_TYPE_115 = 0x73, // CHEST + TILE_TYPE_116 = 0x74, // CHEST_OPEN + TILE_TYPE_117 = 0x75, + TILE_TYPE_118 = 0x76, // TORCH + TILE_TYPE_119 = 0x77, // TORCH_LIT + TILE_TYPE_120 = 0x78, // PRESSURE_BUTTON + TILE_TYPE_121 = 0x79, // PRESSURE_BUTTON_PRESSED + TILE_TYPE_122 = 0x7a, // PRESSURE_SQUARE + TILE_TYPE_123 = 0x7b, // PRESSURE_SQUARE_PRESSED + TILE_TYPE_124 = 0x7c, + TILE_TYPE_125 = 0x7d, + TILE_TYPE_126 = 0x7e, + TILE_TYPE_127 = 0x7f, + TILE_TYPE_128 = 0x80, + TILE_TYPE_129 = 0x81, + TILE_TYPE_130 = 0x82, + TILE_TYPE_131 = 0x83, + TILE_TYPE_132 = 0x84, + TILE_TYPE_133 = 0x85, + TILE_TYPE_134 = 0x86, + TILE_TYPE_135 = 0x87, + TILE_TYPE_136 = 0x88, + TILE_TYPE_137 = 0x89, + TILE_TYPE_138 = 0x8a, + TILE_TYPE_139 = 0x8b, + TILE_TYPE_140 = 0x8c, + TILE_TYPE_141 = 0x8d, + TILE_TYPE_142 = 0x8e, + TILE_TYPE_143 = 0x8f, + TILE_TYPE_144 = 0x90, + TILE_TYPE_145 = 0x91, + TILE_TYPE_146 = 0x92, // STAIRS_UP + TILE_TYPE_147 = 0x93, // STAIRS_DOWN + TILE_TYPE_148 = 0x94, + TILE_TYPE_149 = 0x95, + TILE_TYPE_150 = 0x96, + TILE_TYPE_151 = 0x97, + TILE_TYPE_152 = 0x98, + TILE_TYPE_153 = 0x99, + TILE_TYPE_154 = 0x9a, + TILE_TYPE_155 = 0x9b, + TILE_TYPE_156 = 0x9c, + TILE_TYPE_157 = 0x9d, + TILE_TYPE_158 = 0x9e, + TILE_TYPE_159 = 0x9f, + TILE_TYPE_160 = 0xa0, + TILE_TYPE_161 = 0xa1, + TILE_TYPE_162 = 0xa2, + TILE_TYPE_163 = 0xa3, + TILE_TYPE_164 = 0xa4, + TILE_TYPE_165 = 0xa5, + TILE_TYPE_166 = 0xa6, + TILE_TYPE_167 = 0xa7, + TILE_TYPE_168 = 0xa8, + TILE_TYPE_169 = 0xa9, + TILE_TYPE_170 = 0xaa, + TILE_TYPE_171 = 0xab, + TILE_TYPE_172 = 0xac, + TILE_TYPE_173 = 0xad, + TILE_TYPE_174 = 0xae, + TILE_TYPE_175 = 0xaf, + TILE_TYPE_176 = 0xb0, + TILE_TYPE_177 = 0xb1, + TILE_TYPE_178 = 0xb2, + TILE_TYPE_179 = 0xb3, + TILE_TYPE_180 = 0xb4, + TILE_TYPE_181 = 0xb5, + TILE_TYPE_182 = 0xb6, + TILE_TYPE_183 = 0xb7, + TILE_TYPE_184 = 0xb8, + TILE_TYPE_185 = 0xb9, + TILE_TYPE_186 = 0xba, + TILE_TYPE_187 = 0xbb, + TILE_TYPE_188 = 0xbc, + TILE_TYPE_189 = 0xbd, + TILE_TYPE_190 = 0xbe, + TILE_TYPE_191 = 0xbf, + TILE_TYPE_192 = 0xc0, + TILE_TYPE_193 = 0xc1, + TILE_TYPE_194 = 0xc2, + TILE_TYPE_195 = 0xc3, + TILE_TYPE_196 = 0xc4, + TILE_TYPE_197 = 0xc5, + TILE_TYPE_198 = 0xc6, + TILE_TYPE_199 = 0xc7, + TILE_TYPE_200 = 0xc8, + TILE_TYPE_201 = 0xc9, + TILE_TYPE_202 = 0xca, + TILE_TYPE_203 = 0xcb, + TILE_TYPE_204 = 0xcc, + TILE_TYPE_205 = 0xcd, + TILE_TYPE_206 = 0xce, + TILE_TYPE_207 = 0xcf, + TILE_TYPE_208 = 0xd0, + TILE_TYPE_209 = 0xd1, + TILE_TYPE_210 = 0xd2, + TILE_TYPE_211 = 0xd3, + TILE_TYPE_212 = 0xd4, + TILE_TYPE_213 = 0xd5, + TILE_TYPE_214 = 0xd6, + TILE_TYPE_215 = 0xd7, + TILE_TYPE_216 = 0xd8, + TILE_TYPE_217 = 0xd9, + TILE_TYPE_218 = 0xda, + TILE_TYPE_219 = 0xdb, + TILE_TYPE_220 = 0xdc, + TILE_TYPE_221 = 0xdd, + TILE_TYPE_222 = 0xde, + TILE_TYPE_223 = 0xdf, + TILE_TYPE_224 = 0xe0, + TILE_TYPE_225 = 0xe1, + TILE_TYPE_226 = 0xe2, + TILE_TYPE_227 = 0xe3, + TILE_TYPE_228 = 0xe4, + TILE_TYPE_229 = 0xe5, + TILE_TYPE_230 = 0xe6, + TILE_TYPE_231 = 0xe7, + TILE_TYPE_232 = 0xe8, + TILE_TYPE_233 = 0xe9, + TILE_TYPE_234 = 0xea, + TILE_TYPE_235 = 0xeb, + TILE_TYPE_236 = 0xec, + TILE_TYPE_237 = 0xed, + TILE_TYPE_238 = 0xee, + TILE_TYPE_239 = 0xef, + TILE_TYPE_240 = 0xf0, + TILE_TYPE_241 = 0xf1, + TILE_TYPE_242 = 0xf2, + TILE_TYPE_243 = 0xf3, + TILE_TYPE_244 = 0xf4, + TILE_TYPE_245 = 0xf5, + TILE_TYPE_246 = 0xf6, + TILE_TYPE_247 = 0xf7, + TILE_TYPE_248 = 0xf8, + TILE_TYPE_249 = 0xf9, + TILE_TYPE_250 = 0xfa, + TILE_TYPE_251 = 0xfb, + TILE_TYPE_252 = 0xfc, + TILE_TYPE_253 = 0xfd, + TILE_TYPE_254 = 0xfe, + TILE_TYPE_255 = 0xff, + TILE_TYPE_256 = 0x100, + TILE_TYPE_257 = 0x101, + TILE_TYPE_258 = 0x102, + TILE_TYPE_259 = 0x103, + TILE_TYPE_260 = 0x104, + TILE_TYPE_261 = 0x105, + TILE_TYPE_262 = 0x106, + TILE_TYPE_263 = 0x107, + TILE_TYPE_264 = 0x108, + TILE_TYPE_265 = 0x109, + TILE_TYPE_266 = 0x10a, + TILE_TYPE_267 = 0x10b, + TILE_TYPE_268 = 0x10c, + TILE_TYPE_269 = 0x10d, + TILE_TYPE_270 = 0x10e, + TILE_TYPE_271 = 0x10f, + TILE_TYPE_272 = 0x110, + TILE_TYPE_273 = 0x111, + TILE_TYPE_274 = 0x112, + TILE_TYPE_275 = 0x113, + TILE_TYPE_276 = 0x114, + TILE_TYPE_277 = 0x115, + TILE_TYPE_278 = 0x116, + TILE_TYPE_279 = 0x117, + TILE_TYPE_280 = 0x118, + TILE_TYPE_281 = 0x119, + TILE_TYPE_282 = 0x11a, + TILE_TYPE_283 = 0x11b, + TILE_TYPE_284 = 0x11c, + TILE_TYPE_285 = 0x11d, + TILE_TYPE_286 = 0x11e, + TILE_TYPE_287 = 0x11f, + TILE_TYPE_288 = 0x120, + TILE_TYPE_289 = 0x121, + TILE_TYPE_290 = 0x122, + TILE_TYPE_291 = 0x123, + TILE_TYPE_292 = 0x124, + TILE_TYPE_293 = 0x125, + TILE_TYPE_294 = 0x126, + TILE_TYPE_295 = 0x127, + TILE_TYPE_296 = 0x128, + TILE_TYPE_297 = 0x129, + TILE_TYPE_298 = 0x12a, + TILE_TYPE_299 = 0x12b, + TILE_TYPE_300 = 0x12c, + TILE_TYPE_301 = 0x12d, + TILE_TYPE_302 = 0x12e, + TILE_TYPE_303 = 0x12f, + TILE_TYPE_304 = 0x130, + TILE_TYPE_305 = 0x131, + TILE_TYPE_306 = 0x132, + TILE_TYPE_307 = 0x133, + TILE_TYPE_308 = 0x134, + TILE_TYPE_309 = 0x135, + TILE_TYPE_310 = 0x136, + TILE_TYPE_311 = 0x137, + TILE_TYPE_312 = 0x138, + TILE_TYPE_313 = 0x139, + TILE_TYPE_314 = 0x13a, + TILE_TYPE_315 = 0x13b, + TILE_TYPE_316 = 0x13c, + TILE_TYPE_317 = 0x13d, + TILE_TYPE_318 = 0x13e, + TILE_TYPE_319 = 0x13f, + TILE_TYPE_320 = 0x140, + TILE_TYPE_321 = 0x141, + TILE_TYPE_322 = 0x142, + TILE_TYPE_323 = 0x143, + TILE_TYPE_324 = 0x144, + TILE_TYPE_325 = 0x145, + TILE_TYPE_326 = 0x146, + TILE_TYPE_327 = 0x147, + TILE_TYPE_328 = 0x148, + TILE_TYPE_329 = 0x149, + TILE_TYPE_330 = 0x14a, + TILE_TYPE_331 = 0x14b, + TILE_TYPE_332 = 0x14c, + TILE_TYPE_333 = 0x14d, + TILE_TYPE_334 = 0x14e, + TILE_TYPE_335 = 0x14f, + TILE_TYPE_336 = 0x150, + TILE_TYPE_337 = 0x151, + TILE_TYPE_338 = 0x152, + TILE_TYPE_339 = 0x153, + TILE_TYPE_340 = 0x154, + TILE_TYPE_341 = 0x155, + TILE_TYPE_342 = 0x156, + TILE_TYPE_343 = 0x157, + TILE_TYPE_344 = 0x158, + TILE_TYPE_345 = 0x159, + TILE_TYPE_346 = 0x15a, + TILE_TYPE_347 = 0x15b, + TILE_TYPE_348 = 0x15c, + TILE_TYPE_349 = 0x15d, + TILE_TYPE_350 = 0x15e, + TILE_TYPE_351 = 0x15f, + TILE_TYPE_352 = 0x160, + TILE_TYPE_353 = 0x161, + TILE_TYPE_354 = 0x162, + TILE_TYPE_355 = 0x163, + TILE_TYPE_356 = 0x164, + TILE_TYPE_357 = 0x165, + TILE_TYPE_358 = 0x166, + TILE_TYPE_359 = 0x167, + TILE_TYPE_360 = 0x168, + TILE_TYPE_361 = 0x169, + TILE_TYPE_362 = 0x16a, + TILE_TYPE_363 = 0x16b, + TILE_TYPE_364 = 0x16c, + TILE_TYPE_365 = 0x16d, + TILE_TYPE_366 = 0x16e, + TILE_TYPE_367 = 0x16f, + TILE_TYPE_368 = 0x170, + TILE_TYPE_369 = 0x171, + TILE_TYPE_370 = 0x172, + TILE_TYPE_371 = 0x173, + TILE_TYPE_372 = 0x174, + TILE_TYPE_373 = 0x175, + TILE_TYPE_374 = 0x176, // SIGNPOST + TILE_TYPE_375 = 0x177, + TILE_TYPE_376 = 0x178, + TILE_TYPE_377 = 0x179, + TILE_TYPE_378 = 0x17a, + TILE_TYPE_379 = 0x17b, + TILE_TYPE_380 = 0x17c, + TILE_TYPE_381 = 0x17d, + TILE_TYPE_382 = 0x17e, + TILE_TYPE_383 = 0x17f, + TILE_TYPE_384 = 0x180, + TILE_TYPE_385 = 0x181, + TILE_TYPE_386 = 0x182, + TILE_TYPE_387 = 0x183, + TILE_TYPE_388 = 0x184, + TILE_TYPE_389 = 0x185, + TILE_TYPE_390 = 0x186, + TILE_TYPE_391 = 0x187, + TILE_TYPE_392 = 0x188, + TILE_TYPE_393 = 0x189, + TILE_TYPE_394 = 0x18a, + TILE_TYPE_395 = 0x18b, + TILE_TYPE_396 = 0x18c, + TILE_TYPE_397 = 0x18d, + TILE_TYPE_398 = 0x18e, + TILE_TYPE_399 = 0x18f, + TILE_TYPE_400 = 0x190, + TILE_TYPE_401 = 0x191, + TILE_TYPE_402 = 0x192, + TILE_TYPE_403 = 0x193, + TILE_TYPE_404 = 0x194, + TILE_TYPE_405 = 0x195, + TILE_TYPE_406 = 0x196, + TILE_TYPE_407 = 0x197, + TILE_TYPE_408 = 0x198, + TILE_TYPE_409 = 0x199, + TILE_TYPE_410 = 0x19a, + TILE_TYPE_411 = 0x19b, + TILE_TYPE_412 = 0x19c, + TILE_TYPE_413 = 0x19d, + TILE_TYPE_414 = 0x19e, + TILE_TYPE_415 = 0x19f, + TILE_TYPE_416 = 0x1a0, + TILE_TYPE_417 = 0x1a1, + TILE_TYPE_418 = 0x1a2, + TILE_TYPE_419 = 0x1a3, + TILE_TYPE_420 = 0x1a4, + TILE_TYPE_421 = 0x1a5, + TILE_TYPE_422 = 0x1a6, + TILE_TYPE_423 = 0x1a7, + TILE_TYPE_424 = 0x1a8, + TILE_TYPE_425 = 0x1a9, + TILE_TYPE_426 = 0x1aa, + TILE_TYPE_427 = 0x1ab, + TILE_TYPE_428 = 0x1ac, + TILE_TYPE_429 = 0x1ad, + TILE_TYPE_430 = 0x1ae, + TILE_TYPE_431 = 0x1af, + TILE_TYPE_432 = 0x1b0, + TILE_TYPE_433 = 0x1b1, + TILE_TYPE_434 = 0x1b2, + TILE_TYPE_435 = 0x1b3, + TILE_TYPE_436 = 0x1b4, + TILE_TYPE_437 = 0x1b5, + TILE_TYPE_438 = 0x1b6, + TILE_TYPE_439 = 0x1b7, + TILE_TYPE_440 = 0x1b8, + TILE_TYPE_441 = 0x1b9, + TILE_TYPE_442 = 0x1ba, + TILE_TYPE_443 = 0x1bb, + TILE_TYPE_444 = 0x1bc, + TILE_TYPE_445 = 0x1bd, + TILE_TYPE_446 = 0x1be, + TILE_TYPE_447 = 0x1bf, + TILE_TYPE_448 = 0x1c0, + TILE_TYPE_449 = 0x1c1, + TILE_TYPE_450 = 0x1c2, + TILE_TYPE_451 = 0x1c3, + TILE_TYPE_452 = 0x1c4, + TILE_TYPE_453 = 0x1c5, + TILE_TYPE_454 = 0x1c6, + TILE_TYPE_455 = 0x1c7, + TILE_TYPE_456 = 0x1c8, + TILE_TYPE_457 = 0x1c9, + TILE_TYPE_458 = 0x1ca, + TILE_TYPE_459 = 0x1cb, + TILE_TYPE_460 = 0x1cc, + TILE_TYPE_461 = 0x1cd, + TILE_TYPE_462 = 0x1ce, + TILE_TYPE_463 = 0x1cf, + TILE_TYPE_464 = 0x1d0, + TILE_TYPE_465 = 0x1d1, + TILE_TYPE_466 = 0x1d2, + TILE_TYPE_467 = 0x1d3, // PERMA_ROCK + TILE_TYPE_468 = 0x1d4, // PERMA_ROCK2 + TILE_TYPE_469 = 0x1d5, // PERMA_ROCK3 + TILE_TYPE_470 = 0x1d6, // PERMA_ROCK4 + TILE_TYPE_471 = 0x1d7, + TILE_TYPE_472 = 0x1d8, + TILE_TYPE_473 = 0x1d9, + TILE_TYPE_474 = 0x1da, + TILE_TYPE_475 = 0x1db, + TILE_TYPE_476 = 0x1dc, + TILE_TYPE_477 = 0x1dd, + TILE_TYPE_478 = 0x1de, + TILE_TYPE_479 = 0x1df, + TILE_TYPE_480 = 0x1e0, + TILE_TYPE_481 = 0x1e1, + TILE_TYPE_482 = 0x1e2, + TILE_TYPE_483 = 0x1e3, + TILE_TYPE_484 = 0x1e4, + TILE_TYPE_485 = 0x1e5, + TILE_TYPE_486 = 0x1e6, + TILE_TYPE_487 = 0x1e7, + TILE_TYPE_488 = 0x1e8, + TILE_TYPE_489 = 0x1e9, + TILE_TYPE_490 = 0x1ea, + TILE_TYPE_491 = 0x1eb, + TILE_TYPE_492 = 0x1ec, + TILE_TYPE_493 = 0x1ed, + TILE_TYPE_494 = 0x1ee, + TILE_TYPE_495 = 0x1ef, + TILE_TYPE_496 = 0x1f0, + TILE_TYPE_497 = 0x1f1, + TILE_TYPE_498 = 0x1f2, + TILE_TYPE_499 = 0x1f3, + TILE_TYPE_500 = 0x1f4, + TILE_TYPE_501 = 0x1f5, + TILE_TYPE_502 = 0x1f6, + TILE_TYPE_503 = 0x1f7, + TILE_TYPE_504 = 0x1f8, + TILE_TYPE_505 = 0x1f9, + TILE_TYPE_506 = 0x1fa, + TILE_TYPE_507 = 0x1fb, + TILE_TYPE_508 = 0x1fc, + TILE_TYPE_509 = 0x1fd, + TILE_TYPE_510 = 0x1fe, + TILE_TYPE_511 = 0x1ff, + TILE_TYPE_512 = 0x200, + TILE_TYPE_513 = 0x201, + TILE_TYPE_514 = 0x202, + TILE_TYPE_515 = 0x203, + TILE_TYPE_516 = 0x204, + TILE_TYPE_517 = 0x205, + TILE_TYPE_518 = 0x206, + TILE_TYPE_519 = 0x207, + TILE_TYPE_520 = 0x208, + TILE_TYPE_521 = 0x209, + TILE_TYPE_522 = 0x20a, + TILE_TYPE_523 = 0x20b, + TILE_TYPE_524 = 0x20c, + TILE_TYPE_525 = 0x20d, + TILE_TYPE_526 = 0x20e, + TILE_TYPE_527 = 0x20f, + TILE_TYPE_528 = 0x210, + TILE_TYPE_529 = 0x211, + TILE_TYPE_530 = 0x212, + TILE_TYPE_531 = 0x213, + TILE_TYPE_532 = 0x214, + TILE_TYPE_533 = 0x215, + TILE_TYPE_534 = 0x216, + TILE_TYPE_535 = 0x217, + TILE_TYPE_536 = 0x218, + TILE_TYPE_537 = 0x219, + TILE_TYPE_538 = 0x21a, + TILE_TYPE_539 = 0x21b, + TILE_TYPE_540 = 0x21c, + TILE_TYPE_541 = 0x21d, + TILE_TYPE_542 = 0x21e, + TILE_TYPE_543 = 0x21f, + TILE_TYPE_544 = 0x220, + TILE_TYPE_545 = 0x221, + TILE_TYPE_546 = 0x222, + TILE_TYPE_547 = 0x223, + TILE_TYPE_548 = 0x224, + TILE_TYPE_549 = 0x225, + TILE_TYPE_550 = 0x226, + TILE_TYPE_551 = 0x227, + TILE_TYPE_552 = 0x228, + TILE_TYPE_553 = 0x229, + TILE_TYPE_554 = 0x22a, + TILE_TYPE_555 = 0x22b, + TILE_TYPE_556 = 0x22c, + TILE_TYPE_557 = 0x22d, + TILE_TYPE_558 = 0x22e, + TILE_TYPE_559 = 0x22f, + TILE_TYPE_560 = 0x230, + TILE_TYPE_561 = 0x231, + TILE_TYPE_562 = 0x232, + TILE_TYPE_563 = 0x233, + TILE_TYPE_564 = 0x234, + TILE_TYPE_565 = 0x235, + TILE_TYPE_566 = 0x236, + TILE_TYPE_567 = 0x237, + TILE_TYPE_568 = 0x238, + TILE_TYPE_569 = 0x239, + TILE_TYPE_570 = 0x23a, + TILE_TYPE_571 = 0x23b, + TILE_TYPE_572 = 0x23c, + TILE_TYPE_573 = 0x23d, + TILE_TYPE_574 = 0x23e, + TILE_TYPE_575 = 0x23f, + TILE_TYPE_576 = 0x240, + TILE_TYPE_577 = 0x241, + TILE_TYPE_578 = 0x242, + TILE_TYPE_579 = 0x243, + TILE_TYPE_580 = 0x244, + TILE_TYPE_581 = 0x245, + TILE_TYPE_582 = 0x246, + TILE_TYPE_583 = 0x247, + TILE_TYPE_584 = 0x248, + TILE_TYPE_585 = 0x249, + TILE_TYPE_586 = 0x24a, + TILE_TYPE_587 = 0x24b, + TILE_TYPE_588 = 0x24c, + TILE_TYPE_589 = 0x24d, + TILE_TYPE_590 = 0x24e, + TILE_TYPE_591 = 0x24f, + TILE_TYPE_592 = 0x250, + TILE_TYPE_593 = 0x251, + TILE_TYPE_594 = 0x252, + TILE_TYPE_595 = 0x253, + TILE_TYPE_596 = 0x254, + TILE_TYPE_597 = 0x255, + TILE_TYPE_598 = 0x256, + TILE_TYPE_599 = 0x257, + TILE_TYPE_600 = 0x258, + TILE_TYPE_601 = 0x259, + TILE_TYPE_602 = 0x25a, + TILE_TYPE_603 = 0x25b, + TILE_TYPE_604 = 0x25c, + TILE_TYPE_605 = 0x25d, + TILE_TYPE_606 = 0x25e, + TILE_TYPE_607 = 0x25f, + TILE_TYPE_608 = 0x260, + TILE_TYPE_609 = 0x261, + TILE_TYPE_610 = 0x262, + TILE_TYPE_611 = 0x263, + TILE_TYPE_612 = 0x264, + TILE_TYPE_613 = 0x265, + TILE_TYPE_614 = 0x266, + TILE_TYPE_615 = 0x267, + TILE_TYPE_616 = 0x268, + TILE_TYPE_617 = 0x269, + TILE_TYPE_618 = 0x26a, + TILE_TYPE_619 = 0x26b, + TILE_TYPE_620 = 0x26c, + TILE_TYPE_621 = 0x26d, + TILE_TYPE_622 = 0x26e, + TILE_TYPE_623 = 0x26f, + TILE_TYPE_624 = 0x270, + TILE_TYPE_625 = 0x271, + TILE_TYPE_626 = 0x272, + TILE_TYPE_627 = 0x273, + TILE_TYPE_628 = 0x274, + TILE_TYPE_629 = 0x275, + TILE_TYPE_630 = 0x276, + TILE_TYPE_631 = 0x277, + TILE_TYPE_632 = 0x278, + TILE_TYPE_633 = 0x279, + TILE_TYPE_634 = 0x27a, + TILE_TYPE_635 = 0x27b, + TILE_TYPE_636 = 0x27c, + TILE_TYPE_637 = 0x27d, + TILE_TYPE_638 = 0x27e, + TILE_TYPE_639 = 0x27f, + TILE_TYPE_640 = 0x280, + TILE_TYPE_641 = 0x281, + TILE_TYPE_642 = 0x282, + TILE_TYPE_643 = 0x283, + TILE_TYPE_644 = 0x284, + TILE_TYPE_645 = 0x285, + TILE_TYPE_646 = 0x286, + TILE_TYPE_647 = 0x287, + TILE_TYPE_648 = 0x288, + TILE_TYPE_649 = 0x289, + TILE_TYPE_650 = 0x28a, + TILE_TYPE_651 = 0x28b, + TILE_TYPE_652 = 0x28c, + TILE_TYPE_653 = 0x28d, + TILE_TYPE_654 = 0x28e, + TILE_TYPE_655 = 0x28f, + TILE_TYPE_656 = 0x290, + TILE_TYPE_657 = 0x291, + TILE_TYPE_658 = 0x292, + TILE_TYPE_659 = 0x293, + TILE_TYPE_660 = 0x294, + TILE_TYPE_661 = 0x295, + TILE_TYPE_662 = 0x296, + TILE_TYPE_663 = 0x297, + TILE_TYPE_664 = 0x298, + TILE_TYPE_665 = 0x299, + TILE_TYPE_666 = 0x29a, + TILE_TYPE_667 = 0x29b, + TILE_TYPE_668 = 0x29c, + TILE_TYPE_669 = 0x29d, + TILE_TYPE_670 = 0x29e, + TILE_TYPE_671 = 0x29f, + TILE_TYPE_672 = 0x2a0, + TILE_TYPE_673 = 0x2a1, + TILE_TYPE_674 = 0x2a2, + TILE_TYPE_675 = 0x2a3, + TILE_TYPE_676 = 0x2a4, + TILE_TYPE_677 = 0x2a5, + TILE_TYPE_678 = 0x2a6, + TILE_TYPE_679 = 0x2a7, + TILE_TYPE_680 = 0x2a8, + TILE_TYPE_681 = 0x2a9, + TILE_TYPE_682 = 0x2aa, + TILE_TYPE_683 = 0x2ab, + TILE_TYPE_684 = 0x2ac, + TILE_TYPE_685 = 0x2ad, + TILE_TYPE_686 = 0x2ae, + TILE_TYPE_687 = 0x2af, + TILE_TYPE_688 = 0x2b0, + TILE_TYPE_689 = 0x2b1, + TILE_TYPE_690 = 0x2b2, + TILE_TYPE_691 = 0x2b3, + TILE_TYPE_692 = 0x2b4, + TILE_TYPE_693 = 0x2b5, + TILE_TYPE_694 = 0x2b6, + TILE_TYPE_695 = 0x2b7, + TILE_TYPE_696 = 0x2b8, + TILE_TYPE_697 = 0x2b9, + TILE_TYPE_698 = 0x2ba, + TILE_TYPE_699 = 0x2bb, + TILE_TYPE_700 = 0x2bc, + TILE_TYPE_701 = 0x2bd, + TILE_TYPE_702 = 0x2be, + TILE_TYPE_703 = 0x2bf, + TILE_TYPE_704 = 0x2c0, + TILE_TYPE_705 = 0x2c1, + TILE_TYPE_706 = 0x2c2, + TILE_TYPE_707 = 0x2c3, + TILE_TYPE_708 = 0x2c4, + TILE_TYPE_709 = 0x2c5, + TILE_TYPE_710 = 0x2c6, + TILE_TYPE_711 = 0x2c7, + TILE_TYPE_712 = 0x2c8, + TILE_TYPE_713 = 0x2c9, + TILE_TYPE_714 = 0x2ca, + TILE_TYPE_715 = 0x2cb, + TILE_TYPE_716 = 0x2cc, + TILE_TYPE_717 = 0x2cd, + TILE_TYPE_718 = 0x2ce, + TILE_TYPE_719 = 0x2cf, + TILE_TYPE_720 = 0x2d0, + TILE_TYPE_721 = 0x2d1, + TILE_TYPE_722 = 0x2d2, + TILE_TYPE_723 = 0x2d3, + TILE_TYPE_724 = 0x2d4, + TILE_TYPE_725 = 0x2d5, + TILE_TYPE_726 = 0x2d6, + TILE_TYPE_727 = 0x2d7, + TILE_TYPE_728 = 0x2d8, + TILE_TYPE_729 = 0x2d9, + TILE_TYPE_730 = 0x2da, + TILE_TYPE_731 = 0x2db, + TILE_TYPE_732 = 0x2dc, + TILE_TYPE_733 = 0x2dd, + TILE_TYPE_734 = 0x2de, + TILE_TYPE_735 = 0x2df, + TILE_TYPE_736 = 0x2e0, + TILE_TYPE_737 = 0x2e1, + TILE_TYPE_738 = 0x2e2, + TILE_TYPE_739 = 0x2e3, + TILE_TYPE_740 = 0x2e4, + TILE_TYPE_741 = 0x2e5, + TILE_TYPE_742 = 0x2e6, + TILE_TYPE_743 = 0x2e7, + TILE_TYPE_744 = 0x2e8, + TILE_TYPE_745 = 0x2e9, + TILE_TYPE_746 = 0x2ea, + TILE_TYPE_747 = 0x2eb, + TILE_TYPE_748 = 0x2ec, + TILE_TYPE_749 = 0x2ed, + TILE_TYPE_750 = 0x2ee, + TILE_TYPE_751 = 0x2ef, + TILE_TYPE_752 = 0x2f0, + TILE_TYPE_753 = 0x2f1, + TILE_TYPE_754 = 0x2f2, + TILE_TYPE_755 = 0x2f3, + TILE_TYPE_756 = 0x2f4, + TILE_TYPE_757 = 0x2f5, + TILE_TYPE_758 = 0x2f6, + TILE_TYPE_759 = 0x2f7, + TILE_TYPE_760 = 0x2f8, + TILE_TYPE_761 = 0x2f9, + TILE_TYPE_762 = 0x2fa, + TILE_TYPE_763 = 0x2fb, + TILE_TYPE_764 = 0x2fc, + TILE_TYPE_765 = 0x2fd, + TILE_TYPE_766 = 0x2fe, + TILE_TYPE_767 = 0x2ff, + TILE_TYPE_768 = 0x300, + TILE_TYPE_769 = 0x301, + TILE_TYPE_770 = 0x302, + TILE_TYPE_771 = 0x303, + TILE_TYPE_772 = 0x304, + TILE_TYPE_773 = 0x305, + TILE_TYPE_774 = 0x306, + TILE_TYPE_775 = 0x307, + TILE_TYPE_776 = 0x308, + TILE_TYPE_777 = 0x309, + TILE_TYPE_778 = 0x30a, + TILE_TYPE_779 = 0x30b, + TILE_TYPE_780 = 0x30c, + TILE_TYPE_781 = 0x30d, + TILE_TYPE_782 = 0x30e, + TILE_TYPE_783 = 0x30f, + TILE_TYPE_784 = 0x310, + TILE_TYPE_785 = 0x311, + TILE_TYPE_786 = 0x312, + TILE_TYPE_787 = 0x313, + TILE_TYPE_788 = 0x314, + TILE_TYPE_789 = 0x315, + TILE_TYPE_790 = 0x316, + TILE_TYPE_791 = 0x317, // RED_TILE + TILE_TYPE_792 = 0x318, // BLUE_TILE + TILE_TYPE_793 = 0x319, + TILE_TYPE_794 = 0x31a, + TILE_TYPE_795 = 0x31b, + TILE_TYPE_796 = 0x31c, + TILE_TYPE_797 = 0x31d, + TILE_TYPE_798 = 0x31e, + TILE_TYPE_799 = 0x31f, + TILE_TYPE_800 = 0x320, + TILE_TYPE_801 = 0x321, + TILE_TYPE_802 = 0x322, + TILE_TYPE_803 = 0x323, + TILE_TYPE_804 = 0x324, + TILE_TYPE_805 = 0x325, + TILE_TYPE_806 = 0x326, + TILE_TYPE_807 = 0x327, + TILE_TYPE_808 = 0x328, + TILE_TYPE_809 = 0x329, + TILE_TYPE_810 = 0x32a, + TILE_TYPE_811 = 0x32b, + TILE_TYPE_812 = 0x32c, + TILE_TYPE_813 = 0x32d, + TILE_TYPE_814 = 0x32e, + TILE_TYPE_815 = 0x32f, + TILE_TYPE_816 = 0x330, + TILE_TYPE_817 = 0x331, + TILE_TYPE_818 = 0x332, + TILE_TYPE_819 = 0x333, + TILE_TYPE_820 = 0x334, + TILE_TYPE_821 = 0x335, + TILE_TYPE_822 = 0x336, + TILE_TYPE_823 = 0x337, + TILE_TYPE_824 = 0x338, + TILE_TYPE_825 = 0x339, + TILE_TYPE_826 = 0x33a, + TILE_TYPE_827 = 0x33b, + TILE_TYPE_828 = 0x33c, + TILE_TYPE_829 = 0x33d, + TILE_TYPE_830 = 0x33e, + TILE_TYPE_831 = 0x33f, + TILE_TYPE_832 = 0x340, + TILE_TYPE_833 = 0x341, + TILE_TYPE_834 = 0x342, + TILE_TYPE_835 = 0x343, + TILE_TYPE_836 = 0x344, + TILE_TYPE_837 = 0x345, + TILE_TYPE_838 = 0x346, + TILE_TYPE_839 = 0x347, + TILE_TYPE_840 = 0x348, + TILE_TYPE_841 = 0x349, + TILE_TYPE_842 = 0x34a, + TILE_TYPE_843 = 0x34b, + TILE_TYPE_844 = 0x34c, + TILE_TYPE_845 = 0x34d, + TILE_TYPE_846 = 0x34e, + TILE_TYPE_847 = 0x34f, + TILE_TYPE_848 = 0x350, + TILE_TYPE_849 = 0x351, + TILE_TYPE_850 = 0x352, + TILE_TYPE_851 = 0x353, + TILE_TYPE_852 = 0x354, + TILE_TYPE_853 = 0x355, + TILE_TYPE_854 = 0x356, + TILE_TYPE_855 = 0x357, + TILE_TYPE_856 = 0x358, + TILE_TYPE_857 = 0x359, + TILE_TYPE_858 = 0x35a, + TILE_TYPE_859 = 0x35b, + TILE_TYPE_860 = 0x35c, + TILE_TYPE_861 = 0x35d, + TILE_TYPE_862 = 0x35e, + TILE_TYPE_863 = 0x35f, + TILE_TYPE_864 = 0x360, + TILE_TYPE_865 = 0x361, + TILE_TYPE_866 = 0x362, + TILE_TYPE_867 = 0x363, + TILE_TYPE_868 = 0x364, + TILE_TYPE_869 = 0x365, + TILE_TYPE_870 = 0x366, + TILE_TYPE_871 = 0x367, + TILE_TYPE_872 = 0x368, + TILE_TYPE_873 = 0x369, + TILE_TYPE_874 = 0x36a, + TILE_TYPE_875 = 0x36b, + TILE_TYPE_876 = 0x36c, + TILE_TYPE_877 = 0x36d, + TILE_TYPE_878 = 0x36e, + TILE_TYPE_879 = 0x36f, + TILE_TYPE_880 = 0x370, + TILE_TYPE_881 = 0x371, + TILE_TYPE_882 = 0x372, + TILE_TYPE_883 = 0x373, + TILE_TYPE_884 = 0x374, + TILE_TYPE_885 = 0x375, + TILE_TYPE_886 = 0x376, + TILE_TYPE_887 = 0x377, + TILE_TYPE_888 = 0x378, + TILE_TYPE_889 = 0x379, + TILE_TYPE_890 = 0x37a, + TILE_TYPE_891 = 0x37b, + TILE_TYPE_892 = 0x37c, + TILE_TYPE_893 = 0x37d, + TILE_TYPE_894 = 0x37e, + TILE_TYPE_895 = 0x37f, + TILE_TYPE_896 = 0x380, + TILE_TYPE_897 = 0x381, + TILE_TYPE_898 = 0x382, + TILE_TYPE_899 = 0x383, + TILE_TYPE_900 = 0x384, + TILE_TYPE_901 = 0x385, + TILE_TYPE_902 = 0x386, + TILE_TYPE_903 = 0x387, + TILE_TYPE_904 = 0x388, + TILE_TYPE_905 = 0x389, + TILE_TYPE_906 = 0x38a, + TILE_TYPE_907 = 0x38b, + TILE_TYPE_908 = 0x38c, + TILE_TYPE_909 = 0x38d, + TILE_TYPE_910 = 0x38e, + TILE_TYPE_911 = 0x38f, + TILE_TYPE_912 = 0x390, + TILE_TYPE_913 = 0x391, + TILE_TYPE_914 = 0x392, + TILE_TYPE_915 = 0x393, + TILE_TYPE_916 = 0x394, + TILE_TYPE_917 = 0x395, + TILE_TYPE_918 = 0x396, + TILE_TYPE_919 = 0x397, + TILE_TYPE_920 = 0x398, + TILE_TYPE_921 = 0x399, + TILE_TYPE_922 = 0x39a, + TILE_TYPE_923 = 0x39b, + TILE_TYPE_924 = 0x39c, + TILE_TYPE_925 = 0x39d, + TILE_TYPE_926 = 0x39e, + TILE_TYPE_927 = 0x39f, + TILE_TYPE_928 = 0x3a0, + TILE_TYPE_929 = 0x3a1, + TILE_TYPE_930 = 0x3a2, + TILE_TYPE_931 = 0x3a3, + TILE_TYPE_932 = 0x3a4, + TILE_TYPE_933 = 0x3a5, + TILE_TYPE_934 = 0x3a6, + TILE_TYPE_935 = 0x3a7, + TILE_TYPE_936 = 0x3a8, + TILE_TYPE_937 = 0x3a9, + TILE_TYPE_938 = 0x3aa, + TILE_TYPE_939 = 0x3ab, + TILE_TYPE_940 = 0x3ac, + TILE_TYPE_941 = 0x3ad, + TILE_TYPE_942 = 0x3ae, + TILE_TYPE_943 = 0x3af, + TILE_TYPE_944 = 0x3b0, + TILE_TYPE_945 = 0x3b1, + TILE_TYPE_946 = 0x3b2, + TILE_TYPE_947 = 0x3b3, + TILE_TYPE_948 = 0x3b4, + TILE_TYPE_949 = 0x3b5, + TILE_TYPE_950 = 0x3b6, + TILE_TYPE_951 = 0x3b7, + TILE_TYPE_952 = 0x3b8, + TILE_TYPE_953 = 0x3b9, + TILE_TYPE_954 = 0x3ba, + TILE_TYPE_955 = 0x3bb, + TILE_TYPE_956 = 0x3bc, + TILE_TYPE_957 = 0x3bd, + TILE_TYPE_958 = 0x3be, + TILE_TYPE_959 = 0x3bf, + TILE_TYPE_960 = 0x3c0, + TILE_TYPE_961 = 0x3c1, + TILE_TYPE_962 = 0x3c2, + TILE_TYPE_963 = 0x3c3, + TILE_TYPE_964 = 0x3c4, + TILE_TYPE_965 = 0x3c5, + TILE_TYPE_966 = 0x3c6, + TILE_TYPE_967 = 0x3c7, + TILE_TYPE_968 = 0x3c8, + TILE_TYPE_969 = 0x3c9, + TILE_TYPE_970 = 0x3ca, + TILE_TYPE_971 = 0x3cb, + TILE_TYPE_972 = 0x3cc, + TILE_TYPE_973 = 0x3cd, + TILE_TYPE_974 = 0x3ce, + TILE_TYPE_975 = 0x3cf, + TILE_TYPE_976 = 0x3d0, + TILE_TYPE_977 = 0x3d1, + TILE_TYPE_978 = 0x3d2, + TILE_TYPE_979 = 0x3d3, + TILE_TYPE_980 = 0x3d4, + TILE_TYPE_981 = 0x3d5, + TILE_TYPE_982 = 0x3d6, + TILE_TYPE_983 = 0x3d7, + TILE_TYPE_984 = 0x3d8, + TILE_TYPE_985 = 0x3d9, + TILE_TYPE_986 = 0x3da, + TILE_TYPE_987 = 0x3db, + TILE_TYPE_988 = 0x3dc, + TILE_TYPE_989 = 0x3dd, + TILE_TYPE_990 = 0x3de, + TILE_TYPE_991 = 0x3df, + TILE_TYPE_992 = 0x3e0, + TILE_TYPE_993 = 0x3e1, + TILE_TYPE_994 = 0x3e2, + TILE_TYPE_995 = 0x3e3, + TILE_TYPE_996 = 0x3e4, + TILE_TYPE_997 = 0x3e5, + TILE_TYPE_998 = 0x3e6, + TILE_TYPE_999 = 0x3e7, + TILE_TYPE_1000 = 0x3e8, + TILE_TYPE_1001 = 0x3e9, + TILE_TYPE_1002 = 0x3ea, + TILE_TYPE_1003 = 0x3eb, + TILE_TYPE_1004 = 0x3ec, + TILE_TYPE_1005 = 0x3ed, + TILE_TYPE_1006 = 0x3ee, + TILE_TYPE_1007 = 0x3ef, + TILE_TYPE_1008 = 0x3f0, + TILE_TYPE_1009 = 0x3f1, + TILE_TYPE_1010 = 0x3f2, + TILE_TYPE_1011 = 0x3f3, + TILE_TYPE_1012 = 0x3f4, + TILE_TYPE_1013 = 0x3f5, + TILE_TYPE_1014 = 0x3f6, + TILE_TYPE_1015 = 0x3f7, + TILE_TYPE_1016 = 0x3f8, + TILE_TYPE_1017 = 0x3f9, + TILE_TYPE_1018 = 0x3fa, + TILE_TYPE_1019 = 0x3fb, + TILE_TYPE_1020 = 0x3fc, + TILE_TYPE_1021 = 0x3fd, + TILE_TYPE_1022 = 0x3fe, + TILE_TYPE_1023 = 0x3ff, + TILE_TYPE_1024 = 0x400, + TILE_TYPE_1025 = 0x401, + TILE_TYPE_1026 = 0x402, + TILE_TYPE_1027 = 0x403, + TILE_TYPE_1028 = 0x404, + TILE_TYPE_1029 = 0x405, + TILE_TYPE_1030 = 0x406, + TILE_TYPE_1031 = 0x407, + TILE_TYPE_1032 = 0x408, + TILE_TYPE_1033 = 0x409, + TILE_TYPE_1034 = 0x40a, + TILE_TYPE_1035 = 0x40b, + TILE_TYPE_1036 = 0x40c, + TILE_TYPE_1037 = 0x40d, + TILE_TYPE_1038 = 0x40e, + TILE_TYPE_1039 = 0x40f, + TILE_TYPE_1040 = 0x410, + TILE_TYPE_1041 = 0x411, + TILE_TYPE_1042 = 0x412, + TILE_TYPE_1043 = 0x413, + TILE_TYPE_1044 = 0x414, + TILE_TYPE_1045 = 0x415, + TILE_TYPE_1046 = 0x416, + TILE_TYPE_1047 = 0x417, + TILE_TYPE_1048 = 0x418, + TILE_TYPE_1049 = 0x419, + TILE_TYPE_1050 = 0x41a, + TILE_TYPE_1051 = 0x41b, + TILE_TYPE_1052 = 0x41c, + TILE_TYPE_1053 = 0x41d, + TILE_TYPE_1054 = 0x41e, + TILE_TYPE_1055 = 0x41f, + TILE_TYPE_1056 = 0x420, + TILE_TYPE_1057 = 0x421, + TILE_TYPE_1058 = 0x422, + TILE_TYPE_1059 = 0x423, + TILE_TYPE_1060 = 0x424, + TILE_TYPE_1061 = 0x425, + TILE_TYPE_1062 = 0x426, + TILE_TYPE_1063 = 0x427, + TILE_TYPE_1064 = 0x428, + TILE_TYPE_1065 = 0x429, + TILE_TYPE_1066 = 0x42a, + TILE_TYPE_1067 = 0x42b, + TILE_TYPE_1068 = 0x42c, + TILE_TYPE_1069 = 0x42d, + TILE_TYPE_1070 = 0x42e, + TILE_TYPE_1071 = 0x42f, + TILE_TYPE_1072 = 0x430, + TILE_TYPE_1073 = 0x431, + TILE_TYPE_1074 = 0x432, + TILE_TYPE_1075 = 0x433, + TILE_TYPE_1076 = 0x434, + TILE_TYPE_1077 = 0x435, + TILE_TYPE_1078 = 0x436, + TILE_TYPE_1079 = 0x437, + TILE_TYPE_1080 = 0x438, + TILE_TYPE_1081 = 0x439, + TILE_TYPE_1082 = 0x43a, + TILE_TYPE_1083 = 0x43b, + TILE_TYPE_1084 = 0x43c, + TILE_TYPE_1085 = 0x43d, + TILE_TYPE_1086 = 0x43e, + TILE_TYPE_1087 = 0x43f, + TILE_TYPE_1088 = 0x440, + TILE_TYPE_1089 = 0x441, + TILE_TYPE_1090 = 0x442, + TILE_TYPE_1091 = 0x443, + TILE_TYPE_1092 = 0x444, + TILE_TYPE_1093 = 0x445, + TILE_TYPE_1094 = 0x446, + TILE_TYPE_1095 = 0x447, + TILE_TYPE_1096 = 0x448, + TILE_TYPE_1097 = 0x449, + TILE_TYPE_1098 = 0x44a, + TILE_TYPE_1099 = 0x44b, + TILE_TYPE_1100 = 0x44c, + TILE_TYPE_1101 = 0x44d, + TILE_TYPE_1102 = 0x44e, + TILE_TYPE_1103 = 0x44f, + TILE_TYPE_1104 = 0x450, + TILE_TYPE_1105 = 0x451, + TILE_TYPE_1106 = 0x452, + TILE_TYPE_1107 = 0x453, + TILE_TYPE_1108 = 0x454, + TILE_TYPE_1109 = 0x455, + TILE_TYPE_1110 = 0x456, + TILE_TYPE_1111 = 0x457, + TILE_TYPE_1112 = 0x458, + TILE_TYPE_1113 = 0x459, + TILE_TYPE_1114 = 0x45a, + TILE_TYPE_1115 = 0x45b, + TILE_TYPE_1116 = 0x45c, + TILE_TYPE_1117 = 0x45d, + TILE_TYPE_1118 = 0x45e, + TILE_TYPE_1119 = 0x45f, + TILE_TYPE_1120 = 0x460, + TILE_TYPE_1121 = 0x461, + TILE_TYPE_1122 = 0x462, + TILE_TYPE_1123 = 0x463, + TILE_TYPE_1124 = 0x464, + TILE_TYPE_1125 = 0x465, + TILE_TYPE_1126 = 0x466, + TILE_TYPE_1127 = 0x467, + TILE_TYPE_1128 = 0x468, + TILE_TYPE_1129 = 0x469, + TILE_TYPE_1130 = 0x46a, + TILE_TYPE_1131 = 0x46b, + TILE_TYPE_1132 = 0x46c, + TILE_TYPE_1133 = 0x46d, + TILE_TYPE_1134 = 0x46e, + TILE_TYPE_1135 = 0x46f, + TILE_TYPE_1136 = 0x470, + TILE_TYPE_1137 = 0x471, + TILE_TYPE_1138 = 0x472, + TILE_TYPE_1139 = 0x473, + TILE_TYPE_1140 = 0x474, + TILE_TYPE_1141 = 0x475, + TILE_TYPE_1142 = 0x476, + TILE_TYPE_1143 = 0x477, + TILE_TYPE_1144 = 0x478, + TILE_TYPE_1145 = 0x479, + TILE_TYPE_1146 = 0x47a, + TILE_TYPE_1147 = 0x47b, + TILE_TYPE_1148 = 0x47c, + TILE_TYPE_1149 = 0x47d, + TILE_TYPE_1150 = 0x47e, + TILE_TYPE_1151 = 0x47f, + TILE_TYPE_1152 = 0x480, + TILE_TYPE_1153 = 0x481, + TILE_TYPE_1154 = 0x482, + TILE_TYPE_1155 = 0x483, + TILE_TYPE_1156 = 0x484, + TILE_TYPE_1157 = 0x485, + TILE_TYPE_1158 = 0x486, + TILE_TYPE_1159 = 0x487, + TILE_TYPE_1160 = 0x488, + TILE_TYPE_1161 = 0x489, + TILE_TYPE_1162 = 0x48a, + TILE_TYPE_1163 = 0x48b, + TILE_TYPE_1164 = 0x48c, + TILE_TYPE_1165 = 0x48d, + TILE_TYPE_1166 = 0x48e, + TILE_TYPE_1167 = 0x48f, + TILE_TYPE_1168 = 0x490, + TILE_TYPE_1169 = 0x491, + TILE_TYPE_1170 = 0x492, + TILE_TYPE_1171 = 0x493, + TILE_TYPE_1172 = 0x494, + TILE_TYPE_1173 = 0x495, + TILE_TYPE_1174 = 0x496, + TILE_TYPE_1175 = 0x497, + TILE_TYPE_1176 = 0x498, + TILE_TYPE_1177 = 0x499, + TILE_TYPE_1178 = 0x49a, + TILE_TYPE_1179 = 0x49b, + TILE_TYPE_1180 = 0x49c, + TILE_TYPE_1181 = 0x49d, + TILE_TYPE_1182 = 0x49e, + TILE_TYPE_1183 = 0x49f, + TILE_TYPE_1184 = 0x4a0, + TILE_TYPE_1185 = 0x4a1, + TILE_TYPE_1186 = 0x4a2, + TILE_TYPE_1187 = 0x4a3, + TILE_TYPE_1188 = 0x4a4, + TILE_TYPE_1189 = 0x4a5, + TILE_TYPE_1190 = 0x4a6, + TILE_TYPE_1191 = 0x4a7, + TILE_TYPE_1192 = 0x4a8, + TILE_TYPE_1193 = 0x4a9, + TILE_TYPE_1194 = 0x4aa, + TILE_TYPE_1195 = 0x4ab, + TILE_TYPE_1196 = 0x4ac, + TILE_TYPE_1197 = 0x4ad, + TILE_TYPE_1198 = 0x4ae, + TILE_TYPE_1199 = 0x4af, + TILE_TYPE_1200 = 0x4b0, + TILE_TYPE_1201 = 0x4b1, + TILE_TYPE_1202 = 0x4b2, + TILE_TYPE_1203 = 0x4b3, + TILE_TYPE_1204 = 0x4b4, + TILE_TYPE_1205 = 0x4b5, + TILE_TYPE_1206 = 0x4b6, + TILE_TYPE_1207 = 0x4b7, + TILE_TYPE_1208 = 0x4b8, + TILE_TYPE_1209 = 0x4b9, + TILE_TYPE_1210 = 0x4ba, + TILE_TYPE_1211 = 0x4bb, + TILE_TYPE_1212 = 0x4bc, + TILE_TYPE_1213 = 0x4bd, + TILE_TYPE_1214 = 0x4be, + TILE_TYPE_1215 = 0x4bf, + TILE_TYPE_1216 = 0x4c0, + TILE_TYPE_1217 = 0x4c1, + TILE_TYPE_1218 = 0x4c2, + TILE_TYPE_1219 = 0x4c3, + TILE_TYPE_1220 = 0x4c4, + TILE_TYPE_1221 = 0x4c5, + TILE_TYPE_1222 = 0x4c6, + TILE_TYPE_1223 = 0x4c7, + TILE_TYPE_1224 = 0x4c8, + TILE_TYPE_1225 = 0x4c9, + TILE_TYPE_1226 = 0x4ca, + TILE_TYPE_1227 = 0x4cb, + TILE_TYPE_1228 = 0x4cc, + TILE_TYPE_1229 = 0x4cd, + TILE_TYPE_1230 = 0x4ce, + TILE_TYPE_1231 = 0x4cf, + TILE_TYPE_1232 = 0x4d0, + TILE_TYPE_1233 = 0x4d1, + TILE_TYPE_1234 = 0x4d2, + TILE_TYPE_1235 = 0x4d3, + TILE_TYPE_1236 = 0x4d4, + TILE_TYPE_1237 = 0x4d5, + TILE_TYPE_1238 = 0x4d6, + TILE_TYPE_1239 = 0x4d7, + TILE_TYPE_1240 = 0x4d8, + TILE_TYPE_1241 = 0x4d9, + TILE_TYPE_1242 = 0x4da, + TILE_TYPE_1243 = 0x4db, + TILE_TYPE_1244 = 0x4dc, + TILE_TYPE_1245 = 0x4dd, + TILE_TYPE_1246 = 0x4de, + TILE_TYPE_1247 = 0x4df, + TILE_TYPE_1248 = 0x4e0, + TILE_TYPE_1249 = 0x4e1, + TILE_TYPE_1250 = 0x4e2, + TILE_TYPE_1251 = 0x4e3, + TILE_TYPE_1252 = 0x4e4, + TILE_TYPE_1253 = 0x4e5, + TILE_TYPE_1254 = 0x4e6, + TILE_TYPE_1255 = 0x4e7, + TILE_TYPE_1256 = 0x4e8, + TILE_TYPE_1257 = 0x4e9, + TILE_TYPE_1258 = 0x4ea, + TILE_TYPE_1259 = 0x4eb, + TILE_TYPE_1260 = 0x4ec, + TILE_TYPE_1261 = 0x4ed, + TILE_TYPE_1262 = 0x4ee, + TILE_TYPE_1263 = 0x4ef, + TILE_TYPE_1264 = 0x4f0, + TILE_TYPE_1265 = 0x4f1, + TILE_TYPE_1266 = 0x4f2, + TILE_TYPE_1267 = 0x4f3, + TILE_TYPE_1268 = 0x4f4, + TILE_TYPE_1269 = 0x4f5, + TILE_TYPE_1270 = 0x4f6, + TILE_TYPE_1271 = 0x4f7, + TILE_TYPE_1272 = 0x4f8, + TILE_TYPE_1273 = 0x4f9, + TILE_TYPE_1274 = 0x4fa, + TILE_TYPE_1275 = 0x4fb, + TILE_TYPE_1276 = 0x4fc, + TILE_TYPE_1277 = 0x4fd, + TILE_TYPE_1278 = 0x4fe, + TILE_TYPE_1279 = 0x4ff, + TILE_TYPE_1280 = 0x500, + TILE_TYPE_1281 = 0x501, + TILE_TYPE_1282 = 0x502, + TILE_TYPE_1283 = 0x503, + TILE_TYPE_1284 = 0x504, + TILE_TYPE_1285 = 0x505, + TILE_TYPE_1286 = 0x506, + TILE_TYPE_1287 = 0x507, + TILE_TYPE_1288 = 0x508, + TILE_TYPE_1289 = 0x509, + TILE_TYPE_1290 = 0x50a, + TILE_TYPE_1291 = 0x50b, + TILE_TYPE_1292 = 0x50c, + TILE_TYPE_1293 = 0x50d, + TILE_TYPE_1294 = 0x50e, + TILE_TYPE_1295 = 0x50f, + TILE_TYPE_1296 = 0x510, + TILE_TYPE_1297 = 0x511, + TILE_TYPE_1298 = 0x512, + TILE_TYPE_1299 = 0x513, + TILE_TYPE_1300 = 0x514, + TILE_TYPE_1301 = 0x515, + TILE_TYPE_1302 = 0x516, + TILE_TYPE_1303 = 0x517, + TILE_TYPE_1304 = 0x518, + TILE_TYPE_1305 = 0x519, + TILE_TYPE_1306 = 0x51a, + TILE_TYPE_1307 = 0x51b, + TILE_TYPE_1308 = 0x51c, + TILE_TYPE_1309 = 0x51d, + TILE_TYPE_1310 = 0x51e, + TILE_TYPE_1311 = 0x51f, + TILE_TYPE_1312 = 0x520, + TILE_TYPE_1313 = 0x521, + TILE_TYPE_1314 = 0x522, + TILE_TYPE_1315 = 0x523, + TILE_TYPE_1316 = 0x524, + TILE_TYPE_1317 = 0x525, + TILE_TYPE_1318 = 0x526, + TILE_TYPE_1319 = 0x527, + TILE_TYPE_1320 = 0x528, + TILE_TYPE_1321 = 0x529, + TILE_TYPE_1322 = 0x52a, + TILE_TYPE_1323 = 0x52b, + TILE_TYPE_1324 = 0x52c, + TILE_TYPE_1325 = 0x52d, + TILE_TYPE_1326 = 0x52e, + TILE_TYPE_1327 = 0x52f, + TILE_TYPE_1328 = 0x530, + TILE_TYPE_1329 = 0x531, + TILE_TYPE_1330 = 0x532, + TILE_TYPE_1331 = 0x533, + TILE_TYPE_1332 = 0x534, + TILE_TYPE_1333 = 0x535, + TILE_TYPE_1334 = 0x536, + TILE_TYPE_1335 = 0x537, + TILE_TYPE_1336 = 0x538, + TILE_TYPE_1337 = 0x539, + TILE_TYPE_1338 = 0x53a, + TILE_TYPE_1339 = 0x53b, + TILE_TYPE_1340 = 0x53c, + TILE_TYPE_1341 = 0x53d, + TILE_TYPE_1342 = 0x53e, + TILE_TYPE_1343 = 0x53f, + TILE_TYPE_1344 = 0x540, + TILE_TYPE_1345 = 0x541, + TILE_TYPE_1346 = 0x542, + TILE_TYPE_1347 = 0x543, + TILE_TYPE_1348 = 0x544, + TILE_TYPE_1349 = 0x545, + TILE_TYPE_1350 = 0x546, + TILE_TYPE_1351 = 0x547, + TILE_TYPE_1352 = 0x548, + TILE_TYPE_1353 = 0x549, + TILE_TYPE_1354 = 0x54a, + TILE_TYPE_1355 = 0x54b, + TILE_TYPE_1356 = 0x54c, + TILE_TYPE_1357 = 0x54d, + TILE_TYPE_1358 = 0x54e, + TILE_TYPE_1359 = 0x54f, + TILE_TYPE_1360 = 0x550, + TILE_TYPE_1361 = 0x551, + TILE_TYPE_1362 = 0x552, + TILE_TYPE_1363 = 0x553, + TILE_TYPE_1364 = 0x554, + TILE_TYPE_1365 = 0x555, + TILE_TYPE_1366 = 0x556, + TILE_TYPE_1367 = 0x557, + TILE_TYPE_1368 = 0x558, + TILE_TYPE_1369 = 0x559, + TILE_TYPE_1370 = 0x55a, + TILE_TYPE_1371 = 0x55b, + TILE_TYPE_1372 = 0x55c, + TILE_TYPE_1373 = 0x55d, + TILE_TYPE_1374 = 0x55e, + TILE_TYPE_1375 = 0x55f, + TILE_TYPE_1376 = 0x560, + TILE_TYPE_1377 = 0x561, + TILE_TYPE_1378 = 0x562, + TILE_TYPE_1379 = 0x563, + TILE_TYPE_1380 = 0x564, + TILE_TYPE_1381 = 0x565, + TILE_TYPE_1382 = 0x566, + TILE_TYPE_1383 = 0x567, + TILE_TYPE_1384 = 0x568, + TILE_TYPE_1385 = 0x569, + TILE_TYPE_1386 = 0x56a, + TILE_TYPE_1387 = 0x56b, + TILE_TYPE_1388 = 0x56c, + TILE_TYPE_1389 = 0x56d, + TILE_TYPE_1390 = 0x56e, + TILE_TYPE_1391 = 0x56f, + TILE_TYPE_1392 = 0x570, + TILE_TYPE_1393 = 0x571, + TILE_TYPE_1394 = 0x572, + TILE_TYPE_1395 = 0x573, } TileType; typedef enum { SPECIAL_TILE_0 = 0x4000, // Pots - SPECIAL_TILE_1, // 0x4001 // Move Pot Up - SPECIAL_TILE_2, // 0x4002 // Move Pot Right - SPECIAL_TILE_3, // 0x4003 // Move Pot Down - SPECIAL_TILE_4, // 0x4004 // Move Pot Left - SPECIAL_TILE_5, // 0x4005 - SPECIAL_TILE_6, // 0x4006 - SPECIAL_TILE_7, // 0x4007 - SPECIAL_TILE_8, // 0x4008 - SPECIAL_TILE_9, // 0x4009 - SPECIAL_TILE_10, // 0x400a - SPECIAL_TILE_11, // 0x400b // Statues/ Pillar Gates - SPECIAL_TILE_12, // 0x400c // Move Statue Up - SPECIAL_TILE_13, // 0x400d // Move Statue Right - SPECIAL_TILE_14, // 0x400e // Move Statue Down - SPECIAL_TILE_15, // 0x400f // Move Statue Left - SPECIAL_TILE_16, // 0x4010 - SPECIAL_TILE_17, // 0x4011 - SPECIAL_TILE_18, // 0x4012 - SPECIAL_TILE_19, // 0x4013 - SPECIAL_TILE_20, // 0x4014 // Beanstalk/Ladder Top (Transition) - SPECIAL_TILE_21, // 0x4015 // Boulder in Hole - SPECIAL_TILE_22, // 0x4016 - SPECIAL_TILE_23, // 0x4017 // Beanstalk/Ladder - SPECIAL_TILE_24, // 0x4018 - SPECIAL_TILE_25, // 0x4019 - SPECIAL_TILE_26, // 0x401a - SPECIAL_TILE_27, // 0x401b // Boulder - SPECIAL_TILE_28, // 0x401c // Move Bolder Up - SPECIAL_TILE_29, // 0x401d // Move Bolder Right - SPECIAL_TILE_30, // 0x401e // Move Bolder Down - SPECIAL_TILE_31, // 0x401f // Move Bolder Left - SPECIAL_TILE_32, // 0x4020 // Spring hole (Cane shot hole) - SPECIAL_TILE_33, // 0x4021 - SPECIAL_TILE_34, // 0x4022 // Furniture Center Locked Door/Frozen Element/Octo/O Shaped Ice (ToD) Big Chest + SPECIAL_TILE_1 = 0x4001, // Move Pot Up + SPECIAL_TILE_2 = 0x4002, // Move Pot Right + SPECIAL_TILE_3 = 0x4003, // Move Pot Down + SPECIAL_TILE_4 = 0x4004, // Move Pot Left + SPECIAL_TILE_5 = 0x4005, + SPECIAL_TILE_6 = 0x4006, + SPECIAL_TILE_7 = 0x4007, + SPECIAL_TILE_8 = 0x4008, + SPECIAL_TILE_9 = 0x4009, + SPECIAL_TILE_10 = 0x400a, + SPECIAL_TILE_11 = 0x400b, // Statues/ Pillar Gates + SPECIAL_TILE_12 = 0x400c, // Move Statue Up + SPECIAL_TILE_13 = 0x400d, // Move Statue Right + SPECIAL_TILE_14 = 0x400e, // Move Statue Down + SPECIAL_TILE_15 = 0x400f, // Move Statue Left + SPECIAL_TILE_16 = 0x4010, + SPECIAL_TILE_17 = 0x4011, + SPECIAL_TILE_18 = 0x4012, + SPECIAL_TILE_19 = 0x4013, + SPECIAL_TILE_20 = 0x4014, // Beanstalk/Ladder Top (Transition) + SPECIAL_TILE_21 = 0x4015, // Boulder in Hole + SPECIAL_TILE_22 = 0x4016, + SPECIAL_TILE_23 = 0x4017, // Beanstalk/Ladder + SPECIAL_TILE_24 = 0x4018, + SPECIAL_TILE_25 = 0x4019, + SPECIAL_TILE_26 = 0x401a, + SPECIAL_TILE_27 = 0x401b, // Boulder + SPECIAL_TILE_28 = 0x401c, // Move Bolder Up + SPECIAL_TILE_29 = 0x401d, // Move Bolder Right + SPECIAL_TILE_30 = 0x401e, // Move Bolder Down + SPECIAL_TILE_31 = 0x401f, // Move Bolder Left + SPECIAL_TILE_32 = 0x4020, // Spring hole (Cane shot hole) + SPECIAL_TILE_33 = 0x4021, + SPECIAL_TILE_34 = 0x4022, // Furniture Center Locked Door/Frozen Element/Octo/O Shaped Ice (ToD) Big Chest // Closed (ToD) Gust Jar Mushrooms (ToD) Perhaps this is just tiles that change on // interaction? - SPECIAL_TILE_35, // 0x4023 // Object Top - SPECIAL_TILE_36, // 0x4024 // Object Left - SPECIAL_TILE_37, // 0x4025 // Object Right - SPECIAL_TILE_38, // 0x4026 // Object Bottom - SPECIAL_TILE_39, // 0x4027 // Object Top Left Corner - SPECIAL_TILE_40, // 0x4028 // Object Top Right Corner - SPECIAL_TILE_41, // 0x4029 // Object Bottom Left Corner - SPECIAL_TILE_42, // 0x402a // Object Bottom Right Corner - SPECIAL_TILE_43, // 0x402b // Push Object Either (1 off) - SPECIAL_TILE_44, // 0x402c // Push Object Left (1 off) - SPECIAL_TILE_45, // 0x402d // Push Object Right (1 off) - SPECIAL_TILE_46, // 0x402e // Push Object Either - SPECIAL_TILE_47, // 0x402f - SPECIAL_TILE_48, // 0x4030 - SPECIAL_TILE_49, // 0x4031 // Pushed Object - SPECIAL_TILE_50, // 0x4032 // Blue Bean in Hole - SPECIAL_TILE_51, // 0x4033 - SPECIAL_TILE_52, // 0x4034 - SPECIAL_TILE_53, // 0x4035 - SPECIAL_TILE_54, // 0x4036 // Pillar w/ Object - SPECIAL_TILE_55, // 0x4037 // Move pillar Up - SPECIAL_TILE_56, // 0x4038 // Move pillar Right - SPECIAL_TILE_57, // 0x4039 // Move pillar Down - SPECIAL_TILE_58, // 0x403a // Move pillar Left - SPECIAL_TILE_59, // 0x403b // Green Bean in Hole - SPECIAL_TILE_60, // 0x403c - SPECIAL_TILE_61, // 0x403d // Minish Path Under Stick, Stone over hole in light rooms (ToD), Object Blocking + SPECIAL_TILE_35 = 0x4023, // Object Top + SPECIAL_TILE_36 = 0x4024, // Object Left + SPECIAL_TILE_37 = 0x4025, // Object Right + SPECIAL_TILE_38 = 0x4026, // Object Bottom + SPECIAL_TILE_39 = 0x4027, // Object Top Left Corner + SPECIAL_TILE_40 = 0x4028, // Object Top Right Corner + SPECIAL_TILE_41 = 0x4029, // Object Bottom Left Corner + SPECIAL_TILE_42 = 0x402a, // Object Bottom Right Corner + SPECIAL_TILE_43 = 0x402b, // Push Object Either (1 off) + SPECIAL_TILE_44 = 0x402c, // Push Object Left (1 off) + SPECIAL_TILE_45 = 0x402d, // Push Object Right (1 off) + SPECIAL_TILE_46 = 0x402e, // Push Object Either + SPECIAL_TILE_47 = 0x402f, + SPECIAL_TILE_48 = 0x4030, + SPECIAL_TILE_49 = 0x4031, // Pushed Object + SPECIAL_TILE_50 = 0x4032, // Blue Bean in Hole + SPECIAL_TILE_51 = 0x4033, + SPECIAL_TILE_52 = 0x4034, + SPECIAL_TILE_53 = 0x4035, + SPECIAL_TILE_54 = 0x4036, // Pillar w/ Object + SPECIAL_TILE_55 = 0x4037, // Move pillar Up + SPECIAL_TILE_56 = 0x4038, // Move pillar Right + SPECIAL_TILE_57 = 0x4039, // Move pillar Down + SPECIAL_TILE_58 = 0x403a, // Move pillar Left + SPECIAL_TILE_59 = 0x403b, // Green Bean in Hole + SPECIAL_TILE_60 = 0x403c, + SPECIAL_TILE_61 = 0x403d, // Minish Path Under Stick, Stone over hole in light rooms (ToD), Object Blocking // Town doors - SPECIAL_TILE_62, // 0x403e // Grave - SPECIAL_TILE_63, // 0x403f - SPECIAL_TILE_64, // 0x4040 // Portal Top Left - SPECIAL_TILE_65, // 0x4041 // Portal Top - SPECIAL_TILE_66, // 0x4042 // Portal Top Right - SPECIAL_TILE_67, // 0x4043 // Portal Left - SPECIAL_TILE_68, // 0x4044 // Portal Center - SPECIAL_TILE_69, // 0x4045 // Portal Right - SPECIAL_TILE_70, // 0x4046 // Portal Bottom Left - SPECIAL_TILE_71, // 0x4047 // Portal Bottom - SPECIAL_TILE_72, // 0x4048 // Portal Bottom Right - SPECIAL_TILE_73, // 0x4049 - SPECIAL_TILE_74, // 0x404a // Push Box - SPECIAL_TILE_75, // 0x404b // Move Block Up - SPECIAL_TILE_76, // 0x404c // Move Block Right - SPECIAL_TILE_77, // 0x404d // Move Block Down - SPECIAL_TILE_78, // 0x404e // Push Box Locked - SPECIAL_TILE_79, // 0x404f - SPECIAL_TILE_80, // 0x4050 // Impact Switch - SPECIAL_TILE_81, // 0x4051 - SPECIAL_TILE_82, // 0x4052 // Lever (facing left) - SPECIAL_TILE_83, // 0x4053 // Lever (facing up) - SPECIAL_TILE_84, // 0x4054 // After Lever push (facing left) - SPECIAL_TILE_85, // 0x4055 // Big lever (facing left inside) - SPECIAL_TILE_86, // 0x4056 // Big lever (facing left outside) - SPECIAL_TILE_87, // 0x4057 // Big lever (facing up inside) - SPECIAL_TILE_88, // 0x4058 // Big lever (facing up outside) - SPECIAL_TILE_89, // 0x4059 - SPECIAL_TILE_90, // 0x405a // Ice Blocks - SPECIAL_TILE_91, // 0x405b // Move Block Up - SPECIAL_TILE_92, // 0x405c // Move Block Right - SPECIAL_TILE_93, // 0x405d // Move Block Down - SPECIAL_TILE_94, // 0x405e // Move Block Left - SPECIAL_TILE_95, // 0x405f - SPECIAL_TILE_96, // 0x4060 // Skull - SPECIAL_TILE_97, // 0x4061 // Lit Fireplace - SPECIAL_TILE_98, // 0x4062 - SPECIAL_TILE_99, // 0x4063 - SPECIAL_TILE_100, // 0x4064 - SPECIAL_TILE_101, // 0x4065 // Tree Thorns Right - SPECIAL_TILE_102, // 0x4066 // Tree Thorns Left - SPECIAL_TILE_103, // 0x4067 - SPECIAL_TILE_104, // 0x4068 // Hot Ash Covering Objects - SPECIAL_TILE_105, // 0x4069 // Loading Zone - SPECIAL_TILE_106, // 0x406a - SPECIAL_TILE_107, // 0x406b - SPECIAL_TILE_108, // 0x406c // Acorn Top Left - SPECIAL_TILE_109, // 0x406d // Acorn Top Right - SPECIAL_TILE_110, // 0x406e // Acorn Bottom Left - SPECIAL_TILE_111, // 0x406f // Acorn Bottom Right - SPECIAL_TILE_112, // 0x4070 // Link in a hole - SPECIAL_TILE_113, // 0x4071 - SPECIAL_TILE_114, // 0x4072 // Blocking Library, all kinds of objects? - SPECIAL_TILE_115, // 0x4073 - SPECIAL_TILE_116, // 0x4074 // Leaf - SPECIAL_TILE_117, // 0x4075 // Chest Ice Block Top Left - SPECIAL_TILE_118, // 0x4076 // Chest Ice Block Top Right - SPECIAL_TILE_119, // 0x4077 // Chest Ice Block Top - SPECIAL_TILE_120, // 0x4078 // Chest Ice Block Bottom Left - SPECIAL_TILE_121, // 0x4079 // Chest Ice Block Left - SPECIAL_TILE_122, // 0x407a // Chest Ice Block Bottom Right - SPECIAL_TILE_123, // 0x407b // Chest Ice Block Right - SPECIAL_TILE_124, // 0x407c // Chest Ice Block Bottom - SPECIAL_TILE_125, // 0x407d // Town Well - SPECIAL_TILE_126, // 0x407e - SPECIAL_TILE_127, // 0x407f - SPECIAL_TILE_128, // 0x4080 // Dig Cave Outside - SPECIAL_TILE_129, // 0x4081 - SPECIAL_TILE_130, // 0x4082 // Bookshelf slider - SPECIAL_TILE_131, // 0x4083 // Minish House doorways - SPECIAL_TILE_132, // 0x4084 - SPECIAL_TILE_133, // 0x4085 - SPECIAL_TILE_134, // 0x4086 - SPECIAL_TILE_135, // 0x4087 - SPECIAL_TILE_136, // 0x4088 - SPECIAL_TILE_137, // 0x4089 // Shallow Water Outside ToD - SPECIAL_TILE_138, // 0x408a // Shallow Water Outside ToD - SPECIAL_TILE_139, // 0x408b // Shallow Water Outside ToD - SPECIAL_TILE_140, // 0x408c // Shallow Water Outside ToD - SPECIAL_TILE_141, // 0x408d - SPECIAL_TILE_142, // 0x408e // Climb Wall Down, Library book ladder, Rock Boost - SPECIAL_TILE_143, // 0x408f // Climb Wall Up, Rock Boost - SPECIAL_TILE_144, // 0x4090 - SPECIAL_TILE_145, // 0x4091 // Shallow Water Outside ToD - SPECIAL_TILE_146, // 0x4092 // Minish Pot Top Left Flipping - SPECIAL_TILE_147, // 0x4093 // Minish Pot Top Right Flipping - SPECIAL_TILE_148, // 0x4094 // Minish Pot Bottom Left Flipping - SPECIAL_TILE_149, // 0x4095 // Minish Pot Botom Right Flipping - SPECIAL_TILE_150, // 0x4096 + SPECIAL_TILE_62 = 0x403e, // Grave + SPECIAL_TILE_63 = 0x403f, + SPECIAL_TILE_64 = 0x4040, // Portal Top Left + SPECIAL_TILE_65 = 0x4041, // Portal Top + SPECIAL_TILE_66 = 0x4042, // Portal Top Right + SPECIAL_TILE_67 = 0x4043, // Portal Left + SPECIAL_TILE_68 = 0x4044, // Portal Center + SPECIAL_TILE_69 = 0x4045, // Portal Right + SPECIAL_TILE_70 = 0x4046, // Portal Bottom Left + SPECIAL_TILE_71 = 0x4047, // Portal Bottom + SPECIAL_TILE_72 = 0x4048, // Portal Bottom Right + SPECIAL_TILE_73 = 0x4049, + SPECIAL_TILE_74 = 0x404a, // Push Box + SPECIAL_TILE_75 = 0x404b, // Move Block Up + SPECIAL_TILE_76 = 0x404c, // Move Block Right + SPECIAL_TILE_77 = 0x404d, // Move Block Down + SPECIAL_TILE_78 = 0x404e, // Push Box Locked + SPECIAL_TILE_79 = 0x404f, + SPECIAL_TILE_80 = 0x4050, // Impact Switch + SPECIAL_TILE_81 = 0x4051, + SPECIAL_TILE_82 = 0x4052, // Lever (facing left) + SPECIAL_TILE_83 = 0x4053, // Lever (facing up) + SPECIAL_TILE_84 = 0x4054, // After Lever push (facing left) + SPECIAL_TILE_85 = 0x4055, // Big lever (facing left inside) + SPECIAL_TILE_86 = 0x4056, // Big lever (facing left outside) + SPECIAL_TILE_87 = 0x4057, // Big lever (facing up inside) + SPECIAL_TILE_88 = 0x4058, // Big lever (facing up outside) + SPECIAL_TILE_89 = 0x4059, + SPECIAL_TILE_90 = 0x405a, // Ice Blocks + SPECIAL_TILE_91 = 0x405b, // Move Block Up + SPECIAL_TILE_92 = 0x405c, // Move Block Right + SPECIAL_TILE_93 = 0x405d, // Move Block Down + SPECIAL_TILE_94 = 0x405e, // Move Block Left + SPECIAL_TILE_95 = 0x405f, + SPECIAL_TILE_96 = 0x4060, // Skull + SPECIAL_TILE_97 = 0x4061, // Lit Fireplace + SPECIAL_TILE_98 = 0x4062, + SPECIAL_TILE_99 = 0x4063, + SPECIAL_TILE_100 = 0x4064, + SPECIAL_TILE_101 = 0x4065, // Tree Thorns Right + SPECIAL_TILE_102 = 0x4066, // Tree Thorns Left + SPECIAL_TILE_103 = 0x4067, + SPECIAL_TILE_104 = 0x4068, // Hot Ash Covering Objects + SPECIAL_TILE_105 = 0x4069, // Loading Zone + SPECIAL_TILE_106 = 0x406a, + SPECIAL_TILE_107 = 0x406b, + SPECIAL_TILE_108 = 0x406c, // Acorn Top Left + SPECIAL_TILE_109 = 0x406d, // Acorn Top Right + SPECIAL_TILE_110 = 0x406e, // Acorn Bottom Left + SPECIAL_TILE_111 = 0x406f, // Acorn Bottom Right + SPECIAL_TILE_112 = 0x4070, // Link in a hole + SPECIAL_TILE_113 = 0x4071, + SPECIAL_TILE_114 = 0x4072, // Blocking Library, all kinds of objects? + SPECIAL_TILE_115 = 0x4073, + SPECIAL_TILE_116 = 0x4074, // Leaf + SPECIAL_TILE_117 = 0x4075, // Chest Ice Block Top Left + SPECIAL_TILE_118 = 0x4076, // Chest Ice Block Top Right + SPECIAL_TILE_119 = 0x4077, // Chest Ice Block Top + SPECIAL_TILE_120 = 0x4078, // Chest Ice Block Bottom Left + SPECIAL_TILE_121 = 0x4079, // Chest Ice Block Left + SPECIAL_TILE_122 = 0x407a, // Chest Ice Block Bottom Right + SPECIAL_TILE_123 = 0x407b, // Chest Ice Block Right + SPECIAL_TILE_124 = 0x407c, // Chest Ice Block Bottom + SPECIAL_TILE_125 = 0x407d, // Town Well + SPECIAL_TILE_126 = 0x407e, + SPECIAL_TILE_127 = 0x407f, + SPECIAL_TILE_128 = 0x4080, // Dig Cave Outside + SPECIAL_TILE_129 = 0x4081, + SPECIAL_TILE_130 = 0x4082, // Bookshelf slider + SPECIAL_TILE_131 = 0x4083, // Minish House doorways + SPECIAL_TILE_132 = 0x4084, + SPECIAL_TILE_133 = 0x4085, + SPECIAL_TILE_134 = 0x4086, + SPECIAL_TILE_135 = 0x4087, + SPECIAL_TILE_136 = 0x4088, + SPECIAL_TILE_137 = 0x4089, // Shallow Water Outside ToD + SPECIAL_TILE_138 = 0x408a, // Shallow Water Outside ToD + SPECIAL_TILE_139 = 0x408b, // Shallow Water Outside ToD + SPECIAL_TILE_140 = 0x408c, // Shallow Water Outside ToD + SPECIAL_TILE_141 = 0x408d, + SPECIAL_TILE_142 = 0x408e, // Climb Wall Down, Library book ladder, Rock Boost + SPECIAL_TILE_143 = 0x408f, // Climb Wall Up, Rock Boost + SPECIAL_TILE_144 = 0x4090, + SPECIAL_TILE_145 = 0x4091, // Shallow Water Outside ToD + SPECIAL_TILE_146 = 0x4092, // Minish Pot Top Left Flipping + SPECIAL_TILE_147 = 0x4093, // Minish Pot Top Right Flipping + SPECIAL_TILE_148 = 0x4094, // Minish Pot Bottom Left Flipping + SPECIAL_TILE_149 = 0x4095, // Minish Pot Botom Right Flipping + SPECIAL_TILE_150 = 0x4096, } SpecialTile; typedef enum { - VVV_0 = 0, // TILE_ACT_CUT - VVV_1 = 1, // TILE_ACT_ROCKBREAKER - VVV_2 = 2, // TILE_ACT_BOOMERANG - VVV_3 = 3, // TILE_ACT_BOMB - VVV_4 = 4, // TILE_ACT_ARROW - VVV_5 = 5, // TILE_ACT_GUST - VVV_6 = 6, // TILE_ACT_LIFT - VVV_7 = 7, // TILE_ACT_FIRE - VVV_8 = 8, // TILE_ACT_PLAYER_WALK -> SURFACE_7 - VVV_9 = 9, // TILE_ACT_ENEMY_WALK sub_0801FDE4(leever) - VVV_10 = 10, // TILE_ACT_PACCI sub_0801FDE4(leever), sub_08025AB8(puffstool) - VVV_11 = 11, // sub_0801FDE4(leever) - VVV_12 = 12, // TILE_ACT_SWORDBEAM sub_0801FDE4(leever) - VVV_13 = 13, // TILE_ACT_DIG -> SURFACE_PIT, sub_08094E30(cutsceneMiscObject), sub_08085B40(lilypadLarge), Pot_Action1, + ACT_TILE_0 = 0x0, // TILE_ACT_CUT + ACT_TILE_1 = 0x1, // TILE_ACT_ROCKBREAKER + ACT_TILE_2 = 0x2, // TILE_ACT_BOOMERANG + ACT_TILE_3 = 0x3, // TILE_ACT_BOMB + ACT_TILE_4 = 0x4, // TILE_ACT_ARROW + ACT_TILE_5 = 0x5, // TILE_ACT_GUST + ACT_TILE_6 = 0x6, // TILE_ACT_LIFT + ACT_TILE_7 = 0x7, // TILE_ACT_FIRE + ACT_TILE_8 = 0x8, // TILE_ACT_PLAYER_WALK -> SURFACE_7 + ACT_TILE_9 = 0x9, // TILE_ACT_ENEMY_WALK sub_0801FDE4(leever) + ACT_TILE_10 = 0xa, // TILE_ACT_PACCI sub_0801FDE4(leever), sub_08025AB8(puffstool) + ACT_TILE_11 = 0xb, // sub_0801FDE4(leever) + ACT_TILE_12 = 0xc, // TILE_ACT_SWORDBEAM sub_0801FDE4(leever) + ACT_TILE_13 = 0xd, // TILE_ACT_DIG -> SURFACE_PIT, sub_08094E30(cutsceneMiscObject), sub_08085B40(lilypadLarge), Pot_Action1, // sub_080AD040(playerItemHeldObject), UpdatePlayerCollision, sub_0807B434(playerUtils), FX_FALL_DOWN - VVV_14 = 14, // TILE_ACT_MINIGUST -> SURFACE_SLOPE_GNDWATER - VVV_15 = 15, // -> SURFACE_SHALLOW_WATER, SPECIAL_TILE_145 - VVV_16 = 16, // -> SURFACE_WATER, CheckWaterTile(chuchu), PlayerItemBottle_UseEmptyBottle, SPECIAL_TILE_137 - + ACT_TILE_14 = 0xe, // TILE_ACT_MINIGUST -> SURFACE_SLOPE_GNDWATER + ACT_TILE_15 = 0xf, // -> SURFACE_SHALLOW_WATER, SPECIAL_TILE_145 + ACT_TILE_16 = 0x10, // -> SURFACE_WATER, CheckWaterTile(chuchu), PlayerItemBottle_UseEmptyBottle, SPECIAL_TILE_137 - // 140, sub_080AD040(playerItemHeldObject), FX_WATER_SPLASH - VVV_17 = 17, // -> SURFACE_14, sub_08085A44(lilypadLarge), sub_080AD040(playerItemHeldObject), FX_WATER_SPLASH - VVV_18 = 18, // -> SURFACE_ICE, SPECIAL_TILE_117 - 124 - VVV_19 = 19, // -> SURFACE_SWAMP, sub_0803163C(rope), sub_080AD040(playerItemHeldObject), FX_GREEN_SPLASH - VVV_20 = 20, - VVV_21 = 21, - VVV_22 = 22, // -> SURFACE_DUST - VVV_23 = 23, // -> SURFACE_2D - VVV_24 = 24, // -> SURFACE_16 - VVV_25 = 25, // -> SURFACE_HOLE, CrenelBeanSprout_Action1, sub_08097144(objectOnPillar), sub_0808A644(pushableRock), + ACT_TILE_17 = 0x11, // -> SURFACE_14, sub_08085A44(lilypadLarge), sub_080AD040(playerItemHeldObject), FX_WATER_SPLASH + ACT_TILE_18 = 0x12, // -> SURFACE_ICE, SPECIAL_TILE_117 - 124 + ACT_TILE_19 = 0x13, // -> SURFACE_SWAMP, sub_0803163C(rope), sub_080AD040(playerItemHeldObject), FX_GREEN_SPLASH + ACT_TILE_20 = 0x14, + ACT_TILE_21 = 0x15, + ACT_TILE_22 = 0x16, // -> SURFACE_DUST + ACT_TILE_23 = 0x17, // -> SURFACE_2D + ACT_TILE_24 = 0x18, // -> SURFACE_16 + ACT_TILE_25 = 0x19, // -> SURFACE_HOLE, CrenelBeanSprout_Action1, sub_08097144(objectOnPillar), sub_0808A644(pushableRock), // sub_080701F8(playerItemPacciCaneProjectile) - VVV_26 = 26, - VVV_27 = 27, // -> SURFACE_BUTTON - VVV_28 = 28, - VVV_29 = 29, // -> SURFACE_BUTTON - VVV_30 = 30, - VVV_31 = 31, // -> SURFACE_MINISH_DOOR_FRONT - VVV_32 = 32, // -> SURFACE_MINISH_DOOR_BACK - VVV_33 = 33, // -> SURFACE_A - VVV_34 = 34, // -> SURFACE_B - VVV_35 = 35, // SPECIAL_TILE_130 - VVV_36 = 36, - VVV_37 = 37, - VVV_38 = 38, // -> SURFACE_SLOPE_GNDGND_V - VVV_39 = 39, // -> SURFACE_SLOPE_GNDGND_H - VVV_40 = 40, // -> SURFACE_DOOR_13, SPECIAL_TILE_105, sub_080732D0(player), UpdateDoorTransition - VVV_41 = 41, // -> SURFACE_DOOR, sub_08076DF4(itemGustJar), Minecart_Action3, sub_080896B0(pushableStatue), + ACT_TILE_26 = 0x1a, + ACT_TILE_27 = 0x1b, // -> SURFACE_BUTTON + ACT_TILE_28 = 0x1c, + ACT_TILE_29 = 0x1d, // -> SURFACE_BUTTON + ACT_TILE_30 = 0x1e, + ACT_TILE_31 = 0x1f, // -> SURFACE_MINISH_DOOR_FRONT + ACT_TILE_32 = 0x20, // -> SURFACE_MINISH_DOOR_BACK + ACT_TILE_33 = 0x21, // -> SURFACE_A + ACT_TILE_34 = 0x22, // -> SURFACE_B + ACT_TILE_35 = 0x23, // SPECIAL_TILE_130 + ACT_TILE_36 = 0x24, + ACT_TILE_37 = 0x25, + ACT_TILE_38 = 0x26, // -> SURFACE_SLOPE_GNDGND_V + ACT_TILE_39 = 0x27, // -> SURFACE_SLOPE_GNDGND_H + ACT_TILE_40 = 0x28, // -> SURFACE_DOOR_13, SPECIAL_TILE_105, sub_080732D0(player), UpdateDoorTransition + ACT_TILE_41 = 0x29, // -> SURFACE_DOOR, sub_08076DF4(itemGustJar), Minecart_Action3, sub_080896B0(pushableStatue), // SPECIAL_TILE_128, SPECIAL_TILE_131 - 136, SPECIAL_TILE_141, sub_080724DC(player), // UpdateDoorTransition - VVV_42 = 42, // -> SURFACE_E, sub_080611D4(npc5) - VVV_43 = 43, // -> SURFACE_D, sub_080611D4(npc5) - VVV_44 = 44, // -> SURFACE_10, sub_080611D4(npc5) - VVV_45 = 45, // -> SURFACE_F, sub_080611D4(npc5) - VVV_46 = 46, // BombableWallManager_Action1, sub_080878CC(smokeParticle), sub_080A7A84(playerItemSword) - VVV_47 = 47, - VVV_48 = 48, // -> SURFACE_22 - VVV_49 = 49, // -> SURFACE_22 - VVV_50 = 50, // -> SURFACE_22 - VVV_51 = 51, // -> SURFACE_22 - VVV_52 = 52, // -> SURFACE_LIGHT_GRADE - VVV_53 = 53, // -> SURFACE_29 - VVV_54 = 54, - VVV_55 = 55, - VVV_56 = 56, - VVV_57 = 57, - VVV_58 = 58, // SPECIAL_TILE_81 - VVV_59 = 59, - VVV_60 = 60, - VVV_61 = 61, // MinishPortalManager_Main, SPECIAL_TILE_64 - 72 - VVV_62 = 62, // sub_080AA544(removableDust) - VVV_63 = 63, // -> SURFACE_AUTO_LADDER, FurnitureInit(for STAIRCASE), UpdateDoorTransition - VVV_64 = 64, // -> SURFACE_E - VVV_65 = 65, // -> SURFACE_D - VVV_66 = 66, // -> SURFACE_10 - VVV_67 = 67, // -> SURFACE_F - VVV_68 = 68, // -> SURFACE_D - VVV_69 = 69, // -> SURFACE_E - VVV_70 = 70, // -> SURFACE_D - VVV_71 = 71, // -> SURFACE_E - VVV_72 = 72, // -> SURFACE_10 - VVV_73 = 73, // -> SURFACE_D - VVV_74 = 74, // -> SURFACE_E - VVV_75 = 75, // -> SURFACE_D - VVV_76 = 76, - VVV_77 = 77, - VVV_78 = 78, - VVV_79 = 79, - VVV_80 = 80, // -> SURFACE_CLIMB_WALL, SPECIAL_TILE_142 - VVV_81 = 81, // -> SURFACE_2C, SPECIAL_TILE_143 - VVV_82 = 82, // -> SURFACE_26 - VVV_83 = 83, // -> SURFACE_LADDER, SPECIAL_TILE_23 - VVV_84 = 84, // TreeHidingPortal_Action1 - VVV_85 = 85, - VVV_86 = 86, // sub_080774A0(itemMoleMitts), sub_0807B464(playerUtils) - VVV_87 = 87, // -> SURFACE_CLONE_TILE, sub_0806B0E0(townMinish) - VVV_88 = 88, - VVV_89 = 89, - VVV_90 = 90, // -> SURFACE_1C, sub_080AD040(playerItemHeldObject), FX_LAVA_SPLASH - VVV_91 = 91, - VVV_92 = 92, - VVV_93 = 93, - VVV_94 = 94, - VVV_95 = 95, - VVV_96 = 96, - VVV_97 = 97, // -> SURFACE_1B - VVV_98 = 98, // -> SURFACE_21 - VVV_99 = 99, // -> SURFACE_24 - VVV_100 = 100, // Minecart_Action3 - VVV_101 = 101, // -> SURFACE_6, Minecart_Action3 - VVV_102 = 102, // -> SURFACE_6, Minecart_Action3 - VVV_103 = 103, // -> SURFACE_6, Minecart_Action3 - VVV_104 = 104, // -> SURFACE_6, Minecart_Action3 - VVV_105 = 105, // -> SURFACE_6, Minecart_Action3 - VVV_106 = 106, // -> SURFACE_6, Minecart_Action3 - VVV_107 = 107, // -> SURFACE_6 - VVV_108 = 108, // -> SURFACE_6, Minecart_Action3 - VVV_109 = 109, // -> SURFACE_6, Minecart_Action3 - VVV_110 = 110, // -> SURFACE_6, Minecart_Action3 - VVV_111 = 111, // -> SURFACE_6, Minecart_Action3 - VVV_112 = 112, - VVV_113 = 113, - VVV_114 = 114, - VVV_115 = 115, - VVV_116 = 116, // -> SURFACE_EDGE, SPECIAL_TILE_126, SPECIAL_TILE_127, sub_08018E68(playerItemGustBig), + ACT_TILE_42 = 0x2a, // -> SURFACE_E, sub_080611D4(npc5) + ACT_TILE_43 = 0x2b, // -> SURFACE_D, sub_080611D4(npc5) + ACT_TILE_44 = 0x2c, // -> SURFACE_10, sub_080611D4(npc5) + ACT_TILE_45 = 0x2d, // -> SURFACE_F, sub_080611D4(npc5) + ACT_TILE_46 = 0x2e, // BombableWallManager_Action1, sub_080878CC(smokeParticle), sub_080A7A84(playerItemSword) + ACT_TILE_47 = 0x2f, + ACT_TILE_48 = 0x30, // -> SURFACE_22 + ACT_TILE_49 = 0x31, // -> SURFACE_22 + ACT_TILE_50 = 0x32, // -> SURFACE_22 + ACT_TILE_51 = 0x33, // -> SURFACE_22 + ACT_TILE_52 = 0x34, // -> SURFACE_LIGHT_GRADE + ACT_TILE_53 = 0x35, // -> SURFACE_29 + ACT_TILE_54 = 0x36, + ACT_TILE_55 = 0x37, + ACT_TILE_56 = 0x38, + ACT_TILE_57 = 0x39, + ACT_TILE_58 = 0x3a, // SPECIAL_TILE_81 + ACT_TILE_59 = 0x3b, + ACT_TILE_60 = 0x3c, + ACT_TILE_61 = 0x3d, // MinishPortalManager_Main, SPECIAL_TILE_64 - 72 + ACT_TILE_62 = 0x3e, // sub_080AA544(removableDust) + ACT_TILE_63 = 0x3f, // -> SURFACE_AUTO_LADDER, FurnitureInit(for STAIRCASE), UpdateDoorTransition + ACT_TILE_64 = 0x40, // -> SURFACE_E + ACT_TILE_65 = 0x41, // -> SURFACE_D + ACT_TILE_66 = 0x42, // -> SURFACE_10 + ACT_TILE_67 = 0x43, // -> SURFACE_F + ACT_TILE_68 = 0x44, // -> SURFACE_D + ACT_TILE_69 = 0x45, // -> SURFACE_E + ACT_TILE_70 = 0x46, // -> SURFACE_D + ACT_TILE_71 = 0x47, // -> SURFACE_E + ACT_TILE_72 = 0x48, // -> SURFACE_10 + ACT_TILE_73 = 0x49, // -> SURFACE_D + ACT_TILE_74 = 0x4a, // -> SURFACE_E + ACT_TILE_75 = 0x4b, // -> SURFACE_D + ACT_TILE_76 = 0x4c, + ACT_TILE_77 = 0x4d, + ACT_TILE_78 = 0x4e, + ACT_TILE_79 = 0x4f, + ACT_TILE_80 = 0x50, // -> SURFACE_CLIMB_WALL, SPECIAL_TILE_142 + ACT_TILE_81 = 0x51, // -> SURFACE_2C, SPECIAL_TILE_143 + ACT_TILE_82 = 0x52, // -> SURFACE_26 + ACT_TILE_83 = 0x53, // -> SURFACE_LADDER, SPECIAL_TILE_23 + ACT_TILE_84 = 0x54, // TreeHidingPortal_Action1 + ACT_TILE_85 = 0x55, + ACT_TILE_86 = 0x56, // sub_080774A0(itemMoleMitts), sub_0807B464(playerUtils) + ACT_TILE_87 = 0x57, // -> SURFACE_CLONE_TILE, sub_0806B0E0(townMinish) + ACT_TILE_88 = 0x58, + ACT_TILE_89 = 0x59, + ACT_TILE_90 = 0x5a, // -> SURFACE_1C, sub_080AD040(playerItemHeldObject), FX_LAVA_SPLASH + ACT_TILE_91 = 0x5b, + ACT_TILE_92 = 0x5c, + ACT_TILE_93 = 0x5d, + ACT_TILE_94 = 0x5e, + ACT_TILE_95 = 0x5f, + ACT_TILE_96 = 0x60, + ACT_TILE_97 = 0x61, // -> SURFACE_1B + ACT_TILE_98 = 0x62, // -> SURFACE_21 + ACT_TILE_99 = 0x63, // -> SURFACE_24 + ACT_TILE_100 = 0x64, // Minecart_Action3 + ACT_TILE_101 = 0x65, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_102 = 0x66, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_103 = 0x67, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_104 = 0x68, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_105 = 0x69, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_106 = 0x6a, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_107 = 0x6b, // -> SURFACE_6 + ACT_TILE_108 = 0x6c, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_109 = 0x6d, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_110 = 0x6e, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_111 = 0x6f, // -> SURFACE_6, Minecart_Action3 + ACT_TILE_112 = 0x70, + ACT_TILE_113 = 0x71, + ACT_TILE_114 = 0x72, + ACT_TILE_115 = 0x73, + ACT_TILE_116 = 0x74, // -> SURFACE_EDGE, SPECIAL_TILE_126, SPECIAL_TILE_127, sub_08018E68(playerItemGustBig), // sub_080AD040(playerItemHeldObject) - VVV_117 = 117, - VVV_240 = 240, // -> SURFACE_HOLE, sub_0802F300(tektite), sub_0808A644(pushableRock), SPECIAL_TILE_32 - VVV_241 = 241, // -> SURFACE_LADDER, sub_0802F300(tektite), SPECIAL_TILE_20, UpdateDoorTransition - VVV_242 = 242, // sub_0802F300(tektite), Minecart_Action3, SPECIAL_TILE_24 - VVV_243 = 243, // sub_0802F300(tektite), Minecart_Action3, SPECIAL_TILE_25 - // up to VVV_255 -> sub_0802F300(tektite) -} Vvv; + ACT_TILE_117 = 0x75, + ACT_TILE_240 = 0xf0, // -> SURFACE_HOLE, sub_0802F300(tektite), sub_0808A644(pushableRock), SPECIAL_TILE_32 + ACT_TILE_241 = 0xf1, // -> SURFACE_LADDER, sub_0802F300(tektite), SPECIAL_TILE_20, UpdateDoorTransition + ACT_TILE_242 = 0xf2, // sub_0802F300(tektite), Minecart_Action3, SPECIAL_TILE_24 + ACT_TILE_243 = 0xf3, // sub_0802F300(tektite), Minecart_Action3, SPECIAL_TILE_25 + // up to ACT_TILE_255 -> sub_0802F300(tektite) +} ActTile; typedef enum { - COLLISION_DATA_0 = 0, - COLLISION_DATA_1 = 1, - COLLISION_DATA_2 = 2, - COLLISION_DATA_3 = 3, - COLLISION_DATA_4 = 4, - COLLISION_DATA_5 = 5, - COLLISION_DATA_6 = 6, - COLLISION_DATA_7 = 7, - COLLISION_DATA_8 = 8, - COLLISION_DATA_9 = 9, - COLLISION_DATA_10 = 10, - COLLISION_DATA_11 = 11, - COLLISION_DATA_12 = 12, - COLLISION_DATA_13 = 13, - COLLISION_DATA_14 = 14, - COLLISION_DATA_15 = 15, - COLLISION_DATA_16 = 16, - COLLISION_DATA_17 = 17, - COLLISION_DATA_18 = 18, - COLLISION_DATA_19 = 19, - COLLISION_DATA_20 = 20, - COLLISION_DATA_21 = 21, - COLLISION_DATA_23 = 23, - COLLISION_DATA_24 = 24, - COLLISION_DATA_25 = 25, - COLLISION_DATA_26 = 26, - COLLISION_DATA_27 = 27, - COLLISION_DATA_28 = 28, - COLLISION_DATA_29 = 29, - COLLISION_DATA_32 = 32, - COLLISION_DATA_33 = 33, // FX_FALL_DOWN - COLLISION_DATA_34 = 34, - COLLISION_DATA_35 = 35, - COLLISION_DATA_36 = 36, // FX_WATER_SPLASH - COLLISION_DATA_37 = 37, // FX_LAVA_SPLASH - COLLISION_DATA_38 = 38, - COLLISION_DATA_39 = 39, - COLLISION_DATA_40 = 40, - COLLISION_DATA_41 = 41, - COLLISION_DATA_42 = 42, - COLLISION_DATA_43 = 43, - COLLISION_DATA_44 = 44, - COLLISION_DATA_45 = 45, - COLLISION_DATA_46 = 46, - COLLISION_DATA_47 = 47, - COLLISION_DATA_48 = 48, // FX_WATER_SPLASH - COLLISION_DATA_49 = 49, - COLLISION_DATA_50 = 50, - COLLISION_DATA_58 = 58, - COLLISION_DATA_60 = 60, - COLLISION_DATA_63 = 63, - COLLISION_DATA_66 = 66, - COLLISION_DATA_67 = 67, - COLLISION_DATA_68 = 68, - COLLISION_DATA_69 = 69, - COLLISION_DATA_70 = 70, - COLLISION_DATA_71 = 71, - COLLISION_DATA_72 = 72, - COLLISION_DATA_74 = 74, - COLLISION_DATA_75 = 75, - COLLISION_DATA_80 = 80, - COLLISION_DATA_81 = 81, - COLLISION_DATA_82 = 82, - COLLISION_DATA_83 = 83, - COLLISION_DATA_84 = 84, - COLLISION_DATA_85 = 85, - COLLISION_DATA_87 = 87, - COLLISION_DATA_88 = 88, - COLLISION_DATA_89 = 89, - COLLISION_DATA_90 = 90, - COLLISION_DATA_91 = 91, - COLLISION_DATA_92 = 92, - COLLISION_DATA_93 = 93, - COLLISION_DATA_94 = 94, - COLLISION_DATA_95 = 95, - COLLISION_DATA_96 = 96, - COLLISION_DATA_97 = 97, - COLLISION_DATA_98 = 98, - COLLISION_DATA_99 = 99, - COLLISION_DATA_100 = 100, - COLLISION_DATA_101 = 101, - COLLISION_DATA_102 = 102, - COLLISION_DATA_103 = 103, - COLLISION_DATA_104 = 104, - COLLISION_DATA_105 = 105, - COLLISION_DATA_106 = 106, - COLLISION_DATA_107 = 107, - COLLISION_DATA_255 = 255, + COLLISION_DATA_0 = 0x0, + COLLISION_DATA_1 = 0x1, + COLLISION_DATA_2 = 0x2, + COLLISION_DATA_3 = 0x3, + COLLISION_DATA_4 = 0x4, + COLLISION_DATA_5 = 0x5, + COLLISION_DATA_6 = 0x6, + COLLISION_DATA_7 = 0x7, + COLLISION_DATA_8 = 0x8, + COLLISION_DATA_9 = 0x9, + COLLISION_DATA_10 = 0xa, + COLLISION_DATA_11 = 0xb, + COLLISION_DATA_12 = 0xc, + COLLISION_DATA_13 = 0xd, + COLLISION_DATA_14 = 0xe, + COLLISION_DATA_15 = 0xf, + COLLISION_DATA_16 = 0x10, + COLLISION_DATA_17 = 0x11, + COLLISION_DATA_18 = 0x12, + COLLISION_DATA_19 = 0x13, + COLLISION_DATA_20 = 0x14, + COLLISION_DATA_21 = 0x15, + COLLISION_DATA_23 = 0x17, + COLLISION_DATA_24 = 0x18, + COLLISION_DATA_25 = 0x19, + COLLISION_DATA_26 = 0x1a, + COLLISION_DATA_27 = 0x1b, + COLLISION_DATA_28 = 0x1c, + COLLISION_DATA_29 = 0x1d, + COLLISION_DATA_32 = 0x20, + COLLISION_DATA_33 = 0x21, // FX_FALL_DOWN + COLLISION_DATA_34 = 0x22, + COLLISION_DATA_35 = 0x23, + COLLISION_DATA_36 = 0x24, // FX_WATER_SPLASH + COLLISION_DATA_37 = 0x25, // FX_LAVA_SPLASH + COLLISION_DATA_38 = 0x26, + COLLISION_DATA_39 = 0x27, + COLLISION_DATA_40 = 0x28, + COLLISION_DATA_41 = 0x29, + COLLISION_DATA_42 = 0x2a, + COLLISION_DATA_43 = 0x2b, + COLLISION_DATA_44 = 0x2c, + COLLISION_DATA_45 = 0x2d, + COLLISION_DATA_46 = 0x2e, + COLLISION_DATA_47 = 0x2f, + COLLISION_DATA_48 = 0x30, // FX_WATER_SPLASH + COLLISION_DATA_49 = 0x31, + COLLISION_DATA_50 = 0x32, + COLLISION_DATA_58 = 0x3a, + COLLISION_DATA_60 = 0x3c, + COLLISION_DATA_63 = 0x3f, + COLLISION_DATA_66 = 0x42, + COLLISION_DATA_67 = 0x43, + COLLISION_DATA_68 = 0x44, + COLLISION_DATA_69 = 0x45, + COLLISION_DATA_70 = 0x46, + COLLISION_DATA_71 = 0x47, + COLLISION_DATA_72 = 0x48, + COLLISION_DATA_74 = 0x4a, + COLLISION_DATA_75 = 0x4b, + COLLISION_DATA_80 = 0x50, + COLLISION_DATA_81 = 0x51, + COLLISION_DATA_82 = 0x52, + COLLISION_DATA_83 = 0x53, + COLLISION_DATA_84 = 0x54, + COLLISION_DATA_85 = 0x55, + COLLISION_DATA_87 = 0x57, + COLLISION_DATA_88 = 0x58, + COLLISION_DATA_89 = 0x59, + COLLISION_DATA_90 = 0x5a, + COLLISION_DATA_91 = 0x5b, + COLLISION_DATA_92 = 0x5c, + COLLISION_DATA_93 = 0x5d, + COLLISION_DATA_94 = 0x5e, + COLLISION_DATA_95 = 0x5f, + COLLISION_DATA_96 = 0x60, + COLLISION_DATA_97 = 0x61, + COLLISION_DATA_98 = 0x62, + COLLISION_DATA_99 = 0x63, + COLLISION_DATA_100 = 0x64, + COLLISION_DATA_101 = 0x65, + COLLISION_DATA_102 = 0x66, + COLLISION_DATA_103 = 0x67, + COLLISION_DATA_104 = 0x68, + COLLISION_DATA_105 = 0x69, + COLLISION_DATA_106 = 0x6a, + COLLISION_DATA_107 = 0x6b, + COLLISION_DATA_255 = 0xff, } CollisionData; #endif // TILES_H diff --git a/linker.ld b/linker.ld index 4c964df8..43a21d20 100644 --- a/linker.ld +++ b/linker.ld @@ -159,25 +159,25 @@ SECTIONS { . = 0x00005760; ram_sub_080B19EC = .; . = 0x00005770; ram_sub_080B19FC = .; . = 0x00005778; ram_sub_080B1A04 = .; - . = 0x00005780; ram_sub_080B1A0C = .; - . = 0x0000579C; ram_GetTileTypeByEntity = .; - . = 0x000057A8; ram_GetTileTypeByPos = .; - . = 0x000057BC; ram_sub_080B1A48 = .; - . = 0x000057CC; ram_sub_080B1A58 = .; + . = 0x00005780; ram_GetTileTypeRelativeToEntity = .; + . = 0x0000579C; ram_GetTileTypeAtEntity = .; + . = 0x000057A8; ram_GetTileTypeAtWorldCoords = .; + . = 0x000057BC; ram_GetTileTypeAtRoomCoords = .; + . = 0x000057CC; ram_GetTileTypeAtRoomTile = .; . = 0x000057D4; ram_GetTileType = .; - . = 0x00005800; ram_GetVvvRelativeToEntity = .; - . = 0x0000581C; ram_GetVvvAtEntity = .; - . = 0x00005828; ram_GetVvvAtWorldCoords = .; - . = 0x0000583C; ram_GetVvvAtRoomCoords = .; - . = 0x0000584C; ram_GetVvvAtRoomTile = .; - . = 0x00005854; ram_GetVvvAtTilePos = .; + . = 0x00005800; ram_GetActTileRelativeToEntity = .; + . = 0x0000581C; ram_GetActTileAtEntity = .; + . = 0x00005828; ram_GetActTileAtWorldCoords = .; + . = 0x0000583C; ram_GetActTileAtRoomCoords = .; + . = 0x0000584C; ram_GetActTileAtRoomTile = .; + . = 0x00005854; ram_GetActTileAtTilePos = .; . = 0x00005864; ram_GetCollisionDataRelativeTo = .; . = 0x00005880; ram_GetCollisionDataAtEntity = .; . = 0x0000588C; ram_GetCollisionDataAtWorldCoords = .; . = 0x000058A0; ram_GetCollisionDataAtRoomCoords = .; . = 0x000058B0; ram_GetCollisionDataAtRoomTile = .; . = 0x000058B8; ram_GetCollisionDataAtTilePos = .; - . = 0x000058C8; ram_GetVvvForTileType = .; + . = 0x000058C8; ram_GetActTileForTileType = .; . = 0x000058DC; ram_sub_080B1B68 = .; . = 0x000058F8; ram_sub_080B1B84 = .; . = 0x00005918; ram_sub_080B1BA4 = .; @@ -244,7 +244,7 @@ SECTIONS { asm/src/code_080043E8.o(.text); src/data/data_080046A4.o(.rodata); data/gfx/link_animations.o(.rodata); - src/data/mapVvvToSurfaceType.o(.rodata); + src/data/mapActTileToSurfaceType.o(.rodata); asm/src/code_08007CAC.o(.text); data/data_08007DF4.o(.rodata); asm/src/player.o(.text); diff --git a/src/beanstalkSubtask.c b/src/beanstalkSubtask.c index 1f30686e..1eff587d 100644 --- a/src/beanstalkSubtask.c +++ b/src/beanstalkSubtask.c @@ -20,7 +20,7 @@ extern void sub_0807C898(void); extern void sub_0805BB74(s32); extern void LoadRoomGfx(void); -extern void sub_0807BFD0(void); +extern void SetupTileSet(void); extern void sub_0807C4F8(void); extern void gMapData; @@ -220,9 +220,9 @@ u32 UpdatePlayerCollision(void) { mapLayer = GetLayerByIndex(gPlayerEntity.base.collisionLayer); ptr1 = &gUnk_080B4468[gPlayerEntity.base.animationState & 6]; position = COORD_TO_TILE_OFFSET(&gPlayerEntity.base, -ptr1[0], -ptr1[1]); - tileType = GetTileType(position, gPlayerEntity.base.collisionLayer); + tileType = GetTileTypeAtTilePos(position, gPlayerEntity.base.collisionLayer); if (tileType < 0x4000) { - direction = GetVvvForTileType(tileType); + direction = GetActTileForTileType(tileType); } else { direction = tileType; } @@ -246,7 +246,7 @@ u32 UpdatePlayerCollision(void) { gPlayerEntity.base.y.HALF.LO = 0; gPlayerEntity.base.direction = Direction8FromAnimationState(gPlayerEntity.base.animationState); return 1; - case VVV_40: + case ACT_TILE_40: if ((gPlayerState.flags & PL_MINISH) != 0) { return 0; } @@ -295,7 +295,7 @@ u32 UpdatePlayerCollision(void) { gPlayerEntity.base.direction = Direction8FromAnimationState(gPlayerEntity.base.animationState); gPlayerEntity.base.type = 1; return 1; - case VVV_112: + case ACT_TILE_112: if ((gPlayerState.field_0x35 & 0x80) == 0) { if ((gPlayerEntity.base.frame & 1) != 0) { if (sub_0801A9F0(gPlayerState.field_0x35 << 2, tileType, position) != 0) { @@ -304,8 +304,8 @@ u32 UpdatePlayerCollision(void) { } } return 0; - case VVV_58: - case VVV_91: + case ACT_TILE_58: + case ACT_TILE_91: case SPECIAL_TILE_81: if (gPlayerState.flags & PL_MINISH) { return 0; @@ -320,7 +320,7 @@ u32 UpdatePlayerCollision(void) { gPlayerState.mobility = 1; sub_080A7CFC(position, gPlayerEntity.base.collisionLayer); return 1; - case VVV_26: + case ACT_TILE_26: if ((animationState1 & 0xff) != 0) { return 0; } @@ -334,7 +334,7 @@ u32 UpdatePlayerCollision(void) { gPlayerState.mobility = 1; OpenSmallChest(position, gPlayerEntity.base.collisionLayer); return 2; - case VVV_113: + case ACT_TILE_113: if (HasDungeonSmallKey() == 0) { return 0; } @@ -345,7 +345,7 @@ u32 UpdatePlayerCollision(void) { gPlayerState.mobility = 1; sub_0804B388(position, gPlayerEntity.base.collisionLayer); return 2; - case VVV_61: + case ACT_TILE_61: case SPECIAL_TILE_64 ... SPECIAL_TILE_72: if ((gPlayerState.flags & PL_DRUGGED) != 0) { return 0; @@ -433,7 +433,7 @@ u32 UpdatePlayerCollision(void) { gPlayerEntity.base.y.HALF.LO = 0; gPlayerEntity.base.direction = Direction8FromAnimationState(gPlayerEntity.base.animationState); return 1; - case VVV_114: + case ACT_TILE_114: if ((gPlayerState.field_0x35 & 0x80) != 0) { return 0; } @@ -585,7 +585,7 @@ u32 UpdatePlayerCollision(void) { return 0; } SetTile(SPECIAL_TILE_116, position, gPlayerEntity.base.collisionLayer); - SetVvvAtTilePos(VVV_13, position, gPlayerEntity.base.collisionLayer); + SetActTileAtTilePos(ACT_TILE_13, position, gPlayerEntity.base.collisionLayer); return 1; default: return 0; @@ -602,7 +602,7 @@ bool32 sub_0801A2B0(MapLayer* mapLayer, u32 position, u32 collisionType) { if ((((gPlayerState.field_0x35 | gPlayerState.direction) & DIR_NOT_MOVING_CHECK) == 0) && ((gPlayerEntity.base.frame & 1) != 0)) { position = (u16)(position - (-uVar1)); // necessary for match - temp4 = GetVvvForTileType(GetTileType(position, gPlayerEntity.base.collisionLayer)); + temp4 = GetActTileForTileType(GetTileTypeAtTilePos(position, gPlayerEntity.base.collisionLayer)); switch (temp4) { case 0x52: break; @@ -643,7 +643,7 @@ bool32 sub_0801A370(MapLayer* mapLayer, u32 position) { topLayer = GetLayerByIndex(LAYER_TOP); offset = gUnk_080B4488[gPlayerEntity.base.animationState >> 1]; pos = position + offset; - tileType = GetTileType(pos, gPlayerEntity.base.collisionLayer); + tileType = GetTileTypeAtTilePos(pos, gPlayerEntity.base.collisionLayer); switch (tileType) { case SPECIAL_TILE_43: pos += offset; @@ -654,7 +654,7 @@ bool32 sub_0801A370(MapLayer* mapLayer, u32 position) { if (topLayer->collisionData[pos - 0x80] == 0x46) { return FALSE; } - switch ((u16)GetVvvForTileType(GetTileType(pos, gPlayerEntity.base.collisionLayer))) { + switch ((u16)GetActTileForTileType(GetTileTypeAtTilePos(pos, gPlayerEntity.base.collisionLayer))) { case 0x52: return FALSE; case 0x26: @@ -690,8 +690,8 @@ bool32 sub_0801A458(MapLayer* mapLayer, u32 position, u32 collisionType) { s32 offset = gUnk_080B4488[gPlayerEntity.base.animationState >> 1]; if (sub_0801A4F8()) { pos = position + offset; - tileType = GetTileType(pos, gPlayerEntity.base.collisionLayer); - switch (GetVvvForTileType(tileType)) { + tileType = GetTileTypeAtTilePos(pos, gPlayerEntity.base.collisionLayer); + switch (GetActTileForTileType(tileType)) { case 0x52: case 0x26: case 0x27: @@ -777,7 +777,7 @@ u32 sub_0801A570(Entity* this, u32 param_2) { return position; } - index1 = GetTileType(position, this->collisionLayer); + index1 = GetTileTypeAtTilePos(position, this->collisionLayer); if ((index1 - 0x369) > 1) { position = 0xffff; } else { @@ -811,7 +811,7 @@ u32 sub_0801A570(Entity* this, u32 param_2) { return position; } - index1 = GetTileType(position, this->collisionLayer); + index1 = GetTileTypeAtTilePos(position, this->collisionLayer); if (!(index1 == 0x369) && !(index1 == 0x36d)) position = 0xffff; else { @@ -845,7 +845,7 @@ u32 sub_0801A570(Entity* this, u32 param_2) { return position; } - index1 = GetTileType(position, this->collisionLayer); + index1 = GetTileTypeAtTilePos(position, this->collisionLayer); if (!(index1 == 0x369) && !(index1 == 0x36b)) position = 0xffff; else { @@ -879,7 +879,7 @@ u32 sub_0801A570(Entity* this, u32 param_2) { return position; } - index1 = GetTileType(position, this->collisionLayer); + index1 = GetTileTypeAtTilePos(position, this->collisionLayer); if (!(index1 == 0x369) && !(index1 == 0x36c)) position = 0xffff; else { @@ -935,9 +935,9 @@ bool32 sub_0801A980(void) { GetLayerByIndex(gPlayerEntity.base.collisionLayer); // TODO result unused? ptr = &gUnk_080B44A8[gPlayerEntity.base.animationState & 6]; tileType = - GetTileType(COORD_TO_TILE_OFFSET(&gPlayerEntity.base, -ptr[0], -ptr[1]), gPlayerEntity.base.collisionLayer); + GetTileTypeAtTilePos(COORD_TO_TILE_OFFSET(&gPlayerEntity.base, -ptr[0], -ptr[1]), gPlayerEntity.base.collisionLayer); if (tileType < 0x4000) { - GetVvvForTileType(tileType); + GetActTileForTileType(tileType); } return FALSE; } @@ -1007,7 +1007,7 @@ bool32 sub_0801AA58(Entity* this, u32 param_2, u32 param_3) { } void RenderMapLayerToSubTileMap(u16* subTileMap, MapLayer* mapLayer) { - u16* tiles; + u16* subTiles; u16* mapData; u16* mapDataOriginal; u16 tileY; @@ -1035,11 +1035,11 @@ void RenderMapLayerToSubTileMap(u16* subTileMap, MapLayer* mapLayer) { } else { tileSetIndex = GetTileSetIndexForSpecialTile(tilePosAndLayer, mapDataOriginal[0]); } - tiles = mapLayer->tiles + tileSetIndex; - subTileMap[0] = tiles[0]; - subTileMap[1] = tiles[1]; - subTileMap[0x80 + 0] = tiles[2]; - subTileMap[0x80 + 1] = tiles[3]; + subTiles = mapLayer->subTiles + tileSetIndex; + subTileMap[0] = subTiles[0]; + subTileMap[1] = subTiles[1]; + subTileMap[0x80 + 0] = subTiles[2]; + subTileMap[0x80 + 1] = subTiles[3]; subTileMap += 2; if (mapData[1] < 0x4000) { @@ -1047,11 +1047,11 @@ void RenderMapLayerToSubTileMap(u16* subTileMap, MapLayer* mapLayer) { } else { tileSetIndex = GetTileSetIndexForSpecialTile(tilePosAndLayer + 1, mapDataOriginal[1]); } - tiles = mapLayer->tiles + tileSetIndex; - subTileMap[0] = tiles[0]; - subTileMap[1] = tiles[1]; - subTileMap[0x80 + 0] = tiles[2]; - subTileMap[0x80 + 1] = tiles[3]; + subTiles = mapLayer->subTiles + tileSetIndex; + subTileMap[0] = subTiles[0]; + subTileMap[1] = subTiles[1]; + subTileMap[0x80 + 0] = subTiles[2]; + subTileMap[0x80 + 1] = subTiles[3]; subTileMap += 2; if (mapData[2] < 0x4000) { @@ -1059,11 +1059,11 @@ void RenderMapLayerToSubTileMap(u16* subTileMap, MapLayer* mapLayer) { } else { tileSetIndex = GetTileSetIndexForSpecialTile(tilePosAndLayer + 2, mapDataOriginal[2]); } - tiles = mapLayer->tiles + tileSetIndex; - subTileMap[0] = tiles[0]; - subTileMap[1] = tiles[1]; - subTileMap[0x80 + 0] = tiles[2]; - subTileMap[0x80 + 1] = tiles[3]; + subTiles = mapLayer->subTiles + tileSetIndex; + subTileMap[0] = subTiles[0]; + subTileMap[1] = subTiles[1]; + subTileMap[0x80 + 0] = subTiles[2]; + subTileMap[0x80 + 1] = subTiles[3]; subTileMap += 2; if (mapData[3] < 0x4000) { @@ -1071,11 +1071,11 @@ void RenderMapLayerToSubTileMap(u16* subTileMap, MapLayer* mapLayer) { } else { tileSetIndex = GetTileSetIndexForSpecialTile(tilePosAndLayer + 3, mapDataOriginal[3]); } - tiles = mapLayer->tiles + tileSetIndex; - subTileMap[0] = tiles[0]; - subTileMap[1] = tiles[1]; - subTileMap[0x80 + 0] = tiles[2]; - subTileMap[0x80 + 1] = tiles[3]; + subTiles = mapLayer->subTiles + tileSetIndex; + subTileMap[0] = subTiles[0]; + subTileMap[1] = subTiles[1]; + subTileMap[0x80 + 0] = subTiles[2]; + subTileMap[0x80 + 1] = subTiles[3]; subTileMap += 2; mapData += 4; @@ -1116,7 +1116,7 @@ void sub_0801AC98(void) { for (indexY = 0; indexY < height; indexY++) { for (indexX = 0; indexX < width; indexX++, position++) { for (ptr = gUnk_080B44C0; ptr->tileType != 0xffff; ptr++) { - if (ptr->tileType == GetTileType(position, 1)) { + if (ptr->tileType == GetTileTypeAtTilePos(position, 1)) { if (gUnk_080B44B8[ptr->unk_a] != 0) { sub_0801AD6C(ptr, position); break; @@ -1125,7 +1125,7 @@ void sub_0801AC98(void) { } for (ptr = gUnk_080B44C2; ptr->tileType != 0xffff; ptr++) { - if (ptr->tileType == GetTileType(position, 2)) { + if (ptr->tileType == GetTileTypeAtTilePos(position, 2)) { if (gUnk_080B44B8[ptr->unk_a] != 0) { sub_0801AD6C(ptr, position); break; @@ -1187,8 +1187,8 @@ u32 sub_0801AE34(void) { void sub_0801AE44(bool32 loadGfx) { void (*func)(void); - gRoomControls.unk_34 = 0; - sub_0807BFD0(); + gRoomControls.tileset = (u32)NULL; + SetupTileSet(); if (loadGfx != 0) { LoadRoomGfx(); } diff --git a/src/collision.c b/src/collision.c index 60bf067a..a13d28cf 100644 --- a/src/collision.c +++ b/src/collision.c @@ -789,1464 +789,1464 @@ CollisionResult CollisionDefault(Entity* org, Entity* tgt, u32 direction, ColSet return RESULT_COLLISION; } -// vvv for tileType? -const u8 gMapTileTypeToVvv[] = { - VVV_0, // TILE_TYPE_0 - VVV_1, // TILE_TYPE_1 - VVV_2, // TILE_TYPE_2 - VVV_3, // TILE_TYPE_3 - VVV_4, // TILE_TYPE_4 - VVV_5, // TILE_TYPE_5 - VVV_6, // TILE_TYPE_6 - VVV_7, // TILE_TYPE_7 - VVV_8, // TILE_TYPE_8 - VVV_9, // TILE_TYPE_9 - VVV_9, // TILE_TYPE_10 - VVV_10, // TILE_TYPE_11 - VVV_9, // TILE_TYPE_12 - VVV_9, // TILE_TYPE_13 - VVV_9, // TILE_TYPE_14 - VVV_9, // TILE_TYPE_15 - VVV_9, // TILE_TYPE_16 - VVV_9, // TILE_TYPE_17 - VVV_11, // TILE_TYPE_18 - VVV_12, // TILE_TYPE_19 - VVV_11, // TILE_TYPE_20 - VVV_11, // TILE_TYPE_21 - VVV_11, // TILE_TYPE_22 - VVV_11, // TILE_TYPE_23 - VVV_11, // TILE_TYPE_24 - VVV_11, // TILE_TYPE_25 - VVV_10, // TILE_TYPE_26 - VVV_10, // TILE_TYPE_27 - VVV_10, // TILE_TYPE_28 - VVV_10, // TILE_TYPE_29 - VVV_10, // TILE_TYPE_30 - VVV_10, // TILE_TYPE_31 - VVV_10, // TILE_TYPE_32 - VVV_10, // TILE_TYPE_33 - VVV_10, // TILE_TYPE_34 - VVV_10, // TILE_TYPE_35 - VVV_10, // TILE_TYPE_36 - VVV_10, // TILE_TYPE_37 - VVV_10, // TILE_TYPE_38 - VVV_10, // TILE_TYPE_39 - VVV_10, // TILE_TYPE_40 - VVV_12, // TILE_TYPE_41 - VVV_12, // TILE_TYPE_42 - VVV_12, // TILE_TYPE_43 - VVV_12, // TILE_TYPE_44 - VVV_12, // TILE_TYPE_45 - VVV_12, // TILE_TYPE_46 - VVV_12, // TILE_TYPE_47 - VVV_12, // TILE_TYPE_48 - VVV_12, // TILE_TYPE_49 - VVV_12, // TILE_TYPE_50 - VVV_12, // TILE_TYPE_51 - VVV_12, // TILE_TYPE_52 - VVV_13, // TILE_TYPE_53 - VVV_14, // TILE_TYPE_54 - VVV_14, // TILE_TYPE_55 - VVV_15, // TILE_TYPE_56 - VVV_16, // TILE_TYPE_57 - VVV_15, // TILE_TYPE_58 - VVV_14, // TILE_TYPE_59 - VVV_17, // TILE_TYPE_60 - VVV_18, // TILE_TYPE_61 - VVV_19, // TILE_TYPE_62 - VVV_20, // TILE_TYPE_63 - VVV_20, // TILE_TYPE_64 - VVV_20, // TILE_TYPE_65 - VVV_20, // TILE_TYPE_66 - VVV_20, // TILE_TYPE_67 - VVV_20, // TILE_TYPE_68 - VVV_20, // TILE_TYPE_69 - VVV_20, // TILE_TYPE_70 - VVV_20, // TILE_TYPE_71 - VVV_20, // TILE_TYPE_72 - VVV_20, // TILE_TYPE_73 - VVV_20, // TILE_TYPE_74 - VVV_20, // TILE_TYPE_75 - VVV_20, // TILE_TYPE_76 - VVV_20, // TILE_TYPE_77 - VVV_20, // TILE_TYPE_78 - VVV_20, // TILE_TYPE_79 - VVV_20, // TILE_TYPE_80 - VVV_20, // TILE_TYPE_81 - VVV_20, // TILE_TYPE_82 - VVV_20, // TILE_TYPE_83 - VVV_20, // TILE_TYPE_84 - VVV_21, // TILE_TYPE_85 - VVV_21, // TILE_TYPE_86 - VVV_21, // TILE_TYPE_87 - VVV_21, // TILE_TYPE_88 - VVV_21, // TILE_TYPE_89 - VVV_21, // TILE_TYPE_90 - VVV_21, // TILE_TYPE_91 - VVV_21, // TILE_TYPE_92 - VVV_21, // TILE_TYPE_93 - VVV_21, // TILE_TYPE_94 - VVV_21, // TILE_TYPE_95 - VVV_21, // TILE_TYPE_96 - VVV_22, // TILE_TYPE_97 - VVV_22, // TILE_TYPE_98 - VVV_22, // TILE_TYPE_99 - VVV_22, // TILE_TYPE_100 - VVV_22, // TILE_TYPE_101 - VVV_22, // TILE_TYPE_102 - VVV_22, // TILE_TYPE_103 - VVV_22, // TILE_TYPE_104 - VVV_23, // TILE_TYPE_105 - VVV_23, // TILE_TYPE_106 - VVV_24, // TILE_TYPE_107 - VVV_24, // TILE_TYPE_108 - VVV_24, // TILE_TYPE_109 - VVV_24, // TILE_TYPE_110 - VVV_0, // TILE_TYPE_111 - VVV_0, // TILE_TYPE_112 - VVV_25, // TILE_TYPE_113 - VVV_25, // TILE_TYPE_114 - VVV_26, // TILE_TYPE_115 - VVV_0, // TILE_TYPE_116 - VVV_0, // TILE_TYPE_117 - VVV_0, // TILE_TYPE_118 - VVV_27, // TILE_TYPE_119 - VVV_28, // TILE_TYPE_120 - VVV_29, // TILE_TYPE_121 - VVV_30, // TILE_TYPE_122 - VVV_31, // TILE_TYPE_123 - VVV_32, // TILE_TYPE_124 - VVV_33, // TILE_TYPE_125 - VVV_34, // TILE_TYPE_126 - VVV_35, // TILE_TYPE_127 - VVV_36, // TILE_TYPE_128 - VVV_0, // TILE_TYPE_129 - VVV_36, // TILE_TYPE_130 - VVV_36, // TILE_TYPE_131 - VVV_36, // TILE_TYPE_132 - VVV_36, // TILE_TYPE_133 - VVV_37, // TILE_TYPE_134 - VVV_38, // TILE_TYPE_135 - VVV_38, // TILE_TYPE_136 - VVV_39, // TILE_TYPE_137 - VVV_39, // TILE_TYPE_138 - VVV_40, // TILE_TYPE_139 - VVV_40, // TILE_TYPE_140 - VVV_40, // TILE_TYPE_141 - VVV_40, // TILE_TYPE_142 - VVV_40, // TILE_TYPE_143 - VVV_40, // TILE_TYPE_144 - VVV_40, // TILE_TYPE_145 - VVV_40, // TILE_TYPE_146 - VVV_40, // TILE_TYPE_147 - VVV_40, // TILE_TYPE_148 - VVV_40, // TILE_TYPE_149 - VVV_40, // TILE_TYPE_150 - VVV_40, // TILE_TYPE_151 - VVV_40, // TILE_TYPE_152 - VVV_40, // TILE_TYPE_153 - VVV_40, // TILE_TYPE_154 - VVV_40, // TILE_TYPE_155 - VVV_40, // TILE_TYPE_156 - VVV_41, // TILE_TYPE_157 - VVV_41, // TILE_TYPE_158 - VVV_40, // TILE_TYPE_159 - VVV_40, // TILE_TYPE_160 - VVV_42, // TILE_TYPE_161 - VVV_41, // TILE_TYPE_162 - VVV_40, // TILE_TYPE_163 - VVV_43, // TILE_TYPE_164 - VVV_41, // TILE_TYPE_165 - VVV_40, // TILE_TYPE_166 - VVV_44, // TILE_TYPE_167 - VVV_41, // TILE_TYPE_168 - VVV_40, // TILE_TYPE_169 - VVV_45, // TILE_TYPE_170 - VVV_0, // TILE_TYPE_171 - VVV_0, // TILE_TYPE_172 - VVV_0, // TILE_TYPE_173 - VVV_0, // TILE_TYPE_174 - VVV_46, // TILE_TYPE_175 - VVV_0, // TILE_TYPE_176 - VVV_0, // TILE_TYPE_177 +// actTile for tileType? +const u8 gMapTileTypeToActTile[] = { + ACT_TILE_0, // TILE_TYPE_0 + ACT_TILE_1, // TILE_TYPE_1 + ACT_TILE_2, // TILE_TYPE_2 + ACT_TILE_3, // TILE_TYPE_3 + ACT_TILE_4, // TILE_TYPE_4 + ACT_TILE_5, // TILE_TYPE_5 + ACT_TILE_6, // TILE_TYPE_6 + ACT_TILE_7, // TILE_TYPE_7 + ACT_TILE_8, // TILE_TYPE_8 + ACT_TILE_9, // TILE_TYPE_9 + ACT_TILE_9, // TILE_TYPE_10 + ACT_TILE_10, // TILE_TYPE_11 + ACT_TILE_9, // TILE_TYPE_12 + ACT_TILE_9, // TILE_TYPE_13 + ACT_TILE_9, // TILE_TYPE_14 + ACT_TILE_9, // TILE_TYPE_15 + ACT_TILE_9, // TILE_TYPE_16 + ACT_TILE_9, // TILE_TYPE_17 + ACT_TILE_11, // TILE_TYPE_18 + ACT_TILE_12, // TILE_TYPE_19 + ACT_TILE_11, // TILE_TYPE_20 + ACT_TILE_11, // TILE_TYPE_21 + ACT_TILE_11, // TILE_TYPE_22 + ACT_TILE_11, // TILE_TYPE_23 + ACT_TILE_11, // TILE_TYPE_24 + ACT_TILE_11, // TILE_TYPE_25 + ACT_TILE_10, // TILE_TYPE_26 + ACT_TILE_10, // TILE_TYPE_27 + ACT_TILE_10, // TILE_TYPE_28 + ACT_TILE_10, // TILE_TYPE_29 + ACT_TILE_10, // TILE_TYPE_30 + ACT_TILE_10, // TILE_TYPE_31 + ACT_TILE_10, // TILE_TYPE_32 + ACT_TILE_10, // TILE_TYPE_33 + ACT_TILE_10, // TILE_TYPE_34 + ACT_TILE_10, // TILE_TYPE_35 + ACT_TILE_10, // TILE_TYPE_36 + ACT_TILE_10, // TILE_TYPE_37 + ACT_TILE_10, // TILE_TYPE_38 + ACT_TILE_10, // TILE_TYPE_39 + ACT_TILE_10, // TILE_TYPE_40 + ACT_TILE_12, // TILE_TYPE_41 + ACT_TILE_12, // TILE_TYPE_42 + ACT_TILE_12, // TILE_TYPE_43 + ACT_TILE_12, // TILE_TYPE_44 + ACT_TILE_12, // TILE_TYPE_45 + ACT_TILE_12, // TILE_TYPE_46 + ACT_TILE_12, // TILE_TYPE_47 + ACT_TILE_12, // TILE_TYPE_48 + ACT_TILE_12, // TILE_TYPE_49 + ACT_TILE_12, // TILE_TYPE_50 + ACT_TILE_12, // TILE_TYPE_51 + ACT_TILE_12, // TILE_TYPE_52 + ACT_TILE_13, // TILE_TYPE_53 + ACT_TILE_14, // TILE_TYPE_54 + ACT_TILE_14, // TILE_TYPE_55 + ACT_TILE_15, // TILE_TYPE_56 + ACT_TILE_16, // TILE_TYPE_57 + ACT_TILE_15, // TILE_TYPE_58 + ACT_TILE_14, // TILE_TYPE_59 + ACT_TILE_17, // TILE_TYPE_60 + ACT_TILE_18, // TILE_TYPE_61 + ACT_TILE_19, // TILE_TYPE_62 + ACT_TILE_20, // TILE_TYPE_63 + ACT_TILE_20, // TILE_TYPE_64 + ACT_TILE_20, // TILE_TYPE_65 + ACT_TILE_20, // TILE_TYPE_66 + ACT_TILE_20, // TILE_TYPE_67 + ACT_TILE_20, // TILE_TYPE_68 + ACT_TILE_20, // TILE_TYPE_69 + ACT_TILE_20, // TILE_TYPE_70 + ACT_TILE_20, // TILE_TYPE_71 + ACT_TILE_20, // TILE_TYPE_72 + ACT_TILE_20, // TILE_TYPE_73 + ACT_TILE_20, // TILE_TYPE_74 + ACT_TILE_20, // TILE_TYPE_75 + ACT_TILE_20, // TILE_TYPE_76 + ACT_TILE_20, // TILE_TYPE_77 + ACT_TILE_20, // TILE_TYPE_78 + ACT_TILE_20, // TILE_TYPE_79 + ACT_TILE_20, // TILE_TYPE_80 + ACT_TILE_20, // TILE_TYPE_81 + ACT_TILE_20, // TILE_TYPE_82 + ACT_TILE_20, // TILE_TYPE_83 + ACT_TILE_20, // TILE_TYPE_84 + ACT_TILE_21, // TILE_TYPE_85 + ACT_TILE_21, // TILE_TYPE_86 + ACT_TILE_21, // TILE_TYPE_87 + ACT_TILE_21, // TILE_TYPE_88 + ACT_TILE_21, // TILE_TYPE_89 + ACT_TILE_21, // TILE_TYPE_90 + ACT_TILE_21, // TILE_TYPE_91 + ACT_TILE_21, // TILE_TYPE_92 + ACT_TILE_21, // TILE_TYPE_93 + ACT_TILE_21, // TILE_TYPE_94 + ACT_TILE_21, // TILE_TYPE_95 + ACT_TILE_21, // TILE_TYPE_96 + ACT_TILE_22, // TILE_TYPE_97 + ACT_TILE_22, // TILE_TYPE_98 + ACT_TILE_22, // TILE_TYPE_99 + ACT_TILE_22, // TILE_TYPE_100 + ACT_TILE_22, // TILE_TYPE_101 + ACT_TILE_22, // TILE_TYPE_102 + ACT_TILE_22, // TILE_TYPE_103 + ACT_TILE_22, // TILE_TYPE_104 + ACT_TILE_23, // TILE_TYPE_105 + ACT_TILE_23, // TILE_TYPE_106 + ACT_TILE_24, // TILE_TYPE_107 + ACT_TILE_24, // TILE_TYPE_108 + ACT_TILE_24, // TILE_TYPE_109 + ACT_TILE_24, // TILE_TYPE_110 + ACT_TILE_0, // TILE_TYPE_111 + ACT_TILE_0, // TILE_TYPE_112 + ACT_TILE_25, // TILE_TYPE_113 + ACT_TILE_25, // TILE_TYPE_114 + ACT_TILE_26, // TILE_TYPE_115 + ACT_TILE_0, // TILE_TYPE_116 + ACT_TILE_0, // TILE_TYPE_117 + ACT_TILE_0, // TILE_TYPE_118 + ACT_TILE_27, // TILE_TYPE_119 + ACT_TILE_28, // TILE_TYPE_120 + ACT_TILE_29, // TILE_TYPE_121 + ACT_TILE_30, // TILE_TYPE_122 + ACT_TILE_31, // TILE_TYPE_123 + ACT_TILE_32, // TILE_TYPE_124 + ACT_TILE_33, // TILE_TYPE_125 + ACT_TILE_34, // TILE_TYPE_126 + ACT_TILE_35, // TILE_TYPE_127 + ACT_TILE_36, // TILE_TYPE_128 + ACT_TILE_0, // TILE_TYPE_129 + ACT_TILE_36, // TILE_TYPE_130 + ACT_TILE_36, // TILE_TYPE_131 + ACT_TILE_36, // TILE_TYPE_132 + ACT_TILE_36, // TILE_TYPE_133 + ACT_TILE_37, // TILE_TYPE_134 + ACT_TILE_38, // TILE_TYPE_135 + ACT_TILE_38, // TILE_TYPE_136 + ACT_TILE_39, // TILE_TYPE_137 + ACT_TILE_39, // TILE_TYPE_138 + ACT_TILE_40, // TILE_TYPE_139 + ACT_TILE_40, // TILE_TYPE_140 + ACT_TILE_40, // TILE_TYPE_141 + ACT_TILE_40, // TILE_TYPE_142 + ACT_TILE_40, // TILE_TYPE_143 + ACT_TILE_40, // TILE_TYPE_144 + ACT_TILE_40, // TILE_TYPE_145 + ACT_TILE_40, // TILE_TYPE_146 + ACT_TILE_40, // TILE_TYPE_147 + ACT_TILE_40, // TILE_TYPE_148 + ACT_TILE_40, // TILE_TYPE_149 + ACT_TILE_40, // TILE_TYPE_150 + ACT_TILE_40, // TILE_TYPE_151 + ACT_TILE_40, // TILE_TYPE_152 + ACT_TILE_40, // TILE_TYPE_153 + ACT_TILE_40, // TILE_TYPE_154 + ACT_TILE_40, // TILE_TYPE_155 + ACT_TILE_40, // TILE_TYPE_156 + ACT_TILE_41, // TILE_TYPE_157 + ACT_TILE_41, // TILE_TYPE_158 + ACT_TILE_40, // TILE_TYPE_159 + ACT_TILE_40, // TILE_TYPE_160 + ACT_TILE_42, // TILE_TYPE_161 + ACT_TILE_41, // TILE_TYPE_162 + ACT_TILE_40, // TILE_TYPE_163 + ACT_TILE_43, // TILE_TYPE_164 + ACT_TILE_41, // TILE_TYPE_165 + ACT_TILE_40, // TILE_TYPE_166 + ACT_TILE_44, // TILE_TYPE_167 + ACT_TILE_41, // TILE_TYPE_168 + ACT_TILE_40, // TILE_TYPE_169 + ACT_TILE_45, // TILE_TYPE_170 + ACT_TILE_0, // TILE_TYPE_171 + ACT_TILE_0, // TILE_TYPE_172 + ACT_TILE_0, // TILE_TYPE_173 + ACT_TILE_0, // TILE_TYPE_174 + ACT_TILE_46, // TILE_TYPE_175 + ACT_TILE_0, // TILE_TYPE_176 + ACT_TILE_0, // TILE_TYPE_177 #ifdef EU - VVV_0, // TILE_TYPE_178 + ACT_TILE_0, // TILE_TYPE_178 #else - VVV_41, // TILE_TYPE_178 + ACT_TILE_41, // TILE_TYPE_178 #endif - VVV_0, // TILE_TYPE_179 - VVV_0, // TILE_TYPE_180 + ACT_TILE_0, // TILE_TYPE_179 + ACT_TILE_0, // TILE_TYPE_180 #ifdef EU - VVV_0, // TILE_TYPE_181 + ACT_TILE_0, // TILE_TYPE_181 #else - VVV_41, // TILE_TYPE_181 + ACT_TILE_41, // TILE_TYPE_181 #endif - VVV_40, // TILE_TYPE_182 - VVV_0, // TILE_TYPE_183 - VVV_42, // TILE_TYPE_184 - VVV_42, // TILE_TYPE_185 - VVV_42, // TILE_TYPE_186 - VVV_0, // TILE_TYPE_187 - VVV_0, // TILE_TYPE_188 - VVV_0, // TILE_TYPE_189 - VVV_0, // TILE_TYPE_190 - VVV_46, // TILE_TYPE_191 - VVV_0, // TILE_TYPE_192 - VVV_0, // TILE_TYPE_193 + ACT_TILE_40, // TILE_TYPE_182 + ACT_TILE_0, // TILE_TYPE_183 + ACT_TILE_42, // TILE_TYPE_184 + ACT_TILE_42, // TILE_TYPE_185 + ACT_TILE_42, // TILE_TYPE_186 + ACT_TILE_0, // TILE_TYPE_187 + ACT_TILE_0, // TILE_TYPE_188 + ACT_TILE_0, // TILE_TYPE_189 + ACT_TILE_0, // TILE_TYPE_190 + ACT_TILE_46, // TILE_TYPE_191 + ACT_TILE_0, // TILE_TYPE_192 + ACT_TILE_0, // TILE_TYPE_193 #ifdef EU - VVV_0, // TILE_TYPE_194 + ACT_TILE_0, // TILE_TYPE_194 #else - VVV_41, // TILE_TYPE_194 + ACT_TILE_41, // TILE_TYPE_194 #endif - VVV_0, // TILE_TYPE_195 - VVV_0, // TILE_TYPE_196 + ACT_TILE_0, // TILE_TYPE_195 + ACT_TILE_0, // TILE_TYPE_196 #ifdef EU - VVV_0, // TILE_TYPE_197 + ACT_TILE_0, // TILE_TYPE_197 #else - VVV_41, // TILE_TYPE_197 + ACT_TILE_41, // TILE_TYPE_197 #endif - VVV_40, // TILE_TYPE_198 - VVV_0, // TILE_TYPE_199 - VVV_42, // TILE_TYPE_200 - VVV_42, // TILE_TYPE_201 - VVV_42, // TILE_TYPE_202 - VVV_0, // TILE_TYPE_203 - VVV_46, // TILE_TYPE_204 - VVV_0, // TILE_TYPE_205 - VVV_0, // TILE_TYPE_206 - VVV_0, // TILE_TYPE_207 - VVV_0, // TILE_TYPE_208 - VVV_0, // TILE_TYPE_209 + ACT_TILE_40, // TILE_TYPE_198 + ACT_TILE_0, // TILE_TYPE_199 + ACT_TILE_42, // TILE_TYPE_200 + ACT_TILE_42, // TILE_TYPE_201 + ACT_TILE_42, // TILE_TYPE_202 + ACT_TILE_0, // TILE_TYPE_203 + ACT_TILE_46, // TILE_TYPE_204 + ACT_TILE_0, // TILE_TYPE_205 + ACT_TILE_0, // TILE_TYPE_206 + ACT_TILE_0, // TILE_TYPE_207 + ACT_TILE_0, // TILE_TYPE_208 + ACT_TILE_0, // TILE_TYPE_209 #ifdef EU - VVV_0, // TILE_TYPE_210 + ACT_TILE_0, // TILE_TYPE_210 #else - VVV_41, // TILE_TYPE_210 + ACT_TILE_41, // TILE_TYPE_210 #endif - VVV_40, // TILE_TYPE_211 - VVV_0, // TILE_TYPE_212 - VVV_0, // TILE_TYPE_213 + ACT_TILE_40, // TILE_TYPE_211 + ACT_TILE_0, // TILE_TYPE_212 + ACT_TILE_0, // TILE_TYPE_213 #ifdef EU - VVV_0, // TILE_TYPE_214 + ACT_TILE_0, // TILE_TYPE_214 #else - VVV_41, // TILE_TYPE_214 + ACT_TILE_41, // TILE_TYPE_214 #endif - VVV_0, // TILE_TYPE_215 - VVV_43, // TILE_TYPE_216 - VVV_43, // TILE_TYPE_217 - VVV_43, // TILE_TYPE_218 - VVV_0, // TILE_TYPE_219 - VVV_0, // TILE_TYPE_220 - VVV_0, // TILE_TYPE_221 - VVV_0, // TILE_TYPE_222 - VVV_46, // TILE_TYPE_223 - VVV_0, // TILE_TYPE_224 - VVV_0, // TILE_TYPE_225 + ACT_TILE_0, // TILE_TYPE_215 + ACT_TILE_43, // TILE_TYPE_216 + ACT_TILE_43, // TILE_TYPE_217 + ACT_TILE_43, // TILE_TYPE_218 + ACT_TILE_0, // TILE_TYPE_219 + ACT_TILE_0, // TILE_TYPE_220 + ACT_TILE_0, // TILE_TYPE_221 + ACT_TILE_0, // TILE_TYPE_222 + ACT_TILE_46, // TILE_TYPE_223 + ACT_TILE_0, // TILE_TYPE_224 + ACT_TILE_0, // TILE_TYPE_225 #ifdef EU - VVV_0, // TILE_TYPE_226 + ACT_TILE_0, // TILE_TYPE_226 #else - VVV_41, // TILE_TYPE_226 + ACT_TILE_41, // TILE_TYPE_226 #endif - VVV_0, // TILE_TYPE_227 - VVV_0, // TILE_TYPE_228 + ACT_TILE_0, // TILE_TYPE_227 + ACT_TILE_0, // TILE_TYPE_228 #ifdef EU - VVV_0, // TILE_TYPE_229 + ACT_TILE_0, // TILE_TYPE_229 #else - VVV_41, // TILE_TYPE_229 + ACT_TILE_41, // TILE_TYPE_229 #endif - VVV_40, // TILE_TYPE_230 - VVV_0, // TILE_TYPE_231 - VVV_44, // TILE_TYPE_232 - VVV_44, // TILE_TYPE_233 - VVV_44, // TILE_TYPE_234 - VVV_0, // TILE_TYPE_235 - VVV_46, // TILE_TYPE_236 - VVV_0, // TILE_TYPE_237 - VVV_0, // TILE_TYPE_238 - VVV_0, // TILE_TYPE_239 - VVV_0, // TILE_TYPE_240 - VVV_0, // TILE_TYPE_241 + ACT_TILE_40, // TILE_TYPE_230 + ACT_TILE_0, // TILE_TYPE_231 + ACT_TILE_44, // TILE_TYPE_232 + ACT_TILE_44, // TILE_TYPE_233 + ACT_TILE_44, // TILE_TYPE_234 + ACT_TILE_0, // TILE_TYPE_235 + ACT_TILE_46, // TILE_TYPE_236 + ACT_TILE_0, // TILE_TYPE_237 + ACT_TILE_0, // TILE_TYPE_238 + ACT_TILE_0, // TILE_TYPE_239 + ACT_TILE_0, // TILE_TYPE_240 + ACT_TILE_0, // TILE_TYPE_241 #ifdef EU - VVV_0, // TILE_TYPE_242 + ACT_TILE_0, // TILE_TYPE_242 #else - VVV_41, // TILE_TYPE_242 + ACT_TILE_41, // TILE_TYPE_242 #endif - VVV_40, // TILE_TYPE_243 - VVV_0, // TILE_TYPE_244 - VVV_0, // TILE_TYPE_245 + ACT_TILE_40, // TILE_TYPE_243 + ACT_TILE_0, // TILE_TYPE_244 + ACT_TILE_0, // TILE_TYPE_245 #ifdef EU - VVV_0, // TILE_TYPE_246 + ACT_TILE_0, // TILE_TYPE_246 #else - VVV_41, // TILE_TYPE_246 + ACT_TILE_41, // TILE_TYPE_246 #endif - VVV_0, // TILE_TYPE_247 - VVV_45, // TILE_TYPE_248 - VVV_45, // TILE_TYPE_249 - VVV_45, // TILE_TYPE_250 - VVV_0, // TILE_TYPE_251 - VVV_0, // TILE_TYPE_252 - VVV_0, // TILE_TYPE_253 - VVV_0, // TILE_TYPE_254 - VVV_46, // TILE_TYPE_255 - VVV_0, // TILE_TYPE_256 - VVV_0, // TILE_TYPE_257 - VVV_0, // TILE_TYPE_258 - VVV_0, // TILE_TYPE_259 - VVV_0, // TILE_TYPE_260 - VVV_46, // TILE_TYPE_261 - VVV_0, // TILE_TYPE_262 - VVV_0, // TILE_TYPE_263 - VVV_46, // TILE_TYPE_264 - VVV_0, // TILE_TYPE_265 - VVV_0, // TILE_TYPE_266 - VVV_0, // TILE_TYPE_267 - VVV_0, // TILE_TYPE_268 - VVV_0, // TILE_TYPE_269 - VVV_0, // TILE_TYPE_270 - VVV_0, // TILE_TYPE_271 - VVV_46, // TILE_TYPE_272 - VVV_0, // TILE_TYPE_273 - VVV_0, // TILE_TYPE_274 - VVV_0, // TILE_TYPE_275 - VVV_0, // TILE_TYPE_276 - VVV_46, // TILE_TYPE_277 - VVV_0, // TILE_TYPE_278 - VVV_0, // TILE_TYPE_279 - VVV_0, // TILE_TYPE_280 - VVV_0, // TILE_TYPE_281 - VVV_0, // TILE_TYPE_282 - VVV_0, // TILE_TYPE_283 - VVV_0, // TILE_TYPE_284 - VVV_0, // TILE_TYPE_285 - VVV_0, // TILE_TYPE_286 - VVV_0, // TILE_TYPE_287 - VVV_0, // TILE_TYPE_288 - VVV_0, // TILE_TYPE_289 - VVV_0, // TILE_TYPE_290 - VVV_0, // TILE_TYPE_291 - VVV_0, // TILE_TYPE_292 - VVV_0, // TILE_TYPE_293 - VVV_0, // TILE_TYPE_294 - VVV_0, // TILE_TYPE_295 - VVV_0, // TILE_TYPE_296 - VVV_0, // TILE_TYPE_297 - VVV_0, // TILE_TYPE_298 - VVV_0, // TILE_TYPE_299 - VVV_0, // TILE_TYPE_300 - VVV_0, // TILE_TYPE_301 - VVV_0, // TILE_TYPE_302 - VVV_0, // TILE_TYPE_303 - VVV_0, // TILE_TYPE_304 - VVV_0, // TILE_TYPE_305 - VVV_0, // TILE_TYPE_306 - VVV_0, // TILE_TYPE_307 - VVV_0, // TILE_TYPE_308 - VVV_0, // TILE_TYPE_309 - VVV_0, // TILE_TYPE_310 - VVV_0, // TILE_TYPE_311 - VVV_0, // TILE_TYPE_312 - VVV_0, // TILE_TYPE_313 - VVV_0, // TILE_TYPE_314 - VVV_0, // TILE_TYPE_315 - VVV_0, // TILE_TYPE_316 - VVV_0, // TILE_TYPE_317 - VVV_0, // TILE_TYPE_318 - VVV_0, // TILE_TYPE_319 - VVV_0, // TILE_TYPE_320 - VVV_0, // TILE_TYPE_321 - VVV_0, // TILE_TYPE_322 - VVV_0, // TILE_TYPE_323 - VVV_0, // TILE_TYPE_324 - VVV_0, // TILE_TYPE_325 - VVV_0, // TILE_TYPE_326 - VVV_0, // TILE_TYPE_327 - VVV_0, // TILE_TYPE_328 - VVV_0, // TILE_TYPE_329 - VVV_0, // TILE_TYPE_330 - VVV_0, // TILE_TYPE_331 - VVV_0, // TILE_TYPE_332 - VVV_0, // TILE_TYPE_333 - VVV_0, // TILE_TYPE_334 - VVV_0, // TILE_TYPE_335 - VVV_0, // TILE_TYPE_336 - VVV_0, // TILE_TYPE_337 - VVV_0, // TILE_TYPE_338 - VVV_0, // TILE_TYPE_339 - VVV_0, // TILE_TYPE_340 - VVV_0, // TILE_TYPE_341 - VVV_0, // TILE_TYPE_342 - VVV_0, // TILE_TYPE_343 - VVV_0, // TILE_TYPE_344 - VVV_0, // TILE_TYPE_345 - VVV_0, // TILE_TYPE_346 - VVV_0, // TILE_TYPE_347 - VVV_0, // TILE_TYPE_348 - VVV_0, // TILE_TYPE_349 - VVV_0, // TILE_TYPE_350 - VVV_0, // TILE_TYPE_351 - VVV_0, // TILE_TYPE_352 - VVV_47, // TILE_TYPE_353 - VVV_47, // TILE_TYPE_354 - VVV_47, // TILE_TYPE_355 - VVV_0, // TILE_TYPE_356 - VVV_0, // TILE_TYPE_357 - VVV_40, // TILE_TYPE_358 - VVV_0, // TILE_TYPE_359 - VVV_40, // TILE_TYPE_360 - VVV_48, // TILE_TYPE_361 - VVV_49, // TILE_TYPE_362 - VVV_50, // TILE_TYPE_363 - VVV_51, // TILE_TYPE_364 - VVV_52, // TILE_TYPE_365 - VVV_52, // TILE_TYPE_366 - VVV_53, // TILE_TYPE_367 - VVV_53, // TILE_TYPE_368 - VVV_54, // TILE_TYPE_369 - VVV_55, // TILE_TYPE_370 - VVV_0, // TILE_TYPE_371 - VVV_56, // TILE_TYPE_372 - VVV_57, // TILE_TYPE_373 - VVV_58, // TILE_TYPE_374 - VVV_59, // TILE_TYPE_375 - VVV_0, // TILE_TYPE_376 - VVV_0, // TILE_TYPE_377 - VVV_60, // TILE_TYPE_378 - VVV_60, // TILE_TYPE_379 - VVV_60, // TILE_TYPE_380 - VVV_60, // TILE_TYPE_381 - VVV_0, // TILE_TYPE_382 - VVV_0, // TILE_TYPE_383 - VVV_0, // TILE_TYPE_384 - VVV_0, // TILE_TYPE_385 - VVV_61, // TILE_TYPE_386 - VVV_61, // TILE_TYPE_387 - VVV_62, // TILE_TYPE_388 - VVV_9, // TILE_TYPE_389 - VVV_9, // TILE_TYPE_390 - VVV_9, // TILE_TYPE_391 - VVV_9, // TILE_TYPE_392 - VVV_9, // TILE_TYPE_393 - VVV_9, // TILE_TYPE_394 - VVV_61, // TILE_TYPE_395 - VVV_61, // TILE_TYPE_396 - VVV_61, // TILE_TYPE_397 - VVV_9, // TILE_TYPE_398 - VVV_9, // TILE_TYPE_399 - VVV_61, // TILE_TYPE_400 - VVV_61, // TILE_TYPE_401 - VVV_61, // TILE_TYPE_402 - VVV_9, // TILE_TYPE_403 - VVV_9, // TILE_TYPE_404 - VVV_9, // TILE_TYPE_405 - VVV_9, // TILE_TYPE_406 - VVV_9, // TILE_TYPE_407 - VVV_9, // TILE_TYPE_408 - VVV_0, // TILE_TYPE_409 - VVV_0, // TILE_TYPE_410 - VVV_0, // TILE_TYPE_411 - VVV_0, // TILE_TYPE_412 - VVV_63, // TILE_TYPE_413 - VVV_0, // TILE_TYPE_414 - VVV_0, // TILE_TYPE_415 - VVV_0, // TILE_TYPE_416 - VVV_0, // TILE_TYPE_417 - VVV_0, // TILE_TYPE_418 - VVV_0, // TILE_TYPE_419 - VVV_0, // TILE_TYPE_420 - VVV_0, // TILE_TYPE_421 - VVV_63, // TILE_TYPE_422 - VVV_0, // TILE_TYPE_423 - VVV_0, // TILE_TYPE_424 - VVV_0, // TILE_TYPE_425 - VVV_0, // TILE_TYPE_426 - VVV_0, // TILE_TYPE_427 - VVV_42, // TILE_TYPE_428 - VVV_43, // TILE_TYPE_429 - VVV_44, // TILE_TYPE_430 - VVV_45, // TILE_TYPE_431 - VVV_0, // TILE_TYPE_432 - VVV_0, // TILE_TYPE_433 - VVV_0, // TILE_TYPE_434 - VVV_0, // TILE_TYPE_435 - VVV_64, // TILE_TYPE_436 - VVV_65, // TILE_TYPE_437 - VVV_66, // TILE_TYPE_438 - VVV_67, // TILE_TYPE_439 - VVV_68, // TILE_TYPE_440 - VVV_69, // TILE_TYPE_441 - VVV_70, // TILE_TYPE_442 - VVV_71, // TILE_TYPE_443 - VVV_72, // TILE_TYPE_444 - VVV_73, // TILE_TYPE_445 - VVV_74, // TILE_TYPE_446 - VVV_75, // TILE_TYPE_447 - VVV_76, // TILE_TYPE_448 - VVV_77, // TILE_TYPE_449 - VVV_78, // TILE_TYPE_450 - VVV_79, // TILE_TYPE_451 - VVV_80, // TILE_TYPE_452 - VVV_81, // TILE_TYPE_453 - VVV_82, // TILE_TYPE_454 - VVV_83, // TILE_TYPE_455 - VVV_63, // TILE_TYPE_456 - VVV_0, // TILE_TYPE_457 - VVV_63, // TILE_TYPE_458 - VVV_83, // TILE_TYPE_459 - VVV_83, // TILE_TYPE_460 - VVV_0, // TILE_TYPE_461 - VVV_0, // TILE_TYPE_462 - VVV_43, // TILE_TYPE_463 - VVV_43, // TILE_TYPE_464 - VVV_43, // TILE_TYPE_465 - VVV_0, // TILE_TYPE_466 - VVV_21, // TILE_TYPE_467 - VVV_21, // TILE_TYPE_468 - VVV_21, // TILE_TYPE_469 - VVV_21, // TILE_TYPE_470 - VVV_0, // TILE_TYPE_471 - VVV_0, // TILE_TYPE_472 - VVV_0, // TILE_TYPE_473 - VVV_0, // TILE_TYPE_474 - VVV_0, // TILE_TYPE_475 - VVV_0, // TILE_TYPE_476 - VVV_0, // TILE_TYPE_477 - VVV_0, // TILE_TYPE_478 - VVV_0, // TILE_TYPE_479 - VVV_0, // TILE_TYPE_480 - VVV_0, // TILE_TYPE_481 - VVV_0, // TILE_TYPE_482 - VVV_0, // TILE_TYPE_483 - VVV_0, // TILE_TYPE_484 - VVV_0, // TILE_TYPE_485 - VVV_0, // TILE_TYPE_486 - VVV_84, // TILE_TYPE_487 - VVV_0, // TILE_TYPE_488 - VVV_0, // TILE_TYPE_489 - VVV_0, // TILE_TYPE_490 - VVV_0, // TILE_TYPE_491 - VVV_0, // TILE_TYPE_492 - VVV_0, // TILE_TYPE_493 - VVV_0, // TILE_TYPE_494 - VVV_0, // TILE_TYPE_495 - VVV_0, // TILE_TYPE_496 - VVV_0, // TILE_TYPE_497 - VVV_0, // TILE_TYPE_498 - VVV_0, // TILE_TYPE_499 - VVV_0, // TILE_TYPE_500 - VVV_0, // TILE_TYPE_501 - VVV_0, // TILE_TYPE_502 - VVV_0, // TILE_TYPE_503 - VVV_0, // TILE_TYPE_504 - VVV_0, // TILE_TYPE_505 - VVV_0, // TILE_TYPE_506 - VVV_0, // TILE_TYPE_507 - VVV_0, // TILE_TYPE_508 - VVV_0, // TILE_TYPE_509 - VVV_0, // TILE_TYPE_510 - VVV_0, // TILE_TYPE_511 - VVV_0, // TILE_TYPE_512 - VVV_0, // TILE_TYPE_513 - VVV_0, // TILE_TYPE_514 - VVV_0, // TILE_TYPE_515 - VVV_0, // TILE_TYPE_516 - VVV_0, // TILE_TYPE_517 - VVV_0, // TILE_TYPE_518 - VVV_0, // TILE_TYPE_519 - VVV_0, // TILE_TYPE_520 - VVV_0, // TILE_TYPE_521 - VVV_0, // TILE_TYPE_522 - VVV_0, // TILE_TYPE_523 - VVV_40, // TILE_TYPE_524 - VVV_0, // TILE_TYPE_525 - VVV_0, // TILE_TYPE_526 - VVV_0, // TILE_TYPE_527 - VVV_0, // TILE_TYPE_528 - VVV_0, // TILE_TYPE_529 - VVV_0, // TILE_TYPE_530 - VVV_0, // TILE_TYPE_531 - VVV_0, // TILE_TYPE_532 - VVV_0, // TILE_TYPE_533 - VVV_0, // TILE_TYPE_534 - VVV_0, // TILE_TYPE_535 - VVV_0, // TILE_TYPE_536 - VVV_0, // TILE_TYPE_537 - VVV_0, // TILE_TYPE_538 - VVV_0, // TILE_TYPE_539 - VVV_0, // TILE_TYPE_540 - VVV_0, // TILE_TYPE_541 - VVV_0, // TILE_TYPE_542 - VVV_0, // TILE_TYPE_543 - VVV_0, // TILE_TYPE_544 - VVV_0, // TILE_TYPE_545 - VVV_0, // TILE_TYPE_546 - VVV_0, // TILE_TYPE_547 - VVV_0, // TILE_TYPE_548 - VVV_40, // TILE_TYPE_549 - VVV_0, // TILE_TYPE_550 - VVV_0, // TILE_TYPE_551 - VVV_0, // TILE_TYPE_552 - VVV_0, // TILE_TYPE_553 - VVV_0, // TILE_TYPE_554 - VVV_0, // TILE_TYPE_555 - VVV_0, // TILE_TYPE_556 - VVV_0, // TILE_TYPE_557 - VVV_0, // TILE_TYPE_558 - VVV_0, // TILE_TYPE_559 - VVV_0, // TILE_TYPE_560 - VVV_0, // TILE_TYPE_561 - VVV_16, // TILE_TYPE_562 - VVV_16, // TILE_TYPE_563 - VVV_16, // TILE_TYPE_564 - VVV_16, // TILE_TYPE_565 - VVV_16, // TILE_TYPE_566 - VVV_16, // TILE_TYPE_567 - VVV_16, // TILE_TYPE_568 - VVV_16, // TILE_TYPE_569 - VVV_16, // TILE_TYPE_570 - VVV_16, // TILE_TYPE_571 - VVV_16, // TILE_TYPE_572 - VVV_16, // TILE_TYPE_573 - VVV_16, // TILE_TYPE_574 - VVV_16, // TILE_TYPE_575 - VVV_16, // TILE_TYPE_576 - VVV_16, // TILE_TYPE_577 - VVV_16, // TILE_TYPE_578 - VVV_16, // TILE_TYPE_579 - VVV_16, // TILE_TYPE_580 - VVV_16, // TILE_TYPE_581 - VVV_16, // TILE_TYPE_582 - VVV_16, // TILE_TYPE_583 - VVV_16, // TILE_TYPE_584 - VVV_16, // TILE_TYPE_585 - VVV_16, // TILE_TYPE_586 - VVV_16, // TILE_TYPE_587 - VVV_16, // TILE_TYPE_588 - VVV_16, // TILE_TYPE_589 - VVV_85, // TILE_TYPE_590 - VVV_85, // TILE_TYPE_591 - VVV_85, // TILE_TYPE_592 - VVV_85, // TILE_TYPE_593 - VVV_85, // TILE_TYPE_594 - VVV_85, // TILE_TYPE_595 - VVV_85, // TILE_TYPE_596 - VVV_85, // TILE_TYPE_597 - VVV_85, // TILE_TYPE_598 - VVV_0, // TILE_TYPE_599 - VVV_0, // TILE_TYPE_600 - VVV_0, // TILE_TYPE_601 - VVV_0, // TILE_TYPE_602 - VVV_0, // TILE_TYPE_603 - VVV_0, // TILE_TYPE_604 - VVV_0, // TILE_TYPE_605 - VVV_0, // TILE_TYPE_606 - VVV_0, // TILE_TYPE_607 - VVV_0, // TILE_TYPE_608 - VVV_0, // TILE_TYPE_609 - VVV_9, // TILE_TYPE_610 - VVV_9, // TILE_TYPE_611 - VVV_0, // TILE_TYPE_612 - VVV_0, // TILE_TYPE_613 - VVV_0, // TILE_TYPE_614 - VVV_86, // TILE_TYPE_615 - VVV_0, // TILE_TYPE_616 - VVV_0, // TILE_TYPE_617 - VVV_86, // TILE_TYPE_618 - VVV_0, // TILE_TYPE_619 - VVV_0, // TILE_TYPE_620 - VVV_41, // TILE_TYPE_621 - VVV_0, // TILE_TYPE_622 - VVV_0, // TILE_TYPE_623 - VVV_41, // TILE_TYPE_624 - VVV_40, // TILE_TYPE_625 - VVV_0, // TILE_TYPE_626 - VVV_0, // TILE_TYPE_627 - VVV_0, // TILE_TYPE_628 - VVV_0, // TILE_TYPE_629 - VVV_0, // TILE_TYPE_630 - VVV_86, // TILE_TYPE_631 - VVV_0, // TILE_TYPE_632 - VVV_0, // TILE_TYPE_633 - VVV_86, // TILE_TYPE_634 - VVV_0, // TILE_TYPE_635 - VVV_0, // TILE_TYPE_636 - VVV_41, // TILE_TYPE_637 - VVV_0, // TILE_TYPE_638 - VVV_0, // TILE_TYPE_639 - VVV_41, // TILE_TYPE_640 - VVV_40, // TILE_TYPE_641 - VVV_0, // TILE_TYPE_642 - VVV_0, // TILE_TYPE_643 - VVV_0, // TILE_TYPE_644 - VVV_0, // TILE_TYPE_645 - VVV_0, // TILE_TYPE_646 - VVV_86, // TILE_TYPE_647 - VVV_0, // TILE_TYPE_648 - VVV_0, // TILE_TYPE_649 - VVV_86, // TILE_TYPE_650 - VVV_0, // TILE_TYPE_651 - VVV_0, // TILE_TYPE_652 + ACT_TILE_0, // TILE_TYPE_247 + ACT_TILE_45, // TILE_TYPE_248 + ACT_TILE_45, // TILE_TYPE_249 + ACT_TILE_45, // TILE_TYPE_250 + ACT_TILE_0, // TILE_TYPE_251 + ACT_TILE_0, // TILE_TYPE_252 + ACT_TILE_0, // TILE_TYPE_253 + ACT_TILE_0, // TILE_TYPE_254 + ACT_TILE_46, // TILE_TYPE_255 + ACT_TILE_0, // TILE_TYPE_256 + ACT_TILE_0, // TILE_TYPE_257 + ACT_TILE_0, // TILE_TYPE_258 + ACT_TILE_0, // TILE_TYPE_259 + ACT_TILE_0, // TILE_TYPE_260 + ACT_TILE_46, // TILE_TYPE_261 + ACT_TILE_0, // TILE_TYPE_262 + ACT_TILE_0, // TILE_TYPE_263 + ACT_TILE_46, // TILE_TYPE_264 + ACT_TILE_0, // TILE_TYPE_265 + ACT_TILE_0, // TILE_TYPE_266 + ACT_TILE_0, // TILE_TYPE_267 + ACT_TILE_0, // TILE_TYPE_268 + ACT_TILE_0, // TILE_TYPE_269 + ACT_TILE_0, // TILE_TYPE_270 + ACT_TILE_0, // TILE_TYPE_271 + ACT_TILE_46, // TILE_TYPE_272 + ACT_TILE_0, // TILE_TYPE_273 + ACT_TILE_0, // TILE_TYPE_274 + ACT_TILE_0, // TILE_TYPE_275 + ACT_TILE_0, // TILE_TYPE_276 + ACT_TILE_46, // TILE_TYPE_277 + ACT_TILE_0, // TILE_TYPE_278 + ACT_TILE_0, // TILE_TYPE_279 + ACT_TILE_0, // TILE_TYPE_280 + ACT_TILE_0, // TILE_TYPE_281 + ACT_TILE_0, // TILE_TYPE_282 + ACT_TILE_0, // TILE_TYPE_283 + ACT_TILE_0, // TILE_TYPE_284 + ACT_TILE_0, // TILE_TYPE_285 + ACT_TILE_0, // TILE_TYPE_286 + ACT_TILE_0, // TILE_TYPE_287 + ACT_TILE_0, // TILE_TYPE_288 + ACT_TILE_0, // TILE_TYPE_289 + ACT_TILE_0, // TILE_TYPE_290 + ACT_TILE_0, // TILE_TYPE_291 + ACT_TILE_0, // TILE_TYPE_292 + ACT_TILE_0, // TILE_TYPE_293 + ACT_TILE_0, // TILE_TYPE_294 + ACT_TILE_0, // TILE_TYPE_295 + ACT_TILE_0, // TILE_TYPE_296 + ACT_TILE_0, // TILE_TYPE_297 + ACT_TILE_0, // TILE_TYPE_298 + ACT_TILE_0, // TILE_TYPE_299 + ACT_TILE_0, // TILE_TYPE_300 + ACT_TILE_0, // TILE_TYPE_301 + ACT_TILE_0, // TILE_TYPE_302 + ACT_TILE_0, // TILE_TYPE_303 + ACT_TILE_0, // TILE_TYPE_304 + ACT_TILE_0, // TILE_TYPE_305 + ACT_TILE_0, // TILE_TYPE_306 + ACT_TILE_0, // TILE_TYPE_307 + ACT_TILE_0, // TILE_TYPE_308 + ACT_TILE_0, // TILE_TYPE_309 + ACT_TILE_0, // TILE_TYPE_310 + ACT_TILE_0, // TILE_TYPE_311 + ACT_TILE_0, // TILE_TYPE_312 + ACT_TILE_0, // TILE_TYPE_313 + ACT_TILE_0, // TILE_TYPE_314 + ACT_TILE_0, // TILE_TYPE_315 + ACT_TILE_0, // TILE_TYPE_316 + ACT_TILE_0, // TILE_TYPE_317 + ACT_TILE_0, // TILE_TYPE_318 + ACT_TILE_0, // TILE_TYPE_319 + ACT_TILE_0, // TILE_TYPE_320 + ACT_TILE_0, // TILE_TYPE_321 + ACT_TILE_0, // TILE_TYPE_322 + ACT_TILE_0, // TILE_TYPE_323 + ACT_TILE_0, // TILE_TYPE_324 + ACT_TILE_0, // TILE_TYPE_325 + ACT_TILE_0, // TILE_TYPE_326 + ACT_TILE_0, // TILE_TYPE_327 + ACT_TILE_0, // TILE_TYPE_328 + ACT_TILE_0, // TILE_TYPE_329 + ACT_TILE_0, // TILE_TYPE_330 + ACT_TILE_0, // TILE_TYPE_331 + ACT_TILE_0, // TILE_TYPE_332 + ACT_TILE_0, // TILE_TYPE_333 + ACT_TILE_0, // TILE_TYPE_334 + ACT_TILE_0, // TILE_TYPE_335 + ACT_TILE_0, // TILE_TYPE_336 + ACT_TILE_0, // TILE_TYPE_337 + ACT_TILE_0, // TILE_TYPE_338 + ACT_TILE_0, // TILE_TYPE_339 + ACT_TILE_0, // TILE_TYPE_340 + ACT_TILE_0, // TILE_TYPE_341 + ACT_TILE_0, // TILE_TYPE_342 + ACT_TILE_0, // TILE_TYPE_343 + ACT_TILE_0, // TILE_TYPE_344 + ACT_TILE_0, // TILE_TYPE_345 + ACT_TILE_0, // TILE_TYPE_346 + ACT_TILE_0, // TILE_TYPE_347 + ACT_TILE_0, // TILE_TYPE_348 + ACT_TILE_0, // TILE_TYPE_349 + ACT_TILE_0, // TILE_TYPE_350 + ACT_TILE_0, // TILE_TYPE_351 + ACT_TILE_0, // TILE_TYPE_352 + ACT_TILE_47, // TILE_TYPE_353 + ACT_TILE_47, // TILE_TYPE_354 + ACT_TILE_47, // TILE_TYPE_355 + ACT_TILE_0, // TILE_TYPE_356 + ACT_TILE_0, // TILE_TYPE_357 + ACT_TILE_40, // TILE_TYPE_358 + ACT_TILE_0, // TILE_TYPE_359 + ACT_TILE_40, // TILE_TYPE_360 + ACT_TILE_48, // TILE_TYPE_361 + ACT_TILE_49, // TILE_TYPE_362 + ACT_TILE_50, // TILE_TYPE_363 + ACT_TILE_51, // TILE_TYPE_364 + ACT_TILE_52, // TILE_TYPE_365 + ACT_TILE_52, // TILE_TYPE_366 + ACT_TILE_53, // TILE_TYPE_367 + ACT_TILE_53, // TILE_TYPE_368 + ACT_TILE_54, // TILE_TYPE_369 + ACT_TILE_55, // TILE_TYPE_370 + ACT_TILE_0, // TILE_TYPE_371 + ACT_TILE_56, // TILE_TYPE_372 + ACT_TILE_57, // TILE_TYPE_373 + ACT_TILE_58, // TILE_TYPE_374 + ACT_TILE_59, // TILE_TYPE_375 + ACT_TILE_0, // TILE_TYPE_376 + ACT_TILE_0, // TILE_TYPE_377 + ACT_TILE_60, // TILE_TYPE_378 + ACT_TILE_60, // TILE_TYPE_379 + ACT_TILE_60, // TILE_TYPE_380 + ACT_TILE_60, // TILE_TYPE_381 + ACT_TILE_0, // TILE_TYPE_382 + ACT_TILE_0, // TILE_TYPE_383 + ACT_TILE_0, // TILE_TYPE_384 + ACT_TILE_0, // TILE_TYPE_385 + ACT_TILE_61, // TILE_TYPE_386 + ACT_TILE_61, // TILE_TYPE_387 + ACT_TILE_62, // TILE_TYPE_388 + ACT_TILE_9, // TILE_TYPE_389 + ACT_TILE_9, // TILE_TYPE_390 + ACT_TILE_9, // TILE_TYPE_391 + ACT_TILE_9, // TILE_TYPE_392 + ACT_TILE_9, // TILE_TYPE_393 + ACT_TILE_9, // TILE_TYPE_394 + ACT_TILE_61, // TILE_TYPE_395 + ACT_TILE_61, // TILE_TYPE_396 + ACT_TILE_61, // TILE_TYPE_397 + ACT_TILE_9, // TILE_TYPE_398 + ACT_TILE_9, // TILE_TYPE_399 + ACT_TILE_61, // TILE_TYPE_400 + ACT_TILE_61, // TILE_TYPE_401 + ACT_TILE_61, // TILE_TYPE_402 + ACT_TILE_9, // TILE_TYPE_403 + ACT_TILE_9, // TILE_TYPE_404 + ACT_TILE_9, // TILE_TYPE_405 + ACT_TILE_9, // TILE_TYPE_406 + ACT_TILE_9, // TILE_TYPE_407 + ACT_TILE_9, // TILE_TYPE_408 + ACT_TILE_0, // TILE_TYPE_409 + ACT_TILE_0, // TILE_TYPE_410 + ACT_TILE_0, // TILE_TYPE_411 + ACT_TILE_0, // TILE_TYPE_412 + ACT_TILE_63, // TILE_TYPE_413 + ACT_TILE_0, // TILE_TYPE_414 + ACT_TILE_0, // TILE_TYPE_415 + ACT_TILE_0, // TILE_TYPE_416 + ACT_TILE_0, // TILE_TYPE_417 + ACT_TILE_0, // TILE_TYPE_418 + ACT_TILE_0, // TILE_TYPE_419 + ACT_TILE_0, // TILE_TYPE_420 + ACT_TILE_0, // TILE_TYPE_421 + ACT_TILE_63, // TILE_TYPE_422 + ACT_TILE_0, // TILE_TYPE_423 + ACT_TILE_0, // TILE_TYPE_424 + ACT_TILE_0, // TILE_TYPE_425 + ACT_TILE_0, // TILE_TYPE_426 + ACT_TILE_0, // TILE_TYPE_427 + ACT_TILE_42, // TILE_TYPE_428 + ACT_TILE_43, // TILE_TYPE_429 + ACT_TILE_44, // TILE_TYPE_430 + ACT_TILE_45, // TILE_TYPE_431 + ACT_TILE_0, // TILE_TYPE_432 + ACT_TILE_0, // TILE_TYPE_433 + ACT_TILE_0, // TILE_TYPE_434 + ACT_TILE_0, // TILE_TYPE_435 + ACT_TILE_64, // TILE_TYPE_436 + ACT_TILE_65, // TILE_TYPE_437 + ACT_TILE_66, // TILE_TYPE_438 + ACT_TILE_67, // TILE_TYPE_439 + ACT_TILE_68, // TILE_TYPE_440 + ACT_TILE_69, // TILE_TYPE_441 + ACT_TILE_70, // TILE_TYPE_442 + ACT_TILE_71, // TILE_TYPE_443 + ACT_TILE_72, // TILE_TYPE_444 + ACT_TILE_73, // TILE_TYPE_445 + ACT_TILE_74, // TILE_TYPE_446 + ACT_TILE_75, // TILE_TYPE_447 + ACT_TILE_76, // TILE_TYPE_448 + ACT_TILE_77, // TILE_TYPE_449 + ACT_TILE_78, // TILE_TYPE_450 + ACT_TILE_79, // TILE_TYPE_451 + ACT_TILE_80, // TILE_TYPE_452 + ACT_TILE_81, // TILE_TYPE_453 + ACT_TILE_82, // TILE_TYPE_454 + ACT_TILE_83, // TILE_TYPE_455 + ACT_TILE_63, // TILE_TYPE_456 + ACT_TILE_0, // TILE_TYPE_457 + ACT_TILE_63, // TILE_TYPE_458 + ACT_TILE_83, // TILE_TYPE_459 + ACT_TILE_83, // TILE_TYPE_460 + ACT_TILE_0, // TILE_TYPE_461 + ACT_TILE_0, // TILE_TYPE_462 + ACT_TILE_43, // TILE_TYPE_463 + ACT_TILE_43, // TILE_TYPE_464 + ACT_TILE_43, // TILE_TYPE_465 + ACT_TILE_0, // TILE_TYPE_466 + ACT_TILE_21, // TILE_TYPE_467 + ACT_TILE_21, // TILE_TYPE_468 + ACT_TILE_21, // TILE_TYPE_469 + ACT_TILE_21, // TILE_TYPE_470 + ACT_TILE_0, // TILE_TYPE_471 + ACT_TILE_0, // TILE_TYPE_472 + ACT_TILE_0, // TILE_TYPE_473 + ACT_TILE_0, // TILE_TYPE_474 + ACT_TILE_0, // TILE_TYPE_475 + ACT_TILE_0, // TILE_TYPE_476 + ACT_TILE_0, // TILE_TYPE_477 + ACT_TILE_0, // TILE_TYPE_478 + ACT_TILE_0, // TILE_TYPE_479 + ACT_TILE_0, // TILE_TYPE_480 + ACT_TILE_0, // TILE_TYPE_481 + ACT_TILE_0, // TILE_TYPE_482 + ACT_TILE_0, // TILE_TYPE_483 + ACT_TILE_0, // TILE_TYPE_484 + ACT_TILE_0, // TILE_TYPE_485 + ACT_TILE_0, // TILE_TYPE_486 + ACT_TILE_84, // TILE_TYPE_487 + ACT_TILE_0, // TILE_TYPE_488 + ACT_TILE_0, // TILE_TYPE_489 + ACT_TILE_0, // TILE_TYPE_490 + ACT_TILE_0, // TILE_TYPE_491 + ACT_TILE_0, // TILE_TYPE_492 + ACT_TILE_0, // TILE_TYPE_493 + ACT_TILE_0, // TILE_TYPE_494 + ACT_TILE_0, // TILE_TYPE_495 + ACT_TILE_0, // TILE_TYPE_496 + ACT_TILE_0, // TILE_TYPE_497 + ACT_TILE_0, // TILE_TYPE_498 + ACT_TILE_0, // TILE_TYPE_499 + ACT_TILE_0, // TILE_TYPE_500 + ACT_TILE_0, // TILE_TYPE_501 + ACT_TILE_0, // TILE_TYPE_502 + ACT_TILE_0, // TILE_TYPE_503 + ACT_TILE_0, // TILE_TYPE_504 + ACT_TILE_0, // TILE_TYPE_505 + ACT_TILE_0, // TILE_TYPE_506 + ACT_TILE_0, // TILE_TYPE_507 + ACT_TILE_0, // TILE_TYPE_508 + ACT_TILE_0, // TILE_TYPE_509 + ACT_TILE_0, // TILE_TYPE_510 + ACT_TILE_0, // TILE_TYPE_511 + ACT_TILE_0, // TILE_TYPE_512 + ACT_TILE_0, // TILE_TYPE_513 + ACT_TILE_0, // TILE_TYPE_514 + ACT_TILE_0, // TILE_TYPE_515 + ACT_TILE_0, // TILE_TYPE_516 + ACT_TILE_0, // TILE_TYPE_517 + ACT_TILE_0, // TILE_TYPE_518 + ACT_TILE_0, // TILE_TYPE_519 + ACT_TILE_0, // TILE_TYPE_520 + ACT_TILE_0, // TILE_TYPE_521 + ACT_TILE_0, // TILE_TYPE_522 + ACT_TILE_0, // TILE_TYPE_523 + ACT_TILE_40, // TILE_TYPE_524 + ACT_TILE_0, // TILE_TYPE_525 + ACT_TILE_0, // TILE_TYPE_526 + ACT_TILE_0, // TILE_TYPE_527 + ACT_TILE_0, // TILE_TYPE_528 + ACT_TILE_0, // TILE_TYPE_529 + ACT_TILE_0, // TILE_TYPE_530 + ACT_TILE_0, // TILE_TYPE_531 + ACT_TILE_0, // TILE_TYPE_532 + ACT_TILE_0, // TILE_TYPE_533 + ACT_TILE_0, // TILE_TYPE_534 + ACT_TILE_0, // TILE_TYPE_535 + ACT_TILE_0, // TILE_TYPE_536 + ACT_TILE_0, // TILE_TYPE_537 + ACT_TILE_0, // TILE_TYPE_538 + ACT_TILE_0, // TILE_TYPE_539 + ACT_TILE_0, // TILE_TYPE_540 + ACT_TILE_0, // TILE_TYPE_541 + ACT_TILE_0, // TILE_TYPE_542 + ACT_TILE_0, // TILE_TYPE_543 + ACT_TILE_0, // TILE_TYPE_544 + ACT_TILE_0, // TILE_TYPE_545 + ACT_TILE_0, // TILE_TYPE_546 + ACT_TILE_0, // TILE_TYPE_547 + ACT_TILE_0, // TILE_TYPE_548 + ACT_TILE_40, // TILE_TYPE_549 + ACT_TILE_0, // TILE_TYPE_550 + ACT_TILE_0, // TILE_TYPE_551 + ACT_TILE_0, // TILE_TYPE_552 + ACT_TILE_0, // TILE_TYPE_553 + ACT_TILE_0, // TILE_TYPE_554 + ACT_TILE_0, // TILE_TYPE_555 + ACT_TILE_0, // TILE_TYPE_556 + ACT_TILE_0, // TILE_TYPE_557 + ACT_TILE_0, // TILE_TYPE_558 + ACT_TILE_0, // TILE_TYPE_559 + ACT_TILE_0, // TILE_TYPE_560 + ACT_TILE_0, // TILE_TYPE_561 + ACT_TILE_16, // TILE_TYPE_562 + ACT_TILE_16, // TILE_TYPE_563 + ACT_TILE_16, // TILE_TYPE_564 + ACT_TILE_16, // TILE_TYPE_565 + ACT_TILE_16, // TILE_TYPE_566 + ACT_TILE_16, // TILE_TYPE_567 + ACT_TILE_16, // TILE_TYPE_568 + ACT_TILE_16, // TILE_TYPE_569 + ACT_TILE_16, // TILE_TYPE_570 + ACT_TILE_16, // TILE_TYPE_571 + ACT_TILE_16, // TILE_TYPE_572 + ACT_TILE_16, // TILE_TYPE_573 + ACT_TILE_16, // TILE_TYPE_574 + ACT_TILE_16, // TILE_TYPE_575 + ACT_TILE_16, // TILE_TYPE_576 + ACT_TILE_16, // TILE_TYPE_577 + ACT_TILE_16, // TILE_TYPE_578 + ACT_TILE_16, // TILE_TYPE_579 + ACT_TILE_16, // TILE_TYPE_580 + ACT_TILE_16, // TILE_TYPE_581 + ACT_TILE_16, // TILE_TYPE_582 + ACT_TILE_16, // TILE_TYPE_583 + ACT_TILE_16, // TILE_TYPE_584 + ACT_TILE_16, // TILE_TYPE_585 + ACT_TILE_16, // TILE_TYPE_586 + ACT_TILE_16, // TILE_TYPE_587 + ACT_TILE_16, // TILE_TYPE_588 + ACT_TILE_16, // TILE_TYPE_589 + ACT_TILE_85, // TILE_TYPE_590 + ACT_TILE_85, // TILE_TYPE_591 + ACT_TILE_85, // TILE_TYPE_592 + ACT_TILE_85, // TILE_TYPE_593 + ACT_TILE_85, // TILE_TYPE_594 + ACT_TILE_85, // TILE_TYPE_595 + ACT_TILE_85, // TILE_TYPE_596 + ACT_TILE_85, // TILE_TYPE_597 + ACT_TILE_85, // TILE_TYPE_598 + ACT_TILE_0, // TILE_TYPE_599 + ACT_TILE_0, // TILE_TYPE_600 + ACT_TILE_0, // TILE_TYPE_601 + ACT_TILE_0, // TILE_TYPE_602 + ACT_TILE_0, // TILE_TYPE_603 + ACT_TILE_0, // TILE_TYPE_604 + ACT_TILE_0, // TILE_TYPE_605 + ACT_TILE_0, // TILE_TYPE_606 + ACT_TILE_0, // TILE_TYPE_607 + ACT_TILE_0, // TILE_TYPE_608 + ACT_TILE_0, // TILE_TYPE_609 + ACT_TILE_9, // TILE_TYPE_610 + ACT_TILE_9, // TILE_TYPE_611 + ACT_TILE_0, // TILE_TYPE_612 + ACT_TILE_0, // TILE_TYPE_613 + ACT_TILE_0, // TILE_TYPE_614 + ACT_TILE_86, // TILE_TYPE_615 + ACT_TILE_0, // TILE_TYPE_616 + ACT_TILE_0, // TILE_TYPE_617 + ACT_TILE_86, // TILE_TYPE_618 + ACT_TILE_0, // TILE_TYPE_619 + ACT_TILE_0, // TILE_TYPE_620 + ACT_TILE_41, // TILE_TYPE_621 + ACT_TILE_0, // TILE_TYPE_622 + ACT_TILE_0, // TILE_TYPE_623 + ACT_TILE_41, // TILE_TYPE_624 + ACT_TILE_40, // TILE_TYPE_625 + ACT_TILE_0, // TILE_TYPE_626 + ACT_TILE_0, // TILE_TYPE_627 + ACT_TILE_0, // TILE_TYPE_628 + ACT_TILE_0, // TILE_TYPE_629 + ACT_TILE_0, // TILE_TYPE_630 + ACT_TILE_86, // TILE_TYPE_631 + ACT_TILE_0, // TILE_TYPE_632 + ACT_TILE_0, // TILE_TYPE_633 + ACT_TILE_86, // TILE_TYPE_634 + ACT_TILE_0, // TILE_TYPE_635 + ACT_TILE_0, // TILE_TYPE_636 + ACT_TILE_41, // TILE_TYPE_637 + ACT_TILE_0, // TILE_TYPE_638 + ACT_TILE_0, // TILE_TYPE_639 + ACT_TILE_41, // TILE_TYPE_640 + ACT_TILE_40, // TILE_TYPE_641 + ACT_TILE_0, // TILE_TYPE_642 + ACT_TILE_0, // TILE_TYPE_643 + ACT_TILE_0, // TILE_TYPE_644 + ACT_TILE_0, // TILE_TYPE_645 + ACT_TILE_0, // TILE_TYPE_646 + ACT_TILE_86, // TILE_TYPE_647 + ACT_TILE_0, // TILE_TYPE_648 + ACT_TILE_0, // TILE_TYPE_649 + ACT_TILE_86, // TILE_TYPE_650 + ACT_TILE_0, // TILE_TYPE_651 + ACT_TILE_0, // TILE_TYPE_652 #ifdef EU - VVV_0, // TILE_TYPE_653 + ACT_TILE_0, // TILE_TYPE_653 #else - VVV_41, // TILE_TYPE_653 + ACT_TILE_41, // TILE_TYPE_653 #endif - VVV_0, // TILE_TYPE_654 - VVV_0, // TILE_TYPE_655 + ACT_TILE_0, // TILE_TYPE_654 + ACT_TILE_0, // TILE_TYPE_655 #ifdef EU - VVV_0, // TILE_TYPE_656 + ACT_TILE_0, // TILE_TYPE_656 #else - VVV_41, // TILE_TYPE_656 + ACT_TILE_41, // TILE_TYPE_656 #endif - VVV_40, // TILE_TYPE_657 - VVV_0, // TILE_TYPE_658 - VVV_0, // TILE_TYPE_659 - VVV_0, // TILE_TYPE_660 - VVV_0, // TILE_TYPE_661 - VVV_86, // TILE_TYPE_662 - VVV_86, // TILE_TYPE_663 - VVV_86, // TILE_TYPE_664 - VVV_86, // TILE_TYPE_665 - VVV_86, // TILE_TYPE_666 - VVV_86, // TILE_TYPE_667 - VVV_86, // TILE_TYPE_668 - VVV_86, // TILE_TYPE_669 - VVV_86, // TILE_TYPE_670 - VVV_86, // TILE_TYPE_671 - VVV_86, // TILE_TYPE_672 - VVV_86, // TILE_TYPE_673 - VVV_86, // TILE_TYPE_674 - VVV_86, // TILE_TYPE_675 - VVV_86, // TILE_TYPE_676 - VVV_86, // TILE_TYPE_677 - VVV_86, // TILE_TYPE_678 - VVV_86, // TILE_TYPE_679 - VVV_86, // TILE_TYPE_680 - VVV_86, // TILE_TYPE_681 - VVV_86, // TILE_TYPE_682 - VVV_86, // TILE_TYPE_683 - VVV_86, // TILE_TYPE_684 - VVV_86, // TILE_TYPE_685 - VVV_86, // TILE_TYPE_686 - VVV_86, // TILE_TYPE_687 - VVV_86, // TILE_TYPE_688 - VVV_86, // TILE_TYPE_689 - VVV_86, // TILE_TYPE_690 - VVV_86, // TILE_TYPE_691 - VVV_86, // TILE_TYPE_692 - VVV_86, // TILE_TYPE_693 - VVV_86, // TILE_TYPE_694 - VVV_86, // TILE_TYPE_695 - VVV_86, // TILE_TYPE_696 - VVV_86, // TILE_TYPE_697 - VVV_86, // TILE_TYPE_698 - VVV_86, // TILE_TYPE_699 - VVV_86, // TILE_TYPE_700 - VVV_86, // TILE_TYPE_701 - VVV_86, // TILE_TYPE_702 - VVV_86, // TILE_TYPE_703 - VVV_86, // TILE_TYPE_704 - VVV_86, // TILE_TYPE_705 - VVV_86, // TILE_TYPE_706 - VVV_86, // TILE_TYPE_707 - VVV_86, // TILE_TYPE_708 - VVV_86, // TILE_TYPE_709 - VVV_86, // TILE_TYPE_710 - VVV_86, // TILE_TYPE_711 - VVV_86, // TILE_TYPE_712 - VVV_86, // TILE_TYPE_713 - VVV_86, // TILE_TYPE_714 - VVV_86, // TILE_TYPE_715 - VVV_86, // TILE_TYPE_716 - VVV_86, // TILE_TYPE_717 - VVV_86, // TILE_TYPE_718 - VVV_86, // TILE_TYPE_719 - VVV_86, // TILE_TYPE_720 - VVV_86, // TILE_TYPE_721 - VVV_86, // TILE_TYPE_722 - VVV_86, // TILE_TYPE_723 - VVV_86, // TILE_TYPE_724 - VVV_86, // TILE_TYPE_725 - VVV_86, // TILE_TYPE_726 - VVV_86, // TILE_TYPE_727 - VVV_86, // TILE_TYPE_728 - VVV_86, // TILE_TYPE_729 - VVV_86, // TILE_TYPE_730 - VVV_86, // TILE_TYPE_731 - VVV_86, // TILE_TYPE_732 - VVV_86, // TILE_TYPE_733 - VVV_86, // TILE_TYPE_734 - VVV_86, // TILE_TYPE_735 - VVV_86, // TILE_TYPE_736 - VVV_86, // TILE_TYPE_737 - VVV_86, // TILE_TYPE_738 - VVV_86, // TILE_TYPE_739 - VVV_86, // TILE_TYPE_740 - VVV_86, // TILE_TYPE_741 - VVV_86, // TILE_TYPE_742 - VVV_86, // TILE_TYPE_743 - VVV_86, // TILE_TYPE_744 - VVV_86, // TILE_TYPE_745 - VVV_86, // TILE_TYPE_746 - VVV_86, // TILE_TYPE_747 - VVV_86, // TILE_TYPE_748 - VVV_86, // TILE_TYPE_749 - VVV_86, // TILE_TYPE_750 - VVV_86, // TILE_TYPE_751 - VVV_86, // TILE_TYPE_752 - VVV_86, // TILE_TYPE_753 - VVV_10, // TILE_TYPE_754 - VVV_9, // TILE_TYPE_755 - VVV_10, // TILE_TYPE_756 - VVV_10, // TILE_TYPE_757 - VVV_13, // TILE_TYPE_758 - VVV_0, // TILE_TYPE_759 - VVV_0, // TILE_TYPE_760 - VVV_0, // TILE_TYPE_761 - VVV_0, // TILE_TYPE_762 - VVV_63, // TILE_TYPE_763 - VVV_0, // TILE_TYPE_764 - VVV_0, // TILE_TYPE_765 - VVV_0, // TILE_TYPE_766 - VVV_0, // TILE_TYPE_767 - VVV_0, // TILE_TYPE_768 - VVV_0, // TILE_TYPE_769 - VVV_0, // TILE_TYPE_770 - VVV_0, // TILE_TYPE_771 - VVV_0, // TILE_TYPE_772 - VVV_0, // TILE_TYPE_773 - VVV_0, // TILE_TYPE_774 - VVV_0, // TILE_TYPE_775 - VVV_0, // TILE_TYPE_776 - VVV_0, // TILE_TYPE_777 - VVV_0, // TILE_TYPE_778 - VVV_0, // TILE_TYPE_779 - VVV_0, // TILE_TYPE_780 - VVV_16, // TILE_TYPE_781 - VVV_16, // TILE_TYPE_782 - VVV_0, // TILE_TYPE_783 - VVV_12, // TILE_TYPE_784 - VVV_0, // TILE_TYPE_785 - VVV_0, // TILE_TYPE_786 - VVV_1, // TILE_TYPE_787 - VVV_24, // TILE_TYPE_788 - VVV_87, // TILE_TYPE_789 - VVV_88, // TILE_TYPE_790 - VVV_89, // TILE_TYPE_791 - VVV_89, // TILE_TYPE_792 - VVV_90, // TILE_TYPE_793 - VVV_91, // TILE_TYPE_794 - VVV_92, // TILE_TYPE_795 - VVV_93, // TILE_TYPE_796 - VVV_94, // TILE_TYPE_797 - VVV_95, // TILE_TYPE_798 - VVV_96, // TILE_TYPE_799 - VVV_0, // TILE_TYPE_800 - VVV_0, // TILE_TYPE_801 - VVV_0, // TILE_TYPE_802 - VVV_13, // TILE_TYPE_803 - VVV_13, // TILE_TYPE_804 - VVV_13, // TILE_TYPE_805 - VVV_13, // TILE_TYPE_806 - VVV_13, // TILE_TYPE_807 - VVV_13, // TILE_TYPE_808 - VVV_13, // TILE_TYPE_809 - VVV_13, // TILE_TYPE_810 - VVV_13, // TILE_TYPE_811 - VVV_13, // TILE_TYPE_812 - VVV_13, // TILE_TYPE_813 - VVV_13, // TILE_TYPE_814 - VVV_13, // TILE_TYPE_815 - VVV_13, // TILE_TYPE_816 - VVV_13, // TILE_TYPE_817 - VVV_13, // TILE_TYPE_818 - VVV_13, // TILE_TYPE_819 - VVV_13, // TILE_TYPE_820 - VVV_13, // TILE_TYPE_821 - VVV_13, // TILE_TYPE_822 - VVV_13, // TILE_TYPE_823 - VVV_13, // TILE_TYPE_824 - VVV_13, // TILE_TYPE_825 - VVV_13, // TILE_TYPE_826 - VVV_13, // TILE_TYPE_827 - VVV_13, // TILE_TYPE_828 - VVV_13, // TILE_TYPE_829 - VVV_13, // TILE_TYPE_830 - VVV_13, // TILE_TYPE_831 - VVV_13, // TILE_TYPE_832 - VVV_12, // TILE_TYPE_833 - VVV_12, // TILE_TYPE_834 - VVV_12, // TILE_TYPE_835 - VVV_12, // TILE_TYPE_836 - VVV_12, // TILE_TYPE_837 - VVV_12, // TILE_TYPE_838 - VVV_97, // TILE_TYPE_839 - VVV_97, // TILE_TYPE_840 - VVV_97, // TILE_TYPE_841 - VVV_97, // TILE_TYPE_842 - VVV_98, // TILE_TYPE_843 - VVV_98, // TILE_TYPE_844 - VVV_0, // TILE_TYPE_845 - VVV_0, // TILE_TYPE_846 - VVV_99, // TILE_TYPE_847 - VVV_99, // TILE_TYPE_848 - VVV_99, // TILE_TYPE_849 - VVV_99, // TILE_TYPE_850 - VVV_100, // TILE_TYPE_851 - VVV_0, // TILE_TYPE_852 - VVV_101, // TILE_TYPE_853 - VVV_102, // TILE_TYPE_854 - VVV_103, // TILE_TYPE_855 - VVV_104, // TILE_TYPE_856 - VVV_105, // TILE_TYPE_857 - VVV_106, // TILE_TYPE_858 - VVV_107, // TILE_TYPE_859 - VVV_108, // TILE_TYPE_860 - VVV_109, // TILE_TYPE_861 - VVV_110, // TILE_TYPE_862 - VVV_111, // TILE_TYPE_863 - VVV_112, // TILE_TYPE_864 - VVV_112, // TILE_TYPE_865 - VVV_112, // TILE_TYPE_866 - VVV_112, // TILE_TYPE_867 - VVV_112, // TILE_TYPE_868 - VVV_0, // TILE_TYPE_869 - VVV_113, // TILE_TYPE_870 - VVV_46, // TILE_TYPE_871 - VVV_46, // TILE_TYPE_872 - VVV_114, // TILE_TYPE_873 - VVV_114, // TILE_TYPE_874 - VVV_114, // TILE_TYPE_875 - VVV_114, // TILE_TYPE_876 - VVV_114, // TILE_TYPE_877 - VVV_114, // TILE_TYPE_878 - VVV_114, // TILE_TYPE_879 - VVV_114, // TILE_TYPE_880 - VVV_114, // TILE_TYPE_881 - VVV_114, // TILE_TYPE_882 - VVV_114, // TILE_TYPE_883 - VVV_114, // TILE_TYPE_884 - VVV_114, // TILE_TYPE_885 - VVV_114, // TILE_TYPE_886 - VVV_115, // TILE_TYPE_887 - VVV_115, // TILE_TYPE_888 - VVV_0, // TILE_TYPE_889 - VVV_0, // TILE_TYPE_890 - VVV_0, // TILE_TYPE_891 - VVV_0, // TILE_TYPE_892 - VVV_0, // TILE_TYPE_893 - VVV_0, // TILE_TYPE_894 - VVV_0, // TILE_TYPE_895 - VVV_0, // TILE_TYPE_896 - VVV_0, // TILE_TYPE_897 - VVV_0, // TILE_TYPE_898 - VVV_0, // TILE_TYPE_899 - VVV_0, // TILE_TYPE_900 - VVV_0, // TILE_TYPE_901 - VVV_0, // TILE_TYPE_902 - VVV_0, // TILE_TYPE_903 - VVV_0, // TILE_TYPE_904 - VVV_0, // TILE_TYPE_905 - VVV_0, // TILE_TYPE_906 - VVV_0, // TILE_TYPE_907 - VVV_0, // TILE_TYPE_908 - VVV_0, // TILE_TYPE_909 - VVV_0, // TILE_TYPE_910 - VVV_0, // TILE_TYPE_911 - VVV_0, // TILE_TYPE_912 - VVV_0, // TILE_TYPE_913 - VVV_0, // TILE_TYPE_914 - VVV_0, // TILE_TYPE_915 - VVV_42, // TILE_TYPE_916 - VVV_43, // TILE_TYPE_917 - VVV_44, // TILE_TYPE_918 - VVV_45, // TILE_TYPE_919 - VVV_0, // TILE_TYPE_920 - VVV_0, // TILE_TYPE_921 - VVV_0, // TILE_TYPE_922 - VVV_0, // TILE_TYPE_923 - VVV_0, // TILE_TYPE_924 - VVV_0, // TILE_TYPE_925 - VVV_0, // TILE_TYPE_926 - VVV_0, // TILE_TYPE_927 - VVV_0, // TILE_TYPE_928 - VVV_116, // TILE_TYPE_929 - VVV_116, // TILE_TYPE_930 - VVV_116, // TILE_TYPE_931 - VVV_0, // TILE_TYPE_932 - VVV_0, // TILE_TYPE_933 - VVV_0, // TILE_TYPE_934 - VVV_0, // TILE_TYPE_935 - VVV_43, // TILE_TYPE_936 - VVV_42, // TILE_TYPE_937 - VVV_45, // TILE_TYPE_938 - VVV_44, // TILE_TYPE_939 - VVV_117, // TILE_TYPE_940 - VVV_0, // TILE_TYPE_941 - VVV_82, // TILE_TYPE_942 - VVV_0, // TILE_TYPE_943 - VVV_0, // TILE_TYPE_944 - VVV_0, // TILE_TYPE_945 - VVV_0, // TILE_TYPE_946 - VVV_0, // TILE_TYPE_947 - VVV_0, // TILE_TYPE_948 - VVV_43, // TILE_TYPE_949 - VVV_42, // TILE_TYPE_950 - VVV_0, // TILE_TYPE_951 - VVV_0, // TILE_TYPE_952 - VVV_44, // TILE_TYPE_953 - VVV_0, // TILE_TYPE_954 - VVV_0, // TILE_TYPE_955 - VVV_45, // TILE_TYPE_956 - VVV_0, // TILE_TYPE_957 - VVV_0, // TILE_TYPE_958 - VVV_0, // TILE_TYPE_959 - VVV_0, // TILE_TYPE_960 - VVV_41, // TILE_TYPE_961 - VVV_40, // TILE_TYPE_962 - VVV_38, // TILE_TYPE_963 - VVV_38, // TILE_TYPE_964 - VVV_116, // TILE_TYPE_965 - VVV_116, // TILE_TYPE_966 - VVV_116, // TILE_TYPE_967 - VVV_116, // TILE_TYPE_968 - VVV_116, // TILE_TYPE_969 - VVV_116, // TILE_TYPE_970 - VVV_116, // TILE_TYPE_971 - VVV_116, // TILE_TYPE_972 - VVV_116, // TILE_TYPE_973 - VVV_116, // TILE_TYPE_974 - VVV_116, // TILE_TYPE_975 - VVV_116, // TILE_TYPE_976 - VVV_116, // TILE_TYPE_977 - VVV_90, // TILE_TYPE_978 - VVV_41, // TILE_TYPE_979 - VVV_41, // TILE_TYPE_980 - VVV_41, // TILE_TYPE_981 - VVV_12, // TILE_TYPE_982 - VVV_0, // TILE_TYPE_983 - VVV_12, // TILE_TYPE_984 - VVV_12, // TILE_TYPE_985 - VVV_41, // TILE_TYPE_986 - VVV_41, // TILE_TYPE_987 - VVV_116, // TILE_TYPE_988 - VVV_0, // TILE_TYPE_989 - VVV_0, // TILE_TYPE_990 - VVV_10, // TILE_TYPE_991 - VVV_0, // TILE_TYPE_992 - VVV_0, // TILE_TYPE_993 - VVV_0, // TILE_TYPE_994 - VVV_0, // TILE_TYPE_995 - VVV_0, // TILE_TYPE_996 - VVV_0, // TILE_TYPE_997 - VVV_40, // TILE_TYPE_998 - VVV_0, // TILE_TYPE_999 - VVV_0, // TILE_TYPE_1000 - VVV_0, // TILE_TYPE_1001 - VVV_40, // TILE_TYPE_1002 - VVV_0, // TILE_TYPE_1003 - VVV_10, // TILE_TYPE_1004 - VVV_10, // TILE_TYPE_1005 - VVV_10, // TILE_TYPE_1006 - VVV_10, // TILE_TYPE_1007 - VVV_10, // TILE_TYPE_1008 - VVV_10, // TILE_TYPE_1009 - VVV_10, // TILE_TYPE_1010 - VVV_40, // TILE_TYPE_1011 - VVV_40, // TILE_TYPE_1012 - VVV_84, // TILE_TYPE_1013 - VVV_84, // TILE_TYPE_1014 - VVV_84, // TILE_TYPE_1015 - VVV_84, // TILE_TYPE_1016 - VVV_0, // TILE_TYPE_1017 - VVV_61, // TILE_TYPE_1018 - VVV_61, // TILE_TYPE_1019 - VVV_61, // TILE_TYPE_1020 - VVV_61, // TILE_TYPE_1021 - VVV_61, // TILE_TYPE_1022 - VVV_61, // TILE_TYPE_1023 - VVV_61, // TILE_TYPE_1024 - VVV_61, // TILE_TYPE_1025 - VVV_62, // TILE_TYPE_1026 - VVV_62, // TILE_TYPE_1027 - VVV_62, // TILE_TYPE_1028 - VVV_62, // TILE_TYPE_1029 - VVV_62, // TILE_TYPE_1030 - VVV_62, // TILE_TYPE_1031 - VVV_62, // TILE_TYPE_1032 - VVV_62, // TILE_TYPE_1033 - VVV_9, // TILE_TYPE_1034 - VVV_9, // TILE_TYPE_1035 - VVV_9, // TILE_TYPE_1036 - VVV_9, // TILE_TYPE_1037 - VVV_9, // TILE_TYPE_1038 - VVV_9, // TILE_TYPE_1039 - VVV_9, // TILE_TYPE_1040 - VVV_9, // TILE_TYPE_1041 - VVV_9, // TILE_TYPE_1042 - VVV_9, // TILE_TYPE_1043 - VVV_9, // TILE_TYPE_1044 - VVV_9, // TILE_TYPE_1045 - VVV_9, // TILE_TYPE_1046 - VVV_9, // TILE_TYPE_1047 - VVV_9, // TILE_TYPE_1048 - VVV_9, // TILE_TYPE_1049 - VVV_9, // TILE_TYPE_1050 - VVV_42, // TILE_TYPE_1051 - VVV_10, // TILE_TYPE_1052 - VVV_10, // TILE_TYPE_1053 - VVV_10, // TILE_TYPE_1054 - VVV_10, // TILE_TYPE_1055 - VVV_10, // TILE_TYPE_1056 - VVV_10, // TILE_TYPE_1057 - VVV_15, // TILE_TYPE_1058 - VVV_10, // TILE_TYPE_1059 - VVV_42, // TILE_TYPE_1060 - VVV_13, // TILE_TYPE_1061 - VVV_0, // TILE_TYPE_1062 - VVV_42, // TILE_TYPE_1063 - VVV_0, // TILE_TYPE_1064 - VVV_0, // TILE_TYPE_1065 - VVV_0, // TILE_TYPE_1066 - VVV_0, // TILE_TYPE_1067 - VVV_16, // TILE_TYPE_1068 - VVV_16, // TILE_TYPE_1069 - VVV_16, // TILE_TYPE_1070 - VVV_16, // TILE_TYPE_1071 - VVV_16, // TILE_TYPE_1072 - VVV_16, // TILE_TYPE_1073 - VVV_16, // TILE_TYPE_1074 - VVV_16, // TILE_TYPE_1075 - VVV_16, // TILE_TYPE_1076 - VVV_9, // TILE_TYPE_1077 - VVV_9, // TILE_TYPE_1078 - VVV_9, // TILE_TYPE_1079 - VVV_56, // TILE_TYPE_1080 - VVV_10, // TILE_TYPE_1081 - VVV_42, // TILE_TYPE_1082 - VVV_0, // TILE_TYPE_1083 - VVV_10, // TILE_TYPE_1084 - VVV_79, // TILE_TYPE_1085 - VVV_77, // TILE_TYPE_1086 - VVV_0, // TILE_TYPE_1087 - VVV_0, // TILE_TYPE_1088 - VVV_0, // TILE_TYPE_1089 - VVV_0, // TILE_TYPE_1090 - VVV_10, // TILE_TYPE_1091 - VVV_0, // TILE_TYPE_1092 - VVV_0, // TILE_TYPE_1093 - VVV_0, // TILE_TYPE_1094 - VVV_78, // TILE_TYPE_1095 - VVV_78, // TILE_TYPE_1096 - VVV_12, // TILE_TYPE_1097 - VVV_12, // TILE_TYPE_1098 - VVV_12, // TILE_TYPE_1099 - VVV_12, // TILE_TYPE_1100 - VVV_61, // TILE_TYPE_1101 - VVV_61, // TILE_TYPE_1102 - VVV_61, // TILE_TYPE_1103 - VVV_40, // TILE_TYPE_1104 - VVV_12, // TILE_TYPE_1105 - VVV_40, // TILE_TYPE_1106 - VVV_10, // TILE_TYPE_1107 - VVV_10, // TILE_TYPE_1108 - VVV_10, // TILE_TYPE_1109 - VVV_0, // TILE_TYPE_1110 - VVV_0, // TILE_TYPE_1111 - VVV_39, // TILE_TYPE_1112 - VVV_39, // TILE_TYPE_1113 - VVV_39, // TILE_TYPE_1114 - VVV_39, // TILE_TYPE_1115 - VVV_39, // TILE_TYPE_1116 - VVV_39, // TILE_TYPE_1117 - VVV_38, // TILE_TYPE_1118 - VVV_38, // TILE_TYPE_1119 - VVV_52, // TILE_TYPE_1120 - VVV_52, // TILE_TYPE_1121 - VVV_12, // TILE_TYPE_1122 - VVV_55, // TILE_TYPE_1123 - VVV_0, // TILE_TYPE_1124 - VVV_0, // TILE_TYPE_1125 - VVV_0, // TILE_TYPE_1126 - VVV_0, // TILE_TYPE_1127 - VVV_0, // TILE_TYPE_1128 - VVV_54, // TILE_TYPE_1129 - VVV_0, // TILE_TYPE_1130 - VVV_0, // TILE_TYPE_1131 - VVV_0, // TILE_TYPE_1132 - VVV_0, // TILE_TYPE_1133 - VVV_40, // TILE_TYPE_1134 - VVV_53, // TILE_TYPE_1135 - VVV_53, // TILE_TYPE_1136 - VVV_40, // TILE_TYPE_1137 - VVV_55, // TILE_TYPE_1138 - VVV_12, // TILE_TYPE_1139 - VVV_0, // TILE_TYPE_1140 - VVV_12, // TILE_TYPE_1141 - VVV_12, // TILE_TYPE_1142 - VVV_12, // TILE_TYPE_1143 - VVV_12, // TILE_TYPE_1144 - VVV_12, // TILE_TYPE_1145 - VVV_54, // TILE_TYPE_1146 - VVV_13, // TILE_TYPE_1147 - VVV_40, // TILE_TYPE_1148 - VVV_0, // TILE_TYPE_1149 - VVV_0, // TILE_TYPE_1150 - VVV_0, // TILE_TYPE_1151 - VVV_52, // TILE_TYPE_1152 - VVV_52, // TILE_TYPE_1153 - VVV_52, // TILE_TYPE_1154 - VVV_10, // TILE_TYPE_1155 - VVV_10, // TILE_TYPE_1156 - VVV_0, // TILE_TYPE_1157 - VVV_0, // TILE_TYPE_1158 - VVV_0, // TILE_TYPE_1159 - VVV_0, // TILE_TYPE_1160 - VVV_40, // TILE_TYPE_1161 - VVV_15, // TILE_TYPE_1162 - VVV_15, // TILE_TYPE_1163 - VVV_51, // TILE_TYPE_1164 - VVV_16, // TILE_TYPE_1165 - VVV_10, // TILE_TYPE_1166 - VVV_10, // TILE_TYPE_1167 - VVV_16, // TILE_TYPE_1168 - VVV_16, // TILE_TYPE_1169 - VVV_10, // TILE_TYPE_1170 - VVV_10, // TILE_TYPE_1171 - VVV_10, // TILE_TYPE_1172 - VVV_10, // TILE_TYPE_1173 - VVV_0, // TILE_TYPE_1174 - VVV_0, // TILE_TYPE_1175 - VVV_15, // TILE_TYPE_1176 - VVV_9, // TILE_TYPE_1177 - VVV_14, // TILE_TYPE_1178 - VVV_15, // TILE_TYPE_1179 - VVV_14, // TILE_TYPE_1180 - VVV_15, // TILE_TYPE_1181 - VVV_15, // TILE_TYPE_1182 - VVV_15, // TILE_TYPE_1183 - VVV_0, // TILE_TYPE_1184 - VVV_0, // TILE_TYPE_1185 - VVV_0, // TILE_TYPE_1186 - VVV_0, // TILE_TYPE_1187 - VVV_0, // TILE_TYPE_1188 - VVV_0, // TILE_TYPE_1189 - VVV_0, // TILE_TYPE_1190 - VVV_0, // TILE_TYPE_1191 - VVV_0, // TILE_TYPE_1192 - VVV_0, // TILE_TYPE_1193 - VVV_116, // TILE_TYPE_1194 - VVV_116, // TILE_TYPE_1195 - VVV_116, // TILE_TYPE_1196 - VVV_116, // TILE_TYPE_1197 - VVV_116, // TILE_TYPE_1198 - VVV_116, // TILE_TYPE_1199 - VVV_116, // TILE_TYPE_1200 - VVV_116, // TILE_TYPE_1201 - VVV_116, // TILE_TYPE_1202 - VVV_116, // TILE_TYPE_1203 - VVV_116, // TILE_TYPE_1204 - VVV_116, // TILE_TYPE_1205 - VVV_116, // TILE_TYPE_1206 - VVV_15, // TILE_TYPE_1207 - VVV_40, // TILE_TYPE_1208 - VVV_15, // TILE_TYPE_1209 - VVV_40, // TILE_TYPE_1210 - VVV_40, // TILE_TYPE_1211 - VVV_15, // TILE_TYPE_1212 - VVV_12, // TILE_TYPE_1213 - VVV_12, // TILE_TYPE_1214 - VVV_12, // TILE_TYPE_1215 - VVV_12, // TILE_TYPE_1216 - VVV_12, // TILE_TYPE_1217 - VVV_25, // TILE_TYPE_1218 - VVV_40, // TILE_TYPE_1219 - VVV_40, // TILE_TYPE_1220 - VVV_40, // TILE_TYPE_1221 - VVV_0, // TILE_TYPE_1222 - VVV_16, // TILE_TYPE_1223 - VVV_16, // TILE_TYPE_1224 - VVV_116, // TILE_TYPE_1225 - VVV_0, // TILE_TYPE_1226 - VVV_0, // TILE_TYPE_1227 - VVV_12, // TILE_TYPE_1228 - VVV_45, // TILE_TYPE_1229 - VVV_0, // TILE_TYPE_1230 - VVV_40, // TILE_TYPE_1231 - VVV_40, // TILE_TYPE_1232 - VVV_43, // TILE_TYPE_1233 - VVV_25, // TILE_TYPE_1234 - VVV_0, // TILE_TYPE_1235 - VVV_10, // TILE_TYPE_1236 - VVV_0, // TILE_TYPE_1237 - VVV_40, // TILE_TYPE_1238 - VVV_0, // TILE_TYPE_1239 - VVV_43, // TILE_TYPE_1240 - VVV_43, // TILE_TYPE_1241 - VVV_43, // TILE_TYPE_1242 - VVV_0, // TILE_TYPE_1243 - VVV_42, // TILE_TYPE_1244 - VVV_42, // TILE_TYPE_1245 - VVV_42, // TILE_TYPE_1246 - VVV_42, // TILE_TYPE_1247 - VVV_0, // TILE_TYPE_1248 - VVV_116, // TILE_TYPE_1249 - VVV_116, // TILE_TYPE_1250 - VVV_116, // TILE_TYPE_1251 - VVV_116, // TILE_TYPE_1252 - VVV_116, // TILE_TYPE_1253 - VVV_116, // TILE_TYPE_1254 - VVV_116, // TILE_TYPE_1255 - VVV_116, // TILE_TYPE_1256 - VVV_116, // TILE_TYPE_1257 - VVV_116, // TILE_TYPE_1258 - VVV_116, // TILE_TYPE_1259 - VVV_44, // TILE_TYPE_1260 - VVV_42, // TILE_TYPE_1261 - VVV_42, // TILE_TYPE_1262 - VVV_0, // TILE_TYPE_1263 - VVV_38, // TILE_TYPE_1264 - VVV_38, // TILE_TYPE_1265 - VVV_0, // TILE_TYPE_1266 - VVV_0, // TILE_TYPE_1267 - VVV_0, // TILE_TYPE_1268 - VVV_0, // TILE_TYPE_1269 - VVV_0, // TILE_TYPE_1270 - VVV_0, // TILE_TYPE_1271 - VVV_0, // TILE_TYPE_1272 - VVV_0, // TILE_TYPE_1273 - VVV_0, // TILE_TYPE_1274 - VVV_63, // TILE_TYPE_1275 - VVV_83, // TILE_TYPE_1276 - VVV_0, // TILE_TYPE_1277 - VVV_0, // TILE_TYPE_1278 - VVV_0, // TILE_TYPE_1279 - VVV_0, // TILE_TYPE_1280 - VVV_38, // TILE_TYPE_1281 - VVV_38, // TILE_TYPE_1282 - VVV_40, // TILE_TYPE_1283 - VVV_12, // TILE_TYPE_1284 - VVV_12, // TILE_TYPE_1285 - VVV_12, // TILE_TYPE_1286 - VVV_12, // TILE_TYPE_1287 - VVV_12, // TILE_TYPE_1288 - VVV_12, // TILE_TYPE_1289 - VVV_12, // TILE_TYPE_1290 - VVV_12, // TILE_TYPE_1291 - VVV_12, // TILE_TYPE_1292 - VVV_12, // TILE_TYPE_1293 - VVV_12, // TILE_TYPE_1294 - VVV_41, // TILE_TYPE_1295 - VVV_41, // TILE_TYPE_1296 - VVV_38, // TILE_TYPE_1297 - VVV_38, // TILE_TYPE_1298 - VVV_12, // TILE_TYPE_1299 - VVV_12, // TILE_TYPE_1300 - VVV_41, // TILE_TYPE_1301 - VVV_41, // TILE_TYPE_1302 - VVV_12, // TILE_TYPE_1303 - VVV_12, // TILE_TYPE_1304 - VVV_116, // TILE_TYPE_1305 - VVV_116, // TILE_TYPE_1306 - VVV_116, // TILE_TYPE_1307 - VVV_116, // TILE_TYPE_1308 - VVV_116, // TILE_TYPE_1309 - VVV_0, // TILE_TYPE_1310 - VVV_0, // TILE_TYPE_1311 - VVV_40, // TILE_TYPE_1312 - VVV_0, // TILE_TYPE_1313 - VVV_0, // TILE_TYPE_1314 - VVV_43, // TILE_TYPE_1315 - VVV_42, // TILE_TYPE_1316 - VVV_0, // TILE_TYPE_1317 - VVV_0, // TILE_TYPE_1318 - VVV_44, // TILE_TYPE_1319 - VVV_13, // TILE_TYPE_1320 - VVV_40, // TILE_TYPE_1321 - VVV_40, // TILE_TYPE_1322 - VVV_42, // TILE_TYPE_1323 - VVV_44, // TILE_TYPE_1324 - VVV_45, // TILE_TYPE_1325 - VVV_44, // TILE_TYPE_1326 - VVV_45, // TILE_TYPE_1327 - VVV_44, // TILE_TYPE_1328 - VVV_45, // TILE_TYPE_1329 - VVV_42, // TILE_TYPE_1330 - VVV_42, // TILE_TYPE_1331 - VVV_42, // TILE_TYPE_1332 - VVV_43, // TILE_TYPE_1333 - VVV_43, // TILE_TYPE_1334 - VVV_43, // TILE_TYPE_1335 - VVV_100, // TILE_TYPE_1336 - VVV_101, // TILE_TYPE_1337 - VVV_104, // TILE_TYPE_1338 - VVV_106, // TILE_TYPE_1339 - VVV_102, // TILE_TYPE_1340 - VVV_107, // TILE_TYPE_1341 - VVV_105, // TILE_TYPE_1342 - VVV_103, // TILE_TYPE_1343 - VVV_0, // TILE_TYPE_1344 - VVV_14, // TILE_TYPE_1345 - VVV_14, // TILE_TYPE_1346 - VVV_41, // TILE_TYPE_1347 - VVV_40, // TILE_TYPE_1348 + ACT_TILE_40, // TILE_TYPE_657 + ACT_TILE_0, // TILE_TYPE_658 + ACT_TILE_0, // TILE_TYPE_659 + ACT_TILE_0, // TILE_TYPE_660 + ACT_TILE_0, // TILE_TYPE_661 + ACT_TILE_86, // TILE_TYPE_662 + ACT_TILE_86, // TILE_TYPE_663 + ACT_TILE_86, // TILE_TYPE_664 + ACT_TILE_86, // TILE_TYPE_665 + ACT_TILE_86, // TILE_TYPE_666 + ACT_TILE_86, // TILE_TYPE_667 + ACT_TILE_86, // TILE_TYPE_668 + ACT_TILE_86, // TILE_TYPE_669 + ACT_TILE_86, // TILE_TYPE_670 + ACT_TILE_86, // TILE_TYPE_671 + ACT_TILE_86, // TILE_TYPE_672 + ACT_TILE_86, // TILE_TYPE_673 + ACT_TILE_86, // TILE_TYPE_674 + ACT_TILE_86, // TILE_TYPE_675 + ACT_TILE_86, // TILE_TYPE_676 + ACT_TILE_86, // TILE_TYPE_677 + ACT_TILE_86, // TILE_TYPE_678 + ACT_TILE_86, // TILE_TYPE_679 + ACT_TILE_86, // TILE_TYPE_680 + ACT_TILE_86, // TILE_TYPE_681 + ACT_TILE_86, // TILE_TYPE_682 + ACT_TILE_86, // TILE_TYPE_683 + ACT_TILE_86, // TILE_TYPE_684 + ACT_TILE_86, // TILE_TYPE_685 + ACT_TILE_86, // TILE_TYPE_686 + ACT_TILE_86, // TILE_TYPE_687 + ACT_TILE_86, // TILE_TYPE_688 + ACT_TILE_86, // TILE_TYPE_689 + ACT_TILE_86, // TILE_TYPE_690 + ACT_TILE_86, // TILE_TYPE_691 + ACT_TILE_86, // TILE_TYPE_692 + ACT_TILE_86, // TILE_TYPE_693 + ACT_TILE_86, // TILE_TYPE_694 + ACT_TILE_86, // TILE_TYPE_695 + ACT_TILE_86, // TILE_TYPE_696 + ACT_TILE_86, // TILE_TYPE_697 + ACT_TILE_86, // TILE_TYPE_698 + ACT_TILE_86, // TILE_TYPE_699 + ACT_TILE_86, // TILE_TYPE_700 + ACT_TILE_86, // TILE_TYPE_701 + ACT_TILE_86, // TILE_TYPE_702 + ACT_TILE_86, // TILE_TYPE_703 + ACT_TILE_86, // TILE_TYPE_704 + ACT_TILE_86, // TILE_TYPE_705 + ACT_TILE_86, // TILE_TYPE_706 + ACT_TILE_86, // TILE_TYPE_707 + ACT_TILE_86, // TILE_TYPE_708 + ACT_TILE_86, // TILE_TYPE_709 + ACT_TILE_86, // TILE_TYPE_710 + ACT_TILE_86, // TILE_TYPE_711 + ACT_TILE_86, // TILE_TYPE_712 + ACT_TILE_86, // TILE_TYPE_713 + ACT_TILE_86, // TILE_TYPE_714 + ACT_TILE_86, // TILE_TYPE_715 + ACT_TILE_86, // TILE_TYPE_716 + ACT_TILE_86, // TILE_TYPE_717 + ACT_TILE_86, // TILE_TYPE_718 + ACT_TILE_86, // TILE_TYPE_719 + ACT_TILE_86, // TILE_TYPE_720 + ACT_TILE_86, // TILE_TYPE_721 + ACT_TILE_86, // TILE_TYPE_722 + ACT_TILE_86, // TILE_TYPE_723 + ACT_TILE_86, // TILE_TYPE_724 + ACT_TILE_86, // TILE_TYPE_725 + ACT_TILE_86, // TILE_TYPE_726 + ACT_TILE_86, // TILE_TYPE_727 + ACT_TILE_86, // TILE_TYPE_728 + ACT_TILE_86, // TILE_TYPE_729 + ACT_TILE_86, // TILE_TYPE_730 + ACT_TILE_86, // TILE_TYPE_731 + ACT_TILE_86, // TILE_TYPE_732 + ACT_TILE_86, // TILE_TYPE_733 + ACT_TILE_86, // TILE_TYPE_734 + ACT_TILE_86, // TILE_TYPE_735 + ACT_TILE_86, // TILE_TYPE_736 + ACT_TILE_86, // TILE_TYPE_737 + ACT_TILE_86, // TILE_TYPE_738 + ACT_TILE_86, // TILE_TYPE_739 + ACT_TILE_86, // TILE_TYPE_740 + ACT_TILE_86, // TILE_TYPE_741 + ACT_TILE_86, // TILE_TYPE_742 + ACT_TILE_86, // TILE_TYPE_743 + ACT_TILE_86, // TILE_TYPE_744 + ACT_TILE_86, // TILE_TYPE_745 + ACT_TILE_86, // TILE_TYPE_746 + ACT_TILE_86, // TILE_TYPE_747 + ACT_TILE_86, // TILE_TYPE_748 + ACT_TILE_86, // TILE_TYPE_749 + ACT_TILE_86, // TILE_TYPE_750 + ACT_TILE_86, // TILE_TYPE_751 + ACT_TILE_86, // TILE_TYPE_752 + ACT_TILE_86, // TILE_TYPE_753 + ACT_TILE_10, // TILE_TYPE_754 + ACT_TILE_9, // TILE_TYPE_755 + ACT_TILE_10, // TILE_TYPE_756 + ACT_TILE_10, // TILE_TYPE_757 + ACT_TILE_13, // TILE_TYPE_758 + ACT_TILE_0, // TILE_TYPE_759 + ACT_TILE_0, // TILE_TYPE_760 + ACT_TILE_0, // TILE_TYPE_761 + ACT_TILE_0, // TILE_TYPE_762 + ACT_TILE_63, // TILE_TYPE_763 + ACT_TILE_0, // TILE_TYPE_764 + ACT_TILE_0, // TILE_TYPE_765 + ACT_TILE_0, // TILE_TYPE_766 + ACT_TILE_0, // TILE_TYPE_767 + ACT_TILE_0, // TILE_TYPE_768 + ACT_TILE_0, // TILE_TYPE_769 + ACT_TILE_0, // TILE_TYPE_770 + ACT_TILE_0, // TILE_TYPE_771 + ACT_TILE_0, // TILE_TYPE_772 + ACT_TILE_0, // TILE_TYPE_773 + ACT_TILE_0, // TILE_TYPE_774 + ACT_TILE_0, // TILE_TYPE_775 + ACT_TILE_0, // TILE_TYPE_776 + ACT_TILE_0, // TILE_TYPE_777 + ACT_TILE_0, // TILE_TYPE_778 + ACT_TILE_0, // TILE_TYPE_779 + ACT_TILE_0, // TILE_TYPE_780 + ACT_TILE_16, // TILE_TYPE_781 + ACT_TILE_16, // TILE_TYPE_782 + ACT_TILE_0, // TILE_TYPE_783 + ACT_TILE_12, // TILE_TYPE_784 + ACT_TILE_0, // TILE_TYPE_785 + ACT_TILE_0, // TILE_TYPE_786 + ACT_TILE_1, // TILE_TYPE_787 + ACT_TILE_24, // TILE_TYPE_788 + ACT_TILE_87, // TILE_TYPE_789 + ACT_TILE_88, // TILE_TYPE_790 + ACT_TILE_89, // TILE_TYPE_791 + ACT_TILE_89, // TILE_TYPE_792 + ACT_TILE_90, // TILE_TYPE_793 + ACT_TILE_91, // TILE_TYPE_794 + ACT_TILE_92, // TILE_TYPE_795 + ACT_TILE_93, // TILE_TYPE_796 + ACT_TILE_94, // TILE_TYPE_797 + ACT_TILE_95, // TILE_TYPE_798 + ACT_TILE_96, // TILE_TYPE_799 + ACT_TILE_0, // TILE_TYPE_800 + ACT_TILE_0, // TILE_TYPE_801 + ACT_TILE_0, // TILE_TYPE_802 + ACT_TILE_13, // TILE_TYPE_803 + ACT_TILE_13, // TILE_TYPE_804 + ACT_TILE_13, // TILE_TYPE_805 + ACT_TILE_13, // TILE_TYPE_806 + ACT_TILE_13, // TILE_TYPE_807 + ACT_TILE_13, // TILE_TYPE_808 + ACT_TILE_13, // TILE_TYPE_809 + ACT_TILE_13, // TILE_TYPE_810 + ACT_TILE_13, // TILE_TYPE_811 + ACT_TILE_13, // TILE_TYPE_812 + ACT_TILE_13, // TILE_TYPE_813 + ACT_TILE_13, // TILE_TYPE_814 + ACT_TILE_13, // TILE_TYPE_815 + ACT_TILE_13, // TILE_TYPE_816 + ACT_TILE_13, // TILE_TYPE_817 + ACT_TILE_13, // TILE_TYPE_818 + ACT_TILE_13, // TILE_TYPE_819 + ACT_TILE_13, // TILE_TYPE_820 + ACT_TILE_13, // TILE_TYPE_821 + ACT_TILE_13, // TILE_TYPE_822 + ACT_TILE_13, // TILE_TYPE_823 + ACT_TILE_13, // TILE_TYPE_824 + ACT_TILE_13, // TILE_TYPE_825 + ACT_TILE_13, // TILE_TYPE_826 + ACT_TILE_13, // TILE_TYPE_827 + ACT_TILE_13, // TILE_TYPE_828 + ACT_TILE_13, // TILE_TYPE_829 + ACT_TILE_13, // TILE_TYPE_830 + ACT_TILE_13, // TILE_TYPE_831 + ACT_TILE_13, // TILE_TYPE_832 + ACT_TILE_12, // TILE_TYPE_833 + ACT_TILE_12, // TILE_TYPE_834 + ACT_TILE_12, // TILE_TYPE_835 + ACT_TILE_12, // TILE_TYPE_836 + ACT_TILE_12, // TILE_TYPE_837 + ACT_TILE_12, // TILE_TYPE_838 + ACT_TILE_97, // TILE_TYPE_839 + ACT_TILE_97, // TILE_TYPE_840 + ACT_TILE_97, // TILE_TYPE_841 + ACT_TILE_97, // TILE_TYPE_842 + ACT_TILE_98, // TILE_TYPE_843 + ACT_TILE_98, // TILE_TYPE_844 + ACT_TILE_0, // TILE_TYPE_845 + ACT_TILE_0, // TILE_TYPE_846 + ACT_TILE_99, // TILE_TYPE_847 + ACT_TILE_99, // TILE_TYPE_848 + ACT_TILE_99, // TILE_TYPE_849 + ACT_TILE_99, // TILE_TYPE_850 + ACT_TILE_100, // TILE_TYPE_851 + ACT_TILE_0, // TILE_TYPE_852 + ACT_TILE_101, // TILE_TYPE_853 + ACT_TILE_102, // TILE_TYPE_854 + ACT_TILE_103, // TILE_TYPE_855 + ACT_TILE_104, // TILE_TYPE_856 + ACT_TILE_105, // TILE_TYPE_857 + ACT_TILE_106, // TILE_TYPE_858 + ACT_TILE_107, // TILE_TYPE_859 + ACT_TILE_108, // TILE_TYPE_860 + ACT_TILE_109, // TILE_TYPE_861 + ACT_TILE_110, // TILE_TYPE_862 + ACT_TILE_111, // TILE_TYPE_863 + ACT_TILE_112, // TILE_TYPE_864 + ACT_TILE_112, // TILE_TYPE_865 + ACT_TILE_112, // TILE_TYPE_866 + ACT_TILE_112, // TILE_TYPE_867 + ACT_TILE_112, // TILE_TYPE_868 + ACT_TILE_0, // TILE_TYPE_869 + ACT_TILE_113, // TILE_TYPE_870 + ACT_TILE_46, // TILE_TYPE_871 + ACT_TILE_46, // TILE_TYPE_872 + ACT_TILE_114, // TILE_TYPE_873 + ACT_TILE_114, // TILE_TYPE_874 + ACT_TILE_114, // TILE_TYPE_875 + ACT_TILE_114, // TILE_TYPE_876 + ACT_TILE_114, // TILE_TYPE_877 + ACT_TILE_114, // TILE_TYPE_878 + ACT_TILE_114, // TILE_TYPE_879 + ACT_TILE_114, // TILE_TYPE_880 + ACT_TILE_114, // TILE_TYPE_881 + ACT_TILE_114, // TILE_TYPE_882 + ACT_TILE_114, // TILE_TYPE_883 + ACT_TILE_114, // TILE_TYPE_884 + ACT_TILE_114, // TILE_TYPE_885 + ACT_TILE_114, // TILE_TYPE_886 + ACT_TILE_115, // TILE_TYPE_887 + ACT_TILE_115, // TILE_TYPE_888 + ACT_TILE_0, // TILE_TYPE_889 + ACT_TILE_0, // TILE_TYPE_890 + ACT_TILE_0, // TILE_TYPE_891 + ACT_TILE_0, // TILE_TYPE_892 + ACT_TILE_0, // TILE_TYPE_893 + ACT_TILE_0, // TILE_TYPE_894 + ACT_TILE_0, // TILE_TYPE_895 + ACT_TILE_0, // TILE_TYPE_896 + ACT_TILE_0, // TILE_TYPE_897 + ACT_TILE_0, // TILE_TYPE_898 + ACT_TILE_0, // TILE_TYPE_899 + ACT_TILE_0, // TILE_TYPE_900 + ACT_TILE_0, // TILE_TYPE_901 + ACT_TILE_0, // TILE_TYPE_902 + ACT_TILE_0, // TILE_TYPE_903 + ACT_TILE_0, // TILE_TYPE_904 + ACT_TILE_0, // TILE_TYPE_905 + ACT_TILE_0, // TILE_TYPE_906 + ACT_TILE_0, // TILE_TYPE_907 + ACT_TILE_0, // TILE_TYPE_908 + ACT_TILE_0, // TILE_TYPE_909 + ACT_TILE_0, // TILE_TYPE_910 + ACT_TILE_0, // TILE_TYPE_911 + ACT_TILE_0, // TILE_TYPE_912 + ACT_TILE_0, // TILE_TYPE_913 + ACT_TILE_0, // TILE_TYPE_914 + ACT_TILE_0, // TILE_TYPE_915 + ACT_TILE_42, // TILE_TYPE_916 + ACT_TILE_43, // TILE_TYPE_917 + ACT_TILE_44, // TILE_TYPE_918 + ACT_TILE_45, // TILE_TYPE_919 + ACT_TILE_0, // TILE_TYPE_920 + ACT_TILE_0, // TILE_TYPE_921 + ACT_TILE_0, // TILE_TYPE_922 + ACT_TILE_0, // TILE_TYPE_923 + ACT_TILE_0, // TILE_TYPE_924 + ACT_TILE_0, // TILE_TYPE_925 + ACT_TILE_0, // TILE_TYPE_926 + ACT_TILE_0, // TILE_TYPE_927 + ACT_TILE_0, // TILE_TYPE_928 + ACT_TILE_116, // TILE_TYPE_929 + ACT_TILE_116, // TILE_TYPE_930 + ACT_TILE_116, // TILE_TYPE_931 + ACT_TILE_0, // TILE_TYPE_932 + ACT_TILE_0, // TILE_TYPE_933 + ACT_TILE_0, // TILE_TYPE_934 + ACT_TILE_0, // TILE_TYPE_935 + ACT_TILE_43, // TILE_TYPE_936 + ACT_TILE_42, // TILE_TYPE_937 + ACT_TILE_45, // TILE_TYPE_938 + ACT_TILE_44, // TILE_TYPE_939 + ACT_TILE_117, // TILE_TYPE_940 + ACT_TILE_0, // TILE_TYPE_941 + ACT_TILE_82, // TILE_TYPE_942 + ACT_TILE_0, // TILE_TYPE_943 + ACT_TILE_0, // TILE_TYPE_944 + ACT_TILE_0, // TILE_TYPE_945 + ACT_TILE_0, // TILE_TYPE_946 + ACT_TILE_0, // TILE_TYPE_947 + ACT_TILE_0, // TILE_TYPE_948 + ACT_TILE_43, // TILE_TYPE_949 + ACT_TILE_42, // TILE_TYPE_950 + ACT_TILE_0, // TILE_TYPE_951 + ACT_TILE_0, // TILE_TYPE_952 + ACT_TILE_44, // TILE_TYPE_953 + ACT_TILE_0, // TILE_TYPE_954 + ACT_TILE_0, // TILE_TYPE_955 + ACT_TILE_45, // TILE_TYPE_956 + ACT_TILE_0, // TILE_TYPE_957 + ACT_TILE_0, // TILE_TYPE_958 + ACT_TILE_0, // TILE_TYPE_959 + ACT_TILE_0, // TILE_TYPE_960 + ACT_TILE_41, // TILE_TYPE_961 + ACT_TILE_40, // TILE_TYPE_962 + ACT_TILE_38, // TILE_TYPE_963 + ACT_TILE_38, // TILE_TYPE_964 + ACT_TILE_116, // TILE_TYPE_965 + ACT_TILE_116, // TILE_TYPE_966 + ACT_TILE_116, // TILE_TYPE_967 + ACT_TILE_116, // TILE_TYPE_968 + ACT_TILE_116, // TILE_TYPE_969 + ACT_TILE_116, // TILE_TYPE_970 + ACT_TILE_116, // TILE_TYPE_971 + ACT_TILE_116, // TILE_TYPE_972 + ACT_TILE_116, // TILE_TYPE_973 + ACT_TILE_116, // TILE_TYPE_974 + ACT_TILE_116, // TILE_TYPE_975 + ACT_TILE_116, // TILE_TYPE_976 + ACT_TILE_116, // TILE_TYPE_977 + ACT_TILE_90, // TILE_TYPE_978 + ACT_TILE_41, // TILE_TYPE_979 + ACT_TILE_41, // TILE_TYPE_980 + ACT_TILE_41, // TILE_TYPE_981 + ACT_TILE_12, // TILE_TYPE_982 + ACT_TILE_0, // TILE_TYPE_983 + ACT_TILE_12, // TILE_TYPE_984 + ACT_TILE_12, // TILE_TYPE_985 + ACT_TILE_41, // TILE_TYPE_986 + ACT_TILE_41, // TILE_TYPE_987 + ACT_TILE_116, // TILE_TYPE_988 + ACT_TILE_0, // TILE_TYPE_989 + ACT_TILE_0, // TILE_TYPE_990 + ACT_TILE_10, // TILE_TYPE_991 + ACT_TILE_0, // TILE_TYPE_992 + ACT_TILE_0, // TILE_TYPE_993 + ACT_TILE_0, // TILE_TYPE_994 + ACT_TILE_0, // TILE_TYPE_995 + ACT_TILE_0, // TILE_TYPE_996 + ACT_TILE_0, // TILE_TYPE_997 + ACT_TILE_40, // TILE_TYPE_998 + ACT_TILE_0, // TILE_TYPE_999 + ACT_TILE_0, // TILE_TYPE_1000 + ACT_TILE_0, // TILE_TYPE_1001 + ACT_TILE_40, // TILE_TYPE_1002 + ACT_TILE_0, // TILE_TYPE_1003 + ACT_TILE_10, // TILE_TYPE_1004 + ACT_TILE_10, // TILE_TYPE_1005 + ACT_TILE_10, // TILE_TYPE_1006 + ACT_TILE_10, // TILE_TYPE_1007 + ACT_TILE_10, // TILE_TYPE_1008 + ACT_TILE_10, // TILE_TYPE_1009 + ACT_TILE_10, // TILE_TYPE_1010 + ACT_TILE_40, // TILE_TYPE_1011 + ACT_TILE_40, // TILE_TYPE_1012 + ACT_TILE_84, // TILE_TYPE_1013 + ACT_TILE_84, // TILE_TYPE_1014 + ACT_TILE_84, // TILE_TYPE_1015 + ACT_TILE_84, // TILE_TYPE_1016 + ACT_TILE_0, // TILE_TYPE_1017 + ACT_TILE_61, // TILE_TYPE_1018 + ACT_TILE_61, // TILE_TYPE_1019 + ACT_TILE_61, // TILE_TYPE_1020 + ACT_TILE_61, // TILE_TYPE_1021 + ACT_TILE_61, // TILE_TYPE_1022 + ACT_TILE_61, // TILE_TYPE_1023 + ACT_TILE_61, // TILE_TYPE_1024 + ACT_TILE_61, // TILE_TYPE_1025 + ACT_TILE_62, // TILE_TYPE_1026 + ACT_TILE_62, // TILE_TYPE_1027 + ACT_TILE_62, // TILE_TYPE_1028 + ACT_TILE_62, // TILE_TYPE_1029 + ACT_TILE_62, // TILE_TYPE_1030 + ACT_TILE_62, // TILE_TYPE_1031 + ACT_TILE_62, // TILE_TYPE_1032 + ACT_TILE_62, // TILE_TYPE_1033 + ACT_TILE_9, // TILE_TYPE_1034 + ACT_TILE_9, // TILE_TYPE_1035 + ACT_TILE_9, // TILE_TYPE_1036 + ACT_TILE_9, // TILE_TYPE_1037 + ACT_TILE_9, // TILE_TYPE_1038 + ACT_TILE_9, // TILE_TYPE_1039 + ACT_TILE_9, // TILE_TYPE_1040 + ACT_TILE_9, // TILE_TYPE_1041 + ACT_TILE_9, // TILE_TYPE_1042 + ACT_TILE_9, // TILE_TYPE_1043 + ACT_TILE_9, // TILE_TYPE_1044 + ACT_TILE_9, // TILE_TYPE_1045 + ACT_TILE_9, // TILE_TYPE_1046 + ACT_TILE_9, // TILE_TYPE_1047 + ACT_TILE_9, // TILE_TYPE_1048 + ACT_TILE_9, // TILE_TYPE_1049 + ACT_TILE_9, // TILE_TYPE_1050 + ACT_TILE_42, // TILE_TYPE_1051 + ACT_TILE_10, // TILE_TYPE_1052 + ACT_TILE_10, // TILE_TYPE_1053 + ACT_TILE_10, // TILE_TYPE_1054 + ACT_TILE_10, // TILE_TYPE_1055 + ACT_TILE_10, // TILE_TYPE_1056 + ACT_TILE_10, // TILE_TYPE_1057 + ACT_TILE_15, // TILE_TYPE_1058 + ACT_TILE_10, // TILE_TYPE_1059 + ACT_TILE_42, // TILE_TYPE_1060 + ACT_TILE_13, // TILE_TYPE_1061 + ACT_TILE_0, // TILE_TYPE_1062 + ACT_TILE_42, // TILE_TYPE_1063 + ACT_TILE_0, // TILE_TYPE_1064 + ACT_TILE_0, // TILE_TYPE_1065 + ACT_TILE_0, // TILE_TYPE_1066 + ACT_TILE_0, // TILE_TYPE_1067 + ACT_TILE_16, // TILE_TYPE_1068 + ACT_TILE_16, // TILE_TYPE_1069 + ACT_TILE_16, // TILE_TYPE_1070 + ACT_TILE_16, // TILE_TYPE_1071 + ACT_TILE_16, // TILE_TYPE_1072 + ACT_TILE_16, // TILE_TYPE_1073 + ACT_TILE_16, // TILE_TYPE_1074 + ACT_TILE_16, // TILE_TYPE_1075 + ACT_TILE_16, // TILE_TYPE_1076 + ACT_TILE_9, // TILE_TYPE_1077 + ACT_TILE_9, // TILE_TYPE_1078 + ACT_TILE_9, // TILE_TYPE_1079 + ACT_TILE_56, // TILE_TYPE_1080 + ACT_TILE_10, // TILE_TYPE_1081 + ACT_TILE_42, // TILE_TYPE_1082 + ACT_TILE_0, // TILE_TYPE_1083 + ACT_TILE_10, // TILE_TYPE_1084 + ACT_TILE_79, // TILE_TYPE_1085 + ACT_TILE_77, // TILE_TYPE_1086 + ACT_TILE_0, // TILE_TYPE_1087 + ACT_TILE_0, // TILE_TYPE_1088 + ACT_TILE_0, // TILE_TYPE_1089 + ACT_TILE_0, // TILE_TYPE_1090 + ACT_TILE_10, // TILE_TYPE_1091 + ACT_TILE_0, // TILE_TYPE_1092 + ACT_TILE_0, // TILE_TYPE_1093 + ACT_TILE_0, // TILE_TYPE_1094 + ACT_TILE_78, // TILE_TYPE_1095 + ACT_TILE_78, // TILE_TYPE_1096 + ACT_TILE_12, // TILE_TYPE_1097 + ACT_TILE_12, // TILE_TYPE_1098 + ACT_TILE_12, // TILE_TYPE_1099 + ACT_TILE_12, // TILE_TYPE_1100 + ACT_TILE_61, // TILE_TYPE_1101 + ACT_TILE_61, // TILE_TYPE_1102 + ACT_TILE_61, // TILE_TYPE_1103 + ACT_TILE_40, // TILE_TYPE_1104 + ACT_TILE_12, // TILE_TYPE_1105 + ACT_TILE_40, // TILE_TYPE_1106 + ACT_TILE_10, // TILE_TYPE_1107 + ACT_TILE_10, // TILE_TYPE_1108 + ACT_TILE_10, // TILE_TYPE_1109 + ACT_TILE_0, // TILE_TYPE_1110 + ACT_TILE_0, // TILE_TYPE_1111 + ACT_TILE_39, // TILE_TYPE_1112 + ACT_TILE_39, // TILE_TYPE_1113 + ACT_TILE_39, // TILE_TYPE_1114 + ACT_TILE_39, // TILE_TYPE_1115 + ACT_TILE_39, // TILE_TYPE_1116 + ACT_TILE_39, // TILE_TYPE_1117 + ACT_TILE_38, // TILE_TYPE_1118 + ACT_TILE_38, // TILE_TYPE_1119 + ACT_TILE_52, // TILE_TYPE_1120 + ACT_TILE_52, // TILE_TYPE_1121 + ACT_TILE_12, // TILE_TYPE_1122 + ACT_TILE_55, // TILE_TYPE_1123 + ACT_TILE_0, // TILE_TYPE_1124 + ACT_TILE_0, // TILE_TYPE_1125 + ACT_TILE_0, // TILE_TYPE_1126 + ACT_TILE_0, // TILE_TYPE_1127 + ACT_TILE_0, // TILE_TYPE_1128 + ACT_TILE_54, // TILE_TYPE_1129 + ACT_TILE_0, // TILE_TYPE_1130 + ACT_TILE_0, // TILE_TYPE_1131 + ACT_TILE_0, // TILE_TYPE_1132 + ACT_TILE_0, // TILE_TYPE_1133 + ACT_TILE_40, // TILE_TYPE_1134 + ACT_TILE_53, // TILE_TYPE_1135 + ACT_TILE_53, // TILE_TYPE_1136 + ACT_TILE_40, // TILE_TYPE_1137 + ACT_TILE_55, // TILE_TYPE_1138 + ACT_TILE_12, // TILE_TYPE_1139 + ACT_TILE_0, // TILE_TYPE_1140 + ACT_TILE_12, // TILE_TYPE_1141 + ACT_TILE_12, // TILE_TYPE_1142 + ACT_TILE_12, // TILE_TYPE_1143 + ACT_TILE_12, // TILE_TYPE_1144 + ACT_TILE_12, // TILE_TYPE_1145 + ACT_TILE_54, // TILE_TYPE_1146 + ACT_TILE_13, // TILE_TYPE_1147 + ACT_TILE_40, // TILE_TYPE_1148 + ACT_TILE_0, // TILE_TYPE_1149 + ACT_TILE_0, // TILE_TYPE_1150 + ACT_TILE_0, // TILE_TYPE_1151 + ACT_TILE_52, // TILE_TYPE_1152 + ACT_TILE_52, // TILE_TYPE_1153 + ACT_TILE_52, // TILE_TYPE_1154 + ACT_TILE_10, // TILE_TYPE_1155 + ACT_TILE_10, // TILE_TYPE_1156 + ACT_TILE_0, // TILE_TYPE_1157 + ACT_TILE_0, // TILE_TYPE_1158 + ACT_TILE_0, // TILE_TYPE_1159 + ACT_TILE_0, // TILE_TYPE_1160 + ACT_TILE_40, // TILE_TYPE_1161 + ACT_TILE_15, // TILE_TYPE_1162 + ACT_TILE_15, // TILE_TYPE_1163 + ACT_TILE_51, // TILE_TYPE_1164 + ACT_TILE_16, // TILE_TYPE_1165 + ACT_TILE_10, // TILE_TYPE_1166 + ACT_TILE_10, // TILE_TYPE_1167 + ACT_TILE_16, // TILE_TYPE_1168 + ACT_TILE_16, // TILE_TYPE_1169 + ACT_TILE_10, // TILE_TYPE_1170 + ACT_TILE_10, // TILE_TYPE_1171 + ACT_TILE_10, // TILE_TYPE_1172 + ACT_TILE_10, // TILE_TYPE_1173 + ACT_TILE_0, // TILE_TYPE_1174 + ACT_TILE_0, // TILE_TYPE_1175 + ACT_TILE_15, // TILE_TYPE_1176 + ACT_TILE_9, // TILE_TYPE_1177 + ACT_TILE_14, // TILE_TYPE_1178 + ACT_TILE_15, // TILE_TYPE_1179 + ACT_TILE_14, // TILE_TYPE_1180 + ACT_TILE_15, // TILE_TYPE_1181 + ACT_TILE_15, // TILE_TYPE_1182 + ACT_TILE_15, // TILE_TYPE_1183 + ACT_TILE_0, // TILE_TYPE_1184 + ACT_TILE_0, // TILE_TYPE_1185 + ACT_TILE_0, // TILE_TYPE_1186 + ACT_TILE_0, // TILE_TYPE_1187 + ACT_TILE_0, // TILE_TYPE_1188 + ACT_TILE_0, // TILE_TYPE_1189 + ACT_TILE_0, // TILE_TYPE_1190 + ACT_TILE_0, // TILE_TYPE_1191 + ACT_TILE_0, // TILE_TYPE_1192 + ACT_TILE_0, // TILE_TYPE_1193 + ACT_TILE_116, // TILE_TYPE_1194 + ACT_TILE_116, // TILE_TYPE_1195 + ACT_TILE_116, // TILE_TYPE_1196 + ACT_TILE_116, // TILE_TYPE_1197 + ACT_TILE_116, // TILE_TYPE_1198 + ACT_TILE_116, // TILE_TYPE_1199 + ACT_TILE_116, // TILE_TYPE_1200 + ACT_TILE_116, // TILE_TYPE_1201 + ACT_TILE_116, // TILE_TYPE_1202 + ACT_TILE_116, // TILE_TYPE_1203 + ACT_TILE_116, // TILE_TYPE_1204 + ACT_TILE_116, // TILE_TYPE_1205 + ACT_TILE_116, // TILE_TYPE_1206 + ACT_TILE_15, // TILE_TYPE_1207 + ACT_TILE_40, // TILE_TYPE_1208 + ACT_TILE_15, // TILE_TYPE_1209 + ACT_TILE_40, // TILE_TYPE_1210 + ACT_TILE_40, // TILE_TYPE_1211 + ACT_TILE_15, // TILE_TYPE_1212 + ACT_TILE_12, // TILE_TYPE_1213 + ACT_TILE_12, // TILE_TYPE_1214 + ACT_TILE_12, // TILE_TYPE_1215 + ACT_TILE_12, // TILE_TYPE_1216 + ACT_TILE_12, // TILE_TYPE_1217 + ACT_TILE_25, // TILE_TYPE_1218 + ACT_TILE_40, // TILE_TYPE_1219 + ACT_TILE_40, // TILE_TYPE_1220 + ACT_TILE_40, // TILE_TYPE_1221 + ACT_TILE_0, // TILE_TYPE_1222 + ACT_TILE_16, // TILE_TYPE_1223 + ACT_TILE_16, // TILE_TYPE_1224 + ACT_TILE_116, // TILE_TYPE_1225 + ACT_TILE_0, // TILE_TYPE_1226 + ACT_TILE_0, // TILE_TYPE_1227 + ACT_TILE_12, // TILE_TYPE_1228 + ACT_TILE_45, // TILE_TYPE_1229 + ACT_TILE_0, // TILE_TYPE_1230 + ACT_TILE_40, // TILE_TYPE_1231 + ACT_TILE_40, // TILE_TYPE_1232 + ACT_TILE_43, // TILE_TYPE_1233 + ACT_TILE_25, // TILE_TYPE_1234 + ACT_TILE_0, // TILE_TYPE_1235 + ACT_TILE_10, // TILE_TYPE_1236 + ACT_TILE_0, // TILE_TYPE_1237 + ACT_TILE_40, // TILE_TYPE_1238 + ACT_TILE_0, // TILE_TYPE_1239 + ACT_TILE_43, // TILE_TYPE_1240 + ACT_TILE_43, // TILE_TYPE_1241 + ACT_TILE_43, // TILE_TYPE_1242 + ACT_TILE_0, // TILE_TYPE_1243 + ACT_TILE_42, // TILE_TYPE_1244 + ACT_TILE_42, // TILE_TYPE_1245 + ACT_TILE_42, // TILE_TYPE_1246 + ACT_TILE_42, // TILE_TYPE_1247 + ACT_TILE_0, // TILE_TYPE_1248 + ACT_TILE_116, // TILE_TYPE_1249 + ACT_TILE_116, // TILE_TYPE_1250 + ACT_TILE_116, // TILE_TYPE_1251 + ACT_TILE_116, // TILE_TYPE_1252 + ACT_TILE_116, // TILE_TYPE_1253 + ACT_TILE_116, // TILE_TYPE_1254 + ACT_TILE_116, // TILE_TYPE_1255 + ACT_TILE_116, // TILE_TYPE_1256 + ACT_TILE_116, // TILE_TYPE_1257 + ACT_TILE_116, // TILE_TYPE_1258 + ACT_TILE_116, // TILE_TYPE_1259 + ACT_TILE_44, // TILE_TYPE_1260 + ACT_TILE_42, // TILE_TYPE_1261 + ACT_TILE_42, // TILE_TYPE_1262 + ACT_TILE_0, // TILE_TYPE_1263 + ACT_TILE_38, // TILE_TYPE_1264 + ACT_TILE_38, // TILE_TYPE_1265 + ACT_TILE_0, // TILE_TYPE_1266 + ACT_TILE_0, // TILE_TYPE_1267 + ACT_TILE_0, // TILE_TYPE_1268 + ACT_TILE_0, // TILE_TYPE_1269 + ACT_TILE_0, // TILE_TYPE_1270 + ACT_TILE_0, // TILE_TYPE_1271 + ACT_TILE_0, // TILE_TYPE_1272 + ACT_TILE_0, // TILE_TYPE_1273 + ACT_TILE_0, // TILE_TYPE_1274 + ACT_TILE_63, // TILE_TYPE_1275 + ACT_TILE_83, // TILE_TYPE_1276 + ACT_TILE_0, // TILE_TYPE_1277 + ACT_TILE_0, // TILE_TYPE_1278 + ACT_TILE_0, // TILE_TYPE_1279 + ACT_TILE_0, // TILE_TYPE_1280 + ACT_TILE_38, // TILE_TYPE_1281 + ACT_TILE_38, // TILE_TYPE_1282 + ACT_TILE_40, // TILE_TYPE_1283 + ACT_TILE_12, // TILE_TYPE_1284 + ACT_TILE_12, // TILE_TYPE_1285 + ACT_TILE_12, // TILE_TYPE_1286 + ACT_TILE_12, // TILE_TYPE_1287 + ACT_TILE_12, // TILE_TYPE_1288 + ACT_TILE_12, // TILE_TYPE_1289 + ACT_TILE_12, // TILE_TYPE_1290 + ACT_TILE_12, // TILE_TYPE_1291 + ACT_TILE_12, // TILE_TYPE_1292 + ACT_TILE_12, // TILE_TYPE_1293 + ACT_TILE_12, // TILE_TYPE_1294 + ACT_TILE_41, // TILE_TYPE_1295 + ACT_TILE_41, // TILE_TYPE_1296 + ACT_TILE_38, // TILE_TYPE_1297 + ACT_TILE_38, // TILE_TYPE_1298 + ACT_TILE_12, // TILE_TYPE_1299 + ACT_TILE_12, // TILE_TYPE_1300 + ACT_TILE_41, // TILE_TYPE_1301 + ACT_TILE_41, // TILE_TYPE_1302 + ACT_TILE_12, // TILE_TYPE_1303 + ACT_TILE_12, // TILE_TYPE_1304 + ACT_TILE_116, // TILE_TYPE_1305 + ACT_TILE_116, // TILE_TYPE_1306 + ACT_TILE_116, // TILE_TYPE_1307 + ACT_TILE_116, // TILE_TYPE_1308 + ACT_TILE_116, // TILE_TYPE_1309 + ACT_TILE_0, // TILE_TYPE_1310 + ACT_TILE_0, // TILE_TYPE_1311 + ACT_TILE_40, // TILE_TYPE_1312 + ACT_TILE_0, // TILE_TYPE_1313 + ACT_TILE_0, // TILE_TYPE_1314 + ACT_TILE_43, // TILE_TYPE_1315 + ACT_TILE_42, // TILE_TYPE_1316 + ACT_TILE_0, // TILE_TYPE_1317 + ACT_TILE_0, // TILE_TYPE_1318 + ACT_TILE_44, // TILE_TYPE_1319 + ACT_TILE_13, // TILE_TYPE_1320 + ACT_TILE_40, // TILE_TYPE_1321 + ACT_TILE_40, // TILE_TYPE_1322 + ACT_TILE_42, // TILE_TYPE_1323 + ACT_TILE_44, // TILE_TYPE_1324 + ACT_TILE_45, // TILE_TYPE_1325 + ACT_TILE_44, // TILE_TYPE_1326 + ACT_TILE_45, // TILE_TYPE_1327 + ACT_TILE_44, // TILE_TYPE_1328 + ACT_TILE_45, // TILE_TYPE_1329 + ACT_TILE_42, // TILE_TYPE_1330 + ACT_TILE_42, // TILE_TYPE_1331 + ACT_TILE_42, // TILE_TYPE_1332 + ACT_TILE_43, // TILE_TYPE_1333 + ACT_TILE_43, // TILE_TYPE_1334 + ACT_TILE_43, // TILE_TYPE_1335 + ACT_TILE_100, // TILE_TYPE_1336 + ACT_TILE_101, // TILE_TYPE_1337 + ACT_TILE_104, // TILE_TYPE_1338 + ACT_TILE_106, // TILE_TYPE_1339 + ACT_TILE_102, // TILE_TYPE_1340 + ACT_TILE_107, // TILE_TYPE_1341 + ACT_TILE_105, // TILE_TYPE_1342 + ACT_TILE_103, // TILE_TYPE_1343 + ACT_TILE_0, // TILE_TYPE_1344 + ACT_TILE_14, // TILE_TYPE_1345 + ACT_TILE_14, // TILE_TYPE_1346 + ACT_TILE_41, // TILE_TYPE_1347 + ACT_TILE_40, // TILE_TYPE_1348 #ifdef EU - VVV_0, // TILE_TYPE_1349 - VVV_0, // TILE_TYPE_1350 + ACT_TILE_0, // TILE_TYPE_1349 + ACT_TILE_0, // TILE_TYPE_1350 #else - VVV_41, // TILE_TYPE_1349 - VVV_41, // TILE_TYPE_1350 + ACT_TILE_41, // TILE_TYPE_1349 + ACT_TILE_41, // TILE_TYPE_1350 #endif - VVV_40, // TILE_TYPE_1351 + ACT_TILE_40, // TILE_TYPE_1351 #ifdef EU - VVV_0, // TILE_TYPE_1352 + ACT_TILE_0, // TILE_TYPE_1352 #else - VVV_41, // TILE_TYPE_1352 + ACT_TILE_41, // TILE_TYPE_1352 #endif - VVV_40, // TILE_TYPE_1353 + ACT_TILE_40, // TILE_TYPE_1353 #ifdef EU - VVV_0, // TILE_TYPE_1354 + ACT_TILE_0, // TILE_TYPE_1354 #else - VVV_41, // TILE_TYPE_1354 + ACT_TILE_41, // TILE_TYPE_1354 #endif - VVV_17, // TILE_TYPE_1355 - VVV_15, // TILE_TYPE_1356 - VVV_0, // TILE_TYPE_1357 - VVV_116, // TILE_TYPE_1358 - VVV_43, // TILE_TYPE_1359 - VVV_63, // TILE_TYPE_1360 - VVV_35, // TILE_TYPE_1361 - VVV_35, // TILE_TYPE_1362 - VVV_35, // TILE_TYPE_1363 - VVV_35, // TILE_TYPE_1364 - VVV_116, // TILE_TYPE_1365 - VVV_116, // TILE_TYPE_1366 - VVV_0, // TILE_TYPE_1367 - VVV_42, // TILE_TYPE_1368 - VVV_42, // TILE_TYPE_1369 - VVV_0, // TILE_TYPE_1370 - VVV_0, // TILE_TYPE_1371 - VVV_0, // TILE_TYPE_1372 - VVV_10, // TILE_TYPE_1373 - VVV_40, // TILE_TYPE_1374 - VVV_40, // TILE_TYPE_1375 - VVV_40, // TILE_TYPE_1376 - VVV_40, // TILE_TYPE_1377 - VVV_40, // TILE_TYPE_1378 - VVV_40, // TILE_TYPE_1379 - VVV_40, // TILE_TYPE_1380 - VVV_40, // TILE_TYPE_1381 - VVV_40, // TILE_TYPE_1382 - VVV_40, // TILE_TYPE_1383 - VVV_40, // TILE_TYPE_1384 - VVV_40, // TILE_TYPE_1385 - VVV_0, // TILE_TYPE_1386 - VVV_0, // TILE_TYPE_1387 - VVV_44, // TILE_TYPE_1388 - VVV_43, // TILE_TYPE_1389 - VVV_40, // TILE_TYPE_1390 - VVV_40, // TILE_TYPE_1391 - VVV_40, // TILE_TYPE_1392 - VVV_116, // TILE_TYPE_1393 - VVV_0, // TILE_TYPE_1394 - VVV_0, // TILE_TYPE_1395 + ACT_TILE_17, // TILE_TYPE_1355 + ACT_TILE_15, // TILE_TYPE_1356 + ACT_TILE_0, // TILE_TYPE_1357 + ACT_TILE_116, // TILE_TYPE_1358 + ACT_TILE_43, // TILE_TYPE_1359 + ACT_TILE_63, // TILE_TYPE_1360 + ACT_TILE_35, // TILE_TYPE_1361 + ACT_TILE_35, // TILE_TYPE_1362 + ACT_TILE_35, // TILE_TYPE_1363 + ACT_TILE_35, // TILE_TYPE_1364 + ACT_TILE_116, // TILE_TYPE_1365 + ACT_TILE_116, // TILE_TYPE_1366 + ACT_TILE_0, // TILE_TYPE_1367 + ACT_TILE_42, // TILE_TYPE_1368 + ACT_TILE_42, // TILE_TYPE_1369 + ACT_TILE_0, // TILE_TYPE_1370 + ACT_TILE_0, // TILE_TYPE_1371 + ACT_TILE_0, // TILE_TYPE_1372 + ACT_TILE_10, // TILE_TYPE_1373 + ACT_TILE_40, // TILE_TYPE_1374 + ACT_TILE_40, // TILE_TYPE_1375 + ACT_TILE_40, // TILE_TYPE_1376 + ACT_TILE_40, // TILE_TYPE_1377 + ACT_TILE_40, // TILE_TYPE_1378 + ACT_TILE_40, // TILE_TYPE_1379 + ACT_TILE_40, // TILE_TYPE_1380 + ACT_TILE_40, // TILE_TYPE_1381 + ACT_TILE_40, // TILE_TYPE_1382 + ACT_TILE_40, // TILE_TYPE_1383 + ACT_TILE_40, // TILE_TYPE_1384 + ACT_TILE_40, // TILE_TYPE_1385 + ACT_TILE_0, // TILE_TYPE_1386 + ACT_TILE_0, // TILE_TYPE_1387 + ACT_TILE_44, // TILE_TYPE_1388 + ACT_TILE_43, // TILE_TYPE_1389 + ACT_TILE_40, // TILE_TYPE_1390 + ACT_TILE_40, // TILE_TYPE_1391 + ACT_TILE_40, // TILE_TYPE_1392 + ACT_TILE_116, // TILE_TYPE_1393 + ACT_TILE_0, // TILE_TYPE_1394 + ACT_TILE_0, // TILE_TYPE_1395 }; diff --git a/src/data/mapActTileToSurfaceType.c b/src/data/mapActTileToSurfaceType.c new file mode 100644 index 00000000..e821a766 --- /dev/null +++ b/src/data/mapActTileToSurfaceType.c @@ -0,0 +1,75 @@ +#include "asm.h" +#include "player.h" +#include "tiles.h" + +const KeyValuePair gMapActTileToSurfaceType[] = { + { ACT_TILE_13, SURFACE_PIT }, + { ACT_TILE_38, SURFACE_SLOPE_GNDGND_V }, + { ACT_TILE_39, SURFACE_SLOPE_GNDGND_H }, + { ACT_TILE_82, SURFACE_26 }, + { ACT_TILE_99, SURFACE_24 }, + { ACT_TILE_116, SURFACE_EDGE }, + { ACT_TILE_8, SURFACE_7 }, + { ACT_TILE_31, SURFACE_MINISH_DOOR_FRONT }, + { ACT_TILE_32, SURFACE_MINISH_DOOR_BACK }, + { ACT_TILE_33, SURFACE_A }, + { ACT_TILE_34, SURFACE_B }, + { ACT_TILE_24, SURFACE_16 }, + { ACT_TILE_18, SURFACE_ICE }, + { ACT_TILE_15, SURFACE_SHALLOW_WATER }, + { ACT_TILE_14, SURFACE_SLOPE_GNDWATER }, + { ACT_TILE_16, SURFACE_WATER }, + { ACT_TILE_27, SURFACE_BUTTON }, + { ACT_TILE_29, SURFACE_BUTTON }, + { ACT_TILE_97, SURFACE_1B }, + { ACT_TILE_90, SURFACE_1C }, + { ACT_TILE_17, SURFACE_14 }, + { ACT_TILE_98, SURFACE_21 }, + { ACT_TILE_101, SURFACE_6 }, + { ACT_TILE_102, SURFACE_6 }, + { ACT_TILE_103, SURFACE_6 }, + { ACT_TILE_104, SURFACE_6 }, + { ACT_TILE_105, SURFACE_6 }, + { ACT_TILE_106, SURFACE_6 }, + { ACT_TILE_108, SURFACE_6 }, + { ACT_TILE_109, SURFACE_6 }, + { ACT_TILE_110, SURFACE_6 }, + { ACT_TILE_111, SURFACE_6 }, + { ACT_TILE_107, SURFACE_6 }, + { ACT_TILE_48, SURFACE_22 }, + { ACT_TILE_49, SURFACE_22 }, + { ACT_TILE_50, SURFACE_22 }, + { ACT_TILE_51, SURFACE_22 }, + { ACT_TILE_22, SURFACE_DUST }, + { ACT_TILE_25, SURFACE_HOLE }, + { ACT_TILE_240, SURFACE_HOLE }, + { ACT_TILE_87, SURFACE_CLONE_TILE }, + { ACT_TILE_83, SURFACE_LADDER }, + { ACT_TILE_241, SURFACE_LADDER }, + { ACT_TILE_63, SURFACE_AUTO_LADDER }, + { ACT_TILE_80, SURFACE_CLIMB_WALL }, + { ACT_TILE_81, SURFACE_2C }, + { ACT_TILE_52, SURFACE_LIGHT_GRADE }, + { ACT_TILE_53, SURFACE_29 }, + { ACT_TILE_42, SURFACE_E }, + { ACT_TILE_43, SURFACE_D }, + { ACT_TILE_44, SURFACE_10 }, + { ACT_TILE_45, SURFACE_F }, + { ACT_TILE_64, SURFACE_E }, + { ACT_TILE_65, SURFACE_D }, + { ACT_TILE_66, SURFACE_10 }, + { ACT_TILE_67, SURFACE_F }, + { ACT_TILE_72, SURFACE_10 }, + { ACT_TILE_74, SURFACE_E }, + { ACT_TILE_69, SURFACE_E }, + { ACT_TILE_71, SURFACE_E }, + { ACT_TILE_70, SURFACE_D }, + { ACT_TILE_73, SURFACE_D }, + { ACT_TILE_68, SURFACE_D }, + { ACT_TILE_75, SURFACE_D }, + { ACT_TILE_19, SURFACE_SWAMP }, + { ACT_TILE_41, SURFACE_DOOR }, + { ACT_TILE_23, SURFACE_2D }, + { ACT_TILE_40, SURFACE_DOOR_13 }, +}; +// const u16 gMapActTileToSurfaceTypeEnd = 0; diff --git a/src/data/mapVvvToSurfaceType.c b/src/data/mapVvvToSurfaceType.c deleted file mode 100644 index b3a9a99e..00000000 --- a/src/data/mapVvvToSurfaceType.c +++ /dev/null @@ -1,75 +0,0 @@ -#include "asm.h" -#include "player.h" -#include "tiles.h" - -const KeyValuePair gMapVvvToSurfaceType[] = { - { VVV_13, SURFACE_PIT }, - { VVV_38, SURFACE_SLOPE_GNDGND_V }, - { VVV_39, SURFACE_SLOPE_GNDGND_H }, - { VVV_82, SURFACE_26 }, - { VVV_99, SURFACE_24 }, - { VVV_116, SURFACE_EDGE }, - { VVV_8, SURFACE_7 }, - { VVV_31, SURFACE_MINISH_DOOR_FRONT }, - { VVV_32, SURFACE_MINISH_DOOR_BACK }, - { VVV_33, SURFACE_A }, - { VVV_34, SURFACE_B }, - { VVV_24, SURFACE_16 }, - { VVV_18, SURFACE_ICE }, - { VVV_15, SURFACE_SHALLOW_WATER }, - { VVV_14, SURFACE_SLOPE_GNDWATER }, - { VVV_16, SURFACE_WATER }, - { VVV_27, SURFACE_BUTTON }, - { VVV_29, SURFACE_BUTTON }, - { VVV_97, SURFACE_1B }, - { VVV_90, SURFACE_1C }, - { VVV_17, SURFACE_14 }, - { VVV_98, SURFACE_21 }, - { VVV_101, SURFACE_6 }, - { VVV_102, SURFACE_6 }, - { VVV_103, SURFACE_6 }, - { VVV_104, SURFACE_6 }, - { VVV_105, SURFACE_6 }, - { VVV_106, SURFACE_6 }, - { VVV_108, SURFACE_6 }, - { VVV_109, SURFACE_6 }, - { VVV_110, SURFACE_6 }, - { VVV_111, SURFACE_6 }, - { VVV_107, SURFACE_6 }, - { VVV_48, SURFACE_22 }, - { VVV_49, SURFACE_22 }, - { VVV_50, SURFACE_22 }, - { VVV_51, SURFACE_22 }, - { VVV_22, SURFACE_DUST }, - { VVV_25, SURFACE_HOLE }, - { VVV_240, SURFACE_HOLE }, - { VVV_87, SURFACE_CLONE_TILE }, - { VVV_83, SURFACE_LADDER }, - { VVV_241, SURFACE_LADDER }, - { VVV_63, SURFACE_AUTO_LADDER }, - { VVV_80, SURFACE_CLIMB_WALL }, - { VVV_81, SURFACE_2C }, - { VVV_52, SURFACE_LIGHT_GRADE }, - { VVV_53, SURFACE_29 }, - { VVV_42, SURFACE_E }, - { VVV_43, SURFACE_D }, - { VVV_44, SURFACE_10 }, - { VVV_45, SURFACE_F }, - { VVV_64, SURFACE_E }, - { VVV_65, SURFACE_D }, - { VVV_66, SURFACE_10 }, - { VVV_67, SURFACE_F }, - { VVV_72, SURFACE_10 }, - { VVV_74, SURFACE_E }, - { VVV_69, SURFACE_E }, - { VVV_71, SURFACE_E }, - { VVV_70, SURFACE_D }, - { VVV_73, SURFACE_D }, - { VVV_68, SURFACE_D }, - { VVV_75, SURFACE_D }, - { VVV_19, SURFACE_SWAMP }, - { VVV_41, SURFACE_DOOR }, - { VVV_23, SURFACE_2D }, - { VVV_40, SURFACE_DOOR_13 }, -}; -// const u16 gMapVvvToSurfaceTypeEnd = 0; diff --git a/src/enemy/armos.c b/src/enemy/armos.c index 5fdcf627..9fdc9d3b 100644 --- a/src/enemy/armos.c +++ b/src/enemy/armos.c @@ -427,7 +427,7 @@ bool32 sub_0803086C(ArmosEntity* this) { tilePos = ((((((super)->x.HALF.HI) - gRoomControls.origin_x) >> 4) & (r2 = 0x3f)) | (((((super)->y.HALF.HI) - gRoomControls.origin_y) >> 4) & r2) << 6); - if (GetTileType(tilePos, super->collisionLayer) == SPECIAL_TILE_73) { + if (GetTileTypeAtTilePos(tilePos, super->collisionLayer) == SPECIAL_TILE_73) { if (CheckPlayerInRegion(centerX, centerY, 2, 0xc) != 0) { if (CheckPlayerInRegion(centerX, centerY - 4, 2, 4) != 0) { gPlayerEntity.base.spritePriority.b0 = 3; diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c index 0178bec3..5993dfb2 100644 --- a/src/enemy/bombPeahat.c +++ b/src/enemy/bombPeahat.c @@ -685,7 +685,7 @@ void sub_0802B204(BombPeahatEntity* this) { bool32 sub_0802B234(BombPeahatEntity* this) { bool32 ret = FALSE; - if (GetTileTypeByEntity(super) - 0x1c4 > 1) + if (GetTileTypeAtEntity(super) - 0x1c4 > 1) ret = TRUE; return ret; } diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c index d7c2f68d..7f3186bb 100644 --- a/src/enemy/chuchu.c +++ b/src/enemy/chuchu.c @@ -716,7 +716,7 @@ void sub_0801FB68(ChuchuEntity* this) { } bool32 CheckWaterTile(ChuchuEntity* this) { - if (GetVvvAtEntity(super) == VVV_16) { + if (GetActTileAtEntity(super) == ACT_TILE_16) { return TRUE; } else { return FALSE; diff --git a/src/enemy/eyegore.c b/src/enemy/eyegore.c index cf901307..590f081f 100644 --- a/src/enemy/eyegore.c +++ b/src/enemy/eyegore.c @@ -400,9 +400,9 @@ void sub_08031024(EyegoreEntity* this) { } } else { tmp2 = this->unk_7b >> 1; - uVar5 = GetTileTypeByPos(super->x.HALF.HI + gUnk_080CE2C0[tmp2], + uVar5 = GetTileTypeAtWorldCoords(super->x.HALF.HI + gUnk_080CE2C0[tmp2], super->y.HALF.HI + gUnk_080CE2C0[tmp2 + 1], super->collisionLayer); - uVar8 = GetTileTypeByPos(super->x.HALF.HI + gUnk_080CE2C0[tmp2 + 2], + uVar8 = GetTileTypeAtWorldCoords(super->x.HALF.HI + gUnk_080CE2C0[tmp2 + 2], super->y.HALF.HI + gUnk_080CE2C0[tmp2 + 3], super->collisionLayer); if (!(((gMapTileTypeToCollisionData[uVar5] == 0) && (gMapTileTypeToCollisionData[uVar8] == 0)) || diff --git a/src/enemy/flyingPot.c b/src/enemy/flyingPot.c index 16e18980..9c7a8348 100644 --- a/src/enemy/flyingPot.c +++ b/src/enemy/flyingPot.c @@ -185,7 +185,7 @@ void FlyingPot_Init(FlyingPotEntity* this) { void FlyingPot_Action1(FlyingPotEntity* this) { sub_08037418(this); - if (GetTileTypeByEntity(super) != SPECIAL_TILE_0) { + if (GetTileTypeAtEntity(super) != SPECIAL_TILE_0) { SetTile(this->tileIndex, TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer); sub_08037408(this); } diff --git a/src/enemy/flyingSkull.c b/src/enemy/flyingSkull.c index efec6a40..2366f56d 100644 --- a/src/enemy/flyingSkull.c +++ b/src/enemy/flyingSkull.c @@ -130,7 +130,7 @@ void sub_08039DD8(FlyingSkullEntity* this) { sub_0803A100(this); if (super->type == 0) { - if (GetTileTypeByEntity(super) == SPECIAL_TILE_115) { + if (GetTileTypeAtEntity(super) == SPECIAL_TILE_115) { SetTile(this->tileIndex, COORD_TO_TILE(super), super->collisionLayer); sub_0803A0E0(this); } diff --git a/src/enemy/gyorgFemale.c b/src/enemy/gyorgFemale.c index a4b9ddf9..034e8eb4 100644 --- a/src/enemy/gyorgFemale.c +++ b/src/enemy/gyorgFemale.c @@ -248,25 +248,25 @@ void sub_080464C0(GyorgFemaleEntity* this) { #define sub_08046518_offset 0x658 void sub_08046518(void) { - u16* ptr = gMapTop.tileTypes; - u16* sl = &gMapTop.mapData[sub_08046518_offset]; - u16* stack1 = &gMapTop.mapDataOriginal[sub_08046518_offset]; - u8* stack2 = &gMapTop.vvv[sub_08046518_offset]; - u8* r6 = &gMapTop.collisionData[sub_08046518_offset]; + u16* tileTypes = gMapTop.tileTypes; + u16* mapData = &gMapTop.mapData[sub_08046518_offset]; + u16* mapDataOriginal = &gMapTop.mapDataOriginal[sub_08046518_offset]; + u8* actTiles = &gMapTop.actTiles[sub_08046518_offset]; + u8* collisionData = &gMapTop.collisionData[sub_08046518_offset]; u32 i; for (i = 0x10; i != 0; i--) { u32 j; for (j = 0x10; j != 0; j--) { - u16 new_var; - stack1[j] = sl[j]; - new_var = ptr[sl[j]]; - stack2[j] = gMapTileTypeToVvv[new_var]; - r6[j] = gMapTileTypeToCollisionData[new_var]; + u16 tileType; + mapDataOriginal[j] = mapData[j]; + tileType = tileTypes[mapData[j]]; + actTiles[j] = gMapTileTypeToActTile[tileType]; + collisionData[j] = gMapTileTypeToCollisionData[tileType]; } - sl += 0x40; - stack1 += 0x40; - stack2 += 0x40; - r6 += 0x40; + mapData += 0x40; + mapDataOriginal += 0x40; + actTiles += 0x40; + collisionData += 0x40; } } diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 1d52eff8..6b12cf8e 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -126,15 +126,15 @@ void Leever_DigDown(LeeverEntity* this) { } bool32 sub_0801FDE4(Entity* entity, s32 x, s32 y) { - u32 vvv; + u32 actTile; const u16* puVar4; if (GetCollisionDataAtWorldCoords(x, y, gUnk_020000B0->collisionLayer) != 0) { return FALSE; } else { - vvv = GetVvvAtWorldCoords(x, y, gUnk_020000B0->collisionLayer); + actTile = GetActTileAtWorldCoords(x, y, gUnk_020000B0->collisionLayer); for (puVar4 = gUnk_080CA4CA; *puVar4 != (u16)-1;) { - if (*puVar4++ == vvv) { + if (*puVar4++ == actTile) { entity->x.HALF.HI = (x & 0xfff0) + 8; entity->y.HALF.HI = (y & 0xfff0) + 8; entity->collisionLayer = gUnk_020000B0->collisionLayer; @@ -211,10 +211,10 @@ const s8 gLeeverDrift[] = { }; const u16 gUnk_080CA4CA[] = { - VVV_10, - VVV_9, - VVV_12, - VVV_11, + ACT_TILE_10, + ACT_TILE_9, + ACT_TILE_12, + ACT_TILE_11, 0xFFFF, }; // clang-format on diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c index 606b0cb3..f5e2dc05 100644 --- a/src/enemy/moldworm.c +++ b/src/enemy/moldworm.c @@ -186,7 +186,7 @@ void sub_08023288(MoldwormEntity* this) { for (i = 0; i < 0x10; i++) { u32 x = gPlayerEntity.base.x.HALF.HI + gUnk_080CBC70[idx + 0]; u32 y = gPlayerEntity.base.y.HALF.HI + gUnk_080CBC70[idx + 1]; - if (sub_08023A38(GetTileTypeByPos(x, y, gPlayerEntity.base.collisionLayer))) { + if (sub_08023A38(GetTileTypeAtWorldCoords(x, y, gPlayerEntity.base.collisionLayer))) { sub_08023990(this, x, y); return; } @@ -221,7 +221,7 @@ void sub_08023398(MoldwormEntity* this) { } if (--this->unk_78.HWORD == 0) { - if (sub_08023A38(GetTileTypeByEntity(super))) { + if (sub_08023A38(GetTileTypeAtEntity(super))) { super->action = 5; this->unk_7f = 0; COLLISION_OFF(super); @@ -517,8 +517,8 @@ bool32 sub_08023A38(u32 tileType) { if (tileType == TILE_TYPE_26 || tileType == TILE_TYPE_41) { return TRUE; } else { - tileType = gMapTileTypeToVvv[tileType]; - if (tileType == VVV_9 || tileType == VVV_11 || tileType == VVV_10 || tileType == VVV_12) { + tileType = gMapTileTypeToActTile[tileType]; + if (tileType == ACT_TILE_9 || tileType == ACT_TILE_11 || tileType == ACT_TILE_10 || tileType == ACT_TILE_12) { return TRUE; } else { return FALSE; diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 907de061..fa94c291 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -428,26 +428,26 @@ bool32 sub_0802571C(PuffstoolEntity* this) { } bool32 sub_080257EC(PuffstoolEntity* this, u32 x, u32 y) { - u16 tileType = sub_080B1A48(x - 0x00, y - 0x00, super->collisionLayer); - if (tileType != 0x312 && gMapTileTypeToVvv[tileType] != VVV_22 && + u16 tileType = GetTileTypeAtRoomCoords(x - 0x00, y - 0x00, super->collisionLayer); + if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && gMapTileTypeToCollisionData[tileType] == 0) { return TRUE; } - tileType = sub_080B1A48(x - 0x10, y - 0x00, super->collisionLayer); - if (tileType != 0x312 && gMapTileTypeToVvv[tileType] != VVV_22 && + tileType = GetTileTypeAtRoomCoords(x - 0x10, y - 0x00, super->collisionLayer); + if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && gMapTileTypeToCollisionData[tileType] == 0) { return TRUE; } - tileType = sub_080B1A48(x - 0x00, y - 0x10, super->collisionLayer); - if (tileType != 0x312 && gMapTileTypeToVvv[tileType] != VVV_22 && + tileType = GetTileTypeAtRoomCoords(x - 0x00, y - 0x10, super->collisionLayer); + if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && gMapTileTypeToCollisionData[tileType] == 0) { return TRUE; } - tileType = sub_080B1A48(x - 0x10, y - 0x10, super->collisionLayer); - if (tileType != 0x312 && gMapTileTypeToVvv[tileType] != VVV_22 && + tileType = GetTileTypeAtRoomCoords(x - 0x10, y - 0x10, super->collisionLayer); + if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && gMapTileTypeToCollisionData[tileType] == 0) { return TRUE; } @@ -532,7 +532,7 @@ bool32 sub_08025AB8(u32 tilePos, u32 layer) { if (GetCollisionDataAtTilePos(tilePos, layer)) return FALSE; - if (GetVvvAtTilePos(tilePos, layer) == VVV_10) { + if (GetActTileAtTilePos(tilePos, layer) == ACT_TILE_10) { sub_0807B7D8(0x61, tilePos, layer); return TRUE; } diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index ee9075a3..e2a372a8 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -267,7 +267,7 @@ void sub_08020A7C(RollobiteEntity* this) { bool32 Rollobite_TryToHoleUp(RollobiteEntity* this) { if (Rollobite_IsRolledUp(this) && super->z.HALF.HI == 0) { u32 tilePos = COORD_TO_TILE(super); - u32 tileType = GetTileType(tilePos, super->collisionLayer); + u32 tileType = GetTileTypeAtTilePos(tilePos, super->collisionLayer); if ((tileType * 0x10000 - 0x710000U) >> 0x10 < 2) { super->action = 6; COLLISION_OFF(super); diff --git a/src/enemy/rope.c b/src/enemy/rope.c index 77fbafab..74c77066 100644 --- a/src/enemy/rope.c +++ b/src/enemy/rope.c @@ -209,7 +209,7 @@ void sub_08031600(RopeEntity* this) { u32 sub_0803163C(RopeEntity* this) { u32 h; - if (GetVvvAtEntity(super) == VVV_19) { + if (GetActTileAtEntity(super) == ACT_TILE_19) { h = this->unk_7a / 2; } else { h = this->unk_7a; diff --git a/src/enemy/spinyBeetle.c b/src/enemy/spinyBeetle.c index 82f51ac9..ff5df9ae 100644 --- a/src/enemy/spinyBeetle.c +++ b/src/enemy/spinyBeetle.c @@ -322,7 +322,7 @@ void sub_08033D78(SpinyBeetleEntity* this) { s32 tilePos; u32 type; tilePos = COORD_TO_TILE_OFFSET(super, -ptr[0], -ptr[1]); - type = GetTileType(tilePos, super->collisionLayer); + type = GetTileTypeAtTilePos(tilePos, super->collisionLayer); switch (type) { case 0x1c4: diff --git a/src/enemy/stalfos.c b/src/enemy/stalfos.c index 9b1d1247..3a54a8c2 100644 --- a/src/enemy/stalfos.c +++ b/src/enemy/stalfos.c @@ -456,7 +456,7 @@ u32 sub_08039B28(StalfosEntity* this) { } ptr2 = &gUnk_080CF930[super->animationState * 2]; pos = COORD_TO_TILE_OFFSET(super, -ptr2[0], -ptr2[1]); - tileType = GetTileType(pos, (u32)super->collisionLayer); + tileType = GetTileTypeAtTilePos(pos, (u32)super->collisionLayer); ptr = gUnk_080CF938; do { diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index 08de7ef8..e5989987 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -164,7 +164,7 @@ void sub_0802F300(TektiteEntity* this) { return; } else if (super->collisions != COL_NONE) { sub_0800417E(super, super->collisions); - } else if ((GetVvvAtEntity(super) & 0xf0) == 0x50) { // VVV_240 and VVV_241? + } else if ((GetActTileAtEntity(super) & 0xf0) == 0x50) { // ACT_TILE_240 and ACT_TILE_241? super->direction = (super->direction + 0x10) & (0x3 | DirectionNorthWest); } diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index 290ae3f1..047b449f 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -137,7 +137,7 @@ void sub_08038048(TektiteGoldenEntity* this) { return; } else if (super->collisions != COL_NONE) { sub_0800417E(super, super->collisions); - } else if ((GetVvvAtEntity(super) & 0xf0) == 0x50) { // VVV_240 and VVV_241? + } else if ((GetActTileAtEntity(super) & 0xf0) == 0x50) { // ACT_TILE_240 and ACT_TILE_241? super->direction = (super->direction + 0x10) & (0x3 | DirectionNorthWest); } diff --git a/src/enemy/torchTrap.c b/src/enemy/torchTrap.c index 799cb4ae..e34e2caa 100644 --- a/src/enemy/torchTrap.c +++ b/src/enemy/torchTrap.c @@ -76,7 +76,7 @@ void sub_0803CF38(TorchTrapEntity* this) { } void sub_0803CF94(TorchTrapEntity* this) { - if (GetTileType(this->tilePos, super->collisionLayer) == TILE_TYPE_118) { + if (GetTileTypeAtTilePos(this->tilePos, super->collisionLayer) == TILE_TYPE_118) { this->unk_80 = 0; TorchTrap_Reset(this); } else if (this->unk_7c && sub_0803CFD8(this)) { diff --git a/src/entity.c b/src/entity.c index 343be2f2..a5b84baf 100644 --- a/src/entity.c +++ b/src/entity.c @@ -49,7 +49,7 @@ const u8 gEntityListLUT[] = { void sub_0805E248(void) { s32 tilePos; - tilePos = gDiggingCaveEntranceTransition.entrance->targetTilePosition; + tilePos = gDiggingCaveEntranceTransition.entrance->targetTilePos; if (gRoomControls.area == AREA_VEIL_FALLS || gRoomControls.area == AREA_VEIL_FALLS_DIG_CAVE) { SetTileType(TILE_TYPE_636, tilePos + TILE_POS(-1, -1), LAYER_BOTTOM); SetTileType(TILE_TYPE_643, tilePos + TILE_POS(-1, -1), LAYER_TOP); diff --git a/src/item/itemGustJar.c b/src/item/itemGustJar.c index 59c4de1f..40fdd034 100644 --- a/src/item/itemGustJar.c +++ b/src/item/itemGustJar.c @@ -12,7 +12,7 @@ void ItemGustJar(ItemBehavior* this, u32 index) { } void sub_08076DF4(ItemBehavior* this, u32 index) { - if (GetVvvInFront(&gPlayerEntity.base) != VVV_41 && gPlayerState.floor_type != SURFACE_DOOR && + if (GetActTileInFront(&gPlayerEntity.base) != ACT_TILE_41 && gPlayerState.floor_type != SURFACE_DOOR && gPlayerState.floor_type != SURFACE_DOOR_13 && gPlayerState.jump_status == 0) { sub_08077D38(this, index); this->timer = 0; diff --git a/src/item/itemMoleMitts.c b/src/item/itemMoleMitts.c index ae776075..dfd015c1 100644 --- a/src/item/itemMoleMitts.c +++ b/src/item/itemMoleMitts.c @@ -188,7 +188,7 @@ s32 sub_080774A0(void) { return 0; if (collisionData < 0xf) return 0; - if (GetVvvAtTilePos(tilePos, gPlayerEntity.base.collisionLayer) != VVV_86) { + if (GetActTileAtTilePos(tilePos, gPlayerEntity.base.collisionLayer) != ACT_TILE_86) { return 1; } else { return 0x56; diff --git a/src/manager/bombableWallManager.c b/src/manager/bombableWallManager.c index 9ba2d688..e0343063 100644 --- a/src/manager/bombableWallManager.c +++ b/src/manager/bombableWallManager.c @@ -46,7 +46,7 @@ void BombableWallManager_Init(BombableWallManager* this) { } void BombableWallManager_Action1(BombableWallManager* this) { - if (GetVvvAtTilePos(this->tilePos, this->layer) != VVV_46) { + if (GetActTileAtTilePos(this->tilePos, this->layer) != ACT_TILE_46) { super->action = 2; super->timer = 90; BombableWallManager_DestroyWall(this); @@ -62,7 +62,7 @@ void BombableWallManager_Action2(BombableWallManager* this) { } u32 BombableWallManager_GetBombableType(u32 tilePos, u32 layer) { - u32 tileType = GetTileType(tilePos, layer); + u32 tileType = GetTileTypeAtTilePos(tilePos, layer); switch (tileType) { case TILE_TYPE_236: diff --git a/src/manager/destructibleTileObserveManager.c b/src/manager/destructibleTileObserveManager.c index 81a8ef05..89a0ac36 100644 --- a/src/manager/destructibleTileObserveManager.c +++ b/src/manager/destructibleTileObserveManager.c @@ -29,7 +29,7 @@ void DestructibleTileObserveManager_Main(DestructibleTileObserveManager* this) { void sub_0805CFF0(DestructibleTileObserveManager_unk* param_1) { if (!CheckLocalFlag(param_1->flag)) { - u32 tileType = GetTileType(param_1->tilePos, param_1->tileLayer); + u32 tileType = GetTileTypeAtTilePos(param_1->tilePos, param_1->tileLayer); if (param_1->tileType == tileType) { SetLocalFlag(param_1->flag); } diff --git a/src/manager/diggingCaveEntranceManager.c b/src/manager/diggingCaveEntranceManager.c index 28e76062..b83c36e3 100644 --- a/src/manager/diggingCaveEntranceManager.c +++ b/src/manager/diggingCaveEntranceManager.c @@ -54,9 +54,9 @@ void DiggingCaveEntranceManager_Init(DiggingCaveEntranceManager* this) { tileIndex = SPECIAL_TILE_128; for (entrance = GetDiggingCaveEntranceForRoom(entrance, room); entrance != 0; entrance = GetDiggingCaveEntranceForRoom(entrance, room)) { - SetTile(tileIndex, entrance->sourceTilePosition + TILE_POS(-1, 1), LAYER_BOTTOM); - SetTile(tileIndex, entrance->sourceTilePosition + TILE_POS(0, 1), LAYER_BOTTOM); - SetTile(tileIndex, entrance->sourceTilePosition + TILE_POS(1, 1), LAYER_BOTTOM); + SetTile(tileIndex, entrance->sourceTilePos + TILE_POS(-1, 1), LAYER_BOTTOM); + SetTile(tileIndex, entrance->sourceTilePos + TILE_POS(0, 1), LAYER_BOTTOM); + SetTile(tileIndex, entrance->sourceTilePos + TILE_POS(1, 1), LAYER_BOTTOM); entrance++; } } @@ -80,8 +80,8 @@ bool32 DiggingCaveEntranceManager_CheckEnterEntrance(DiggingCaveEntranceManager* if (gDiggingCaveEntranceTransition.isDiggingCave) { offsetX = gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x; offsetY = gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y; - offsetX2 = (entr->sourceTilePosition & TILE_POS_X_COMPONENT) * 16 + 8; - offsetY2 = ((entr->sourceTilePosition & TILE_POS_Y_COMPONENT) >> 6) * 16 + 0x18; + offsetX2 = (entr->sourceTilePos & TILE_POS_X_COMPONENT) * 16 + 8; + offsetY2 = ((entr->sourceTilePos & TILE_POS_Y_COMPONENT) >> 6) * 16 + 0x18; tmp = offsetX - offsetX2; if (tmp + 0x18 > 0x30 || offsetY - offsetY2 + 8 > 0x10U) return FALSE; @@ -90,9 +90,9 @@ bool32 DiggingCaveEntranceManager_CheckEnterEntrance(DiggingCaveEntranceManager* DiggingCaveEntranceManager_EnterEntrance(this, entr); return TRUE; } else { - if (COORD_TO_TILE(&gPlayerEntity.base) != entr->sourceTilePosition) + if (COORD_TO_TILE(&gPlayerEntity.base) != entr->sourceTilePos) return FALSE; - offsetY2 = gRoomControls.origin_y + ((entr->sourceTilePosition >> 6) << 4) + 6; + offsetY2 = gRoomControls.origin_y + ((entr->sourceTilePos >> 6) << 4) + 6; if (gPlayerEntity.base.y.HALF.HI >= offsetY2) return FALSE; DiggingCaveEntranceManager_EnterEntrance(this, entr); @@ -111,9 +111,9 @@ void DiggingCaveEntranceManager_EnterEntrance(DiggingCaveEntranceManager* this, gRoomControls.room = entr->targetRoom; gDiggingCaveEntranceTransition.entrance = entr; gDiggingCaveEntranceTransition.offsetX = gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x - - ((entr->sourceTilePosition & TILE_POS_X_COMPONENT) * 16); + ((entr->sourceTilePos & TILE_POS_X_COMPONENT) * 16); gDiggingCaveEntranceTransition.offsetY = gPlayerEntity.base.y.HALF.HI - gRoomControls.origin_y - - ((entr->sourceTilePosition & TILE_POS_Y_COMPONENT) >> 2); + ((entr->sourceTilePos & TILE_POS_Y_COMPONENT) >> 2); #ifndef EU isDiggingCave = gDiggingCaveEntranceTransition.isDiggingCave; @@ -130,7 +130,7 @@ void DiggingCaveEntranceManager_EnterEntrance(DiggingCaveEntranceManager* this, } const DiggingCaveEntrance* GetDiggingCaveEntranceForRoom(const DiggingCaveEntrance* entr, int room) { - for (; entr->sourceTilePosition != 0xffff; entr++) { + for (; entr->sourceTilePos != 0xffff; entr++) { if (entr->sourceRoom == room) return entr; } diff --git a/src/manager/flameManager.c b/src/manager/flameManager.c index c8174afd..6140730e 100644 --- a/src/manager/flameManager.c +++ b/src/manager/flameManager.c @@ -15,18 +15,18 @@ void FlameManager_Main(FlameManager* this) { if (super->action == 0) { this->tilePos = TILE(this->tilePos, this->field_0x3a); - if (GetTileType(this->tilePos, LAYER_TOP) == TILE_TYPE_117) { + if (GetTileTypeAtTilePos(this->tilePos, LAYER_TOP) == TILE_TYPE_117) { super->action = 1; SetTile(SPECIAL_TILE_106, this->tilePos, LAYER_BOTTOM); } else { DeleteThisEntity(); } } - if (GetTileType(this->tilePos, LAYER_BOTTOM) == SPECIAL_TILE_107) { + if (GetTileTypeAtTilePos(this->tilePos, LAYER_BOTTOM) == SPECIAL_TILE_107) { sub_0807B7D8(TILE_TYPE_118, this->tilePos, LAYER_TOP); DeleteThisEntity(); } - if (GetTileType(this->tilePos, LAYER_TOP) == TILE_TYPE_118) { + if (GetTileTypeAtTilePos(this->tilePos, LAYER_TOP) == TILE_TYPE_118) { SetTile(SPECIAL_TILE_107, this->tilePos, LAYER_BOTTOM); DeleteThisEntity(); } diff --git a/src/manager/lightLevelSetManager.c b/src/manager/lightLevelSetManager.c index 3027a449..a2218e63 100644 --- a/src/manager/lightLevelSetManager.c +++ b/src/manager/lightLevelSetManager.c @@ -79,7 +79,7 @@ void LightLevelSetManager_Type2(LightLevelSetManager* this) { ((s16)this->field_0x38 >> 4 & 0x3fU) | ((s32)((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6); super->action = 1; } else { - if (GetTileType(this->field_0x20, super->type2) == TILE_TYPE_118) { + if (GetTileTypeAtTilePos(this->field_0x20, super->type2) == TILE_TYPE_118) { SetFlag(this->field_0x3e); ChangeLightLevel(super->timer); DeleteThisEntity(); @@ -103,7 +103,7 @@ void LightLevelSetManager_Type3(LightLevelSetManager* this) { break; case 1: - if (GetTileType(this->field_0x20, super->type2) != TILE_TYPE_118) { + if (GetTileTypeAtTilePos(this->field_0x20, super->type2) != TILE_TYPE_118) { return; } SetFlag(this->field_0x3e); diff --git a/src/manager/manager29.c b/src/manager/manager29.c index e8e60896..133d3944 100644 --- a/src/manager/manager29.c +++ b/src/manager/manager29.c @@ -32,7 +32,7 @@ void sub_0805CBD0(Manager29* this) { super->action = 1; this->unk_38 = (this->unk_38 >> 4 & 0x3fU) | (((this->unk_3a << 0x10) >> 0x14 & 0x3fU) << 6); this->unk_3a = (this->unk_3c >> 4 & 0x3f) | (((this->unk_36 + this->unk_37 * 0x100) >> 4 & 0x3fU) << 6); - this->unk_3c = GetTileType(this->unk_38, this->layer); + this->unk_3c = GetTileTypeAtTilePos(this->unk_38, this->layer); mapLayer = GetLayerByIndex(this->layer); this->unk_28 = (u16*)mapLayer->tileTypes; this->unk_2c = &mapLayer->mapData[(s16)this->unk_3a]; diff --git a/src/manager/minishPortalManager.c b/src/manager/minishPortalManager.c index aa7fc1a5..2d13eb1e 100644 --- a/src/manager/minishPortalManager.c +++ b/src/manager/minishPortalManager.c @@ -42,7 +42,7 @@ void MinishPortalManager_Main(MinishPortalManager* this) { gArea.portal_mode = 3; } } - if (GetVvvAtRoomCoords(this->unk_38, this->unk_3a, super->timer) == VVV_61) { + 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, super->timer); if (super->subtimer == 0) { diff --git a/src/manager/miscManager.c b/src/manager/miscManager.c index d5432970..1adf595d 100644 --- a/src/manager/miscManager.c +++ b/src/manager/miscManager.c @@ -121,7 +121,7 @@ void MiscManager_Type0(MiscManager* this) { void sub_08058F44(u32 x, u32 y, u32 flag) { if (CheckRoomFlag(flag)) return; - if (sub_080B1A48(x, y, LAYER_BOTTOM) != TILE_TYPE_97) + if (GetTileTypeAtRoomCoords(x, y, LAYER_BOTTOM) != TILE_TYPE_97) return; SetTileType(TILE_TYPE_38, ((x >> 4) & 0x3F) | (((y >> 4) & 0x3F) << 6), LAYER_BOTTOM); sub_08058F84(x, y); diff --git a/src/manager/tilePuzzleManager.c b/src/manager/tilePuzzleManager.c index b845aff0..766e2c6d 100644 --- a/src/manager/tilePuzzleManager.c +++ b/src/manager/tilePuzzleManager.c @@ -31,7 +31,7 @@ void TilePuzzleManager_Main(TilePuzzleManager* this) { this->player_current_tile = COORD_TO_TILE((&gPlayerEntity.base)); if (this->player_current_tile != this->player_previous_tile) { this->player_previous_tile = this->player_current_tile; - switch (GetTileType(this->player_current_tile, super->type2)) { + switch (GetTileTypeAtTilePos(this->player_current_tile, super->type2)) { case TILE_TYPE_791: // stepped on a red tile again super->action = FAILED; diff --git a/src/movement.c b/src/movement.c index 6cb7a939..3bd0d134 100644 --- a/src/movement.c +++ b/src/movement.c @@ -2162,7 +2162,7 @@ bool32 ProcessMovement3(Entity* this) { } bool32 sub_080AF0C8(Entity* this) { - u32 tileType = GetTileTypeByEntity(this); + u32 tileType = GetTileTypeAtEntity(this); switch (tileType) { case 0x87: if (((this->direction + 7) & (0x3 | DIR_DIAGONAL | DirectionNorth | DirectionEast | DirectionSouth | diff --git a/src/npc/npc5.c b/src/npc/npc5.c index 3cc244e9..6e71501e 100644 --- a/src/npc/npc5.c +++ b/src/npc/npc5.c @@ -530,11 +530,11 @@ u32 CalcJumpDirection(Entity* this) { }; static const u8 sTable[] = { - // vvv, animationState - VVV_43, DirectionSouth, VVV_42, DirectionNorth, VVV_45, DirectionEast, VVV_44, DirectionWest, 0x0, + // actTile, animationState + ACT_TILE_43, DirectionSouth, ACT_TILE_42, DirectionNorth, ACT_TILE_45, DirectionEast, ACT_TILE_44, DirectionWest, 0x0, }; - u32 vvv; + u32 actTile; u32 x; s32 x_offset; s32 y_offset; @@ -544,11 +544,11 @@ u32 CalcJumpDirection(Entity* this) { ptr = (s8*)sOffsets; x_offset = ptr[x]; y_offset = ptr[x + 1]; - vvv = GetVvvRelativeToEntity(this, x_offset, y_offset); + actTile = GetActTileRelativeToEntity(this, x_offset, y_offset); ptr2 = sTable; do { - if (*ptr2 != vvv || this->animationState != (ptr2[1] >> 2)) { + if (*ptr2 != actTile || this->animationState != (ptr2[1] >> 2)) { continue; } diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 118b2587..b0f3fc68 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -811,8 +811,8 @@ void sub_0806B0E0(Entity* this, ScriptExecutionContext* context) { int idx = 0; // Checks if the dust is gone at these four tiles. - if (GetVvvAtRoomCoords(56, 184, 1) == VVV_87 && GetVvvAtRoomCoords(72, 184, 1) == VVV_87 && - GetVvvAtRoomCoords(56, 200, 1) == VVV_87 && GetVvvAtRoomCoords(72, 200, 1) == VVV_87) { + if (GetActTileAtRoomCoords(56, 184, 1) == ACT_TILE_87 && GetActTileAtRoomCoords(72, 184, 1) == ACT_TILE_87 && + GetActTileAtRoomCoords(56, 200, 1) == ACT_TILE_87 && GetActTileAtRoomCoords(72, 200, 1) == ACT_TILE_87) { idx = 1; } diff --git a/src/object/beanstalk.c b/src/object/beanstalk.c index 8fcbd27e..e445d415 100644 --- a/src/object/beanstalk.c +++ b/src/object/beanstalk.c @@ -333,18 +333,18 @@ void Beanstalk_Action1Type9(BeanstalkEntity* this) { if (super->subAction == 0) { super->subAction = 1; super->y.HALF.HI += 0x28; - this->unk_72 = sub_080B1A0C(super, 0, -24); + this->unk_72 = GetTileTypeRelativeToEntity(super, 0, -24); } super->spriteOrientation.flipY = gPlayerEntity.base.spriteOrientation.flipY; super->spriteRendering.b3 = gPlayerEntity.base.spriteRendering.b3; if (gPlayerState.floor_type == SURFACE_LADDER) { super->spritePriority.b0 = 0; - if (sub_080B1A0C(super, 0, -24) != SPECIAL_TILE_20) { + if (GetTileTypeRelativeToEntity(super, 0, -24) != SPECIAL_TILE_20) { SetTile(SPECIAL_TILE_20, COORD_TO_TILE_OFFSET(super, 0, 24), LAYER_BOTTOM); } } else { super->spritePriority.b0 = 5; - if (this->unk_72 != sub_080B1A0C(super, 0, -24)) { + if (this->unk_72 != GetTileTypeRelativeToEntity(super, 0, -24)) { SetTile(this->unk_72, COORD_TO_TILE_OFFSET(super, 0, 24), LAYER_BOTTOM); } } diff --git a/src/object/bigIceBlock.c b/src/object/bigIceBlock.c index a4398c99..dd204c78 100644 --- a/src/object/bigIceBlock.c +++ b/src/object/bigIceBlock.c @@ -127,7 +127,7 @@ void sub_08099880(BigIceBlockEntity* this) { void sub_08099910(BigIceBlockEntity* this) { u32 uVar2; - s32 vvv; + s32 actTile; u32 tileIndex; u32 tilePos; @@ -144,109 +144,109 @@ void sub_08099910(BigIceBlockEntity* this) { SetTile(SPECIAL_TILE_34, tilePos, super->collisionLayer); break; case 1: - vvv = GetVvvAtTilePos(tilePos - 0x41, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 0x41, super->collisionLayer); tileIndex = SPECIAL_TILE_36; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_121; } SetTile(tileIndex, tilePos - 0x41, super->collisionLayer); SetTile(SPECIAL_TILE_34, tilePos - 0x40, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos - 0x3f, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 0x3f, super->collisionLayer); tileIndex = SPECIAL_TILE_37; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_123; } SetTile(tileIndex, tilePos - 0x3f, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos - 1, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 1, super->collisionLayer); tileIndex = SPECIAL_TILE_36; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_121; } SetTile(tileIndex, tilePos - 1, super->collisionLayer); SetTile(SPECIAL_TILE_34, tilePos, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos + 1, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos + 1, super->collisionLayer); tileIndex = SPECIAL_TILE_37; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_123; } SetTile(tileIndex, tilePos + 1, super->collisionLayer); return; break; case 2: - vvv = GetVvvAtTilePos(tilePos - 0x41, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 0x41, super->collisionLayer); tileIndex = SPECIAL_TILE_35; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_119; } SetTile(tileIndex, tilePos - 0x41, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos - 0x40, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 0x40, super->collisionLayer); tileIndex = SPECIAL_TILE_35; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_119; } SetTile(tileIndex, tilePos - 0x40, super->collisionLayer); SetTile(SPECIAL_TILE_34, tilePos - 1, super->collisionLayer); SetTile(SPECIAL_TILE_34, tilePos, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos + 0x3f, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos + 0x3f, super->collisionLayer); tileIndex = SPECIAL_TILE_38; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_124; } SetTile(tileIndex, tilePos + 0x3f, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos + 0x40, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos + 0x40, super->collisionLayer); tileIndex = SPECIAL_TILE_38; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_124; } SetTile(tileIndex, tilePos + 0x40, super->collisionLayer); break; case 3: - vvv = GetVvvAtTilePos(tilePos - 0x41, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 0x41, super->collisionLayer); tileIndex = SPECIAL_TILE_39; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_117; } SetTile(tileIndex, tilePos - 0x41, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos - 0x40, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 0x40, super->collisionLayer); tileIndex = SPECIAL_TILE_35; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_119; } SetTile(tileIndex, tilePos - 0x40, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos - 0x3f, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 0x3f, super->collisionLayer); tileIndex = SPECIAL_TILE_40; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_118; } SetTile(tileIndex, tilePos - 0x3f, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos - 1, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos - 1, super->collisionLayer); tileIndex = SPECIAL_TILE_36; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_121; } SetTile(tileIndex, tilePos - 1, super->collisionLayer); SetTile(SPECIAL_TILE_34, tilePos, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos + 1, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos + 1, super->collisionLayer); tileIndex = SPECIAL_TILE_37; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_123; } SetTile(tileIndex, tilePos + 1, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos + 0x3f, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos + 0x3f, super->collisionLayer); tileIndex = SPECIAL_TILE_41; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_120; } SetTile(tileIndex, tilePos + 0x3f, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos + 0x40, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos + 0x40, super->collisionLayer); tileIndex = SPECIAL_TILE_38; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_124; } SetTile(tileIndex, tilePos + 0x40, super->collisionLayer); - vvv = GetVvvAtTilePos(tilePos + 0x41, super->collisionLayer); + actTile = GetActTileAtTilePos(tilePos + 0x41, super->collisionLayer); tileIndex = SPECIAL_TILE_42; - if (vvv == VVV_18) { + if (actTile == ACT_TILE_18) { tileIndex = SPECIAL_TILE_122; } SetTile(tileIndex, tilePos + 0x41, super->collisionLayer); diff --git a/src/object/bigPushableLever.c b/src/object/bigPushableLever.c index 5847ca65..e7efcd56 100644 --- a/src/object/bigPushableLever.c +++ b/src/object/bigPushableLever.c @@ -11,8 +11,8 @@ typedef struct { /*0x00*/ Entity base; /*0x68*/ u8 unk_68[8]; - /*0x70*/ u16 tilePositionUpper; - /*0x72*/ u16 tilePositionLower; + /*0x70*/ u16 tilePosUpper; + /*0x72*/ u16 tilePosLower; /*0x74*/ u16 tileIndexUpper; /*0x76*/ u16 tileIndexLower; /*0x78*/ u8 unk_78[12]; @@ -48,8 +48,8 @@ void BigPushableLever_Init(BigPushableLeverEntity* this) { void BigPushableLever_Idle(BigPushableLeverEntity* this) { if (BigPushableLever_ShouldStartPushing(this)) { super->action = PUSHING; - SetTile(this->tileIndexUpper, this->tilePositionUpper, super->collisionLayer); - SetTile(this->tileIndexLower, this->tilePositionLower, super->collisionLayer); + SetTile(this->tileIndexUpper, this->tilePosUpper, super->collisionLayer); + SetTile(this->tileIndexLower, this->tilePosLower, super->collisionLayer); EnqueueSFX(SFX_132); RequestPriorityDuration(super, 30); if (PlayerCanBeMoved()) { @@ -84,32 +84,32 @@ void BigPushableLever_SetIdle(BigPushableLeverEntity* this) { void BigPushableLever_SetTiles(BigPushableLeverEntity* this) { if (!CheckFlags(this->pushedFlag)) { super->type2 = 0; - this->tilePositionUpper = COORD_TO_TILE_OFFSET(super, 0, 0x10); - this->tilePositionLower = this->tilePositionUpper - 0x40; - this->tileIndexUpper = GetTileIndex(this->tilePositionUpper, super->collisionLayer); - this->tileIndexLower = GetTileIndex(this->tilePositionLower, super->collisionLayer); - SetTile(SPECIAL_TILE_87, this->tilePositionUpper, super->collisionLayer); - SetTile(SPECIAL_TILE_88, this->tilePositionLower, super->collisionLayer); + this->tilePosUpper = COORD_TO_TILE_OFFSET(super, 0, 0x10); + this->tilePosLower = this->tilePosUpper - 0x40; + this->tileIndexUpper = GetTileIndex(this->tilePosUpper, super->collisionLayer); + this->tileIndexLower = GetTileIndex(this->tilePosLower, super->collisionLayer); + SetTile(SPECIAL_TILE_87, this->tilePosUpper, super->collisionLayer); + SetTile(SPECIAL_TILE_88, this->tilePosLower, super->collisionLayer); InitializeAnimation(super, 1); } else { super->type2 = 1; - this->tilePositionUpper = COORD_TO_TILE_OFFSET(super, 0x10, 0); - this->tilePositionLower = this->tilePositionUpper - 1; - this->tileIndexUpper = GetTileIndex(this->tilePositionUpper, super->collisionLayer); - this->tileIndexLower = GetTileIndex(this->tilePositionLower, super->collisionLayer); - SetTile(SPECIAL_TILE_85, this->tilePositionUpper, super->collisionLayer); - SetTile(SPECIAL_TILE_86, this->tilePositionLower, super->collisionLayer); + this->tilePosUpper = COORD_TO_TILE_OFFSET(super, 0x10, 0); + this->tilePosLower = this->tilePosUpper - 1; + this->tileIndexUpper = GetTileIndex(this->tilePosUpper, super->collisionLayer); + this->tileIndexLower = GetTileIndex(this->tilePosLower, super->collisionLayer); + SetTile(SPECIAL_TILE_85, this->tilePosUpper, super->collisionLayer); + SetTile(SPECIAL_TILE_86, this->tilePosLower, super->collisionLayer); InitializeAnimation(super, 0); } } bool32 BigPushableLever_ShouldStartPushing(BigPushableLeverEntity* this) { - if (GetTileIndex(this->tilePositionLower, super->collisionLayer) == SPECIAL_TILE_89) { + if (GetTileIndex(this->tilePosLower, super->collisionLayer) == SPECIAL_TILE_89) { if (--this->timer == 0) { return TRUE; } BigPushableLever_CalculateSpriteOffsets(this); - SetTile(gUnk_081236E8[super->type2], this->tilePositionLower, super->collisionLayer); + SetTile(gUnk_081236E8[super->type2], this->tilePosLower, super->collisionLayer); } else { this->timer = 60; super->spriteOffsetX = 0; diff --git a/src/object/blockPushed.c b/src/object/blockPushed.c index b6933775..85f45ce9 100644 --- a/src/object/blockPushed.c +++ b/src/object/blockPushed.c @@ -45,7 +45,7 @@ void BlockPushed_Init(BlockPushedEntity* this) { super->x.HALF.HI += tmp; super->y.HALF.HI += tmp; super->hitbox = (Hitbox*)gUnk_0811F64C[super->type]; - this->unk_68 = GetTileType(tilePos, super->collisionLayer); + this->unk_68 = GetTileTypeAtTilePos(tilePos, super->collisionLayer); switch (super->type) { case 0: sub_080832D8(tilePos, this); diff --git a/src/object/button.c b/src/object/button.c index 7c238e5b..ef014914 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -44,7 +44,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 = GetTileType(this->tilePos, super->collisionLayer); + this->unk_72 = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); if (super->type == 0 && CheckFlags(this->unk_86)) { super->action = 5; SetTileType(TILE_TYPE_122, this->tilePos, super->collisionLayer); @@ -60,7 +60,7 @@ void Button_Init(ButtonEntity* this) { void Button_Action1(ButtonEntity* this) { if (sub_08081E3C(this)) { super->action = 2; - this->unk_72 = GetTileType(this->tilePos, super->collisionLayer); + this->unk_72 = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); } } @@ -132,12 +132,12 @@ bool32 sub_08081CB0(ButtonEntity* this) { u16 tileType; if (sub_08081D74(this)) { this->unk_70 = -1; - if (GetTileType(this->tilePos, super->collisionLayer) == SPECIAL_TILE_53) { + if (GetTileTypeAtTilePos(this->tilePos, super->collisionLayer) == SPECIAL_TILE_53) { sub_0807B7D8(0x78, this->tilePos, super->collisionLayer); } return TRUE; } else { - tileType = GetTileType(this->tilePos, super->collisionLayer); + tileType = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); if (tileType != 0x77 && tileType != 0x79 && tileType != SPECIAL_TILE_53) { this->unk_70 = GetTileIndex(this->tilePos, super->collisionLayer); return TRUE; @@ -204,7 +204,7 @@ u32 sub_08081E3C(ButtonEntity* this) { }; const u16* tmp1; s32 tmp2; - tmp2 = GetTileType(this->tilePos, super->collisionLayer); + tmp2 = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); tmp1 = gUnk_0811EE50; do { if (*tmp1 == tmp2) @@ -223,21 +223,21 @@ void sub_08081E6C(ButtonEntity* this) { u32 tileType; MapLayer* mapLayer; u16* tmp2; - u16* tmp; + u16* subTiles; u16* tmp3; u32 tilePos = this->tilePos; u32 layer = super->collisionLayer; - u32 specialTile = GetTileType(tilePos, layer); + u32 specialTile = GetTileTypeAtTilePos(tilePos, layer); if (specialTile < 0x4000) return; mapLayer = GetLayerByIndex(layer); tileType = (super->type == 0 ? TILE_TYPE_122 : TILE_TYPE_120); - tmp = mapLayer->tiles; - tmp = tmp + (mapLayer->unkData2[tileType] << 2); + subTiles = mapLayer->subTiles; + subTiles = subTiles + (mapLayer->tileIndices[tileType] << 2); tmp2 = (layer == 2 ? gMapDataTopSpecial : gMapDataBottomSpecial); tmp2 += (((0x3f & tilePos) << 1) + ((0xfc0 & tilePos) << 2)); - if (sub_08081F00((u32*)tmp2, (u32*)tmp)) + if (sub_08081F00((u32*)tmp2, (u32*)subTiles)) return; SetTileType(tileType, tilePos, layer); SetTile(specialTile, tilePos, layer); diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index 8fea49c9..7ea08cda 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -232,7 +232,7 @@ void ChestSpawner_Type0Init(ChestSpawnerEntity* this) { super->action++; this->tilePos = COORD_TO_TILE(super); super->hitbox = (Hitbox*)&gUnk_0811F8A8; - if (GetTileTypeByEntity(super) == TILE_TYPE_116) { + if (GetTileTypeAtEntity(super) == TILE_TYPE_116) { DeleteThisEntity(); } if (CheckFlags(this->unk_86)) { @@ -271,7 +271,7 @@ void ChestSpawner_Type0Action2(ChestSpawnerEntity* this) { void ChestSpawner_Type0Action3(ChestSpawnerEntity* this) { if ((super->type == 1) || (super->type == 7)) { - if (GetTileTypeByEntity(super) == TILE_TYPE_116) { + if (GetTileTypeAtEntity(super) == TILE_TYPE_116) { DeleteEntity(super); } else { if (!CheckFlags(this->unk_86)) { diff --git a/src/object/crenelBeanSprout.c b/src/object/crenelBeanSprout.c index 578e3ef6..b57c4c8c 100644 --- a/src/object/crenelBeanSprout.c +++ b/src/object/crenelBeanSprout.c @@ -168,13 +168,13 @@ void CrenelBeanSprout_Action1(CrenelBeanSproutEntity* this) { tmp = gPlayerEntity.base.animationState & 6; this->unk_70 = ((super->x.HALF.HI + (s8)gUnk_08123184[tmp]) & -0x10) | 8; this->unk_72 = ((super->y.HALF.HI + (s8)gUnk_08123184[(tmp) + 1]) & -0x10) | 8; - if (GetVvvAtWorldCoords(this->unk_70, this->unk_72, super->collisionLayer) == VVV_25) { + if (GetActTileAtWorldCoords(this->unk_70, this->unk_72, super->collisionLayer) == ACT_TILE_25) { gHUD.rActionPlayerState = R_ACTION_THROW; } else { gHUD.rActionPlayerState = R_ACTION_NONE; } PositionRelative(&gPlayerEntity.base, super, 0, 0x10000); - if (GetVvvAtEntity(super) == VVV_25) { + if (GetActTileAtEntity(super) == ACT_TILE_25) { RestorePrevTileEntity(0xdc, super->collisionLayer); sub_08096A78(this); } @@ -233,7 +233,7 @@ void CrenelBeanSprout_Action3(CrenelBeanSproutEntity* this) { void CrenelBeanSprout_Action4(CrenelBeanSproutEntity* this) { static const u16 gUnk_0812319C[] = { SPECIAL_TILE_60, SPECIAL_TILE_51 }; - if (gUnk_0812319C[super->type >> 1] == GetTileTypeByEntity(super)) { + if (gUnk_0812319C[super->type >> 1] == GetTileTypeAtEntity(super)) { GetNextFrame(super); gPlayerState.keepFacing |= 0x80; gPlayerState.field_0xa |= 0x80; diff --git a/src/object/cutsceneMiscObject.c b/src/object/cutsceneMiscObject.c index 3c26788f..2427c370 100644 --- a/src/object/cutsceneMiscObject.c +++ b/src/object/cutsceneMiscObject.c @@ -332,7 +332,7 @@ void CutsceneMiscObject_Type5(CutsceneMiscObjectEntity* this) { super->zVelocity = 0; SetEntityPriority(super, PRIO_PLAYER_EVENT); InitializeAnimation(super, 0); - if (GetVvvAtEntity(super) == VVV_13) { + if (GetActTileAtEntity(super) == ACT_TILE_13) { super->action = 3; } break; diff --git a/src/object/doubleBookshelf.c b/src/object/doubleBookshelf.c index 0438f353..eb3c267e 100644 --- a/src/object/doubleBookshelf.c +++ b/src/object/doubleBookshelf.c @@ -73,7 +73,7 @@ void DoubleBookshelf_Init(DoubleBookshelfEntity* this) { } void DoubleBookshelf_Action1(DoubleBookshelfEntity* this) { - GetTileType(this->unk_82, super->collisionLayer); + GetTileTypeAtTilePos(this->unk_82, super->collisionLayer); sub_0809B234(this); } diff --git a/src/object/fireplace.c b/src/object/fireplace.c index 8adfe936..4fd32aec 100644 --- a/src/object/fireplace.c +++ b/src/object/fireplace.c @@ -50,7 +50,7 @@ void Fireplace_Action1(FireplaceEntity* this) { } void sub_0809B7C0(FireplaceEntity* this) { - u32 tileType = GetTileTypeByEntity(super); + u32 tileType = GetTileTypeAtEntity(super); if (tileType != SPECIAL_TILE_97 && tileType != SPECIAL_TILE_98) { sub_0809B7DC(this); } diff --git a/src/object/furniture.c b/src/object/furniture.c index d54eea37..44cb7449 100644 --- a/src/object/furniture.c +++ b/src/object/furniture.c @@ -261,7 +261,7 @@ static void FurnitureInit(FurnitureEntity* this) { for (i = 0; i < cnt; ++i, ++tilePos) { SetTile(SPECIAL_TILE_38, tilePos, LAYER_TOP); SetTile(SPECIAL_TILE_38, tilePos, LAYER_BOTTOM); - SetVvvAtTilePos(VVV_0, tilePos + TILE_POS(0, 1), 1); + SetActTileAtTilePos(ACT_TILE_0, tilePos + TILE_POS(0, 1), 1); } break; } @@ -287,7 +287,7 @@ static void FurnitureInit(FurnitureEntity* this) { super->collisionLayer = 1; super->spriteOrientation.flipY = 2; SetTile(SPECIAL_TILE_116, this->tilePos - 64, super->collisionLayer); - SetVvvAtTilePos(VVV_63, this->tilePos - 64, super->collisionLayer); + SetActTileAtTilePos(ACT_TILE_63, this->tilePos - 64, super->collisionLayer); SetTile(SPECIAL_TILE_23, this->tilePos, super->collisionLayer); SetTile(SPECIAL_TILE_23, this->tilePos + 64, super->collisionLayer); break; @@ -339,7 +339,7 @@ static void FurnitureUpdate(FurnitureEntity* this) { case 0x80: if (gPlayerEntity.base.y.HALF.HI < super->y.HALF.HI + 8) { if (gPlayerState.floor_type != SURFACE_LADDER && - GetTileTypeByEntity(super) == SPECIAL_TILE_23) { + GetTileTypeAtEntity(super) == SPECIAL_TILE_23) { SetTile(SPECIAL_TILE_38, this->tilePos, super->collisionLayer); SetTile(SPECIAL_TILE_61, this->tilePos + TILE_POS(0, -1), super->collisionLayer); SetTile(SPECIAL_TILE_61, this->tilePos + TILE_POS(0, -2), super->collisionLayer); @@ -349,7 +349,7 @@ static void FurnitureUpdate(FurnitureEntity* this) { gPlayerEntity.base.collisionLayer = 1; UpdateSpriteForCollisionLayer(&gPlayerEntity.base); } - if (GetTileTypeByEntity(super) != SPECIAL_TILE_23) { + if (GetTileTypeAtEntity(super) != SPECIAL_TILE_23) { SetTile(SPECIAL_TILE_23, this->tilePos, super->collisionLayer); SetTile(SPECIAL_TILE_23, this->tilePos + TILE_POS(0, -1), super->collisionLayer); SetTile(SPECIAL_TILE_20, this->tilePos + TILE_POS(0, -2), super->collisionLayer); diff --git a/src/object/giantBookLadder.c b/src/object/giantBookLadder.c index 1be5f63c..5f18d1b4 100644 --- a/src/object/giantBookLadder.c +++ b/src/object/giantBookLadder.c @@ -83,5 +83,5 @@ void sub_0808E55C(GiantBookLadderEntity* this) { } u32 sub_0808E670(GiantBookLadderEntity* this) { - return GetTileType(this->unk74 - 0x101, LAYER_BOTTOM); + return GetTileTypeAtTilePos(this->unk74 - 0x101, LAYER_BOTTOM); } diff --git a/src/object/hiddenLadderDown.c b/src/object/hiddenLadderDown.c index d02a22f4..dd7ed7d5 100644 --- a/src/object/hiddenLadderDown.c +++ b/src/object/hiddenLadderDown.c @@ -55,7 +55,7 @@ void HiddenLadderDown_Init(HiddenLadderDownEntity* this) { } void HiddenLadderDown_Action1(HiddenLadderDownEntity* this) { - if (GetTileType(this->unk_70, super->collisionLayer) == 0x1a6) { + if (GetTileTypeAtTilePos(this->unk_70, super->collisionLayer) == 0x1a6) { super->action = 2; super->spriteSettings.draw = TRUE; SetFlag(this->unk_86); diff --git a/src/object/itemOnGround.c b/src/object/itemOnGround.c index 7f27236a..7d7b8917 100644 --- a/src/object/itemOnGround.c +++ b/src/object/itemOnGround.c @@ -218,7 +218,7 @@ void sub_08081188(ItemOnGroundEntity* this) { void sub_080811AC(ItemOnGroundEntity* this) { super->action = 2; super->spriteSettings.draw = 0; - this->unk_6e = GetTileTypeByEntity(super); + this->unk_6e = GetTileTypeAtEntity(super); } void sub_080811C8(ItemOnGroundEntity* this) { @@ -285,7 +285,7 @@ void sub_080812A0(ItemOnGroundEntity* this) { void sub_080812A8(ItemOnGroundEntity* this) { if (GetCollisionDataAtEntity(super) != COLLISION_DATA_15 && - this->unk_6e != GetTileTypeByEntity(super)) { + this->unk_6e != GetTileTypeAtEntity(super)) { super->direction = 0; super->speed = 0; super->spriteSettings.draw = 1; diff --git a/src/object/ladderUp.c b/src/object/ladderUp.c index 002146d7..5e5727fa 100644 --- a/src/object/ladderUp.c +++ b/src/object/ladderUp.c @@ -67,12 +67,12 @@ void LadderUp(Entity* this) { if (this->type2 == 0) { if (gPlayerEntity.base.y.HALF.HI < this->y.HALF.HI) { if (gPlayerState.floor_type != SURFACE_LADDER && - (GetTileTypeByEntity(this) == SPECIAL_TILE_23)) { + (GetTileTypeAtEntity(this) == SPECIAL_TILE_23)) { SetTile(SPECIAL_TILE_35, COORD_TO_TILE(this), this->collisionLayer); RestorePrevTileEntity(COORD_TO_TILE_OFFSET(this, 0, 16), this->collisionLayer); } } else { - if (GetTileTypeByEntity(this) != SPECIAL_TILE_23) { + if (GetTileTypeAtEntity(this) != SPECIAL_TILE_23) { SetTile(SPECIAL_TILE_23, COORD_TO_TILE(this), this->collisionLayer); if (this->type == 0) { SetTile(SPECIAL_TILE_23, COORD_TO_TILE_OFFSET(this, 0, 16), this->collisionLayer); diff --git a/src/object/lilypadLarge.c b/src/object/lilypadLarge.c index 05111754..03cca48a 100644 --- a/src/object/lilypadLarge.c +++ b/src/object/lilypadLarge.c @@ -331,10 +331,10 @@ void LilypadLarge_Action2(LilypadLargeEntity* this) { void sub_08085A44(LilypadLargeEntity* this) { super->speed = 0x200; - if (GetVvvRelativeToEntity(super, 0x10, 0x18) != VVV_17) { + if (GetActTileRelativeToEntity(super, 0x10, 0x18) != ACT_TILE_17) { super->direction = 0x18; } else { - if (GetVvvRelativeToEntity(super, -0x10, 0x18) != VVV_17) { + if (GetActTileRelativeToEntity(super, -0x10, 0x18) != ACT_TILE_17) { super->direction = 8; } else { super->direction = 0x10; @@ -355,7 +355,7 @@ void sub_08085A98(LilypadLargeEntity* this) { this->unk_78.WORD -= 0x20000; SetAffineInfo(super, this->unk_78.HALF_U.HI, this->unk_78.HALF_U.HI, this->unk_7c.HALF_U.HI); } - if (GetVvvRelativeToEntity(super, 0, 0x18) != VVV_17) { + if (GetActTileRelativeToEntity(super, 0, 0x18) != ACT_TILE_17) { super->subAction = 2; if (gArea.locationIndex == 27) { // AREA_TEMPLE_OF_DROPLETS super->y.HALF.HI += 0xd0; @@ -388,7 +388,7 @@ void sub_08085B40(LilypadLargeEntity* this) { } } else { ResetCollisionLayer(super); - if (GetVvvAtEntity(super) == VVV_13) { + if (GetActTileAtEntity(super) == ACT_TILE_13) { ResetCollisionLayer(&gPlayerEntity.base); LilypadLarge_Action4(this); super->direction = GetFacingDirection(&gPlayerEntity.base, super); @@ -410,7 +410,7 @@ void sub_08085B40(LilypadLargeEntity* this) { super->timer |= 0x80; this->unk_70 = 0; this->unk_6c = 0; - if (GetVvvAtEntity(super) == VVV_13) { + if (GetActTileAtEntity(super) == ACT_TILE_13) { super->action = 4; } } @@ -458,7 +458,7 @@ void LilypadLarge_Action5(LilypadLargeEntity* this) { void sub_08085D28(LilypadLargeEntity* this) { if (((gPlayerState.framestate != PL_STATE_TALKEZLO) && ((gPlayerState.flags & PL_FLAGS2) != 0)) && - (GetVvvRelativeToEntity(super, 0, 0x18) == VVV_17)) { + (GetActTileRelativeToEntity(super, 0, 0x18) == ACT_TILE_17)) { super->action = 2; super->subAction = 0; PausePlayer(); diff --git a/src/object/linkEmptyingBottle.c b/src/object/linkEmptyingBottle.c index 84d1da82..fff00408 100644 --- a/src/object/linkEmptyingBottle.c +++ b/src/object/linkEmptyingBottle.c @@ -15,7 +15,7 @@ typedef struct { /*0x68*/ u8 unk_68; } LinkEmptyingBottleEntity; -extern u32 sub_080B1A0C(Entity*, s32, s32); +extern u32 GetTileTypeRelativeToEntity(Entity*, s32, s32); void LinkEmptyingBottle_Init(LinkEmptyingBottleEntity*); void LinkEmptyingBottle_Action1(LinkEmptyingBottleEntity*); @@ -118,7 +118,7 @@ void sub_08094980(LinkEmptyingBottleEntity* this, u32 searchTileIndex, u32 repla while (index < 10) { xOffset = gUnk_08122A28[index]; yOffset = gUnk_08122A28[index + 1]; - if (searchTileIndex == sub_080B1A0C(super, xOffset, yOffset)) { + if (searchTileIndex == GetTileTypeRelativeToEntity(super, xOffset, yOffset)) { SetTile(replaceTileIndex, TILE(super->x.HALF.HI + xOffset, super->y.HALF.HI + yOffset), super->collisionLayer); } diff --git a/src/object/minecart.c b/src/object/minecart.c index f8ed1789..075bb3e4 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -131,7 +131,7 @@ void Minecart_Action2(MinecartEntity* this) { void Minecart_Action3(MinecartEntity* this) { static const s8 offsetCoords[] = { 0, -7, 7, 0, 0, 7, -7, 0 }; - u32 vvv; + u32 actTile; gRoomControls.scrollSpeed = 7; if ((gPlayerState.flags & PL_IN_MINECART) == 0) { @@ -163,14 +163,14 @@ void Minecart_Action3(MinecartEntity* this) { super->subtimer = 60; } - vvv = GetVvvRelativeToEntity(super, offsetCoords[super->animationState * 2], + actTile = GetActTileRelativeToEntity(super, offsetCoords[super->animationState * 2], offsetCoords[super->animationState * 2 + 1]); - if (FindValueForKey(vvv, gUnk_081223D8[super->animationState]) == 0) { + if (FindValueForKey(actTile, gUnk_081223D8[super->animationState]) == 0) { super->direction = DirectionTurnAround(super->direction); super->animationState = AnimationStateFlip90(super->animationState); } else { - switch (vvv) { - case VVV_100: + switch (actTile) { + case ACT_TILE_100: super->flags &= ~ENT_PERSIST; super->hitType = 1; super->collisionFlags = 0x47; @@ -190,15 +190,15 @@ void Minecart_Action3(MinecartEntity* this) { SoundReq(SFX_PLY_VO4); SoundReq(SFX_139); return; - case VVV_103: - case VVV_104: - case VVV_105: - case VVV_106: - case VVV_108: - case VVV_109: - case VVV_110: - case VVV_111: - if (vvv == GetVvvAtEntity(super)) { + case ACT_TILE_103: + case ACT_TILE_104: + case ACT_TILE_105: + case ACT_TILE_106: + case ACT_TILE_108: + case ACT_TILE_109: + case ACT_TILE_110: + case ACT_TILE_111: + if (actTile == GetActTileAtEntity(super)) { Minecart_Action4(this); gPlayerEntity.base.animationState = super->animationState << 1; return; @@ -220,8 +220,8 @@ void Minecart_Action3(MinecartEntity* this) { void Minecart_Action4(MinecartEntity* this) { SnapToTile(super); CopyPosition(super, &gPlayerEntity.base); - switch (GetVvvAtEntity(super)) { - case VVV_103: + switch (GetActTileAtEntity(super)) { + case ACT_TILE_103: if (super->direction == DirectionWest) { super->direction = DirectionNorth; super->animationState = 0; @@ -230,7 +230,7 @@ void Minecart_Action4(MinecartEntity* this) { super->animationState = 1; } break; - case VVV_104: + case ACT_TILE_104: if (super->direction == DirectionEast) { super->direction = DirectionSouth; super->animationState = 2; @@ -239,7 +239,7 @@ void Minecart_Action4(MinecartEntity* this) { super->animationState = 3; } break; - case VVV_105: + case ACT_TILE_105: if (super->direction == DirectionEast) { super->direction = DirectionNorth; super->animationState = 0; @@ -248,7 +248,7 @@ void Minecart_Action4(MinecartEntity* this) { super->animationState = 3; } break; - case VVV_106: + case ACT_TILE_106: if (super->direction == DirectionWest) { super->direction = DirectionSouth; super->animationState = 2; @@ -343,18 +343,18 @@ const KeyValuePair* const gUnk_081223D8[] = { gUnk_08122436, }; const KeyValuePair gUnk_081223E8[] = { - { VVV_242, 1 }, { VVV_101, 1 }, { VVV_104, 1 }, { VVV_106, 1 }, { VVV_100, 1 }, { VVV_41, 1 }, + { ACT_TILE_242, 1 }, { ACT_TILE_101, 1 }, { ACT_TILE_104, 1 }, { ACT_TILE_106, 1 }, { ACT_TILE_100, 1 }, { ACT_TILE_41, 1 }, }; const u16 gUnk_081223E8End = 0; const KeyValuePair gUnk_08122402[] = { - { VVV_243, 1 }, { VVV_102, 1 }, { VVV_104, 1 }, { VVV_105, 1 }, { VVV_100, 1 }, { VVV_41, 1 }, + { ACT_TILE_243, 1 }, { ACT_TILE_102, 1 }, { ACT_TILE_104, 1 }, { ACT_TILE_105, 1 }, { ACT_TILE_100, 1 }, { ACT_TILE_41, 1 }, }; const u16 gUnk_08122402End = 0; const KeyValuePair gUnk_0812241C[] = { - { VVV_242, 1 }, { VVV_101, 1 }, { VVV_103, 1 }, { VVV_105, 1 }, { VVV_100, 1 }, { VVV_41, 1 }, + { ACT_TILE_242, 1 }, { ACT_TILE_101, 1 }, { ACT_TILE_103, 1 }, { ACT_TILE_105, 1 }, { ACT_TILE_100, 1 }, { ACT_TILE_41, 1 }, }; const u16 gUnk_0812241CEnd = 0; const KeyValuePair gUnk_08122436[] = { - { VVV_243, 1 }, { VVV_102, 1 }, { VVV_106, 1 }, { VVV_103, 1 }, { VVV_100, 1 }, { VVV_41, 1 }, + { ACT_TILE_243, 1 }, { ACT_TILE_102, 1 }, { ACT_TILE_106, 1 }, { ACT_TILE_103, 1 }, { ACT_TILE_100, 1 }, { ACT_TILE_41, 1 }, }; const u16 gUnk_08122436End = 0; diff --git a/src/object/objectBlockingStairs.c b/src/object/objectBlockingStairs.c index 2e00c122..76ff017f 100644 --- a/src/object/objectBlockingStairs.c +++ b/src/object/objectBlockingStairs.c @@ -108,9 +108,9 @@ void ObjectBlockingStairs_Action1(ObjectBlockingStairsEntity* this) { } if (this->unk7b & 0x40) { - tileType = (u32)GetTileType(this->tilePos - 1, super->collisionLayer); + tileType = (u32)GetTileTypeAtTilePos(this->tilePos - 1, super->collisionLayer); } else { - tileType = (u32)GetTileType(this->tilePos + 1, super->collisionLayer); + tileType = (u32)GetTileTypeAtTilePos(this->tilePos + 1, super->collisionLayer); } switch (tileType) { diff --git a/src/object/objectOnPillar.c b/src/object/objectOnPillar.c index 76ad4984..f48d7bcd 100644 --- a/src/object/objectOnPillar.c +++ b/src/object/objectOnPillar.c @@ -148,7 +148,7 @@ void ObjectOnPillar_Action4(ObjectOnPillarEntity* this) { bool32 sub_08097008(ObjectOnPillarEntity* this) { Entity* effect; - u32 tileType = GetTileType(this->tilePos, super->collisionLayer); + u32 tileType = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); if (tileType != SPECIAL_TILE_54) { switch (sub_08097074(tileType)) { case 1: @@ -191,7 +191,7 @@ void sub_08097098(ObjectOnPillarEntity* this) { this->unk_76 = 0x20; EnqueueSFX(SFX_10F); SetTile(this->tileIndex, this->tilePos, super->collisionLayer); - tileType = GetTileType(gUnk_080B4488[super->direction >> 3] + this->tilePos, super->collisionLayer); + tileType = GetTileTypeAtTilePos(gUnk_080B4488[super->direction >> 3] + this->tilePos, super->collisionLayer); if ((tileType == 0x79) || tileType == 0x77) { super->spriteOffsetY = 2; } @@ -206,7 +206,7 @@ void sub_080970F4(ObjectOnPillarEntity* this) { bool32 sub_08097144(ObjectOnPillarEntity* this) { LinearMoveUpdate(super); sub_0800445C(super); - if (GetVvvAtEntity(super) == VVV_25) { + if (GetActTileAtEntity(super) == ACT_TILE_25) { super->spriteOffsetY = 2; } if ((--this->unk_76 == 0) && sub_08097194(this) == FALSE) { @@ -222,7 +222,7 @@ bool32 sub_08097194(ObjectOnPillarEntity* this) { if (sub_0800442E(super)) { return TRUE; } else { - u32 tileType = GetTileTypeByEntity(super); + u32 tileType = GetTileTypeAtEntity(super); if (tileType == TILE_TYPE_113 || tileType == TILE_TYPE_114 || tileType == SPECIAL_TILE_32) { SetFlag(this->flag); EnqueueSFX(SFX_10B); diff --git a/src/object/playerClone.c b/src/object/playerClone.c index 4eafeb31..3a39e465 100644 --- a/src/object/playerClone.c +++ b/src/object/playerClone.c @@ -110,7 +110,7 @@ void PlayerClone_Action2(PlayerCloneEntity* this) { if (gPlayerEntity.base.iframes >= 1) { gPlayerState.chargeState.action = 1; } else { - GetVvvAtEntity(super); // TODO why is the return value not used? // leftover from debugging? + GetActTileAtEntity(super); // TODO why is the return value not used? // leftover from debugging? sub_08084B1C(this); super->x.HALF.HI = gPlayerEntity.base.x.HALF.HI + this->unk78; super->y.HALF.HI = gPlayerEntity.base.y.HALF.HI + this->unk7a; @@ -191,8 +191,8 @@ void sub_08084CAC(PlayerCloneEntity* this) { if (((PlayerCloneEntity*)gPlayerClones[super->type])->unk70 == 0) { ptr = &gUnk_080B4468[super->animationState & 6]; - if (GetVvvForTileType( - GetTileType(COORD_TO_TILE_OFFSET(super, -ptr[0], -ptr[1]), super->collisionLayer)) == VVV_114) { + if (GetActTileForTileType( + GetTileTypeAtTilePos(COORD_TO_TILE_OFFSET(super, -ptr[0], -ptr[1]), super->collisionLayer)) == ACT_TILE_114) { ((PlayerCloneEntity*)gPlayerClones[0])->unk6c |= (1 << super->type); } else { ((PlayerCloneEntity*)gPlayerClones[0])->unk6c &= ~(1 << super->type); diff --git a/src/object/pot.c b/src/object/pot.c index ed8504a7..adfcb75d 100644 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -107,7 +107,7 @@ void Pot_Action1(PotEntity* this) { Pot_Action5(this); break; default: - tileType = GetTileTypeByEntity(super); + tileType = GetTileTypeAtEntity(super); if (tileType != 0x4000) { switch (tileType) { case SPECIAL_TILE_4: @@ -129,7 +129,7 @@ void Pot_Action1(PotEntity* this) { DeleteThisEntity(); break; default: - if (GetVvvAtEntity(super) == VVV_13) { + if (GetActTileAtEntity(super) == ACT_TILE_13) { CreateFx(super, FX_FALL_DOWN, 0); } else if (tileType == SPECIAL_TILE_5) { gPlayerState.lastSwordMove = SWORD_MOVE_BREAK_POT; @@ -224,7 +224,7 @@ void Pot_Action4(PotEntity* this) { } this->unk_70 = GetTileIndex(COORD_TO_TILE(super), super->collisionLayer); - tileType = GetTileTypeByEntity(super); + tileType = GetTileTypeAtEntity(super); switch (tileType) { case 0x71: case 0x72: diff --git a/src/object/pushableFurniture.c b/src/object/pushableFurniture.c index 04682181..677ecd1b 100644 --- a/src/object/pushableFurniture.c +++ b/src/object/pushableFurniture.c @@ -492,7 +492,7 @@ void sub_0809028C(PushableFurnitureEntity* this, u32 param_2) { if ((this->unk_83 & 0x20) != 0) { sub_08090480(0, uVar2 + 1); } else { - switch (GetTileType(uVar2, 2)) { + switch (GetTileTypeAtTilePos(uVar2, 2)) { case 0x301: this->unk_83 |= 8; break; @@ -506,7 +506,7 @@ void sub_0809028C(PushableFurnitureEntity* this, u32 param_2) { sub_08090480(0, uVar2); } if ((this->unk_83 & 0x10) != 0) { - switch (GetTileType(pos - 1, 1)) { + switch (GetTileTypeAtTilePos(pos - 1, 1)) { case 0x300: break; default: @@ -516,7 +516,7 @@ void sub_0809028C(PushableFurnitureEntity* this, u32 param_2) { } return; } - switch (GetTileType(pos - 1, 2)) { + switch (GetTileTypeAtTilePos(pos - 1, 2)) { case 0x300: this->unk_83 |= 4; break; @@ -533,7 +533,7 @@ void sub_0809028C(PushableFurnitureEntity* this, u32 param_2) { if ((this->unk_83 & 0x10) != 0) { sub_08090480(0, pos - 1); } else { - switch (GetTileType(pos, 2)) { + switch (GetTileTypeAtTilePos(pos, 2)) { case 0x302: this->unk_83 |= 4; break; @@ -547,7 +547,7 @@ void sub_0809028C(PushableFurnitureEntity* this, u32 param_2) { sub_08090480(0, uVar2); } if ((this->unk_83 & 0x20) != 0) { - switch (GetTileType(uVar2 + 1, 1)) { + switch (GetTileTypeAtTilePos(uVar2 + 1, 1)) { case 0x300: break; default: @@ -557,7 +557,7 @@ void sub_0809028C(PushableFurnitureEntity* this, u32 param_2) { } return; } - switch (GetTileType(uVar2 + 1, 2)) { + switch (GetTileTypeAtTilePos(uVar2 + 1, 2)) { case 0x300: this->unk_83 |= 8; break; @@ -579,12 +579,12 @@ void sub_08090480(u32 param_1, u32 tilePos) { void sub_08090498(PushableFurnitureEntity* this) { u32 tmp = this->unk_70 - 0x80; RestorePrevTileEntity(tmp, 1); - if (((this->unk_83 & 1) != 0) && (GetTileType(tmp, 2) == 0x306)) { + if (((this->unk_83 & 1) != 0) && (GetTileTypeAtTilePos(tmp, 2) == 0x306)) { SetCollisionData(0x62, tmp, 1); } tmp = this->unk_72 - 0x80; RestorePrevTileEntity(tmp, 1); - if (((this->unk_83 & 2) != 0) && (GetTileType(tmp, 2) == 0x308)) { + if (((this->unk_83 & 2) != 0) && (GetTileTypeAtTilePos(tmp, 2) == 0x308)) { SetCollisionData(99, tmp, 1); } } diff --git a/src/object/pushableGrave.c b/src/object/pushableGrave.c index 1c21581d..4ba81982 100644 --- a/src/object/pushableGrave.c +++ b/src/object/pushableGrave.c @@ -149,7 +149,7 @@ bool32 sub_0809785C(PushableGraveEntity* this) { if (super->type != 0) { if (super->type2 != 0) { if ((CheckFlags(this->pushedFlag) != 0) || - GetTileType(this->unk_68, super->collisionLayer) == SPECIAL_TILE_63) { + GetTileTypeAtTilePos(this->unk_68, super->collisionLayer) == SPECIAL_TILE_63) { super->action = 3; super->timer = 64; super->subtimer = 0; diff --git a/src/object/pushableRock.c b/src/object/pushableRock.c index b8c98047..f58afa79 100644 --- a/src/object/pushableRock.c +++ b/src/object/pushableRock.c @@ -41,7 +41,7 @@ void PushableRock_Action1(PushableRockEntity* this) { u32 tileType; u32 tmp; - tileType = GetTileType(this->tilePos, super->collisionLayer); + tileType = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); switch (tileType) { case SPECIAL_TILE_28: case SPECIAL_TILE_29: @@ -87,12 +87,12 @@ void PushableRock_Action3(PushableRockEntity* this) { } void sub_0808A644(PushableRockEntity* this) { - u32 vvv; + u32 actTile; this->tilePos = COORD_TO_TILE(super); this->tileIndex = GetTileIndex(this->tilePos, super->collisionLayer); this->collisionData = GetCollisionDataAtTilePos(this->tilePos, super->collisionLayer); - vvv = GetVvvAtTilePos(this->tilePos, super->collisionLayer); - if ((vvv == VVV_25) || (vvv == VVV_240)) { + actTile = GetActTileAtTilePos(this->tilePos, super->collisionLayer); + if ((actTile == ACT_TILE_25) || (actTile == ACT_TILE_240)) { SetTile(SPECIAL_TILE_21, this->tilePos, super->collisionLayer); super->action = 3; if (!CheckFlags(this->pushedFlag)) { diff --git a/src/object/pushableStatue.c b/src/object/pushableStatue.c index 1649bcef..35fbb3bd 100644 --- a/src/object/pushableStatue.c +++ b/src/object/pushableStatue.c @@ -62,7 +62,7 @@ void PushableStatue_Action1(PushableStatueEntity* this) { Entity* obj; if (sub_0800442E(super) == 0) { - tileType = GetTileType(this->unk_84, super->collisionLayer); + tileType = GetTileTypeAtTilePos(this->unk_84, super->collisionLayer); if (tileType != SPECIAL_TILE_11) { switch (sub_0808968C(tileType)) { case 1: @@ -110,7 +110,7 @@ void PushableStatue_SubAction0(PushableStatueEntity* this) { ptr = &gUnk_08120CB4[index]; PositionRelative(super, &gPlayerEntity.base, Q_16_16(ptr[0]), Q_16_16(ptr[1])); } - tileType = GetTileType(this->unk_84, super->collisionLayer); + tileType = GetTileTypeAtTilePos(this->unk_84, super->collisionLayer); if (tileType != SPECIAL_TILE_11) { switch (sub_0808968C(tileType)) { case 1: @@ -166,7 +166,7 @@ void sub_08089454(PushableStatueEntity* this) { this->unk_84 = COORD_TO_TILE(super); this->unk_80 = GetTileIndex(this->unk_84, super->collisionLayer); SetTile(SPECIAL_TILE_11, this->unk_84, super->collisionLayer); - if (super->collisionLayer == 2 && GetTileType(this->unk_84, 1) == 0x310) { + if (super->collisionLayer == 2 && GetTileTypeAtTilePos(this->unk_84, 1) == 0x310) { SetTile(SPECIAL_TILE_11, this->unk_84, LAYER_BOTTOM); } } @@ -197,10 +197,10 @@ void sub_08089538(PushableStatueEntity* this) { this->unk_86 = 0x20; EnqueueSFX(SFX_10F); SetTile(this->unk_80, this->unk_84, super->collisionLayer); - if ((super->collisionLayer == 2) && (GetTileType(this->unk_84, LAYER_BOTTOM) == SPECIAL_TILE_11)) { + if ((super->collisionLayer == 2) && (GetTileTypeAtTilePos(this->unk_84, LAYER_BOTTOM) == SPECIAL_TILE_11)) { CloneTile(TILE_TYPE_784, this->unk_84, 1); } - tileType = GetTileType(this->unk_84 + gUnk_080B4488[super->direction >> 3], super->collisionLayer); + tileType = GetTileTypeAtTilePos(this->unk_84 + gUnk_080B4488[super->direction >> 3], super->collisionLayer); if ((tileType == TILE_TYPE_121) || (tileType == TILE_TYPE_119)) { super->spriteOffsetY = -2; } @@ -258,14 +258,14 @@ bool32 sub_080896B0(void) { const s16* ptr; u32 tmp1; u32 tmp2; - u32 vvv; + u32 actTile; if (((gPlayerState.heldObject & 0x1f) == 0x12) && ((gPlayerEntity.base.frame & 1) != 0)) { ptr = &gUnk_080B4468[gPlayerEntity.base.animationState & 6]; uVar1 = gUnk_080B4488[gPlayerEntity.base.animationState >> 1]; uVar4 = COORD_TO_TILE_OFFSET(&gPlayerEntity.base, -ptr[0], -ptr[1]) - uVar1; - vvv = GetVvvAtTilePos(uVar4, gPlayerEntity.base.collisionLayer); - if ((vvv - 0x26 > 1) && (vvv != VVV_41)) { + actTile = GetActTileAtTilePos(uVar4, gPlayerEntity.base.collisionLayer); + if ((actTile - 0x26 > 1) && (actTile != ACT_TILE_41)) { mapLayer = GetLayerByIndex(gPlayerEntity.base.collisionLayer); iVar2 = (uVar4 * 0x10000) >> 0x10; tmp1 = mapLayer->collisionData[iVar2]; diff --git a/src/object/rotatingTrapdoor.c b/src/object/rotatingTrapdoor.c index f8e05f49..3351b1d7 100644 --- a/src/object/rotatingTrapdoor.c +++ b/src/object/rotatingTrapdoor.c @@ -31,7 +31,7 @@ void RotatingTrapdoor_Init(Entity* this) { this->action = 1; x = 0; y = 0; - switch (GetTileTypeByEntity(this)) { + switch (GetTileTypeAtEntity(this)) { case 0x343: x = 0x10; case 0x344: diff --git a/src/object/smallIceBlock.c b/src/object/smallIceBlock.c index ebd83cbe..8aab1f91 100644 --- a/src/object/smallIceBlock.c +++ b/src/object/smallIceBlock.c @@ -85,7 +85,7 @@ void SmallIceBlock_Action1(SmallIceBlockEntity* this) { } } else { if (!sub_0800442E(super)) { - tileType = GetTileType(this->tilePos, super->collisionLayer); + tileType = GetTileTypeAtTilePos(this->tilePos, super->collisionLayer); if (tileType != SPECIAL_TILE_90) { switch (sub_08099618(tileType)) { case 1: @@ -186,10 +186,10 @@ void sub_080994B8(SmallIceBlockEntity* this) { EnqueueSFX(SFX_ICE_BLOCK_SLIDE); SetTile(this->unk_6c, this->tilePos, super->collisionLayer); - if ((super->collisionLayer == 2) && (GetTileType(this->tilePos, 1) == SPECIAL_TILE_90)) { + if ((super->collisionLayer == 2) && (GetTileTypeAtTilePos(this->tilePos, 1) == SPECIAL_TILE_90)) { CloneTile(TILE_TYPE_784, this->tilePos, 1); } - tileType = GetTileType(this->tilePos + gUnk_080B4488[super->direction >> 3], super->collisionLayer); + tileType = GetTileTypeAtTilePos(this->tilePos + gUnk_080B4488[super->direction >> 3], super->collisionLayer); if (tileType == 0x79 || tileType == 0x77) { super->spriteOffsetY = -2; } diff --git a/src/object/smokeParticle.c b/src/object/smokeParticle.c index 91145f3d..ac05de1f 100644 --- a/src/object/smokeParticle.c +++ b/src/object/smokeParticle.c @@ -71,8 +71,8 @@ void sub_080878CC(Entity* this) { for (itX = -0x10; itX < 0x11; itX += 0x10) { for (itY = -0x10; itY < 0x11; itY += 0x10) { tilePos = TILE((u32)x + itX, (u32)y + itY); - if (GetVvvAtTilePos(tilePos, (u8)layer) == VVV_46) { - switch (GetTileType(tilePos, layer)) { + if (GetActTileAtTilePos(tilePos, (u8)layer) == ACT_TILE_46) { + switch (GetTileTypeAtTilePos(tilePos, layer)) { case 0x368: case 0x367: DoTileInteraction(this, 3, x + itX, y + itY); diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index 67542aa8..283d64be 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -60,7 +60,7 @@ void TreeHidingPortal_Action1(TreeHidingPortalEntity* this) { } } } - if (sub_0809E9A0() == VVV_84) { + if (sub_0809E9A0() == ACT_TILE_84) { super->action = 2; super->timer = 15; SetPlayerControl(1); @@ -110,15 +110,15 @@ static void sub_0809E96C(TreeHidingPortalEntity* this) { } static u32 sub_0809E9A0(void) { - u32 vvv; + u32 actTile; const s16* ptr; if (gPlayerEntity.base.action != PLAYER_BOUNCE) { - vvv = VVV_0; + actTile = ACT_TILE_0; } else { ptr = &gUnk_080B4468[gPlayerEntity.base.animationState & 6]; - vvv = GetVvvAtTilePos(COORD_TO_TILE_OFFSET(&gPlayerEntity.base, -ptr[0], -ptr[1]), 1); + actTile = GetActTileAtTilePos(COORD_TO_TILE_OFFSET(&gPlayerEntity.base, -ptr[0], -ptr[1]), 1); } - return vvv; + return actTile; } diff --git a/src/object/well.c b/src/object/well.c index b4b9b962..0e19e21a 100644 --- a/src/object/well.c +++ b/src/object/well.c @@ -38,7 +38,7 @@ void Well_Init(WellEntity* this) { } void Well_Action1(WellEntity* this) { - u32 tileIndex = GetTileType(this->unk_80, LAYER_BOTTOM); + u32 tileIndex = GetTileTypeAtTilePos(this->unk_80, LAYER_BOTTOM); if (tileIndex != SPECIAL_TILE_125) { PausePlayer(); gPlayerEntity.base.x.WORD = super->x.WORD; diff --git a/src/physics.c b/src/physics.c index 80401e6a..99bc50df 100644 --- a/src/physics.c +++ b/src/physics.c @@ -233,8 +233,8 @@ bool32 sub_0806F854(Entity* ent, s32 x, s32 y) { bool32 sub_0806F8DC(Entity* ent) { if (ent->collisionLayer & 2) return FALSE; - if (!GetTileTypeByPos(ent->x.HALF.HI, ent->y.HALF.HI - 4, 2)) { - GetTileTypeByPos(ent->x.HALF.HI, ent->y.HALF.HI - 4, ent->collisionLayer); + if (!GetTileTypeAtWorldCoords(ent->x.HALF.HI, ent->y.HALF.HI - 4, 2)) { + GetTileTypeAtWorldCoords(ent->x.HALF.HI, ent->y.HALF.HI - 4, ent->collisionLayer); ent->spriteRendering.b3 = 1; ent->spriteOrientation.flipY = 1; return FALSE; diff --git a/src/player.c b/src/player.c index eab7b575..c394ea0d 100644 --- a/src/player.c +++ b/src/player.c @@ -1976,7 +1976,7 @@ static void PlayerRoomTransition(PlayerEntity* this) { static void sub_080724DC(PlayerEntity* this) { super->knockbackDuration = 0; DeleteClones(); - if (GetVvvAtEntity(super) != VVV_41) { + if (GetActTileAtEntity(super) != ACT_TILE_41) { if ((gPlayerState.remainingDiveTime == 0) && (gPlayerState.swim_state != 0)) { PlayerUpdateSwimming(super); } @@ -2002,7 +2002,7 @@ static void sub_080724DC(PlayerEntity* this) { static void sub_0807258C(PlayerEntity* this) { if (gRoomControls.reload_flags == 0) { - if (GetVvvInFront(super) == VVV_41) { + if (GetActTileInFront(super) == ACT_TILE_41) { UpdatePlayerMovement(); if (sub_080797C4() != 0) { gPlayerState.startPosX = gPlayerEntity.base.x.HALF.HI; @@ -2367,7 +2367,7 @@ static void sub_08072D54(PlayerEntity* this) { LinearMoveUpdate(super); super->timer--; } else { - uVar2 = GetTileType(sub_0806F730(super), super->collisionLayer); + uVar2 = GetTileTypeAtTilePos(sub_0806F730(super), super->collisionLayer); switch (super->subtimer) { case 0: if (FindValueForKey(uVar2, sTileTable[gPlayerEntity.base.animationState >> 1])) { @@ -2627,7 +2627,7 @@ static void PlayerUseStairs(PlayerEntity* this) { static void sub_080732D0(PlayerEntity* this) { UpdateAnimationSingleFrame(super); - if (GetVvvAtEntity(super) != VVV_40) { + if (GetActTileAtEntity(super) != ACT_TILE_40) { super->direction = DirectionNorth; LinearMoveUpdate(super); } else { @@ -4114,7 +4114,7 @@ void sub_0807529C(PlayerEntity* this) { void sub_080752AC(PlayerEntity* this, ScriptExecutionContext* ctx) { LinearMoveUpdate(super); if (!ctx->unk_18) { - if (GetVvvAtEntity(super) != VVV_41) { + if (GetActTileAtEntity(super) != ACT_TILE_41) { ctx->unk_18 = 1; ctx->unk_19 = 6; } diff --git a/src/playerItem/playerItemBottle.c b/src/playerItem/playerItemBottle.c index 6ee9d0d1..47eeed56 100644 --- a/src/playerItem/playerItemBottle.c +++ b/src/playerItem/playerItemBottle.c @@ -280,7 +280,7 @@ void PlayerItemBottle_UseEmptyBottle(Entity* this) { if (this->spriteSettings.flipX != 0) { iVar2 = -iVar2; } - if (GetVvvRelativeToEntity(this, iVar2, (s8)ptr2[1]) == VVV_16) { + if (GetActTileRelativeToEntity(this, iVar2, (s8)ptr2[1]) == ACT_TILE_16) { this->type2 = ITEM_BOTTLE_WATER; } } diff --git a/src/playerItem/playerItemCellOverwriteSet.c b/src/playerItem/playerItemCellOverwriteSet.c index 21c005b7..5cacca03 100644 --- a/src/playerItem/playerItemCellOverwriteSet.c +++ b/src/playerItem/playerItemCellOverwriteSet.c @@ -17,8 +17,8 @@ typedef struct { /*0x6c*/ u16 tileType; } PlayerItemCellOverwriteSetEntity; -// vvv for specialTile -const u8 gMapSpecialTileToVvv[] = { +// actTile for specialTile +const u8 gMapSpecialTileToActTile[] = { 0, // SPECIAL_TILE_0 0, // SPECIAL_TILE_1 0, // SPECIAL_TILE_2 @@ -39,19 +39,19 @@ const u8 gMapSpecialTileToVvv[] = { 0, // SPECIAL_TILE_17 0, // SPECIAL_TILE_18 0, // SPECIAL_TILE_19 - VVV_241, // SPECIAL_TILE_20 + ACT_TILE_241, // SPECIAL_TILE_20 0, // SPECIAL_TILE_21 0, // SPECIAL_TILE_22 - VVV_83, // SPECIAL_TILE_23 - VVV_242, // SPECIAL_TILE_24 - VVV_243, // SPECIAL_TILE_25 + ACT_TILE_83, // SPECIAL_TILE_23 + ACT_TILE_242, // SPECIAL_TILE_24 + ACT_TILE_243, // SPECIAL_TILE_25 0, // SPECIAL_TILE_26 0, // SPECIAL_TILE_27 0, // SPECIAL_TILE_28 0, // SPECIAL_TILE_29 0, // SPECIAL_TILE_30 0, // SPECIAL_TILE_31 - VVV_240, // SPECIAL_TILE_32 + ACT_TILE_240, // SPECIAL_TILE_32 0, // SPECIAL_TILE_33 0, // SPECIAL_TILE_34 0, // SPECIAL_TILE_35 @@ -83,15 +83,15 @@ const u8 gMapSpecialTileToVvv[] = { 0, // SPECIAL_TILE_61 0, // SPECIAL_TILE_62 0, // SPECIAL_TILE_63 - VVV_61, // SPECIAL_TILE_64 - VVV_61, // SPECIAL_TILE_65 - VVV_61, // SPECIAL_TILE_66 - VVV_61, // SPECIAL_TILE_67 - VVV_61, // SPECIAL_TILE_68 - VVV_61, // SPECIAL_TILE_69 - VVV_61, // SPECIAL_TILE_70 - VVV_61, // SPECIAL_TILE_71 - VVV_61, // SPECIAL_TILE_72 + ACT_TILE_61, // SPECIAL_TILE_64 + ACT_TILE_61, // SPECIAL_TILE_65 + ACT_TILE_61, // SPECIAL_TILE_66 + ACT_TILE_61, // SPECIAL_TILE_67 + ACT_TILE_61, // SPECIAL_TILE_68 + ACT_TILE_61, // SPECIAL_TILE_69 + ACT_TILE_61, // SPECIAL_TILE_70 + ACT_TILE_61, // SPECIAL_TILE_71 + ACT_TILE_61, // SPECIAL_TILE_72 0, // SPECIAL_TILE_73 0, // SPECIAL_TILE_74 0, // SPECIAL_TILE_75 @@ -100,7 +100,7 @@ const u8 gMapSpecialTileToVvv[] = { 0, // SPECIAL_TILE_78 0, // SPECIAL_TILE_79 0, // SPECIAL_TILE_80 - VVV_58, // SPECIAL_TILE_81 + ACT_TILE_58, // SPECIAL_TILE_81 0, // SPECIAL_TILE_82 0, // SPECIAL_TILE_83 0, // SPECIAL_TILE_84 @@ -124,7 +124,7 @@ const u8 gMapSpecialTileToVvv[] = { 0, // SPECIAL_TILE_102 0, // SPECIAL_TILE_103 0, // SPECIAL_TILE_104 - VVV_40, // SPECIAL_TILE_105 + ACT_TILE_40, // SPECIAL_TILE_105 0, // SPECIAL_TILE_106 0, // SPECIAL_TILE_107 0, // SPECIAL_TILE_108 @@ -136,35 +136,35 @@ const u8 gMapSpecialTileToVvv[] = { 0, // SPECIAL_TILE_114 0, // SPECIAL_TILE_115 0, // SPECIAL_TILE_116 - VVV_18, // SPECIAL_TILE_117 - VVV_18, // SPECIAL_TILE_118 - VVV_18, // SPECIAL_TILE_119 - VVV_18, // SPECIAL_TILE_120 - VVV_18, // SPECIAL_TILE_121 - VVV_18, // SPECIAL_TILE_122 - VVV_18, // SPECIAL_TILE_123 - VVV_18, // SPECIAL_TILE_124 + ACT_TILE_18, // SPECIAL_TILE_117 + ACT_TILE_18, // SPECIAL_TILE_118 + ACT_TILE_18, // SPECIAL_TILE_119 + ACT_TILE_18, // SPECIAL_TILE_120 + ACT_TILE_18, // SPECIAL_TILE_121 + ACT_TILE_18, // SPECIAL_TILE_122 + ACT_TILE_18, // SPECIAL_TILE_123 + ACT_TILE_18, // SPECIAL_TILE_124 0, // SPECIAL_TILE_125 - VVV_116, // SPECIAL_TILE_126 - VVV_116, // SPECIAL_TILE_127 - VVV_41, // SPECIAL_TILE_128 + ACT_TILE_116, // SPECIAL_TILE_126 + ACT_TILE_116, // SPECIAL_TILE_127 + ACT_TILE_41, // SPECIAL_TILE_128 0, // SPECIAL_TILE_129 - VVV_35, // SPECIAL_TILE_130 - VVV_41, // SPECIAL_TILE_131 - VVV_41, // SPECIAL_TILE_132 - VVV_41, // SPECIAL_TILE_133 - VVV_41, // SPECIAL_TILE_134 - VVV_41, // SPECIAL_TILE_135 - VVV_41, // SPECIAL_TILE_136 - VVV_16, // SPECIAL_TILE_137 - VVV_16, // SPECIAL_TILE_138 - VVV_16, // SPECIAL_TILE_139 - VVV_16, // SPECIAL_TILE_140 - VVV_41, // SPECIAL_TILE_141 - VVV_80, // SPECIAL_TILE_142 - VVV_81, // SPECIAL_TILE_143 + ACT_TILE_35, // SPECIAL_TILE_130 + ACT_TILE_41, // SPECIAL_TILE_131 + ACT_TILE_41, // SPECIAL_TILE_132 + ACT_TILE_41, // SPECIAL_TILE_133 + ACT_TILE_41, // SPECIAL_TILE_134 + ACT_TILE_41, // SPECIAL_TILE_135 + ACT_TILE_41, // SPECIAL_TILE_136 + ACT_TILE_16, // SPECIAL_TILE_137 + ACT_TILE_16, // SPECIAL_TILE_138 + ACT_TILE_16, // SPECIAL_TILE_139 + ACT_TILE_16, // SPECIAL_TILE_140 + ACT_TILE_41, // SPECIAL_TILE_141 + ACT_TILE_80, // SPECIAL_TILE_142 + ACT_TILE_81, // SPECIAL_TILE_143 0, // SPECIAL_TILE_144 - VVV_15, // SPECIAL_TILE_145 + ACT_TILE_15, // SPECIAL_TILE_145 0, // SPECIAL_TILE_146 0, // SPECIAL_TILE_147 0, // SPECIAL_TILE_148 @@ -342,7 +342,7 @@ void PlayerItemCellOverwriteSet(PlayerItemCellOverwriteSetEntity* this) { Entity* player = &gPlayerEntity.base; if (super->action == 0) { - this->tileType = GetTileType(TILE(player->x.HALF.HI + offsetByDirection[player->animationState & 0xe], + this->tileType = GetTileTypeAtTilePos(TILE(player->x.HALF.HI + offsetByDirection[player->animationState & 0xe], player->y.HALF.HI + offsetByDirection[(player->animationState & 0xe) + 1]), super->collisionLayer); super->action++; @@ -351,7 +351,7 @@ void PlayerItemCellOverwriteSet(PlayerItemCellOverwriteSetEntity* this) { tmp = gInput.heldKeys & R_BUTTON; if ((gInput.heldKeys & A_BUTTON) != 0) { if ((gInput.newKeys & R_BUTTON) != 0) { - this->tileType = GetTileType(TILE(player->x.HALF.HI + offsetByDirection[player->animationState & 0xe], + this->tileType = GetTileTypeAtTilePos(TILE(player->x.HALF.HI + offsetByDirection[player->animationState & 0xe], player->y.HALF.HI + offsetByDirection[(player->animationState & 0xe) + 1]), super->collisionLayer); } diff --git a/src/playerItem/playerItemGustBig.c b/src/playerItem/playerItemGustBig.c index a27b8101..7281139d 100644 --- a/src/playerItem/playerItemGustBig.c +++ b/src/playerItem/playerItemGustBig.c @@ -172,10 +172,10 @@ void PlayerItemGustBig_Action2(PlayerItemGustBigEntity* this) { if (super->type2 == 0) { sub_0800451C(super); } - if (FindValueForKey(sub_080B1A0C(super, x, y), gUnk_080B3DF4)) { + if (FindValueForKey(GetTileTypeRelativeToEntity(super, x, y), gUnk_080B3DF4)) { return; } - if (GetVvvRelativeToEntity(super, x, y) == VVV_116) { + if (GetActTileRelativeToEntity(super, x, y) == ACT_TILE_116) { return; } if (sub_080040D8(super, (u8*)gUnk_08003E44, super->x.HALF.HI + x, super->y.HALF.HI + y) == 0) { diff --git a/src/playerItem/playerItemHeldObject.c b/src/playerItem/playerItemHeldObject.c index 31fa9be5..3bb07ec0 100644 --- a/src/playerItem/playerItemHeldObject.c +++ b/src/playerItem/playerItemHeldObject.c @@ -122,8 +122,8 @@ void PlayerItemHeldObject_SubAction2(PlayerItemHeldObjectEntity* this) { super->direction = super->knockbackDirection; super->knockbackDuration = 0; } - if (GetVvvRelativeToEntity(super, gUnk_081320C4[super->direction >> 2], - gUnk_081320C4[(super->direction >> 2) + 1]) == VVV_116) { + if (GetActTileRelativeToEntity(super, gUnk_081320C4[super->direction >> 2], + gUnk_081320C4[(super->direction >> 2) + 1]) == ACT_TILE_116) { LinearMoveUpdate(super); } else { data = GetCollisionDataAtEntity(super); @@ -136,27 +136,27 @@ void PlayerItemHeldObject_SubAction2(PlayerItemHeldObjectEntity* this) { (child->base).x = super->x; (child->base).y = super->y; (child->base).z = super->z; - data = GetVvvAtEntity(super); + data = GetActTileAtEntity(super); switch (data) { - case VVV_13: - case VVV_16: - case VVV_17: - case VVV_19: - case VVV_90: + case ACT_TILE_13: + case ACT_TILE_16: + case ACT_TILE_17: + case ACT_TILE_19: + case ACT_TILE_90: if (child == this) { switch (data) { - case VVV_13: + case ACT_TILE_13: CreateFx(super, FX_FALL_DOWN, 0); break; - case VVV_90: + case ACT_TILE_90: CreateFx(super, FX_LAVA_SPLASH, 0); break; - case VVV_16: - case VVV_17: + case ACT_TILE_16: + case ACT_TILE_17: CreateFx(super, FX_WATER_SPLASH, 0); break; - case VVV_19: + case ACT_TILE_19: CreateFx(super, FX_GREEN_SPLASH, 0); break; } diff --git a/src/playerItem/playerItemPacciCaneProjectile.c b/src/playerItem/playerItemPacciCaneProjectile.c index d7138a0f..251274c9 100644 --- a/src/playerItem/playerItemPacciCaneProjectile.c +++ b/src/playerItem/playerItemPacciCaneProjectile.c @@ -128,7 +128,7 @@ void PlayerItemPacciCaneProjectile_Action1(PlayerItemPacciCaneProjectileEntity* } if (sub_080B1BA4(COORD_TO_TILE(super), gPlayerEntity.base.collisionLayer, 0x80) == 0) { if (sub_080040D8(super, &gUnk_08003E44, super->x.HALF.HI, super->y.HALF.HI) == 0) { - if (GetVvvAtEntity(super) == VVV_25) { + if (GetActTileAtEntity(super) == ACT_TILE_25) { super->action = 4; COLLISION_OFF(super); super->x.HALF.HI = (super->x.HALF.HI & 0xfff0) | 8; diff --git a/src/playerItem/playerItemSword.c b/src/playerItem/playerItemSword.c index 63587abc..1bf1d9e7 100644 --- a/src/playerItem/playerItemSword.c +++ b/src/playerItem/playerItemSword.c @@ -374,7 +374,7 @@ void sub_080A7A84(PlayerItemSwordEntity* this) { (gPlayerState.sword_state != 0)) && ((gPlayerState.sword_state & 0xc0) == 0)) { entity = super; - if (GetVvvRelativeToEntity(entity, xOffset, yOffset) == VVV_46) { + if (GetActTileRelativeToEntity(entity, xOffset, yOffset) == ACT_TILE_46) { SoundReqClipped(&gPlayerEntity.base, SFX_ITEM_GLOVES_KNOCKBACK); } else { SoundReqClipped(&gPlayerEntity.base, SFX_METAL_CLINK); diff --git a/src/playerUtils.c b/src/playerUtils.c index 111ccfda..dc4c807b 100644 --- a/src/playerUtils.c +++ b/src/playerUtils.c @@ -69,7 +69,7 @@ extern u8 gUpdateVisibleTiles; bool32 sub_0807BF88(u32, u32, RoomResInfo*); -void sub_0807BFD0(void); +void SetupTileSet(void); void ForceSetPlayerState(u32 framestate); InteractableObject* sub_080784E4(void); @@ -77,7 +77,7 @@ InteractableObject* sub_080784E4(void); u32 sub_08079778(void); u32 GetPlayerTilePos(void); -extern const KeyValuePair gMapVvvToSurfaceType[]; +extern const KeyValuePair gMapActTileToSurfaceType[]; u32 sub_0807BEEC(u32 param_1, u32 param_2, u32 param_3); @@ -105,7 +105,7 @@ extern const u16* sub_0806FC50(u32 param_1, u32 param_2); bool32 sub_08079F48(u32 param_1, u32 param_2); -extern void FillVvvForLayer(MapLayer* mapLayer); +extern void FillActTileForLayer(MapLayer* mapLayer); extern u16 gUnk_080B77C0[]; @@ -836,7 +836,7 @@ const KeyValuePair gUnk_0811C254[] = { { 43, 1 }, { 38, 1 } }; const u16 gUnk_0811C254End = 0; const KeyValuePair gUnk_0811C25E[] = { { 44, 1 }, { 39, 1 } }; const u16 gUnk_0811C25EEnd = 0; -const KeyValuePair gUnk_0811C268[] = { { VVV_16, 1 }, { VVV_90, 1 }, { VVV_17, 1 }, { VVV_19, 1 } }; +const KeyValuePair gUnk_0811C268[] = { { ACT_TILE_16, 1 }, { ACT_TILE_90, 1 }, { ACT_TILE_17, 1 }, { ACT_TILE_19, 1 } }; const u16 gUnk_0811C268EEnd = 0; void sub_0807B114(PlayerEntity*); @@ -897,7 +897,7 @@ void sub_08077F84(void) { Entity* obj; if ((gPlayerEntity.base.collisionLayer & 2) == 0) { - u32 tileType = GetTileTypeByPos(gPlayerEntity.base.x.HALF.HI, gPlayerEntity.base.y.HALF.HI - 12, LAYER_TOP); + u32 tileType = GetTileTypeAtWorldCoords(gPlayerEntity.base.x.HALF.HI, gPlayerEntity.base.y.HALF.HI - 12, LAYER_TOP); if (tileType == TILE_TYPE_835 || tileType == TILE_TYPE_836 || tileType == TILE_TYPE_837 || tileType == TILE_TYPE_838) { sub_0807AA80(&gPlayerEntity.base); gPlayerState.jump_status |= 8; @@ -1476,7 +1476,7 @@ u32 sub_080789A8(void) { } ptr = &gUnk_08007DF4[gPlayerEntity.base.animationState & 6]; - gCarriedEntity.unk_4 = uVar2 = sub_080B1A0C(&gPlayerEntity.base, (s8)ptr[0], (s8)ptr[1]); + gCarriedEntity.unk_4 = uVar2 = GetTileTypeRelativeToEntity(&gPlayerEntity.base, (s8)ptr[0], (s8)ptr[1]); if (!sub_0806FC24(uVar2, 6)) return 0; @@ -2022,10 +2022,10 @@ bool32 sub_08079550(void) { tilePos2 = COORD_TO_TILE_OFFSET(&gPlayerEntity.base, (gPlayerEntity.base.hitbox)->unk2[2], -ptr[1]); } - uVar3 = GetVvvAtTilePos(tilePos1, gPlayerEntity.base.collisionLayer); + uVar3 = GetActTileAtTilePos(tilePos1, gPlayerEntity.base.collisionLayer); uVar3 = FindValueForKey(uVar3, gUnk_0811C1E8[gPlayerEntity.base.animationState >> 1]); if (uVar3 != 0) { - uVar3 = GetVvvAtTilePos(tilePos2, gPlayerEntity.base.collisionLayer); + uVar3 = GetActTileAtTilePos(tilePos2, gPlayerEntity.base.collisionLayer); uVar3 = FindValueForKey(uVar3, gUnk_0811C1E8[gPlayerEntity.base.animationState >> 1]); if (uVar3 != 0) { gPlayerState.pushedObject |= 0x80; @@ -2354,13 +2354,13 @@ bool32 sub_08079C30(Entity* player) { return TRUE; } - if (gPlayerState.floor_type != FindValueForKey(GetVvvRelativeToEntity(player, 0, -1), gMapVvvToSurfaceType)) + if (gPlayerState.floor_type != FindValueForKey(GetActTileRelativeToEntity(player, 0, -1), gMapActTileToSurfaceType)) return FALSE; - if (gPlayerState.floor_type != FindValueForKey(GetVvvRelativeToEntity(player, 2, 0), gMapVvvToSurfaceType)) + if (gPlayerState.floor_type != FindValueForKey(GetActTileRelativeToEntity(player, 2, 0), gMapActTileToSurfaceType)) return FALSE; - if (gPlayerState.floor_type == FindValueForKey(GetVvvRelativeToEntity(player, -2, 0), gMapVvvToSurfaceType)) { + if (gPlayerState.floor_type == FindValueForKey(GetActTileRelativeToEntity(player, -2, 0), gMapActTileToSurfaceType)) { return TRUE; } } @@ -2372,7 +2372,7 @@ bool32 sub_08079D48(void) { return TRUE; } else { if (!PlayerCheckNEastTile()) { - if (!FindValueForKey((u16)GetVvvAtEntity(&gPlayerEntity.base), gUnk_0811C268)) { + if (!FindValueForKey((u16)GetActTileAtEntity(&gPlayerEntity.base), gUnk_0811C268)) { return TRUE; } } @@ -2593,7 +2593,7 @@ void UpdateFloorType(void) { SurfaceType GetSurfaceCalcType(Entity* param_1, s32 x, s32 y) { u32 position = TILE(param_1->x.HALF.HI + (u32)x, param_1->y.HALF.HI + y); - u32 tileType = GetTileTypeByPos(param_1->x.HALF.HI + x, param_1->y.HALF.HI + y, gPlayerEntity.base.collisionLayer); + u32 tileType = GetTileTypeAtWorldCoords(param_1->x.HALF.HI + x, param_1->y.HALF.HI + y, gPlayerEntity.base.collisionLayer); if (tileType != gPlayerState.tileType) { gPlayerState.surfaceTimer = 0; } @@ -2610,8 +2610,8 @@ SurfaceType GetSurfaceCalcType(Entity* param_1, s32 x, s32 y) { gPlayerState.surfaceTimer++; } gPlayerState.floor_type_last = gPlayerState.floor_type; - tileType = GetVvvRelativeToEntity(param_1, x, y); // tileType is a vvv here - return FindValueForKey(tileType, gMapVvvToSurfaceType); + tileType = GetActTileRelativeToEntity(param_1, x, y); // tileType is a actTile here + return FindValueForKey(tileType, gMapActTileToSurfaceType); } void EnablePlayerDraw(Entity* this) { @@ -2655,7 +2655,7 @@ u32 sub_0807A2F8(u32 param_1) { iVar4 = 0; uVar2 = sub_08004202(&gPlayerEntity.base, auStack36, uVar2); if (GetCollisionDataAtTilePos(uVar2 >> 1, LAYER_BOTTOM)) { - if (!FindValueForKey((u16)GetVvvAtTilePos((u16)(uVar2 >> 1), gPlayerEntity.base.collisionLayer), + if (!FindValueForKey((u16)GetActTileAtTilePos((u16)(uVar2 >> 1), gPlayerEntity.base.collisionLayer), gUnk_0811C1D8[gPlayerEntity.base.animationState >> 1])) { break; } @@ -2665,7 +2665,7 @@ u32 sub_0807A2F8(u32 param_1) { uVar1 = sub_08004202(&gPlayerEntity.base, auStack36, uVar1); if (GetCollisionDataAtTilePos(uVar1 >> 1, LAYER_BOTTOM)) { - if (!FindValueForKey((u16)GetVvvAtTilePos((uVar1 >> 1), gPlayerEntity.base.collisionLayer), + if (!FindValueForKey((u16)GetActTileAtTilePos((uVar1 >> 1), gPlayerEntity.base.collisionLayer), gUnk_0811C1D8[gPlayerEntity.base.animationState >> 1])) { break; } @@ -2855,7 +2855,7 @@ void sub_0807A750(u32 param_1, u32 param_2, const u8* param_3, u32 param_4) { } } -u32 GetVvvInFront(Entity* this) { +u32 GetActTileInFront(Entity* this) { s32 x; s32 y; switch (this->direction) { @@ -2880,7 +2880,7 @@ u32 GetVvvInFront(Entity* this) { x = 0; break; } - return GetVvvRelativeToEntity(this, x, y); + return GetActTileRelativeToEntity(this, x, y); } void nullsub_505(void) { @@ -2951,7 +2951,7 @@ void sub_0807AAF8(Entity* this, u32 tilePos) { void sub_0807AB44(Entity* this, s32 xOffset, s32 yOffset) { Entity* object; const u16* ptr = - sub_0806FC50(GetTileType(COORD_TO_TILE_OFFSET(this, -xOffset, -yOffset), this->collisionLayer), 0xb); + sub_0806FC50(GetTileTypeAtTilePos(COORD_TO_TILE_OFFSET(this, -xOffset, -yOffset), this->collisionLayer), 0xb); if (ptr != NULL) { if (ptr[3] == 0x76) { object = CreateObject(FLAME, 1, 0); @@ -3287,20 +3287,20 @@ void SetTileType(u32 tileType, u32 tilePos, u32 layer) { u8 collisionData; u16 tileIndex; MapLayer* mapLayer; - u16* src; + u16* subTiles; u16* dest; if (tileType < 0x800) { UnregisterInteractTile(tilePos, layer); mapLayer = GetLayerByIndex(layer); - tileIndex = mapLayer->unkData2[tileType]; + tileIndex = mapLayer->tileIndices[tileType]; mapLayer->mapData[tilePos] = tileIndex; collisionData = gMapTileTypeToCollisionData[tileType]; mapLayer->collisionData[tilePos] = collisionData; if ((gRoomControls.scroll_flags & 2) != 0) { gMapBottom.collisionData[tilePos] = collisionData; } - mapLayer->vvv[tilePos] = gMapTileTypeToVvv[tileType]; + mapLayer->actTiles[tilePos] = gMapTileTypeToActTile[tileType]; if ((gRoomControls.scroll_flags & 1) == 0) { u32 offset = (tilePos & 0x3f) * 2 + (tilePos & 0xfc0) * 4; if (layer != 2) { @@ -3308,12 +3308,12 @@ void SetTileType(u32 tileType, u32 tilePos, u32 layer) { } else { dest = gMapDataTopSpecial + offset; } - src = mapLayer->tiles + tileIndex * 4; + subTiles = mapLayer->subTiles + tileIndex * 4; // Copy over the tilemap entries (tile_attrs) to the special map data but in a different order. - dest[0] = src[0]; - dest[1] = src[1]; - dest[0x80] = src[2]; - dest[0x81] = src[3]; + dest[0] = subTiles[0]; + dest[1] = subTiles[1]; + dest[0x80] = subTiles[2]; + dest[0x81] = subTiles[3]; if (gRoomControls.reload_flags != 1) { gUpdateVisibleTiles = 1; } @@ -3326,17 +3326,17 @@ void SetTileType(u32 tileType, u32 tilePos, u32 layer) { } bool32 sub_0807B434(u32 tilePos, u32 layer) { - switch (GetTileType(tilePos, layer)) { + switch (GetTileTypeAtTilePos(tilePos, layer)) { case TILE_TYPE_54: case TILE_TYPE_55: return FALSE; default: - return GetVvvAtTilePos(tilePos, layer) != VVV_13; + return GetActTileAtTilePos(tilePos, layer) != ACT_TILE_13; } } bool32 sub_0807B464(u32 tilePos, u32 layer) { - return GetVvvAtTilePos(tilePos, layer) == VVV_86; + return GetActTileAtTilePos(tilePos, layer) == ACT_TILE_86; } void sub_0807B480(u32 tilePos, u32 param_2) { @@ -3353,11 +3353,11 @@ void sub_0807B480(u32 tilePos, u32 param_2) { tmp1 |= sub_0807B464(tilePos - 1, LAYER_TOP) << 3; tmp1 |= sub_0807B464(tilePos + 0x41, LAYER_BOTTOM) << 1; tmp1 |= sub_0807B464(tilePos + 0x3f, LAYER_BOTTOM) << 3; - if (GetTileType(tilePos + 0x40, LAYER_TOP) != 0) { + if (GetTileTypeAtTilePos(tilePos + 0x40, LAYER_TOP) != 0) { tmp1 |= sub_0807B464(tilePos + 0x80, LAYER_BOTTOM) << 2; } tmp2 = gUnk_0811C2CC[tmp1]; - tileType = GetTileType(tilePos, LAYER_TOP); + tileType = GetTileTypeAtTilePos(tilePos, LAYER_TOP); ptr = gUnk_0811C2EC; tmp3 = 0; for (; *ptr != 0; ptr = ptr + 3) { @@ -3398,10 +3398,10 @@ u32 sub_0807B600(u32 tilePos) { u32 tilePos2; tilePos2 = tilePos - 0x40; - if (GetVvvAtTilePos(tilePos, LAYER_BOTTOM) != VVV_86) { + if (GetActTileAtTilePos(tilePos, LAYER_BOTTOM) != ACT_TILE_86) { return FALSE; } else { - tileType = GetTileType(tilePos, LAYER_BOTTOM); + tileType = GetTileTypeAtTilePos(tilePos, LAYER_BOTTOM); if (tileType == TILE_TYPE_618) { sub_0807B820(tilePos); } else if (tileType == TILE_TYPE_615) { @@ -3415,7 +3415,7 @@ u32 sub_0807B600(u32 tilePos) { } else if (tileType == TILE_TYPE_647) { sub_0807B930(tilePos + 0x40); } else { - if (GetTileType(tilePos, LAYER_TOP) != 0) { + if (GetTileTypeAtTilePos(tilePos, LAYER_TOP) != 0) { SetTileType(TILE_TYPE_754, tilePos, LAYER_BOTTOM); if (GetCollisionDataAtTilePos(tilePos2, LAYER_BOTTOM) == COLLISION_DATA_3) { SetTileType(TILE_TYPE_756, tilePos2, LAYER_BOTTOM); @@ -3428,7 +3428,7 @@ u32 sub_0807B600(u32 tilePos) { } if (sub_0807B464(tilePos2, LAYER_TOP)) { SetTileType(0, tilePos2, LAYER_TOP); - if (GetTileType(tilePos2, LAYER_BOTTOM) == TILE_TYPE_754) { + if (GetTileTypeAtTilePos(tilePos2, LAYER_BOTTOM) == TILE_TYPE_754) { SetTileType(TILE_TYPE_756, tilePos2, LAYER_BOTTOM); } sub_0807B55C(tilePos + 1, 1, (u16*)&gUnk_0811C2AC); @@ -3446,7 +3446,7 @@ u32 sub_0807B600(u32 tilePos) { void sub_0807B778(u32 tilePos, u32 layer) { u32 tmp; - if (GetVvvAtTilePos(tilePos, layer) == VVV_13) { + if (GetActTileAtTilePos(tilePos, layer) == ACT_TILE_13) { tmp = sub_0807B434(tilePos + TILE_POS(0, -1), layer); tmp |= sub_0807B434(tilePos + TILE_POS(1, 0), layer) << 1; tmp |= sub_0807B434(tilePos + TILE_POS(0, 1), layer) << 2; @@ -3504,30 +3504,30 @@ void sub_0807B930(u32 tilePos) { SetTileType(TILE_TYPE_658, tilePos + TILE_POS(1, 0), LAYER_BOTTOM); } -void SetTileByIndex(u32 tileIndex, u32 position, u32 layer) { +void SetTileByIndex(u32 tileIndex, u32 tilePos, u32 layer) { MapLayer* mapLayer; - u16* src; + u16* subTiles; u16* dest; u16 tileType; - UnregisterInteractTile(position, layer); + UnregisterInteractTile(tilePos, layer); mapLayer = GetLayerByIndex(layer); - mapLayer->mapData[position] = tileIndex; + mapLayer->mapData[tilePos] = tileIndex; tileType = mapLayer->tileTypes[tileIndex]; - mapLayer->collisionData[position] = gMapTileTypeToCollisionData[tileType]; - mapLayer->vvv[position] = gMapTileTypeToVvv[tileType]; + mapLayer->collisionData[tilePos] = gMapTileTypeToCollisionData[tileType]; + mapLayer->actTiles[tilePos] = gMapTileTypeToActTile[tileType]; if ((gRoomControls.scroll_flags & 1) == 0) { - u32 offset = (position & 0x3f) * 2 + (position & 0xfc0) * 4; + u32 offset = (tilePos & 0x3f) * 2 + (tilePos & 0xfc0) * 4; if (layer != 2) { dest = gMapDataBottomSpecial + offset; } else { dest = gMapDataTopSpecial + offset; } - src = mapLayer->tiles + tileIndex * 4; - *dest = *src; - dest[1] = src[1]; - dest[0x80] = src[2]; - dest[0x81] = src[3]; + subTiles = mapLayer->subTiles + tileIndex * 4; + *dest = *subTiles; + dest[1] = subTiles[1]; + dest[0x80] = subTiles[2]; + dest[0x81] = subTiles[3]; if (gRoomControls.reload_flags != 1) { gUpdateVisibleTiles = 1; } @@ -3539,14 +3539,14 @@ void RestorePrevTileEntity(u32 tilePos, u32 layer) { u32 tileType; MapLayer* mapLayer; u16* dest; - u16* src; + u16* subTiles; UnregisterInteractTile(tilePos, layer); mapLayer = GetLayerByIndex(layer); mapLayer->mapData[tilePos] = tileIndex = mapLayer->mapDataOriginal[tilePos]; tileType = mapLayer->tileTypes[tileIndex]; mapLayer->collisionData[tilePos] = gMapTileTypeToCollisionData[tileType]; - mapLayer->vvv[tilePos] = gMapTileTypeToVvv[tileType]; + mapLayer->actTiles[tilePos] = gMapTileTypeToActTile[tileType]; if ((gRoomControls.scroll_flags & 1) == 0) { u32 offset = (tilePos & 0x3f) * 2 + (tilePos & 0xfc0) * 4; if (layer != 2) { @@ -3554,11 +3554,11 @@ void RestorePrevTileEntity(u32 tilePos, u32 layer) { } else { dest = gMapDataTopSpecial + offset; } - src = &mapLayer->tiles[tileIndex * 4]; - dest[0] = src[0]; - dest[1] = src[1]; - dest[0x80] = src[2]; - dest[0x81] = src[3]; + subTiles = &mapLayer->subTiles[tileIndex * 4]; + dest[0] = subTiles[0]; + dest[1] = subTiles[1]; + dest[0x80] = subTiles[2]; + dest[0x81] = subTiles[3]; if (gRoomControls.reload_flags != 1) { gUpdateVisibleTiles = 1; } @@ -3813,12 +3813,11 @@ void sub_0807BFA8(void) { gRoomControls.height = (gArea.pCurrentRoomInfo)->pixel_height; } -void sub_0807BFD0(void) { +void SetupTileSet(void) { s32 index; - u16* puVar2; - u16* puVar3; - u16* ptr; - typeof(gMapTop)* newptr; + u16* tileTypes; + u16* tileIndices; + u16* paletteBuffer; ClearBgAnimations(); sub_0807BFA8(); @@ -3827,37 +3826,37 @@ void sub_0807BFD0(void) { MemFill16(0xffff, gMapTop.tileTypes, 0x1000); gMapTop.tileTypes[0] = 0; - if ((void*)gRoomControls.unk_34 != (gArea.pCurrentRoomInfo)->tileset) { - gRoomControls.unk_34 = (u32)(gArea.pCurrentRoomInfo)->tileset; + if ((void*)gRoomControls.tileset != (gArea.pCurrentRoomInfo)->tileset) { + gRoomControls.tileset = (u32)(gArea.pCurrentRoomInfo)->tileset; LoadMapData((gArea.pCurrentRoomInfo)->tileset); } LoadMapData((gArea.pCurrentRoomInfo)->tiles); - ptr = gPaletteBuffer; - MemCopy(&ptr[0x30], &ptr[0x150], 0x20); + paletteBuffer = gPaletteBuffer; + MemCopy(&paletteBuffer[0x30], &paletteBuffer[0x150], 0x20); gUsedPalettes |= 0x200000; if ((gArea.pCurrentRoomInfo)->bg_anim != NULL) { LoadBgAnimations((gArea.pCurrentRoomInfo)->bg_anim); } - puVar2 = gMapBottom.tileTypes; - puVar3 = gMapBottom.unkData2; - MemFill16(0xffff, puVar3, 0x1000); + tileTypes = gMapBottom.tileTypes; + tileIndices = gMapBottom.tileIndices; + MemFill16(0xffff, tileIndices, 0x1000); - for (index = 0; index < 0x800; index++, puVar2++) { - if ((*puVar2 < 0x800) && (puVar3[*puVar2] == 0xffff)) { - puVar3[*puVar2] = index; + for (index = 0; index < 0x800; index++, tileTypes++) { + if ((*tileTypes < 0x800) && (tileIndices[*tileTypes] == 0xffff)) { + tileIndices[*tileTypes] = index; } } - puVar2 = gMapTop.tileTypes; - puVar3 = gMapTop.unkData2; - MemFill16(0xffff, puVar3, 0x1000); + tileTypes = gMapTop.tileTypes; + tileIndices = gMapTop.tileIndices; + MemFill16(0xffff, tileIndices, 0x1000); - for (index = 0; index < 0x800; index++, puVar2++) { - if ((*puVar2 < 0x800) && (puVar3[*puVar2] == 0xffff)) { - puVar3[*puVar2] = index; + for (index = 0; index < 0x800; index++, tileTypes++) { + if ((*tileTypes < 0x800) && (tileIndices[*tileTypes] == 0xffff)) { + tileIndices[*tileTypes] = index; } } } @@ -3889,18 +3888,18 @@ void LoadRoomGfx(void) { MemCopy(gMapBottom.mapData, gMapBottom.mapDataOriginal, sizeof(gMapBottom.mapData)); MemCopy(gMapTop.mapData, gMapTop.mapDataOriginal, sizeof(gMapBottom.mapData)); } else if (gRoomTransition.field2d == 2) { - MemCopy(gMapBottom.mapData, gMapBottom.vvv, 0x1000); + MemCopy(gMapBottom.mapData, gMapBottom.actTiles, 0x1000); MemCopy(gMapBottom.mapDataOriginal, gMapBottom.mapData, 0x1000); - MemCopy(gMapBottom.vvv, gMapBottom.mapDataOriginal, 0x1000); - MemCopy(gMapBottom.mapData + 0x800, gMapBottom.vvv, 0x1000); + MemCopy(gMapBottom.actTiles, gMapBottom.mapDataOriginal, 0x1000); + MemCopy(gMapBottom.mapData + 0x800, gMapBottom.actTiles, 0x1000); MemCopy(gMapBottom.mapDataOriginal + 0x800, gMapBottom.mapData + 0x800, 0x1000); - MemCopy(gMapBottom.vvv, gMapBottom.mapDataOriginal + 0x800, 0x1000); - MemCopy(gMapTop.mapData, gMapTop.vvv, 0x1000); + MemCopy(gMapBottom.actTiles, gMapBottom.mapDataOriginal + 0x800, 0x1000); + MemCopy(gMapTop.mapData, gMapTop.actTiles, 0x1000); MemCopy(gMapTop.mapDataOriginal, gMapTop.mapData, 0x1000); - MemCopy(gMapTop.vvv, gMapTop.mapDataOriginal, 0x1000); - MemCopy(gMapTop.mapData + 0x800, gMapTop.vvv, 0x1000); + MemCopy(gMapTop.actTiles, gMapTop.mapDataOriginal, 0x1000); + MemCopy(gMapTop.mapData + 0x800, gMapTop.actTiles, 0x1000); MemCopy(gMapTop.mapDataOriginal + 0x800, gMapTop.mapData + 0x800, 0x1000); - MemCopy(gMapTop.vvv, gMapTop.mapDataOriginal + 0x800, 0x1000); + MemCopy(gMapTop.actTiles, gMapTop.mapDataOriginal + 0x800, 0x1000); } if (!clearBottomMap) { sub_0807BBE4(); @@ -3910,8 +3909,8 @@ void LoadRoomGfx(void) { sub_0807C460(); } CreateCollisionDataBorderAroundRoom(); - FillVvvForLayer(&gMapBottom); - FillVvvForLayer(&gMapTop); + FillActTileForLayer(&gMapBottom); + FillActTileForLayer(&gMapTop); if (!clearBottomMap) { // Render the complete bottom and top tilemaps into the tilemaps. RenderMapLayerToSubTileMap(gMapDataBottomSpecial, &gMapBottom); @@ -4153,7 +4152,7 @@ void InitializeCamera() { u32 tmp1; u32 tmp2; - sub_0807BFD0(); + SetupTileSet(); LoadRoomGfx(); roomControls = &gRoomControls; target = gRoomControls.camera_target; @@ -4213,12 +4212,12 @@ void sub_0807C810(void) { DiggingCaveEntranceTransition* ptr; Entity* player; RoomControls* ctrls; - sub_0807BFD0(); + SetupTileSet(); ptr = &gDiggingCaveEntranceTransition; player = &gPlayerEntity.base; ctrls = &gRoomControls; - player->x.HALF.HI = ((ptr->entrance)->targetTilePosition & 0x3f) * 0x10 + ctrls->origin_x + ptr->offsetX; - player->y.HALF.HI = (((ptr->entrance)->targetTilePosition & 0xfc0) >> 2) + ctrls->origin_y + ptr->offsetY; + player->x.HALF.HI = ((ptr->entrance)->targetTilePos & 0x3f) * 0x10 + ctrls->origin_x + ptr->offsetX; + player->y.HALF.HI = (((ptr->entrance)->targetTilePos & 0xfc0) >> 2) + ctrls->origin_y + ptr->offsetY; sub_080809D4(); gUpdateVisibleTiles = 0; } @@ -4291,11 +4290,11 @@ void LoadCompressedMapData(void* dest, u32 offset) { } } -void sub_0807C998(u32* a1) { - LoadCompressedMapData(&gMapBottom.tiles, a1[0]); - LoadCompressedMapData(&gMapBottom.tileTypes, a1[1]); - LoadCompressedMapData(&gMapTop.tiles, a1[2]); - LoadCompressedMapData(&gMapTop.tileTypes, a1[3]); +void sub_0807C998(u32* dest) { + LoadCompressedMapData(&gMapBottom.subTiles, dest[0]); + LoadCompressedMapData(&gMapBottom.tileTypes, dest[1]); + LoadCompressedMapData(&gMapTop.subTiles, dest[2]); + LoadCompressedMapData(&gMapTop.tileTypes, dest[3]); } void sub_0807C9D8(u32* a1) { diff --git a/src/projectile/gleerokProjectile.c b/src/projectile/gleerokProjectile.c index 2b01180f..3fd4bbf5 100644 --- a/src/projectile/gleerokProjectile.c +++ b/src/projectile/gleerokProjectile.c @@ -151,7 +151,7 @@ void sub_080A90D8(GleerokProjectileEntity* this) { if (this->unk_74 != TILE(super->x.HALF.HI, super->y.HALF.HI)) { this->unk_74 = TILE(super->x.HALF.HI, super->y.HALF.HI); - tmp = GetTileTypeByEntity(super); + tmp = GetTileTypeAtEntity(super); if ((tmp == 0x13) || (tmp == 0x34)) { sub_0807B7D8(0x34c, TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer); } diff --git a/src/projectile/mandiblesProjectile.c b/src/projectile/mandiblesProjectile.c index 200457e6..3bd4e97c 100644 --- a/src/projectile/mandiblesProjectile.c +++ b/src/projectile/mandiblesProjectile.c @@ -118,7 +118,7 @@ void MandiblesProjectile_Action2(MandiblesProjectileEntity* this) { EnqueueSFX(SFX_15D); } this->unk_78 = TILE(super->x.HALF.HI, super->y.HALF.HI); - if (GetTileType(this->unk_78, super->collisionLayer) == SPECIAL_TILE_0) { + if (GetTileTypeAtTilePos(this->unk_78, super->collisionLayer) == SPECIAL_TILE_0) { SetTile(SPECIAL_TILE_5, this->unk_78, super->collisionLayer); } } diff --git a/src/projectile/removableDust.c b/src/projectile/removableDust.c index 34aad80f..c6b7a5ff 100644 --- a/src/projectile/removableDust.c +++ b/src/projectile/removableDust.c @@ -74,7 +74,7 @@ void sub_080AA494(RemovableDustEntity* this) { u32 index; index = 0; - tileType = GetTileTypeByEntity(super); + tileType = GetTileTypeAtEntity(super); iterator = gUnk_08129FD0; while (*iterator != 0) { if (*(iterator++) == tileType) { @@ -100,7 +100,7 @@ void sub_080AA534(Entity* this) { void sub_080AA544(RemovableDustEntity* this) { u8* pbVar1; - s32 vvv; + s32 actTile; u32 uVar3; s32 iVar4; const u16* puVar5; @@ -113,8 +113,8 @@ void sub_080AA544(RemovableDustEntity* this) { uVar3 = 0; iVar4 = 0; do { - vvv = GetVvvAtTilePos((tilePos - tmp[uVar3]) & 0xffff, super->collisionLayer); - if (vvv == VVV_62) { + actTile = GetActTileAtTilePos((tilePos - tmp[uVar3]) & 0xffff, super->collisionLayer); + if (actTile == ACT_TILE_62) { iVar4++; } uVar3++; diff --git a/src/projectile/v1FireProjectile.c b/src/projectile/v1FireProjectile.c index f0bbabfa..bdf914bf 100644 --- a/src/projectile/v1FireProjectile.c +++ b/src/projectile/v1FireProjectile.c @@ -119,7 +119,7 @@ void sub_080AB4A4(V1FireProjectileEntity* this) { tilePos = TILE(super->x.HALF.HI, super->y.HALF.HI); if (oldTilePos != tilePos) { this->tilePos = tilePos; - switch (GetTileTypeByEntity(super)) { + switch (GetTileTypeAtEntity(super)) { case 0x13: case 0x34: sub_0807B7D8(0x34c, this->tilePos, super->collisionLayer); diff --git a/src/projectile/v2Projectile.c b/src/projectile/v2Projectile.c index b7557eb7..b96a2be5 100644 --- a/src/projectile/v2Projectile.c +++ b/src/projectile/v2Projectile.c @@ -105,7 +105,7 @@ void sub_080ABCC4(V2ProjectileEntity* this) { super->subtimer = 0; super->direction = Random() & 0x1f; this->tilePos = TILE(super->x.HALF.HI, super->y.HALF.HI); - this->tileType = GetTileType(this->tilePos, LAYER_TOP); + this->tileType = GetTileTypeAtTilePos(this->tilePos, LAYER_TOP); super->spritePriority.b0 = 2; InitializeAnimation(super, 0); SoundReq(SFX_14B); @@ -127,7 +127,7 @@ void sub_080ABD70(V2ProjectileEntity* this) { super->frame &= 0xef; super->speed = 0; this->tilePos = TILE(super->x.HALF.HI, super->y.HALF.HI); - this->tileType = GetTileType(this->tilePos, LAYER_TOP); + this->tileType = GetTileTypeAtTilePos(this->tilePos, LAYER_TOP); tmp = this->tileType; if (tmp != 0x13) { if (tmp == 0x315) { diff --git a/src/scroll.c b/src/scroll.c index a4bd3f76..efd589c3 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -30,7 +30,7 @@ extern u16 gUnk_0200B640; extern MapDataDefinition** gCaveBorderMapData[]; extern u16 gUnk_02022830[0xc00]; extern u16 gUnk_020246B0[0xc00]; -extern u8 gMapSpecialTileToVvv[]; +extern u8 gMapSpecialTileToActTile[]; void Scroll0(RoomControls*); void Scroll1(RoomControls*); @@ -54,7 +54,7 @@ u32 sub_080803D0(); u32 sub_08080278(); void sub_08080C80(MapDataDefinition*); void sub_08080368(); -void FillVvvForLayer(MapLayer* mapLayer); +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); void sub_080808D8(s32); @@ -355,8 +355,8 @@ void Scroll5Sub3(RoomControls* controls) { sub_08080368(); gUnk_02034480.unk_00 = gUnk_0200B640; MemCopy(gUnk_02022830, gUnk_020246B0, 0x1800); - FillVvvForLayer(&gMapBottom); - FillVvvForLayer(&gMapTop); + FillActTileForLayer(&gMapBottom); + FillActTileForLayer(&gMapTop); sub_0807BBE4(); CreateCollisionDataBorderAroundRoom(); sub_0805E248(); @@ -843,7 +843,7 @@ void sub_080809D4(void) { } void UpdateDoorTransition() { - u32 vvv; + u32 actTile; u32 x; u32 y; RoomControls* controls = &gRoomControls; @@ -864,35 +864,35 @@ void UpdateDoorTransition() { case 0x1d: y = controls->camera_target->y.HALF.HI - controls->origin_y; x = controls->camera_target->x.HALF.HI - controls->origin_x; - vvv = GetVvvAtTilePos( + actTile = GetActTileAtTilePos( (((controls->camera_target->x.HALF.HI - controls->origin_x) >> 4) & 0x3F) | ((((controls->camera_target->y.HALF.HI - controls->origin_y) >> 4) & 0x3F) << 6), controls->camera_target->collisionLayer); - gRoomTransition.stairs_idx = sub_080B1A48(x, y, controls->camera_target->collisionLayer); - switch (vvv) { - case VVV_63: - case VVV_241: - case VVV_40: - case VVV_41: + gRoomTransition.stairs_idx = GetTileTypeAtRoomCoords(x, y, controls->camera_target->collisionLayer); + switch (actTile) { + case ACT_TILE_63: + case ACT_TILE_241: + case ACT_TILE_40: + case ACT_TILE_41: sub_080806BC(x, y, 0xff, 10); break; } } } -// fill the vvv for the whole layer -void FillVvvForLayer(MapLayer* mapLayer) { +// fill the actTile for the whole layer +void FillActTileForLayer(MapLayer* mapLayer) { u32 tilePos; u16* tileTypes = mapLayer->tileTypes; - const u8* ptr = gMapTileTypeToVvv; - u8* ptr3 = mapLayer->vvv; + const u8* ptr = gMapTileTypeToActTile; + u8* actTiles = mapLayer->actTiles; u16* mapData = mapLayer->mapData; for (tilePos = 0; tilePos < 0x40 * 0x40; tilePos++) { u16 tileIndex = mapData[tilePos]; if (tileIndex < 0x4000) { - mapLayer->vvv[tilePos] = ptr[tileTypes[tileIndex]]; + mapLayer->actTiles[tilePos] = ptr[tileTypes[tileIndex]]; } else { - mapLayer->vvv[tilePos] = gMapSpecialTileToVvv[tileIndex - 0x4000]; + mapLayer->actTiles[tilePos] = gMapSpecialTileToActTile[tileIndex - 0x4000]; } } }