Took out the disable_new_fvi-hack. After all we do not need that specific optimisation anymore and also without it we can have more accurate collisions with non-player objects. After playtesting for a while let's just do this.
This commit is contained in:
parent
c19aa8c19a
commit
8466399451
|
@ -1,5 +1,9 @@
|
|||
D1X-Rebirth Changelog
|
||||
|
||||
20081122
|
||||
--------
|
||||
main/fvi.c, main/pysics.c: Took out the "disable_new_fvi"-hack. After all we do not need that specific optimisation anymore and also without it we can have more accurate collisions with non-player objects. After playtesting for a while let's just do this.
|
||||
|
||||
20081121
|
||||
--------
|
||||
main/game.c: Do not allow to restore games while player is dead... again - to much trouble right now
|
||||
|
|
13
main/fvi.c
13
main/fvi.c
|
@ -18,8 +18,6 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
*/
|
||||
|
||||
|
||||
#define NEW_FVI_STUFF 1
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "error.h"
|
||||
|
@ -352,12 +350,6 @@ int check_line_to_line(fix *t1,fix *t2,vms_vector *p1,vms_vector *v1,vms_vector
|
|||
return 1; //found point
|
||||
}
|
||||
|
||||
#ifdef NEW_FVI_STUFF
|
||||
int disable_new_fvi_stuff=0;
|
||||
#else
|
||||
#define disable_new_fvi_stuff 1
|
||||
#endif
|
||||
|
||||
//this version is for when the start and end positions both poke through
|
||||
//the plane of a side. In this case, we must do checks against the edge
|
||||
//of faces
|
||||
|
@ -373,9 +365,6 @@ int special_check_line_to_face(vms_vector *newp,vms_vector *p0,vms_vector *p1,se
|
|||
struct side *s=&seg->sides[side];
|
||||
vms_vector closest_point_edge,closest_point_move;
|
||||
|
||||
if (disable_new_fvi_stuff)
|
||||
return check_line_to_face(newp,p0,p1,seg,side,facenum,nv,rad);
|
||||
|
||||
//calc some basic stuff
|
||||
|
||||
create_abs_vertex_lists(&num_faces,vertex_list,seg-Segments,side ,__FILE__,__LINE__);
|
||||
|
@ -914,14 +903,12 @@ int fvi_sub(vms_vector *intp,int *ints,vms_vector *p0,int startseg,vms_vector *p
|
|||
|
||||
//did we go through this wall/door?
|
||||
|
||||
//#ifdef NEW_FVI_STUFF
|
||||
if (startmask & bit) //start was also though. Do extra check
|
||||
face_hit_type = special_check_line_to_face( &hit_point,
|
||||
p0,p1,seg,side,
|
||||
face,
|
||||
((num_faces==1)?4:3),rad);
|
||||
else
|
||||
//#endif
|
||||
//NOTE LINK TO ABOVE!!
|
||||
face_hit_type = check_line_to_face( &hit_point,
|
||||
p0,p1,seg,side,
|
||||
|
|
|
@ -193,8 +193,6 @@ int Dont_move_ai_objects=0;
|
|||
|
||||
#define FT (f1_0/64)
|
||||
|
||||
extern int disable_new_fvi_stuff;
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
// add rotational velocity & acceleration
|
||||
void do_physics_sim_rot(object *obj)
|
||||
|
@ -337,8 +335,6 @@ void do_physics_sim(object *obj)
|
|||
|
||||
n_phys_segs = 0;
|
||||
|
||||
disable_new_fvi_stuff = (obj->type != OBJ_PLAYER);
|
||||
|
||||
/* As this engine was not designed for that high FPS as we intend, we use F1_0/30 max. for sim_time to ensure
|
||||
scaling and dot products stay accurate and reliable. The object position intended for this frame will be scaled down later,
|
||||
after the main collision-loop is done.
|
||||
|
|
Loading…
Reference in a new issue