mirror of
https://github.com/galaxyhaxz/devilution
synced 2024-11-14 16:29:02 +00:00
477 lines
12 KiB
C++
477 lines
12 KiB
C++
// ref: 0x1000855D
|
|
int Modem_1000855D() { return 0; }
|
|
/* {
|
|
return dword_1002A124;
|
|
} */
|
|
// 1002A124: using guessed type int dword_1002A124;
|
|
|
|
// ref: 0x10008563
|
|
HWND __fastcall Modem_10008563(HWND hDlg, const char *a2, int a3) { return 0; }
|
|
/* {
|
|
HWND v3; // esi
|
|
const char *v4; // ebp
|
|
HWND result; // eax
|
|
|
|
v3 = hDlg;
|
|
v4 = a2;
|
|
result = GetDlgItem(hDlg, 1108);
|
|
if ( result )
|
|
{
|
|
result = (HWND)GetWindowLongA(result, -21);
|
|
if ( result )
|
|
{
|
|
local_10007FA4((int)result, (const char *)a3);
|
|
Doom_10006A13(v3, (int *)&unk_10022C5C, 1);
|
|
result = GetDlgItem(v3, 1080);
|
|
if ( result )
|
|
{
|
|
result = (HWND)GetWindowLongA(result, -21);
|
|
if ( result )
|
|
{
|
|
local_10007FA4((int)result, v4);
|
|
result = (HWND)Doom_10006A13(v3, (int *)&unk_10022C54, 3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
} */
|
|
|
|
// ref: 0x100085D8
|
|
int __stdcall Modem_100085D8(int a1, char *a2, char *a3) { return 0; }
|
|
/* {
|
|
dword_1002A150 = a1;
|
|
strcpy(&byte_1002A154, a2);
|
|
strcpy(&byte_1002A1D4, a3);
|
|
return 1;
|
|
} */
|
|
// 1002A150: using guessed type int dword_1002A150;
|
|
|
|
// ref: 0x10008606
|
|
BOOL Modem_10008606() { return 0; }
|
|
/* {
|
|
BOOL result; // eax
|
|
|
|
dword_1002A150 = 0;
|
|
byte_1002A154 = 0;
|
|
byte_1002A1D4 = 0;
|
|
if ( SNetEnumGames(0, 0, Modem_100085D8, 0) )
|
|
result = dword_1002A150 != 0;
|
|
else
|
|
result = 0;
|
|
return result;
|
|
} */
|
|
// 10010436: using guessed type int __stdcall SNetEnumGames(_DWORD, _DWORD, _DWORD, _DWORD);
|
|
// 1002A150: using guessed type int dword_1002A150;
|
|
|
|
// ref: 0x1000863D
|
|
char *Modem_1000863D() { return 0; }
|
|
/* {
|
|
return &byte_1002A154;
|
|
} */
|
|
|
|
// ref: 0x10008648
|
|
signed int Modem_10008648() { return 0; }
|
|
/* {
|
|
signed int result; // eax
|
|
|
|
result = 2139095040;
|
|
dword_1002A128 = 2139095040;
|
|
return result;
|
|
} */
|
|
// 1002A128: using guessed type int dword_1002A128;
|
|
|
|
// ref: 0x10008653
|
|
int Modem_10008653() { return 0; }
|
|
/* {
|
|
return dword_1002A148;
|
|
} */
|
|
// 1002A148: using guessed type int dword_1002A148;
|
|
|
|
// ref: 0x10008659
|
|
int Modem_10008659() { return 0; }
|
|
/* {
|
|
return dword_1002A134;
|
|
} */
|
|
// 1002A134: using guessed type int dword_1002A134;
|
|
|
|
// ref: 0x1000865F
|
|
int UNKCALL Modem_1000865F(char *arg) { return 0; }
|
|
/* {
|
|
char v1; // al
|
|
int result; // eax
|
|
|
|
while ( 1 )
|
|
{
|
|
v1 = *arg;
|
|
if ( !*arg || (unsigned char)v1 >= 0x30u && (unsigned char)v1 <= 0x39u )
|
|
break;
|
|
++arg;
|
|
}
|
|
if ( *arg )
|
|
result = atoi(arg);
|
|
else
|
|
result = 0;
|
|
return result;
|
|
} */
|
|
|
|
// ref: 0x10008680
|
|
BOOL __fastcall Modem_10008680(int a1, int a2, int a3, _DWORD *a4, int a5, int a6) { return 0; }
|
|
/* {
|
|
int v6; // esi
|
|
|
|
dword_1002A13C = a3;
|
|
dword_1002A138 = a2;
|
|
dword_1002A144 = a5;
|
|
dword_1002A14C = a4;
|
|
dword_1002A140 = a6;
|
|
artfont_10001159();
|
|
v6 = SDlgDialogBoxParam(hInstance, "MODEM_DIALOG", a4[2], Modem_100086DE, 0);
|
|
artfont_100010C8();
|
|
return v6 == 1;
|
|
} */
|
|
// 10010370: using guessed type int __stdcall SDlgDialogBoxParam(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
|
|
// 1002A138: using guessed type int dword_1002A138;
|
|
// 1002A13C: using guessed type int dword_1002A13C;
|
|
// 1002A140: using guessed type int dword_1002A140;
|
|
// 1002A144: using guessed type int dword_1002A144;
|
|
|
|
// ref: 0x100086DE
|
|
int __stdcall Modem_100086DE(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { return 0; }
|
|
/* {
|
|
HWND v4; // eax
|
|
int v6; // [esp+0h] [ebp-8h]
|
|
|
|
if ( Msg > 0x7E8 )
|
|
{
|
|
switch ( Msg )
|
|
{
|
|
case 0xBD0u:
|
|
Modem_100088DB(hWnd);
|
|
return 0;
|
|
case 0xBD1u:
|
|
Modem_10008BB7(hWnd);
|
|
return 0;
|
|
case 0xBD2u:
|
|
Modem_10008BFE(hWnd);
|
|
return 0;
|
|
}
|
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam);
|
|
}
|
|
if ( Msg == 2024 )
|
|
{
|
|
if ( !Fade_1000739F() )
|
|
Fade_100073FD(hWnd, v6);
|
|
return 0;
|
|
}
|
|
if ( Msg == 2 )
|
|
{
|
|
Modem_1000879E(hWnd);
|
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam);
|
|
}
|
|
if ( Msg <= 0x103 )
|
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam);
|
|
if ( Msg <= 0x105 )
|
|
{
|
|
v4 = (HWND)SDrawGetFrameWindow();
|
|
SendMessageA(v4, Msg, wParam, lParam);
|
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam);
|
|
}
|
|
if ( Msg != 272 )
|
|
return SDlgDefDialogProc(hWnd, Msg, wParam, lParam);
|
|
Modem_100087DB(hWnd);
|
|
PostMessageA(hWnd, 0x7E8u, 0, 0);
|
|
return 0;
|
|
} */
|
|
// 1001037C: using guessed type int __stdcall SDlgDefDialogProc(_DWORD, _DWORD, _DWORD, _DWORD);
|
|
// 10010382: using guessed type _DWORD __stdcall SDrawGetFrameWindow();
|
|
|
|
// ref: 0x1000879E
|
|
void **UNKCALL Modem_1000879E(HWND hDlg) { return 0; }
|
|
/* {
|
|
HWND v1; // esi
|
|
_DWORD *v2; // eax
|
|
|
|
v1 = hDlg;
|
|
Doom_10006C53(hDlg, (int *)&unk_10022C5C);
|
|
Doom_10006C53(v1, (int *)&unk_10022C54);
|
|
Doom_10006C53(v1, (int *)&unk_10022C4C);
|
|
v2 = (_DWORD *)GetWindowLongA(v1, -21);
|
|
local_10007F72(v2);
|
|
return Title_100100E7(v1);
|
|
} */
|
|
|
|
// ref: 0x100087DB
|
|
BOOL UNKCALL Modem_100087DB(HWND hWnd) { return 0; }
|
|
/* {
|
|
HWND v1; // esi
|
|
int v2; // eax
|
|
int *v3; // edi
|
|
HWND v5; // [esp+0h] [ebp-10h]
|
|
|
|
v1 = hWnd;
|
|
Title_1001009E(hWnd, (int)"ui_art\\smlogo.pcx", v5);
|
|
v2 = local_10007F46();
|
|
v3 = (int *)v2;
|
|
if ( v2 )
|
|
{
|
|
SetWindowLongA(v1, -21, v2);
|
|
local_10007944((int)v1, 0, &byte_10029448, -1, 1, (int)"ui_art\\selgame.pcx", v3, v3 + 1, 0);
|
|
Fade_100073C5(v1, 1);
|
|
}
|
|
Doom_100068AB(v1, (int *)&unk_10022C4C, 5);
|
|
Doom_100068AB(v1, (int *)&unk_10022C54, 3);
|
|
Doom_100068AB(v1, (int *)&unk_10022C5C, 1);
|
|
Modem_10008888();
|
|
if ( dword_1002A124 )
|
|
return PostMessageA(v1, 0xBD2u, 0, 0);
|
|
dword_1002A134 = 1;
|
|
dword_1002A130 = 1;
|
|
return PostMessageA(v1, 0xBD0u, 0, 0);
|
|
} */
|
|
// 1002A124: using guessed type int dword_1002A124;
|
|
// 1002A130: using guessed type int dword_1002A130;
|
|
// 1002A134: using guessed type int dword_1002A134;
|
|
|
|
// ref: 0x10008888
|
|
int Modem_10008888() { return 0; }
|
|
/* {
|
|
int result; // eax
|
|
|
|
dword_1002A150 = 0;
|
|
byte_1002A154 = 0;
|
|
byte_1002A1D4 = 0;
|
|
result = SNetEnumGames(0, 0, Modem_100085D8, 0);
|
|
if ( result )
|
|
{
|
|
dword_1002A124 = 1;
|
|
}
|
|
else
|
|
{
|
|
result = SErrGetLastError();
|
|
if ( result == 1222 )
|
|
{
|
|
dword_1002A124 = 0;
|
|
result = 1;
|
|
dword_1002A134 = 1;
|
|
dword_1002A130 = 1;
|
|
}
|
|
}
|
|
return result;
|
|
} */
|
|
// 10010406: using guessed type _DWORD __stdcall SErrGetLastError();
|
|
// 10010436: using guessed type int __stdcall SNetEnumGames(_DWORD, _DWORD, _DWORD, _DWORD);
|
|
// 1002A124: using guessed type int dword_1002A124;
|
|
// 1002A130: using guessed type int dword_1002A130;
|
|
// 1002A134: using guessed type int dword_1002A134;
|
|
// 1002A150: using guessed type int dword_1002A150;
|
|
|
|
// ref: 0x100088DB
|
|
int UNKCALL Modem_100088DB(HWND hWnd) { return 0; }
|
|
/* {
|
|
HWND v1; // esi
|
|
int v2; // eax
|
|
int v3; // eax
|
|
int v5; // [esp+4h] [ebp-20h]
|
|
|
|
v1 = hWnd;
|
|
v2 = SDlgDialogBoxParam(hInstance, "SELDIAL_DIALOG", hWnd, SelDial_1000B0CF, &v5) - 3;
|
|
if ( !v2 )
|
|
return Modem_1000893D(v1);
|
|
v3 = v2 - 1;
|
|
if ( !v3 )
|
|
return Modem_10008A38(v1, (int)&v5);
|
|
if ( v3 == 1 )
|
|
return PostMessageA(v1, 0xBD1u, 0, 0);
|
|
return SelHero_1000C3E2((int)v1, 2);
|
|
} */
|
|
// 10010370: using guessed type int __stdcall SDlgDialogBoxParam(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
|
|
|
|
// ref: 0x1000893D
|
|
int UNKCALL Modem_1000893D(HWND hWnd) { return 0; }
|
|
/* {
|
|
HWND v1; // esi
|
|
int v2; // eax
|
|
int result; // eax
|
|
CHAR v4; // [esp+8h] [ebp-C0h]
|
|
int v5; // [esp+48h] [ebp-80h]
|
|
HWND v6; // [esp+50h] [ebp-78h]
|
|
CHAR Buffer; // [esp+98h] [ebp-30h]
|
|
int v8; // [esp+B8h] [ebp-10h]
|
|
int v9; // [esp+BCh] [ebp-Ch]
|
|
int v10; // [esp+C0h] [ebp-8h]
|
|
int v11; // [esp+C4h] [ebp-4h]
|
|
|
|
v1 = hWnd;
|
|
memcpy(&v5, dword_1002A14C, 0x50u);
|
|
v5 = 80;
|
|
v6 = v1;
|
|
memset(&v8, 0, 0x10u);
|
|
v8 = 16;
|
|
v9 = 1297040461;
|
|
v2 = *(_DWORD *)(dword_1002A138 + 24);
|
|
v11 = 0;
|
|
v10 = v2;
|
|
LoadStringA(hInstance, 0x47u, &Buffer, 31);
|
|
wsprintfA(&v4, &Buffer, dword_1002A130);
|
|
if ( CreaDung_100051D8(
|
|
(int)&v8,
|
|
dword_1002A138,
|
|
dword_1002A13C,
|
|
(int)&v5,
|
|
dword_1002A144,
|
|
dword_1002A140,
|
|
1,
|
|
(int)&v4) )
|
|
{
|
|
++dword_1002A130;
|
|
result = SelHero_1000C3E2((int)v1, 1);
|
|
}
|
|
else if ( dword_1002A124 )
|
|
{
|
|
if ( SErrGetLastError() == 183 )
|
|
++dword_1002A130;
|
|
result = PostMessageA(v1, 0xBD2u, 0, 0);
|
|
}
|
|
else
|
|
{
|
|
result = PostMessageA(v1, 0xBD0u, 0, 0);
|
|
}
|
|
return result;
|
|
} */
|
|
// 10010406: using guessed type _DWORD __stdcall SErrGetLastError();
|
|
// 1002A124: using guessed type int dword_1002A124;
|
|
// 1002A130: using guessed type int dword_1002A130;
|
|
// 1002A138: using guessed type int dword_1002A138;
|
|
// 1002A13C: using guessed type int dword_1002A13C;
|
|
// 1002A140: using guessed type int dword_1002A140;
|
|
// 1002A144: using guessed type int dword_1002A144;
|
|
|
|
// ref: 0x10008A38
|
|
int __fastcall Modem_10008A38(HWND hWnd, int a2) { return 0; }
|
|
/* {
|
|
char *v2; // ebx
|
|
HWND v3; // edi
|
|
int v4; // eax
|
|
int result; // eax
|
|
CHAR Buffer; // [esp+Ch] [ebp-80h]
|
|
|
|
v2 = (char *)a2;
|
|
v3 = hWnd;
|
|
dword_1002A148 = 0;
|
|
_beginthread((int)Modem_10008B42, 0, a2);
|
|
ModmStat_10008C87(v3);
|
|
if ( !dword_1002A120 )
|
|
{
|
|
switch ( dword_1002A12C )
|
|
{
|
|
case -2062548871:
|
|
LoadStringA(hInstance, 0x32u, &Buffer, 127);
|
|
break;
|
|
case 54:
|
|
LoadStringA(hInstance, 0x42u, &Buffer, 127);
|
|
break;
|
|
case 1204:
|
|
LoadStringA(hInstance, 0x4Cu, &Buffer, 127);
|
|
break;
|
|
case 1222:
|
|
LoadStringA(hInstance, 0x41u, &Buffer, 127);
|
|
break;
|
|
case 1223:
|
|
goto LABEL_18;
|
|
case 2250:
|
|
LoadStringA(hInstance, 0x40u, &Buffer, 127);
|
|
break;
|
|
default:
|
|
LoadStringA(hInstance, 0x33u, &Buffer, 127);
|
|
break;
|
|
}
|
|
SelYesNo_1000FD39((int)v3, &Buffer, 0, 1);
|
|
LABEL_18:
|
|
if ( dword_1002A124 )
|
|
result = PostMessageA(v3, 0xBD2u, 0, 0);
|
|
else
|
|
result = PostMessageA(v3, 0xBD0u, 0, 0);
|
|
return result;
|
|
}
|
|
if ( !dword_1002A124 )
|
|
{
|
|
SelDial_1000B011(v2);
|
|
Modem_10008606();
|
|
}
|
|
v4 = Modem_1000865F(&byte_1002A154);
|
|
dword_1002A134 = v4;
|
|
dword_1002A130 = v4 + 1;
|
|
return SelHero_1000C3E2((int)v3, 1);
|
|
} */
|
|
// 1002A120: using guessed type int dword_1002A120;
|
|
// 1002A124: using guessed type int dword_1002A124;
|
|
// 1002A12C: using guessed type int dword_1002A12C;
|
|
// 1002A130: using guessed type int dword_1002A130;
|
|
// 1002A134: using guessed type int dword_1002A134;
|
|
// 1002A148: using guessed type int dword_1002A148;
|
|
|
|
// ref: 0x10008B42
|
|
void __cdecl Modem_10008B42(char *a1) { return; }
|
|
/* {
|
|
char *v1; // eax
|
|
char v2; // [esp+0h] [ebp-100h]
|
|
char v3; // [esp+80h] [ebp-80h]
|
|
|
|
Connect_10004028((int)&v2, 128, (int)&v3, 128);
|
|
dword_1002A148 = 0;
|
|
v1 = &byte_1002A154;
|
|
if ( !dword_1002A124 )
|
|
v1 = a1;
|
|
dword_1002A120 = SNetJoinGame(0, v1, 0, &v2, &v3, dword_1002A140);
|
|
if ( !dword_1002A120 )
|
|
dword_1002A12C = SErrGetLastError();
|
|
dword_1002A148 = 1;
|
|
_endthread();
|
|
} */
|
|
// 10010406: using guessed type _DWORD __stdcall SErrGetLastError();
|
|
// 10010430: using guessed type int __stdcall SNetJoinGame(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
|
|
// 10011E20: using guessed type int _endthread(void);
|
|
// 1002A120: using guessed type int dword_1002A120;
|
|
// 1002A124: using guessed type int dword_1002A124;
|
|
// 1002A12C: using guessed type int dword_1002A12C;
|
|
// 1002A140: using guessed type int dword_1002A140;
|
|
// 1002A148: using guessed type int dword_1002A148;
|
|
|
|
// ref: 0x10008BB7
|
|
int UNKCALL Modem_10008BB7(HWND hWnd) { return 0; }
|
|
/* {
|
|
HWND v1; // esi
|
|
int result; // eax
|
|
int v3; // [esp+4h] [ebp-20h]
|
|
|
|
v1 = hWnd;
|
|
if ( SDlgDialogBoxParam(hInstance, "ENTERDIAL_DIALOG", hWnd, EntDial_10006C96, &v3) == 1 )
|
|
result = Modem_10008A38(v1, (int)&v3);
|
|
else
|
|
result = PostMessageA(v1, 0xBD0u, 0, 0);
|
|
return result;
|
|
} */
|
|
// 10010370: using guessed type int __stdcall SDlgDialogBoxParam(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
|
|
|
|
// ref: 0x10008BFE
|
|
int UNKCALL Modem_10008BFE(HWND hWnd) { return 0; }
|
|
/* {
|
|
HWND v1; // esi
|
|
int v2; // eax
|
|
int v3; // eax
|
|
|
|
v1 = hWnd;
|
|
v2 = SDlgDialogBoxParam(hInstance, "SELCRE8JOIN_DIALOG", hWnd, SelDial_1000B0CF, 0) - 3;
|
|
if ( !v2 )
|
|
return Modem_1000893D(v1);
|
|
v3 = v2 - 2;
|
|
if ( !v3 )
|
|
return Modem_10008A38(v1, (int)&byte_1002A154);
|
|
if ( v3 != 1217 )
|
|
return SelHero_1000C3E2((int)v1, 2);
|
|
dword_1002A124 = 0;
|
|
return PostMessageA(v1, 0xBD0u, 0, 0);
|
|
} */
|
|
// 10010370: using guessed type int __stdcall SDlgDialogBoxParam(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
|
|
// 1002A124: using guessed type int dword_1002A124;
|