Commit Graph
97 Commits
Author SHA1 Message Date
The E 487f769064 Renaming vm_copy_transpose_matrix to vm_copy_transpose 2015-12-01 20:38:30 +01:00
The E 7604e82f05 Renaming vm_transpose_matrix to vm_transpose 2015-12-01 20:37:33 +01: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
Fabian Woltermann 0334bd0c3b Addressing a few small issues with PR 468 2015-12-01 11:34:00 +01:00
DahBlount 096029a88d Add Doxygen comments and additional changes 2015-12-01 00:55:30 -07:00
DahBlount 02d15f36b7 Change a1d to a2d 2015-12-01 00:34:55 -07:00
DahBlount fb29b28113 Add function to invert matrix4 and change mview to GL_env_texture_matrix to properly setup environment maps. 2015-11-30 09:36:30 -07:00
The E 4b37433c4f Removing the _INLINE_VECMAT preprocessor define. This is something the compiler is better equipped to decide. 2015-11-22 21:00:24 +01:00
asarium 71d3139d14 Remove commented line 2015-08-19 11:26:32 +02:00
asarium 8d5273b3c0 Fix set but unused variable warning in vecmat.cpp
I kept the code in comments as it may be usedful at some point.
2015-08-19 11:26:28 +02: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 3495b190d4 Streamline vm_quaternion_rotate()
Calculates sinf(theta * 0.5) once only instead of three times.

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-05 00:03:31 -04:00
Peter Mitsis 62a7865f94 Streamline vm_angle_2_matrix()
The values of sin(0) and cos(0) are well known and do not need to be calculated
at run time.

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-05 00:03:31 -04:00
Peter Mitsis 8193dbb316 Streamline vm_vec_avg_n()
Instead of performing three consecutive divisions, vm_vec_avg_n() now performs
one division at the start and three multiplications at the end.  Recall that
multiplication is faster than division.

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-05 00:03:31 -04:00
Peter Mitsis 95d1701794 Remove unnecessary checking before atan2_safe()
The routine atan2_safe() already contains a test that checks if both parameters
are zero--that is the point of the routine.  Thus, there is no need for the
caller of atan2_safe() to perform that same check.

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-05 00:03:31 -04:00
Peter Mitsis 945f655e0e Remove unnecessary vm_vec_normalize() checks
The routine vm_vec_normalize() always returns a value greater than zero.
Thus, there is no need to test its return value for values that are less
than or equal to zero.

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-05 00:03:31 -04:00
Peter Mitsis 11b65fe0bf Remove unnecessary vm_vec_copy_normalize() checks
The routine vm_vec_copy_normalize() always returns a value greater than zero.
Thus, there is no need to test its return value for values that are less than
or equal to zero.

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-05 00:03:27 -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
Peter Mitsis fc6f7cbbb6 Add static and const keywords to vector math routines
Improves readability.  It also has the potential to help the compiler make
better decisions.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-20 08:01:25 -04:00
Peter Mitsis 7c2eb53e62 Remove unused routine vm_fvec_matrix_interpolate()
Not only is the routine vm_fvec_matrix_interpolate() unused, it does not appear
to have been used for the duration of the project.  The only reference to it
found in the history was in a removed comment.  That comment indicated that it
was implemented in 1997.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-20 07:59:34 -04:00
Fabian Woltermann b9f9afe26a Revert "Merge pull request #181 from PeterMitsis/math-cleanup"
This reverts commit 1192c1dafc, reversing
changes made to 8643fa7327.
2015-06-15 08:58:59 +02:00
Peter Mitsis 85f50d9c94 Streamline vm_quaternion_rotate()
Calculates sinf(theta * 0.5) once only instead of three times.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:31 -04:00
Peter Mitsis 93639e967c Cosmetic: Do not check for negative vector magnitudes
Mathematically, the magnitude of a vector can not be negative.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:31 -04:00
Peter Mitsis 3f0476a880 Streamline vm_angle_2_matrix()
The values of sin(0) and cos(0) are well known and do not need to be calculated
at run time.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:31 -04:00
Peter Mitsis a92ebdc08a Remove commented out from vm_vec_copy_normalize()
The commented out code was cluttering things up.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:30 -04:00
Peter Mitsis ee40ac7089 Streamline vm_vec_avg_n()
Instead of perform three consecutive divisions, vm_vec_avg_n() now performs one
division at the start and three multiplications at the end.  Recall that
multiplication is faster than division.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:30 -04:00
Peter Mitsis b883078ce8 Remove unnecessary checking before atan2_safe()
The routine atan2_safe() already contains a test that checks if both parameters
are zero--that is the point of the routine.  Thus, there is no need for the
caller of atan2_safe() to perform that same check.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:30 -04:00
Peter Mitsis 748fe8e5dd Remove unnecessary vm_vec_normalize() checks
The routine vm_vec_normalize() always returns a non-zero value.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:30 -04:00
Peter Mitsis c9003f0c9d Remove unnecessary vm_vec_copy_normalize() checks
The routine vm_vec_copy_normalize() always returns a non-zero value.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:30 -04:00
Peter Mitsis 391be952f5 Add static and const keywords to vector math routines
Improves readability.  It also has the potential to help the compiler make
better decisions.

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:30 -04:00
Peter Mitsis 49d6474237 Update vecmat.h and vecmat.cpp file mode bits
Changes the file mode bits of vecmat.h and vecmat.cpp to make them consistent
with the other files under "code/math".

