clean up extra decorators
This commit is contained in:
1 parent
531e638179
commit
3183e73860
95 files changed
+4629
-4631
No files matched your search
+13
-13
@@ -5,32 +5,32 @@
|
||||
#include "../pinball.h"
|
||||
|
||||
//----- (01009910) --------------------------------------------------------
|
||||
void __stdcall flasher_callback(int a1, void *a2)
|
||||
void flasher_callback(int a1, void *a2)
|
||||
{
|
||||
int v2; // eax
|
||||
|
||||
v2 = 1 - *((_DWORD *)a2 + 8);
|
||||
*((_DWORD *)a2 + 8) = v2;
|
||||
render_sprite_set_bitmap(*(_DWORD **)a2, *((_DWORD *)a2 + v2 + 1));
|
||||
*((_DWORD *)a2 + 7) = timer_set(*((float *)a2 + *((_DWORD *)a2 + 8) + 5), (int)a2, (int)flasher_callback);
|
||||
v2 = 1 - *((DWORD *)a2 + 8);
|
||||
*((DWORD *)a2 + 8) = v2;
|
||||
render_sprite_set_bitmap(*(DWORD **)a2, *((DWORD *)a2 + v2 + 1));
|
||||
*((DWORD *)a2 + 7) = timer_set(*((float *)a2 + *((DWORD *)a2 + 8) + 5), (int)a2, (int)flasher_callback);
|
||||
}
|
||||
|
||||
//----- (01009950) --------------------------------------------------------
|
||||
void __stdcall flasher_start(struct flasher_type *a1, int a2)
|
||||
void flasher_start(struct flasher_type *a1, int a2)
|
||||
{
|
||||
*((_DWORD *)a1 + 8) = a2;
|
||||
*((DWORD *)a1 + 8) = a2;
|
||||
flasher_callback(0, (void *)a1);
|
||||
}
|
||||
|
||||
//----- (0100996F) --------------------------------------------------------
|
||||
void __stdcall flasher_stop(struct flasher_type *a1, int a2)
|
||||
void flasher_stop(struct flasher_type *a1, int a2)
|
||||
{
|
||||
if ( *((_DWORD *)a1 + 7) )
|
||||
timer_kill(*((_DWORD *)a1 + 7));
|
||||
*((_DWORD *)a1 + 7) = 0;
|
||||
if ( *((DWORD *)a1 + 7) )
|
||||
timer_kill(*((DWORD *)a1 + 7));
|
||||
*((DWORD *)a1 + 7) = 0;
|
||||
if ( a2 >= 0 )
|
||||
{
|
||||
*((_DWORD *)a1 + 8) = a2;
|
||||
render_sprite_set_bitmap(*(_DWORD **)a1, *((_DWORD *)a1 + a2 + 1));
|
||||
*((DWORD *)a1 + 8) = a2;
|
||||
render_sprite_set_bitmap(*(DWORD **)a1, *((DWORD *)a1 + a2 + 1));
|
||||
}
|
||||
}
|
||||
+12
-12
@@ -55,7 +55,7 @@ LONG sub_100399D()
|
||||
}
|
||||
|
||||
//----- (010039C5) --------------------------------------------------------
|
||||
BOOL __stdcall fullscrn_set_menu_mode(int a1)
|
||||
BOOL fullscrn_set_menu_mode(int a1)
|
||||
{
|
||||
BOOL result; // eax
|
||||
|
||||
@@ -145,7 +145,7 @@ int sub_1003B66()
|
||||
// 1024EF4: using guessed type int fullscrn_display_changed;
|
||||
|
||||
//----- (01003BE4) --------------------------------------------------------
|
||||
LONG __stdcall fullscrn_set_screen_mode(int a1)
|
||||
LONG fullscrn_set_screen_mode(int a1)
|
||||
{
|
||||
LONG result; // eax
|
||||
|
||||
@@ -178,14 +178,14 @@ LONG __stdcall fullscrn_set_screen_mode(int a1)
|
||||
// 1024EEC: using guessed type int dword_1024EEC;
|
||||
|
||||
//----- (01003C87) --------------------------------------------------------
|
||||
void __stdcall fullscrn_force_redraw()
|
||||
void fullscrn_force_redraw()
|
||||
{
|
||||
BYTE1(dword_1024EEC) |= 0x80u;
|
||||
}
|
||||
// 1024EEC: using guessed type int dword_1024EEC;
|
||||
|
||||
//----- (01003C94) --------------------------------------------------------
|
||||
signed int __stdcall fullscrn_displaychange()
|
||||
signed int fullscrn_displaychange()
|
||||
{
|
||||
signed int v0; // esi
|
||||
signed int result; // eax
|
||||
@@ -228,7 +228,7 @@ signed int __stdcall fullscrn_displaychange()
|
||||
// 1024EF4: using guessed type int fullscrn_display_changed;
|
||||
|
||||
//----- (01003D65) --------------------------------------------------------
|
||||
BOOL __stdcall fullscrn_init(int a1, int a2, int a3, HWND a4, int a5, int a6)
|
||||
BOOL fullscrn_init(int a1, int a2, int a3, HWND a4, int a5, int a6)
|
||||
{
|
||||
HWND v6; // eax
|
||||
int v7; // ebx
|
||||
@@ -269,7 +269,7 @@ BOOL __stdcall fullscrn_init(int a1, int a2, int a3, HWND a4, int a5, int a6)
|
||||
// 1024EF8: using guessed type int dword_1024EF8;
|
||||
|
||||
//----- (01003E53) --------------------------------------------------------
|
||||
LONG __stdcall fullscrn_shutdown()
|
||||
LONG fullscrn_shutdown()
|
||||
{
|
||||
LONG result; // eax
|
||||
|
||||
@@ -280,7 +280,7 @@ LONG __stdcall fullscrn_shutdown()
|
||||
// 1024EF4: using guessed type int fullscrn_display_changed;
|
||||
|
||||
//----- (01003E69) --------------------------------------------------------
|
||||
BOOL __stdcall fullscrn_activate(int a1)
|
||||
BOOL fullscrn_activate(int a1)
|
||||
{
|
||||
BOOL result; // eax
|
||||
|
||||
@@ -297,15 +297,15 @@ BOOL __stdcall fullscrn_activate(int a1)
|
||||
// 1024EE4: using guessed type int fullscrn_screen_mode;
|
||||
|
||||
//----- (01003EA2) --------------------------------------------------------
|
||||
int __stdcall fullscrn_convert_mouse_pos(int a1)
|
||||
int fullscrn_convert_mouse_pos(int a1)
|
||||
{
|
||||
return (unsigned __int16)(a1 - xDest) | ((unsigned __int16)(HIWORD(a1) - yDest) << 16);
|
||||
return (unsigned int)(a1 - xDest) | ((unsigned int)(HIWORD(a1) - yDest) << 16);
|
||||
}
|
||||
|
||||
//----- (01003ECF) --------------------------------------------------------
|
||||
_DWORD *__stdcall fullscrn_getminmaxinfo(_DWORD *a1)
|
||||
DWORD *fullscrn_getminmaxinfo(DWORD *a1)
|
||||
{
|
||||
_DWORD *result; // eax
|
||||
DWORD *result; // eax
|
||||
|
||||
result = a1;
|
||||
a1[2] = X.right - X.left;
|
||||
@@ -316,7 +316,7 @@ _DWORD *__stdcall fullscrn_getminmaxinfo(_DWORD *a1)
|
||||
}
|
||||
|
||||
//----- (01003F98) --------------------------------------------------------
|
||||
void __stdcall fullscrn_paint()
|
||||
void fullscrn_paint()
|
||||
{
|
||||
int v0; // ST04_4
|
||||
int v1; // eax
|
||||
|
||||
+101
-101
@@ -5,11 +5,11 @@
|
||||
#include "../pinball.h"
|
||||
|
||||
//----- (01003803) --------------------------------------------------------
|
||||
int __stdcall grtext_draw_ttext_in_box(LPCSTR lpString, int mode, int a3, COLORREF color, int a5, int a6)
|
||||
int grtext_draw_ttext_in_box(LPCSTR lpString, int mode, int a3, COLORREF color, int a5, int a6)
|
||||
{
|
||||
HDC v6; // ebx
|
||||
CHAR *v7; // eax
|
||||
unsigned __int16 v8; // ax
|
||||
unsigned int v8; // ax
|
||||
int v9; // eax
|
||||
struct tagRECT rc; // [esp+Ch] [ebp-10h]
|
||||
int modea; // [esp+28h] [ebp+Ch]
|
||||
@@ -46,10 +46,10 @@ int __stdcall grtext_draw_ttext_in_box(LPCSTR lpString, int mode, int a3, COLORR
|
||||
|
||||
|
||||
//----- (01004154) --------------------------------------------------------
|
||||
int __stdcall DibSetUsage(int a1, HPALETTE hpal, int a3)
|
||||
int DibSetUsage(int a1, HPALETTE hpal, int a3)
|
||||
{
|
||||
signed int v4; // edi
|
||||
unsigned __int16 v5; // cx
|
||||
unsigned int v5; // cx
|
||||
char *v6; // esi
|
||||
signed int i; // eax
|
||||
_BYTE *v8; // eax
|
||||
@@ -61,19 +61,19 @@ int __stdcall DibSetUsage(int a1, HPALETTE hpal, int a3)
|
||||
hpal = (HPALETTE)GetStockObject(15);
|
||||
if ( !a1 )
|
||||
return 0;
|
||||
v4 = *(_DWORD *)(a1 + 32);
|
||||
v4 = *(DWORD *)(a1 + 32);
|
||||
if ( !v4 )
|
||||
{
|
||||
v5 = *(_WORD *)(a1 + 14);
|
||||
v5 = *(WORD *)(a1 + 14);
|
||||
if ( v5 <= 8u )
|
||||
v4 = 1 << v5;
|
||||
}
|
||||
if ( v4 == 3 )
|
||||
{
|
||||
if ( *(_DWORD *)(a1 + 16) != 3 )
|
||||
if ( *(DWORD *)(a1 + 16) != 3 )
|
||||
{
|
||||
LABEL_12:
|
||||
v6 = (char *)(a1 + *(_DWORD *)a1);
|
||||
v6 = (char *)(a1 + *(DWORD *)a1);
|
||||
if ( (unsigned int)a3 <= 0 || (unsigned int)a3 > 2 )
|
||||
{
|
||||
if ( v4 >= 256 )
|
||||
@@ -85,7 +85,7 @@ int __stdcall DibSetUsage(int a1, HPALETTE hpal, int a3)
|
||||
v8 = v6 + 1;
|
||||
do
|
||||
{
|
||||
v9 = pPalEntries[(_DWORD)hpala].peRed;
|
||||
v9 = pPalEntries[(DWORD)hpala].peRed;
|
||||
hpala = (HPALETTE)((char *)hpala + 1);
|
||||
v8[1] = v9;
|
||||
*v8 = v8[(char *)pPalEntries - v6];
|
||||
@@ -99,7 +99,7 @@ int __stdcall DibSetUsage(int a1, HPALETTE hpal, int a3)
|
||||
else
|
||||
{
|
||||
for ( i = 0; i < v4; v6 += 2 )
|
||||
*(_WORD *)v6 = i++;
|
||||
*(WORD *)v6 = i++;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -112,14 +112,14 @@ int __stdcall DibSetUsage(int a1, HPALETTE hpal, int a3)
|
||||
// 1004154: using guessed type struct tagPALETTEENTRY pPalEntries[256];
|
||||
|
||||
//----- (0100423A) --------------------------------------------------------
|
||||
_DWORD *__stdcall DibCreate(int a1, int a2, int a3)
|
||||
DWORD *DibCreate(int a1, int a2, int a3)
|
||||
{
|
||||
unsigned int v3; // edi
|
||||
HGLOBAL v4; // eax
|
||||
_DWORD *v5; // esi
|
||||
_DWORD *result; // eax
|
||||
_DWORD *i; // ecx
|
||||
_DWORD *v8; // ecx
|
||||
DWORD *v5; // esi
|
||||
DWORD *result; // eax
|
||||
DWORD *i; // ecx
|
||||
DWORD *v8; // ecx
|
||||
int v9; // [esp+18h] [ebp+Ch]
|
||||
|
||||
v3 = a3 * ((a2 * a1 / 8 + 3) & 0xFFFFFFFC);
|
||||
@@ -132,8 +132,8 @@ _DWORD *__stdcall DibCreate(int a1, int a2, int a3)
|
||||
v5[1] = a2;
|
||||
*v5 = 40;
|
||||
v5[2] = a3;
|
||||
*((_WORD *)v5 + 6) = 1;
|
||||
*((_WORD *)v5 + 7) = a1;
|
||||
*((WORD *)v5 + 6) = 1;
|
||||
*((WORD *)v5 + 7) = a1;
|
||||
v5[4] = 0;
|
||||
v5[6] = 0;
|
||||
v5[7] = 0;
|
||||
@@ -189,7 +189,7 @@ _DWORD *__stdcall DibCreate(int a1, int a2, int a3)
|
||||
}
|
||||
|
||||
//----- (01004380) --------------------------------------------------------
|
||||
int __stdcall gdrv_init(int a1, HWND a2)
|
||||
int gdrv_init(int a1, HWND a2)
|
||||
{
|
||||
gdrv_hinst = a1;
|
||||
gdrv_hwnd = a2;
|
||||
@@ -200,7 +200,7 @@ int __stdcall gdrv_init(int a1, HWND a2)
|
||||
// 1028284: using guessed type int gdrv_hinst;
|
||||
|
||||
//----- (010043B9) --------------------------------------------------------
|
||||
int __stdcall gdrv_display_palette(int a1)
|
||||
int gdrv_display_palette(int a1)
|
||||
{
|
||||
HWND v1; // eax
|
||||
HDC v2; // eax
|
||||
@@ -242,12 +242,12 @@ int __stdcall gdrv_display_palette(int a1)
|
||||
{
|
||||
if ( v6 )
|
||||
{
|
||||
v7[(_DWORD)v12] = v7[1];
|
||||
v7[(_DWORD)&pPalEntries - v6] = *v7;
|
||||
v7[(_DWORD)((char *)&pPalEntries - v6 + 1)] = *(v7 - 1);
|
||||
v7[(DWORD)v12] = v7[1];
|
||||
v7[(DWORD)&pPalEntries - v6] = *v7;
|
||||
v7[(DWORD)((char *)&pPalEntries - v6 + 1)] = *(v7 - 1);
|
||||
v3 = v10;
|
||||
}
|
||||
v7[(_DWORD)((char *)&pPalEntries - v6 + 2)] = 4;
|
||||
v7[(DWORD)((char *)&pPalEntries - v6 + 2)] = 4;
|
||||
v7 += 4;
|
||||
--v11;
|
||||
}
|
||||
@@ -269,7 +269,7 @@ int __stdcall gdrv_display_palette(int a1)
|
||||
// 102345A: using guessed type char byte_102345A;
|
||||
|
||||
//----- (01004508) --------------------------------------------------------
|
||||
int __stdcall gdrv_uninit()
|
||||
int gdrv_uninit()
|
||||
{
|
||||
if ( gdrv_palette_handle )
|
||||
DeleteObject(gdrv_palette_handle);
|
||||
@@ -277,64 +277,64 @@ int __stdcall gdrv_uninit()
|
||||
}
|
||||
|
||||
//----- (01004520) --------------------------------------------------------
|
||||
int __stdcall gdrv_create_bitmap_dib(int a1, int a2, int a3)
|
||||
int gdrv_create_bitmap_dib(int a1, int a2, int a3)
|
||||
{
|
||||
int v3; // edi
|
||||
_DWORD *v4; // eax
|
||||
_DWORD *v5; // eax
|
||||
DWORD *v4; // eax
|
||||
DWORD *v5; // eax
|
||||
int v6; // ecx
|
||||
|
||||
v3 = a2;
|
||||
v4 = DibCreate(8, a2, a3);
|
||||
*(_DWORD *)a1 = v4;
|
||||
*(DWORD *)a1 = v4;
|
||||
DibSetUsage((int)v4, (HPALETTE)gdrv_palette_handle, 1);
|
||||
*(_DWORD *)(a1 + 12) = a2;
|
||||
*(_DWORD *)(a1 + 20) = a2;
|
||||
*(DWORD *)(a1 + 12) = a2;
|
||||
*(DWORD *)(a1 + 20) = a2;
|
||||
if ( a2 % 4 )
|
||||
v3 = 4 - a2 % 4 + a2;
|
||||
v5 = *(_DWORD **)a1;
|
||||
*(_DWORD *)(a1 + 20) = v3;
|
||||
*(_DWORD *)(a1 + 16) = a3;
|
||||
v5 = *(DWORD **)a1;
|
||||
*(DWORD *)(a1 + 20) = v3;
|
||||
*(DWORD *)(a1 + 16) = a3;
|
||||
*(_BYTE *)(a1 + 24) = 2;
|
||||
if ( v5[4] == 3 )
|
||||
v6 = (int)v5 + *v5 + 12;
|
||||
else
|
||||
v6 = (int)&v5[v5[8]] + *v5;
|
||||
*(_DWORD *)(a1 + 8) = v6;
|
||||
*(_DWORD *)(a1 + 4) = v6;
|
||||
*(DWORD *)(a1 + 8) = v6;
|
||||
*(DWORD *)(a1 + 4) = v6;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//----- (0100459A) --------------------------------------------------------
|
||||
int __stdcall gdrv_create_bitmap(int a1, int a2, int a3)
|
||||
int gdrv_create_bitmap(int a1, int a2, int a3)
|
||||
{
|
||||
return gdrv_create_bitmap_dib(a1, a2, a3);
|
||||
}
|
||||
|
||||
//----- (010045AA) --------------------------------------------------------
|
||||
signed int __stdcall gdrv_create_raw_bitmap(int a1, int a2, int a3, int a4)
|
||||
signed int gdrv_create_raw_bitmap(int a1, int a2, int a3, int a4)
|
||||
{
|
||||
unsigned int v4; // ST04_4
|
||||
int v5; // eax
|
||||
|
||||
*(_DWORD *)a1 = 0;
|
||||
*(_DWORD *)(a1 + 12) = a2;
|
||||
*(_DWORD *)(a1 + 20) = a2;
|
||||
*(DWORD *)a1 = 0;
|
||||
*(DWORD *)(a1 + 12) = a2;
|
||||
*(DWORD *)(a1 + 20) = a2;
|
||||
if ( a4 && a2 % 4 )
|
||||
*(_DWORD *)(a1 + 20) = a2 - a2 % 4 + 4;
|
||||
v4 = a3 * *(_DWORD *)(a1 + 20);
|
||||
*(_DWORD *)(a1 + 16) = a3;
|
||||
*(DWORD *)(a1 + 20) = a2 - a2 % 4 + 4;
|
||||
v4 = a3 * *(DWORD *)(a1 + 20);
|
||||
*(DWORD *)(a1 + 16) = a3;
|
||||
*(_BYTE *)(a1 + 24) = 1;
|
||||
v5 = memoryallocate(v4);
|
||||
*(_DWORD *)(a1 + 8) = v5;
|
||||
*(DWORD *)(a1 + 8) = v5;
|
||||
if ( !v5 )
|
||||
return -1;
|
||||
*(_DWORD *)(a1 + 4) = v5;
|
||||
*(DWORD *)(a1 + 4) = v5;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//----- (0100460C) --------------------------------------------------------
|
||||
signed int __stdcall gdrv_destroy_bitmap(int a1)
|
||||
signed int gdrv_destroy_bitmap(int a1)
|
||||
{
|
||||
HGLOBAL v2; // eax
|
||||
HGLOBAL v3; // eax
|
||||
@@ -343,7 +343,7 @@ signed int __stdcall gdrv_destroy_bitmap(int a1)
|
||||
return -1;
|
||||
if ( *(_BYTE *)(a1 + 24) == 1 )
|
||||
{
|
||||
memoryfree(*(_DWORD *)(a1 + 8));
|
||||
memoryfree(*(DWORD *)(a1 + 8));
|
||||
}
|
||||
else if ( *(_BYTE *)(a1 + 24) == 2 )
|
||||
{
|
||||
@@ -358,7 +358,7 @@ signed int __stdcall gdrv_destroy_bitmap(int a1)
|
||||
}
|
||||
|
||||
//----- (01004664) --------------------------------------------------------
|
||||
UINT __stdcall gdrv_start_blit_sequence()
|
||||
UINT gdrv_start_blit_sequence()
|
||||
{
|
||||
HDC v0; // eax
|
||||
|
||||
@@ -371,7 +371,7 @@ UINT __stdcall gdrv_start_blit_sequence()
|
||||
// 102828C: using guessed type int gdrv_sequence_handle;
|
||||
|
||||
//----- (0100469C) --------------------------------------------------------
|
||||
int __stdcall gdrv_blit_sequence(int a1, int xSrc, int a3, int xDest, int yDest, int DestWidth, int DestHeight)
|
||||
int gdrv_blit_sequence(int a1, int xSrc, int a3, int xDest, int yDest, int DestWidth, int DestHeight)
|
||||
{
|
||||
int result; // eax
|
||||
|
||||
@@ -383,7 +383,7 @@ int __stdcall gdrv_blit_sequence(int a1, int xSrc, int a3, int xDest, int yDest,
|
||||
DestWidth,
|
||||
DestHeight,
|
||||
xSrc,
|
||||
*(_DWORD *)(a1 + 16) - a3 - DestHeight,
|
||||
*(DWORD *)(a1 + 16) - a3 - DestHeight,
|
||||
DestWidth,
|
||||
DestHeight,
|
||||
*(const void **)(a1 + 8),
|
||||
@@ -395,13 +395,13 @@ int __stdcall gdrv_blit_sequence(int a1, int xSrc, int a3, int xDest, int yDest,
|
||||
// 1024EFC: using guessed type int gdrv_use_wing;
|
||||
|
||||
//----- (010046ED) --------------------------------------------------------
|
||||
int __stdcall gdrv_end_blit_sequence()
|
||||
int gdrv_end_blit_sequence()
|
||||
{
|
||||
return ReleaseDC(gdrv_hwnd, gdrv_sequence_hdc);
|
||||
}
|
||||
|
||||
//----- (01004705) --------------------------------------------------------
|
||||
HDC __stdcall gdrv_blit(int a1, int xSrc, int a3, int xDest, int yDest, int DestWidth, int DestHeight)
|
||||
HDC gdrv_blit(int a1, int xSrc, int a3, int xDest, int yDest, int DestWidth, int DestHeight)
|
||||
{
|
||||
HDC result; // eax
|
||||
HDC v8; // esi
|
||||
@@ -420,7 +420,7 @@ HDC __stdcall gdrv_blit(int a1, int xSrc, int a3, int xDest, int yDest, int Dest
|
||||
DestWidth,
|
||||
DestHeight,
|
||||
xSrc,
|
||||
*(_DWORD *)(a1 + 16) - a3 - DestHeight,
|
||||
*(DWORD *)(a1 + 16) - a3 - DestHeight,
|
||||
DestWidth,
|
||||
DestHeight,
|
||||
*(const void **)(a1 + 8),
|
||||
@@ -434,7 +434,7 @@ HDC __stdcall gdrv_blit(int a1, int xSrc, int a3, int xDest, int yDest, int Dest
|
||||
// 1024EFC: using guessed type int gdrv_use_wing;
|
||||
|
||||
//----- (01004787) --------------------------------------------------------
|
||||
int __stdcall gdrv_blat(int a1, int xDest, int yDest)
|
||||
int gdrv_blat(int a1, int xDest, int yDest)
|
||||
{
|
||||
HDC v3; // edi
|
||||
|
||||
@@ -446,12 +446,12 @@ int __stdcall gdrv_blat(int a1, int xDest, int yDest)
|
||||
v3,
|
||||
xDest,
|
||||
yDest,
|
||||
*(_DWORD *)(a1 + 12),
|
||||
*(_DWORD *)(a1 + 16),
|
||||
*(DWORD *)(a1 + 12),
|
||||
*(DWORD *)(a1 + 16),
|
||||
0,
|
||||
0,
|
||||
*(_DWORD *)(a1 + 12),
|
||||
*(_DWORD *)(a1 + 16),
|
||||
*(DWORD *)(a1 + 12),
|
||||
*(DWORD *)(a1 + 16),
|
||||
*(const void **)(a1 + 8),
|
||||
*(const BITMAPINFO **)a1,
|
||||
1u,
|
||||
@@ -461,9 +461,9 @@ int __stdcall gdrv_blat(int a1, int xDest, int yDest)
|
||||
// 1024EFC: using guessed type int gdrv_use_wing;
|
||||
|
||||
//----- (010047FA) --------------------------------------------------------
|
||||
int __userpurge gdrv_fill_bitmap@<eax>(int a1@<ebx>, _DWORD *a2, unsigned int a3, int a4, int a5, int a6, char a7)
|
||||
int gdrv_fill_bitmap(int a1, DWORD *a2, unsigned int a3, int a4, int a5, int a6, char a7)
|
||||
{
|
||||
_DWORD *v7; // esi
|
||||
DWORD *v7; // esi
|
||||
int v8; // eax
|
||||
int result; // eax
|
||||
unsigned int v10; // ecx
|
||||
@@ -506,11 +506,11 @@ return result;
|
||||
}
|
||||
|
||||
//----- (01004870) --------------------------------------------------------
|
||||
char *__stdcall gdrv_copy_bitmap(_DWORD *a1, int a2, int a3, int a4, int a5, _DWORD *a6, int a7, int a8)
|
||||
char *gdrv_copy_bitmap(DWORD *a1, int a2, int a3, int a4, int a5, DWORD *a6, int a7, int a8)
|
||||
{
|
||||
_DWORD *v8; // edx
|
||||
DWORD *v8; // edx
|
||||
int v9; // ecx
|
||||
_DWORD *v10; // esi
|
||||
DWORD *v10; // esi
|
||||
int v11; // eax
|
||||
char *result; // eax
|
||||
_BYTE *v13; // ecx
|
||||
@@ -554,11 +554,11 @@ char *__stdcall gdrv_copy_bitmap(_DWORD *a1, int a2, int a3, int a4, int a5, _DW
|
||||
}
|
||||
|
||||
//----- (010048EC) --------------------------------------------------------
|
||||
_BYTE *__stdcall gdrv_copy_bitmap_w_transparency(_DWORD *a1, int a2, int a3, int a4, int a5, _DWORD *a6, int a7, int a8)
|
||||
_BYTE *gdrv_copy_bitmap_w_transparency(DWORD *a1, int a2, int a3, int a4, int a5, DWORD *a6, int a7, int a8)
|
||||
{
|
||||
_DWORD *v8; // edx
|
||||
DWORD *v8; // edx
|
||||
int v9; // ecx
|
||||
_DWORD *v10; // esi
|
||||
DWORD *v10; // esi
|
||||
int v11; // eax
|
||||
_BYTE *result; // eax
|
||||
_BYTE *v13; // ecx
|
||||
@@ -604,7 +604,7 @@ _BYTE *__stdcall gdrv_copy_bitmap_w_transparency(_DWORD *a1, int a2, int a3, int
|
||||
|
||||
|
||||
//----- (01003F10) --------------------------------------------------------
|
||||
HBRUSH __userpurge sub_1003F10@<eax>(LONG a1@<ebx>, LONG a2@<edi>, int a3, int a4)
|
||||
HBRUSH sub_1003F10(LONG a1, LONG a2, int a3, int a4)
|
||||
{
|
||||
HBRUSH result; // eax
|
||||
HDC v5; // esi
|
||||
@@ -634,7 +634,7 @@ return result;
|
||||
}
|
||||
|
||||
//----- (0100496C) --------------------------------------------------------
|
||||
int __stdcall zdrv_pad(int a1)
|
||||
int zdrv_pad(int a1)
|
||||
{
|
||||
int result; // eax
|
||||
|
||||
@@ -645,42 +645,42 @@ int __stdcall zdrv_pad(int a1)
|
||||
}
|
||||
|
||||
//----- (01004989) --------------------------------------------------------
|
||||
signed int __stdcall zdrv_create_zmap(int a1, int a2, int a3)
|
||||
signed int zdrv_create_zmap(int a1, int a2, int a3)
|
||||
{
|
||||
__int16 v3; // ax
|
||||
int v3; // ax
|
||||
int v4; // eax
|
||||
|
||||
v3 = zdrv_pad(a2);
|
||||
*(_WORD *)(a1 + 4) = v3;
|
||||
*(WORD *)(a1 + 4) = v3;
|
||||
v4 = memoryallocate(2 * a3 * v3);
|
||||
*(_DWORD *)(a1 + 6) = v4;
|
||||
*(DWORD *)(a1 + 6) = v4;
|
||||
if ( !v4 )
|
||||
return -1;
|
||||
*(_DWORD *)(a1 + 10) = v4;
|
||||
*(_WORD *)a1 = a2;
|
||||
*(_WORD *)(a1 + 2) = a3;
|
||||
*(DWORD *)(a1 + 10) = v4;
|
||||
*(WORD *)a1 = a2;
|
||||
*(WORD *)(a1 + 2) = a3;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//----- (010049D6) --------------------------------------------------------
|
||||
signed int __stdcall zdrv_destroy_zmap(_DWORD *a1)
|
||||
signed int zdrv_destroy_zmap(DWORD *a1)
|
||||
{
|
||||
int v2; // edi
|
||||
|
||||
if ( !a1 )
|
||||
return -1;
|
||||
if ( *(_DWORD *)((char *)a1 + 6) )
|
||||
memoryfree(*(_DWORD *)((char *)a1 + 6));
|
||||
if ( *(DWORD *)((char *)a1 + 6) )
|
||||
memoryfree(*(DWORD *)((char *)a1 + 6));
|
||||
*a1 = 0;
|
||||
a1[1] = 0;
|
||||
v2 = (int)(a1 + 2);
|
||||
*(_DWORD *)v2 = 0;
|
||||
*(_WORD *)(v2 + 4) = 0;
|
||||
*(DWORD *)v2 = 0;
|
||||
*(WORD *)(v2 + 4) = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//----- (01004A08) --------------------------------------------------------
|
||||
int __userpurge zdrv_fill@<eax>(int a1@<ebx>, int a2, unsigned int a3, int a4, int a5, int a6, __int16 a7)
|
||||
int zdrv_fill(int a1, int a2, unsigned int a3, int a4, int a5, int a6, int a7)
|
||||
{
|
||||
int result; // eax
|
||||
int v8; // esi
|
||||
@@ -695,7 +695,7 @@ int v16; // [esp+Ch] [ebp+8h]
|
||||
|
||||
result = a4;
|
||||
v8 = a2;
|
||||
v9 = (char *)(*(_DWORD *)(a2 + 6) + 2 * (a5 + *(signed __int16 *)(a2 + 4) * (*(signed __int16 *)(a2 + 2) - a4 - a6)));
|
||||
v9 = (char *)(*(DWORD *)(a2 + 6) + 2 * (a5 + *(signed int *)(a2 + 4) * (*(signed int *)(a2 + 2) - a4 - a6)));
|
||||
if ( a4 > 0 )
|
||||
{
|
||||
v10 = a3;
|
||||
@@ -713,13 +713,13 @@ memset32(v9, a1, v12);
|
||||
v13 = &v9[4 * v12];
|
||||
for ( i = v11; i; --i )
|
||||
{
|
||||
*(_WORD *)v13 = a7;
|
||||
*(WORD *)v13 = a7;
|
||||
v13 += 2;
|
||||
}
|
||||
v10 = a3;
|
||||
v9 += 2 * a3;
|
||||
}
|
||||
result = *(signed __int16 *)(v8 + 4) - v10;
|
||||
result = *(signed int *)(v8 + 4) - v10;
|
||||
v15 = v16-- == 1;
|
||||
v9 += 2 * result;
|
||||
}
|
||||
@@ -729,13 +729,13 @@ return result;
|
||||
}
|
||||
|
||||
//----- (01004A76) --------------------------------------------------------
|
||||
_WORD *__stdcall zdrv_paint(int a1, int a2, _DWORD *a3, int a4, int a5, int a6, int a7, int a8, _DWORD *a9, int a10, int a11, int a12, int a13, int a14)
|
||||
WORD *zdrv_paint(int a1, int a2, DWORD *a3, int a4, int a5, int a6, int a7, int a8, DWORD *a9, int a10, int a11, int a12, int a13, int a14)
|
||||
{
|
||||
int v14; // ecx
|
||||
_DWORD *v15; // ebx
|
||||
DWORD *v15; // ebx
|
||||
int v16; // eax
|
||||
_WORD *v17; // edi
|
||||
_WORD *result; // eax
|
||||
WORD *v17; // edi
|
||||
WORD *result; // eax
|
||||
bool v19; // zf
|
||||
int v20; // [esp+18h] [ebp+Ch]
|
||||
int v21; // [esp+24h] [ebp+18h]
|
||||
@@ -751,10 +751,10 @@ _WORD *__stdcall zdrv_paint(int a1, int a2, _DWORD *a3, int a4, int a5, int a6,
|
||||
v14 = -v14;
|
||||
v23 = (_BYTE *)(a10 + a9[2] + a9[5] * (v16 - a2 - a11));
|
||||
v22 = (_BYTE *)(a4 + a3[2] + a3[5] * (v14 - a2 - a5));
|
||||
v17 = (_WORD *)(*(_DWORD *)(a12 + 6)
|
||||
+ 2 * (a13 + *(signed __int16 *)(a12 + 4) * (*(signed __int16 *)(a12 + 2) - a2 - a14)));
|
||||
result = (_WORD *)(*(_DWORD *)(a6 + 6)
|
||||
+ 2 * (a7 + *(signed __int16 *)(a6 + 4) * (*(signed __int16 *)(a6 + 2) - a2 - a8)));
|
||||
v17 = (WORD *)(*(DWORD *)(a12 + 6)
|
||||
+ 2 * (a13 + *(signed int *)(a12 + 4) * (*(signed int *)(a12 + 2) - a2 - a14)));
|
||||
result = (WORD *)(*(DWORD *)(a6 + 6)
|
||||
+ 2 * (a7 + *(signed int *)(a6 + 4) * (*(signed int *)(a6 + 2) - a2 - a8)));
|
||||
if ( a2 )
|
||||
{
|
||||
v21 = a2;
|
||||
@@ -781,9 +781,9 @@ _WORD *__stdcall zdrv_paint(int a1, int a2, _DWORD *a3, int a4, int a5, int a6,
|
||||
}
|
||||
v23 += v15[5] - a1;
|
||||
v22 += a3[5] - a1;
|
||||
v17 += *(signed __int16 *)(a12 + 4) - a1;
|
||||
v17 += *(signed int *)(a12 + 4) - a1;
|
||||
v19 = v21-- == 1;
|
||||
result += *(signed __int16 *)(a6 + 4) - a1;
|
||||
result += *(signed int *)(a6 + 4) - a1;
|
||||
if ( v19 )
|
||||
break;
|
||||
v15 = a9;
|
||||
@@ -793,14 +793,14 @@ _WORD *__stdcall zdrv_paint(int a1, int a2, _DWORD *a3, int a4, int a5, int a6,
|
||||
}
|
||||
|
||||
//----- (01004B75) --------------------------------------------------------
|
||||
unsigned __int16 *__stdcall zdrv_paint_flat(int a1, int a2, _DWORD *a3, int a4, int a5, int a6, int a7, int a8, _DWORD *a9, int a10, int a11, unsigned __int16 a12)
|
||||
unsigned int *zdrv_paint_flat(int a1, int a2, DWORD *a3, int a4, int a5, int a6, int a7, int a8, DWORD *a9, int a10, int a11, unsigned int a12)
|
||||
{
|
||||
_DWORD *v12; // esi
|
||||
DWORD *v12; // esi
|
||||
int v13; // ecx
|
||||
_DWORD *v14; // edi
|
||||
DWORD *v14; // edi
|
||||
int v15; // eax
|
||||
int v16; // ecx
|
||||
unsigned __int16 *result; // eax
|
||||
unsigned int *result; // eax
|
||||
bool v18; // zf
|
||||
int v19; // [esp+18h] [ebp+Ch]
|
||||
_BYTE *v20; // [esp+1Ch] [ebp+10h]
|
||||
@@ -818,8 +818,8 @@ unsigned __int16 *__stdcall zdrv_paint_flat(int a1, int a2, _DWORD *a3, int a4,
|
||||
v16 = a3[2] + a3[5] * (v13 - a2 - a5);
|
||||
v20 = (_BYTE *)(a10 + a9[2] + a9[5] * (v15 - a2 - a11));
|
||||
v21 = (_BYTE *)(a4 + v16);
|
||||
result = (unsigned __int16 *)(*(_DWORD *)(a6 + 6)
|
||||
+ 2 * (a7 + *(signed __int16 *)(a6 + 4) * (*(signed __int16 *)(a6 + 2) - a2 - a8)));
|
||||
result = (unsigned int *)(*(DWORD *)(a6 + 6)
|
||||
+ 2 * (a7 + *(signed int *)(a6 + 4) * (*(signed int *)(a6 + 2) - a2 - a8)));
|
||||
if ( a2 > 0 )
|
||||
{
|
||||
v22 = a2;
|
||||
@@ -845,7 +845,7 @@ unsigned __int16 *__stdcall zdrv_paint_flat(int a1, int a2, _DWORD *a3, int a4,
|
||||
v20 += v14[5] - a1;
|
||||
v21 += v12[5] - a1;
|
||||
v18 = v22-- == 1;
|
||||
result += *(signed __int16 *)(a6 + 4) - a1;
|
||||
result += *(signed int *)(a6 + 4) - a1;
|
||||
}
|
||||
while ( !v18 );
|
||||
}
|
||||
|
||||
+91
-91
@@ -1,7 +1,7 @@
|
||||
#include "../pinball.h"
|
||||
|
||||
//----- (0101304D) --------------------------------------------------------
|
||||
void __stdcall render_repaint(struct render_sprite_type_struct *a1)
|
||||
void render_repaint(struct render_sprite_type_struct *a1)
|
||||
{
|
||||
int *v1; // edi
|
||||
bool v2; // zf
|
||||
@@ -14,17 +14,17 @@ int v8; // [esp+14h] [ebp-4h]
|
||||
struct render_sprite_type_struct *v9; // [esp+20h] [ebp+8h]
|
||||
|
||||
v1 = (int *)a1;
|
||||
if ( *((_DWORD *)a1 + 17) )
|
||||
if ( *((DWORD *)a1 + 17) )
|
||||
{
|
||||
v2 = *((_DWORD *)a1 + 18) == 0;
|
||||
v3 = *((_DWORD *)a1 + 18) < 0;
|
||||
v2 = *((DWORD *)a1 + 18) == 0;
|
||||
v3 = *((DWORD *)a1 + 18) < 0;
|
||||
v9 = 0;
|
||||
if ( !v3 && !v2 )
|
||||
{
|
||||
do
|
||||
{
|
||||
v4 = *(_DWORD *)(v1[17] + 4 * (_DWORD)v9);
|
||||
if ( !*(_BYTE *)(v4 + 24) && *(_DWORD *)(v4 + 16) )
|
||||
v4 = *(DWORD *)(v1[17] + 4 * (DWORD)v9);
|
||||
if ( !*(_BYTE *)(v4 + 24) && *(DWORD *)(v4 + 16) )
|
||||
{
|
||||
if ( rectangle_clip((int *)v4, v1 + 13, &v5) )
|
||||
zdrv_paint(
|
||||
@@ -36,12 +36,12 @@ v6,
|
||||
(int)&zscreen,
|
||||
v5,
|
||||
v6,
|
||||
*(_DWORD **)(v4 + 16),
|
||||
v5 - *(_DWORD *)v4,
|
||||
v6 - *(_DWORD *)(v4 + 4),
|
||||
*(_DWORD *)(v4 + 20),
|
||||
v5 + *(_DWORD *)(v4 + 44) - *(_DWORD *)v4,
|
||||
v6 + *(_DWORD *)(v4 + 48) - *(_DWORD *)(v4 + 4));
|
||||
*(DWORD **)(v4 + 16),
|
||||
v5 - *(DWORD *)v4,
|
||||
v6 - *(DWORD *)(v4 + 4),
|
||||
*(DWORD *)(v4 + 20),
|
||||
v5 + *(DWORD *)(v4 + 44) - *(DWORD *)v4,
|
||||
v6 + *(DWORD *)(v4 + 48) - *(DWORD *)(v4 + 4));
|
||||
}
|
||||
v9 = (struct render_sprite_type_struct *)((char *)v9 + 1);
|
||||
}
|
||||
@@ -51,7 +51,7 @@ while ( (signed int)v9 < v1[18] );
|
||||
}
|
||||
|
||||
//----- (010130F3) --------------------------------------------------------
|
||||
void __stdcall render_paint_balls()
|
||||
void render_paint_balls()
|
||||
{
|
||||
int v0; // ecx
|
||||
int v1; // edi
|
||||
@@ -65,7 +65,7 @@ int v8; // ebx
|
||||
int v9; // ST48_4
|
||||
int v10; // [esp+Ch] [ebp-10h]
|
||||
struct render_sprite_type_struct **v11; // [esp+10h] [ebp-Ch]
|
||||
_DWORD *v12; // [esp+14h] [ebp-8h]
|
||||
DWORD *v12; // [esp+14h] [ebp-8h]
|
||||
|
||||
v0 = render_many_balls;
|
||||
if ( render_many_balls > 1 )
|
||||
@@ -79,7 +79,7 @@ for ( i = v1; i < v0 / 2; ++i )
|
||||
{
|
||||
v3 = render_ball_list[i];
|
||||
v4 = &render_ball_list[v1];
|
||||
if ( *((_WORD *)*v4 + 13) > *((_WORD *)v3 + 13) )
|
||||
if ( *((WORD *)*v4 + 13) > *((WORD *)v3 + 13) )
|
||||
{
|
||||
v5 = *v4;
|
||||
*v4 = v3;
|
||||
@@ -101,7 +101,7 @@ do
|
||||
{
|
||||
v6 = *v11;
|
||||
v7 = (int *)((char *)*v11 + 52);
|
||||
if ( *((_DWORD *)*v11 + 4) && rectangle_clip((int *)v6, (int *)&vscreen_rect, (_DWORD *)*v11 + 13) )
|
||||
if ( *((DWORD *)*v11 + 4) && rectangle_clip((int *)v6, (int *)&vscreen_rect, (DWORD *)*v11 + 13) )
|
||||
{
|
||||
v8 = *v7;
|
||||
v9 = v7[1];
|
||||
@@ -115,17 +115,17 @@ v9,
|
||||
(int)&zscreen,
|
||||
v8,
|
||||
v9,
|
||||
*((_DWORD **)v6 + 4),
|
||||
v8 - *(_DWORD *)v6,
|
||||
v9 - *((_DWORD *)v6 + 1),
|
||||
*((_WORD *)v6 + 13));
|
||||
*((DWORD **)v6 + 4),
|
||||
v8 - *(DWORD *)v6,
|
||||
v9 - *((DWORD *)v6 + 1),
|
||||
*((WORD *)v6 + 13));
|
||||
}
|
||||
else
|
||||
{
|
||||
v7[2] = -1;
|
||||
}
|
||||
++v10;
|
||||
v12 = (_DWORD *)((char *)v12 + 37);
|
||||
v12 = (DWORD *)((char *)v12 + 37);
|
||||
++v11;
|
||||
}
|
||||
while ( v10 < render_many_balls );
|
||||
@@ -135,14 +135,14 @@ while ( v10 < render_many_balls );
|
||||
// 1025070: using guessed type int render_many_balls;
|
||||
|
||||
//----- (0101320D) --------------------------------------------------------
|
||||
void __stdcall render_unpaint_balls()
|
||||
void render_unpaint_balls()
|
||||
{
|
||||
_DWORD *v0; // ebx
|
||||
DWORD *v0; // ebx
|
||||
struct render_sprite_type_struct *v1; // edi
|
||||
_DWORD *v2; // esi
|
||||
DWORD *v2; // esi
|
||||
int v3; // eax
|
||||
_DWORD *v4; // edi
|
||||
_DWORD *v5; // esi
|
||||
DWORD *v4; // edi
|
||||
DWORD *v5; // esi
|
||||
bool v6; // zf
|
||||
int v7; // [esp+0h] [ebp-8h]
|
||||
struct render_sprite_type_struct **v8; // [esp+4h] [ebp-4h]
|
||||
@@ -150,17 +150,17 @@ struct render_sprite_type_struct **v8; // [esp+4h] [ebp-4h]
|
||||
v8 = &render_ball_list[render_many_balls - 1];
|
||||
if ( render_many_balls - 1 >= 0 )
|
||||
{
|
||||
v0 = (_DWORD *)((char *)&ball_bitmap + 37 * (render_many_balls - 1));
|
||||
v0 = (DWORD *)((char *)&ball_bitmap + 37 * (render_many_balls - 1));
|
||||
v7 = render_many_balls;
|
||||
do
|
||||
{
|
||||
v1 = *v8;
|
||||
v2 = (_DWORD *)((char *)*v8 + 52);
|
||||
v3 = *((_DWORD *)*v8 + 15);
|
||||
v2 = (DWORD *)((char *)*v8 + 52);
|
||||
v3 = *((DWORD *)*v8 + 15);
|
||||
if ( v3 > 0 )
|
||||
gdrv_copy_bitmap(&vscreen, v3, *((_DWORD *)*v8 + 16), *((_DWORD *)*v8 + 13), *((_DWORD *)*v8 + 14), v0, 0, 0);
|
||||
gdrv_copy_bitmap(&vscreen, v3, *((DWORD *)*v8 + 16), *((DWORD *)*v8 + 13), *((DWORD *)*v8 + 14), v0, 0, 0);
|
||||
--v8;
|
||||
v4 = (_DWORD *)((char *)v1 + 28);
|
||||
v4 = (DWORD *)((char *)v1 + 28);
|
||||
*v4 = *v2;
|
||||
v5 = v2 + 1;
|
||||
++v4;
|
||||
@@ -168,7 +168,7 @@ v5 = v2 + 1;
|
||||
++v5;
|
||||
++v4;
|
||||
*v4 = *v5;
|
||||
v0 = (_DWORD *)((char *)v0 - 37);
|
||||
v0 = (DWORD *)((char *)v0 - 37);
|
||||
v6 = v7-- == 1;
|
||||
v4[1] = v5[1];
|
||||
}
|
||||
@@ -179,7 +179,7 @@ while ( !v6 );
|
||||
// 1025070: using guessed type int render_many_balls;
|
||||
|
||||
//----- (01013283) --------------------------------------------------------
|
||||
int __stdcall render_remove_sprite(struct render_sprite_type_struct *a1)
|
||||
int render_remove_sprite(struct render_sprite_type_struct *a1)
|
||||
{
|
||||
int v1; // eax
|
||||
int v2; // ecx
|
||||
@@ -200,8 +200,8 @@ v1 = render_many_sprites;
|
||||
++v2;
|
||||
}
|
||||
render_many_sprites = v1 - 1;
|
||||
if ( *((_DWORD *)a1 + 17) )
|
||||
memoryfree(*((_DWORD *)a1 + 17));
|
||||
if ( *((DWORD *)a1 + 17) )
|
||||
memoryfree(*((DWORD *)a1 + 17));
|
||||
memoryfree((int)a1);
|
||||
return 1;
|
||||
}
|
||||
@@ -209,7 +209,7 @@ return 1;
|
||||
// 10250B4: using guessed type int render_many_sprites;
|
||||
|
||||
//----- (010132E8) --------------------------------------------------------
|
||||
int __stdcall render_remove_ball(struct render_sprite_type_struct *a1)
|
||||
int render_remove_ball(struct render_sprite_type_struct *a1)
|
||||
{
|
||||
int v1; // eax
|
||||
int v2; // ecx
|
||||
@@ -237,7 +237,7 @@ return 1;
|
||||
// 1025070: using guessed type int render_many_balls;
|
||||
|
||||
//----- (010133C7) --------------------------------------------------------
|
||||
void __stdcall render_update()
|
||||
void render_update()
|
||||
{
|
||||
int i; // eax
|
||||
int *v1; // esi
|
||||
@@ -293,7 +293,7 @@ v27 = v15;
|
||||
v26 = v16;
|
||||
zdrv_fill((int)&vscreen, (int)&zscreen, v16, v18, v17, v15, 0xFFFF);
|
||||
if ( render_background_bitmap )
|
||||
gdrv_copy_bitmap(&vscreen, v26, v18, v17, v27, (_DWORD *)render_background_bitmap, v17, v27);
|
||||
gdrv_copy_bitmap(&vscreen, v26, v18, v17, v27, (DWORD *)render_background_bitmap, v17, v27);
|
||||
else
|
||||
gdrv_fill_bitmap((int)&vscreen, &vscreen, v26, v18, v17, v27, 0);
|
||||
goto LABEL_8;
|
||||
@@ -322,7 +322,7 @@ if ( i > 0 )
|
||||
do
|
||||
{
|
||||
v5 = *v3;
|
||||
if ( *((_DWORD *)*v3 + 15) > 0 && (!*((_BYTE *)v5 + 25) || *((_BYTE *)v5 + 25) == 1) )
|
||||
if ( *((DWORD *)*v3 + 15) > 0 && (!*((_BYTE *)v5 + 25) || *((_BYTE *)v5 + 25) == 1) )
|
||||
render_repaint(*v3);
|
||||
++v4;
|
||||
++v3;
|
||||
@@ -340,7 +340,7 @@ for ( j = render_dirty_list; v28 < render_many_dirty; ++j )
|
||||
{
|
||||
v6 = *j;
|
||||
v7 = (int *)((char *)*j + 52);
|
||||
v8 = *((_DWORD *)*j + 15);
|
||||
v8 = *((DWORD *)*j + 15);
|
||||
v25 = *j;
|
||||
if ( v8 > 0 )
|
||||
gdrv_blit_sequence((int)&vscreen, *v7, v7[1], *v7 + v27, v7[1] + v26, v8, v7[3]);
|
||||
@@ -365,7 +365,7 @@ for ( j = render_ball_list; v28 < render_many_balls; ++j )
|
||||
v13 = (int *)((char *)*j + 28);
|
||||
v14 = (int *)((char *)*j + 52);
|
||||
if ( overlapping_box((struct rectangle_type *)v14, (struct rectangle_type *)v13, (struct rectangle_type *)&xSrc)
|
||||
&& *((_DWORD *)*j + 15) > 0 )
|
||||
&& *((DWORD *)*j + 15) > 0 )
|
||||
{
|
||||
if ( v23 > 0 )
|
||||
gdrv_blit_sequence((int)&vscreen, xSrc, v22, xSrc + v27, v22 + v26, v23, v24);
|
||||
@@ -395,7 +395,7 @@ render_unpaint_balls();
|
||||
// 10253B0: using guessed type int render_offset_y;
|
||||
|
||||
//----- (01013670) --------------------------------------------------------
|
||||
void __stdcall render_uninit()
|
||||
void render_uninit()
|
||||
{
|
||||
int i; // esi
|
||||
int j; // esi
|
||||
@@ -421,7 +421,7 @@ render_many_balls = 0;
|
||||
// 10250C0: using guessed type int render_many_dirty;
|
||||
|
||||
//----- (01013705) --------------------------------------------------------
|
||||
char *__stdcall render_init(_DWORD *a1, float a2, float a3, int a4, int a5)
|
||||
char *render_init(DWORD *a1, float a2, float a3, int a4, int a5)
|
||||
{
|
||||
int v5; // edi
|
||||
char *result; // eax
|
||||
@@ -460,7 +460,7 @@ result = (char *)gdrv_fill_bitmap((int)&vscreen, &vscreen, dword_1025094, dword_
|
||||
return result;
|
||||
}
|
||||
// 1024F04: using guessed type int memory_critical_allocation;
|
||||
// 102505A: using guessed type __int16 word_102505A;
|
||||
// 102505A: using guessed type int word_102505A;
|
||||
// 1025068: using guessed type struct render_sprite_type_struct **render_dirty_list;
|
||||
// 102506C: using guessed type struct render_sprite_type_struct **render_ball_list;
|
||||
// 1025078: using guessed type int dword_1025078;
|
||||
@@ -475,7 +475,7 @@ return result;
|
||||
// 10253AC: using guessed type int render_offset_x;
|
||||
|
||||
//----- (0101382A) --------------------------------------------------------
|
||||
int __stdcall render_sprite_modified(int a1)
|
||||
int render_sprite_modified(int a1)
|
||||
{
|
||||
int result; // eax
|
||||
|
||||
@@ -491,7 +491,7 @@ return result;
|
||||
// 10250C0: using guessed type int render_many_dirty;
|
||||
|
||||
//----- (0101385C) --------------------------------------------------------
|
||||
int __stdcall render_create_sprite(int a1, int a2, int a3, int a4, int a5, _DWORD *a6)
|
||||
int render_create_sprite(int a1, int a2, int a3, int a4, int a5, DWORD *a6)
|
||||
{
|
||||
int v6; // ebx
|
||||
int result; // eax
|
||||
@@ -500,50 +500,50 @@ v6 = memoryallocate(0x5Cu);
|
||||
result = 0;
|
||||
if ( v6 )
|
||||
{
|
||||
*(_DWORD *)(v6 + 4) = a5;
|
||||
*(_DWORD *)(v6 + 16) = a2;
|
||||
*(_DWORD *)v6 = a4;
|
||||
*(DWORD *)(v6 + 4) = a5;
|
||||
*(DWORD *)(v6 + 16) = a2;
|
||||
*(DWORD *)v6 = a4;
|
||||
*(_BYTE *)(v6 + 25) = a1;
|
||||
*(_BYTE *)(v6 + 24) = 0;
|
||||
*(_DWORD *)(v6 + 68) = 0;
|
||||
*(_DWORD *)(v6 + 72) = 0;
|
||||
*(DWORD *)(v6 + 68) = 0;
|
||||
*(DWORD *)(v6 + 72) = 0;
|
||||
if ( a6 )
|
||||
{
|
||||
*(_DWORD *)(v6 + 76) = *a6;
|
||||
*(_DWORD *)(v6 + 80) = a6[1];
|
||||
*(_DWORD *)(v6 + 84) = a6[2];
|
||||
*(_DWORD *)(v6 + 88) = a6[3];
|
||||
*(DWORD *)(v6 + 76) = *a6;
|
||||
*(DWORD *)(v6 + 80) = a6[1];
|
||||
*(DWORD *)(v6 + 84) = a6[2];
|
||||
*(DWORD *)(v6 + 88) = a6[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
*(_DWORD *)(v6 + 84) = -1;
|
||||
*(_DWORD *)(v6 + 88) = -1;
|
||||
*(_DWORD *)(v6 + 76) = 0;
|
||||
*(_DWORD *)(v6 + 80) = 0;
|
||||
*(DWORD *)(v6 + 84) = -1;
|
||||
*(DWORD *)(v6 + 88) = -1;
|
||||
*(DWORD *)(v6 + 76) = 0;
|
||||
*(DWORD *)(v6 + 80) = 0;
|
||||
}
|
||||
if ( a2 )
|
||||
{
|
||||
*(_DWORD *)(v6 + 8) = *(_DWORD *)(a2 + 12);
|
||||
*(_DWORD *)(v6 + 12) = *(_DWORD *)(a2 + 16);
|
||||
*(DWORD *)(v6 + 8) = *(DWORD *)(a2 + 12);
|
||||
*(DWORD *)(v6 + 12) = *(DWORD *)(a2 + 16);
|
||||
}
|
||||
else
|
||||
{
|
||||
*(_DWORD *)(v6 + 8) = 0;
|
||||
*(_DWORD *)(v6 + 12) = 0;
|
||||
*(DWORD *)(v6 + 8) = 0;
|
||||
*(DWORD *)(v6 + 12) = 0;
|
||||
}
|
||||
*(_DWORD *)(v6 + 20) = a3;
|
||||
*(_DWORD *)(v6 + 48) = 0;
|
||||
*(_DWORD *)(v6 + 44) = 0;
|
||||
*(DWORD *)(v6 + 20) = a3;
|
||||
*(DWORD *)(v6 + 48) = 0;
|
||||
*(DWORD *)(v6 + 44) = 0;
|
||||
if ( !a3 && a1 != 2 )
|
||||
{
|
||||
*(_DWORD *)(v6 + 20) = render_background_zmap;
|
||||
*(_DWORD *)(v6 + 44) = a4 - render_zmap_offset;
|
||||
*(_DWORD *)(v6 + 48) = a5 - dword_10253C0;
|
||||
*(DWORD *)(v6 + 20) = render_background_zmap;
|
||||
*(DWORD *)(v6 + 44) = a4 - render_zmap_offset;
|
||||
*(DWORD *)(v6 + 48) = a5 - dword_10253C0;
|
||||
}
|
||||
*(_DWORD *)(v6 + 28) = *(_DWORD *)v6;
|
||||
*(_DWORD *)(v6 + 32) = *(_DWORD *)(v6 + 4);
|
||||
*(_DWORD *)(v6 + 36) = *(_DWORD *)(v6 + 8);
|
||||
*(_DWORD *)(v6 + 40) = *(_DWORD *)(v6 + 12);
|
||||
*(DWORD *)(v6 + 28) = *(DWORD *)v6;
|
||||
*(DWORD *)(v6 + 32) = *(DWORD *)(v6 + 4);
|
||||
*(DWORD *)(v6 + 36) = *(DWORD *)(v6 + 8);
|
||||
*(DWORD *)(v6 + 40) = *(DWORD *)(v6 + 12);
|
||||
if ( a1 == 2 )
|
||||
{
|
||||
render_ball_list[render_many_balls++] = (struct render_sprite_type_struct *)v6;
|
||||
@@ -565,7 +565,7 @@ return result;
|
||||
// 10253C0: using guessed type int dword_10253C0;
|
||||
|
||||
//----- (0101394E) --------------------------------------------------------
|
||||
int __stdcall render_set_background_zmap(struct zmap_header_type *a1, int a2, int a3)
|
||||
int render_set_background_zmap(struct zmap_header_type *a1, int a2, int a3)
|
||||
{
|
||||
int result; // eax
|
||||
|
||||
@@ -579,7 +579,7 @@ return result;
|
||||
// 10253C0: using guessed type int dword_10253C0;
|
||||
|
||||
//----- (01013974) --------------------------------------------------------
|
||||
int __stdcall render_sprite_set(_DWORD *a1, int a2, int a3, int a4, int a5)
|
||||
int render_sprite_set(DWORD *a1, int a2, int a3, int a4, int a5)
|
||||
{
|
||||
int result; // eax
|
||||
|
||||
@@ -591,8 +591,8 @@ a1[1] = a5;
|
||||
a1[4] = a2;
|
||||
if ( a2 )
|
||||
{
|
||||
a1[2] = *(_DWORD *)(a2 + 12);
|
||||
a1[3] = *(_DWORD *)(a2 + 16);
|
||||
a1[2] = *(DWORD *)(a2 + 12);
|
||||
a1[3] = *(DWORD *)(a2 + 16);
|
||||
}
|
||||
a1[5] = a3;
|
||||
result = render_sprite_modified((int)a1);
|
||||
@@ -601,46 +601,46 @@ return result;
|
||||
}
|
||||
|
||||
//----- (010139B6) --------------------------------------------------------
|
||||
void __stdcall render_sprite_set_bitmap(_DWORD *a1, int a2)
|
||||
void render_sprite_set_bitmap(DWORD *a1, int a2)
|
||||
{
|
||||
if ( a1 && a1[4] != a2 )
|
||||
{
|
||||
a1[4] = a2;
|
||||
if ( a2 )
|
||||
{
|
||||
a1[2] = *(_DWORD *)(a2 + 12);
|
||||
a1[3] = *(_DWORD *)(a2 + 16);
|
||||
a1[2] = *(DWORD *)(a2 + 12);
|
||||
a1[3] = *(DWORD *)(a2 + 16);
|
||||
}
|
||||
render_sprite_modified((int)a1);
|
||||
}
|
||||
}
|
||||
|
||||
//----- (010139EC) --------------------------------------------------------
|
||||
void __stdcall render_ball_set(int a1, int a2, float a3, int a4, int a5)
|
||||
void render_ball_set(int a1, int a2, float a3, int a4, int a5)
|
||||
{
|
||||
double v5; // st7
|
||||
|
||||
if ( a1 )
|
||||
{
|
||||
*(_DWORD *)(a1 + 16) = a2;
|
||||
*(DWORD *)(a1 + 16) = a2;
|
||||
if ( a2 )
|
||||
{
|
||||
*(_DWORD *)a1 = a4;
|
||||
*(_DWORD *)(a1 + 4) = a5;
|
||||
*(_DWORD *)(a1 + 8) = *(_DWORD *)(a2 + 12);
|
||||
*(_DWORD *)(a1 + 12) = *(_DWORD *)(a2 + 16);
|
||||
*(DWORD *)a1 = a4;
|
||||
*(DWORD *)(a1 + 4) = a5;
|
||||
*(DWORD *)(a1 + 8) = *(DWORD *)(a2 + 12);
|
||||
*(DWORD *)(a1 + 12) = *(DWORD *)(a2 + 16);
|
||||
}
|
||||
if ( a3 >= (double)render_zmin )
|
||||
{
|
||||
v5 = (a3 - render_zmin) * render_zscaler;
|
||||
if ( v5 <= render_zmax )
|
||||
*(_WORD *)(a1 + 26) = (signed __int64)v5;
|
||||
*(WORD *)(a1 + 26) = (signed __int64)v5;
|
||||
else
|
||||
*(_WORD *)(a1 + 26) = -1;
|
||||
*(WORD *)(a1 + 26) = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
*(_WORD *)(a1 + 26) = 0;
|
||||
*(WORD *)(a1 + 26) = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -649,7 +649,7 @@ else
|
||||
// 10250BC: using guessed type float render_zmin;
|
||||
|
||||
//----- (01013A6A) --------------------------------------------------------
|
||||
void __stdcall render_paint()
|
||||
void render_paint()
|
||||
{
|
||||
render_paint_balls();
|
||||
gdrv_blat((int)&vscreen, xDest, yDest);
|
||||
@@ -657,7 +657,7 @@ render_unpaint_balls();
|
||||
}
|
||||
|
||||
//----- (01013A8F) --------------------------------------------------------
|
||||
void __stdcall render_shift(int a1, int a2, int xSrc, int a4, int DestWidth, int DestHeight)
|
||||
void render_shift(int a1, int a2, int xSrc, int a4, int DestWidth, int DestHeight)
|
||||
{
|
||||
render_offset_x += a1;
|
||||
render_offset_y += a2;
|
||||
|
||||
+32
-32
@@ -5,7 +5,7 @@
|
||||
#include "../pinball.h"
|
||||
|
||||
//----- (01006D96) --------------------------------------------------------
|
||||
HPALETTE __stdcall splash_init_palette(LOGPALETTE *plpal)
|
||||
HPALETTE splash_init_palette(LOGPALETTE *plpal)
|
||||
{
|
||||
LOGPALETTE *v1; // edi
|
||||
HWND v2; // eax
|
||||
@@ -75,7 +75,7 @@ HPALETTE __stdcall splash_init_palette(LOGPALETTE *plpal)
|
||||
}
|
||||
|
||||
//----- (01006EB9) --------------------------------------------------------
|
||||
HBITMAP __stdcall load_title_bitmap(HMODULE hModule, HDC hdc, LPCSTR lpName, UINT iStart, int a5, int a6)
|
||||
HBITMAP load_title_bitmap(HMODULE hModule, HDC hdc, LPCSTR lpName, UINT iStart, int a5, int a6)
|
||||
{
|
||||
HRSRC v6; // eax
|
||||
HGLOBAL v7; // eax
|
||||
@@ -111,7 +111,7 @@ HBITMAP __stdcall load_title_bitmap(HMODULE hModule, HDC hdc, LPCSTR lpName, UIN
|
||||
if ( !v12 && !v13 )
|
||||
{
|
||||
lpNamea = splash_init_palette(&plpal);
|
||||
*(_DWORD *)a6 = lpNamea;
|
||||
*(DWORD *)a6 = lpNamea;
|
||||
if ( lpNamea )
|
||||
{
|
||||
hModulea = 0;
|
||||
@@ -144,7 +144,7 @@ HBITMAP __stdcall load_title_bitmap(HMODULE hModule, HDC hdc, LPCSTR lpName, UIN
|
||||
}
|
||||
|
||||
//----- (01006FCB) --------------------------------------------------------
|
||||
int __stdcall splash_bitmap_setup(int a1)
|
||||
int splash_bitmap_setup(int a1)
|
||||
{
|
||||
HWND v1; // eax
|
||||
HDC v2; // eax
|
||||
@@ -165,7 +165,7 @@ int __stdcall splash_bitmap_setup(int a1)
|
||||
v3 = v2;
|
||||
if ( v2 )
|
||||
{
|
||||
*(_DWORD *)(a1 + 12) = CreateCompatibleDC(v2);
|
||||
*(DWORD *)(a1 + 12) = CreateCompatibleDC(v2);
|
||||
v4 = CreateCompatibleBitmap(v3, 10, 10);
|
||||
v5 = *(HWND *)a1;
|
||||
h = v4;
|
||||
@@ -180,15 +180,15 @@ int __stdcall splash_bitmap_setup(int a1)
|
||||
v7 = load_title_bitmap(hInstance, *(HDC *)(a1 + 12), (LPCSTR)(a1 + 32), 0xAu, 236, a1 + 4);
|
||||
else
|
||||
v7 = LoadBitmapA(hInstance, (LPCSTR)(a1 + 232));
|
||||
*(_DWORD *)(a1 + 8) = v7;
|
||||
*(DWORD *)(a1 + 8) = v7;
|
||||
if ( v7 )
|
||||
{
|
||||
SelectObject(*(HDC *)(a1 + 12), v7);
|
||||
DeleteObject(h);
|
||||
GetObjectA(*(HANDLE *)(a1 + 8), 24, &pv);
|
||||
*(_DWORD *)(a1 + 16) = v10;
|
||||
*(DWORD *)(a1 + 16) = v10;
|
||||
result = v11;
|
||||
*(_DWORD *)(a1 + 20) = v11;
|
||||
*(DWORD *)(a1 + 20) = v11;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -198,43 +198,43 @@ int __stdcall splash_bitmap_setup(int a1)
|
||||
GetLastError();
|
||||
}
|
||||
}
|
||||
if ( *(_DWORD *)(a1 + 4) )
|
||||
if ( *(DWORD *)(a1 + 4) )
|
||||
DeleteObject(*(HGDIOBJ *)(a1 + 4));
|
||||
if ( *(_DWORD *)a1 )
|
||||
if ( *(DWORD *)a1 )
|
||||
DestroyWindow(*(HWND *)a1);
|
||||
if ( h )
|
||||
DeleteObject(h);
|
||||
result = *(_DWORD *)(a1 + 12);
|
||||
result = *(DWORD *)(a1 + 12);
|
||||
if ( result )
|
||||
result = DeleteDC(*(HDC *)(a1 + 12));
|
||||
*(_DWORD *)(a1 + 8) = 0;
|
||||
*(DWORD *)(a1 + 8) = 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
//----- (01007103) --------------------------------------------------------
|
||||
void __stdcall splash_paint(int a1, HDC hdc)
|
||||
void splash_paint(int a1, HDC hdc)
|
||||
{
|
||||
HWND v2; // eax
|
||||
HPALETTE v3; // ST1C_4
|
||||
struct tagRECT Rect; // [esp+4h] [ebp-10h]
|
||||
|
||||
if ( *(_DWORD *)(a1 + 8) )
|
||||
if ( *(DWORD *)(a1 + 8) )
|
||||
{
|
||||
v2 = GetDesktopWindow();
|
||||
GetWindowRect(v2, &Rect);
|
||||
v3 = *(HPALETTE *)(a1 + 4);
|
||||
*(_DWORD *)(a1 + 24) = (Rect.right - Rect.left - *(_DWORD *)(a1 + 16)) / 2;
|
||||
*(_DWORD *)(a1 + 28) = (Rect.bottom - Rect.top - *(_DWORD *)(a1 + 20)) / 2;
|
||||
*(DWORD *)(a1 + 24) = (Rect.right - Rect.left - *(DWORD *)(a1 + 16)) / 2;
|
||||
*(DWORD *)(a1 + 28) = (Rect.bottom - Rect.top - *(DWORD *)(a1 + 20)) / 2;
|
||||
SelectPalette(hdc, v3, 0);
|
||||
RealizePalette(hdc);
|
||||
SelectPalette(*(HDC *)(a1 + 12), *(HPALETTE *)(a1 + 4), 0);
|
||||
RealizePalette(*(HDC *)(a1 + 12));
|
||||
BitBlt(
|
||||
hdc,
|
||||
*(_DWORD *)(a1 + 24),
|
||||
*(_DWORD *)(a1 + 28),
|
||||
*(_DWORD *)(a1 + 16),
|
||||
*(_DWORD *)(a1 + 20),
|
||||
*(DWORD *)(a1 + 24),
|
||||
*(DWORD *)(a1 + 28),
|
||||
*(DWORD *)(a1 + 16),
|
||||
*(DWORD *)(a1 + 20),
|
||||
*(HDC *)(a1 + 12),
|
||||
0,
|
||||
0,
|
||||
@@ -243,23 +243,23 @@ void __stdcall splash_paint(int a1, HDC hdc)
|
||||
}
|
||||
|
||||
//----- (010071A5) --------------------------------------------------------
|
||||
void __stdcall splash_hide(int a1)
|
||||
void splash_hide(int a1)
|
||||
{
|
||||
HDC v1; // edi
|
||||
|
||||
if ( a1 )
|
||||
{
|
||||
if ( *(_DWORD *)a1 )
|
||||
if ( *(DWORD *)a1 )
|
||||
{
|
||||
v1 = _GetDC(*(HWND *)a1);
|
||||
BitBlt(v1, 0, 0, *(_DWORD *)(a1 + 24), *(_DWORD *)(a1 + 28), v1, 0, 0, 0x42u);
|
||||
BitBlt(v1, 0, 0, *(DWORD *)(a1 + 24), *(DWORD *)(a1 + 28), v1, 0, 0, 0x42u);
|
||||
ReleaseDC(*(HWND *)a1, v1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----- (010071ED) --------------------------------------------------------
|
||||
HINSTANCE __stdcall splash_destroy(int a1)
|
||||
HINSTANCE splash_destroy(int a1)
|
||||
{
|
||||
void *v1; // eax
|
||||
HDC v2; // eax
|
||||
@@ -267,18 +267,18 @@ HINSTANCE __stdcall splash_destroy(int a1)
|
||||
|
||||
if ( a1 )
|
||||
{
|
||||
if ( *(_DWORD *)a1 )
|
||||
if ( *(DWORD *)a1 )
|
||||
{
|
||||
DestroyWindow(*(HWND *)a1);
|
||||
v1 = *(void **)(a1 + 4);
|
||||
*(_DWORD *)a1 = 0;
|
||||
*(DWORD *)a1 = 0;
|
||||
if ( v1 )
|
||||
DeleteObject(v1);
|
||||
v2 = *(HDC *)(a1 + 12);
|
||||
*(_DWORD *)(a1 + 4) = 0;
|
||||
*(DWORD *)(a1 + 4) = 0;
|
||||
if ( v2 )
|
||||
DeleteDC(v2);
|
||||
if ( *(_DWORD *)(a1 + 8) )
|
||||
if ( *(DWORD *)(a1 + 8) )
|
||||
DeleteObject(*(HGDIOBJ *)(a1 + 8));
|
||||
}
|
||||
memoryfree(a1);
|
||||
@@ -293,7 +293,7 @@ HINSTANCE __stdcall splash_destroy(int a1)
|
||||
}
|
||||
|
||||
//----- (01007264) --------------------------------------------------------
|
||||
LRESULT __stdcall splash_message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
LRESULT splash_message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HDC v5; // eax
|
||||
HDC v6; // esi
|
||||
@@ -325,7 +325,7 @@ LRESULT __stdcall splash_message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LPA
|
||||
}
|
||||
|
||||
//----- (01007308) --------------------------------------------------------
|
||||
int __stdcall splash_screen(int a1, LPCSTR lpString2, LPCSTR a3)
|
||||
int splash_screen(int a1, LPCSTR lpString2, LPCSTR a3)
|
||||
{
|
||||
int v3; // esi
|
||||
HINSTANCE v4; // ST28_4
|
||||
@@ -355,9 +355,9 @@ int __stdcall splash_screen(int a1, LPCSTR lpString2, LPCSTR a3)
|
||||
RegisterClassA(&WndClass);
|
||||
}
|
||||
v4 = hInstance;
|
||||
*(_DWORD *)(v3 + 8) = 0;
|
||||
*(DWORD *)(v3 + 8) = 0;
|
||||
v5 = CreateWindowExA(0, "3DPB_SPLASH_CLASS", WindowName, 0x80000000, -10, -10, 1, 1, 0, 0, v4, 0);
|
||||
*(_DWORD *)v3 = v5;
|
||||
*(DWORD *)v3 = v5;
|
||||
if ( !v5 )
|
||||
{
|
||||
memoryfree(v3);
|
||||
|
||||
+34
-34
@@ -5,11 +5,11 @@
|
||||
#include "../pinball.h"
|
||||
|
||||
//----- (0100742F) --------------------------------------------------------
|
||||
signed int __stdcall timer_init(int a1)
|
||||
signed int timer_init(int a1)
|
||||
{
|
||||
int v1; // eax
|
||||
int v3; // edx
|
||||
_DWORD *v4; // ecx
|
||||
DWORD *v4; // ecx
|
||||
|
||||
v1 = memoryallocate(20 * a1);
|
||||
dword_1024F80 = v1;
|
||||
@@ -21,7 +21,7 @@ signed int __stdcall timer_init(int a1)
|
||||
dword_10235F4 = 1;
|
||||
if ( a1 - 1 > 0 )
|
||||
{
|
||||
v4 = (_DWORD *)(v1 + 12);
|
||||
v4 = (DWORD *)(v1 + 12);
|
||||
do
|
||||
{
|
||||
*v4 = v4 + 2;
|
||||
@@ -30,7 +30,7 @@ signed int __stdcall timer_init(int a1)
|
||||
}
|
||||
while ( v3 );
|
||||
}
|
||||
*(_DWORD *)(20 * a1 + v1 - 8) = 0;
|
||||
*(DWORD *)(20 * a1 + v1 - 8) = 0;
|
||||
dword_1024F70 = 0;
|
||||
dword_1024F7C = v1;
|
||||
return 0;
|
||||
@@ -43,7 +43,7 @@ signed int __stdcall timer_init(int a1)
|
||||
// 1024F80: using guessed type int dword_1024F80;
|
||||
|
||||
//----- (0100749B) --------------------------------------------------------
|
||||
void __stdcall timer_uninit()
|
||||
void timer_uninit()
|
||||
{
|
||||
if ( dword_1024F80 )
|
||||
memoryfree(dword_1024F80);
|
||||
@@ -52,15 +52,15 @@ void __stdcall timer_uninit()
|
||||
// 1024F80: using guessed type int dword_1024F80;
|
||||
|
||||
//----- (010074B7) --------------------------------------------------------
|
||||
int __stdcall timer_set(float a1, int a2, int a3)
|
||||
int timer_set(float a1, int a2, int a3)
|
||||
{
|
||||
signed __int64 v3; // rax
|
||||
int v4; // esi
|
||||
int v5; // ebx
|
||||
_DWORD *v7; // ecx
|
||||
_DWORD *v8; // eax
|
||||
DWORD *v7; // ecx
|
||||
DWORD *v8; // eax
|
||||
int v9; // edx
|
||||
_DWORD *v10; // edi
|
||||
DWORD *v10; // edi
|
||||
int v11; // eax
|
||||
int v12; // [esp+0h] [ebp-8h]
|
||||
int v13; // [esp+4h] [ebp-4h]
|
||||
@@ -73,28 +73,28 @@ int __stdcall timer_set(float a1, int a2, int a3)
|
||||
if ( dword_1024F78 >= dword_1024F74 )
|
||||
return 0;
|
||||
v14 = 0;
|
||||
v7 = (_DWORD *)dword_1024F7C;
|
||||
v8 = (_DWORD *)(dword_1024F7C + 12);
|
||||
v9 = *(_DWORD *)(dword_1024F7C + 12);
|
||||
*(_DWORD *)(dword_1024F7C + 12) = 0;
|
||||
v7 = (DWORD *)dword_1024F7C;
|
||||
v8 = (DWORD *)(dword_1024F7C + 12);
|
||||
v9 = *(DWORD *)(dword_1024F7C + 12);
|
||||
*(DWORD *)(dword_1024F7C + 12) = 0;
|
||||
dword_1024F7C = v9;
|
||||
v13 = dword_1024F70;
|
||||
v10 = (_DWORD *)dword_1024F70;
|
||||
v10 = (DWORD *)dword_1024F70;
|
||||
if ( v4 > 0 )
|
||||
{
|
||||
while ( v5 >= *v10 )
|
||||
{
|
||||
++v14;
|
||||
v13 = (int)v10;
|
||||
v10 = (_DWORD *)v10[3];
|
||||
v10 = (DWORD *)v10[3];
|
||||
if ( v14 >= v4 )
|
||||
break;
|
||||
v5 = v12;
|
||||
}
|
||||
if ( v10 != (_DWORD *)v13 )
|
||||
if ( v10 != (DWORD *)v13 )
|
||||
{
|
||||
*v8 = *(_DWORD *)(v13 + 12);
|
||||
*(_DWORD *)(v13 + 12) = v7;
|
||||
*v8 = *(DWORD *)(v13 + 12);
|
||||
*(DWORD *)(v13 + 12) = v7;
|
||||
v5 = v12;
|
||||
goto LABEL_12;
|
||||
}
|
||||
@@ -122,21 +122,21 @@ int __stdcall timer_set(float a1, int a2, int a3)
|
||||
// 1024F84: using guessed type int time_ticks;
|
||||
|
||||
//----- (0100758D) --------------------------------------------------------
|
||||
signed int __stdcall timer_check()
|
||||
signed int timer_check()
|
||||
{
|
||||
_DWORD *v0; // eax
|
||||
DWORD *v0; // eax
|
||||
signed int v1; // ebx
|
||||
_DWORD *v2; // ecx
|
||||
DWORD *v2; // ecx
|
||||
int v3; // edx
|
||||
bool v4; // zf
|
||||
_DWORD *v5; // ecx
|
||||
DWORD *v5; // ecx
|
||||
int v6; // edx
|
||||
char v8; // [esp+4h] [ebp-14h]
|
||||
int v9; // [esp+8h] [ebp-10h]
|
||||
void (__stdcall *v10)(int, int); // [esp+Ch] [ebp-Ch]
|
||||
void (*v10)(int, int); // [esp+Ch] [ebp-Ch]
|
||||
int v11; // [esp+14h] [ebp-4h]
|
||||
|
||||
v0 = (_DWORD *)dword_1024F70;
|
||||
v0 = (DWORD *)dword_1024F70;
|
||||
v1 = 0;
|
||||
if ( dword_1024F70 )
|
||||
{
|
||||
@@ -146,7 +146,7 @@ signed int __stdcall timer_check()
|
||||
qmemcpy(&v8, v0, 0x14u);
|
||||
v2 = v0 + 3;
|
||||
v3 = (int)v0;
|
||||
v0 = (_DWORD *)v0[3];
|
||||
v0 = (DWORD *)v0[3];
|
||||
++v1;
|
||||
v4 = v10 == 0;
|
||||
dword_1024F70 = (int)v0;
|
||||
@@ -155,7 +155,7 @@ signed int __stdcall timer_check()
|
||||
if ( !v4 )
|
||||
{
|
||||
v10(v11, v9);
|
||||
v0 = (_DWORD *)dword_1024F70;
|
||||
v0 = (DWORD *)dword_1024F70;
|
||||
}
|
||||
if ( v1 > 1 )
|
||||
break;
|
||||
@@ -169,14 +169,14 @@ signed int __stdcall timer_check()
|
||||
v4 = v10 == 0;
|
||||
v5 = v0 + 3;
|
||||
v6 = (int)v0;
|
||||
v0 = (_DWORD *)v0[3];
|
||||
v0 = (DWORD *)v0[3];
|
||||
dword_1024F70 = (int)v0;
|
||||
*v5 = dword_1024F7C;
|
||||
dword_1024F7C = v6;
|
||||
if ( !v4 )
|
||||
{
|
||||
v10(v11, v9);
|
||||
v0 = (_DWORD *)dword_1024F70;
|
||||
v0 = (DWORD *)dword_1024F70;
|
||||
}
|
||||
++v1;
|
||||
}
|
||||
@@ -189,7 +189,7 @@ signed int __stdcall timer_check()
|
||||
// 1024F84: using guessed type int time_ticks;
|
||||
|
||||
//----- (01007659) --------------------------------------------------------
|
||||
int __stdcall timer_kill(int a1)
|
||||
int timer_kill(int a1)
|
||||
{
|
||||
int v1; // ecx
|
||||
int v2; // esi
|
||||
@@ -202,20 +202,20 @@ int __stdcall timer_kill(int a1)
|
||||
if ( dword_1024F78 <= 0 )
|
||||
return 0;
|
||||
result = a1;
|
||||
while ( a1 != *(_DWORD *)(v1 + 16) )
|
||||
while ( a1 != *(DWORD *)(v1 + 16) )
|
||||
{
|
||||
++v2;
|
||||
v3 = v1;
|
||||
v1 = *(_DWORD *)(v1 + 12);
|
||||
v1 = *(DWORD *)(v1 + 12);
|
||||
if ( v2 >= dword_1024F78 )
|
||||
return 0;
|
||||
}
|
||||
if ( v3 )
|
||||
*(_DWORD *)(v3 + 12) = *(_DWORD *)(v1 + 12);
|
||||
*(DWORD *)(v3 + 12) = *(DWORD *)(v1 + 12);
|
||||
else
|
||||
dword_1024F70 = *(_DWORD *)(v1 + 12);
|
||||
dword_1024F70 = *(DWORD *)(v1 + 12);
|
||||
--dword_1024F78;
|
||||
*(_DWORD *)(v1 + 12) = dword_1024F7C;
|
||||
*(DWORD *)(v1 + 12) = dword_1024F7C;
|
||||
dword_1024F7C = v1;
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user