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:
zicodxx 2008-11-22 00:43:59 +00:00
parent c19aa8c19a
commit 8466399451
3 changed files with 4 additions and 17 deletions

View file

@ -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

View file

@ -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,

View file

@ -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.