- Duke: Clean up some duplicated code in hudweapon_*.cpp files.

This commit is contained in:
Mitchell Richters 2021-04-15 15:49:36 +10:00
parent a4895cb270
commit 242f958c41
5 changed files with 31 additions and 189 deletions

View file

@ -98,8 +98,8 @@ void processinput_d(int snum);
void processinput_r(int snum); void processinput_r(int snum);
void displayweapon_d(int snum, double smoothratio); void displayweapon_d(int snum, double smoothratio);
void displayweapon_r(int snum, double smoothratio); void displayweapon_r(int snum, double smoothratio);
void displaymasks_d(int snum, double smoothratio); void displaymasks_d(int snum, int p, double smoothratio);
void displaymasks_r(int snum, double smoothratio); void displaymasks_r(int snum, int p, double smoothratio);
void think_d(); void think_d();
void think_r(); void think_r();
void animatesprites_d(spritetype* tsprite, int& spritesortcnt, int x, int y, int a, int smoothratio); void animatesprites_d(spritetype* tsprite, int& spritesortcnt, int x, int y, int a, int smoothratio);

View file

@ -118,7 +118,7 @@ struct Dispatcher
void (*checkweapons)(struct player_struct* p); void (*checkweapons)(struct player_struct* p);
void (*processinput)(int snum); void (*processinput)(int snum);
void (*displayweapon)(int snum, double smoothratio); void (*displayweapon)(int snum, double smoothratio);
void (*displaymasks)(int snum, double smoothratio); void (*displaymasks)(int snum, int p, double smoothratio);
void (*animatesprites)(spritetype* tsprite, int& spritesortcnt, int x, int y, int a, int smoothratio); void (*animatesprites)(spritetype* tsprite, int& spritesortcnt, int x, int y, int a, int smoothratio);

View file

@ -251,7 +251,7 @@ void drawoverlays(double smoothratio)
{ {
fi.displayweapon(screenpeek, smoothratio); fi.displayweapon(screenpeek, smoothratio);
if (pp->over_shoulder_on == 0) if (pp->over_shoulder_on == 0)
fi.displaymasks(screenpeek, smoothratio); fi.displaymasks(screenpeek, pp->GetActor()->s.pal == 1 ? 1 : sector[pp->cursectnum].floorpal, smoothratio);
} }
if (!isRR()) if (!isRR())
moveclouds(smoothratio); moveclouds(smoothratio);

View file

