mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-21 17:55:13 -05:00
Match ov4_021D0D80.c and ov4_021D2808.c
This commit is contained in:
parent
e06d31d00d
commit
239062ea9d
|
|
@ -5,5 +5,5 @@
|
|||
.public OS_InitAlarm
|
||||
.public OS_DisableInterrupts
|
||||
.public OS_RestoreInterrupts
|
||||
.public ov4_021D792C
|
||||
.public DWC_SetAuthServer
|
||||
.public ov18_0222F20C
|
||||
|
|
|
|||
|
|
@ -215,12 +215,12 @@
|
|||
.public ov4_021D7880
|
||||
.public ov4_021D7894
|
||||
.public ov4_021D78B0
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D797C
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_ConnectInetAsync
|
||||
.public ov4_021D7A30
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public ov4_021D7E80
|
||||
.public DWC_UpdateConnection
|
||||
.public ov4_021D8144
|
||||
|
|
@ -236,9 +236,9 @@
|
|||
.public ov4_021D8ABC
|
||||
.public ov4_021D8BDC
|
||||
.public ov4_021D97F4
|
||||
.public ov4_021D9968
|
||||
.public DWC_GetMyAID
|
||||
.public ov4_021D9984
|
||||
.public ov4_021D9A08
|
||||
.public DWC_IsValidAID
|
||||
.public ov4_021D9A40
|
||||
.public ov4_021D9A5C
|
||||
.public ov4_021D9B24
|
||||
|
|
@ -1127,8 +1127,8 @@
|
|||
.public ov4_02203CB8
|
||||
.public ov4_02203CD8
|
||||
.public ov4_02203DB0
|
||||
.public ov4_02204160
|
||||
.public ov4_02204188
|
||||
.public VCT_CreateSession
|
||||
.public VCT_DeleteSession
|
||||
.public ov4_02204244
|
||||
.public ov4_02204318
|
||||
.public ov4_022044AC
|
||||
|
|
|
|||
|
|
@ -115,56 +115,56 @@
|
|||
.public DWC_GetLastErrorEx
|
||||
.public DWC_ClearError
|
||||
.public DWC_SetMemFunc
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D792C
|
||||
.public ov4_021D797C
|
||||
.public ov4_021D7A8C
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public ov4_021D8C08
|
||||
.public ov4_021D8E8C
|
||||
.public ov4_021D8FF4
|
||||
.public ov4_021D9244
|
||||
.public ov4_021D934C
|
||||
.public ov4_021D93F4
|
||||
.public ov4_021D9494
|
||||
.public ov4_021D952C
|
||||
.public ov4_021D9724
|
||||
.public ov4_021D9750
|
||||
.public ov4_021D985C
|
||||
.public ov4_021D9920
|
||||
.public ov4_021D9968
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_SetAuthServer
|
||||
.public DWC_ConnectInetAsync
|
||||
.public DWC_CheckInet
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public DWC_InitFriendsMatch
|
||||
.public DWC_ShutdownFriendsMatch
|
||||
.public DWC_ProcessFriendsMatch
|
||||
.public DWC_LoginAsync
|
||||
.public DWC_UpdateServersAsync
|
||||
.public DWC_ConnectToAnybodyAsync
|
||||
.public DWC_SetupGameServer
|
||||
.public DWC_ConnectToGameServerAsync
|
||||
.public DWC_SetConnectionClosedCallback
|
||||
.public DWC_CloseAllConnectionsHard
|
||||
.public DWC_CloseConnectionHardBitmap
|
||||
.public DWC_GetNumConnectionHost
|
||||
.public DWC_GetMyAID
|
||||
.public DWC_GetAIDBitmap
|
||||
.public ov4_021D9A08
|
||||
.public ov4_021DB2A4
|
||||
.public ov4_021DB350
|
||||
.public ov4_021DB3DC
|
||||
.public ov4_021DC75C
|
||||
.public ov4_021DC7C8
|
||||
.public ov4_021DC87C
|
||||
.public ov4_021DC9AC
|
||||
.public ov4_021E4A58
|
||||
.public ov4_021E4C28
|
||||
.public ov4_021E4D28
|
||||
.public ov4_021E4D74
|
||||
.public ov4_021E4D94
|
||||
.public ov4_021E4DB4
|
||||
.public ov4_021E4E60
|
||||
.public ov4_022027A8
|
||||
.public ov4_022028E0
|
||||
.public ov4_02202994
|
||||
.public ov4_02202CF0
|
||||
.public ov4_02202E0C
|
||||
.public ov4_02202E80
|
||||
.public ov4_02202EB0
|
||||
.public ov4_02204160
|
||||
.public ov4_02204188
|
||||
.public ov4_022042F4
|
||||
.public ov4_022043D0
|
||||
.public ov4_022043F4
|
||||
.public ov4_022052BC
|
||||
.public ov4_02205988
|
||||
.public ov4_02205AC0
|
||||
.public ov4_02205AE8
|
||||
.public ov4_02205B2C
|
||||
.public DWC_IsValidAID
|
||||
.public DWC_GetFriendStatusData
|
||||
.public DWC_SetOwnStatusData
|
||||
.public DWC_SetBuddyFriendCallback
|
||||
.public DWC_CancelMatching
|
||||
.public DWC_StopSCMatchingAsync
|
||||
.public DWC_AddMatchKeyString
|
||||
.public DWC_SetMatchingOption
|
||||
.public DWC_IsSendableReliable
|
||||
.public DWC_SendReliableBitmap
|
||||
.public DWC_SetRecvBuffer
|
||||
.public DWC_SetUserSendCallback
|
||||
.public DWC_SetUserRecvCallback
|
||||
.public DWC_SetUserRecvTimeoutCallback
|
||||
.public DWC_SetRecvTimeoutTime
|
||||
.public VCT_StartStreaming
|
||||
.public VCT_StopStreaming
|
||||
.public VCT_SendAudio
|
||||
.public VCT_ReceiveAudio
|
||||
.public VCT_SetCodec
|
||||
.public VCT_EnableVAD
|
||||
.public VCT_EnableEchoCancel
|
||||
.public VCT_CreateSession
|
||||
.public VCT_DeleteSession
|
||||
.public VCT_Request
|
||||
.public VCT_Response
|
||||
.public VCT_AddConferenceClient
|
||||
.public VCT_GetVADInfo
|
||||
.public VCT_Init
|
||||
.public VCT_Cleanup
|
||||
.public VCT_Main
|
||||
.public VCT_HandleData
|
||||
|
|
|
|||
|
|
@ -1,124 +0,0 @@
|
|||
.public sub_02018144
|
||||
.public sub_020181C4
|
||||
.public sub_02018238
|
||||
.public GF_AssertFail
|
||||
.public sub_0202AD28
|
||||
.public sub_0202AED8
|
||||
.public sub_0202B270
|
||||
.public sub_0202B370
|
||||
.public sub_0203068C
|
||||
.public sub_020307F0
|
||||
.public sub_0203272C
|
||||
.public sub_02032740
|
||||
.public sub_02035E18
|
||||
.public sub_02037F94
|
||||
.public sub_0203895C
|
||||
.public sub_02038AE0
|
||||
.public DWC_IsBuddyFriendData
|
||||
.public DWC_GetFriendDataType
|
||||
.public DWC_CheckHasProfile
|
||||
.public DWC_CheckValidConsole
|
||||
.public DWC_CheckDirtyFlag
|
||||
.public DWC_ClearDirtyFlag
|
||||
.public DWC_CreateExchangeToken
|
||||
.public NNS_FndCreateExpHeapEx
|
||||
.public NNS_FndDestroyExpHeap
|
||||
.public NNS_FndAllocFromExpHeapEx
|
||||
.public NNS_FndFreeToExpHeap
|
||||
.public NNS_FndGetTotalFreeSizeForExpHeap
|
||||
.public NNS_FndSetGroupIDForExpHeap
|
||||
.public NNS_FndGetGroupIDForMBlockExpHeap
|
||||
.public OS_DisableInterrupts
|
||||
.public OS_RestoreInterrupts
|
||||
.public OS_GetOwnerInfo
|
||||
.public MI_CpuFill8
|
||||
.public MI_CpuCopy8
|
||||
.public sprintf
|
||||
.public strlen
|
||||
.public _s32_div_f
|
||||
.public ov4_021D0F68
|
||||
.public ov4_021D12B4
|
||||
.public ov4_021D1650
|
||||
.public ov4_021D16E8
|
||||
.public ov4_021D171C
|
||||
.public ov4_021D1740
|
||||
.public ov4_021D1744
|
||||
.public ov4_021D17A0
|
||||
.public ov4_021D17A4
|
||||
.public ov4_021D17C0
|
||||
.public ov4_021D1854
|
||||
.public ov4_021D1898
|
||||
.public ov4_021D18F0
|
||||
.public ov4_021D18F4
|
||||
.public ov4_021D1918
|
||||
.public ov4_021D1950
|
||||
.public ov4_021D1A20
|
||||
.public ov4_021D1AA0
|
||||
.public ov4_021D1B04
|
||||
.public ov4_021D1B5C
|
||||
.public ov4_021D1C5C
|
||||
.public ov4_021D1CAC
|
||||
.public ov4_021D1D1C
|
||||
.public ov4_021D1E60
|
||||
.public ov4_021D1E74
|
||||
.public ov4_021D1F18
|
||||
.public ov4_021D21B4
|
||||
.public ov4_021D23A4
|
||||
.public ov4_021D2488
|
||||
.public ov4_021D24AC
|
||||
.public ov4_021D24D8
|
||||
.public ov4_021D25AC
|
||||
.public ov4_021D25FC
|
||||
.public ov4_021D2700
|
||||
.public ov4_021D2748
|
||||
.public ov4_021D27CC
|
||||
.public ov4_021D27E0
|
||||
.public ov4_021D2B28
|
||||
.public ov4_021D2C70
|
||||
.public ov4_021D2CC0
|
||||
.public ov4_021D2EA4
|
||||
.public ov4_021D2EF4
|
||||
.public ov4_021D2F08
|
||||
.public ov4_021D2F7C
|
||||
.public ov4_021D2FA4
|
||||
.public ov4_021D2FB8
|
||||
.public ov4_021D2FCC
|
||||
.public DWC_GetLastErrorEx
|
||||
.public DWC_ClearError
|
||||
.public DWC_SetMemFunc
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D792C
|
||||
.public ov4_021D797C
|
||||
.public ov4_021D7A8C
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public ov4_021D8C08
|
||||
.public ov4_021D8E8C
|
||||
.public ov4_021D8FF4
|
||||
.public ov4_021D9244
|
||||
.public ov4_021D934C
|
||||
.public ov4_021D93F4
|
||||
.public ov4_021D9494
|
||||
.public ov4_021D952C
|
||||
.public ov4_021D9724
|
||||
.public ov4_021D9750
|
||||
.public ov4_021D985C
|
||||
.public ov4_021D9920
|
||||
.public ov4_021D9968
|
||||
.public DWC_GetAIDBitmap
|
||||
.public ov4_021D9A08
|
||||
.public ov4_021DB2A4
|
||||
.public ov4_021DB350
|
||||
.public ov4_021DB3DC
|
||||
.public ov4_021DC75C
|
||||
.public ov4_021DC7C8
|
||||
.public ov4_021DC87C
|
||||
.public ov4_021DC9AC
|
||||
.public ov4_021E4A58
|
||||
.public ov4_021E4C28
|
||||
.public ov4_021E4D28
|
||||
.public ov4_021E4D74
|
||||
.public ov4_021E4D94
|
||||
.public ov4_021E4DB4
|
||||
.public ov4_021E4E60
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,54 +0,0 @@
|
|||
.public sub_02018144
|
||||
.public sub_02018238
|
||||
.public GF_AssertFail
|
||||
.public sub_0203272C
|
||||
.public sub_0203895C
|
||||
.public NNS_SndInit
|
||||
.public NNS_SndStrmInit
|
||||
.public NNS_SndStrmAllocChannel
|
||||
.public NNS_SndStrmFreeChannel
|
||||
.public NNS_SndStrmSetup
|
||||
.public NNS_SndStrmStart
|
||||
.public NNS_SndStrmStop
|
||||
.public NNS_SndStrmSetVolume
|
||||
.public OS_GetTick
|
||||
.public MIi_CpuClearFast
|
||||
.public MI_CpuFill8
|
||||
.public MIC_Init
|
||||
.public MIC_StartAutoSamplingAsync
|
||||
.public MIC_StopAutoSampling
|
||||
.public MIC_GetLastSamplingAddress
|
||||
.public PM_Init
|
||||
.public PM_SetAmp
|
||||
.public PM_SetAmpGain
|
||||
.public _u32_div_f
|
||||
.public ov4_021D1E30
|
||||
.public ov4_021D1F18
|
||||
.public ov4_021D2808
|
||||
.public ov4_021D28B0
|
||||
.public ov4_021D28B4
|
||||
.public ov4_021D2974
|
||||
.public ov4_021D29C8
|
||||
.public ov4_021D2A10
|
||||
.public ov4_021D2A38
|
||||
.public ov4_021D2B04
|
||||
.public ov4_021D2C98
|
||||
.public ov4_021D2E8C
|
||||
.public ov4_021D9968
|
||||
.public ov4_022027A8
|
||||
.public ov4_022028E0
|
||||
.public ov4_02202994
|
||||
.public ov4_02202CF0
|
||||
.public ov4_02202E0C
|
||||
.public ov4_02202E80
|
||||
.public ov4_02202EB0
|
||||
.public ov4_02204160
|
||||
.public ov4_02204188
|
||||
.public ov4_022042F4
|
||||
.public ov4_022043D0
|
||||
.public ov4_022043F4
|
||||
.public ov4_022052BC
|
||||
.public ov4_02205988
|
||||
.public ov4_02205AC0
|
||||
.public ov4_02205AE8
|
||||
.public ov4_02205B2C
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -8,12 +8,12 @@
|
|||
.public ov4_021D7724
|
||||
.public ov4_021D7780
|
||||
.public ov4_021D77C4
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D797C
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_ConnectInetAsync
|
||||
.public ov4_021D7A30
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public ov4_021D7E80
|
||||
.public ov4_021E5C34
|
||||
.public ov4_021E5DDC
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
.text
|
||||
|
||||
|
||||
arm_func_start ov4_021D78C8
|
||||
ov4_021D78C8: ; 0x021D78C8
|
||||
arm_func_start DWC_InitInetEx
|
||||
DWC_InitInetEx: ; 0x021D78C8
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
ldr r2, _021D7928 ; =0x0221A4DC
|
||||
mov r4, r0
|
||||
|
|
@ -34,10 +34,10 @@ ov4_021D78C8: ; 0x021D78C8
|
|||
ldmia sp!, {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_021D7928: .word 0x0221A4DC
|
||||
arm_func_end ov4_021D78C8
|
||||
arm_func_end DWC_InitInetEx
|
||||
|
||||
arm_func_start ov4_021D792C
|
||||
ov4_021D792C: ; 0x021D792C
|
||||
arm_func_start DWC_SetAuthServer
|
||||
DWC_SetAuthServer: ; 0x021D792C
|
||||
stmfd sp!, {r3, lr}
|
||||
cmp r0, #0
|
||||
beq _021D794C
|
||||
|
|
@ -62,10 +62,10 @@ _021D7964:
|
|||
_021D7970: .word 0x022173B8
|
||||
_021D7974: .word 0x022173E0
|
||||
_021D7978: .word 0x02217404
|
||||
arm_func_end ov4_021D792C
|
||||
arm_func_end DWC_SetAuthServer
|
||||
|
||||
arm_func_start ov4_021D797C
|
||||
ov4_021D797C: ; 0x021D797C
|
||||
arm_func_start DWC_ConnectInetAsync
|
||||
DWC_ConnectInetAsync: ; 0x021D797C
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0xc
|
||||
ldr r0, _021D7A20 ; =0x0221A4DC
|
||||
|
|
@ -113,7 +113,7 @@ _021D7A20: .word 0x0221A4DC
|
|||
_021D7A24: .word ov4_021D7780
|
||||
_021D7A28: .word ov4_021D77C4
|
||||
_021D7A2C: .word 0xFFFF3BE9
|
||||
arm_func_end ov4_021D797C
|
||||
arm_func_end DWC_ConnectInetAsync
|
||||
|
||||
arm_func_start ov4_021D7A30
|
||||
ov4_021D7A30: ; 0x021D7A30
|
||||
|
|
@ -122,13 +122,13 @@ ov4_021D7A30: ; 0x021D7A30
|
|||
mov r6, r1
|
||||
mov r5, r2
|
||||
mov r4, r3
|
||||
bl ov4_021D797C
|
||||
bl DWC_ConnectInetAsync
|
||||
ldr r0, _021D7A88 ; =0x0221A4DC
|
||||
ldr r1, [r0, #4]
|
||||
cmp r1, #0
|
||||
movne r0, #1
|
||||
strneb r0, [r1, #0xc]
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #2
|
||||
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
ldr ip, [sp, #0x18]
|
||||
|
|
@ -143,8 +143,8 @@ ov4_021D7A30: ; 0x021D7A30
|
|||
_021D7A88: .word 0x0221A4DC
|
||||
arm_func_end ov4_021D7A30
|
||||
|
||||
arm_func_start ov4_021D7A8C
|
||||
ov4_021D7A8C: ; 0x021D7A8C
|
||||
arm_func_start DWC_CheckInet
|
||||
DWC_CheckInet: ; 0x021D7A8C
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r0, _021D7AE0 ; =0x0221A4DC
|
||||
ldr r1, [r0, #4]
|
||||
|
|
@ -156,7 +156,7 @@ ov4_021D7A8C: ; 0x021D7A8C
|
|||
beq _021D7AD8
|
||||
mov r0, #3
|
||||
strh r0, [r1, #4]
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
ldr r0, _021D7AE0 ; =0x0221A4DC
|
||||
ldr r0, [r0, #4]
|
||||
ldrb r0, [r0, #0xc]
|
||||
|
|
@ -169,10 +169,10 @@ _021D7AD8:
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_021D7AE0: .word 0x0221A4DC
|
||||
arm_func_end ov4_021D7A8C
|
||||
arm_func_end DWC_CheckInet
|
||||
|
||||
arm_func_start ov4_021D7AE4
|
||||
ov4_021D7AE4: ; 0x021D7AE4
|
||||
arm_func_start DWC_ProcessInet
|
||||
DWC_ProcessInet: ; 0x021D7AE4
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r0, _021D7BF8 ; =0x0221A4DC
|
||||
ldr r1, [r0, #4]
|
||||
|
|
@ -251,10 +251,10 @@ _021D7BB8:
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_021D7BF8: .word 0x0221A4DC
|
||||
arm_func_end ov4_021D7AE4
|
||||
arm_func_end DWC_ProcessInet
|
||||
|
||||
arm_func_start ov4_021D7BFC
|
||||
ov4_021D7BFC: ; 0x021D7BFC
|
||||
arm_func_start DWC_GetInetStatus
|
||||
DWC_GetInetStatus: ; 0x021D7BFC
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
||||
ldr r0, _021D7DA8 ; =0x0221A4DC
|
||||
ldr r1, [r0, #4]
|
||||
|
|
@ -278,7 +278,7 @@ _021D7C40:
|
|||
mov r0, #2
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_021D7C48:
|
||||
bl ov4_021D7AE4
|
||||
bl DWC_ProcessInet
|
||||
ldr r1, _021D7DA8 ; =0x0221A4DC
|
||||
mov r0, #5
|
||||
ldr r1, [r1, #0]
|
||||
|
|
@ -337,13 +337,13 @@ _021D7CFC:
|
|||
ldr r1, _021D7DA8 ; =0x0221A4DC
|
||||
mov r6, r0
|
||||
str r4, [r1, #0]
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r2, r6, lsl #0x10
|
||||
mov r3, r2, lsr #0x10
|
||||
mov r0, r5
|
||||
mov r1, r7
|
||||
mov r2, #1
|
||||
bl ov4_021D78C8
|
||||
bl DWC_InitInetEx
|
||||
ldr r0, _021D7DA8 ; =0x0221A4DC
|
||||
ldr r0, [r0, #4]
|
||||
add r0, r0, #0x14
|
||||
|
|
@ -375,10 +375,10 @@ _021D7DA0:
|
|||
; .align 2, 0
|
||||
_021D7DA8: .word 0x0221A4DC
|
||||
_021D7DAC: .word 0xFFFF3BE9
|
||||
arm_func_end ov4_021D7BFC
|
||||
arm_func_end DWC_GetInetStatus
|
||||
|
||||
arm_func_start ov4_021D7DB0
|
||||
ov4_021D7DB0: ; 0x021D7DB0
|
||||
arm_func_start DWC_CleanupInet
|
||||
DWC_CleanupInet: ; 0x021D7DB0
|
||||
stmfd sp!, {r4, lr}
|
||||
ldr r0, _021D7E0C ; =0x0221A4DC
|
||||
ldr r1, [r0, #4]
|
||||
|
|
@ -406,7 +406,7 @@ _021D7DFC:
|
|||
ldmia sp!, {r4, pc}
|
||||
; .align 2, 0
|
||||
_021D7E0C: .word 0x0221A4DC
|
||||
arm_func_end ov4_021D7DB0
|
||||
arm_func_end DWC_CleanupInet
|
||||
|
||||
arm_func_start ov4_021D7E10
|
||||
ov4_021D7E10: ; 0x021D7E10
|
||||
|
|
@ -477,7 +477,7 @@ ov4_021D7EB8: ; 0x021D7EB8
|
|||
bl MI_CpuFill8
|
||||
mov r0, #0xff
|
||||
str r0, [r4, #4]
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #4
|
||||
addne sp, sp, #0xc
|
||||
movne r0, #0
|
||||
|
|
@ -570,7 +570,7 @@ _021D800C:
|
|||
arm_func_start DWC_UpdateConnection
|
||||
DWC_UpdateConnection: ; 0x021D8018
|
||||
stmfd sp!, {r3, lr}
|
||||
bl ov4_021D7AE4
|
||||
bl DWC_ProcessInet
|
||||
bl ov4_021D7E80
|
||||
cmp r0, #0
|
||||
beq _021D8060
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@
|
|||
.public DWC_ClearError
|
||||
.public ov4_021D7708
|
||||
.public ov4_021D7724
|
||||
.public ov4_021D7BFC
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_UpdateConnection
|
||||
.public ov4_021D89C0
|
||||
.public ov4_021D8ABC
|
||||
.public ov4_021D8BDC
|
||||
.public ov4_021D97F4
|
||||
.public ov4_021D9968
|
||||
.public DWC_GetMyAID
|
||||
.public ov4_021D9984
|
||||
.public ov4_021D9B24
|
||||
.public ov4_021D9B98
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
.text
|
||||
|
||||
|
||||
arm_func_start ov4_021D8C08
|
||||
ov4_021D8C08: ; 0x021D8C08
|
||||
arm_func_start DWC_InitFriendsMatch
|
||||
DWC_InitFriendsMatch: ; 0x021D8C08
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
sub sp, sp, #0x10
|
||||
ldr ip, _021D8E6C ; =0x0221A504
|
||||
|
|
@ -172,10 +172,10 @@ _021D8E7C: .word ov4_021DA680
|
|||
_021D8E80: .word 0x0221B1B0
|
||||
_021D8E84: .word 0x0221B2B0
|
||||
_021D8E88: .word ov4_021D9F4C
|
||||
arm_func_end ov4_021D8C08
|
||||
arm_func_end DWC_InitFriendsMatch
|
||||
|
||||
arm_func_start ov4_021D8E8C
|
||||
ov4_021D8E8C: ; 0x021D8E8C
|
||||
arm_func_start DWC_ShutdownFriendsMatch
|
||||
DWC_ShutdownFriendsMatch: ; 0x021D8E8C
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r0, _021D8FF0 ; =0x0221A504
|
||||
ldr r0, [r0, #0]
|
||||
|
|
@ -271,10 +271,10 @@ _021D8FE0:
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_021D8FF0: .word 0x0221A504
|
||||
arm_func_end ov4_021D8E8C
|
||||
arm_func_end DWC_ShutdownFriendsMatch
|
||||
|
||||
arm_func_start ov4_021D8FF4
|
||||
ov4_021D8FF4: ; 0x021D8FF4
|
||||
arm_func_start DWC_ProcessFriendsMatch
|
||||
DWC_ProcessFriendsMatch: ; 0x021D8FF4
|
||||
stmfd sp!, {r3, lr}
|
||||
bl DWC_UpdateConnection
|
||||
cmp r0, #0
|
||||
|
|
@ -437,10 +437,10 @@ _021D9234: .word ov4_021DB768
|
|||
_021D9238: .word ov4_021DB810
|
||||
_021D923C: .word 0xFFFFB172
|
||||
_021D9240: .word 0xFFFFB17B
|
||||
arm_func_end ov4_021D8FF4
|
||||
arm_func_end DWC_ProcessFriendsMatch
|
||||
|
||||
arm_func_start ov4_021D9244
|
||||
ov4_021D9244: ; 0x021D9244
|
||||
arm_func_start DWC_LoginAsync
|
||||
DWC_LoginAsync: ; 0x021D9244
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
movs r4, r0
|
||||
mov r6, r2
|
||||
|
|
@ -493,7 +493,7 @@ _021D92F0:
|
|||
ldr r0, [r0, #0]
|
||||
add r0, r0, r5, lsl #1
|
||||
strh r1, [r0, #0x2e]
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #4
|
||||
beq _021D9324
|
||||
ldr r1, _021D9348 ; =0xFFFF1596
|
||||
|
|
@ -513,10 +513,10 @@ _021D9324:
|
|||
; .align 2, 0
|
||||
_021D9344: .word 0x0221A504
|
||||
_021D9348: .word 0xFFFF1596
|
||||
arm_func_end ov4_021D9244
|
||||
arm_func_end DWC_LoginAsync
|
||||
|
||||
arm_func_start ov4_021D934C
|
||||
ov4_021D934C: ; 0x021D934C
|
||||
arm_func_start DWC_UpdateServersAsync
|
||||
DWC_UpdateServersAsync: ; 0x021D934C
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
sub sp, sp, #0x10
|
||||
mov r6, r1
|
||||
|
|
@ -562,10 +562,10 @@ _021D9394:
|
|||
; .align 2, 0
|
||||
_021D93EC: .word 0x0221A504
|
||||
_021D93F0: .word ov4_021D9FAC
|
||||
arm_func_end ov4_021D934C
|
||||
arm_func_end DWC_UpdateServersAsync
|
||||
|
||||
arm_func_start ov4_021D93F4
|
||||
ov4_021D93F4: ; 0x021D93F4
|
||||
arm_func_start DWC_ConnectToAnybodyAsync
|
||||
DWC_ConnectToAnybodyAsync: ; 0x021D93F4
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #8
|
||||
mov r7, r0
|
||||
|
|
@ -609,10 +609,10 @@ _021D9438:
|
|||
; .align 2, 0
|
||||
_021D948C: .word 0x0221A504
|
||||
_021D9490: .word ov4_021D9FF4
|
||||
arm_func_end ov4_021D93F4
|
||||
arm_func_end DWC_ConnectToAnybodyAsync
|
||||
|
||||
arm_func_start ov4_021D9494
|
||||
ov4_021D9494: ; 0x021D9494
|
||||
arm_func_start DWC_SetupGameServer
|
||||
DWC_SetupGameServer: ; 0x021D9494
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r7, r0
|
||||
mov r6, r1
|
||||
|
|
@ -654,10 +654,10 @@ _021D94D0:
|
|||
; .align 2, 0
|
||||
_021D9524: .word 0x0221A504
|
||||
_021D9528: .word ov4_021D9FF4
|
||||
arm_func_end ov4_021D9494
|
||||
arm_func_end DWC_SetupGameServer
|
||||
|
||||
arm_func_start ov4_021D952C
|
||||
ov4_021D952C: ; 0x021D952C
|
||||
arm_func_start DWC_ConnectToGameServerAsync
|
||||
DWC_ConnectToGameServerAsync: ; 0x021D952C
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #0x220
|
||||
mvn ip, #0
|
||||
|
|
@ -791,10 +791,10 @@ _021D9714: .word 0x0221746C
|
|||
_021D9718: .word 0x02217470
|
||||
_021D971C: .word ov4_021D9FF4
|
||||
_021D9720: .word 0x02217474
|
||||
arm_func_end ov4_021D952C
|
||||
arm_func_end DWC_ConnectToGameServerAsync
|
||||
|
||||
arm_func_start ov4_021D9724
|
||||
ov4_021D9724: ; 0x021D9724
|
||||
arm_func_start DWC_SetConnectionClosedCallback
|
||||
DWC_SetConnectionClosedCallback: ; 0x021D9724
|
||||
ldr r2, _021D974C ; =0x0221A504
|
||||
ldr r3, [r2, #0]
|
||||
cmp r3, #0
|
||||
|
|
@ -807,10 +807,10 @@ ov4_021D9724: ; 0x021D9724
|
|||
bx lr
|
||||
; .align 2, 0
|
||||
_021D974C: .word 0x0221A504
|
||||
arm_func_end ov4_021D9724
|
||||
arm_func_end DWC_SetConnectionClosedCallback
|
||||
|
||||
arm_func_start ov4_021D9750
|
||||
ov4_021D9750: ; 0x021D9750
|
||||
arm_func_start DWC_CloseAllConnectionsHard
|
||||
DWC_CloseAllConnectionsHard: ; 0x021D9750
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r0, _021D97EC ; =0x0221A504
|
||||
ldr r0, [r0, #0]
|
||||
|
|
@ -856,7 +856,7 @@ _021D97C0:
|
|||
; .align 2, 0
|
||||
_021D97EC: .word 0x0221A504
|
||||
_021D97F0: .word 0x02217474
|
||||
arm_func_end ov4_021D9750
|
||||
arm_func_end DWC_CloseAllConnectionsHard
|
||||
|
||||
arm_func_start ov4_021D97F4
|
||||
ov4_021D97F4: ; 0x021D97F4
|
||||
|
|
@ -891,8 +891,8 @@ _021D9838:
|
|||
_021D9858: .word 0x0221A504
|
||||
arm_func_end ov4_021D97F4
|
||||
|
||||
arm_func_start ov4_021D985C
|
||||
ov4_021D985C: ; 0x021D985C
|
||||
arm_func_start DWC_CloseConnectionHardBitmap
|
||||
DWC_CloseConnectionHardBitmap: ; 0x021D985C
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
ldr r1, _021D991C ; =0x0221A504
|
||||
mov r6, r0
|
||||
|
|
@ -919,7 +919,7 @@ _021D98AC:
|
|||
ldr r0, [r6, #0]
|
||||
tst r0, r4, lsl r5
|
||||
beq _021D98F8
|
||||
bl ov4_021D9968
|
||||
bl DWC_GetMyAID
|
||||
cmp r5, r0
|
||||
bne _021D98D8
|
||||
mvn r0, r4, lsl r5
|
||||
|
|
@ -948,10 +948,10 @@ _021D98F8:
|
|||
ldmia sp!, {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_021D991C: .word 0x0221A504
|
||||
arm_func_end ov4_021D985C
|
||||
arm_func_end DWC_CloseConnectionHardBitmap
|
||||
|
||||
arm_func_start ov4_021D9920
|
||||
ov4_021D9920: ; 0x021D9920
|
||||
arm_func_start DWC_GetNumConnectionHost
|
||||
DWC_GetNumConnectionHost: ; 0x021D9920
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r0, _021D9964 ; =0x0221A504
|
||||
ldr r1, [r0, #0]
|
||||
|
|
@ -972,10 +972,10 @@ _021D9958:
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_021D9964: .word 0x0221A504
|
||||
arm_func_end ov4_021D9920
|
||||
arm_func_end DWC_GetNumConnectionHost
|
||||
|
||||
arm_func_start ov4_021D9968
|
||||
ov4_021D9968: ; 0x021D9968
|
||||
arm_func_start DWC_GetMyAID
|
||||
DWC_GetMyAID: ; 0x021D9968
|
||||
ldr r0, _021D9980 ; =0x0221A504
|
||||
ldr r0, [r0, #0]
|
||||
cmp r0, #0
|
||||
|
|
@ -984,7 +984,7 @@ ov4_021D9968: ; 0x021D9968
|
|||
bx lr
|
||||
; .align 2, 0
|
||||
_021D9980: .word 0x0221A504
|
||||
arm_func_end ov4_021D9968
|
||||
arm_func_end DWC_GetMyAID
|
||||
|
||||
arm_func_start ov4_021D9984
|
||||
ov4_021D9984: ; 0x021D9984
|
||||
|
|
@ -1030,8 +1030,8 @@ DWC_GetAIDBitmap: ; 0x021D99D4
|
|||
_021D9A04: .word 0x0221A504
|
||||
arm_func_end DWC_GetAIDBitmap
|
||||
|
||||
arm_func_start ov4_021D9A08
|
||||
ov4_021D9A08: ; 0x021D9A08
|
||||
arm_func_start DWC_IsValidAID
|
||||
DWC_IsValidAID: ; 0x021D9A08
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r1, _021D9A3C ; =0x0221A504
|
||||
ldr r1, [r1, #0]
|
||||
|
|
@ -1047,7 +1047,7 @@ ov4_021D9A08: ; 0x021D9A08
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_021D9A3C: .word 0x0221A504
|
||||
arm_func_end ov4_021D9A08
|
||||
arm_func_end DWC_IsValidAID
|
||||
|
||||
arm_func_start ov4_021D9A40
|
||||
ov4_021D9A40: ; 0x021D9A40
|
||||
|
|
|
|||
|
|
@ -98,8 +98,8 @@ _021DB29C: .word 0x02217488
|
|||
_021DB2A0: .word 0x0221748C
|
||||
arm_func_end ov4_021DB188
|
||||
|
||||
arm_func_start ov4_021DB2A4
|
||||
ov4_021DB2A4: ; 0x021DB2A4
|
||||
arm_func_start DWC_GetFriendStatusData
|
||||
DWC_GetFriendStatusData: ; 0x021DB2A4
|
||||
stmfd sp!, {r3, lr}
|
||||
mov r3, r1
|
||||
mov r1, #0
|
||||
|
|
@ -107,7 +107,7 @@ ov4_021DB2A4: ; 0x021DB2A4
|
|||
mov r2, r1
|
||||
bl ov4_021DB2C0
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov4_021DB2A4
|
||||
arm_func_end DWC_GetFriendStatusData
|
||||
|
||||
arm_func_start ov4_021DB2C0
|
||||
ov4_021DB2C0: ; 0x021DB2C0
|
||||
|
|
@ -149,8 +149,8 @@ ov4_021DB2C0: ; 0x021DB2C0
|
|||
ldmia sp!, {r4, r5, r6, pc}
|
||||
arm_func_end ov4_021DB2C0
|
||||
|
||||
arm_func_start ov4_021DB350
|
||||
ov4_021DB350: ; 0x021DB350
|
||||
arm_func_start DWC_SetOwnStatusData
|
||||
DWC_SetOwnStatusData: ; 0x021DB350
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
sub sp, sp, #0x100
|
||||
ldr r2, _021DB3D8 ; =0x0221A698
|
||||
|
|
@ -189,10 +189,10 @@ _021DB388:
|
|||
ldmia sp!, {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_021DB3D8: .word 0x0221A698
|
||||
arm_func_end ov4_021DB350
|
||||
arm_func_end DWC_SetOwnStatusData
|
||||
|
||||
arm_func_start ov4_021DB3DC
|
||||
ov4_021DB3DC: ; 0x021DB3DC
|
||||
arm_func_start DWC_SetBuddyFriendCallback
|
||||
DWC_SetBuddyFriendCallback: ; 0x021DB3DC
|
||||
ldr r2, _021DB404 ; =0x0221A698
|
||||
ldr r3, [r2, #8]
|
||||
cmp r3, #0
|
||||
|
|
@ -205,7 +205,7 @@ ov4_021DB3DC: ; 0x021DB3DC
|
|||
bx lr
|
||||
; .align 2, 0
|
||||
_021DB404: .word 0x0221A698
|
||||
arm_func_end ov4_021DB3DC
|
||||
arm_func_end DWC_SetBuddyFriendCallback
|
||||
|
||||
arm_func_start ov4_021DB408
|
||||
ov4_021DB408: ; 0x021DB408
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ ov4_021DC734: ; 0x021DC734
|
|||
_021DC758: .word 0x0221A6A8
|
||||
arm_func_end ov4_021DC734
|
||||
|
||||
arm_func_start ov4_021DC75C
|
||||
ov4_021DC75C: ; 0x021DC75C
|
||||
arm_func_start DWC_CancelMatching
|
||||
DWC_CancelMatching: ; 0x021DC75C
|
||||
stmfd sp!, {r3, lr}
|
||||
bl ov4_021DC77C
|
||||
cmp r0, #0
|
||||
|
|
@ -31,7 +31,7 @@ ov4_021DC75C: ; 0x021DC75C
|
|||
bl ov4_021E2080
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov4_021DC75C
|
||||
arm_func_end DWC_CancelMatching
|
||||
|
||||
arm_func_start ov4_021DC77C
|
||||
ov4_021DC77C: ; 0x021DC77C
|
||||
|
|
@ -58,8 +58,8 @@ _021DC7C0:
|
|||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov4_021DC77C
|
||||
|
||||
arm_func_start ov4_021DC7C8
|
||||
ov4_021DC7C8: ; 0x021DC7C8
|
||||
arm_func_start DWC_StopSCMatchingAsync
|
||||
DWC_StopSCMatchingAsync: ; 0x021DC7C8
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
|
|
@ -109,10 +109,10 @@ _021DC858:
|
|||
_021DC874:
|
||||
mov r0, #1
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
arm_func_end ov4_021DC7C8
|
||||
arm_func_end DWC_StopSCMatchingAsync
|
||||
|
||||
arm_func_start ov4_021DC87C
|
||||
ov4_021DC87C: ; 0x021DC87C
|
||||
arm_func_start DWC_AddMatchKeyString
|
||||
DWC_AddMatchKeyString: ; 0x021DC87C
|
||||
stmfd sp!, {r4, r5, r6, r7, r8, lr}
|
||||
movs r6, r1
|
||||
mov r5, r2
|
||||
|
|
@ -194,10 +194,10 @@ _021DC99C: .word 0x0221A6C9
|
|||
_021DC9A0: .word 0x0221A6CA
|
||||
_021DC9A4: .word 0xFFFEC77F
|
||||
_021DC9A8: .word 0x0221A6D0
|
||||
arm_func_end ov4_021DC87C
|
||||
arm_func_end DWC_AddMatchKeyString
|
||||
|
||||
arm_func_start ov4_021DC9AC
|
||||
ov4_021DC9AC: ; 0x021DC9AC
|
||||
arm_func_start DWC_SetMatchingOption
|
||||
DWC_SetMatchingOption: ; 0x021DC9AC
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
|
|
@ -287,7 +287,7 @@ _021DCAEC:
|
|||
ldmia sp!, {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_021DCAF4: .word 0x0221A6A8
|
||||
arm_func_end ov4_021DC9AC
|
||||
arm_func_end DWC_SetMatchingOption
|
||||
|
||||
arm_func_start ov4_021DCAF8
|
||||
ov4_021DCAF8: ; 0x021DCAF8
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
.public _ull_div
|
||||
.public ov4_021D7708
|
||||
.public ov4_021D7724
|
||||
.public ov4_021D9968
|
||||
.public DWC_GetMyAID
|
||||
.public ov4_021D9984
|
||||
.public ov4_021D9A08
|
||||
.public DWC_IsValidAID
|
||||
.public ov4_021D9B24
|
||||
.public ov4_021D9B88
|
||||
.public ov4_021D9C8C
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@
|
|||
.text
|
||||
|
||||
|
||||
arm_func_start ov4_021E4A58
|
||||
ov4_021E4A58: ; 0x021E4A58
|
||||
arm_func_start DWC_IsSendableReliable
|
||||
DWC_IsSendableReliable: ; 0x021E4A58
|
||||
ldr ip, _021E4A64 ; =ov4_021E4A68
|
||||
mov r1, #1
|
||||
bx ip
|
||||
; .align 2, 0
|
||||
_021E4A64: .word ov4_021E4A68
|
||||
arm_func_end ov4_021E4A58
|
||||
arm_func_end DWC_IsSendableReliable
|
||||
|
||||
arm_func_start ov4_021E4A68
|
||||
ov4_021E4A68: ; 0x021E4A68
|
||||
|
|
@ -26,7 +26,7 @@ ov4_021E4A68: ; 0x021E4A68
|
|||
cmp r5, #1
|
||||
bne _021E4A98
|
||||
mov r0, r4
|
||||
bl ov4_021D9A08
|
||||
bl DWC_IsValidAID
|
||||
cmp r0, #0
|
||||
beq _021E4AA8
|
||||
_021E4A98:
|
||||
|
|
@ -144,8 +144,8 @@ _021E4C18:
|
|||
_021E4C24: .word 0x0221AE20
|
||||
arm_func_end ov4_021E4B08
|
||||
|
||||
arm_func_start ov4_021E4C28
|
||||
ov4_021E4C28: ; 0x021E4C28
|
||||
arm_func_start DWC_SendReliableBitmap
|
||||
DWC_SendReliableBitmap: ; 0x021E4C28
|
||||
stmfd sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
||||
mov r7, #1
|
||||
mov r6, r0
|
||||
|
|
@ -159,7 +159,7 @@ _021E4C44:
|
|||
moveq sl, r7
|
||||
tst r6, sl
|
||||
beq _021E4C80
|
||||
bl ov4_021D9968
|
||||
bl DWC_GetMyAID
|
||||
cmp sb, r0
|
||||
beq _021E4C80
|
||||
mov r0, sb
|
||||
|
|
@ -176,7 +176,7 @@ _021E4C80:
|
|||
blo _021E4C44
|
||||
mov r0, r6
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
||||
arm_func_end ov4_021E4C28
|
||||
arm_func_end DWC_SendReliableBitmap
|
||||
|
||||
arm_func_start ov4_021E4C98
|
||||
ov4_021E4C98: ; 0x021E4C98
|
||||
|
|
@ -189,7 +189,7 @@ ov4_021E4C98: ; 0x021E4C98
|
|||
movne r0, #0
|
||||
ldmneia sp!, {r4, r5, r6, pc}
|
||||
mov r0, r5
|
||||
bl ov4_021D9A08
|
||||
bl DWC_IsValidAID
|
||||
cmp r0, #0
|
||||
moveq r0, #0
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
|
|
@ -220,8 +220,8 @@ _021E4D1C:
|
|||
_021E4D24: .word 0x0221AE20
|
||||
arm_func_end ov4_021E4C98
|
||||
|
||||
arm_func_start ov4_021E4D28
|
||||
ov4_021E4D28: ; 0x021E4D28
|
||||
arm_func_start DWC_SetRecvBuffer
|
||||
DWC_SetRecvBuffer: ; 0x021E4D28
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r7, r0
|
||||
mov r6, r1
|
||||
|
|
@ -241,10 +241,10 @@ ov4_021E4D28: ; 0x021E4D28
|
|||
str r1, [r4, #0x10]
|
||||
str r1, [r4, #0x18]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
arm_func_end ov4_021E4D28
|
||||
arm_func_end DWC_SetRecvBuffer
|
||||
|
||||
arm_func_start ov4_021E4D74
|
||||
ov4_021E4D74: ; 0x021E4D74
|
||||
arm_func_start DWC_SetUserSendCallback
|
||||
DWC_SetUserSendCallback: ; 0x021E4D74
|
||||
ldr r1, _021E4D90 ; =0x0221AE20
|
||||
ldr r1, [r1, #0]
|
||||
cmp r1, #0
|
||||
|
|
@ -254,10 +254,10 @@ ov4_021E4D74: ; 0x021E4D74
|
|||
bx lr
|
||||
; .align 2, 0
|
||||
_021E4D90: .word 0x0221AE20
|
||||
arm_func_end ov4_021E4D74
|
||||
arm_func_end DWC_SetUserSendCallback
|
||||
|
||||
arm_func_start ov4_021E4D94
|
||||
ov4_021E4D94: ; 0x021E4D94
|
||||
arm_func_start DWC_SetUserRecvCallback
|
||||
DWC_SetUserRecvCallback: ; 0x021E4D94
|
||||
ldr r1, _021E4DB0 ; =0x0221AE20
|
||||
ldr r1, [r1, #0]
|
||||
cmp r1, #0
|
||||
|
|
@ -267,10 +267,10 @@ ov4_021E4D94: ; 0x021E4D94
|
|||
bx lr
|
||||
; .align 2, 0
|
||||
_021E4DB0: .word 0x0221AE20
|
||||
arm_func_end ov4_021E4D94
|
||||
arm_func_end DWC_SetUserRecvCallback
|
||||
|
||||
arm_func_start ov4_021E4DB4
|
||||
ov4_021E4DB4: ; 0x021E4DB4
|
||||
arm_func_start DWC_SetUserRecvTimeoutCallback
|
||||
DWC_SetUserRecvTimeoutCallback: ; 0x021E4DB4
|
||||
ldr r1, _021E4DD0 ; =0x0221AE20
|
||||
ldr r1, [r1, #0]
|
||||
cmp r1, #0
|
||||
|
|
@ -280,7 +280,7 @@ ov4_021E4DB4: ; 0x021E4DB4
|
|||
bx lr
|
||||
; .align 2, 0
|
||||
_021E4DD0: .word 0x0221AE20
|
||||
arm_func_end ov4_021E4DB4
|
||||
arm_func_end DWC_SetUserRecvTimeoutCallback
|
||||
|
||||
arm_func_start ov4_021E4DD4
|
||||
ov4_021E4DD4: ; 0x021E4DD4
|
||||
|
|
@ -332,8 +332,8 @@ _021E4E58:
|
|||
bx lr
|
||||
arm_func_end ov4_021E4E40
|
||||
|
||||
arm_func_start ov4_021E4E60
|
||||
ov4_021E4E60: ; 0x021E4E60
|
||||
arm_func_start DWC_SetRecvTimeoutTime
|
||||
DWC_SetRecvTimeoutTime: ; 0x021E4E60
|
||||
stmfd sp!, {r4, lr}
|
||||
ldr r2, _021E4EA8 ; =0x0221AE20
|
||||
ldr r3, [r2, #0]
|
||||
|
|
@ -354,7 +354,7 @@ ov4_021E4E60: ; 0x021E4E60
|
|||
ldmia sp!, {r4, pc}
|
||||
; .align 2, 0
|
||||
_021E4EA8: .word 0x0221AE20
|
||||
arm_func_end ov4_021E4E60
|
||||
arm_func_end DWC_SetRecvTimeoutTime
|
||||
|
||||
arm_func_start ov4_021E4EAC
|
||||
ov4_021E4EAC: ; 0x021E4EAC
|
||||
|
|
@ -437,7 +437,7 @@ _021E4F98:
|
|||
ldr r0, [sp]
|
||||
ldrb sb, [r0, r8]
|
||||
mov r0, sb
|
||||
bl ov4_021D9A08
|
||||
bl DWC_IsValidAID
|
||||
cmp r0, #0
|
||||
beq _021E502C
|
||||
mov r0, sb
|
||||
|
|
@ -472,7 +472,7 @@ _021E4F98:
|
|||
str r5, [r6, #0x24]
|
||||
str sl, [r6, #0x28]
|
||||
_021E502C:
|
||||
bl ov4_021D9968
|
||||
bl DWC_GetMyAID
|
||||
cmp sb, r0
|
||||
beq _021E50E0
|
||||
mov r0, sb
|
||||
|
|
|
|||
|
|
@ -86,8 +86,8 @@ ov4_02202794: ; 0x02202794
|
|||
_022027A4: .word 0x0221B780
|
||||
arm_func_end ov4_02202794
|
||||
|
||||
arm_func_start ov4_022027A8
|
||||
ov4_022027A8: ; 0x022027A8
|
||||
arm_func_start VCT_StartStreaming
|
||||
VCT_StartStreaming: ; 0x022027A8
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
movs r5, r0
|
||||
moveq r0, #0
|
||||
|
|
@ -173,10 +173,10 @@ _022028CC:
|
|||
_022028D4: .word 0x0221B780
|
||||
_022028D8: .word 0x0221B7AC
|
||||
_022028DC: .word 0x0221B7B8
|
||||
arm_func_end ov4_022027A8
|
||||
arm_func_end VCT_StartStreaming
|
||||
|
||||
arm_func_start ov4_022028E0
|
||||
ov4_022028E0: ; 0x022028E0
|
||||
arm_func_start VCT_StopStreaming
|
||||
VCT_StopStreaming: ; 0x022028E0
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
ldr ip, _02202988 ; =0x0221B7AC
|
||||
mov r5, r0
|
||||
|
|
@ -226,10 +226,10 @@ _0220295C:
|
|||
_02202988: .word 0x0221B7AC
|
||||
_0220298C: .word 0x0221B7B8
|
||||
_02202990: .word 0x0221B780
|
||||
arm_func_end ov4_022028E0
|
||||
arm_func_end VCT_StopStreaming
|
||||
|
||||
arm_func_start ov4_02202994
|
||||
ov4_02202994: ; 0x02202994
|
||||
arm_func_start VCT_SendAudio
|
||||
VCT_SendAudio: ; 0x02202994
|
||||
stmfd sp!, {r4, lr}
|
||||
ldr r3, _02202A94 ; =0x0221B780
|
||||
mov r2, r1
|
||||
|
|
@ -305,7 +305,7 @@ _02202A94: .word 0x0221B780
|
|||
_02202A98: .word 0x0221B7AC
|
||||
_02202A9C: .word 0x0221BDC0
|
||||
_02202AA0: .word 0x5F564354
|
||||
arm_func_end ov4_02202994
|
||||
arm_func_end VCT_SendAudio
|
||||
|
||||
arm_func_start ov4_02202AA4
|
||||
ov4_02202AA4: ; 0x02202AA4
|
||||
|
|
@ -471,8 +471,8 @@ _02202CE8: .word 0x0221B7B8
|
|||
_02202CEC: .word 0x00008B4C
|
||||
arm_func_end ov4_02202AA4
|
||||
|
||||
arm_func_start ov4_02202CF0
|
||||
ov4_02202CF0: ; 0x02202CF0
|
||||
arm_func_start VCT_ReceiveAudio
|
||||
VCT_ReceiveAudio: ; 0x02202CF0
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
||||
movs r5, r2
|
||||
mov r7, r0
|
||||
|
|
@ -553,10 +553,10 @@ _02202DFC:
|
|||
; .align 2, 0
|
||||
_02202E04: .word 0x0221B780
|
||||
_02202E08: .word 0x0221B974
|
||||
arm_func_end ov4_02202CF0
|
||||
arm_func_end VCT_ReceiveAudio
|
||||
|
||||
arm_func_start ov4_02202E0C
|
||||
ov4_02202E0C: ; 0x02202E0C
|
||||
arm_func_start VCT_SetCodec
|
||||
VCT_SetCodec: ; 0x02202E0C
|
||||
cmp r0, #5
|
||||
movge r0, #0
|
||||
bxge lr
|
||||
|
|
@ -588,10 +588,10 @@ _02202E70: .word 0x0221DBD8
|
|||
_02202E74: .word 0x02215D09
|
||||
_02202E78: .word 0x02215D08
|
||||
_02202E7C: .word 0x0221B780
|
||||
arm_func_end ov4_02202E0C
|
||||
arm_func_end VCT_SetCodec
|
||||
|
||||
arm_func_start ov4_02202E80
|
||||
ov4_02202E80: ; 0x02202E80
|
||||
arm_func_start VCT_EnableVAD
|
||||
VCT_EnableVAD: ; 0x02202E80
|
||||
stmfd sp!, {r4, lr}
|
||||
ldr r1, _02202EA8 ; =0x0221A0E8
|
||||
mov r4, r0
|
||||
|
|
@ -605,16 +605,16 @@ ov4_02202E80: ; 0x02202E80
|
|||
; .align 2, 0
|
||||
_02202EA8: .word 0x0221A0E8
|
||||
_02202EAC: .word 0x0221B780
|
||||
arm_func_end ov4_02202E80
|
||||
arm_func_end VCT_EnableVAD
|
||||
|
||||
arm_func_start ov4_02202EB0
|
||||
ov4_02202EB0: ; 0x02202EB0
|
||||
arm_func_start VCT_EnableEchoCancel
|
||||
VCT_EnableEchoCancel: ; 0x02202EB0
|
||||
ldr r1, _02202EBC ; =0x0221B780
|
||||
str r0, [r1, #0x18]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_02202EBC: .word 0x0221B780
|
||||
arm_func_end ov4_02202EB0
|
||||
arm_func_end VCT_EnableEchoCancel
|
||||
|
||||
arm_func_start ov4_02202EC0
|
||||
ov4_02202EC0: ; 0x02202EC0
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
.public OS_GetTick
|
||||
.public MI_CpuFill8
|
||||
.public ov4_021E4AE8
|
||||
.public ov4_02204160
|
||||
.public ov4_02204188
|
||||
.public VCT_CreateSession
|
||||
.public VCT_DeleteSession
|
||||
.public ov4_02204244
|
||||
.public ov4_02204318
|
||||
.public ov4_02204700
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
.text
|
||||
|
||||
|
||||
arm_func_start ov4_02204160
|
||||
ov4_02204160: ; 0x02204160
|
||||
arm_func_start VCT_CreateSession
|
||||
VCT_CreateSession: ; 0x02204160
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r1, _02204184 ; =0x0221DBD8
|
||||
ldr r1, [r1, #0x10]
|
||||
|
|
@ -19,10 +19,10 @@ ov4_02204160: ; 0x02204160
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_02204184: .word 0x0221DBD8
|
||||
arm_func_end ov4_02204160
|
||||
arm_func_end VCT_CreateSession
|
||||
|
||||
arm_func_start ov4_02204188
|
||||
ov4_02204188: ; 0x02204188
|
||||
arm_func_start VCT_DeleteSession
|
||||
VCT_DeleteSession: ; 0x02204188
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r2, _02204238 ; =0x0221C6D0
|
||||
mov ip, #0
|
||||
|
|
@ -76,7 +76,7 @@ _02204230:
|
|||
_02204238: .word 0x0221C6D0
|
||||
_0220423C: .word 0x0221DBD8
|
||||
_02204240: .word 0x0221C70C
|
||||
arm_func_end ov4_02204188
|
||||
arm_func_end VCT_DeleteSession
|
||||
|
||||
arm_func_start ov4_02204244
|
||||
ov4_02204244: ; 0x02204244
|
||||
|
|
@ -130,8 +130,8 @@ _022042E8:
|
|||
_022042F0: .word 0x0221DBD8
|
||||
arm_func_end ov4_02204244
|
||||
|
||||
arm_func_start ov4_022042F4
|
||||
ov4_022042F4: ; 0x022042F4
|
||||
arm_func_start VCT_Request
|
||||
VCT_Request: ; 0x022042F4
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r2, _02204314 ; =0x0221DBD8
|
||||
ldr r2, [r2, #0x10]
|
||||
|
|
@ -142,7 +142,7 @@ ov4_022042F4: ; 0x022042F4
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_02204314: .word 0x0221DBD8
|
||||
arm_func_end ov4_022042F4
|
||||
arm_func_end VCT_Request
|
||||
|
||||
arm_func_start ov4_02204318
|
||||
ov4_02204318: ; 0x02204318
|
||||
|
|
@ -199,8 +199,8 @@ _022043B0:
|
|||
_022043CC: .word 0x0221DBD8
|
||||
arm_func_end ov4_02204318
|
||||
|
||||
arm_func_start ov4_022043D0
|
||||
ov4_022043D0: ; 0x022043D0
|
||||
arm_func_start VCT_Response
|
||||
VCT_Response: ; 0x022043D0
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r2, _022043F0 ; =0x0221DBD8
|
||||
ldr r2, [r2, #0x10]
|
||||
|
|
@ -211,10 +211,10 @@ ov4_022043D0: ; 0x022043D0
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_022043F0: .word 0x0221DBD8
|
||||
arm_func_end ov4_022043D0
|
||||
arm_func_end VCT_Response
|
||||
|
||||
arm_func_start ov4_022043F4
|
||||
ov4_022043F4: ; 0x022043F4
|
||||
arm_func_start VCT_AddConferenceClient
|
||||
VCT_AddConferenceClient: ; 0x022043F4
|
||||
stmfd sp!, {r4, lr}
|
||||
ldr r2, _022044A4 ; =0x0221DBD8
|
||||
mov r4, r0
|
||||
|
|
@ -236,7 +236,7 @@ ov4_022043F4: ; 0x022043F4
|
|||
movne r0, #0
|
||||
ldmneia sp!, {r4, pc}
|
||||
mov r0, r4
|
||||
bl ov4_02204160
|
||||
bl VCT_CreateSession
|
||||
movs r2, r0
|
||||
mvneq r0, #0
|
||||
ldmeqia sp!, {r4, pc}
|
||||
|
|
@ -262,7 +262,7 @@ ov4_022043F4: ; 0x022043F4
|
|||
; .align 2, 0
|
||||
_022044A4: .word 0x0221DBD8
|
||||
_022044A8: .word 0x0221C6D0
|
||||
arm_func_end ov4_022043F4
|
||||
arm_func_end VCT_AddConferenceClient
|
||||
|
||||
arm_func_start ov4_022044AC
|
||||
ov4_022044AC: ; 0x022044AC
|
||||
|
|
@ -977,7 +977,7 @@ _02204DAC:
|
|||
cmp r0, #1
|
||||
bhi _02204DD4
|
||||
mov r0, r7
|
||||
bl ov4_02204188
|
||||
bl VCT_DeleteSession
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
_02204DD4:
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ _022052B4: .word 0x0221C72C
|
|||
_022052B8: .word 0x0221A114
|
||||
arm_func_end ov4_02205270
|
||||
|
||||
arm_func_start ov4_022052BC
|
||||
ov4_022052BC: ; 0x022052BC
|
||||
arm_func_start VCT_GetVADInfo
|
||||
VCT_GetVADInfo: ; 0x022052BC
|
||||
stmfd sp!, {r3, lr}
|
||||
movs r1, r0
|
||||
ldmeqia sp!, {r3, pc}
|
||||
|
|
@ -42,7 +42,7 @@ ov4_022052BC: ; 0x022052BC
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_022052D8: .word 0x0221A114
|
||||
arm_func_end ov4_022052BC
|
||||
arm_func_end VCT_GetVADInfo
|
||||
|
||||
arm_func_start ov4_022052DC
|
||||
ov4_022052DC: ; 0x022052DC
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
.text
|
||||
|
||||
|
||||
arm_func_start ov4_02205988
|
||||
ov4_02205988: ; 0x02205988
|
||||
arm_func_start VCT_Init
|
||||
VCT_Init: ; 0x02205988
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
ldr r0, _02205AB4 ; =0x02000C14
|
||||
|
|
@ -89,10 +89,10 @@ _02205A8C:
|
|||
_02205AB4: .word 0x02000C14
|
||||
_02205AB8: .word 0x0221DBCC
|
||||
_02205ABC: .word 0x0221DBD8
|
||||
arm_func_end ov4_02205988
|
||||
arm_func_end VCT_Init
|
||||
|
||||
arm_func_start ov4_02205AC0
|
||||
ov4_02205AC0: ; 0x02205AC0
|
||||
arm_func_start VCT_Cleanup
|
||||
VCT_Cleanup: ; 0x02205AC0
|
||||
stmfd sp!, {r3, lr}
|
||||
bl ov4_02202794
|
||||
bl ov4_022045C0
|
||||
|
|
@ -104,10 +104,10 @@ ov4_02205AC0: ; 0x02205AC0
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_02205AE4: .word 0x0221DBCC
|
||||
arm_func_end ov4_02205AC0
|
||||
arm_func_end VCT_Cleanup
|
||||
|
||||
arm_func_start ov4_02205AE8
|
||||
ov4_02205AE8: ; 0x02205AE8
|
||||
arm_func_start VCT_Main
|
||||
VCT_Main: ; 0x02205AE8
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r0, _02205B28 ; =0x0221DBCC
|
||||
ldr r1, [r0, #8]
|
||||
|
|
@ -127,10 +127,10 @@ _02205B14:
|
|||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_02205B28: .word 0x0221DBCC
|
||||
arm_func_end ov4_02205AE8
|
||||
arm_func_end VCT_Main
|
||||
|
||||
arm_func_start ov4_02205B2C
|
||||
ov4_02205B2C: ; 0x02205B2C
|
||||
arm_func_start VCT_HandleData
|
||||
VCT_HandleData: ; 0x02205B2C
|
||||
stmfd sp!, {r4, lr}
|
||||
sub sp, sp, #8
|
||||
add r3, sp, #0
|
||||
|
|
@ -164,7 +164,7 @@ _02205B90:
|
|||
ldmia sp!, {r4, pc}
|
||||
; .align 2, 0
|
||||
_02205B9C: .word 0x0221DBCC
|
||||
arm_func_end ov4_02205B2C
|
||||
arm_func_end VCT_HandleData
|
||||
|
||||
arm_func_start ov4_02205BA0
|
||||
ov4_02205BA0: ; 0x02205BA0
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@
|
|||
.public OS_InitAlarm
|
||||
.public OS_DisableInterrupts
|
||||
.public OS_RestoreInterrupts
|
||||
.public ov4_021D792C
|
||||
.public DWC_SetAuthServer
|
||||
.public ov18_0222F20C
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ ov18_0221F800: ; 0x0221F800
|
|||
bl OS_DisableInterrupts
|
||||
add r5, r0, #0
|
||||
mov r0, #2
|
||||
bl ov4_021D792C
|
||||
bl DWC_SetAuthServer
|
||||
mov r1, #1
|
||||
add r0, r4, #0
|
||||
lsl r1, r1, #0x12
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
.public MI_CpuCopy8
|
||||
.public ov4_021D1F3C
|
||||
.public DWC_ClearError
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_CleanupInet
|
||||
.public ov61_0222AE60
|
||||
.public ov61_0222AE88
|
||||
.public ov61_0222AF88
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ ov61_0222B14C: ; 0x0222B14C
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
bl sub_0203848C
|
||||
mov r0, #0xf2
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -96,17 +96,17 @@
|
|||
.public ov4_021D75D4
|
||||
.public DWC_GetLastErrorEx
|
||||
.public DWC_ClearError
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D792C
|
||||
.public ov4_021D797C
|
||||
.public ov4_021D7A8C
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_SetAuthServer
|
||||
.public DWC_ConnectInetAsync
|
||||
.public DWC_CheckInet
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public ov4_021D7EB8
|
||||
.public ov4_021D81DC
|
||||
.public ov4_021D82A0
|
||||
.public ov4_021D8E8C
|
||||
.public DWC_ShutdownFriendsMatch
|
||||
.public ov4_021E55B0
|
||||
.public ov61_0222C1FC
|
||||
.public ov61_0222C224
|
||||
|
|
|
|||
|
|
@ -1403,10 +1403,10 @@ _0222CA82:
|
|||
add r0, #0x14
|
||||
mov r2, #1
|
||||
mov r3, #0x14
|
||||
bl ov4_021D78C8
|
||||
bl DWC_InitInetEx
|
||||
mov r0, #2
|
||||
bl ov4_021D792C
|
||||
bl ov4_021D797C
|
||||
bl DWC_SetAuthServer
|
||||
bl DWC_ConnectInetAsync
|
||||
mov r0, #2
|
||||
str r0, [r4, #8]
|
||||
_0222CA9E:
|
||||
|
|
@ -1422,11 +1422,11 @@ ov61_0222CAA8: ; 0x0222CAA8
|
|||
push {r4, lr}
|
||||
sub sp, #0x48
|
||||
add r4, r0, #0
|
||||
bl ov4_021D7AE4
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_ProcessInet
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
beq _0222CB26
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #8
|
||||
bhi _0222CB06
|
||||
add r0, r0, r0
|
||||
|
|
@ -1455,7 +1455,7 @@ _0222CAE0:
|
|||
ldr r0, [sp, #4]
|
||||
str r0, [r4, #0x1c]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
add r0, r4, #0
|
||||
bl ov61_0222C86C
|
||||
mov r0, #6
|
||||
|
|
@ -1530,7 +1530,7 @@ _0222CB68:
|
|||
ldr r0, [sp]
|
||||
str r0, [r4, #0x1c]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r0, #6
|
||||
str r0, [r4, #8]
|
||||
ldr r1, [sp]
|
||||
|
|
@ -1563,7 +1563,7 @@ _0222CBBC:
|
|||
str r0, [r4, #8]
|
||||
b _0222CBCE
|
||||
_0222CBC0:
|
||||
bl ov4_021D8E8C
|
||||
bl DWC_ShutdownFriendsMatch
|
||||
mov r0, #6
|
||||
str r0, [r4, #8]
|
||||
b _0222CBCE
|
||||
|
|
@ -1822,7 +1822,7 @@ _0222CD98:
|
|||
cmp r0, #0
|
||||
bne _0222CE08
|
||||
bl sub_0203848C
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
add r0, r4, #0
|
||||
add r0, #0x90
|
||||
ldr r0, [r0, #0]
|
||||
|
|
@ -1940,7 +1940,7 @@ _0222CE60:
|
|||
str r0, [r4, #0]
|
||||
b _0222CED2
|
||||
_0222CE7E:
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
bl sub_0203848C
|
||||
add r0, r4, #0
|
||||
add r0, #0x90
|
||||
|
|
|
|||
|
|
@ -59,17 +59,17 @@
|
|||
.public ov4_021D75D4
|
||||
.public DWC_GetLastErrorEx
|
||||
.public DWC_ClearError
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D792C
|
||||
.public ov4_021D797C
|
||||
.public ov4_021D7A8C
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_SetAuthServer
|
||||
.public DWC_ConnectInetAsync
|
||||
.public DWC_CheckInet
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public ov4_021D7EB8
|
||||
.public ov4_021D81DC
|
||||
.public ov4_021D82A0
|
||||
.public ov4_021D8E8C
|
||||
.public DWC_ShutdownFriendsMatch
|
||||
.public ov4_021E55B0
|
||||
.public ov94_0223B140
|
||||
.public ov94_0223B7B8
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ ov94_02244950: ; 0x02244950
|
|||
bl sub_02038438
|
||||
add r0, r4, #0
|
||||
bl ov94_02245934
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
bne _022449EA
|
||||
ldr r0, [r4, #0]
|
||||
|
|
@ -873,7 +873,7 @@ ov94_0224505C: ; 0x0224505C
|
|||
sub r1, r1, #1
|
||||
cmp r0, r1
|
||||
bne _0224509A
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
bne _02245086
|
||||
mov r0, #0
|
||||
|
|
@ -890,10 +890,10 @@ _02245086:
|
|||
str r0, [r4, #0x2c]
|
||||
b _022450B8
|
||||
_0224509A:
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
beq _022450A6
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
_022450A6:
|
||||
bl sub_0203848C
|
||||
mov r1, #0
|
||||
|
|
@ -938,7 +938,7 @@ ov94_022450EC: ; 0x022450EC
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0203848C
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, r1, #0
|
||||
|
|
@ -982,10 +982,10 @@ ov94_02245138: ; 0x02245138
|
|||
mov r1, #2
|
||||
mov r2, #1
|
||||
mov r3, #0x14
|
||||
bl ov4_021D78C8
|
||||
bl DWC_InitInetEx
|
||||
mov r0, #2
|
||||
bl ov4_021D792C
|
||||
bl ov4_021D797C
|
||||
bl DWC_SetAuthServer
|
||||
bl DWC_ConnectInetAsync
|
||||
mov r0, #3
|
||||
str r0, [r4, #0x2c]
|
||||
pop {r4, pc}
|
||||
|
|
@ -996,11 +996,11 @@ ov94_02245158: ; 0x02245158
|
|||
push {r4, lr}
|
||||
sub sp, #0x48
|
||||
add r4, r0, #0
|
||||
bl ov4_021D7AE4
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_ProcessInet
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
beq _022451D6
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #8
|
||||
bhi _022451B6
|
||||
add r0, r0, r0
|
||||
|
|
@ -1029,7 +1029,7 @@ _02245190:
|
|||
ldr r0, [sp, #4]
|
||||
str r0, [r4, #0x48]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
add r0, r4, #0
|
||||
bl ov94_0223C5F4
|
||||
mov r0, #0x17
|
||||
|
|
@ -1102,7 +1102,7 @@ _02245218:
|
|||
ldr r0, [sp, #4]
|
||||
str r0, [r4, #0x44]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r0, #0x17
|
||||
str r0, [r4, #0x2c]
|
||||
ldr r1, [sp]
|
||||
|
|
@ -1135,7 +1135,7 @@ _02245268:
|
|||
str r0, [r4, #0x2c]
|
||||
b _0224527A
|
||||
_0224526C:
|
||||
bl ov4_021D8E8C
|
||||
bl DWC_ShutdownFriendsMatch
|
||||
mov r0, #0x17
|
||||
str r0, [r4, #0x2c]
|
||||
b _0224527A
|
||||
|
|
@ -1773,7 +1773,7 @@ _0224570C:
|
|||
cmp r0, #0
|
||||
bne _02245784
|
||||
bl sub_0203848C
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r0, #0x52
|
||||
lsl r0, r0, #6
|
||||
ldrsh r1, [r4, r0]
|
||||
|
|
|
|||
|
|
@ -76,18 +76,18 @@
|
|||
.public ov4_021D75D4
|
||||
.public DWC_GetLastErrorEx
|
||||
.public DWC_ClearError
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D792C
|
||||
.public ov4_021D797C
|
||||
.public ov4_021D7A8C
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_SetAuthServer
|
||||
.public DWC_ConnectInetAsync
|
||||
.public DWC_CheckInet
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public ov4_021D7EB8
|
||||
.public ov4_021D806C
|
||||
.public ov4_021D81DC
|
||||
.public ov4_021D82A0
|
||||
.public ov4_021D8E8C
|
||||
.public DWC_ShutdownFriendsMatch
|
||||
.public ov4_021E55B0
|
||||
.public ov96_0223B140
|
||||
.public ov96_0223B3D4
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ ov96_0223BCE0: ; 0x0223BCE0
|
|||
ldr r0, _0223BDB0 ; =0x00000F0C
|
||||
mov r1, #0
|
||||
str r1, [r4, r0]
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
bne _0223BDA4
|
||||
ldr r0, [r4, #0]
|
||||
|
|
@ -957,7 +957,7 @@ ov96_0223C4B8: ; 0x0223C4B8
|
|||
sub r1, r1, #1
|
||||
cmp r0, r1
|
||||
bne _0223C4E8
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
bne _0223C4E2
|
||||
mov r0, #0
|
||||
|
|
@ -968,7 +968,7 @@ _0223C4E2:
|
|||
str r0, [r4, #0x1c]
|
||||
b _0223C508
|
||||
_0223C4E8:
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
bne _0223C4FE
|
||||
mov r1, #0
|
||||
|
|
@ -999,10 +999,10 @@ ov96_0223C510: ; 0x0223C510
|
|||
mov r1, #2
|
||||
mov r2, #1
|
||||
mov r3, #0x14
|
||||
bl ov4_021D78C8
|
||||
bl DWC_InitInetEx
|
||||
mov r0, #2
|
||||
bl ov4_021D792C
|
||||
bl ov4_021D797C
|
||||
bl DWC_SetAuthServer
|
||||
bl DWC_ConnectInetAsync
|
||||
mov r0, #3
|
||||
str r0, [r4, #0x1c]
|
||||
pop {r4, pc}
|
||||
|
|
@ -1013,11 +1013,11 @@ ov96_0223C530: ; 0x0223C530
|
|||
push {r3, r4, lr}
|
||||
sub sp, #0x44
|
||||
add r4, r0, #0
|
||||
bl ov4_021D7AE4
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_ProcessInet
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
beq _0223C5B0
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #8
|
||||
bhi _0223C58E
|
||||
add r0, r0, r0
|
||||
|
|
@ -1046,7 +1046,7 @@ _0223C568:
|
|||
add r0, r1, #4
|
||||
str r2, [r4, r0]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
add r0, r4, #0
|
||||
bl ov96_0223D99C
|
||||
mov r0, #0x37
|
||||
|
|
@ -1125,7 +1125,7 @@ _0223C5F8:
|
|||
add r0, r1, #4
|
||||
str r2, [r4, r0]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r0, #0x37
|
||||
str r0, [r4, #0x1c]
|
||||
ldr r1, [sp]
|
||||
|
|
@ -1158,7 +1158,7 @@ _0223C64E:
|
|||
str r0, [r4, #0x1c]
|
||||
b _0223C660
|
||||
_0223C652:
|
||||
bl ov4_021D8E8C
|
||||
bl DWC_ShutdownFriendsMatch
|
||||
mov r0, #0x37
|
||||
str r0, [r4, #0x1c]
|
||||
b _0223C660
|
||||
|
|
@ -3045,7 +3045,7 @@ _0223D4CC: .word 0x00000BDC
|
|||
ov96_0223D4D0: ; 0x0223D4D0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, r1, #0
|
||||
|
|
@ -3252,7 +3252,7 @@ _0223D63C:
|
|||
cmp r0, #0
|
||||
bne _0223D6B4
|
||||
bl sub_0203848C
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
mov r0, #0xf9
|
||||
lsl r0, r0, #4
|
||||
ldrsh r1, [r4, r0]
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@
|
|||
.public DWC_GetLastErrorEx
|
||||
.public DWC_ClearError
|
||||
.public DWC_SetMemFunc
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D792C
|
||||
.public ov4_021D797C
|
||||
.public ov4_021D7A8C
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_SetAuthServer
|
||||
.public DWC_ConnectInetAsync
|
||||
.public DWC_CheckInet
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public ov4_021D7E10
|
||||
.public ov4_021D7EB8
|
||||
.public ov4_021D81DC
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ _02238DF4: .word 0x0000100F
|
|||
ov97_02238DF8: ; 0x02238DF8
|
||||
push {lr}
|
||||
sub sp, #0x3c
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #4
|
||||
beq _02238E0C
|
||||
cmp r0, #7
|
||||
|
|
@ -257,10 +257,10 @@ _02238F3C:
|
|||
add r0, r4, r0
|
||||
mov r2, #1
|
||||
mov r3, #0x14
|
||||
bl ov4_021D78C8
|
||||
bl DWC_InitInetEx
|
||||
mov r0, #2
|
||||
bl ov4_021D792C
|
||||
bl ov4_021D797C
|
||||
bl DWC_SetAuthServer
|
||||
bl DWC_ConnectInetAsync
|
||||
bl sub_02039734
|
||||
ldr r0, _022391C4 ; =0x00001003
|
||||
mov r1, #0
|
||||
|
|
@ -269,8 +269,8 @@ _02238F3C:
|
|||
str r1, [r4, r0]
|
||||
b _022392C4
|
||||
_02238F64:
|
||||
bl ov4_021D7AE4
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_ProcessInet
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
beq _02238F9C
|
||||
add r0, r4, #0
|
||||
|
|
@ -333,7 +333,7 @@ _02238FDA:
|
|||
add r0, r4, #0
|
||||
bl ov97_02238DA4
|
||||
str r0, [r5, #0]
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
b _02238FFA
|
||||
_02238FEC:
|
||||
cmp r0, #5
|
||||
|
|
@ -607,7 +607,7 @@ _0223923E:
|
|||
str r0, [r5, #0]
|
||||
b _022392C4
|
||||
_02239244:
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
ldr r0, _022392C8 ; =0x00001010
|
||||
str r0, [r5, #0]
|
||||
b _022392C4
|
||||
|
|
|
|||
|
|
@ -125,17 +125,17 @@
|
|||
.public ov4_021D75D4
|
||||
.public DWC_GetLastErrorEx
|
||||
.public DWC_ClearError
|
||||
.public ov4_021D78C8
|
||||
.public ov4_021D792C
|
||||
.public ov4_021D797C
|
||||
.public ov4_021D7A8C
|
||||
.public ov4_021D7AE4
|
||||
.public ov4_021D7BFC
|
||||
.public ov4_021D7DB0
|
||||
.public DWC_InitInetEx
|
||||
.public DWC_SetAuthServer
|
||||
.public DWC_ConnectInetAsync
|
||||
.public DWC_CheckInet
|
||||
.public DWC_ProcessInet
|
||||
.public DWC_GetInetStatus
|
||||
.public DWC_CleanupInet
|
||||
.public ov4_021D7EB8
|
||||
.public ov4_021D81DC
|
||||
.public ov4_021D82A0
|
||||
.public ov4_021D8E8C
|
||||
.public DWC_ShutdownFriendsMatch
|
||||
.public ov4_021E55B0
|
||||
.public ov94_0223B140
|
||||
.public ov94_0223B7AC
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ ov98_022471C8: ; 0x022471C8
|
|||
beq _0224731A
|
||||
b _02247330
|
||||
_022472EE:
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
bne _02247314
|
||||
ldr r0, [r5, #0]
|
||||
|
|
@ -2929,7 +2929,7 @@ ov98_0224897C: ; 0x0224897C
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0203859C
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
bl sub_02039794
|
||||
mov r0, #4
|
||||
bl sub_02017B8C
|
||||
|
|
@ -3029,10 +3029,10 @@ _02248A3C:
|
|||
add r0, #0x14
|
||||
mov r2, #1
|
||||
mov r3, #0x14
|
||||
bl ov4_021D78C8
|
||||
bl DWC_InitInetEx
|
||||
mov r0, #2
|
||||
bl ov4_021D792C
|
||||
bl ov4_021D797C
|
||||
bl DWC_SetAuthServer
|
||||
bl DWC_ConnectInetAsync
|
||||
mov r0, #0xd
|
||||
str r0, [r4, #8]
|
||||
_02248A5E:
|
||||
|
|
@ -3048,11 +3048,11 @@ ov98_02248A68: ; 0x02248A68
|
|||
push {r4, lr}
|
||||
sub sp, #0x48
|
||||
add r4, r0, #0
|
||||
bl ov4_021D7AE4
|
||||
bl ov4_021D7A8C
|
||||
bl DWC_ProcessInet
|
||||
bl DWC_CheckInet
|
||||
cmp r0, #0
|
||||
beq _02248B0E
|
||||
bl ov4_021D7BFC
|
||||
bl DWC_GetInetStatus
|
||||
cmp r0, #8
|
||||
bhi _02248AEE
|
||||
add r0, r0, r0
|
||||
|
|
@ -3081,7 +3081,7 @@ _02248AA0:
|
|||
ldr r0, [sp, #4]
|
||||
str r0, [r4, #0x1c]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
bl sub_02039794
|
||||
bl sub_0203859C
|
||||
mov r0, #4
|
||||
|
|
@ -3171,7 +3171,7 @@ _02248B50:
|
|||
ldr r0, [sp, #4]
|
||||
str r0, [r4, #0x18]
|
||||
bl DWC_ClearError
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
bl sub_02039794
|
||||
bl sub_0203859C
|
||||
mov r0, #4
|
||||
|
|
@ -3221,7 +3221,7 @@ _02248BC8:
|
|||
str r0, [r4, #8]
|
||||
b _02248BDA
|
||||
_02248BCC:
|
||||
bl ov4_021D8E8C
|
||||
bl DWC_ShutdownFriendsMatch
|
||||
mov r0, #0x1b
|
||||
str r0, [r4, #8]
|
||||
b _02248BDA
|
||||
|
|
@ -4233,7 +4233,7 @@ _02249356:
|
|||
str r0, [r4, #0]
|
||||
b _0224940A
|
||||
_02249374:
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
bl sub_02039794
|
||||
bl sub_0203859C
|
||||
mov r0, #4
|
||||
|
|
@ -4601,7 +4601,7 @@ _02249604:
|
|||
cmp r0, #0
|
||||
bne _0224969E
|
||||
bl sub_0203859C
|
||||
bl ov4_021D7DB0
|
||||
bl DWC_CleanupInet
|
||||
bl sub_02039794
|
||||
mov r0, #4
|
||||
bl sub_02017B8C
|
||||
|
|
|
|||
180
lib/include/vct.h
Normal file
180
lib/include/vct.h
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
#ifndef VCT_VOICECHAT_H_
|
||||
#define VCT_VOICECHAT_H_
|
||||
|
||||
#include <nitro/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define VCT_ERROR_NONE 0
|
||||
#define VCT_ERROR_BAD_PARAM -1
|
||||
#define VCT_ERROR_BAD_MODE -2
|
||||
#define VCT_ERROR_BAD_REQUEST -3
|
||||
#define VCT_ERROR_SEND_FAIL -4
|
||||
#define VCT_ERROR_TRANSCEIVER_BUSY -5
|
||||
#define VCT_ERROR_EXHAUST_CLIENTS -6
|
||||
#define VCT_MAX_SESSION 8
|
||||
#define VCT_MAX_TRANSCEIVER_CLIENT 8
|
||||
#define VCT_MAX_CONFERENCE_CLIENT 4
|
||||
#define VCT_MAX_AUDIO_STREAM (VCT_MAX_CONFERENCE_CLIENT - 1)
|
||||
#define VCT_MAGIC_PACKET_HEADER '_VCT'
|
||||
#define VCT_AUDIO_FRAME_LENGTH 68
|
||||
#define VCT_AUDIO_FRAME_RATE 8000
|
||||
#define VCT_AUDIO_BUFFER_SIZE 1144
|
||||
#define VCT_DEFAULT_AUDIO_BUFFER_COUNT 8
|
||||
#define VCT_MIN_AUDIO_BUFFER_COUNT 4
|
||||
#define VCT_MAX_AUDIO_BUFFER_COUNT (24 * VCT_MAX_AUDIO_STREAM)
|
||||
|
||||
typedef struct _VCTSession VCTSession;
|
||||
|
||||
typedef enum {
|
||||
VCT_CODEC_8BIT_RAW,
|
||||
VCT_CODEC_G711_ULAW,
|
||||
VCT_CODEC_2BIT_ADPCM,
|
||||
VCT_CODEC_3BIT_ADPCM,
|
||||
VCT_CODEC_4BIT_ADPCM,
|
||||
VCT_CODEC_END
|
||||
} VCTCodec;
|
||||
|
||||
typedef enum {
|
||||
VCT_MODE_NULL,
|
||||
VCT_MODE_PHONE,
|
||||
VCT_MODE_TRANSCEIVER,
|
||||
VCT_MODE_CONFERENCE
|
||||
} VCTMode;
|
||||
|
||||
typedef enum {
|
||||
VCT_EVENT_NONE,
|
||||
VCT_EVENT_INCOMING,
|
||||
VCT_EVENT_REJECT,
|
||||
VCT_EVENT_BUSY,
|
||||
VCT_EVENT_CANCEL,
|
||||
VCT_EVENT_NOTIFY_FREE,
|
||||
VCT_EVENT_NOTIFY_BUSY,
|
||||
VCT_EVENT_CONNECTED,
|
||||
VCT_EVENT_RESPONDBYE,
|
||||
VCT_EVENT_DISCONNECTED,
|
||||
VCT_EVENT_CONTACT,
|
||||
VCT_EVENT_TIMEOUT,
|
||||
VCT_EVENT_ABORT
|
||||
} VCTEvent;
|
||||
|
||||
typedef enum {
|
||||
VCT_REQUEST_INVITE = 0,
|
||||
VCT_REQUEST_BYE,
|
||||
VCT_REQUEST_CANCEL,
|
||||
VCT_REQUEST_CONTACT,
|
||||
VCT_REQUEST_NOTIFY,
|
||||
VCT_REQUEST_END
|
||||
} VCTRequestCode;
|
||||
|
||||
typedef enum {
|
||||
VCT_RESPONSE_OK,
|
||||
VCT_RESPONSE_BAD_REQUEST,
|
||||
VCT_RESPONSE_NOT_ACCEPTABLE,
|
||||
VCT_RESPONSE_BUSY_HERE,
|
||||
VCT_RESPONSE_TERMINATED,
|
||||
VCT_RESPONSE_DECLINE,
|
||||
VCT_RESPONSE_END
|
||||
} VCTResponseCode;
|
||||
|
||||
typedef enum {
|
||||
VCT_STATE_INIT,
|
||||
VCT_STATE_OUTGOING,
|
||||
VCT_STATE_TALKING,
|
||||
VCT_STATE_CONNECTED,
|
||||
VCT_STATE_INCOMING,
|
||||
VCT_STATE_DISCONNECTING
|
||||
} VCTState;
|
||||
|
||||
typedef enum {
|
||||
VCT_REPORTLEVEL_NONE,
|
||||
VCT_REPORTLEVEL_ALL
|
||||
} VCTReportLevel;
|
||||
|
||||
typedef struct VCTAudioInfo {
|
||||
u32 internalLatency;
|
||||
u32 bufferLatency;
|
||||
u32 bufferCount;
|
||||
int clockSkew;
|
||||
u32 sequence;
|
||||
u32 dropCount;
|
||||
u32 jitter;
|
||||
u32 jamCount;
|
||||
u32 recoverCount;
|
||||
VCTCodec codec;
|
||||
} VCTAudioInfo;
|
||||
|
||||
typedef void (* VCTEventCallback)(u8 aid, VCTEvent result, VCTSession * session, void * param);
|
||||
|
||||
typedef struct {
|
||||
VCTSession * session;
|
||||
u32 numSession;
|
||||
VCTMode mode;
|
||||
u8 aid;
|
||||
u8 padding__[3];
|
||||
void * audioBuffer;
|
||||
u32 audioBufferSize;
|
||||
VCTEventCallback callback;
|
||||
void * userData;
|
||||
} VCTConfig;
|
||||
|
||||
struct _VCTSession {
|
||||
VCTMode mode;
|
||||
u8 aid;
|
||||
u8 talking;
|
||||
u16 padding__;
|
||||
u32 aidBitmap;
|
||||
VCTState state;
|
||||
void * userData;
|
||||
VCTSession * _next;
|
||||
};
|
||||
|
||||
typedef struct _VCTVADInfo {
|
||||
BOOL activity;
|
||||
int scale;
|
||||
int releaseCount;
|
||||
int releaseTime;
|
||||
} VCTVADInfo;
|
||||
|
||||
BOOL VCT_Init(VCTConfig * config);
|
||||
void VCT_Cleanup(void);
|
||||
void VCT_Main();
|
||||
BOOL VCT_HandleData(u8 aid, u8 * buffer, int size);
|
||||
int VCT_Request(VCTSession * session, VCTRequestCode request);
|
||||
int VCT_Response(VCTSession * session, VCTResponseCode response);
|
||||
int VCT_Contact(VCTSession ** outSession);
|
||||
int VCT_Release(VCTSession * session);
|
||||
void VCT_SetTransceiverMode(BOOL true_or_false);
|
||||
int VCT_SetTransceiverServer(u8 aid);
|
||||
int VCT_SetTransceiverClients(u8 aidList[], int num_of_aid);
|
||||
void VCT_SetTransceiverTimeout(u32 sec);
|
||||
int VCT_AddConferenceClient(u8 aid);
|
||||
int VCT_RemoveConferenceClient(u8 aid);
|
||||
VCTSession * VCT_CreateSession(u8 aid);
|
||||
BOOL VCT_DeleteSession(VCTSession * session);
|
||||
BOOL VCT_StartStreaming(VCTSession * session);
|
||||
void VCT_StopStreaming(VCTSession * session);
|
||||
BOOL VCT_SendAudio(void * audio_data, u32 length);
|
||||
BOOL VCT_ReceiveAudio(void * audio_data, u32 length, u32 * outAIDBitmap);
|
||||
BOOL VCT_SetCodec(VCTCodec codec);
|
||||
VCTCodec VCT_GetCodec(void);
|
||||
void VCT_GetAudioInfo(u32 channel, VCTAudioInfo * info);
|
||||
void VCT_EnableVAD(BOOL flag);
|
||||
void VCT_SetVADReleaseTime(int count);
|
||||
void VCT_ResetVAD(void);
|
||||
void VCT_GetVADInfo(VCTVADInfo * outInfo);
|
||||
void VCT_EnableEchoCancel(BOOL flag);
|
||||
|
||||
#ifndef SDK_FINALROM
|
||||
void VCT_SetReportLevel(VCTReportLevel level);
|
||||
#else
|
||||
#define VCT_SetReportLevel(level) ((void)0)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
6
main.lsf
6
main.lsf
|
|
@ -690,9 +690,9 @@ Overlay overlay3
|
|||
|
||||
Overlay overlay4
|
||||
{
|
||||
After main
|
||||
Object asm/overlay004/ov4_021D0D80.o
|
||||
Object asm/overlay004/ov4_021D2808.o
|
||||
After main
|
||||
Object src/overlay004/ov4_021D0D80.o
|
||||
Object src/overlay004/ov4_021D2808.o
|
||||
Object asm/overlay004/ov4_021D3038.o
|
||||
Object asm/overlay004/ov4_021D3E5C.o
|
||||
Object asm/overlay004/ov4_021D4478.o
|
||||
|
|
|
|||
1617
src/overlay004/ov4_021D0D80.c
Normal file
1617
src/overlay004/ov4_021D0D80.c
Normal file
File diff suppressed because it is too large
Load Diff
589
src/overlay004/ov4_021D2808.c
Normal file
589
src/overlay004/ov4_021D2808.c
Normal file
|
|
@ -0,0 +1,589 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
#include <vct.h>
|
||||
#include <dwc.h>
|
||||
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_0203266C.h"
|
||||
#include "unk_020366A0.h"
|
||||
#include "overlay004/ov4_021D0D80.h"
|
||||
#include "overlay004/ov4_021D2808.h"
|
||||
|
||||
typedef struct {
|
||||
u8 unk_00[2176];
|
||||
void * unk_880;
|
||||
u8 * unk_884;
|
||||
u8 * unk_888;
|
||||
u8 unk_88C[2176];
|
||||
u8 unk_110C[2176];
|
||||
void (* unk_198C)(void);
|
||||
VCTSession unk_1990[3];
|
||||
BOOL unk_19D8[4];
|
||||
int unk_19E8;
|
||||
int unk_19EC;
|
||||
int unk_19F0;
|
||||
int unk_19F4;
|
||||
struct NNSSndStrm unk_19F8;
|
||||
VCTSession * unk_1A54;
|
||||
u8 unk_1A58;
|
||||
u8 unk_1A59;
|
||||
u16 unk_1A5A;
|
||||
MICAutoParam unk_1A5C;
|
||||
int unk_1A78;
|
||||
int unk_1A7C;
|
||||
int unk_1A80;
|
||||
int unk_1A84;
|
||||
int unk_1A88;
|
||||
u16 unk_1A8C[16];
|
||||
int unk_1AAC;
|
||||
} UnkStruct_ov4_0221A408;
|
||||
|
||||
static void ov4_021D2E8C(void);
|
||||
static void ov4_021D2B04(VCTSession * param0);
|
||||
|
||||
static UnkStruct_ov4_0221A408 * Unk_ov4_0221A408 = NULL;
|
||||
static OSTick Unk_ov4_0221A40C;
|
||||
static int Unk_ov4_0221A404 = 0;
|
||||
|
||||
static void ov4_021D2808 (void)
|
||||
{
|
||||
MIC_Init();
|
||||
PM_Init();
|
||||
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
v0 = PM_SetAmp(PM_AMP_ON);
|
||||
|
||||
if (v0 == PM_RESULT_SUCCESS) {
|
||||
(void)0;
|
||||
} else {
|
||||
(void)0;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
u32 v1;
|
||||
|
||||
v1 = PM_SetAmpGain(PM_AMPGAIN_160);
|
||||
|
||||
if (v1 == PM_RESULT_SUCCESS) {
|
||||
(void)0;
|
||||
} else {
|
||||
(void)0;
|
||||
}
|
||||
}
|
||||
|
||||
Unk_ov4_0221A408->unk_1A78 = 0;
|
||||
Unk_ov4_0221A408->unk_1A84 = 0;
|
||||
Unk_ov4_0221A408->unk_1A7C = 0;
|
||||
Unk_ov4_0221A408->unk_1A80 = 0;
|
||||
Unk_ov4_0221A408->unk_1A88 = 0;
|
||||
|
||||
{
|
||||
int v2;
|
||||
|
||||
for (v2 = 0; v2 < 16; v2++) {
|
||||
Unk_ov4_0221A408->unk_1A8C[v2] = 0;
|
||||
}
|
||||
|
||||
Unk_ov4_0221A408->unk_1AAC = 0;
|
||||
}
|
||||
|
||||
VCT_EnableVAD(1);
|
||||
|
||||
NNS_SndInit();
|
||||
NNS_SndStrmInit(&Unk_ov4_0221A408->unk_19F8);
|
||||
MI_CpuClearFast(Unk_ov4_0221A408->unk_110C, sizeof(Unk_ov4_0221A408->unk_110C));
|
||||
|
||||
Unk_ov4_0221A404 = 0;
|
||||
|
||||
VCT_EnableEchoCancel(1);
|
||||
}
|
||||
|
||||
static void ov4_021D28B0 (MICResult param0, void * param1)
|
||||
{
|
||||
#pragma unused(param0, param1)
|
||||
return;
|
||||
}
|
||||
|
||||
static void ov4_021D28B4 (NNSSndStrmCallbackStatus param0, int param1, void * param2[], u32 param3, NNSSndStrmFormat param4, void * param5)
|
||||
{
|
||||
#pragma unused(param4)
|
||||
|
||||
OSTick v0;
|
||||
const void * v1;
|
||||
u32 v2;
|
||||
u8 * v3;
|
||||
u32 v4;
|
||||
|
||||
v3 = (u8 *)param5;
|
||||
|
||||
if (param0 == NNS_SND_STRM_CALLBACK_SETUP) {
|
||||
for (v4 = 0; v4 < param1; ++v4) {
|
||||
MI_CpuClear8(param2[v4], param3);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (Unk_ov4_0221A408->unk_1A59) {
|
||||
MIC_StartAutoSamplingAsync(&(Unk_ov4_0221A408->unk_1A5C), ov4_021D28B0, NULL);
|
||||
Unk_ov4_0221A408->unk_1A59 = 0;
|
||||
}
|
||||
|
||||
v1 = MIC_GetLastSamplingAddress();
|
||||
v2 = (u32)((u8 *)v1 - v3);
|
||||
|
||||
if (v2 < param3) {
|
||||
v3 = v3 + param3;
|
||||
}
|
||||
|
||||
if (PAD_DetectFold()) {
|
||||
v3 = Unk_ov4_0221A408->unk_110C;
|
||||
}
|
||||
|
||||
if (Unk_ov4_0221A408->unk_19F0 == 0) {
|
||||
VCT_SendAudio(v3, param3);
|
||||
} else {
|
||||
(void)0;
|
||||
}
|
||||
|
||||
for (v4 = 0; v4 < param1; ++v4) {
|
||||
if (!VCT_ReceiveAudio(param2[v4], param3, NULL)) {
|
||||
(void)0;
|
||||
}
|
||||
}
|
||||
|
||||
Unk_ov4_0221A408->unk_1A58 = 2;
|
||||
return;
|
||||
}
|
||||
|
||||
static int ov4_021D2974 (u8 param0)
|
||||
{
|
||||
BOOL v0;
|
||||
VCTSession * v1;
|
||||
|
||||
if (Unk_ov4_0221A408->unk_1A54 == NULL) {
|
||||
v1 = VCT_CreateSession(param0);
|
||||
|
||||
if (v1 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = VCT_Request(v1, VCT_REQUEST_INVITE);
|
||||
} else {
|
||||
v1 = Unk_ov4_0221A408->unk_1A54;
|
||||
v0 = VCT_Request(v1, VCT_REQUEST_INVITE);
|
||||
}
|
||||
|
||||
if (v0 != VCT_ERROR_NONE) {
|
||||
VCT_DeleteSession(v1);
|
||||
Unk_ov4_0221A408->unk_1A54 = NULL;
|
||||
return 0;
|
||||
} else {
|
||||
Unk_ov4_0221A408->unk_1A54 = v1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int ov4_021D29C8 (u8 param0)
|
||||
{
|
||||
BOOL v0;
|
||||
|
||||
if ((Unk_ov4_0221A408->unk_1A54 != NULL) && (Unk_ov4_0221A408->unk_1A54->state == VCT_STATE_INCOMING)) {
|
||||
v0 = VCT_Response(Unk_ov4_0221A408->unk_1A54, VCT_RESPONSE_OK);
|
||||
|
||||
if (v0 != VCT_ERROR_NONE) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!VCT_StartStreaming(Unk_ov4_0221A408->unk_1A54)) {
|
||||
return 0;
|
||||
} else {
|
||||
(void)0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov4_021D2A10 (u8 param0, VCTEvent param1, VCTSession * param2, void * param3)
|
||||
{
|
||||
#pragma unused(param0, param3)
|
||||
|
||||
switch (param1) {
|
||||
case VCT_EVENT_DISCONNECTED:
|
||||
ov4_021D2B04(param2);
|
||||
break;
|
||||
case VCT_EVENT_CONNECTED:
|
||||
VCT_StartStreaming(param2);
|
||||
break;
|
||||
case VCT_EVENT_ABORT:
|
||||
ov4_021D2B04(param2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov4_021D2A38 (u8 param0, VCTEvent param1, VCTSession * param2, void * param3)
|
||||
{
|
||||
#pragma unused(param0, param3)
|
||||
|
||||
int v0;
|
||||
|
||||
switch (param1) {
|
||||
case VCT_EVENT_INCOMING:
|
||||
if (Unk_ov4_0221A408->unk_1A54) {
|
||||
v0 = VCT_Response(param2, VCT_RESPONSE_BUSY_HERE);
|
||||
VCT_DeleteSession(param2);
|
||||
break;
|
||||
}
|
||||
|
||||
Unk_ov4_0221A408->unk_1A54 = param2;
|
||||
break;
|
||||
case VCT_EVENT_RESPONDBYE:
|
||||
v0 = VCT_Response(param2, VCT_RESPONSE_OK);
|
||||
|
||||
if (v0 != VCT_ERROR_NONE) {
|
||||
(void)0;
|
||||
}
|
||||
|
||||
ov4_021D2B04(param2);
|
||||
ov4_021D1F18();
|
||||
break;
|
||||
case VCT_EVENT_DISCONNECTED:
|
||||
ov4_021D2B04(param2);
|
||||
ov4_021D1F18();
|
||||
break;
|
||||
case VCT_EVENT_CANCEL:
|
||||
v0 = VCT_Response(param2, VCT_RESPONSE_TERMINATED);
|
||||
|
||||
if (v0 != VCT_ERROR_NONE) {
|
||||
(void)0;
|
||||
}
|
||||
|
||||
ov4_021D2B04(param2);
|
||||
break;
|
||||
case VCT_EVENT_CONNECTED:
|
||||
if (param2->mode != Unk_ov4_0221A408->unk_19E8) {
|
||||
ov4_021D2B04(param2);
|
||||
return;
|
||||
}
|
||||
|
||||
if (VCT_StartStreaming(param2)) {
|
||||
Unk_ov4_0221A408->unk_19EC = 2;
|
||||
} else {
|
||||
(void)0;
|
||||
}
|
||||
break;
|
||||
case VCT_EVENT_REJECT:
|
||||
ov4_021D2B04(param2);
|
||||
break;
|
||||
case VCT_EVENT_BUSY:
|
||||
case VCT_EVENT_TIMEOUT:
|
||||
case VCT_EVENT_ABORT:
|
||||
ov4_021D2B04(param2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov4_021D2B04 (VCTSession * param0)
|
||||
{
|
||||
VCT_StopStreaming(param0);
|
||||
VCT_DeleteSession(param0);
|
||||
Unk_ov4_0221A408->unk_1A54 = NULL;
|
||||
}
|
||||
|
||||
void ov4_021D2B28 (void)
|
||||
{
|
||||
OSTick v0;
|
||||
|
||||
v0 = OS_GetTick();
|
||||
|
||||
Unk_ov4_0221A404 += OS_TicksToMicroSeconds32(v0 - Unk_ov4_0221A40C) - 1000 * 1000 / 60;
|
||||
|
||||
if (Unk_ov4_0221A404 < -10000) {
|
||||
Unk_ov4_0221A404 = 0;
|
||||
}
|
||||
|
||||
Unk_ov4_0221A40C = v0;
|
||||
VCT_Main();
|
||||
|
||||
while (Unk_ov4_0221A404 >= 1000 * 1000 / 60) {
|
||||
VCT_Main();
|
||||
Unk_ov4_0221A404 -= 1000 * 1000 / 60;
|
||||
}
|
||||
|
||||
if (Unk_ov4_0221A408->unk_1A80) {
|
||||
switch (Unk_ov4_0221A408->unk_1A7C) {
|
||||
case 0:
|
||||
PM_SetAmpGain(PM_AMPGAIN_160);
|
||||
break;
|
||||
case 1:
|
||||
PM_SetAmpGain(PM_AMPGAIN_80);
|
||||
break;
|
||||
case 2:
|
||||
PM_SetAmpGain(PM_AMPGAIN_40);
|
||||
break;
|
||||
case 3:
|
||||
PM_SetAmpGain(PM_AMPGAIN_20);
|
||||
break;
|
||||
}
|
||||
|
||||
Unk_ov4_0221A408->unk_1A80 = 0;
|
||||
}
|
||||
|
||||
if (Unk_ov4_0221A408->unk_19E8 != VCT_MODE_CONFERENCE) {
|
||||
switch (Unk_ov4_0221A408->unk_19EC) {
|
||||
case 0:
|
||||
{
|
||||
if (ov4_021D1E30() == 0) {
|
||||
if (ov4_021D2974(1)) {
|
||||
Unk_ov4_0221A408->unk_19EC = 1;
|
||||
Unk_ov4_0221A408->unk_1A5A = 60;
|
||||
}
|
||||
} else if (ov4_021D1E30() == 1) {
|
||||
if (ov4_021D29C8(0)) {
|
||||
Unk_ov4_0221A408->unk_19EC = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
Unk_ov4_0221A408->unk_1A5A--;
|
||||
|
||||
if (Unk_ov4_0221A408->unk_1A5A == 0) {
|
||||
Unk_ov4_0221A408->unk_19EC = 0;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL ov4_021D2C70 (int param0, void * param1, int param2)
|
||||
{
|
||||
if (Unk_ov4_0221A408 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (VCT_HandleData(param0, param1, param2)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov4_021D2C98 (void ** param0, void ** param1, int param2, int param3)
|
||||
{
|
||||
*param0 = sub_02018144(param3, param2 + 32);
|
||||
MI_CpuClear8(*param0, param2 + 32);
|
||||
*param1 = (UnkStruct_ov4_0221A408 *)(((u32) * param0 + 31) / 32 * 32);
|
||||
}
|
||||
|
||||
void ov4_021D2CC0 (int param0, int param1, int param2)
|
||||
{
|
||||
u8 v0[3] = {13, 13, 13};
|
||||
u32 v1;
|
||||
BOOL v2;
|
||||
int v3;
|
||||
|
||||
if (Unk_ov4_0221A408 == NULL) {
|
||||
void * v4 = NULL;
|
||||
|
||||
ov4_021D2C98(&v4, (void **)&Unk_ov4_0221A408, sizeof(UnkStruct_ov4_0221A408), param0);
|
||||
Unk_ov4_0221A408->unk_880 = v4;
|
||||
ov4_021D2C98((void **)&Unk_ov4_0221A408->unk_888, (void **)&Unk_ov4_0221A408->unk_884, VCT_AUDIO_BUFFER_SIZE * param2 * VCT_DEFAULT_AUDIO_BUFFER_COUNT + 32, param0);
|
||||
|
||||
Unk_ov4_0221A408->unk_19F4 = param0;
|
||||
Unk_ov4_0221A408->unk_198C = NULL;
|
||||
|
||||
ov4_021D2808();
|
||||
}
|
||||
|
||||
v1 = (u32)(8000 * VCT_AUDIO_FRAME_LENGTH * 2) / 1000;
|
||||
|
||||
{
|
||||
Unk_ov4_0221A408->unk_1A5C.type = MIC_SAMPLING_TYPE_SIGNED_12BIT;
|
||||
Unk_ov4_0221A408->unk_1A5C.buffer = Unk_ov4_0221A408->unk_00;
|
||||
Unk_ov4_0221A408->unk_1A5C.size = v1 * 2;
|
||||
Unk_ov4_0221A408->unk_1A5C.rate = (u32)((NNS_SND_STRM_TIMER_CLOCK / 8000) * 64);
|
||||
Unk_ov4_0221A408->unk_1A5C.loop_enable = 1;
|
||||
Unk_ov4_0221A408->unk_1A5C.full_callback = NULL;
|
||||
Unk_ov4_0221A408->unk_1A5C.full_arg = NULL;
|
||||
Unk_ov4_0221A408->unk_1A59 = 1;
|
||||
}
|
||||
|
||||
NNS_SndStrmAllocChannel(&Unk_ov4_0221A408->unk_19F8, 1, v0);
|
||||
NNS_SndStrmSetVolume(&Unk_ov4_0221A408->unk_19F8, 0);
|
||||
|
||||
v2 = NNS_SndStrmSetup(&Unk_ov4_0221A408->unk_19F8, NNS_SND_STRM_FORMAT_PCM16, Unk_ov4_0221A408->unk_88C, v1 * 2 * 1, NNS_SND_STRM_TIMER_CLOCK / 8000, 2, ov4_021D28B4, Unk_ov4_0221A408->unk_00);
|
||||
|
||||
Unk_ov4_0221A408->unk_19EC = 0;
|
||||
Unk_ov4_0221A408->unk_1A54 = NULL;
|
||||
|
||||
{
|
||||
VCTConfig v5;
|
||||
|
||||
if (!sub_0203272C(sub_0203895C())) {
|
||||
v5.mode = VCT_MODE_PHONE;
|
||||
} else {
|
||||
v5.mode = VCT_MODE_CONFERENCE;
|
||||
}
|
||||
|
||||
Unk_ov4_0221A408->unk_19E8 = v5.mode;
|
||||
|
||||
v5.session = Unk_ov4_0221A408->unk_1990;
|
||||
v5.numSession = param2;
|
||||
v5.aid = DWC_GetMyAID();
|
||||
|
||||
GF_ASSERT((v5.aid != -1));
|
||||
|
||||
if (Unk_ov4_0221A408->unk_19E8 == VCT_MODE_CONFERENCE) {
|
||||
v5.callback = ov4_021D2A10;
|
||||
} else {
|
||||
v5.callback = ov4_021D2A38;
|
||||
}
|
||||
|
||||
v5.userData = NULL;
|
||||
v5.audioBuffer = Unk_ov4_0221A408->unk_884;
|
||||
v5.audioBufferSize = VCT_AUDIO_BUFFER_SIZE * param2 * VCT_DEFAULT_AUDIO_BUFFER_COUNT + 32;
|
||||
|
||||
if (!VCT_Init(&v5)) {
|
||||
(void)0;
|
||||
}
|
||||
}
|
||||
|
||||
Unk_ov4_0221A408->unk_19F0 = 0;
|
||||
|
||||
VCT_SetCodec(param1);
|
||||
ov4_021D2E8C();
|
||||
VCT_EnableEchoCancel(1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
static void ov4_021D2E8C (void)
|
||||
{
|
||||
NNS_SndStrmStart(&Unk_ov4_0221A408->unk_19F8);
|
||||
}
|
||||
|
||||
void ov4_021D2EA4 (void)
|
||||
{
|
||||
int v0;
|
||||
|
||||
if ((Unk_ov4_0221A408->unk_1A54 == NULL) || (Unk_ov4_0221A408->unk_19EC == 0)) {
|
||||
ov4_021D1F18();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Unk_ov4_0221A408->unk_19EC == 1) {
|
||||
v0 = VCT_Request(Unk_ov4_0221A408->unk_1A54, VCT_REQUEST_CANCEL);
|
||||
|
||||
if (v0 != VCT_ERROR_NONE) {
|
||||
ov4_021D1F18();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
v0 = VCT_Request(Unk_ov4_0221A408->unk_1A54, VCT_REQUEST_BYE);
|
||||
|
||||
if (v0 != VCT_ERROR_NONE) {
|
||||
ov4_021D1F18();
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void ov4_021D2EF4 (void (* func)())
|
||||
{
|
||||
Unk_ov4_0221A408->unk_198C = func;
|
||||
}
|
||||
|
||||
void ov4_021D2F08 (void)
|
||||
{
|
||||
void (* v0)(void);
|
||||
|
||||
if (Unk_ov4_0221A408 != NULL) {
|
||||
v0 = Unk_ov4_0221A408->unk_198C;
|
||||
|
||||
(void)MIC_StopAutoSampling();
|
||||
NNS_SndStrmStop(&Unk_ov4_0221A408->unk_19F8);
|
||||
NNS_SndStrmFreeChannel(&Unk_ov4_0221A408->unk_19F8);
|
||||
|
||||
VCT_Cleanup();
|
||||
|
||||
sub_02018238(Unk_ov4_0221A408->unk_19F4, Unk_ov4_0221A408->unk_888);
|
||||
sub_02018238(Unk_ov4_0221A408->unk_19F4, Unk_ov4_0221A408->unk_880);
|
||||
Unk_ov4_0221A408 = NULL;
|
||||
|
||||
if (v0 != NULL) {
|
||||
v0();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL ov4_021D2F7C (void)
|
||||
{
|
||||
if (Unk_ov4_0221A408) {
|
||||
VCTVADInfo v0;
|
||||
|
||||
VCT_GetVADInfo(&v0);
|
||||
|
||||
if (v0.scale > 2) {
|
||||
return v0.activity;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ov4_021D2FA4 (void)
|
||||
{
|
||||
Unk_ov4_0221A408->unk_19F0 = 1;
|
||||
}
|
||||
|
||||
void ov4_021D2FB8 (void)
|
||||
{
|
||||
Unk_ov4_0221A408->unk_19F0 = 0;
|
||||
}
|
||||
|
||||
BOOL ov4_021D2FCC (int param0, int param1)
|
||||
{
|
||||
int v0, v1;
|
||||
|
||||
if (!(Unk_ov4_0221A408) || (Unk_ov4_0221A408->unk_19E8 != VCT_MODE_CONFERENCE)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (v0 == param1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param0 & (1 << v0)) {
|
||||
if (Unk_ov4_0221A408->unk_19D8[v0] == 1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
v1 = VCT_AddConferenceClient(v0);
|
||||
|
||||
if (v1 != VCT_ERROR_NONE) {
|
||||
return 0;
|
||||
} else {
|
||||
Unk_ov4_0221A408->unk_19D8[v0] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user