mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-30 15:26:57 -04:00
Merge branch 'master' of github.com:pret/pokediamond into unk_020023C0
This commit is contained in:
+1
-1
@@ -264,7 +264,7 @@ Static arm9
|
||||
Object unk_0206C700.o
|
||||
Object unk_0206DE24.o
|
||||
Object unk_0206E0F0.o
|
||||
Object unk_0206E2F0.o
|
||||
Object bag_view.o
|
||||
|
||||
##itemtool##
|
||||
Object itemtool.o
|
||||
|
||||
@@ -2326,9 +2326,9 @@ FUN_020362E4: ; 0x020362E4
|
||||
bl FUN_0204652C
|
||||
add r4, r0, #0x0
|
||||
mov r0, #0xb
|
||||
bl BagView_new
|
||||
bl BagView_New
|
||||
str r0, [sp, #0x8]
|
||||
bl FUN_0206E308
|
||||
bl BagView_sizeof
|
||||
mov r1, #0x7e
|
||||
lsl r1, r1, #0x2
|
||||
add r2, r0, #0x0
|
||||
|
||||
@@ -1,375 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start BagView_new
|
||||
BagView_new: ; 0x0206E2F0
|
||||
push {r4, lr}
|
||||
mov r1, #0x78
|
||||
bl AllocFromHeap
|
||||
mov r1, #0x0
|
||||
mov r2, #0x78
|
||||
add r4, r0, #0x0
|
||||
bl memset
|
||||
add r0, r4, #0x0
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0206E308
|
||||
FUN_0206E308: ; 0x0206E308
|
||||
mov r0, #0x78
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_0206E30C
|
||||
FUN_0206E30C: ; 0x0206E30C
|
||||
add r0, #0x65
|
||||
strb r1, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0206E314
|
||||
FUN_0206E314: ; 0x0206E314
|
||||
push {r4-r6, lr}
|
||||
add r4, r1, #0x0
|
||||
add r1, r2, #0x0
|
||||
add r5, r0, #0x0
|
||||
add r6, r3, #0x0
|
||||
bl FUN_0206E30C
|
||||
str r4, [r5, #0x0]
|
||||
str r6, [r5, #0x6c]
|
||||
mov r0, #0x0
|
||||
add r5, #0x66
|
||||
strh r0, [r5, #0x0]
|
||||
pop {r4-r6, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start BagView_setitem
|
||||
BagView_setitem: ; 0x0206E330
|
||||
push {r3-r4}
|
||||
mov r4, #0xc
|
||||
mul r4, r3
|
||||
add r0, r0, r4
|
||||
str r1, [r0, #0x4]
|
||||
strb r2, [r0, #0xc]
|
||||
pop {r3-r4}
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_0206E340
|
||||
FUN_0206E340: ; 0x0206E340
|
||||
add r1, r0, #0x0
|
||||
add r1, #0x76
|
||||
ldrh r2, [r1, #0x0]
|
||||
mov r1, #0x1
|
||||
add r0, #0x76
|
||||
bic r2, r1
|
||||
mov r1, #0x1
|
||||
orr r1, r2
|
||||
strh r1, [r0, #0x0]
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_0206E354
|
||||
FUN_0206E354: ; 0x0206E354
|
||||
str r1, [r0, #0x70]
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_0206E358
|
||||
FUN_0206E358: ; 0x0206E358
|
||||
add r0, #0x74
|
||||
strb r1, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0206E360
|
||||
FUN_0206E360: ; 0x0206E360
|
||||
add r2, r0, #0x0
|
||||
add r2, #0x76
|
||||
ldrh r3, [r2, #0x0]
|
||||
ldr r2, _0206E378 ; =0xFFFF0001
|
||||
lsl r1, r1, #0x11
|
||||
and r2, r3
|
||||
lsr r1, r1, #0x10
|
||||
orr r1, r2
|
||||
add r0, #0x76
|
||||
strh r1, [r0, #0x0]
|
||||
bx lr
|
||||
nop
|
||||
_0206E378: .word 0xFFFF0001
|
||||
|
||||
thumb_func_start FUN_0206E37C
|
||||
FUN_0206E37C: ; 0x0206E37C
|
||||
add r0, #0x66
|
||||
ldrh r0, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0206E384
|
||||
FUN_0206E384: ; 0x0206E384
|
||||
add r0, #0x68
|
||||
ldrh r0, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0206E38C
|
||||
FUN_0206E38C: ; 0x0206E38C
|
||||
add r0, #0x74
|
||||
ldrb r0, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0206E394
|
||||
FUN_0206E394: ; 0x0206E394
|
||||
add r0, #0x75
|
||||
ldrb r0, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0206E39C
|
||||
FUN_0206E39C: ; 0x0206E39C
|
||||
push {r3, lr}
|
||||
bl Sav2_PlayerData_GetCoinsAddr
|
||||
bl CheckCoins
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_0206E3A8
|
||||
FUN_0206E3A8: ; 0x0206E3A8
|
||||
push {r4-r6, lr}
|
||||
bl Sav2_SealCase_get
|
||||
add r6, r0, #0x0
|
||||
mov r5, #0x0
|
||||
mov r4, #0x1
|
||||
_0206E3B4:
|
||||
add r0, r6, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl FUN_02029E2C
|
||||
add r4, r4, #0x1
|
||||
add r5, r5, r0
|
||||
cmp r4, #0x50
|
||||
bls _0206E3B4
|
||||
add r0, r5, #0x0
|
||||
pop {r4-r6, pc}
|
||||
|
||||
thumb_func_start FUN_0206E3C8
|
||||
FUN_0206E3C8: ; 0x0206E3C8
|
||||
push {r3, lr}
|
||||
bl FUN_02027E24
|
||||
bl FUN_0202708C
|
||||
bl FUN_02027168
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_0206E3D8
|
||||
FUN_0206E3D8: ; 0x0206E3D8
|
||||
push {r3, lr}
|
||||
bl FUN_02027E24
|
||||
bl FUN_0202708C
|
||||
bl FUN_02027184
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_0206E3E8
|
||||
FUN_0206E3E8: ; 0x0206E3E8
|
||||
push {r3, lr}
|
||||
bl FUN_0202A8D8
|
||||
mov r1, #0x0
|
||||
add r2, r1, #0x0
|
||||
bl FUN_0202A3B4
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_0206E3F8
|
||||
FUN_0206E3F8: ; 0x0206E3F8
|
||||
push {r4-r7, lr}
|
||||
sub sp, #0xc
|
||||
add r7, r0, #0x0
|
||||
str r1, [sp, #0x8]
|
||||
add r5, r2, #0x0
|
||||
add r4, r3, #0x0
|
||||
mov r0, #0x0
|
||||
mov r1, #0x1a
|
||||
mov r2, #0x7
|
||||
bl NewMsgDataFromNarc
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl ScrStrBufs_new
|
||||
add r4, r0, #0x0
|
||||
cmp r5, #0x0
|
||||
bne _0206E428
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x63
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
b _0206E4FA
|
||||
_0206E428:
|
||||
mov r1, #0x1b
|
||||
lsl r1, r1, #0x4 ; ITEM_POINT_CARD
|
||||
cmp r5, r1
|
||||
bne _0206E454
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x61
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E3E8
|
||||
mov r1, #0x0
|
||||
add r2, r0, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
mov r0, #0x1
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r4, #0x0
|
||||
mov r3, #0x4
|
||||
bl BufferIntegerAsString
|
||||
b _0206E4FA
|
||||
_0206E454:
|
||||
add r2, r1, #0x2 ; ITEM_SEAL_CASE
|
||||
cmp r5, r2
|
||||
bne _0206E47E
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x5c
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E3A8
|
||||
mov r1, #0x0
|
||||
add r2, r0, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
mov r0, #0x1
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r4, #0x0
|
||||
mov r3, #0x4
|
||||
bl BufferIntegerAsString
|
||||
b _0206E4FA
|
||||
_0206E47E:
|
||||
add r2, r1, #0x3 ; ITEM_FASHION_CASE
|
||||
cmp r5, r2
|
||||
bne _0206E4C0
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x5d
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E3C8
|
||||
mov r1, #0x0
|
||||
add r2, r0, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
mov r0, #0x1
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r4, #0x0
|
||||
mov r3, #0x3
|
||||
bl BufferIntegerAsString
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E3D8
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
mov r1, #0x1
|
||||
add r0, r4, #0x0
|
||||
mov r3, #0x2
|
||||
str r1, [sp, #0x4]
|
||||
bl BufferIntegerAsString
|
||||
b _0206E4FA
|
||||
_0206E4C0:
|
||||
add r1, #0xc ; ITEM_COIN_CASE
|
||||
cmp r5, r1
|
||||
bne _0206E4EA
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x39
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E39C
|
||||
mov r1, #0x0
|
||||
add r2, r0, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
mov r0, #0x1
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r4, #0x0
|
||||
mov r3, #0x5
|
||||
bl BufferIntegerAsString
|
||||
b _0206E4FA
|
||||
_0206E4EA:
|
||||
bl ScrStrBufs_delete
|
||||
add r0, r6, #0x0
|
||||
bl DestroyMsgData
|
||||
add sp, #0xc
|
||||
mov r0, #0x0
|
||||
pop {r4-r7, pc}
|
||||
_0206E4FA:
|
||||
ldr r1, [sp, #0x8]
|
||||
add r0, r4, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl ScrStrBufs_delete
|
||||
add r0, r6, #0x0
|
||||
bl DestroyMsgData
|
||||
mov r0, #0x1
|
||||
add sp, #0xc
|
||||
pop {r4-r7, pc}
|
||||
|
||||
thumb_func_start FUN_0206E51C
|
||||
FUN_0206E51C: ; 0x0206E51C
|
||||
push {r3-r7, lr}
|
||||
add r5, r1, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
ldr r4, [sp, #0x18]
|
||||
cmp r3, #0x1
|
||||
beq _0206E52E
|
||||
cmp r3, #0x2
|
||||
beq _0206E54C
|
||||
b _0206E56A
|
||||
_0206E52E:
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a
|
||||
mov r2, #0x7
|
||||
add r3, r4, #0x0
|
||||
bl NewMsgDataFromNarc
|
||||
add r4, r0, #0x0
|
||||
mov r1, #0x38
|
||||
add r2, r5, #0x0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r4, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r3-r7, pc}
|
||||
_0206E54C:
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a
|
||||
mov r2, #0x7
|
||||
add r3, r4, #0x0
|
||||
bl NewMsgDataFromNarc
|
||||
add r4, r0, #0x0
|
||||
mov r1, #0x6f
|
||||
add r2, r5, #0x0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r4, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r3-r7, pc}
|
||||
_0206E56A:
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a
|
||||
mov r2, #0xc7
|
||||
add r3, r4, #0x0
|
||||
bl NewMsgDataFromNarc
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl ScrStrBufs_new
|
||||
add r4, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
mov r1, #0x24
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
ldr r2, [sp, #0x0]
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x0
|
||||
bl BufferPlayersName
|
||||
add r0, r4, #0x0
|
||||
add r1, r5, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r6, #0x0
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl ScrStrBufs_delete
|
||||
add r0, r7, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
@@ -177,9 +177,9 @@ _02088BBA:
|
||||
ldr r0, [r4, #0x0]
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
bl BagView_new
|
||||
bl BagView_New
|
||||
add r5, r0, #0x0
|
||||
bl FUN_0206E308
|
||||
bl BagView_sizeof
|
||||
add r2, r0, #0x0
|
||||
ldr r1, [r4, #0x18]
|
||||
add r0, r5, #0x0
|
||||
|
||||
+3
-3
@@ -4971,10 +4971,10 @@
|
||||
.extern FUN_0206E2AC
|
||||
.extern FUN_0206E2E0
|
||||
.extern FUN_0206E2E8
|
||||
.extern BagView_new
|
||||
.extern FUN_0206E308
|
||||
.extern BagView_New
|
||||
.extern BagView_sizeof
|
||||
.extern FUN_0206E314
|
||||
.extern BagView_setitem
|
||||
.extern BagView_SetItem
|
||||
.extern FUN_0206E340
|
||||
.extern FUN_0206E354
|
||||
.extern FUN_0206E358
|
||||
|
||||
+11
-14
@@ -296,40 +296,37 @@ void SortPocket(struct ItemSlot * slots, u32 count)
|
||||
}
|
||||
}
|
||||
|
||||
extern struct BagView * BagView_new(u8 heap_id);
|
||||
extern void BagView_setitem(struct BagView * view, struct ItemSlot * slot, u8 pocket, u8 idx);
|
||||
|
||||
struct BagView * CreateBagView(struct Bag * bag, const u8 * pockets, u32 heap_id)
|
||||
{
|
||||
struct BagView * view = BagView_new((u8)heap_id);
|
||||
int i;
|
||||
for (i = 0; pockets[i] != 0xFF; i++)
|
||||
struct BagView * view = BagView_New((u8)heap_id);
|
||||
|
||||
for (u32 i = 0; pockets[i] != 0xFF; i++)
|
||||
{
|
||||
switch (pockets[i])
|
||||
{
|
||||
case POCKET_KEY_ITEMS:
|
||||
BagView_setitem(view, bag->keyItems, POCKET_KEY_ITEMS, (u8)i);
|
||||
BagView_SetItem(view, bag->keyItems, POCKET_KEY_ITEMS, (u8)i);
|
||||
break;
|
||||
case POCKET_ITEMS:
|
||||
BagView_setitem(view, bag->items, POCKET_ITEMS, (u8)i);
|
||||
BagView_SetItem(view, bag->items, POCKET_ITEMS, (u8)i);
|
||||
break;
|
||||
case POCKET_BERRIES:
|
||||
BagView_setitem(view, bag->berries, POCKET_BERRIES, (u8)i);
|
||||
BagView_SetItem(view, bag->berries, POCKET_BERRIES, (u8)i);
|
||||
break;
|
||||
case POCKET_MEDICINE:
|
||||
BagView_setitem(view, bag->medicine, POCKET_MEDICINE, (u8)i);
|
||||
BagView_SetItem(view, bag->medicine, POCKET_MEDICINE, (u8)i);
|
||||
break;
|
||||
case POCKET_BALLS:
|
||||
BagView_setitem(view, bag->balls, POCKET_BALLS, (u8)i);
|
||||
BagView_SetItem(view, bag->balls, POCKET_BALLS, (u8)i);
|
||||
break;
|
||||
case POCKET_BATTLE_ITEMS:
|
||||
BagView_setitem(view, bag->battleItems, POCKET_BATTLE_ITEMS, (u8)i);
|
||||
BagView_SetItem(view, bag->battleItems, POCKET_BATTLE_ITEMS, (u8)i);
|
||||
break;
|
||||
case POCKET_MAIL:
|
||||
BagView_setitem(view, bag->mail, POCKET_MAIL, (u8)i);
|
||||
BagView_SetItem(view, bag->mail, POCKET_MAIL, (u8)i);
|
||||
break;
|
||||
case POCKET_TMHMS:
|
||||
BagView_setitem(view, bag->TMsHMs, POCKET_TMHMS, (u8)i);
|
||||
BagView_SetItem(view, bag->TMsHMs, POCKET_TMHMS, (u8)i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,211 @@
|
||||
#include "global.h"
|
||||
#include "bag_view.h"
|
||||
#include "coins.h"
|
||||
#include "constants/items.h"
|
||||
#include "heap.h"
|
||||
#include "msgdata.h"
|
||||
#include "player_data.h"
|
||||
#include "script_buffers.h"
|
||||
#include "seal.h"
|
||||
|
||||
extern u32 *FUN_0202708C(u32 *);
|
||||
extern u32 FUN_02027168(u32 *);
|
||||
extern u16 FUN_02027184(u32 *);
|
||||
extern u32 *FUN_02027E24(struct SaveBlock2 *sav2);
|
||||
extern u8 FUN_02029E2C(struct SealCase *, u32);
|
||||
extern u32 FUN_0202A8D8(struct SaveBlock2 *);
|
||||
extern u16 FUN_0202A3B4(u32, u32, u32);
|
||||
|
||||
THUMB_FUNC struct BagView *BagView_New(u8 heap_id)
|
||||
{
|
||||
struct BagView *ptr = AllocFromHeap(heap_id, sizeof(struct BagView));
|
||||
|
||||
memset(ptr, 0, sizeof(struct BagView));
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 BagView_sizeof()
|
||||
{
|
||||
return sizeof(struct BagView);
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_0206E30C(struct BagView *bag_view, u8 r1)
|
||||
{
|
||||
bag_view->unk65 = r1;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_0206E314(
|
||||
struct BagView *bag_view, struct SaveBlock2 *sav2, u8 r2, struct UnkStruct_0206F164 *r3)
|
||||
{
|
||||
FUN_0206E30C(bag_view, r2);
|
||||
|
||||
bag_view->sav2 = sav2;
|
||||
bag_view->unk6C = r3;
|
||||
bag_view->unk66 = 0;
|
||||
}
|
||||
|
||||
THUMB_FUNC void BagView_SetItem(struct BagView *bag_view, struct ItemSlot *slot, u8 pocket, u8 idx)
|
||||
{
|
||||
bag_view->slots[idx].slot = slot;
|
||||
bag_view->slots[idx].pocket = pocket;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_0206E340(struct BagView *bag_view)
|
||||
{
|
||||
bag_view->unk76 = 1;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_0206E354(struct BagView *bag_view, u32 r1)
|
||||
{
|
||||
bag_view->unk70 = r1;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_0206E358(struct BagView *bag_view, u8 r1)
|
||||
{
|
||||
bag_view->unk74 = r1;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_0206E360(struct BagView *bag_view, u16 r1)
|
||||
{
|
||||
bag_view->unk76_2 = r1;
|
||||
}
|
||||
|
||||
THUMB_FUNC u16 FUN_0206E37C(struct BagView *bag_view)
|
||||
{
|
||||
return bag_view->unk66;
|
||||
}
|
||||
|
||||
THUMB_FUNC u16 FUN_0206E384(struct BagView *bag_view)
|
||||
{
|
||||
return bag_view->unk68;
|
||||
}
|
||||
|
||||
THUMB_FUNC u8 FUN_0206E38C(struct BagView *bag_view)
|
||||
{
|
||||
return bag_view->unk74;
|
||||
}
|
||||
|
||||
THUMB_FUNC u8 FUN_0206E394(struct BagView *bag_view)
|
||||
{
|
||||
return bag_view->unk75;
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 FUN_0206E39C(struct SaveBlock2 *sav2)
|
||||
{
|
||||
return (u32)CheckCoins(Sav2_PlayerData_GetCoinsAddr(sav2));
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 FUN_0206E3A8(struct SaveBlock2 *sav2)
|
||||
{
|
||||
struct SealCase *seal_case = Sav2_SealCase_get(sav2);
|
||||
u32 i;
|
||||
u32 count = 0;
|
||||
|
||||
for (i = 1; i <= 0x50; ++i)
|
||||
{
|
||||
count += FUN_02029E2C(seal_case, i);
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 FUN_0206E3C8(struct SaveBlock2 *sav2)
|
||||
{
|
||||
return FUN_02027168(FUN_0202708C(FUN_02027E24(sav2)));
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 FUN_0206E3D8(struct SaveBlock2 *sav2)
|
||||
{
|
||||
return FUN_02027184(FUN_0202708C(FUN_02027E24(sav2)));
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 FUN_0206E3E8(struct SaveBlock2 *sav2)
|
||||
{
|
||||
return FUN_0202A3B4(FUN_0202A8D8(sav2), 0, 0);
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL FUN_0206E3F8(struct SaveBlock2 *sav2, struct String *dest, u32 item_id, u32 heap_id)
|
||||
{
|
||||
struct MsgData *msgData = NewMsgDataFromNarc(0, NARC_MSGDATA_MSG, 7, heap_id);
|
||||
struct ScrStrBufs *scrStrBufs = ScrStrBufs_new(heap_id);
|
||||
struct String *string;
|
||||
|
||||
if (item_id == ITEM_NONE)
|
||||
{
|
||||
string = NewString_ReadMsgData(msgData, 0x63);
|
||||
}
|
||||
else if (item_id == ITEM_POINT_CARD)
|
||||
{
|
||||
string = NewString_ReadMsgData(msgData, 0x61);
|
||||
|
||||
BufferIntegerAsString(scrStrBufs, 0, FUN_0206E3E8(sav2), 4, 0, TRUE);
|
||||
}
|
||||
else if (item_id == ITEM_SEAL_CASE)
|
||||
{
|
||||
string = NewString_ReadMsgData(msgData, 0x5C);
|
||||
|
||||
BufferIntegerAsString(scrStrBufs, 0, FUN_0206E3A8(sav2), 4, 0, TRUE);
|
||||
}
|
||||
else if (item_id == ITEM_FASHION_CASE)
|
||||
{
|
||||
string = NewString_ReadMsgData(msgData, 0x5D);
|
||||
|
||||
BufferIntegerAsString(scrStrBufs, 0, FUN_0206E3C8(sav2), 3, 0, TRUE);
|
||||
BufferIntegerAsString(scrStrBufs, 1, FUN_0206E3D8(sav2), 2, 0, TRUE);
|
||||
}
|
||||
else if (item_id == ITEM_COIN_CASE)
|
||||
{
|
||||
string = NewString_ReadMsgData(msgData, 0x39);
|
||||
|
||||
BufferIntegerAsString(scrStrBufs, 0, FUN_0206E39C(sav2), 5, 0, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
ScrStrBufs_delete(scrStrBufs);
|
||||
DestroyMsgData(msgData);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
StringExpandPlaceholders(scrStrBufs, dest, string);
|
||||
String_dtor(string);
|
||||
ScrStrBufs_delete(scrStrBufs);
|
||||
DestroyMsgData(msgData);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_0206E51C(
|
||||
struct PlayerData *playerData, struct String *dest, u32 r2, u32 r3, u32 heap_id)
|
||||
{
|
||||
#pragma unused(r2)
|
||||
struct MsgData *msgData;
|
||||
|
||||
switch (r3)
|
||||
{
|
||||
case 1:
|
||||
msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 7, heap_id);
|
||||
|
||||
ReadMsgDataIntoString(msgData, 0x38, dest);
|
||||
DestroyMsgData(msgData);
|
||||
return;
|
||||
case 2:
|
||||
msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 7, heap_id);
|
||||
|
||||
ReadMsgDataIntoString(msgData, 0x6F, dest);
|
||||
DestroyMsgData(msgData);
|
||||
return;
|
||||
default:
|
||||
msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 0xC7, heap_id);
|
||||
struct ScrStrBufs *scrStrBufs = ScrStrBufs_new(heap_id);
|
||||
struct String *src = NewString_ReadMsgData(msgData, 0x24);
|
||||
|
||||
BufferPlayersName(scrStrBufs, 0, playerData);
|
||||
StringExpandPlaceholders(scrStrBufs, dest, src);
|
||||
String_dtor(src);
|
||||
ScrStrBufs_delete(scrStrBufs);
|
||||
DestroyMsgData(msgData);
|
||||
return;
|
||||
}
|
||||
}
|
||||
+1
-7
@@ -1,6 +1,7 @@
|
||||
#ifndef POKEDIAMOND_BAG_H
|
||||
#define POKEDIAMOND_BAG_H
|
||||
|
||||
#include "bag_view.h"
|
||||
#include "itemtool.h"
|
||||
#include "save_block_2.h"
|
||||
|
||||
@@ -17,13 +18,6 @@ struct Bag
|
||||
u32 registeredItem;
|
||||
};
|
||||
|
||||
struct BagView
|
||||
{
|
||||
struct ItemSlot * slots;
|
||||
u32 count;
|
||||
u8 pocket;
|
||||
};
|
||||
|
||||
struct UnkStruct_0206F164
|
||||
{
|
||||
u8 unk_00[8];
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
#ifndef POKEDIAMOND_BAG_VIEW_H
|
||||
#define POKEDIAMOND_BAG_VIEW_H
|
||||
|
||||
#include "player_data.h"
|
||||
#include "save_block_2.h"
|
||||
|
||||
struct UnkStruct_0206F164;
|
||||
|
||||
struct BagView_UnkSub
|
||||
{
|
||||
struct ItemSlot *slot;
|
||||
u8 padding[0x4];
|
||||
u8 pocket;
|
||||
u8 padding2[0x3];
|
||||
}; // total size = 0xC
|
||||
|
||||
struct BagView
|
||||
{
|
||||
struct SaveBlock2 *sav2;
|
||||
struct BagView_UnkSub slots[8];
|
||||
u8 padding;
|
||||
u8 unk65;
|
||||
u16 unk66;
|
||||
u16 unk68;
|
||||
u8 padding2[0x2];
|
||||
struct UnkStruct_0206F164 *unk6C;
|
||||
u32 unk70;
|
||||
u8 unk74;
|
||||
u8 unk75;
|
||||
u16 unk76 : 1;
|
||||
u16 unk76_2 : 15;
|
||||
}; // total size = 0x78
|
||||
|
||||
struct BagView *BagView_New(u8 heap_id);
|
||||
u32 BagView_sizeof();
|
||||
void FUN_0206E30C(struct BagView *bag_view, u8 r1);
|
||||
void FUN_0206E314(
|
||||
struct BagView *bag_view, struct SaveBlock2 *sav2, u8 r2, struct UnkStruct_0206F164 *r3);
|
||||
void BagView_SetItem(struct BagView *bag_view, struct ItemSlot *slot, u8 pocket, u8 idx);
|
||||
void FUN_0206E340(struct BagView *bag_view);
|
||||
void FUN_0206E354(struct BagView *bag_view, u32 r1);
|
||||
void FUN_0206E358(struct BagView *bag_view, u8 r1);
|
||||
void FUN_0206E360(struct BagView *bag_view, u16 r1);
|
||||
u16 FUN_0206E37C(struct BagView *bag_view);
|
||||
u16 FUN_0206E384(struct BagView *bag_view);
|
||||
u8 FUN_0206E38C(struct BagView *bag_view);
|
||||
u8 FUN_0206E394(struct BagView *bag_view);
|
||||
u32 FUN_0206E39C(struct SaveBlock2 *sav2);
|
||||
u32 FUN_0206E3A8(struct SaveBlock2 *sav2);
|
||||
u32 FUN_0206E3C8(struct SaveBlock2 *sav2);
|
||||
u32 FUN_0206E3D8(struct SaveBlock2 *sav2);
|
||||
u32 FUN_0206E3E8(struct SaveBlock2 *sav2);
|
||||
BOOL FUN_0206E3F8(struct SaveBlock2 *sav2, struct String *dest, u32 item_id, u32 heap_id);
|
||||
void FUN_0206E51C(struct PlayerData *playerData, struct String *dest, u32 r2, u32 r3, u32 heap_id);
|
||||
|
||||
#endif // POKEDIAMOND_BAG_VIEW_H
|
||||
Reference in New Issue
Block a user