From 98f5afa9f8955db04047cbff50bab3c08f88080e Mon Sep 17 00:00:00 2001 From: Kp Date: Sat, 9 Jan 2016 16:38:13 +0000 Subject: [PATCH] Remove default argument for basic_ptr(pointer,array &) --- common/include/editor/editor.h | 3 +-- common/include/valptridx.h | 7 ++++++- common/main/fuelcen.h | 2 +- common/main/fwd-object.h | 2 +- d2x-rebirth/main/escort.cpp | 7 ++----- similar/editor/group.cpp | 15 ++++++++++----- similar/editor/med.cpp | 2 +- similar/editor/meddraw.cpp | 4 ++-- similar/editor/medmisc.cpp | 2 +- similar/editor/medsel.cpp | 2 +- similar/editor/mine.cpp | 7 +++---- similar/editor/segment.cpp | 22 +++++++++------------- similar/editor/seguvs.cpp | 2 +- similar/main/controls.cpp | 5 +++-- similar/main/digiobj.cpp | 6 +++--- similar/main/fuelcen.cpp | 4 ++-- similar/main/gamerend.cpp | 24 ++++++++++++------------ similar/main/laser.cpp | 2 +- similar/main/multi.cpp | 4 ++-- similar/main/object.cpp | 13 +++++++------ similar/main/render.cpp | 2 +- similar/main/weapon.cpp | 4 ++-- 22 files changed, 72 insertions(+), 69 deletions(-) diff --git a/common/include/editor/editor.h b/common/include/editor/editor.h index 8ef18d511..398dbf49a 100644 --- a/common/include/editor/editor.h +++ b/common/include/editor/editor.h @@ -380,10 +380,9 @@ int med_find_closest_threshold_segment_side(vsegptridx_t sp, int side, segptridx // If there is no connecting segment on the current side, try any segment. // Copy texture maps in newseg to nsp. -void copy_uvs_seg_to_seg(vsegptr_t nsp,vsegptr_t newseg); +void copy_uvs_seg_to_seg(vsegptr_t nsp, vcsegptr_t newseg); // Return true if segment is concave. -int check_seg_concavity(vsegptr_t s); // Return N_found_segs = number of concave segments in mine. // Segment ids stored at Found_segs diff --git a/common/include/valptridx.h b/common/include/valptridx.h index 2aa2a196b..95f79c3c9 100644 --- a/common/include/valptridx.h +++ b/common/include/valptridx.h @@ -362,7 +362,12 @@ public: m_ptr(check_allowed_invalid_index(i) ? nullptr : &a[check_index_range(i, &a)]) { } - basic_ptr(pointer_type p, array_managed_type &a = get_array()) : + basic_ptr(pointer_type p) = delete; + basic_ptr(pointer_type p, array_managed_type &a) : + /* No array consistency check here, since some code incorrectly + * defines instances of `object` outside the Objects array, then + * passes pointers to those instances to this function. + */ m_ptr(p) { if (!allow_nullptr) diff --git a/common/main/fuelcen.h b/common/main/fuelcen.h index d22d46333..28987932c 100644 --- a/common/main/fuelcen.h +++ b/common/main/fuelcen.h @@ -161,7 +161,7 @@ extern void init_all_matcens(void); * reads a matcen_info structure from a PHYSFS_file */ #if defined(DXX_BUILD_DESCENT_II) -void fuelcen_check_for_hoard_goal(vsegptr_t segp); +void fuelcen_check_for_hoard_goal(vcsegptr_t segp); /* * reads an d1_matcen_info structure from a PHYSFS_file diff --git a/common/main/fwd-object.h b/common/main/fwd-object.h index 3268b66cf..127b1aed6 100644 --- a/common/main/fwd-object.h +++ b/common/main/fwd-object.h @@ -324,7 +324,7 @@ objptridx_t drop_marker_object(const vms_vector &pos, vsegptridx_t segnum, const void wake_up_rendered_objects(vobjptr_t gmissp, window_rendered_data &window); -void fuelcen_check_for_goal (vsegptr_t); +void fuelcen_check_for_goal(vcsegptr_t); #endif objptridx_t obj_find_first_of_type(int type); diff --git a/d2x-rebirth/main/escort.cpp b/d2x-rebirth/main/escort.cpp index ba6a21e82..d8b30f768 100644 --- a/d2x-rebirth/main/escort.cpp +++ b/d2x-rebirth/main/escort.cpp @@ -204,11 +204,8 @@ std::size_t create_bfs_list(segnum_t start_seg, segnum_t *const bfs_list, std::s visited[start_seg] = true; while ((head != tail) && (head < max_segs)) { - segment *cursegp; - auto curseg = bfs_list[tail++]; - cursegp = &Segments[curseg]; - + const auto &&cursegp = vcsegptr(curseg); for (int i=0; ichildren[i]; @@ -1164,7 +1161,7 @@ static segnum_t choose_thief_recreation_segment() cur_drop_depth = THIEF_DEPTH; while ((segnum == segment_none) && (cur_drop_depth > THIEF_DEPTH/2)) { - segnum = pick_connected_segment(&get_local_plrobj(), cur_drop_depth); + segnum = pick_connected_segment(vcobjptr(&get_local_plrobj()), cur_drop_depth); if (segnum != segment_none && vcsegptr(segnum)->special == SEGMENT_IS_CONTROLCEN) segnum = segment_none; cur_drop_depth--; diff --git a/similar/editor/group.cpp b/similar/editor/group.cpp index da3bcb54d..4c742cc68 100644 --- a/similar/editor/group.cpp +++ b/similar/editor/group.cpp @@ -577,7 +577,11 @@ static int med_copy_group(int delta_flag, const vsegptridx_t base_seg, int base_ //group_seg = &Segments[GroupList[new_current_group].segments[0]]; // connecting segment in group has been changed, so update group_seg - group_seg = Groupsegp[new_current_group] = &Segments[GroupList[new_current_group].segments[gs_index]]; + { + const auto &&gs = vsegptr(GroupList[new_current_group].segments[gs_index]); + group_seg = gs; + Groupsegp[new_current_group] = gs; + } Groupside[new_current_group] = Groupside[current_group]; range_for(const auto &gs, GroupList[new_current_group].segments) @@ -600,7 +604,7 @@ static int med_copy_group(int delta_flag, const vsegptridx_t base_seg, int base_ } } - copy_uvs_seg_to_seg(&New_segment, Groupsegp[new_current_group]); + copy_uvs_seg_to_seg(vsegptr(&New_segment), group_seg); // Now do the copy // First, xlate all vertices so center of group_seg:group_side is at origin @@ -748,7 +752,7 @@ static int med_move_group(int delta_flag, const vsegptridx_t base_seg, int base_ } } - copy_uvs_seg_to_seg(&New_segment, Groupsegp[current_group]); + copy_uvs_seg_to_seg(vsegptr(&New_segment), vcsegptr(Groupsegp[current_group])); // Now do the move // First, xlate all vertices so center of group_seg:group_side is at origin @@ -823,7 +827,7 @@ static int AttachSegmentNewAng(const vms_angvec &pbh) med_propagate_tmaps_to_segments(Cursegp,nsegp,0); med_propagate_tmaps_to_back_side(nsegp, Side_opposite[AttachSide],0); - copy_uvs_seg_to_seg(&New_segment,nsegp); + copy_uvs_seg_to_seg(vsegptr(&New_segment),nsegp); Cursegp = nsegp; Curside = Side_opposite[AttachSide]; @@ -1595,7 +1599,8 @@ int CopyGroup(void) med_compress_mine(); - if (!med_copy_group(0, Cursegp, Curside, Groupsegp[current_group], Groupside[current_group], vmd_identity_matrix)) { + if (!med_copy_group(0, Cursegp, Curside, vcsegptr(Groupsegp[current_group]), Groupside[current_group], vmd_identity_matrix)) + { autosave_mine(mine_filename); Update_flags |= UF_WORLD_CHANGED; mine_changed = 1; diff --git a/similar/editor/med.cpp b/similar/editor/med.cpp index f11f6441d..b523afd86 100644 --- a/similar/editor/med.cpp +++ b/similar/editor/med.cpp @@ -382,7 +382,7 @@ void init_editor() //@@ slew_init(Viewer); //camera is slewing Viewer = ConsoleObject; - slew_init(ConsoleObject); + slew_init(vobjptr(ConsoleObject)); init_player_object(); Update_flags = UF_ALL; diff --git a/similar/editor/meddraw.cpp b/similar/editor/meddraw.cpp index 4e6241898..1440e67c7 100644 --- a/similar/editor/meddraw.cpp +++ b/similar/editor/meddraw.cpp @@ -789,10 +789,10 @@ void draw_world(grs_canvas *screen_canvas,editor_view *v,const vsegptridx_t mine if (current_group > -1) if (Groupsegp[current_group]) { gr_setcolor(GROUPSEG_COLOR); - draw_segment(Groupsegp[current_group]); + draw_segment(vcsegptr(Groupsegp[current_group])); gr_setcolor(GROUPSIDE_COLOR); - draw_seg_side(Groupsegp[current_group],Groupside[current_group]); + draw_seg_side(vcsegptr(Groupsegp[current_group]), Groupside[current_group]); } // Highlight marked segment and side. diff --git a/similar/editor/medmisc.cpp b/similar/editor/medmisc.cpp index f2c006521..7e29df98f 100644 --- a/similar/editor/medmisc.cpp +++ b/similar/editor/medmisc.cpp @@ -367,7 +367,7 @@ int ToggleAutosave() int AttachSegment() { - if (med_attach_segment(Cursegp, &New_segment, Curside, AttachSide)==4) // Used to be WBACK instead of Curside + if (med_attach_segment(Cursegp, vsegptr(&New_segment), Curside, AttachSide)==4) // Used to be WBACK instead of Curside diagnostic_message("Cannot attach segment - already a connection on current side."); else { if (Lock_view_to_cursegp) diff --git a/similar/editor/medsel.cpp b/similar/editor/medsel.cpp index d59d065e3..8587a9071 100644 --- a/similar/editor/medsel.cpp +++ b/similar/editor/medsel.cpp @@ -59,7 +59,7 @@ void sort_seg_list(count_segment_array_t &segnumlist,const vms_vector &pos) { array dist; range_for (const auto &ss, segnumlist) - dist[ss] = compute_dist(&Segments[ss],pos); + dist[ss] = compute_dist(vcsegptr(ss), pos); auto predicate = [&dist](count_segment_array_t::const_reference a, count_segment_array_t::const_reference b) { return dist[a] < dist[b]; }; diff --git a/similar/editor/mine.cpp b/similar/editor/mine.cpp index 1cde69657..3a255da68 100644 --- a/similar/editor/mine.cpp +++ b/similar/editor/mine.cpp @@ -588,8 +588,7 @@ int save_mine_data_compiled(PHYSFS_file *SaveFile) for (segnum_t segnum = 0; segnum < Num_segments; segnum++) { - segment *seg = &Segments[segnum]; - + const auto &&seg = vcsegptr(segnum); for (short sidenum = 0; sidenum < MAX_SIDES_PER_SEGMENT; sidenum++) { if (seg->children[sidenum] != segment_none) @@ -684,8 +683,8 @@ int save_mine_data_compiled(PHYSFS_file *SaveFile) #if defined(DXX_BUILD_DESCENT_II) if (Gamesave_current_version > 5) - for (short i = 0; i < Num_segments; i++) - segment2_write(&Segments[i], SaveFile); + for (segnum_t i = 0; i < Num_segments; i++) + segment2_write(vcsegptr(i), SaveFile); #endif return 0; diff --git a/similar/editor/segment.cpp b/similar/editor/segment.cpp index 7bb70aca0..2034dfaf4 100644 --- a/similar/editor/segment.cpp +++ b/similar/editor/segment.cpp @@ -884,7 +884,7 @@ int med_attach_segment(const vsegptridx_t destseg, const vsegptr_t newseg, int d rval = med_attach_segment_rotated(destseg,newseg,destside,newside,rotmat); med_propagate_tmaps_to_segments(ocursegp,Cursegp,0); med_propagate_tmaps_to_back_side(Cursegp, Side_opposite[newside],0); - copy_uvs_seg_to_seg(&New_segment,Cursegp); + copy_uvs_seg_to_seg(vsegptr(&New_segment), Cursegp); return rval; } @@ -1001,7 +1001,7 @@ int med_delete_segment(const vsegptridx_t sp) } Cursegp = csp; med_create_new_segment_from_cursegp(); - copy_uvs_seg_to_seg(&New_segment,Cursegp); + copy_uvs_seg_to_seg(vsegptr(&New_segment), Cursegp); } sp->segnum = segment_none; // Mark segment as inactive. @@ -1100,12 +1100,12 @@ int med_rotate_segment(const vsegptridx_t seg, const vms_matrix &rotmat) destside++; // Before deleting the segment, copy its texture maps to New_segment - copy_tmaps_to_segment(&New_segment,seg); + copy_tmaps_to_segment(vsegptr(&New_segment), seg); if (Curside == WFRONT) Curside = WBACK; - med_attach_segment_rotated(destseg,&New_segment,destside,AttachSide,rotmat); + med_attach_segment_rotated(destseg, vsegptr(&New_segment), destside, AttachSide, rotmat); // Save tmap_num on each side to restore after call to med_propagate_tmaps_to_segments and _back_side // which will change the tmap nums. @@ -1412,7 +1412,7 @@ void med_create_segment(const vsegptridx_t sp,fix cx, fix cy, fix cz, fix length sp->static_light = 0; sp->matcen_num = -1; - copy_tmaps_to_segment(sp, &New_segment); + copy_tmaps_to_segment(sp, vcsegptr(&New_segment)); assign_default_uvs_to_segment(sp); } @@ -1520,7 +1520,7 @@ void create_coordinate_axes_from_segment(const vsegptr_t sp,array &vert // ----------------------------------------------------------------------------- // Determine if a segment is concave. Returns true if concave -int check_seg_concavity(const vsegptr_t s) +static int check_seg_concavity(const vcsegptr_t s) { int vn; vms_vector n0; @@ -1548,16 +1548,12 @@ int check_seg_concavity(const vsegptr_t s) // Find all concave segments and add to list void find_concave_segs() { - int i; - segment *s; - Warning_segs.clear(); - for (s=&Segments[0],i=Highest_segment_index;i>=0;s++,i--) + range_for (const auto &&s, highest_valid(vcsegptridx)) if (s->segnum != segment_none) - if (check_seg_concavity(s)) Warning_segs.emplace_back(s - Segments); - - + if (check_seg_concavity(s)) + Warning_segs.emplace_back(s); } diff --git a/similar/editor/seguvs.cpp b/similar/editor/seguvs.cpp index 319d61952..9c9eca94b 100644 --- a/similar/editor/seguvs.cpp +++ b/similar/editor/seguvs.cpp @@ -857,7 +857,7 @@ void med_propagate_tmaps_to_segments(const vsegptridx_t base_seg,const vsegptrid // Copy texture map uvs from srcseg to destseg. // If two segments have different face structure (eg, destseg has two faces on side 3, srcseg has only 1) // then assign uvs according to side vertex id, not face vertex id. -void copy_uvs_seg_to_seg(const vsegptr_t destseg,const vsegptr_t srcseg) +void copy_uvs_seg_to_seg(const vsegptr_t destseg, const vcsegptr_t srcseg) { int s; diff --git a/similar/main/controls.cpp b/similar/main/controls.cpp index da01a434f..397851d8b 100644 --- a/similar/main/controls.cpp +++ b/similar/main/controls.cpp @@ -71,9 +71,10 @@ void read_flying_controls(const vobjptr_t obj) return; //references to player_ship require that this obj be the player const auto control_guided_missile = [&] { - const auto m = Guided_missile[Player_num]; - if (!m) + const auto gm = Guided_missile[Player_num]; + if (!gm) return false; + const auto &&m = vobjptr(gm); if (m->type != OBJ_WEAPON) return false; if (m->signature != Guided_missile_sig[Player_num]) diff --git a/similar/main/digiobj.cpp b/similar/main/digiobj.cpp index 3462f087e..9c4597a26 100644 --- a/similar/main/digiobj.cpp +++ b/similar/main/digiobj.cpp @@ -357,7 +357,7 @@ static void digi_link_sound_common(cobjptr_t viewer, sound_object &so, const vms void digi_link_sound_to_object3( int org_soundnum, const vcobjptridx_t objnum, int forever, fix max_volume, const vm_distance max_distance, int loop_start, int loop_end ) { - const vcobjptr_t viewer{Viewer}; + const auto &&viewer = vcobjptr(Viewer); int volume,pan; int soundnum; @@ -409,7 +409,7 @@ void digi_link_sound_to_object( int soundnum, const vcobjptridx_t objnum, int fo static void digi_link_sound_to_pos2(int org_soundnum, const vcsegptridx_t segnum, short sidenum, const vms_vector &pos, int forever, fix max_volume, const vm_distance max_distance) { - const vcobjptr_t viewer{Viewer}; + const auto &&viewer = vcobjptr(Viewer); int volume, pan; int soundnum; @@ -531,7 +531,7 @@ void digi_sync_sounds() SoundQ_process(); if (!Viewer) return; - const vcobjptr_t viewer{Viewer}; + const auto &&viewer = vcobjptr(Viewer); range_for (auto &s, SoundObjects) { if (s.flags & SOF_USED) diff --git a/similar/main/fuelcen.cpp b/similar/main/fuelcen.cpp index c3b10af1a..8255e2756 100644 --- a/similar/main/fuelcen.cpp +++ b/similar/main/fuelcen.cpp @@ -745,7 +745,7 @@ void matcen_info_read(PHYSFS_file *fp, matcen_info &mi, int version) PHYSFSX_serialize_read(fp, mi); } #elif defined(DXX_BUILD_DESCENT_II) -void fuelcen_check_for_goal(const vsegptr_t segp) +void fuelcen_check_for_goal(const vcsegptr_t segp) { Assert (game_mode_capture_flag()); @@ -776,7 +776,7 @@ void fuelcen_check_for_goal(const vsegptr_t segp) } } -void fuelcen_check_for_hoard_goal(const vsegptr_t segp) +void fuelcen_check_for_hoard_goal(const vcsegptr_t segp) { Assert (game_mode_hoard()); diff --git a/similar/main/gamerend.cpp b/similar/main/gamerend.cpp index 83c741939..aee5b1ff3 100644 --- a/similar/main/gamerend.cpp +++ b/similar/main/gamerend.cpp @@ -538,9 +538,9 @@ static void show_extra_views() DemoDoingLeft=DemoDoLeft; if (DemoDoLeft==3) - do_cockpit_window_view(0,ConsoleObject,1,WBU_REAR,"REAR"); + do_cockpit_window_view(0, vobjptr(ConsoleObject), 1, WBU_REAR, "REAR"); else - do_cockpit_window_view(0,&DemoLeftExtra,DemoRearCheck[DemoDoLeft],DemoWBUType[DemoDoLeft],DemoExtraMessage[DemoDoLeft]); + do_cockpit_window_view(0, vobjptr(&DemoLeftExtra), DemoRearCheck[DemoDoLeft], DemoWBUType[DemoDoLeft], DemoExtraMessage[DemoDoLeft]); } else do_cockpit_window_view(0,WBU_WEAPON); @@ -550,10 +550,10 @@ static void show_extra_views() DemoDoingRight=DemoDoRight; if (DemoDoRight==3) - do_cockpit_window_view(1,ConsoleObject,1,WBU_REAR,"REAR"); + do_cockpit_window_view(1, vobjptr(ConsoleObject), 1, WBU_REAR, "REAR"); else { - do_cockpit_window_view(1,&DemoRightExtra,DemoRearCheck[DemoDoRight],DemoWBUType[DemoDoRight],DemoExtraMessage[DemoDoRight]); + do_cockpit_window_view(1, vobjptr(&DemoRightExtra), DemoRearCheck[DemoDoRight], DemoWBUType[DemoDoRight], DemoExtraMessage[DemoDoRight]); } } else @@ -572,12 +572,12 @@ static void show_extra_views() if (PlayerCfg.GuidedInBigWindow) { RenderingType=6+(1<<4); - do_cockpit_window_view(1,Viewer,0,WBU_MISSILE,"SHIP"); + do_cockpit_window_view(1, vobjptr(Viewer), 0, WBU_MISSILE, "SHIP"); } else { RenderingType=1+(1<<4); - do_cockpit_window_view(1,Guided_missile[Player_num],0,WBU_GUIDED,"GUIDED"); + do_cockpit_window_view(1, vobjptr(Guided_missile[Player_num]), 0, WBU_GUIDED, "GUIDED"); } did_missile_view=1; @@ -593,7 +593,7 @@ static void show_extra_views() //do missile view { RenderingType=2+(1<<4); - do_cockpit_window_view(1, Missile_viewer, 0, WBU_MISSILE, get_missile_name(get_weapon_id(*Missile_viewer))); + do_cockpit_window_view(1, vobjptr(Missile_viewer), 0, WBU_MISSILE, get_missile_name(get_weapon_id(*Missile_viewer))); did_missile_view=1; } else { @@ -625,11 +625,11 @@ static void show_one_extra_view(const int w) case CV_REAR: if (Rear_view) { //if big window is rear view, show front here RenderingType=3+(w<<4); - do_cockpit_window_view(w,ConsoleObject,0,WBU_REAR,"FRONT"); + do_cockpit_window_view(w, vobjptr(ConsoleObject), 0, WBU_REAR, "FRONT"); } else { //show normal rear view RenderingType=3+(w<<4); - do_cockpit_window_view(w,ConsoleObject,1,WBU_REAR,"REAR"); + do_cockpit_window_view(w, vobjptr(ConsoleObject), 1, WBU_REAR, "REAR"); } break; case CV_ESCORT: { @@ -704,10 +704,10 @@ void game_render_frame_mono() Viewer = Guided_missile[Player_num]; window_rendered_data window; - update_rendered_data(window, Viewer, 0); + update_rendered_data(window, vobjptr(Viewer), 0); render_frame(0, window); - wake_up_rendered_objects(Viewer, window); + wake_up_rendered_objects(vobjptr(Viewer), window); show_HUD_names(); Viewer = viewer_save; @@ -737,7 +737,7 @@ void game_render_frame_mono() #endif window_rendered_data window; #if defined(DXX_BUILD_DESCENT_II) - update_rendered_data(window, Viewer, Rear_view); + update_rendered_data(window, vobjptr(Viewer), Rear_view); #endif render_frame(0, window); } diff --git a/similar/main/laser.cpp b/similar/main/laser.cpp index ff8586fe8..68a26d118 100644 --- a/similar/main/laser.cpp +++ b/similar/main/laser.cpp @@ -2244,7 +2244,7 @@ void release_guided_missile(int player_num) Missile_viewer = Guided_missile[player_num]; if (Game_mode & GM_MULTI) - multi_send_guided_info (Guided_missile[Player_num],1); + multi_send_guided_info(vobjptr(Missile_viewer), 1); if (Newdemo_state==ND_STATE_RECORDING) newdemo_record_guided_end(); } diff --git a/similar/main/multi.cpp b/similar/main/multi.cpp index 9eec8c1b0..3512c122b 100644 --- a/similar/main/multi.cpp +++ b/similar/main/multi.cpp @@ -4352,7 +4352,7 @@ static void DropOrb () seed = d_rand(); - auto objnum = spit_powerup(ConsoleObject,POW_HOARD_ORB,seed); + const auto &&objnum = spit_powerup(vobjptr(ConsoleObject), POW_HOARD_ORB, seed); if (objnum == object_none) return; @@ -4391,7 +4391,7 @@ void DropFlag () return; } seed = d_rand(); - const auto &&objnum = spit_powerup(ConsoleObject, get_team(Player_num) == TEAM_RED ? POW_FLAG_BLUE : POW_FLAG_RED, seed); + const auto &&objnum = spit_powerup(vobjptr(ConsoleObject), get_team(Player_num) == TEAM_RED ? POW_FLAG_BLUE : POW_FLAG_RED, seed); if (objnum == object_none) { HUD_init_message_literal(HM_MULTI, "Failed to drop flag!"); diff --git a/similar/main/object.cpp b/similar/main/object.cpp index 8e6826f17..64b4a869b 100644 --- a/similar/main/object.cpp +++ b/similar/main/object.cpp @@ -1608,19 +1608,20 @@ static void object_move_one(const vobjptridx_t obj) obj->last_pos = obj->pos; // Save the current position if ((obj->type==OBJ_PLAYER) && (Player_num==get_player_id(obj))) { + const auto &&segp = vsegptr(obj->segnum); #if defined(DXX_BUILD_DESCENT_II) - if (game_mode_capture_flag()) - fuelcen_check_for_goal (&Segments[obj->segnum]); - if (game_mode_hoard()) - fuelcen_check_for_hoard_goal (&Segments[obj->segnum]); + if (game_mode_capture_flag()) + fuelcen_check_for_goal(segp); + else if (game_mode_hoard()) + fuelcen_check_for_hoard_goal(segp); #endif - fix fuel=fuelcen_give_fuel(vsegptr(obj->segnum), INITIAL_ENERGY - get_local_player_energy() ); + const fix fuel=fuelcen_give_fuel(segp, INITIAL_ENERGY - get_local_player_energy()); if (fuel > 0 ) { get_local_player_energy() += fuel; } #if defined(DXX_BUILD_DESCENT_II) - fix shields = repaircen_give_shields( &Segments[obj->segnum], INITIAL_SHIELDS - get_local_player_shields() ); + const fix shields = repaircen_give_shields(segp, INITIAL_SHIELDS - get_local_player_shields()); if (shields > 0) { get_local_player_shields() += shields; } diff --git a/similar/main/render.cpp b/similar/main/render.cpp index c1a9ffb2b..deba84467 100644 --- a/similar/main/render.cpp +++ b/similar/main/render.cpp @@ -1202,7 +1202,7 @@ void render_frame(fix eye_offset, window_rendered_data &window) //Here: - start_lighting_frame(Viewer); //this is for ugly light-smoothing hack + start_lighting_frame(vobjptr(Viewer)); //this is for ugly light-smoothing hack g3_start_frame(); diff --git a/similar/main/weapon.cpp b/similar/main/weapon.cpp index b32906cf4..7b82a4a60 100644 --- a/similar/main/weapon.cpp +++ b/similar/main/weapon.cpp @@ -1287,7 +1287,7 @@ void DropCurrentWeapon () } const auto seed = d_rand(); - const auto objnum = spit_powerup(ConsoleObject, drop_type, seed); + const auto objnum = spit_powerup(vobjptr(ConsoleObject), drop_type, seed); if (objnum == object_none) { HUD_init_message(HM_DEFAULT, "Failed to drop %s!", weapon_name); @@ -1443,7 +1443,7 @@ void DropSecondaryWeapon () seed = d_rand(); - auto objnum = spit_powerup(ConsoleObject,weapon_drop_id,seed); + auto objnum = spit_powerup(vobjptr(ConsoleObject), weapon_drop_id, seed); if (objnum == object_none) return;