Signed-off-by: Peter Mitsis <[email protected]>
2015-06-13 23:14:30 -04:00
Axem 4b20b46509 Commit because reasons? (Why git, why) 2015-06-03 17:44:37 -05:00
Axem 61e4f739ce Adds On Beam Fire scripting hook 2015-05-31 18:02:36 -05:00
MageKing17 9a5fa95c54 Add subspace beam strikes.
Overhaul hudartillery.cpp to use STL containers (removes hardcoded limits on maximum number of strike types, simultaneously active strikes, and projectiles per strike), use modular tables, allow for different shape options, and allow beams as the weapon.
2015-05-15 16:19:44 -07:00
Swifty c620372357 Soft shadows, deferred lighting, and various major graphics optimizations. 2015-05-02 14:35:37 -07:00
Lari Nieminen 418d53f169 Removed false "returns ptr to vector" comments. 2015-04-27 11:57:39 +03:00
Goober5000 872bbe2a11 improve sexp code for obtaining pitch/bank/heading with the following changes: 1) use an alternate algorithm for extracting angles from an orientation matrix 2) properly round floats to integers when converting to degrees
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11180 387891d4-d844-0410-90c0-e4c51a9137d3
2014-11-29 19:53:19 +10:00
Goober5000 5c0bc126bb xt branch: tweaks to vecmat.cpp
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11125 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-13 12:24:20 +10:00
Echelon9 27495abda6 Address Coverity 1093373 Copy-paste error in vm_find_bounding_sphere()
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10807 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-14 20:29:36 +10:00
Wanderer 0d4cc04cd6 Fix for Mantis #2352 - Turret reset when idle woes and other limited rotation turret woes.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10024 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-10 18:28:58 +10:00
Valathil 6ad5a937a9 Fix for Mantis 2736: abs is int in Linux and Mac; change to fl_abs in all instances where floats were used in the codebase. 2012-12-03 00:59:45 +00:00
Goober5000 91fc326a17 we have some preconditions, so let's enforce them 2011-10-26 06:35:19 +00:00
IssMneur 0717ad3d13 PVS-Studio fix: V512 A call of the 'memcpy' function will lead to overflow of the buffer '& x'. (pstypes.h:131) 2011-09-08 05:39:53 +00:00
The_E 0525e871d0 PVS Studio related: Mark false alarms as such. 2011-08-30 17:46:49 +00:00
Zacam 96925143c1 Resolves SSE detection issues on #including <xmmintrin.h> for GCC/G++ and MSVC6.
GCC/G++ users (Apple, Linux) should look to adding intrinsics to their compile options. (-msse)
2011-07-23 02:07:19 +00:00
The_E 7f5c3d343e Valathil's code cleanup patch. 2011-07-20 18:04:43 +00:00
Goober5000 d57ab51162 change fl_radian to fl_radians so as to be consistent 2010-12-31 04:02:41 +00:00
Wanderer c0862e47bc add a null vec check - hit by fubar 2010-06-20 14:06:34 +00:00