mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-17 21:41:15 +00:00
Kinda fix the flow using gotos
This commit is contained in:
parent
2c469af6bf
commit
84d3fc1582
@ -374,7 +374,7 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
// LINE: BETA10 0x1013e666
|
// LINE: BETA10 0x1013e666
|
||||||
short row = p_flcHeader->height - yofs - 1;
|
short row = p_flcHeader->height - yofs - 1;
|
||||||
|
|
||||||
goto loop;
|
goto row_loop;
|
||||||
|
|
||||||
weird_code:
|
weird_code:
|
||||||
// This is very ugly, but it does yield the correct layout. This _may_ be correct.
|
// This is very ugly, but it does yield the correct layout. This _may_ be correct.
|
||||||
@ -382,8 +382,8 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
// LINE: BETA10 0x1013e684
|
// LINE: BETA10 0x1013e684
|
||||||
row += token;
|
row += token;
|
||||||
|
|
||||||
do {
|
while (TRUE) {
|
||||||
loop:
|
row_loop:
|
||||||
// TODO: Can the typecast be removed?
|
// TODO: Can the typecast be removed?
|
||||||
// LINE: BETA10 0x1013e692
|
// LINE: BETA10 0x1013e692
|
||||||
token = *((short*) data++);
|
token = *((short*) data++);
|
||||||
@ -413,8 +413,8 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
}
|
}
|
||||||
|
|
||||||
short column = xofs;
|
short column = xofs;
|
||||||
while (1) {
|
|
||||||
// TODO: Try turning this while-loop into gotos
|
column_loop:
|
||||||
|
|
||||||
column += *(data++);
|
column += *(data++);
|
||||||
short type = *((char*) data++);
|
short type = *((char*) data++);
|
||||||
@ -426,11 +426,11 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
data = (short*) ((char*) data + type);
|
data = (short*) ((char*) data + type);
|
||||||
// LINE: BETA10 0x1013e797
|
// LINE: BETA10 0x1013e797
|
||||||
if (--token != 0) {
|
if (--token != 0) {
|
||||||
continue;
|
goto column_loop;
|
||||||
}
|
}
|
||||||
row--;
|
row--;
|
||||||
if (--lines > 0) {
|
if (--lines > 0) {
|
||||||
break;
|
goto row_loop;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -441,18 +441,17 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
column += type;
|
column += type;
|
||||||
// LINE: BETA10 0x1013e813
|
// LINE: BETA10 0x1013e813
|
||||||
if (--token != 0) {
|
if (--token != 0) {
|
||||||
continue;
|
goto column_loop;
|
||||||
}
|
}
|
||||||
row--;
|
row--;
|
||||||
if (--lines > 0) {
|
if (--lines > 0) {
|
||||||
break;
|
goto row_loop;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// break;
|
// break;
|
||||||
}
|
|
||||||
|
|
||||||
} while (1);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100bdc00
|
// FUNCTION: LEGO1 0x100bdc00
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user