diff options
| author | Tony Jih <tonyjih@gmail.com> | 2024-01-17 15:06:40 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-17 15:06:40 +0800 |
| commit | 9cd0ee49672628f41c5858745700b28a3a33eb2e (patch) | |
| tree | acaa3d6f15ca8ee16434078cc6a37db40248e47f /src/code_08049DF4.c | |
| parent | 88338832f9403cc6a7e510b56caada70bbac3bc9 (diff) | |
| parent | b429a7b66f4b2cdc932099d201b3401cbdfce46b (diff) | |
Merge branch 'zeldaret:master' into master
Diffstat (limited to 'src/code_08049DF4.c')
| -rw-r--r-- | src/code_08049DF4.c | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/src/code_08049DF4.c b/src/code_08049DF4.c index c72da0d8..b2004f1a 100644 --- a/src/code_08049DF4.c +++ b/src/code_08049DF4.c @@ -136,11 +136,11 @@ u32 sub_0804A024(Entity* ent, u32 arg1, u32 arg2) { } } -u32 sub_0804A168(Entity*, Entity*, LayerStruct*); -u32 sub_0804A318(Entity*, Entity*, LayerStruct*); +u32 sub_0804A168(Entity*, Entity*, MapLayer* mapLayer); +u32 sub_0804A318(Entity*, Entity*, MapLayer* mapLayer); u32 sub_0804A044(Entity* entA, Entity* entB, u32 arg2) { - LayerStruct* layer; + MapLayer* mapLayer; s32 ret; s32 yDiff; s32 xDiff; @@ -167,7 +167,7 @@ u32 sub_0804A044(Entity* entA, Entity* entB, u32 arg2) { //! @bug flags & 5 can never equal 0xA if (flags && ((flags & 5) != 0xA)) { - layer = GetTileBuffer(entA->collisionLayer); + mapLayer = GetLayerByIndex(entA->collisionLayer); if (xDiff < 0) { xDiff = -xDiff; } @@ -176,7 +176,7 @@ u32 sub_0804A044(Entity* entA, Entity* entB, u32 arg2) { } if (xDiff < yDiff) { if (flags & 1) { - ret = sub_0804A168(entA, entB, layer); + ret = sub_0804A168(entA, entB, mapLayer); if (ret != 0xFF) { return ret; } @@ -184,10 +184,10 @@ u32 sub_0804A044(Entity* entA, Entity* entB, u32 arg2) { if (!(flags & 4)) { return 0xFF; } - ret = sub_0804A318(entA, entB, layer); + ret = sub_0804A318(entA, entB, mapLayer); } else { if (flags & 4) { - ret = sub_0804A318(entA, entB, layer); + ret = sub_0804A318(entA, entB, mapLayer); if (ret != 0xFF) { return ret; } @@ -195,7 +195,7 @@ u32 sub_0804A044(Entity* entA, Entity* entB, u32 arg2) { if (!(flags & 1)) { return 0xFF; } - ret = sub_0804A168(entA, entB, layer); + ret = sub_0804A168(entA, entB, mapLayer); } if (ret != 0xFF) { return ret; @@ -205,9 +205,9 @@ u32 sub_0804A044(Entity* entA, Entity* entB, u32 arg2) { return 0xFF; } -bool32 sub_0804A4BC(u8* arg0, u8* arg1, s32 arg2, u32 arg3); +bool32 sub_0804A4BC(u8* from, u8* to, s32 step, u32 bitmask); -u32 sub_0804A168(Entity* entA, Entity* entB, LayerStruct* layer) { +u32 sub_0804A168(Entity* entA, Entity* entB, MapLayer* mapLayer) { u32 uVar2; u32 uVar3; u32 tile1; @@ -219,13 +219,13 @@ u32 sub_0804A168(Entity* entA, Entity* entB, LayerStruct* layer) { tile1 = TILE(uVar2, entA->y.HALF.HI + 10); tile2 = TILE(uVar2, entB->y.HALF.HI); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 0x40, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], 0x40, uVar3)) { uVar2 = entA->x.HALF.HI + 4; uVar3 ^= 0xF; tile1 = TILE(uVar2, entA->y.HALF.HI + 10); tile2 = TILE(uVar2, entB->y.HALF.HI); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 0x40, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], 0x40, uVar3)) { return 0x10; } } @@ -235,13 +235,13 @@ u32 sub_0804A168(Entity* entA, Entity* entB, LayerStruct* layer) { tile1 = TILE(uVar2, entA->y.HALF.HI - 10); tile2 = TILE(uVar2, entB->y.HALF.HI); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -0x40, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], -0x40, uVar3)) { uVar2 = entA->x.HALF.HI + 4; uVar3 ^= 0xF; tile1 = TILE(uVar2, entA->y.HALF.HI - 10); tile2 = TILE(uVar2, entB->y.HALF.HI); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -0x40, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], -0x40, uVar3)) { return 0; } } @@ -249,7 +249,7 @@ u32 sub_0804A168(Entity* entA, Entity* entB, LayerStruct* layer) { return 0xFF; } -u32 sub_0804A318(Entity* entA, Entity* entB, LayerStruct* layer) { +u32 sub_0804A318(Entity* entA, Entity* entB, MapLayer* mapLayer) { u32 uVar2; u32 uVar3; u32 tile1; @@ -261,13 +261,13 @@ u32 sub_0804A318(Entity* entA, Entity* entB, LayerStruct* layer) { tile1 = TILE(entA->x.HALF.HI + 10, uVar2); tile2 = TILE(entB->x.HALF.HI, uVar2); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 1, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], 1, uVar3)) { uVar2 = entA->y.HALF.HI + 4; uVar3 ^= 0xF; tile1 = TILE(entA->x.HALF.HI + 10, uVar2); tile2 = TILE(entB->x.HALF.HI, uVar2); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 1, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], 1, uVar3)) { return 8; } } @@ -277,12 +277,12 @@ u32 sub_0804A318(Entity* entA, Entity* entB, LayerStruct* layer) { tile1 = TILE(entA->x.HALF.HI - 10, uVar2); tile2 = TILE(entB->x.HALF.HI, uVar2); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -1, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], -1, uVar3)) { uVar2 = entA->y.HALF.HI + 4; uVar3 ^= 0xF; tile1 = TILE(entA->x.HALF.HI - 10, uVar2); tile2 = TILE(entB->x.HALF.HI, uVar2); - if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -1, uVar3)) { + if (sub_0804A4BC(&mapLayer->collisionData[tile1], &mapLayer->collisionData[tile2], -1, uVar3)) { return 0x18; } } @@ -290,21 +290,21 @@ u32 sub_0804A318(Entity* entA, Entity* entB, LayerStruct* layer) { return 0xFF; } -bool32 sub_0804A4BC(u8* arg0, u8* arg1, s32 arg2, u32 arg3) { - while (arg0 != arg1) { - u8 r0 = *arg0; +bool32 sub_0804A4BC(u8* from, u8* to, s32 step, u32 bitmask) { + while (from != to) { + u8 r0 = *from; if (r0 != 0) { if (r0 > 0xF) { return FALSE; } - r0 &= arg3; + r0 &= bitmask; if (r0 != 0) { return FALSE; } } - arg0 += arg2; + from += step; } return TRUE; |
