diff --git a/src/deh_tables.c b/src/deh_tables.c index 1aa971571..1474296f9 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -4397,8 +4397,6 @@ const char *COLOR_ENUMS[] = { "INTERMISSION1", "INTERMISSION2", "INTERMISSION3", - - "COLORPROFILE", }; const char *const KARTHUD_LIST[] = { diff --git a/src/doomdef.h b/src/doomdef.h index fa81f38c3..69faba1a0 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -387,8 +387,6 @@ typedef enum SKINCOLOR_INTERMISSION1, SKINCOLOR_INTERMISSION2, SKINCOLOR_INTERMISSION3, - - SKINCOLOR_COLORPROFILE, SKINCOLOR_FIRSTFREESLOT, SKINCOLOR_LASTFREESLOT = SKINCOLOR_FIRSTFREESLOT + NUMCOLORFREESLOTS - 1, diff --git a/src/info.c b/src/info.c index fa8125dc7..ffdf5daf8 100644 --- a/src/info.c +++ b/src/info.c @@ -22265,7 +22265,6 @@ skincolor_t skincolors[MAXSKINCOLORS] = { {"Intermission 1", { 0, 80, 80, 80, 81, 81, 81, 84, 84, 85, 86, 86, 87, 87, 246, 248}, SKINCOLOR_NONE, 0, 0, false, UINT16_MAX}, // SKINCOLOR_INTERMISSION1 {"Intermission 2", { 0, 81, 81, 81, 88, 88, 88, 89, 89, 140, 140, 141, 141, 142, 142, 142}, SKINCOLOR_NONE, 0, 0, false, UINT16_MAX}, // SKINCOLOR_INTERMISSION2 {"Intermission 3", { 0, 144, 144, 144, 129, 129, 129, 130, 130, 146, 147, 147, 14, 16, 17, 19}, SKINCOLOR_NONE, 0, 0, false, UINT16_MAX}, // SKINCOLOR_INTERMISSION3 - {"Color Profile", { 35, 35, 73, 73, 112, 112, 255, 255, 152, 152, 181, 181, 181, 181, 0, 0}, SKINCOLOR_NONE, 0, 0, false, UINT16_MAX}, // SKINCOLOR_COLORPROFILE }; /** Patches the mobjinfo, state, and skincolor tables. diff --git a/src/k_menu.h b/src/k_menu.h index 22cd3e40d..fbb34dcc8 100644 --- a/src/k_menu.h +++ b/src/k_menu.h @@ -1359,6 +1359,7 @@ void M_DrawPlaybackMenu(void); // Options menus: void M_DrawOptionsCogs(void); +void M_DrawOptionsColorProfile(void); void M_DrawOptionsMovingButton(void); // for sick transitions... void M_DrawOptions(void); void M_DrawGenericOptions(void); diff --git a/src/k_menudraw.c b/src/k_menudraw.c index a9f48161f..9edf05c52 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -4377,6 +4377,57 @@ void M_DrawOptionsCogs(void) } } +// Hacking up M_DrawOptionsCogs to try and make something better suited for changing the color profile. - Freaky Mutant Man +void M_DrawOptionsColorProfile(void) +{ + boolean eggahack = ( + currentMenu->prevMenu == &PLAY_MP_HostDef + || ( + currentMenu->prevMenu + && currentMenu->prevMenu->prevMenu == &PLAY_MP_HostDef + ) + ); + boolean solidbg = M_GameTrulyStarted() && !eggahack; + UINT32 tick = ((optionsmenu.ticker/10) % 3) + 1; + + // the background isn't drawn outside of being in the main menu state. + if (gamestate == GS_MENU && solidbg) + { + patch_t *back = W_CachePatchName(va("OPT_BC%u", tick), PU_CACHE); + INT32 tflag = 0; + UINT8 *c; + UINT8 *c2; // colormap for the one we're changing + + if (optionsmenu.fade) + { + c2 = R_GetTranslationColormap(TC_DEFAULT, optionsmenu.lastcolour, GTC_CACHE); + V_DrawFixedPatch(0, 0, FRACUNIT, 0, back, c2); + + // prepare fade flag: + tflag = min(V_90TRANS, (optionsmenu.fade)<