diff options
Diffstat (limited to 'src/tv.c')
-rw-r--r-- | src/tv.c | 158 |
1 files changed, 4 insertions, 154 deletions
@@ -2088,7 +2088,6 @@ void sub_80EDE84(u16 nCoinsSpent) sFindThatGamerCoinsSpent = nCoinsSpent; } -#ifdef NONMATCHING // FIXME: Register allocation shenanigans void sub_80EDE98(TVShow *show) { u8 i; @@ -2140,11 +2139,11 @@ void sub_80EDE98(TVShow *show) default: for (k = 0; k < n * n; k ++) { - i = Random() % n; + deco = Random() % n; j = Random() % n; - x = sTV_DecorationsBuffer[i]; - sTV_DecorationsBuffer[i] = sTV_DecorationsBuffer[j]; - sTV_DecorationsBuffer[j] = x; + i = sTV_DecorationsBuffer[deco]; + sTV_DecorationsBuffer[deco] = sTV_DecorationsBuffer[j]; + sTV_DecorationsBuffer[j] = i; } for (i = 0; i < show->secretBaseVisit.nDecorations; i ++) { @@ -2153,155 +2152,6 @@ void sub_80EDE98(TVShow *show) break; } } -#else -ASM_DIRECT -void sub_80EDE98(TVShow *show) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r9\n" - "\tmov r6, r8\n" - "\tpush {r6,r7}\n" - "\tmov r8, r0\n" - "\tmovs r3, 0\n" - "\tldr r6, =sTV_DecorationsBuffer\n" - "\tldr r7, =gSaveBlock1Ptr\n" - "\tadds r2, r6, 0\n" - "\tmovs r1, 0\n" - "_080EDEAC:\n" - "\tadds r0, r3, r2\n" - "\tstrb r1, [r0]\n" - "\tadds r0, r3, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tcmp r3, 0xF\n" - "\tbls _080EDEAC\n" - "\tmovs r3, 0\n" - "\tmovs r5, 0\n" - "_080EDEBE:\n" - "\tldr r0, [r7]\n" - "\tldr r1, =0x00001aae\n" - "\tadds r0, r1\n" - "\tadds r0, r3\n" - "\tldrb r4, [r0]\n" - "\tadds r3, 0x1\n" - "\tcmp r4, 0\n" - "\tbeq _080EDF0A\n" - "\tmovs r1, 0\n" - "\tldrb r0, [r6]\n" - "\tcmp r0, 0\n" - "\tbne _080EDEE8\n" - "\tstrb r4, [r6]\n" - "\tb _080EDF04\n" - "\t.pool\n" - "_080EDEE8:\n" - "\tadds r0, r1, r6\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, r4\n" - "\tbeq _080EDF0A\n" - "\tadds r0, r1, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r1, r0, 24\n" - "\tcmp r1, 0xF\n" - "\tbhi _080EDF0A\n" - "\tadds r2, r1, r6\n" - "\tldrb r0, [r2]\n" - "\tcmp r0, 0\n" - "\tbne _080EDEE8\n" - "\tstrb r4, [r2]\n" - "_080EDF04:\n" - "\tadds r0, r5, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r5, r0, 24\n" - "_080EDF0A:\n" - "\tlsls r0, r3, 24\n" - "\tlsrs r3, r0, 24\n" - "\tcmp r3, 0xF\n" - "\tbls _080EDEBE\n" - "\tcmp r5, 0x4\n" - "\tbls _080EDF1E\n" - "\tmovs r0, 0x4\n" - "\tmov r1, r8\n" - "\tstrb r0, [r1, 0x3]\n" - "\tb _080EDF22\n" - "_080EDF1E:\n" - "\tmov r0, r8\n" - "\tstrb r5, [r0, 0x3]\n" - "_080EDF22:\n" - "\tmov r1, r8\n" - "\tldrb r0, [r1, 0x3]\n" - "\tcmp r0, 0\n" - "\tbeq _080EDFA4\n" - "\tcmp r0, 0x1\n" - "\tbne _080EDF34\n" - "\tldrb r0, [r6]\n" - "\tstrb r0, [r1, 0x4]\n" - "\tb _080EDFA4\n" - "_080EDF34:\n" - "\tmovs r6, 0\n" - "\tadds r7, r5, 0\n" - "\tmuls r7, r5\n" - "\tcmp r6, r7\n" - "\tbge _080EDF7E\n" - "\tldr r0, =sTV_DecorationsBuffer\n" - "\tmov r9, r0\n" - "_080EDF42:\n" - "\tbl Random\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tadds r1, r5, 0\n" - "\tbl __modsi3\n" - "\tlsls r0, 24\n" - "\tlsrs r4, r0, 24\n" - "\tbl Random\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tadds r1, r5, 0\n" - "\tbl __modsi3\n" - "\tlsls r0, 24\n" - "\tlsrs r1, r0, 24\n" - "\tmov r0, r9\n" - "\tadds r2, r4, r0\n" - "\tldrb r3, [r2]\n" - "\tadd r1, r9\n" - "\tldrb r0, [r1]\n" - "\tstrb r0, [r2]\n" - "\tstrb r3, [r1]\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, r7\n" - "\tblt _080EDF42\n" - "_080EDF7E:\n" - "\tmovs r3, 0\n" - "\tmov r1, r8\n" - "\tldrb r1, [r1, 0x3]\n" - "\tcmp r3, r1\n" - "\tbcs _080EDFA4\n" - "\tmov r2, r8\n" - "\tadds r2, 0x4\n" - "\tldr r4, =sTV_DecorationsBuffer\n" - "_080EDF8E:\n" - "\tadds r1, r2, r3\n" - "\tadds r0, r3, r4\n" - "\tldrb r0, [r0]\n" - "\tstrb r0, [r1]\n" - "\tadds r0, r3, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tmov r0, r8\n" - "\tldrb r0, [r0, 0x3]\n" - "\tcmp r3, r0\n" - "\tbcc _080EDF8E\n" - "_080EDFA4:\n" - "\tpop {r3,r4}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool"); -} -#endif void sub_80EDFB4(TVShow *show) { |