Commit Graph
117 Commits
Author SHA1 Message Date
Fabian Woltermann 770fce8de5 Bitset flags -- take 2 (#775)
This introduces a new mechanism for handling bit flags. Instead of using an int (or two, or three) to write bits into, this uses the std::bitset in a wrapper class that accepts an enum class as input. This means that certain classes of errors we've had a few of in the engine, where a coder used the wrong set of flags or checked them against the wrong variable (SF_STEALTH vs SIF_STEALTH, for example) can now be detected at a compiler level rather than not at all.
2016-08-12 16:13:50 -07:00
m!m 22c0255277 Fix a bunch of 64-bit MSVC warnings (#709)
* Fix a bunch of 64-bit warnings

* Fix Linux compilation error

* Fix Mac error

* Fix some issues

* Fix more GCC warnings

* Remote unwanted change

* Remove accidentally readded file

* Fix wrong limit check

* Use BEAM_INDEX macro for getting beam object index

* Fix 32-bit warning

* Use BEAM_INDEX instead of pointer arithmetic
2016-08-09 11:08:54 -07:00
asarium bbeaaa1565 Add a new particle effect system
This is similar to the script I wrote a few years ago but unlike that
one, this solution doesn't kill the performance.
2016-08-04 11:08:39 +02:00
asarium 1bcd5400d3 Move build system to CMake 2016-07-22 12:07:19 +02:00
SamuelCho 1ef7688fa1 Strip out unused rendering code. 2016-07-10 19:29:11 -07:00
niffiwan 87770aad8f Add total_time output param to bm_load_animation
Also convert int to bool, and replace NULL with nullptr
2016-05-10 19:42:20 +10:00
Peter Mitsis 180674154c trig: Use floating point versions of trig functions
Replaces calls to double-precision floating point trig functions with
calls to single-precision floating point trig functions as follows:
    cos() -> cosf()
    sin() -> sinf()
    tan() -> tanf()
    acos() -> acosf()
    asin() -> asinf()
    atan() -> atanf()

This allows the compiler to avoid generating unnecessary instructions
that convert a float to a double and then a double back to a float.

Signed-off-by: Peter Mitsis <[email protected]>
2016-04-24 21:56:06 -04:00
Goober5000 ddd3a7d6fe resolve Travis warning 2016-02-11 00:50:20 -05:00
Goober5000 e302f0e456 convert the rest of the model instance functions to have model_instance_num parameters instead of object parameters 2016-02-10 23:23:44 -05:00
Goober5000 da812f9433 modify the actual function calls 2016-02-06 18:05:33 -05:00
Goober5000 df41bbe172 refactor of dumb_rotation to intrinsic_rotation
This is a renaming of the Dumb_rotation infrastructure, which is now called Intrinsic_rotation.  Intrinsic rotations are automatically applied to submodels without the need for an associated subsystem.  Dumb rotations are now a type of intrinsic rotation, and look_at rotations will be added in a future PR.  The same code will handle both; the only difference is in how the intrinsic rotation is calculated.  (In the case of dumb-rotation, it is calculated the same way as normal rotation; in the case of look-at, it will be calculated using submodel_look_at.)
2016-02-05 12:40:55 -05:00
Goober5000 165124267a Add model_instance handling for weapons, asteroids, and skyboxes 2016-01-24 21:28:43 -05:00
asarium 29afbe8ef5 Use new macro for size_t printf arguments 2015-08-19 11:26:25 +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
Echelon9 c15e7ec28c Fix: warning: format not a string literal and no format arguments [-Wformat-security] 2015-08-05 21:07:05 +10:00
Echelon9 d686d28053 Ensure sufficient format string specifier. 2015-08-05 19:48:58 +10:00
Echelon9 aa7bd5bf2c Fix: asteroid/asteroid.cpp:1614:99: warning: declaration of ‘ship_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:32:36 +10:00
Echelon9 ca2cd63a95 Fix: asteroid/asteroid.cpp:949:10: warning: declaration of ‘ship_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:30:55 +10:00
Echelon9 2586198e0e Fix: asteroid/asteroid.cpp:1653:68: warning: declaration of ‘asteroid_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:14:38 +10:00
Echelon9 b7e76de184 Fix: asteroid/asteroid.cpp:1614:98: warning: declaration of ‘asteroid_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:12:27 +10:00
Echelon9 f656232030 Fix: asteroid/asteroid.cpp:1477:50: warning: declaration of ‘asteroid_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:10:02 +10:00
Echelon9 e4e3064bea Fix: asteroid/asteroid.cpp:1363:92: warning: declaration of ‘asteroid_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:07:37 +10:00
Echelon9 b7bc60708c Fix: asteroid/asteroid.cpp:953:10: warning: declaration of ‘light’ shadows a global declaration [-Wshadow] 2015-07-06 22:29:04 +10:00
Echelon9 0810ae08de Clean up definition of asteroid_process_pre(). 2015-07-01 23:07:16 +10:00
Echelon9 366d409da4 Clean up definition of asteroid_process_post(). 2015-07-01 23:07:16 +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
Swifty c620372357 Soft shadows, deferred lighting, and various major graphics optimizations. 2015-05-02 14:35:37 -07:00
asarium 9aed627ce7 Replace longjmp with exceptions
Also added a EditorConfig file
2015-04-24 15:03:59 +02:00
Goober5000 bffdef1ce5 from xt branch: add some hysteresis to asteroid fields to prevent "popping" when an asteroid exceeds the bounds
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11118 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-12 06:22:25 +10:00
Goober5000 2fe0ec8ef0 Yarn's patch for Mantis #3049 (character remapping in tstrings.tbl)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10894 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:31 +10:00
The_E 53e78033c6 Fix unintended linebreak removal from 10880
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10882 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:30 +10:00
The_E 0d9cc00ba8 From MageKing17: Removes redundant function call
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10880 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:30 +10:00
z64555 8d5fbab768 z64555's debug console. Take 2. Includes changes to most (not Xcode) project files to include the added files of r10621
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10622 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:37 +10:00
The_E 98355da7d5 Revert 10619: Missing files
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10620 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:36 +10:00
z64555 2b2ba832f8 z64555's debug console.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10619 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-08 19:18:36 +10:00
Goober5000 7e5b2aee52 turn mc_info into a plain data struct, part 2
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9822 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:36 +10:00
Goober5000 9cb9e349ac FUBAR's changes for Mantis #2775, plus the addition of the asteroid model 2013-01-13 00:05:21 +00:00
FUBAR-BDHR c2eb2e0840 Log but don't warn about LOD mismatches when running a standalone server. 2012-11-21 18:49:13 +00:00
Goober5000 0a7d226d5f fix for Mantis #2726 -- proper handling of mismatch of LOD levels 2012-11-15 07:52:45 +00:00
Echelon9 65adaf51a9 GCC warning: variable set but not used (within AI code) 2012-06-12 16:45:36 +00:00
Goober5000 e704974a1b remove small warning 2012-05-14 06:32:58 +00:00
Echelon9 5b7190ea39 Fix Assert and Assertion for non-MSVC compilers, due to changes in r8692; Fix use of C++11 cbegin/cend() STL operators as these are not going to be supported widely yet, due to changes in r8693 2012-04-29 11:10:29 +00:00
IssMneur cc521fcaa4 Make the asteroid.tbl parser generate a more useful error messages.
- Converts asteroid_info into the class that it is.
- Changes the asteroid.tbl parser to parse the table as specified
- Also removes the attempts at being clever from the asteroid.tbl parser.
2012-04-29 04:10:58 +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
Goober5000 977ea25a6d approximate the standard function for MSVC6 compatibility purposes 2011-11-23 04:25:50 +00:00
niffiwan e5ebb22d49 Fix for 7977 - explicitly include <algorithm> so gcc will compile 2011-11-14 03:55:08 +00:00
Zacam 8c8974b215 From zookeeper: customizable asteroid death explosions and radius
http://www.hard-light.net/forums/index.php?topic=78762.0
2011-11-12 14:01:38 +00:00
Zacam 3323847094 From zookeeper: customized asteroid split rules
http://www.hard-light.net/forums/index.php?topic=78755.0
2011-11-12 13:51:22 +00:00
Echelon9 9f711bf53e Documentation: General code cleanup for 64bit 2011-11-05 08:12:04 +00:00
Echelon9 eb56cc982d Documentation: Code cleanup of asteroid.cpp and asteroid.h 2011-09-11 13:56:10 +00:00