diff --git a/Source/interfac.cpp b/Source/interfac.cpp index 71a38f4d7..758380486 100644 --- a/Source/interfac.cpp +++ b/Source/interfac.cpp @@ -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; }