Experiment - make ALL sprites use affines

Per internal talks
This commit is contained in:
yamamama 2026-03-03 07:38:58 -05:00
parent d650014fd6
commit ac5cc2eaaa
6 changed files with 6 additions and 10 deletions

View file

@ -948,7 +948,7 @@ struct int_const_s const INT_CONST[] = {
{"FF_HORIZONTALFLIP",FF_HORIZONTALFLIP},
{"FF_PAPERSPRITE",FF_PAPERSPRITE},
{"FF_FLOORSPRITE",FF_FLOORSPRITE},
{"FF_AFFINESPRITE",FF_AFFINESPRITE},
{"FF_NOAFFINE",FF_NOAFFINE},
{"FF_BLENDMASK",FF_BLENDMASK},
{"FF_BLENDSHIFT",FF_BLENDSHIFT},
{"FF_ADD",FF_ADD},
@ -1058,7 +1058,7 @@ struct int_const_s const INT_CONST[] = {
{"RF_TRANS90",RF_TRANS90},
{"RF_GHOSTLY",RF_GHOSTLY},
{"RF_GHOSTLYMASK",RF_GHOSTLYMASK},
{"RF2_AFFINE",RF2_AFFINE},
{"RF2_NOAFFINE",RF2_NOAFFINE},
// Level flags
{"LF_SCRIPTISFILE",LF_SCRIPTISFILE},

View file

@ -5115,7 +5115,6 @@ void K_DoSMonitor(player_t *player, tic_t time)
aura->destscale = player->mo->scale;
P_SetScale(aura, player->mo->scale);
aura->extravalue2 = 1;
aura->renderflags2 |= RF2_AFFINE;
}
// Rim suggestion: Don't allow already invincible players to chain.

View file

@ -90,8 +90,8 @@ extern "C" {
/// \brief Frame flags: Flip sprite horizontally
#define FF_HORIZONTALFLIP 0x02000000
/// \brief Frame flags: Mode 7 affines!
#define FF_AFFINESPRITE 0x04000000
/// \brief Frame flags: Turns off Mode 7-style scaling and rotation
#define FF_NOAFFINE 0x04000000
/// \brief Frame flags - Animate: Simple stateless animation
#define FF_ANIMATE 0x10000000

View file

@ -1263,9 +1263,6 @@ mobj_t *P_SpawnGhostMobjEX(mobj_t *mobj, boolean legacy)
if (mobj->player)
{
// Players use affine rendering, so match that
ghost->renderflags2 |= RF2_AFFINE;
if(mobj->player->followmobj)
{
mobj_t *ghost2 = P_SpawnGhostMobj(mobj->player->followmobj);

View file

@ -1038,7 +1038,7 @@ typedef enum
typedef enum
{
RF2_AFFINE = 0x00000001, // Affine sprite; draws scaling and rotation using a Mode 7 matrix
RF2_NOAFFINE = 0x00000001, // Disables affine drawing for this sprite
} renderflags2_t;
typedef enum

View file

@ -4301,7 +4301,7 @@ boolean R_ThingIsPaperSprite(mobj_t *thing)
boolean R_ThingIsAffineSprite(mobj_t *thing)
{
return (thing->frame & FF_AFFINESPRITE || thing->renderflags2 & RF2_AFFINE);
return (!(thing->frame & FF_NOAFFINE || thing->renderflags2 & RF2_NOAFFINE));
}
boolean R_ThingIsFloorSprite(mobj_t *thing)