summaryrefslogtreecommitdiff
path: root/asm/SDK/NWC24/NWC24FriendList.s
blob: d375ead8d1525430c579b6e4e4228b730c89a01e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global NWC24iOpenFriendList
NWC24iOpenFriendList:
/* 80304268 002FFEC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8030426C 002FFECC  7C 08 02 A6 */	mflr r0
/* 80304270 002FFED0  38 80 00 00 */	li r4, 0
/* 80304274 002FFED4  38 A0 03 60 */	li r5, 0x360
/* 80304278 002FFED8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8030427C 002FFEDC  80 6D AF 90 */	lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304280 002FFEE0  38 63 24 00 */	addi r3, r3, 0x2400
/* 80304284 002FFEE4  90 61 00 08 */	stw r3, 8(r1)
/* 80304288 002FFEE8  4B FF CD 8D */	bl Mail_memset
/* 8030428C 002FFEEC  38 61 00 08 */	addi r3, r1, 8
/* 80304290 002FFEF0  48 00 00 15 */	bl GetCachedFLHeader
/* 80304294 002FFEF4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80304298 002FFEF8  7C 08 03 A6 */	mtlr r0
/* 8030429C 002FFEFC  38 21 00 10 */	addi r1, r1, 0x10
/* 803042A0 002FFF00  4E 80 00 20 */	blr

.global GetCachedFLHeader
GetCachedFLHeader:
/* 803042A4 002FFF04  94 21 FF 50 */	stwu r1, -0xb0(r1)
/* 803042A8 002FFF08  7C 08 02 A6 */	mflr r0
/* 803042AC 002FFF0C  90 01 00 B4 */	stw r0, 0xb4(r1)
/* 803042B0 002FFF10  93 E1 00 AC */	stw r31, 0xac(r1)
/* 803042B4 002FFF14  93 C1 00 A8 */	stw r30, 0xa8(r1)
/* 803042B8 002FFF18  7C 7E 1B 78 */	mr r30, r3
/* 803042BC 002FFF1C  80 8D AF 90 */	lwz r4, lbl_80640250-_SDA_BASE_(r13)
/* 803042C0 002FFF20  38 84 24 00 */	addi r4, r4, 0x2400
/* 803042C4 002FFF24  90 83 00 00 */	stw r4, 0(r3)
/* 803042C8 002FFF28  80 64 00 00 */	lwz r3, 0(r4)
/* 803042CC 002FFF2C  3C 03 A8 9D */	addis r0, r3, 0xa89d
/* 803042D0 002FFF30  28 00 46 6C */	cmplwi r0, 0x466c
/* 803042D4 002FFF34  41 82 00 94 */	beq lbl_80304368
/* 803042D8 002FFF38  80 8D 8C B0 */	lwz r4, lbl_8063DF70-_SDA_BASE_(r13)
/* 803042DC 002FFF3C  38 61 00 08 */	addi r3, r1, 8
/* 803042E0 002FFF40  38 A0 00 02 */	li r5, 2
/* 803042E4 002FFF44  4B FF D8 65 */	bl NWC24FOpen
/* 803042E8 002FFF48  2C 03 00 00 */	cmpwi r3, 0
/* 803042EC 002FFF4C  41 82 00 08 */	beq lbl_803042F4
/* 803042F0 002FFF50  48 00 00 7C */	b lbl_8030436C
lbl_803042F4:
/* 803042F4 002FFF54  38 61 00 08 */	addi r3, r1, 8
/* 803042F8 002FFF58  38 80 00 00 */	li r4, 0
/* 803042FC 002FFF5C  38 A0 00 00 */	li r5, 0
/* 80304300 002FFF60  4B FF DD 2D */	bl NWC24FSeek
/* 80304304 002FFF64  80 7E 00 00 */	lwz r3, 0(r30)
/* 80304308 002FFF68  38 A1 00 08 */	addi r5, r1, 8
/* 8030430C 002FFF6C  38 80 03 60 */	li r4, 0x360
/* 80304310 002FFF70  4B FF DF 09 */	bl NWC24FRead
/* 80304314 002FFF74  7C 7F 1B 78 */	mr r31, r3
/* 80304318 002FFF78  38 61 00 08 */	addi r3, r1, 8
/* 8030431C 002FFF7C  4B FF DB 7D */	bl NWC24FClose
/* 80304320 002FFF80  2C 1F 00 00 */	cmpwi r31, 0
/* 80304324 002FFF84  41 82 00 08 */	beq lbl_8030432C
/* 80304328 002FFF88  7F E3 FB 78 */	mr r3, r31
lbl_8030432C:
/* 8030432C 002FFF8C  2C 03 00 00 */	cmpwi r3, 0
/* 80304330 002FFF90  41 82 00 08 */	beq lbl_80304338
/* 80304334 002FFF94  48 00 00 38 */	b lbl_8030436C
lbl_80304338:
/* 80304338 002FFF98  80 9E 00 00 */	lwz r4, 0(r30)
/* 8030433C 002FFF9C  80 64 00 00 */	lwz r3, 0(r4)
/* 80304340 002FFFA0  3C 03 A8 9D */	addis r0, r3, 0xa89d
/* 80304344 002FFFA4  28 00 46 6C */	cmplwi r0, 0x466c
/* 80304348 002FFFA8  41 82 00 0C */	beq lbl_80304354
/* 8030434C 002FFFAC  38 60 FF F2 */	li r3, -14
/* 80304350 002FFFB0  48 00 00 1C */	b lbl_8030436C
lbl_80304354:
/* 80304354 002FFFB4  80 04 00 04 */	lwz r0, 4(r4)
/* 80304358 002FFFB8  28 00 00 02 */	cmplwi r0, 2
/* 8030435C 002FFFBC  41 82 00 0C */	beq lbl_80304368
/* 80304360 002FFFC0  38 60 FF E5 */	li r3, -27
/* 80304364 002FFFC4  48 00 00 08 */	b lbl_8030436C
lbl_80304368:
/* 80304368 002FFFC8  38 60 00 00 */	li r3, 0
lbl_8030436C:
/* 8030436C 002FFFCC  80 01 00 B4 */	lwz r0, 0xb4(r1)
/* 80304370 002FFFD0  83 E1 00 AC */	lwz r31, 0xac(r1)
/* 80304374 002FFFD4  83 C1 00 A8 */	lwz r30, 0xa8(r1)
/* 80304378 002FFFD8  7C 08 03 A6 */	mtlr r0
/* 8030437C 002FFFDC  38 21 00 B0 */	addi r1, r1, 0xb0
/* 80304380 002FFFE0  4E 80 00 20 */	blr