diff --git a/common/main/collide.h b/common/main/collide.h index 853bfbab3..9c1c130a9 100644 --- a/common/main/collide.h +++ b/common/main/collide.h @@ -50,7 +50,7 @@ void collide_player_and_nasty_robot(vobjptridx_t player, vobjptridx_t robot, vms void net_destroy_controlcen(objptridx_t controlcen); void collide_player_and_powerup(object *player, vobjptridx_t powerup, vms_vector *collision_point); -extern int check_effect_blowup(segment *seg,int side,vms_vector *pnt, object *blower, int force_blowup_flag, int remote); +int check_effect_blowup(segment *seg,int side,const vms_vector &pnt, object *blower, int force_blowup_flag, int remote); void apply_damage_to_controlcen(vobjptridx_t controlcen, fix damage, objnum_t who); extern void bump_one_object(object *obj0, vms_vector *hit_dir, fix damage); void drop_player_eggs(vobjptridx_t playerobj); diff --git a/common/main/fvi.h b/common/main/fvi.h index 919ea2777..139fe5e0f 100644 --- a/common/main/fvi.h +++ b/common/main/fvi.h @@ -88,7 +88,7 @@ int find_vector_intersection(fvi_query *fq,fvi_info *hit_data); //finds the uv coords of the given point on the given seg & side //fills in u & v. if l is non-NULL fills it in also -void find_hitpoint_uv(fix *u,fix *v, const vms_vector *pnt,const segment *seg,int sidenum,int facenum); +void find_hitpoint_uv(fix *u,fix *v, const vms_vector &pnt,const segment *seg,int sidenum,int facenum); //Returns true if the object is through any walls int object_intersects_wall(object *objp); diff --git a/common/main/multi.h b/common/main/multi.h index a64537869..b7ad4f8be 100644 --- a/common/main/multi.h +++ b/common/main/multi.h @@ -257,7 +257,7 @@ void multi_send_markers(); void multi_send_guided_info (object *miss,char); void multi_send_orb_bonus(playernum_t pnum); void multi_send_got_orb(playernum_t pnum); -void multi_send_effect_blowup(segnum_t segnum, int side, vms_vector *pnt); +void multi_send_effect_blowup(segnum_t segnum, int side, const vms_vector &pnt); #endif void multi_add_lifetime_kills(void); void multi_send_bounty( void ); diff --git a/common/main/newdemo.h b/common/main/newdemo.h index 7c4e8dfe3..15964eb03 100644 --- a/common/main/newdemo.h +++ b/common/main/newdemo.h @@ -96,7 +96,7 @@ extern void newdemo_record_player_energy(int); extern void newdemo_record_player_shields(int); extern void newdemo_record_player_flags(uint); extern void newdemo_record_player_weapon(int, int); -extern void newdemo_record_effect_blowup(short, int, vms_vector *); +void newdemo_record_effect_blowup(segnum_t, int, const vms_vector &); extern void newdemo_record_homing_distance(fix); extern void newdemo_record_letterbox(void); extern void newdemo_record_rearview(void); diff --git a/similar/main/collide.cpp b/similar/main/collide.cpp index bfa0167d2..c995b10f9 100644 --- a/similar/main/collide.cpp +++ b/similar/main/collide.cpp @@ -534,7 +534,7 @@ static int effect_parent_is_guidebot(const object *effect) //if an effect is hit, and it can blow up, then blow it up //returns true if it blew up -int check_effect_blowup(segment *seg,int side,vms_vector *pnt, object *blower, int force_blowup_flag, int remote) +int check_effect_blowup(segment *seg,int side,const vms_vector &pnt, object *blower, int force_blowup_flag, int remote) { int tm,db; @@ -632,7 +632,7 @@ int check_effect_blowup(segment *seg,int side,vms_vector *pnt, object *blower, i vc = 3; } - object_create_explosion( seg-Segments, *pnt, dest_size, vc ); + object_create_explosion( seg-Segments, pnt, dest_size, vc ); #if defined(DXX_BUILD_DESCENT_II) if (ec!=-1 && db!=-1 && !(Effects[ec].flags&EF_ONE_SHOT)) @@ -640,7 +640,7 @@ int check_effect_blowup(segment *seg,int side,vms_vector *pnt, object *blower, i { if ((sound_num = Vclip[vc].sound_num) != -1) - digi_link_sound_to_pos( sound_num, seg-Segments, 0, *pnt, 0, F1_0 ); + digi_link_sound_to_pos( sound_num, seg-Segments, 0, pnt, 0, F1_0 ); if ((sound_num=Effects[ec].sound_num)!=-1) //kill sound digi_kill_sound_linked_to_segment(seg-Segments,side,sound_num); @@ -673,7 +673,7 @@ int check_effect_blowup(segment *seg,int side,vms_vector *pnt, object *blower, i seg->sides[side].tmap_num2 = TmapInfo[tm].destroyed | tmf; //assume this is a light, and play light sound - digi_link_sound_to_pos( SOUND_LIGHT_BLOWNUP, seg-Segments, 0, *pnt, 0, F1_0 ); + digi_link_sound_to_pos( SOUND_LIGHT_BLOWNUP, seg-Segments, 0, pnt, 0, F1_0 ); } #endif @@ -753,7 +753,7 @@ static void collide_weapon_and_wall(vobjptridx_t weapon, fix hitspeed, segnum_t return; } - blew_up = check_effect_blowup(seg,hitwall,hitpt, weapon, 0, 0); + blew_up = check_effect_blowup(seg,hitwall,*hitpt, weapon, 0, 0); //if ((seg->sides[hitwall].tmap_num2==0) && (TmapInfo[seg->sides[hitwall].tmap_num].flags & TMI_VOLATILE)) { diff --git a/similar/main/fvi.cpp b/similar/main/fvi.cpp index be61989ad..e9f8dbc8d 100644 --- a/similar/main/fvi.cpp +++ b/similar/main/fvi.cpp @@ -782,7 +782,7 @@ static int obj_in_list(objnum_t objnum,const objnum_t *obj_list) } -static int check_trans_wall(vms_vector *pnt,segment *seg,int sidenum,int facenum); +static int check_trans_wall(const vms_vector &pnt,segment *seg,int sidenum,int facenum); static void append_segments(fvi_info::segment_array_t &dst, const fvi_info::segment_array_t &src) { @@ -937,7 +937,7 @@ static int fvi_sub(vms_vector *intp,segnum_t *ints,const vms_vector *p0,segnum_t #elif defined(DXX_BUILD_DESCENT_II) ((wid_flag & WID_RENDER_FLAG) && (wid_flag & WID_RENDPAST_FLAG)) && #endif - ((flags & FQ_TRANSWALL) || (flags & FQ_TRANSPOINT && check_trans_wall(&hit_point,seg,side,face))))) { + ((flags & FQ_TRANSWALL) || (flags & FQ_TRANSPOINT && check_trans_wall(hit_point,seg,side,face))))) { segnum_t newsegnum,sub_hit_seg; vms_vector sub_hit_point; @@ -1097,7 +1097,7 @@ quit_looking: //finds the uv coords of the given point on the given seg & side //fills in u & v. if l is non-NULL fills it in also -void find_hitpoint_uv(fix *u,fix *v,const vms_vector *pnt,const segment *seg,int sidenum,int facenum) +void find_hitpoint_uv(fix *u,fix *v,const vms_vector &pnt,const segment *seg,int sidenum,int facenum) { int num_faces; const side *side = &seg->sides[sidenum]; @@ -1144,7 +1144,7 @@ void find_hitpoint_uv(fix *u,fix *v,const vms_vector *pnt,const segment *seg,int const vec2d vec1{vf2.*ii - p1.i, vf2.*jj - p1.j}; //vec from 1 -> checkpoint - const vec2d checkp{pnt->*ii, pnt->*jj}; + const vec2d checkp{pnt.*ii, pnt.*jj}; //@@checkv.i = checkp.i - p1.i; //@@checkv.j = checkp.j - p1.j; @@ -1171,7 +1171,7 @@ void find_hitpoint_uv(fix *u,fix *v,const vms_vector *pnt,const segment *seg,int //check if a particular point on a wall is a transparent pixel //returns 1 if can pass though the wall, else 0 -int check_trans_wall(vms_vector *pnt,segment *seg,int sidenum,int facenum) +int check_trans_wall(const vms_vector &pnt,segment *seg,int sidenum,int facenum) { grs_bitmap *bm; side *side = &seg->sides[sidenum]; diff --git a/similar/main/multi.cpp b/similar/main/multi.cpp index 2230652c3..c1d4f12da 100644 --- a/similar/main/multi.cpp +++ b/similar/main/multi.cpp @@ -2204,7 +2204,7 @@ static void multi_do_effect_blowup(const playernum_t pnum, const ubyte *buf) dummy.ctype.laser_info.parent_type = OBJ_PLAYER; dummy.ctype.laser_info.parent_num = pnum; - check_effect_blowup(&(Segments[segnum]), side, &hitpnt, &dummy, 0, 1); + check_effect_blowup(&(Segments[segnum]), side, hitpnt, &dummy, 0, 1); } static void multi_do_drop_marker (const playernum_t pnum, const ubyte *buf) @@ -3149,8 +3149,7 @@ multi_send_trigger(int triggernum) } #if defined(DXX_BUILD_DESCENT_II) -void -multi_send_effect_blowup(segnum_t segnum, int side, vms_vector *pnt) +void multi_send_effect_blowup(segnum_t segnum, int side, const vms_vector &pnt) { // We blew up something connected to a trigger. Send this blowup result to other players shortly before MULTI_TRIGGER. // NOTE: The reason this is now a separate packet is to make sure trigger-connected switches/monitors are in sync with MULTI_TRIGGER. @@ -3164,9 +3163,9 @@ multi_send_effect_blowup(segnum_t segnum, int side, vms_vector *pnt) multibuf[count] = Player_num; count += 1; PUT_INTEL_SHORT(multibuf+count, segnum); count += 2; multibuf[count] = (sbyte)side; count += 1; - PUT_INTEL_INT(multibuf+count, pnt->x); count += 4; - PUT_INTEL_INT(multibuf+count, pnt->y); count += 4; - PUT_INTEL_INT(multibuf+count, pnt->z); count += 4; + PUT_INTEL_INT(multibuf+count, pnt.x); count += 4; + PUT_INTEL_INT(multibuf+count, pnt.y); count += 4; + PUT_INTEL_INT(multibuf+count, pnt.z); count += 4; multi_send_data(multibuf, count, 0); } diff --git a/similar/main/newdemo.cpp b/similar/main/newdemo.cpp index d2cc3d14f..f753cb8dd 100644 --- a/similar/main/newdemo.cpp +++ b/similar/main/newdemo.cpp @@ -373,7 +373,7 @@ static void nd_write_fixang(fixang f) newdemo_write(&f, sizeof(fixang), 1); } -static void nd_write_vector(vms_vector *v) +static void nd_write_vector(const vms_vector *v) { nd_write_fix(v->x); nd_write_fix(v->y); @@ -1306,13 +1306,13 @@ void newdemo_record_player_weapon(int weapon_type, int weapon_num) start_time(); } -void newdemo_record_effect_blowup(short segment, int side, vms_vector *pnt) +void newdemo_record_effect_blowup(short segment, int side, const vms_vector &pnt) { stop_time(); nd_write_byte (ND_EVENT_EFFECT_BLOWUP); nd_write_short(segment); nd_write_byte((sbyte)side); - nd_write_vector(pnt); + nd_write_vector(&pnt); start_time(); } @@ -2525,9 +2525,9 @@ static int newdemo_read_frame_information(int rewrite) } if (Newdemo_vcr_state != ND_STATE_PAUSED) #if defined(DXX_BUILD_DESCENT_I) - check_effect_blowup(&(Segments[segnum]), side, &pnt, NULL, 0, 0); + check_effect_blowup(&(Segments[segnum]), side, pnt, NULL, 0, 0); #elif defined(DXX_BUILD_DESCENT_II) - check_effect_blowup(&(Segments[segnum]), side, &pnt, &dummy, 0, 0); + check_effect_blowup(&(Segments[segnum]), side, pnt, &dummy, 0, 0); #endif break; } diff --git a/similar/main/wall.cpp b/similar/main/wall.cpp index 92d37eb8e..8ab816860 100644 --- a/similar/main/wall.cpp +++ b/similar/main/wall.cpp @@ -1669,7 +1669,7 @@ static void bng_process_segment(object *objp, fix damage, segment *segp, int dep if (dist < damage/2) { dist = find_connected_distance(pnt, segp-Segments, objp->pos, objp->segnum, MAX_BLAST_GLASS_DEPTH, WID_RENDPAST_FLAG); if ((dist > 0) && (dist < damage/2)) - check_effect_blowup(segp, sidenum, &pnt, &Objects[objp->ctype.laser_info.parent_num], 1, 0); + check_effect_blowup(segp, sidenum, pnt, &Objects[objp->ctype.laser_info.parent_num], 1, 0); } } }