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
1af0f814c9
Refactor bez_fact()
...
Uses an array of precalculated factorials that are accessed as a lookup table
instead of computing the factorials at runtime. This cuts down on compiled
code bloat (compiler was both unrolling and inlining the computation's loop)
everywhere it was used.
NOTE: The original implementation returned an 'int'. As a result, the largest
uncorrupted factorial it could compute was 12!. For this reason, the lookup
table only goes up to 12!.
Signed-off-by: Peter Mitsis <[email protected] >
2015-06-13 23:14:31 -04:00
Peter Mitsis
42dc0fcc74
Streamline fl_radians() and fl_degrees() macros
...
Rewrites the macros to avoid unnecessary divisions. The compiler is now free
to precalculate the scaling ratio and perform it in a single multiply. Note
that the previous placement of the parentheses meant that the compiler (at
least GCC) was performing a multiply followed by a divide.
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
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
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
Goober5000
f2d8277452
xt branch: additional optimizations using RAND_MAX_1f
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11121 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-12 18:22:12 +10:00
niffiwan
bfa3397dbd
Fix mantis 2985 (from Yarn)
...
Fix float-to-int rounding errors in gr_[re|un]size_screen_pos
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10990 387891d4-d844-0410-90c0-e4c51a9137d3
2014-08-16 12:31:57 +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
Zacam
593be42e66
*drum roll* Pilot Code! Originated by taylor. Additional direct work by: The E, niffiwan, CommanderDJ, Pyro3D, Echelon9 (PVS-Studio), Karajorma and Eli2. (If I missed you, don't kill me.)
...
MASSIVE thanks to Mjn.Mixael and Blue Planet for tireless constant testing.
(It's still not perfect, but it probably wouldn't be where it is at without them)
Spans a lot from initial commit to AP Branch in r6835.
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9561 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-18 20:26:06 +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
chief1983
4e5d3e2e57
Fix all the 'no newline at end of file' warnings I saw thrown by gcc on FreeBSD.
2012-11-02 17:30:17 +00:00
Echelon9
46d854d9f0
PVS-Studio fix: There is only one PI.
...
V624 The constant 3.14159 is being utilized. The resulting value could be inaccurate.
2012-07-16 11:44:22 +00:00
Echelon9
52b421c56b
Documentation: Remove redundant #includes
2012-04-22 13:36:31 +00:00
The_E
6badeadd54
As per discussion for Mantis 2633, Reverting revision 8544 due to timer drift.
2012-03-31 20:30:09 +00:00
zookeeper
e98ff51535
Eli2's minimal timer fix patch(es) from http://www.hard-light.net/forums/index.php?topic=79070.0
2012-03-01 19:16:31 +00: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
The_E
fff1a1c60b
Reverting 7938: Bugfix breaks existing missions relying on old behaviour.
2011-11-05 19:20:17 +00:00
The_E
96ef05f89c
From Eli2: Fix for Mantis 2533 (integer overflow in mission-time-msecs)
2011-11-02 11:40:51 +00:00
Goober5000
91fc326a17
we have some preconditions, so let's enforce them
2011-10-26 06:35:19 +00:00
Echelon9
8c272b61ae
Documentation: Code cleanup in fvi.cpp
2011-09-12 13:31:38 +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
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
Echelon9
aa1601bb36
Documentation: Fix a few syntax errors reported in Doxygen's log
2011-05-01 03:54:01 +00:00
Echelon9
5d635a262b
DOC: Amendment to frand_range()
2011-04-17 00:33:51 +00:00
Echelon9
e12f71c83d
DOC: Documentation of floating.cpp
2011-04-17 00:18:59 +00:00