#include "asm.h" #include "collision.h" #include "common.h" #include "enemy.h" #include "entity.h" #include "functions.h" #include "game.h" #include "global.h" #include "item.h" #include "object.h" #include "player.h" #include "save.h" #include "tiles.h" extern u8 gCollidableCount; extern u8 gUnk_080B3740[]; typedef enum { COL_FLAG_1 = 1, COL_FLAG_2 = 2, COL_FLAG_4 = 4, COL_FLAG_8 = 8, } ColSettingsFlags; typedef struct { /*0x00*/ u8 orgKnockbackSpeed; /*0x01*/ u8 orgIframes; /*0x02*/ u8 orgKnockbackDuration; /*0x03*/ u8 tgtDamage; /*0x04*/ u8 orgConfusedTime; /*0x05*/ u8 tgtKnockbackSpeed; /*0x06*/ s8 tgtIframes; /*0x07*/ u8 tgtKnockbackDuration; /*0x08*/ u8 orgDamage; /*0x09*/ u8 tgtConfusedTime; /*0x0a*/ u8 flags; /**< @see ColSettingsFlags */ /*0x0b*/ u8 pad; } ColSettings; extern ColSettings gCollisionMtx[173 * 34]; extern void ram_CollideAll(void); u32 sub_08081420(Entity*); extern void SoundReqClipped(Entity*, u32); void sub_08079D84(void); void sub_080180BC(Entity*, Entity*); typedef struct { void* last; void* first; void* node; u8 flags; } LinkedList2; extern LinkedList2 gUnk_03003C70[16]; extern LinkedList2* gUnk_02018EA0; void ClearHitboxList(void) { gCollidableCount = 0; } void CollisionMain(void) { void (*doCollision)(void); u32 prio; // pick highest priority prio = gPriorityHandler.event_priority; if (gPriorityHandler.event_priority <= gPriorityHandler.ent_priority) prio = gPriorityHandler.ent_priority; // if any priority is set, dont do collision if (prio != 0) return; doCollision = &ram_CollideAll; // Check to see if we should disable collision this frame if (gPlayerState.controlMode != CONTROL_ENABLED) { u32 flags = gPlayerEntity.base.flags; COLLISION_OFF(&gPlayerEntity.base); doCollision(); gPlayerEntity.base.flags = flags; // reset collision to before } else { doCollision(); } } void RegisterPlayerHitbox(void) { MemClear(&gUnk_03003C70, sizeof(gUnk_03003C70)); gUnk_02018EA0 = (LinkedList2*)&gUnk_03003C70[0].last; gUnk_03003C70[0].last = &gUnk_03003C70[0].last; gUnk_03003C70[0].first = &gUnk_03003C70[0].last; gUnk_03003C70[0].node = &gPlayerEntity.base; } u32 sub_0801766C(Entity* this) { u32 uVar1; LinkedList2* puVar3; LinkedList2* puVar2; LinkedList2* pLVar2; LinkedList2* i; LinkedList2* end; u8* pbVar4; if (this->spritePriority.b2 != 0) { return 1; } else { for (i = gUnk_03003C70, end = gUnk_03003C70 + 16; end > i; ++i) { if (i->node == NULL) { i->node = this; i->flags = 0; this->spritePriority.b2 = 1; pLVar2 = gUnk_02018EA0; if (gUnk_02018EA0->flags != 0) { do { pLVar2 = pLVar2->first; } while (pLVar2->flags != 0); i->first = pLVar2; puVar3 = pLVar2->last; i->last = puVar3; puVar3->first = i; pLVar2->last = i; } else { i->first = gUnk_02018EA0; puVar2 = gUnk_02018EA0->last; i->last = puVar2; puVar2->first = i; gUnk_02018EA0->last = i; gUnk_02018EA0 = i; } return 1; } } return 0; } } u32 sub_080176E4(Entity* this) { u32 uVar1; LinkedList2* j; LinkedList2* i; LinkedList2* end; u8* pbVar4; if (this->spritePriority.b2 != 0) { return 1; } else { for (i = gUnk_03003C70, end = gUnk_03003C70 + 16; end > i; ++i) { if (i->node == NULL) { i->node = this; i->flags = 1; this->spritePriority.b2 = 1; i->first = gUnk_02018EA0; j = gUnk_02018EA0->last; i->last = j; j->first = i; gUnk_02018EA0->last = i; gUnk_02018EA0 = i; return 1; } } return 0; } } void sub_08017744(Entity* this) { LinkedList2* ll = gUnk_03003C70; LinkedList2* end = &gUnk_03003C70[16]; do { if (this == ll->node) { if (this->spritePriority.b2 != 0) { this->spritePriority.b2 = 0; ll->node = NULL; ((LinkedList2*)ll->last)->first = ll->first; ((LinkedList2*)ll->first)->last = ll->last; if (ll == gUnk_02018EA0) gUnk_02018EA0 = ll->first; break; } } } while (end > ++ll); } bool32 IsColliding(Entity* this, Entity* that) { u32 this_d; u32 depth; if ((this->collisionLayer & that->collisionLayer) != 0) { Hitbox* bb_this = this->hitbox; Hitbox* bb_that = that->hitbox; u32 this_len = bb_this->width; u32 sumw = this_len + bb_that->width; if ((((this->x.HALF.HI - that->x.HALF.HI) + bb_this->offset_x) - bb_that->offset_x) + sumw <= (sumw)*2) { this_len = bb_this->height; sumw = this_len + bb_that->height; if ((((this->y.HALF.HI - that->y.HALF.HI) + bb_this->offset_y) - bb_that->offset_y) + sumw <= (sumw)*2) { if ((this->collisionFlags & 0x10) != 0) this_d = ((Hitbox3D*)bb_this)->depth; else this_d = 5; if ((that->collisionFlags & 0x10) != 0) depth = this_d + ((Hitbox3D*)bb_that)->depth; else depth = this_d + 5; if ((this->z.HALF.HI - that->z.HALF.HI) + depth <= depth * 2) return TRUE; } } } return FALSE; } bool32 IsCollidingPlayer(Entity* this) { if (PlayerCanBeMoved()) return IsColliding(this, &gPlayerEntity.base); return FALSE; } s32 CalculateDamage(Entity* org, Entity* tgt) { s32 damage; s32 health; if (org->kind == PLAYER) { damage = tgt->damage; switch (gSave.stats.charm) { case BOTTLE_CHARM_NAYRU: damage /= 4; break; case BOTTLE_CHARM_FARORE: damage /= 2; break; } if (damage <= 0) damage = 1; health = ModHealth(-damage); SoundReqClipped(org, SFX_PLY_VO6); } else { damage = tgt->damage; if (tgt->kind == PLAYER_ITEM) { switch (gSave.stats.charm) { case BOTTLE_CHARM_FARORE: damage = 3 * damage / 2; break; case BOTTLE_CHARM_DIN: damage *= 2; break; } } health = org->health - damage; if (org->kind == ENEMY) { if (((Enemy*)org)->enemyFlags & EM_FLAG_BOSS) SoundReqClipped(org, SFX_BOSS_HIT); else SoundReqClipped(org, SFX_HIT); } } if (health <= 0) { COLLISION_OFF(org); return 0; } return health; } void sub_08017940(Entity* org, Entity* tgt) { Entity* e; u32 r1; e = CreateFx(tgt, FX_REFECT3, 0); if (e != NULL) { e->spritePriority.b0 = 2; e->x.HALF.HI = (org->x.HALF.HI + org->hitbox->offset_x + tgt->x.HALF.HI + tgt->hitbox->offset_x) >> 1; e->y.HALF.HI = (org->y.HALF.HI + org->hitbox->offset_y + tgt->y.HALF.HI + tgt->hitbox->offset_y) >> 1; e->z.HALF.HI = (org->z.HALF.HI + tgt->z.HALF.HI) >> 1; e->collisionLayer = org->collisionLayer; UpdateSpriteForCollisionLayer(e); } r1 = 0; r1 = (u32)(org == &gPlayerEntity.base ? gPlayerEntity.base.knockbackDuration : (tgt == &gPlayerEntity.base ? tgt->knockbackDuration : 0)) >> 3; // Anything requiring the evaluation of r1 could be written here. // The compiler is not smart enough to know that r1 has no side effects, // so the above code will still generate. r1 = !r1 ? !!r1 : !!!r1; } void sub_080179EC(Entity* a1, Entity* a2) { const u8* p = (const u8[]){ FX_27, FX_32, FX_33, FX_34 }; u32 rand = Random(); Entity* e = CreateFx(a2, p[rand & 3], 0); if (e != NULL) { PositionRelative(a2, e, Q_16_16(a2->hitbox->offset_x), Q_16_16(a2->hitbox->offset_y)); e->spritePriority.b0 = 2; e->spriteOffsetX = (a1->x.HALF.HI + a1->hitbox->offset_x - (a2->x.HALF.HI + a2->hitbox->offset_x)) >> 1; e->spriteOffsetY = (a1->y.HALF.HI + a1->hitbox->offset_y - (a2->y.HALF.HI + a2->hitbox->offset_y)) >> 1; e->child = a2; } } Entity* sub_08017A90(Entity* a1, Entity* parent) { Entity* e; e = (Entity*)CreateObject(HIT_SWITCH, 0, 0); if (e != NULL) { e->animationState = (a1->direction >> 3) & 3; e->spriteOffsetX = a1->x.HALF.HI - parent->x.HALF.HI; e->spriteOffsetY = a1->y.HALF.HI - parent->y.HALF.HI; e->parent = parent; return e; } return NULL; } typedef CollisionResult (*CollisionHandler)(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult CollisionDefault(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult CollisionNoOp(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult CollisionGroundItem(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017B58(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017EB0(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017F3C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017F40(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_0801802C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017DD4(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_080180E8(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017BBC(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017C40(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017D6C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017D28(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08018168(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08018228(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08018250(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult CollisionMazaalShrinkRay(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_080182A8(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017B1C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017CBC(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); CollisionResult sub_08017E88(Entity* org, Entity* tgt, u32 direction, ColSettings* settings); const CollisionHandler gCollisionHandlers[] = { CollisionDefault, CollisionNoOp, CollisionNoOp, CollisionGroundItem, sub_08017B58, sub_08017EB0, sub_08017F3C, sub_08017F40, sub_0801802C, sub_08017DD4, sub_080180E8, sub_08017BBC, sub_08017C40, sub_08017D6C, sub_08017D28, sub_08018168, sub_08018228, sub_08018250, CollisionMazaalShrinkRay, sub_080182A8, sub_08017B1C, sub_08017CBC, sub_08017E88, }; CollisionResult CollisionNoOp(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { return RESULT_NO_COLLISION; } // origin: player or sword // target: item CollisionResult CollisionGroundItem(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { COLLISION_OFF(tgt); tgt->contactFlags = org->hurtType | CONTACT_NOW; if ((tgt->type == 0x5F || tgt->type == 0x60) && sub_08081420(tgt)) tgt->health = 0; return RESULT_COLLISION_WITHOUT_SET; } CollisionResult sub_08017B1C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if ((gPlayerState.dash_state & 0x60) != 0) { COLLISION_OFF(tgt); } else { org->knockbackDuration = 0x10; org->iframes = -20; org->knockbackSpeed = 640; } return RESULT_COLLISION; } CollisionResult sub_08017B58(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if ((tgt->gustJarState & 4) != 0) { if (tgt->gustJarTolerance) { tgt->gustJarTolerance = tgt->gustJarTolerance - gPlayerState.gustJarCharge; if ((s8)tgt->gustJarTolerance <= 0) { tgt->gustJarTolerance = 0; tgt->subAction = 2; tgt->knockbackSpeed = 0; } } } else { tgt->subAction = 0; tgt->gustJarState |= 4; } if (tgt->iframes == 0) tgt->iframes = -1; return RESULT_COLLISION; } CollisionResult sub_08017BBC(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if ((gPlayerState.flags & (PL_BUSY | PL_MINISH | PL_BURNING | PL_IN_MINECART)) == 0) { Entity* e = CreateObject(LINK_FIRE, 1, 0); if (e != NULL) { e->child = org; gPlayerState.flags |= PL_BURNING; org->animationState = Direction8ToAnimationState(DirectionTurnAround(direction)); } } tgt->damage = 4; org->health = CalculateDamage(org, tgt); org->knockbackDuration = 12; org->iframes = 30; org->knockbackSpeed = 384; if (tgt->iframes == 0) tgt->iframes = -1; return RESULT_COLLISION; } CollisionResult sub_08017C40(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if ((gPlayerState.flags & (PL_BUSY | PL_MINISH | PL_FROZEN | PL_IN_MINECART)) == 0 && gPlayerState.queued_action == PLAYER_INIT) { if (org->action == 1 || org->action == 24) { tgt->damage = 4; org->health = CalculateDamage(org, tgt); gPlayerState.flags = PL_FROZEN; gPlayerState.queued_action = PLAYER_FROZEN; } } org->knockbackDuration = 12; org->iframes = 16; org->knockbackSpeed = 640; if (tgt->iframes == 0) tgt->iframes = -1; return RESULT_COLLISION; } CollisionResult sub_08017CBC(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { direction = DirectionNormalize(DirectionTurnAround(direction) - 0xc); if (DirectionNormalize(-direction + tgt->direction) < 0x19) { org->iframes = -12; tgt->iframes = -12; sub_08017940(org, tgt); } else { tgt->knockbackDuration = 12; tgt->iframes = 16; tgt->confusedTime = -16; tgt->knockbackSpeed = 768; if (org->iframes == 0) org->iframes = -1; } return RESULT_COLLISION; } CollisionResult sub_08017D28(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { gPlayerState.mobility = 1; ((GenericEntity*)org)->field_0x7a.HWORD = 600; org->knockbackDuration = 12; org->iframes = 16; org->knockbackSpeed = 640; if (tgt->iframes == 0) tgt->iframes = -1; return RESULT_COLLISION; } CollisionResult sub_08017D6C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { u32 x; u32 y; ColSettings* p; if (DirectionNormalize(-DirectionNormalize((DirectionTurnAround(direction) - 5)) + DirectionFromAnimationState(tgt->animationState)) >= 0xb) { x = org->hurtType; y = 0xac2; } else { tgt->contactFlags = 0xcb; ((GenericEntity*)tgt)->field_0x78.HALF.HI = org->hurtType; x = org->hurtType; y = 0xae4; } p = &gCollisionMtx[x + y]; return CollisionDefault(org, tgt, direction, p); } CollisionResult sub_08017DD4(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { org->contactFlags = 0; if (tgt->damage & 0x80) tgt->damage &= ~0x80; else tgt->damage = 4; gPlayerEntity.base.health = CalculateDamage(&gPlayerEntity.base, tgt); tgt->iframes = -12; if ((gPlayerState.flags & PL_MINISH) == 0) { sub_08079D84(); org->iframes = 90; } else { gPlayerEntity.base.contactFlags = tgt->hurtType | CONTACT_NOW; gPlayerEntity.base.iframes = 12; gPlayerEntity.base.knockbackDuration = 16; gPlayerEntity.base.knockbackDirection = DirectionTurnAround(direction); gPlayerEntity.base.knockbackSpeed = 640; } if (tgt->iframes == 0) tgt->iframes = -1; return RESULT_COLLISION; } CollisionResult sub_08017E88(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { org->knockbackDuration = 2; org->knockbackSpeed = 640; if (tgt->iframes == 0) tgt->iframes = -1; return RESULT_COLLISION; } CollisionResult sub_08017EB0(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if (tgt->damage == 0) return RESULT_NO_COLLISION; if (org == &gPlayerEntity.base) { u32 prevDamage = tgt->damage; tgt->damage = 8; gPlayerEntity.base.health = CalculateDamage(&gPlayerEntity.base, tgt); tgt->damage = prevDamage; gPlayerEntity.base.knockbackDuration = 12; gPlayerEntity.base.iframes = 16; gPlayerEntity.base.knockbackSpeed = 384; } else if (org->kind == PLAYER_ITEM && org->id == PL_ITEM_SHIELD) { org->knockbackDuration = 8; org->iframes = -6; org->knockbackSpeed = 384; gPlayerEntity.base.iframes = 0x80; } if (tgt->iframes == 0) tgt->iframes = -1; return RESULT_COLLISION; } CollisionResult sub_08017F3C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { return RESULT_COLLISION; } CollisionResult sub_08017F40(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if (tgt->confusedTime == 0) { if (org == &gPlayerEntity.base) { if (PlayerCanBeMoved() && #ifdef EU (gPlayerState.flags & (PL_MINISH | PL_BUSY)) == 0 && #else (gPlayerState.flags & PL_MINISH) == 0 && #endif !gPlayerState.swim_state) { gPlayerState.mobility |= 0x80; gPlayerState.field_0xa |= 0x80; gPlayerState.flags |= PL_CAPTURED; gPlayerState.jump_status = 0; if (tgt->kind == ENEMY && (tgt->id == GHINI || tgt->id == ENEMY_50)) { org->z.HALF.HI = 0; PositionRelative(org, tgt, 0, Q_16_16(1.0)); } else { PositionRelative(tgt, org, 0, Q_16_16(1.0)); } COLLISION_OFF(org); org->spriteRendering.b3 = tgt->spriteRendering.b3; org->spriteOrientation.flipY = tgt->spriteOrientation.flipY; org->iframes = -1; tgt->iframes = -8; ResetActiveItems(); return RESULT_COLLISION; } } else { org->health = 0; } } else if (tgt->kind == ENEMY && org == &gPlayerEntity.base) { CalcCollisionStaticEntity(tgt, org); } return RESULT_NO_COLLISION; } CollisionResult sub_0801802C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { int kind; u32 x; kind = org->kind; if (kind == PLAYER) { if (PlayerCanBeMoved()) { if (((DirectionNormalize(DirectionTurnAround(direction) - Direction8FromAnimationState(tgt->animationState) + 5))) > 0xA) { x = 0x11aa; return CollisionDefault(org, tgt, direction, &gCollisionMtx[x + org->hurtType]); } else { sub_080180BC(org, tgt); return RESULT_COLLISION; } } } else if (kind == PLAYER_ITEM) { if (DirectionNormalize( (DirectionTurnAround(org->direction) - Direction8FromAnimationState(tgt->animationState) + 5)) <= 0xA) { org->health = 0; sub_080180BC(org, tgt); return RESULT_COLLISION; } } else { org->health = 0; return RESULT_NO_COLLISION; } x = 0x11aa; return CollisionDefault(org, tgt, direction, &gCollisionMtx[x + org->hurtType]); } void sub_080180BC(Entity* org, Entity* tgt) { if (org->iframes == 0) org->iframes = -30; if (tgt->iframes == 0) tgt->iframes = -1; tgt->subAction = -1; } CollisionResult sub_080180E8(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { u32 v3; u32 x; v3 = DirectionNormalize(DirectionTurnAround(direction) - 0xc); if (DirectionNormalize(tgt->direction - v3) <= 0x18) { org->knockbackDuration = 12; org->iframes = -16; org->knockbackSpeed = 640; tgt->knockbackDuration = 12; tgt->iframes = -16; tgt->knockbackSpeed = 768; sub_08017940(org, tgt); return RESULT_COLLISION; } x = 0x352; return CollisionDefault(org, tgt, v3, &gCollisionMtx[org->hurtType + x]); } CollisionResult sub_08018168(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if (tgt->confusedTime == 0) { if (org == &gPlayerEntity.base) { if (PlayerCanBeMoved() && #ifdef EU (gPlayerState.flags & (PL_MINISH | PL_BUSY)) == 0 && #else (gPlayerState.flags & (PL_MINISH | PL_ROLLING)) == 0 && #endif gPlayerState.swim_state == 0) { gPlayerState.mobility |= 0x80; gPlayerState.field_0xa |= 0x80; gPlayerState.flags |= PL_DISABLE_ITEMS; gPlayerState.jump_status = 0; COLLISION_OFF(&gPlayerEntity.base); gPlayerEntity.base.spriteRendering.b3 = tgt->spriteRendering.b3; gPlayerEntity.base.spriteOrientation.flipY = tgt->spriteOrientation.flipY; gPlayerEntity.base.iframes = 0xff; tgt->iframes = -8; PutAwayItems(); return RESULT_COLLISION; } } else { org->health = 0; } } else if ((tgt->kind == ENEMY) && (org == &gPlayerEntity.base)) { CalcCollisionStaticEntity(tgt, &gPlayerEntity.base); } return RESULT_NO_COLLISION; } CollisionResult sub_08018228(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if (org == &gPlayerEntity.base && PlayerCanBeMoved()) CalcCollisionStaticEntity(tgt, org); return RESULT_NO_COLLISION; } CollisionResult sub_08018250(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { org->iframes = -1; if (org->direction == 0) { tgt->iframes = 16; sub_08017A90(org, tgt); } else { tgt->iframes = -1; } return RESULT_COLLISION; } CollisionResult CollisionMazaalShrinkRay(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if (org == &gPlayerEntity.base) PlayerShrinkByRay(); else org->health = 0; return RESULT_COLLISION; } CollisionResult sub_080182A8(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { if (tgt->confusedTime == 0) { if (org->iframes == 0) org->iframes = -1; if (tgt->iframes == 0) tgt->iframes = -1; } else { u32 x = 0x92a; return CollisionDefault(org, tgt, direction, &gCollisionMtx[org->hurtType + x]); } return RESULT_COLLISION; } CollisionResult CollisionDefault(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) { u32 confused = 0; if (tgt->confusedTime && tgt->kind == ENEMY && org == &gPlayerEntity.base) { CalcCollisionStaticEntity(tgt, org); confused = 1; } if ((org->kind == PLAYER_ITEM && org->id == PL_ITEM_SHIELD) && gPlayerEntity.base.animationState == AnimationStateFlip180(Direction8ToAnimationState(DirectionRoundUp(direction)))) { return RESULT_NO_COLLISION; } if (!confused) { u32 tmp2; org->knockbackSpeed = 16 * settings->orgKnockbackSpeed; org->iframes = settings->orgIframes; if (org->iframes == 0) org->iframes = -1; org->knockbackDuration = settings->orgKnockbackDuration; tgt->damage = settings->tgtDamage; tmp2 = 0xFF; if (settings->tgtDamage != 0) org->health = CalculateDamage(org, tgt); if (settings->orgConfusedTime > org->confusedTime) org->confusedTime = settings->orgConfusedTime; tgt->knockbackSpeed = 16 * settings->tgtKnockbackSpeed; tgt->iframes = settings->tgtIframes; if (settings->tgtIframes == 0) tgt->iframes = -1; tgt->knockbackDuration = settings->tgtKnockbackDuration; tmp2 &= (org->damage = settings->orgDamage); if (tmp2 != 0) tgt->health = CalculateDamage(tgt, org); if (settings->tgtConfusedTime > tgt->confusedTime) tgt->confusedTime = settings->tgtConfusedTime; } if (settings->flags & COL_FLAG_1) sub_08017940(org, tgt); if (settings->flags & COL_FLAG_2) org->contactFlags = 0xca; if (settings->flags & COL_FLAG_4) { Entity* parent = tgt->parent; if (parent != NULL) { parent->contactFlags = 0xcc; parent->iframes = tgt->iframes; parent->knockbackDirection = direction; parent->knockbackDuration = tgt->knockbackDuration; if (parent->confusedTime == 0) parent->confusedTime = tgt->confusedTime; parent->knockbackSpeed = tgt->knockbackSpeed; parent->contactedEntity = org; } } if (org->kind == PLAYER_ITEM) { if (org->id == PL_ITEM_SWORD) { if (settings->orgDamage) { sub_080179EC(org, tgt); } } else if (org->id == PL_ITEM_BOW) { if (org->damage || (settings->flags & COL_FLAG_8)) { sub_08017A90(org, tgt); } } else if (org->id == PL_ITEM_BOOMERANG) { if (settings->tgtConfusedTime) { SoundReqClipped(tgt, SFX_HIT); } } else if (org->id == PL_ITEM_SHIELD) { gPlayerEntity.base.iframes = 0x80; } } if (tgt->kind == PLAYER_ITEM && org->id == PL_ITEM_SHIELD) { gPlayerEntity.base.iframes = 0x80; } return RESULT_COLLISION; } // 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 ACT_TILE_0, // TILE_TYPE_178 #else ACT_TILE_41, // TILE_TYPE_178 #endif ACT_TILE_0, // TILE_TYPE_179 ACT_TILE_0, // TILE_TYPE_180 #ifdef EU ACT_TILE_0, // TILE_TYPE_181 #else ACT_TILE_41, // TILE_TYPE_181 #endif 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 ACT_TILE_0, // TILE_TYPE_194 #else ACT_TILE_41, // TILE_TYPE_194 #endif ACT_TILE_0, // TILE_TYPE_195 ACT_TILE_0, // TILE_TYPE_196 #ifdef EU ACT_TILE_0, // TILE_TYPE_197 #else ACT_TILE_41, // TILE_TYPE_197 #endif 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 ACT_TILE_0, // TILE_TYPE_210 #else ACT_TILE_41, // TILE_TYPE_210 #endif ACT_TILE_40, // TILE_TYPE_211 ACT_TILE_0, // TILE_TYPE_212 ACT_TILE_0, // TILE_TYPE_213 #ifdef EU ACT_TILE_0, // TILE_TYPE_214 #else ACT_TILE_41, // TILE_TYPE_214 #endif 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 ACT_TILE_0, // TILE_TYPE_226 #else ACT_TILE_41, // TILE_TYPE_226 #endif ACT_TILE_0, // TILE_TYPE_227 ACT_TILE_0, // TILE_TYPE_228 #ifdef EU ACT_TILE_0, // TILE_TYPE_229 #else ACT_TILE_41, // TILE_TYPE_229 #endif 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 ACT_TILE_0, // TILE_TYPE_242 #else ACT_TILE_41, // TILE_TYPE_242 #endif ACT_TILE_40, // TILE_TYPE_243 ACT_TILE_0, // TILE_TYPE_244 ACT_TILE_0, // TILE_TYPE_245 #ifdef EU ACT_TILE_0, // TILE_TYPE_246 #else ACT_TILE_41, // TILE_TYPE_246 #endif 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 ACT_TILE_0, // TILE_TYPE_653 #else ACT_TILE_41, // TILE_TYPE_653 #endif ACT_TILE_0, // TILE_TYPE_654 ACT_TILE_0, // TILE_TYPE_655 #ifdef EU ACT_TILE_0, // TILE_TYPE_656 #else ACT_TILE_41, // TILE_TYPE_656 #endif 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 ACT_TILE_0, // TILE_TYPE_1349 ACT_TILE_0, // TILE_TYPE_1350 #else ACT_TILE_41, // TILE_TYPE_1349 ACT_TILE_41, // TILE_TYPE_1350 #endif ACT_TILE_40, // TILE_TYPE_1351 #ifdef EU ACT_TILE_0, // TILE_TYPE_1352 #else ACT_TILE_41, // TILE_TYPE_1352 #endif ACT_TILE_40, // TILE_TYPE_1353 #ifdef EU ACT_TILE_0, // TILE_TYPE_1354 #else ACT_TILE_41, // TILE_TYPE_1354 #endif 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 };