You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
384 lines
10 KiB
384 lines
10 KiB
// ref: 0x10005CFA |
|
signed int DirLink_10005CFA() { return 0; } |
|
/* { |
|
signed int result; // eax |
|
|
|
result = 2139095040; |
|
dword_10029730 = 2139095040; |
|
return result; |
|
} */ |
|
// 10029730: using guessed type int dword_10029730; |
|
|
|
// ref: 0x10005D05 |
|
BOOL __fastcall DirLink_10005D05(int a1, int a2, int a3, DWORD *a4, int a5, int playerid) { return 0; } |
|
/* { |
|
int v6; // esi |
|
|
|
dword_1002983C = a3; |
|
dword_1002984C = a2; |
|
dword_10029840 = a5; |
|
dword_10029848 = a4; |
|
gnDlinkPlayerid = playerid; |
|
artfont_10001159(); |
|
v6 = SDlgDialogBoxParam(hInstance, "DIRLINK_DIALOG", a4[2], DirLink_10005D63, 0); |
|
artfont_100010C8(); |
|
return v6 == 1; |
|
} */ |
|
// 10010370: using guessed type int __stdcall SDlgDialogBoxParam(DWORD, DWORD, DWORD, DWORD, DWORD); |
|
// 1002983C: using guessed type int dword_1002983C; |
|
// 10029840: using guessed type int dword_10029840; |
|
// 10029844: using guessed type int gnDlinkPlayerid; |
|
// 1002984C: using guessed type int dword_1002984C; |
|
|
|
// ref: 0x10005D63 |
|
int __stdcall DirLink_10005D63(HWND hWnd, UINT Msg, WPARAM wParam, unsigned int lParam) { return 0; } |
|
/* { |
|
HWND v4; // eax |
|
int v6; // [esp+0h] [ebp-Ch] |
|
char *v7; // [esp+4h] [ebp-8h] |
|
char *v8; // [esp+8h] [ebp-4h] |
|
|
|
if ( Msg > 0x111 ) |
|
{ |
|
switch ( Msg ) |
|
{ |
|
case 0x113u: |
|
if ( wParam == 3 ) |
|
{ |
|
DirLink_100062BF(hWnd, v6, v7, v8); |
|
DirLink_10006073(hWnd); |
|
} |
|
return 0; |
|
case 0x201u: |
|
DirLink_10006359(hWnd, (unsigned short)lParam, lParam >> 16); |
|
break; |
|
case 0x7E8u: |
|
if ( !Fade_1000739F() ) |
|
Fade_100073FD(hWnd, v6); |
|
return 0; |
|
} |
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); |
|
} |
|
if ( Msg == 273 ) |
|
{ |
|
if ( HIWORD(wParam) == 7 ) |
|
{ |
|
Focus_100075B7(hWnd, (HWND)lParam); |
|
} |
|
else if ( HIWORD(wParam) == 6 ) |
|
{ |
|
Focus_10007458((void *)lParam); |
|
Focus_100075DC(hWnd, (HWND)lParam); |
|
DirLink_10005EB2(hWnd, (unsigned short)wParam); |
|
} |
|
else if ( wParam == 327681 ) |
|
{ |
|
DirLink_100060D1(hWnd); |
|
} |
|
else if ( (WORD)wParam == 2 ) |
|
{ |
|
DirLink_10006047((int)hWnd, 2); |
|
} |
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); |
|
} |
|
if ( Msg == 2 ) |
|
{ |
|
DirLink_10005F1F(hWnd); |
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); |
|
} |
|
if ( Msg <= 0x103 ) |
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); |
|
if ( Msg <= 0x105 ) |
|
{ |
|
v4 = (HWND)SDrawGetFrameWindow(NULL); |
|
SendMessageA(v4, Msg, wParam, lParam); |
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); |
|
} |
|
if ( Msg != 272 ) |
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); |
|
PostMessageA(hWnd, 0x7E8u, 0, 0); |
|
DirLink_10005F7B(hWnd); |
|
return 0; |
|
} */ |
|
// 1001037C: using guessed type int __stdcall SDlgDefDialogProc(DWORD, DWORD, DWORD, DWORD); |
|
// 10010382: using guessed type DWORD __stdcall SDrawGetFrameWindow(); |
|
|
|
// ref: 0x10005EB2 |
|
int __fastcall DirLink_10005EB2(HWND hDlg, int a2) { return 0; } |
|
/* { |
|
HWND v2; // esi |
|
int v3; // edi |
|
HWND v4; // ebx |
|
int v5; // eax |
|
CHAR Buffer; // [esp+Ch] [ebp-100h] |
|
|
|
v2 = hDlg; |
|
v3 = a2; |
|
v4 = GetDlgItem(hDlg, 1102); |
|
if ( v3 == 1100 ) |
|
LoadStringA(hInstance, 0x2Au, &Buffer, 255); |
|
else |
|
LoadStringA(hInstance, 0x2Fu, &Buffer, 255); |
|
v5 = GetWindowLongA(v4, -21); |
|
local_10007FA4(v5, &Buffer); |
|
return Doom_10006A13(v2, (int *)&unk_10022A40, 1); |
|
} */ |
|
|
|
// ref: 0x10005F1F |
|
int UNKCALL DirLink_10005F1F(HWND hDlg) { return 0; } |
|
/* { |
|
HWND v1; // esi |
|
DWORD *v2; // eax |
|
|
|
v1 = hDlg; |
|
Doom_10006C53(hDlg, (int *)&unk_10022A54); |
|
Doom_10006C53(v1, (int *)&unk_10022A48); |
|
Doom_10006C53(v1, (int *)&unk_10022A40); |
|
Doom_10006C53(v1, (int *)&unk_10022A38); |
|
Doom_10006C53(v1, (int *)&unk_10022A2C); |
|
v2 = (DWORD *)GetWindowLongA(v1, -21); |
|
local_10007F72(v2); |
|
Title_100100E7(v1); |
|
return Focus_10007818(v1); |
|
} */ |
|
|
|
// ref: 0x10005F7B |
|
int UNKCALL DirLink_10005F7B(HWND hWnd) { return 0; } |
|
/* { |
|
HWND v1; // esi |
|
HWND v2; // ST1C_4 |
|
int v3; // eax |
|
int *v4; // edi |
|
HWND v6; // [esp-4h] [ebp-Ch] |
|
int v7; // [esp-4h] [ebp-Ch] |
|
char *v8; // [esp+0h] [ebp-8h] |
|
char *v9; // [esp+4h] [ebp-4h] |
|
|
|
v1 = hWnd; |
|
Focus_100077E9((int)hWnd, "ui_art\\focus16.pcx", v6); |
|
Title_1001009E(v1, (int)"ui_art\\smlogo.pcx", v2); |
|
v3 = local_10007F46(); |
|
v4 = (int *)v3; |
|
if ( v3 ) |
|
{ |
|
SetWindowLongA(v1, -21, v3); |
|
local_10007944((int)v1, 0, &byte_10029448, -1, 1, (int)"ui_art\\selgame.pcx", v4, v4 + 1, 0); |
|
Fade_100073C5(v1, 1); |
|
} |
|
local_10007CB5(v1, (int *)&unk_10022A54); |
|
Doom_100068AB(v1, (int *)&unk_10022A2C, 5); |
|
Doom_100068AB(v1, (int *)&unk_10022A38, 3); |
|
Doom_100068AB(v1, (int *)&unk_10022A40, 1); |
|
Doom_1000658C(v1, (int *)&unk_10022A48, 4, 0); |
|
Doom_1000658C(v1, (int *)&unk_10022A54, 2, 1); |
|
DirLink_100062BF(v1, v7, v8, v9); |
|
DirLink_10006073(v1); |
|
return SDlgSetTimer(v1, 3, 2000, 0); |
|
} */ |
|
// 10010412: using guessed type int __stdcall SDlgSetTimer(DWORD, DWORD, DWORD, DWORD); |
|
|
|
// ref: 0x10006047 |
|
int __fastcall DirLink_10006047(int a1, int a2) { return 0; } |
|
/* { |
|
int v2; // edi |
|
int v3; // esi |
|
|
|
v2 = a2; |
|
v3 = a1; |
|
TitleSnd_1001031F(); |
|
Fade_100073B4(); |
|
SDlgKillTimer(v3, 3); |
|
Fade_100072BE(10); |
|
return SDlgEndDialog(v3, v2); |
|
} */ |
|
// 10010376: using guessed type int __stdcall SDlgEndDialog(DWORD, DWORD); |
|
// 10010418: using guessed type int __stdcall SDlgKillTimer(DWORD, DWORD); |
|
|
|
// ref: 0x10006073 |
|
void UNKCALL DirLink_10006073(void *arg) { return; } |
|
/* { |
|
int v1; // esi |
|
char v2; // [esp+4h] [ebp-100h] |
|
char v3; // [esp+84h] [ebp-80h] |
|
|
|
v1 = (int)arg; |
|
if ( dword_10029738 ) |
|
{ |
|
Connect_10004028((int)&v2, 128, (int)&v3, 128); |
|
if ( SNetJoinGame(dword_10029738, &byte_1002973C, 0, &v2, &v3, gnDlinkPlayerid) ) |
|
DirLink_10006047(v1, 1); |
|
} |
|
} */ |
|
// 10010430: using guessed type int __stdcall SNetJoinGame(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD); |
|
// 10029738: using guessed type int dword_10029738; |
|
// 10029844: using guessed type int gnDlinkPlayerid; |
|
|
|
// ref: 0x100060D1 |
|
HWND UNKCALL DirLink_100060D1(HWND arg) { return 0; } |
|
/* { |
|
HWND v1; // esi |
|
HWND v2; // eax |
|
HWND v3; // edi |
|
HWND result; // eax |
|
CHAR Buffer; // [esp+8h] [ebp-80h] |
|
|
|
v1 = arg; |
|
v2 = GetFocus(); |
|
v3 = v2; |
|
result = GetParent(v2); |
|
if ( v1 == result ) |
|
{ |
|
if ( GetWindowLongA(v3, -12) == 1100 ) |
|
{ |
|
result = (HWND)DirLink_10006141(v1); |
|
} |
|
else if ( dword_10029738 ) |
|
{ |
|
result = (HWND)DirLink_100061E1(v1); |
|
} |
|
else |
|
{ |
|
LoadStringA(hInstance, 0x2Bu, &Buffer, 127); |
|
result = (HWND)SelYesNo_1000FD39((int)v1, &Buffer, 0, 0); |
|
} |
|
} |
|
return result; |
|
} */ |
|
// 10029738: using guessed type int dword_10029738; |
|
|
|
// ref: 0x10006141 |
|
int UNKCALL DirLink_10006141(void *arg) { return 0; } |
|
/* { |
|
int v1; // edi |
|
int result; // eax |
|
char v3; // [esp+8h] [ebp-E0h] |
|
int v4; // [esp+88h] [ebp-60h] |
|
int v5; // [esp+90h] [ebp-58h] |
|
int v6; // [esp+D8h] [ebp-10h] |
|
int v7; // [esp+DCh] [ebp-Ch] |
|
int v8; // [esp+E0h] [ebp-8h] |
|
int v9; // [esp+E4h] [ebp-4h] |
|
|
|
v1 = (int)arg; |
|
Connect_10004028((int)&v3, 128, 0, 0); |
|
memcpy(&v4, dword_10029848, 0x50u); |
|
v4 = 80; |
|
v5 = v1; |
|
memset(&v6, 0, 0x10u); |
|
v6 = 16; |
|
v7 = 1396916812; |
|
v8 = *(DWORD *)(dword_1002984C + 24); |
|
v9 = 0; |
|
result = CreaDung_100051D8( |
|
(int)&v6, |
|
dword_1002984C, |
|
dword_1002983C, |
|
(int)&v4, |
|
dword_10029840, |
|
gnDlinkPlayerid, |
|
0, |
|
(int)&v3); |
|
if ( result ) |
|
result = DirLink_10006047(v1, 1); |
|
return result; |
|
} */ |
|
// 1002983C: using guessed type int dword_1002983C; |
|
// 10029840: using guessed type int dword_10029840; |
|
// 10029844: using guessed type int gnDlinkPlayerid; |
|
// 1002984C: using guessed type int dword_1002984C; |
|
|
|
// ref: 0x100061E1 |
|
int UNKCALL DirLink_100061E1(void *arg) { return 0; } |
|
/* { |
|
int v1; // ebx |
|
CHAR *v2; // edx |
|
CHAR v4; // [esp+Ch] [ebp-380h] |
|
CHAR v5; // [esp+10Ch] [ebp-280h] |
|
int v6; // [esp+20Ch] [ebp-180h] |
|
char v7; // [esp+28Ch] [ebp-100h] |
|
CHAR Buffer; // [esp+30Ch] [ebp-80h] |
|
|
|
v1 = (int)arg; |
|
Connect_10004028((int)&v6, 128, (int)&v7, 128); |
|
if ( UiAuthCallback(2, (int)&v6, &v7, 0, &byte_100297BC, &v5, 256) ) |
|
{ |
|
if ( SNetJoinGame(dword_10029738, &byte_1002973C, 0, &v6, &v7, gnDlinkPlayerid) ) |
|
return DirLink_10006047(v1, 1); |
|
if ( SErrGetLastError() == -2062548871 ) |
|
LoadStringA(hInstance, 0x32u, &Buffer, 127); |
|
else |
|
LoadStringA(hInstance, 0x25u, &Buffer, 127); |
|
wsprintfA(&v4, &Buffer, &byte_1002973C); |
|
v2 = &v4; |
|
} |
|
else |
|
{ |
|
v2 = &v5; |
|
} |
|
return SelYesNo_1000FD39(v1, v2, 0, 0); |
|
} */ |
|
// 10010406: using guessed type DWORD __stdcall SErrGetLastError(); |
|
// 10010430: using guessed type int __stdcall SNetJoinGame(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD); |
|
// 10029738: using guessed type int dword_10029738; |
|
// 10029844: using guessed type int gnDlinkPlayerid; |
|
|
|
// ref: 0x100062BF |
|
int UNKCALL DirLink_100062BF(void *arg, int a2, char *a3, char *a4) { return 0; } |
|
/* { |
|
int v4; // esi |
|
int result; // eax |
|
CHAR Buffer; // [esp+8h] [ebp-80h] |
|
|
|
v4 = (int)arg; |
|
dword_10029738 = 0; |
|
byte_1002973C = 0; |
|
byte_100297BC = 0; |
|
result = SNetEnumGames(0, 0, DirLink_1000632B, 0); |
|
if ( !result ) |
|
{ |
|
result = SErrGetLastError(); |
|
if ( result == -2062548871 ) |
|
{ |
|
LoadStringA(hInstance, 0x32u, &Buffer, 127); |
|
SelYesNo_1000FD39(v4, &Buffer, 0, 0); |
|
result = DirLink_10006047(v4, 2); |
|
} |
|
} |
|
return result; |
|
} */ |
|
// 10010406: using guessed type DWORD __stdcall SErrGetLastError(); |
|
// 10010436: using guessed type int __stdcall SNetEnumGames(DWORD, DWORD, DWORD, DWORD); |
|
// 10029738: using guessed type int dword_10029738; |
|
|
|
// ref: 0x1000632B |
|
signed int __stdcall DirLink_1000632B(int a1, char *a2, char *a3) { return 0; } |
|
/* { |
|
dword_10029738 = a1; |
|
strcpy(&byte_1002973C, a2); |
|
strcpy(&byte_100297BC, a3); |
|
return 1; |
|
} */ |
|
// 10029738: using guessed type int dword_10029738; |
|
|
|
// ref: 0x10006359 |
|
HWND __fastcall DirLink_10006359(HWND hWnd, int a2, int a3) { return 0; } |
|
/* { |
|
int v3; // ebx |
|
HWND v4; // esi |
|
int v5; // ST08_4 |
|
HWND v6; // eax |
|
HWND result; // eax |
|
HWND v8; // eax |
|
|
|
v3 = a2; |
|
v4 = hWnd; |
|
v5 = a2; |
|
v6 = GetDlgItem(hWnd, 1056); |
|
if ( local_10007C3B(v4, v6, v5, a3) ) |
|
return DirLink_100060D1(v4); |
|
v8 = GetDlgItem(v4, 1054); |
|
result = (HWND)local_10007C3B(v4, v8, v3, a3); |
|
if ( result ) |
|
result = (HWND)DirLink_10006047((int)v4, 2); |
|
return result; |
|
} */
|
|
|