mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-18 05:51:15 +00:00
Unexpected 63 %, still one wrong jump
This commit is contained in:
parent
ab766b325a
commit
b91f8d37da
@ -383,8 +383,8 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
// LINE: BETA10 0x1013e684
|
// LINE: BETA10 0x1013e684
|
||||||
row += token;
|
row += token;
|
||||||
|
|
||||||
while (TRUE) {
|
|
||||||
row_loop:
|
row_loop:
|
||||||
|
while (TRUE) {
|
||||||
// LINE: BETA10 0x1013e692
|
// LINE: BETA10 0x1013e692
|
||||||
token = *(short*) data;
|
token = *(short*) data;
|
||||||
data += 2;
|
data += 2;
|
||||||
@ -392,6 +392,7 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
if (token >= 0) {
|
if (token >= 0) {
|
||||||
goto column_loop_2;
|
goto column_loop_2;
|
||||||
}
|
}
|
||||||
|
// TODO: Can't get this if-check to be quite right. Maybe a union type?
|
||||||
if (token & 0x4000) {
|
if (token & 0x4000) {
|
||||||
goto weird_code;
|
goto weird_code;
|
||||||
}
|
}
|
||||||
@ -405,13 +406,10 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
row--;
|
row--;
|
||||||
if (--lines > 0) {
|
if (--lines > 0) {
|
||||||
continue;
|
continue;
|
||||||
// return;
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
// TODO: Something is off about these breaks and jumps -- too many JMP instructions
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
column_loop_2:
|
column_loop_2:
|
||||||
// LINE: BETA10 0x1013e71e
|
// LINE: BETA10 0x1013e71e
|
||||||
@ -437,7 +435,7 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
type = -type;
|
type = -type;
|
||||||
WORD* p_pixel = (WORD*) data;
|
WORD* p_pixel = (WORD*) data;
|
||||||
data += 2;
|
data += 2;
|
||||||
@ -451,9 +449,6 @@ void DecodeSS2(LPBITMAPINFOHEADER p_bitmapHeader, BYTE* p_pixelData, BYTE* p_dat
|
|||||||
if (--lines > 0) {
|
if (--lines > 0) {
|
||||||
goto row_loop;
|
goto row_loop;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100bdc00
|
// FUNCTION: LEGO1 0x100bdc00
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user