mirror of
https://github.com/zeldaret/tmc
synced 2026-08-24 15:27:20 -04:00
Rename metaTiles
Now the 16x16 tiles are just called tiles and the 8x8 tiles are called subTiles.
This commit is contained in:
+103
-103
@@ -13,7 +13,7 @@
|
||||
#include "sound.h"
|
||||
#include "tiles.h"
|
||||
|
||||
u32 BombableWallManager_GetBombableType(u32 metaTilePos, u32 layer);
|
||||
u32 BombableWallManager_GetBombableType(u32 tilePos, u32 layer);
|
||||
void BombableWallManager_DestroyWall(BombableWallManager*);
|
||||
|
||||
u32 getArchwayType(void);
|
||||
@@ -37,8 +37,8 @@ void BombableWallManager_Main(BombableWallManager* this) {
|
||||
|
||||
void BombableWallManager_Init(BombableWallManager* this) {
|
||||
super->action = 1;
|
||||
this->metaTilePos = (this->x >> 4 & 0x3fU) | (((this->y << 0x10) >> 0x14 & 0x3fU) << 6);
|
||||
super->type = BombableWallManager_GetBombableType(this->metaTilePos, this->layer);
|
||||
this->tilePos = (this->x >> 4 & 0x3fU) | (((this->y << 0x10) >> 0x14 & 0x3fU) << 6);
|
||||
super->type = BombableWallManager_GetBombableType(this->tilePos, this->layer);
|
||||
if (CheckLocalFlag(this->flag) != 0) {
|
||||
BombableWallManager_DestroyWall(this);
|
||||
DeleteManager(super);
|
||||
@@ -46,7 +46,7 @@ void BombableWallManager_Init(BombableWallManager* this) {
|
||||
}
|
||||
|
||||
void BombableWallManager_Action1(BombableWallManager* this) {
|
||||
if (GetVvvAtMetaTilePos(this->metaTilePos, this->layer) != VVV_46) {
|
||||
if (GetVvvAtTilePos(this->tilePos, this->layer) != VVV_46) {
|
||||
super->action = 2;
|
||||
super->timer = 90;
|
||||
BombableWallManager_DestroyWall(this);
|
||||
@@ -61,29 +61,29 @@ void BombableWallManager_Action2(BombableWallManager* this) {
|
||||
}
|
||||
}
|
||||
|
||||
u32 BombableWallManager_GetBombableType(u32 metaTilePos, u32 layer) {
|
||||
u32 metaTileType = GetMetaTileType(metaTilePos, layer);
|
||||
u32 BombableWallManager_GetBombableType(u32 tilePos, u32 layer) {
|
||||
u32 tileType = GetTileType(tilePos, layer);
|
||||
|
||||
switch (metaTileType) {
|
||||
case META_TILE_TYPE_236:
|
||||
switch (tileType) {
|
||||
case TILE_TYPE_236:
|
||||
return 1;
|
||||
case META_TILE_TYPE_191:
|
||||
case TILE_TYPE_191:
|
||||
return 4;
|
||||
case META_TILE_TYPE_175:
|
||||
case TILE_TYPE_175:
|
||||
return 0;
|
||||
case META_TILE_TYPE_204:
|
||||
case TILE_TYPE_204:
|
||||
return 2;
|
||||
case META_TILE_TYPE_223:
|
||||
case TILE_TYPE_223:
|
||||
return 3;
|
||||
case META_TILE_TYPE_255:
|
||||
case TILE_TYPE_255:
|
||||
return 0;
|
||||
case META_TILE_TYPE_277:
|
||||
case TILE_TYPE_277:
|
||||
return 1;
|
||||
case META_TILE_TYPE_264:
|
||||
case TILE_TYPE_264:
|
||||
return 2;
|
||||
case META_TILE_TYPE_272:
|
||||
case TILE_TYPE_272:
|
||||
return 3;
|
||||
case META_TILE_TYPE_261:
|
||||
case TILE_TYPE_261:
|
||||
return 4;
|
||||
}
|
||||
return 0xff;
|
||||
@@ -95,38 +95,38 @@ void BombableWallManager_DestroyWall(BombableWallManager* this) {
|
||||
BombableWallManager_DestroyWall3, BombableWallManager_DestroyWall4,
|
||||
};
|
||||
if (super->type != 0xff) {
|
||||
gUnk_08108CE8[super->type](this->metaTilePos, this->layer);
|
||||
gUnk_08108CE8[super->type](this->tilePos, this->layer);
|
||||
}
|
||||
}
|
||||
|
||||
void BombableWallManager_DestroyWall0(u32 metaTilePos, u32 layer) {
|
||||
SetMetaTileType(META_TILE_TYPE_177, metaTilePos + TILE_POS(-1, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_178, metaTilePos + TILE_POS(0, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_179, metaTilePos + TILE_POS(1, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_180, metaTilePos + TILE_POS(-1, 0), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_183, metaTilePos + TILE_POS(1, 0), layer);
|
||||
void BombableWallManager_DestroyWall0(u32 tilePos, u32 layer) {
|
||||
SetTileType(TILE_TYPE_177, tilePos + TILE_POS(-1, -1), layer);
|
||||
SetTileType(TILE_TYPE_178, tilePos + TILE_POS(0, -1), layer);
|
||||
SetTileType(TILE_TYPE_179, tilePos + TILE_POS(1, -1), layer);
|
||||
SetTileType(TILE_TYPE_180, tilePos + TILE_POS(-1, 0), layer);
|
||||
SetTileType(TILE_TYPE_183, tilePos + TILE_POS(1, 0), layer);
|
||||
if (layer == LAYER_BOTTOM) {
|
||||
if (AreaHasEnemies()) {
|
||||
Entity* object = CreateObject(ARCHWAY, 0xe, 0);
|
||||
if (object != NULL) {
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) - 8 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) - 8 + gRoomControls.origin_y;
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_181, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_181, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
if (AreaIsDungeon()) {
|
||||
SetMetaTileType(META_TILE_TYPE_181, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_181, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_182, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_182, tilePos, LAYER_BOTTOM);
|
||||
}
|
||||
}
|
||||
|
||||
SetMetaTileType(META_TILE_TYPE_184, metaTilePos + TILE_POS(-1, -1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_185, metaTilePos + TILE_POS(0, -1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_186, metaTilePos + TILE_POS(1, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_184, tilePos + TILE_POS(-1, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_185, tilePos + TILE_POS(0, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_186, tilePos + TILE_POS(1, -1), LAYER_TOP);
|
||||
} else {
|
||||
Entity* object;
|
||||
SetMetaTileType(META_TILE_TYPE_181, metaTilePos, LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_181, tilePos, LAYER_TOP);
|
||||
if (!AreaIsDungeon()) {
|
||||
return;
|
||||
}
|
||||
@@ -134,41 +134,41 @@ void BombableWallManager_DestroyWall0(u32 metaTilePos, u32 layer) {
|
||||
if (object == NULL) {
|
||||
return;
|
||||
}
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) - 0x10 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) - 0x10 + gRoomControls.origin_y;
|
||||
object->collisionLayer = LAYER_TOP;
|
||||
}
|
||||
}
|
||||
|
||||
void BombableWallManager_DestroyWall1(u32 metaTilePos, u32 layer) {
|
||||
void BombableWallManager_DestroyWall1(u32 tilePos, u32 layer) {
|
||||
Entity* object;
|
||||
|
||||
SetMetaTileType(META_TILE_TYPE_241, metaTilePos + TILE_POS(0, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_245, metaTilePos + TILE_POS(1, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_246, metaTilePos + TILE_POS(1, 0), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_244, metaTilePos + TILE_POS(0, 1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_247, metaTilePos + TILE_POS(1, 1), layer);
|
||||
SetTileType(TILE_TYPE_241, tilePos + TILE_POS(0, -1), layer);
|
||||
SetTileType(TILE_TYPE_245, tilePos + TILE_POS(1, -1), layer);
|
||||
SetTileType(TILE_TYPE_246, tilePos + TILE_POS(1, 0), layer);
|
||||
SetTileType(TILE_TYPE_244, tilePos + TILE_POS(0, 1), layer);
|
||||
SetTileType(TILE_TYPE_247, tilePos + TILE_POS(1, 1), layer);
|
||||
if (layer == LAYER_BOTTOM) {
|
||||
if (AreaHasEnemies()) {
|
||||
|
||||
object = CreateObject(ARCHWAY, 0xe, 1);
|
||||
if (object != NULL) {
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 0x18 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 0x18 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_242, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_242, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
if (AreaIsDungeon()) {
|
||||
SetMetaTileType(META_TILE_TYPE_242, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_242, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_243, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_243, tilePos, LAYER_BOTTOM);
|
||||
}
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_248, metaTilePos + TILE_POS(1, -1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_249, metaTilePos + 1, LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_250, metaTilePos + TILE_POS(1, 1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_248, tilePos + TILE_POS(1, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_249, tilePos + 1, LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_250, tilePos + TILE_POS(1, 1), LAYER_TOP);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_242, metaTilePos, LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_242, tilePos, LAYER_TOP);
|
||||
if (!AreaIsDungeon()) {
|
||||
return;
|
||||
}
|
||||
@@ -176,40 +176,40 @@ void BombableWallManager_DestroyWall1(u32 metaTilePos, u32 layer) {
|
||||
if (object == NULL) {
|
||||
return;
|
||||
}
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 0x20 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 0x20 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
object->collisionLayer = LAYER_TOP;
|
||||
}
|
||||
}
|
||||
|
||||
void BombableWallManager_DestroyWall2(u32 metaTilePos, u32 layer) {
|
||||
void BombableWallManager_DestroyWall2(u32 tilePos, u32 layer) {
|
||||
Entity* object;
|
||||
|
||||
SetMetaTileType(META_TILE_TYPE_209, metaTilePos + TILE_POS(-1, 0), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_212, metaTilePos + TILE_POS(1, 0), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_213, metaTilePos + TILE_POS(-1, 1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_214, metaTilePos + TILE_POS(0, 1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_215, metaTilePos + TILE_POS(1, 1), layer);
|
||||
SetTileType(TILE_TYPE_209, tilePos + TILE_POS(-1, 0), layer);
|
||||
SetTileType(TILE_TYPE_212, tilePos + TILE_POS(1, 0), layer);
|
||||
SetTileType(TILE_TYPE_213, tilePos + TILE_POS(-1, 1), layer);
|
||||
SetTileType(TILE_TYPE_214, tilePos + TILE_POS(0, 1), layer);
|
||||
SetTileType(TILE_TYPE_215, tilePos + TILE_POS(1, 1), layer);
|
||||
if (layer == LAYER_BOTTOM) {
|
||||
if (AreaHasEnemies()) {
|
||||
object = CreateObject(ARCHWAY, 0xe, 2);
|
||||
if (object != NULL) {
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + 0x20 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + 0x20 + gRoomControls.origin_y;
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_210, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_210, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
if (AreaIsDungeon()) {
|
||||
SetMetaTileType(META_TILE_TYPE_210, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_210, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_211, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_211, tilePos, LAYER_BOTTOM);
|
||||
}
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_216, metaTilePos + TILE_POS(-1, 1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_217, metaTilePos + TILE_POS(0, 1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_218, metaTilePos + TILE_POS(1, 1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_216, tilePos + TILE_POS(-1, 1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_217, tilePos + TILE_POS(0, 1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_218, tilePos + TILE_POS(1, 1), LAYER_TOP);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_210, metaTilePos, LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_210, tilePos, LAYER_TOP);
|
||||
if (AreaIsDungeon() == 0) {
|
||||
return;
|
||||
}
|
||||
@@ -217,40 +217,40 @@ void BombableWallManager_DestroyWall2(u32 metaTilePos, u32 layer) {
|
||||
if (object == NULL) {
|
||||
return;
|
||||
}
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + 0x20 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + 0x20 + gRoomControls.origin_y;
|
||||
object->collisionLayer = LAYER_TOP;
|
||||
}
|
||||
}
|
||||
|
||||
void BombableWallManager_DestroyWall3(u32 metaTilePos, u32 layer) {
|
||||
void BombableWallManager_DestroyWall3(u32 tilePos, u32 layer) {
|
||||
Entity* object;
|
||||
|
||||
SetMetaTileType(META_TILE_TYPE_225, metaTilePos + TILE_POS(-1, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_228, metaTilePos + TILE_POS(0, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_226, metaTilePos + TILE_POS(-1, 0), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_227, metaTilePos + TILE_POS(-1, 1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_231, metaTilePos + TILE_POS(0, 1), layer);
|
||||
SetTileType(TILE_TYPE_225, tilePos + TILE_POS(-1, -1), layer);
|
||||
SetTileType(TILE_TYPE_228, tilePos + TILE_POS(0, -1), layer);
|
||||
SetTileType(TILE_TYPE_226, tilePos + TILE_POS(-1, 0), layer);
|
||||
SetTileType(TILE_TYPE_227, tilePos + TILE_POS(-1, 1), layer);
|
||||
SetTileType(TILE_TYPE_231, tilePos + TILE_POS(0, 1), layer);
|
||||
if (layer == LAYER_BOTTOM) {
|
||||
if (AreaHasEnemies()) {
|
||||
object = CreateObject(ARCHWAY, 0xe, 3);
|
||||
if (object != NULL) {
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + -0x10 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + -0x10 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_229, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_229, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
if (AreaIsDungeon()) {
|
||||
SetMetaTileType(META_TILE_TYPE_229, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_229, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_230, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_230, tilePos, LAYER_BOTTOM);
|
||||
}
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_232, metaTilePos + TILE_POS(-1, -1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_233, metaTilePos + TILE_POS(-1, 0), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_234, metaTilePos + TILE_POS(-1, 1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_232, tilePos + TILE_POS(-1, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_233, tilePos + TILE_POS(-1, 0), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_234, tilePos + TILE_POS(-1, 1), LAYER_TOP);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_229, metaTilePos, LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_229, tilePos, LAYER_TOP);
|
||||
if (!AreaIsDungeon()) {
|
||||
return;
|
||||
}
|
||||
@@ -259,40 +259,40 @@ void BombableWallManager_DestroyWall3(u32 metaTilePos, u32 layer) {
|
||||
if (object == NULL) {
|
||||
return;
|
||||
}
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + -0x10 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + -0x10 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y;
|
||||
object->collisionLayer = LAYER_TOP;
|
||||
}
|
||||
}
|
||||
|
||||
void BombableWallManager_DestroyWall4(u32 metaTilePos, u32 layer) {
|
||||
void BombableWallManager_DestroyWall4(u32 tilePos, u32 layer) {
|
||||
Entity* object;
|
||||
|
||||
SetMetaTileType(META_TILE_TYPE_193, metaTilePos + TILE_POS(-1, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_194, metaTilePos + TILE_POS(0, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_195, metaTilePos + TILE_POS(1, -1), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_196, metaTilePos + TILE_POS(-1, 0), layer);
|
||||
SetMetaTileType(META_TILE_TYPE_199, metaTilePos + TILE_POS(1, 0), layer);
|
||||
SetTileType(TILE_TYPE_193, tilePos + TILE_POS(-1, -1), layer);
|
||||
SetTileType(TILE_TYPE_194, tilePos + TILE_POS(0, -1), layer);
|
||||
SetTileType(TILE_TYPE_195, tilePos + TILE_POS(1, -1), layer);
|
||||
SetTileType(TILE_TYPE_196, tilePos + TILE_POS(-1, 0), layer);
|
||||
SetTileType(TILE_TYPE_199, tilePos + TILE_POS(1, 0), layer);
|
||||
if (layer == LAYER_BOTTOM) {
|
||||
if (AreaHasEnemies()) {
|
||||
object = CreateObject(ARCHWAY, 0xe, 0);
|
||||
if (object != NULL) {
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + -0x10 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + -0x10 + gRoomControls.origin_y;
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_197, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_197, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
if (AreaIsDungeon()) {
|
||||
SetMetaTileType(META_TILE_TYPE_197, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_197, tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_198, metaTilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_198, tilePos, LAYER_BOTTOM);
|
||||
}
|
||||
}
|
||||
SetMetaTileType(META_TILE_TYPE_200, metaTilePos + TILE_POS(-1, -1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_201, metaTilePos + TILE_POS(0, -1), LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_202, metaTilePos + TILE_POS(1, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_200, tilePos + TILE_POS(-1, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_201, tilePos + TILE_POS(0, -1), LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_202, tilePos + TILE_POS(1, -1), LAYER_TOP);
|
||||
} else {
|
||||
SetMetaTileType(META_TILE_TYPE_197, metaTilePos, LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_197, tilePos, LAYER_TOP);
|
||||
if (!AreaIsDungeon()) {
|
||||
return;
|
||||
}
|
||||
@@ -301,8 +301,8 @@ void BombableWallManager_DestroyWall4(u32 metaTilePos, u32 layer) {
|
||||
if (object == NULL) {
|
||||
return;
|
||||
}
|
||||
object->x.HALF.HI = ((metaTilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((metaTilePos & 0xfc0) >> 2) + -0x10 + gRoomControls.origin_y;
|
||||
object->x.HALF.HI = ((tilePos & 0x3f) << 4) + 8 + gRoomControls.origin_x;
|
||||
object->y.HALF.HI = ((tilePos & 0xfc0) >> 2) + -0x10 + gRoomControls.origin_y;
|
||||
object->collisionLayer = LAYER_TOP;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ void DestructibleTileObserveManager_Main(DestructibleTileObserveManager* this) {
|
||||
|
||||
void sub_0805CFF0(DestructibleTileObserveManager_unk* param_1) {
|
||||
if (!CheckLocalFlag(param_1->flag)) {
|
||||
u32 tileType = GetMetaTileType(param_1->tilePos, param_1->tileLayer);
|
||||
u32 tileType = GetTileType(param_1->tilePos, param_1->tileLayer);
|
||||
if (param_1->tileType == tileType) {
|
||||
SetLocalFlag(param_1->flag);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ void DiggingCaveEntranceManager_Init(DiggingCaveEntranceManager* this) {
|
||||
const DiggingCaveEntrance* entrance;
|
||||
u8 room;
|
||||
u8 area;
|
||||
u16 tile = SPECIAL_META_TILE_128;
|
||||
u16 tileIndex = SPECIAL_TILE_128;
|
||||
UpdateIsDiggingCave();
|
||||
if (gDiggingCaveEntranceTransition.isDiggingCave) {
|
||||
if (gDiggingCaveEntranceTransition.entrance == NULL) {
|
||||
@@ -51,12 +51,12 @@ void DiggingCaveEntranceManager_Init(DiggingCaveEntranceManager* this) {
|
||||
}
|
||||
room = gRoomControls.room;
|
||||
entrance = diggingCaveEntrances[gRoomControls.area];
|
||||
tile = SPECIAL_META_TILE_128;
|
||||
tileIndex = SPECIAL_TILE_128;
|
||||
for (entrance = GetDiggingCaveEntranceForRoom(entrance, room); entrance != 0;
|
||||
entrance = GetDiggingCaveEntranceForRoom(entrance, room)) {
|
||||
SetMetaTile(tile, entrance->sourceTilePosition + TILE_POS(-1, 1), LAYER_BOTTOM);
|
||||
SetMetaTile(tile, entrance->sourceTilePosition + TILE_POS(0, 1), LAYER_BOTTOM);
|
||||
SetMetaTile(tile, entrance->sourceTilePosition + TILE_POS(1, 1), LAYER_BOTTOM);
|
||||
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);
|
||||
entrance++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,20 +14,20 @@
|
||||
|
||||
void FlameManager_Main(FlameManager* this) {
|
||||
if (super->action == 0) {
|
||||
this->metaTilePos = TILE(this->metaTilePos, this->field_0x3a);
|
||||
if (GetMetaTileType(this->metaTilePos, LAYER_TOP) == META_TILE_TYPE_117) {
|
||||
this->tilePos = TILE(this->tilePos, this->field_0x3a);
|
||||
if (GetTileType(this->tilePos, LAYER_TOP) == TILE_TYPE_117) {
|
||||
super->action = 1;
|
||||
SetMetaTile(SPECIAL_META_TILE_106, this->metaTilePos, LAYER_BOTTOM);
|
||||
SetTile(SPECIAL_TILE_106, this->tilePos, LAYER_BOTTOM);
|
||||
} else {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
if (GetMetaTileType(this->metaTilePos, LAYER_BOTTOM) == SPECIAL_META_TILE_107) {
|
||||
sub_0807B7D8(META_TILE_TYPE_118, this->metaTilePos, LAYER_TOP);
|
||||
if (GetTileType(this->tilePos, LAYER_BOTTOM) == SPECIAL_TILE_107) {
|
||||
sub_0807B7D8(TILE_TYPE_118, this->tilePos, LAYER_TOP);
|
||||
DeleteThisEntity();
|
||||
}
|
||||
if (GetMetaTileType(this->metaTilePos, LAYER_TOP) == META_TILE_TYPE_118) {
|
||||
SetMetaTile(SPECIAL_META_TILE_107, this->metaTilePos, LAYER_BOTTOM);
|
||||
if (GetTileType(this->tilePos, LAYER_TOP) == TILE_TYPE_118) {
|
||||
SetTile(SPECIAL_TILE_107, this->tilePos, LAYER_BOTTOM);
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ void sub_08057F20(HorizontalMinishPathBackgroundManager* this) {
|
||||
tmp = tmp + (tmp >> 3) + ((0x400 - gRoomControls.width) / 2);
|
||||
gScreen.bg3.xOffset = tmp & 0xF;
|
||||
gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 2);
|
||||
gScreen.bg3.tilemap = gBG3Buffer;
|
||||
gScreen.bg3.subTileMap = gBG3Buffer;
|
||||
sub_08058004(tmp, gUnk_02006F00, gBG3Buffer);
|
||||
tmp = ((tmp >> 4) << 1);
|
||||
if (this->unk_38 != tmp) {
|
||||
@@ -53,7 +53,7 @@ void sub_08057F20(HorizontalMinishPathBackgroundManager* this) {
|
||||
tmp = tmp + (tmp >> 2) + ((0x400 - gRoomControls.width) / 2);
|
||||
gScreen.bg1.xOffset = tmp & 0xF;
|
||||
gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 1);
|
||||
gScreen.bg1.tilemap = gBG3Buffer + 0x400;
|
||||
gScreen.bg1.subTileMap = gBG3Buffer + 0x400;
|
||||
sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x400);
|
||||
tmp = ((tmp >> 4) << 1);
|
||||
if (this->unk_3c != tmp) {
|
||||
@@ -111,7 +111,7 @@ void sub_080580B0(u32 unk1) {
|
||||
gScreen.bg3.xOffset = tmp & 0xF;
|
||||
gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 1); //?
|
||||
gScreen.bg3.control = 0x1D09;
|
||||
gScreen.bg3.tilemap = gBG3Buffer;
|
||||
gScreen.bg3.subTileMap = gBG3Buffer;
|
||||
gScreen.bg3.updated = 1;
|
||||
tmp = gRoomControls.scroll_x - gRoomControls.origin_x;
|
||||
tmp = tmp + (tmp >> 2) + (0x400 - gRoomControls.width) / 2;
|
||||
@@ -119,7 +119,7 @@ void sub_080580B0(u32 unk1) {
|
||||
gScreen.bg1.xOffset = tmp & 0xF;
|
||||
gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 1); //?
|
||||
gScreen.bg1.control = 0x1E09;
|
||||
gScreen.bg1.tilemap = gBG3Buffer + 0x400;
|
||||
gScreen.bg1.subTileMap = gBG3Buffer + 0x400;
|
||||
gScreen.bg1.updated = 1;
|
||||
gScreen.controls.layerFXControl = 0x3C48;
|
||||
gScreen.controls.alphaBlend = 0x609;
|
||||
|
||||
@@ -114,32 +114,32 @@ void sub_08059B18(void) {
|
||||
if (CheckGlobalFlag(TATEKAKE_HOUSE) != 0) {
|
||||
for (loopVar = 0; loopVar < 4; ++loopVar) {
|
||||
for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) {
|
||||
SetMetaTileByIndex(loopVar * 0x10 + META_TILE_TYPE_1195 + innerLoopVar,
|
||||
SetTileByIndex(loopVar * 0x10 + TILE_TYPE_1195 + innerLoopVar,
|
||||
COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 1);
|
||||
}
|
||||
}
|
||||
|
||||
for (loopVar = 0; loopVar < 3; ++loopVar) {
|
||||
for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) {
|
||||
SetMetaTileByIndex(loopVar * 0x10 + META_TILE_TYPE_1088 + innerLoopVar,
|
||||
SetTileByIndex(loopVar * 0x10 + TILE_TYPE_1088 + innerLoopVar,
|
||||
COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 2);
|
||||
}
|
||||
}
|
||||
SetMetaTileByIndex(META_TILE_TYPE_214, TILE_POS(2, 23), LAYER_TOP);
|
||||
SetMetaTileByIndex(META_TILE_TYPE_215, TILE_POS(3, 23), LAYER_TOP);
|
||||
SetTileByIndex(TILE_TYPE_214, TILE_POS(2, 23), LAYER_TOP);
|
||||
SetTileByIndex(TILE_TYPE_215, TILE_POS(3, 23), LAYER_TOP);
|
||||
LoadResourceAsync(&gUnk_086E8460, 0x6001800, 0x800);
|
||||
} else {
|
||||
if (CheckGlobalFlag(TATEKAKE_TOCHU) != 0) {
|
||||
for (loopVar = 0; loopVar < 5; ++loopVar) {
|
||||
for (innerLoopVar = 0; innerLoopVar < 4; ++innerLoopVar) {
|
||||
SetMetaTileByIndex(loopVar * 0x10 + META_TILE_TYPE_1190 + innerLoopVar,
|
||||
SetTileByIndex(loopVar * 0x10 + TILE_TYPE_1190 + innerLoopVar,
|
||||
COMMON(0x28 + 0x10 * innerLoopVar, loopVar * 0x10), 1);
|
||||
}
|
||||
}
|
||||
SetMetaTileByIndex(META_TILE_TYPE_1092, TILE_POS(2, 24), LAYER_TOP);
|
||||
SetMetaTileByIndex(META_TILE_TYPE_1093, TILE_POS(5, 24), LAYER_TOP);
|
||||
SetMetaTileByIndex(META_TILE_TYPE_1108, TILE_POS(2, 25), LAYER_TOP);
|
||||
SetMetaTileByIndex(META_TILE_TYPE_1109, TILE_POS(5, 25), LAYER_TOP);
|
||||
SetTileByIndex(TILE_TYPE_1092, TILE_POS(2, 24), LAYER_TOP);
|
||||
SetTileByIndex(TILE_TYPE_1093, TILE_POS(5, 24), LAYER_TOP);
|
||||
SetTileByIndex(TILE_TYPE_1108, TILE_POS(2, 25), LAYER_TOP);
|
||||
SetTileByIndex(TILE_TYPE_1109, TILE_POS(5, 25), LAYER_TOP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ void LightLevelSetManager_Type0(LightLevelSetManager*);
|
||||
void LightLevelSetManager_Type1(LightLevelSetManager*);
|
||||
void LightLevelSetManager_Type2(LightLevelSetManager*);
|
||||
void LightLevelSetManager_Type3(LightLevelSetManager*);
|
||||
void sub_0805BE70(LightLevelSetManager* this, u32 metaTileType);
|
||||
void sub_0805BE70(LightLevelSetManager* this, u32 tileType);
|
||||
|
||||
void LightLevelSetManager_Main(Manager* this) {
|
||||
static void (*const LightLevelSetManager_Types[])(LightLevelSetManager*) = {
|
||||
@@ -50,7 +50,7 @@ void LightLevelSetManager_Type1(LightLevelSetManager* this) {
|
||||
super->action = 1;
|
||||
super->subtimer = 30;
|
||||
if (CheckFlags(this->field_0x3e) != 0) {
|
||||
sub_0805BE70(this, META_TILE_TYPE_117);
|
||||
sub_0805BE70(this, TILE_TYPE_117);
|
||||
super->action = 2;
|
||||
}
|
||||
break;
|
||||
@@ -58,13 +58,13 @@ void LightLevelSetManager_Type1(LightLevelSetManager* this) {
|
||||
if (CheckFlags(this->field_0x3e) != 0 && --super->subtimer == 0) {
|
||||
super->subtimer = 30;
|
||||
sub_0805BEC4(this);
|
||||
sub_0805BE70(this, META_TILE_TYPE_118);
|
||||
sub_0805BE70(this, TILE_TYPE_118);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (CheckFlags(this->field_0x3e) == 0 && --super->subtimer == 0) {
|
||||
super->subtimer = 30;
|
||||
sub_0805BE70(this, META_TILE_TYPE_117);
|
||||
sub_0805BE70(this, TILE_TYPE_117);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -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 (GetMetaTileType(this->field_0x20, super->type2) == META_TILE_TYPE_118) {
|
||||
if (GetTileType(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 (GetMetaTileType(this->field_0x20, super->type2) != META_TILE_TYPE_118) {
|
||||
if (GetTileType(this->field_0x20, super->type2) != TILE_TYPE_118) {
|
||||
return;
|
||||
}
|
||||
SetFlag(this->field_0x3e);
|
||||
@@ -131,14 +131,14 @@ void LightLevelSetManager_Type3(LightLevelSetManager* this) {
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0805BE70(LightLevelSetManager* this, u32 metaTileType) {
|
||||
SetMetaTileType(metaTileType,
|
||||
void sub_0805BE70(LightLevelSetManager* this, u32 tileType) {
|
||||
SetTileType(tileType,
|
||||
((this->field_0x38 << 0x10) >> 0x14 & 0x3fU) | ((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6,
|
||||
super->type2);
|
||||
}
|
||||
|
||||
void sub_0805BE94(LightLevelSetManager* this) {
|
||||
SetMetaTileType(META_TILE_TYPE_118,
|
||||
SetTileType(TILE_TYPE_118,
|
||||
((this->field_0x38 << 0x10) >> 0x14 & 0x3fU) | ((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6,
|
||||
super->type2);
|
||||
ChangeLightLevel(super->timer);
|
||||
|
||||
@@ -215,9 +215,9 @@ void sub_08057450(LightRayManager* this) {
|
||||
y >>= 2;
|
||||
|
||||
gScreen.bg3.yOffset = y & 0x3f;
|
||||
gScreen.bg3.tilemap = &gBG3Buffer[(y / 0x40) << 8];
|
||||
if (this->unk_34 != gScreen.bg3.tilemap) {
|
||||
this->unk_34 = gScreen.bg3.tilemap;
|
||||
gScreen.bg3.subTileMap = &gBG3Buffer[(y / 0x40) << 8];
|
||||
if (this->unk_34 != gScreen.bg3.subTileMap) {
|
||||
this->unk_34 = gScreen.bg3.subTileMap;
|
||||
gScreen.bg3.updated = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,9 +32,9 @@ 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 = GetMetaTileType(this->unk_38, this->layer);
|
||||
this->unk_3c = GetTileType(this->unk_38, this->layer);
|
||||
mapLayer = GetLayerByIndex(this->layer);
|
||||
this->unk_28 = (u16*)mapLayer->metatileTypes;
|
||||
this->unk_28 = (u16*)mapLayer->tileTypes;
|
||||
this->unk_2c = &mapLayer->mapData[(s16)this->unk_3a];
|
||||
}
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ void sub_08058324(u32 unk) {
|
||||
sub_080582D0();
|
||||
sub_080582A0(sub_08058244(unk), gUnk_02006F00, gBG3Buffer);
|
||||
gScreen.bg1.control = 0x1D47;
|
||||
gScreen.bg1.tilemap = gBG3Buffer;
|
||||
gScreen.bg1.subTileMap = gBG3Buffer;
|
||||
gScreen.bg1.updated = 1;
|
||||
gScreen.lcd.displayControl |= 0x200;
|
||||
}
|
||||
|
||||
@@ -121,9 +121,9 @@ 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) != META_TILE_TYPE_97)
|
||||
if (sub_080B1A48(x, y, LAYER_BOTTOM) != TILE_TYPE_97)
|
||||
return;
|
||||
SetMetaTileType(META_TILE_TYPE_38, ((x >> 4) & 0x3F) | (((y >> 4) & 0x3F) << 6), LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_38, ((x >> 4) & 0x3F) | (((y >> 4) & 0x3F) << 6), LAYER_BOTTOM);
|
||||
sub_08058F84(x, y);
|
||||
}
|
||||
|
||||
@@ -240,7 +240,7 @@ void MiscManager_Type5(MiscManager* this) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
super->action = 1;
|
||||
SetMetaTileType(META_TILE_TYPE_869, TILE_LOCAL(this->x, this->y), super->type2);
|
||||
SetTileType(TILE_TYPE_869, TILE_LOCAL(this->x, this->y), super->type2);
|
||||
break;
|
||||
case 1:
|
||||
if (CheckFlags(this->flags)) {
|
||||
@@ -338,10 +338,10 @@ void sub_0805930C(MiscManager* this) {
|
||||
tmp->collisionLayer = 1;
|
||||
}
|
||||
|
||||
void SetDirtTile(u32 metaTilePos) {
|
||||
SetMetaTileType(META_TILE_TYPE_29, metaTilePos, LAYER_BOTTOM);
|
||||
SetMetaTileType(META_TILE_TYPE_0, metaTilePos, LAYER_TOP);
|
||||
SetMetaTileType(META_TILE_TYPE_0, metaTilePos + TILE_POS(0, -1), LAYER_TOP);
|
||||
void SetDirtTile(u32 tilePos) {
|
||||
SetTileType(TILE_TYPE_29, tilePos, LAYER_BOTTOM);
|
||||
SetTileType(TILE_TYPE_0, tilePos, LAYER_TOP);
|
||||
SetTileType(TILE_TYPE_0, tilePos + TILE_POS(0, -1), LAYER_TOP);
|
||||
}
|
||||
|
||||
void MiscManager_TypeA(MiscManager* this) {
|
||||
|
||||
@@ -26,7 +26,7 @@ void RailIntersectionManager_Init(RailIntersectionManager* this) {
|
||||
super->type2 = 1;
|
||||
}
|
||||
super->action = 1;
|
||||
this->metaTilePos = (this->metaTilePos >> 4 & 0x3fU) | (((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6);
|
||||
this->tilePos = (this->tilePos >> 4 & 0x3fU) | (((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6);
|
||||
sub_0805B778(this);
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ void RailIntersectionManager_Action1(RailIntersectionManager* this) {
|
||||
}
|
||||
|
||||
void sub_0805B778(RailIntersectionManager* this) {
|
||||
static const u16 gUnk_08108C9C[] = { META_TILE_TYPE_856, META_TILE_TYPE_857, META_TILE_TYPE_854,
|
||||
META_TILE_TYPE_858, META_TILE_TYPE_858, META_TILE_TYPE_855 };
|
||||
SetMetaTileType(gUnk_08108C9C[super->type * 2 + super->type2], this->metaTilePos, this->layer);
|
||||
static const u16 gUnk_08108C9C[] = { TILE_TYPE_856, TILE_TYPE_857, TILE_TYPE_854,
|
||||
TILE_TYPE_858, TILE_TYPE_858, TILE_TYPE_855 };
|
||||
SetTileType(gUnk_08108C9C[super->type * 2 + super->type2], this->tilePos, this->layer);
|
||||
}
|
||||
|
||||
@@ -480,7 +480,7 @@ void sub_0805A9CC(TempleOfDropletsManager* this) {
|
||||
tmp1 = gRoomControls.scroll_y - this->unk_26 + this->unk_36;
|
||||
gScreen.bg3.yOffset = tmp1 & 0x3F;
|
||||
tmp3 = (&gBG3Buffer[((tmp1 / 0x40) << 8)]);
|
||||
gScreen.bg3.tilemap = (u32*)tmp3;
|
||||
gScreen.bg3.subTileMap = (u32*)tmp3;
|
||||
gScreen.controls.window1VerticalDimensions = DISPLAY_HEIGHT;
|
||||
if (this->unk_28 == tmp3)
|
||||
return;
|
||||
@@ -524,7 +524,7 @@ void sub_0805AAF0(u32 unk0) {
|
||||
gScreen.controls.layerFXControl = 0x3E48;
|
||||
gScreen.controls.alphaBlend = BLDALPHA_BLEND(8, 16);
|
||||
gScreen.bg3.control = BGCNT_SCREENBASE(30) | BGCNT_CHARBASE(1);
|
||||
gScreen.bg3.tilemap = &gBG3Buffer;
|
||||
gScreen.bg3.subTileMap = &gBG3Buffer;
|
||||
gScreen.bg3.xOffset = 0;
|
||||
gScreen.bg3.yOffset = 0;
|
||||
gScreen.bg3.updated = 1;
|
||||
|
||||
@@ -26,14 +26,14 @@ void TileChangeObserveManager_Main(TileChangeObserveManager* this) {
|
||||
}
|
||||
|
||||
void TileChangeObserveManager_Init(TileChangeObserveManager* this) {
|
||||
u16* tile;
|
||||
u16* tileIndex;
|
||||
if (CheckFlags(this->flag) != 0) {
|
||||
DeleteThisEntity();
|
||||
} else {
|
||||
super->action = 1;
|
||||
tile = &GetLayerByIndex(this->field_0x3a)->mapData[this->tilePosition];
|
||||
this->observedTile = tile;
|
||||
this->initialTile = tile[0];
|
||||
tileIndex = &GetLayerByIndex(this->field_0x3a)->mapData[this->tilePos];
|
||||
this->observedTile = tileIndex;
|
||||
this->initialTile = tileIndex[0];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,16 +31,16 @@ 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 (GetMetaTileType(this->player_current_tile, super->type2)) {
|
||||
case META_TILE_TYPE_791:
|
||||
switch (GetTileType(this->player_current_tile, super->type2)) {
|
||||
case TILE_TYPE_791:
|
||||
// stepped on a red tile again
|
||||
super->action = FAILED;
|
||||
SoundReq(SFX_MENU_ERROR);
|
||||
break;
|
||||
case META_TILE_TYPE_792:
|
||||
case TILE_TYPE_792:
|
||||
// stepped on a blue tile
|
||||
// turn the tile into a red tile
|
||||
sub_0807B7D8(META_TILE_TYPE_791, this->player_current_tile, super->type2);
|
||||
sub_0807B7D8(TILE_TYPE_791, this->player_current_tile, super->type2);
|
||||
SoundReq(SFX_6B);
|
||||
// decrease the number of remaining tiles and check if we're done
|
||||
if (--super->timer == 0) {
|
||||
|
||||
@@ -30,17 +30,17 @@ void sub_0805754C(VerticalMinishPathBackgroundManager* this) {
|
||||
bgOffset = (gRoomControls.scroll_y - gRoomControls.origin_y);
|
||||
bgOffset += bgOffset >> 3;
|
||||
gScreen.bg3.yOffset = bgOffset & 0x3f;
|
||||
gScreen.bg3.tilemap = gMapDataTopSpecial + (bgOffset / 0x40) * 0x200;
|
||||
if (this->field_0x38 != gScreen.bg3.tilemap) {
|
||||
this->field_0x38 = gScreen.bg3.tilemap;
|
||||
gScreen.bg3.subTileMap = gMapDataTopSpecial + (bgOffset / 0x40) * 0x200;
|
||||
if (this->field_0x38 != gScreen.bg3.subTileMap) {
|
||||
this->field_0x38 = gScreen.bg3.subTileMap;
|
||||
gScreen.bg3.updated = 1;
|
||||
}
|
||||
bgOffset = (gRoomControls.scroll_y - gRoomControls.origin_y);
|
||||
bgOffset += bgOffset >> 2;
|
||||
gScreen.bg1.yOffset = bgOffset & 0x3f;
|
||||
gScreen.bg1.tilemap = gMapDataTopSpecial + 0x2000 + (bgOffset / 0x40) * 0x200;
|
||||
if (this->field_0x3c != gScreen.bg1.tilemap) {
|
||||
this->field_0x3c = gScreen.bg1.tilemap;
|
||||
gScreen.bg1.subTileMap = gMapDataTopSpecial + 0x2000 + (bgOffset / 0x40) * 0x200;
|
||||
if (this->field_0x3c != gScreen.bg1.subTileMap) {
|
||||
this->field_0x3c = gScreen.bg1.subTileMap;
|
||||
gScreen.bg1.updated = 1;
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,7 @@ void sub_080575C8(u32 param) {
|
||||
bgOffset += bgOffset >> 3;
|
||||
gScreen.bg3.yOffset = bgOffset & 0x3f;
|
||||
gScreen.bg3.xOffset = 0;
|
||||
gScreen.bg3.tilemap = &gMapDataTopSpecial[(bgOffset / 0x40) * 0x200];
|
||||
gScreen.bg3.subTileMap = &gMapDataTopSpecial[(bgOffset / 0x40) * 0x200];
|
||||
gScreen.bg3.control = BGCNT_SCREENBASE(29) | BGCNT_PRIORITY(1) | BGCNT_CHARBASE(2) | BGCNT_MOSAIC;
|
||||
gScreen.bg3.updated = 1;
|
||||
|
||||
@@ -65,7 +65,7 @@ void sub_080575C8(u32 param) {
|
||||
bgOffset += bgOffset >> 2;
|
||||
gScreen.bg1.yOffset = bgOffset & 0x3f;
|
||||
gScreen.bg1.xOffset = 0;
|
||||
gScreen.bg1.tilemap = &gMapDataTopSpecial[0x2000 + (bgOffset / 0x40) * 0x200];
|
||||
gScreen.bg1.subTileMap = &gMapDataTopSpecial[0x2000 + (bgOffset / 0x40) * 0x200];
|
||||
gScreen.bg1.control = BGCNT_SCREENBASE(30) | BGCNT_PRIORITY(1) | BGCNT_CHARBASE(2) | BGCNT_MOSAIC;
|
||||
gScreen.bg1.updated = 1;
|
||||
gScreen.controls.layerFXControl =
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "tiles.h"
|
||||
|
||||
void WaterfallBottomManager_Main(WaterfallBottomManager* this) {
|
||||
SetMetaTile(SPECIAL_META_TILE_20, TILE_POS(3, 23), LAYER_BOTTOM);
|
||||
SetTile(SPECIAL_TILE_20, TILE_POS(3, 23), LAYER_BOTTOM);
|
||||
if ((gRoomControls.origin_y + 200 < gPlayerEntity.base.y.HALF.HI) &&
|
||||
((u32)(gPlayerEntity.base.x.HALF.HI - gRoomControls.origin_x) - 0x30 < 0x11)) {
|
||||
gPlayerEntity.base.collisionLayer = 3;
|
||||
|
||||
Reference in New Issue
Block a user