item_pc: through sub_810DE94
This commit is contained in:
@@ -61,6 +61,16 @@ MAPJSON := tools/mapjson/mapjson
|
|||||||
|
|
||||||
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR))
|
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR))
|
||||||
|
|
||||||
|
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
|
||||||
|
|
||||||
|
# Build tools when building the rom
|
||||||
|
# Disable dependency scanning for clean/tidy/tools
|
||||||
|
ifeq (,$(filter-out all compare,$(MAKECMDGOALS)))
|
||||||
|
$(call infoshell, $(MAKE) tools)
|
||||||
|
else
|
||||||
|
NODEP := 1
|
||||||
|
endif
|
||||||
|
|
||||||
C_SRCS := $(wildcard $(C_SUBDIR)/*.c)
|
C_SRCS := $(wildcard $(C_SUBDIR)/*.c)
|
||||||
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
|
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
|
||||||
|
|
||||||
@@ -76,9 +86,11 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS))
|
|||||||
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS)
|
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS)
|
||||||
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
|
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
|
||||||
|
|
||||||
|
MAKEFLAGS += --no-print-directory
|
||||||
|
|
||||||
all: rom
|
all: rom
|
||||||
|
|
||||||
rom: tools $(ROM)
|
rom: $(ROM)
|
||||||
|
|
||||||
tools:
|
tools:
|
||||||
@$(MAKE) -C tools/gbagfx
|
@$(MAKE) -C tools/gbagfx
|
||||||
|
|||||||
-368
@@ -5,374 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_810DBF0
|
|
||||||
sub_810DBF0: @ 810DBF0
|
|
||||||
push {r4,r5,lr}
|
|
||||||
ldr r0, _0810DC30 @ =gUnknown_203ADCC
|
|
||||||
ldrh r1, [r0, 0x4]
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r5, _0810DC34 @ =gUnknown_203ADBC
|
|
||||||
cmp r1, 0
|
|
||||||
beq _0810DC14
|
|
||||||
ldrh r0, [r4, 0x4]
|
|
||||||
ldr r1, [r5]
|
|
||||||
ldrb r3, [r1, 0x6]
|
|
||||||
adds r0, r3
|
|
||||||
ldrb r2, [r1, 0x7]
|
|
||||||
adds r1, r2, 0x1
|
|
||||||
cmp r0, r1
|
|
||||||
ble _0810DC14
|
|
||||||
subs r0, r3, 0x1
|
|
||||||
subs r0, r2, r0
|
|
||||||
strh r0, [r4, 0x4]
|
|
||||||
_0810DC14:
|
|
||||||
adds r3, r4, 0
|
|
||||||
ldrh r0, [r3, 0x4]
|
|
||||||
ldrh r1, [r3, 0x6]
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, [r5]
|
|
||||||
ldrb r1, [r1, 0x7]
|
|
||||||
adds r2, r1, 0x1
|
|
||||||
cmp r0, r2
|
|
||||||
blt _0810DC3A
|
|
||||||
cmp r2, 0x1
|
|
||||||
bgt _0810DC38
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r3, 0x6]
|
|
||||||
b _0810DC3A
|
|
||||||
.align 2, 0
|
|
||||||
_0810DC30: .4byte gUnknown_203ADCC
|
|
||||||
_0810DC34: .4byte gUnknown_203ADBC
|
|
||||||
_0810DC38:
|
|
||||||
strh r1, [r4, 0x6]
|
|
||||||
_0810DC3A:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_810DBF0
|
|
||||||
|
|
||||||
thumb_func_start sub_810DC40
|
|
||||||
sub_810DC40: @ 810DC40
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0810DC7C @ =gUnknown_203ADBC
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810DC4E
|
|
||||||
bl Free
|
|
||||||
_0810DC4E:
|
|
||||||
ldr r0, _0810DC80 @ =gUnknown_203ADC0
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810DC5A
|
|
||||||
bl Free
|
|
||||||
_0810DC5A:
|
|
||||||
ldr r0, _0810DC84 @ =gUnknown_203ADC4
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810DC66
|
|
||||||
bl Free
|
|
||||||
_0810DC66:
|
|
||||||
ldr r0, _0810DC88 @ =gUnknown_203ADC8
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810DC72
|
|
||||||
bl Free
|
|
||||||
_0810DC72:
|
|
||||||
bl FreeAllWindowBuffers
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810DC7C: .4byte gUnknown_203ADBC
|
|
||||||
_0810DC80: .4byte gUnknown_203ADC0
|
|
||||||
_0810DC84: .4byte gUnknown_203ADC4
|
|
||||||
_0810DC88: .4byte gUnknown_203ADC8
|
|
||||||
thumb_func_end sub_810DC40
|
|
||||||
|
|
||||||
thumb_func_start sub_810DC8C
|
|
||||||
sub_810DC8C: @ 810DC8C
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
ldr r0, _0810DCB0 @ =gUnknown_203ADCC
|
|
||||||
ldrb r0, [r0, 0x8]
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0810DCB4
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x10
|
|
||||||
bl BeginNormalPaletteFade
|
|
||||||
b _0810DCC4
|
|
||||||
.align 2, 0
|
|
||||||
_0810DCB0: .4byte gUnknown_203ADCC
|
|
||||||
_0810DCB4:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_80A0A70
|
|
||||||
movs r0, 0x3
|
|
||||||
bl PlaySE
|
|
||||||
_0810DCC4:
|
|
||||||
ldr r0, _0810DCDC @ =gTasks
|
|
||||||
lsls r1, r4, 2
|
|
||||||
adds r1, r4
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, _0810DCE0 @ =sub_810DCE4
|
|
||||||
str r0, [r1]
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810DCDC: .4byte gTasks
|
|
||||||
_0810DCE0: .4byte sub_810DCE4
|
|
||||||
thumb_func_end sub_810DC8C
|
|
||||||
|
|
||||||
thumb_func_start sub_810DCE4
|
|
||||||
sub_810DCE4: @ 810DCE4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, _0810DD28 @ =gTasks+0x8
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldr r0, _0810DD2C @ =gPaletteFade
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0810DD4E
|
|
||||||
bl sub_80A0AAC
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0810DD4E
|
|
||||||
ldrb r0, [r4]
|
|
||||||
ldr r4, _0810DD30 @ =gUnknown_203ADCC + 0x4
|
|
||||||
adds r2, r4, 0x2
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl DestroyListMenu
|
|
||||||
ldr r0, _0810DD34 @ =gUnknown_203ADBC
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810DD38
|
|
||||||
bl SetMainCallback2
|
|
||||||
b _0810DD40
|
|
||||||
.align 2, 0
|
|
||||||
_0810DD28: .4byte gTasks+0x8
|
|
||||||
_0810DD2C: .4byte gPaletteFade
|
|
||||||
_0810DD30: .4byte gUnknown_203ADCC + 0x4
|
|
||||||
_0810DD34: .4byte gUnknown_203ADBC
|
|
||||||
_0810DD38:
|
|
||||||
subs r0, r4, 0x4
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl SetMainCallback2
|
|
||||||
_0810DD40:
|
|
||||||
bl sub_810DBD0
|
|
||||||
bl sub_810DC40
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyTask
|
|
||||||
_0810DD4E:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_810DCE4
|
|
||||||
|
|
||||||
thumb_func_start sub_810DD54
|
|
||||||
sub_810DD54: @ 810DD54
|
|
||||||
ldr r1, _0810DD64 @ =gUnknown_203ADCC
|
|
||||||
ldrb r0, [r1, 0x6]
|
|
||||||
ldrb r1, [r1, 0x4]
|
|
||||||
adds r0, r1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0810DD64: .4byte gUnknown_203ADCC
|
|
||||||
thumb_func_end sub_810DD54
|
|
||||||
|
|
||||||
thumb_func_start ItemPc_GetItemIdBySlotId
|
|
||||||
ItemPc_GetItemIdBySlotId: @ 810DD68
|
|
||||||
lsls r0, 16
|
|
||||||
ldr r1, _0810DD7C @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r1]
|
|
||||||
lsrs r0, 14
|
|
||||||
adds r1, r0
|
|
||||||
movs r0, 0xA6
|
|
||||||
lsls r0, 2
|
|
||||||
adds r1, r0
|
|
||||||
ldrh r0, [r1]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0810DD7C: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end ItemPc_GetItemIdBySlotId
|
|
||||||
|
|
||||||
thumb_func_start ItemPc_GetItemQuantityBySlotId
|
|
||||||
ItemPc_GetItemQuantityBySlotId: @ 810DD80
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 16
|
|
||||||
ldr r1, _0810DD9C @ =gSaveBlock1Ptr
|
|
||||||
lsrs r0, 14
|
|
||||||
ldr r1, [r1]
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, _0810DDA0 @ =0x0000029a
|
|
||||||
adds r0, r1
|
|
||||||
bl GetBagItemId
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0810DD9C: .4byte gSaveBlock1Ptr
|
|
||||||
_0810DDA0: .4byte 0x0000029a
|
|
||||||
thumb_func_end ItemPc_GetItemQuantityBySlotId
|
|
||||||
|
|
||||||
thumb_func_start sub_810DDA4
|
|
||||||
sub_810DDA4: @ 810DDA4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
bl sub_809A4E8
|
|
||||||
ldr r4, _0810DE00 @ =gUnknown_203ADBC
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1, 0x7]
|
|
||||||
movs r2, 0
|
|
||||||
ldr r3, _0810DE04 @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r3]
|
|
||||||
movs r1, 0xA6
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810DDEA
|
|
||||||
adds r5, r4, 0
|
|
||||||
adds r4, r3, 0
|
|
||||||
adds r3, r1, 0
|
|
||||||
_0810DDCA:
|
|
||||||
ldr r0, [r5]
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
adds r1, 0x1
|
|
||||||
strb r1, [r0, 0x7]
|
|
||||||
adds r0, r2, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r2, r0, 16
|
|
||||||
cmp r2, 0x1D
|
|
||||||
bhi _0810DDEA
|
|
||||||
ldr r0, [r4]
|
|
||||||
lsls r1, r2, 2
|
|
||||||
adds r0, r1
|
|
||||||
adds r0, r3
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0810DDCA
|
|
||||||
_0810DDEA:
|
|
||||||
ldr r0, _0810DE00 @ =gUnknown_203ADBC
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldrb r0, [r1, 0x7]
|
|
||||||
adds r0, 0x1
|
|
||||||
cmp r0, 0x6
|
|
||||||
ble _0810DDF8
|
|
||||||
movs r0, 0x6
|
|
||||||
_0810DDF8:
|
|
||||||
strb r0, [r1, 0x6]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810DE00: .4byte gUnknown_203ADBC
|
|
||||||
_0810DE04: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end sub_810DDA4
|
|
||||||
|
|
||||||
thumb_func_start sub_810DE08
|
|
||||||
sub_810DE08: @ 810DE08
|
|
||||||
push {r4-r6,lr}
|
|
||||||
ldr r0, _0810DE64 @ =gUnknown_203ADCC
|
|
||||||
ldrh r1, [r0, 0x6]
|
|
||||||
adds r6, r0, 0
|
|
||||||
cmp r1, 0x3
|
|
||||||
bls _0810DE5C
|
|
||||||
movs r4, 0
|
|
||||||
ldrh r0, [r6, 0x6]
|
|
||||||
subs r0, 0x3
|
|
||||||
cmp r4, r0
|
|
||||||
bgt _0810DE5C
|
|
||||||
ldrh r1, [r6, 0x4]
|
|
||||||
ldr r5, _0810DE68 @ =gUnknown_203ADBC
|
|
||||||
ldr r2, [r5]
|
|
||||||
ldrb r0, [r2, 0x6]
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r2, 0x7]
|
|
||||||
adds r0, 0x1
|
|
||||||
cmp r1, r0
|
|
||||||
beq _0810DE5C
|
|
||||||
adds r3, r6, 0
|
|
||||||
_0810DE32:
|
|
||||||
ldrh r0, [r3, 0x6]
|
|
||||||
subs r0, 0x1
|
|
||||||
strh r0, [r3, 0x6]
|
|
||||||
ldrh r0, [r3, 0x4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r3, 0x4]
|
|
||||||
adds r0, r4, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
ldrh r0, [r3, 0x6]
|
|
||||||
subs r0, 0x3
|
|
||||||
cmp r4, r0
|
|
||||||
bgt _0810DE5C
|
|
||||||
ldrh r1, [r6, 0x4]
|
|
||||||
ldr r2, [r5]
|
|
||||||
ldrb r0, [r2, 0x6]
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r2, 0x7]
|
|
||||||
adds r0, 0x1
|
|
||||||
cmp r1, r0
|
|
||||||
bne _0810DE32
|
|
||||||
_0810DE5C:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810DE64: .4byte gUnknown_203ADCC
|
|
||||||
_0810DE68: .4byte gUnknown_203ADBC
|
|
||||||
thumb_func_end sub_810DE08
|
|
||||||
|
|
||||||
thumb_func_start sub_810DE6C
|
|
||||||
sub_810DE6C: @ 810DE6C
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
movs r1, 0x6
|
|
||||||
str r1, [sp]
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0xE
|
|
||||||
movs r3, 0x1E
|
|
||||||
bl sub_80F6B08
|
|
||||||
movs r0, 0x1
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_810DE6C
|
|
||||||
|
|
||||||
thumb_func_start sub_810DE94
|
|
||||||
sub_810DE94: @ 810DE94
|
|
||||||
ldr r1, _0810DE9C @ =gUnknown_203ADCC
|
|
||||||
strb r0, [r1, 0x8]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0810DE9C: .4byte gUnknown_203ADCC
|
|
||||||
thumb_func_end sub_810DE94
|
|
||||||
|
|
||||||
thumb_func_start sub_810DEA0
|
thumb_func_start sub_810DEA0
|
||||||
sub_810DEA0: @ 810DEA0
|
sub_810DEA0: @ 810DEA0
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
|
|||||||
@@ -71,5 +71,8 @@ u16 BagGetItemIdByPocketPosition(u8 a0, u16 a1);
|
|||||||
u16 BagGetQuantityByPocketPosition(u8 a0, u16 a1);
|
u16 BagGetQuantityByPocketPosition(u8 a0, u16 a1);
|
||||||
bool8 itemid_is_unique(u16 itemId);
|
bool8 itemid_is_unique(u16 itemId);
|
||||||
void sub_809A584(struct ItemSlot * slots, u8 capacity);
|
void sub_809A584(struct ItemSlot * slots, u8 capacity);
|
||||||
|
u16 GetBagItemId(u16 *);
|
||||||
|
|
||||||
|
void sub_809A4E8(void);
|
||||||
|
|
||||||
#endif // ITEM_H
|
#endif // ITEM_H
|
||||||
|
|||||||
@@ -2,5 +2,7 @@
|
|||||||
#define GUARD_PC_SCREEN_EFFECT_H
|
#define GUARD_PC_SCREEN_EFFECT_H
|
||||||
|
|
||||||
void sub_80A0A48(u16, u16, u8);
|
void sub_80A0A48(u16, u16, u8);
|
||||||
|
void sub_80A0A70(u16, u16, u8);
|
||||||
|
bool8 sub_80A0AAC(void);
|
||||||
|
|
||||||
#endif //GUARD_PC_SCREEN_EFFECT_H
|
#endif //GUARD_PC_SCREEN_EFFECT_H
|
||||||
|
|||||||
+118
-3
@@ -13,6 +13,7 @@
|
|||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "menu_helpers.h"
|
#include "menu_helpers.h"
|
||||||
#include "menu_indicators.h"
|
#include "menu_indicators.h"
|
||||||
|
#include "new_menu_helpers.h"
|
||||||
#include "palette.h"
|
#include "palette.h"
|
||||||
#include "party_menu.h"
|
#include "party_menu.h"
|
||||||
#include "pc_screen_effect.h"
|
#include "pc_screen_effect.h"
|
||||||
@@ -26,7 +27,7 @@
|
|||||||
|
|
||||||
struct ItemPcResources
|
struct ItemPcResources
|
||||||
{
|
{
|
||||||
u32 field_00;
|
MainCallback field_00;
|
||||||
u8 field_04;
|
u8 field_04;
|
||||||
u8 field_05;
|
u8 field_05;
|
||||||
u8 field_06;
|
u8 field_06;
|
||||||
@@ -64,17 +65,18 @@ void sub_810D878(void);
|
|||||||
void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list);
|
void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list);
|
||||||
void sub_810DA20(u8 windowId, s32 itemId, u8 y);
|
void sub_810DA20(u8 windowId, s32 itemId, u8 y);
|
||||||
void sub_810DAD4(u8 y, u8 state);
|
void sub_810DAD4(u8 y, u8 state);
|
||||||
void sub_810E8F0(void);
|
|
||||||
void sub_810DB34(void);
|
void sub_810DB34(void);
|
||||||
void sub_810DB5C(void);
|
void sub_810DB5C(void);
|
||||||
void sub_810DBF0(void);
|
void sub_810DBF0(void);
|
||||||
void sub_810DC40(void);
|
void sub_810DC40(void);
|
||||||
|
void sub_810DCE4(u8 taskId);
|
||||||
u16 ItemPc_GetItemIdBySlotId(u16 itemIndex);
|
u16 ItemPc_GetItemIdBySlotId(u16 itemIndex);
|
||||||
u16 ItemPc_GetItemQuantityBySlotId(u16 itemIndex);
|
u16 ItemPc_GetItemQuantityBySlotId(u16 itemIndex);
|
||||||
void sub_810DDA4(void);
|
void sub_810DDA4(void);
|
||||||
void sub_810DE08(void);
|
void sub_810DE08(void);
|
||||||
void sub_810DE94(u8);
|
void sub_810DE94(u8);
|
||||||
void sub_810DEA0(u8 taskId);
|
void sub_810DEA0(u8 taskId);
|
||||||
|
void sub_810E8F0(void);
|
||||||
void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
|
void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
|
||||||
|
|
||||||
const struct BgTemplate gUnknown_8453F6C[2] = {
|
const struct BgTemplate gUnknown_8453F6C[2] = {
|
||||||
@@ -355,7 +357,7 @@ bool8 sub_810D78C(void)
|
|||||||
|
|
||||||
bool8 sub_810D83C(void)
|
bool8 sub_810D83C(void)
|
||||||
{
|
{
|
||||||
sub_810D83C_sub(gUnknown_203ADC4, 0x0F8);
|
sub_810D83C_sub(gUnknown_203ADC4, sizeof(struct ListMenuItem) * (PC_ITEMS_COUNT + 1));
|
||||||
sub_810D83C_sub(gUnknown_203ADC8, 0x1B2);
|
sub_810D83C_sub(gUnknown_203ADC8, 0x1B2);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -483,3 +485,116 @@ void sub_810DBD0(void)
|
|||||||
gUnknown_203ADBC->field_08 = 0xFF;
|
gUnknown_203ADBC->field_08 = 0xFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_810DBF0(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_203ADCC.field_4 != 0 && gUnknown_203ADCC.field_4 + gUnknown_203ADBC->field_06 > gUnknown_203ADBC->field_07 + 1)
|
||||||
|
gUnknown_203ADCC.field_4 = (gUnknown_203ADBC->field_07 + 1) - gUnknown_203ADBC->field_06;
|
||||||
|
if (gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6 >= gUnknown_203ADBC->field_07 + 1)
|
||||||
|
{
|
||||||
|
if (gUnknown_203ADBC->field_07 + 1 < 2)
|
||||||
|
gUnknown_203ADCC.field_6 = 0;
|
||||||
|
else
|
||||||
|
gUnknown_203ADCC.field_6 = gUnknown_203ADBC->field_07;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define sub_810DC40_sub(ptr) ({ \
|
||||||
|
void ** ptr__ = (void **)&(ptr); \
|
||||||
|
if (*ptr__ != NULL) \
|
||||||
|
Free(*ptr__); \
|
||||||
|
})
|
||||||
|
|
||||||
|
void sub_810DC40(void)
|
||||||
|
{
|
||||||
|
sub_810DC40_sub(gUnknown_203ADBC);
|
||||||
|
sub_810DC40_sub(gUnknown_203ADC0);
|
||||||
|
sub_810DC40_sub(gUnknown_203ADC4);
|
||||||
|
sub_810DC40_sub(gUnknown_203ADC8);
|
||||||
|
FreeAllWindowBuffers();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810DC8C(u8 taskId)
|
||||||
|
{
|
||||||
|
if (gUnknown_203ADCC.field_8 == 1)
|
||||||
|
{
|
||||||
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sub_80A0A70(0, 0, 0);
|
||||||
|
PlaySE(SE_PC_OFF);
|
||||||
|
}
|
||||||
|
gTasks[taskId].func = sub_810DCE4;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810DCE4(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (!gPaletteFade.active && !sub_80A0AAC())
|
||||||
|
{
|
||||||
|
DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6);
|
||||||
|
if (gUnknown_203ADBC->field_00 != NULL)
|
||||||
|
SetMainCallback2(gUnknown_203ADBC->field_00);
|
||||||
|
else
|
||||||
|
SetMainCallback2(gUnknown_203ADCC.field_0);
|
||||||
|
sub_810DBD0();
|
||||||
|
sub_810DC40();
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_810DD54(void)
|
||||||
|
{
|
||||||
|
return gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6;
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 ItemPc_GetItemIdBySlotId(u16 idx)
|
||||||
|
{
|
||||||
|
return gSaveBlock1Ptr->pcItems[idx].itemId;
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 ItemPc_GetItemQuantityBySlotId(u16 idx)
|
||||||
|
{
|
||||||
|
return GetBagItemId(&gSaveBlock1Ptr->pcItems[idx].quantity);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810DDA4(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
sub_809A4E8();
|
||||||
|
gUnknown_203ADBC->field_07 = 0;
|
||||||
|
for (i = 0; i < PC_ITEMS_COUNT; gUnknown_203ADBC->field_07++, i++)
|
||||||
|
{
|
||||||
|
if (gSaveBlock1Ptr->pcItems[i].itemId == ITEM_NONE)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
gUnknown_203ADBC->field_06 = gUnknown_203ADBC->field_07 + 1 <= 6 ? gUnknown_203ADBC->field_07 + 1 : 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810DE08(void)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
if (gUnknown_203ADCC.field_6 > 3)
|
||||||
|
{
|
||||||
|
for (i = 0; i <= gUnknown_203ADCC.field_6 - 3; gUnknown_203ADCC.field_6--, gUnknown_203ADCC.field_4++, i++)
|
||||||
|
{
|
||||||
|
if (gUnknown_203ADCC.field_4 + gUnknown_203ADBC->field_06 == gUnknown_203ADBC->field_07 + 1)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810DE6C(int a0)
|
||||||
|
{
|
||||||
|
sub_80F6B08(1, 0, 14, 30, 6, a0 + 1);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810DE94(u8 a0)
|
||||||
|
{
|
||||||
|
gUnknown_203ADCC.field_8 = a0;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user