Finish mystery_gift_menu.c
This commit is contained in:
+1
-1
@@ -1645,7 +1645,7 @@ _08010B2A:
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08010B64
|
beq _08010B64
|
||||||
bl sub_80FA4F8
|
bl IsNoOneConnected
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08010B82
|
beq _08010B82
|
||||||
|
|||||||
+3
-3
@@ -765,7 +765,7 @@ _08080D3C:
|
|||||||
cmp r2, 0x9
|
cmp r2, 0x9
|
||||||
bne _08080D54
|
bne _08080D54
|
||||||
_08080D44:
|
_08080D44:
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
bl HideFieldMessageBox
|
bl HideFieldMessageBox
|
||||||
ldr r0, _08080D50 @ =sub_8080F78
|
ldr r0, _08080D50 @ =sub_8080F78
|
||||||
b _08080D72
|
b _08080D72
|
||||||
@@ -860,7 +860,7 @@ _08080DF6:
|
|||||||
cmp r0, 0x9
|
cmp r0, 0x9
|
||||||
bne _08080E20
|
bne _08080E20
|
||||||
_08080DFE:
|
_08080DFE:
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
_08080E02:
|
_08080E02:
|
||||||
bl HideFieldMessageBox
|
bl HideFieldMessageBox
|
||||||
ldr r0, _08080E18 @ =gTasks
|
ldr r0, _08080E18 @ =gTasks
|
||||||
@@ -2459,7 +2459,7 @@ sub_8081A90: @ 8081A90
|
|||||||
lsls r0, 17
|
lsls r0, 17
|
||||||
cmp r1, r0
|
cmp r1, r0
|
||||||
ble _08081AC2
|
ble _08081AC2
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
ldr r0, _08081ADC @ =c2_800ACD4
|
ldr r0, _08081ADC @ =c2_800ACD4
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
|
|||||||
@@ -3691,7 +3691,7 @@ _080CFDBA:
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080CFDC6
|
beq _080CFDC6
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
_080CFDC6:
|
_080CFDC6:
|
||||||
movs r0, 0x3
|
movs r0, 0x3
|
||||||
bl GetBgTilemapBuffer
|
bl GetBgTilemapBuffer
|
||||||
|
|||||||
+9
-9
@@ -29,7 +29,7 @@ _08009498:
|
|||||||
cmp r0, r1
|
cmp r0, r1
|
||||||
beq _080094C4
|
beq _080094C4
|
||||||
bl sub_800B210
|
bl sub_800B210
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
bl RestoreSerialTimer3IntrHandlers
|
bl RestoreSerialTimer3IntrHandlers
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
b _080094CE
|
b _080094CE
|
||||||
@@ -507,8 +507,8 @@ _080098B0: .4byte gUnknown_3003F30
|
|||||||
_080098B4: .4byte gUnknown_3003F2C
|
_080098B4: .4byte gUnknown_3003F2C
|
||||||
thumb_func_end sub_8009804
|
thumb_func_end sub_8009804
|
||||||
|
|
||||||
thumb_func_start sub_80098B8
|
thumb_func_start CloseLink
|
||||||
sub_80098B8: @ 80098B8
|
CloseLink: @ 80098B8
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
ldr r0, _080098DC @ =gReceivedRemoteLinkPlayers
|
ldr r0, _080098DC @ =gReceivedRemoteLinkPlayers
|
||||||
movs r4, 0
|
movs r4, 0
|
||||||
@@ -529,7 +529,7 @@ _080098CC:
|
|||||||
_080098DC: .4byte gReceivedRemoteLinkPlayers
|
_080098DC: .4byte gReceivedRemoteLinkPlayers
|
||||||
_080098E0: .4byte gWirelessCommType
|
_080098E0: .4byte gWirelessCommType
|
||||||
_080098E4: .4byte gLinkOpen
|
_080098E4: .4byte gLinkOpen
|
||||||
thumb_func_end sub_80098B8
|
thumb_func_end CloseLink
|
||||||
|
|
||||||
thumb_func_start TestBlockTransfer
|
thumb_func_start TestBlockTransfer
|
||||||
TestBlockTransfer: @ 80098E8
|
TestBlockTransfer: @ 80098E8
|
||||||
@@ -1596,7 +1596,7 @@ _0800A100:
|
|||||||
bne _0800A112
|
bne _0800A112
|
||||||
ldr r0, _0800A11C @ =gUnknown_3003EAC
|
ldr r0, _0800A11C @ =gUnknown_3003EAC
|
||||||
strb r4, [r0]
|
strb r4, [r0]
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
_0800A112:
|
_0800A112:
|
||||||
movs r6, 0
|
movs r6, 0
|
||||||
ldr r4, _0800A120 @ =gLinkPlayers
|
ldr r4, _0800A120 @ =gLinkPlayers
|
||||||
@@ -2122,7 +2122,7 @@ sub_800A4BC: @ 800A4BC
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bne _0800A4D4
|
bne _0800A4D4
|
||||||
bl sub_80FA4F8
|
bl IsNoOneConnected
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
b _0800A4E2
|
b _0800A4E2
|
||||||
@@ -2833,7 +2833,7 @@ _0800A9E6:
|
|||||||
ldr r1, _0800AA1C @ =gUnknown_3003EAC
|
ldr r1, _0800AA1C @ =gUnknown_3003EAC
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
ldr r0, _0800AA20 @ =c2_800ACD4
|
ldr r0, _0800AA20 @ =c2_800ACD4
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
_0800A9F6:
|
_0800A9F6:
|
||||||
@@ -3045,7 +3045,7 @@ _0800AB5C:
|
|||||||
ldr r0, _0800AB90 @ =gLinkVSyncDisabled
|
ldr r0, _0800AB90 @ =gLinkVSyncDisabled
|
||||||
movs r4, 0x1
|
movs r4, 0x1
|
||||||
strb r4, [r0]
|
strb r4, [r0]
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
ldr r1, _0800AB94 @ =gUnknown_3003F80
|
ldr r1, _0800AB94 @ =gUnknown_3003F80
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
str r0, [r1]
|
str r0, [r1]
|
||||||
@@ -3198,7 +3198,7 @@ _0800AC8E:
|
|||||||
ldr r1, _0800ACB8 @ =gUnknown_3003EAC
|
ldr r1, _0800ACB8 @ =gUnknown_3003EAC
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
_0800AC98:
|
_0800AC98:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
|
|||||||
+8
-8
@@ -4012,8 +4012,8 @@ sub_80FA4EC: @ 80FA4EC
|
|||||||
_080FA4F4: .4byte gUnknown_3005450
|
_080FA4F4: .4byte gUnknown_3005450
|
||||||
thumb_func_end sub_80FA4EC
|
thumb_func_end sub_80FA4EC
|
||||||
|
|
||||||
thumb_func_start sub_80FA4F8
|
thumb_func_start IsNoOneConnected
|
||||||
sub_80FA4F8: @ 80FA4F8
|
IsNoOneConnected: @ 80FA4F8
|
||||||
push {lr}
|
push {lr}
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
ldr r0, _080FA50C @ =gUnknown_3005450
|
ldr r0, _080FA50C @ =gUnknown_3005450
|
||||||
@@ -4027,7 +4027,7 @@ _080FA506:
|
|||||||
bx r1
|
bx r1
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080FA50C: .4byte gUnknown_3005450
|
_080FA50C: .4byte gUnknown_3005450
|
||||||
thumb_func_end sub_80FA4F8
|
thumb_func_end IsNoOneConnected
|
||||||
|
|
||||||
thumb_func_start sub_80FA510
|
thumb_func_start sub_80FA510
|
||||||
sub_80FA510: @ 80FA510
|
sub_80FA510: @ 80FA510
|
||||||
@@ -5193,7 +5193,7 @@ _080FADF8:
|
|||||||
ldrb r0, [r7]
|
ldrb r0, [r7]
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
strb r0, [r7]
|
strb r0, [r7]
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
b _080FAE62
|
b _080FAE62
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080FAE10: .4byte gUnknown_3005450
|
_080FAE10: .4byte gUnknown_3005450
|
||||||
@@ -9466,8 +9466,8 @@ _080FCE3C: .4byte 0x00001234
|
|||||||
_080FCE40: .4byte gUnknown_843F274
|
_080FCE40: .4byte gUnknown_843F274
|
||||||
thumb_func_end sub_80FCD74
|
thumb_func_end sub_80FCD74
|
||||||
|
|
||||||
thumb_func_start sub_80FCE44
|
thumb_func_start DestroyWirelessStatusIndicatorSprite
|
||||||
sub_80FCE44: @ 80FCE44
|
DestroyWirelessStatusIndicatorSprite: @ 80FCE44
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
ldr r4, _080FCE90 @ =gSprites
|
ldr r4, _080FCE90 @ =gSprites
|
||||||
ldr r3, _080FCE94 @ =gUnknown_203ACE4
|
ldr r3, _080FCE94 @ =gUnknown_203ACE4
|
||||||
@@ -9512,7 +9512,7 @@ _080FCE98: .4byte 0x00001234
|
|||||||
_080FCE9C: .4byte gMain
|
_080FCE9C: .4byte gMain
|
||||||
_080FCEA0: .4byte gDummyOamData
|
_080FCEA0: .4byte gDummyOamData
|
||||||
_080FCEA4: .4byte 0x070003e8
|
_080FCEA4: .4byte 0x070003e8
|
||||||
thumb_func_end sub_80FCE44
|
thumb_func_end DestroyWirelessStatusIndicatorSprite
|
||||||
|
|
||||||
thumb_func_start sub_80FCEA8
|
thumb_func_start sub_80FCEA8
|
||||||
sub_80FCEA8: @ 80FCEA8
|
sub_80FCEA8: @ 80FCEA8
|
||||||
@@ -9830,7 +9830,7 @@ _080FD072:
|
|||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bne _080FD106
|
bne _080FD106
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
_080FD106:
|
_080FD106:
|
||||||
pop {r3}
|
pop {r3}
|
||||||
mov r8, r3
|
mov r8, r3
|
||||||
|
|||||||
+21
-21
@@ -1071,7 +1071,7 @@ _0811615C:
|
|||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08116164: .4byte gUnknown_8457610
|
_08116164: .4byte gUnknown_8457610
|
||||||
_08116168:
|
_08116168:
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
bl sub_80F8DC0
|
bl sub_80F8DC0
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
bl sub_81161E4
|
bl sub_81161E4
|
||||||
@@ -2347,7 +2347,7 @@ _08116C10:
|
|||||||
strb r0, [r6, 0x8]
|
strb r0, [r6, 0x8]
|
||||||
b _08116D06
|
b _08116D06
|
||||||
_08116C68:
|
_08116C68:
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
adds r5, r6, 0
|
adds r5, r6, 0
|
||||||
adds r5, 0x9
|
adds r5, 0x9
|
||||||
ldr r4, _08116C90 @ =gUnknown_8457754
|
ldr r4, _08116C90 @ =gUnknown_8457754
|
||||||
@@ -2368,14 +2368,14 @@ _08116C68:
|
|||||||
_08116C90: .4byte gUnknown_8457754
|
_08116C90: .4byte gUnknown_8457754
|
||||||
_08116C94: .4byte gSpecialVar_Result
|
_08116C94: .4byte gSpecialVar_Result
|
||||||
_08116C98:
|
_08116C98:
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
ldr r0, _08116CA4 @ =gSpecialVar_Result
|
ldr r0, _08116CA4 @ =gSpecialVar_Result
|
||||||
movs r1, 0x5
|
movs r1, 0x5
|
||||||
b _08116CDC
|
b _08116CDC
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08116CA4: .4byte gSpecialVar_Result
|
_08116CA4: .4byte gSpecialVar_Result
|
||||||
_08116CA8:
|
_08116CA8:
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
adds r5, r6, 0
|
adds r5, r6, 0
|
||||||
adds r5, 0x9
|
adds r5, 0x9
|
||||||
ldr r4, _08116CC4 @ =gUnknown_8457754
|
ldr r4, _08116CC4 @ =gUnknown_8457754
|
||||||
@@ -3911,8 +3911,8 @@ _081179C4: .4byte sub_81175BC
|
|||||||
_081179C8: .4byte gTasks
|
_081179C8: .4byte gTasks
|
||||||
thumb_func_end sub_81179A4
|
thumb_func_end sub_81179A4
|
||||||
|
|
||||||
thumb_func_start sub_81179CC
|
thumb_func_start MEvent_CreateTask_Leader
|
||||||
sub_81179CC: @ 81179CC
|
MEvent_CreateTask_Leader: @ 81179CC
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
ldr r0, _081179FC @ =sub_8117A0C
|
ldr r0, _081179FC @ =sub_8117A0C
|
||||||
@@ -3941,7 +3941,7 @@ _081179FC: .4byte sub_8117A0C
|
|||||||
_08117A00: .4byte gUnknown_203B05C
|
_08117A00: .4byte gUnknown_203B05C
|
||||||
_08117A04: .4byte gTasks+0x8
|
_08117A04: .4byte gTasks+0x8
|
||||||
_08117A08: .4byte gSpecialVar_Result
|
_08117A08: .4byte gSpecialVar_Result
|
||||||
thumb_func_end sub_81179CC
|
thumb_func_end MEvent_CreateTask_Leader
|
||||||
|
|
||||||
thumb_func_start sub_8117A0C
|
thumb_func_start sub_8117A0C
|
||||||
sub_8117A0C: @ 8117A0C
|
sub_8117A0C: @ 8117A0C
|
||||||
@@ -4056,7 +4056,7 @@ _08117AB8:
|
|||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
str r0, [sp]
|
str r0, [sp]
|
||||||
str r1, [sp, 0x4]
|
str r1, [sp, 0x4]
|
||||||
bl sub_81435D4
|
bl GetMysteryGiftBaseBlock
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
ldr r2, _08117B70 @ =0x0000ffff
|
ldr r2, _08117B70 @ =0x0000ffff
|
||||||
ldr r1, [sp, 0x4]
|
ldr r1, [sp, 0x4]
|
||||||
@@ -4134,7 +4134,7 @@ _08117BBC:
|
|||||||
_08117BD4:
|
_08117BD4:
|
||||||
movs r0, 0xD
|
movs r0, 0xD
|
||||||
strb r0, [r5, 0xC]
|
strb r0, [r5, 0xC]
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
b _08117ECA
|
b _08117ECA
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08117BE0: .4byte gMain
|
_08117BE0: .4byte gMain
|
||||||
@@ -4393,7 +4393,7 @@ _08117DE8:
|
|||||||
strb r0, [r5, 0xC]
|
strb r0, [r5, 0xC]
|
||||||
b _08117ECA
|
b _08117ECA
|
||||||
_08117DEE:
|
_08117DEE:
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
bl sub_80F8DC0
|
bl sub_80F8DC0
|
||||||
ldrb r0, [r5, 0x12]
|
ldrb r0, [r5, 0x12]
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
@@ -4490,8 +4490,8 @@ _08117ECA:
|
|||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_8117A0C
|
thumb_func_end sub_8117A0C
|
||||||
|
|
||||||
thumb_func_start sub_8117ED4
|
thumb_func_start MEvent_CreateTask_CardOrNewsWithFriend
|
||||||
sub_8117ED4: @ 8117ED4
|
MEvent_CreateTask_CardOrNewsWithFriend: @ 8117ED4
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
ldr r0, _08117F0C @ =sub_8117F20
|
ldr r0, _08117F0C @ =sub_8117F20
|
||||||
@@ -4524,7 +4524,7 @@ _08117F10: .4byte gUnknown_203B05C
|
|||||||
_08117F14: .4byte gTasks+0x8
|
_08117F14: .4byte gTasks+0x8
|
||||||
_08117F18: .4byte gUnknown_3002028
|
_08117F18: .4byte gUnknown_3002028
|
||||||
_08117F1C: .4byte gSpecialVar_Result
|
_08117F1C: .4byte gSpecialVar_Result
|
||||||
thumb_func_end sub_8117ED4
|
thumb_func_end MEvent_CreateTask_CardOrNewsWithFriend
|
||||||
|
|
||||||
thumb_func_start sub_8117F20
|
thumb_func_start sub_8117F20
|
||||||
sub_8117F20: @ 8117F20
|
sub_8117F20: @ 8117F20
|
||||||
@@ -4609,7 +4609,7 @@ _08117FC0:
|
|||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
str r0, [sp]
|
str r0, [sp]
|
||||||
str r1, [sp, 0x4]
|
str r1, [sp, 0x4]
|
||||||
bl sub_81435D4
|
bl GetMysteryGiftBaseBlock
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
ldr r2, _08118060 @ =0x0000ffff
|
ldr r2, _08118060 @ =0x0000ffff
|
||||||
ldr r1, [sp, 0x4]
|
ldr r1, [sp, 0x4]
|
||||||
@@ -4871,12 +4871,12 @@ _08118222:
|
|||||||
bl MG_PrintTextOnWindow1AndWaitButton
|
bl MG_PrintTextOnWindow1AndWaitButton
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08118288
|
beq _08118288
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
b _08118252
|
b _08118252
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08118244: .4byte gUnknown_8457838
|
_08118244: .4byte gUnknown_8457838
|
||||||
_08118248:
|
_08118248:
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
ldr r0, _08118264 @ =gUnknown_84571B8
|
ldr r0, _08118264 @ =gUnknown_84571B8
|
||||||
bl AddTextPrinterToWindow1
|
bl AddTextPrinterToWindow1
|
||||||
_08118252:
|
_08118252:
|
||||||
@@ -4910,8 +4910,8 @@ _08118288:
|
|||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_8117F20
|
thumb_func_end sub_8117F20
|
||||||
|
|
||||||
thumb_func_start sub_8118290
|
thumb_func_start MEvent_CreateTask_CardOrNewsOverWireless
|
||||||
sub_8118290: @ 8118290
|
MEvent_CreateTask_CardOrNewsOverWireless: @ 8118290
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
ldr r0, _081182C8 @ =sub_81182DC
|
ldr r0, _081182C8 @ =sub_81182DC
|
||||||
@@ -4944,7 +4944,7 @@ _081182CC: .4byte gUnknown_203B05C
|
|||||||
_081182D0: .4byte gTasks+0x8
|
_081182D0: .4byte gTasks+0x8
|
||||||
_081182D4: .4byte gUnknown_3002028
|
_081182D4: .4byte gUnknown_3002028
|
||||||
_081182D8: .4byte gSpecialVar_Result
|
_081182D8: .4byte gSpecialVar_Result
|
||||||
thumb_func_end sub_8118290
|
thumb_func_end MEvent_CreateTask_CardOrNewsOverWireless
|
||||||
|
|
||||||
thumb_func_start sub_81182DC
|
thumb_func_start sub_81182DC
|
||||||
sub_81182DC: @ 81182DC
|
sub_81182DC: @ 81182DC
|
||||||
@@ -5030,7 +5030,7 @@ _08118380:
|
|||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
str r0, [sp]
|
str r0, [sp]
|
||||||
str r1, [sp, 0x4]
|
str r1, [sp, 0x4]
|
||||||
bl sub_81435D4
|
bl GetMysteryGiftBaseBlock
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
ldr r2, _081183FC @ =0x0000ffff
|
ldr r2, _081183FC @ =0x0000ffff
|
||||||
ldr r1, [sp, 0x4]
|
ldr r1, [sp, 0x4]
|
||||||
@@ -5284,7 +5284,7 @@ _081185C2:
|
|||||||
bl MG_PrintTextOnWindow1AndWaitButton
|
bl MG_PrintTextOnWindow1AndWaitButton
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08118604
|
beq _08118604
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl DestroyTask
|
bl DestroyTask
|
||||||
bl sub_80F8DC0
|
bl sub_80F8DC0
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -3890,7 +3890,7 @@ sub_80569BC: @ 80569BC
|
|||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bne _080569CE
|
bne _080569CE
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
_080569CE:
|
_080569CE:
|
||||||
ldr r0, _080569E4 @ =gWirelessCommType
|
ldr r0, _080569E4 @ =gWirelessCommType
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
|
|||||||
+8
-8
@@ -422,7 +422,7 @@ _0804C9B0:
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _0804C9E8
|
beq _0804C9E8
|
||||||
bl sub_80FA4F8
|
bl IsNoOneConnected
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0804C9C4
|
bne _0804C9C4
|
||||||
@@ -1832,7 +1832,7 @@ sub_804D5A4: @ 804D5A4
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _0804D5FC
|
beq _0804D5FC
|
||||||
bl sub_80FA4F8
|
bl IsNoOneConnected
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _0804D620
|
beq _0804D620
|
||||||
@@ -1845,7 +1845,7 @@ sub_804D5A4: @ 804D5A4
|
|||||||
bl Free
|
bl Free
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
str r0, [r5]
|
str r0, [r5]
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
ldr r0, _0804D5F8 @ =sub_8050138
|
ldr r0, _0804D5F8 @ =sub_8050138
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
b _0804D620
|
b _0804D620
|
||||||
@@ -4296,7 +4296,7 @@ sub_804E944: @ 804E944
|
|||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl Free
|
bl Free
|
||||||
bl FreeAllWindowBuffers
|
bl FreeAllWindowBuffers
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
ldr r0, _0804E984 @ =c2_8056854
|
ldr r0, _0804E984 @ =c2_8056854
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
b _0804E9AA
|
b _0804E9AA
|
||||||
@@ -7178,7 +7178,7 @@ _0804FF7A:
|
|||||||
lsls r0, 1
|
lsls r0, 1
|
||||||
cmp r1, r0
|
cmp r1, r0
|
||||||
bls _0804FFAC
|
bls _0804FFAC
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
ldr r0, _0804FFC0 @ =c2_800ACD4
|
ldr r0, _0804FFC0 @ =c2_800ACD4
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
@@ -7432,7 +7432,7 @@ _08050194:
|
|||||||
ldr r2, _08050230 @ =0x00001144
|
ldr r2, _08050230 @ =0x00001144
|
||||||
adds r0, r2, 0
|
adds r0, r2, 0
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
bl sub_80098B8
|
bl CloseLink
|
||||||
_080501A8:
|
_080501A8:
|
||||||
ldr r4, _08050234 @ =gUnknown_2031DAC
|
ldr r4, _08050234 @ =gUnknown_2031DAC
|
||||||
movs r0, 0x88
|
movs r0, 0x88
|
||||||
@@ -14745,7 +14745,7 @@ _0805434C:
|
|||||||
ldr r0, _08054378 @ =sub_804C718
|
ldr r0, _08054378 @ =sub_804C718
|
||||||
cmp r1, r0
|
cmp r1, r0
|
||||||
bne _08054384
|
bne _08054384
|
||||||
bl sub_80FA4F8
|
bl IsNoOneConnected
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08054396
|
beq _08054396
|
||||||
@@ -14819,7 +14819,7 @@ sub_80543C4: @ 80543C4
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08054412
|
beq _08054412
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
_08054412:
|
_08054412:
|
||||||
ldr r0, _0805443C @ =gMain
|
ldr r0, _0805443C @ =gMain
|
||||||
ldr r0, [r0, 0x8]
|
ldr r0, [r0, 0x8]
|
||||||
|
|||||||
+1
-1
@@ -424,7 +424,7 @@ _0814D962:
|
|||||||
bl ClearGpuRegBits
|
bl ClearGpuRegBits
|
||||||
b _0814D9BA
|
b _0814D9BA
|
||||||
_0814D9A2:
|
_0814D9A2:
|
||||||
bl sub_80FCE44
|
bl DestroyWirelessStatusIndicatorSprite
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
bl sub_814EF10
|
bl sub_814EF10
|
||||||
bl sub_815C9F4
|
bl sub_815C9F4
|
||||||
|
|||||||
+20
-20
@@ -2446,22 +2446,22 @@ gText_ReadNewsThatArrived:: @ 841E669
|
|||||||
gText_ReturnToTitle:: @ 841E685
|
gText_ReturnToTitle:: @ 841E685
|
||||||
.string "Return to the title screen.$"
|
.string "Return to the title screen.$"
|
||||||
|
|
||||||
gUnknown_841E6A1:: @ 841E6A1
|
gText_DontHaveCardNewOneInput:: @ 841E6A1
|
||||||
.incbin "baserom.gba", 0x41E6A1, 0x3B
|
.incbin "baserom.gba", 0x41E6A1, 0x3B
|
||||||
|
|
||||||
gUnknown_841E6DC:: @ 841E6DC
|
gText_DontHaveNewsNewOneInput:: @ 841E6DC
|
||||||
.incbin "baserom.gba", 0x41E6DC, 0x3B
|
.incbin "baserom.gba", 0x41E6DC, 0x3B
|
||||||
|
|
||||||
gUnknown_841E717:: @ 841E717
|
gText_WhereShouldCardBeAccessed:: @ 841E717
|
||||||
.incbin "baserom.gba", 0x41E717, 0x2A
|
.incbin "baserom.gba", 0x41E717, 0x2A
|
||||||
|
|
||||||
gUnknown_841E741:: @ 841E741
|
gText_WhereShouldNewsBeAccessed:: @ 841E741
|
||||||
.incbin "baserom.gba", 0x41E741, 0x53
|
.incbin "baserom.gba", 0x41E741, 0x53
|
||||||
|
|
||||||
gUnknown_841E794:: @ 841E794
|
gText_Communicating:: @ 841E794
|
||||||
.incbin "baserom.gba", 0x41E794, 0xF
|
.incbin "baserom.gba", 0x41E794, 0xF
|
||||||
|
|
||||||
gUnknown_841E7A3:: @ 841E7A3
|
gText_CommunicationCompleted:: @ 841E7A3
|
||||||
.incbin "baserom.gba", 0x41E7A3, 0x19
|
.incbin "baserom.gba", 0x41E7A3, 0x19
|
||||||
|
|
||||||
gText_CommunicationError:: @ 841E7BC
|
gText_CommunicationError:: @ 841E7BC
|
||||||
@@ -2470,10 +2470,10 @@ gText_CommunicationError:: @ 841E7BC
|
|||||||
gText_CommunicationCanceled:: @ 841E7D1
|
gText_CommunicationCanceled:: @ 841E7D1
|
||||||
.incbin "baserom.gba", 0x41E7D1, 0x21
|
.incbin "baserom.gba", 0x41E7D1, 0x21
|
||||||
|
|
||||||
gUnknown_841E7F2:: @ 841E7F2
|
gText_ThrowAwayWonderCard:: @ 841E7F2
|
||||||
.incbin "baserom.gba", 0x41E7F2, 0x31
|
.incbin "baserom.gba", 0x41E7F2, 0x31
|
||||||
|
|
||||||
gUnknown_841E823:: @ 841E823
|
gText_HaventReceivedCardsGift:: @ 841E823
|
||||||
.incbin "baserom.gba", 0x41E823, 0x43
|
.incbin "baserom.gba", 0x41E823, 0x43
|
||||||
|
|
||||||
gText_WonderCardReceivedFrom:: @ 841E866
|
gText_WonderCardReceivedFrom:: @ 841E866
|
||||||
@@ -2524,37 +2524,37 @@ gText_WhatToDoWithCards:: @ 841EA86
|
|||||||
gText_WhatToDoWithNews:: @ 841EAB7
|
gText_WhatToDoWithNews:: @ 841EAB7
|
||||||
.incbin "baserom.gba", 0x41EAB7, 0x30
|
.incbin "baserom.gba", 0x41EAB7, 0x30
|
||||||
|
|
||||||
gUnknown_841EAE7:: @ 841EAE7
|
gText_SendingWonderCard:: @ 841EAE7
|
||||||
.incbin "baserom.gba", 0x41EAE7, 0x1A
|
.incbin "baserom.gba", 0x41EAE7, 0x1A
|
||||||
|
|
||||||
gUnknown_841EB01:: @ 841EB01
|
gText_SendingWonderNews:: @ 841EB01
|
||||||
.incbin "baserom.gba", 0x41EB01, 0x1F
|
.incbin "baserom.gba", 0x41EB01, 0x1F
|
||||||
|
|
||||||
gUnknown_841EB20:: @ 841EB20
|
gText_WonderCardSentTo:: @ 841EB20
|
||||||
.incbin "baserom.gba", 0x41EB20, 0x26
|
.incbin "baserom.gba", 0x41EB20, 0x26
|
||||||
|
|
||||||
gUnknown_841EB46:: @ 841EB46
|
gText_WonderNewsSentTo:: @ 841EB46
|
||||||
.incbin "baserom.gba", 0x41EB46, 0x2B
|
.incbin "baserom.gba", 0x41EB46, 0x2B
|
||||||
|
|
||||||
gUnknown_841EB71:: @ 841EB71
|
gText_StampSentTo:: @ 841EB71
|
||||||
.incbin "baserom.gba", 0x41EB71, 0x1D
|
.incbin "baserom.gba", 0x41EB71, 0x1D
|
||||||
|
|
||||||
gUnknown_841EB8E:: @ 841EB8E
|
gText_GiftSentTo:: @ 841EB8E
|
||||||
.incbin "baserom.gba", 0x41EB8E, 0x1C
|
.incbin "baserom.gba", 0x41EB8E, 0x1C
|
||||||
|
|
||||||
gUnknown_841EBAA:: @ 841EBAA
|
gText_OtherTrainerHasCard:: @ 841EBAA
|
||||||
.incbin "baserom.gba", 0x41EBAA, 0x34
|
.incbin "baserom.gba", 0x41EBAA, 0x34
|
||||||
|
|
||||||
gUnknown_841EBDE:: @ 841EBDE
|
gText_OtherTrainerHasNews:: @ 841EBDE
|
||||||
.incbin "baserom.gba", 0x41EBDE, 0x34
|
.incbin "baserom.gba", 0x41EBDE, 0x34
|
||||||
|
|
||||||
gUnknown_841EC12:: @ 841EC12
|
gText_OtherTrainerHasStamp:: @ 841EC12
|
||||||
.incbin "baserom.gba", 0x41EC12, 0x2E
|
.incbin "baserom.gba", 0x41EC12, 0x2E
|
||||||
|
|
||||||
gUnknown_841EC40:: @ 841EC40
|
gText_OtherTrainerCanceled:: @ 841EC40
|
||||||
.incbin "baserom.gba", 0x41EC40, 0x2A
|
.incbin "baserom.gba", 0x41EC40, 0x2A
|
||||||
|
|
||||||
gUnknown_841EC6A:: @ 841EC6A
|
gText_CantSendGiftToTrainer:: @ 841EC6A
|
||||||
.incbin "baserom.gba", 0x41EC6A, 0x2F
|
.incbin "baserom.gba", 0x41EC6A, 0x2F
|
||||||
|
|
||||||
gText_IfThrowAwayCardEventWontHappen:: @ 841EC99
|
gText_IfThrowAwayCardEventWontHappen:: @ 841EC99
|
||||||
@@ -2563,7 +2563,7 @@ gText_IfThrowAwayCardEventWontHappen:: @ 841EC99
|
|||||||
gText_OkayToDiscardNews:: @ 841ECD3
|
gText_OkayToDiscardNews:: @ 841ECD3
|
||||||
.incbin "baserom.gba", 0x41ECD3, 0x26
|
.incbin "baserom.gba", 0x41ECD3, 0x26
|
||||||
|
|
||||||
gUnknown_841ECF9:: @ 841ECF9
|
gText_HaventReceivedGiftOkayToDiscard:: @ 841ECF9
|
||||||
.incbin "baserom.gba", 0x41ECF9, 0x36
|
.incbin "baserom.gba", 0x41ECF9, 0x36
|
||||||
|
|
||||||
gText_DataWillBeSaved:: @ 841ED2F
|
gText_DataWillBeSaved:: @ 841ED2F
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ gSpecials:: @ 815FD60
|
|||||||
def_special sub_8081064
|
def_special sub_8081064
|
||||||
def_special sub_80810CC
|
def_special sub_80810CC
|
||||||
def_special sub_80810F4
|
def_special sub_80810F4
|
||||||
def_special sub_80098B8
|
def_special CloseLink
|
||||||
def_special sub_80819C8
|
def_special sub_80819C8
|
||||||
def_special sub_8081978
|
def_special sub_8081978
|
||||||
def_special sub_80819B8
|
def_special sub_80819B8
|
||||||
|
|||||||
+1
-1
@@ -204,7 +204,7 @@ bool8 sub_800AA48(void);
|
|||||||
void sub_800A5BC(void);
|
void sub_800A5BC(void);
|
||||||
void sub_800AA80(u8);
|
void sub_800AA80(u8);
|
||||||
void sub_80098D8(void);
|
void sub_80098D8(void);
|
||||||
void sub_80098B8(void);
|
void CloseLink(void);
|
||||||
bool8 sub_800A4BC(void);
|
bool8 sub_800A4BC(void);
|
||||||
|
|
||||||
#endif // GUARD_LINK_H
|
#endif // GUARD_LINK_H
|
||||||
|
|||||||
@@ -5,5 +5,11 @@ void AddTextPrinterToWindow1(const u8 *str);
|
|||||||
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src);
|
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src);
|
||||||
void sub_80FA190(void);
|
void sub_80FA190(void);
|
||||||
void MG_DrawCheckerboardPattern(void);
|
void MG_DrawCheckerboardPattern(void);
|
||||||
|
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
|
||||||
|
bool8 IsNoOneConnected(void);
|
||||||
|
void DestroyWirelessStatusIndicatorSprite(void);
|
||||||
|
void MEvent_CreateTask_CardOrNewsWithFriend(u8);
|
||||||
|
void MEvent_CreateTask_CardOrNewsOverWireless(u8);
|
||||||
|
void MEvent_CreateTask_Leader(u8);
|
||||||
|
|
||||||
#endif //GUARD_LINK_RFU_H
|
#endif //GUARD_LINK_RFU_H
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void sub_8146C30(u32 a0);
|
void GenerateRandomNews(u32 a0);
|
||||||
void sub_8146C88(void);
|
void sub_8146C88(void);
|
||||||
void sub_8146CA4(void);
|
void sub_8146CA4(void);
|
||||||
|
|
||||||
|
|||||||
@@ -60,5 +60,11 @@ void DestroyWonderCardResources(void);
|
|||||||
void DestroyWonderNewsResources(void);
|
void DestroyWonderNewsResources(void);
|
||||||
s32 FadeOutFromWonderCard(bool32 flag);
|
s32 FadeOutFromWonderCard(bool32 flag);
|
||||||
s32 FadeOutFromWonderNews(bool32 flag);
|
s32 FadeOutFromWonderNews(bool32 flag);
|
||||||
|
bool32 CheckReceivedGiftFromWonderCard(void);
|
||||||
|
void MENews_AddScrollIndicatorArrowPair(void);
|
||||||
|
void MENews_RemoveScrollIndicatorArrowPair(void);
|
||||||
|
bool32 WonderNews_Test_Unk_02(void);
|
||||||
|
bool32 WonderCard_Test_Unk_08_6(void);
|
||||||
|
u32 MENews_GetInput(u16 input);
|
||||||
|
|
||||||
#endif //GUARD_MEVENT_H
|
#endif //GUARD_MEVENT_H
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ struct mevent_cmd_ish
|
|||||||
u32 parameter;
|
u32 parameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct mevent_srv_ish
|
struct mevent_client
|
||||||
{
|
{
|
||||||
u32 unk_00;
|
u32 unk_00;
|
||||||
u32 param;
|
u32 param;
|
||||||
@@ -83,13 +83,13 @@ void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recv
|
|||||||
void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size);
|
void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size);
|
||||||
void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest);
|
void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest);
|
||||||
|
|
||||||
void mevent_srv_ish_do_init(void);
|
void mevent_client_do_init(void);
|
||||||
u32 mevent_srv_ish_do_exec(u16 * a0);
|
u32 mevent_client_do_exec(u16 * a0);
|
||||||
void mevent_srv_ish_inc_flag(void);
|
void mevent_client_inc_flag(void);
|
||||||
void * mevent_srv_ish_get_buffer(void);
|
void * mevent_client_get_buffer(void);
|
||||||
void mevent_srv_ish_set_param(u32 a0);
|
void mevent_client_set_param(u32 a0);
|
||||||
void mevent_srv_common_do_init_1(void);
|
void mevent_srv_init_wnews(void);
|
||||||
void mevent_srv_common_do_init_2(void);
|
void mevent_srv_new_wcard(void);
|
||||||
u32 mevent_srv_init_do_exec(u16 * a0);
|
u32 mevent_srv_common_do_exec(u16 * a0);
|
||||||
|
|
||||||
#endif //GUARD_MEVENT_SERVER_H
|
#endif //GUARD_MEVENT_SERVER_H
|
||||||
|
|||||||
@@ -242,7 +242,6 @@ SECTIONS {
|
|||||||
asm/slot_machine.o(.text);
|
asm/slot_machine.o(.text);
|
||||||
src/roamer.o(.text);
|
src/roamer.o(.text);
|
||||||
src/mystery_gift_menu.o(.text);
|
src/mystery_gift_menu.o(.text);
|
||||||
asm/mystery_gift_menu.o(.text);
|
|
||||||
src/mevent.o(.text);
|
src/mevent.o(.text);
|
||||||
src/mevent_server_helpers.o(.text);
|
src/mevent_server_helpers.o(.text);
|
||||||
src/mevent_server.o(.text);
|
src/mevent_server.o(.text);
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ static u32 sub_8146E0C(struct MysteryEventStruct *);
|
|||||||
static void sub_8146DA0(struct MysteryEventStruct *);
|
static void sub_8146DA0(struct MysteryEventStruct *);
|
||||||
static void sub_8146D94(struct MysteryEventStruct *);
|
static void sub_8146D94(struct MysteryEventStruct *);
|
||||||
|
|
||||||
void sub_8146C30(u32 a0)
|
void GenerateRandomNews(u32 a0)
|
||||||
{
|
{
|
||||||
struct MysteryEventStruct *r5 = sub_8143D94();
|
struct MysteryEventStruct *r5 = sub_8143D94();
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -294,7 +294,7 @@ void sub_8143910(u8 taskId)
|
|||||||
case 3:
|
case 3:
|
||||||
if (!sub_814374C())
|
if (!sub_814374C())
|
||||||
{
|
{
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
data->t08 = 4;
|
data->t08 = 4;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -325,26 +325,26 @@ void sub_8143910(u8 taskId)
|
|||||||
if (JOY_NEW(B_BUTTON))
|
if (JOY_NEW(B_BUTTON))
|
||||||
{
|
{
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
sub_81438E8(&data->t00);
|
sub_81438E8(&data->t00);
|
||||||
data->t08 = 23;
|
data->t08 = 23;
|
||||||
}
|
}
|
||||||
else if (GetLinkPlayerCount_2() > 1)
|
else if (GetLinkPlayerCount_2() > 1)
|
||||||
{
|
{
|
||||||
sub_81438E8(&data->t00);
|
sub_81438E8(&data->t00);
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
data->t08 = 7;
|
data->t08 = 7;
|
||||||
}
|
}
|
||||||
else if (sub_81436EC())
|
else if (sub_81436EC())
|
||||||
{
|
{
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
sub_81438E8(&data->t00);
|
sub_81438E8(&data->t00);
|
||||||
data->t08 = 8;
|
data->t08 = 8;
|
||||||
}
|
}
|
||||||
else if (sub_81438F0(&data->t00, 10))
|
else if (sub_81438F0(&data->t00, 10))
|
||||||
{
|
{
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
sub_81436BC();
|
sub_81436BC();
|
||||||
sub_81438E8(&data->t00);
|
sub_81438E8(&data->t00);
|
||||||
}
|
}
|
||||||
@@ -396,16 +396,16 @@ void sub_8143910(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
data->t08 = 23;
|
data->t08 = 23;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
data->t08 = 21;
|
data->t08 = 21;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
data->t08 = 20;
|
data->t08 = 20;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -413,7 +413,7 @@ void sub_8143910(u8 taskId)
|
|||||||
case 14:
|
case 14:
|
||||||
if (HasLinkErrorOccurred())
|
if (HasLinkErrorOccurred())
|
||||||
{
|
{
|
||||||
sub_80098B8();
|
CloseLink();
|
||||||
data->t08 = 20;
|
data->t08 = 20;
|
||||||
}
|
}
|
||||||
else if (GetBlockReceivedStatus())
|
else if (GetBlockReceivedStatus())
|
||||||
@@ -546,7 +546,7 @@ bool32 sub_8143E64(const struct MEventBuffer_3120_Sub * data)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8143E78(void)
|
bool32 WonderNews_Test_Unk_02(void)
|
||||||
{
|
{
|
||||||
const struct MEventBuffer_3120_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_000.data;
|
const struct MEventBuffer_3120_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_000.data;
|
||||||
if (data->unk_02 == 0)
|
if (data->unk_02 == 0)
|
||||||
@@ -632,7 +632,7 @@ bool32 sub_8144018(const struct MEventBuffer_32E0_Sub * data)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8144054(void)
|
bool32 WonderCard_Test_Unk_08_6(void)
|
||||||
{
|
{
|
||||||
const struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data;
|
const struct MEventBuffer_32E0_Sub * data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data;
|
||||||
if (data->unk_08_6 == 0)
|
if (data->unk_08_6 == 0)
|
||||||
@@ -672,7 +672,7 @@ bool32 sub_8144124(u16 a0)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8144144(void)
|
bool32 CheckReceivedGiftFromWonderCard(void)
|
||||||
{
|
{
|
||||||
u16 value = sub_81440E8();
|
u16 value = sub_81440E8();
|
||||||
if (!sub_8144124(value))
|
if (!sub_8144124(value))
|
||||||
|
|||||||
@@ -671,7 +671,7 @@ s32 FadeOutFromWonderNews(bool32 flag)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_81467EC(void)
|
void MENews_RemoveScrollIndicatorArrowPair(void)
|
||||||
{
|
{
|
||||||
if (!gUnknown_203F3CC->unk_01C0_0 && gUnknown_203F3CC->unk_01C1 != 0xFF)
|
if (!gUnknown_203F3CC->unk_01C0_0 && gUnknown_203F3CC->unk_01C1 != 0xFF)
|
||||||
{
|
{
|
||||||
@@ -682,7 +682,7 @@ void sub_81467EC(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void sub_8146834(void)
|
void MENews_AddScrollIndicatorArrowPair(void)
|
||||||
{
|
{
|
||||||
if (gUnknown_203F3CC->unk_01C0_0)
|
if (gUnknown_203F3CC->unk_01C0_0)
|
||||||
{
|
{
|
||||||
@@ -691,7 +691,7 @@ void sub_8146834(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sub_8146884(u16 input)
|
u32 MENews_GetInput(u16 input)
|
||||||
{
|
{
|
||||||
if (gUnknown_203F3CC->unk_01C2_0)
|
if (gUnknown_203F3CC->unk_01C2_0)
|
||||||
{
|
{
|
||||||
|
|||||||
+44
-44
@@ -11,12 +11,12 @@
|
|||||||
#include "mevent.h"
|
#include "mevent.h"
|
||||||
#include "mevent_server.h"
|
#include "mevent_server.h"
|
||||||
|
|
||||||
EWRAM_DATA struct mevent_srv_ish * s_mevent_srv_ish_ptr = NULL;
|
EWRAM_DATA struct mevent_client * s_mevent_client_ptr = NULL;
|
||||||
EWRAM_DATA struct mevent_srv_common * s_mevent_srv_common_ptr = NULL;
|
EWRAM_DATA struct mevent_srv_common * s_mevent_srv_common_ptr = NULL;
|
||||||
|
|
||||||
static void mevent_srv_ish_init(struct mevent_srv_ish *, u32, u32);
|
static void mevent_client_init(struct mevent_client *, u32, u32);
|
||||||
static u32 mevent_srv_ish_exec(struct mevent_srv_ish *);
|
static u32 mevent_client_exec(struct mevent_client *);
|
||||||
static void mevent_srv_ish_free_resources(struct mevent_srv_ish *);
|
static void mevent_client_free_resources(struct mevent_client *);
|
||||||
static void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32);
|
static void mevent_srv_init_common(struct mevent_srv_common *, const void *, u32, u32);
|
||||||
static void mevent_srv_free_resources(struct mevent_srv_common *);
|
static void mevent_srv_free_resources(struct mevent_srv_common *);
|
||||||
static u32 mevent_srv_exec_common(struct mevent_srv_common *);
|
static u32 mevent_srv_exec_common(struct mevent_srv_common *);
|
||||||
@@ -25,44 +25,44 @@ extern const u8 gUnknown_84687E0[];
|
|||||||
extern const struct mevent_cmd gUnknown_8468B6C[];
|
extern const struct mevent_cmd gUnknown_8468B6C[];
|
||||||
extern const struct mevent_cmd gUnknown_8468BCC[];
|
extern const struct mevent_cmd gUnknown_8468BCC[];
|
||||||
|
|
||||||
void mevent_srv_ish_do_init(void)
|
void mevent_client_do_init(void)
|
||||||
{
|
{
|
||||||
s_mevent_srv_ish_ptr = AllocZeroed(sizeof(struct mevent_srv_ish));
|
s_mevent_client_ptr = AllocZeroed(sizeof(struct mevent_client));
|
||||||
mevent_srv_ish_init(s_mevent_srv_ish_ptr, 1, 0);
|
mevent_client_init(s_mevent_client_ptr, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 mevent_srv_ish_do_exec(u16 * a0)
|
u32 mevent_client_do_exec(u16 * a0)
|
||||||
{
|
{
|
||||||
u32 result;
|
u32 result;
|
||||||
if (s_mevent_srv_ish_ptr == NULL)
|
if (s_mevent_client_ptr == NULL)
|
||||||
return 6;
|
return 6;
|
||||||
result = mevent_srv_ish_exec(s_mevent_srv_ish_ptr);
|
result = mevent_client_exec(s_mevent_client_ptr);
|
||||||
if (result == 6)
|
if (result == 6)
|
||||||
{
|
{
|
||||||
*a0 = s_mevent_srv_ish_ptr->param;
|
*a0 = s_mevent_client_ptr->param;
|
||||||
mevent_srv_ish_free_resources(s_mevent_srv_ish_ptr);
|
mevent_client_free_resources(s_mevent_client_ptr);
|
||||||
Free(s_mevent_srv_ish_ptr);
|
Free(s_mevent_client_ptr);
|
||||||
s_mevent_srv_ish_ptr = NULL;
|
s_mevent_client_ptr = NULL;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mevent_srv_ish_inc_flag(void)
|
void mevent_client_inc_flag(void)
|
||||||
{
|
{
|
||||||
s_mevent_srv_ish_ptr->flag++;
|
s_mevent_client_ptr->flag++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void * mevent_srv_ish_get_buffer(void)
|
void * mevent_client_get_buffer(void)
|
||||||
{
|
{
|
||||||
return s_mevent_srv_ish_ptr->buffer;
|
return s_mevent_client_ptr->buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mevent_srv_ish_set_param(u32 a0)
|
void mevent_client_set_param(u32 a0)
|
||||||
{
|
{
|
||||||
s_mevent_srv_ish_ptr->param = a0;
|
s_mevent_client_ptr->param = a0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 sendPlayerNo, u32 recvPlayerNo)
|
static void mevent_client_init(struct mevent_client * svr, u32 sendPlayerNo, u32 recvPlayerNo)
|
||||||
{
|
{
|
||||||
svr->unk_00 = 0;
|
svr->unk_00 = 0;
|
||||||
svr->mainseqno = 0;
|
svr->mainseqno = 0;
|
||||||
@@ -74,7 +74,7 @@ static void mevent_srv_ish_init(struct mevent_srv_ish * svr, u32 sendPlayerNo, u
|
|||||||
mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo);
|
mevent_srv_sub_init(&svr->manager, sendPlayerNo, recvPlayerNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mevent_srv_ish_free_resources(struct mevent_srv_ish * svr)
|
static void mevent_client_free_resources(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
Free(svr->sendBuffer);
|
Free(svr->sendBuffer);
|
||||||
Free(svr->recvBuffer);
|
Free(svr->recvBuffer);
|
||||||
@@ -82,20 +82,20 @@ static void mevent_srv_ish_free_resources(struct mevent_srv_ish * svr)
|
|||||||
Free(svr->buffer);
|
Free(svr->buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mevent_srv_ish_jmp_buffer(struct mevent_srv_ish * svr)
|
static void mevent_client_jmp_buffer(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
memcpy(svr->cmdBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE);
|
memcpy(svr->cmdBuffer, svr->recvBuffer, ME_SEND_BUF_SIZE);
|
||||||
svr->cmdidx = 0;
|
svr->cmdidx = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mevent_srv_ish_send_word(struct mevent_srv_ish * svr, u32 ident, u32 word)
|
static void mevent_client_send_word(struct mevent_client * svr, u32 ident, u32 word)
|
||||||
{
|
{
|
||||||
CpuFill32(0, svr->sendBuffer, ME_SEND_BUF_SIZE);
|
CpuFill32(0, svr->sendBuffer, ME_SEND_BUF_SIZE);
|
||||||
*(u32 *)svr->sendBuffer = word;
|
*(u32 *)svr->sendBuffer = word;
|
||||||
mevent_srv_sub_init_send(&svr->manager, ident, svr->sendBuffer, sizeof(u32));
|
mevent_srv_sub_init_send(&svr->manager, ident, svr->sendBuffer, sizeof(u32));
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_0(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_0(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// init
|
// init
|
||||||
memcpy(svr->cmdBuffer, gUnknown_84687E0, ME_SEND_BUF_SIZE);
|
memcpy(svr->cmdBuffer, gUnknown_84687E0, ME_SEND_BUF_SIZE);
|
||||||
@@ -105,13 +105,13 @@ static u32 ish_mainseq_0(struct mevent_srv_ish * svr)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_1(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_1(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// done
|
// done
|
||||||
return 6;
|
return 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_2(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_2(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// do recv
|
// do recv
|
||||||
if (mevent_srv_sub_recv(&svr->manager))
|
if (mevent_srv_sub_recv(&svr->manager))
|
||||||
@@ -122,7 +122,7 @@ static u32 ish_mainseq_2(struct mevent_srv_ish * svr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_3(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_3(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// do send
|
// do send
|
||||||
if (mevent_srv_sub_send(&svr->manager))
|
if (mevent_srv_sub_send(&svr->manager))
|
||||||
@@ -133,7 +133,7 @@ static u32 ish_mainseq_3(struct mevent_srv_ish * svr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_4(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_4(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// process command
|
// process command
|
||||||
struct mevent_cmd_ish * cmd = &svr->cmdBuffer[svr->cmdidx];
|
struct mevent_cmd_ish * cmd = &svr->cmdBuffer[svr->cmdidx];
|
||||||
@@ -162,20 +162,20 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr)
|
|||||||
svr->flag = 0;
|
svr->flag = 0;
|
||||||
break;
|
break;
|
||||||
case 19:
|
case 19:
|
||||||
mevent_srv_ish_send_word(svr, 0x12, GetGameStat(cmd->parameter));
|
mevent_client_send_word(svr, 0x12, GetGameStat(cmd->parameter));
|
||||||
svr->mainseqno = 3;
|
svr->mainseqno = 3;
|
||||||
svr->flag = 0;
|
svr->flag = 0;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (svr->param == 0)
|
if (svr->param == 0)
|
||||||
mevent_srv_ish_jmp_buffer(svr);
|
mevent_client_jmp_buffer(svr);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (svr->param == 1)
|
if (svr->param == 1)
|
||||||
mevent_srv_ish_jmp_buffer(svr);
|
mevent_client_jmp_buffer(svr);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
mevent_srv_ish_jmp_buffer(svr);
|
mevent_client_jmp_buffer(svr);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
memcpy(svr->buffer, svr->recvBuffer, 0x40);
|
memcpy(svr->buffer, svr->recvBuffer, 0x40);
|
||||||
@@ -201,7 +201,7 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr)
|
|||||||
mevent_srv_sub_init_send(&svr->manager, 0x11, svr->sendBuffer, sizeof(struct MEventStruct_Unk1442CC));
|
mevent_srv_sub_init_send(&svr->manager, 0x11, svr->sendBuffer, sizeof(struct MEventStruct_Unk1442CC));
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
mevent_srv_ish_send_word(svr, 0x13, svr->param);
|
mevent_client_send_word(svr, 0x13, svr->param);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
sub_8143F68(svr->recvBuffer);
|
sub_8143F68(svr->recvBuffer);
|
||||||
@@ -210,10 +210,10 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr)
|
|||||||
if (!sub_8143EF4(svr->recvBuffer))
|
if (!sub_8143EF4(svr->recvBuffer))
|
||||||
{
|
{
|
||||||
sub_8143DC8(svr->recvBuffer);
|
sub_8143DC8(svr->recvBuffer);
|
||||||
mevent_srv_ish_send_word(svr, 0x13, 0);
|
mevent_client_send_word(svr, 0x13, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
mevent_srv_ish_send_word(svr, 0x13, 1);
|
mevent_client_send_word(svr, 0x13, 1);
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
svr->mainseqno = 6;
|
svr->mainseqno = 6;
|
||||||
@@ -239,7 +239,7 @@ static u32 ish_mainseq_4(struct mevent_srv_ish * svr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_5(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_5(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// wait flag
|
// wait flag
|
||||||
if (svr->flag)
|
if (svr->flag)
|
||||||
@@ -250,7 +250,7 @@ static u32 ish_mainseq_5(struct mevent_srv_ish * svr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_6(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_6(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// ???
|
// ???
|
||||||
switch (svr->flag)
|
switch (svr->flag)
|
||||||
@@ -270,7 +270,7 @@ static u32 ish_mainseq_6(struct mevent_srv_ish * svr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 ish_mainseq_7(struct mevent_srv_ish * svr)
|
static u32 ish_mainseq_7(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// exec arbitrary code
|
// exec arbitrary code
|
||||||
u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer;
|
u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer;
|
||||||
@@ -282,9 +282,9 @@ static u32 ish_mainseq_7(struct mevent_srv_ish * svr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr)
|
static u32 mevent_client_exec(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
u32 (*funcs[])(struct mevent_srv_ish *) = {
|
u32 (*funcs[])(struct mevent_client *) = {
|
||||||
ish_mainseq_0,
|
ish_mainseq_0,
|
||||||
ish_mainseq_1,
|
ish_mainseq_1,
|
||||||
ish_mainseq_2,
|
ish_mainseq_2,
|
||||||
@@ -297,19 +297,19 @@ static u32 mevent_srv_ish_exec(struct mevent_srv_ish * svr)
|
|||||||
return funcs[svr->mainseqno](svr);
|
return funcs[svr->mainseqno](svr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mevent_srv_common_do_init_1(void)
|
void mevent_srv_init_wnews(void)
|
||||||
{
|
{
|
||||||
s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common));
|
s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common));
|
||||||
mevent_srv_init_common(s_mevent_srv_common_ptr, gUnknown_8468B6C, 0, 1);
|
mevent_srv_init_common(s_mevent_srv_common_ptr, gUnknown_8468B6C, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mevent_srv_common_do_init_2(void)
|
void mevent_srv_new_wcard(void)
|
||||||
{
|
{
|
||||||
s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common));
|
s_mevent_srv_common_ptr = AllocZeroed(sizeof(struct mevent_srv_common));
|
||||||
mevent_srv_init_common(s_mevent_srv_common_ptr, gUnknown_8468BCC, 0, 1);
|
mevent_srv_init_common(s_mevent_srv_common_ptr, gUnknown_8468BCC, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 mevent_srv_init_do_exec(u16 * a0)
|
u32 mevent_srv_common_do_exec(u16 * a0)
|
||||||
{
|
{
|
||||||
u32 result;
|
u32 result;
|
||||||
if (s_mevent_srv_common_ptr == NULL)
|
if (s_mevent_srv_common_ptr == NULL)
|
||||||
|
|||||||
@@ -19,12 +19,18 @@
|
|||||||
#include "string_util.h"
|
#include "string_util.h"
|
||||||
#include "mevent.h"
|
#include "mevent.h"
|
||||||
#include "save.h"
|
#include "save.h"
|
||||||
|
#include "link.h"
|
||||||
|
#include "event_data.h"
|
||||||
|
#include "mevent_server.h"
|
||||||
|
#include "menews_jisan.h"
|
||||||
|
#include "help_system.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
|
||||||
EWRAM_DATA u8 sDownArrowCounterAndYCoordIdx[8] = {};
|
EWRAM_DATA u8 sDownArrowCounterAndYCoordIdx[8] = {};
|
||||||
EWRAM_DATA bool8 gGiftIsFromEReader = FALSE;
|
EWRAM_DATA bool8 gGiftIsFromEReader = FALSE;
|
||||||
|
|
||||||
void task_add_00_mystery_gift(void);
|
void task_add_00_mystery_gift(void);
|
||||||
|
void task00_mystery_gift(u8 taskId);
|
||||||
void task_add_00_ereader(void);
|
void task_add_00_ereader(void);
|
||||||
|
|
||||||
extern const u8 gText_PickOKExit[];
|
extern const u8 gText_PickOKExit[];
|
||||||
@@ -69,6 +75,26 @@ extern const u8 gText_CantAcceptCardFromTrainer[];
|
|||||||
extern const u8 gText_CantAcceptNewsFromTrainer[];
|
extern const u8 gText_CantAcceptNewsFromTrainer[];
|
||||||
extern const u8 gText_CommunicationError[];
|
extern const u8 gText_CommunicationError[];
|
||||||
extern const u8 gText_NewTrainerReceived[];
|
extern const u8 gText_NewTrainerReceived[];
|
||||||
|
extern const u8 gText_WonderCardSentTo[];
|
||||||
|
extern const u8 gText_WonderNewsSentTo[];
|
||||||
|
extern const u8 gText_StampSentTo[];
|
||||||
|
extern const u8 gText_OtherTrainerHasCard[];
|
||||||
|
extern const u8 gText_OtherTrainerHasStamp[];
|
||||||
|
extern const u8 gText_OtherTrainerHasNews[];
|
||||||
|
extern const u8 gText_OtherTrainerCanceled[];
|
||||||
|
extern const u8 gText_GiftSentTo[];
|
||||||
|
extern const u8 gText_CantSendGiftToTrainer[];
|
||||||
|
extern const u8 gText_DontHaveCardNewOneInput[];
|
||||||
|
extern const u8 gText_DontHaveNewsNewOneInput[];
|
||||||
|
extern const u8 gText_WhereShouldCardBeAccessed[];
|
||||||
|
extern const u8 gText_WhereShouldNewsBeAccessed[];
|
||||||
|
extern const u8 gText_Communicating[];
|
||||||
|
extern const u8 gText_ThrowAwayWonderCard[];
|
||||||
|
extern const u8 gText_HaventReceivedCardsGift[];
|
||||||
|
extern const u8 gText_CommunicationCompleted[];
|
||||||
|
extern const u8 gText_HaventReceivedGiftOkayToDiscard[];
|
||||||
|
extern const u8 gText_SendingWonderCard[];
|
||||||
|
extern const u8 gText_SendingWonderNews[];
|
||||||
|
|
||||||
const u16 gUnkTextboxBorderPal[] = INCBIN_U16("graphics/interface/unk_textbox_border.gbapal");
|
const u16 gUnkTextboxBorderPal[] = INCBIN_U16("graphics/interface/unk_textbox_border.gbapal");
|
||||||
const u32 gUnkTextboxBorderGfx[] = INCBIN_U32("graphics/interface/unk_textbox_border.4bpp.lz");
|
const u32 gUnkTextboxBorderGfx[] = INCBIN_U32("graphics/interface/unk_textbox_border.4bpp.lz");
|
||||||
@@ -1042,3 +1068,689 @@ const u8 * mevent_message(u32 * flag_p, u8 cardOrNews, u8 cardOrNewsSource, u32
|
|||||||
|
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool32 PrintMGSuccessMessage(u8 * state, const u8 * arg1, u16 * arg2)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (arg1 != NULL)
|
||||||
|
{
|
||||||
|
AddTextPrinterToWindow1(arg1);
|
||||||
|
}
|
||||||
|
PlayFanfare(MUS_FANFA4);
|
||||||
|
*arg2 = 0;
|
||||||
|
(*state)++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (++(*arg2) > 0xF0)
|
||||||
|
{
|
||||||
|
(*state)++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (IsFanfareTaskInactive())
|
||||||
|
{
|
||||||
|
*state = 0;
|
||||||
|
ClearTextWindow();
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
const u8 * mevent_message_stamp_card_etc_send_status(u32 * a0, u8 unused, u32 msgId)
|
||||||
|
{
|
||||||
|
const u8 * result = gText_CommunicationError;
|
||||||
|
*a0 = 0;
|
||||||
|
switch (msgId)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
result = gText_NothingSentOver;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
result = gText_RecordUploadedViaWireless;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
result = gText_WonderCardSentTo;
|
||||||
|
*a0 = 1;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
result = gText_WonderNewsSentTo;
|
||||||
|
*a0 = 1;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
result = gText_StampSentTo;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
result = gText_OtherTrainerHasCard;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
result = gText_OtherTrainerHasStamp;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
result = gText_OtherTrainerHasNews;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
result = gText_NoMoreRoomForStamps;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
result = gText_OtherTrainerCanceled;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
result = gText_CantSendGiftToTrainer;
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
result = gText_CommunicationError;
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
result = gText_GiftSentTo;
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
result = gText_GiftSentTo;
|
||||||
|
break;
|
||||||
|
case 14:
|
||||||
|
result = gText_CantSendGiftToTrainer;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 PrintMGSendStatus(u8 * state, u16 * arg1, u8 arg2, u32 msgId)
|
||||||
|
{
|
||||||
|
u32 flag;
|
||||||
|
const u8 * str = mevent_message_stamp_card_etc_send_status(&flag, arg2, msgId);
|
||||||
|
if (flag)
|
||||||
|
{
|
||||||
|
return PrintMGSuccessMessage(state, str, arg1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return MG_PrintTextOnWindow1AndWaitButton(state, str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void task_add_00_mystery_gift(void)
|
||||||
|
{
|
||||||
|
u8 taskId = CreateTask(task00_mystery_gift, 0);
|
||||||
|
struct MysteryGiftTaskData * data = (void *)gTasks[taskId].data;
|
||||||
|
data->state = 0;
|
||||||
|
data->textState = 0;
|
||||||
|
data->unkA = 0;
|
||||||
|
data->unkB = 0;
|
||||||
|
data->IsCardOrNews = 0;
|
||||||
|
data->source = 0;
|
||||||
|
data->curPromptWindowId = 0;
|
||||||
|
data->unk2 = 0;
|
||||||
|
data->unk4 = 0;
|
||||||
|
data->unk6 = 0;
|
||||||
|
data->prevPromptWindowId = 0;
|
||||||
|
data->buffer = AllocZeroed(0x40);
|
||||||
|
}
|
||||||
|
|
||||||
|
void task00_mystery_gift(u8 taskId)
|
||||||
|
{
|
||||||
|
struct MysteryGiftTaskData * data = (void *)gTasks[taskId].data;
|
||||||
|
u32 sp0;
|
||||||
|
const u8 * r1;
|
||||||
|
|
||||||
|
switch (data->state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
data->state = 1;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
switch (MysteryGift_HandleThreeOptionMenu(&data->textState, &data->curPromptWindowId, FALSE))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
data->IsCardOrNews = 0;
|
||||||
|
if (ValidateReceivedWonderCard() == TRUE)
|
||||||
|
{
|
||||||
|
data->state = 18;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->state = 2;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
data->IsCardOrNews = 1;
|
||||||
|
if (ValidateReceivedWonderNews() == TRUE)
|
||||||
|
{
|
||||||
|
data->state = 18;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->state = 2;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case -2u:
|
||||||
|
data->state = 37;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
if (data->IsCardOrNews == 0)
|
||||||
|
{
|
||||||
|
if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_DontHaveCardNewOneInput))
|
||||||
|
{
|
||||||
|
data->state = 3;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_DontHaveNewsNewOneInput))
|
||||||
|
{
|
||||||
|
data->state = 3;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 3:
|
||||||
|
if (data->IsCardOrNews == 0)
|
||||||
|
{
|
||||||
|
AddTextPrinterToWindow1(gText_WhereShouldCardBeAccessed);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AddTextPrinterToWindow1(gText_WhereShouldNewsBeAccessed);
|
||||||
|
}
|
||||||
|
data->state = 4;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
switch (MysteryGift_HandleThreeOptionMenu(&data->textState, &data->curPromptWindowId, TRUE))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
ClearTextWindow();
|
||||||
|
data->state = 5;
|
||||||
|
data->source = 0;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ClearTextWindow();
|
||||||
|
data->state = 5;
|
||||||
|
data->source = 1;
|
||||||
|
break;
|
||||||
|
case -2u:
|
||||||
|
ClearTextWindow();
|
||||||
|
if (ValidateCardOrNews(data->IsCardOrNews))
|
||||||
|
{
|
||||||
|
data->state = 18;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
{
|
||||||
|
register u8 eos asm("r1");
|
||||||
|
gStringVar1[0] = (eos = EOS);
|
||||||
|
gStringVar2[0] = eos;
|
||||||
|
gStringVar3[0] = eos;
|
||||||
|
}
|
||||||
|
switch (data->IsCardOrNews)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (data->source == 1)
|
||||||
|
{
|
||||||
|
MEvent_CreateTask_CardOrNewsWithFriend(0x15);
|
||||||
|
}
|
||||||
|
else if (data->source == 0)
|
||||||
|
{
|
||||||
|
MEvent_CreateTask_CardOrNewsOverWireless(0x15);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (data->source == 1)
|
||||||
|
{
|
||||||
|
MEvent_CreateTask_CardOrNewsWithFriend(0x16);
|
||||||
|
}
|
||||||
|
else if (data->source == 0)
|
||||||
|
{
|
||||||
|
MEvent_CreateTask_CardOrNewsOverWireless(0x16);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
data->state = 6;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
if (gReceivedRemoteLinkPlayers != 0)
|
||||||
|
{
|
||||||
|
ClearScreenInBg0(TRUE);
|
||||||
|
data->state = 7;
|
||||||
|
mevent_client_do_init();
|
||||||
|
}
|
||||||
|
else if (gSpecialVar_Result == 5)
|
||||||
|
{
|
||||||
|
ClearScreenInBg0(TRUE);
|
||||||
|
data->state = 3;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
AddTextPrinterToWindow1(gText_Communicating);
|
||||||
|
data->state = 8;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
switch (mevent_client_do_exec(&data->curPromptWindowId))
|
||||||
|
{
|
||||||
|
case 6:
|
||||||
|
task_add_05_task_del_08FA224_when_no_RfuFunc();
|
||||||
|
data->prevPromptWindowId = data->curPromptWindowId;
|
||||||
|
data->state = 13;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
memcpy(data->buffer, mevent_client_get_buffer(), 0x40);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
data->state = 10;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
data->state = 9;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
data->state = 11;
|
||||||
|
StringCopy(gStringVar1, gLinkPlayers[0].name);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, mevent_client_get_buffer()))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
mevent_client_set_param(0);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
mevent_client_set_param(1);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
case -1u:
|
||||||
|
mevent_client_set_param(1);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, mevent_client_get_buffer()))
|
||||||
|
{
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, gText_ThrowAwayWonderCard))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (CheckReceivedGiftFromWonderCard() == TRUE)
|
||||||
|
{
|
||||||
|
data->state = 12;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mevent_client_set_param(0);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
mevent_client_set_param(1);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
case -1u:
|
||||||
|
mevent_client_set_param(1);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, FALSE, gText_HaventReceivedCardsGift))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
mevent_client_set_param(0);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
mevent_client_set_param(1);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
case -1u:
|
||||||
|
mevent_client_set_param(1);
|
||||||
|
mevent_client_inc_flag();
|
||||||
|
data->state = 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
if (IsNoOneConnected())
|
||||||
|
{
|
||||||
|
DestroyWirelessStatusIndicatorSprite();
|
||||||
|
data->state = 14;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 14:
|
||||||
|
if (PrintStringAndWait2Seconds(&data->textState, gText_CommunicationCompleted))
|
||||||
|
{
|
||||||
|
if (data->source == 1)
|
||||||
|
{
|
||||||
|
StringCopy(gStringVar1, gLinkPlayers[0].name);
|
||||||
|
}
|
||||||
|
data->state = 15;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 15:
|
||||||
|
{
|
||||||
|
register bool32 flag asm("r1");
|
||||||
|
r1 = mevent_message(&sp0, data->IsCardOrNews, data->source, data->prevPromptWindowId);
|
||||||
|
if (r1 == NULL)
|
||||||
|
{
|
||||||
|
r1 = data->buffer;
|
||||||
|
}
|
||||||
|
if (sp0)
|
||||||
|
{
|
||||||
|
flag = PrintMGSuccessMessage(&data->textState, r1, &data->curPromptWindowId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flag = MG_PrintTextOnWindow1AndWaitButton(&data->textState, r1);
|
||||||
|
}
|
||||||
|
if (flag)
|
||||||
|
{
|
||||||
|
if (data->prevPromptWindowId == 3)
|
||||||
|
{
|
||||||
|
if (data->source == 1)
|
||||||
|
{
|
||||||
|
GenerateRandomNews(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GenerateRandomNews(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (sp0 == 0)
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->state = 17;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 16:
|
||||||
|
if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_CommunicationError))
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 17:
|
||||||
|
if (mevent_save_game(&data->textState))
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 18:
|
||||||
|
if (HandleLoadWonderCardOrNews(&data->textState, data->IsCardOrNews))
|
||||||
|
{
|
||||||
|
data->state = 20;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 20:
|
||||||
|
if (data->IsCardOrNews == 0)
|
||||||
|
{
|
||||||
|
if (JOY_NEW(A_BUTTON))
|
||||||
|
{
|
||||||
|
data->state = 21;
|
||||||
|
}
|
||||||
|
if (JOY_NEW(B_BUTTON))
|
||||||
|
{
|
||||||
|
data->state = 27;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (MENews_GetInput(gMain.newKeys))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
MENews_RemoveScrollIndicatorArrowPair();
|
||||||
|
data->state = 21;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
data->state = 27;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 21:
|
||||||
|
{
|
||||||
|
u32 result;
|
||||||
|
if (data->IsCardOrNews == 0)
|
||||||
|
{
|
||||||
|
if (WonderCard_Test_Unk_08_6())
|
||||||
|
{
|
||||||
|
result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, FALSE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (WonderNews_Test_Unk_02())
|
||||||
|
{
|
||||||
|
result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, FALSE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = HandleMysteryGiftListMenu(&data->textState, &data->curPromptWindowId, data->IsCardOrNews, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
switch (result)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
data->state = 28;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
data->state = 29;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
data->state = 22;
|
||||||
|
break;
|
||||||
|
case -2u:
|
||||||
|
if (data->IsCardOrNews == 1)
|
||||||
|
{
|
||||||
|
MENews_AddScrollIndicatorArrowPair();
|
||||||
|
}
|
||||||
|
data->state = 20;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 22:
|
||||||
|
switch (mevent_message_prompt_discard(&data->textState, &data->curPromptWindowId, data->IsCardOrNews))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (data->IsCardOrNews == 0 && CheckReceivedGiftFromWonderCard() == TRUE)
|
||||||
|
{
|
||||||
|
data->state = 23;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->state = 24;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
data->state = 21;
|
||||||
|
break;
|
||||||
|
case -1:
|
||||||
|
data->state = 21;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 23:
|
||||||
|
switch ((u32)mevent_message_print_and_prompt_yes_no(&data->textState, &data->curPromptWindowId, TRUE, gText_HaventReceivedGiftOkayToDiscard))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
data->state = 24;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
data->state = 21;
|
||||||
|
break;
|
||||||
|
case -1u:
|
||||||
|
data->state = 21;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 24:
|
||||||
|
if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 1))
|
||||||
|
{
|
||||||
|
DestroyNewsOrCard(data->IsCardOrNews);
|
||||||
|
data->state = 25;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 25:
|
||||||
|
if (mevent_save_game(&data->textState))
|
||||||
|
{
|
||||||
|
data->state = 26;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 26:
|
||||||
|
if (mevent_message_was_thrown_away(&data->textState, data->IsCardOrNews))
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 27:
|
||||||
|
if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 0))
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 28:
|
||||||
|
if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 1))
|
||||||
|
{
|
||||||
|
data->state = 3;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 29:
|
||||||
|
if (TearDownCardOrNews_ReturnToTopMenu(data->IsCardOrNews, 1))
|
||||||
|
{
|
||||||
|
switch (data->IsCardOrNews)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
MEvent_CreateTask_Leader(21);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
MEvent_CreateTask_Leader(22);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
data->source = 1;
|
||||||
|
data->state = 30;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 30:
|
||||||
|
if (gReceivedRemoteLinkPlayers != 0)
|
||||||
|
{
|
||||||
|
ClearScreenInBg0(1);
|
||||||
|
data->state = 31;
|
||||||
|
}
|
||||||
|
else if (gSpecialVar_Result == 5)
|
||||||
|
{
|
||||||
|
ClearScreenInBg0(1);
|
||||||
|
data->state = 18;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 31:
|
||||||
|
{
|
||||||
|
register u8 eos asm("r1");
|
||||||
|
gStringVar1[0] = (eos = EOS);
|
||||||
|
gStringVar2[0] = eos;
|
||||||
|
gStringVar3[0] = eos;
|
||||||
|
}
|
||||||
|
if (data->IsCardOrNews == 0)
|
||||||
|
{
|
||||||
|
AddTextPrinterToWindow1(gText_SendingWonderCard);
|
||||||
|
mevent_srv_new_wcard();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AddTextPrinterToWindow1(gText_SendingWonderNews);
|
||||||
|
mevent_srv_init_wnews();
|
||||||
|
}
|
||||||
|
data->state = 32;
|
||||||
|
break;
|
||||||
|
case 32:
|
||||||
|
if (mevent_srv_common_do_exec(&data->curPromptWindowId) == 3)
|
||||||
|
{
|
||||||
|
data->prevPromptWindowId = data->curPromptWindowId;
|
||||||
|
data->state = 33;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 33:
|
||||||
|
task_add_05_task_del_08FA224_when_no_RfuFunc();
|
||||||
|
StringCopy(gStringVar1, gLinkPlayers[1].name);
|
||||||
|
data->state = 34;
|
||||||
|
break;
|
||||||
|
case 34:
|
||||||
|
if (IsNoOneConnected())
|
||||||
|
{
|
||||||
|
DestroyWirelessStatusIndicatorSprite();
|
||||||
|
data->state = 35;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 35:
|
||||||
|
if (PrintMGSendStatus(&data->textState, &data->curPromptWindowId, data->source, data->prevPromptWindowId))
|
||||||
|
{
|
||||||
|
if (data->source == 1 && data->prevPromptWindowId == 3)
|
||||||
|
{
|
||||||
|
GenerateRandomNews(3);
|
||||||
|
data->state = 17;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 36:
|
||||||
|
if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_CommunicationError))
|
||||||
|
{
|
||||||
|
data->state = 0;
|
||||||
|
PrintMysteryGiftOrEReaderTopMenu(0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 37:
|
||||||
|
CloseLink();
|
||||||
|
sub_812B484();
|
||||||
|
Free(data->buffer);
|
||||||
|
DestroyTask(taskId);
|
||||||
|
SetMainCallback2(MainCB_FreeAllBuffersAndReturnToInitTitleScreen);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 GetMysteryGiftBaseBlock(void)
|
||||||
|
{
|
||||||
|
return 0x19B;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user