diff --git a/Descent3/AImain.cpp b/Descent3/AImain.cpp index 64d8a84f..86047dcf 100644 --- a/Descent3/AImain.cpp +++ b/Descent3/AImain.cpp @@ -1745,7 +1745,7 @@ bool AIMoveTowardsPosition(object *obj, /*velocity *new_vel,*/ vector *pos, floa if (stop_at_end_point) { if (vm_VectorDistance(pos, &obj->pos) <= .2f) { - obj->mtype.phys_info.velocity = Zero_vector; + obj->mtype.phys_info.velocity = vector{}; *f_moved = true; return true; } @@ -1772,7 +1772,7 @@ bool AIMoveTowardsPosition(object *obj, /*velocity *new_vel,*/ vector *pos, floa if (*pos == obj->pos) { physics_info *phys_info = &obj->mtype.phys_info; - if (phys_info->velocity != Zero_vector) { + if (phys_info->velocity != vector{}) { vector vel_diff = -phys_info->velocity; scalar delta_vel = vm_NormalizeVector(&vel_diff); scalar max_delta_vel = Frametime * ai_info->max_delta_velocity * acc_scale; @@ -1825,7 +1825,7 @@ bool move_relative_object_vec(object *obj, vector *vec, object *target, float ci normal_component = opposite_fvec * vm_Dot3Product(opposite_fvec, vec_to_plane); plane_component = vec_to_plane - normal_component; - if (plane_component == Zero_vector) { + if (plane_component == vector{}) { goal_dir = target->orient.rvec; } else { goal_dir = plane_component; @@ -1914,7 +1914,7 @@ bool compute_dodge_dir(vector *movement_dir, object *obj, object *dodge_obj) { dodge_vec *= scale; - if (dodge_vec != Zero_vector && (obj->ai_info->dodge_till_time < Gametime || + if (dodge_vec != vector{} && (obj->ai_info->dodge_till_time < Gametime || dodge_vec.mag() > obj->ai_info->last_dodge_dir.mag())) { obj->ai_info->last_dodge_dir = dodge_vec; } @@ -1953,7 +1953,7 @@ bool goal_do_avoid_walls(object *obj, vector *mdir) { int num_faces; float rad; int i; - vector awall_dir = Zero_vector; + vector awall_dir{}; float closest_dist; vector pos; bool f_danger = false; @@ -1973,7 +1973,7 @@ bool goal_do_avoid_walls(object *obj, vector *mdir) { closest_dist = rad + 1.0f; - if (obj->mtype.phys_info.velocity == Zero_vector) { + if (obj->mtype.phys_info.velocity == vector{}) { return false; } @@ -2115,7 +2115,7 @@ void AITurnTowardsDir(object *obj, /*velocity *new_vel,*/ vector *goal_dir /*, b matrix saved_orient = obj->orient; vector saved_uvec = obj->orient.uvec; - if (*goal_dir == Zero_vector || vm_Dot3Product(obj->orient.fvec, (*goal_dir)) >= ONE_DEGREE_ARC_COS) + if (*goal_dir == vector{} || vm_Dot3Product(obj->orient.fvec, (*goal_dir)) >= ONE_DEGREE_ARC_COS) return; // No goal_dir or less than 1 degree off goal if (obj->size > 32.0f && (vm_Dot3Product(obj->orient.fvec, (*goal_dir))) >= FIVE_DEGREE_ARC_COS) @@ -2318,7 +2318,7 @@ bool MeleeHitOk(object *obj) { if (target->movement_type == MT_PHYSICS || target->movement_type == MT_PHYSICS) { relative_vel = -target->mtype.phys_info.velocity; } else { - relative_vel = Zero_vector; + relative_vel = vector{}; } } @@ -3685,7 +3685,7 @@ bool AIInit(object *obj, uint8_t ai_class, uint8_t ai_type, uint8_t ai_movement) ai_info->vec_to_target_perceived = obj->orient.fvec; - ai_info->last_dodge_dir = Zero_vector; + ai_info->last_dodge_dir = vector{}; ai_info->dodge_till_time = Gametime - 1.0f; if (ObjGet(obj->parent_handle)) { @@ -4081,7 +4081,7 @@ bool AiGoalAvoid(vector *adir, object *obj, object *a_obj, float dist) { if (a_obj->movement_type == MT_PHYSICS || a_obj->movement_type == MT_WALKING) a_vel = a_obj->mtype.phys_info.velocity; else - a_vel = Zero_vector; + a_vel = vector{}; vector to_avoid = a_obj->pos - obj->pos; vector mdir; @@ -4546,11 +4546,11 @@ void ai_move(object *obj) { // object *g_objs[5]; // 1 target + 2 enemies + 2 friends object *targetptr = ObjGet(ai_info->target_handle); // The target of this AI - ai_info->movement_dir = Zero_vector; + ai_info->movement_dir = vector{}; // Hacked flocking code if (ai_info->ai_type == AIT_BIRD_FLOCK1) { - vector composite_dir = Zero_vector; + vector composite_dir{}; for (int temp = 0; temp < AI_FriendNumNear; temp++) { object *g_obj = AI_FriendObj[temp]; @@ -4565,7 +4565,7 @@ void ai_move(object *obj) { } // Facing code - if (composite_dir == Zero_vector) + if (composite_dir == vector{}) composite_dir = obj->orient.fvec; // FLOCK HEIGHT CODE @@ -4601,8 +4601,8 @@ void ai_move(object *obj) { // Stop objects that have not been active lately if (!(ai_info->flags & AIF_PERSISTANT) && Gametime - ai_info->last_see_target_time > CHECK_VIS_INFREQUENTLY_TIME && Gametime - ai_info->last_hear_target_time > CHECK_VIS_INFREQUENTLY_TIME && ai_info->awareness == AWARE_NONE) { - obj->mtype.phys_info.velocity = Zero_vector; - obj->mtype.phys_info.rotvel = Zero_vector; + obj->mtype.phys_info.velocity = vector{}; + obj->mtype.phys_info.rotvel = vector{}; } else { // Determine movement stuff if (obj->movement_type == MT_PHYSICS || obj->movement_type == MT_WALKING) { @@ -5004,7 +5004,7 @@ void ai_move(object *obj) { int16_t robots[6]; int num_robots = fvi_QuickDistObjectList(&obj->pos, obj->roomnum, 30.0f, robots, 6, false, true, false, true); - vector d = Zero_vector; + vector d{}; int i; float closest = 100000.0f; @@ -5031,7 +5031,7 @@ void ai_move(object *obj) { } } - if (d != Zero_vector) { + if (d != vector{}) { if (closest < 30.0f) { float scale = 1.0f - closest / 30.0f; vm_NormalizeVector(&d); @@ -5065,16 +5065,16 @@ void ai_move(object *obj) { } } else { if (!(f_dodge || f_avoid || - (ai_info->dodge_till_time >= Gametime && ai_info->last_dodge_dir != Zero_vector))) { + (ai_info->dodge_till_time >= Gametime && ai_info->last_dodge_dir != vector{}))) { AIMoveTowardsPosition(obj, &obj->pos, 1.0f, false, &goal_mdir, &goal_f_moved); goal_mset = true; } } // BLEND THIS! - if ((f_dodge || f_avoid || (ai_info->dodge_till_time >= Gametime && ai_info->last_dodge_dir != Zero_vector)) || + if ((f_dodge || f_avoid || (ai_info->dodge_till_time >= Gametime && ai_info->last_dodge_dir != vector{})) || (!goal_f_moved && goal_mset)) { - if (!f_dodge && (ai_info->dodge_till_time >= Gametime && ai_info->last_dodge_dir != Zero_vector)) { + if (!f_dodge && (ai_info->dodge_till_time >= Gametime && ai_info->last_dodge_dir != vector{})) { f_dodge = true; ai_info->movement_dir += ai_info->last_dodge_dir; @@ -5550,7 +5550,7 @@ static inline void ai_walker_stuff(object *obj) { } } - obj->mtype.phys_info.velocity = Zero_vector; + obj->mtype.phys_info.velocity = vector{}; } } else if (ai_info->movement_type == MC_WALKING) { int next_anim; @@ -6028,8 +6028,8 @@ void AIDoFrame(object *obj) { // AI objects don't use thrust (in general) obj->mtype.phys_info.flags &= ~PF_USES_THRUST; - obj->mtype.phys_info.rotthrust = Zero_vector; - obj->mtype.phys_info.thrust = Zero_vector; + obj->mtype.phys_info.rotthrust = vector{}; + obj->mtype.phys_info.thrust = vector{}; if (obj->type == OBJ_DUMMY) return; @@ -6145,7 +6145,7 @@ void AIDoFrame(object *obj) { if (speed > 0.1f && speed <= ai_info->max_velocity * 2.0) { if (obj->mtype.phys_info.drag > 0.0f && obj->mtype.phys_info.mass > 0.0f) { obj->mtype.phys_info.flags |= PF_USES_THRUST; - obj->mtype.phys_info.rotthrust = Zero_vector; + obj->mtype.phys_info.rotthrust = vector{}; obj->mtype.phys_info.thrust = obj->mtype.phys_info.velocity * obj->mtype.phys_info.drag; } } diff --git a/Descent3/Player.cpp b/Descent3/Player.cpp index 78a6c129..325bfe4a 100644 --- a/Descent3/Player.cpp +++ b/Descent3/Player.cpp @@ -2640,7 +2640,7 @@ void PlayerSetControlToAI(int slot, float velocity) { pobj->ai_info->last_render_time = -1.0f; pobj->ai_info->next_target_update_time = Gametime; pobj->ai_info->notify_flags |= AI_NOTIFIES_ALWAYS_ON; - pobj->ai_info->last_see_target_pos = Zero_vector; + pobj->ai_info->last_see_target_pos = vector{}; pobj->ai_info->dodge_vel_percent = 1.0f; pobj->ai_info->attack_vel_percent = 1.0f; pobj->ai_info->fight_same = 0.0f; diff --git a/Descent3/WeaponFire.cpp b/Descent3/WeaponFire.cpp index 9b2c59d6..294ed7cd 100644 --- a/Descent3/WeaponFire.cpp +++ b/Descent3/WeaponFire.cpp @@ -1309,7 +1309,7 @@ int CreateAndFireWeapon(vector *pos, vector *dir, object *parent, int weapon_num if (fdot > 0.0) fvel = parent->orient.fvec * fdot; else - fvel = Zero_vector; + fvel = vector{}; vector rvel = 0.1f * parent->orient.rvec * vm_Dot3Product(parent->mtype.phys_info.velocity, parent->orient.rvec); vector uvel = 0.1f * parent->orient.uvec * vm_Dot3Product(parent->mtype.phys_info.velocity, parent->orient.uvec); @@ -1373,7 +1373,7 @@ int CreateAndFireWeapon(vector *pos, vector *dir, object *parent, int weapon_num // Steers a homing missile void HomingTurnTowardObj(object *weapon, object *target) { vector dir_to_target; - vector movement = Zero_vector; + vector movement{}; if (target == NULL) return; @@ -1613,7 +1613,7 @@ object *HomingAquireTarget(object *obj) { // Does homing code void HomingDoFrame(object *obj) { - obj->mtype.phys_info.rotthrust = Zero_vector; + obj->mtype.phys_info.rotthrust = vector{}; HomingTurnTowardObj(obj, HomingAquireTarget(obj)); } @@ -1840,7 +1840,7 @@ int FireWeaponFromObject(object *obj, int weapon_num, int gun_num, bool f_force_ if (f_force_forward) { WeaponCalcGun(&laser_pos, NULL, obj, gun_num); laser_dir = obj->orient.fvec; - } else if (f_force_target && obj->ai_info && obj->ai_info->vec_to_target_perceived != Zero_vector) { + } else if (f_force_target && obj->ai_info && obj->ai_info->vec_to_target_perceived != vector{}) { WeaponCalcGun(&laser_pos, NULL, obj, gun_num); laser_dir = obj->ai_info->vec_to_target_perceived; } else { @@ -2301,7 +2301,7 @@ void DoSprayEffect(object *obj, otype_wb_info *static_wb, uint8_t wb_index) { if (fdot > (scalar)0.0) fvel = obj->orient.fvec * fdot; else - fvel = Zero_vector; + fvel = vector{}; vector rvel = (scalar)0.1f * obj->orient.rvec * vm_Dot3Product(obj->mtype.phys_info.velocity, obj->orient.rvec); vector uvel = (scalar)0.1f * obj->orient.uvec * vm_Dot3Product(obj->mtype.phys_info.velocity, obj->orient.uvec); @@ -3355,7 +3355,7 @@ void TimeoutWeapon(object *obj) { if ((Weapons[n].flags & WF_MATTER_WEAPON) && !(Weapons[n].flags & WF_SPAWNS_TIMEOUT) && (Weapons[n].spawn_count <= 0)) { - vector temp = Zero_vector; + vector temp{}; if (Weapons[obj->id].sounds[WSI_IMPACT_WALL] != SOUND_NONE_INDEX) Sound_system.Play3dSound(Weapons[obj->id].sounds[WSI_IMPACT_WALL], SND_PRIORITY_HIGH, obj); diff --git a/Descent3/damage.cpp b/Descent3/damage.cpp index 677afb4b..c913e275 100644 --- a/Descent3/damage.cpp +++ b/Descent3/damage.cpp @@ -1092,7 +1092,7 @@ void SetFallingPhysics(object *objp) { // Special stuff for walkers if (objp->movement_type == MT_WALKING) { - objp->mtype.phys_info.rotvel = Zero_vector; + objp->mtype.phys_info.rotvel = vector{}; objp->mtype.phys_info.flags |= PF_POINT_COLLIDE_WALLS; scalar proj = vm_Dot3Product(objp->mtype.phys_info.velocity, objp->orient.uvec); if (proj < 0.0f) diff --git a/Descent3/demofile.cpp b/Descent3/demofile.cpp index 46aed3f2..8bc89708 100644 --- a/Descent3/demofile.cpp +++ b/Descent3/demofile.cpp @@ -518,7 +518,7 @@ void DemoWriteChangedObjects() { if ((Objects[i].type == OBJ_PLAYER) || (Objects[i].type == OBJ_OBSERVER) || (Objects[i].type == OBJ_ROBOT) || (Objects[i].type == OBJ_POWERUP) || (Objects[i].type == OBJ_CLUTTER) || (Objects[i].type == OBJ_BUILDING) || (Objects[i].type == OBJ_CAMERA)) { - if ((Objects[i].flags & OF_MOVED_THIS_FRAME)) //||(Objects[i].mtype.phys_info.velocity!=Zero_vector)) + if ((Objects[i].flags & OF_MOVED_THIS_FRAME)) //||(Objects[i].mtype.phys_info.velocity!=vector{})) { DemoWriteChangedObj(&Objects[i]); // num_changed++; @@ -923,8 +923,8 @@ void DemoReadObj() { // if((!((obj->flags&OF_DYING)||(obj->flags&OF_EXPLODING)||(obj->flags&OF_DEAD)))&&obj->type!=255) if (obj->type != OBJ_NONE) { - obj->mtype.phys_info.velocity = Zero_vector; - obj->mtype.phys_info.rotvel = Zero_vector; + obj->mtype.phys_info.velocity = vector{}; + obj->mtype.phys_info.rotvel = vector{}; ObjSetPos(obj, &pos, roomnum, &orient, true); poly_model *pm = &Poly_models[obj->rtype.pobj_info.model_num]; if ((!(obj->flags & OF_ATTACHED)) && (pm->n_attach)) @@ -990,7 +990,7 @@ void DemoReadWeaponFire() { weapobjnum = cf_ReadShort(Demo_cfp); int16_t gunnum = cf_ReadShort(Demo_cfp); ASSERT(uniqueid != 0xffffffff); - ASSERT(dir != Zero_vector); + ASSERT(dir != vector{}); // This is a hack for the napalm, omega & vauss to prevent making files incompatible if ((obj->type == OBJ_PLAYER) && (obj->id != Player_num)) { diff --git a/Descent3/gamecinematics.cpp b/Descent3/gamecinematics.cpp index 53507ca6..10b1f7ab 100644 --- a/Descent3/gamecinematics.cpp +++ b/Descent3/gamecinematics.cpp @@ -714,7 +714,7 @@ bool Cinematic_StartCine(tGameCinematic *info, const char *text_string, int came camera->ai_info->last_render_time = -1.0f; camera->ai_info->next_target_update_time = Gametime; camera->ai_info->notify_flags |= AI_NOTIFIES_ALWAYS_ON; - camera->ai_info->last_see_target_pos = Zero_vector; + camera->ai_info->last_see_target_pos = vector{}; camera->ai_info->dodge_vel_percent = 1.0f; camera->ai_info->attack_vel_percent = 1.0f; camera->ai_info->fight_same = 0.0f; @@ -836,7 +836,7 @@ bool Cinematic_StartCine(tGameCinematic *info, const char *text_string, int came vector turn_to = target->pos - camera->pos; vm_NormalizeVector(&turn_to); - if (turn_to == Zero_vector) { + if (turn_to == vector{}) { LOG_WARNING << "Cine: No turn_to or less than 1 degree off goal"; goto continue_start; } @@ -1113,7 +1113,7 @@ void Cinematic_Frame(void) { vector turn_to = target->pos - camera->pos; vm_NormalizeVector(&turn_to); - if (turn_to == Zero_vector) { + if (turn_to == vector{}) { LOG_WARNING << "Cine: No turn_to or less than 1 degree off goal"; goto continue_frame; } diff --git a/Descent3/matcen.cpp b/Descent3/matcen.cpp index e8426797..9fcf8364 100644 --- a/Descent3/matcen.cpp +++ b/Descent3/matcen.cpp @@ -239,7 +239,7 @@ matcen::matcen() { m_status = 0; - m_create_pnt = Zero_vector; + m_create_pnt = vector{}; m_create_room = MATCEN_ERROR; m_cached_prod_index = -1; @@ -567,7 +567,7 @@ bool matcen::ComputeCreatePnt() { int num_valid_faces = 0; room *rp = &Rooms[m_roomnum]; - m_create_pnt = Zero_vector; + m_create_pnt = vector{}; for (i = 0; i < m_num_spawn_pnts; i++) { if (m_spawn_pnt[i] >= 0 && m_spawn_pnt[i] < rp->num_faces) { @@ -623,7 +623,7 @@ bool matcen::ComputeCreatePnt() { int i; int num_valid_gps = 0; - m_create_pnt = Zero_vector; + m_create_pnt = vector{}; for (i = 0; i < m_num_spawn_pnts; i++) { if (WeaponCalcGun(&m_spawn_vec[num_valid_gps], &m_spawn_normal[num_valid_gps], master_obj, m_spawn_pnt[i])) { diff --git a/Descent3/multi.cpp b/Descent3/multi.cpp index 5cc07f12..3daa4a18 100644 --- a/Descent3/multi.cpp +++ b/Descent3/multi.cpp @@ -5751,7 +5751,7 @@ void MultiDoPowerupReposition(uint8_t *data) { if (terrain) roomnum = MAKE_ROOMNUM(roomnum); - obj->mtype.phys_info.velocity = Zero_vector; + obj->mtype.phys_info.velocity = vector{}; ObjSetPos(obj, &pos, roomnum, &obj->orient, true); } @@ -8942,8 +8942,8 @@ void MultiDoRequestToMove(uint8_t *data) { do_physics_sim(obj); - obj->mtype.phys_info.thrust = Zero_vector; - obj->mtype.phys_info.rotthrust = Zero_vector; + obj->mtype.phys_info.thrust = vector{}; + obj->mtype.phys_info.rotthrust = vector{}; obj->orient = orient; bool client_error = 0; diff --git a/Descent3/multisafe.cpp b/Descent3/multisafe.cpp index 64ec7f64..dae93443 100644 --- a/Descent3/multisafe.cpp +++ b/Descent3/multisafe.cpp @@ -741,7 +741,7 @@ void msafe_GetValue(int type, msafe_struct *mstruct) { case MSAFE_OBJECT_POS: objp = ObjGet(mstruct->objhandle); if (!objp) - mstruct->pos = Zero_vector; + mstruct->pos = vector{}; else mstruct->pos = objp->pos; break; @@ -762,7 +762,7 @@ void msafe_GetValue(int type, msafe_struct *mstruct) { case MSAFE_OBJECT_WORLD_POSITION: objp = ObjGet(mstruct->objhandle); if (!objp) { - mstruct->pos = Zero_vector; + mstruct->pos = vector{}; mstruct->orient = Identity_matrix; mstruct->roomnum = -1; } else { @@ -774,28 +774,28 @@ void msafe_GetValue(int type, msafe_struct *mstruct) { case MSAFE_OBJECT_VELOCITY: objp = ObjGet(mstruct->objhandle); if (!objp || (objp->movement_type != MT_WALKING && objp->movement_type != MT_PHYSICS)) - mstruct->velocity = Zero_vector; + mstruct->velocity = vector{}; else mstruct->velocity = objp->mtype.phys_info.velocity; break; case MSAFE_OBJECT_ROTVELOCITY: objp = ObjGet(mstruct->objhandle); if (!objp || (objp->movement_type != MT_WALKING && objp->movement_type != MT_PHYSICS)) - mstruct->rot_velocity = Zero_vector; + mstruct->rot_velocity = vector{}; else mstruct->rot_velocity = objp->mtype.phys_info.rotvel; break; case MSAFE_OBJECT_THRUST: objp = ObjGet(mstruct->objhandle); if (!objp || (objp->movement_type != MT_WALKING && objp->movement_type != MT_PHYSICS)) - mstruct->thrust = Zero_vector; + mstruct->thrust = vector{}; else mstruct->thrust = objp->mtype.phys_info.thrust; break; case MSAFE_OBJECT_ROTTHRUST: objp = ObjGet(mstruct->objhandle); if (!objp || (objp->movement_type != MT_WALKING && objp->movement_type != MT_PHYSICS)) - mstruct->rot_thrust = Zero_vector; + mstruct->rot_thrust = vector{}; else mstruct->rot_thrust = objp->mtype.phys_info.rotthrust; break; diff --git a/Descent3/object.cpp b/Descent3/object.cpp index 205dbd6c..b763da1f 100644 --- a/Descent3/object.cpp +++ b/Descent3/object.cpp @@ -3132,8 +3132,8 @@ void ObjSetOrient(object *obj, const matrix *orient) { obj->wall_sphere_offset = Poly_models[obj->rtype.pobj_info.model_num].wall_size_offset * m; obj->anim_sphere_offset = Poly_models[obj->rtype.pobj_info.model_num].anim_size_offset * m; } else { - obj->wall_sphere_offset = Zero_vector; - obj->anim_sphere_offset = Zero_vector; + obj->wall_sphere_offset = vector{}; + obj->anim_sphere_offset = vector{}; } } } diff --git a/Descent3/osiris_predefs.cpp b/Descent3/osiris_predefs.cpp index c41d3468..09d708fe 100644 --- a/Descent3/osiris_predefs.cpp +++ b/Descent3/osiris_predefs.cpp @@ -688,7 +688,7 @@ void osipf_RoomValue(int roomnum, char op, char vtype, void *ptr, int index) { if (index < 0 || index >= rp->num_faces || rp->faces[index].num_verts <= 0) { *(vector *)ptr = rp->path_pnt; } else { - *(vector *)ptr = Zero_vector; + *(vector *)ptr = vector{}; for (i = 0; i < rp->faces[index].num_verts; i++) { *(vector *)ptr += rp->verts[rp->faces[index].face_verts[i]]; @@ -1680,13 +1680,13 @@ vector osipf_AIFindHidePos(int hideobjhandle, int viewobjhandle, float time, int if (hide_obj == NULL) { LOG_ERROR << "Illegal Hide Object Passed To AIFindHidePos"; *hide_room = -1; - return Zero_vector; + return vector{}; } if (hide_obj->control_type != CT_AI) { LOG_ERROR << "Illegal Object CT Passed To AIFindHidePos"; *hide_room = -1; - return Zero_vector; + return vector{}; } if (view_obj == NULL) { @@ -1980,7 +1980,7 @@ vector osipf_AIGetRoomPathPoint(int roomnum) { int cell = CELLNUM(roomnum); if (cell >= TERRAIN_DEPTH * TERRAIN_WIDTH) { - return Zero_vector; + return vector{}; } else { vector pos; @@ -1993,7 +1993,7 @@ vector osipf_AIGetRoomPathPoint(int roomnum) { return Rooms[roomnum].path_pnt; } - return Zero_vector; + return vector{}; } int osipf_AIFindEnergyCenter(int objhandle) { @@ -2079,8 +2079,8 @@ void osipf_GetGunPos(int objhandle, int gun_number, vector *gun_pnt, vector *gun if (obj == NULL) { LOG_ERROR << "Illegal Object Passed To AIGetGunPosition"; - *gun_pnt = Zero_vector; - *gun_normal = Zero_vector; + *gun_pnt = vector{}; + *gun_normal = vector{}; return; } @@ -2092,8 +2092,8 @@ void osipf_GetGroundPos(int objhandle, int ground_number, vector *ground_pnt, ve if (obj == NULL) { LOG_ERROR << "Illegal Object Passed To Obj_GetGroundPos"; - *ground_pnt = Zero_vector; - *ground_normal = Zero_vector; + *ground_pnt = vector{}; + *ground_normal = vector{}; return; } diff --git a/Descent3/room.cpp b/Descent3/room.cpp index 125193ef..6f77ffb0 100644 --- a/Descent3/room.cpp +++ b/Descent3/room.cpp @@ -548,7 +548,7 @@ void InitRoom(room *rp, int nverts, int nfaces, int nportals) { ASSERT(nfaces > 0); #endif - rp->wind = Zero_vector; + rp->wind = vector{}; rp->num_faces = nfaces; rp->num_verts = nverts; @@ -1210,8 +1210,8 @@ void CreateRoomObjects() { objnum = ObjCreate(OBJ_ROOM, r, roomnum, &pos, NULL); ASSERT(objnum != -1); // DAJ -1FIX moved up Objects[objnum].size = rad; - Objects[objnum].wall_sphere_offset = Zero_vector; - Objects[objnum].anim_sphere_offset = Zero_vector; + Objects[objnum].wall_sphere_offset = vector{}; + Objects[objnum].anim_sphere_offset = vector{}; if ((rad >= MIN_BIG_OBJ_RAD) && !(Objects[objnum].flags & OF_BIG_OBJECT)) { BigObjAdd(objnum); diff --git a/lib/vecmat.h b/lib/vecmat.h index 554f2bd2..d615705b 100644 --- a/lib/vecmat.h +++ b/lib/vecmat.h @@ -157,7 +157,6 @@ // vecmat_external.h is where anything that can be used by DLLs should be. #include "vecmat_external.h" -extern const vector Zero_vector; extern const matrix Identity_matrix; // Used for debugging. It is used in printf's so we do not have to write out the structure 3 times diff --git a/model/newstyle.cpp b/model/newstyle.cpp index 382da13a..47c6cb71 100644 --- a/model/newstyle.cpp +++ b/model/newstyle.cpp @@ -1140,7 +1140,7 @@ float ComputeDefaultSizeFunc(int handle, float *size_ptr, vector *offset_ptr, bo int start_frame = 0; int end_frame = 0; - vector geometric_center = Zero_vector; + vector geometric_center{}; // Chris: Come see me when you are ready to deal with the paging problem - JL pm = GetPolymodelPointer(handle); @@ -1294,7 +1294,7 @@ float ComputeDefaultSize(int type, int handle, float *size_ptr) { if (type == OBJ_PLAYER) { Poly_models[handle].anim_size *= PLAYER_SIZE_SCALAR; - Poly_models[handle].anim_size_offset = Zero_vector; + Poly_models[handle].anim_size_offset = vector{}; } } else { if (type == OBJ_POWERUP) { @@ -1303,10 +1303,10 @@ float ComputeDefaultSize(int type, int handle, float *size_ptr) { } Poly_models[handle].wall_size = size; - Poly_models[handle].wall_size_offset = Zero_vector; + Poly_models[handle].wall_size_offset = vector{}; Poly_models[handle].anim_size = size; - Poly_models[handle].anim_size_offset = Zero_vector; + Poly_models[handle].anim_size_offset = vector{}; } Poly_models[handle].flags |= PMF_SIZE_COMPUTED; diff --git a/physics/collide.cpp b/physics/collide.cpp index eb99539c..628d02b1 100644 --- a/physics/collide.cpp +++ b/physics/collide.cpp @@ -1528,7 +1528,7 @@ void ConvertEulerToAxisAmount(vector *e, vector *n, float *w) { // If there isn't a rotation, return something valid if (rotspeed == 0.0f || scale == 0.0f) { - *n = Zero_vector; + *n = vector{}; n->y() = 1.0f; *w = 0.0f; @@ -1546,7 +1546,7 @@ void ConvertEulerToAxisAmount(vector *e, vector *n, float *w) { n->y() = rotmat.fvec.x() - rotmat.rvec.z(); n->z() = rotmat.rvec.y() - rotmat.uvec.x(); - if (*n != Zero_vector) { + if (*n != vector{}) { vm_NormalizeVector(n); float ct = (rotmat.rvec.x() + rotmat.uvec.y() + rotmat.fvec.z() - 1.0f) / 2.0f; @@ -1576,7 +1576,7 @@ void ConvertAxisAmountToEuler(vector *n, float *w, vector *e) { vector s_result; if (*w == 0.0f) { - *e = Zero_vector; + *e = vector{}; return; } @@ -1642,7 +1642,7 @@ void bump_obj_against_fixed(object *obj, vector *collision_point, vector *collis if (temp1 != 0.0f) { vm_CrossProduct(&w1, &n1, &r1); } else { - w1 = Zero_vector; + w1 = vector{}; } vector p1 = obj->mtype.phys_info.velocity + w1; @@ -1711,14 +1711,14 @@ void bump_two_objects(object *object0, object *object1, vector *collision_point, // Determine if a moving object hits a non-moving object if ((object0->movement_type != MT_PHYSICS && object0->movement_type != MT_WALKING) || - (object0->movement_type == MT_PHYSICS && object0->mtype.phys_info.velocity == Zero_vector && + (object0->movement_type == MT_PHYSICS && object0->mtype.phys_info.velocity == vector{} && (object0->mtype.phys_info.flags & PF_LOCK_MASK) && (object0->mtype.phys_info.flags & PF_POINT_COLLIDE_WALLS))) { t = object1; other = object0; *collision_normal *= -1.0f; } if ((object1->movement_type != MT_PHYSICS && object1->movement_type != MT_WALKING) || - (object1->movement_type == MT_PHYSICS && object1->mtype.phys_info.velocity == Zero_vector && + (object1->movement_type == MT_PHYSICS && object1->mtype.phys_info.velocity == vector{} && (object1->mtype.phys_info.flags & PF_LOCK_MASK) && (object1->mtype.phys_info.flags & PF_POINT_COLLIDE_WALLS))) { t = object0; other = object1; @@ -1728,7 +1728,7 @@ void bump_two_objects(object *object0, object *object1, vector *collision_point, if (t) { // chrishack -- walker hack if (t->movement_type != MT_PHYSICS && t->movement_type != MT_WALKING) { - t->mtype.phys_info.velocity = Zero_vector; + t->mtype.phys_info.velocity = vector{}; return; } @@ -1850,13 +1850,13 @@ void bump_two_objects(object *object0, object *object1, vector *collision_point, if (temp1 != 0.0f) { vm_CrossProduct(&w1, &n1, &r1); } else { - w1 = Zero_vector; + w1 = vector{}; } if (temp2 != 0.0f) { vm_CrossProduct(&w2, &n2, &r2); } else { - w2 = Zero_vector; + w2 = vector{}; } vector p1 = object0->mtype.phys_info.velocity + w1; @@ -2072,7 +2072,7 @@ void collide_generic_and_player(object *robotobj, object *playerobj, vector *col if (robotobj->movement_type == MT_PHYSICS || robotobj->movement_type == MT_WALKING) { rvel = robotobj->mtype.phys_info.velocity; } else { - rvel = Zero_vector; + rvel = vector{}; } rvel -= playerobj->mtype.phys_info.velocity; float speed = vm_NormalizeVector(&rvel); diff --git a/physics/findintersection.cpp b/physics/findintersection.cpp index bda4a06a..424a522c 100644 --- a/physics/findintersection.cpp +++ b/physics/findintersection.cpp @@ -1449,7 +1449,7 @@ float rad, vector *ep0, vector *ep1) float cdist; // Closest dist vector perp = (mdir ^ edir); // Determines the normalized perp to both lines - if(perp == Zero_vector) + if(perp == vector{}) goto check_ends; // We are moving parallal to the cylinder (only end collisions are possible) pmag = vm_NormalizeVector(&perp); @@ -2669,7 +2669,7 @@ int fvi_FindIntersection(fvi_query *fq, fvi_info *hit_data, bool no_subdivision) this_obj->type != OBJ_PLAYER && fq->rad == this_obj->size) { if (this_obj->mtype.phys_info.flags & PF_POINT_COLLIDE_WALLS) { fvi_wall_sphere_rad = 0.0f; - fvi_wall_sphere_offset = Zero_vector; + fvi_wall_sphere_offset = vector{}; fvi_wall_sphere_p0 = *fq->p0; fvi_wall_sphere_p1 = *fq->p1; } else { @@ -2688,23 +2688,23 @@ int fvi_FindIntersection(fvi_query *fq, fvi_info *hit_data, bool no_subdivision) fvi_wall_sphere_rad = fq->rad * PLAYER_SIZE_SCALAR; if (Players[this_obj->id].flags & (PLAYER_FLAGS_DEAD | PLAYER_FLAGS_DYING)) fvi_wall_sphere_rad *= 0.5f; - fvi_wall_sphere_offset = Zero_vector; + fvi_wall_sphere_offset = vector{}; fvi_wall_sphere_p0 = *fq->p0; fvi_wall_sphere_p1 = *fq->p1; } else if ((this_obj) && this_obj->mtype.phys_info.flags & PF_POINT_COLLIDE_WALLS) { fvi_wall_sphere_rad = 0.0f; - fvi_wall_sphere_offset = Zero_vector; + fvi_wall_sphere_offset = vector{}; fvi_wall_sphere_p0 = *fq->p0; fvi_wall_sphere_p1 = *fq->p1; } else { fvi_wall_sphere_rad = fq->rad; - fvi_wall_sphere_offset = Zero_vector; + fvi_wall_sphere_offset = vector{}; fvi_wall_sphere_p0 = *fq->p0; fvi_wall_sphere_p1 = *fq->p1; } fvi_anim_sphere_rad = fq->rad; - fvi_anim_sphere_offset = Zero_vector; + fvi_anim_sphere_offset = vector{}; fvi_anim_sphere_p0 = *fq->p0; fvi_anim_sphere_p1 = *fq->p1; } @@ -3203,7 +3203,7 @@ vector PointSpeed(object *obj, vector *pos, matrix *orient, vector *rotvel, vect if (temp1 != 0.0f) { vm_CrossProduct(&w1, &n1, &r1); } else { - w1 = Zero_vector; + w1 = vector{}; } return *velocity + w1; @@ -3245,7 +3245,7 @@ bool BBoxPlaneIntersection(bool fast_exit, vector *collision_point, vector *coll verts[i] += *new_pos; } - vector xxx_normal = Zero_vector; + vector xxx_normal{}; xxx_normal.y() = 1.0f; for (i = 0; i < 8; i++) { @@ -3733,7 +3733,7 @@ fvi_query_ptr->p1)); matrix orient = *fvi_query_ptr->o_orient; vector rotvel = * // Save results of this simulation old_sim_time_remaining = sim_time_remaining; moved_vec_n = end_pos - *p0; - if(moved_vec_n != Zero_vector) + if(moved_vec_n != vector{}) { actual_dist = vm_NormalizeVector(&moved_vec_n); } @@ -3988,7 +3988,7 @@ inline void check_terrain_node(int cur_node, bool f_check_local_nodes, bool f_ch fvi_hit_data_ptr->hit_pnt = *fvi_query_ptr->p0; fvi_collision_dist = 0.0; - movement_dir = Zero_vector; + movement_dir = vector{}; hit_dist = 0.0f; } diff --git a/physics/physics.cpp b/physics/physics.cpp index 140d60d4..479b83c9 100644 --- a/physics/physics.cpp +++ b/physics/physics.cpp @@ -617,7 +617,7 @@ bool PhysicsDoSimRot(object *obj, float frame_time, matrix *orient, vector *rott if (pi->rotdrag > 0.0f) { if (!(pi->flags & PF_USES_THRUST)) { - *rotthrust = Zero_vector; + *rotthrust = vector{}; } PhysicsApplyConstRotForce(*obj, *rotthrust, *rotvel, frame_time); @@ -661,7 +661,7 @@ void PhysicsDoSimLinear(const object &obj, const vector &pos, const vector &forc vector forceToUse = force; if (!ROOMNUM_OUTSIDE(obj.roomnum) && !(obj.mtype.phys_info.flags & PF_LOCK_MASK) && - Rooms[obj.roomnum].wind != Zero_vector && count == 0 && obj.mtype.phys_info.drag > 0.0f && + Rooms[obj.roomnum].wind != vector{} && count == 0 && obj.mtype.phys_info.drag > 0.0f && !(obj.type == OBJ_POWERUP && Level_powerups_ignore_wind)) { // Factor in outside wind const vector &wind = Rooms[obj.roomnum].wind; @@ -753,7 +753,7 @@ void do_physics_sim(object *obj) { } if (obj->type == OBJ_PLAYER && - (obj->mtype.phys_info.thrust != Zero_vector || obj->mtype.phys_info.rotthrust != Zero_vector)) { + (obj->mtype.phys_info.thrust != vector{} || obj->mtype.phys_info.rotthrust != vector{})) { Players[obj->id].last_thrust_time = Gametime; } @@ -840,7 +840,7 @@ void do_physics_sim(object *obj) { fabs(pi->rotvel.x()) > .000001 || fabs(pi->rotvel.y()) > .000001 || fabs(pi->rotvel.z()) > .000001 || fabs(pi->rotthrust.x()) > .000001 || fabs(pi->rotthrust.y()) > .000001 || fabs(pi->rotthrust.z()) > .000001 || (obj->mtype.phys_info.flags & PF_GRAVITY) || - ((!ROOMNUM_OUTSIDE(obj->roomnum)) && Rooms[obj->roomnum].wind != Zero_vector) || + ((!ROOMNUM_OUTSIDE(obj->roomnum)) && Rooms[obj->roomnum].wind != vector{}) || (obj->mtype.phys_info.flags & PF_WIGGLE) || ((obj->ai_info != NULL) && ((obj->ai_info->flags & AIF_REPORT_NEW_ORIENT) != 0)))) { if ((obj->flags & OF_MOVED_THIS_FRAME)) { @@ -1030,7 +1030,7 @@ void do_physics_sim(object *obj) { if (fate != HIT_NONE) { if (obj->type == OBJ_PLAYER && hit_info.num_hits > 1) { - vector n = Zero_vector; + vector n{}; int i; for (i = 0; i < hit_info.num_hits; i++) { @@ -1155,7 +1155,7 @@ void do_physics_sim(object *obj) { // Save results of this simulation old_sim_time_remaining = sim_time_remaining; moved_vec_n = obj->pos - start_pos; // chrishack -- use this copy - if (moved_vec_n != Zero_vector) { + if (moved_vec_n != vector{}) { actual_dist = vm_NormalizeVector(&moved_vec_n); } else { actual_dist = 0.0f; @@ -1212,7 +1212,7 @@ void do_physics_sim(object *obj) { switch (fate) { case HIT_NONE: if (obj->type == OBJ_WEAPON && (obj->mtype.phys_info.flags & (PF_GRAVITY | PF_WIND))) { - if (obj->mtype.phys_info.velocity != Zero_vector) + if (obj->mtype.phys_info.velocity != vector{}) vm_VectorToMatrix(&obj->orient, &obj->mtype.phys_info.velocity, &obj->orient.uvec, NULL); } f_continue_sim = false; @@ -1353,8 +1353,8 @@ void do_physics_sim(object *obj) { } if (v_mag < 1.8f) { - obj->mtype.phys_info.velocity = Zero_vector; - obj->mtype.phys_info.rotvel = Zero_vector; + obj->mtype.phys_info.velocity = vector{}; + obj->mtype.phys_info.rotvel = vector{}; goto skip_sim; } else { goto slide_sim; @@ -1402,9 +1402,9 @@ void do_physics_sim(object *obj) { // obj->mtype.phys_info.velocity *= (luke_test); } else if (obj->type == OBJ_CLUTTER && !(obj->mtype.phys_info.flags & PF_LOCK_MASK)) { // Do rolling rotvel hack - obj->mtype.phys_info.rotvel = Zero_vector; + obj->mtype.phys_info.rotvel = vector{}; - if (obj->mtype.phys_info.velocity != Zero_vector) { + if (obj->mtype.phys_info.velocity != vector{}) { vector axis; scalar speed = vm_GetMagnitude(&obj->mtype.phys_info.velocity); @@ -1437,7 +1437,7 @@ void do_physics_sim(object *obj) { // Weapons should face their new heading. This is so missiles are pointing in the correct direct. if (obj->type == OBJ_WEAPON && (bounced || (obj->mtype.phys_info.flags & (PF_GRAVITY | PF_WIND)))) - if (obj->mtype.phys_info.velocity != Zero_vector) + if (obj->mtype.phys_info.velocity != vector{}) vm_VectorToMatrix(&obj->orient, &obj->mtype.phys_info.velocity, &obj->orient.uvec, NULL); } } @@ -1527,7 +1527,7 @@ void do_physics_sim(object *obj) { (obj->type == OBJ_BUILDING && obj->ai_info)) && sim_time_remaining == old_sim_time_remaining && (Objects[hit_info.hit_object[0]].movement_type == MT_NONE || - (Objects[hit_info.hit_object[0]].mtype.phys_info.velocity == Zero_vector && + (Objects[hit_info.hit_object[0]].mtype.phys_info.velocity == vector{} && (Objects[hit_info.hit_object[0]].mtype.phys_info.flags & PF_LOCK_MASK)))) { obj->mtype.phys_info.velocity += hit_info.hit_wallnorm[0]; } @@ -1588,7 +1588,7 @@ void do_physics_sim(object *obj) { if (count >= sim_loop_limit) { if (obj->type == OBJ_PLAYER) { LOG_WARNING << "Too many collisions for player!"; - obj->mtype.phys_info.velocity = Zero_vector; + obj->mtype.phys_info.velocity = vector{}; } } @@ -1702,7 +1702,7 @@ bool PhysComputeWalkerPosOrient(object *obj, vector *pos, matrix *orient) { } int num_ave = 0; - vector ave_diff = Zero_vector; + vector ave_diff{}; for (i = 0; i < 3; i++) { int fate; @@ -1726,7 +1726,7 @@ bool PhysComputeWalkerPosOrient(object *obj, vector *pos, matrix *orient) { if (num_ave > 0) { ave_diff /= num_ave; } else - ave_diff = Zero_vector; + ave_diff = vector{}; vector uvec; vm_GetPerp(&uvec, &hp[0], &hp[1], &hp[2]); @@ -1945,7 +1945,7 @@ void do_walking_sim(object *obj) { int bounced = 0; // Did the object bounce? - vector total_force = Zero_vector; // Constant force acting on an object + vector total_force{}; // Constant force acting on an object bool f_continue_sim; // Should we run another simulation loop @@ -1978,7 +1978,7 @@ void do_walking_sim(object *obj) { fabs(pi->rotvel.x()) > .000001 || fabs(pi->rotvel.y()) > .000001 || fabs(pi->rotvel.z()) > .000001 || fabs(pi->rotthrust.x()) > .000001 || fabs(pi->rotthrust.y()) > .000001 || fabs(pi->rotthrust.z()) > .000001 || (obj->mtype.phys_info.flags & PF_GRAVITY) || - ((!ROOMNUM_OUTSIDE(obj->roomnum)) && Rooms[obj->roomnum].wind != Zero_vector) || + ((!ROOMNUM_OUTSIDE(obj->roomnum)) && Rooms[obj->roomnum].wind != vector{}) || (obj->mtype.phys_info.flags & PF_WIGGLE) || ((obj->ai_info != NULL) && ((obj->ai_info->flags & AIF_REPORT_NEW_ORIENT) != 0)))) { if ((obj->flags & OF_MOVED_THIS_FRAME)) { @@ -2023,7 +2023,7 @@ void do_walking_sim(object *obj) { // Simulate movement until we are done (i.e. Frametime has passed or object is done moving) do { - obj->mtype.phys_info.rotvel = Zero_vector; + obj->mtype.phys_info.rotvel = vector{}; #ifdef _DEBUG // This records the sim. @@ -2103,18 +2103,18 @@ void do_walking_sim(object *obj) { } } else { f_step = false; - movement_vec = Zero_vector; + movement_vec = vector{}; } } else { f_step = false; - movement_vec = Zero_vector; + movement_vec = vector{}; } } else { f_step = false; } if (!f_step) { - pi->velocity = Zero_vector; + pi->velocity = vector{}; break; } @@ -2153,7 +2153,7 @@ void do_walking_sim(object *obj) { // Save results of this simulation old_sim_time_remaining = sim_time_remaining; moved_vec_n = obj->pos - start_pos; // chrishack -- use this copy - if (moved_vec_n != Zero_vector) { + if (moved_vec_n != vector{}) { actual_dist = vm_NormalizeVector(&moved_vec_n); } else { actual_dist = 0.0f; @@ -2319,7 +2319,7 @@ void do_walking_sim(object *obj) { // Weapons should face their new heading. This is so missiles are pointing in the correct direct. if (obj->type == OBJ_WEAPON && (bounced || (obj->mtype.phys_info.flags & (PF_GRAVITY | PF_WIND)))) - if (obj->mtype.phys_info.velocity != Zero_vector) + if (obj->mtype.phys_info.velocity != vector{}) vm_VectorToMatrix(&obj->orient, &obj->mtype.phys_info.velocity, &obj->orient.uvec, NULL); } } diff --git a/scripts/AIGame.cpp b/scripts/AIGame.cpp index a052848f..63420bc8 100644 --- a/scripts/AIGame.cpp +++ b/scripts/AIGame.cpp @@ -3119,7 +3119,7 @@ bool Humonculous::DoNotify(int me, tOSIRISEventInfo *data) { case HM_ABOUT_TO_FAKE_DEATH: case HM_ABOUT_TO_DIE: { if (data->evt_ai_notify.notify_type == AIN_SCRIPTED_ORIENT) { - vector uvec = Zero_vector; + vector uvec{}; uvec.y() = 1.0f; if (AI_TurnTowardsVectors(me, &memory->land_fvec, &uvec)) @@ -3482,7 +3482,7 @@ void Humonculous::DoInterval(int me) { switch (memory->mode) { case HM_INTRO_CUTSCENE: { if (memory->mode_time < H_DOOR_WAIT_TIME && memory->mode_time + Game_GetFrameTime() >= H_DOOR_WAIT_TIME) { - vector velocity = Zero_vector; + vector velocity{}; velocity.y() = 65.0f; Obj_Value(me, VF_SET, OBJV_V_VELOCITY, &velocity); @@ -3664,7 +3664,7 @@ void Humonculous::DoInterval(int me) { case HM_FAKE_DEATH: { if (memory->mode_time > 4.0f) { - vector velocity = Zero_vector; + vector velocity{}; velocity.y() = 40.0f; Obj_Value(me, VF_SET, OBJV_V_VELOCITY, &velocity); @@ -8352,7 +8352,7 @@ bool Sparky::DoNotify(int me_handle, tOSIRISEventInfo *data) { Obj_Value(me_handle, VF_SET, OBJV_V_ROTVELOCITY, &rvel); - vector dir = Zero_vector; + vector dir{}; AI_Value(me_handle, VF_SET, AIV_V_MOVEMENT_DIR, &dir); } diff --git a/scripts/aigame4.cpp b/scripts/aigame4.cpp index 113a1655..27ac0b7f 100644 --- a/scripts/aigame4.cpp +++ b/scripts/aigame4.cpp @@ -554,7 +554,7 @@ bool MercEndBoss::DoNotify(int me, tOSIRISEventInfo *data) { Obj_Value(me, VF_SET, OBJV_V_ROTVELOCITY, &rvel); - vector dir = Zero_vector; + vector dir{}; AI_Value(me, VF_SET, AIV_V_MOVEMENT_DIR, &dir); } } diff --git a/scripts/osiris_vector.cpp b/scripts/osiris_vector.cpp index 93130269..875ff5aa 100644 --- a/scripts/osiris_vector.cpp +++ b/scripts/osiris_vector.cpp @@ -268,7 +268,7 @@ scalar vm_VectorNormalizeFast(vector *a) { mag = vm_GetMagnitudeFast(a); if (mag == 0.0) { - *a = Zero_vector; + *a = vector{}; return 0; } *a /= mag; diff --git a/scripts/osiris_vector.h b/scripts/osiris_vector.h index 83a262e6..1d2077a2 100644 --- a/scripts/osiris_vector.h +++ b/scripts/osiris_vector.h @@ -22,8 +22,6 @@ #include "fix.h" #include "vecmat_external.h" -const vector Zero_vector = vector{}; - // Disable the "possible loss of data" warning #pragma warning(disable : 4244) diff --git a/sndlib/hlsoundlib.cpp b/sndlib/hlsoundlib.cpp index 3dbf5e2a..633ec10a 100644 --- a/sndlib/hlsoundlib.cpp +++ b/sndlib/hlsoundlib.cpp @@ -879,12 +879,12 @@ bool hlsSystem::ComputePlayInfo(int sound_obj_index, vector *virtual_pos, vector if (objp->movement_type == MT_PHYSICS || objp->movement_type == MT_WALKING) *virtual_vel = objp->mtype.phys_info.velocity; else - *virtual_vel = Zero_vector; + *virtual_vel = vector{}; sound_pos = objp->pos; sound_seg = objp->roomnum; } else { - *virtual_vel = Zero_vector; + *virtual_vel = vector{}; sound_pos = m_sound_objects[sound_obj_index].m_link_info.pos_info.pos; sound_seg = m_sound_objects[sound_obj_index].m_link_info.pos_info.segnum; } diff --git a/vecmat/vector.cpp b/vecmat/vector.cpp index 646584b7..c0a3d047 100644 --- a/vecmat/vector.cpp +++ b/vecmat/vector.cpp @@ -154,7 +154,6 @@ #include "pserror.h" #include "psrand.h" -const vector Zero_vector = vector{}; const matrix Identity_matrix = IDENTITY_MATRIX; void vm_AverageVector(vector *a, int num) {