mirror of
https://github.com/zeldaret/tmc
synced 2026-09-08 19:52:15 -04:00
Use metatile enum
This commit is contained in:
+14
-14
@@ -14,9 +14,9 @@ typedef struct {
|
||||
/*0x00*/ Entity base;
|
||||
/*0x68*/ u8 unk_68[8];
|
||||
/*0x70*/ u16 tileIndex;
|
||||
/*0x72*/ u8 unk_72;
|
||||
/*0x72*/ u8 collisionData;
|
||||
/*0x73*/ u8 unk_73;
|
||||
/*0x74*/ u16 tilePosition;
|
||||
/*0x74*/ u16 tilePos;
|
||||
/*0x76*/ u8 unk_76[0x10];
|
||||
/*0x86*/ u16 pushedFlag;
|
||||
} PushableRockEntity;
|
||||
@@ -43,12 +43,12 @@ void PushableRock_Action1(PushableRockEntity* this) {
|
||||
u32 tileType;
|
||||
u32 tmp;
|
||||
|
||||
tileType = GetMetaTileType(this->tilePosition, super->collisionLayer);
|
||||
tileType = GetMetaTileType(this->tilePos, super->collisionLayer);
|
||||
switch (tileType) {
|
||||
case 0x401c:
|
||||
case 0x401d:
|
||||
case 0x401e:
|
||||
case 0x401f:
|
||||
case SPECIAL_META_TILE_28:
|
||||
case SPECIAL_META_TILE_29:
|
||||
case SPECIAL_META_TILE_30:
|
||||
case SPECIAL_META_TILE_31:
|
||||
tmp = (tileType - 0x1c);
|
||||
super->animationState = tmp * 2;
|
||||
super->direction = tmp * 8;
|
||||
@@ -57,7 +57,7 @@ void PushableRock_Action1(PushableRockEntity* this) {
|
||||
} else {
|
||||
super->spriteSettings.flipX = 0;
|
||||
}
|
||||
SetMetaTile(this->tileIndex, this->tilePosition, super->collisionLayer);
|
||||
SetMetaTile(this->tileIndex, this->tilePos, super->collisionLayer);
|
||||
super->action = 2;
|
||||
InitializeAnimation(super, (super->animationState >> 1) + 1);
|
||||
EnqueueSFX(SFX_10F);
|
||||
@@ -90,12 +90,12 @@ void PushableRock_Action3(PushableRockEntity* this) {
|
||||
|
||||
void sub_0808A644(PushableRockEntity* this) {
|
||||
u32 vvv;
|
||||
this->tilePosition = COORD_TO_TILE(super);
|
||||
this->tileIndex = GetMetaTileIndex(this->tilePosition, super->collisionLayer);
|
||||
this->unk_72 = GetCollisionDataAtMetaTilePos(this->tilePosition, super->collisionLayer);
|
||||
vvv = GetVvvAtMetaTilePos(this->tilePosition, super->collisionLayer);
|
||||
this->tilePos = COORD_TO_TILE(super);
|
||||
this->tileIndex = GetMetaTileIndex(this->tilePos, super->collisionLayer);
|
||||
this->collisionData = GetCollisionDataAtMetaTilePos(this->tilePos, super->collisionLayer);
|
||||
vvv = GetVvvAtMetaTilePos(this->tilePos, super->collisionLayer);
|
||||
if ((vvv == VVV_25) || (vvv == VVV_240)) {
|
||||
SetMetaTile(0x4015, this->tilePosition, super->collisionLayer);
|
||||
SetMetaTile(SPECIAL_META_TILE_21, this->tilePos, super->collisionLayer);
|
||||
super->action = 3;
|
||||
if (!CheckFlags(this->pushedFlag)) {
|
||||
SetFlag(this->pushedFlag);
|
||||
@@ -105,7 +105,7 @@ void sub_0808A644(PushableRockEntity* this) {
|
||||
InitializeAnimation(super, 6);
|
||||
}
|
||||
} else {
|
||||
SetMetaTile(0x401b, this->tilePosition, super->collisionLayer);
|
||||
SetMetaTile(SPECIAL_META_TILE_27, this->tilePos, super->collisionLayer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user