Commit graph

42 commits

Author SHA1 Message Date
Kp 742c67b935 Pass fvi_* args by & 2014-11-02 03:42:50 +00:00
Kp 5bb9c88979 Add vm_vec_sub that returns result 2014-10-29 03:24:31 +00:00
Kp 53aa70cecb Use vsegptridx_t 2014-10-28 03:08:51 +00:00
Kp 9a32e151ff Pass check_effect_blowup vms_vector arg by & 2014-10-26 21:36:35 +00:00
Kp a79bb365f9 Pass get_seg_masks arg by & 2014-10-26 21:28:38 +00:00
Kp a32547af16 Pass position-related vms_vector arg by & 2014-10-22 02:46:03 +00:00
Kp 6299bb099a Remove unused file/line from create_abs_vertex_lists
Exception handling generates automatic line information.
2014-10-16 02:47:17 +00:00
Kp a99466f8c8 Pass vm_vec_crossprod arg by & 2014-10-01 02:28:42 +00:00
Kp b5f443f21e Pass vm_vec_normalized_dir arg by & 2014-10-01 02:28:41 +00:00
Kp 0b691365a7 Pass vm_vec_copy_normalize arg by & 2014-10-01 02:28:41 +00:00
Kp ac39749382 Pass vm_vec_dist arg by & 2014-10-01 02:28:41 +00:00
Kp 05a91f9b58 Pass vm_vec_scale_add2 arguments by & 2014-09-28 21:43:14 +00:00
Kp 4104bf4f11 Pass vm_vec_scale_add arguments by & 2014-09-28 21:43:14 +00:00
Kp 00b59c3058 Pass vm_vec_dot arguments by & 2014-09-28 21:11:48 +00:00
Kp 321bbe37d8 Pass vm_vec_sub arguments by & 2014-09-28 21:11:45 +00:00
Kp 2107b52764 Pass vm_vec_add arguments by & 2014-09-28 21:11:40 +00:00
Kp 6c30bb5d98 Pass vm_vec_scale2 dest by & 2014-09-28 21:11:36 +00:00
Kp a550673639 Pass vm_vec_normalize v by & 2014-09-28 21:11:03 +00:00
Kp 1e6bf36e20 Pass vm_vec_mag v by const& 2014-09-28 21:11:03 +00:00
Kp 02e2e77ee6 Tighten processing of WALL_IS_DOORWAY flags 2014-09-06 22:26:11 +00:00
Kp fc30079c0b Remove use of vms_vector_array in check_point_to_face 2014-08-22 02:26:51 +00:00
Kp 39d29e17fa Use pointer-to-member access in find_hitpoint_uv 2014-08-22 02:22:10 +00:00
zico ee828c9b15 Removed conditional handling of collision point calculation from check_vector_to_sphere_1 due to testing showing too many problems which could not be solved without drastic changes. Calculate valid collision point in collide.cpp if necessary (CED, you were right :)) 2014-08-18 12:09:54 +02:00
zico cc2f1cb040 Have objects with PF_PERSISTENT (never supposed to stop) flag also trigger original condition in check_vector_to_sphere_1 2014-08-18 10:48:02 +02:00
zico d2b0a4d02d Fixed incorrect/missing calculation of collision point in check_vector_to_sphere_1 and added special check in check_vector_to_object to only apply for certain objects; Removed extrapolation of physics as it would unintentionally cause premature collisions (requires further fixing of do_physics_sim and do_physics_sim_rot to properly scale to FrameTime) 2014-08-17 23:57:56 +02:00
Kp 125d9257be Use special type names for segment/object numbers 2014-08-13 02:57:12 +00:00
Kp 1c064b8efb Remove unused find_hitpoint_uv l parameter 2014-08-08 02:51:02 +00:00
Kp e9c5a64c7e Use object helper to iterate in fvi 2014-08-03 03:17:34 +00:00
Kp 6370292202 Pass array<> to create_*_vertex_lists 2014-07-17 03:29:57 +00:00
Kp d135e93b94 Use std::min_element to find least vertex 2014-07-17 03:29:57 +00:00
Kp c0e6804fb0 Use assignment for vms_vector_array in fvi 2014-07-05 03:48:57 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
Kp 9a5d0f6f09 Use symbolic values for segment/object first/none 2014-01-06 04:17:55 +00:00
Kp 094dfbf3d4 Reduce header inclusions 2013-12-31 03:22:03 +00:00
Kp 073f00974a Eliminate uses of the typedef struct X { ... } X; pattern
C++ does not require this pattern.

import re, fileinput
to = re.compile(r'^typedef struct ([a-z_A-Z]+)\s*{')
tc = re.compile(r'^}(.*?)\s*([a-z_A-Z]+);$')
osn = None
for line in fileinput.input(inplace=True):
	m = to.match(line)
	if m:
		osn = m.group(1)
		print 'struct %s\n{' % osn
		continue
	if osn:
		m = tc.match(line)
		if m:
			csn = m.group(2)
			if osn == csn:
				print '}%s;' % m.group(1)
				osn = None
				continue
			else:
				osn = None
	print line,
2013-12-28 22:48:07 +00:00
Kp fbd35de5f0 Remove bogus fvi assertion 2013-12-28 22:40:11 +00:00
Kp 6cb6faf5ce Switch fvi to use a local visited_segment_bitarray_t 2013-12-22 20:56:55 +00:00
Kp 4460b16d0e Simplify visited check in sphere_intersects_wall
Non-segments can never be visited, so check for existence first.
2013-12-22 20:56:55 +00:00
Kp a7bd19a7ca Convert fvi to use countarray for segment list
Also fixes a bug where seglist could receive wrong elements when
fvi_sub recursive call returns a type other than HIT_NONE.  Bug caused
by badly named variables:

	int ii;
	for (ii=0;i < temp_n_segs && *n_segs < MAX_FVI_SEGS-1;)
		seglist[(*n_segs)++] = temp_seglist[ii++];

The wrong counter is used for first part of the conditional, so
uninitialized elements of temp_seglist could be read back if i
(==n_segs_visited) is smaller than temp_n_segs or elements could be
skipped if i is greater than temp_n_segs.
2013-12-22 20:56:53 +00:00
Kp 2714679284 Mark private functions static 2013-11-02 04:23:55 +00:00
Kp 5b0c4b10ac Use accessor for most get/set object->id accesses 2013-10-20 22:49:09 +00:00
Kp 6f152aa016 Move similar/main/fvi.c -> similar/main/fvi.cpp 2013-10-05 21:35:58 +00:00
Renamed from similar/main/fvi.c (Browse further)