mirror of
https://github.com/pret/pmd-red.git
synced 2026-10-01 13:28:04 -05:00
Skipped 2 got 1 lol [sub_8005180]
This commit is contained in:
398
asm/sprite.s
398
asm/sprite.s
@@ -5,404 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8004EA8
|
||||
sub_8004EA8:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0xC
|
||||
adds r5, r0, 0
|
||||
mov r8, r1
|
||||
adds r0, r2, 0
|
||||
adds r6, r3, 0
|
||||
cmp r0, 0
|
||||
beq _08004EC2
|
||||
bl sub_80052BC
|
||||
_08004EC2:
|
||||
ldr r0, _08004F40
|
||||
ldr r7, [r0]
|
||||
mov r12, r0
|
||||
cmp r7, 0x7F
|
||||
ble _08004ECE
|
||||
b _08005082
|
||||
_08004ECE:
|
||||
mov r2, sp
|
||||
ldrh r0, [r5]
|
||||
strh r0, [r2]
|
||||
ldrh r0, [r5, 0x2]
|
||||
strh r0, [r2, 0x2]
|
||||
ldrh r4, [r5, 0x4]
|
||||
ldr r0, _08004F44
|
||||
ands r0, r4
|
||||
strh r0, [r2, 0x4]
|
||||
ldrh r3, [r5, 0x6]
|
||||
ldr r0, _08004F48
|
||||
ands r0, r3
|
||||
strh r0, [r2, 0x6]
|
||||
ldrh r0, [r5, 0x8]
|
||||
strh r0, [r2, 0x8]
|
||||
movs r1, 0xE0
|
||||
lsls r1, 4
|
||||
ands r1, r3
|
||||
lsrs r1, 9
|
||||
ldr r0, _08004F4C
|
||||
ands r0, r4
|
||||
lsls r0, 4
|
||||
orrs r1, r0
|
||||
strh r1, [r2, 0xA]
|
||||
lsls r1, r7, 3
|
||||
ldr r0, _08004F50
|
||||
adds r3, r1, r0
|
||||
mov r0, r8
|
||||
movs r2, 0x16
|
||||
ldrsh r1, [r0, r2]
|
||||
mov r0, sp
|
||||
ldrb r0, [r0, 0x3]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
adds r7, r1, r0
|
||||
cmp r7, 0
|
||||
bge _08004F1A
|
||||
movs r7, 0
|
||||
_08004F1A:
|
||||
cmp r7, 0xFF
|
||||
ble _08004F20
|
||||
movs r7, 0xFF
|
||||
_08004F20:
|
||||
cmp r6, 0
|
||||
bne _08004F54
|
||||
add r2, sp, 0x4
|
||||
ldrh r0, [r2]
|
||||
strh r0, [r3]
|
||||
adds r2, 0x2
|
||||
ldrh r0, [r2]
|
||||
strh r0, [r3, 0x2]
|
||||
adds r2, 0x2
|
||||
adds r1, r3, 0x4
|
||||
ldrh r0, [r2]
|
||||
strh r0, [r1]
|
||||
adds r2, 0x2
|
||||
ldrh r0, [r2]
|
||||
strh r0, [r1, 0x2]
|
||||
b _08004F86
|
||||
.align 2, 0
|
||||
_08004F40: .4byte gSpriteCount
|
||||
_08004F44: .4byte 0x0000fcff
|
||||
_08004F48: .4byte 0x0000f1ff
|
||||
_08004F4C: .4byte 0x000003ff
|
||||
_08004F50: .4byte gUnknown_20262A8
|
||||
_08004F54:
|
||||
add r4, sp, 0x4
|
||||
ldrh r1, [r4]
|
||||
ldrh r0, [r6]
|
||||
ands r0, r1
|
||||
ldrh r1, [r6, 0x6]
|
||||
orrs r0, r1
|
||||
strh r0, [r3]
|
||||
adds r4, 0x2
|
||||
ldrh r1, [r4]
|
||||
ldrh r0, [r6, 0x2]
|
||||
ands r0, r1
|
||||
ldrh r1, [r6, 0x8]
|
||||
orrs r0, r1
|
||||
strh r0, [r3, 0x2]
|
||||
adds r4, 0x2
|
||||
adds r2, r3, 0x4
|
||||
ldrh r1, [r4]
|
||||
ldrh r0, [r6, 0x4]
|
||||
ands r0, r1
|
||||
ldrh r1, [r6, 0xA]
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
adds r4, 0x2
|
||||
ldrh r0, [r4]
|
||||
strh r0, [r2, 0x2]
|
||||
_08004F86:
|
||||
mov r0, sp
|
||||
ldrb r0, [r0, 0x2]
|
||||
cmp r0, 0
|
||||
beq _08004FB0
|
||||
ldr r1, _08004FA8
|
||||
mov r0, sp
|
||||
ldrb r0, [r0, 0x2]
|
||||
lsls r0, 1
|
||||
adds r1, r0, r1
|
||||
movs r4, 0
|
||||
ldrsh r0, [r1, r4]
|
||||
cmp r0, 0
|
||||
beq _08004FB0
|
||||
adds r1, r0, 0
|
||||
ldr r0, _08004FAC
|
||||
ands r1, r0
|
||||
b _08004FC0
|
||||
.align 2, 0
|
||||
_08004FA8: .4byte gUnknown_2025672
|
||||
_08004FAC: .4byte 0x000003ff
|
||||
_08004FB0:
|
||||
ldrh r1, [r3, 0x4]
|
||||
ldr r2, _08005090
|
||||
ands r1, r2
|
||||
mov r6, r8
|
||||
movs r4, 0x14
|
||||
ldrsh r0, [r6, r4]
|
||||
adds r1, r0
|
||||
ands r1, r2
|
||||
_08004FC0:
|
||||
ldrh r2, [r3, 0x4]
|
||||
movs r0, 0xFC
|
||||
lsls r0, 8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, 0x4]
|
||||
ldrh r4, [r3, 0x2]
|
||||
ldr r5, _08005094
|
||||
adds r2, r5, 0
|
||||
ands r2, r4
|
||||
ldr r6, _08005098
|
||||
adds r1, r2, r6
|
||||
mov r2, r8
|
||||
movs r6, 0
|
||||
ldrsh r0, [r2, r6]
|
||||
adds r2, r1, r0
|
||||
movs r0, 0x40
|
||||
negs r0, r0
|
||||
mov r9, r0
|
||||
cmp r2, r9
|
||||
blt _08005082
|
||||
cmp r2, 0xEF
|
||||
bgt _08005082
|
||||
ands r2, r5
|
||||
movs r0, 0xFE
|
||||
lsls r0, 8
|
||||
ands r0, r4
|
||||
orrs r0, r2
|
||||
strh r0, [r3, 0x2]
|
||||
ldrh r0, [r3, 0x6]
|
||||
lsls r4, r0, 16
|
||||
ldr r1, _0800509C
|
||||
adds r5, r1, 0
|
||||
lsrs r2, r4, 20
|
||||
ldr r6, _080050A0
|
||||
adds r1, r2, r6
|
||||
mov r2, r8
|
||||
movs r6, 0x2
|
||||
ldrsh r0, [r2, r6]
|
||||
adds r2, r1, r0
|
||||
cmp r2, r9
|
||||
blt _08005082
|
||||
cmp r2, 0x9F
|
||||
bgt _08005082
|
||||
movs r0, 0xFF
|
||||
ands r2, r0
|
||||
ldrh r1, [r3]
|
||||
movs r0, 0xFF
|
||||
lsls r0, 8
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strh r0, [r3]
|
||||
lsrs r0, r4, 17
|
||||
movs r1, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08005044
|
||||
mov r0, r8
|
||||
ldrb r1, [r0, 0x1E]
|
||||
movs r0, 0xF
|
||||
ands r1, r0
|
||||
lsls r1, 12
|
||||
ldrh r0, [r3, 0x4]
|
||||
ands r0, r5
|
||||
orrs r0, r1
|
||||
strh r0, [r3, 0x4]
|
||||
_08005044:
|
||||
mov r0, sp
|
||||
ldrb r0, [r0, 0x2]
|
||||
cmp r0, 0
|
||||
beq _08005068
|
||||
ldr r1, _080050A4
|
||||
mov r0, sp
|
||||
ldrb r0, [r0, 0x2]
|
||||
lsls r0, 1
|
||||
adds r0, r1
|
||||
movs r2, 0
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r0, 0xF
|
||||
ands r1, r0
|
||||
lsls r1, 12
|
||||
ldrh r0, [r3, 0x4]
|
||||
ands r0, r5
|
||||
orrs r0, r1
|
||||
strh r0, [r3, 0x4]
|
||||
_08005068:
|
||||
ldr r0, _080050A8
|
||||
mov r4, r12
|
||||
ldr r3, [r4]
|
||||
lsls r2, r3, 3
|
||||
adds r2, r0
|
||||
ldr r1, _080050AC
|
||||
lsls r0, r7, 3
|
||||
adds r0, r1
|
||||
ldr r1, [r0]
|
||||
str r1, [r2]
|
||||
str r2, [r0]
|
||||
adds r3, 0x1
|
||||
str r3, [r4]
|
||||
_08005082:
|
||||
add sp, 0xC
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08005090: .4byte 0x000003ff
|
||||
_08005094: .4byte 0x000001ff
|
||||
_08005098: .4byte 0xffffff00
|
||||
_0800509C: .4byte 0x00000fff
|
||||
_080050A0: .4byte 0xfffffe00
|
||||
_080050A4: .4byte gUnknown_2025682
|
||||
_080050A8: .4byte gUnknown_2025EA8
|
||||
_080050AC: .4byte gUnknown_20256A0
|
||||
thumb_func_end sub_8004EA8
|
||||
|
||||
thumb_func_start AddSprite
|
||||
AddSprite:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, 0
|
||||
adds r7, r1, 0
|
||||
mov r8, r2
|
||||
adds r4, r3, 0
|
||||
ldr r0, _080050F4
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0x7F
|
||||
bgt _08005168
|
||||
lsls r1, r0, 3
|
||||
ldr r0, _080050F8
|
||||
adds r5, r1, r0
|
||||
cmp r7, 0
|
||||
bge _080050D2
|
||||
movs r7, 0
|
||||
_080050D2:
|
||||
cmp r7, 0xFF
|
||||
ble _080050D8
|
||||
movs r7, 0xFF
|
||||
_080050D8:
|
||||
cmp r4, 0
|
||||
bne _080050FC
|
||||
ldrh r0, [r6]
|
||||
strh r0, [r5]
|
||||
ldrh r0, [r6, 0x2]
|
||||
strh r0, [r5, 0x2]
|
||||
adds r1, r6, 0x4
|
||||
adds r2, r5, 0x4
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r2]
|
||||
ldrh r0, [r1, 0x2]
|
||||
strh r0, [r2, 0x2]
|
||||
b _08005128
|
||||
.align 2, 0
|
||||
_080050F4: .4byte gSpriteCount
|
||||
_080050F8: .4byte gUnknown_20262A8
|
||||
_080050FC:
|
||||
ldrh r1, [r6]
|
||||
ldrh r0, [r4]
|
||||
ands r0, r1
|
||||
ldrh r1, [r4, 0x6]
|
||||
orrs r0, r1
|
||||
strh r0, [r5]
|
||||
ldrh r1, [r6, 0x2]
|
||||
ldrh r0, [r4, 0x2]
|
||||
ands r0, r1
|
||||
ldrh r1, [r4, 0x8]
|
||||
orrs r0, r1
|
||||
strh r0, [r5, 0x2]
|
||||
adds r2, r6, 0x4
|
||||
adds r3, r5, 0x4
|
||||
ldrh r1, [r2]
|
||||
ldrh r0, [r4, 0x4]
|
||||
ands r0, r1
|
||||
ldrh r1, [r4, 0xA]
|
||||
orrs r0, r1
|
||||
strh r0, [r3]
|
||||
ldrh r0, [r2, 0x2]
|
||||
strh r0, [r3, 0x2]
|
||||
_08005128:
|
||||
ldrh r4, [r5, 0x6]
|
||||
lsrs r4, 4
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl nullsub_3
|
||||
movs r0, 0xFF
|
||||
ands r4, r0
|
||||
ldrh r1, [r5]
|
||||
movs r0, 0xFF
|
||||
lsls r0, 8
|
||||
ands r0, r1
|
||||
orrs r0, r4
|
||||
strh r0, [r5]
|
||||
mov r0, r8
|
||||
cmp r0, 0
|
||||
beq _0800514E
|
||||
bl sub_80052BC
|
||||
_0800514E:
|
||||
ldr r0, _08005174
|
||||
ldr r4, _08005178
|
||||
ldr r3, [r4]
|
||||
lsls r2, r3, 3
|
||||
adds r2, r0
|
||||
ldr r1, _0800517C
|
||||
lsls r0, r7, 3
|
||||
adds r0, r1
|
||||
ldr r1, [r0]
|
||||
str r1, [r2]
|
||||
str r2, [r0]
|
||||
adds r3, 0x1
|
||||
str r3, [r4]
|
||||
_08005168:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08005174: .4byte gUnknown_2025EA8
|
||||
_08005178: .4byte gSpriteCount
|
||||
_0800517C: .4byte gUnknown_20256A0
|
||||
thumb_func_end AddSprite
|
||||
|
||||
thumb_func_start sub_8005180
|
||||
sub_8005180:
|
||||
push {lr}
|
||||
ldr r2, _080051A8
|
||||
adds r1, r2, 0
|
||||
cmp r2, 0
|
||||
beq _0800519E
|
||||
_0800518A:
|
||||
ldr r0, [r1, 0x4]
|
||||
cmp r0, 0
|
||||
beq _08005198
|
||||
cmp r2, 0
|
||||
beq _08005196
|
||||
str r1, [r2]
|
||||
_08005196:
|
||||
adds r2, r1, 0
|
||||
_08005198:
|
||||
ldr r1, [r1]
|
||||
cmp r1, 0
|
||||
bne _0800518A
|
||||
_0800519E:
|
||||
movs r0, 0
|
||||
str r0, [r2]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080051A8: .4byte gUnknown_20256A0
|
||||
thumb_func_end sub_8005180
|
||||
|
||||
thumb_func_start CopySpritesToOam
|
||||
CopySpritesToOam:
|
||||
push {r4-r6,lr}
|
||||
|
||||
@@ -2,14 +2,8 @@
|
||||
#define GUARD_RESCUE_PASSWORD_MENU_H
|
||||
|
||||
#include "menu.h"
|
||||
|
||||
struct unkSprite
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
};
|
||||
#include "sprite.h"
|
||||
#include "text.h"
|
||||
|
||||
// Similar to unkStruct_203B360
|
||||
struct RescuePasswordMenu
|
||||
|
||||
@@ -1,17 +1,32 @@
|
||||
#ifndef GUARD_SPRITE_H
|
||||
#define GUARD_SPRITE_H
|
||||
|
||||
// size: 0x8
|
||||
struct unkSprite
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
};
|
||||
|
||||
// size: 0x8
|
||||
struct UnkSpriteLink
|
||||
{
|
||||
struct UnkSpriteLink *unk0;
|
||||
struct UnkSpriteLink *unk4;
|
||||
};
|
||||
// size: 0x8
|
||||
struct UnkSpriteLink2
|
||||
{
|
||||
struct unkSprite *unk0;
|
||||
struct unkSprite *unk4;
|
||||
};
|
||||
|
||||
// size: 0x808
|
||||
struct SpriteList
|
||||
{
|
||||
struct UnkSpriteLink sprites[16][16];
|
||||
struct UnkSpriteLink sprites[256];
|
||||
u32 unk800;
|
||||
u32 unk804;
|
||||
};
|
||||
@@ -32,6 +47,7 @@ void ResetSprites(bool8);
|
||||
void sub_8004E8C(struct unkStruct_2039DB0 *);
|
||||
|
||||
// sprite.s
|
||||
extern void AddSprite(struct unkSprite *, s32, u32 *, struct unkStruct_2039DB0 *);
|
||||
extern void BlinkSavingIcon(void);
|
||||
extern void SetSavingIconCoords(u32);
|
||||
|
||||
|
||||
@@ -13,15 +13,6 @@
|
||||
#include "code_8094F88.h"
|
||||
#include "sprite.h"
|
||||
|
||||
struct unkSprite
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
};
|
||||
|
||||
|
||||
struct unkStruct_203B35C
|
||||
{
|
||||
// size: 0x504
|
||||
@@ -471,7 +462,6 @@ s32 sub_8035D3C(void);
|
||||
extern s32 sub_8035D74(void);
|
||||
extern void xxx_call_start_bg_music(void);
|
||||
extern void xxx_draw_string_80144C4(void);
|
||||
extern void AddSprite(struct unkSprite *, u32, u32, u32);
|
||||
|
||||
void sub_8036FDC(s32 param_1)
|
||||
{
|
||||
@@ -839,7 +829,7 @@ void sub_8037748(void)
|
||||
gUnknown_203B35C->unkC.unk6 = (gUnknown_203B35C->unkC.unk6 & 0xf) | temp2;
|
||||
|
||||
if ((gUnknown_203B35C->unk14 & 8) != 0) {
|
||||
AddSprite(&gUnknown_203B35C->unkC,0x100,0,0x0);
|
||||
AddSprite(&gUnknown_203B35C->unkC, 0x100, NULL, NULL);
|
||||
}
|
||||
xxx_draw_string_80144C4();
|
||||
gUnknown_203B35C->unk14++;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "random.h"
|
||||
#include "constants/iq_skill.h"
|
||||
#include "constants/tactic.h"
|
||||
#include "sprite.h"
|
||||
|
||||
extern u8 *gIQSkillNames[];
|
||||
extern u32 gIQSkillDescriptions[];
|
||||
@@ -29,15 +30,7 @@ struct unkStruct_808E9EC
|
||||
};
|
||||
extern u32 gUnknown_81076C4[];
|
||||
|
||||
struct unkStruct_202F3E8
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
};
|
||||
|
||||
extern struct unkStruct_202F3E8 gUnknown_202F3E8[];
|
||||
extern struct unkSprite gUnknown_202F3E8[3]; // Shadow sprites of some kind
|
||||
extern s16 gUnknown_810AC60; // 0xC
|
||||
extern s16 gUnknown_810AC62; // 0xC
|
||||
extern s16 gUnknown_810AC68; // 0x8
|
||||
@@ -47,8 +40,6 @@ extern s16 gUnknown_810AC66; // 0x8
|
||||
// 2, 4, 6, 7, 8, 9, 0xA, 0xD, 0xF, 0x11
|
||||
extern s32 gUnknown_810AC90[10];
|
||||
|
||||
extern void AddSprite(u16 *, u32, u32, u32);
|
||||
|
||||
extern void SaveDungeonLocation(struct unkStruct_8094924*, struct DungeonLocation*);
|
||||
extern void xxx_save_poke_sub_c_808F41C(struct unkStruct_8094924*, struct unkPokeSubStruct_C*);
|
||||
extern void SavePokemonMoves(struct unkStruct_8094924*, struct Move*);
|
||||
@@ -71,7 +62,7 @@ bool8 sub_808E668(s16 a1, s16* a2, s16* a3)
|
||||
if (((shifted - 0x320000) >> 16) > 1) {
|
||||
u8 shadowSize = GetShadowSize(a1);
|
||||
u32 unk2, unk6;
|
||||
struct unkStruct_202F3E8* arg0;
|
||||
struct unkSprite* arg0;
|
||||
|
||||
unk2 = a2[0] + a3[8];
|
||||
unk6 = a2[1] + a3[9];
|
||||
@@ -84,7 +75,7 @@ bool8 sub_808E668(s16 a1, s16* a2, s16* a3)
|
||||
unk6 &= 0xfff;
|
||||
unk6 <<= 4;
|
||||
arg0->unk6 = (arg0->unk6 & 0xf) | unk6;
|
||||
AddSprite((u16*)arg0, 0, 0, 0);
|
||||
AddSprite(arg0, 0, NULL, NULL);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -250,7 +250,6 @@ extern void sub_8031E10(void);
|
||||
extern u32 sub_80154F0(void);
|
||||
extern u32 sub_8031DCC(void);
|
||||
extern void sub_8031E00(void);
|
||||
extern void AddSprite(struct unkSprite *, u32, u32, u32);
|
||||
extern void xxx_draw_string_80144C4(void);
|
||||
|
||||
void DisplayRescuePasswordError(u32 error);
|
||||
@@ -747,7 +746,7 @@ void sub_80391F8(void)
|
||||
iVar2->unk6 = temp | temp2;
|
||||
|
||||
if ((gRescuePasswordMenu->unk210 & 8) != 0) {
|
||||
AddSprite(iVar2,0x100,0,0);
|
||||
AddSprite(iVar2, 0x100, NULL, NULL);
|
||||
}
|
||||
xxx_draw_string_80144C4();
|
||||
gRescuePasswordMenu->unk210 += 1;
|
||||
|
||||
@@ -7,14 +7,6 @@
|
||||
#include "sprite.h"
|
||||
#include "code_80130A8.h"
|
||||
|
||||
struct unkSprite
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
};
|
||||
|
||||
struct unkStruct_203B360
|
||||
{
|
||||
// size: 0x1b4
|
||||
@@ -138,7 +130,6 @@ extern void sub_8038830();
|
||||
extern void sub_80388C4(void);
|
||||
extern void sub_8014114();
|
||||
extern void sub_80140F8(void);
|
||||
extern void AddSprite(struct unkSprite *, u32, u32, u32);
|
||||
|
||||
void CreateSaveMenu(s32 currMenu)
|
||||
{
|
||||
@@ -338,7 +329,7 @@ void sub_8038830(void)
|
||||
|
||||
void sub_80388C4(void) {
|
||||
if ((gUnknown_203B364->unk1B0 & 8) != 0) {
|
||||
AddSprite(&gUnknown_203B364->unk1A8, 0x100, 0, 0);
|
||||
AddSprite(&gUnknown_203B364->unk1A8, 0x100, NULL, NULL);
|
||||
}
|
||||
gUnknown_203B364->unk1B0++;
|
||||
}
|
||||
|
||||
471
src/sprite.c
471
src/sprite.c
@@ -2,8 +2,8 @@
|
||||
#include "sprite.h"
|
||||
|
||||
extern struct SpriteList gUnknown_20256A0;
|
||||
extern struct UnkSpriteLink gUnknown_2025EA8[128];
|
||||
extern struct UnkSpriteLink gUnknown_20262A8[128];
|
||||
extern struct UnkSpriteLink2 gUnknown_2025EA8[128];
|
||||
extern struct unkSprite gUnknown_20262A8[128];
|
||||
extern u32 gSpriteCount; /* 20266A8 */
|
||||
extern u32 gUnknown_20266B0;
|
||||
extern u32 *gCharMemCursor; /* 2026E30 */
|
||||
@@ -21,16 +21,19 @@ void ResetSprites(bool8 a0)
|
||||
struct UnkSpriteLink *a;
|
||||
struct UnkSpriteLink *b;
|
||||
struct UnkSpriteLink *c;
|
||||
struct UnkSpriteLink2 *bro;
|
||||
struct unkSprite *d;
|
||||
struct unkSprite *deez;
|
||||
|
||||
gSpriteCount = 0;
|
||||
gCharMemCursor = (u32*)0x6010000;
|
||||
gUnknown_203B074 = &gUnknown_20266B0;
|
||||
|
||||
a = &gUnknown_20256A0.sprites[0][0];
|
||||
a = &gUnknown_20256A0.sprites[0];
|
||||
b = a + 1;
|
||||
|
||||
// 16 loops, very smart
|
||||
for (i = 0; i < 0x100; i += 0x10) {
|
||||
for (i = 0; i < 256; i += 16) {
|
||||
c = NULL;
|
||||
a->unk0 = b;
|
||||
a->unk4 = c;
|
||||
@@ -99,14 +102,14 @@ void ResetSprites(bool8 a0)
|
||||
}
|
||||
|
||||
if (a0) {
|
||||
c = NULL;
|
||||
b = &gUnknown_20262A8[0];
|
||||
a = &gUnknown_2025EA8[0];
|
||||
deez = NULL;
|
||||
d = &gUnknown_20262A8[0];
|
||||
bro = &gUnknown_2025EA8[0];
|
||||
for (i = 0; i < 128; i++) {
|
||||
a->unk0 = c;
|
||||
a->unk4 = b;
|
||||
b++;
|
||||
a++;
|
||||
bro->unk0 = deez;
|
||||
bro->unk4 = d;
|
||||
d++;
|
||||
bro++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,4 +125,450 @@ void sub_8004E8C(struct unkStruct_2039DB0 *a0)
|
||||
a0->unk6 = 0;
|
||||
a0->unk8 = 0;
|
||||
a0->unkA = 0;
|
||||
}
|
||||
|
||||
// Need more structs decomped first https://decomp.me/scratch/VYqKb
|
||||
NAKED
|
||||
void sub_8004EA8(s32 a0, s16 *a1, u32 *a2, u16 *a3)
|
||||
{
|
||||
asm_unified(
|
||||
"push {r4-r7,lr}\n"
|
||||
"\tmov r7, r9\n"
|
||||
"\tmov r6, r8\n"
|
||||
"\tpush {r6,r7}\n"
|
||||
"\tsub sp, 0xC\n"
|
||||
"\tadds r5, r0, 0\n"
|
||||
"\tmov r8, r1\n"
|
||||
"\tadds r0, r2, 0\n"
|
||||
"\tadds r6, r3, 0\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _08004EC2\n"
|
||||
"\tbl sub_80052BC\n"
|
||||
"_08004EC2:\n"
|
||||
"\tldr r0, _08004F40\n"
|
||||
"\tldr r7, [r0]\n"
|
||||
"\tmov r12, r0\n"
|
||||
"\tcmp r7, 0x7F\n"
|
||||
"\tble _08004ECE\n"
|
||||
"\tb _08005082\n"
|
||||
"_08004ECE:\n"
|
||||
"\tmov r2, sp\n"
|
||||
"\tldrh r0, [r5]\n"
|
||||
"\tstrh r0, [r2]\n"
|
||||
"\tldrh r0, [r5, 0x2]\n"
|
||||
"\tstrh r0, [r2, 0x2]\n"
|
||||
"\tldrh r4, [r5, 0x4]\n"
|
||||
"\tldr r0, _08004F44\n"
|
||||
"\tands r0, r4\n"
|
||||
"\tstrh r0, [r2, 0x4]\n"
|
||||
"\tldrh r3, [r5, 0x6]\n"
|
||||
"\tldr r0, _08004F48\n"
|
||||
"\tands r0, r3\n"
|
||||
"\tstrh r0, [r2, 0x6]\n"
|
||||
"\tldrh r0, [r5, 0x8]\n"
|
||||
"\tstrh r0, [r2, 0x8]\n"
|
||||
"\tmovs r1, 0xE0\n"
|
||||
"\tlsls r1, 4\n"
|
||||
"\tands r1, r3\n"
|
||||
"\tlsrs r1, 9\n"
|
||||
"\tldr r0, _08004F4C\n"
|
||||
"\tands r0, r4\n"
|
||||
"\tlsls r0, 4\n"
|
||||
"\torrs r1, r0\n"
|
||||
"\tstrh r1, [r2, 0xA]\n"
|
||||
"\tlsls r1, r7, 3\n"
|
||||
"\tldr r0, _08004F50\n"
|
||||
"\tadds r3, r1, r0\n"
|
||||
"\tmov r0, r8\n"
|
||||
"\tmovs r2, 0x16\n"
|
||||
"\tldrsh r1, [r0, r2]\n"
|
||||
"\tmov r0, sp\n"
|
||||
"\tldrb r0, [r0, 0x3]\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tasrs r0, 24\n"
|
||||
"\tadds r7, r1, r0\n"
|
||||
"\tcmp r7, 0\n"
|
||||
"\tbge _08004F1A\n"
|
||||
"\tmovs r7, 0\n"
|
||||
"_08004F1A:\n"
|
||||
"\tcmp r7, 0xFF\n"
|
||||
"\tble _08004F20\n"
|
||||
"\tmovs r7, 0xFF\n"
|
||||
"_08004F20:\n"
|
||||
"\tcmp r6, 0\n"
|
||||
"\tbne _08004F54\n"
|
||||
"\tadd r2, sp, 0x4\n"
|
||||
"\tldrh r0, [r2]\n"
|
||||
"\tstrh r0, [r3]\n"
|
||||
"\tadds r2, 0x2\n"
|
||||
"\tldrh r0, [r2]\n"
|
||||
"\tstrh r0, [r3, 0x2]\n"
|
||||
"\tadds r2, 0x2\n"
|
||||
"\tadds r1, r3, 0x4\n"
|
||||
"\tldrh r0, [r2]\n"
|
||||
"\tstrh r0, [r1]\n"
|
||||
"\tadds r2, 0x2\n"
|
||||
"\tldrh r0, [r2]\n"
|
||||
"\tstrh r0, [r1, 0x2]\n"
|
||||
"\tb _08004F86\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08004F40: .4byte gSpriteCount\n"
|
||||
"_08004F44: .4byte 0x0000fcff\n"
|
||||
"_08004F48: .4byte 0x0000f1ff\n"
|
||||
"_08004F4C: .4byte 0x000003ff\n"
|
||||
"_08004F50: .4byte gUnknown_20262A8\n"
|
||||
"_08004F54:\n"
|
||||
"\tadd r4, sp, 0x4\n"
|
||||
"\tldrh r1, [r4]\n"
|
||||
"\tldrh r0, [r6]\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tldrh r1, [r6, 0x6]\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r3]\n"
|
||||
"\tadds r4, 0x2\n"
|
||||
"\tldrh r1, [r4]\n"
|
||||
"\tldrh r0, [r6, 0x2]\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tldrh r1, [r6, 0x8]\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r3, 0x2]\n"
|
||||
"\tadds r4, 0x2\n"
|
||||
"\tadds r2, r3, 0x4\n"
|
||||
"\tldrh r1, [r4]\n"
|
||||
"\tldrh r0, [r6, 0x4]\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tldrh r1, [r6, 0xA]\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r2]\n"
|
||||
"\tadds r4, 0x2\n"
|
||||
"\tldrh r0, [r4]\n"
|
||||
"\tstrh r0, [r2, 0x2]\n"
|
||||
"_08004F86:\n"
|
||||
"\tmov r0, sp\n"
|
||||
"\tldrb r0, [r0, 0x2]\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _08004FB0\n"
|
||||
"\tldr r1, _08004FA8\n"
|
||||
"\tmov r0, sp\n"
|
||||
"\tldrb r0, [r0, 0x2]\n"
|
||||
"\tlsls r0, 1\n"
|
||||
"\tadds r1, r0, r1\n"
|
||||
"\tmovs r4, 0\n"
|
||||
"\tldrsh r0, [r1, r4]\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _08004FB0\n"
|
||||
"\tadds r1, r0, 0\n"
|
||||
"\tldr r0, _08004FAC\n"
|
||||
"\tands r1, r0\n"
|
||||
"\tb _08004FC0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08004FA8: .4byte gUnknown_2025672\n"
|
||||
"_08004FAC: .4byte 0x000003ff\n"
|
||||
"_08004FB0:\n"
|
||||
"\tldrh r1, [r3, 0x4]\n"
|
||||
"\tldr r2, _08005090\n"
|
||||
"\tands r1, r2\n"
|
||||
"\tmov r6, r8\n"
|
||||
"\tmovs r4, 0x14\n"
|
||||
"\tldrsh r0, [r6, r4]\n"
|
||||
"\tadds r1, r0\n"
|
||||
"\tands r1, r2\n"
|
||||
"_08004FC0:\n"
|
||||
"\tldrh r2, [r3, 0x4]\n"
|
||||
"\tmovs r0, 0xFC\n"
|
||||
"\tlsls r0, 8\n"
|
||||
"\tands r0, r2\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r3, 0x4]\n"
|
||||
"\tldrh r4, [r3, 0x2]\n"
|
||||
"\tldr r5, _08005094\n"
|
||||
"\tadds r2, r5, 0\n"
|
||||
"\tands r2, r4\n"
|
||||
"\tldr r6, _08005098\n"
|
||||
"\tadds r1, r2, r6\n"
|
||||
"\tmov r2, r8\n"
|
||||
"\tmovs r6, 0\n"
|
||||
"\tldrsh r0, [r2, r6]\n"
|
||||
"\tadds r2, r1, r0\n"
|
||||
"\tmovs r0, 0x40\n"
|
||||
"\tnegs r0, r0\n"
|
||||
"\tmov r9, r0\n"
|
||||
"\tcmp r2, r9\n"
|
||||
"\tblt _08005082\n"
|
||||
"\tcmp r2, 0xEF\n"
|
||||
"\tbgt _08005082\n"
|
||||
"\tands r2, r5\n"
|
||||
"\tmovs r0, 0xFE\n"
|
||||
"\tlsls r0, 8\n"
|
||||
"\tands r0, r4\n"
|
||||
"\torrs r0, r2\n"
|
||||
"\tstrh r0, [r3, 0x2]\n"
|
||||
"\tldrh r0, [r3, 0x6]\n"
|
||||
"\tlsls r4, r0, 16\n"
|
||||
"\tldr r1, _0800509C\n"
|
||||
"\tadds r5, r1, 0\n"
|
||||
"\tlsrs r2, r4, 20\n"
|
||||
"\tldr r6, _080050A0\n"
|
||||
"\tadds r1, r2, r6\n"
|
||||
"\tmov r2, r8\n"
|
||||
"\tmovs r6, 0x2\n"
|
||||
"\tldrsh r0, [r2, r6]\n"
|
||||
"\tadds r2, r1, r0\n"
|
||||
"\tcmp r2, r9\n"
|
||||
"\tblt _08005082\n"
|
||||
"\tcmp r2, 0x9F\n"
|
||||
"\tbgt _08005082\n"
|
||||
"\tmovs r0, 0xFF\n"
|
||||
"\tands r2, r0\n"
|
||||
"\tldrh r1, [r3]\n"
|
||||
"\tmovs r0, 0xFF\n"
|
||||
"\tlsls r0, 8\n"
|
||||
"\tands r0, r1\n"
|
||||
"\torrs r0, r2\n"
|
||||
"\tstrh r0, [r3]\n"
|
||||
"\tlsrs r0, r4, 17\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _08005044\n"
|
||||
"\tmov r0, r8\n"
|
||||
"\tldrb r1, [r0, 0x1E]\n"
|
||||
"\tmovs r0, 0xF\n"
|
||||
"\tands r1, r0\n"
|
||||
"\tlsls r1, 12\n"
|
||||
"\tldrh r0, [r3, 0x4]\n"
|
||||
"\tands r0, r5\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r3, 0x4]\n"
|
||||
"_08005044:\n"
|
||||
"\tmov r0, sp\n"
|
||||
"\tldrb r0, [r0, 0x2]\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _08005068\n"
|
||||
"\tldr r1, _080050A4\n"
|
||||
"\tmov r0, sp\n"
|
||||
"\tldrb r0, [r0, 0x2]\n"
|
||||
"\tlsls r0, 1\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tldrsh r1, [r0, r2]\n"
|
||||
"\tmovs r0, 0xF\n"
|
||||
"\tands r1, r0\n"
|
||||
"\tlsls r1, 12\n"
|
||||
"\tldrh r0, [r3, 0x4]\n"
|
||||
"\tands r0, r5\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r3, 0x4]\n"
|
||||
"_08005068:\n"
|
||||
"\tldr r0, _080050A8\n"
|
||||
"\tmov r4, r12\n"
|
||||
"\tldr r3, [r4]\n"
|
||||
"\tlsls r2, r3, 3\n"
|
||||
"\tadds r2, r0\n"
|
||||
"\tldr r1, _080050AC\n"
|
||||
"\tlsls r0, r7, 3\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tstr r1, [r2]\n"
|
||||
"\tstr r2, [r0]\n"
|
||||
"\tadds r3, 0x1\n"
|
||||
"\tstr r3, [r4]\n"
|
||||
"_08005082:\n"
|
||||
"\tadd sp, 0xC\n"
|
||||
"\tpop {r3,r4}\n"
|
||||
"\tmov r8, r3\n"
|
||||
"\tmov r9, r4\n"
|
||||
"\tpop {r4-r7}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08005090: .4byte 0x000003ff\n"
|
||||
"_08005094: .4byte 0x000001ff\n"
|
||||
"_08005098: .4byte 0xffffff00\n"
|
||||
"_0800509C: .4byte 0x00000fff\n"
|
||||
"_080050A0: .4byte 0xfffffe00\n"
|
||||
"_080050A4: .4byte gUnknown_2025682\n"
|
||||
"_080050A8: .4byte gUnknown_2025EA8\n"
|
||||
"_080050AC: .4byte gUnknown_20256A0");
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING // https://decomp.me/scratch/YCfKG
|
||||
// a2 and a3 are always called with NULL lol
|
||||
void AddSprite(struct unkSprite *a0, s32 a1, u32 *a2, struct unkStruct_2039DB0 *a3)
|
||||
{
|
||||
u16 uVar1;
|
||||
struct unkSprite *spr;
|
||||
struct UnkSpriteLink *a;
|
||||
struct UnkSpriteLink *b;
|
||||
|
||||
if (gSpriteCount >= 128)
|
||||
return;
|
||||
|
||||
spr = &gUnknown_20262A8[gSpriteCount];
|
||||
|
||||
if (a1 < 0)
|
||||
a1 = 0;
|
||||
if (a1 > 255)
|
||||
a1 = 255;
|
||||
|
||||
if (a3 == NULL) {
|
||||
spr->unk0 = a0->unk0;
|
||||
spr->unk2 = a0->unk2;
|
||||
spr->unk4 = a0->unk4;
|
||||
spr->unk6 = a0->unk6;
|
||||
}
|
||||
else {
|
||||
spr->unk0 = (a3->unk0 & a0->unk0) | a3->unk6;
|
||||
spr->unk2 = (a3->unk2 & a0->unk2) | a3->unk8;
|
||||
spr->unk4 = (a3->unk4 & a0->unk4) | a3->unkA;
|
||||
spr->unk6 = a0->unk6;
|
||||
}
|
||||
|
||||
uVar1 = spr->unk6 >> 4;
|
||||
nullsub_3(uVar1, 0);
|
||||
spr->unk0 = (uVar1 & 0xFF) | (spr->unk0 & 0xFF00);
|
||||
|
||||
if (a2 != NULL)
|
||||
sub_80052BC(a2);
|
||||
|
||||
a = &gUnknown_2025EA8[0];
|
||||
a += gSpriteCount;
|
||||
b = &gUnknown_20256A0.sprites[0];
|
||||
b += a1;
|
||||
a->unk0 = b->unk0;
|
||||
b->unk0 = a;
|
||||
|
||||
gSpriteCount++;
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void AddSprite(struct unkSprite *a0, s32 a1, u32 *a2, struct unkStruct_2039DB0 *a3)
|
||||
{
|
||||
asm_unified(
|
||||
"push {r4-r7,lr}\n"
|
||||
"\tmov r7, r8\n"
|
||||
"\tpush {r7}\n"
|
||||
"\tadds r6, r0, 0\n"
|
||||
"\tadds r7, r1, 0\n"
|
||||
"\tmov r8, r2\n"
|
||||
"\tadds r4, r3, 0\n"
|
||||
"\tldr r0, _080050F4\n"
|
||||
"\tldr r0, [r0]\n"
|
||||
"\tcmp r0, 0x7F\n"
|
||||
"\tbgt _08005168\n"
|
||||
"\tlsls r1, r0, 3\n"
|
||||
"\tldr r0, _080050F8\n"
|
||||
"\tadds r5, r1, r0\n"
|
||||
"\tcmp r7, 0\n"
|
||||
"\tbge _080050D2\n"
|
||||
"\tmovs r7, 0\n"
|
||||
"_080050D2:\n"
|
||||
"\tcmp r7, 0xFF\n"
|
||||
"\tble _080050D8\n"
|
||||
"\tmovs r7, 0xFF\n"
|
||||
"_080050D8:\n"
|
||||
"\tcmp r4, 0\n"
|
||||
"\tbne _080050FC\n"
|
||||
"\tldrh r0, [r6]\n"
|
||||
"\tstrh r0, [r5]\n"
|
||||
"\tldrh r0, [r6, 0x2]\n"
|
||||
"\tstrh r0, [r5, 0x2]\n"
|
||||
"\tadds r1, r6, 0x4\n"
|
||||
"\tadds r2, r5, 0x4\n"
|
||||
"\tldrh r0, [r1]\n"
|
||||
"\tstrh r0, [r2]\n"
|
||||
"\tldrh r0, [r1, 0x2]\n"
|
||||
"\tstrh r0, [r2, 0x2]\n"
|
||||
"\tb _08005128\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_080050F4: .4byte gSpriteCount\n"
|
||||
"_080050F8: .4byte gUnknown_20262A8\n"
|
||||
"_080050FC:\n"
|
||||
"\tldrh r1, [r6]\n"
|
||||
"\tldrh r0, [r4]\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tldrh r1, [r4, 0x6]\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r5]\n"
|
||||
"\tldrh r1, [r6, 0x2]\n"
|
||||
"\tldrh r0, [r4, 0x2]\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tldrh r1, [r4, 0x8]\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r5, 0x2]\n"
|
||||
"\tadds r2, r6, 0x4\n"
|
||||
"\tadds r3, r5, 0x4\n"
|
||||
"\tldrh r1, [r2]\n"
|
||||
"\tldrh r0, [r4, 0x4]\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tldrh r1, [r4, 0xA]\n"
|
||||
"\torrs r0, r1\n"
|
||||
"\tstrh r0, [r3]\n"
|
||||
"\tldrh r0, [r2, 0x2]\n"
|
||||
"\tstrh r0, [r3, 0x2]\n"
|
||||
"_08005128:\n"
|
||||
"\tldrh r4, [r5, 0x6]\n"
|
||||
"\tlsrs r4, 4\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tbl nullsub_3\n"
|
||||
"\tmovs r0, 0xFF\n"
|
||||
"\tands r4, r0\n"
|
||||
"\tldrh r1, [r5]\n"
|
||||
"\tmovs r0, 0xFF\n"
|
||||
"\tlsls r0, 8\n"
|
||||
"\tands r0, r1\n"
|
||||
"\torrs r0, r4\n"
|
||||
"\tstrh r0, [r5]\n"
|
||||
"\tmov r0, r8\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _0800514E\n"
|
||||
"\tbl sub_80052BC\n"
|
||||
"_0800514E:\n"
|
||||
"\tldr r0, _08005174\n"
|
||||
"\tldr r4, _08005178\n"
|
||||
"\tldr r3, [r4]\n"
|
||||
"\tlsls r2, r3, 3\n"
|
||||
"\tadds r2, r0\n"
|
||||
"\tldr r1, _0800517C\n"
|
||||
"\tlsls r0, r7, 3\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tstr r1, [r2]\n"
|
||||
"\tstr r2, [r0]\n"
|
||||
"\tadds r3, 0x1\n"
|
||||
"\tstr r3, [r4]\n"
|
||||
"_08005168:\n"
|
||||
"\tpop {r3}\n"
|
||||
"\tmov r8, r3\n"
|
||||
"\tpop {r4-r7}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08005174: .4byte gUnknown_2025EA8\n"
|
||||
"_08005178: .4byte gSpriteCount\n"
|
||||
"_0800517C: .4byte gUnknown_20256A0");
|
||||
}
|
||||
#endif
|
||||
|
||||
void sub_8005180(void)
|
||||
{
|
||||
struct UnkSpriteLink *r1;
|
||||
struct UnkSpriteLink *r2;
|
||||
|
||||
r2 = &gUnknown_20256A0.sprites[0];
|
||||
r1 = r2;
|
||||
|
||||
if (r2 != NULL) {
|
||||
do {
|
||||
if (r1->unk4 != NULL) {
|
||||
if (r2 != NULL)
|
||||
r2->unk0 = r1;
|
||||
r2 = r1;
|
||||
}
|
||||
r1 = r1->unk0;
|
||||
} while (r1 != NULL);
|
||||
}
|
||||
|
||||
r2->unk0 = NULL;
|
||||
}
|
||||
@@ -5,14 +5,7 @@
|
||||
#include "menu.h"
|
||||
#include "text1.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
struct unkSprite
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
};
|
||||
#include "sprite.h"
|
||||
|
||||
// Similar to RescuePasswordMenu
|
||||
struct unkStruct_203B360
|
||||
@@ -61,8 +54,6 @@ ALIGNED(4) const u8 StorageEmpty_80E6EE4[] = _("{CENTER_ALIGN}The storage space
|
||||
ALIGNED(4) const u8 Caution_80E6F04[] = _("{CENTER_ALIGN}{COLOR_1 RED}Caution!{END_COLOR_TEXT_1} ");
|
||||
static const u8 fill0[] = "pksdir0";
|
||||
|
||||
|
||||
extern void AddSprite(struct unkSprite *, u32, u32, u32);
|
||||
extern void sub_8038440();
|
||||
extern void sub_80384D0();
|
||||
|
||||
@@ -188,7 +179,7 @@ void sub_8038440(void)
|
||||
void sub_80384D0(void)
|
||||
{
|
||||
if ((gUnknown_203B360->unk1B0 & 8) != 0) {
|
||||
AddSprite(&gUnknown_203B360->unk1A8, 0x100, 0, 0);
|
||||
AddSprite(&gUnknown_203B360->unk1A8, 0x100, NULL, NULL);
|
||||
}
|
||||
gUnknown_203B360->unk1B0++;
|
||||
}
|
||||
|
||||
@@ -900,10 +900,10 @@ gUnknown_2039DA4: /* 2039DA4 */
|
||||
gUnknown_2039DA8: /* 2039DA8 */
|
||||
.space 0x8
|
||||
|
||||
gUnknown_2039DB0: /* 2039DB0 */
|
||||
gUnknown_2039DB0: /* 2039DB0 [struct unkStruct_2039DB0] */
|
||||
.space 0x10
|
||||
|
||||
gUnknown_2039DC0: /* 2039DC0 */
|
||||
gUnknown_2039DC0: /* 2039DC0 [struct unkStruct_2039DB0] */
|
||||
.space 0xC
|
||||
|
||||
gUnknown_2039DCC: /* 2039DCC */
|
||||
|
||||
Reference in New Issue
Block a user