Browse Source

Cleanup gendung crap

pull/72/head
galaxyhaxz 7 years ago committed by Anders Jenbo
parent
commit
5ed313ad99
  1. 67
      Source/gendung.cpp
  2. 2
      Source/gendung.h

67
Source/gendung.cpp

@ -417,55 +417,38 @@ void __cdecl gendung_418D91()
void __fastcall gendung_4191BF(int frames) void __fastcall gendung_4191BF(int frames)
{ {
int v1; // edi int i;
signed int v2; // eax BOOL doneflag;
int i; // esi
v1 = frames; doneflag = FALSE;
v2 = 0; while(frames > 0 && !doneflag) {
while (v1 > 0 && !v2) { doneflag = TRUE;
v2 = 1; for(i = 0; i < frames; i++) {
for (i = 0; i < v1; ++i) { if(level_frame_count[i] < level_frame_count[i + 1]) {
if (level_frame_count[i] < level_frame_count[i + 1]) {
gendung_4191FB(i, i + 1); gendung_4191FB(i, i + 1);
v2 = 0; doneflag = FALSE;
} }
} }
--v1; frames--;
} }
} }
void __fastcall gendung_4191FB(int a1, int a2) void __fastcall gendung_4191FB(int f1, int f2)
{ {
int v2; // esi int swap;
int *v3; // edi
short *v4; // edx
int v5; // ST10_4
int *v6; // edi
int *v7; // eax
int v8; // ST10_4
short *v9; // ecx
int v10; // edx
v2 = a2; swap = level_frame_count[f1];
v3 = &level_frame_count[a1]; level_frame_count[f1] = level_frame_count[f2];
v4 = &level_frame_types[a2]; level_frame_count[f2] = swap;
v2 *= 4; swap = tile_defs[f1];
v5 = *v3; tile_defs[f1] = tile_defs[f2];
*v3 = *(int *)((char *)level_frame_count + v2); tile_defs[f2] = swap;
v6 = &tile_defs[a1]; swap = (WORD)level_frame_types[f1];
*(int *)((char *)level_frame_count + v2) = v5; level_frame_types[f1] = level_frame_types[f2];
v7 = &level_frame_sizes[a1]; level_frame_types[f2] = swap;
v8 = *v6; swap = level_frame_sizes[f1];
*v6 = *(int *)((char *)tile_defs + v2); level_frame_sizes[f1] = level_frame_sizes[f2];
*(int *)((char *)tile_defs + v2) = v8; level_frame_sizes[f2] = swap;
v9 = &level_frame_types[a1];
_LOWORD(v6) = *v9;
*v9 = *v4;
*v4 = (signed short)v6;
v10 = *v7;
*v7 = *(int *)((char *)level_frame_sizes + v2);
*(int *)((char *)level_frame_sizes + v2) = v10;
} }
int __fastcall gendung_get_dpiece_num_from_coord(int x, int y) int __fastcall gendung_get_dpiece_num_from_coord(int x, int y)
@ -473,9 +456,9 @@ int __fastcall gendung_get_dpiece_num_from_coord(int x, int y)
if (x < MAXDUNY - y) if (x < MAXDUNY - y)
return (y + y * y + x * (x + 2 * y + 3)) / 2; return (y + y * y + x * (x + 2 * y + 3)) / 2;
x = MAXDUNY - x - 1; x = MAXDUNX - x - 1;
y = MAXDUNY - y - 1; y = MAXDUNY - y - 1;
return MAXDUNX * MAXDUNY - (y + y * y + x * (x + 2 * y + 3)) / 2 - 1; return MAXDUNX * MAXDUNY - ((y + y * y + x * (x + 2 * y + 3)) / 2 + 1);
} }
void __cdecl gendung_4192C2() void __cdecl gendung_4192C2()

2
Source/gendung.h

@ -72,7 +72,7 @@ extern short dpiece_defs_map_2[16][MAXDUNX][MAXDUNY];
void __cdecl FillSolidBlockTbls(); void __cdecl FillSolidBlockTbls();
void __cdecl gendung_418D91(); void __cdecl gendung_418D91();
void __fastcall gendung_4191BF(int frames); void __fastcall gendung_4191BF(int frames);
void __fastcall gendung_4191FB(int a1, int a2); void __fastcall gendung_4191FB(int f1, int f2);
int __fastcall gendung_get_dpiece_num_from_coord(int x, int y); int __fastcall gendung_get_dpiece_num_from_coord(int x, int y);
void __cdecl gendung_4192C2(); void __cdecl gendung_4192C2();
void __cdecl SetDungeonMicros(); void __cdecl SetDungeonMicros();

Loading…
Cancel
Save