summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorU-User-PC\User <golemgalvanize@github.com>2017-09-22 18:28:18 -0400
committerU-User-PC\User <golemgalvanize@github.com>2017-09-22 18:28:18 -0400
commit3d16b884b93323d2329bd9d805e3ac958311ef0a (patch)
tree9fc8ddc696788a7b026d0a6c19dede4c04ef4e07 /src
parentee277bff16c6d118bf9a4af4a27f0b9619d1fb4b (diff)
updated branch with fix
Diffstat (limited to 'src')
-rwxr-xr-xsrc/pokemon_summary_screen.c347
1 files changed, 62 insertions, 285 deletions
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 77d1d1b28..d555b8834 100755
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -99,6 +99,8 @@ s8 sub_81C08F8(s8 a);
void sub_81C4204(u8 a, u8 b);
void sub_81C20F0(u8 taskId);
u8 sub_81C0A50(struct Pokemon* mon);
+void sub_81C49E0();
+void sub_81C0E24();
u8 sub_81BFB10();
u8 sub_81B1250();
@@ -702,298 +704,73 @@ void sub_81C0604(u8 taskId, s8 a)
}
}
-#ifdef NONMATCHING
void sub_81C0704(u8 taskId)
{
s16 *data = gTasks[taskId].data;
-
+
switch (data[0])
{
- case 0:
- StopCryAndClearCrySongs();
- data[0]++;
- break;
- case 1:
- sub_81C4898();
- DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3]);
- data[0]++;
- break;
- case 2:
- DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D4]);
- data[0]++;
- break;
- case 3:
- sub_81C0098(&gUnknown_0203CF1C->currentPoke);
- gUnknown_0203CF1C->unk40F0 = 0;
- data[0]++;
- break;
- case 4:
- if (sub_81C00F0(&gUnknown_0203CF1C->currentPoke))
- data[0]++;
- break;
- case 5:
- sub_81C49E0(&gUnknown_0203CF1C->currentPoke);
- data[0]++;
- break;
- case 6:
- sub_81C4A08(&gUnknown_0203CF1C->currentPoke);
- data[0]++;
- break;
- case 7:
- if (gUnknown_0203CF1C->summary.unk7)
- sub_81C2074(10, -2);
- sub_81C2228(&gUnknown_0203CF1C->currentPoke);
- data[1] = 0;
- data[0]++;
- break;
- case 8:
- gUnknown_0203CF1C->unk40D3 = sub_81C45F4(&gUnknown_0203CF1C->currentPoke, &data[1]);
- if (gUnknown_0203CF1C->unk40D3 != 0xFF)
- {
- gSprites[gUnknown_0203CF1C->unk40D3].data2 = 1;
- sub_81C0E24();
- data[1] = 0;
- data[0]++;
- }
- break;
- case 9:
- sub_81C4280();
- data[0]++;
- break;
- case 10:
- sub_81C25E8();
- data[0]++;
- break;
- case 11:
- sub_81C2D9C(gUnknown_0203CF1C->unk40C0);
- sub_81C2524();
- data[0]++;
- break;
- case 12:
- gSprites[gUnknown_0203CF1C->unk40D3].data2 = 0;
- data[0]++;
- break;
- case 13:
- if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0)
- {
- TaskFunc *func;
- data[0] = 0;
- func = &gTasks[taskId].func;
- *func = sub_81C0510;
- }
+ case 0:
+ StopCryAndClearCrySongs();
+ break;
+ case 1:
+ sub_81C4898();
+ DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3]);
+ break;
+ case 2:
+ DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D4]);
+ break;
+ case 3:
+ sub_81C0098(&gUnknown_0203CF1C->currentPoke);
+ gUnknown_0203CF1C->unk40F0 = 0;
+ break;
+ case 4:
+ if (sub_81C00F0(&gUnknown_0203CF1C->currentPoke) == 0)
+ return;
+ break;
+ case 5:
+ sub_81C49E0(&gUnknown_0203CF1C->currentPoke);
+ break;
+ case 6:
+ sub_81C4A08(&gUnknown_0203CF1C->currentPoke);
+ break;
+ case 7:
+ if (gUnknown_0203CF1C->summary.unk7)
+ sub_81C2074(10, -2);
+ sub_81C2228(&gUnknown_0203CF1C->currentPoke);
+ data[1] = 0;
+ break;
+ case 8:
+ gUnknown_0203CF1C->unk40D3 = sub_81C45F4(&gUnknown_0203CF1C->currentPoke, &data[1]);
+ if (gUnknown_0203CF1C->unk40D3 == 0xFF)
+ return;
+ gSprites[gUnknown_0203CF1C->unk40D3].data2 = 1;
+ sub_81C0E24();
+ data[1] = 0;
+ break;
+ case 9:
+ sub_81C4280();
+ break;
+ case 10:
+ sub_81C25E8();
+ break;
+ case 11:
+ sub_81C2D9C(gUnknown_0203CF1C->unk40C0);
+ sub_81C2524();
+ break;
+ case 12:
+ gSprites[gUnknown_0203CF1C->unk40D3].data2 = 0;
+ break;
+ default:
+ if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0)
+ {
+ data[0] = 0;
+ gTasks[taskId].func = sub_81C0510;
+ }
+ return;
}
+ data[0]++;
}
-#else
-__attribute__((naked))
-void sub_81C0704(u8 taskId)
-{
- asm(".syntax unified\n\
- push {r4-r6,lr}\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r4, r1, 3\n\
- ldr r6, =gTasks + 0x8\n\
- adds r5, r4, r6\n\
- movs r1, 0\n\
- ldrsh r0, [r5, r1]\n\
- cmp r0, 0xC\n\
- bls _081C071E\n\
- b _081C08BC\n\
-_081C071E:\n\
- lsls r0, 2\n\
- ldr r1, =_081C0730\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .pool\n\
- .align 2, 0\n\
-_081C0730:\n\
- .4byte _081C0764\n\
- .4byte _081C076A\n\
- .4byte _081C0780\n\
- .4byte _081C07A8\n\
- .4byte _081C07C8\n\
- .4byte _081C07E0\n\
- .4byte _081C07F0\n\
- .4byte _081C0800\n\
- .4byte _081C0828\n\
- .4byte _081C086C\n\
- .4byte _081C0872\n\
- .4byte _081C0878\n\
- .4byte _081C0894\n\
-_081C0764:\n\
- bl StopCryAndClearCrySongs\n\
- b _081C08EC\n\
-_081C076A:\n\
- bl sub_81C4898\n\
- ldr r0, =gUnknown_0203CF1C\n\
- ldr r0, [r0]\n\
- ldr r1, =0x000040d3\n\
- b _081C0786\n\
- .pool\n\
-_081C0780:\n\
- ldr r0, =gUnknown_0203CF1C\n\
- ldr r0, [r0]\n\
- ldr r1, =0x000040d4\n\
-_081C0786:\n\
- adds r0, r1\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r1, =gSprites\n\
- adds r0, r1\n\
- bl DestroySpriteAndFreeResources\n\
- b _081C08EC\n\
- .pool\n\
-_081C07A8:\n\
- ldr r4, =gUnknown_0203CF1C\n\
- ldr r0, [r4]\n\
- adds r0, 0xC\n\
- bl sub_81C0098\n\
- ldr r0, [r4]\n\
- ldr r1, =0x000040f0\n\
- adds r0, r1\n\
- movs r1, 0\n\
- strh r1, [r0]\n\
- b _081C08EC\n\
- .pool\n\
-_081C07C8:\n\
- ldr r0, =gUnknown_0203CF1C\n\
- ldr r0, [r0]\n\
- adds r0, 0xC\n\
- bl sub_81C00F0\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _081C07DA\n\
- b _081C08F2\n\
-_081C07DA:\n\
- b _081C08EC\n\
- .pool\n\
-_081C07E0:\n\
- ldr r0, =gUnknown_0203CF1C\n\
- ldr r0, [r0]\n\
- adds r0, 0xC\n\
- bl sub_81C49E0\n\
- b _081C08EC\n\
- .pool\n\
-_081C07F0:\n\
- ldr r0, =gUnknown_0203CF1C\n\
- ldr r0, [r0]\n\
- adds r0, 0xC\n\
- bl sub_81C4A08\n\
- b _081C08EC\n\
- .pool\n\
-_081C0800:\n\
- ldr r4, =gUnknown_0203CF1C\n\
- ldr r0, [r4]\n\
- adds r0, 0x77\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _081C0816\n\
- movs r1, 0x2\n\
- negs r1, r1\n\
- movs r0, 0xA\n\
- bl sub_81C2074\n\
-_081C0816:\n\
- ldr r0, [r4]\n\
- adds r0, 0xC\n\
- bl sub_81C2228\n\
- movs r0, 0\n\
- strh r0, [r5, 0x2]\n\
- b _081C08EC\n\
- .pool\n\
-_081C0828:\n\
- ldr r4, =gUnknown_0203CF1C\n\
- ldr r0, [r4]\n\
- adds r0, 0xC\n\
- adds r1, r5, 0x2\n\
- bl sub_81C45F4\n\
- ldr r1, [r4]\n\
- ldr r2, =0x000040d3\n\
- adds r1, r2\n\
- strb r0, [r1]\n\
- ldr r0, [r4]\n\
- adds r1, r0, r2\n\
- ldrb r0, [r1]\n\
- cmp r0, 0xFF\n\
- beq _081C08F2\n\
- ldr r2, =gSprites\n\
- adds r1, r0, 0\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- movs r1, 0x1\n\
- strh r1, [r0, 0x32]\n\
- bl sub_81C0E24\n\
- movs r0, 0\n\
- strh r0, [r5, 0x2]\n\
- b _081C08EC\n\
- .pool\n\
-_081C086C:\n\
- bl sub_81C4280\n\
- b _081C08EC\n\
-_081C0872:\n\
- bl sub_81C25E8\n\
- b _081C08EC\n\
-_081C0878:\n\
- ldr r0, =gUnknown_0203CF1C\n\
- ldr r0, [r0]\n\
- ldr r1, =0x000040c0\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- bl sub_81C2D9C\n\
- bl sub_81C2524\n\
- b _081C08EC\n\
- .pool\n\
-_081C0894:\n\
- ldr r2, =gSprites\n\
- ldr r0, =gUnknown_0203CF1C\n\
- ldr r0, [r0]\n\
- ldr r1, =0x000040d3\n\
- adds r0, r1\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- movs r1, 0\n\
- strh r1, [r0, 0x32]\n\
- b _081C08EC\n\
- .pool\n\
-_081C08BC:\n\
- bl sub_81221EC\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _081C08F2\n\
- ldr r0, =sub_81C20F0\n\
- bl FuncIsActiveTask\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0\n\
- bne _081C08F2\n\
- strh r0, [r5]\n\
- adds r0, r6, 0\n\
- subs r0, 0x8\n\
- adds r0, r4, r0\n\
- ldr r1, =sub_81C0510\n\
- str r1, [r0]\n\
- b _081C08F2\n\
- .pool\n\
-_081C08EC:\n\
- ldrh r0, [r5]\n\
- adds r0, 0x1\n\
- strh r0, [r5]\n\
-_081C08F2:\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n\
- .syntax divided\n");
-}
-#endif
#ifdef NONMATCHING
s8 sub_81C08F8(s8 a)