mirror of
https://github.com/kevinbentley/Descent3.git
synced 2025-01-22 11:28:56 +00:00
Convert physics to use new logging facility
This commit is contained in:
parent
ffdbc8b621
commit
c32c2d3db3
@ -17,6 +17,7 @@ target_link_libraries(physics PRIVATE
|
|||||||
model
|
model
|
||||||
rtperformance
|
rtperformance
|
||||||
sndlib
|
sndlib
|
||||||
|
plog::plog
|
||||||
)
|
)
|
||||||
target_include_directories(physics PUBLIC
|
target_include_directories(physics PUBLIC
|
||||||
$<BUILD_INTERFACE:
|
$<BUILD_INTERFACE:
|
||||||
|
@ -845,7 +845,7 @@
|
|||||||
#include "levelgoal.h"
|
#include "levelgoal.h"
|
||||||
#include "lighting.h"
|
#include "lighting.h"
|
||||||
#include "marker.h"
|
#include "marker.h"
|
||||||
#include "mono.h"
|
#include "log.h"
|
||||||
#include "multi.h"
|
#include "multi.h"
|
||||||
#include "object.h"
|
#include "object.h"
|
||||||
#include "osiris_dll.h"
|
#include "osiris_dll.h"
|
||||||
@ -2696,7 +2696,7 @@ bool collide_object_with_wall(object *A, float hitspeed, int hitseg, int hitwall
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
mprintf(0, "Unhandled collision of object type %d and wall\n", A->type);
|
LOG_WARNING.printf("Unhandled collision of object type %d and wall\n", A->type);
|
||||||
// Error( "Unhandled object type hit wall in collide.c\n" );
|
// Error( "Unhandled object type hit wall in collide.c\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -860,7 +860,7 @@
|
|||||||
#include "3d.h"
|
#include "3d.h"
|
||||||
#include "collide.h"
|
#include "collide.h"
|
||||||
#include "doorway.h"
|
#include "doorway.h"
|
||||||
#include "mono.h"
|
#include "log.h"
|
||||||
#include "findintersection.h"
|
#include "findintersection.h"
|
||||||
#include "physics.h"
|
#include "physics.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
@ -1780,7 +1780,7 @@ int check_vector_to_object(vector *intp, float *col_dist, vector *p0, vector *p1
|
|||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (Physics_player_verbose) {
|
if (Physics_player_verbose) {
|
||||||
if (Player_object == &Objects[fvi_objnum]) {
|
if (Player_object == &Objects[fvi_objnum]) {
|
||||||
mprintf(0, "FVI: Earily exit on %d\n", OBJNUM(still_obj));
|
LOG_DEBUG.printf("FVI: Earily exit on %d", OBJNUM(still_obj));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1796,9 +1796,9 @@ int check_vector_to_object(vector *intp, float *col_dist, vector *p0, vector *p1
|
|||||||
if (total_size <= 0.0f) {
|
if (total_size <= 0.0f) {
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (fvi_objnum >= 0)
|
if (fvi_objnum >= 0)
|
||||||
mprintf(0, "Get Chris: type %d and type %d are zero radius\n", still_obj->type, Objects[fvi_objnum].type);
|
LOG_DEBUG.printf("Get Chris: type %d and type %d are zero radius", still_obj->type, Objects[fvi_objnum].type);
|
||||||
else
|
else
|
||||||
mprintf(0, "Get Chris: A non-object tried to hit a zero radii object of type %d\n", still_obj->type);
|
LOG_DEBUG.printf("Get Chris: A non-object tried to hit a zero radii object of type %d", still_obj->type);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2618,8 +2618,8 @@ int fvi_FindIntersection(fvi_query *fq, fvi_info *hit_data, bool no_subdivision)
|
|||||||
|
|
||||||
#ifndef NED_PHYSICS
|
#ifndef NED_PHYSICS
|
||||||
if (Tracking_FVI) {
|
if (Tracking_FVI) {
|
||||||
mprintf(0, "Track FVI - Ray %d, thisobjnum=%d, startroom=%d, rad=%f\n", FVI_counter, fq->thisobjnum, fq->startroom,
|
LOG_DEBUG.printf("Track FVI - Ray %d, thisobjnum=%d, startroom=%d, rad=%f",
|
||||||
fq->rad);
|
FVI_counter, fq->thisobjnum, fq->startroom, fq->rad);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -3352,9 +3352,9 @@ void check_hit_obj(int objnum) {
|
|||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (Physics_player_verbose) {
|
if (Physics_player_verbose) {
|
||||||
if (OBJNUM(Player_object) == objnum && m_obj_index != -1) {
|
if (OBJNUM(Player_object) == objnum && m_obj_index != -1) {
|
||||||
mprintf(0, "FVI: %d AABB with player\n", m_obj_index);
|
LOG_DEBUG.printf("FVI: %d AABB with player", m_obj_index);
|
||||||
} else if (Player_object == m_obj) {
|
} else if (Player_object == m_obj) {
|
||||||
mprintf(0, "FVI: Player AABB with %d\n", objnum);
|
LOG_DEBUG.printf("FVI: Player AABB with %d", objnum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -3593,7 +3593,7 @@ void check_hit_obj(int objnum) {
|
|||||||
} break;
|
} break;
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
mprintf(0, "Collision of type %d is not programmed yet", collision_type);
|
LOG_WARNING.printf("Collision of type %d is not programmed yet", collision_type);
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -3601,7 +3601,7 @@ void check_hit_obj(int objnum) {
|
|||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (Physics_player_verbose) {
|
if (Physics_player_verbose) {
|
||||||
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
||||||
mprintf(0, "Related\n");
|
LOG_DEBUG << "Related";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -3612,7 +3612,7 @@ void check_hit_obj(int objnum) {
|
|||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (Physics_player_verbose) {
|
if (Physics_player_verbose) {
|
||||||
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
||||||
mprintf(0, "Ignore list\n");
|
LOG_DEBUG << "Ignore list";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -3626,7 +3626,7 @@ void check_hit_obj(int objnum) {
|
|||||||
if (Physics_player_verbose) {
|
if (Physics_player_verbose) {
|
||||||
if (objnum != m_obj_index) {
|
if (objnum != m_obj_index) {
|
||||||
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
||||||
mprintf(0, "Result nothing %d %d\n", objnum, m_obj_index);
|
LOG_DEBUG.printf("Result nothing %d %d", objnum, m_obj_index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3638,7 +3638,7 @@ void check_hit_obj(int objnum) {
|
|||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (Physics_player_verbose) {
|
if (Physics_player_verbose) {
|
||||||
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
if (OBJNUM(Player_object) == objnum || Player_object == m_obj) {
|
||||||
mprintf(0, "Dead %d %d\n", objnum, m_obj_index);
|
LOG_DEBUG.printf("Dead %d %d", objnum, m_obj_index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "findintersection.h"
|
#include "findintersection.h"
|
||||||
#include "game.h"
|
#include "game.h"
|
||||||
|
#include "log.h"
|
||||||
#include "polymodel.h"
|
#include "polymodel.h"
|
||||||
#include "pserror.h"
|
#include "pserror.h"
|
||||||
#include "vecmat.h"
|
#include "vecmat.h"
|
||||||
@ -197,7 +198,7 @@ static void CollideSubmodelFacesUnsorted(poly_model *pm, bsp_info *sm) {
|
|||||||
fvi_hit_param = (newp - *fvi_query_ptr->p0) * x;
|
fvi_hit_param = (newp - *fvi_query_ptr->p0) * x;
|
||||||
|
|
||||||
if (!(fvi_hit_param > -10000000.0 && fvi_hit_param < 10000000.0)) {
|
if (!(fvi_hit_param > -10000000.0 && fvi_hit_param < 10000000.0)) {
|
||||||
mprintf(0, "FVI Warning: fvi_hit_param seems yucky!\n");
|
LOG_WARNING << "FVI Warning: fvi_hit_param seems yucky!";
|
||||||
}
|
}
|
||||||
|
|
||||||
fvi_collision_dist = col_dist;
|
fvi_collision_dist = col_dist;
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include "findintersection.h"
|
#include "findintersection.h"
|
||||||
#include "fireball.h"
|
#include "fireball.h"
|
||||||
#include "game.h"
|
#include "game.h"
|
||||||
|
#include "log.h"
|
||||||
#include "multi.h"
|
#include "multi.h"
|
||||||
#include "object.h"
|
#include "object.h"
|
||||||
#include "physics.h"
|
#include "physics.h"
|
||||||
@ -110,7 +111,7 @@ void DoPhysLinkedFrame(object *obj) {
|
|||||||
mn = obj->mtype.obj_link_info.sobj_index;
|
mn = obj->mtype.obj_link_info.sobj_index;
|
||||||
|
|
||||||
if (mn < 0 || mn >= pm->n_models) {
|
if (mn < 0 || mn >= pm->n_models) {
|
||||||
mprintf(0, "Caught physics link bug!\n");
|
LOG_WARNING << "Caught physics link bug!";
|
||||||
SetObjectDeadFlag(obj);
|
SetObjectDeadFlag(obj);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -172,7 +173,7 @@ bool PhysCalcGround(vector *ground_point, vector *ground_normal, object *obj, in
|
|||||||
pm = &Poly_models[obj->rtype.pobj_info.model_num];
|
pm = &Poly_models[obj->rtype.pobj_info.model_num];
|
||||||
|
|
||||||
if (pm->n_ground == 0) {
|
if (pm->n_ground == 0) {
|
||||||
mprintf(0, "WARNING: Object with no weapons is firing.\n", ground_num);
|
LOG_WARNING.printf("Object %d with no weapons is firing.", ground_num);
|
||||||
|
|
||||||
if (ground_point)
|
if (ground_point)
|
||||||
*ground_point = obj->pos;
|
*ground_point = obj->pos;
|
||||||
@ -187,7 +188,7 @@ bool PhysCalcGround(vector *ground_point, vector *ground_normal, object *obj, in
|
|||||||
SetModelAnglesAndPos(pm, normalized_time);
|
SetModelAnglesAndPos(pm, normalized_time);
|
||||||
|
|
||||||
if (ground_num < 0 || ground_num >= pm->n_ground) {
|
if (ground_num < 0 || ground_num >= pm->n_ground) {
|
||||||
mprintf(0, "WARNING: Bashing ground num %d to 0.\n", ground_num);
|
LOG_WARNING.printf("Bashing ground num %d to 0.", ground_num);
|
||||||
ground_num = 0;
|
ground_num = 0;
|
||||||
f_good_gp = false;
|
f_good_gp = false;
|
||||||
}
|
}
|
||||||
@ -671,7 +672,7 @@ void PhysicsDoSimLinear(const object &obj, const vector &pos, const vector &forc
|
|||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (Physics_player_verbose && obj.type == OBJ_PLAYER) {
|
if (Physics_player_verbose && obj.type == OBJ_PLAYER) {
|
||||||
mprintf(0, "Player Velocity = %f(%f)\n", vm_GetMagnitude(&velocity), vm_GetMagnitude(&movementVec) / simTime);
|
LOG_DEBUG.printf("Player Velocity = %f(%f)", vm_GetMagnitude(&velocity), vm_GetMagnitude(&movementVec) / simTime);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -1095,15 +1096,14 @@ void do_physics_sim(object *obj) {
|
|||||||
Objects[objnum].lifetime = 10.0f;
|
Objects[objnum].lifetime = 10.0f;
|
||||||
}
|
}
|
||||||
if (obj == Player_object) {
|
if (obj == Player_object) {
|
||||||
mprintf(0, "Fate = %d for player - ", fate);
|
|
||||||
if (fate == HIT_OBJECT || fate == HIT_SPHERE_2_POLY_OBJECT) {
|
if (fate == HIT_OBJECT || fate == HIT_SPHERE_2_POLY_OBJECT) {
|
||||||
if (Objects[hit_info.hit_object[0]].flags & OF_BIG_OBJECT) {
|
if (Objects[hit_info.hit_object[0]].flags & OF_BIG_OBJECT) {
|
||||||
mprintf(0, "Big object\n");
|
LOG_DEBUG.printf("Fate = %d for player - Big object", fate);
|
||||||
} else {
|
} else {
|
||||||
mprintf(0, "Small object\n");
|
LOG_DEBUG.printf("Fate = %d for player - Small object", fate);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mprintf(0, "non-object\n");
|
LOG_DEBUG.printf("Fate = %d for player - non-object", fate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1333,7 +1333,7 @@ void do_physics_sim(object *obj) {
|
|||||||
if (obj->type != OBJ_PLAYER)
|
if (obj->type != OBJ_PLAYER)
|
||||||
SetObjectDeadFlag(obj);
|
SetObjectDeadFlag(obj);
|
||||||
else
|
else
|
||||||
mprintf(0, "Got a ship that was set for bounce!!! BAD!!!\n");
|
LOG_WARNING << "Got a ship that was set for bounce!!! BAD!!!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
obj->mtype.phys_info.num_bounces--;
|
obj->mtype.phys_info.num_bounces--;
|
||||||
@ -1430,7 +1430,7 @@ void do_physics_sim(object *obj) {
|
|||||||
fabs(obj->mtype.phys_info.velocity.z) < MAX_OBJECT_VEL)) {
|
fabs(obj->mtype.phys_info.velocity.z) < MAX_OBJECT_VEL)) {
|
||||||
float mag = vm_NormalizeVector(&obj->mtype.phys_info.velocity);
|
float mag = vm_NormalizeVector(&obj->mtype.phys_info.velocity);
|
||||||
|
|
||||||
mprintf(0, "PHYSICS: Bashing vel for Obj %d of type %d with %f velocity", objnum, obj->type, mag);
|
LOG_DEBUG.printf("Bashing vel for Obj %d of type %d with %f velocity", objnum, obj->type, mag);
|
||||||
obj->mtype.phys_info.velocity *= MAX_OBJECT_VEL * 0.1f;
|
obj->mtype.phys_info.velocity *= MAX_OBJECT_VEL * 0.1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1566,12 +1566,12 @@ void do_physics_sim(object *obj) {
|
|||||||
} break;
|
} break;
|
||||||
|
|
||||||
case HIT_BAD_P0:
|
case HIT_BAD_P0:
|
||||||
mprintf(0, "PHYSICS ERROR: Bad p0 in physics!!!\n");
|
LOG_ERROR << "Bad p0 in physics!!!";
|
||||||
Int3(); // Unexpected collision type: start point not in specified segment.
|
Int3(); // Unexpected collision type: start point not in specified segment.
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
mprintf(0, "PHYSICS ERROR: Unknown and unhandled hit type returned from FVI\n");
|
LOG_ERROR << "Unknown and unhandled hit type returned from FVI";
|
||||||
Int3();
|
Int3();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1586,7 +1586,7 @@ void do_physics_sim(object *obj) {
|
|||||||
// NOTE: These numbers limit the max collisions an object can have in a single frame
|
// NOTE: These numbers limit the max collisions an object can have in a single frame
|
||||||
if (count >= sim_loop_limit) {
|
if (count >= sim_loop_limit) {
|
||||||
if (obj->type == OBJ_PLAYER) {
|
if (obj->type == OBJ_PLAYER) {
|
||||||
mprintf(0, "PHYSICS NOTE: Too many collisions for player!\n");
|
LOG_WARNING << "Too many collisions for player!";
|
||||||
obj->mtype.phys_info.velocity = Zero_vector;
|
obj->mtype.phys_info.velocity = Zero_vector;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1750,7 +1750,7 @@ bool PhysComputeWalkerPosOrient(object *obj, vector *pos, matrix *orient) {
|
|||||||
fate = PhysCastWalkRay(obj, &obj->pos, &foot_pnt, &hp);
|
fate = PhysCastWalkRay(obj, &obj->pos, &foot_pnt, &hp);
|
||||||
|
|
||||||
if (fate == HIT_NONE) {
|
if (fate == HIT_NONE) {
|
||||||
mprintf(0, "Walking object %d should be falling\n", OBJNUM(obj));
|
LOG_WARNING.printf("Walking object %d should be falling", OBJNUM(obj));
|
||||||
// SetObjectDeadFlag(obj);
|
// SetObjectDeadFlag(obj);
|
||||||
f_ok = false;
|
f_ok = false;
|
||||||
} else {
|
} else {
|
||||||
@ -2136,7 +2136,7 @@ void do_walking_sim(object *obj) {
|
|||||||
|
|
||||||
goto end_of_sim;
|
goto end_of_sim;
|
||||||
} else if (fate == HIT_OUT_OF_TERRAIN_BOUNDS) {
|
} else if (fate == HIT_OUT_OF_TERRAIN_BOUNDS) {
|
||||||
mprintf(0, "PHYSICS NOTE: Walker exited terrain\n");
|
LOG_WARNING << "Walker exited terrain";
|
||||||
SetObjectDeadFlag(obj);
|
SetObjectDeadFlag(obj);
|
||||||
obj->last_pos = init_pos;
|
obj->last_pos = init_pos;
|
||||||
|
|
||||||
@ -2166,7 +2166,7 @@ void do_walking_sim(object *obj) {
|
|||||||
// moved backwards
|
// moved backwards
|
||||||
if (fate == HIT_WALL && moved_vec_n * movement_vec < -0.000001 && actual_dist != 0.0) {
|
if (fate == HIT_WALL && moved_vec_n * movement_vec < -0.000001 && actual_dist != 0.0) {
|
||||||
|
|
||||||
mprintf(0, "Obj %d Walked backwards!\n", OBJNUM(obj));
|
LOG_WARNING.printf("Obj %d Walked backwards!", OBJNUM(obj));
|
||||||
/*
|
/*
|
||||||
mprintf(0, "PHYSICS NOTE: (%f, %f, %f) to (%f, %f, %f)\n",
|
mprintf(0, "PHYSICS NOTE: (%f, %f, %f) to (%f, %f, %f)\n",
|
||||||
XYZ(&start_pos),
|
XYZ(&start_pos),
|
||||||
@ -2191,9 +2191,8 @@ void do_walking_sim(object *obj) {
|
|||||||
|
|
||||||
// chrishack -- negative simulation time pasted for this sim frame
|
// chrishack -- negative simulation time pasted for this sim frame
|
||||||
if (sim_time_remaining > old_sim_time_remaining) {
|
if (sim_time_remaining > old_sim_time_remaining) {
|
||||||
mprintf(0,
|
LOG_WARNING.printf(
|
||||||
"PHYSICS WARNING: Bogus sim_time_remaining = %15.13f, old = %15.13f\nAttempted d = %15.13f, actual "
|
"Bogus sim_time_remaining = %15.13f, old = %15.13f; Attempted d = %15.13f, actual = %15.13f",
|
||||||
"= %15.13f\n",
|
|
||||||
sim_time_remaining, old_sim_time_remaining, attempted_dist, actual_dist);
|
sim_time_remaining, old_sim_time_remaining, attempted_dist, actual_dist);
|
||||||
// Int3();
|
// Int3();
|
||||||
sim_time_remaining = old_sim_time_remaining;
|
sim_time_remaining = old_sim_time_remaining;
|
||||||
@ -2316,7 +2315,7 @@ void do_walking_sim(object *obj) {
|
|||||||
fabs(obj->mtype.phys_info.velocity.z) < MAX_OBJECT_VEL)) {
|
fabs(obj->mtype.phys_info.velocity.z) < MAX_OBJECT_VEL)) {
|
||||||
float mag = vm_NormalizeVector(&obj->mtype.phys_info.velocity);
|
float mag = vm_NormalizeVector(&obj->mtype.phys_info.velocity);
|
||||||
|
|
||||||
mprintf(0, "PHYSICS: Bashing vel for Obj %d of type %d with %f velocity", objnum, obj->type, mag);
|
LOG_WARNING.printf("Bashing vel for Obj %d of type %d with %f velocity", objnum, obj->type, mag);
|
||||||
obj->mtype.phys_info.velocity *= MAX_OBJECT_VEL * 0.1f;
|
obj->mtype.phys_info.velocity *= MAX_OBJECT_VEL * 0.1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2385,12 +2384,12 @@ void do_walking_sim(object *obj) {
|
|||||||
} break;
|
} break;
|
||||||
|
|
||||||
case HIT_BAD_P0:
|
case HIT_BAD_P0:
|
||||||
mprintf(0, "PHYSICS ERROR: Bad p0 in physics!!!\n");
|
LOG_ERROR << "Bad p0 in physics!!!";
|
||||||
Int3(); // Unexpected collision type: start point not in specified segment.
|
Int3(); // Unexpected collision type: start point not in specified segment.
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
mprintf(0, "PHYSICS ERROR: Unknown and unhandled hit type returned from FVI\n");
|
LOG_ERROR << "Unknown and unhandled hit type returned from FVI";
|
||||||
Int3();
|
Int3();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2405,7 +2404,7 @@ void do_walking_sim(object *obj) {
|
|||||||
// NOTE: These numbers limit the max collisions an object can have in a single frame
|
// NOTE: These numbers limit the max collisions an object can have in a single frame
|
||||||
if (count >= sim_loop_limit) {
|
if (count >= sim_loop_limit) {
|
||||||
if (obj->type == OBJ_PLAYER) {
|
if (obj->type == OBJ_PLAYER) {
|
||||||
mprintf(0, "PHYSICS NOTE: Too many collisions for player!\n");
|
LOG_WARNING << "PHYSICS NOTE: Too many collisions for player!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2580,9 +2579,7 @@ void phys_apply_force(object *obj, vector *force_vec, int16_t weapon_index) {
|
|||||||
ForceEffectsPlay(FORCE_TEST_FORCE, &scale, &local_norm);
|
ForceEffectsPlay(FORCE_TEST_FORCE, &scale, &local_norm);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (weapon_index != -1) {
|
LOG_DEBUG_IF(weapon_index != -1) << "Force from weapon";
|
||||||
mprintf(0, "Force from weapon\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
// mprintf(0,"Force: Magnitude = %f Scale = %1.3f\n",magnitude,scale);
|
// mprintf(0,"Force: Magnitude = %f Scale = %1.3f\n",magnitude,scale);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user