|
|
|
|
@ -254,127 +254,168 @@ void __cdecl FreeInterface()
|
|
|
|
|
|
|
|
|
|
void __fastcall InitCutscene(unsigned int uMsg) |
|
|
|
|
{ |
|
|
|
|
int v1; // eax
|
|
|
|
|
int v2; // eax
|
|
|
|
|
int v3; // eax
|
|
|
|
|
int v4; // eax
|
|
|
|
|
unsigned char *v5; // eax
|
|
|
|
|
char *v6; // ecx
|
|
|
|
|
int *v7; // eax
|
|
|
|
|
int v8; // eax
|
|
|
|
|
int v9; // eax
|
|
|
|
|
int v10; // eax
|
|
|
|
|
int v11; // eax
|
|
|
|
|
int v12; // eax
|
|
|
|
|
int v13; // eax
|
|
|
|
|
int v14; // eax
|
|
|
|
|
/// ASSERT: assert(! sgpBackCel);
|
|
|
|
|
|
|
|
|
|
switch (uMsg) { |
|
|
|
|
switch(uMsg) { |
|
|
|
|
case WM_DIABNEXTLVL: |
|
|
|
|
v1 = gnLevelTypeTbl[currlevel]; |
|
|
|
|
if (!v1) |
|
|
|
|
goto LABEL_31; |
|
|
|
|
v2 = v1 - 1; |
|
|
|
|
if (!v2) |
|
|
|
|
goto LABEL_10; |
|
|
|
|
v3 = v2 - 1; |
|
|
|
|
if (!v3) |
|
|
|
|
goto LABEL_9; |
|
|
|
|
v4 = v3 - 1; |
|
|
|
|
if (!v4) |
|
|
|
|
goto LABEL_29; |
|
|
|
|
if (v4 != 1) |
|
|
|
|
goto LABEL_10; |
|
|
|
|
if (currlevel < 0xFu) |
|
|
|
|
goto LABEL_28; |
|
|
|
|
v5 = LoadFileInMem("Gendata\\Cutgate.CEL", 0); |
|
|
|
|
v6 = "Gendata\\Cutgate.pal"; |
|
|
|
|
goto LABEL_30; |
|
|
|
|
switch(gnLevelTypeTbl[currlevel]) { |
|
|
|
|
case 0: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cuttt.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cuttt.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case 1: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutl1d.pal"); |
|
|
|
|
progress_id = 0; |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut2.pal"); |
|
|
|
|
progress_id = 2; |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut3.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut3.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case 4: |
|
|
|
|
if(currlevel < 15) { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut4.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut4.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
} else { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutgate.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutgate.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutl1d.pal"); |
|
|
|
|
progress_id = 0; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case WM_DIABPREVLVL: |
|
|
|
|
v7 = &gnLevelTypeTbl[currlevel]; |
|
|
|
|
if (!*(v7 - 1)) |
|
|
|
|
goto LABEL_31; |
|
|
|
|
v8 = *v7; |
|
|
|
|
if (!v8) |
|
|
|
|
goto LABEL_31; |
|
|
|
|
v9 = v8 - 1; |
|
|
|
|
if (!v9) |
|
|
|
|
goto LABEL_10; |
|
|
|
|
v10 = v9 - 1; |
|
|
|
|
if (!v10) { |
|
|
|
|
LABEL_9: |
|
|
|
|
if(gnLevelTypeTbl[currlevel - 1] == 0) { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cuttt.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cuttt.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
} else { |
|
|
|
|
switch(gnLevelTypeTbl[currlevel]) { |
|
|
|
|
case 0: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cuttt.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cuttt.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case 1: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutl1d.pal"); |
|
|
|
|
progress_id = 0; |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut2.pal"); |
|
|
|
|
progress_id = 2; |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut3.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut3.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case 4: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut4.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut4.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutl1d.pal"); |
|
|
|
|
progress_id = 0; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case WM_DIABSETLVL: |
|
|
|
|
if(setlvlnum == SL_BONECHAMB) { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut2.pal"); |
|
|
|
|
progress_id = 2; |
|
|
|
|
goto LABEL_33; |
|
|
|
|
} else if(setlvlnum == SL_VILEBETRAYER) { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutportr.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutportr.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
} else { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutl1d.pal"); |
|
|
|
|
progress_id = 0; |
|
|
|
|
} |
|
|
|
|
v11 = v10 - 1; |
|
|
|
|
if (!v11) |
|
|
|
|
goto LABEL_29; |
|
|
|
|
if (v11 == 1) |
|
|
|
|
goto LABEL_28; |
|
|
|
|
LABEL_10: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutl1d.pal"); |
|
|
|
|
progress_id = 0; |
|
|
|
|
goto LABEL_33; |
|
|
|
|
break; |
|
|
|
|
case WM_DIABRTNLVL: |
|
|
|
|
case WM_DIABSETLVL: |
|
|
|
|
if (setlvlnum == SL_BONECHAMB) |
|
|
|
|
goto LABEL_21; |
|
|
|
|
if (setlvlnum != SL_VILEBETRAYER) |
|
|
|
|
goto LABEL_10; |
|
|
|
|
v5 = LoadFileInMem("Gendata\\Cutportr.CEL", 0); |
|
|
|
|
v6 = "Gendata\\Cutportr.pal"; |
|
|
|
|
goto LABEL_30; |
|
|
|
|
if(setlvlnum == SL_BONECHAMB) { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut2.pal"); |
|
|
|
|
progress_id = 2; |
|
|
|
|
} else if(setlvlnum == SL_VILEBETRAYER) { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutportr.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutportr.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
} else { |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutl1d.pal"); |
|
|
|
|
progress_id = 0; |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case WM_DIABWARPLVL: |
|
|
|
|
v5 = LoadFileInMem("Gendata\\Cutportl.CEL", 0); |
|
|
|
|
v6 = "Gendata\\Cutportl.pal"; |
|
|
|
|
goto LABEL_30; |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutportl.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutportl.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case WM_DIABLOADGAME: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutstart.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutstart.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case WM_DIABNEWGAME: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cutstart.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cutstart.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case WM_DIABTOWNWARP: |
|
|
|
|
case WM_DIABTWARPUP: |
|
|
|
|
v12 = gnLevelTypeTbl[plr[myplr].plrlevel]; |
|
|
|
|
if (!v12) |
|
|
|
|
goto LABEL_31; |
|
|
|
|
v13 = v12 - 2; |
|
|
|
|
if (!v13) { |
|
|
|
|
LABEL_21: |
|
|
|
|
switch(gnLevelTypeTbl[plr[myplr].plrlevel]) { |
|
|
|
|
case 0: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cuttt.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cuttt.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut2.pal"); |
|
|
|
|
progress_id = SL_BONECHAMB; |
|
|
|
|
goto LABEL_33; |
|
|
|
|
} |
|
|
|
|
v14 = v13 - 1; |
|
|
|
|
if (v14) { |
|
|
|
|
if (v14 != 1) |
|
|
|
|
goto LABEL_33; |
|
|
|
|
LABEL_28: |
|
|
|
|
v5 = LoadFileInMem("Gendata\\Cut4.CEL", 0); |
|
|
|
|
v6 = "Gendata\\Cut4.pal"; |
|
|
|
|
} else { |
|
|
|
|
LABEL_29: |
|
|
|
|
v5 = LoadFileInMem("Gendata\\Cut3.CEL", 0); |
|
|
|
|
v6 = "Gendata\\Cut3.pal"; |
|
|
|
|
progress_id = 2; |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut3.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut3.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
case 4: |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cut4.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cut4.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
LABEL_30: |
|
|
|
|
sgpBackCel = v5; |
|
|
|
|
LoadPalette(v6); |
|
|
|
|
progress_id = 1; |
|
|
|
|
LABEL_33: |
|
|
|
|
sgdwProgress = 0; |
|
|
|
|
return; |
|
|
|
|
break; |
|
|
|
|
case WM_DIABRETOWN: |
|
|
|
|
LABEL_31: |
|
|
|
|
v5 = LoadFileInMem("Gendata\\Cuttt.CEL", 0); |
|
|
|
|
v6 = "Gendata\\Cuttt.pal"; |
|
|
|
|
goto LABEL_30; |
|
|
|
|
case WM_DIABNEWGAME: |
|
|
|
|
case WM_DIABLOADGAME: |
|
|
|
|
v5 = LoadFileInMem("Gendata\\Cutstart.CEL", 0); |
|
|
|
|
v6 = "Gendata\\Cutstart.pal"; |
|
|
|
|
goto LABEL_30; |
|
|
|
|
sgpBackCel = LoadFileInMem("Gendata\\Cuttt.CEL", 0); |
|
|
|
|
LoadPalette("Gendata\\Cuttt.pal"); |
|
|
|
|
progress_id = 1; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
app_fatal("Unknown progress mode"); |
|
|
|
|
goto LABEL_33; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sgdwProgress = 0; |
|
|
|
|
} |
|
|
|
|
|