@ -87,9 +87,9 @@ void displayloogie(short snum)
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
int animatefist(int gs, int snum, double look_anghalf, double looking_arc, double plravel) int animatefist(int gs, int snum, double look_anghalf, double looking_arc, double plravel, int fistpal)
{ {
short fisti, fistpal; short fisti;
int fistzoom; int fistzoom;
double fistz; double fistz;
@ -104,11 +104,6 @@ int animatefist(int gs, int snum, double look_anghalf, double looking_arc, doubl
fistzoom = 40290; fistzoom = 40290;
fistz = 194 + bsinf((6 + fisti) << 7, -9); fistz = 194 + bsinf((6 + fisti) << 7, -9);
if (ps[snum].GetActor()->s.pal == 1)
fistpal = 1;
else
fistpal = sector[ps[snum].cursectnum].floorpal;
hud_drawsprite( hud_drawsprite(
(-fisti + 222 + plravel), (-fisti + 222 + plravel),
(looking_arc + fistz), (looking_arc + fistz),
@ -123,23 +118,13 @@ int animatefist(int gs, int snum, double look_anghalf, double looking_arc, doubl
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
int animateknee(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel) int animateknee(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel, int pal)
{ {
static const short knee_y[] = { 0,-8,-16,-32,-64,-84,-108,-108,-108,-72,-32,-8 };
short pal;
if (ps[snum].knee_incs > 11 || ps[snum].knee_incs == 0 || ps[snum].GetActor()->s.extra <= 0) return 0; if (ps[snum].knee_incs > 11 || ps[snum].knee_incs == 0 || ps[snum].GetActor()->s.extra <= 0) return 0;
looking_arc += knee_y[ps[snum].knee_incs]; static const short knee_y[] = { 0,-8,-16,-32,-64,-84,-108,-108,-108,-72,-32,-8 };
if (ps[snum].GetActor()->s.pal == 1) looking_arc += knee_y[ps[snum].knee_incs];
pal = 1;
else
{
pal = sector[ps[snum].cursectnum].floorpal;
if (pal == 0)
pal = ps[snum].palookup;
}
hud_drawpal(105 + plravel - look_anghalf + (knee_y[ps[snum].knee_incs] >> 2), looking_arc + 280 - horiz16th, KNEE, gs, 4, pal); hud_drawpal(105 + plravel - look_anghalf + (knee_y[ps[snum].knee_incs] >> 2), looking_arc + 280 - horiz16th, KNEE, gs, 4, pal);
@ -152,17 +137,11 @@ int animateknee(int gs, int snum, double look_anghalf, double looking_arc, doubl
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
int animateknuckles(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel) int animateknuckles(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel, int pal)
{ {
static const short knuckle_frames[] = { 0,1,2,2,3,3,3,2,2,1,0 };
short pal;
if (isWW2GI() || ps[snum].over_shoulder_on != 0 || ps[snum].knuckle_incs == 0 || ps[snum].GetActor()->s.extra <= 0) return 0; if (isWW2GI() || ps[snum].over_shoulder_on != 0 || ps[snum].knuckle_incs == 0 || ps[snum].GetActor()->s.extra <= 0) return 0;
if (ps[snum].GetActor()->s.pal == 1) static const short knuckle_frames[] = { 0,1,2,2,3,3,3,2,2,1,0 };
pal = 1;
else
pal = sector[ps[snum].cursectnum].floorpal;
hud_drawpal(160 + plravel - look_anghalf, looking_arc + 180 - horiz16th, CRACKKNUCKLES + knuckle_frames[ps[snum].knuckle_incs >> 1], gs, 4, pal); hud_drawpal(160 + plravel - look_anghalf, looking_arc + 180 - horiz16th, CRACKKNUCKLES + knuckle_frames[ps[snum].knuckle_incs >> 1], gs, 4, pal);
@ -176,15 +155,8 @@ int animateknuckles(int gs, int snum, double look_anghalf, double looking_arc, d
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
void displaymasks_d(int snum, double) void displaymasks_d(int snum, int p, double)
{ {
int p;
if (ps[snum].GetActor()->s.pal == 1)
p = 1;
else
p = sector[ps[snum].cursectnum].floorpal;
if (ps[snum].scuba_on) if (ps[snum].scuba_on)
{ {
int y = 200 - tileHeight(SCUBAMASK); int y = 200 - tileHeight(SCUBAMASK);
@ -199,17 +171,11 @@ void displaymasks_d(int snum, double)
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
static int animatetip(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel) static int animatetip(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel, int p)
{ {
int p;
static const short tip_y[] = { 0,-8,-16,-32,-64,-84,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-96,-72,-64,-32,-16 };
if (ps[snum].tipincs == 0) return 0; if (ps[snum].tipincs == 0) return 0;
if (ps[snum].GetActor()->s.pal == 1) static const short tip_y[] = { 0,-8,-16,-32,-64,-84,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-96,-72,-64,-32,-16 };
p = 1;
else
p = sector[ps[snum].cursectnum].floorpal;
hud_drawpal(170 + plravel - look_anghalf, hud_drawpal(170 + plravel - look_anghalf,
(tip_y[ps[snum].tipincs] >> 1) + looking_arc + 240 - horiz16th, TIP + ((26 - ps[snum].tipincs) >> 4), gs, 0, p); (tip_y[ps[snum].tipincs] >> 1) + looking_arc + 240 - horiz16th, TIP + ((26 - ps[snum].tipincs) >> 4), gs, 0, p);
@ -223,18 +189,13 @@ static int animatetip(int gs, int snum, double look_anghalf, double looking_arc,
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
int animateaccess(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel) int animateaccess(int gs, int snum, double look_anghalf, double looking_arc, double horiz16th, double plravel, int p)
{ {
static const short access_y[] = {0,-8,-16,-32,-64,-84,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-96,-72,-64,-32,-16};
char p;
if(ps[snum].access_incs == 0 || ps[snum].GetActor()->s.extra <= 0) return 0; if(ps[snum].access_incs == 0 || ps[snum].GetActor()->s.extra <= 0) return 0;
looking_arc += access_y[ps[snum].access_incs]; static const short access_y[] = {0,-8,-16,-32,-64,-84,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-96,-72,-64,-32,-16};
if(ps[snum].access_spritenum != nullptr) looking_arc += access_y[ps[snum].access_incs];
p = ps[snum].access_spritenum->s.pal;
else p = 0;
if((ps[snum].access_incs-3) > 0 && (ps[snum].access_incs-3)>>3) if((ps[snum].access_incs-3) > 0 && (ps[snum].access_incs-3)>>3)
hud_drawpal(170 + plravel - look_anghalf + (access_y[ps[snum].access_incs] >> 2), looking_arc + 266 - horiz16th, HANDHOLDINGLASER + (ps[snum].access_incs >> 3), gs, 0, p); hud_drawpal(170 + plravel - look_anghalf + (access_y[ps[snum].access_incs] >> 2), looking_arc + 266 - horiz16th, HANDHOLDINGLASER + (ps[snum].access_incs >> 3), gs, 0, p);
@ -298,15 +259,19 @@ void displayweapon_d(int snum, double smoothratio)
shade = p->GetActor()->s.shade; shade = p->GetActor()->s.shade;
if(shade > 24) shade = 24; if(shade > 24) shade = 24;
pal = p->GetActor()->s.pal == 1 ? 1 : sector[p->cursectnum].floorpal;
if (pal == 0)
pal = p->palookup;
auto adjusted_arc = looking_arc - hard_landing; auto adjusted_arc = looking_arc - hard_landing;
bool playerVars = p->newOwner != nullptr || ud.cameraactor != nullptr || p->over_shoulder_on > 0 || (p->GetActor()->s.pal != 1 && p->GetActor()->s.extra <= 0); bool playerVars = p->newOwner != nullptr || ud.cameraactor != nullptr || p->over_shoulder_on > 0 || (p->GetActor()->s.pal != 1 && p->GetActor()->s.extra <= 0);
bool playerAnims = animatefist(shade, snum, look_anghalf, looking_arc, plravel) || animateknuckles(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel) || bool playerAnims = animatefist(shade, snum, look_anghalf, looking_arc, plravel, pal) || animateknuckles(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel, pal) ||
animatetip(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel) || animateaccess(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel); animatetip(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel, pal) || animateaccess(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel, pal);
if(playerVars || playerAnims) if(playerVars || playerAnims)
return; return;
animateknee(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel); animateknee(shade, snum, look_anghalf, adjusted_arc, horiz16th, plravel, pal);
if (isWW2GI()) if (isWW2GI())
{ {
@ -333,16 +298,6 @@ void displayweapon_d(int snum, double smoothratio)
j = 14-p->quick_kick; j = 14-p->quick_kick;
if (j != 14 || p->last_quick_kick) if (j != 14 || p->last_quick_kick)
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
{
pal = sector[p->cursectnum].floorpal;
if (pal == 0)
pal = p->palookup;
}
if (j < 5 || j > 9) if (j < 5 || j > 9)
{ {
hud_drawpal(weapon_xoffset + 80 - look_anghalf, looking_arc + 250 - gun_pos, KNEE, shade, o | 4, pal); hud_drawpal(weapon_xoffset + 80 - look_anghalf, looking_arc + 250 - gun_pos, KNEE, shade, o | 4, pal);
@ -387,15 +342,6 @@ void displayweapon_d(int snum, double smoothratio)
{ {
if (*kb > 0) if (*kb > 0)
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
{
pal = sector[p->cursectnum].floorpal;
if (pal == 0)
pal = p->palookup;
}
if (*kb < 5 || *kb > 9) if (*kb < 5 || *kb > 9)
{ {
hud_drawpal(weapon_xoffset + 220 - look_anghalf, hud_drawpal(weapon_xoffset + 220 - look_anghalf,
@ -417,12 +363,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displaytripbomb = [&]() auto displaytripbomb = [&]()
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
weapon_xoffset += 8; weapon_xoffset += 8;
gun_pos -= 10; gun_pos -= 10;
@ -451,10 +391,6 @@ void displayweapon_d(int snum, double smoothratio)
pin = ((gs.displayflags & DUKE3D_NO_WIDESCREEN_PINNING)) ? 0 : RS_ALIGN_R; pin = ((gs.displayflags & DUKE3D_NO_WIDESCREEN_PINNING)) ? 0 : RS_ALIGN_R;
auto rpgpic = RPGGUN; auto rpgpic = RPGGUN;
if (p->GetActor()->s.pal == 1)
pal = 1;
else pal = sector[p->cursectnum].floorpal;
weapon_xoffset -= bsinf(768 + (kickback_pic * 128.), -11); weapon_xoffset -= bsinf(768 + (kickback_pic * 128.), -11);
gun_pos += bsinf(768 + (kickback_pic * 128.), -11); gun_pos += bsinf(768 + (kickback_pic * 128.), -11);
@ -499,12 +435,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displayshotgun_ww = [&]() auto displayshotgun_ww = [&]()
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb > 0) if (*kb > 0)
{ {
gun_pos -= bsinf(kickback_pic * 128., -12); gun_pos -= bsinf(kickback_pic * 128., -12);
@ -557,12 +487,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displayshotgun = [&]() auto displayshotgun = [&]()
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
weapon_xoffset -= 8; weapon_xoffset -= 8;
switch(*kb) switch(*kb)
@ -633,11 +557,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displaychaingun_ww = [&]() auto displaychaingun_ww = [&]()
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb > 0) if (*kb > 0)
gun_pos -= bsinf(kickback_pic * 128., -12); gun_pos -= bsinf(kickback_pic * 128., -12);
@ -739,11 +658,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displaychaingun = [&] auto displaychaingun = [&]
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb > 0) if (*kb > 0)
gun_pos -= bsinf(kickback_pic * 128., -12); gun_pos -= bsinf(kickback_pic * 128., -12);
@ -783,11 +697,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displaypistol = [&]() auto displaypistol = [&]()
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb < 5) if (*kb < 5)
{ {
short kb_frames[] = { 0,1,2,0,0 }; short kb_frames[] = { 0,1,2,0,0 };
@ -846,11 +755,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displayhandbomb = [&]() auto displayhandbomb = [&]()
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb) if (*kb)
{ {
static const uint8_t throw_frames[] static const uint8_t throw_frames[]
@ -906,10 +810,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displayhandremote = [&]() auto displayhandremote = [&]()
{ {
signed char remote_frames[] = { 0,1,1,2,1,1,0,0,0,0,0 }; signed char remote_frames[] = { 0,1,1,2,1,1,0,0,0,0,0 };
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
weapon_xoffset = -48; weapon_xoffset = -48;
@ -927,11 +827,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displaydevastator_ww = [&] auto displaydevastator_ww = [&]
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb) if (*kb)
{ {
if (*kb < aplWeaponTotalTime[p->curr_weapon][snum]) if (*kb < aplWeaponTotalTime[p->curr_weapon][snum])
@ -988,11 +883,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displaydevastator = [&] auto displaydevastator = [&]
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb) if (*kb)
{ {
char cycloidy[] = { 0,4,12,24,12,4,0 }; char cycloidy[] = { 0,4,12,24,12,4,0 };
@ -1028,11 +918,6 @@ void displayweapon_d(int snum, double smoothratio)
pin = (isWW2GI() || (gs.displayflags & DUKE3D_NO_WIDESCREEN_PINNING)) ? 0 : RS_ALIGN_R; pin = (isWW2GI() || (gs.displayflags & DUKE3D_NO_WIDESCREEN_PINNING)) ? 0 : RS_ALIGN_R;
auto pic = FREEZE; auto pic = FREEZE;
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb) if (*kb)
{ {
char cat_frames[] = { 0,0,1,1,2,2 }; char cat_frames[] = { 0,0,1,1,2,2 };
@ -1059,10 +944,7 @@ void displayweapon_d(int snum, double smoothratio)
{ {
weapon_xoffset += 28; weapon_xoffset += 28;
looking_arc += 18; looking_arc += 18;
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb == 0) if (*kb == 0)
{ {
// the 'at rest' display // the 'at rest' display
@ -1152,10 +1034,7 @@ void displayweapon_d(int snum, double smoothratio)
{ {
weapon_xoffset += 28; weapon_xoffset += 28;
looking_arc += 18; looking_arc += 18;
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb == 0) if (*kb == 0)
{ {
{ {
@ -1228,10 +1107,7 @@ void displayweapon_d(int snum, double smoothratio)
auto shrinker = /*isWorldTour() ? SHRINKERWIDE :*/ SHRINKER; auto shrinker = /*isWorldTour() ? SHRINKERWIDE :*/ SHRINKER;
weapon_xoffset += 28; weapon_xoffset += 28;
looking_arc += 18; looking_arc += 18;
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (*kb == 0) if (*kb == 0)
{ {
if (cw == GROW_WEAPON) if (cw == GROW_WEAPON)
@ -1293,16 +1169,6 @@ void displayweapon_d(int snum, double smoothratio)
auto displayflamethrower = [&]() auto displayflamethrower = [&]()
{ {
if (p->GetActor()->s.pal == 1)
pal = 1;
else
{
if (p->cursectnum < 0)
pal = 0;
else
pal = sector[p->cursectnum].floorpal;
}
if (*kb < 1 || sector[p->cursectnum].lotag == 2) if (*kb < 1 || sector[p->cursectnum].lotag == 2)
{ {
hud_drawpal(weapon_xoffset + 210 - look_anghalf, looking_arc + 261 - gun_pos, FLAMETHROWER, shade, o, pal); hud_drawpal(weapon_xoffset + 210 - look_anghalf, looking_arc + 261 - gun_pos, FLAMETHROWER, shade, o, pal);

View file

@ -65,15 +65,8 @@ inline static void rd3myospal(double x, double y, int tilenum, int shade, int or
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
void displaymasks_r(int snum, double smoothratio) void displaymasks_r(int snum, int p, double smoothratio)
{ {
short p;
if (ps[snum].GetActor()->s.pal == 1)
p = 1;
else
p = sector[ps[snum].cursectnum].floorpal;
if (ps[snum].scuba_on) if (ps[snum].scuba_on)
{ {
//int pin = 0; //int pin = 0;
@ -157,6 +150,8 @@ void displayweapon_r(int snum, double smoothratio)
shade = p->GetActor()->s.shade; shade = p->GetActor()->s.shade;
if(shade > 24) shade = 24; if(shade > 24) shade = 24;
pal = p->GetActor()->s.pal == 1 ? 1 : pal = sector[p->cursectnum].floorpal;
if(p->newOwner != nullptr || ud.cameraactor != nullptr || p->over_shoulder_on > 0 || (p->GetActor()->s.pal != 1 && p->GetActor()->s.extra <= 0)) if(p->newOwner != nullptr || ud.cameraactor != nullptr || p->over_shoulder_on > 0 || (p->GetActor()->s.pal != 1 && p->GetActor()->s.extra <= 0))
return; return;
@ -222,10 +217,6 @@ void displayweapon_r(int snum, double smoothratio)
else else
temp_kb = MOTOHIT; temp_kb = MOTOHIT;
} }
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
ShowMotorcycle(160-look_anghalf, 174, temp_kb, shade, 0, pal, TiltStatus*5); ShowMotorcycle(160-look_anghalf, 174, temp_kb, shade, 0, pal, TiltStatus*5);
return; return;
@ -286,11 +277,6 @@ void displayweapon_r(int snum, double smoothratio)
temp_kb = BOATHIT; temp_kb = BOATHIT;
} }
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
if (p->NotOnWater) if (p->NotOnWater)
temp3 = 170; temp3 = 170;
else else
@ -323,11 +309,6 @@ void displayweapon_r(int snum, double smoothratio)
{ {
int pin = 0; int pin = 0;
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// //
@ -508,11 +489,6 @@ void displayweapon_r(int snum, double smoothratio)
{ {
weapon_xoffset -= 8; weapon_xoffset -= 8;
if (p->GetActor()->s.pal == 1)
pal = 1;
else
pal = sector[p->cursectnum].floorpal;
{ {
double x; double x;
short y; short y;