mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 01:11:28 +00:00
Mapster32: In textured 2D mode, allow setting floor relativity [R].
Also factor out the code (2x) setting the alignment bits for sprites. git-svn-id: https://svn.eduke32.com/eduke32@2712 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
62727ebd9c
commit
85844f96dd
1 changed files with 24 additions and 22 deletions
|
@ -4815,6 +4815,23 @@ static int32_t addtobyte(int8_t *byte, int32_t num)
|
|||
return clamped;
|
||||
}
|
||||
|
||||
static void toggle_sprite_alignment(int32_t spritenum)
|
||||
{
|
||||
static const char *aligntype[4] = { "view", "wall", "floor", "???" };
|
||||
|
||||
int32_t i = sprite[spritenum].cstat;
|
||||
|
||||
if ((i&48) < 32)
|
||||
i += 16;
|
||||
else
|
||||
i &= ~48;
|
||||
sprite[spritenum].cstat = i;
|
||||
|
||||
message("Sprite %d now %s aligned", spritenum, aligntype[(i&48)/16]);
|
||||
asksave = 1;
|
||||
}
|
||||
|
||||
////////// KEY PRESS HANDLER IN 3D MODE //////////
|
||||
static void Keys3d(void)
|
||||
{
|
||||
int32_t i = 0, changedir,tsign; // ,count,nexti
|
||||
|
@ -5668,17 +5685,7 @@ static void Keys3d(void)
|
|||
asksave = 1;
|
||||
}
|
||||
else if (AIMING_AT_SPRITE)
|
||||
{
|
||||
static const char *aligntype[4] = { "view", "wall", "floor", "???" };
|
||||
|
||||
i = sprite[searchwall].cstat;
|
||||
if ((i&48) < 32) i += 16;
|
||||
else i &= ~48;
|
||||
sprite[searchwall].cstat = i;
|
||||
|
||||
message("Sprite %d now %s aligned", searchwall, aligntype[(i&48)/16]);
|
||||
asksave = 1;
|
||||
}
|
||||
toggle_sprite_alignment(searchwall);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7466,7 +7473,7 @@ NEXTSPRITE:
|
|||
printmessage16("%s Sprite search: none found", dir<0 ? "<" : ">");
|
||||
}
|
||||
|
||||
|
||||
////////// KEY PRESS HANDLER IN 2D MODE //////////
|
||||
static void Keys2d(void)
|
||||
{
|
||||
int32_t i=0, j, k;
|
||||
|
@ -7920,17 +7927,12 @@ static void Keys2d(void)
|
|||
if (PRESSED_KEYSC(R)) // R (relative alignment, rotation)
|
||||
{
|
||||
if (pointhighlight >= 16384)
|
||||
toggle_sprite_alignment(cursprite);
|
||||
else if (tcursectornum >= 0 && graphicsmode)
|
||||
{
|
||||
const char *aligntype[4] = { "view", "wall", "floor", "???" };
|
||||
|
||||
i = sprite[cursprite].cstat;
|
||||
if ((i&48) < 32)
|
||||
i += 16;
|
||||
else
|
||||
i &= ~48;
|
||||
sprite[cursprite].cstat = i;
|
||||
|
||||
message("Sprite %d now %s aligned", cursprite, aligntype[(i&48)/16]);
|
||||
sector[tcursectornum].floorstat ^= 64;
|
||||
message("Sector %d floor texture relativity bit %s", searchsector,
|
||||
ONOFF(sector[tcursectornum].floorstat&64));
|
||||
asksave = 1;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue