summaryrefslogtreecommitdiff
path: root/src/code_08049DF4.c
diff options
context:
space:
mode:
authorTony Jih <tonyjih@gmail.com>2024-01-17 15:06:40 +0800
committerGitHub <noreply@github.com>2024-01-17 15:06:40 +0800
commit9cd0ee49672628f41c5858745700b28a3a33eb2e (patch)
treeacaa3d6f15ca8ee16434078cc6a37db40248e47f /src/code_08049DF4.c
parent88338832f9403cc6a7e510b56caada70bbac3bc9 (diff)
parentb429a7b66f4b2cdc932099d201b3401cbdfce46b (diff)
Merge branch 'zeldaret:master' into master
Diffstat (limited to 'src/code_08049DF4.c')
-rw-r--r--src/code_08049DF4.c48
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;