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