diff --git a/src/d_player.h b/src/d_player.h index 209ff766d6732715ad3cb1d5d27123310561ef21..2b40cc19228b3f3ec3b05fa5d860bfcc427d95bd 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -48,6 +48,7 @@ typedef enum SF_FASTEDGE = 1<<12, // Faster edge teeter? SF_MULTIABILITY = 1<<13, // Revenge of Final Demo. SF_NONIGHTSROTATION = 1<<14, // Disable sprite rotation for NiGHTS + SF_NONIGHTSSUPER = 1<<15, // Disable super colors for NiGHTS (if you have SF_SUPER) // free up to and including 1<<31 } skinflags_t; diff --git a/src/dehacked.c b/src/dehacked.c index 20d23d68002b4a0fa38eabfacb6272174f778599..60f9ca2e25e4a575d28abc8fafc151f39306cc68 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -9467,6 +9467,7 @@ struct { {"SF_FASTEDGE",SF_FASTEDGE}, {"SF_MULTIABILITY",SF_MULTIABILITY}, {"SF_NONIGHTSROTATION",SF_NONIGHTSROTATION}, + {"SF_NONIGHTSSUPER",SF_NONIGHTSSUPER}, // Dashmode constants {"DASHMODE_THRESHOLD",DASHMODE_THRESHOLD}, diff --git a/src/p_user.c b/src/p_user.c index 4deee0b9511e06626c6fafb555f0dd61a5ecee91..5c3110388127544f9438f3dbb16854bca9867e14 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7982,7 +7982,7 @@ static void P_MovePlayer(player_t *player) && player->mo->state < &states[S_PLAY_NIGHTS_TRANS6]))) // Note the < instead of <= { skin_t *skin = ((skin_t *)(player->mo->skin)); - if (skin->flags & SF_SUPER) + if (( skin->flags & (SF_SUPER|SF_NONIGHTSSUPER) ) == SF_SUPER) { player->mo->color = skin->supercolor + ((player->nightstime == player->startedtime) diff --git a/src/r_skins.c b/src/r_skins.c index 2e9548bd7cd0831469b3169f6618d726996ab4c6..caf1fb17299dc0cbad0352df4fa8ec5b71b79ef4 100644 --- a/src/r_skins.c +++ b/src/r_skins.c @@ -504,6 +504,7 @@ static boolean R_ProcessPatchableFields(skin_t *skin, char *stoken, char *value) GETFLAG(FASTEDGE) GETFLAG(MULTIABILITY) GETFLAG(NONIGHTSROTATION) + GETFLAG(NONIGHTSSUPER) #undef GETFLAG else // let's check if it's a sound, otherwise error out