Convert segnum_t to uint16_t
This commit is contained in:
parent
fcaacaebde
commit
148c0f44c8
|
@ -1,8 +1,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "strictindex.h"
|
#include "strictindex.h"
|
||||||
|
|
||||||
DEFINE_STRICT_INDEX_NUMBER(int16_t, segnum_t);
|
DEFINE_STRICT_INDEX_NUMBER(uint16_t, segnum_t);
|
||||||
DEFINE_STRICT_INDEX_CONSTANT_TYPE(segment_magic_constant_t, segnum_t, int16_t);
|
DEFINE_STRICT_INDEX_CONSTANT_TYPE(segment_magic_constant_t, segnum_t, uint16_t);
|
||||||
DEFINE_STRICT_INDEX_CONSTANT_NUMBER(segment_magic_constant_t, -2, segment_exit);
|
DEFINE_STRICT_INDEX_CONSTANT_NUMBER(segment_magic_constant_t, 0xfffe, segment_exit);
|
||||||
DEFINE_STRICT_INDEX_CONSTANT_NUMBER(segment_magic_constant_t, -1, segment_none);
|
DEFINE_STRICT_INDEX_CONSTANT_NUMBER(segment_magic_constant_t, 0xffff, segment_none);
|
||||||
DEFINE_STRICT_INDEX_CONSTANT_NUMBER(segment_magic_constant_t, 0, segment_first);
|
DEFINE_STRICT_INDEX_CONSTANT_NUMBER(segment_magic_constant_t, 0, segment_first);
|
||||||
|
|
|
@ -74,7 +74,7 @@ struct v29_trigger
|
||||||
fix time;
|
fix time;
|
||||||
sbyte link_num;
|
sbyte link_num;
|
||||||
short num_links;
|
short num_links;
|
||||||
array<short, MAX_WALLS_PER_LINK> seg;
|
array<segnum_t, MAX_WALLS_PER_LINK> seg;
|
||||||
array<short, MAX_WALLS_PER_LINK> side;
|
array<short, MAX_WALLS_PER_LINK> side;
|
||||||
} __pack__;
|
} __pack__;
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ struct v30_trigger
|
||||||
sbyte pad; //keep alignment
|
sbyte pad; //keep alignment
|
||||||
fix value;
|
fix value;
|
||||||
fix time;
|
fix time;
|
||||||
array<short, MAX_WALLS_PER_LINK> seg;
|
array<segnum_t, MAX_WALLS_PER_LINK> seg;
|
||||||
array<short, MAX_WALLS_PER_LINK> side;
|
array<short, MAX_WALLS_PER_LINK> side;
|
||||||
} __pack__;
|
} __pack__;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2158,7 +2158,7 @@ static void teleport_boss(const vobjptridx_t objp)
|
||||||
// Pick a random segment from the list of boss-teleportable-to segments.
|
// Pick a random segment from the list of boss-teleportable-to segments.
|
||||||
rand_index = (d_rand() * Boss_teleport_segs.count()) >> 15;
|
rand_index = (d_rand() * Boss_teleport_segs.count()) >> 15;
|
||||||
rand_segnum = Boss_teleport_segs[rand_index];
|
rand_segnum = Boss_teleport_segs[rand_index];
|
||||||
Assert((rand_segnum >= 0) && (rand_segnum <= Highest_segment_index));
|
Assert(rand_segnum <= Highest_segment_index);
|
||||||
|
|
||||||
if (Game_mode & GM_MULTI)
|
if (Game_mode & GM_MULTI)
|
||||||
multi_send_boss_teleport(objp, rand_segnum);
|
multi_send_boss_teleport(objp, rand_segnum);
|
||||||
|
|
|
@ -633,9 +633,6 @@ int find_vector_intersection(const fvi_query &fq, fvi_info &hit_data)
|
||||||
int hit_type;
|
int hit_type;
|
||||||
segnum_t hit_seg2;
|
segnum_t hit_seg2;
|
||||||
vms_vector hit_pnt;
|
vms_vector hit_pnt;
|
||||||
|
|
||||||
Assert(fq.startseg <= Highest_segment_index && fq.startseg >= 0);
|
|
||||||
|
|
||||||
fvi_hit_seg = segment_none;
|
fvi_hit_seg = segment_none;
|
||||||
fvi_hit_side = -1;
|
fvi_hit_side = -1;
|
||||||
|
|
||||||
|
@ -645,9 +642,9 @@ int find_vector_intersection(const fvi_query &fq, fvi_info &hit_data)
|
||||||
//Assert(check_point_in_seg(p0,startseg,0).centermask==0); //start point not in seg
|
//Assert(check_point_in_seg(p0,startseg,0).centermask==0); //start point not in seg
|
||||||
|
|
||||||
// invalid segnum, so say there is no hit.
|
// invalid segnum, so say there is no hit.
|
||||||
if(fq.startseg < 0 || fq.startseg > Highest_segment_index)
|
if(fq.startseg > Highest_segment_index)
|
||||||
{
|
{
|
||||||
|
Assert(fq.startseg <= Highest_segment_index);
|
||||||
hit_data.hit_type = HIT_BAD_P0;
|
hit_data.hit_type = HIT_BAD_P0;
|
||||||
hit_data.hit_pnt = *fq.p0;
|
hit_data.hit_pnt = *fq.p0;
|
||||||
hit_data.hit_seg = hit_data.hit_side = hit_data.hit_object = 0;
|
hit_data.hit_seg = hit_data.hit_side = hit_data.hit_object = 0;
|
||||||
|
|
|
@ -1647,11 +1647,11 @@ static void change_light(const vsegptridx_t segnum, int sidenum, int dir)
|
||||||
for (int k=0; k<4; k++) {
|
for (int k=0; k<4; k++) {
|
||||||
fix dl,new_l;
|
fix dl,new_l;
|
||||||
dl = dir * j.vert_light[k] * DL_SCALE;
|
dl = dir * j.vert_light[k] * DL_SCALE;
|
||||||
Assert(j.segnum >= 0 && j.segnum <= Highest_segment_index);
|
|
||||||
Assert(j.sidenum >= 0 && j.sidenum < MAX_SIDES_PER_SEGMENT);
|
Assert(j.sidenum >= 0 && j.sidenum < MAX_SIDES_PER_SEGMENT);
|
||||||
new_l = (Segments[j.segnum].sides[j.sidenum].uvls[k].l += dl);
|
const auto &&segp = vsegptr(j.segnum);
|
||||||
|
new_l = (segp->sides[j.sidenum].uvls[k].l += dl);
|
||||||
if (new_l < 0)
|
if (new_l < 0)
|
||||||
Segments[j.segnum].sides[j.sidenum].uvls[k].l = 0;
|
segp->sides[j.sidenum].uvls[k].l = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue