diff --git a/src/code_804AFAC.c b/src/code_804AFAC.c index f46f2b1f1..5f2549bc0 100644 --- a/src/code_804AFAC.c +++ b/src/code_804AFAC.c @@ -27,7 +27,7 @@ void sub_804FBE8(void) if ((tile->unk4 & 2) != 0) { tile->unk4 &= 0xfffb; } - } + } } } @@ -46,7 +46,7 @@ void sub_804FC74(void) tile->terrainType &= ~(TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); tile->terrainType |= (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); } - } + } } } @@ -64,7 +64,7 @@ void sub_804FCCC(void) tile = GetTileSafe(x,y); tile->terrainType &= ~(TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); } - } + } } } @@ -83,24 +83,19 @@ void sub_804FD10(Tile *tile) tile->object = NULL; } -bool8 static inline boundsCheck(s32 x, s32 y) +bool8 static inline boundsCheck(int x, int y) { - if ((((x < 0 || (y < 0)) || (DUNGEON_MAX_SIZE_X <= x)) || (DUNGEON_MAX_SIZE_Y <= y))) - { - return TRUE; - } - else - return FALSE; + if (x < 0 || (y < 0)) return TRUE; + if (DUNGEON_MAX_SIZE_X <= x) return TRUE; + if (DUNGEON_MAX_SIZE_Y <= y) return TRUE; + return FALSE; } -// https://decomp.me/scratch/w591w (98.17% matching - Seth) -// r6 and r7 are swapped -#ifdef NONMATCHING void sub_804FD30(void) { int x; int y; - + for(x = 0; x < DUNGEON_MAX_SIZE_X; x++) { for(y = 0; y < DUNGEON_MAX_SIZE_Y; y++) @@ -112,7 +107,7 @@ void sub_804FD30(void) (boundsCheck(x + 1, y - 1)) || (boundsCheck(x + 1, y + 1)) || (boundsCheck(x, y + 1)) || - (boundsCheck(x - 1, y + 1)) || + (boundsCheck(x - 1, y + 1)) || (boundsCheck(x - 1, y)) || (boundsCheck(x - 1, y - 1))) { @@ -121,8 +116,8 @@ void sub_804FD30(void) } } - gDungeon->unkE21C = -1; - gDungeon->unkE21E = -1; + gDungeon->unkE21C.x = -1; + gDungeon->unkE21C.y = -1; for(x = 0; x < 8; x++) { @@ -135,246 +130,10 @@ void sub_804FD30(void) gDungeon->unk3904 = 0; for(x = 0; x < 0x40; x++) { - gDungeon->unk1371C[x]->type = 0; + gDungeon->traps[x]->type = 0; } } -#else -NAKED -void sub_804FD30(void) -{ - asm_unified( - "\tpush {r4-r7,lr}\n" - "\tmov r7, r8\n" - "\tpush {r7}\n" - "\tsub sp, 0x4\n" - "\tmovs r6, 0\n" -"_0804FD3A:\n" - "\tmovs r7, 0\n" - "\tadds r4, r6, 0x1\n" -"_0804FD3E:\n" - "\tadds r0, r6, 0\n" - "\tadds r1, r7, 0\n" - "\tbl GetTileSafe\n" - "\tbl sub_804FD10\n" - "\tsubs r3, r7, 0x1\n" - "\tcmp r6, 0\n" - "\tblt _0804FD5C\n" - "\tcmp r3, 0\n" - "\tblt _0804FD5C\n" - "\tcmp r6, 0x37\n" - "\tbgt _0804FD5C\n" - "\tcmp r3, 0x1F\n" - "\tble _0804FD60\n" -"_0804FD5C:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FD62\n" -"_0804FD60:\n" - "\tmovs r0, 0\n" -"_0804FD62:\n" - "\tcmp r0, 0\n" - "\tbne _0804FE24\n" - "\tcmp r4, 0\n" - "\tblt _0804FD76\n" - "\tcmp r3, 0\n" - "\tblt _0804FD76\n" - "\tcmp r4, 0x37\n" - "\tbgt _0804FD76\n" - "\tcmp r3, 0x1F\n" - "\tble _0804FD7A\n" -"_0804FD76:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FD7C\n" -"_0804FD7A:\n" - "\tmovs r0, 0\n" -"_0804FD7C:\n" - "\tcmp r0, 0\n" - "\tbne _0804FE24\n" - "\tcmp r4, 0\n" - "\tblt _0804FD90\n" - "\tcmp r3, 0\n" - "\tblt _0804FD90\n" - "\tcmp r4, 0x37\n" - "\tbgt _0804FD90\n" - "\tcmp r3, 0x1F\n" - "\tble _0804FD94\n" -"_0804FD90:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FD96\n" -"_0804FD94:\n" - "\tmovs r0, 0\n" -"_0804FD96:\n" - "\tcmp r0, 0\n" - "\tbne _0804FE24\n" - "\tadds r2, r7, 0x1\n" - "\tcmp r4, 0\n" - "\tblt _0804FDAC\n" - "\tcmp r2, 0\n" - "\tblt _0804FDAC\n" - "\tcmp r4, 0x37\n" - "\tbgt _0804FDAC\n" - "\tcmp r2, 0x1F\n" - "\tble _0804FDB0\n" -"_0804FDAC:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FDB2\n" -"_0804FDB0:\n" - "\tmovs r0, 0\n" -"_0804FDB2:\n" - "\tcmp r0, 0\n" - "\tbne _0804FE24\n" - "\tcmp r6, 0\n" - "\tblt _0804FDC6\n" - "\tcmp r2, 0\n" - "\tblt _0804FDC6\n" - "\tcmp r6, 0x37\n" - "\tbgt _0804FDC6\n" - "\tcmp r2, 0x1F\n" - "\tble _0804FDCA\n" -"_0804FDC6:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FDCC\n" -"_0804FDCA:\n" - "\tmovs r0, 0\n" -"_0804FDCC:\n" - "\tcmp r0, 0\n" - "\tbne _0804FE24\n" - "\tadds r0, r2, 0\n" - "\tsubs r1, r6, 0x1\n" - "\tcmp r1, 0\n" - "\tblt _0804FDE4\n" - "\tcmp r0, 0\n" - "\tblt _0804FDE4\n" - "\tcmp r1, 0x37\n" - "\tbgt _0804FDE4\n" - "\tcmp r2, 0x1F\n" - "\tble _0804FDE8\n" -"_0804FDE4:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FDEA\n" -"_0804FDE8:\n" - "\tmovs r0, 0\n" -"_0804FDEA:\n" - "\tcmp r0, 0\n" - "\tbne _0804FE24\n" - "\tcmp r1, 0\n" - "\tblt _0804FDFE\n" - "\tcmp r7, 0\n" - "\tblt _0804FDFE\n" - "\tcmp r1, 0x37\n" - "\tbgt _0804FDFE\n" - "\tcmp r7, 0x1F\n" - "\tble _0804FE02\n" -"_0804FDFE:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FE04\n" -"_0804FE02:\n" - "\tmovs r0, 0\n" -"_0804FE04:\n" - "\tcmp r0, 0\n" - "\tbne _0804FE24\n" - "\tadds r0, r3, 0\n" - "\tcmp r1, 0\n" - "\tblt _0804FE1A\n" - "\tcmp r0, 0\n" - "\tblt _0804FE1A\n" - "\tcmp r1, 0x37\n" - "\tbgt _0804FE1A\n" - "\tcmp r3, 0x1F\n" - "\tble _0804FE1E\n" -"_0804FE1A:\n" - "\tmovs r0, 0x1\n" - "\tb _0804FE20\n" -"_0804FE1E:\n" - "\tmovs r0, 0\n" -"_0804FE20:\n" - "\tcmp r0, 0\n" - "\tbeq _0804FE34\n" -"_0804FE24:\n" - "\tadds r0, r6, 0\n" - "\tadds r1, r7, 0\n" - "\tbl GetTileSafe\n" - "\tldrh r2, [r0]\n" - "\tmovs r1, 0x10\n" - "\torrs r1, r2\n" - "\tstrh r1, [r0]\n" -"_0804FE34:\n" - "\tadds r7, 0x1\n" - "\tcmp r7, 0x1F\n" - "\tble _0804FD3E\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x37\n" - "\tbgt _0804FE42\n" - "\tb _0804FD3A\n" -"_0804FE42:\n" - "\tldr r3, _0804FEB4\n" - "\tldr r1, [r3]\n" - "\tldr r0, _0804FEB8\n" - "\tadds r2, r1, r0\n" - "\tldr r0, _0804FEBC\n" - "\tstrh r0, [r2]\n" - "\tldr r2, _0804FEC0\n" - "\tadds r1, r2\n" - "\tmovs r0, 0x1\n" - "\tnegs r0, r0\n" - "\tstrh r0, [r1]\n" - "\tmovs r6, 0\n" - "\tmov r8, r3\n" - "\tldr r1, _0804FEC4\n" -"_0804FE5E:\n" - "\tadds r5, r1, 0\n" - "\tmovs r4, 0\n" - "\tmovs r7, 0x7\n" -"_0804FE64:\n" - "\tmov r2, r8\n" - "\tldr r0, [r2]\n" - "\tadds r0, r5\n" - "\tadds r0, r4\n" - "\tstr r1, [sp]\n" - "\tbl sub_804FD10\n" - "\tadds r4, 0x18\n" - "\tsubs r7, 0x1\n" - "\tldr r1, [sp]\n" - "\tcmp r7, 0\n" - "\tbge _0804FE64\n" - "\tadds r1, 0xC0\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x7\n" - "\tble _0804FE5E\n" - "\tldr r0, _0804FEB4\n" - "\tldr r1, [r0]\n" - "\tldr r2, _0804FEC8\n" - "\tadds r1, r2\n" - "\tmovs r2, 0\n" - "\tstrh r2, [r1]\n" - "\tmovs r6, 0\n" - "\tadds r4, r0, 0\n" - "\tldr r3, _0804FECC\n" -"_0804FE96:\n" - "\tldr r0, [r4]\n" - "\tlsls r1, r6, 2\n" - "\tadds r0, r3\n" - "\tadds r0, r1\n" - "\tldr r0, [r0]\n" - "\tstr r2, [r0]\n" - "\tadds r6, 0x1\n" - "\tcmp r6, 0x3F\n" - "\tble _0804FE96\n" - "\tadd sp, 0x4\n" - "\tpop {r3}\n" - "\tmov r8, r3\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" -"_0804FEB4: .4byte gDungeon\n" -"_0804FEB8: .4byte 0x0000e21c\n" -"_0804FEBC: .4byte 0x0000ffff\n" -"_0804FEC0: .4byte 0x0000e21e\n" -"_0804FEC4: .4byte 0x0000e27c\n" -"_0804FEC8: .4byte 0x00003904\n" -"_0804FECC: .4byte 0x0001371c\n"); -} -#endif + void sub_804FED0(s32 *param_1, s32 param_2) {