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.
503 lines
10 KiB
503 lines
10 KiB
|
8 years ago
|
// ref: 0x10006581
|
||
|
|
signed int Doom_10006581() { return 0; }
|
||
|
|
/* {
|
||
|
|
signed int result; // eax
|
||
|
|
|
||
|
|
result = 2139095040;
|
||
|
|
dword_10029854 = 2139095040;
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
// 10029854: using guessed type int dword_10029854;
|
||
|
|
|
||
|
|
// ref: 0x1000658C
|
||
|
|
int __fastcall Doom_1000658C(HWND hWnd, int *a2, int a3, int a4) { return 0; }
|
||
|
|
/* {
|
||
|
|
int *v4; // esi
|
||
|
|
HWND v5; // edi
|
||
|
|
HWND v6; // eax
|
||
|
|
int result; // eax
|
||
|
|
|
||
|
|
v4 = a2;
|
||
|
|
v5 = hWnd;
|
||
|
|
while ( 1 )
|
||
|
|
{
|
||
|
|
result = *v4;
|
||
|
|
if ( !*v4 )
|
||
|
|
break;
|
||
|
|
v6 = GetDlgItem(v5, result);
|
||
|
|
Doom_100065BB(v5, v6, a3, a4);
|
||
|
|
++v4;
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x100065BB
|
||
|
|
void __fastcall Doom_100065BB(HWND hWnd, HWND a2, int a3, int a4) { return; }
|
||
|
|
/* {
|
||
|
|
HWND v4; // esi
|
||
|
|
HWND v5; // edi
|
||
|
|
int v6; // eax
|
||
|
|
CHAR String; // [esp+8h] [ebp-100h]
|
||
|
|
|
||
|
|
v4 = a2;
|
||
|
|
v5 = hWnd;
|
||
|
|
if ( a2 )
|
||
|
|
{
|
||
|
|
Doom_10006719((int)hWnd, a2, 1521);
|
||
|
|
Doom_1000678A(v5, v4);
|
||
|
|
artfont_10001058((char *)a3);
|
||
|
|
Doom_1000663F(v4, a4);
|
||
|
|
GetWindowTextA(v4, &String, 255);
|
||
|
|
if ( strlen(&String) )
|
||
|
|
{
|
||
|
|
v6 = GetWindowLongA(v4, -21);
|
||
|
|
local_10007FA4(v6, &String);
|
||
|
|
SetWindowTextA(v4, &byte_10029448);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x1000663F
|
||
|
|
_DWORD *__fastcall Doom_1000663F(HWND hWnd, int a2) { return 0; }
|
||
|
|
/* {
|
||
|
|
int v2; // edi
|
||
|
|
_DWORD *result; // eax
|
||
|
|
_DWORD *v4; // esi
|
||
|
|
unsigned char *v5; // ebx
|
||
|
|
int v6; // edi
|
||
|
|
size_t v7; // eax
|
||
|
|
unsigned char *i; // eax
|
||
|
|
int v9; // kr04_4
|
||
|
|
int v10; // eax
|
||
|
|
CHAR String; // [esp+8h] [ebp-10Ch]
|
||
|
|
unsigned char *v12; // [esp+108h] [ebp-Ch]
|
||
|
|
HWND hWnda; // [esp+10Ch] [ebp-8h]
|
||
|
|
int v14; // [esp+110h] [ebp-4h]
|
||
|
|
|
||
|
|
v2 = a2;
|
||
|
|
hWnda = hWnd;
|
||
|
|
result = (_DWORD *)GetWindowLongA(hWnd, -21);
|
||
|
|
v4 = result;
|
||
|
|
if ( result && *result )
|
||
|
|
{
|
||
|
|
GetWindowTextA(hWnda, &String, 255);
|
||
|
|
v5 = (unsigned char *)&String;
|
||
|
|
if ( !strlen(&String) )
|
||
|
|
v5 = (unsigned char *)(v4 + 4);
|
||
|
|
v14 = artfont_10001329(v5);
|
||
|
|
if ( v2 )
|
||
|
|
{
|
||
|
|
v6 = v4[1] - 2 * Focus_10007482();
|
||
|
|
v7 = strlen((const char *)v5);
|
||
|
|
if ( v14 > v6 )
|
||
|
|
{
|
||
|
|
for ( i = &v5[v7]; ; i = v12 )
|
||
|
|
{
|
||
|
|
v12 = i - 1;
|
||
|
|
*v12 = 0;
|
||
|
|
v14 = artfont_10001329(v5);
|
||
|
|
if ( v14 <= v6 )
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
v9 = v4[1] - v14 - 1;
|
||
|
|
v10 = artfont_100012F6();
|
||
|
|
artfont_100013CD(v5, v4, v9 / 2, (v4[2] - v10) / 2);
|
||
|
|
result = (_DWORD *)InvalidateRect(hWnda, 0, 0);
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006719
|
||
|
|
int __fastcall Doom_10006719(int a1, HWND a2, int a3) { return 0; }
|
||
|
|
/* {
|
||
|
|
HWND v3; // edi
|
||
|
|
_DWORD *v4; // eax
|
||
|
|
_DWORD *v5; // esi
|
||
|
|
struct tagRECT Rect; // [esp+8h] [ebp-10h]
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
GetClientRect(a2, &Rect);
|
||
|
|
v4 = (_DWORD *)local_10007F46();
|
||
|
|
v5 = v4;
|
||
|
|
v4[1] = Rect.right;
|
||
|
|
v4[2] = Rect.bottom;
|
||
|
|
*v4 = SMemAlloc(Rect.right * Rect.bottom, "C:\\Src\\Diablo\\DiabloUI\\Doom.cpp", 139, 0);
|
||
|
|
SetWindowLongA(v3, -21, (LONG)v5);
|
||
|
|
return SDlgSetBitmapI(v3, 0, &byte_10029448, -1, a3, *v5, 0, v5[1], v5[2], -1);
|
||
|
|
} */
|
||
|
|
// 10010364: using guessed type int __stdcall SMemAlloc(_DWORD, _DWORD, _DWORD, _DWORD);
|
||
|
|
// 10010400: using guessed type int __stdcall SDlgSetBitmapI(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
|
||
|
|
|
||
|
|
// ref: 0x1000678A
|
||
|
|
_DWORD *__fastcall Doom_1000678A(HWND hWnd, HWND a2) { return 0; }
|
||
|
|
/* {
|
||
|
|
HWND v2; // edi
|
||
|
|
_DWORD *v3; // ebx
|
||
|
|
_DWORD *result; // eax
|
||
|
|
_DWORD *v5; // esi
|
||
|
|
struct tagRECT Rect; // [esp+Ch] [ebp-14h]
|
||
|
|
HWND hWnda; // [esp+1Ch] [ebp-4h]
|
||
|
|
|
||
|
|
v2 = a2;
|
||
|
|
hWnda = hWnd;
|
||
|
|
v3 = (_DWORD *)GetWindowLongA(hWnd, -21);
|
||
|
|
result = (_DWORD *)GetWindowLongA(v2, -21);
|
||
|
|
v5 = result;
|
||
|
|
if ( v3 && *v3 && result )
|
||
|
|
{
|
||
|
|
if ( *result )
|
||
|
|
{
|
||
|
|
GetWindowRect(v2, &Rect);
|
||
|
|
ScreenToClient(hWnda, (LPPOINT)&Rect);
|
||
|
|
ScreenToClient(hWnda, (LPPOINT)&Rect.right);
|
||
|
|
result = (_DWORD *)SBltROP3(
|
||
|
|
*v5,
|
||
|
|
Rect.left + *v3 + Rect.top * v3[1],
|
||
|
|
v5[1],
|
||
|
|
v5[2],
|
||
|
|
v5[1],
|
||
|
|
v3[1],
|
||
|
|
0,
|
||
|
|
13369376);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
// 100103F4: using guessed type int __stdcall SBltROP3(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
|
||
|
|
|
||
|
|
// ref: 0x1000680A
|
||
|
|
int __fastcall Doom_1000680A(HWND hDlg, int *a2, int a3, int a4) { return 0; }
|
||
|
|
/* {
|
||
|
|
int *v4; // esi
|
||
|
|
HWND v5; // edi
|
||
|
|
HWND v6; // eax
|
||
|
|
int result; // eax
|
||
|
|
|
||
|
|
v4 = a2;
|
||
|
|
v5 = hDlg;
|
||
|
|
while ( 1 )
|
||
|
|
{
|
||
|
|
result = *v4;
|
||
|
|
if ( !*v4 )
|
||
|
|
break;
|
||
|
|
v6 = GetDlgItem(v5, result);
|
||
|
|
Doom_10006839(v5, v6, (char *)a3, a4);
|
||
|
|
++v4;
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006839
|
||
|
|
void __fastcall Doom_10006839(HWND a1, HWND a2, char *a3, int a4) { return; }
|
||
|
|
/* {
|
||
|
|
HWND v4; // esi
|
||
|
|
int v5; // eax
|
||
|
|
CHAR String; // [esp+4h] [ebp-100h]
|
||
|
|
|
||
|
|
v4 = a2;
|
||
|
|
if ( a2 )
|
||
|
|
{
|
||
|
|
Doom_1000678A(a1, a2);
|
||
|
|
artfont_10001058(a3);
|
||
|
|
Doom_1000663F(v4, a4);
|
||
|
|
GetWindowTextA(v4, &String, 255);
|
||
|
|
if ( strlen(&String) )
|
||
|
|
{
|
||
|
|
v5 = GetWindowLongA(v4, -21);
|
||
|
|
local_10007FA4(v5, &String);
|
||
|
|
SetWindowTextA(v4, &byte_10029448);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x100068AB
|
||
|
|
int __fastcall Doom_100068AB(HWND hWnd, int *a2, int a3) { return 0; }
|
||
|
|
/* {
|
||
|
|
int *v3; // esi
|
||
|
|
HWND v4; // edi
|
||
|
|
HWND v5; // eax
|
||
|
|
int result; // eax
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
v4 = hWnd;
|
||
|
|
while ( 1 )
|
||
|
|
{
|
||
|
|
result = *v3;
|
||
|
|
if ( !*v3 )
|
||
|
|
break;
|
||
|
|
v5 = GetDlgItem(v4, result);
|
||
|
|
Doom_100068D6(v4, v5, a3);
|
||
|
|
++v3;
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x100068D6
|
||
|
|
void __fastcall Doom_100068D6(HWND hWnd, HWND a2, int a3) { return; }
|
||
|
|
/* {
|
||
|
|
HWND v3; // esi
|
||
|
|
HWND v4; // edi
|
||
|
|
int v5; // eax
|
||
|
|
int v6; // eax
|
||
|
|
CHAR String; // [esp+8h] [ebp-100h]
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
v4 = hWnd;
|
||
|
|
if ( a2 )
|
||
|
|
{
|
||
|
|
Doom_10006719((int)hWnd, a2, 1);
|
||
|
|
Doom_1000678A(v4, v3);
|
||
|
|
artfont_10001058((char *)a3);
|
||
|
|
v5 = GetWindowLongA(v3, -16);
|
||
|
|
Doom_1000695D(v3, v5);
|
||
|
|
GetWindowTextA(v3, &String, 255);
|
||
|
|
if ( strlen(&String) )
|
||
|
|
{
|
||
|
|
v6 = GetWindowLongA(v3, -21);
|
||
|
|
local_10007FA4(v6, &String);
|
||
|
|
SetWindowTextA(v3, &byte_10029448);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x1000695D
|
||
|
|
_DWORD *__fastcall Doom_1000695D(HWND hWnd, int a2) { return 0; }
|
||
|
|
/* {
|
||
|
|
_DWORD *result; // eax
|
||
|
|
_DWORD *v3; // esi
|
||
|
|
unsigned char *v4; // edi
|
||
|
|
int v5; // eax
|
||
|
|
CHAR String; // [esp+4h] [ebp-108h]
|
||
|
|
int v7; // [esp+104h] [ebp-8h]
|
||
|
|
HWND hWnda; // [esp+108h] [ebp-4h]
|
||
|
|
|
||
|
|
v7 = a2;
|
||
|
|
hWnda = hWnd;
|
||
|
|
result = (_DWORD *)GetWindowLongA(hWnd, -21);
|
||
|
|
v3 = result;
|
||
|
|
if ( result && *result )
|
||
|
|
{
|
||
|
|
GetWindowTextA(hWnda, &String, 255);
|
||
|
|
v4 = (unsigned char *)&String;
|
||
|
|
if ( !strlen(&String) )
|
||
|
|
v4 = (unsigned char *)(v3 + 4);
|
||
|
|
if ( v7 & 2 )
|
||
|
|
{
|
||
|
|
v5 = v3[1] - artfont_10001329(v4) - 1;
|
||
|
|
}
|
||
|
|
else if ( v7 & 1 )
|
||
|
|
{
|
||
|
|
v5 = (v3[1] - artfont_10001329(v4) - 1) / 2;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
v5 = 0;
|
||
|
|
}
|
||
|
|
artfont_100013CD(v4, v3, v5, 0);
|
||
|
|
result = (_DWORD *)InvalidateRect(hWnda, 0, 0);
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006A13
|
||
|
|
int __fastcall Doom_10006A13(HWND hDlg, int *a2, int a3) { return 0; }
|
||
|
|
/* {
|
||
|
|
int *v3; // esi
|
||
|
|
HWND v4; // edi
|
||
|
|
HWND v5; // eax
|
||
|
|
int result; // eax
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
v4 = hDlg;
|
||
|
|
while ( 1 )
|
||
|
|
{
|
||
|
|
result = *v3;
|
||
|
|
if ( !*v3 )
|
||
|
|
break;
|
||
|
|
v5 = GetDlgItem(v4, result);
|
||
|
|
Doom_10006A3E(v4, v5, (char *)a3);
|
||
|
|
++v3;
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006A3E
|
||
|
|
void __fastcall Doom_10006A3E(HWND a1, HWND a2, char *a3) { return; }
|
||
|
|
/* {
|
||
|
|
HWND v3; // edi
|
||
|
|
int v4; // eax
|
||
|
|
int v5; // eax
|
||
|
|
CHAR String; // [esp+8h] [ebp-100h]
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
if ( a2 )
|
||
|
|
{
|
||
|
|
Doom_1000678A(a1, a2);
|
||
|
|
artfont_10001058(a3);
|
||
|
|
v4 = GetWindowLongA(v3, -16);
|
||
|
|
Doom_1000695D(v3, v4);
|
||
|
|
GetWindowTextA(v3, &String, 255);
|
||
|
|
if ( strlen(&String) )
|
||
|
|
{
|
||
|
|
v5 = GetWindowLongA(v3, -21);
|
||
|
|
local_10007FA4(v5, &String);
|
||
|
|
SetWindowTextA(v3, &byte_10029448);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006AB8
|
||
|
|
int __fastcall Doom_10006AB8(HWND hWnd, int *a2, int a3) { return 0; }
|
||
|
|
/* {
|
||
|
|
int *v3; // esi
|
||
|
|
HWND v4; // edi
|
||
|
|
HWND v5; // eax
|
||
|
|
int result; // eax
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
v4 = hWnd;
|
||
|
|
while ( 1 )
|
||
|
|
{
|
||
|
|
result = *v3;
|
||
|
|
if ( !*v3 )
|
||
|
|
break;
|
||
|
|
v5 = GetDlgItem(v4, result);
|
||
|
|
Doom_10006AE3(v4, v5, a3);
|
||
|
|
++v3;
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006AE3
|
||
|
|
void __fastcall Doom_10006AE3(HWND hWnd, HWND a2, int a3) { return; }
|
||
|
|
/* {
|
||
|
|
HWND v3; // esi
|
||
|
|
HWND v4; // edi
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
v4 = hWnd;
|
||
|
|
if ( a2 )
|
||
|
|
{
|
||
|
|
Doom_10006719((int)hWnd, a2, 1);
|
||
|
|
Doom_1000678A(v4, v3);
|
||
|
|
artfont_10001058((char *)a3);
|
||
|
|
Doom_10006B12(v3);
|
||
|
|
}
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006B12
|
||
|
|
void UNKCALL Doom_10006B12(HWND hWnd) { return; }
|
||
|
|
/* {
|
||
|
|
HWND v1; // ebx
|
||
|
|
_DWORD *v2; // eax
|
||
|
|
int v3; // edi
|
||
|
|
int v4; // edi
|
||
|
|
int v5; // esi
|
||
|
|
int v6; // esi
|
||
|
|
unsigned char *v7; // ebx
|
||
|
|
int v8; // eax
|
||
|
|
char v9; // [esp+3h] [ebp-11Dh]
|
||
|
|
CHAR String; // [esp+4h] [ebp-11Ch]
|
||
|
|
struct tagRECT Rect; // [esp+104h] [ebp-1Ch]
|
||
|
|
LRESULT v12; // [esp+114h] [ebp-Ch]
|
||
|
|
_DWORD *v13; // [esp+118h] [ebp-8h]
|
||
|
|
size_t v14; // [esp+11Ch] [ebp-4h]
|
||
|
|
|
||
|
|
v1 = hWnd;
|
||
|
|
v2 = (_DWORD *)GetWindowLongA(hWnd, -21);
|
||
|
|
v13 = v2;
|
||
|
|
if ( v2 && *v2 )
|
||
|
|
{
|
||
|
|
GetWindowTextA(v1, &String, 255);
|
||
|
|
v14 = strlen(&String);
|
||
|
|
v3 = Focus_10007482();
|
||
|
|
v4 = artfont_10001310() + v3;
|
||
|
|
GetClientRect(v1, &Rect);
|
||
|
|
v5 = Focus_10007482();
|
||
|
|
v6 = Rect.right - 2 * (artfont_10001310() + v5);
|
||
|
|
v12 = SendMessageA(v1, 0x403u, 0, 0);
|
||
|
|
if ( v12 == 1 )
|
||
|
|
*(&v9 + v14) = 0;
|
||
|
|
v7 = (unsigned char *)&String;
|
||
|
|
if ( String )
|
||
|
|
{
|
||
|
|
do
|
||
|
|
{
|
||
|
|
if ( artfont_10001329(v7) <= v6 )
|
||
|
|
break;
|
||
|
|
++v7;
|
||
|
|
}
|
||
|
|
while ( *v7 );
|
||
|
|
}
|
||
|
|
if ( v12 )
|
||
|
|
*(&v9 + v14) = 124;
|
||
|
|
v8 = artfont_100012F6();
|
||
|
|
artfont_100013CD(v7, v13, v4, (v13[2] - v8) / 2);
|
||
|
|
}
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006C08
|
||
|
|
int __fastcall Doom_10006C08(HWND hDlg, int *a2, int a3) { return 0; }
|
||
|
|
/* {
|
||
|
|
int *v3; // esi
|
||
|
|
HWND v4; // edi
|
||
|
|
HWND v5; // eax
|
||
|
|
int result; // eax
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
v4 = hDlg;
|
||
|
|
while ( 1 )
|
||
|
|
{
|
||
|
|
result = *v3;
|
||
|
|
if ( !*v3 )
|
||
|
|
break;
|
||
|
|
v5 = GetDlgItem(v4, result);
|
||
|
|
Doom_10006C33(v4, v5, (char *)a3);
|
||
|
|
++v3;
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006C33
|
||
|
|
void __fastcall Doom_10006C33(HWND a1, HWND a2, char *a3) { return; }
|
||
|
|
/* {
|
||
|
|
HWND v3; // esi
|
||
|
|
|
||
|
|
v3 = a2;
|
||
|
|
if ( a2 )
|
||
|
|
{
|
||
|
|
Doom_1000678A(a1, a2);
|
||
|
|
artfont_10001058(a3);
|
||
|
|
Doom_10006B12(v3);
|
||
|
|
}
|
||
|
|
} */
|
||
|
|
|
||
|
|
// ref: 0x10006C53
|
||
|
|
int __fastcall Doom_10006C53(HWND hDlg, int *a2) { return 0; }
|
||
|
|
/* {
|
||
|
|
int *v2; // edi
|
||
|
|
HWND v3; // ebx
|
||
|
|
int result; // eax
|
||
|
|
HWND v5; // eax
|
||
|
|
HWND v6; // esi
|
||
|
|
_DWORD *v7; // eax
|
||
|
|
|
||
|
|
v2 = a2;
|
||
|
|
v3 = hDlg;
|
||
|
|
for ( result = *a2; *v2; result = *v2 )
|
||
|
|
{
|
||
|
|
v5 = GetDlgItem(v3, result);
|
||
|
|
v6 = v5;
|
||
|
|
if ( v5 )
|
||
|
|
{
|
||
|
|
v7 = (_DWORD *)GetWindowLongA(v5, -21);
|
||
|
|
local_10007F72(v7);
|
||
|
|
SetWindowLongA(v6, -21, 0);
|
||
|
|
}
|
||
|
|
++v2;
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
} */
|