Commit Graph
34 Commits
Author SHA1 Message Date
Baezon ed8a89b68e collision optimize 2020-09-25 21:28:25 -04:00
asarium edc7f9e5d5 Fix warnings 2016-08-24 20:48:23 +02:00
asarium 1bcd5400d3 Move build system to CMake 2016-07-22 12:07:19 +02:00
asarium 71a1f6c307 Fix Visual Studio warnings
The only major change is that all bpp variables in bmpman have been converted into ints. Before it was a mix of ubyte and int.
2016-07-20 13:49:41 +02:00
Goober5000 47286d1af2 Merge pull request #483 from chief1983/fix/292_unused_functions
Wrap some unused functions in a diagnostic protection pragma
2015-12-04 21:08:55 -05:00
Cliff Gordon ea549ab5a0 [fix/292_unused_functions] Mark rotate_z and accurate_square_root as unused. Last part of the issues in #292. 2015-12-01 20:56:06 -06:00
The E e0defd287a Renaming vm_vec_crossprod to vm_vec_cross 2015-12-01 20:36:34 +01:00
The E a413255728 Renaming vm_vec_dotprod to vm_vec_dot 2015-12-01 20:35:47 +01:00
Goober5000 bd3cd7eb18 Merge pull request #195 from Echelon9/fix/sort-uniq-includes
Review and refactor #include's
2015-08-19 00:05:02 -04:00
Peter Mitsis 83d00839ed fvi: Refactor solution to quadratic formula
The classic solution to the quadratic equation ...
     a*x*x + b*x + c = 0
is ...
         -b +- sqrt(b*b - 4*ac)
     x = ----------------------
                 2*a

This can be optimized by substituting b = 2*B.
         -2*B +- sqrt((2*B)*(2*B) - 4*a*c)
     x = ---------------------------------
                       2*a

This expands to ...
         -2*B +- sqrt(4*B*B - 4*a*c)
     x = ---------------------------
                    2*a

And simplifies to ...
         -2*B +- 2*sqrt(B*B - 4*a*c)
     x = ---------------------------
                    2*a

         -B +- sqrt(B*B - a*c)
     x = ---------------------
                  a

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-15 09:18:47 -04:00
Peter Mitsis 7a59192bbb More application of static and const keywords
Applies the const and static keywords to the recently restored routines.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-28 09:09:26 -04:00
Peter Mitsis ca07a428e3 Revert "Remove nine unused routines from math/fvi module"
This reverts commit 8cdabf6a23.

Conflicts:

	code/math/fvi.cpp
2015-06-28 07:20:34 -04:00
Peter Mitsis 3cb0c72ced Apply static and const keywords to math/fvi module
Improves readability.  It also has the potential to help the compiler make
better decisions.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-25 07:51:53 -04:00
Peter Mitsis 8cdabf6a23 Remove nine unused routines from math/fvi module
Removes the following unused routines ...
 1. accurate_square_root()
 2. fvi_point_dist_plane()
 3. fvi_segment_plane()
 4. fvi_sphere_perp_edge()
 5. check_sphere_point()
 6. fvi_check_sphere_sphere()
 7. fvi_cull_polyface_sphere()
 8. fvi_closest_point_on_line_segment()
 9. fvi_closest_line_line()
2015-06-25 07:03:59 -04:00
Echelon9 97a134e51f Simplify duplicative math/ includes. 2015-06-22 20:24:30 +10:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
Goober5000 414daaaed8 Mantis #3127: fix the spatial check in the rewritten algorithm
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11157 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-27 18:23:02 +10:00
Goober5000 fe775aeedf xt branch: optimizations in fvi.cpp
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11126 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-13 12:24:22 +10:00
Echelon9 21c2449f0b Documentation: Changes such that the Doxygen log reports clean, in anticipation of 3.6.14 release 2011-11-28 13:03:38 +00:00
Echelon9 8c272b61ae Documentation: Code cleanup in fvi.cpp 2011-09-12 13:31:38 +00:00
Zacam f2cc1239dd If we declare inv2A as a float up top, we no longer need to brace out any instances which resolves cross initialization as well as still allowing MSVC6 to remain operational (per 7372). Minor formating cleanup as well.
Thanks to Goober and Plombo for feedback.
2011-07-22 18:32:22 +00:00
Goober5000 96736a29ea fix compile problems on MSVC6 2011-07-22 05:56:46 +00:00
The_E 7f5c3d343e Valathil's code cleanup patch. 2011-07-20 18:04:43 +00:00
portej05 719825f80d The big CVS comment removal. This chops approx. 3.5mb off a full checkout.
I've tested this through compiling and through hand checking. 
Normalises line endings in ALL files to \n.
2009-06-20 08:08:20 +00:00
taylor 66bc9102f9 performance optimizations:
- fvi_ray_boundingbox() is faster and should be less prone to compiler/optimization/platform specific issues
 - clean up or obj_check_all_collisions() which is a good bit faster now
2007-02-10 00:08:59 +00:00
Goober5000 b52b6b1e00 spelling 2006-02-25 21:47:19 +00:00
wmcoolmon cc2dcbb434 Minor changes; made even more fields in ships.tbl optional. 2005-04-16 03:36:13 +00:00
taylor 7f786136a6 s/vector/vec3d/g, better support for different compilers (Jens Granseuer) 2005-04-05 05:53:25 +00:00
Kazan 864e1b5922 remove MCD complete 2004-07-26 20:47:56 +00:00
Kazan 428b3dcbc9 MCD - define _MCD_CHECK to use memory tracking 2004-07-12 16:33:09 +00:00
bobboau 2dbc7e5277 inital decals code, if you are worried a bug is being caused by the decals code it's only references are in,
collideshipweapon.cpp line 262, beam.cpp line 2771, and modelinterp.cpp line 2949.
it needs a better renderer, but is in prety good shape for now,
I also (think) I squashed a bug in the warpmodel code
2002-12-07 01:37:43 +00:00
penguin 0c503be8d1 The big include file move 2002-08-01 01:41:11 +00:00
penguin 8f92eebd34 Warpcore CVS sync 2002-06-03 04:10:40 +00:00
penguin 663b3471b9 Volition sources -- warpcore CVS import 2002-06-03 03:26:03 +00:00