mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-02-04 02:10:01 +01:00
sub_8009638
This commit is contained in:
parent
0709dc7e4c
commit
f90106ae6c
67
asm/link.s
67
asm/link.s
@ -5,73 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8009628
|
|
||||||
sub_8009628: @ 8009628
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r1, =gUnknown_020229CC
|
|
||||||
strh r0, [r1, 0x18]
|
|
||||||
bx lr
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8009628
|
|
||||||
|
|
||||||
thumb_func_start sub_8009638
|
|
||||||
sub_8009638: @ 8009638
|
|
||||||
push {r4,r5,lr}
|
|
||||||
ldr r5, =gUnknown_020229CC
|
|
||||||
ldr r4, =gSaveBlock2Ptr
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldrb r2, [r1, 0xA]
|
|
||||||
ldrb r0, [r1, 0xB]
|
|
||||||
lsls r0, 8
|
|
||||||
orrs r2, r0
|
|
||||||
ldrb r0, [r1, 0xC]
|
|
||||||
lsls r0, 16
|
|
||||||
orrs r2, r0
|
|
||||||
ldrb r0, [r1, 0xD]
|
|
||||||
lsls r0, 24
|
|
||||||
orrs r2, r0
|
|
||||||
str r2, [r5, 0x4]
|
|
||||||
adds r0, r5, 0
|
|
||||||
adds r0, 0x8
|
|
||||||
bl StringCopy
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldrb r0, [r0, 0x8]
|
|
||||||
strb r0, [r5, 0x13]
|
|
||||||
ldr r0, =gUnknown_020229C6
|
|
||||||
ldrh r0, [r0]
|
|
||||||
str r0, [r5, 0x14]
|
|
||||||
ldr r0, =gGameLanguage
|
|
||||||
ldrb r0, [r0]
|
|
||||||
strh r0, [r5, 0x1A]
|
|
||||||
ldr r0, =gGameVersion
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 7
|
|
||||||
adds r1, r2, 0
|
|
||||||
adds r0, r1
|
|
||||||
strh r0, [r5]
|
|
||||||
movs r0, 0x80
|
|
||||||
lsls r0, 8
|
|
||||||
strh r0, [r5, 0x2]
|
|
||||||
bl IsNationalPokedexEnabled
|
|
||||||
strb r0, [r5, 0x10]
|
|
||||||
ldr r0, =0x0000087f
|
|
||||||
bl FlagGet
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0800969E
|
|
||||||
ldrb r0, [r5, 0x10]
|
|
||||||
movs r1, 0x10
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r5, 0x10]
|
|
||||||
_0800969E:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8009638
|
|
||||||
|
|
||||||
thumb_func_start sub_80096BC
|
thumb_func_start sub_80096BC
|
||||||
sub_80096BC: @ 80096BC
|
sub_80096BC: @ 80096BC
|
||||||
push {lr}
|
push {lr}
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
#define FLAG_VISITED_MOSSDEEP_CITY CODE_FLAGS + 0x1C
|
#define FLAG_VISITED_MOSSDEEP_CITY CODE_FLAGS + 0x1C
|
||||||
#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D
|
#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D
|
||||||
#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E
|
#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E
|
||||||
|
#define SYS_UNKNOWN_87F CODE_FLAGS + 0x1F
|
||||||
#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20
|
#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20
|
||||||
|
|
||||||
#define SYS_USE_FLASH CODE_FLAGS + 0x28
|
#define SYS_USE_FLASH CODE_FLAGS + 0x28
|
||||||
|
24
src/link.c
24
src/link.c
@ -3,6 +3,8 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "librfu.h"
|
#include "librfu.h"
|
||||||
#include "rng.h"
|
#include "rng.h"
|
||||||
|
#include "string_util.h"
|
||||||
|
#include "event_data.h"
|
||||||
#include "gpu_regs.h"
|
#include "gpu_regs.h"
|
||||||
#include "palette.h"
|
#include "palette.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
@ -56,6 +58,7 @@ IWRAM_DATA void *gUnknown_03000DAC;
|
|||||||
IWRAM_DATA bool32 gUnknown_03000DB0;
|
IWRAM_DATA bool32 gUnknown_03000DB0;
|
||||||
|
|
||||||
u16 gUnknown_020229C6 = 0;
|
u16 gUnknown_020229C6 = 0;
|
||||||
|
struct LinkPlayer gUnknown_020229CC = {};
|
||||||
|
|
||||||
// Static ROM declarations
|
// Static ROM declarations
|
||||||
|
|
||||||
@ -178,3 +181,24 @@ void sub_8009570(void)
|
|||||||
CreateTask(task00_link_test, 0);
|
CreateTask(task00_link_test, 0);
|
||||||
SetMainCallback2(c2_08009A8C);
|
SetMainCallback2(c2_08009A8C);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_8009628(u8 a0)
|
||||||
|
{
|
||||||
|
gUnknown_020229CC.lp_field_18 = a0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8009638(void)
|
||||||
|
{
|
||||||
|
gUnknown_020229CC.trainerId = gSaveBlock2Ptr->playerTrainerId[0] | (gSaveBlock2Ptr->playerTrainerId[1] << 8) | (gSaveBlock2Ptr->playerTrainerId[2] << 16) | (gSaveBlock2Ptr->playerTrainerId[3] << 24);
|
||||||
|
StringCopy(gUnknown_020229CC.name, gSaveBlock2Ptr->playerName);
|
||||||
|
gUnknown_020229CC.gender = gSaveBlock2Ptr->playerGender;
|
||||||
|
gUnknown_020229CC.linkType = gUnknown_020229C6;
|
||||||
|
gUnknown_020229CC.language = gGameLanguage;
|
||||||
|
gUnknown_020229CC.version = gGameVersion + 0x4000;
|
||||||
|
gUnknown_020229CC.lp_field_2 = 0x8000;
|
||||||
|
gUnknown_020229CC.name[8] = IsNationalPokedexEnabled();
|
||||||
|
if (FlagGet(SYS_UNKNOWN_87F))
|
||||||
|
{
|
||||||
|
gUnknown_020229CC.name[8] |= 0x10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user