Use auto type for Viewer in more places
This commit is contained in:
parent
a70188e7a5
commit
dd260f234b
|
@ -748,10 +748,9 @@ static void move_object_to_position(const vmobjptridx_t objp, const vms_vector &
|
|||
objp->pos = newpos;
|
||||
} else {
|
||||
if (verify_object_seg(vmobjptr, Segments, vcvertptr, objp, newpos)) {
|
||||
object temp_viewer_obj;
|
||||
fvi_info hit_info;
|
||||
|
||||
temp_viewer_obj = *Viewer;
|
||||
auto temp_viewer_obj = *Viewer;
|
||||
auto viewer_segnum = find_object_seg(LevelSharedSegmentState, LevelUniqueSegmentState, *Viewer);
|
||||
temp_viewer_obj.segnum = viewer_segnum;
|
||||
|
||||
|
|
|
@ -430,9 +430,7 @@ static void digi_link_sound_common(const object_base &viewer, sound_object &so,
|
|||
|
||||
void digi_link_sound_to_object3(const unsigned org_soundnum, const vcobjptridx_t objnum, const uint8_t forever, const fix max_volume, const sound_stack once, const vm_distance max_distance, const int loop_start, const int loop_end)
|
||||
{
|
||||
auto &Objects = LevelUniqueObjectState.Objects;
|
||||
auto &vcobjptr = Objects.vcptr;
|
||||
const auto &&viewer = vcobjptr(Viewer);
|
||||
auto &viewer = *Viewer;
|
||||
int soundnum;
|
||||
|
||||
soundnum = digi_xlat_sound(org_soundnum);
|
||||
|
@ -451,7 +449,7 @@ void digi_link_sound_to_object3(const unsigned org_soundnum, const vcobjptridx_t
|
|||
if ( Newdemo_state == ND_STATE_RECORDING ) {
|
||||
if ( !forever ) { // forever flag is not recorded, use original limited sound objects hack for demo recording
|
||||
auto segnum = vcsegptridx(objnum->segnum);
|
||||
const auto &&[volume, pan] = digi_get_sound_loc(viewer->orient, viewer->pos, segnum.absolute_sibling(viewer->segnum),
|
||||
const auto &&[volume, pan] = digi_get_sound_loc(viewer.orient, viewer.pos, segnum.absolute_sibling(viewer.segnum),
|
||||
objnum->pos, segnum, max_volume,
|
||||
max_distance);
|
||||
newdemo_record_sound_3d_once( org_soundnum, pan, volume );
|
||||
|
@ -483,9 +481,9 @@ void digi_link_sound_to_object(const unsigned soundnum, const vcobjptridx_t objn
|
|||
|
||||
namespace {
|
||||
|
||||
static void digi_link_sound_to_pos2(fvcobjptr &vcobjptr, const int org_soundnum, const vcsegptridx_t segnum, const sidenum_t sidenum, const vms_vector &pos, int forever, fix max_volume, const vm_distance max_distance)
|
||||
static void digi_link_sound_to_pos2(const int org_soundnum, const vcsegptridx_t segnum, const sidenum_t sidenum, const vms_vector &pos, int forever, fix max_volume, const vm_distance max_distance)
|
||||
{
|
||||
const auto &&viewer = vcobjptr(Viewer);
|
||||
auto &viewer = *Viewer;
|
||||
int soundnum;
|
||||
|
||||
soundnum = digi_xlat_sound(org_soundnum);
|
||||
|
@ -503,7 +501,7 @@ static void digi_link_sound_to_pos2(fvcobjptr &vcobjptr, const int org_soundnum,
|
|||
if (!forever)
|
||||
{
|
||||
// Hack to keep sounds from building up...
|
||||
const auto &&[volume, pan] = digi_get_sound_loc(viewer->orient, viewer->pos, segnum.absolute_sibling(viewer->segnum), pos, segnum, max_volume, max_distance);
|
||||
const auto &&[volume, pan] = digi_get_sound_loc(viewer.orient, viewer.pos, segnum.absolute_sibling(viewer.segnum), pos, segnum, max_volume, max_distance);
|
||||
digi_play_sample_3d(org_soundnum, pan, volume);
|
||||
return;
|
||||
}
|
||||
|
@ -524,9 +522,7 @@ static void digi_link_sound_to_pos2(fvcobjptr &vcobjptr, const int org_soundnum,
|
|||
|
||||
void digi_link_sound_to_pos(const unsigned soundnum, const vcsegptridx_t segnum, const sidenum_t sidenum, const vms_vector &pos, const int forever, const fix max_volume)
|
||||
{
|
||||
auto &Objects = LevelUniqueObjectState.Objects;
|
||||
auto &vcobjptr = Objects.vcptr;
|
||||
digi_link_sound_to_pos2(vcobjptr, soundnum, segnum, sidenum, pos, forever, max_volume, vm_distance{F1_0 * 256});
|
||||
digi_link_sound_to_pos2(soundnum, segnum, sidenum, pos, forever, max_volume, vm_distance{F1_0 * 256});
|
||||
}
|
||||
|
||||
//if soundnum==-1, kill any sound
|
||||
|
@ -596,7 +592,7 @@ void digi_sync_sounds()
|
|||
return;
|
||||
auto &Objects = LevelUniqueObjectState.Objects;
|
||||
auto &vcobjptr = Objects.vcptr;
|
||||
const auto &&viewer = vcobjptr(Viewer);
|
||||
const auto viewer = Viewer;
|
||||
range_for (auto &s, SoundObjects)
|
||||
{
|
||||
if (s.flags & SOF_USED)
|
||||
|
|
|
@ -343,7 +343,7 @@ static void draw_window_label(object_array &Objects, grs_canvas &canvas)
|
|||
case OBJ_FIREBALL: viewer_name = "Fireball"; break;
|
||||
case OBJ_ROBOT: viewer_name = "Robot";
|
||||
#if DXX_USE_EDITOR
|
||||
viewer_id = Robot_names[get_robot_id(Objects.vcptr(Viewer))].data();
|
||||
viewer_id = Robot_names[get_robot_id(*Viewer)].data();
|
||||
#endif
|
||||
break;
|
||||
case OBJ_HOSTAGE: viewer_name = "Hostage"; break;
|
||||
|
@ -352,7 +352,7 @@ static void draw_window_label(object_array &Objects, grs_canvas &canvas)
|
|||
case OBJ_CAMERA: viewer_name = "Camera"; break;
|
||||
case OBJ_POWERUP: viewer_name = "Powerup";
|
||||
#if DXX_USE_EDITOR
|
||||
viewer_id = Powerup_names[get_powerup_id(Objects.vcptr(Viewer))].data();
|
||||
viewer_id = Powerup_names[get_powerup_id(*Viewer)].data();
|
||||
#endif
|
||||
break;
|
||||
case OBJ_DEBRIS: viewer_name = "Debris"; break;
|
||||
|
@ -372,7 +372,7 @@ static void draw_window_label(object_array &Objects, grs_canvas &canvas)
|
|||
|
||||
gr_set_fontcolor(canvas, BM_XRGB(31, 0, 0),-1);
|
||||
auto &game_font = *GAME_FONT;
|
||||
gr_printf(canvas, game_font, 0x8000, (SHEIGHT / 10), "%hu: %s [%s] View - %s", static_cast<objnum_t>(vcobjptridx(Viewer)), viewer_name, viewer_id, control_name);
|
||||
gr_printf(canvas, game_font, 0x8000, (SHEIGHT / 10), "%hu: %s [%s] View - %s", vcobjptridx(Viewer).get_unchecked_index(), viewer_name, viewer_id, control_name);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3664,7 +3664,7 @@ void draw_hud(const d_robot_info_array &Robot_info, grs_canvas &canvas, const ob
|
|||
return;
|
||||
|
||||
// Cruise speed
|
||||
if (Viewer->type == OBJ_PLAYER && get_player_id(vcobjptr(Viewer)) == Player_num && PlayerCfg.CockpitMode[1] != cockpit_mode_t::rear_view)
|
||||
if (auto &viewer = *Viewer; viewer.type == OBJ_PLAYER && get_player_id(viewer) == Player_num && PlayerCfg.CockpitMode[1] != cockpit_mode_t::rear_view)
|
||||
{
|
||||
int x = FSPACX(1);
|
||||
int y = canvas.cv_bitmap.bm_h;
|
||||
|
|
Loading…
Reference in a new issue