mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-13 07:03:40 +01:00
More trade.c
This commit is contained in:
parent
052d458f48
commit
a39783a637
196
asm/trade.s
196
asm/trade.s
@ -6,202 +6,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8079A3C
|
||||
sub_8079A3C: @ 8079A3C
|
||||
push {r4,lr}
|
||||
sub sp, 0xC
|
||||
adds r4, r0, 0
|
||||
lsls r1, 24
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
cmp r1, 0
|
||||
bne _08079A64
|
||||
movs r0, 0x64
|
||||
muls r0, r2
|
||||
ldr r1, =gPlayerParty
|
||||
adds r0, r1
|
||||
movs r1, 0x2
|
||||
mov r2, sp
|
||||
bl GetMonData
|
||||
b _08079A74
|
||||
.pool
|
||||
_08079A64:
|
||||
movs r0, 0x64
|
||||
muls r0, r2
|
||||
ldr r1, =gEnemyParty
|
||||
adds r0, r1
|
||||
movs r1, 0x2
|
||||
mov r2, sp
|
||||
bl GetMonData
|
||||
_08079A74:
|
||||
adds r0, r4, 0
|
||||
mov r1, sp
|
||||
bl StringCopy10
|
||||
movs r0, 0
|
||||
movs r1, 0x2
|
||||
bl GetFontAttribute
|
||||
adds r2, r0, 0
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl GetStringWidth
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
add sp, 0xC
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_8079A3C
|
||||
|
||||
thumb_func_start sub_8079AA4
|
||||
sub_8079AA4: @ 8079AA4
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x8
|
||||
adds r6, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r7, r1, 24
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
ldr r0, =gUnknown_0203229C
|
||||
ldr r1, [r0]
|
||||
lsls r0, r7, 1
|
||||
adds r0, r7
|
||||
lsls r0, 1
|
||||
adds r0, r2, r0
|
||||
adds r1, 0x51
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
bne _08079B5C
|
||||
movs r4, 0
|
||||
movs r0, 0x64
|
||||
adds r5, r2, 0
|
||||
muls r5, r0
|
||||
ldr r0, =gPlayerParty
|
||||
mov r9, r0
|
||||
ldr r2, =gEnemyParty
|
||||
mov r8, r2
|
||||
_08079ADE:
|
||||
cmp r7, 0
|
||||
bne _08079AF8
|
||||
adds r1, r4, 0
|
||||
adds r1, 0xD
|
||||
mov r2, r9
|
||||
b _08079AFE
|
||||
.pool
|
||||
_08079AF8:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0xD
|
||||
mov r2, r8
|
||||
_08079AFE:
|
||||
adds r0, r5, r2
|
||||
movs r2, 0
|
||||
bl GetMonData
|
||||
lsls r1, r4, 1
|
||||
add r1, sp
|
||||
strh r0, [r1]
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
cmp r4, 0x3
|
||||
bls _08079ADE
|
||||
ldr r1, =gText_EmptyString7
|
||||
adds r0, r6, 0
|
||||
bl StringCopy
|
||||
movs r4, 0
|
||||
_08079B20:
|
||||
lsls r0, r4, 1
|
||||
mov r2, sp
|
||||
adds r1, r2, r0
|
||||
ldrh r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _08079B3C
|
||||
adds r1, r0, 0
|
||||
movs r0, 0xD
|
||||
muls r1, r0
|
||||
ldr r0, =gMoveNames
|
||||
adds r1, r0
|
||||
adds r0, r6, 0
|
||||
bl StringAppend
|
||||
_08079B3C:
|
||||
adds r0, r6, 0
|
||||
ldr r1, =gText_NewLine3
|
||||
bl StringAppend
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
cmp r4, 0x3
|
||||
bls _08079B20
|
||||
b _08079B6C
|
||||
.pool
|
||||
_08079B5C:
|
||||
ldr r1, =gText_EmptyString7
|
||||
adds r0, r6, 0
|
||||
bl StringCopy
|
||||
ldr r1, =gText_FourQuestionMarks
|
||||
adds r0, r6, 0
|
||||
bl StringAppend
|
||||
_08079B6C:
|
||||
add sp, 0x8
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8079AA4
|
||||
|
||||
thumb_func_start sub_8079B84
|
||||
sub_8079B84: @ 8079B84
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0xC
|
||||
adds r4, r1, 0
|
||||
adds r5, r2, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 1
|
||||
adds r1, r0
|
||||
lsls r1, 1
|
||||
adds r1, 0x2
|
||||
lsls r4, 24
|
||||
asrs r4, 24
|
||||
adds r4, r1
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x40
|
||||
bl GetStringCenterAlignXOffset
|
||||
adds r2, r0, 0
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
ldr r0, =gUnknown_0832DEE0
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
str r0, [sp, 0x4]
|
||||
str r5, [sp, 0x8]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
movs r3, 0x4
|
||||
bl AddTextPrinterParameterized3
|
||||
adds r0, r4, 0
|
||||
bl PutWindowTilemap
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
add sp, 0xC
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8079B84
|
||||
|
||||
thumb_func_start sub_8079BE0
|
||||
sub_8079BE0: @ 8079BE0
|
||||
push {r4-r7,lr}
|
||||
|
506
src/trade.c
506
src/trade.c
@ -25,6 +25,7 @@
|
||||
#include "trainer_card.h"
|
||||
#include "trade.h"
|
||||
#include "window.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/rgb.h"
|
||||
@ -42,8 +43,7 @@ extern struct {
|
||||
u8 unk_38[12];
|
||||
u8 unk_44;
|
||||
u8 unk_45[12];
|
||||
u8 filler_51[0x57 - 0x51];
|
||||
u8 unk_57[PARTY_SIZE];
|
||||
u8 unk_51[2][PARTY_SIZE];
|
||||
u8 filler_5D[0x69 - 0x5D];
|
||||
u8 unk_69;
|
||||
u8 filler_6A[0x6F - 0x6A];
|
||||
@ -91,6 +91,9 @@ extern const u16 gTradePartyBoxTilemap[];
|
||||
extern const u16 gTradeMovesBoxTilemap[];
|
||||
extern const u8 gUnknown_0832DEE0[];
|
||||
extern const u8 gUnknown_0832DF99[][2];
|
||||
extern const u8 gText_EmptyString7[];
|
||||
extern const u8 gText_NewLine3[];
|
||||
extern const u8 gText_FourQuestionMarks[];
|
||||
|
||||
bool32 sub_8077260(void);
|
||||
void sub_80773D0(void);
|
||||
@ -118,7 +121,7 @@ void sub_8079F74(void);
|
||||
u32 sub_807A5F4(struct Pokemon *, u8, u8);
|
||||
void sub_8079F88(u8);
|
||||
u32 sub_807A09C(void);
|
||||
u8 sub_8079A3C(u8 *, u8, u8);
|
||||
u8 sub_8079A3C(u8 *, bool8, u8);
|
||||
void sub_8079AA4(u8 *, u8, u8);
|
||||
void sub_8079C4C(u8, u8, u8, u8, u8, u8);
|
||||
|
||||
@ -1656,7 +1659,7 @@ u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3)
|
||||
|
||||
if (!IsNationalPokedexEnabled())
|
||||
{
|
||||
if (gUnknown_0203229C->unk_57[a3] || !IsSpeciesInHoennDex(species))
|
||||
if (gUnknown_0203229C->unk_51[1][a3] || !IsSpeciesInHoennDex(species))
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
@ -1940,6 +1943,8 @@ void sub_807967C(u8 a0)
|
||||
}
|
||||
}
|
||||
|
||||
// Brain hurty
|
||||
#ifdef NONMATCHING
|
||||
void sub_80796B4(u8 a0)
|
||||
{
|
||||
s8 test;
|
||||
@ -2011,3 +2016,496 @@ void sub_80796B4(u8 a0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_80796B4(u8 a0)
|
||||
{
|
||||
asm_unified("push {r4-r7,lr}\n\
|
||||
mov r7, r10\n\
|
||||
mov r6, r9\n\
|
||||
mov r5, r8\n\
|
||||
push {r5-r7}\n\
|
||||
sub sp, 0x68\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r7, r0, 24\n\
|
||||
ldr r0, =gUnknown_0203229C\n\
|
||||
ldr r4, [r0]\n\
|
||||
adds r0, r4, 0\n\
|
||||
adds r0, 0x76\n\
|
||||
adds r0, r7\n\
|
||||
ldrb r0, [r0]\n\
|
||||
movs r1, 0x1\n\
|
||||
str r1, [sp, 0x60]\n\
|
||||
cmp r0, 0x5\n\
|
||||
bhi _080796DC\n\
|
||||
movs r2, 0\n\
|
||||
str r2, [sp, 0x60]\n\
|
||||
_080796DC:\n\
|
||||
movs r1, 0x6\n\
|
||||
bl __umodsi3\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r0, 24\n\
|
||||
mov r10, r0\n\
|
||||
movs r0, 0\n\
|
||||
mov r8, r0\n\
|
||||
adds r0, r4, 0\n\
|
||||
adds r0, 0x74\n\
|
||||
adds r3, r0, r7\n\
|
||||
ldrb r0, [r3]\n\
|
||||
cmp r0, 0x2\n\
|
||||
bne _080796FA\n\
|
||||
b _08079884\n\
|
||||
_080796FA:\n\
|
||||
cmp r0, 0x2\n\
|
||||
bgt _08079708\n\
|
||||
cmp r0, 0x1\n\
|
||||
beq _08079716\n\
|
||||
b _08079A24\n\
|
||||
.pool\n\
|
||||
_08079708:\n\
|
||||
cmp r0, 0x3\n\
|
||||
bne _0807970E\n\
|
||||
b _080798BC\n\
|
||||
_0807970E:\n\
|
||||
cmp r0, 0x4\n\
|
||||
bne _08079714\n\
|
||||
b _080799EC\n\
|
||||
_08079714:\n\
|
||||
b _08079A24\n\
|
||||
_08079716:\n\
|
||||
movs r5, 0\n\
|
||||
adds r0, r4, 0\n\
|
||||
adds r0, 0x36\n\
|
||||
adds r0, r7\n\
|
||||
ldr r1, [sp, 0x60]\n\
|
||||
lsls r1, 1\n\
|
||||
mov r9, r1\n\
|
||||
lsls r6, r7, 1\n\
|
||||
lsls r2, r7, 4\n\
|
||||
str r2, [sp, 0x64]\n\
|
||||
ldrb r0, [r0]\n\
|
||||
cmp r8, r0\n\
|
||||
bcs _0807976A\n\
|
||||
ldr r0, =gSprites\n\
|
||||
mov r8, r0\n\
|
||||
ldr r4, =gUnknown_0203229C\n\
|
||||
ldr r0, [sp, 0x60]\n\
|
||||
add r0, r9\n\
|
||||
lsls r2, r0, 1\n\
|
||||
movs r3, 0x4\n\
|
||||
_0807973E:\n\
|
||||
ldr r0, [r4]\n\
|
||||
adds r1, r5, r2\n\
|
||||
adds r0, 0x28\n\
|
||||
adds r0, r1\n\
|
||||
ldrb r1, [r0]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
add r0, r8\n\
|
||||
adds r0, 0x3E\n\
|
||||
ldrb r1, [r0]\n\
|
||||
orrs r1, r3\n\
|
||||
strb r1, [r0]\n\
|
||||
adds r0, r5, 0x1\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r5, r0, 24\n\
|
||||
ldr r0, [r4]\n\
|
||||
adds r0, 0x36\n\
|
||||
adds r0, r7\n\
|
||||
ldrb r0, [r0]\n\
|
||||
cmp r5, r0\n\
|
||||
bcc _0807973E\n\
|
||||
_0807976A:\n\
|
||||
movs r5, 0\n\
|
||||
adds r0, r6, r7\n\
|
||||
lsls r0, 1\n\
|
||||
adds r4, r0, 0x2\n\
|
||||
_08079772:\n\
|
||||
lsls r0, r5, 24\n\
|
||||
asrs r0, 24\n\
|
||||
adds r0, r4\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r0, 24\n\
|
||||
bl ClearWindowTilemap\n\
|
||||
adds r0, r5, 0x1\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r5, r0, 24\n\
|
||||
cmp r5, 0x5\n\
|
||||
bls _08079772\n\
|
||||
ldr r1, =gSprites\n\
|
||||
mov r8, r1\n\
|
||||
ldr r2, =gUnknown_0203229C\n\
|
||||
ldr r0, [r2]\n\
|
||||
ldr r6, [sp, 0x60]\n\
|
||||
add r6, r9\n\
|
||||
lsls r3, r6, 1\n\
|
||||
add r10, r3\n\
|
||||
adds r0, 0x28\n\
|
||||
add r0, r10\n\
|
||||
ldrb r1, [r0]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
add r0, r8\n\
|
||||
adds r0, 0x3E\n\
|
||||
ldrb r2, [r0]\n\
|
||||
movs r1, 0x5\n\
|
||||
negs r1, r1\n\
|
||||
ands r1, r2\n\
|
||||
strb r1, [r0]\n\
|
||||
ldr r0, =gUnknown_0203229C\n\
|
||||
ldr r4, [r0]\n\
|
||||
adds r4, 0x28\n\
|
||||
add r4, r10\n\
|
||||
ldrb r1, [r4]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
add r0, r8\n\
|
||||
movs r1, 0x14\n\
|
||||
strh r1, [r0, 0x2E]\n\
|
||||
ldrb r0, [r4]\n\
|
||||
lsls r2, r0, 4\n\
|
||||
adds r2, r0\n\
|
||||
lsls r2, 2\n\
|
||||
add r2, r8\n\
|
||||
ldr r5, =gUnknown_0832DE24\n\
|
||||
lsls r6, 2\n\
|
||||
adds r0, r6, r5\n\
|
||||
ldrb r0, [r0]\n\
|
||||
adds r3, 0x1\n\
|
||||
lsls r3, 1\n\
|
||||
adds r3, r5\n\
|
||||
ldrb r1, [r3]\n\
|
||||
adds r0, r1\n\
|
||||
asrs r0, 1\n\
|
||||
lsls r0, 3\n\
|
||||
adds r0, 0xE\n\
|
||||
strh r0, [r2, 0x32]\n\
|
||||
ldrb r0, [r4]\n\
|
||||
lsls r1, r0, 4\n\
|
||||
adds r1, r0\n\
|
||||
lsls r1, 2\n\
|
||||
add r1, r8\n\
|
||||
adds r5, 0x1\n\
|
||||
adds r6, r5\n\
|
||||
ldrb r0, [r6]\n\
|
||||
lsls r0, 3\n\
|
||||
subs r0, 0xC\n\
|
||||
strh r0, [r1, 0x36]\n\
|
||||
ldrb r1, [r4]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
add r0, r8\n\
|
||||
ldr r1, =sub_80D3014\n\
|
||||
bl StoreSpriteCallbackInData6\n\
|
||||
ldr r2, =gUnknown_0203229C\n\
|
||||
ldr r1, [r2]\n\
|
||||
adds r1, 0x74\n\
|
||||
adds r1, r7\n\
|
||||
ldrb r0, [r1]\n\
|
||||
adds r0, 0x1\n\
|
||||
strb r0, [r1]\n\
|
||||
ldr r0, [r2]\n\
|
||||
adds r0, 0x28\n\
|
||||
add r0, r10\n\
|
||||
ldrb r1, [r0]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
add r0, r8\n\
|
||||
bl sub_80A6DEC\n\
|
||||
ldr r1, =gTradePartyBoxTilemap\n\
|
||||
ldr r0, [sp, 0x64]\n\
|
||||
subs r2, r0, r7\n\
|
||||
lsls r2, 24\n\
|
||||
lsrs r2, 24\n\
|
||||
movs r0, 0xF\n\
|
||||
str r0, [sp]\n\
|
||||
movs r0, 0x11\n\
|
||||
str r0, [sp, 0x4]\n\
|
||||
movs r0, 0\n\
|
||||
str r0, [sp, 0x8]\n\
|
||||
movs r0, 0x1\n\
|
||||
movs r3, 0\n\
|
||||
bl CopyToBgTilemapBufferRect_ChangePalette\n\
|
||||
movs r0, 0x1\n\
|
||||
bl CopyBgTilemapBufferToVram\n\
|
||||
movs r0, 0\n\
|
||||
bl CopyBgTilemapBufferToVram\n\
|
||||
ldr r1, [sp, 0x60]\n\
|
||||
cmp r1, 0\n\
|
||||
beq _08079868\n\
|
||||
b _08079A24\n\
|
||||
_08079868:\n\
|
||||
bl sub_8079F74\n\
|
||||
b _08079A24\n\
|
||||
.pool\n\
|
||||
_08079884:\n\
|
||||
ldr r2, =gSprites\n\
|
||||
ldr r1, [sp, 0x60]\n\
|
||||
lsls r0, r1, 1\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 1\n\
|
||||
add r0, r10\n\
|
||||
adds r1, r4, 0\n\
|
||||
adds r1, 0x28\n\
|
||||
adds r1, r0\n\
|
||||
ldrb r1, [r1]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
adds r2, 0x1C\n\
|
||||
adds r0, r2\n\
|
||||
ldr r1, [r0]\n\
|
||||
ldr r0, =sub_80D3014\n\
|
||||
cmp r1, r0\n\
|
||||
beq _080798AC\n\
|
||||
b _08079A24\n\
|
||||
_080798AC:\n\
|
||||
movs r0, 0x3\n\
|
||||
strb r0, [r3]\n\
|
||||
b _08079A24\n\
|
||||
.pool\n\
|
||||
_080798BC:\n\
|
||||
ldr r1, =gTradeMovesBoxTilemap\n\
|
||||
ldr r0, [sp, 0x60]\n\
|
||||
lsls r2, r0, 4\n\
|
||||
subs r2, r0\n\
|
||||
lsls r2, 24\n\
|
||||
lsrs r2, 24\n\
|
||||
movs r0, 0xF\n\
|
||||
str r0, [sp]\n\
|
||||
movs r0, 0x11\n\
|
||||
str r0, [sp, 0x4]\n\
|
||||
mov r0, r8\n\
|
||||
str r0, [sp, 0x8]\n\
|
||||
movs r0, 0x1\n\
|
||||
movs r3, 0\n\
|
||||
bl CopyToBgTilemapBufferRect_ChangePalette\n\
|
||||
movs r0, 0x1\n\
|
||||
bl CopyBgTilemapBufferToVram\n\
|
||||
ldr r6, =gSprites\n\
|
||||
ldr r1, =gUnknown_0203229C\n\
|
||||
ldr r4, [r1]\n\
|
||||
ldr r2, [sp, 0x60]\n\
|
||||
lsls r3, r2, 1\n\
|
||||
adds r3, r2\n\
|
||||
lsls r1, r3, 1\n\
|
||||
mov r2, r10\n\
|
||||
adds r0, r2, r1\n\
|
||||
adds r4, 0x28\n\
|
||||
adds r4, r0\n\
|
||||
ldrb r0, [r4]\n\
|
||||
lsls r2, r0, 4\n\
|
||||
adds r2, r0\n\
|
||||
lsls r2, 2\n\
|
||||
adds r2, r6\n\
|
||||
ldr r5, =gUnknown_0832DE24\n\
|
||||
lsls r3, 2\n\
|
||||
adds r0, r3, r5\n\
|
||||
ldrb r0, [r0]\n\
|
||||
adds r1, 0x1\n\
|
||||
lsls r1, 1\n\
|
||||
adds r1, r5\n\
|
||||
ldrb r1, [r1]\n\
|
||||
adds r0, r1\n\
|
||||
asrs r0, 1\n\
|
||||
lsls r0, 3\n\
|
||||
adds r0, 0xE\n\
|
||||
strh r0, [r2, 0x20]\n\
|
||||
ldrb r0, [r4]\n\
|
||||
lsls r1, r0, 4\n\
|
||||
adds r1, r0\n\
|
||||
lsls r1, 2\n\
|
||||
adds r1, r6\n\
|
||||
adds r5, 0x1\n\
|
||||
adds r3, r5\n\
|
||||
ldrb r0, [r3]\n\
|
||||
lsls r0, 3\n\
|
||||
subs r0, 0xC\n\
|
||||
strh r0, [r1, 0x22]\n\
|
||||
ldrb r1, [r4]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
adds r0, r6\n\
|
||||
mov r1, r8\n\
|
||||
strh r1, [r0, 0x24]\n\
|
||||
ldrb r1, [r4]\n\
|
||||
lsls r0, r1, 4\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 2\n\
|
||||
adds r0, r6\n\
|
||||
mov r2, r8\n\
|
||||
strh r2, [r0, 0x26]\n\
|
||||
add r0, sp, 0x14\n\
|
||||
ldr r1, [sp, 0x60]\n\
|
||||
mov r2, r10\n\
|
||||
bl sub_8079A3C\n\
|
||||
lsls r4, r7, 1\n\
|
||||
adds r5, r4, 0\n\
|
||||
adds r5, 0xE\n\
|
||||
lsls r5, 24\n\
|
||||
lsrs r5, 24\n\
|
||||
lsls r0, 24\n\
|
||||
asrs r0, 24\n\
|
||||
movs r2, 0x50\n\
|
||||
subs r2, r0\n\
|
||||
lsrs r0, r2, 31\n\
|
||||
adds r2, r0\n\
|
||||
asrs r2, 1\n\
|
||||
lsls r2, 24\n\
|
||||
lsrs r2, 24\n\
|
||||
ldr r0, =gUnknown_0832DEE0\n\
|
||||
mov r8, r0\n\
|
||||
str r0, [sp]\n\
|
||||
movs r1, 0\n\
|
||||
str r1, [sp, 0x4]\n\
|
||||
add r0, sp, 0x14\n\
|
||||
str r0, [sp, 0x8]\n\
|
||||
adds r0, r5, 0\n\
|
||||
movs r3, 0x4\n\
|
||||
bl AddTextPrinterParameterized3\n\
|
||||
add r6, sp, 0x28\n\
|
||||
adds r0, r6, 0\n\
|
||||
ldr r1, [sp, 0x60]\n\
|
||||
mov r2, r10\n\
|
||||
bl sub_8079AA4\n\
|
||||
adds r4, 0xF\n\
|
||||
lsls r4, 24\n\
|
||||
lsrs r4, 24\n\
|
||||
movs r1, 0\n\
|
||||
str r1, [sp]\n\
|
||||
str r1, [sp, 0x4]\n\
|
||||
mov r2, r8\n\
|
||||
str r2, [sp, 0x8]\n\
|
||||
str r1, [sp, 0xC]\n\
|
||||
str r6, [sp, 0x10]\n\
|
||||
adds r0, r4, 0\n\
|
||||
movs r1, 0x1\n\
|
||||
movs r2, 0\n\
|
||||
movs r3, 0\n\
|
||||
bl AddTextPrinterParameterized4\n\
|
||||
adds r0, r5, 0\n\
|
||||
bl PutWindowTilemap\n\
|
||||
adds r0, r5, 0\n\
|
||||
movs r1, 0x3\n\
|
||||
bl CopyWindowToVram\n\
|
||||
adds r0, r4, 0\n\
|
||||
bl PutWindowTilemap\n\
|
||||
adds r0, r4, 0\n\
|
||||
movs r1, 0x3\n\
|
||||
bl CopyWindowToVram\n\
|
||||
ldr r0, =gUnknown_0203229C\n\
|
||||
ldr r1, [r0]\n\
|
||||
b _08079A1A\n\
|
||||
.pool\n\
|
||||
_080799EC:\n\
|
||||
ldr r0, =gUnknown_0832DF99\n\
|
||||
lsls r1, r7, 1\n\
|
||||
adds r4, r1, r0\n\
|
||||
ldrb r2, [r4]\n\
|
||||
adds r2, 0x4\n\
|
||||
lsls r2, 24\n\
|
||||
lsrs r2, 24\n\
|
||||
adds r0, 0x1\n\
|
||||
adds r1, r0\n\
|
||||
ldrb r3, [r1]\n\
|
||||
adds r3, 0x1\n\
|
||||
lsls r3, 24\n\
|
||||
lsrs r3, 24\n\
|
||||
ldrb r0, [r4]\n\
|
||||
str r0, [sp]\n\
|
||||
ldrb r0, [r1]\n\
|
||||
str r0, [sp, 0x4]\n\
|
||||
adds r0, r7, 0\n\
|
||||
mov r1, r10\n\
|
||||
bl sub_8079C4C\n\
|
||||
ldr r2, =gUnknown_0203229C\n\
|
||||
ldr r1, [r2]\n\
|
||||
_08079A1A:\n\
|
||||
adds r1, 0x74\n\
|
||||
adds r1, r7\n\
|
||||
ldrb r0, [r1]\n\
|
||||
adds r0, 0x1\n\
|
||||
strb r0, [r1]\n\
|
||||
_08079A24:\n\
|
||||
add sp, 0x68\n\
|
||||
pop {r3-r5}\n\
|
||||
mov r8, r3\n\
|
||||
mov r9, r4\n\
|
||||
mov r10, r5\n\
|
||||
pop {r4-r7}\n\
|
||||
pop {r0}\n\
|
||||
bx r0\n\
|
||||
.pool");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
|
||||
u8 sub_8079A3C(u8 *a0, bool8 a1, u8 a2)
|
||||
{
|
||||
u8 name[12];
|
||||
|
||||
if (!a1)
|
||||
{
|
||||
GetMonData(&gPlayerParty[a2], MON_DATA_NICKNAME, name);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetMonData(&gEnemyParty[a2], MON_DATA_NICKNAME, name);
|
||||
}
|
||||
|
||||
StringCopy10(a0, name);
|
||||
return GetStringWidth(0, a0, GetFontAttribute(0, FONTATTR_LETTER_SPACING));
|
||||
}
|
||||
|
||||
void sub_8079AA4(u8 *a0, u8 a1, u8 a2)
|
||||
{
|
||||
u16 arr[4];
|
||||
u16 i;
|
||||
|
||||
if (!gUnknown_0203229C->unk_51[a1][a2])
|
||||
{
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (!a1)
|
||||
{
|
||||
arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
arr[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
StringCopy(a0, gText_EmptyString7);
|
||||
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (arr[i] != MOVE_NONE)
|
||||
{
|
||||
StringAppend(a0, gMoveNames[arr[i]]);
|
||||
}
|
||||
|
||||
StringAppend(a0, gText_NewLine3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCopy(a0, gText_EmptyString7);
|
||||
StringAppend(a0, gText_FourQuestionMarks);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8079B84(u8 a0, u8 a1, u8 *a2)
|
||||
{
|
||||
u8 xPos;
|
||||
a1 += (a0 * 6) + 2;
|
||||
xPos = GetStringCenterAlignXOffset(0, a2, 64);
|
||||
AddTextPrinterParameterized3(a1, 0, xPos, 4, gUnknown_0832DEE0, 0, a2);
|
||||
PutWindowTilemap(a1);
|
||||
CopyWindowToVram(a1, 3);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user