This commit is contained in:
PikalaxALT
2019-05-17 18:48:53 -04:00
parent 74b3004c43
commit d045449298
13 changed files with 119 additions and 213 deletions
-204
View File
@@ -1,204 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80CA3D8
sub_80CA3D8: @ 80CA3D8
push {lr}
ldr r0, _080CA3F4 @ =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
bne _080CA3FC
movs r0, 0
bl sub_8088EDC
ldr r1, _080CA3F8 @ =gSpecialVar_0x8005
strh r0, [r1]
movs r0, 0x1
bl sub_8088EDC
b _080CA40C
.align 2, 0
_080CA3F4: .4byte gSpecialVar_0x8004
_080CA3F8: .4byte gSpecialVar_0x8005
_080CA3FC:
movs r0, 0
bl pokedex_count
ldr r1, _080CA41C @ =gSpecialVar_0x8005
strh r0, [r1]
movs r0, 0x1
bl pokedex_count
_080CA40C:
ldr r1, _080CA420 @ =gSpecialVar_0x8006
strh r0, [r1]
bl sub_806E25C
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
.align 2, 0
_080CA41C: .4byte gSpecialVar_0x8005
_080CA420: .4byte gSpecialVar_0x8006
thumb_func_end sub_80CA3D8
thumb_func_start sub_80CA424
sub_80CA424: @ 80CA424
push {lr}
lsls r0, 16
lsrs r2, r0, 16
ldr r1, _080CA440 @ =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
cmp r2, 0x9
bhi _080CA436
b _080CA50C
_080CA436:
cmp r2, 0x13
bhi _080CA448
ldr r0, _080CA444 @ =gUnknown_81A6D6D
b _080CA51A
.align 2, 0
_080CA440: .4byte gSpecialVar_Result
_080CA444: .4byte gUnknown_81A6D6D
_080CA448:
cmp r2, 0x1D
bhi _080CA454
ldr r0, _080CA450 @ =gUnknown_81A6DDF
b _080CA51A
.align 2, 0
_080CA450: .4byte gUnknown_81A6DDF
_080CA454:
cmp r2, 0x27
bhi _080CA460
ldr r0, _080CA45C @ =gUnknown_81A6E36
b _080CA51A
.align 2, 0
_080CA45C: .4byte gUnknown_81A6E36
_080CA460:
cmp r2, 0x31
bhi _080CA46C
ldr r0, _080CA468 @ =gUnknown_81A6EA4
b _080CA51A
.align 2, 0
_080CA468: .4byte gUnknown_81A6EA4
_080CA46C:
cmp r2, 0x3B
bhi _080CA478
ldr r0, _080CA474 @ =gUnknown_81A6F0B
b _080CA51A
.align 2, 0
_080CA474: .4byte gUnknown_81A6F0B
_080CA478:
cmp r2, 0x45
bhi _080CA484
ldr r0, _080CA480 @ =gUnknown_81A6F71
b _080CA51A
.align 2, 0
_080CA480: .4byte gUnknown_81A6F71
_080CA484:
cmp r2, 0x4F
bhi _080CA490
ldr r0, _080CA48C @ =gUnknown_81A6FAB
b _080CA51A
.align 2, 0
_080CA48C: .4byte gUnknown_81A6FAB
_080CA490:
cmp r2, 0x59
bhi _080CA49C
ldr r0, _080CA498 @ =gUnknown_81A6FF1
b _080CA51A
.align 2, 0
_080CA498: .4byte gUnknown_81A6FF1
_080CA49C:
cmp r2, 0x63
bhi _080CA4A8
ldr r0, _080CA4A4 @ =gUnknown_81A7031
b _080CA51A
.align 2, 0
_080CA4A4: .4byte gUnknown_81A7031
_080CA4A8:
cmp r2, 0x6D
bhi _080CA4B4
ldr r0, _080CA4B0 @ =gUnknown_81A7063
b _080CA51A
.align 2, 0
_080CA4B0: .4byte gUnknown_81A7063
_080CA4B4:
cmp r2, 0x77
bhi _080CA4C0
ldr r0, _080CA4BC @ =gUnknown_81A70A5
b _080CA51A
.align 2, 0
_080CA4BC: .4byte gUnknown_81A70A5
_080CA4C0:
cmp r2, 0x81
bhi _080CA4CC
ldr r0, _080CA4C8 @ =gUnknown_81A70D8
b _080CA51A
.align 2, 0
_080CA4C8: .4byte gUnknown_81A70D8
_080CA4CC:
cmp r2, 0x8B
bhi _080CA4D8
ldr r0, _080CA4D4 @ =gUnknown_81A7108
b _080CA51A
.align 2, 0
_080CA4D4: .4byte gUnknown_81A7108
_080CA4D8:
cmp r2, 0x95
bls _080CA4F6
cmp r2, 0x96
bne _080CA508
movs r0, 0x97
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
beq _080CA500
_080CA4F6:
ldr r0, _080CA4FC @ =gUnknown_81A7137
b _080CA51A
.align 2, 0
_080CA4FC: .4byte gUnknown_81A7137
_080CA500:
ldr r1, _080CA504 @ =gSpecialVar_Result
b _080CA514
.align 2, 0
_080CA504: .4byte gSpecialVar_Result
_080CA508:
cmp r2, 0x97
beq _080CA514
_080CA50C:
ldr r0, _080CA510 @ =gUnknown_81A6D17
b _080CA51A
.align 2, 0
_080CA510: .4byte gUnknown_81A6D17
_080CA514:
movs r0, 0x1
strh r0, [r1]
ldr r0, _080CA520 @ =gUnknown_81A7175
_080CA51A:
pop {r1}
bx r1
.align 2, 0
_080CA520: .4byte gUnknown_81A7175
thumb_func_end sub_80CA424
thumb_func_start sub_80CA524
sub_80CA524: @ 80CA524
push {lr}
ldr r0, _080CA538 @ =gSpecialVar_0x8004
ldrh r0, [r0]
bl sub_80CA424
bl ShowFieldMessage
pop {r0}
bx r0
.align 2, 0
_080CA538: .4byte gSpecialVar_0x8004
thumb_func_end sub_80CA524
.align 2, 0 @ Don't pad with nop.
+1 -1
View File
@@ -54,7 +54,7 @@ EventScript_1654D8:: @ 81654D8
goto_if 0, EventScript_1655A1
msgbox gUnknown_817D8BF
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80CA3D8
specialvar VAR_RESULT, Special_GetPokedexCount
copyvar VAR_0x8008, VAR_0x8005
copyvar VAR_0x8009, VAR_0x8006
getnumberstring 0, VAR_0x8008
@@ -836,7 +836,7 @@ Movement_1698D0:: @ 81698D0
EventScript_1698D6:: @ 81698D6
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80CA3D8
specialvar VAR_RESULT, Special_GetPokedexCount
copyvar VAR_0x8008, VAR_0x8005
copyvar VAR_0x8009, VAR_0x8006
getnumberstring 0, VAR_0x8008
@@ -37,7 +37,7 @@ Route10_PokemonCenter_1F_EventScript_16FC65:: @ 816FC65
compare_var_to_value VAR_RESULT, 0
goto_if_eq EventScript_1A7AD1
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80CA3D8
specialvar VAR_RESULT, Special_GetPokedexCount
getnumberstring 2, VAR_0x8006
call EventScript_16FCF1
compare_var_to_value VAR_0x8006, 20
@@ -66,7 +66,7 @@ Route11_EastEntrance_2F_EventScript_16FDD8:: @ 816FDD8
compare_var_to_value VAR_RESULT, 0
goto_if_eq EventScript_1A7AD1
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80CA3D8
specialvar VAR_RESULT, Special_GetPokedexCount
getnumberstring 2, VAR_0x8006
call EventScript_16FE64
compare_var_to_value VAR_0x8006, 30
@@ -27,7 +27,7 @@ Route15_WestEntrance_2F_EventScript_1700B9:: @ 81700B9
compare_var_to_value VAR_RESULT, 0
goto_if_eq EventScript_1A7AD1
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80CA3D8
specialvar VAR_RESULT, Special_GetPokedexCount
getnumberstring 2, VAR_0x8006
call EventScript_170145
compare_var_to_value VAR_0x8006, 50
@@ -27,7 +27,7 @@ Route16_NorthEntrance_2F_EventScript_1702E3:: @ 81702E3
compare_var_to_value VAR_RESULT, 0
goto_if_eq EventScript_1A7AD1
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80CA3D8
specialvar VAR_RESULT, Special_GetPokedexCount
getnumberstring 2, VAR_0x8006
call EventScript_17036F
compare_var_to_value VAR_0x8006, 40
+1 -1
View File
@@ -11,7 +11,7 @@ Route2_EastBuilding_EventScript_16F67F:: @ 816F67F
compare_var_to_value VAR_RESULT, 0
goto_if_eq EventScript_1A7AD1
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80CA3D8
specialvar VAR_RESULT, Special_GetPokedexCount
getnumberstring 2, VAR_0x8006
call EventScript_16F70B
compare_var_to_value VAR_0x8006, 10
+1 -1
View File
@@ -221,7 +221,7 @@ gSpecials:: @ 815FD60
def_special nullsub_75
def_special nullsub_75
def_special nullsub_75
def_special sub_80CA3D8
def_special Special_GetPokedexCount
def_special sub_80CA524
def_special sub_80CA86C
def_special sub_80CA9A8
+1
View File
@@ -36,6 +36,7 @@ bool32 sub_806E2BC(void);
void sub_806E6FC(void);
void sub_806E2D0(void);
void sub_806E370(void);
bool32 sub_806E25C(void);
extern u16 gSpecialVar_0x8000;
extern u16 gSpecialVar_0x8001;
+1
View File
@@ -21,5 +21,6 @@ enum
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 pokedex_count(u8);
u16 sub_80C0844(u8);
u16 sub_8088EDC(u8);
#endif // GUARD_POKEDEX_H
+1 -1
View File
@@ -167,7 +167,7 @@ SECTIONS {
asm/rom6.o(.text);
asm/fldeff_flash.o(.text);
asm/post_battle_event_funcs.o(.text);
asm/prof_pc.o(.text);
src/prof_pc.o(.text);
asm/hof_pc.o(.text);
asm/field_specials.o(.text);
asm/battle_records.o(.text);
+108
View File
@@ -0,0 +1,108 @@
#include "global.h"
#include "event_data.h"
#include "pokedex.h"
#include "field_message_box.h"
#include "constants/species.h"
extern const u8 gUnknown_81A6D17[];
extern const u8 gUnknown_81A6D6D[];
extern const u8 gUnknown_81A6DDF[];
extern const u8 gUnknown_81A6E36[];
extern const u8 gUnknown_81A6EA4[];
extern const u8 gUnknown_81A6F0B[];
extern const u8 gUnknown_81A6F71[];
extern const u8 gUnknown_81A6FAB[];
extern const u8 gUnknown_81A6FF1[];
extern const u8 gUnknown_81A7031[];
extern const u8 gUnknown_81A7063[];
extern const u8 gUnknown_81A70A5[];
extern const u8 gUnknown_81A70D8[];
extern const u8 gUnknown_81A7108[];
extern const u8 gUnknown_81A7137[];
extern const u8 gUnknown_81A7175[];
u16 Special_GetPokedexCount(void)
{
if (gSpecialVar_0x8004 == 0)
{
gSpecialVar_0x8005 = sub_8088EDC(0);
gSpecialVar_0x8006 = sub_8088EDC(1);
}
else
{
gSpecialVar_0x8005 = pokedex_count(0);
gSpecialVar_0x8006 = pokedex_count(1);
}
return sub_806E25C();
}
const u8 * sub_80CA424(u16 count)
{
gSpecialVar_Result = FALSE;
if (count < 10)
return gUnknown_81A6D17;
if (count < 20)
return gUnknown_81A6D6D;
if (count < 30)
return gUnknown_81A6DDF;
if (count < 40)
return gUnknown_81A6E36;
if (count < 50)
return gUnknown_81A6EA4;
if (count < 60)
return gUnknown_81A6F0B;
if (count < 70)
return gUnknown_81A6F71;
if (count < 80)
return gUnknown_81A6FAB;
if (count < 90)
return gUnknown_81A6FF1;
if (count < 100)
return gUnknown_81A7031;
if (count < 110)
return gUnknown_81A7063;
if (count < 120)
return gUnknown_81A70A5;
if (count < 130)
return gUnknown_81A70D8;
if (count < 140)
return gUnknown_81A7108;
if (count < 150)
return gUnknown_81A7137;
if (count == 150)
{
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_MEW), 1))
return gUnknown_81A7137;
gSpecialVar_Result = TRUE;
return gUnknown_81A7175;
}
if (count == 151)
{
gSpecialVar_Result = TRUE;
return gUnknown_81A7175;
}
return gUnknown_81A6D17;
}
void sub_80CA524(void)
{
ShowFieldMessage(sub_80CA424(gSpecialVar_0x8004));
}