Compare commits

...
5992 Commits
Author SHA1 Message Date
asarium c084a432d4 Add lights to thrusters 2020-05-02 15:33:52 +02:00
Goober5000 5135cded94 Merge pull request #2357 from chief1983/datacorder
Use full path  in SFTP, unlike the FTP one this was modified from.
2020-04-30 22:42:12 -04:00
Cliff 519d1f59f8 Use full path in SFTP, unlike the FTP one this was modified from. 2020-04-30 16:02:03 -05:00
Fabian Woltermann b9be2ad85e Merge pull request #2356 from The-E/fix/smaa_presets
Fix bug in SMAA application
2020-04-30 13:05:58 +02:00
Fabian Woltermann 7121a3f748 Update the last_frame AA mode during cmdline parsing. 2020-04-30 11:08:25 +02:00
Fabian Woltermann 7439cf2cc3 wording 2020-04-30 10:57:54 +02:00
Fabian Woltermann 570dc5f3de Make sure the SMAA presets are actually passed to the shader stages and that the SMAA shader is recompiled at runtime if the preset changes. 2020-04-30 10:55:24 +02:00
Cliff Gordon 620fdbde08 Merge pull request #2352 from chief1983/datacorder
Fix Travis secure var declaration (use travis encrypt VAR='value')
2020-04-29 17:21:57 -05:00
Cliff fdb7e41ed4 Fix Travis secure var declaration (use travis encrypt VAR='value') 2020-04-29 14:32:08 -05:00
Goober5000 f286363748 Merge pull request #2346 from EatThePath/ai_linkage_rot_cleanup
Set_primary_weapon_linkage cleanup as requested by Goober5000
2020-04-28 23:22:04 -04:00
David Gibson 1520a21062 Code cleanup and rerodering in set_primary_weapon_linkage as requested by Goober5000 2020-04-28 13:02:47 -05:00
Fabian Woltermann cdc831b163 Merge pull request #2344 from chief1983/datacorder
Use datacorder in CI instead of fs2downloads
2020-04-28 16:34:25 +02:00
niffiwan 18718aee74 Merge pull request #2341 from wookieejedi/add_target_box_zoom
Adds Scaling for Target Box Models Separate from Techroom
2020-04-28 17:01:47 +10:00
Cliff c8a5ebe45c Since this is sftp now we don't need the alt ftp functionality. 2020-04-27 23:51:46 -05:00
Cliff 29dd3e1057 Update Travis and AppVeyor CI to use our Datacorder account on FeralHosting instead of the swc.fs2downloads.com server, since it is having issues with uploads now. 2020-04-27 22:26:31 -05:00
wookieejedi bca6f95621 add first time checks and use copy by assignment 2020-04-27 13:16:14 -04:00
wookieejedi e2010aeda1 Adds Scaling for Target Box Models Seperate from Techroom
Currently `$Closeup_Pos:` and `$Closeup_Zoom:` control the camera zoom and position values for the techroom, briefing and HUD Target Box. Unfortunately, with very large ships this results in an issue, to fit the view of an entire big ship in the HUD Target Box the zoom and position must be set a certain way which results in the ship looking very far away when viewed in the techroom. This PR adds two new fields that control camera postion and zoom but only for the HUD Target Box, thus modders can now set values for both and have the ships look good in both the Techroom and HUD Target Box. The new hud target box values are optional, and if not specifed they default to the values for `$Closeup_Pos:` and `$Closeup_Zoom:` .
2020-04-27 10:25:15 -04:00
Fabian Woltermann 22f3463397 Merge pull request #2339 from TRBlount/fix/lab_bg_smaa
Small F3 lab fixes
2020-04-25 18:59:48 +02:00
Goober5000 283e1555ba Merge pull request #2340 from JohnAFernandez/vmd-expansion
Add an angles version of zero vector and identity matrix
2020-04-25 11:54:23 -04:00
JohnAFernandez fe8ce74037 Use a constant for declaring angles with no measure 2020-04-25 09:54:40 -04:00
JohnAFernandez c43fa8c9a8 Add an angles version of zero vector and identity matrix 2020-04-25 00:45:34 -04:00
Tyler Blount 5c7fce41f1 Some lab fixes 2020-04-23 23:51:30 -06:00
Fabian Woltermann 0985091f6a Merge pull request #2338 from wookieejedi/music-restart-fix
Reinstates necessary soundtrack function call on level load
2020-04-21 18:33:43 +02:00
wookieejedi 2da7c4e761 Reinstates necessary check for soundtrack on level load
This updates #2299 and restores the use of `event_music_level_start(-1)` in `freespace.cpp`. This call was removed in #2299 because it was thought to be redundant but removal of that call resulted in music not playing upon mission restarts. This PR restores that call and fixes that issue.
2020-04-21 11:00:49 -04:00
m!m 6f109508d0 Merge pull request #2322 from asarium/feature/hookDocumentation
Add extended scripting hook system
2020-04-19 11:28:35 +02:00
Goober5000 e84919fa88 Merge pull request #2331 from Goober5000/interval_msecs
allow intervals and chain delays to use milliseconds
2020-04-18 15:32:17 -04:00
Goober5000 684354c8bd Merge pull request #2334 from Goober5000/fix_2333
fix loading of capship custom weapons
2020-04-16 15:09:36 -04:00
Goober5000 45c3ee0b3c this probably makes more sense 2020-04-14 23:52:14 -04:00
Goober5000 89eea8e5d3 this pilot-specific logic should only run for the Pilot subsystem 2020-04-14 23:32:02 -04:00
Goober5000 32730fc362 Merge pull request #2330 from Goober5000/check_no_briefing
actually fix the weapon-bank check
2020-04-14 17:19:11 -04:00
Goober5000 1c8f07b012 allow intervals and chain delays to use milliseconds
This adds the titular feature, as well as FRED support.  There are also some associated minor UI fixes in FRED and some cleanup in missiongoals.cpp.  And "Event Flags" are now a thing in case we want to add any other flags in the future.
2020-04-14 16:28:57 -04:00
Goober5000 892f0a831a actually fix the weapon-bank check
Ships which do not have the maximum number of primary and secondary banks (3 and 4) will have gaps in the loadout slots, so be sure to only check the weapon slots that the ship class is actually equipped with.
2020-04-14 14:38:18 -04:00
Goober5000 6b573bdbf6 Merge pull request #2329 from Goober5000/check_no_briefing
add a missing edge case to the weapon bank check
2020-04-14 12:07:20 -04:00
Goober5000 0e9ad8623b Merge pull request #2323 from Goober5000/fix_2314
sanity check missing numeric sexp arguments
2020-04-14 11:51:37 -04:00
Goober5000 f5edccd98f add a missing edge case to the weapon bank check
Yet another obscure edge case from Aftermath: Reboot.  The FREDder ought not to create this situation in the first place, but if he does, don't enter an endless loop.
2020-04-14 02:49:08 -04:00
Goober5000 007e7118f2 Merge pull request #2327 from Goober5000/jump_node_hud_distance
use consistent jump node distances on HUD
2020-04-13 18:34:27 -04:00
Goober5000 ae41e355ac reduce duplicate code 2020-04-13 16:56:18 -04:00
Goober5000 43d51792f2 apply formatter 2020-04-13 16:56:18 -04:00
Goober5000 f739a3e5c1 fix clang complaint 2020-04-13 16:56:18 -04:00
Goober5000 33c3f556a4 sanity check missing numeric sexp arguments
In the SEXP parser, zero-length strings are valid, as are zero-length operators.  But zero-length numbers are interpreted as missing arguments, since their only syntactic separators are spaces and the parser skips over whitespace.  And in any case, zero-length numbers are not semantically valid anyway.  This PR adds a sanity check to intercept all zero-length numbers, as well as malformed numbers, and convert them to 0.

This fixes issue #2314.
2020-04-13 16:56:17 -04:00
Goober5000 490464b656 Merge pull request #2324 from Goober5000/fix_Mantis_3171
Fix Mantis 3171
2020-04-13 16:54:56 -04:00
Goober5000 d526300483 Merge pull request #2325 from Goober5000/fix_Mantis_2715
prevent player leaving the loadout screen with incomplete weapons
2020-04-13 14:59:01 -04:00
Goober5000 3f3b284dcf use consistent jump node distances on HUD
There is a special function, `hud_find_target_distance`, which is used in most places for target distance.  However it wasn't used for jump nodes in this location.

Incidentally, the player's target's distance is cached, and this distance will always be current for the target box, so we can use the cached value and save a function call.
2020-04-13 14:53:28 -04:00
Goober5000 e0992ed88e add qtfred support 2020-04-13 12:29:02 -04:00
Goober5000 3997237a11 bump XSTR_SIZE and add NOLINT 2020-04-13 11:50:04 -04:00
asarium 1c12349990 Add extended scripting hook system
This moves towards defining the hooks in the code module that executes
them. Also provides the API necessary for better documentation of hooks.
This only covers a few hooks as a test and demonstration of the new API.
If no issues are found with this it can be extended in the future.
2020-04-13 14:45:19 +02:00
Goober5000 5f10b68118 Merge pull request #2326 from fjelliott/improved-subsystem-box-rendering
Cleaned up code that renders subsystem target boxes. (Follow-up to #2315)
2020-04-13 02:02:26 -04:00
Frans Elliott 91edcc4b8c Added a comment to describe the mathematics of subobj_find_2d_bound.
Broke up the projection function to aid in clarity.
2020-04-12 23:43:12 -05:00
Frans Elliott 4139cd890c Cleaned up subsystem bounding box code. 2020-04-12 21:24:13 -05:00
Goober5000 8fa96aeaf3 prevent player leaving the loadout screen with incomplete weapons
This is the best way to address Mantis 2715.  I took a look at allowing empty banks in the course of working on PR #2318, and it was completely intractable.  But in order to prevent certain "funnies" such as violation of bank restrictions, it's a good idea to ensure all banks are populated.

This PR adds a new XSTR for a popup message, and incidentally adds another XSTR to a message that should have had one already but didn't.
2020-04-12 21:34:00 -04:00
Goober5000 282ca0b0dd fix Mantis 3171 2020-04-12 20:39:16 -04:00
Goober5000 d3b1871837 remove Asserts that never worked because they checked invalid iterators 2020-04-12 20:39:16 -04:00
Goober5000 6f7ca147dd Merge pull request #2318 from Goober5000/additional_weapon_fix
simplify and fix the subsystem weapon loading code
2020-04-11 11:49:28 -04:00
Goober5000 ee391940d2 simplify and fix the subsystem weapon loading code
If ships have less than their full allocation of weapons, the code is supposed to compact the array so that these weapons all appear at the beginning.  This is done for small ships (fighters and bombers), but was not done for capital ships.  There was also a lot of code duplication with small ships getting extra error checking than capital ships.  This commit removes the duplicate code, makes the error checking more robust, and incidentally fixes the weapon array compacting for capital ships.
2020-04-08 12:31:43 -04:00
Goober5000 23dbfa5655 Merge pull request #2319 from Goober5000/weapon_info_scripting_fix
fix yet another issue uncovered by vectorization
2020-04-08 12:30:26 -04:00
Goober5000 8f1f308591 fix yet another issue uncovered by vectorization 2020-04-07 23:31:16 -04:00
Goober5000 cc456855e5 Merge pull request #2317 from Goober5000/weapon_bugfixes
Weapon bugfixes
2020-04-07 13:57:13 -04:00
Goober5000 0853c5bf7a clean up these functions in the same way as the weapon cheat functions 2020-04-07 02:20:56 -04:00
Goober5000 96de072bff add a useful assertion 2020-04-07 02:20:41 -04:00
Goober5000 2f0f2d7669 prevent access of out-of-range weapons, and at the same time sync primary and secondary capacity calculations 2020-04-07 02:02:22 -04:00
Goober5000 1c5a361d50 Merge pull request #2315 from fjelliott/master
Force subsystem targetting reticle to be square, even on non-square aspect ratios.
2020-04-06 01:11:56 -04:00
Frans Elliott 44072c026c Force subsystem targetting reticle to be square, even on non-square aspect ratios. 2020-04-05 21:21:37 -05:00
MageKing17 8cb9d311d7 Merge pull request #2312 from JohnAFernandez/target-signature-rename
Clarify Variable Names
2020-03-30 11:47:04 -07:00
MageKing17 bdec29f247 Merge pull request #2308 from Goober5000/vasudan_cheat_tweak
improve detection of vasudan main hall for cheats
2020-03-30 11:38:34 -07:00
JohnAFernandez 4e1b366f9f Clarify Variable Names
Use target_net_signature when talking about net_signature, but leave it at target_signature when talking about ai.target_signature.
2020-03-29 08:02:16 -04:00
Fabian Woltermann de2d1ec602 Merge pull request #2311 from asarium/fix/2310
Fix wrong matrix function calls
2020-03-29 13:37:19 +02:00
asarium 50e365a66c Fix wrong matrix function calls
This was using the wrong functions which caused videos not to show up
properly. This fixes #2310.
2020-03-29 12:19:00 +02:00
Tyler Blount a954a04cf8 Merge pull request #2309 from JohnAFernandez/Fix-ADE-invalid-defaults
Make sure aip->net_signature always defaults to -1 for no target.
2020-03-28 00:16:20 -06:00
Tyler Blount 030bbeb622 Merge pull request #2306 from Goober5000/flyby_sounds_refactor
refactor parsing of flyby sounds to make them optional
2020-03-28 00:15:33 -06:00
JohnAFernandez 6b7df053fa Make sure aip->net_signature always defaults to -1 for no target.
Although not used very often, ai_info.target_signature should be set to -1 whenever no target is specified, just like everywhere else to make sure that the code is as predictable as possible.

(Found while trying to figure out why the heck would the Object update packet send this at all??)
2020-03-27 23:11:19 -04:00
Goober5000 b8c135d162 improve detection of vasudan main hall for cheats 2020-03-25 14:24:37 -04:00
Fabian Woltermann b067e1ac66 Merge pull request #2307 from Goober5000/lab_weapon_bugfix
fix small error in lab
2020-03-24 21:34:58 +01:00
Goober5000 eabead6d41 fix small error in lab 2020-03-24 01:02:50 -04:00
Goober5000 ec50baa9d1 okay then 2020-03-24 00:11:36 -04:00
Goober5000 66f7bc4f50 add newline at end of file 2020-03-23 21:00:02 -04:00
Goober5000 44b7d5a4bd refactor parsing of flyby sounds to make them optional 2020-03-23 20:27:28 -04:00
Goober5000 caebad7077 Merge pull request #2302 from Goober5000/xmt_remove
Xmt remove feature
2020-03-18 09:48:42 -04:00
Goober5000 0caa65a74f address feedback 2020-03-17 17:22:27 -04:00
Goober5000 ff05816e11 add parse blacklist 2020-03-15 20:31:28 -04:00
Goober5000 da326f31f6 additional tweaks after rebase 2020-03-15 17:52:34 -04:00
Goober5000 376a01e82b wip 2020-03-15 17:42:57 -04:00
Goober5000 dc2ce094fc wip 2020-03-15 17:39:21 -04:00
Goober5000 74a0346e0d Merge pull request #2301 from Goober5000/static_cast_tweak
add functions to remove the clutter of static casts for ship and weapon info vectors
2020-03-15 15:08:42 -04:00
Goober5000 3b0d20aaf2 fix clang complaint 2020-03-15 01:35:12 -04:00
Goober5000 a0951f4e28 derp 2020-03-15 00:28:07 -04:00
Goober5000 3da2b99144 maybe these need to be extern'd 2020-03-14 15:13:44 -04:00
Goober5000 c9df8a13f1 add functions to remove the clutter of static casts for ship and weapon info vectors 2020-03-14 13:02:12 -04:00
Goober5000 247d5c453c Merge pull request #2294 from Goober5000/weapon_info_vector
Turn Weapon_info into a vector
2020-03-14 12:30:45 -04:00
Goober5000 5b8e89f37d address feedback 2020-03-14 09:56:56 -04:00
Fabian Woltermann f6083b680a Merge pull request #2299 from The-E/fix/2296_actually_fix_2292
As it turns out, the soundtrack reset issue is a bit more complicated…
2020-03-12 20:29:33 +01:00
Goober5000 fde7fdd854 address feedback 2020-03-07 13:35:17 -05:00
Fabian Woltermann 64531798e7 As it turns out, the soundtrack reset issue is a bit more complicated than I initially thought. The force_soundtrack check I previously removed was apparently vital; without it, calling event_music_level_init() (which in actuality is used to start soundtrack playback!) will result in the music being stopped, as the current soundtrack is set to -1.
This PR refactors the function's name to something more indicative of what it actually does, and removes a call made to it from within freespace.cpp which, due to changes in how the soundtrack system works, is now redundant and doesn't actually do anything anymore.
2020-03-07 19:04:01 +01:00
m!m ecd1cfe59c Merge pull request #2297 from asarium/fix/monoSoundAssert
Fix assertion when playing downsampled sounds
2020-03-07 15:34:09 +01:00
asarium 638bcacb71 Fix assertion when playing downsampled sounds
The sound was passed the data from before the resampling took place so
it though it would be playing a stereo sound and rightly cause an
assertion. This fixes that by refreshing the properties after appliying
the resampling properties.
2020-03-07 13:30:30 +01:00
Fabian Woltermann 4fc82ba334 Merge pull request #2295 from Goober5000/fix_weapon_info_pointer
fix an incorrect optimization
2020-03-07 12:59:23 +01:00
Goober5000 7ebd00e6f5 another fix for CI 2020-03-06 15:48:50 -05:00
Goober5000 fc41984a75 yet another fix for CI 2020-03-06 14:28:39 -05:00
Goober5000 45b5399f08 another fix for CI 2020-03-06 14:03:33 -05:00
Goober5000 fe15752f5e another fix for CI 2020-03-06 12:53:08 -05:00
Goober5000 c0a7be50b4 fixes for CI 2020-03-06 12:23:40 -05:00
Goober5000 bb8fcd428e address feedback 2020-03-06 03:11:31 -05:00
Goober5000 641aa329a5 fix an incorrect optimization 2020-03-05 22:58:00 -05:00
Goober5000 d86332a9d9 fix references 2020-03-05 22:46:07 -05:00
Goober5000 d8e88c1644 oof 2020-03-05 22:31:13 -05:00
Goober5000 1926d3c341 oof, more changes 2020-03-05 20:49:16 -05:00
MageKing17 c502d9bdf7 Merge pull request #2293 from scp-fs2open/fix/2292_reset_soundtrack_index_on_mission_close
Reset the current soundtrack during mission shutdown
2020-03-05 17:02:07 -08:00
Goober5000 20835adef6 convert Weapon_info to a SCP_vector 2020-03-05 19:12:43 -05:00
Fabian Woltermann af5e834250 Also make sure that Current_soundtrack_num is reset whenever event_music_level_init is called 2020-03-05 20:34:00 +01:00
MageKing17 e9051933b9 Merge pull request #2291 from Goober5000/remove_cloakmap
remove CLOAKMAP
2020-03-05 11:21:03 -08:00
Fabian Woltermann bb48ea9c61 Reset the current soundtrack during mission shutdown 2020-03-05 20:15:20 +01:00
Goober5000 939be80c30 wip 2020-03-05 00:01:03 -05:00
Goober5000 732ada474b remove CLOAKMAP 2020-03-04 23:47:22 -05:00
Goober5000 23b5320ec4 Merge pull request #2289 from MageKing17/bugfix/fred-rc-version-refix
Restore fred.rc version fix.
2020-03-02 08:56:34 -05:00
Goober5000 e3f67146b1 Merge pull request #2290 from Goober5000/log_newline
add newlines to mprintf and nprintf
2020-03-02 08:55:24 -05:00
Goober5000 cacee6e5b8 a few more 2020-03-02 01:07:17 -05:00
Goober5000 90c6c91e4f add newlines to mprintf and nprintf 2020-03-02 00:51:58 -05:00
MageKing17 0748ac191c Restore fred.rc version fix.
PR #1514 made this change to avoid having to constantly update fred.rc with new FSO versions, but it was inadvertently reverted in commit 9ac97f24223a7446d4364acfdb451c90697d6577; this also reverts PR #2286, since that's a somewhat more hackish solution to the same problem.
2020-03-01 18:10:23 -08:00
Goober5000 98cb4b6400 Merge pull request #2287 from Goober5000/briefing_stage_1_based
change briefing stage hook to 1-based
2020-03-01 15:36:47 -05:00
m!m 48d1797009 Merge pull request #2288 from asarium/docker-buildOnTagPush
Build docker standalone image on tag push
2020-03-01 16:14:54 +01:00
asarium 50ea017e59 Build docker standalone image on tag push 2020-03-01 14:48:47 +01:00
m!m c42cd25b89 Merge pull request #2284 from asarium/build/makeFFmpegOptional
Make FFmpeg an optional requirement
2020-03-01 11:55:01 +01:00
Goober5000 75099171ef Merge pull request #2286 from Goober5000/fred2_version_small_fix
Fred2 version small fix
2020-02-29 21:57:12 -05:00
Goober5000 809d11e1a8 change to 1-based 2020-02-29 19:21:21 -05:00
Goober5000 dadc65178d update the version number 2020-02-29 13:45:26 -05:00
m!m 52b17c3f8a Merge branch 'master' into build/makeFFmpegOptional 2020-02-29 18:48:13 +01:00
Goober5000 28722d7402 update the version number 2020-02-29 12:34:46 -05:00
m!m bf4243c0b0 Merge pull request #2285 from asarium/docker/fixEventHandling
Fix standalone signal handling
2020-02-29 18:33:46 +01:00
m!m 9dd6d9c874 Merge pull request #2278 from asarium/feature/betterScriptingDeprecation
Improve error message for deprecated functions
2020-02-29 18:33:31 +01:00
m!m 53a3b2b1c7 Merge pull request #2279 from asarium/fix/docker_stuff
Add compile time option to enable logging in release builds
2020-02-29 18:20:26 +01:00
asarium 2dc2295a59 Make FFmpeg an optional requirement
This does some refactoring to make it possible to cimpile and run FSO
without needing to link to FFmpeg. Since that eliminates support for
cutscenes or sound this is mostly useful for running a standalone server
which has no need for this anyway.

This reduces the image size of the standalone Docker image to only 20MB
and also resolves any licensing issues that might have existed.
2020-02-29 17:24:56 +01:00
asarium 582c144cf7 Fix standalone signal handling
The standalone did not initialize SDL and so did not receive the quit
signal when it was sent SIGTERM or SIGINT. This fixes that by making the
standalone server just use the normal os initialization code.

Also includes some other code cleanup and some more logging to make it
more apparent in the log what is currently happening at standalone
startup.
2020-02-29 17:09:55 +01:00
m!m e32cadd06a Merge pull request #2280 from asarium/docker/standalone-image
Add Dockerfile for compiling minimal standalone image
2020-02-27 18:12:30 +01:00
asarium ed6ac7060e Add Dockerfile for compiling minimal standalone image
This adds a Dockerfile which compiles FSO for the alpine Linux
distribution and then creates a standalone image based on those
binaries. That sidesteps the problem that existed with trying to use the
AppImage binaries on that distribution.

This produces a much smaller image (78MB instead of 230MB) so it should
be a bit more managable. Building can be done like this:
docker build --build-arg build_type=FastDebug -t scpfs2open/fso-standalone -f docker/standalone/Dockerfile .
2020-02-26 20:01:31 +01:00
asarium 7029e4a10f Add compile time option to enable logging in release builds
This mostly meant for special docker standalone server builds where it
might be useful to have full release performance but also have the logs
available if necessary. This now always compiles the log statements but
enables or disables them with a constexpr so they should not appear in
actual release binaries.
2020-02-24 18:54:55 +01:00
m!m 4d2cf1d2e0 Merge pull request #2263 from asarium/vulkan/test
Add Vulkan instance and surface creation code
2020-02-23 17:52:56 +01:00
asarium d31b2a971b Improve error message for deprecated functions
This will provide a proper error message when such a function is called
that will mention the name of the function and that it is deprecated and
cannot be used anymore in the targetted engine version.
2020-02-23 16:40:54 +01:00
m!m 74cf0b839d Merge pull request #2276 from asarium/fix/docker_stuff
Add option for logging to stdout
2020-02-23 14:32:08 +01:00
asarium 7f286b726d Add option for logging to stdout
This will make it easier to get logs from FSO running in a docker
container since logging to stdout is the easiest solution there.

Also includes some other changes that will make this work better in
Docker containers.
2020-02-23 13:09:51 +01:00
Goober5000 b0da0ea404 Merge pull request #2272 from Goober5000/briefing_stage_hook
add scripting hook for briefing stage
2020-02-18 14:38:24 -05:00
Goober5000 ca301fdb04 small adjustments 2020-02-18 01:18:07 -05:00
Goober5000 04244ec1ee Merge pull request #2273 from asarium/fix/2269
Handle invalid standard deviation properly
2020-02-17 15:26:56 -05:00
asarium 84b15afa8a Handle invalid standard deviation properly
If anything less than or equal to 0 was specified it would trigger some
kind of an assert in the standard library since that is not a valid
value for a normal distribution. Now a parse warning is generated and a
safe default value is used.

This fixes #2269.
2020-02-17 13:52:25 +01:00
Goober5000 a7063152b7 add scripting hook for briefing stage 2020-02-17 00:58:56 -05:00
Goober5000 5f938169af Merge pull request #2271 from asarium/fix/2266_again
Actually fix shader compilation error
2020-02-16 16:17:03 -05:00
asarium 8763b06c77 Actually fix shader compilation error
And actually compile the shader this time to check if the changes
actually fixed the error.
2020-02-16 13:02:25 +01:00
m!m 90a97021f5 Merge pull request #2267 from asarium/fix/2266
Fix compilation error in shader
2020-02-11 22:00:55 +01:00
asarium 3c6015f6b0 Fix compilation error in shader 2020-02-11 18:05:18 +01:00
Cliff Gordon ca4fcc84ea Merge pull request #2252 from pkubaj/patch-1
Fix build on FreeBSD
2020-02-11 09:35:09 -06:00
Cliff Gordon 94e74cb15f Merge pull request #2264 from pkubaj/patch-2
Fix build on big-endian architectures
2020-02-11 09:32:30 -06:00
pkubaj 3daa819042 Fix build on some LE platforms
Some platforms don't like those variables being unused.
2020-02-11 13:58:26 +01:00
pkubaj 4bb31f4e1b Fix build on big-endian architectures
swap_bsp_data() and swap_sldc_data() use those.
2020-02-10 15:49:52 +01:00
pkubaj 87c5544b7b Change to SCP_BSD 2020-02-10 15:47:17 +01:00
pkubaj 4914c4a452 Change to SCP_BSD 2020-02-10 15:46:56 +01:00
pkubaj 0b33a44004 Change to SCP_BSD 2020-02-10 15:46:30 +01:00
pkubaj 1f98551b12 Change to SCB_BSD 2020-02-10 15:45:57 +01:00
Goober5000 463caecf03 Merge pull request #2262 from niffiwan/fix/issue2261
make small bombs appear smaller in hud targetbox
2020-02-09 14:24:49 -05:00
asarium 2f3f061e75 Add Vulkan instance and surface creation code
This adds a new graphics type for the Vulkan graphics API. All this does
is to create a vulkan instance and a presentation surface with the help
of SDL.
2020-02-09 17:06:21 +01:00
niffiwan 0c0c4ddaef make small bombs appear smaller in hud targetbox
Also cleaned up the code slightly, the factor variable was only used
when missile_view was false
2020-02-09 21:07:04 +10:00
m!m 3fb2f97b43 Merge pull request #2133 from asarium/feature/moreOptionsUI
Add more features for the new Options UI
2020-02-09 11:39:18 +01:00
Goober5000 66daf6ba24 Merge pull request #2259 from Goober5000/update_wiki_cmdling
bring cmdline listing up to date with wiki (update links etc)
2020-02-09 00:55:42 -05:00
asarium a13b503b83 Add more features for the new Options UI
The largest new feature is that it is now possible to include other
files into the RML by using the "include" tag. This is useful for making
markup files more modular.

Also added some more options for existing things (e.g. built-in detail
options).
2020-02-08 13:28:53 +01:00
Goober5000 43a29b4dec address feedback 2020-02-07 12:00:01 -05:00
niffiwan 1c2d8a3b47 Merge pull request #2257 from asarium/gr/genericUniformBlock
Add generic uniform block for low frequency data
2020-02-07 18:06:40 +10:00
MageKing17 aa0a1ae3ed Merge pull request #2253 from scp-fs2open/bump_version
Update Version to 20.1.0
2020-02-05 11:39:11 -08:00
Goober5000 1d12157a07 bring cmdline listing up to date with wiki (update links etc) 2020-02-02 15:46:50 -05:00
asarium ae026f83ca Add generic uniform block for low frequency data
This elimiates all of the remaining "old style" uniforms from our
shaders. This might not be optimal for all situations but I have
confirmed that it is at least not worse at the moment.
2020-02-01 19:18:14 +01:00
Goober5000 facf17a222 Merge pull request #2254 from Kiloku/master
Update changelog with 19.0.0 release
2020-01-29 14:08:46 -05:00
Kiloku bf99541c58 Merge pull request #2 from scp-fs2open/master
Update
2020-01-29 13:32:25 -03:00
Kiloku 34391ebe21 Update changelog with 19.0.0 release 2020-01-29 13:30:49 -03:00
Fabian Woltermann 93f71ec202 Merge pull request #2247 from asarium/gr/matrixUniforms
Use uniform blocks for matrices
2020-01-29 11:04:22 +01:00
m!m e504f6b59e Set minor version to 1
This should be a bit more consistent with how we did versioning before.
2020-01-28 21:29:09 +01:00
m!m 133821952f Update Version to 20.0.0 2020-01-28 21:21:36 +01:00
asarium d7602ec9d1 Disable MinGW in GitHub actions
It fails with the same message as Travis CI :(
2020-01-28 18:20:47 +01:00
asarium fe5dbeccaa Use uniform blocks for matrices
This is a generic way to get matrix data to shaders without using
(old-school) uniforms. This is another step towards more compatibility
with how new APIs (Vulkan) do things to increase the odds for a Vulkan
port at some point.
2020-01-28 18:20:47 +01:00
pkubaj d7e40d2bcc Fix build on FreeBSD
sys/socket.h is needed for AF_INET.
2020-01-28 16:31:23 +01:00
pkubaj 0251fd347f Fix build on FreeBSD
sys/socket.h is necessary for AF_INET.
2020-01-28 16:30:53 +01:00
pkubaj 1cce2d70a3 Fix build on FreeBSD
sys/socket.h is necessary for AF_INET.
2020-01-28 16:30:23 +01:00
pkubaj 68f5b7d524 Fix build on FreeBSD
FreeBSD is similar to Linux and MacOS here.
2020-01-28 16:28:45 +01:00
niffiwan 036d5ed780 Merge pull request #2244 from JohnAFernandez/More-Multi-Cleanup
CleanUp Unused Function
2020-01-28 19:58:09 +10:00
niffiwan c109562c40 Merge pull request #2251 from wookieejedi/fix-rtt-target-display
Fixes RTT Target Box Scaling
2020-01-28 19:56:24 +10:00
niffiwan 0334b3c287 Merge pull request #2249 from wookieejedi/fix-hasfilter-on-weapons-hud
Fix weapon names not filtering # in HUD gauge
2020-01-28 07:06:57 +10:00
wookieejedi 9039081fa7 formatting 2020-01-27 12:23:15 -05:00
wookieejedi 73a5ac7665 specify floats 2020-01-27 12:17:26 -05:00
wookieejedi 6c2e419825 Fixes RTT Target Box Scaling
It seems that when RTT for cockpits was added that the scaling of ships in the target box fell through the cracks. Properly specifying the `clip_aspect` fixes the issue. This PR fixes issue #2250.
2020-01-27 10:04:57 -05:00
wookieejedi c2c2042a38 remove unneeded string filtering 2020-01-27 08:33:41 -05:00
wookieejedi da08ba5932 remove unneeded line 2020-01-26 15:10:32 -05:00
wookieejedi bc14149e84 Fix weapon names not filtering # in HUD gauge
Weapon names with a `#` should not display text after that `#` in the HUD. For the most part this works, but there were a few cases this didn't (such as primaries using the weapon name). This PR fixes two spots that fell between the cracks.
2020-01-26 14:08:28 -05:00
Goober5000 6ceb2a276c Merge pull request #2243 from wookieejedi/allow-engine-wash-intensity
Allows Modders to Actually Use Engine Wash Intensity
2020-01-25 16:32:12 -05:00
m!m d8537843ab Merge pull request #1600 from asarium/opengl/persistentlyMappedBuffer
Add persistent buffer mapping support for uniform data
2020-01-25 21:44:47 +01:00
wookieejedi 539cad66e7 change placement and add reset values 2020-01-20 12:31:18 -05:00
JohnAFernandez b042b27310 Remove Another Unused Multi Function
This function used to help with the sequence number of packets, but that is now done in the object packet functions themselves.
2020-01-20 00:42:56 -05:00
JohnAFernandez 8ee447d8c2 CleanUp Unused Function
This function does not have any contents and should be removed.
2020-01-20 00:28:28 -05:00
wookieejedi 8a36fc138c Allows Modders to Actually Use Engine Wash Intensity
Previously, Engine Wash Intensity didn't actually do anything in the code. This adds a game table setting that let's modders specify to the game to actually take the intensity value into account when calculating engine wash effects.
2020-01-19 16:54:58 -05:00
m!m a86322c49d Merge pull request #2242 from asarium/feature/deprecatedPostProcess
Add -post_process to deprecated flags section
2020-01-19 16:07:00 +01:00
asarium b19d7def54 Add -post_process to deprecated flags section
This should avoid causing warnings to pop up when users still have this
in their command line.
2020-01-19 12:28:06 +01:00
m!m 34577df2ea Merge pull request #2240 from Goober5000/post_processing
Clean up launcher settings a bit
2020-01-18 15:58:08 +01:00
Allen A. Babb b56c0d8bff Merge pull request #2241 from wookieejedi/fix-default_disabled_control-setting
Fix overriding the default values in control table for `disabled`
2020-01-17 21:19:08 -06:00
wookieejedi 48164e447d Fix overriding the default values in control table for disabled
For some reason my repro had some critical issues and I was unable to comitt to the PR #2210. I have closed that PR and opened this one given the discussion in #2210. The result of that discussion was `but omit line 594`. That is what this PR does.
2020-01-17 19:49:05 -05:00
Goober5000 1f4867a640 Clean up launcher settings a bit
Three main changes in this PR:

1) The enums for the "easy settings" launcher options are now clearer and more explicit, and the enum assignments for a lot of graphics options are now fixed, as they were incorrect due to code rot.

2) Some of the command-line flags options have been recategorized: -window, -fullscreen_window, -nomotiondebris and -noscalevid are now Gameplay; and -fps is now HUD.

3) Since post-processing is required for nebula fading, it now defaults to on, and the flag has been changed to -no_post_process.
2020-01-16 18:14:03 -05:00
wookieejedi 648598c729 Merge pull request #2239 from scp-fs2open/revert-2236-add-scripting-support-gun_convergence
Revert "Adds Scripting Support for the Ship Flag `gun convergence`"
2020-01-14 18:22:19 -05:00
wookieejedi 0b6a642a17 Revert "Adds Scripting Support for the Ship Flag gun convergence" 2020-01-13 23:32:03 -05:00
m!m 939492b981 Merge pull request #2196 from JohnAFernandez/Mantis#2129
Mantis#2129 Address Rare Multi Crash
2020-01-13 20:44:11 +01:00
Goober5000 69393f9104 Merge pull request #2236 from wookieejedi/add-scripting-support-gun_convergence
Adds Scripting Support for the Ship Flag `gun convergence`
2020-01-13 14:38:57 -05:00
Goober5000 3a2c680caa Merge pull request #2238 from scp-fs2open/fix/no_emissive_light_flag_behaviour
Update cmdline.cpp
2020-01-13 11:18:50 -05:00
Fabian Woltermann db71f3d550 Update cmdline.cpp
This fixes #2237
2020-01-13 08:58:38 +01:00
asarium 0b2695e9e4 Some more security checks 2020-01-12 22:23:13 +01:00
wookieejedi 51bbb0c1d2 Adds Scripting Support for the Ship Flag Gun Convergence 2020-01-12 15:37:31 -05:00
asarium 362645ce27 Reformat code with clang-format 2020-01-12 12:57:00 +01:00
asarium 10ab4a00f5 Fix clang-tidy issues 2020-01-12 11:59:23 +01:00
asarium 5ce6c251ff Add persistent mapping support
Persistent buffer mapping is an OpenGL technique where the contents of a
buffer object are mapped to a persistent pointer instead of having to
map and unmap a buffer every time it is modified.

This decreases the overhead for updating data in a uniform buffer object
which now only consists of a memcpy and a flush call.
2020-01-12 11:59:23 +01:00
asarium a3651026b1 Improve how the engine handles uniform buffers
This is in preparation for using persistently mapped buffers for uniform
buffers. Since that functionality is not available in the OpenGL version
we are targetting I implemented a fall-back which simply uses
glBufferSubData.

I did a benchmark with these changes and there was no change in
performance to the current master version.
2020-01-12 11:59:23 +01:00
Goober5000 6f18d93a23 Merge pull request #2234 from asarium/fix/warningsInParselo
Replace Warning with error_display in parselo
2020-01-11 18:38:52 -05:00
asarium 8e767bb613 Replace Warning with error_display in parselo
error_display shows the line where the error was detected. Warning
itself is pretty useless for parsing related errors so I replaced all
Warnings (where appropriate) with an equivalent error_display.
2020-01-11 21:57:52 +01:00
Goober5000 06df419429 Merge pull request #2233 from wookieejedi/cleanup-debuglog-output
Proposal to cleanup debug log statement regarding turret fire
2020-01-10 02:10:44 -05:00
Goober5000 98bafefc32 Merge pull request #2231 from JohnAFernandez/Fix-Interpolation
Better Timing For Interpolation Calc
2020-01-10 02:01:02 -05:00
wookieejedi 45e34797ae remove entirely 2020-01-09 23:29:23 -05:00
Goober5000 9eb7884968 Merge pull request #2232 from wookieejedi/fix-random-delay-firerate-calculation
Fixes calculations for random fire rates when using min and max delays
2020-01-09 21:51:13 -05:00
JohnAFernandez 2bdcd1bf04 Better Timing For Interpolation Calc
Does this by refactoring how the timing is calculated.  It also removes the Next Arrival Time Array, which does not actually do a good job of calculating it, anyway.  We can now rely on the other oo_arrive_time arrays exclusively by subtracting from current time.

Squashed Commits:
1. Use function to pull FrametimeOverall to keep from breaking Fred.
2. Remove unsed parameter from multi_oo_calc_interp_splines
3. And also fix the corresponding declarations and functions calls.
2020-01-09 19:34:54 -05:00
wookieejedi 00e750c120 Proposal to cleanup debug log statment regarding turret fire
In aiturret.cpp there is a mprintf, `mprintf(("nothing ok to fire\n"));` which greatly pollutes the debug log in missions with turreted ships. I'm not sure what this message helps debug, thus I propose commenting it out.
2020-01-09 18:03:21 -05:00
wookieejedi 6b872ef93c Fixes calculations for random fire rates when using min and max delays
Previously, using max and min delays resulted in guns firing that were not within the specified range. This PR fixes that while also simplfying the code. `frand_range` is already using in each of those functions so I figured it would be fine to use it and also simplify the code. That, instead of `next_fire_delay = (((float)rand()) / (((float)RAND_MAX + 1.0f) * (winfo_p->max_delay - winfo_p->min_delay + 1.0f) + winfo_p->min_delay))`.
2020-01-09 17:56:02 -05:00
Goober5000 07231d74e6 Merge pull request #2229 from wookieejedi/additional-initial-velocity-fixes
Cleanup Reaming Issues with Initial Velocity
2020-01-08 22:47:42 -05:00
Goober5000 78f113e806 Merge pull request #2230 from JohnAFernandez/Optimize-Multi-in-Debug-Builds
Remove Debilitating Debug Function Calls
2020-01-08 22:31:45 -05:00
wookieejedi da05fa18c5 use nullptr 2020-01-07 12:58:42 -05:00
wookieejedi 89576232a5 Few additional cleanups to hyperspace warpins with initial velocity 2020-01-07 11:08:06 -05:00
JohnAFernandez a73ccee28d Remove Debilitating Debug Functions
These function have been around since retail.  What they were supposed to do was allow the V team to get a baseline of how much data object updating would use without the limiting system.

However, the way that multi_rate_add work, is that they say to the limting system, "The client is getting a lot of data, so limit it some more." And that eventually causes debug build object updates to slow to a crawl.
2020-01-06 21:55:03 -05:00
wookieejedi 15b494b765 Cleanup Remaing Issues with Initial Velocity
This PR tidies up the comments in the initial velocity setting, properly sets the player's throttle, and cleans up issues with initial velocity setting and hyperspace warpin types.

Note the removed code block for hyperspace warpin ending was removed becuase it is not needed, as physics calculatios already handles that. Also the calculations that were there did not properly account for initial ship velocity setting.
2020-01-06 11:29:09 -05:00
Fabian Woltermann 49559c047f Merge pull request #2220 from wookieejedi/fix-min_max-firewait-oversight-for-turrets
Fix Min and Max Delays for Fire-rate not working for Turrets
2020-01-06 13:44:43 +01:00
Fabian Woltermann c6af310178 Merge pull request #2223 from wookieejedi/fix-setting-of-initial-velocity
Fix Setting of Initial Velocity
2020-01-06 13:43:21 +01:00
m!m 3013b76a46 Merge pull request #2224 from JohnAFernandez/Vector-Math-Description-Cleanup
vecmat.cpp quick cleanup
2020-01-06 12:13:08 +01:00
wookieejedi b32f2856fc consolidate variables 2020-01-05 22:57:22 -05:00
wookieejedi 1fdf2876d0 update comment 2020-01-05 21:34:36 -05:00
JohnAFernandez 790949b527 vecmat.cpp quick cleanup
A few early on descriptions in this file are inconsistent or even plain wrong.  This should correct that.

Also, rename vm_vec_imag() to vm_vec_inv_mag_quick() to better describe what it is.
2020-01-05 20:29:59 -05:00
wookieejedi 7d1acf0b08 Fix Setting Initial Velocity
It turns out that the code that set initial ship velocities did not account for local ship rotation changes. This bug is only noticeable when ships are very high speeds, high initial velocities, and have high drift values thus it was never recognized before. This PR fixes that by ensuring that the velocity vectors are set appropriately. As discussed with Goober on Discord, this fixed behaviour is indistingushable when using FS ships and most mods, this the behavipur will be on by default.
2020-01-05 16:45:24 -05:00
Goober5000 1d9eb94726 Merge pull request #2213 from Goober5000/verify_and_load_cleanup
Minor cleanup to Verify and loading bar
2020-01-04 13:51:02 -05:00
Goober5000 4503fc05d5 Merge pull request #2222 from asarium/fix/fogDepth
Fix fog depth computation
2020-01-04 11:52:58 -05:00
asarium 42953b0f0d Fix fog depth computation
This was previously using the wrong direction of the conversion so it
produced wrong values. This should fix that and should hopefully bring
the nebula experience back to how it is supposed to look.
2020-01-04 12:04:26 +01:00
wookieejedi a69e6b1e8e Fix Min and Max Delays for Firerate not working for Turrets
When the `+Max Delay:` and `+Min Delay` for `Fire Wait` were added they were only added to primary firing and not turret firing. Specifically, `turret_set_next_fire_timestamp` uses only `winfo_p->fire_wait` while `ship_fire_primary` uses the delays. Checking with the original author DahBlount they specified it was an oversight, thus this PR fixes that and allows the delays to now work properly with turret firerates.
2020-01-03 13:40:17 -05:00
Goober5000 072105a9c3 Merge pull request #2219 from wookieejedi/restore-3d-weapon-icons
Restore 3D Weapon Icons when Flag Used
2020-01-03 12:57:51 -05:00
wookieejedi 1578e4eab4 Restore 3D Weapon Icons when Flag Used
Overview: This PR restores all expected functionalility of the 3D weapon select flag while also providing modders with a way to use both 3D models and custom weapon icons.

PR #2055 provided a way for modders to use 3D weapons while still using specified weapon icons. Unfortunately that resulted in weapon icons not changing to an image of the 3D model when the 3d weapon selection flag was used. It was requested on the forum that this behaviour be restored. This PR restores that behaviour while still allowing modders to use 3D weapon models and their own weapon icons. Instead of the approach taken in PR #2055, this PR will automatically show a 3D weapon model if there is not weapon animation specified and if a weapon tech model is specified. Thus, if a modder wants to use their custom weapon icon but also have a 3D weapon model shown, they simply do not specify a model animation but do specify a tech model for the weapon (the 3d weapon selection flag does not need to be checked). If the 3d weapon selection flag is checked then the 3D weapon model will of course still be used, but the weapon icons will now show the image of the 3D model instead of any custom weapon icons the modder specified. In other words, the flag acts exactly as expected for the player.

I also tested this for each case and it works as desribed above.
2020-01-02 23:18:32 -05:00
m!m 1c23d90846 Merge pull request #2218 from asarium/cleanup/grDefs
Cleanup some unused functions in the graphics subsystem
2020-01-02 21:33:42 +01:00
asarium bfe507a53a Cleanup some unused functions in the graphics subsystem 2020-01-02 17:05:26 +01:00
MageKing17 bf82ffdf4b Merge pull request #2217 from Goober5000/fix_builtin_messages_sexp
fix disable/enable builtin messages for wingmen
2020-01-02 04:42:24 -08:00
Goober5000 0c26ad40e9 fix disable/enable builtin messages for wingmen
In the case of "any wingman", the sexp logic was flipped.
2019-12-30 18:55:09 -05:00
FSCyborg 56fd6f504a Mantis#2129 Address Rare Multi Crash
Should fix rare multi crash where reserving net signatures for spawened munitions would cause an ushort overflow, triggering an assert in multi_set_network_signature.

Turns out we can just remove the assert, and just guarantee that signature is going to be in the required range.

Squash history:
1. Improve Assertions (as per Taylor's suggestion) and reconfigure Int3
2. Wording change on last assertion
2019-12-28 00:50:35 -05:00
Goober5000 2521228666 accidentally a # 2019-12-27 15:25:41 -05:00
Goober5000 db6520c072 make the loading bar a bit more accurate by updating the count estimate to a recent 'real count' 2019-12-27 14:24:16 -05:00
Goober5000 09f06dc1ed rename VerifyEx to Verification and remove old MSVC 2005 checks 2019-12-27 14:22:44 -05:00
Goober5000 aee6ecb974 Merge pull request #2212 from JohnAFernandez/Fix-Multi_Crash
Urgent Multi Fix
2019-12-27 14:01:41 -05:00
JohnAFernandez b06761bc66 Urgent Multi Fix
Any server build created this year will crash any client connected to it because it will send a packet cotaining hull updating information, but accidentally unset the flag for new hull info. The client was therefore unaligned with the packet, causing the local subsystem_update array to go bonkers.
2019-12-27 11:35:25 -05:00
Goober5000 20e78143ee Merge pull request #2211 from JohnAFernandez/MultiUtil-Cleanup
Multiutil.cpp cleanup#1
2019-12-27 01:06:59 -05:00
JohnAFernandez 861eb14865 Clean Up Error Handling in multitutil.cpp
Removes about half of the Int3()'s in multiutil.cpp by making Assertions more robust, changing two functions to void type (because there was no way to get an error value from them, anyway), and adding two Verify()'s in case we ever decide to start using the multi variable change functions.

Squash History:
1) Forgot to change one Assert to Assertion
2) Change Verify to Assertion, because of better argument support.
3) Fix a couple copy paste errors
2019-12-26 07:59:14 -05:00
JohnAFernandez e34e3378a2 Modernize NULL to nullptr in Multiutil.cpp 2019-12-25 22:51:25 -05:00
FSCyborg 03125df50c Multiutil Minor Cleanup
Just a quick PR to make multiutil slightly more readable by removing one unused function (whose functionality is already in the object update packet), two globals which we only increment and we do nothing with, and some defines that have been commented out because the size returned can actually vary.
2019-12-25 22:06:38 -05:00
Goober5000 67613bbba0 Merge pull request #2209 from wookieejedi/fix-key-numbers-for-multi
Fixes accidental break with multi due to max key numbers
2019-12-23 17:42:10 -05:00
wookieejedi 4f5f3e859e remove keys 5-9 and 0 2019-12-23 16:05:35 -05:00
Goober5000 10bec9ff00 Merge pull request #2208 from CasparKielwein/ck/bitmanip_with_unsigned
make internal variables in static_rand unsigned.
2019-12-23 12:23:12 -05:00
wookieejedi a7e4a72622 add to button_function_critical() 2019-12-23 10:41:42 -05:00
wookieejedi 3167623e31 Fixes accidental break with multi due to key numbers
This PR reduces the number of custom controls back down to 127 so as to keep multi compatibility.
2019-12-23 10:36:23 -05:00
CasparKielwein c3a51296f8 make internal variables in static rand unsigned.
several of the bitwise manipulations on signed integers are technically undefined behaviour.
I made the internal variables unsigned and the results are then converted to signed ints as before.
This should not actually change any observable results.

Did some cleanup as well, while I was at it.
2019-12-23 10:52:33 +01:00
Goober5000 084cd65e97 Merge pull request #2202 from notimaginative/fix_trails_memory_bug
fix Trails.next pointing to invalid address
2019-12-22 12:09:52 -05:00
Goober5000 158448401a Merge pull request #2203 from notimaginative/fix_end_mission_on_death
avoid ending mission on death unless we should
2019-12-22 12:09:22 -05:00
MageKing17 bc5425166c Merge pull request #2206 from FSCyborg/Fix-Multi-Backend
Fix Multiple Multi Backend Issues
2019-12-21 19:25:01 -08:00
MageKing17 3da2bdc0ad Merge pull request #2205 from CasparKielwein/ck/clean_main_file
Refactore: cleanup freespace.cpp
2019-12-21 19:17:33 -08:00
FSCyborg b37c6b9052 Fix Multiple Multi Backend Issues
This fixes string comparison of ship names in multi.  Any respawned ship would be given a default name and would return false for any future name comparison.

The most visible affect of this was being given the default loadout and fighter on respawn instead of the fighter and weapons you selected, but Taylor was spotting a lot of potential other break points as he looked through other unrelated multi issues on mantis.

Squash History:
1) Fix comments and warning to be clearer.
2) Replace NULL with nullptr
2019-12-21 18:17:34 -05:00
CasparKielwein ca3dc4277f made lopps in freespace.cpp range based as per clang tidies request
in test_sound remove the redundant reset of the array lopp.
2019-12-21 21:03:21 +01:00
CasparKielwein 0f65314dd9 in labviewer_close_flags_window call vector.clear instead of empty.
Intent probably was to empty the vectors and not check for state empty.
This was most likely a bug, which was called by the no_discard attribute on the function.
2019-12-21 11:02:15 +01:00
CasparKielwein abaa891b00 cleanup of freespace.cpp replace NULL with nullptr and declare variables at use 2019-12-21 11:02:15 +01:00
CasparKielwein 176de9e928 remove unused code behind TIMER_TEST, it asks to get matt, who is long gone :) 2019-12-19 21:54:36 +01:00
CasparKielwein 84fb5e7610 remove unsused JOHNS_DEBUG_CODE 2019-12-19 21:54:36 +01:00
CasparKielwein 977a8aff91 remove unused compiler flag DYN_CLIP_DIST 2019-12-19 21:54:36 +01:00
CasparKielwein 06ead7c051 removed unused turret debug function in freespace.cpp 2019-12-19 21:53:55 +01:00
CasparKielwein 3d485af4cc remove framerate_check code in freespace.cpp which didn't do anything anymore. 2019-12-19 21:50:16 +01:00
CasparKielwein 7cde541390 remove unused functions in freespace.h
also remove the define STAMPER_PROGRAM, which the author
considered "yuck" in 1997, so lets do him the favor.
2019-12-19 21:50:16 +01:00
CasparKielwein 8b7b9627ed removed unused variables and outcommented code in freespace.cpp 2019-12-19 21:50:15 +01:00
Taylor Richards 7e2193ef2d avoid ending mission on death unless we should
should fix Mantis 2377 and probably several other issues
2019-12-18 09:55:15 -05:00
Taylor Richards f536b0cda2 fix Trails.next pointing to invalid address 2019-12-18 09:54:18 -05:00
Goober5000 58992cfd3a Merge pull request #2201 from MageKing17/bugfix/undinky-shockwaves
Make Dinky Shockwaves not dinky by default.
2019-12-17 02:50:20 -05:00
Goober5000 d9dfce3c25 Merge pull request #2147 from asarium/feature/luaParseObjects
Add Lua access to not yet arrived ships
2019-12-17 02:35:14 -05:00
MageKing17 440162ab24 Use a float multiplier instead of a boolean.
Also, I forgot to initialize the variable in mod_table_reset() before.
2019-12-16 21:43:21 -08:00
MageKing17 c9e38fedd2 Make Dinky Shockwaves not dinky by default.
Adds a new mod table option "$Default Dinky Shockwaves:" that toggles the behavior. See issue #774 for more information.
2019-12-16 17:46:27 -08:00
Goober5000 2856ae3583 Merge pull request #2197 from wookieejedi/update-fred-key-pressed-tree
Allow sexp-tree for `key-pressed` to actually show what the mod will use
2019-12-15 20:14:27 -05:00
Allen A. Babb bb2f19c176 Merge pull request #2198 from FSCyborg/Mark-VM_EXTERNAL_CAMERA_LOCK-Deprecated
Add deprecation warning for VM_EXTERNAL_CAMERA_LOCKED
2019-12-15 18:53:16 -06:00
FSCyborg d16a3fa5cf Add deprecation warning for VM_EXTERNAL_CAMERA_LOCKED
Previously deprecated enum for hasViewmode() lua function didn't have a warning.  This fixes that.

Also, I am adding a check to ignore it while writing scripting.hmtl.
2019-12-15 15:03:00 -05:00
wookieejedi b07a3282ad adjust position of function call 2019-12-15 14:50:34 -05:00
Goober5000 83370f6219 Merge pull request #2194 from wookieejedi/add-default-keys-custom-controls
Allows the custom controls to work with `key-pressed` sexp
2019-12-15 14:39:55 -05:00
asarium 3960af6ba5 Add Lua access to not yet arrived ships 2019-12-15 15:42:07 +01:00
wookieejedi b0edc12985 cleanup whitespace diff 2019-12-15 00:51:08 -05:00
wookieejedi 83c72ec9ae modify location and add to qtfred 2019-12-15 00:39:37 -05:00
Goober5000 d3c5eb3894 Merge pull request #2142 from notimaginative/auto_port_forwarding
Auto port forwarding
2019-12-14 23:51:03 -05:00
wookieejedi 82a53d8fef Allow sexp-tree for key-pressed to actually show what the mod will use
This PR allows modders/FREDers to actually see what default controls available are in FRED and not the hard coded ones from `Control_config` that may not be relevant for their mod. For example, a mod may disable many controls and change the default key for many controls in the table, but that is not reflected in FRED since FRED simply checks the hard coded ones from `Control_config`.

Example:
Previously, if the modder specifies a default key for, say, `Enter Subspace (End Mission)` as `Enter` instead of `Alt-J` in `Controlconfigdefaults.tbl` then the game will only look for if `Enter` was pressed, whereas the `key-pressed` tree in FRED will not show that and will still show `Alt-J`. Then if the FREDer uses `Alt-J` it won't ever actually trigger in-game since the control table has switched it to `Enter`. This PR would allow FRED to properly show `Enter` instead of `Alt-J` in the sexp tree for `key-pressed`.

Background:
1) Game reads the hardcoded values for each key and saves in `Control_config`
2) Game parses `Controlconfigdefaults.tbl` and updates the default keys in `Control_config` with any that are specified in that table.
3) Now the key defaults have been changed, and when `key-pressed` is called it searches for it's argument in the updated `Control_config` array, but only searches for the default. Thus even if the player changed the key, it will still find it and properly convert it.

All of that works well and as expected. But FRED never goes beyond step 1, so when FREDing I don't use the drop down tree for `key-pressed` since it doesn't actually match what the game will know when it parses `Controlconfigdefaults.tbl` in step 2.
2019-12-14 16:16:32 -05:00
wookieejedi 7d60ee882b add keys 0 and 5-9 2019-12-14 15:20:31 -05:00
Goober5000 f958116a64 Merge pull request #2190 from MitoPL/MitoPL-patch-1
Hide FPS counter with the rest of HUD
2019-12-14 15:05:32 -05:00
Goober5000 4b51ac5987 Merge pull request #2184 from FSCyborg/Fix-JumpNode-Briefing-Bug
Fix Crashes In Briefing Screen
2019-12-14 11:57:29 -05:00
Goober5000 d06a3ca72c Merge pull request #2195 from Goober5000/fix_mantis_2542
apply fix for model_anim_get_time_type (Mantis 2542)
2019-12-14 11:31:03 -05:00
m!m fdf37dcb35 Merge pull request #2052 from asarium/feature/scriptingModelPaths
Add scripting API support for model paths
2019-12-14 12:36:18 +01:00
asarium b825f57bf4 Add scripting API support for model paths
This adds a scripting API for querying the paths of a model.
2019-12-14 09:15:44 +01:00
Goober5000 d664f13f97 Merge pull request #2192 from FSCyborg/Fix_FSO_Launch_From_FRED
Open FSO from FRED Using FRED's Directory
2019-12-14 00:47:16 -05:00
Goober5000 a069eb62f9 apply fix for model_anim_get_time_type (Mantis 2542)
This patch was posted in 2011 but never applied.  Here's a PR to remedy that.

Mantis ticket:
http://scp.indiegames.us/mantis/view.php?id=2542

Original thread:
http://www.hard-light.net/forums/index.php?topic=79068.0
2019-12-14 00:39:58 -05:00
wookieejedi 3bc878db9a Allows the custom controls to work with key-pressed sexp
This expands the functionality of the cusotm controls to work with rebindings when using the sexp `key-pressed`. A key default value must be specified in `controlsconfigcommon.cpp` for the sexp `key-pressed` to track key binding changes. This PR adds that functionality by assigning default keys that were not in use (alt shift 1-5).
2019-12-13 23:27:35 -05:00
FSCyborg 0e31be10f5 Switch to nullptr in this function 2019-12-13 21:19:56 -05:00
Goober5000 e96f9400e1 Merge pull request #2193 from The-E/fix/remove_unused_cmdline_flags
Remove the -ogl_spec and -spec_exp cmdline arguments
2019-12-13 13:46:20 -05:00
Fabian Woltermann d703d61cba Remove the -ogl_spec and -spec_exp cmdline arguments, as they are no longer used by anything 2019-12-13 12:37:36 +01:00
FSCyborg f00be46211 Open FSO from FRED Using FRED's Directory
According to the CreateProcess() documentation, passing NULL in the eighth argument starts a process in the same directory as the original process, which is what we're trying to do.

Please note this is a Windows only solution, and cannot be ported to QTFred

Addresses 1775, already tested on Release and Debug
2019-12-12 21:36:18 -05:00
Taylor Richards 826a92745d clean up logging just a bit 2019-12-12 08:06:59 -05:00
Taylor Richards f573706d07 allow for unicast (gateway) route type
this fixes an issue where the default gateway
isn't in the main routing table but is instead
the primary unicast route

(ChromeOS, maybe others)
2019-12-12 08:06:59 -05:00
Taylor Richards 9ae62e9db8 remove some cruft from previous attempts 2019-12-12 08:06:59 -05:00
Taylor Richards 7da6276f07 fix type issue with XP compat code 2019-12-12 08:06:59 -05:00
Taylor Richards c286c4c2ce add support for automatic port forwarding 2019-12-12 08:06:59 -05:00
Goober5000 820d4452d8 Merge pull request #2191 from notimaginative/fix_multi_mode_switch
properly save single/multi mode setting
2019-12-12 03:07:16 -05:00
MitoPL e8a07b6972 Update freespace.cpp
A quick update that should allow for the FPS gauge to be hidden together with the rest of the HUD. Sounds useful for anyone wanting to take clean screenshots.
Also, thanks @wookiejedi for showing me how to do this.
(Will that even work? that's my first real meeting with GitHub so I'm a bit anxious.)
2019-12-12 01:19:34 +01:00
Taylor Richards 7ede543ca7 properly save single/multi mode setting 2019-12-11 17:48:48 -05:00
Goober5000 da1634cdc2 Merge pull request #2158 from Goober5000/never_viewable
add $Never Viewable flag for cutscenes
2019-12-11 12:49:59 -05:00
Goober5000 1183140dc2 Merge pull request #2169 from notimaginative/pxo_banners
fix PXO banners (and inetgetfile stuff)
2019-12-11 12:47:37 -05:00
Allen A. Babb fc29960b3b Merge pull request #2189 from wookieejedi/add-custom-controls-for-modders
Add Extra, Empty Controls for Modders to Use.
2019-12-11 07:59:10 -06:00
wookieejedi 2e3f0e2f80 Add Extra, Empty Controls for Modders to Use
Many mods and scripts use custom features that are triggered by key press. Currently, those keypresses cannot be changed by the player. I want to add 5 controls that do nothing and thus can be used for scripts/modding purposes. This way the modder could add new features/controls easily and have them show up in the controls menu and be bindable. As opposed to using a script which triggers via a keypress, and that keypress cannot be changed by the player in game (and may be bound to another control).

Also, Axem has expressed he would find this feature and Fate of the Galaxy certainly will.
2019-12-10 19:59:04 -05:00
Goober5000 d9bb6625fd Merge pull request #2188 from asarium/fix/1481
Fix #1481: Use a lower default specular factor
2019-12-10 19:07:12 -05:00
Goober5000 d2c9afc853 Merge pull request #2187 from wookieejedi/specify-string-index-via-xstr
Method to fix controls translation issue
2019-12-10 19:06:43 -05:00
wookieejedi 8535c3cbea clarify variable is int 2019-12-10 13:51:03 -05:00
wookieejedi 8fdd8624e4 fix struct issue 2019-12-10 13:44:21 -05:00
asarium c294433741 Fix #1481: Use a lower default specular factor
This is a fix for models with no spec map since the current default
factor looks very odd for retail models.
2019-12-10 19:40:18 +01:00
wookieejedi e89fb04b8c test fix troubleshooting 2019-12-10 13:24:52 -05:00
wookieejedi de0a43940f update comment with correct type 2019-12-10 13:20:28 -05:00
wookieejedi 02aab6cfdf Method to fix controls translation issue
This PR adds functionality to `Has Xstr:` in `controlconfiguredefaults.tbl`. Previously this value was use as a boolean, 0 or 1 to specify if the string should be used. This PR treats that field as an integer, and thus allows modders to specify which string to use for the control. If the value is 0 (default) then the string is not used, if the value is 1 then the defautl string is used and if the value is greater then 1 the game will use that specified index in strings.tbl.

This allows modders to properly translate all control names.  Specifially, six controls overlaped with pre-existing string.tbl indexes adn thus could not be translated properly. These are VIEW_TOPDOWN, VIEW_TRACK_TARGET, AUTO_PILOT_TOGGLE, NAV_CYCLE, TOGGLE_GLIDING, and CYCLE_PRIMARY_WEAPON_SEQUENCE.

This PR will allow modders to now proerly have full control name translations. It also provides a fix for issue #1629.
2019-12-10 12:57:31 -05:00
FSCyborg d0bee3a3ac Fix Crashes In Briefing Screen
Fixes the following:
1. Crash from creating an icon from a jumpnode
2. Crash from creating an icon from a waypoint
3. Waypoint would become a jumpnode icon in briefing screen.

This line is the cause:

                iconp->ship_class = (int)std::distance(Ship_info.cbegin(), it);

The main purpose of this commit is to change iconp to biconp, like the rest of the function uses.

The other change is how it checks for a jumpnode so that it is only true if there *is* a jumpnode.
2019-12-09 21:48:16 -05:00
Goober5000 2049778da8 Merge pull request #2171 from Kiloku/master
Add Documentation Update instructions and moves Building info from Readme to wiki
2019-12-09 16:19:43 -05:00
Goober5000 2972fdc1cf Merge pull request #2186 from wookieejedi/deprecate-set-object-speed
Deprecates `set-object-speed` in favor of `ship-maneuver`
2019-12-09 16:18:48 -05:00
wookieejedi b0dfca91c5 hide set-object-speed in FRED 2019-12-09 14:37:59 -05:00
wookieejedi 55e5351214 Deprecates set-object-position in favor of // wookieejedi - this sexp is deprecated in favor of ship-maneuver`
Per dicussion on Discord and and Github, `set-object-position`  does not work properly and the fix would involve making it act the same way as `ship-maneuver`. With discussions with Goober (who originally made it), we have decided to deprecate the sexp. I have talked with folks who have used it thus I am not removing it from FRED with this PR but I am open to discussion on that point.
2019-12-09 14:15:38 -05:00
MageKing17 2789d143bb Merge pull request #2185 from MageKing17/cleanup/objecttypes-nocreate-behavior
Standardize nonstandard "+nocreate" behavior in objecttypes.tbl
2019-12-09 01:31:40 -08:00
MageKing17 8935075af9 Make clang-tidy happy by changing NULL to nullptr. 2019-12-08 19:25:24 -08:00
MageKing17 90467f8f41 Standardize nonstandard "+nocreate" behavior in objecttypes.tbl
If you modified an existing ship type without using +nocreate, it would both modify it and add it to the vector again, leading to (at the very least) wasted memory. I copied over some more standard behavior from other parsing functions to hopefully avoid problems with modular objecttypes.
2019-12-08 18:53:19 -08:00
Goober5000 4d6ec5c431 Merge pull request #2182 from wookieejedi/fix-rtt-ss-bracket-bug
Fix RTT Subsystem Bracket Bug
2019-12-08 15:08:02 -05:00
wookieejedi 9184ed4224 Fix RTT Subsystem Bracket Bug
Previosuly, subsystem brackets in the target ship gauge were not always drawn in the correct location when using RTT with the gauge. This PR fixes that.
2019-12-07 23:56:54 -05:00
Goober5000 599313da81 Merge pull request #2179 from asarium/fix/ciStuff
Fix some CI issues
2019-12-07 11:26:58 -05:00
Goober5000andMageKing17 f8bdfa2d0b Update code/cutscene/cutscenes.cpp
Slightly compactify flag check

Co-Authored-By: MageKing17 <[email protected]>
2019-12-05 12:22:16 -05:00
asarium f817538567 Fix some CI issues
First one is to allow MinGW failures since that is unreliable at the
moment. Second one is a fix for the regex used by clang-tidy so that it
doesn't try to analyze CMake files.
2019-12-05 18:16:59 +01:00
Goober5000 8bde99654f Merge pull request #2178 from FSCyborg/Free_Look_X_Inversion_bug
Fix Free look turning in the wrong directions
2019-12-05 11:48:30 -05:00
Taylor Richards 7552b50a2e address clang-tidy issues 2019-12-05 01:30:18 -05:00
Taylor Richards f4883401e9 const all the chars 2019-12-05 01:30:18 -05:00
Taylor Richards d223aee4e7 fix PXO banners (and inetgetfile stuff) 2019-12-05 01:30:18 -05:00
FSCyborg d6ec51235b Fix Free look turning in the wrong directions
Free look will now move in the same directions as ship controls, whether pitch or yaw, and whether using keyboard or mouse/joystick.

Also, remove an inaccurate comment, and add a clarifying one.
2019-12-04 23:50:39 -05:00
Goober5000 d84231642d Merge pull request #2177 from MageKing17/bugfix/surround-front-speakers
Make 2D sounds play from front speakers instead of rear.
2019-12-04 22:14:14 -05:00
Goober5000 0f020abf3d use a flagset 2019-12-04 21:26:05 -05:00
MageKing17 39bd7cfdce Make 2D sounds play from front speakers instead of rear.
The Z coordinate, from negative to positive, means "front to back", so a Z value of 1.0 (with relative playback, which is what 2D sounds use) means "as far back as possible", i.e. the rear speakers. It's hard to know if this was intentional or not, but feedback from an actual user with a surround setup is that the opposite is preferable.
2019-12-04 17:10:23 -08:00
MageKing17 4cad3d4fc2 Merge pull request #2174 from Goober5000/repeat_count_fix
better sanity-checking for repeat_count, and also check trigger_count
2019-12-04 14:59:38 -08:00
Goober5000 0eb0cc87d1 correction 2019-12-04 00:57:02 -05:00
MageKing17 520f8f4e04 Merge pull request #2175 from Goober5000/fix_2063_bug
fix set-object-facing for wings not present
2019-12-02 23:05:46 -08:00
Goober5000 85e955a58f fix set-object-facing for wings not present
There was a small but serious bug in PR #2063 that would cause a crash.  This fixes it.
2019-12-02 23:36:28 -05:00
Goober5000 c01e30e393 address CI complaint 2019-12-02 23:09:03 -05:00
Goober5000 52f709a2db address feedback 2019-12-02 18:11:29 -05:00
Goober5000 425a6e67d5 add $Never Viewable flag for cutscenes
There are now three states for cutscenes: always viewable, where they will appear no matter what; never viewable, where they will never appear; and viewable, which can be modified during the campaign.  Currently cutscenes will go from not-viewable to viewable, but organizing the flags this way will allow a future feature to make cutscenes not-viewable, if that is desired.

There's also a small edit to csv_convert to guard against array overflows.  Not directly related to the feature but it's in the same place and affects the same code.
2019-12-02 18:11:29 -05:00
Goober5000 3c7c8486eb better sanity-checking for repeat_count, and also check trigger_count
Sanity checking for repeat counts shouldn't crash the game, so change from Error to Warning and use a sensible default.  Also copy the check (with minor modification) to also check trigger counts.
2019-12-02 17:56:51 -05:00
Goober5000 fadcaa0ca1 Merge pull request #2051 from asarium/feature/genericLuaDocumentation
Make Lua documentation generation more generic
2019-12-02 17:53:14 -05:00
Goober5000 e885203683 Revert "try this compiler flag, per https://stackoverflow.com/questions/43152633/invalid-register-for-seh-savexmm-in-cygwin"
This reverts commit 013f6007f3.
2019-12-02 16:05:04 -05:00
Goober5000 013f6007f3 try this compiler flag, per https://stackoverflow.com/questions/43152633/invalid-register-for-seh-savexmm-in-cygwin 2019-12-02 14:54:19 -05:00
Goober5000 65ced1279d change to nullptr 2019-12-02 10:20:15 -05:00
Goober5000 383b3b7ca9 Merge pull request #2163 from Goober5000/revisiting_1450
don't restart if we are switching to a previously finished campaign
2019-12-01 14:07:53 -05:00
Goober5000 8204de3854 Merge pull request #2172 from wookieejedi/fix-on-goals-cleared
Fix FRED not working
2019-12-01 14:06:27 -05:00
Goober5000 c4a7a234ae Merge branch 'master' into feature/genericLuaDocumentation 2019-12-01 14:01:09 -05:00
Goober5000 8808e26f06 Merge pull request #2170 from Goober5000/small_fixes
Two small fixes
2019-12-01 13:57:30 -05:00
wookieejedi 10150c0640 fix int return 2019-12-01 12:07:44 -05:00
wookieejedi 674b6cd4fb Adds valid scripting state checks to functions that it was missing in 2019-12-01 11:59:15 -05:00
wookieejedi d271e33cca Fix fred not working
The `On Goals Cleared` scripting hook would result in FRED not working, thus this PR adds a check for scripting state to the hook and will only run if the scripting state is active. Now FRED will run proprerly.
2019-12-01 11:32:30 -05:00
Kiloku d340d96202 Formatting fixes 2019-12-01 09:58:53 -02:00
asarium 4ca589a61c Make Lua documentation generation more generic
This adds JSON as an additional scripting documentation output format.
This can be used by external tools to examine the scripting
documentation and generate interface declarations or documentation for
any language. The existing documentation code is left largely in place.
2019-12-01 12:53:51 +01:00
Kiloku 4ae495437b Moved most of the Readme to the wiki and linked it 2019-12-01 09:51:31 -02:00
Goober5000 8ed68efc34 Merge pull request #2154 from FSCyborg/Fix-sexp-set-weapon
Keep set-secondary-weapon from using nonsense
2019-12-01 00:37:30 -05:00
Goober5000 1a8dcb1be9 maybe this instead 2019-12-01 00:35:36 -05:00
Goober5000 821f90c5db add explicit cast to fix CI warning 2019-11-30 23:01:02 -05:00
Goober5000 775359c636 Merge pull request #2168 from notimaginative/multi_config_pxo
sanitize parsed multi.cfg settings for PXO
2019-11-30 22:59:23 -05:00
Goober5000 2d7c4de268 set Shadow_quality to default value 2019-11-30 22:55:20 -05:00
Goober5000 16b4c36cc0 Merge pull request #2167 from wookieejedi/fix-get-pitch-from-matrix
Fixes the extraction of pitch
2019-11-30 21:45:01 -05:00
FSCyborg 0008c5bacb Keeps set-secondary-weapon from using nonsense
Set-secondary-weapon and set-secondary-ammo have been up to know been allowed to exceed tabled cargo sizes, as long as you didn't put a value for requested_ammo in the sexp.

The limits would be inherited from the last secondary weapon in the slot, definitely not idea behavior.

Now includes matching changes to set-primary-ammo
2019-11-30 15:58:11 -05:00
Taylor Richards f518e277f1 sanitize parsed multi.cfg settings for PXO 2019-11-30 15:32:13 -05:00
Goober5000 0ff32b3f3e Merge pull request #2146 from scp-fs2open/feature/1587-new_lighting_defaults
Makes slight adjustments to the lighting defaults.
2019-11-30 12:57:54 -05:00
Fabian Woltermann 6abd8b0b60 Change the link associated with the -emissive_light flag 2019-11-30 15:02:21 +01:00
Goober5000 903e1563ce Merge pull request #2164 from FSCyborg/Mission_Campaign_Duplicate
Only Try To Load a Campaign Once
2019-11-29 17:51:02 -05:00
wookieejedi e519646e28 Optimized a bit
Tried a few different things and still can't find a way to remove the square-root unforuntealy.
2019-11-29 17:49:22 -05:00
Goober5000 4f89dd3c2f Merge pull request #2165 from chief1983/fix/line_ending_tomfoolery
Fix Line Ending Tomfoolery
2019-11-29 17:48:30 -05:00
wookieejedi 48773e3099 Fixes the extraction of pitch
It turns out that `angles_2_matrix ` would return a pitch value that was not the actual pitch from the 3x3 matrix. The pitch line in the code is uses a modifed `cosp` as the demoninator to calculate the pitch angle. I looked up online what the caclulation should be and found a more accurate way than using the modifed cosp, is to use ( fvec.xyz.x^2 + fvec.xyz.z^2 )^0.5 I tested using the new calculation throughouly and in each test it returned the proper pitch value from the 3x3 orientation matrix.
2019-11-29 16:31:41 -05:00
Cliff 5f234426b1 fix/line_ending_tomfoolery: Making everything auto globally is causing more problems than it might be trying to solve. 2019-11-29 10:40:08 -06:00
FSCyborg 7b2e8340c6 Only Try To Load a Campaign Once
Correct me if I'm wrong, but there's no need to try to load the default campaign twice.
2019-11-29 00:50:40 -05:00
Goober5000 1d4dea29d1 Merge pull request #2162 from Goober5000/small_play_sound_fix
very small fix to multi_sexp_close_sound_from_file
2019-11-29 00:29:02 -05:00
Goober5000 bd5fef4861 actually, there is one case where we still need to reset the tech db 2019-11-28 14:40:37 -05:00
Goober5000 1b533d5c7e don't restart if we are switching to a previously finished campaign
This is a follow-up to #1450, based on feedback and preference.  Instead of always resetting campaign progress, just switch to the campaign.  The player can then explore the tech room database or the finished missions if he chooses.

This also fixes a few bugs:

1) Ever since the tech-database-reset feature was introduced in 2003 or so, the game incorrectly checked the campaign being unselected, not the campaign being selected.  This is now obsolete since neither the tech database nor the campaign progress are reset.
2) Not all campaign loading failure types were recorded in `mission_load_campaign`.
2019-11-28 14:03:29 -05:00
Goober5000 c5ae4ca2b9 very small fix to multi_sexp_close_sound_from_file
The default fade argument is `true`, as specified by the sexp help, not false.  This probably doesn't matter here as the multi packet should receive all sexp arguments anyway, but better to be consistent.
2019-11-28 13:00:21 -05:00
Goober5000 9abcd55f23 Merge pull request #2159 from wookieejedi/add-on-goals-cleared-hook
Add `On Goals Cleared` Scripting Hook
2019-11-28 12:00:33 -05:00
Kiloku 88fdae1863 Merge branch 'master' of https://github.com/Kiloku/fs2open.github.com 2019-11-28 00:30:44 -02:00
Kiloku 4c9454274f Merge pull request #1 from scp-fs2open/master
Updating
2019-11-27 23:30:09 -03:00
Kiloku 4fc13dcb72 Added a bit more info to the checklist 2019-11-28 00:11:09 -02:00
Kiloku ceb592b182 Added a simple checklist to help keep the documentation updated 2019-11-28 00:05:23 -02:00
Goober5000 54455522b2 Merge pull request #2156 from Kiloku/master
Tackles most of #711
2019-11-26 22:24:30 -05:00
wookieejedi ea021c6fe3 Add On Goals Cleared Scripting Hook
Adds 'On Goals Cleared' hook variable for scripting system. Previosly there was not scripting or sexp method to determine if a ship had all of it's goals cleared.
2019-11-25 21:12:40 -05:00
Goober5000 ccb7480b53 Merge pull request #2155 from wookieejedi/improve-on-waypoints-done-hook
Add waypoint-path hook variable to `On Waypoints Done` Hook
2019-11-25 00:47:08 -05:00
wookieejedi 06a783cce4 Use more consistent naming with Waypointlist 2019-11-24 23:11:23 -05:00
wookieejedi d56ce4cb56 add missing space 2019-11-24 21:13:56 -05:00
wookieejedi a93be36740 simplify waypointpath set 2019-11-24 18:17:37 -05:00
wookieejedi 3926ee39dd Add waypoint path name to On Waypoints Done Hook
Originall the scripting hook `On Waypoints Done` only provided the ship or wing. This PR adds the waypoint path that was completed as an additional hook variable.
2019-11-24 15:16:11 -05:00
Kiloku 44c9fc2ec9 Corrected formatting in Copying.md 2019-11-24 18:13:42 -02:00
Kiloku b06f6476c9 Add youtube link 2019-11-24 18:12:12 -02:00
Kiloku 8278007cdb Merge branch 'master' of https://github.com/Kiloku/fs2open.github.com 2019-11-24 18:09:55 -02:00
Kiloku c5d201ba67 Linked updated video (1999/2019) and reworded comparison line 2019-11-24 18:09:37 -02:00
Kiloku 30326cb67e Rename COPYING.md to Copying.md 2019-11-24 17:07:13 -03:00
Kiloku d4c960fa13 Added FSU comparison video link to About.md 2019-11-24 18:05:49 -02:00
Kiloku 78c7f375cc Remove FS2OpenSCPReadMe.doc file, which was severely outdated. 2019-11-24 17:59:21 -02:00
Kiloku 851899418e Add About.md file, giving general information meant more for newcomers 2019-11-24 17:58:40 -02:00
Kiloku 58bd966f54 Removed outdated INSTALL file 2019-11-24 17:27:20 -02:00
Kiloku 5dbefc99d0 Changed Authors to a markdown file, updated the information in it 2019-11-24 17:27:09 -02:00
Kiloku d60929cd53 Changed COPYING to MarkDown format, added a link to the FSO's Licensing page at wiki in github 2019-11-24 17:13:39 -02:00
Kiloku fdca5ffeed Added a separator before the Older Changes section 2019-11-24 17:08:03 -02:00
Kiloku 9ac5c7e041 Minor formatting change 2019-11-24 17:07:11 -02:00
Kiloku 75d925e8e8 Re-ordered the sections in 3.6.14 2019-11-24 17:05:04 -02:00
Kiloku bec81ed752 Merged old changelog into the new changelog 2019-11-24 17:03:18 -02:00
Kiloku 0a61706368 Added links to some relevant info and added a section explaining the version number scheme change 2019-11-24 16:59:25 -02:00
Kiloku 368194a23e Added more changes found through some extra sleuthing 2019-11-24 16:54:10 -02:00
Kiloku ff520dbfa4 Added changes all the way to 3.6.14 (2012) 2019-11-24 16:46:06 -02:00
Kiloku e2c6fc3cc2 Increased conformity with Keep A Changelog 2019-11-24 15:54:18 -02:00
Kiloku 6d770c8bc5 Added 2019 RC1 to changelog 2019-11-24 15:44:02 -02:00
Goober5000 6200b380d7 Merge pull request #2144 from notimaginative/winsock2
switch to using winsock2
2019-11-23 09:25:11 -05:00
Goober5000 ea7c454e6a Merge pull request #2149 from FSCyborg/Patch_N-Gon_Radar
Patch n gon radar
2019-11-23 09:23:57 -05:00
Fabian Woltermann 7d40cbb241 Merge pull request #2148 from notimaginative/fix_audiostr_looping
avoid full stream reset when looping music
2019-11-23 11:32:00 +01:00
Fabian Woltermann 6c356692b2 Merge pull request #2152 from FSCyborg/Fix-The-Pirates
Bring Pirates of the FSO Back by
2019-11-23 11:30:18 +01:00
Fabian Woltermann 400440ca63 Merge pull request #2153 from FSCyborg/Fix-1992
Fix#1992
2019-11-23 11:27:56 +01:00
Fabian Woltermann 5ae9623f9e Switches the behaviour of the Lab emissive lighting switch to be in line with the other changes. 2019-11-23 11:06:38 +01:00
Goober5000 166a88d4a6 Merge pull request #2139 from FSCyborg/Fix#1886
Fix#1886 by Upgrading to SDL 2.0.10
2019-11-22 20:25:21 -05:00
Taylor Richards 0dcea8f93e fix building of qtFRED 2019-11-20 22:57:41 -05:00
FSCyborg 4c2a3450f8 Fix 1992
Send the ship to the actual initial position once the engine knows where the ship should end up.
2019-11-18 22:16:33 -05:00
FSCyborg 51d362e447 Bring Pirates of the FSO Back by
Preventing a nullptr deep within shipfx_warpin_start()

Add Assertions to check for nullptr Warp Effect
2019-11-18 21:40:16 -05:00
Taylor Richards 70b14a5c2c fix PORT command
was in wrong order before, did this code
ever work? ...
2019-11-18 17:04:02 -05:00
Taylor Richards e9cf9ac10d deal with type warnings on Windows 2019-11-18 12:00:26 -05:00
Taylor Richards 990820cad8 prevent excess headers being included on Windows 2019-11-18 11:59:19 -05:00
FSCyborg 623be80e48 Move Creation of Hud Gauge to Accomodate gauge_load_common()
We didn't realize that Gauge_load_common had some assumptions about where Origin: and Offset: are, so we accidentally broke custom radars.  Moving this section up forces modders to have an odd order for their entries, but based on the way the code was written, there really doesn't seem to be another choice.
2019-11-17 21:22:22 -05:00
Taylor Richards 6b3f5051ea avoid full stream reset when looping music
fixes #2097
2019-11-17 16:00:38 -05:00
Fabian Woltermann 7451fb36d9 Actually set the bloom intensity 2019-11-17 18:07:33 +01:00
Fabian 9e5cd347be Makes slight adjustments to the lighting defaults.
This commit disables emissive lighting on objects by default (as the new HDR process makes it unnecessary) and switches the -no-emissive commandline parameter to -emissive; Setting that parameter will restore the old behaviour. The -no-emissive parameter is retained to avoid user-facing error messages.
In addition, this commit sets the default bloom value to 25.
2019-11-17 13:38:24 +01:00
FSCyborg 1f41d98e2a Fix#1886 by Upgrading to SDL 2.0.10
This should fix #1886.  I built it and it fixes the immediate problem.

Only two of the documentation files we have in the codebase were actually updated.

Verison name in prebuilt.cmake also needed to be changed due to prebuild SDL version changing during upgrade to the prebuild repository.
2019-11-16 16:39:12 -05:00
Goober5000 1c77ffe07f Merge pull request #1211 from z64555/feature/ngon_radar_vector
[Feature] Ngon Radar
2019-11-16 14:46:43 -05:00
Goober5000 29b853de0c Merge pull request #2028 from Goober5000/clang_tidy_upgrade
upgrade clang-tidy to 8.0, the latest stable release
2019-11-16 13:53:35 -05:00
Goober5000 48c67b563a Merge pull request #2145 from asarium/fix/referenceNullError
Handle invalid Lua reference correctly
2019-11-16 13:52:28 -05:00
asarium 4ccccb526e Upgrade Travis to Xenial to support newer clang-tidy versions 2019-11-16 17:11:57 +01:00
asarium a61324f559 Handle invalid Lua reference correctly
This should never have worked but was only discovered by the recent
switch to the default copy constructors for some reason.
2019-11-16 17:08:34 +01:00
Goober5000 a3d2ca5724 add additional configuration per github comments 2019-11-16 15:46:05 +01:00
Goober5000 97ace6fa8c upgrade clang-tidy to 8.0, the latest stable release 2019-11-16 15:46:05 +01:00
m!m 7a11e247f3 Merge pull request #1740 from asarium/build/clangXstrFinder
Add tool for extracting XSTR calls
2019-11-16 15:36:43 +01:00
Taylor Richards 29ce72f66f switch to using winsock2
also removes some obsolete win32 #ifdef's and
cleans up some windows #include's
2019-11-15 23:33:35 -05:00
Goober5000 a94c4e46a1 Merge pull request #2136 from FSCyborg/dumb_rotate
Fix Dumb_Rotate Regression
2019-11-13 01:15:12 -05:00
Goober5000 e262878add Merge pull request #2143 from wookieejedi/fix_3d_weaponselect
Fixes 3D Weapon Selection Bug
2019-11-12 23:06:57 -05:00
wookieejedi c499cfb192 Fixes 3D Weapon Selection Bug
Fixes 3D weapon selection not working when an animation is already specified.
2019-11-12 21:34:20 -05:00
FSCyborg 2238c0af63 Move Default Values to Class Define
Part of modernizing the code base, Travis, at least, prefers defaults to be in the class definition instead of having multiple constructor functions have the same default values.
2019-11-12 16:58:41 -05:00
Goober5000 6a0023da4b Merge pull request #2141 from FSCyborg/fix_rearm_increment
Set Ballistic Primaries ream increment no matter what
2019-11-11 15:52:43 -05:00
FSCyborg bb19d69b7b Set Ballistic Primaries if not Missiles no matter what
Fix the rearm by not depending on flags that haven't been set yet....
2019-11-11 12:39:20 -05:00
FSCyborg e62b64bac8 Fix Dumb_Rotate Regression
Allows jump nodes to use instrinsic/dumb rotation again by exposing the jump node class to the model instancing code and adding a check for it in modelread.
2019-11-11 11:22:13 -05:00
FSCyborg a17f5031bf Fix the unique pointer and constructor
Unique pointers need to be constructed in very particular ways, but so did this NGON radar class, so we just had to put the constructor function inside unique pointer constructor.

And to keep that special pointer from going out of scope, we switched to the ternery operator.

Also made these changes:
Change to hypotf()
Fix Shadowing, Zero Vector macro not working at all.
Offset changed to offset_incoming
blip changed to blip_instance
Offset changed to = {} to initialize the struct without a problem.
clampBlip() required an override
Give offset a default initializer.
Switch to <cmath>
(Apparently <math.h> was deprecated and needs to be replaced with <cmath>.)
One last complaint from travis about a redundant default value.

Thank you Travis!
2019-11-10 13:49:31 -05:00
z64555 1fb194a729 Use vmd_zero_vector instead of ZERO_VECTOR in places that expect an actual vector.
Refactor plotBlip() a bit.
Rename the variable 'blip' in clampBlip() to the more generic 'b'
Use 'hypotf' instead of '_hypotf'
2019-11-10 13:49:30 -05:00
z64555 f0f72b25a5 Add the ngon source files so cmake can find them. Update doxy of find_intersection. 2019-11-10 13:49:29 -05:00
z64555 f8f9bce7da Adds Ngon radar. This is a standard 2D radar, but uses a polygonal plot area instead of the std's oval.
* Modders can specify how many sides the radar can have (as few as 3) with "Ngon Sides:" and can also define an optional twist angle with "Ngon Offset:".

* Also refactors the standard radar code a bit
2019-11-10 13:49:28 -05:00
z64555 082304a4b8 Adds function to find the intersection of two lines 2019-11-10 13:49:27 -05:00
Goober5000 6614b6cd9a Merge pull request #2138 from notimaginative/fix_std_user_config_reset
fix standalone causing user config reset on *nix
2019-11-10 13:45:13 -05:00
Goober5000 3450a39e75 Merge pull request #2137 from notimaginative/fix_pxo_std_mod_detect
init tracker when attempting to validate game data
2019-11-10 13:44:30 -05:00
Taylor Richards 58ada6cf05 fix standalone causing user config reset on *nix 2019-11-10 00:47:02 -05:00
Taylor Richards 4369f1b555 init tracker when attempting to validate game data 2019-11-09 19:43:28 -05:00
Goober5000 8e94880c7f Merge pull request #2135 from Goober5000/goal_achievable_tweak
Two subsystem-related fixes
2019-11-08 16:06:10 -05:00
Goober5000 0a1bd5be5c Merge pull request #2127 from notimaginative/pxo
replace FS2NetD with PXO
2019-11-08 10:16:32 -05:00
Taylor Richards bd9880bc9b replace FS2NetD with PXO 2019-11-08 02:07:14 -05:00
Goober5000 6433181607 correctly set and recalculate subsystem info when using subsys-set-random 2019-11-07 19:20:25 -05:00
Goober5000 28ce16ba6b make goal-achievable dependent on actual status of subsystem 2019-11-07 19:19:51 -05:00
Goober5000 1b69015b50 Merge pull request #2129 from asarium/build/gcc9
Update Travis to GCC 9 and fix warnings
2019-11-07 15:36:34 -05:00
asarium be24f7f574 Switch back to int 2019-11-07 18:45:09 +01:00
asarium afc7c671d2 Remove Mac actions again
This fails for some obscure reason right after merging it. I don't care
enough about Mac to attempt to fix it so I'll just remove it...
2019-11-07 18:40:03 +01:00
asarium e31e68cba0 Update Travis to GCC 9 and fix warnings
Only one warning type this time, the implicit copy operator for types
with a copy constructor has been deprecated so we need to delcare them
ourself.
2019-11-06 18:22:50 +01:00
m!m b5663cfd89 Merge pull request #2134 from asarium/build/ghActions
Add Mac GitHub Actions
2019-11-05 18:44:15 +01:00
Goober5000 3ec94338d3 Merge pull request #2132 from FSCyborg/Coverity1370825
Coverity1370825
2019-11-04 22:51:05 -05:00
FSCyborg 627294039f Coverity1370825
Covertity is complaining about portions of the verts array being uninitialized, so this is just a quick change to initialize the array first before doing anything else.
2019-11-04 20:13:36 -05:00
Kiloku 86a12c0654 Initial changelog improvement 2019-11-04 21:41:41 -02:00
Goober5000 c5805bcd8d Merge pull request #2131 from FSCyborg/Covertiy-1297186,187,188,190
Address Coverity 1297186,187,188, 190
2019-11-03 20:27:46 -05:00
FSCyborg 601fa75d50 Change while(0) to while(false)
Travis is complaining about while(0), so we're getting it off of our back by switching to while(false).
2019-11-03 16:27:23 -05:00
Goober5000 68df93ccff Merge pull request #2130 from Goober5000/fix_missionnotes_flags
add missing lines for flags
2019-11-03 10:15:40 -05:00
FSCyborg 5084fdd189 Address Coverity 1297186,187,188, 190
These coverity issues are all caused by the same code being copy and pasted in three different places.

There does not seem to be danger of the negative array access, but the changes that "fix" it are also slight optimizations (assuming the compiler hasn't been catching them).

In short, I am basically just moving code around to avoid duiplicate checks and in other places checking for the negative array index explicitly.

Suggested style corrections now included.
2019-11-03 09:37:27 -05:00
asarium 256e5028a1 Add tool for extracting XSTR calls
This uses clangs LibTooling for parsing the FSO source files to ASTs
which can then be used for extracing the strings used in XSTR calls.
This supports both standard XSTR calls and UI_XSTR definitions and
writes the resulting information in the strings.tbl format to stdout.
It also detects duplicate translation id usages with different text
values.
2019-11-03 15:17:05 +01:00
asarium 327ee0fccb Add Mac GitHub Actions
Also separate windows tests into it's own step.
2019-11-03 13:09:30 +01:00
Goober5000 efb3d08494 add missing lines for flags 2019-11-02 00:28:45 -04:00
Allen A. Babb 2e5da03e86 Merge pull request #2128 from Goober5000/backwards_maneuver_fix
fix an oversight with dont-clamp-max-velocity
2019-10-31 10:53:18 -05:00
Goober5000 3a4bd86153 fix an oversight with dont-clamp-max-velocity 2019-10-29 19:59:53 -04:00
Goober5000 f0526e3f7c Merge pull request #2126 from asarium/build/ghActions
Add Windows Checks for GitHub Actions
2019-10-26 21:16:45 -04:00
asarium 963db03f3e Add Windows Checks for GitHub Actions
This will test compilation and tests on Windows as compiled by Visual
Studio and MinGW.
2019-10-26 22:23:48 +02:00
Goober5000 a8cf7f2c69 Merge pull request #2118 from Goober5000/maneuver_flags
Enhanced ship maneuvers
2019-10-26 14:10:40 -04:00
Goober5000 99c23b11cd Merge pull request #2115 from Goober5000/play_sound_from_file_improvements
allow multiple simultaneous sexp-controlled audio streams
2019-10-26 14:09:25 -04:00
Goober5000 8b7e99c4cb Merge pull request #2122 from Goober5000/small_sexp_h_fix
add OP_NONCAMPAIGN_FLAG to a couple sexps
2019-10-26 14:09:14 -04:00
Goober5000 515b0062f4 Merge pull request #2125 from Goober5000/matrix_from_vectors
create matrixes from vectors
2019-10-26 14:08:58 -04:00
Goober5000 ae1e0c90fa address feedback 2019-10-26 11:47:13 -04:00
MageKing17 edad20d562 Merge pull request #2121 from FSCyborg/fix-2120
Fix-2120
2019-10-25 19:15:30 -07:00
MageKing17 481be44713 Merge pull request #2076 from FSCyborg/#1848-Ballistic-Rearm_Time
For Issue #1848 - Add option to change default rearm values
2019-10-25 19:10:12 -07:00
Goober5000 d3c2b17ae9 actually this is correct 2019-10-25 15:01:02 -04:00
m!m f34e76bd55 Merge pull request #2123 from asarium/build/ghActions
Add more GitHub actions configurations
2019-10-25 19:57:53 +02:00
Goober5000 8a388accec create matrixes from vectors 2019-10-25 01:12:10 -04:00
asarium 8379a5c1f5 Add more GitHub actions configurations
This adds more Linux configurations for testing different compilers.
2019-10-24 20:33:54 +02:00
FSCyborg aef0e1f78a For Issue #1848 - Add option to change default rearm values
Although not technically a bug, several mods have been misled by the description of the "$Rearm Rate:" weapons table setting, and specifying an initial ammo value that is less than 100 for ballistic primaries would force the ballistic ammo to be loaded all at once, with "$Rearm Rate:" just specifying how long that one load would take.

This allows modders to use more realistic behavior for things like anti-turret ballistic primaries, where initial ammo could be in the thirties so that any number above zero can be added per load.
2019-10-24 01:10:52 -04:00
FSCyborg 4eac2e0cbc Fix-2120
Move the bottom text reset to inside the if so that it isn't kept empty by accident.

Let me know if I should move the comment around at all.
2019-10-23 23:26:15 -04:00
m!m 404c11e4a5 Merge pull request #2119 from asarium/fix/luaObjectHooks
Clear object events when Lua state is shut down
2019-10-23 18:18:22 +02:00
Goober5000 fc3ae5f93d add OP_NONCAMPAIGN_FLAG to a couple sexps that shouldn't be used in campaign files 2019-10-22 19:57:42 -04:00
asarium 0649f9abaa Clear object events when Lua state is shut down
Since the Lua state is destroyed before all the object events, this was
causing issues. This should fix that by clearing the events when the lua
state is destroyed.
2019-10-22 18:09:57 +02:00
m!m 17c9547d83 Merge pull request #2117 from asarium/build/ghActions
Add GitHub Actions workflow for pull requests
2019-10-21 18:12:00 +02:00
Goober5000 5f8192d1ee actually figure out instantaneous acceleration, and refactor a bit 2019-10-20 16:30:38 -04:00
Goober5000 2bea31dab0 Merge pull request #2116 from asarium/fix/2086-detect_unsupported_pref_chars
Fix #2086: Detect unsupported characters in root paths
2019-10-20 12:38:21 -04:00
asarium a22ef2e19d Add GitHub Actions workflow for pull requests
This currently only does the GCC Linux compilation but it's a good start
to check out how this works and if it will work for us.
2019-10-20 15:06:24 +02:00
asarium cf8fa26187 Fix #2086: Detect unsupported characters in root paths
Since FSO does not support Unicode characters in filesystem paths on
Windows yet, it is necessary to catch these issues early on and display
an appropriate error message. These changes do that by going through the
path with our UTF-8 decoder and detecting any characters that are out of
the ASCII range.
2019-10-20 12:46:00 +02:00
Goober5000 ab3388f397 add sexp and script support for maneuvers with new CIF_ flags 2019-10-20 00:59:43 -04:00
Goober5000 a80e4ba56e add some very useful control flags for ship maneuvers 2019-10-19 00:28:52 -04:00
Goober5000 3a9855ac69 allow multiple simultaneous sexp-controlled audio streams
Enhances play-sound-from-file, etc. to allow more than one audio stream to be played at the same time, provided all stream are referenced by audio handles contained in variables.
2019-10-18 23:23:00 -04:00
MageKing17 cced7e9e3f Merge pull request #2114 from MageKing17/cleanup/misc-typos
Correcting a couple debug typos.
2019-10-17 20:37:10 -07:00
MageKing17 323debfb91 Merge pull request #2113 from MageKing17/cleanup/png-warnings
Give PNG warnings their own category, so they're hidden by default.
2019-10-17 20:10:46 -07:00
MageKing17 4a464b2e8e Merge pull request #2112 from MageKing17/bugfix/csg-radar-range-check
Make .csg loading code check rp_dist, just like .plr loading does.
2019-10-17 20:10:34 -07:00
MageKing17 7a0a9ea475 Merge pull request #2111 from MageKing17/bugfix/filesystem-sort-order
Move filename sort in cf_get_file_list() to before packfile search.
2019-10-17 19:48:59 -07:00
MageKing17 8f619871e6 Move filename sort in cf_get_file_list() to before packfile search.
The intent behind this sort (added in #2094) was to make the order of files returned by the filesystem consistent across platforms; however, the sort occurred not only after the filesystem search, but after the packfile search, which changed the order files load in on all filesystems instead of making it consistent. This moves the sort to be after the filesystem search but before the packfile search, hopefully making load order consistent once more.
2019-10-17 14:14:31 -07:00
MageKing17 52fdb393ae Give PNG warnings their own category, so they're hidden by default.
This probably isn't the kind of information that should appear in the average debug log, since it's unlikely to be of use in standard troubleshooting.
2019-10-17 13:44:02 -07:00
MageKing17 9770d7f59b Make .csg loading code check rp_dist, just like .plr loading does.
When loading a .plr file, HUD_config.rp_dist is loaded and then sanity-checked; if the value is out of bounds, a Warning is generated and RR_INFINITY assigned. HUD_config.rp_dist is also loaded when loading a .csg file, however the sanity check isn't present; this copies the block over so the behavior is identical.
2019-10-17 13:41:12 -07:00
MageKing17 c1e6aca72b Correcting a couple debug typos.
"glowpoint present" should be "glowpoint preset", and there is no "op_num function".
2019-10-17 13:38:11 -07:00
MageKing17 40d3f5d38f Merge pull request #2110 from Goober5000/copy_text_until_errormsg_fix
fix bug in copy_text_until error message
2019-10-17 11:14:01 -07:00
Goober5000 58a4825d9b fix bug in copy_text_until error message
This bug has been around since the original public source code release!

The error message character calculation did not agree with the actual error check.  This PR fixes that.  Thanks to Novachen on Discord for discovering this.
2019-10-15 14:21:22 -04:00
Goober5000 3811eafee6 Merge pull request #2107 from Goober5000/fix_1138
fix FreeBSD warning in stubs.cpp
2019-10-14 00:56:03 -04:00
Goober5000 7703b27e64 Merge pull request #2105 from Goober5000/grant_medal_xstr
miscellaneous XSTR cleanup
2019-10-14 00:55:56 -04:00
Goober5000 18e9746792 formatting tweak, mainly to try to get the builds to trigger 2019-10-13 15:58:15 -04:00
Goober5000 334f392eb1 change token string, per m!m's review 2019-10-13 13:50:37 -04:00
Goober5000 d3d6e2ea41 add informative comment 2019-10-13 13:44:28 -04:00
Goober5000 db1da25272 Merge pull request #2100 from Goober5000/fix_2099
Handle pausing and unpausing music in certain screens
2019-10-13 13:37:11 -04:00
Goober5000 01102e14be Merge pull request #2102 from Goober5000/fix_for_counter
fix default loop increment in for-counter
2019-10-13 13:36:06 -04:00
Goober5000 2be44008da Merge pull request #2104 from Goober5000/fix_issue_1221
fix issue #1221
2019-10-13 13:35:00 -04:00
Goober5000 93effdd31b Merge pull request #2106 from Goober5000/command_sender_enhancement
implement Mantis 3204
2019-10-13 13:30:17 -04:00
Goober5000 aa2cc618d3 Merge pull request #2108 from Goober5000/arrival_departure_pr_from_595
Only update arrival/departure location if ship is not part of a wing
2019-10-13 13:28:04 -04:00
Goober5000 a5d63654fc Merge pull request #2103 from Goober5000/persistent_variable_errormsg_fix
this error message should report the variable name
2019-10-13 13:26:41 -04:00
Goober5000 09f1de6efe ohcomeon.gif 2019-10-12 16:21:09 -04:00
Goober5000 b4a4d70ff4 additional change suggested by MageKing17 2019-10-12 14:33:58 -04:00
Goober5000 c6c2e5b17e add the changes from downwash's PR 2019-10-12 14:25:00 -04:00
Goober5000 15c9533089 Merge pull request #1540 from z64555/enchancement/parse_bookmarks
Extends the existing parse pausing system (used by bmpman) to use a
2019-10-12 13:17:47 -04:00
Goober5000 2de323eb5d fix const conflict 2019-10-12 13:12:41 -04:00
Goober5000 2f00b3a081 fix FreeBSD warning in stubs.cpp
Use m!m's suggestion to fix issue #1138
2019-10-12 13:04:04 -04:00
Goober5000 6895276aea implement Mantis 3204
This adds a mission flag to use the Command Sender as the source of any messages sent from #Command.
2019-10-12 12:53:09 -04:00
Goober5000 ff31bebc9c now CTEXT will never be NULL 2019-10-12 11:46:57 -04:00
Goober5000 6006670439 restore the original grant-medal and was-medal-granted sexps 2019-10-12 11:27:32 -04:00
Goober5000 e91ee3dd4f the variable can never be uninitialized here, but Travis is too dumb to realize it 2019-10-12 01:26:11 -04:00
Goober5000 53ec0d45cb this isn't actually needed 2019-10-11 23:51:18 -04:00
Goober5000 a34d696c29 add xstr capability for medals
The grant-medal and was-medal-granted sexps will now translate medal names, in the same way that tech-add-intel-xstr translates intel entries.  There is also some minor cleanup and the specifying of correct default -1 numbers for the xstr-capable sexps.
2019-10-11 21:51:16 -04:00
Goober5000 ce57c52faf fix issue #1221
Make -get_flags imply -parse_cmdline_only, per asarium's comment
2019-10-11 16:56:06 -04:00
Goober5000 0db66e776a this error message should report the variable name 2019-10-11 01:22:22 -04:00
Goober5000 f9e4a4bb2a fix default loop increment in for-counter
The default loop increment is 1, not 0.  When for-counter was converted to use eval_nums in PR #2035, this was inadvertently broken.
2019-10-11 01:17:31 -04:00
Goober5000 8cb39c424b properly resume music; also properly restore subspace ambient sound 2019-10-08 22:57:29 -04:00
Goober5000 15346dad16 reactivate old code to pause and unpause audio, but this time add the proper check 2019-10-08 22:44:56 -04:00
Goober5000 de501fb3f1 pause and unpause the event music in the ESC dialog, just like we do in the pause screen, and just like the subspace sound was fixed 2019-10-08 22:20:46 -04:00
m!m 81a827dda9 Merge pull request #2094 from tcrayford/fix_modular_table_load_order_on_non_windows
fix modular table loading errors on non windows
2019-09-13 20:09:06 +02:00
Tom Crayford f7f537ff77 fix mod loading errors on non windows
When running a mod on non-windows, that isn't packed into VP files, the
mod can break when loading. On non-windows filesystems, the file
order isn't guaranteed to be alphabetical (but it is on Windows).
As a result, we load tables in an effectively random order.

Lots of mods rely on the filesystem ordering to e.g. implement a very
loose dependency system for their lua scripts.

Referenced on the forum here:
https://www.hard-light.net/forums/index.php?topic=95750.msg1885275#msg1885275

Here's a log from Solaris failing to run:

https://fsnebula.org/log/5d7b4414cb0d332b466b5ee2#True-138

Instead, always sort filesystem listing by name *before* applying the
provided sort order.

I've built a few different versions of this patch, and like this one the
best. The other ones I tried:
1. Adding a `CF_SORT_REVERSE_NAME` and using it everywhere that
`CF_SORT_REVERSE` is used, and replacing all uses of `CF_SORT_NONE` with
`CF_SORT_NAME`. I didn't like this as it was a much larger diff.
2. Adding a `CF_SORT_REVERSE_NAME` to the `scripting.cpp` call for
loading tables. I didn't like this one because this bug can in theory
impact non scripting tables.

Here's a log from Solaris working with the new build:
https://fsnebula.org/log/5d7b4f37cb0d332b3d6b5ed3#True-138

While it might be a reasonable enhancement in the future to build a proper dependency system for lua scripts and tables,
this is a much smaller and easier change, and doesn't require any work from modders.
2019-09-13 17:22:15 +02:00
Goober5000 e1a0a8a2fb Merge pull request #2093 from tcrayford/update_object_facing_help_strings
update set-object-facing and set-object-facing-object sexp help
2019-09-07 15:20:49 -04:00
Tom Crayford 1cd22ba827 update set-object-facing and set-object-facing-object sexp help
As per the discussion in https://github.com/scp-fs2open/fs2open.github.com/issues/2092,
if you specify the turn time, these can behave quite weirdly.
Some mods that we don't want to break backwards compatability with use
that mode, but at least we can note the pitfalls in help.
2019-09-07 18:36:35 +02:00
m!m 4f884b5035 Merge pull request #2091 from asarium/fix/crashInJoystick
Fix crash in joystick code
2019-09-03 22:07:16 +02:00
asarium 894228cc7c Fix crash in joystick code
Not sure why we didn't catch this earlier but this should hopefully fix
the crash. The cause was that we constructed an SCP_string from a null
pointer instead of using the empty string as the default.
2019-09-03 19:53:04 +02:00
Goober5000 8f8afbc189 Merge pull request #2087 from asarium/feature/crashdumps
Write Minidumps when a crash occurs
2019-08-29 14:18:58 -04:00
Cliff Gordon f4bfec5029 Merge pull request #2089 from asarium/build/fixTravisGitHubToken
Update Travis GitHub token
2019-08-28 12:45:13 -05:00
asarium c18f775962 Update Travis GitHub token
The token used by Travis was also out of date so here is a new one. This
is a token created by the SirKnightly user.
2019-08-28 18:14:49 +02:00
Goober5000 608dcb6b44 Merge pull request #2088 from asarium/build/fixAppveyorGitHubToken
Update GitHub token used for AppVeyor release building
2019-08-26 15:10:35 -04:00
asarium b4b23e266b Update GitHub token used for AppVeyor release building
For some reason the old token was removed from the AppVeyor GitHub
account which made the release build fail.
2019-08-26 17:58:12 +02:00
asarium c41eef517b Write Minidumps when a crash occurs
This will write Mini dumps in the event that the executable causes a
crash. This will allow us to take a closer look at any crashes without
having to reproduce them.
2019-08-25 20:22:23 +02:00
m!m 65e2aa88b3 Merge pull request #2059 from asarium/build/travisWindowsAlways
Do not allow failure for Windows Travis builds anymore
2019-08-24 13:11:29 +02:00
asarium fe0c6a629a Do not allow failure for Windows Travis builds anymore 2019-08-22 17:36:28 +02:00
MageKing17 730c62af81 Merge pull request #2085 from Goober5000/issue_2081_actual_fix
Issue 2081 actual fix
2019-08-19 23:52:40 -07:00
Goober5000 13d4ebaceb leave a 'node' variable pointing to the beginning of the sexp node list so that we can manipulate it later 2019-08-19 23:35:55 -04:00
Goober5000 ed6a780898 Revert "fix for issue #2081" 2019-08-19 23:19:30 -04:00
Goober5000 f0b9929cd3 Merge pull request #2083 from Goober5000/eval_nums_redo
fix for issue #2081
2019-08-19 18:13:45 -04:00
Goober5000 f315caad95 fix a bug, and use Error instead of Warning since this indicates a programming error 2019-08-19 16:29:49 -04:00
Goober5000 b5a47e651f fix for issue #2081
This re-implements the eval_nums function to use C varargs, instead of C++11 template parameter packs.  This is necessary because Visual Studio has a bug where template parameter packs corrupt heap memory somehow.
2019-08-19 16:19:53 -04:00
m!m d49299225c Merge pull request #2080 from tcrayford/de_fault_is_in_de_spelling
fix typo: defualt->default
2019-08-11 14:33:32 +02:00
Tom Crayford 3b0bb79d79 fix typo: defualt->default 2019-08-11 11:09:13 +01:00
Goober5000 daacdc0035 Merge pull request #2078 from FSCyborg/Fix-#1433-
Fix 1433 Take two
2019-08-10 22:41:03 -04:00
FSCyborg 39df9ef90e Fix 1433 Take two
Have FSO check for subspace and start the loop up again when subspace is being used.
2019-08-09 22:21:33 -04:00
Goober5000 fc080cccbd Merge pull request #2075 from FSCyborg/fix#1916
"Fix" 1916
2019-07-30 22:59:47 -04:00
FSCyborg 0c07ad9d71 "Fix" 1916
Adds a check to see if the subsystem is the same before restting aspect lock.

More of an enhancement to expected behavior than a bugfix.
2019-07-30 17:58:52 -04:00
Goober5000 7d329bbbc6 Merge pull request #2074 from FSCyborg/fix#1974
Fix#1974
2019-07-30 12:33:40 -04:00
m!m 17a449529f Merge pull request #2060 from Mithi83/bug/1987-lab-thrusters
fix bug #1987: thruster rendering in lab
2019-07-30 11:59:36 +02:00
FSCyborg 73f0addc42 Fix#1974
"Cloning" failure was actually being caused by the pilot verification function resetting all pilot info and then not loading controls from the file to replace them.

The Control_Config array would all be set to -1 and then would get written into the file the next time the player was saved, making it seem that the controls were not being copied.

The original and current code would reset controls to defaults when a pilot was created.  And it would just let the old controls remain in case of a clone. The above problem would occur just as you hit accept on the bottom of the baracks screen.
2019-07-29 21:25:50 -04:00
Goober5000 0ba1583d90 Merge pull request #2035 from Goober5000/patch_nan_handling
when evaluating numeric SEXPs, handle NaN properly
2019-07-28 01:03:11 -04:00
Goober5000 2436697f2c Merge pull request #2071 from FSCyborg/Fix#2067
Fix#2067
2019-07-27 22:51:24 -04:00
FSCyborg 0e10100aad Fix#2067
Original behavior in Fred was accidentally removed when upgrading the FSO mission parser to keep it from crashing FSO from a bad sexp.  But returning false is only necessary in FSO since in FRED, we can fix the error once we know about it.
2019-07-27 21:21:33 -04:00
Goober5000 60bcdefac0 remove unneeded header 2019-07-25 15:14:45 -04:00
Goober5000 5d8ac3cc11 bring up to date with another eval_num 2019-07-25 15:14:45 -04:00
Goober5000 e0bc2f188b help the compiler out a bit, per Gasbow's suggestion 2019-07-25 15:14:45 -04:00
Goober5000 d13bbdd534 move eval-num derivatives out of the header file 2019-07-25 15:14:45 -04:00
Goober5000 44b09d137f let's try a function pointer instead of std::function 2019-07-25 15:14:45 -04:00
Goober5000 4439edcb4d more complaints 2019-07-25 15:14:45 -04:00
Goober5000 a9ddeda40e edits and clang-tidy 2019-07-25 15:14:45 -04:00
Goober5000 d606e4d952 complaints and stuff 2019-07-25 15:14:44 -04:00
Goober5000 2fa8a0bd84 that const crept back in again 2019-07-25 15:14:44 -04:00
Goober5000 f9d178d46b additional small fixes 2019-07-25 15:14:44 -04:00
Goober5000 989235936e when evaluating numeric SEXPs, handle NaN properly
NaN should propagate through the SEXP tree, but not all SEXPs do this properly.  The problem was made worse after I introducted `eval_num()` which silently ignored NaN values.  This commit adds new boolean arguments to `eval_num()` to flag NaN results, and changes all calls of `eval_num()` to properly handle the new arguments.  Additionally, this adds `eval_nums()` and `eval_array()` functions to more smoothly handle cases where many numbers appear in a row.
2019-07-25 15:14:44 -04:00
Goober5000 6df9c73a4c Merge pull request #2063 from Goober5000/modify_set_object_position
Allow positioning sexps to work on ships yet to arrive
2019-07-25 14:13:38 -04:00
Goober5000 d794eb6e77 Merge pull request #2070 from FSCyborg/Coverity#1093387
Coverity 1093387
2019-07-20 20:31:01 -04:00
Goober5000 e5c06c9554 Merge pull request #2069 from FSCyborg/Cyborg-Coverity-Fixes
Coverity 1093370
2019-07-20 18:14:38 -04:00
FSCyborg bc00b79922 Coverity 1093387
We already verify that the variable will not be null in the previous code block.
2019-07-20 16:12:45 -04:00
Goober5000 e1e86667b3 Merge pull request #2068 from FSCyborg/Fix#1791
Fix#1791 ChangeIFF & Laser_Flag
2019-07-20 01:05:33 -04:00
FSCyborg 881f787ac8 Fix#1791 ChangeIFF & Laser_Flag
Extremely rare bug caused by use of multiple protect from weapon flags. One of the Ai-Turret functions was setting only one of the flags because "else if" was typed instead of "if".
2019-07-19 21:21:58 -04:00
FSCyborg 88d5bed064 Coverity 1093370
Copy paste error, I can think of no reason to compare Max y and Min z
2019-07-19 09:11:14 -04:00
m!m d9b1659efc Merge pull request #2064 from asarium/fix/scriptingDeprecation
Move deprecation of createParticle to the next version
2019-07-15 19:46:50 +02:00
Goober5000 f6408113f2 fix stuffing of vector pointer 2019-07-15 13:15:21 -04:00
asarium 6075c17255 Move deprecation of createParticle to the next version
This should fix a problem with the MVPs.
2019-07-15 17:54:41 +02:00
Goober5000 da9f71dac0 might as well do set-object-facing and set-object-facing-object as well 2019-07-14 23:26:18 -04:00
Goober5000 03f1344794 might as well do set-object-orientation too 2019-07-14 21:24:22 -04:00
Goober5000 59e9d7cb0c add missing break to case 2019-07-14 21:20:33 -04:00
Goober5000 910595880a Allow set-object-position to work on ships yet to arrive
This adds `set-object-position` functionality for ships and wingmen still on the arrival list.  Requested by JSRNerdo.
2019-07-13 14:24:06 -04:00
MageKing17 9f07e43455 Merge pull request #2020 from asarium/feature/scriptingDeprecation
Add deprecation feature for the scripting API
2019-07-11 15:08:45 -07:00
m!m 7b8c156980 Merge pull request #2022 from asarium/opengl/smaa
Add SMAA post processing step
2019-07-11 18:02:47 +02:00
Thomas Jansen f8c11ccd2e fix bug #1987: thruster rendering in lab
Lab_selected_index must remain unchanged until labviewer_change_model is
called. There the variable is used to determine if a new ship must be
created and updated afterwards.
2019-07-07 08:36:55 +02:00
Goober5000 7e36dc8afe Merge pull request #2058 from FSCyborg/master
Coverity 1093382
2019-07-05 12:25:53 -04:00
FSCyborg b1ad89a9fa Update chttpget.cpp 2019-07-04 10:14:07 -04:00
FSCyborg 4d9b1a7674 Update chttpget.cpp 2019-07-03 15:03:34 -04:00
FSCyborg 72f3871b7b Update chttpget.cpp 2019-07-03 10:14:24 -04:00
FSCyborg 7906ff460a Coverity 1093382
Coverity spotted this dead code.  Looks like the original coder forgot that they had checked for !p already or was a case of mindless copy-pasting code..

Because of
pcode = strchr(p,' ')+1;
it looks like it really is safe to remove.
2019-07-02 23:18:13 -04:00
asarium 1eb1923751 Add SMAA 2019-06-30 13:28:05 +02:00
asarium 6d1931bf99 Add function for drawing full screen using oversized triangles
This replaces the current instances where two triangles are used for
drawing a full screen quad.
2019-06-30 13:08:45 +02:00
asarium f75cb1edd3 Add deprecation feature for the scripting API
This allows to mark certain functions or virtvars to be declared as
"deprecated" starting with a specific engine version. What this means is
that a special message will be added to the documentation stating since
when the function is deprecated and can contain an optional message. The
actual enforcement of the deprecation depends on the target version of
the mod so that we can stay backwards compatible.

If the mod supports the version since when the function is deprecated,
it will not be added to the Lua state which means that it doesn't exist
for the calling script. If the targetted version is before the stated
version, the function will still be added to the Lua state.

As the first function to use this feature, I have deprecated
createParticle in the testing library and moved it to the graphics
library with a new name reflecting that it creates a persistent
particle. I also added the corresponding function for adding a
non-persistent particle.
2019-06-30 11:31:32 +02:00
Goober5000 48586bc857 Merge pull request #2055 from wookieejedi/fix_weapon_icon_override
Bug fix: adds missing conditional when using weapon icons and 3D weapon selection
2019-06-28 18:29:07 -04:00
Goober5000 3adb861640 Merge pull request #2057 from wookieejedi/fix_blownoff_bug
Fix blown_off bug for good
2019-06-28 18:17:34 -04:00
wookieejedi 7b1f407c22 Fix blown_off bug for good
Thanks for @SamuelCho for telling me what to put to fix this bug for good. This PR fixes #2046 (for good it seems!).
2019-06-28 15:33:29 -04:00
Goober5000 ed5b4b9b5a Merge pull request #2054 from Goober5000/itld_bugfix
properly indicate that player ships have departed at the end of a mission
2019-06-27 15:21:09 -04:00
niffiwan b63ddf08bb Merge pull request #2056 from SamuelCho/subsys_destroyed_fix
Make sure various model rendering/collision code reference submodel instances instead of the prototype data
2019-06-27 20:39:19 +10:00
SamuelCho 816d8e5415 Make sure various model rendering/collision code reference submodel instances instead of the prototype data. 2019-06-25 22:33:52 -07:00
Goober5000 e7e43e9466 Merge pull request #2044 from niffiwan/fix/capitalplus_vs_shields
Fix AI selection of capital+ weps vs shields
2019-06-25 22:19:49 -04:00
wookieejedi 48e630dfd1 Add () to fix travis error 2019-06-25 17:17:02 -04:00
wookieejedi 00f2ddc8da Bug fix: adds missing conditional when using custom icons and 3D weapon selection
Previously if the 3D_weapon flag was used it would always create a weapon icon and overrride any pre-existing icons the modder would specify. This PR fixes that by adding an extra set of conditionals, which specify if a weapon has an icon file name then it should be used, and if the weapon does not have an `$Anim:` but does have a model then that model should be used if the 3D_weapon flag is enabled.
2019-06-25 16:20:13 -04:00
Goober5000 c6d93275c2 address clang complaint 2019-06-24 13:03:38 -04:00
Goober5000 e2ce0bea9b tweak comment 2019-06-24 02:13:19 -04:00
Goober5000 a98fd2cb54 use the new 'mission_check_ship_yet_to_arrive' function when appropriate 2019-06-24 02:11:35 -04:00
Goober5000 5444e81fab add new function for properly evaluating ship arrivals 2019-06-24 01:28:07 -04:00
Goober5000 83276a355d if ship is departing to jump node, add that to the script hook 2019-06-23 16:05:36 -04:00
m!m 98606b37e4 Merge pull request #2053 from wookieejedi/arc_color-options
Adds Table Option to Modify Arc Colors
2019-06-23 09:17:00 +02:00
wookieejedi c4a7e9694f Fix error message vars 2019-06-22 20:50:29 -04:00
wookieejedi 2db1758ec2 Use stuff_int_list
Incorporate m!m feedback
2019-06-22 17:59:59 -04:00
wookieejedi cff070dc07 Update to using tuples and error checks
Incorporates m!m's feedback.
2019-06-22 16:07:55 -04:00
wookieejedi 7b3ad77f36 Adds Table Option to Modify Arc Colors
This PR adds a table entry that allows modders to specify the RGBI values for the damage and emp arc colors (which were previosuly hardcoded).

This option adds the table entry to `Game_settings.tbl` under `#Graphic Settings` with the lines:
```
$EMP Arc Color:
	+Primary Color Option 1: rgb
	+Primary Color Option 2: rgb
	+Secondary Color Option 1: rgb

$Damage Arc Color:
	+Primary Color Option 1: rgb
	+Primary Color Option 2: rgb
	+Secondary Color Option 1: rgb
```
2019-06-21 14:58:05 -04:00
Goober5000 d67e79a44b Merge pull request #2042 from Goober5000/nested_subsys_destruction
properly handle destruction/repair of subsystem tree
2019-06-06 01:48:03 -04:00
niffiwan 977190b358 Address review feedback
Make wip an actual pointer!
Rename some vars to better reflect their usage (vs previous copy-pasta)
2019-06-04 18:39:21 +10:00
m!m ba3237604e Merge pull request #2048 from wookieejedi/per_shipclass_help_threshold
Add per ship class options for when AI sends "Help Me" message
2019-05-29 18:44:46 +02:00
Goober5000 a94550ee1a Merge pull request #2049 from plieblang/MapIteratorCleanup
Clean up map::iterator usage
2019-05-25 00:45:46 -04:00
wookieejedi d55a6632ca and one more float to specify 2019-05-24 23:58:52 -04:00
wookieejedi 680cb580cd specify rest of floats 2019-05-24 23:49:19 -04:00
wookieejedi 2f74940f6a specify float 2019-05-24 23:00:55 -04:00
plieblang 3dbe27e772 Clean up map::iterator usage 2019-05-24 13:43:04 -07:00
wookieejedi 72d876bd4b Switch to const and add error checks
Incorporatea ll of m!m's feedback.
2019-05-23 15:35:59 -04:00
wookieejedi e22398bec8 Add per ship class options for when AI sends "Help Me" message
This PR allows modders to set, on a per-ship class basis, the fields for what hull and shiled integrity the AI wingmen send the "Help" message at. One good use case is when ships have low hitpoints, thus now the modder can set AI can call for help sooner then at simply 30% hull.
2019-05-23 13:19:30 -04:00
Goober5000 11661db6ab oops -- get distance before setting it to 9999999 2019-05-17 14:31:16 -04:00
Goober5000 6164004df3 repair parent submodel if it needs repairing 2019-05-17 14:31:16 -04:00
Goober5000 505aa3cdd1 organize subsystem modification sexps to all call one function 2019-05-17 14:31:16 -04:00
Goober5000 cfeb8da3d3 don't reuse subsystems that are skipped 2019-05-17 14:31:15 -04:00
Goober5000 ec7945276a handle child subobjects being destroyed 2019-05-17 14:31:15 -04:00
Goober5000 2bf19afb94 make sure all instances of ship_recalc_subsys_strength happen after do_subobj_destroyed_stuff 2019-05-17 14:31:15 -04:00
Goober5000 34b38f63fa remove unneeded function 2019-05-17 14:31:15 -04:00
m!m 8f11d2e11c Merge pull request #2037 from Goober5000/on_subsystem_destroyed
add $On Subsystem Destroyed scripting hook
2019-05-17 19:47:11 +02:00
Goober5000 e4036b9e5a Merge pull request #2045 from MageKing17/bugfix/multi-sexp-flag-validity
Check flags are valid in multi_sexp_deal_with_ship_flag().
2019-05-17 13:42:09 -04:00
MageKing17 c86e94a4e7 Correct NULL to nullptr so clang-tidy is happy. 2019-05-17 09:13:02 -07:00
MageKing17 a6475f59f0 Check flags are valid in multi_sexp_deal_with_ship_flag().
In single-player, or while running as a server, sexp_deal_with_ship_flag() makes sure that object_flag, ship_flag, and p_object_flag aren't NUM_VALUES (i.e. not set) before trying to call flags.set() with them. However, the client code in multi_sexp_deal_with_ship_flag() had no such security checks, and as such would try to set NUM_VALUES, which is outside the range of valid flags; this led to a crash in Release builds and an Assertion otherwise.
2019-05-13 12:29:54 -07:00
Goober5000 69ebdd0417 Merge pull request #2043 from wookieejedi/add_gethotkey_sexp
Adds `get-hotkey` sexp
2019-05-13 13:32:21 -04:00
niffiwan 9444b9ff9f Merge pull request #2024 from CasparKielwein/collision_cleanup_ck
Refactoring of objcollision
2019-05-13 19:41:38 +10:00
niffiwan 4c7470fbf2 Fix AI selection of capital+ weps vs shields
Current the AI always selects capital+ weapons vs big/huge ships. This
makes the AI take shields into accounts, and not use the weapon if
either the shields are still up, or the weapon isn't good vs shields.

I don't greatly like the magic number 1.33 to determine if a weapon is
good vs shields, I'm happy to take alternative suggestions. I have
checked DE, WoD & BP tables and I don't think this change will affect
any of them (picked them because their either use capital+ weapons or
have shielded capships)

There's one DE weapon that the AI won't select anymore while shields
are up; however its fluff says it's bad vs shields and suggests a
paired shield-breaker so think it should be OK.
2019-05-12 15:50:13 +10:00
wookieejedi 8d3eeec238 Updated description 2019-05-11 14:03:15 -04:00
Goober5000 da0ff33fcb address feedback and implement asarium's suggestion 2019-05-11 13:06:21 -04:00
wookieejedi 764b4b8422 Improve comments and description 2019-05-11 10:38:40 -04:00
m!m a5d22589ec Merge pull request #2036 from wookieejedi/class_flyby_sounds
Adds per-class flyby sounds
2019-05-11 12:28:09 +02:00
wookieejedi 6a6940e0f0 Adds get-hotkey sexp
This PR adds a sexp that returns the integer value of a ship or wing hotkey. No hotkey returns -1, F5 returns 0, F6 returns 1, ... and the sexp takes one arguemnt, the ship or wing name.
2019-05-10 23:09:00 -04:00
niffiwan 2dfd9936d8 Merge pull request #2041 from niffiwan/fix/issue2040
Don't link if ship has 'no primary linking' flag
2019-05-11 10:19:29 +10:00
Goober5000 fb0847f4b5 Merge pull request #2038 from wookieejedi/add_sethotkey_sexp
Add new sexp: `add-remove-hotkey`
2019-05-10 17:50:48 -04:00
wookieejedi 7b959b09d2 Incorporate Goober's feedback 2019-05-10 15:34:05 -04:00
wookieejedi f4b713c56c Add bool arg 2019-05-10 15:12:49 -04:00
wookieejedi d32d3f55d1 Updated name and function
Incorporated all revisions and suggestions
2019-05-10 09:32:15 -04:00
niffiwan 1ebb72ee88 Don't link if ship has 'no primary linking' flag
Also adds/enhances some handy nprintf debug statements.
Fixes #2040
2019-05-10 23:06:16 +10:00
wookieejedi a988d0e972 Adds a new sexp, set-hotkey
This new sexp allows a FREDer to set a hotkey for a ship or wing. The sexp takes 2 or more arguemnts, the integer of the hotkey to set (F5=0, F6=1, ... F12=7) and the names of the ship(s) and/or wing(s).
2019-05-09 13:46:21 -04:00
Goober5000 8aa2f3b099 tweak spacing 2019-05-08 20:04:19 -04:00
Goober5000 8365f0abb7 add $On Subsystem Destroyed scripting hook
Implements the feature request from issue #610.

As an aside, this PR also patches the `ship_set_subsystem_strength` function (which is only used by the debug console and in the event you fire at your training instructor) to use the same code as the `set-subystem-strength` sexp.  This properly handles submodels blown off, sounds, etc.
2019-05-08 19:55:03 -04:00
wookieejedi 4afe739cbb Clean and shorten per request
Fixes spelling error in comment, uses proper flyby_snd and makes code more concise.
2019-05-08 14:14:01 -04:00
wookieejedi 2c469e0c88 Adds per-class flyby sounds
Previosuly, flyby sounds were only specified on a per-species basis. This PR allows each ship class to use a specific flyby sound. This will allow modders to set the custom sound in ships.tbl, just like any other per-class sound.
2019-05-08 14:00:28 -04:00
MageKing17 822e61665d Merge pull request #2026 from Goober5000/some_sexp_fixes
various sexp formatting and cleanup changes
2019-05-07 07:18:28 -07:00
niffiwan 5f5616c0fa Merge pull request #2030 from niffiwan/feature/deathroll_customisation
Allow death max rotation to be set per ship
2019-05-07 19:28:54 +10:00
Goober5000 b38f6aa014 HA! 2019-05-06 14:07:11 -04:00
Goober5000 d88e6f5a88 Merge pull request #2034 from niffiwan/fix/issue2033
Null wp_list on setting order, same as for sexps
2019-05-06 14:01:58 -04:00
niffiwan 760b601a95 Null wp_list on setting order, same as for sexps
Making wp_list null lets ai_mission_goal_achievable reset the waypoints
list correctly, otherwise it thinks the waypoints are ok when in fact
something has invalidated them
2019-05-06 18:30:38 +10:00
Fabian Woltermann 0bf116b0cc Merge pull request #2032 from The-E/fix/2031_copy_paste_error_in_lua_vecmath
Fix for error in validation of matrices accessed by lua
2019-05-06 07:51:40 +02:00
The_E 2180296f9c When setting individual elements of a matrix through lua, we need to mark the matrix as either having out of date angles or out of date vectors. 2019-05-05 20:06:28 +02:00
niffiwan b84fe72778 address feedback
This moves DEATHROLL_ROTVEL_CAP to shiphit.h & converts it to a
constexpr float
2019-05-05 22:13:32 +10:00
niffiwan c5e460a90d Allow death max rotation to be set per ship
This allows modders to restrict the amount of rotation in a death roll.
It's fairly simple to fit in with the existing code which has a lot of
hard coded constants. The intended use case is to restrict pitch &
heading changes so there's less chance of rapid forward rolls or flat
spins, especially with faster-than-FS2 ships.

I'd almost rather rewrite the entire code to dynamically use ships mass
& velocity except for retail compatibility issues.
2019-05-05 10:07:21 +10:00
CasparKielwein 271d3f97bd remove unused functions obj_add_pair and obj_add_pairs in object code.
These functions where not used anymore and probably made redundant
by swifties changes to the collision system in 2012.
2019-05-04 11:30:54 +02:00
CasparKielwein e70d6a89ee objcollide cleanup: declare local variables at point of first use
made some loops range based.
removed some typedef struct, as it is c++.
2019-05-04 11:30:16 +02:00
Goober5000 d1a8e66fce Merge pull request #2029 from niffiwan/fix/qtfred_mission_load_failure
Allow qtFred to open missions again
2019-05-04 01:58:58 -04:00
niffiwan 964f8f5ef1 Allow qtFred to open missions again
Minor miss from 9332311b57
Also has trivial comment fix
2019-05-04 14:02:50 +10:00
Goober5000 8ebe012e12 more complaints 2019-05-03 15:24:16 -04:00
Goober5000 92f142452a even more complaints 2019-05-03 14:07:13 -04:00
Goober5000 cfb80cfd16 fix modulo 2019-05-03 13:59:48 -04:00
Goober5000 39313ed8d7 Address feedback. Also fix a few things github complained about. Also fix depart-node-delay by correctly handling the 'delay' parameter as a value of type 'fix', just like the other *-delay sexps. 2019-05-03 13:06:51 -04:00
MageKing17 1da2c03cef Merge pull request #2016 from Goober5000/a_few_good_sexps
Three sexps and some sexp improvements
2019-05-01 20:13:11 -07:00
Goober5000 f9dbe4941b various sexp formatting and cleanup changes 2019-05-01 22:45:59 -04:00
Goober5000 46319f1b4e Merge pull request #2025 from Mithi83/bug/1827-targeting-brackets
fix bug #1827: targeting brackets stuck in top left corner
2019-05-01 14:31:47 -04:00
Thomas Jansen 8653d824cd fix bug #1827: targeting brackets stuck in top left corner
Every g3_start_frame must have a matching g3_end_frame. Thus, a return
in the middle of a function after an opening g3_start_frame must make
sure to call g3_end_frame before it leaves to avoid a dangling frame
context.

As described in the bug report at
https://github.com/scp-fs2open/fs2open.github.com/issues/1827
a floating point rounding issue could be the trigger for the problem.
2019-05-01 18:32:26 +02:00
CasparKielwein 3e7e7cde00 made functions from objcollide, which are only used in .cpp local to compilation unit 2019-05-01 10:41:27 +02:00
CasparKielwein f63667b29e Cleanup in objcollide: Remove code that was commented out 2019-05-01 10:07:35 +02:00
CasparKielwein b42fc2122a Cleanup in object collide code.
A bit of small cleanups in preparation of larger scale refactoring.

remove unused member heavy_collision_cm_pos of collision info struct,
which was set in several places but never used.
2019-05-01 09:44:19 +02:00
Goober5000 3ca4ba16fe Merge pull request #1892 from asarium/feature/optionsUI
Add new options system
2019-04-29 17:16:21 -04:00
Goober5000 36c14e21e8 Merge pull request #2021 from asarium/feature/axemWantsLuaAudioAPIs
Add unload function for freeing audio memory of a soundfile handle
2019-04-29 17:07:48 -04:00
asarium ce1ea75714 Add unload function for freeing audio memory of a soundfile handle
This can be used by scripts for explicitly freeing up some memory when
necessary.
2019-04-27 08:53:07 +02:00
Goober5000 30373e9138 Merge pull request #2019 from wookieejedi/clean_fix_showship_detailbox_bug
Cleaner fix for show-ship bug with detail_box calculations
2019-04-22 19:15:56 -04:00
wookieejedi 9e460332a6 add ship check
per Goober's request added a ship check
2019-04-22 17:53:07 -04:00
wookieejedi 473e2588bf Cleaner fix for show-ship bug with detail_box calculations
This provides a cleaner fix for the bug where using show ship caused detail_box calculations to incorrectly work on the player's ship.

It also reverts the changes made by PR #2018.
2019-04-22 10:28:41 -04:00
niffiwan 6350110b21 Merge pull request #2018 from wookieejedi/fix_detailbox_with_showship
Fix `detail_box` calculations when using `show ship`
2019-04-21 18:49:16 +10:00
wookieejedi 0c92134de5 fix detailbox using show ship
This PR fixes issue #2015, which is a bug where using `show ship` caused detail_box calculations to incorrectly use world coordinates for submodels on the player's ship, rather then the correct local coordinates.
2019-04-20 20:45:14 -04:00
Goober5000 681dd9b871 Merge pull request #1993 from niffiwan/fix/blackdetailboxes
detail boxes can ignore default distance scaling
2019-04-19 13:43:51 -04:00
Goober5000 213422076e KNOWN_ values aren't returned after all, derp 2019-04-19 00:34:39 -04:00
Goober5000 41aff9d094 ooooooops 2019-04-19 00:14:53 -04:00
Goober5000 337ca94b53 write out the full word 'number' 2019-04-18 01:18:05 -04:00
Goober5000 13f5037b0c add is-nan, nan-t-num, and functional-if-then-else 2019-04-18 01:12:00 -04:00
Goober5000 221d96f5d6 defensively check both regular and known sexp boolean values 2019-04-18 01:11:19 -04:00
Goober5000 bd6441004b optimize eval_sexp by not reconciling positive/negative if we have a magic number 2019-04-18 01:09:36 -04:00
Goober5000 14b6e86e5d made the SEXP_ numbers even more unlikely, in case someone wants to use large negative numbers 2019-04-17 12:32:51 -04:00
m!m 4824428971 Merge pull request #2014 from MageKing17/feature/ssm-strike-warp-effect-field
Add "+WarpEffect:" field to ssm.tbl.
2019-04-14 13:01:52 +02:00
MageKing17 6af8d4ccbd Add "+WarpEffect:" field to ssm.tbl.
Allows subspace strikes to choose which fireball to use for the warp effect. If absent, FIREBALL_WARP is used as the default (which was the previous hardcoded behavior).

"+WarpEffect:" can be specified as either an index or using the fireball's unique ID.
2019-04-13 20:35:52 -07:00
niffiwan d2d730138f Merge pull request #2013 from chief1983/fix/revert_nightly_test
Revert "Test the upload"
2019-04-08 02:38:22 +10:00
Cliff 7d67d16094 Revert "Test the upload"
This reverts commit 5fa5a199bf.
2019-04-07 09:15:41 -05:00
niffiwan 3f4eb05f3e Merge pull request #2012 from chief1983/fix/travis_uploads
Make sure to use a path that contains the new curl binary
2019-04-07 08:54:36 +10:00
Cliff Gordon 49f8660f7a fix/travis_uploads: Make sure to use a path that contains the new curl binary. 2019-04-06 13:20:35 -05:00
niffiwan 2833ae150f detail boxes can ignore default distance scaling
Add a submodel property that overrides the hard-coded distance
multipliers applied to the distances at which details boxes & spheres
are rendered. The distance multipliers are set by the "model detail"
setting in the options screen. Note that this is different to the LOD
distance multipliers which are not hard-coded.

This allows some more creative uses of detail boxes & spheres, e.g. to
stop models subobjects from being rendered when they're out of player
view. Past testing showed a reasonable performance improvement with
complicated models.

This is a submodel property rather than global, or a ship flag, to allow
flexibility, i.e. a single model could choose this option only for the
submodels that want to use detail boxes/spheres in this fashion, which
other detail boxes/spheres use the conventional approach.

Code & ideas originally from zookeeper, I've just packaged it up for
the PR.

This has been rebased & squashed based on feedback in the PR
2019-04-06 15:24:27 +10:00
niffiwan 8470548376 Merge pull request #2011 from wookieejedi/fix_drawRect_for_scripted_gauge
Fixes minor bug with `drawRectangle` for scripted HUD gauges
2019-04-05 20:20:12 +10:00
wookieejedi ea6bd1d9a4 Update hudgauge.cpp
Fixes a minor bug that incorrectly draws Rectangles to a scripted HUD gauge. The third and fourht arguments needed to be width and heigth, not x2 and y2.
2019-04-04 16:03:45 -04:00
m!m 18c0314652 Merge pull request #2010 from wookieejedi/Add_more_draw_functions_toScriptedGauge
Add more draw functions to scripted gauge
2019-03-30 21:22:28 +01:00
wookieejedi 98165dbce5 Fix typo, drawCirle -> drawCircle 2019-03-30 13:55:12 -04:00
wookieejedi 60bf6dec2c Merge branch 'Add_more_draw_functions_toScriptedGauge' of https://github.com/wookieejedi/fs2open.github.com into Add_more_draw_functions_toScriptedGauge 2019-03-30 09:54:35 -04:00
wookieejedi 252ab4e282 Follw m!m request for optional arg 2019-03-30 09:54:01 -04:00
wookieejedi bd93c8e661 Merge pull request #2 from wookieejedi/master
Rebase
2019-03-30 09:50:35 -04:00
wookieejedi 0e4056f795 Merge pull request #1 from scp-fs2open/master
Rebase
2019-03-30 09:49:10 -04:00
wookieejedi 8f877d3826 Fixed typo 2019-03-29 09:36:10 -04:00
wookieejedi 6025ab8318 Update drawCircle too to match gr.drawCircle 2019-03-29 08:57:54 -04:00
wookieejedi 679cbe2526 Made the draw functions more consistent with gr draw functions 2019-03-29 08:53:37 -04:00
m!m fa0140fea7 Merge pull request #2009 from wookieejedi/Add_drawImage_toScriptGauge
Add `drawImage` to Scripted Gauge
2019-03-29 10:57:31 +01:00
wookieejedi 5343503385 Add more draw functions to scripted gauge
This adds the following functions to the scripted gauge API: drawCircle, drawRect, and drawLine. Also note that I created an additional function, for HUDGauge:renderCircle_unfilled, becuase the precedent shown by having two functions for `gr_unfilled_circle` and `gr_circle` and adding a fourth argument to `renderCircle` seemed to affect a lot of other functions.
2019-03-28 16:58:25 -04:00
wookieejedi edd2cb89c7 Removed unneeded include 2019-03-28 13:44:54 -04:00
wookieejedi 6a2327088f Add drawImage to Scripted Gauge
Adds an additional draw function, `drawImage` to the new Scripted Gauge API.
2019-03-28 09:53:19 -04:00
niffiwan f798c5b916 Merge pull request #2007 from asarium/feature/scriptedHudGauges
Add new HUD gauge type for scripted gauges
2019-03-28 21:31:47 +10:00
m!m 76115122a0 Merge pull request #2003 from Goober5000/abort_processing_missions_which_failed_to_parse
cancel mission load when a syntax error is found
2019-03-27 17:58:00 +01:00
MageKing17 b4cb602e31 Merge pull request #2008 from NovachenFS2/new-strings
New translateable strings for the strings.tbl
2019-03-23 09:13:07 -07:00
m!mandNovachenFS2 d26b5310e7 Update code/controlconfig/controlsconfigcommon.cpp
Suggestion

Co-Authored-By: NovachenFS2 <[email protected]>
2019-03-23 14:14:36 +01:00
niffiwan cdb65c154c Merge pull request #2004 from wookieejedi/chase_displays
Add `Chase View Only` Option for HUD Gauges
2019-03-23 10:58:25 +10:00
Jenna Trassa fd0b612c64 New translateable strings for the strings.tbl
This commit adds new id for existing strings, so that they are translateable through the strings.tbl.
The following is translateable now:
- The 'or' seperator in the Keypress Directive gauge, if one function is bound to two keys.
- The Supernova warning.
- The error message that is displayed prior the pilot selection screen, if something is wrong with the loaded modification.
2019-03-22 22:44:35 +01:00
MageKing17 07d83d473c Merge pull request #1999 from asarium/cleanup/cleanupCfileType
Unify Cfile blocks and CFILE handles
2019-03-21 09:02:57 -07:00
asarium 1662a3c317 Add new HUD gauge type for scripted gauges
The new gauge can be accessed by the scripting API with which a function
can be set which will be called when this gauge is rendered. This can be
used for exposing the HUD gauge positioning and RTT options to the
scripting API without a lot of work needed for the script writer.

There is currently only one rendering function implemented since this is
only a proof of concept.
2019-03-17 09:27:58 +01:00
Goober5000 c70e4a0e7e Merge pull request #1991 from niffiwan/fix/issue1867
Fix issues with docked ships warping
2019-03-12 12:53:47 -04:00
niffiwan d82479fb14 tweak variable name for clarity 2019-03-12 21:13:02 +10:00
niffiwan be90059b65 fix documentation & var-name issue
Thanks to Goober5000 for noticing a very confusing var-name & errors in
the comments. Also switch to using bool check without '=='
2019-03-11 19:05:00 +10:00
niffiwan 04abbf55ed address feedback
Switch from 3x specific is_arriving functions to a single with params
Change flag names; replace "ndl" with "dock_follower"
Change dock-arrival helpers to not set follower flag on leaders
2019-03-10 09:26:12 +10:00
niffiwan 1bc925ee9b Merge pull request #2005 from wookieejedi/fix_font_lua_bug
Fixes bug with lua font handle
2019-03-09 10:12:04 +10:00
wookieejedi d558c2d632 Fixes bug with lua font handle
This PR fixes a bug where an invalid lua font handle would not be properly returned as invalid. An invalid handle is returned properly if the font name is invalid, but not if the index is invalid, thus this PR fixes that.
2019-03-08 17:07:21 -05:00
asarium 1c799653ce Unify Cfile blocks and CFILE handles
The only thing a CFILE contained was a version field which isn't used
anymore so that could be removed which basically meant that CFILE was
just an indirection to a Cfile_block which I then just renamed to CFILE.
The CFILE type is an opaque handle now since the contents are not
relevant to a user of Cfile.
2019-03-08 18:34:00 +01:00
wookieejedi 35af3a8b73 Place in correct order 2019-03-07 18:27:00 -05:00
wookieejedi 8586a319b0 Attempt Travis to rebuild 2019-03-07 18:10:30 -05:00
wookieejedi 15748adfda Adding Chase View Only Option for HUD Gauges
Currently, the player is unable to see a RTT hud gauge if in chase view. This adds an option in the hud_gauges.tbl that tells the game whether to draw a gauge based on if chase view is the active view. So for example, a modder using RTT mapped gauges can now make a HUD that displays on the interior of the ship (ie RTT with the cockpit model) and a HUD that displays when the player switches to chase view.
2019-03-07 16:06:51 -05:00
Cliff Gordon 6b0f73e427 Merge pull request #1990 from ngld/fix/curl-mac-upload
Compile curl ourselves on macOS and cache the result
2019-03-06 11:55:46 -06:00
Goober5000 1d744d347c add changes for qtfred 2019-03-06 00:18:40 -05:00
Goober5000 9332311b57 change C-style 0 on success, nonzero on failure to true on success, false on failure 2019-03-05 16:27:06 -05:00
Goober5000 47e9c01ce6 cancel mission load when a syntax error is found 2019-03-05 11:00:57 -05:00
MageKing17 5f176173bd Merge pull request #2000 from asarium/build/luaNatvis
Add natvis file for Lua
2019-03-04 19:48:20 -08:00
MageKing17 8d6538d7a9 Merge pull request #2002 from Goober5000/detroy
spelling fix
2019-03-04 19:39:13 -08:00
Goober5000 cc9e0a1096 spelling fix
now that all troys have been removed from all subsystems, this word can be changed
2019-03-04 17:32:29 -05:00
Goober5000 223e78926f Merge pull request #1998 from Goober5000/fix_missing_weapon_hook_variable
make sure to set all hook variables when the script hook is called
2019-03-04 17:09:31 -05:00
Goober5000 6679b623e4 same script stuff in beam.cpp 2019-03-03 15:20:45 -05:00
Goober5000 8aa2d0e212 a bit of minor housekeeping 2019-03-03 15:02:47 -05:00
Goober5000 1dc449ffa6 standardize order of parameters 2019-03-03 14:39:53 -05:00
Goober5000 6369cdec7c standardize comment 2019-03-03 14:39:25 -05:00
Goober5000 31fe15c4f4 remove hook variables immediately 2019-03-03 14:34:36 -05:00
Goober5000 dd384e7f1d standardize order of parameters 2019-03-03 14:32:54 -05:00
Goober5000 c8fa5803b9 set all hook variables (and unset them immediately after) for debris and asteroids 2019-03-03 14:24:50 -05:00
Goober5000 b57a608177 set all hook variables (and unset them immediately after) for debris and asteroids 2019-03-03 14:20:25 -05:00
Goober5000 f9f7a23b4d clearer invocation of the script hook 2019-03-03 14:11:29 -05:00
asarium 7e88feff16 Add natvis file for Lua
This should make debugging issues with Lua easier by providing a better
view on how the Lua state looks like.
2019-03-03 12:57:40 +01:00
Goober5000 c6bf5e927b make sure to set all hook variables when the script hook is called
In this block of code, the conditions were checked with a set of four hook variables but then subsequently run with only two.  This adds all four previously used variables.  More importantly, it adds the hook variables with expected and user-friendly names, since 'self' and 'object' are not necessarily intuitive.
2019-03-02 21:16:00 -05:00
asarium ad1ede7b74 Add new options system
This is a system for storing arbitrary data in the config file and then
easily retrieving it later on. This has full Lua support for exposing
the available options in a custom UI and changing the values of the
options. This ported some of the existing command line options over to
the new system which is opt-in for the moment by using a mod_table flag.
2019-03-02 14:02:21 +01:00
niffiwan 3c812915e4 add dock-related is_arriving helper functions
Address feedback from PR; reduce the number of hardcoded flags
2019-03-01 19:26:02 +10:00
Goober5000 62963d23ec Merge pull request #1908 from asarium/feature/scriptingFileAutoClose
Add scripting file handle auto-closing and error message
2019-02-27 22:47:18 -05:00
asarium dc71bb47d7 Add scripting file handle auto-closing and error message
This adds some auto-closing code to the scripting API of the CFile
system. If a file has to be auto-closed then an error will be displayed
to let the the script writer know that something is wrong.

This should not break existing scripts since causing file handle leaks
should never happen and if it does, this will make it easier to find
these issues.
2019-02-27 21:16:30 +01:00
m!m b79a3385a1 Merge pull request #1994 from asarium/build/circleci
Add CircleCI config file
2019-02-27 18:05:10 +01:00
asarium dfac2e98e9 Add CircleCI config file 2019-02-26 19:53:11 +01:00
niffiwan 37f2c8249d Fix issues with docked ships warping
There's a number of issues fixed here:
* Radar blips of docked ships were the wrong colour in stage 1
* You could target docked ships in stage 1
* Docked ships thrusters were visible in stage 1
* Hyperspace warptype ship could initially appear at their
warp-destination, then spring back to the correct location to complete
the rest of their warpin (because a docked ship had higher speed than
the dock leader)

There may also be a number of other subtle bugs with docked warpin;
e.g. I suspect (but haven't tested) that AI turrets could fire on
docked ships during warpin
These should also be fixed

Lastly, fixes issue #1867
2019-02-24 09:20:57 +10:00
ngld 5fa5a199bf Test the upload 2019-02-21 19:18:29 +01:00
ngld c00a2897f4 Compile curl ourselves on macOS and cache the result (for Linux as well).
We need to build our own curl binary since Homebrew doesn't support
 --with-libssh2 anymore.
I've also added caching to both the Linux and macOS code to avoid
rebuilding curl for each nightly.
2019-02-21 19:14:41 +01:00
Goober5000 ad4b1ca965 Merge pull request #1988 from niffiwan/fix/isdockedsingle
make is-docked work with a single argument
2019-02-17 11:13:40 -05:00
niffiwan f1f784f237 make is-docked work with a single argument
Currently is-docked always returns true if only a single argument is
supplied. This is probably as designed (except for not erroring on a
single arg) however it's quite easy to update to work for a single
argument and this case is useful for FotG, and might be useful for
others.
2019-02-17 19:19:03 +10:00
Goober5000 2c307ef5d3 Merge pull request #1983 from Goober5000/ship_initialization_tweaks
some tweaks and minor improvements to ship initialization
2019-02-07 14:40:58 -05:00
Goober5000 6f24d8d079 never mind, this is handled in the preloader 2019-02-05 02:23:58 -05:00
Goober5000 9fc94ab873 reconcile script and sexp 2019-02-05 02:21:20 -05:00
Goober5000 728ee2921f move ship_assign_sound into ship_create. also only assign sounds on change_ship_type if Fred is not running 2019-02-05 02:14:05 -05:00
MageKing17 caea0f56ed Merge pull request #1984 from Goober5000/ship_info_flag_fix
fix some flag information
2019-02-04 08:16:10 -08:00
niffiwan 94c9e1b494 Merge pull request #1985 from wookieejedi/AddWaypointHook
Add 'On Waypoints Done' Hook
2019-02-04 19:01:48 +10:00
wookieejedi 7dd1788aee Add 'On Waypoint Done' Hook
Adds 'On Waypoint Done' hook variable for scripting system.
2019-02-03 13:26:35 -05:00
Goober5000 77934c7215 actually it's better to document this 2019-02-02 23:32:57 -05:00
Goober5000 4a7c69082e ¯\_(ツ)_/¯ 2019-02-02 23:27:08 -05:00
Goober5000 74c4075aa6 address clang complaint 2019-01-29 23:43:28 -05:00
Goober5000 008d66c706 fix some flag information
Somewhere along the line, "sentry gun" was replaced with "escape pod" in the inverted is_flyable check.  This made the game think an escape pod wasn't flyable and therefore things like waypoint orders were not displayed.  This PR fixes that.

Additionally, I fixed a potential bug in weapons.cpp where the HUGE flag should really check against HUGE ships.  And there's a no-op formatting change in hudtargetbox.cpp.
2019-01-29 23:35:37 -05:00
Goober5000 1c385901cb prune a bit 2019-01-27 22:27:31 -05:00
Goober5000 5b9b06ab84 some tweaks and minor improvements to ship initialization
The core bug fixed here is #1982.  After ship_create sets up the ship, parse_object_create_sub does further initialization by copying some values from the parse object.  In most cases there are sensible defaults, but a few special cases require some post-processing...

- ship sounds
- the new way of initializing warp effects to allow per-ship customization
- intrinsic-no-shields
- an arrival entry in the mission log
- script hooks

I also took a further look at normal ship creation and tweaked some things...

- initialize ai mode in ai_object_init
- remove redundant assigment of ship name from parse_object_create_sub (it's also done in ship_create)
- remove redundant goal clearing from parse_object_create_sub (it's also done in ai_clear_ship_goals via ship_create)
- avoid overwriting the initial ai mode if the fix-ai-class-bug flag is set
- make the code slightly more efficient by not redundantly setting flags while searching for subsystems
2019-01-27 22:13:14 -05:00
MageKing17 f8da2cdc83 Merge pull request #1979 from MageKing17/bugfix/lua-control-info-player-nullptr-checks
Add checks for Player being nullptr to l_Control_Info.
2019-01-23 06:36:50 -08:00
niffiwan b790d6a388 Merge pull request #1978 from MageKing17/bugfix/lua-useButtonControl-command-definition
Use modulo instead of division in Lua useButtonControl() function.
2019-01-23 19:16:50 +10:00
niffiwan a7ba3fa373 Merge pull request #1977 from MageKing17/bugfix/lua-setButtonControlMode-additive-override-swap
Swap back return values for lua setButtonControlMode() function.
2019-01-23 17:55:25 +10:00
niffiwan 6d7c786a38 Merge pull request #1976 from MageKing17/bugfix/special-messages-skip-lookup
Avoid ship name lookup when sending "special" messages.
2019-01-23 17:54:54 +10:00
MageKing17 49d5356043 Add checks for Player being nullptr to l_Control_Info.
If various functions on l_Control_Info were called while Player was nullptr, FSO would CTD due to a null pointer dereference. This commit adds nullptr checks to avoid the problem.
2019-01-22 20:21:28 -08:00
MageKing17 572565c7bc Swap back return values for lua setButtonControlMode() function.
When setting LUA_ADDITIVE_BUTTON_CONTROL, the setButtonControlMode() function (in l_Base) would return "LUA OVERRIDE BUTTON CONTROL", and when setting LUA_OVERRIDE_BUTTON_CONTROL, "LUA ADDITIVE BUTTON CONTROL" would be returned. This commit simply swaps these back so that the appropriate return value is with the corresponding enum value.
2019-01-22 20:19:14 -08:00
MageKing17 c090ee5405 Use modulo instead of division in Lua useButtonControl() function.
When using a string to define the appropriate control in the useButtonControl() function (in l_Control_Info), the command definition was being divided by 32 when the appropriate mathematical operator was modulo; as a result, the only controls that could actually wind up being referenced are these four: TARGET_NEXT, MAX_THROTTLE, END_MISSION, and MULTI_MESSAGE_HOSTILE. By using the modulo operator, the string lookup now appropriately references the relevant button.
2019-01-22 20:15:46 -08:00
MageKing17 5597b56139 Avoid ship name lookup when sending "special" messages.
MESSAGE_SOURCE_SPECIAL indicates messages whose sender starts with "#", indicating that it's not a ship; however, the code was looking up the source as a ship name regardless, and if the message had a persona set, failing to find that ship name would result in the message failing to send. Commit f67596bc5e (a.k.a. SVN revision 5383) was supposed to fix this, however it was checking if q->source was MESSAGE_SOURCE_SPECIAL when q->source was one of the HUD_SOURCE_* #defines (specifically, MESSAGE_SOURCE_SPECIAL resulted in HUD_SOURCE_TERRAN_CMD). It turned out there was an unused HUD_SOURCE_* #define which behaves identically to HUD_SOURCE_TERRAN_CMD, namely HUD_SOURCE_IMPORTANT. By making MESSAGE_SOURCE_SPECIAL use HUD_SOURCE_IMPORTANT and changing the conditional to compare q->source to HUD_SOURCE_IMPORTANT, the intent behind the original fix can be carried out with minimal effort.

This also fixes issue #1706, which is basically the same as the original mantis issue.
2019-01-22 20:06:22 -08:00
MageKing17 c72a062a84 Merge pull request #1975 from asarium/feature/effectsPerSecond
Add support for "Effects per second" feature
2019-01-21 10:53:23 -08:00
asarium 422753976f Add support for "Effects per second" feature
This allows specifying how many times per second an effect should be
triggered for a particle source instead of triggering the effect every
frame. This will allow modders to achieve more consistent particle
effects regardless of FPS.
2019-01-19 13:56:45 +01:00
Goober5000 374383bacb Merge pull request #1973 from Goober5000/more_lenient_subsys_set_random
replace most Errors in sexp.cpp with Warnings
2019-01-17 23:16:37 -05:00
Goober5000 adfce4ec60 replace most Errors in sexp.cpp with Warnings
This is a follow-up to commit 1614384a6a.  `Error` is to be avoided if possible because almost all sexp problems are recoverable, and we don't want to bring the entire game to a halt.

Also add some more information to warnings about sexp operators on strings.
2019-01-17 12:52:17 -05:00
MageKing17 08faf52871 Merge pull request #1962 from asarium/fix/1961
Update internal NanoVG bitmap data buffer when updating texture
2019-01-14 02:43:08 -08:00
MageKing17 d99121cd52 Merge pull request #1970 from Goober5000/per_ship_warp_type_fixes
fix some bugs with the per_ship_warp_type feature
2019-01-14 01:56:47 -08:00
MageKing17 6ff292a43c Merge pull request #1971 from MageKing17/bugfix/dont-repeatedly-set-selection-effect
Don't repeatedly set selection_effect in parse_ship_values().
2019-01-13 23:26:26 -08:00
Goober5000 09f4f63be4 preserve warp params if we are parsing a TBM 2019-01-14 00:53:51 -05:00
MageKing17 2d67fd3ef8 Don't repeatedly set selection_effect in parse_ship_values().
Every time an entry for a ship was parsed (e.g. every time it showed up in a .tbm), the selection effect would be reset to the default. Since it's already set to the default in the ship_info constructor, this was both redundant and would make it extremely difficult to actually use a selection effect other than the default without constantly setting it in every .tbm.
2019-01-13 21:52:24 -08:00
Goober5000 5666eb5014 tweak comment 2019-01-13 23:51:30 -05:00
Goober5000 8542e9e113 fix some bugs with the per_ship_warp_type feature
Since FRED and FS2 load mission data slightly differently, the warp effect loading code had to be slightly reorganized in order for the warp effects to not be based on invalid data.  Additionally, the warp effects had to be initialized a little bit later so that it could accommodate a new set of warp parameters from the parse object.  As a bonnus, this PR also handles warp effects being reassigned in change_ship_class.
2019-01-13 23:40:59 -05:00
Goober5000 699c9e8d52 Merge pull request #1966 from Goober5000/per_ship_warp_type
per-ship warp type
2019-01-12 13:27:43 -05:00
Goober5000 5b45a89287 restore missing caption 2019-01-12 02:36:32 -05:00
Goober5000 741fc311cd fix comment rot 2019-01-12 02:31:09 -05:00
Goober5000 aaa9c779c0 remove spurious newline; word choice 2019-01-12 01:18:14 -05:00
Goober5000 bfae614189 fix bug: only reverse the warp effect when the ship is warping out; and while we're at it, change that parameter to bool 2019-01-12 01:05:19 -05:00
Fabian Woltermann cb956961f6 Merge pull request #1968 from MageKing17/bugfix/replacement-textures-initialization
Remember to initialize Replacement_textures array after allocation.
2019-01-11 19:24:59 +01:00
MageKing17 6d2ebd1ed7 Remember to initialize Replacement_textures array after allocation.
In commit 9e4c6df219 (PR #1265), the model_render_params::set_replacement_textures() override that accepts a vector of texture replacements was added, which includes allocating its own Replacement_textures array. However, unlike its counterpart from missionparse.cpp, this array doesn't then have all of its elements set to -1. Since it works just fine there, I copied that code here so both versions should behave the same.
2019-01-11 05:21:22 -08:00
Goober5000 d7e6187ba8 Merge pull request #1967 from MageKing17/bugfix/glow-texture-assert-data-check
Avoid using Asserts for data security in modelread properties-reading code.
2019-01-11 00:32:12 -05:00
MageKing17 62f6ee86ef Remove redundant length check, remove asserts from ID_FUEL case.
The (length > base_length) conditional was redundant with the other conditions. Additionally, the code from the ID_FUEL case (thruster points) checking for "$engine_subsystem=" was making the exact same mistake, so I made the same changes there.
2019-01-10 17:58:46 -08:00
Goober5000 56ae91c973 maybe it will work now 2019-01-09 16:08:05 -05:00
Goober5000 dfc8cbd1c9 okay this is pretty stupid 2019-01-09 11:01:32 -05:00
Goober5000 77e61af23c add new files to the project 2019-01-09 09:30:47 -05:00
Goober5000 7b80b0c564 minor header reorganization 2019-01-09 01:44:19 -05:00
Goober5000 a98d3bb064 more clang complaints 2019-01-09 00:59:12 -05:00
Goober5000 741ee07249 address warnings 2019-01-09 00:17:20 -05:00
Goober5000 04cefad927 inherit from ship_info warp params instead of resetting to default 2019-01-09 00:00:53 -05:00
Goober5000 3d68476505 remove WD_ prefix 2019-01-08 23:44:09 -05:00
Goober5000 81c63929b5 stage 3: add FRED2 support 2019-01-08 23:03:37 -05:00
Goober5000 d6d03fbb14 format saves using two-decimal floats, and insert missing newlines 2019-01-08 23:03:37 -05:00
Goober5000 9acd25bc28 create a new convenience function 2019-01-08 23:03:37 -05:00
Goober5000 7e00a8b10f stage 2: allow individual ships to also use Warp_params; implement loading and saving 2019-01-08 23:03:36 -05:00
Goober5000 bb0df2dc43 stage 1: replace individual parameters with an index into Warp_params 2019-01-08 23:03:36 -05:00
Goober5000 38f858198b Merge pull request #1964 from Goober5000/warp_direction_enum
create WarpDirection enum
2019-01-08 22:35:38 -05:00
MageKing17 a83307402a Avoid using Asserts for data security in glow texture reading code.
In a Release build, there was absolutely no code making sure that the text "$glow_texture=" was actually present in the properties field of a glow point bank, beyond a simple strlen() check. Even in Debug builds, there was no guarantee that the text was at the start of the properties field; it was just assumed (without even an assertion verifying it). Now, the assertions have been removed and the appropriate conditions are checked in both Release and Debug.
2019-01-08 15:04:42 -08:00
Goober5000 097148c2c2 remove WD_ prefix 2019-01-07 12:01:17 -05:00
Goober5000 fbf8a931c4 fix warning 2019-01-06 22:38:31 -05:00
Goober5000 32d951b27a create WarpDirection enum 2019-01-06 17:33:47 -05:00
Goober5000 630e6c3e96 Merge pull request #1963 from CasparKielwein/enable_wunusedfunction
enable Warnings for unused functions
2019-01-02 00:12:52 -05:00
CasparKielwein 72ed33502b remove unused and undeclared function hatEnumToIdx in joy-sdl 2018-12-31 16:06:37 +01:00
CasparKielwein d3806b2107 remove unused graphics function is_power_of_two. There is a generic one in ddutils. 2018-12-31 16:05:34 +01:00
CasparKielwein c9a481f4f3 wrapped function only used in debug mode in ifndef NDEBUG in ffmeg 2018-12-31 16:03:15 +01:00
CasparKielwein 0a02f677fe remove unused (and undeclared) function get_subsys_bounding_rect in qtfred 2018-12-31 16:03:15 +01:00
CasparKielwein d55e4343f9 enable Warnings for unused functions in gcc and clang toolchain files. 2018-12-31 14:28:25 +01:00
m!m e902934e89 Merge pull request #1958 from CasparKielwein/dead_code_remove_ck5
remove unused functions O to R
2018-12-31 11:54:18 +01:00
m!m 26395f7c12 Merge pull request #1959 from CasparKielwein/dead_code_remove_ck3
Remove unused Code S to Z
2018-12-30 15:08:15 +01:00
asarium de92fe25e3 Update internal NanoVG bitmap data buffer when updating texture
This was causing issues since the new bitmap data was never stored in
the internal buffer FSO uses for getting the image data. Instead, it was
only uploaded to the GPU texture which could be deleted at any time.
This was the case when changing the "3D Hardware Texture" setting which
causes a texture flush.

This fixes #1961.
2018-12-30 14:00:09 +01:00
CasparKielwein c72fa0917b remove unused functions in render code.
Left those functions in 3dmath alone, as it is more of a library.
2018-12-29 16:45:47 +01:00
CasparKielwein bc0f47269d remove unused functions in radar 2018-12-29 16:45:47 +01:00
CasparKielwein 94469dc43f remove unused functions in playerman 2018-12-29 16:45:47 +01:00
CasparKielwein ce335dbcc2 remove unused functions in physics 2018-12-29 16:45:47 +01:00
CasparKielwein 6660d21f7e remove unused and commented out functions in pcxutils. 2018-12-29 16:45:47 +01:00
CasparKielwein e622d81e89 remove unused functions and defines in object/code 2018-12-29 16:45:47 +01:00
CasparKielwein 10c8e16cda remove unused function in nebula code 2018-12-29 16:45:47 +01:00
CasparKielwein 25029bfdf1 remove unused functions and defines in weapon code 2018-12-29 16:41:23 +01:00
CasparKielwein 2255616ed5 remove unused functions in stats 2018-12-29 16:41:23 +01:00
CasparKielwein 62ab705d75 remove unused and not implemented functions in starfield. 2018-12-29 16:41:23 +01:00
CasparKielwein 77fc335580 remove unused functions in ship/shield and afterburner 2018-12-29 16:41:23 +01:00
CasparKielwein 981b01eea2 remove unused functions in ship/shipfx 2018-12-29 16:41:23 +01:00
CasparKielwein 366dc3749c remove unused functions and variables in ship/ship.cpp and .h 2018-12-29 16:41:23 +01:00
CasparKielwein e693367dd0 remove unused functions in sound 2018-12-29 16:41:23 +01:00
m!m da53960003 Merge pull request #1960 from asarium/fix/cppLuaHandlesPointer
Add Lua state destruction event
2018-12-28 18:46:18 +01:00
Goober5000 687c1ba4f7 Merge pull request #1957 from CasparKielwein/dead_code_remove_ck4
remove unused functions I to O
2018-12-28 11:52:24 -05:00
CasparKielwein d901470880 remove unused functions in model/ code. 2018-12-28 10:29:22 +01:00
CasparKielwein 7e74153a3d remove unused functions in mission code.
There where serval relics of prior refactorings like unimplemented functions.
2018-12-28 10:29:22 +01:00
CasparKielwein 6cf75b77dc remove unused functions in localization code. 2018-12-28 10:29:21 +01:00
CasparKielwein 3ec0a9c35e remove unused functions in lighting code. 2018-12-28 10:29:21 +01:00
CasparKielwein 519f60a63b remove unused globals and functions in mouse support io code 2018-12-28 10:29:21 +01:00
CasparKielwein 252da89782 remove unused function in keyboard support io code 2018-12-28 10:29:21 +01:00
CasparKielwein 0f1b3fd6c2 remove unused function in joystick support code. 2018-12-28 10:29:21 +01:00
CasparKielwein 58722425a3 remove unused function in osapi/dialog.cpp 2018-12-28 10:29:21 +01:00
asarium 211110d415 Add Lua state destruction event
This can be used by the various subsystems for cleaning up Lua
references before the Lua state is destroyed. This avoids having
dangling references to the Lua state which would cause segfaults later
on.

The first subsystem to use this is the dynamic SEXP system which had
dangling references due to keeping Lua references to the SEXP functions.

This fixes #1954.
2018-12-27 14:14:34 +01:00
m!m 61a8aa5592 Merge pull request #1956 from CasparKielwein/unused_function_ck2
remove unused Functions D to H
2018-12-27 13:50:52 +01:00
CasparKielwein 0692286bba Remove dead code in hud directory.
Removed a lot of unused functions.
This is mostly a cleanup of a prior refactoring.
There where a lot of unimplemented functions remaining from renaming.
Removed several outcommented parts of code.
2018-12-26 20:40:20 +01:00
CasparKielwein 72dae916a9 remove dead code in gamessnd/eventmusik
remove unused functions.
remove some uncommented code.
remove unused global variables.
2018-12-26 20:40:20 +01:00
CasparKielwein 189ad9f694 remove two unused functions in gamesequence 2018-12-26 20:40:20 +01:00
CasparKielwein b9f9fa0f73 remove unused function in gameplayhelp: gameplay_help_close 2018-12-26 20:40:20 +01:00
CasparKielwein dc7e88c888 remove unused deinfe in fireball.cpp and unused function fireball_render_plane 2018-12-26 20:40:20 +01:00
CasparKielwein b5dae2a56e remove dead code in debugconsole
remove unused functions.
Remove some unused defines and an unused class in console.h
2018-12-26 20:40:20 +01:00
CasparKielwein 969bfd0bdd remove unused functions in debris 2018-12-26 20:40:20 +01:00
m!m 63e8ae53c5 Merge pull request #1953 from plieblang/SupportDontAddPrimaries
AI profile flag for support to not equip new primary
2018-12-26 14:09:54 +01:00
m!m d57aaac8e4 Merge pull request #1952 from CasparKielwein/dead_code_remove_ck
remove unused functions A to C
2018-12-26 14:02:36 +01:00
plieblang ab981bd415 Document why the flag exists 2018-12-22 14:22:58 -08:00
CasparKielwein df7c91f3e7 remove some unused functions in ai code.
There is a lot of dead code left, but my IDE failds on the 15k file.
2018-12-22 20:10:56 +01:00
CasparKielwein ee73694cc8 remove unused functions on anim
Functionality related to pausing animations was not being used anymore.
2018-12-22 20:10:56 +01:00
CasparKielwein 65dcfe0a7c remove unused functions in autopilot 2018-12-22 20:10:56 +01:00
CasparKielwein ae8f8baade remove unused functions in cutscene 2018-12-22 20:10:56 +01:00
CasparKielwein 86fcdb1502 remove unused functions and variables in controlconfig 2018-12-22 20:10:56 +01:00
CasparKielwein b71fc4595c remove unused functions in cmeasures 2018-12-22 20:10:56 +01:00
CasparKielwein 471402ec5d remove unused functions in cfile 2018-12-22 20:10:56 +01:00
CasparKielwein 97fdca6b52 remove unused functions in camera 2018-12-22 20:10:56 +01:00
CasparKielwein b50833e6fb remove unused or unread variables in bmpman.
Global variables, function pointers and fields,
that where either unused or only set and never read.
2018-12-22 20:10:56 +01:00
CasparKielwein 4429cbb21c remove unused functions in bmpman 2018-12-22 20:10:56 +01:00
plieblang 4a6d8573a0 AI profile flag for support to not equip new primary 2018-12-21 13:26:32 -08:00
m!m 2c6039759c Merge pull request #1951 from Goober5000/fix_comment_rot
fix comment rot in speech.h
2018-12-18 17:42:41 +01:00
Goober5000 f3a0d56a85 remove comment that is no longer applicable 2018-12-18 00:07:40 -05:00
Goober5000 243aac1667 Merge pull request #1934 from plieblang/LabLightingSlidersResetView
Set initial slider values to the command line parameters and add functionality to reset view
2018-12-17 23:58:29 -05:00
Goober5000 19fbe05cee Merge pull request #1949 from Goober5000/small_collision_optimization
simple optimization for obj_sort_and_collide
2018-12-17 16:00:50 -05:00
Goober5000 e581a3b8a3 make these variables global 2018-12-16 14:28:47 -05:00
m!m 67a2d99a9b Merge pull request #1950 from asarium/fix/particleEffectParsing
Improve particle parsing code
2018-12-16 19:12:23 +01:00
asarium 569f1ee237 Improve particle parsing code
This makes some general changes to the particle parsing code. It moves
the trail effect option to the end of the options list to remove an
ambiguity in the resulting parsing code. This is done in a backwards
compatible manner so existing tables will not be broken by this.

This also introduces support for specifying single number ranges
without the parentheses to make that easier to use.
2018-12-16 14:23:22 +01:00
Goober5000 e9a8b9d8a2 make vectors static, per discussion on Discord 2018-12-15 16:45:58 -05:00
m!m 0efb98d4a9 Merge pull request #1948 from MageKing17/bugfix/sexp-nonexistent-AI-class
Don't rely on Assert to check for a valid AI class in SEXP code.
2018-12-13 20:10:34 +01:00
MageKing17 ec99bf9c03 Don't rely on Assert to check for a valid AI class in SEXP code.
Bad data can cause the name search to fail, and if change-ai-class was called with an invalid AI class, it could cause later invalid array accesses (using an index of -1).
2018-12-13 07:00:17 -08:00
plieblang bd6ff021fd Hopefully fix compilation bug 2018-12-09 12:14:43 -06:00
MageKing17 69213c3338 Merge pull request #1947 from asarium/fix/audiofile_play_api_fix
Add missing parameters to soundfile:play
2018-12-08 10:09:03 -08:00
asarium 0bffac7615 Add missing parameters to soundfile:play
This was missing from the API code and was uncovered by the new
scripting API changes.
2018-12-08 17:32:49 +01:00
niffiwan ba089bd95e Merge pull request #1945 from asarium/fix/1944
Fix move constructor of streaminganim_h
2018-12-08 16:17:35 +10:00
m!m 0a1519284f Merge pull request #1943 from TheMatthew/fast-path-microoptimization
Add a cache map for shaders in order to accelerate shader lookup
2018-12-07 18:09:08 +01:00
Matthew Khouzam 877a138192 Update gropenglshader.cpp 2018-12-06 22:53:42 -05:00
m!mandTheMatthew 8a34ceef91 Update code/graphics/opengl/gropenglshader.cpp
Co-Authored-By: TheMatthew <[email protected]>
2018-12-06 22:51:35 -05:00
niffiwan d638cacc51 Merge pull request #1932 from Goober5000/fix_warp_clipping
Fix warp clipping
2018-12-07 07:56:33 +10:00
asarium 871317b5bd Fix move constructor of streaminganim_h
The move constructor was written wrongly which caused issues when moving
the value into the Lua memory. This fixes that issue.

This fixes #1944.
2018-12-06 19:53:50 +01:00
m!mandTheMatthew 9b7a87d4c5 Update code/graphics/opengl/gropenglshader.cpp
Co-Authored-By: TheMatthew <[email protected]>
2018-12-03 20:04:30 -05:00
Matthew Khouzam 3b07636a16 Add a cache map for shaders in order to accelerate shader lookup
Shaders lookup in opengl_get_shader_idx performance reduces from
O(n) shader to O(1).

Signed-off-by: Matthew Khouzam <[email protected]>
2018-12-03 20:03:25 -05:00
m!m 8840d238d7 Merge pull request #1942 from TRBlount/lua/WeaponCreatedHook
Add On Weapon Created Hook
2018-12-03 17:58:03 +01:00
TRBlount 95128dd734 Fix Travis Errors 2018-12-02 01:10:22 -07:00
TRBlount 30866afbd6 Add On Weapon Created Hook 2018-12-02 01:10:22 -07:00
plieblang 2b43677c82 Improve UpdateSlider and add help text 2018-12-01 19:18:36 -06:00
Goober5000 94a542a2a3 Merge pull request #1940 from TheMatthew/minor_cleanup
objectsort: remove useless check
2018-11-29 02:02:44 -05:00
Matthew Khouzam 5c064afd95 Update objectsort.cpp 2018-11-28 23:12:55 -05:00
Matthew Khouzam 6ee41c06d8 Update objectsort.cpp 2018-11-28 23:12:34 -05:00
Matthew Khouzam 58fa411ad3 Update objectsort.cpp 2018-11-28 23:11:57 -05:00
Matthew Khouzam 08c2449672 Update objectsort.cpp 2018-11-28 23:11:27 -05:00
Matthew Khouzam 726af82c56 objectsort: remove useless check
if an object is a ship, it is a model. No need
to check twice.
2018-11-28 20:41:45 -05:00
m!m c11dce4a92 Merge pull request #1939 from TheMatthew/clean-fast-path
objectsort: Move nebula detection to common area
2018-11-28 19:11:56 +01:00
Matthew Khouzam 0121eb6123 objectsort: Move nebula detection to common area
Run nebula test once per frame rather than once
per object.

Use a common function to avoid drifting errors.
2018-11-27 23:45:09 -05:00
niffiwan 8a325362f6 Merge pull request #1938 from asarium/fix/optionalScriptingParameters
Check optional scripting parameters before using them
2018-11-27 20:07:29 +10:00
asarium 4eb0e41142 Check optional scripting parameters before using them
These were all cases where the parameter was the new value when setting
a variable. The variables should always be initialized when that code is
reached but it is still better to check the pointers before using them.

These were found by @niffiwan.
2018-11-26 18:50:12 +01:00
Goober5000 5528e4e42d Merge pull request #1933 from Goober5000/multi_sexp_destroy_and_subsys
multi capability for destroy-instantly and destroy-subsys-instantly
2018-11-25 13:41:33 -05:00
Goober5000 968695f851 fix handling of multiplayer packets 2018-11-25 00:27:14 -05:00
Goober5000 8f00c6e842 since we switched from a while-loop to a for-loop, don't repeat the CDR 2018-11-25 00:27:14 -05:00
Goober5000 8a9edb1215 remove error_bypass from new function 2018-11-25 00:27:14 -05:00
Goober5000 1c9e47ad3d address clang-tidy complaints 2018-11-25 00:26:29 -05:00
Goober5000 74fd3c0637 multi capability for destroy-instantly and destroy-subsys-instantly
Previously, these two SEXPs could only be used in single-player; now they can be used in multiplayer.  (This now allows Admiral MS's ship save/load script to work in multiplayer too.)

Inspired by Parias's patch included in the FSPort Co-Op Mod Beta (https://www.hard-light.net/forums/index.php?topic=88385.0) though with some modifications.
2018-11-25 00:26:29 -05:00
Goober5000 fe0f0558c2 Merge pull request #1937 from Goober5000/remove_error_bypass
remove error bypass in subsys functions
2018-11-25 00:20:34 -05:00
Goober5000 11ded47bd5 qtfred too 2018-11-24 14:57:38 -05:00
Goober5000 f8801446db fix function references 2018-11-24 14:11:26 -05:00
Goober5000 7492615a31 remove error_bypass 2018-11-24 14:05:37 -05:00
m!m 53cfc1eae4 Merge pull request #1936 from niffiwan/fix/issue1935
Fixes issue #1935
2018-11-24 09:25:06 +01:00
niffiwan 252facb6c4 Merge pull request #1927 from asarium/fix/decalObjectTypeChanges
Add additional validity check for decals
2018-11-24 10:52:18 +10:00
niffiwan 65417be571 Fixes issue #1935
If the optional arg isn't present; just pass -1 to bm_set_render_target
2018-11-24 09:04:12 +10:00
Goober5000 0da41b3943 address clang-tidy complaint 2018-11-22 16:07:00 -05:00
plieblang 97f9a6c91b Set default lighting to cmdline params and add reset view 2018-11-22 13:40:05 -06:00
m!m 10cd82456d Merge pull request #1914 from Goober5000/small_collision_optimization
only recompute collision pairs if we moved a colliding object
2018-11-21 18:59:08 +01:00
Goober5000 7878ba0d19 only recompute collision pairs if we moved a colliding object
The code already only recomputed collisions if we moved a ship or a wing, but this further optimizes things so that only ships or wings that can collide will cause a recomputation.
2018-11-20 13:54:39 -05:00
Goober5000 a6879a1b40 remove warning 2018-11-20 13:49:50 -05:00
Goober5000 cf7706eb1c might as well add the extents functionality too 2018-11-20 13:49:50 -05:00
Goober5000 09ed127d06 fix typo 2018-11-20 13:49:50 -05:00
Goober5000 77c3c79143 update special-warp-dist 2018-11-20 13:49:50 -05:00
Goober5000 62b74b8743 upgrade position_ship_for_knossos_warpin 2018-11-20 13:49:50 -05:00
Goober5000 4d99a3b8b3 fix determination of dist_to_plane 2018-11-20 13:49:49 -05:00
Goober5000 3a9a840633 forgot one of these 2018-11-20 13:49:49 -05:00
Goober5000 86f67c3c84 warp should be pretty much working correctly now
precalculate warp values before beginning warp, and use them throughout the warp instead of recalculating in every function
standardize on always using the entire docked assembly for length and half-length calculation, instead of some places the assembly and some places just the dock leader
consolidate and simplify the compute_warpout* functions in light of the above
2018-11-20 13:49:49 -05:00
Goober5000 28bb3bf914 rewrite dock_calc_docked_center to find the true physical center of the docked assembly 2018-11-20 13:49:49 -05:00
Goober5000 bd4b116188 this should fix the warpin/warpout distances for regular warpin 2018-11-20 13:49:49 -05:00
Tyler Blount 0a429e8a32 Merge pull request #1931 from asarium/fix/qtAppveyorNightlies
Also fix Appveyor Qt path for nightly builds
2018-11-18 16:59:09 -07:00
asarium f70253e219 Also fix Appveyor Qt path for nightly builds 2018-11-18 19:45:32 +01:00
m!m e901e44418 Merge pull request #1881 from asarium/cleanup/adeSignature
Add proper class support to Lua API
2018-11-18 19:09:45 +01:00
asarium 651268eeea Fix rvalue reference issue in SetHookVar 2018-11-18 12:43:39 +01:00
asarium 9b7c32d0c1 Fix merge issue 2018-11-18 12:43:39 +01:00
asarium d014e53505 Fix clang-tidy issues 2018-11-18 12:43:39 +01:00
asarium 00b0a80ad9 Call scripting handle destructor when Lua collects garbage
This will automatically call the destructor of a type of Lua calls the
garbage collector for an object of that type. This is the last step
towards fully supporting non-trivial objects in the Lua API and all
previous workarounds have been removed.
2018-11-18 12:43:39 +01:00
asarium 4a7109e1d5 Convert scripting value getting to templates
This is pretty much similar to the value setting changes. This is a much
safer solution for getting values out of the scripting system which has
compile time validation for move-only types.
2018-11-18 12:43:39 +01:00
asarium 1484ddbe77 Convert scripting value setting to using placement-new
This commit changes the way the scripting API works by properly using
the newly available type information for moving the FSO resources into
the memory supplied by lua. This has full support for rvalue references
which will make it possible to use move-only types with the scripting
API.

This also makes the API much safer to use since it doesn't use pointers
to local values anymore which made it very hard to use the API in a
different context without causing issues.

This only covers writing the FSO values to Lua. Getting values back is
not covered yet.
2018-11-18 12:43:39 +01:00
asarium 48b03a1789 Remove ADE signature from scripting API
This was previously used for allowing scripts to set arbitrary values on
scripting objects. However, it was used by only a few scripting
functions and, as far as I know, no script uses this features.

This removes that feature which simplifies the code ade_index_handler
of.

This also simplifies the code that handles the userdata for libraries
provided by FSO.
2018-11-18 12:43:39 +01:00
asarium e790cf209a Add additional validity check for decals
This tracks the original object type of a decal and marks a decal as
invalid if the type changes. This should fix a bug reported by Spoon.
2018-11-18 12:41:55 +01:00
Tyler Blount 1eea298fe1 Merge pull request #1929 from TRBlount/fix/lab_insignia
Fix oversights when a mod has zero Insignias
2018-11-13 19:08:43 -07:00
TRBlount 1de63cc881 Make sure having no insignias doesn't trigger asserts and prevent insignias from being rendered 2018-11-13 14:57:22 -07:00
Tyler Blount c7be4734d3 Merge pull request #1930 from asarium/build/appveyorDebug
Fix Appveyor Qt directory
2018-11-13 14:55:19 -07:00
asarium fbc2a2dab2 Fix Appveyor Qt directory
They updated their Qt version and didn't update the documentation page.
This fixes the recent build errors by using the 5.9 symlink which is
linked to the most recent version.
2018-11-13 18:27:02 +01:00
Tyler Blount e5be2372e1 Merge pull request #1928 from TRBlount/fix/share_fire_dir_access
Fix access violation in ship_get_global_turret_gun_info
2018-11-12 21:06:21 -07:00
TRBlount 9c69e11fe5 Add requested changes 2018-11-12 17:56:50 -07:00
TRBlount 0173f44070 Fix access violation in share_fire_direction code path 2018-11-11 16:09:05 -07:00
Fabian Woltermann 45559c13a9 Merge pull request #1912 from asarium/cleanup/noOldCollision
Remove -old_collision command line option
2018-11-10 17:52:17 +01:00
Fabian Woltermann 34888cb1a6 Merge pull request #1923 from asarium/cleanup/speechAPI
Cleanup the speech API code a bit
2018-11-10 17:51:32 +01:00
Fabian Woltermann b77b425f2f Merge pull request #1920 from The-E/feature/lab_camera_controls
Make the lab camera better
2018-11-10 17:40:51 +01:00
Fabian Woltermann 49b5c10295 Addresses feedback, switches default rotation mode to "Both" 2018-11-07 17:13:11 +01:00
niffiwan 0396d5670b Merge pull request #1924 from tomimaki/fix-incomplete-fb-attachment
Fix for incomplete attachment in shadow framebuffer
2018-11-07 07:54:12 +10:00
tomimaki bb6c00a516 Update gropengltnl.cpp 2018-11-06 15:13:59 +01:00
Fabian Woltermann 4d0703ad98 Remove the "disabled" rotation mode 2018-11-04 12:06:00 +01:00
asarium 27e91d8f6c Cleanup the speech API code a bit
This replaces the previously used defines with inline functions which
fixes a few warnings if the macros were ever used. This also changes
fsspeech.cpp so it is compiled always since it has no dependency on the
underlying speech system.
2018-11-03 14:54:29 +01:00
Fabian Woltermann 3c4ab2eef1 Add roll controls 2018-11-03 10:34:17 +01:00
Fabian Woltermann 4e7f29ea88 MORE CI fixes 2018-11-03 10:34:17 +01:00
Fabian Woltermann 793a3d8dd3 Even more CI fixes 2018-11-03 10:34:16 +01:00
Fabian Woltermann 49abb88385 Avoid CI errors 2018-11-03 10:33:06 +01:00
Fabian Woltermann 4c2ed1501e Switch the model rotation controls to a "turntable" model, add constraints, make speed configurable 2018-11-03 10:33:06 +01:00
Fabian Woltermann 6b425c1e6b Merge pull request #1922 from asarium/fix/1921
Fix cubemap offset computation for texture uploads
2018-11-03 10:27:58 +01:00
m!m 978a58dba2 Merge pull request #1917 from plieblang/LabArrowScrolling
Add arrow key scrolling to the lab
2018-11-03 09:07:20 +01:00
plieblang 3de05aefef Fire the item's existing function when selected 2018-11-03 01:21:47 -05:00
asarium da951e8be4 Fix cubemap offset computation for texture uploads
The changes from #1752 changed how the offset was computed but the
cubemap code did not update the initial offset computation to account
for this.

This fixes #1921.
2018-11-02 17:33:16 +01:00
m!m 483a6096bb Merge pull request #1885 from ngld/fix/rocketUI/tooMuchSound
Only play UI sounds if the event is triggered on the element where the property is set.
2018-10-31 19:14:19 +01:00
ngld 0ac810e7f0 Only play UI sounds if the event is triggered on the element where the property is set. 2018-10-31 06:46:27 +01:00
plieblang 0de1e55fb7 CI feedback 2018-10-28 17:25:43 -05:00
plieblang 3827bb9783 Fix nullptr crash and use vectors for *_list_endpoints 2018-10-28 12:59:36 -05:00
plieblang 69013f1d41 Add arrow key scrolling to the lab 2018-10-28 12:31:12 -05:00
m!m 3ac7864ac6 Merge pull request #1752 from asarium/opengl/baseLevelImprovement
Only upload mipmap levels that are actually needed
2018-10-28 18:22:01 +01:00
asarium 35a654660f Only upload mipmap levels that are actually needed
Previously, the game uploaded all mipmap levels found in the image files
and then selected which ones it will use by using GL_TEXTURE_BASE_LEVEL.
This unnecessarily used additional GPU memory which is especially bad if
the player already needs to use a lower detail level. This fixes that by
only uploading the necessary mipmap levels.
2018-10-28 14:57:00 +01:00
Goober5000 f975edd343 Merge pull request #1911 from asarium/feature/noSubsystemSparks
Add option for disabling spark spawning for subsystem
2018-10-27 12:50:50 -04:00
asarium 9219712ff0 Add option for disabling impact debris spawning 2018-10-27 16:37:42 +02:00
plieblang ead6cd9825 Separate ships by species properly 2018-10-26 00:21:08 -05:00
Goober5000 a32c5dad27 Merge pull request #1913 from Goober5000/whack_from_center_of_mass
calculate physics whack from docked center-of-mass, not docked center
2018-10-25 15:42:25 -04:00
plieblang 34d4ed5dba Scroll through ships/weapons with up/down keys 2018-10-25 11:50:16 -05:00
Goober5000 eb012584d6 Merge pull request #1880 from Goober5000/play_dead_persistent
add ai-play-dead-persistent
2018-10-24 14:50:40 -04:00
Goober5000 7cadce113d calculate physics whack from docked center-of-mass, not docked center 2018-10-24 00:17:10 -04:00
Goober5000 17b01fa8eb Merge pull request #1906 from plieblang/LabShipMenuImprovement
Show ship directly when clicking on it in the F3 lab
2018-10-23 22:41:16 -04:00
Goober5000 45ea62a9a2 Merge pull request #1907 from plieblang/ShipInvisibleAutoTargeting
ship-invisible doesn't turn off autotargeting
2018-10-23 22:41:02 -04:00
plieblang 979a4b0924 Flip default param value 2018-10-22 14:42:42 -05:00
Goober5000 e1db71fb69 Merge pull request #1910 from wookieejedi/FixOnShipDepart
Fix to "On Ship Depart" to incorporate Goober's feedback
2018-10-22 14:27:03 -04:00
niffiwan c33d406942 Merge pull request #1909 from asarium/build/travis_windows
Test Windows compilation with Travis CI
2018-10-22 22:03:25 +10:00
plieblang 30baac39a9 Combine cease_targeting functions 2018-10-21 13:13:08 -05:00
asarium 15dc45cc0a Remove -old_collision command line option
The new system has been tested pretty thoroughly so I think it is time
to remove this option.
2018-10-21 18:36:59 +02:00
asarium 3c41b56449 Add option for disabling spark spawning for subsystem
This adds the "no sparks" flag for subsystems which disables the
generation of spark sources for that subsystem when it is hit.

This was requested by Axem.
2018-10-21 18:03:48 +02:00
wookieejedi 50dbbc4687 Incorporates Goober's feedback
Moved new "On Ship Depart" hook exectuion to ship_cleanup.
2018-10-21 01:11:16 -04:00
niffiwan e19a6f9e01 Merge pull request #1905 from wookieejedi/OnDepartHook
Add '$On Ship Depart' Conditional Hook
2018-10-21 08:52:53 +10:00
niffiwan d9184545f7 Merge pull request #1902 from plieblang/BriefingVoiceUnpause
Play simulated speech if mission is launched while briefing is paused
2018-10-21 08:52:18 +10:00
asarium 5c07d181ad Test Windows compilation with Travis CI
Travis CI recently added support for running builds in Windows. This
adds support for testing compilation on Windows using that feature.

The newer version of Visual Studio and MinGW required some code changes
and an update of Google Test which is included in this commit.
2018-10-20 23:44:10 +02:00
wookieejedi 140fed2812 Added "Method" hook variable to "On Ship Depart" 2018-10-20 16:41:59 -04:00
plieblang dd2fd3ee5c Address feedback 2018-10-20 10:45:51 -05:00
plieblang dd7c36e43d ship-invisible doesn't turn off autotargeting 2018-10-19 18:49:53 -05:00
plieblang 409c7da2d7 Clicking on a ship in the lab shows it directly 2018-10-19 15:00:07 -05:00
wookieejedi 791e22bc1d Add On Ship Depart Conditional Hook 2018-10-18 17:50:22 -04:00
plieblang 6a93715c9b Clarify fsspeech_pause call 2018-10-18 11:28:45 -05:00
Goober5000 8fee9804df Merge pull request #1903 from plieblang/LabUpdatePOFName
Update displayed POF name in the F3 lab when new ship is selected
2018-10-17 23:32:53 -04:00
plieblang 2dc6d64c37 Update POF name when new ship is selected 2018-10-17 19:31:37 -05:00
plieblang a8142b8f80 Solution that actually compiles 2018-10-17 15:56:12 -05:00
plieblang 53f98cda99 Play simulated speech if mission is launched while briefing is paused 2018-10-17 01:03:39 -05:00
m!m 115d06a051 Merge pull request #1899 from Artyrm/Fix_missing_HUD
Fix missing HUD bug
2018-10-14 19:22:37 +02:00
m!m 485af1bad3 Merge pull request #1895 from Artyrm/Adapt_barracks_interface
Barracks stats adaptation for longer Unicode strings.
2018-10-14 19:22:27 +02:00
Goober5000 0ca5ade5ef Merge pull request #1894 from Artyrm/master
More friendly assert if used font misses a glyph.
2018-10-14 13:22:05 -04:00
Artyrm ff601db6fc Switched to hud_config_as_player() 2018-10-14 18:15:18 +03:00
Artyrm 686bc35cff Moved variables, gave mean. names and descr. 2018-10-14 16:07:59 +03:00
Artyrm ffe9a085b6 Improved readability. 2018-10-14 15:39:48 +03:00
Artyrm 33df766edf #ifdefed debug parts. 2018-10-14 15:25:17 +03:00
Artyrm 9a6227e7b0 Fixed grammar. 2018-10-14 14:58:53 +03:00
m!m c664eac1ee Merge pull request #1898 from ngld/enhance/betterBmErrors
If an icon can't be loaded, display an error instead of asserting.
2018-10-14 12:31:03 +02:00
Artyrm a7a9514fd1 Little cleanups. 2018-10-13 19:37:17 +03:00
Artyrm b402d9158c Use .is_observer flag. Add HUD restore in DEBRIEF state. 2018-10-13 18:56:21 +03:00
Artyrm c1b055a685 Start using hud_config_restore(). 2018-10-13 16:58:17 +03:00
ngld 412197d3e9 Gracefully handle missing briefing icons. 2018-10-13 06:16:16 +02:00
Artyrm 98f1d690f6 Fix Clang warnings. 2018-10-12 19:18:24 +03:00
Goober5000 842dbb1b75 Merge pull request #1888 from plieblang/AIProfileABFlag
Add "$free afterburner use" flag to ai_profiles.tbl
2018-10-12 12:12:26 -04:00
Artyrm df8e85f22e String width adapts, orig. behaviour is intact. 2018-10-12 17:57:44 +03:00
Goober5000 73482a6d62 Merge pull request #1896 from wookieejedi/FixOnArriveforDockWings
Fixes missing "On Ship Arrive" with Docked Wings
2018-10-11 22:38:04 -04:00
wookieejedi afa7976018 Removed redundant syntax 2018-10-11 18:36:05 -04:00
wookieejedi 0d355982d4 Update code/mission/missionparse.cpp 2018-10-11 11:43:40 -04:00
wookieejedi 7f9021cbdb Fixed missing "=" 2018-10-11 11:41:53 -04:00
wookieejedi 1450c71e2e Improve dock check with bool
Uses boolean value to determine if wing is docked, incoroprates that bool into if block for setting On Ship Arrive hook.
2018-10-11 11:39:16 -04:00
wookieejedi d80e6d0f71 Fixed missing "_" 2018-10-10 18:05:48 -04:00
wookieejedi f6dd3b09ab Remove incorrect placement 2018-10-10 17:05:22 -04:00
wookieejedi bc5ef0b28d Fixed anchor call and null bug 2018-10-10 13:12:18 -04:00
wookieejedi 8e618ffaec Add HV to Docked Wings
Fixs bug by adding the conditional hook call "On Ship Arrive" to docked wings that arrive.
2018-10-10 12:24:30 -04:00
Artyrm 889474688c Barracks stats adaptation for longer Unicode strings. 2018-10-10 18:01:06 +03:00
Artyrm d56cb8fc62 Even mor specific, gcc syntax. 2018-10-09 19:29:00 +03:00
Artyrm 98f196ee48 Compiler-specific fallthrough. 2018-10-09 19:13:36 +03:00
Artyrm 9f4ad9d1eb #ifdefed print for Release. Tried the strictest fallthrough comment 2018-10-09 18:29:00 +03:00
Artyrm a69e1d7308 Proper args handling. Extern C is also back. 2018-10-09 17:48:42 +03:00
Artyrm 34d1bf03f9 Got rid of unnes. #ifded. 2018-10-09 17:28:03 +03:00
wookieejedi 9fcd96ff97 Adds Accept Mission Outcome as new Conditional Hook (#1893)
* Adds Accept Mission Outcome Event to Game Events

Adds Accept Mission Outcome Event to Game Events, so scritps and other things can be called only when a campaign mission is accepted.

* Fixed double entry

* Define CHA_CMISSIONACCEPT

Adds line to define new conditional hook, CHA_CMISSIONACCEPT

* Add flag_def_list for On Campaign Mission Accept

Adds the proper flag_def_list for "On Campaign Mission Accept" CHA_CMISSIONACCEPT

* Runs New Conditional Hook

Runs the new conditional hook for "On Campaign Mission Accept"

* Reverts event changes

* Reverts state changese

* Reverts post_event change
2018-10-08 18:13:02 +02:00
Artyrm 2b77721c79 Tweaked function type a little for compilers. 2018-10-08 12:45:14 +03:00
Artyrm 95fafa50c4 Changed printf function. Explicit fallthrough. 2018-10-08 12:01:55 +03:00
Artyrm cac07391ca More user-friendly assert on missed glyph in font. 2018-10-07 23:44:27 +03:00
Goober5000 9daeb7f417 Merge pull request #1891 from Artyrm/master
Switch communication messages to use SCP_string
2018-10-07 11:11:06 -04:00
Artyrm f0ba0265fd New version of stb_truetype.h, just in case. 2018-10-07 15:35:12 +03:00
Artyrm 5b77cad5ac Merge branch 'ComMsg_Unicode_fix' 2018-10-07 14:57:16 +03:00
Artyrm 3f024cb324 And FRED fix as well. 2018-10-07 14:56:50 +03:00
m!m 1d60d25cf5 Merge pull request #1890 from wookieejedi/HyperspaceSounds
Fix missing Warpin sounds from Hyperspace Warpin Effect
2018-10-07 09:36:16 +02:00
Artyrm be5c98c7e2 Merge branch 'ComMsg_Unicode_fix' 2018-10-06 19:57:36 +03:00
Artyrm 6212ad29f1 One dependency in qtfred. Fixed. 2018-10-06 19:57:06 +03:00
wookieejedi 5ec30bdaee Update code/ship/shipfx.cpp 2018-10-06 11:37:50 -04:00
wookieejedi b9b74a3201 Fixed sound variable error
Pos variable not used, so removed it.
2018-10-06 09:45:36 -04:00
wookieejedi 09c24313d7 Added sounds to WE Hyperspace
Allows warpin enter and exit sounds to be properly used with the Hyperspace warpin effect.
2018-10-06 08:35:28 -04:00
Artyrm afdaa3a3ee Merge branch 'ComMsg_Unicode_fix' 2018-10-06 13:32:20 +03:00
Artyrm 68dcef639d Clean-up commented variants. 2018-10-06 13:31:21 +03:00
wookieejedi 91f351b990 Update code/ship/shipfx.cpp 2018-10-06 01:35:52 -04:00
wookieejedi dd1def4f4c Update code/ship/shipfx.cpp 2018-10-06 00:36:23 -04:00
wookieejedi 8b770792fb Update code/ship/shipfx.cpp 2018-10-05 22:17:30 -04:00
plieblang 23f9cfc815 Add free-afterburner-use flag to ai_profiles.tbl 2018-10-02 14:10:27 -05:00
niffiwan 11f9175425 Merge pull request #1887 from TRBlount/feature/mod_play_warp_settings
Make player warpout settings customizable
2018-10-01 11:08:14 +10:00
Artyrm 4fb9c27e71 Comm_orders assign fix. MsgItems to SCP_string too. 2018-09-30 23:51:47 +03:00
TRBlount 4c7b7a0fef Make player warpout settings customizable 2018-09-30 11:31:41 -06:00
Artyrm 3dc1689936 Switched to SCP_string in HUDSquadMsg 2018-09-30 17:23:23 +03:00
niffiwan 94df2777e0 Merge pull request #1884 from niffiwan/fix/setetsvalues_doco
Fix set-ets-values sexp documentation bug
2018-09-30 12:52:38 +10:00
niffiwan c9ebc33d98 apply similar to get-ets-values 2018-09-30 10:12:18 +10:00
niffiwan 9bd459d549 further enhance doco (per feedback) 2018-09-30 09:27:10 +10:00
m!m d9db8bdb71 Merge pull request #1883 from asarium/fix/linuxRelease
Fix linux release building
2018-09-29 16:30:46 +02:00
niffiwan f3cdfcc229 Fix set-ets-values sexp documentation bug
Found by Asteroth - thanks!
2018-09-29 19:16:06 +10:00
asarium 44e3f1f9b5 Fix linux release building
I removed too much code when disabling qtFRED deployment...
2018-09-29 10:30:15 +02:00
niffiwan da5e7f1510 Merge pull request #1882 from asarium/build/disableLinuxQtFred
Disable Linux qtFRED building again
2018-09-29 10:51:55 +10:00
asarium d830a01381 Disable Linux qtFRED building again
There are still some unresolved issues and the file size is pretty large
due to some issues with how the AppImage is built.
2018-09-28 23:13:20 +02:00
m!m d24d536731 Merge pull request #1862 from asarium/feature/libRocket
Add scripting features for barracks libRocket UI
2018-09-28 10:27:01 +02:00
Goober5000 6d0e166dea Merge pull request #1875 from asarium/opengl/shadowFboFix
Remove duplicate shadow FBO creation
2018-09-27 16:34:33 -04:00
m!m e0301da596 Merge pull request #1879 from Goober5000/fred_choose_dock_leader
always choose a dock leader in FRED
2018-09-27 11:46:55 +02:00
asarium a815c0247c Add scripting features for barracks libRocket UI
This mostly adds the scripting features required for accessing the
various internal variables required for the barracks screen.
2018-09-27 11:45:09 +02:00
m!m f42eaf9637 Merge pull request #1817 from asarium/cleanup/luaVarargs
Convert scripting interaction function to variadic templates
2018-09-27 11:44:22 +02:00
Goober5000 c667668c17 don't override play-dead goals 2018-09-27 01:33:44 -04:00
Goober5000 8d4643bc7a add ai-play-dead-persistent
This adds a new AI goal which is equivalent to play-dead except that it "sticks".  It doesn't clear the goal list
so it will continue playing dead until the goal is removed or another goal with a higher priority is added.
2018-09-27 00:48:57 -04:00
Goober5000 01fb2c1243 Merge pull request #1878 from Goober5000/fireball_warp_type
allow custom fireballs to be used as ship warp effects
2018-09-26 17:21:29 -04:00
Goober5000 408f259368 always choose a dock leader in FRED
In FRED, if all docked ships had their arrival cue set to false, none of them would be loaded
in the mission because there was no dock leader to bring in the entire group.  This PR fixes that
by choosing an arbitrary ship (the biggest ship according to ship_class_compare) to be the
dock leader.  This consequently fixes issue #1877 because the wing is able to find its ship.
2018-09-26 15:35:23 -04:00
Goober5000 a9b8e5c043 address clang-tidy complaints 2018-09-26 14:17:39 -04:00
asarium cfb9540e2c Fix issues with ignoring parameters 2018-09-26 19:15:42 +02:00
asarium 88115c7703 Fix clang-tidy issues 2018-09-26 19:15:42 +02:00
asarium 8dba6770ae Convert ade argument setting to variadic templates
Same as with argument getting, this preserves the type information and
makes the system generally much safer.
2018-09-26 19:15:42 +02:00
asarium 8f4d51b14a Convert ade_get_args to variadic template based solution
This maintains the type information which can be used for enforce
const-correctness and also for implementing more advanced ways of
handling the type information.
2018-09-26 19:15:42 +02:00
asarium 185aece470 Remove duplicate shadow FBO creation
This appears to be a leftover from the development of the shadow
rendering code. The shadow FBO was allocated twice but only one was
used. This removed the unused code and also ports the improved error
handling of that code over to the actual shadow FBO creation code.
2018-09-26 14:10:35 +02:00
m!m 0e962e269b Merge pull request #1876 from plieblang/MemUsageFlagRemoval
Don't show nonexistent memory usage flag
2018-09-26 09:02:20 +02:00
Goober5000 095a2efc56 allow custom fireballs to be used as ship warp effects
This allows the WE_Default warp type to be used with any warp fireball in fireball.tbl.  The fireball can be used by specifying its unique ID for the existing $Warpin type and $Warpout type options in ships.tbl.  The warp type is managed by bitwise-OR'ing a flag to the fireball's index.
2018-09-26 00:19:17 -04:00
plieblang 944a254551 Don't show nonexistent memory usage flag 2018-09-25 16:37:21 -05:00
Goober5000 f628999ef9 Merge pull request #1872 from asarium/fix/libRocketTTF
Disable libRocket unless unicode mode is active
2018-09-24 12:02:33 -04:00
Goober5000 e2fb4d84d7 Merge pull request #1871 from asarium/fix/linuxBuildTransferSh
Remove release build uploading to transfer.sh
2018-09-23 19:59:38 -04:00
asarium ff952298a2 Disable libRocket unless unicode mode is active
Since libRocket requires unicode mode this doesn't change anything but
it fixes an error when a mod uses TrueType fonts without unicode mode.
2018-09-23 14:18:35 +02:00
m!m 66b3fdfed8 Merge pull request #1870 from Goober5000/issue_1869
fix issue #1869
2018-09-23 12:19:41 +02:00
asarium 451c03f76a Remove release build uploading to transfer.sh
I think I used that for debugging some things but now it's causing
issues.
2018-09-23 12:16:12 +02:00
Goober5000 da30c5a38e fix issue 1869 2018-09-22 18:33:00 -04:00
m!m 5206aaabdf Merge pull request #1866 from Goober5000/custom_warpglow
Custom warp glows, balls, and models
2018-09-20 23:20:34 +02:00
Goober5000 f6ed93f7a9 address Travis complaint 2018-09-20 15:29:05 -04:00
Goober5000 4f0e2ae9f1 additional small fixes 2018-09-20 00:25:42 -04:00
Goober5000 c3f595ba0e tweaks 2018-09-19 22:51:57 -04:00
Goober5000 d02d98681a apply new warp attributes for remodularized fireball.tbl 2018-09-19 20:08:19 -04:00
Goober5000 98e37b2570 Merge pull request #1865 from Goober5000/remodularize_fireball_tbl
Remodularize fireball.tbl
2018-09-19 19:50:18 -04:00
Goober5000 3c8b87c958 address PR feedback 2018-09-19 13:00:05 -04:00
niffiwan 8d44946b2b Merge pull request #1863 from asarium/fix/jsonPilotModConversion
Use the correct location flags for enumerating pilots
2018-09-19 21:24:08 +10:00
Goober5000 98b9d5c899 a few more corrections 2018-09-18 19:43:11 -04:00
Goober5000 2f5079fcd1 populate the fireball entry IDs when fred2 starts up
fix various issues with both strings and positive numbers being accepted as sexp arguments
2018-09-18 17:33:45 -04:00
asarium 59a8a347a1 Use the correct location flags for enumerating pilots
This was an oversight in the JSON changes since those were made long
before the CFile location flags were a thing. This uses the correct
location flags for enumerating pilots for conversion.
2018-09-18 22:33:51 +02:00
niffiwan e04f1b4ca4 Merge pull request #1861 from Artyrm/master
Training messages fix.
2018-09-18 20:08:19 +10:00
Fabian Woltermann 7da41c32e3 Merge pull request #1267 from asarium/feature/jsonPilotReading
Add JSON pilot reading implementation
2018-09-18 10:26:07 +02:00
Goober5000 73770845b6 use enhanced fireball.tbl to create OPF_FIREBALL for use in explosion-effect and warp-effect 2018-09-18 00:56:38 -04:00
Goober5000 5828d7f634 generate a unique ID for each fireball, if one isn't specified 2018-09-17 23:06:04 -04:00
Goober5000 45f6cdc687 make fireball modular tables simpler, without using the confusing lod_checker logic, and also add an optional unique id 2018-09-17 22:49:23 -04:00
Artyrm 13fe34a3c7 Merge branch 'training_messages_fix' 2018-09-17 22:26:33 +03:00
asarium da64f285bc Fix issue with file location flags 2018-09-17 20:12:38 +02:00
asarium 45f9ea2ea4 Suppress false-positives in valgrind tests 2018-09-17 19:47:40 +02:00
asarium eb73328c14 Add std::ostream operator to ID class
This will print the internal valie to the stream which can be useful for
debugging.
2018-09-17 19:24:20 +02:00
asarium 380ca12b0d Fix clang-tidy issues 2018-09-17 19:24:11 +02:00
asarium c7e66e26fb Delete old pilot files as well when deleting a pilot 2018-09-17 19:23:18 +02:00
asarium ff911e666d More fixes
This finally fixes the seemingly non-deterministic failure of the
unit-tests (among other things).
2018-09-17 19:23:12 +02:00
asarium c8619ddd0d Fix uninitialized variable error detected by valgrind 2018-09-17 19:23:05 +02:00
asarium 721b2da37b Fix copy-paste error
This caused the continuous conversion of old binary pilots to the JSON
format which reset all the changes made to the JSON data.
2018-09-17 19:22:59 +02:00
asarium e9f4c1618e Add unit tests for validating pilot loading 2018-09-17 19:22:50 +02:00
asarium 4eef54c10b Add JSON reading implementation
This changes the pilot reading code to always use JSON files for storing
the pilot data. Old pilots are converted to the new format when FSO
starts and after that point only JSON pilots will be used.
2018-09-17 19:22:43 +02:00
Artyrm f5ba1e470c Training messages fix. Their delay could be too small with voices volume ste to 0. 2018-09-17 20:12:58 +03:00
asarium 94a00ca6ee Add reading code to FileHandler
Currently only implemented for the BinaryFileHandler
2018-09-17 19:06:50 +02:00
Goober5000 3a8c10bec5 Merge pull request #1858 from Goober5000/enhanced_warp_effect
add additional parameters to warp-effect
2018-09-17 13:00:28 -04:00
niffiwan e92cc5161e Merge pull request #1859 from asarium/feature/loopingParticles
Add support for looping particles
2018-09-17 19:47:26 +10:00
asarium ea73ea33ca Add support for looping particles
This introduces support for keeping particles around forever and letting
them be controlled by a Lua script.
2018-09-17 09:26:20 +02:00
Goober5000 8fe7dc4a1b Merge pull request #1860 from Goober5000/friendlier_warning
rewrite the mod warning dialog a bit
2018-09-16 19:33:58 -04:00
Goober5000 f5bbb21199 rewrite the mod warning dialog a bit 2018-09-16 14:16:57 -04:00
Goober5000 c2761a6142 address clang-tidy complaints 2018-09-16 13:44:38 -04:00
Fabian Woltermann 88b0dba208 Merge pull request #1466 from asarium/feature/libRocket
Add new libRocket UI system
2018-09-16 15:20:34 +02:00
asarium 7173299ca7 Add new libRocket UI system
This new system allows to create a user interface that goes beyond the
existing UI system.
2018-09-16 13:55:29 +02:00
Fabian Woltermann e35fc10530 Merge pull request #1856 from Goober5000/sexp_reset_post_effects
add reset-post-effects sexp
2018-09-16 10:43:39 +02:00
Goober5000 46e8e735b6 more complaining by clang-tidy 2018-09-16 00:31:58 -04:00
Goober5000 e3e40ee576 fix build warning 2018-09-15 23:42:29 -04:00
Goober5000 f0b99e24ff add additional parameters to warp-effect
The warp-effect SEXP can now specify other animations from fireball.tbl that are not necessarily the standard or Knossos animations.  Additionally, the SEXP can now specify the duration for the opening and closing of the warp effect.
2018-09-15 23:30:17 -04:00
Goober5000 e0f76e0cfa tweak sexp documentation as well 2018-09-14 21:59:05 -04:00
Goober5000 5303440dfb add reset-post-effects sexp
Nobody ever thought to add a reset-post-effects SEXP to complement set-post-effects, so this remedies that.  Also, a few minor edits were made to the scripting documentation.
2018-09-14 21:54:35 -04:00
Fabian Woltermann 138a1d01d4 Merge pull request #1854 from TRBlount/fix/share_fire_dir
Fix share_fire_direction logic
2018-09-11 08:04:40 +02:00
TRBlount 0814bf0ae1 Fix share_fire_direction logic 2018-09-10 16:40:36 -06:00
niffiwan 39a0cfecbb Merge pull request #1853 from asarium/feature/sdlVersionDebugLog
Write SDL version to debug log
2018-09-10 23:31:03 +10:00
asarium b78d940136 Write SDL version to debug log
This adds the runtime and compile version of the used SDL library to the
start of the debug log. This was requested by ngld and should make
diagnosing some errors easier.
2018-09-10 09:36:24 +02:00
Goober5000 bc03442a3c Merge pull request #1850 from asarium/fix/1722
Handle DIRECTIVE_WING_ZERO in is-destroyed SEXPs correctly
2018-09-07 12:33:43 -04:00
asarium 8ce1a6f490 Handle DIRECTIVE_WING_ZERO in is-destroyed SEXPs correctly
The special value DIRECTIVE_WING_ZERO (defined to be -999) is used to
signify to the directives system that an is-destroyed SEXP was found
which specified an empty wing. However, if a second is-destroyed-delay
SEXP is present in the same directive then the count of the parameters
is added to -999 which makes means that the directives system then
displays it on the HUD as a negative number.

This fixes that by resetting the counter to 0 if a second SEXP
encounters the special value which fixes the issue in the supplied test
mission. There are probably other edge cases when using multiple
is-destroyed SEXPs in a directive so I added a warning to the SEXP help
which lets the mission designer know that it is preferable to specify
multiple parameters instead of using multiple is-destroyed SEXPs.

This fixes #1722.
2018-09-07 13:38:10 +02:00
Fabian Woltermann 18d2ef8580 Merge pull request #1849 from asarium/fix/1655
Apply clipping offsets when using the line draw list
2018-09-06 12:29:17 +02:00
asarium 4a86b70a69 Apply clipping offsets when using the line draw list
This should make the line draw list class behave identically to the old
line rendering functions. This caused a few issues where the lines were
drawn outside the scissor area which made them invisible.

This fixes #1655.
2018-09-04 15:04:57 +02:00
m!m f717c41083 Merge pull request #1846 from asarium/fix/nebulaBackground
Fix nebula background rendering
2018-09-02 22:59:59 +02:00
asarium 92aacc8479 Fix nebula background rendering
This makes the deferred fog rendering code use the nebula background
instead of the single fog color for the background.

This is not an ideal solution since objects fade to the fog color
instead of the color of the background but it's better than rendering no
background.
2018-09-02 19:07:48 +02:00
Fabian Woltermann 2ae7990c61 Merge pull request #1845 from asarium/fix/1828
Disable movie looping for MVE cutscenes
2018-09-02 15:53:38 +02:00
asarium 4e8ebedfa0 Disable movie looping for MVE cutscenes
This changes the FFmpeg code to not use av_seek_frame anymore if looping
is not required. This fixes an issue when playing MVE movies since that
format does not support seeking.

This fixes #1828.
2018-08-30 23:10:22 +02:00
m!m 01f418f2fb Merge pull request #1844 from The-E/fix/hdr_spec_maps
HDR color space conversion for spec maps is not applied correctly
2018-08-30 15:52:03 +02:00
Fabian Woltermann 0ed47de357 Update main-f.sdr 2018-08-30 13:53:20 +02:00
Fabian Woltermann f5f1c97c0f HDR color space conversion for spec maps only happened in one code path, not all of them. This fixes that. 2018-08-29 21:19:48 +02:00
Goober5000 b0d3957df7 Merge pull request #1841 from niffiwan/feature/per_ship_scan_range
add per-ship-class scanning range feature
2018-08-28 12:59:07 -04:00
niffiwan 332bd01f0f address feedback
remove static keyword & add comment for new constant variable
switch to using #define values for the default scan ranges
2018-08-28 21:51:06 +10:00
niffiwan eb8717f051 add per-ship-class scanning range feature
Requested for FotG - allow dedicated scanning ship options
e.g. Y-wing Longprobe & TIE/rc
2018-08-28 21:13:50 +10:00
m!m af8ae03d9e Merge pull request #1839 from Goober5000/ignore_multiplayer_campaigns
ignore multiplayer as well as singleplayer campaigns
2018-08-24 18:41:53 +02:00
Goober5000 0ca7299bbc ignore multiplayer as well as singleplayer campaigns 2018-08-24 10:58:11 -04:00
Fabian Woltermann 98234c3bc2 Merge pull request #1834 from The-E/fix/team_color_srgb
The team color process is only valid for srgb color space
2018-08-23 18:53:36 +02:00
niffiwan 50691c41da Merge pull request #1837 from niffiwan/feature/autoaim_frame
add feature: change reticle when autoaim is active
2018-08-22 08:42:08 +10:00
m!m 4a66cb190a Merge pull request #1824 from The-E/fix/vm_vec_random_cone_params
vm_vec_random_cone needs to be called with the smaller angle first.
2018-08-21 15:04:39 +02:00
niffiwan 9ba3a0ccf9 clang-tidy: remove FALSE & NULL 2018-08-21 22:53:31 +10:00
niffiwan b625f51645 add feature: change reticle when autoaim is active
Optionally play a sound when autoaim becomes active, and another sound
when autoaim becomes inactive
Credit to zookeeper - I'm just pushing this into master!
2018-08-21 20:56:58 +10:00
Fabian Woltermann c2c8acbf13 REdo properly 2018-08-20 17:12:38 +02:00
Fabian Woltermann ac58950ac5 Revert "vm_vec_random_cone needs to be called with the smaller angle first."
This reverts commit 5b01036723.
2018-08-20 17:10:31 +02:00
Fabian Woltermann 8a84fffe12 Small copy/paste error fix 2018-08-19 20:18:31 +02:00
Fabian Woltermann 0c216ede98 The team color process is only valid for srgb color space, so we need to convert everything into it when we do the thing 2018-08-19 20:14:15 +02:00
m!m 3e543729fc Merge pull request #1832 from Goober5000/ignored_missions
add game_settings feature to ignore single missions
2018-08-19 16:39:49 +02:00
Goober5000 6385bf73be we should not only match without regard to file extension but also without regard to letter case -- and do this for campaigns as well 2018-08-18 15:20:04 -04:00
Goober5000 b7a32329db Merge pull request #1831 from Goober5000/make_getmissionfilename_consistent
make sure getMissionFilename never has a .fs2 extension
2018-08-18 15:05:06 -04:00
m!m b363bda60d Merge pull request #1833 from Goober5000/fix_insufficient_loadout_crash
fix bug introduced in pr #1736
2018-08-18 09:08:23 +02:00
Goober5000 0b547d971e make sure getMissionFilename never has a .fs2 extension 2018-08-18 01:52:48 -04:00
Goober5000 9ac04b9349 fix bug introduced in pr #1736 2018-08-18 01:35:16 -04:00
Goober5000 453b1ca619 address clang-tidy complaint 2018-08-17 23:16:48 -04:00
Goober5000 e6f1332980 add game_settings feature to ignore single missions 2018-08-17 18:32:58 -04:00
Goober5000 5840ca84d6 make sure getMissionFilename has a .fs2 extension 2018-08-17 16:47:51 -04:00
m!m aa0e1c755f Merge pull request #1825 from niffiwan/feature/qtfred_asteroid
qtfred asteroid editor
2018-08-17 13:37:26 +02:00
niffiwan 97469d65ef Merge pull request #1820 from asarium/build/updatedFFmpeg
Update prebuilt FFmpeg libraries to version 3.4.4
2018-08-17 19:24:11 +10:00
niffiwan 5834c01ca9 use UNREACHABLE macro in switch default:
addresses review feedback from m!m
2018-08-14 19:50:08 +10:00
niffiwan 13076364d6 Merge pull request #1714 from asarium/qtfred2_/linuxqtdeploy
Enable qtFRED for all deployments
2018-08-13 23:38:07 +10:00
niffiwan e2905e76ca fix clang-tidy (3): const auto & (!) ;) 2018-08-13 19:09:47 +10:00
niffiwan accea7bb4d fix clang-tidy warnings (2): const auto 2018-08-12 22:39:52 +10:00
niffiwan 733b67ada3 fix clang-tidy warnings
change CLAMP macro to use boolean rather than implicit conversion int
2018-08-12 21:42:11 +10:00
niffiwan de06d1e36f fix clang-tidy warnings (1)
add override to functions
convert to range based for loops
set default dtor
2018-08-12 21:40:47 +10:00
niffiwan 7e6eb25492 triple braces clang? really? 2018-08-11 22:37:57 +10:00
niffiwan 9de5d8d011 add asteroid editor to qtfred 2018-08-11 20:49:55 +10:00
Fabian Woltermann 62d178d896 Merge pull request #1818 from asarium/feature/loopingMovies
Add support for looping movies
2018-08-10 20:46:36 +02:00
Fabian Woltermann f8b210b659 Merge pull request #1819 from asarium/feature/vec3dOperators
Add C++ operators for vector math operations
2018-08-10 20:45:45 +02:00
Fabian Woltermann d3e6ee81e1 Merge pull request #1822 from asarium/fix/fredFlags
Terminate FRED/qtFRED when command line demands it
2018-08-10 20:44:56 +02:00
Fabian Woltermann 5b01036723 vm_vec_random_cone needs to be called with the smaller angle first.
This also adds a check to that function to swap the values around should that not be the case
2018-08-10 17:26:42 +02:00
asarium 66f95312ae Terminate FRED/qtFRED when command line demands it
This was reported by ngld who experienced issues with Knossos since FRED
did not terminate properly when asked to provide the command line flags.
This should fix that.
2018-08-01 09:20:18 +02:00
asarium a737c7a373 Update prebuilt FFmpeg libraries to version 3.4.4
This should fix an issue with the playback speed of APNG files which is
present in the current builds. This does not include the Mac libraries
since I cannot compile the libraries for that platform.
2018-07-31 15:43:52 +02:00
asarium ead93f3175 Add C++ operators for vector math operations
This makes it a bit easier to use the vector types since they are now
usable with the standard C++ operators.
2018-07-30 23:38:51 +02:00
asarium 48b1e3f289 Add support for looping movies
This adds a playback property for making the movie loop to the start
when the end is reached. The way this is done is by simply keeping the
decoder running even if the end of the movie is reached. Then the movie
is reset to the beginning and decoding continues. The player detects
this reset by examining the frame times which keeps the playback
constant.

This also includes support for this in the movie scripting API.
2018-07-30 18:10:48 +02:00
Fabian Woltermann 8a2641181f Merge pull request #1816 from asarium/fix/1815
Don't reset mission file name on mission end
2018-07-28 18:47:17 +02:00
m!m 36e8c3b623 Merge pull request #1814 from TRBlount/fix/random_cone
Fix vm_vec_random_cone/sphere functions
2018-07-28 18:44:58 +02:00
TRBlount 1c2a136ef7 Fix vm_vec_random_cone/sphere functions 2018-07-28 09:11:59 -06:00
asarium 72272cb8cf Don't reset mission file name on mission end
This was needed by the restart dialog action and got removed since the
Discord changes needed to know if a mission was active or not.

I removed the code which changed the mission file name and replaced it
with some internal handling in the discord code which should now handle
mission restarts better.

This fixes #1815.
2018-07-28 16:12:26 +02:00
m!m 4062f59128 Merge pull request #1813 from asarium/fix/stupidIfTypos
Fix crash when launching FSO without a mod option
2018-07-28 09:38:29 +02:00
asarium 24ab091671 Fix crash when launching FSO without a mod option 2018-07-27 18:17:18 +02:00
Fabian Woltermann 7cd17205b5 Merge pull request #1785 from asarium/feature/soundHandleIds
Use strongly typed handles for sound handles
2018-07-27 15:04:02 +02:00
Fabian Woltermann d58bd7db69 Merge pull request #1811 from asarium/fix/1754
Properly handle invalid UTF-8 sequences in NanoVG
2018-07-26 08:22:37 +02:00
m!m ce11936e56 Merge pull request #1810 from asarium/fix/discordLinkingIssue
Fix MSVC linking issue in new Discord Code
2018-07-25 23:18:00 +02:00
asarium feda97c148 Properly handle invalid UTF-8 sequences in NanoVG
The original issue was reported by Novachen in #1754 where a significant
slowdown was encountered in the controls menu (Ship and Misc tabs). I
traced the cause of the slowdown to repeated uploads of the NanoVG font
atlas texture even though no changes were necessary.

The root cause of the issue was that NanoVG did not handle invalid UTF-8
sequences at the end of a string properly. The UTF-8 decoder returned a
success code even though no code point was decoded which lead the rest
of the code to believe that the font atlas needed to be recreated.

This fixes #1754 by properly handling that case.

This also fixed an assertion failure if NanoVG was asked to render
2D elements without any vertices.
2018-07-25 14:17:06 +02:00
asarium a0e85e7ef5 Fix MSVC linking issue in new Discord Code
The CMake file did not contain the required target_link_libraries which
made the build fail when compiling it for the FastDebug configuration.
2018-07-25 13:31:33 +02:00
m!m 6939403262 Merge pull request #1808 from plieblang/MissionInfoParsing
Improve parsing of mission info text fields
2018-07-25 09:02:24 +02:00
Fabian Woltermann 33e8703555 Merge pull request #1788 from asarium/feature/discord
Add discord Rich Presence support
2018-07-25 08:21:23 +02:00
Fabian Woltermann 8a87d20415 Merge pull request #1801 from asarium/feature/shaderCacheLocation
Add CFile API for specifying the file location
2018-07-25 08:20:16 +02:00
Fabian Woltermann b324d2892c Merge pull request #1809 from EatThePath/master
Corrected faulty lifetime randomization for weapons in weapons.cpp
2018-07-25 08:16:46 +02:00
David Gibson 54bd7e3963 Corrected faulty lifetime randomization for weapons in weapons.cpp 2018-07-24 19:38:44 -05:00
plieblang b2230f723b Undo reformatting 2018-07-24 11:59:13 -07:00
m!m f75dafde4a Merge pull request #1746 from asarium/feature/objectDisplayString
Add ship display name feature
2018-07-24 15:49:11 +02:00
m!m d70f92e782 Merge pull request #1807 from asarium/fix/luaCallbackCrash
Fix crash on game shutdown if Lua object callbacks are used
2018-07-24 09:02:59 +02:00
plieblang d7e042b38a Dumb copy/paste mistake 2018-07-23 17:52:37 -07:00
plieblang 941a0c3c8a PR feedback and make methods static 2018-07-23 17:47:42 -07:00
plieblang edc6b94f7f Namespace resolution and size_type vs int mismatch 2018-07-23 13:38:34 -07:00
plieblang 1182a485ac Strip quotes from text and improve mission notes handling 2018-07-23 12:18:07 -07:00
asarium 3cd2c40331 Clear objects on game close 2018-07-23 19:21:16 +02:00
asarium c13cb44df4 Add ship display name feature
This adds a mission file option for ships which allows specifying a
different string which should be used for displaying the name of the
ship to the user. This name will not be used in SEXPs or other ship
lookup functions so it can be freely translated and two ships can also
have the same display name.

The new feature can be used by adding $Display name: <string> after $Name
for a ship in a mission file. I think I added proper support for FRED
(and qtFRED) so that this new value is properly saved but it would be
great if someone could test that.

This implements one of the features requested in #1730.
2018-07-22 23:16:00 +02:00
m!m aede65107b Merge pull request #1805 from asarium/feature/scriptingParsingApi
Add scripting API for accessing parsing system
2018-07-22 22:15:48 +02:00
asarium 197767ce94 Fix clang-tidy warnings 2018-07-22 11:47:33 +02:00
asarium 7924c66d37 Add function for listing files from CFile
This is basically a wrapper around cf_get_file_list which returns the
results in a table.
2018-07-22 11:47:33 +02:00
asarium 3106191cea Rename Mission_text to something better
The variable is now used by a lot of other things so it makes sense to
rename it to something that better describes what it is used for.
2018-07-22 11:47:33 +02:00
asarium 8c4ec9b91c Add scripting API for accessing parsing system
This allows scripts to use the same parsing functions which are also
used by the engine for parsing tables.
2018-07-22 11:47:33 +02:00
m!m 5bfcd1d063 Merge pull request #1804 from PeterMitsis/aicode-api-updates
Unused parameter removal from aicode.cpp module
2018-07-20 14:11:40 +02:00
Peter Mitsis 923265988c Fix warnings found by clang_tidy.sh
Signed-off-by: Peter Mitsis <[email protected]>
2018-07-19 19:24:23 -04:00
Peter Mitsis c485ed8199 aicode: Update maybe_cheat_fire_synaptic() API
Removes an unused parameter from the routine's API.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-19 13:09:35 -04:00
m!m 4353d4d47f Merge pull request #1803 from plieblang/MissionNoteSemicolonCrash
Write newline after mission notes
2018-07-19 17:06:11 +02:00
plieblang da65a66932 Semicolon fix for qtFRED as well 2018-07-18 13:57:29 -07:00
plieblang 7df8313b8b Force newline after mission notes 2018-07-18 13:33:27 -07:00
Peter Mitsis 187affe004 aicode: Update cheat_fire_synaptic() API
1. Removes unused parameter
2. Applies 'static' keyword to the routine.

Together, these two changes should help the compiler generate
more efficient code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 16:24:17 -04:00
Peter Mitsis f29cc2ef86 aicode: Update ai_ship_destroy() API
Removes unused parameters from the routine.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 16:24:17 -04:00
Peter Mitsis 97e15ca135 aicode: Update ai_ship_hit() API
Removes two unused parameters from ai_ship_hit(). Instances where this
routine are called are also updated.

This should result in slightly more efficient code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 16:24:17 -04:00
Peter Mitsis 868418c100 aicode: Update big_ship_collide_recover_start() API
Removes the unused parameter from the routine. This has a small
ripple effect such that it results in an unused parameter in one
of the routines from which it is called.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 16:24:17 -04:00
Peter Mitsis e413b10ce1 aicode: Update ai_control_info_check() API
1. Removes unused parameter
2. Applies the 'static' keyword to the routine.

Together, these two changes should help the compiler generate slightly
more efficient code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 16:24:17 -04:00
Peter Mitsis bdd740eabd aicode: Update ai_find_shockwave_ship() API
1. Removes unused parameter
2. Applies 'static' keyword to the routine

Together, these two changes should help the compiler generate slightly
more efficient code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 16:24:17 -04:00
Peter Mitsis d24e3c9295 aicode: Update ai_find_shockwave_weapon() API
1. Removes an unused parameter.
2. Applies the 'static' keyword to the routine.
3. Applies the 'const' keyword to the remaining parameter.

Together these changes should help the compiler generate slightly more
efficient code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 16:24:13 -04:00
Peter Mitsis 13be144495 aicode: Update ai_preprocess_ignore_objnum() API
Applies the 'static' keyword to the routine as it is only used in the
module in which it is defined.

Removes an unused parameter.

Together, these two changes should help the compiler generate slightly
more efficient code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:27:35 -04:00
Peter Mitsis 8857c4561a aicode: Update gwlr_object_1() API
Adds the 'static' keyword and removes unused parameters.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:25:22 -04:00
Peter Mitsis af4a2555db aicode: Update get_behind_ship() API
Adds the 'static' keyword to the routine as it is only used in the
module in which it is defined.

Removes its  unused parameter (and updates location where it is called).

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:25:22 -04:00
Peter Mitsis ae2c4ef098 aicode: Update ai_chase_eb() API
Removes the unused parameter from the routine and adds the 'static'
keyword to the routine as it is only used in the module in which it
is defined.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:25:22 -04:00
Peter Mitsis 6e509868d2 aicode: Update ai_fire_secondary_weapon() API
Removes unused parameters from the routine.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:25:22 -04:00
Peter Mitsis d0bc3cf91d aicode: Update ai_select_primary_weapon_OLD() API
This routine is only used in the module in which it is defined, so the
'static' keyword has been applied to it.

One of its three parameters was unused, so it has been removed.

Finally, the 'const' keyword has been applied to appropriate arguments.

These changes should help the compiler generate slightly more efficient
code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:25:22 -04:00
Peter Mitsis 10079c88cd aicode: Remove fds_aux()
The routine fds_aux() is not used anywhere.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:25:22 -04:00
Peter Mitsis 3aacb6cb42 aicode: Update ai_turn_towards_vector() API
The routine ai_turn_towards_vector() had an unused parameter (frametime)
and it has been removed.

Each of the instances where this routine is called have also been updated
to reflect the parameter removal. As this resulted in the routine
swarm_update_direction() suddenly having an unused parameter, that routine
and the places where it is called have also been updated (remove
unused parameter).

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-17 15:25:22 -04:00
asarium b434776d53 Fix clang-tidy issues 2018-07-17 17:20:55 +02:00
asarium 20925f23cc Use new cfile location feature for pilot files
This was previously hard-coded but it is now possible to solve this
using the new location API.
2018-07-17 17:20:55 +02:00
asarium 64a9e3d03a Use location API for specifying shader cache location
The files are now exclusively stored in the top level user directory to
make the shader cache not dependent on the current mod. This also adds
some code which removes all old shader cache files which may be stored
in the old (per-mod) location.
2018-07-17 17:20:55 +02:00
asarium fe01372f46 Add CFile API for specifying location
This adds the capability for specifying a bit field for certain API
functions which will limit where they search for files.
2018-07-17 17:20:55 +02:00
asarium 7134e22322 Convert cfile find_location functions to return structs
The amount of output parameters is becoming quite large which makes it
harder to add new input parameters. For that reason I converted the
existing output parameters to a struct which cleans up the function
signature a lot.
2018-07-17 17:20:55 +02:00
m!m fac618c7f0 Merge pull request #1800 from PeterMitsis/remove-unused-parameters
Remove unused parameters
2018-07-16 22:33:22 +02:00
Fabian Woltermann b333104f45 Merge pull request #1799 from NovachenFS2/strings-translation-fix
Strings.tbl translation adjustments AddOn
2018-07-16 22:28:25 +02:00
Jenna Trassa c0401c24e5 Ballistic Weapon Energy Gauge 2018-07-16 10:46:02 +02:00
asarium 2ded9aa35d Format changes with clang-format 2018-07-16 10:21:52 +02:00
asarium ad54f588bb Use strongly typed handles for sound handles
This is similar to the other changes I already posted. Here the sound
instance handles are converted to their own handle type which will make
it easier to use the sound API.
2018-07-16 10:21:52 +02:00
Peter Mitsis a64ebca805 aibig: Update ai_big_maybe_enter_strafe_mode() API
Removes the unused parameter from ai_big_maybe_enter_strafe_mode().
Each place where this routine is called has been corrected to reflect
the updated API.

The 'const' keyword has been applied to remaining parameters as
necessary.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-15 22:27:43 -04:00
Peter Mitsis 69781cec25 aibig: Update ai_big_strafe_maybe_attack_turret() API
Adds the 'const' keyword to the parameters in the routine
ai_big_strafe_maybe_attack_turret() as they are unchanged
by the routine.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-15 22:19:56 -04:00
Peter Mitsis 137457e570 aibig: Update ai_big_strafe_maybe_retreat() API
The routine ai_big_strafe_maybe_retreat() is only used in the module in
which it is defined. Consequently it now sports the 'static' keyword, and
no longer uses the 'extern' keyword in its forward declaration (which has
been moved to be colocated with other forward declarations).

Secondly, since it was only using one of its two parameters, the unused
parameter has been removed.

Thirdly, since its only remaining parameter is not modified by the routine,
the 'const' keyword has been applied to it.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-15 22:02:35 -04:00
Peter Mitsis b7f3ba3660 aibig: Remove routine ai_big_ship()
The routine ai_big_ship() is empty, and appears to have been since it
was initially added many years ago. Removing it helps eliminate some
unused code.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-15 21:44:49 -04:00
Peter Mitsis bf6cfe61d7 aibig: Update ai_big_maybe_fire_weapons() API
The routine ai_big_maybe_fire_weapons() is only used in the file in
which it is defined and is thus a good candidate for being declared
'static'.

Furthermore, as it was only using two of the five parameters, the
three unused parameters have been removed and all instances where the
routine is called have been updated.

Signed-off-by: Peter Mitsis <[email protected]>
2018-07-15 21:44:08 -04:00
m!m 990838051a Merge pull request #1137 from asarium/lua/defaultScripts2
Add a lua loader that uses the CFile system
2018-07-15 22:57:40 +02:00
m!m 597104c479 Merge pull request #1798 from asarium/fix/debrisObjectsAssert
Convert debris object count Assert to Error
2018-07-15 22:57:25 +02:00
asarium 2ee5d21a10 Add discord Rich Presence support
This uses the Discord Rich Presence API for improving the integration of
FSO into Discord. At the moment this includes state notifications for
being in the main hall, the command and mission briefing and in-mission.
When in-mission it also includes the elapsed time of the mission with
support for time compression.

The details part of the notification includes the campaign name and
mission name if possible.
2018-07-15 19:37:24 +02:00
asarium 8c1d3492eb Convert debris object count Assert to Error
This will make the error message clearer instead of just showing a
cryptic Assert message. This cannot be handled by a simple warning since
capping num_debris_objects to MAX_DEBRIS_OBJECTS would then cause issues
when reading the rest of the header.
2018-07-15 18:34:44 +02:00
asarium ba5fcb971a Format changes with clang-format 2018-07-15 18:10:40 +02:00
asarium 5359b12b4f Only run valgrind on debug builds
In release builds there are a lot of false-positives probably due to the
optimizations of the compiler.
2018-07-15 18:10:40 +02:00
asarium 0fb7345617 Fix clang-tidy issues in gtest
Some of those are fixed in the newest version from their git repository
but I don't want to do a full update just for that.

modernize-make-unique was disabled since clang-tidy apparently doesn't
respect the language setting and make_unique is only present in C++14.
2018-07-15 18:10:40 +02:00
asarium a34ca578ba Add a lua loader that uses the CFile system
This allows to use the built-in lua "require" function with our file
system. This will help organize complicated scripts and it will also
allow to use libraries which were designed for this system.

To enable this change, this includes a new mechanism which allows to
load scripts from the default file system so that the files don't need
to be included in every mod. The default files can be overridden by a
mod if a special mod-table option has been set, similar to how external
shaders are handled right now.
2018-07-15 18:10:40 +02:00
m!m 7f03ac31ae Merge pull request #1797 from asarium/fix/particleEffectHandles
Use type-safe handles for particle effects
2018-07-15 16:37:31 +02:00
Fabian Woltermann 25b396f6a0 Merge pull request #1795 from NovachenFS2/strings-translation
Strings.tbl translation adjustments
2018-07-15 15:35:21 +02:00
asarium c6e2f94d0b Use type-safe handles for particle effects
Nightmare discovered an off-by-one error when checking the validity of a
particle effect handle. Since the new ID system makes that much easier
and less error-prone I decided to go ahead and convert all handles to
an ID typedef which also fixes the reported bug.
2018-07-15 14:50:32 +02:00
Jenna Trassa 9de8d45f19 Review changes for barracks.cpp 2018-07-15 09:25:17 +02:00
m!m 7f5168e9d6 Merge pull request #1796 from asarium/fix/movieBufferOffset
Use byte offset into immediate buffer for movie rendering
2018-07-14 23:47:34 +02:00
Jenna Trassa 490c5d8357 Review Changes in the hud.cpp 2018-07-14 22:28:18 +02:00
Fabian Woltermann 011ca4bb85 Merge pull request #1772 from asarium/build/betterSourceGroupFunction
CMake: Unify how source files are added to CMake
2018-07-14 21:50:00 +02:00
Fabian Woltermann a4f499ce8c Merge pull request #1789 from asarium/fix/shipCleanupMode
Fix assert in ship_cleanup
2018-07-14 21:48:47 +02:00
asarium 5578588894 Use byte offset into immediate buffer for movie rendering
This was causing issues when using the new scripting API in JAD where
there were a lot of 2D operations which filled up the immediate mode
buffer. The reason was that GL_ARB_vertex_attrib_binding the relative
offset is limited and the movie code adds the immediate buffer offset to
the vertex layout which then hit the offset limit set by OpenGL.

This fixes that by using the normal byte offset method which is already
used by the render_primitives functions.
2018-07-14 20:57:29 +02:00
Jenna Trassa dbee42bdec strings.tbl translation adjustments
Previously untranslateable strings can now translated, because they got an unique ID in the strings.tbl.
2018-07-14 14:43:05 +02:00
Jenna Trassa 783e4b5ab2 strings.tbl translation adjustments
Another duplicate that now uses a unique ID.
2018-07-14 14:39:24 +02:00
Jenna Trassa cea27244dc strings.tbl translation adjustments
A duplicate string that had an unique ID even there was an ID for this string. This one uses the initial ID for this string.
2018-07-14 14:36:03 +02:00
Jenna Trassa 09084395a5 strings.tbl translation adjustments
This string, that is used for the Docking precedure of the Support ship was untranslateable before. Now there is a given ID for the strings.tbl
2018-07-14 14:34:26 +02:00
Jenna Trassa 886b14e595 strings.tbl translation adjustments
A previously untranslateable string got an unique ID, that is translateable through the strings.tbl
2018-07-14 14:32:10 +02:00
Jenna Trassa 2fca5fd965 strings.tbl translation adjustments
The strings that got no ID got one. Aswell the duplicate string uses the id that is already predefined.
2018-07-14 14:30:24 +02:00
Jenna Trassa 69cb4f0136 strings.tbl translation adjustments
The string is getting an ID from the strings.tbl that is translateable.
2018-07-14 14:27:56 +02:00
Jenna Trassa 76d36b1c5f strings.tbl translation adjustments
A fix so that the duplicate string is using the id for the first string.
2018-07-14 14:26:48 +02:00
Jenna Trassa bf37a36e89 strings.tbl translation adjustments 2018-07-14 14:18:52 +02:00
Fabian Woltermann 6750f0a4cc Merge pull request #1794 from asarium/feature/scriptingMovies
Add scripting API for displaying movie files
2018-07-14 09:14:15 +02:00
asarium 06a21a0f9b Add scripting API for displaying movie files
This adds an API for the scripting system which allows it to load and
display movie files using the standard movie player code which includes
multi-threaded frame decoding.
2018-07-13 21:54:41 +02:00
m!m 3d653bd770 Merge pull request #1793 from asarium/feature/rgbMovies
Add support for movies with RGB(A) pixel format
2018-07-13 21:50:12 +02:00
asarium db3d92732f Add support for movies with RGB(A) pixel format
This allows to directly display RGB(A) movies without transcoding them
to YUV first. This allows the movie player to support APNG files (which
are supported natively by FFmpeg) with an alpha channel and without
converting them to YUV first.
2018-07-13 19:28:53 +02:00
MageKing17 4fbc0d02fa Merge pull request #1792 from fjelliott/shockwaves-check-huge-supercap-flags
Shockwaves caused by weapons respect big ship flags while calculating damage
2018-07-12 20:25:40 -07:00
Frans Elliott c6f75e7d14 Moved SUPERCAP_DAMAGE_SCALE macro from weapons.cpp to weapon.h so it can be used in shiphit.cpp. 2018-07-12 19:56:44 -05:00
Frans Elliott 8f4d2a27db Added a mod_table option that can enable/disable whether weapon shockwaves will respect the huge and supercap ship flags. The option is disabled by default to mirror retail behavior. 2018-07-12 19:17:31 -05:00
Frans Elliott c4bb136d80 Shockwaves caused by weapons will no longer deal lethal damage to big ships if the weapon that caused the shockwave isn't flagged as being able to deal lethal damage to that ship. For example, helios warheads now cannot kill a Sathanas, and small missiles that cause shockwaves (such as the EMP Adv.) cannot be used to kill corvettes. 2018-07-12 18:17:28 -05:00
m!m ea2656e75f Merge pull request #1790 from MageKing17/bugfix/inverted-sound-validity-check
Fix inverted validity check in snd_time_remaining().
2018-07-11 17:27:38 +02:00
MageKing17 d70672d7bc Fix inverted validity check in snd_time_remaining().
Overlooked mistake from PR #1777.
2018-07-10 17:17:38 -07:00
m!m ccc727a148 Merge pull request #1631 from Karajorma/Feature/EternalVariables
Feature/eternal variables
2018-07-10 15:15:29 +02:00
asarium 87ac2ca6a3 CMake: Unify how source files are added to CMake
This unifies how our CMake system handles adding source files to the
project so that all subprojects use the same mechanism. This also makes
it easier to add a new source folder to the code project since you don't
need to editor three places at the same time anymore.
2018-07-10 15:13:18 +02:00
Karajorma e8bd6b3929 Looks like I missed one. 2018-07-10 18:07:42 +08:00
Karajorma 4e7756d29f Fix errors in clang-tidy 2018-07-10 17:02:47 +08:00
asarium fd96dd287d Fix assert in ship_cleanup
The Assert did no cover all possible input values which caused some
isues for me. This fixes that.
2018-07-10 10:58:31 +02:00
m!m dea5fd9f30 Merge pull request #1784 from MageKing17/bugfix/target-priority-parsing
Make parse_weapon_targeting_priorities() work when weapon missing.
2018-07-10 10:46:18 +02:00
MageKing17 5ebf48b9b0 Adjustment in response to feedback/CI warning.
Warning() replaced with error_display(0), and a line changed to get rid of a clang-tidy warning about repeated types.
2018-07-09 12:07:42 -07:00
MageKing17 2dc2c0643f Merge pull request #1786 from asarium/fix/luaShipClassesIndex
Fix bounds check and string->int conversion in lua ship classes API
2018-07-09 03:14:47 -07:00
asarium e761d8a8e9 Fix bounds check and string->int conversion in lua ship classes API
The bounds check was not correct for 1-based indices. I moved the
Lua->C++ index conversion before the bounds check so that it makes
more sense.
Also, atoi isn't a reliable way for converting a string to an integer.
2018-07-09 10:32:08 +02:00
MageKing17 36b97487c6 Merge pull request #1787 from asarium/fix/invalidCampaignFile
Don't make invalid data in campaign file fatal
2018-07-08 19:20:22 -07:00
asarium 367825b1e0 Don't make invalid data in campaign file fatal
The previous code simply set a boolean flag to indicate that the data is
"invalid" which failed the campaign loading operation. With these
changes, those entries will simply be skipped. That can happen if a mod
added or removed a ship or weapon class or if two campaigns share the
same campaign name.
2018-07-08 10:29:59 +02:00
MageKing17 8f5a364345 Make parse_weapon_targeting_priorities() work when weapon missing.
Previously, if parse_weapon_targeting_priorities() couldn't find a weapon matching the name, it wouldn't parse the "+Target Priority:" line, so it would cause a parsing error when the parser failed to find "$Name:" or "#End" there. Now, the "match not found" codepath still parses it so that no mismatch occurs. Also, I reordered the function so that the parsing wasn't happening in the middle of a loop through the list of weapon types, because it made me cringe.
2018-07-07 10:48:23 -07:00
Fabian Woltermann 07a15286b4 Merge pull request #1777 from asarium/feature/soundIds
Use strongly-typed handles for sound entries
2018-07-07 14:21:44 +02:00
m!m 8e4deb0454 Merge pull request #1783 from MageKing17/bugfix/scripting-createship-safety
Lua's createShip() function now checks for a valid ship class.
2018-07-07 10:50:35 +02:00
MageKing17 aed44067df Lua's createShip() function now checks for a valid ship class.
Ideally it wouldn't be an optional argument at all, but that would break backwards-compatibility, so instead it'll just return an invalid ship handle instead of calling ship_create() with a class of -1. In addition, the Assert from ship_create() meant to guard against invalid ship_type values is now an Assertion that actually says what the invalid value of ship_type was, to make future debugging easier.
2018-07-06 19:25:31 -07:00
MageKing17 83844222c4 Merge pull request #1780 from asarium/build/prebuiltRetry
Retry prebuilt library download if it fails
2018-07-06 10:14:14 -07:00
MageKing17 ba5233e33b Merge pull request #1782 from asarium/fix/removeQuitMissionPopupHack
Remove hack for On Frame scripting hook and quit mission popup
2018-07-06 10:13:58 -07:00
MageKing17 b0bb660eb2 Merge pull request #1781 from asarium/fix/luaBackgroundDoc
Fix inconsistency in Lua background API documenation
2018-07-06 10:13:15 -07:00
MageKing17 74f258a9b3 Merge pull request #1776 from The-E/cleanup/downgrade_null_vec3d
Downgrade null vec3d warning to a log print
2018-07-06 09:58:02 -07:00
asarium d7d3b8c8e2 Remove hack for On Frame scripting hook and quit mission popup
I added this hack a long time ago and it always bothered me why I didn't
come up with a better solution. This is the better solution which uses
the popup_active function for determining if gr_flip is called within a
popup.
2018-07-06 17:03:29 +02:00
asarium 90aeb3651c Fix inconsistency in Lua background API documenation
The Lua type for matrices is called orientation instead of matrix.
2018-07-06 16:06:25 +02:00
asarium 6ee7679dd6 Retry prebuilt library download if it fails
This has been a problem for nighty and release builds which should be
fixed by this.
2018-07-06 14:48:32 +02:00
Karajorma 5baae08bdf Fix the qtFRED output to match that from regular FRED 2018-07-06 11:10:08 +08:00
MageKing17 646fb64c2f Merge pull request #1778 from asarium/feature/scriptingCallbacks
Add more generic scripting callback system
2018-07-05 15:13:02 -07:00
MageKing17 7544f321d6 Merge pull request #1771 from asarium/feature/scriptingBackgroundSupport
Add scripting API for manipulating mission backgrounds
2018-07-05 15:12:50 -07:00
Karajorma b2ff79fb38 That variable was meant to have a better name. 2018-07-05 14:06:04 +08:00
Karajorma 94c1cf65b3 Let's try this again. 2018-07-05 12:34:39 +08:00
Karajorma 0ce2908ce6 Fix the issues from the review and also fix an issue with qtFred 2018-07-05 12:20:30 +08:00
Karajorma 32fbe572e4 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into Feature/EternalVariables 2018-07-05 10:31:54 +08:00
Goober5000 fb0ff8f1d0 Merge pull request #1779 from MageKing17/bugfix/lua-ship-targetsubsystem
Stop accessing Ships[] array with an objnum.
2018-07-03 21:53:09 -04:00
MageKing17 2cef1d4aa1 Stop accessing Ships[] array with an objnum.
Lua's Ship.TargetSubsystem VIRTVAR, when set, would write to an attribute of the Ships[] array based on an objnum instead of a ship instance index. Since MAX_OBJECTS is drastically higher than MAX_SHIPS, then depending on how many objects happen to be in the mission, an out-of-bounds array access can be easily generated. This commit makes sure to use the objnum instead as an index to the Objects[] array, and then retrieve the ship instance from it.
2018-07-03 16:50:36 -07:00
asarium 9dfb8faea3 Use strongly-typed handles for sound entries
This converts the previous int handles to a strongly-typed wrapper
handle which will make the API more self-documenting and will ensure
that wrongly used handles are detected at compile time.

I already found a few mistakes with these changes which I also fixed
here.
2018-07-03 10:43:10 +02:00
asarium 9651e7dca6 Add more generic scripting callback system
The current scripting hook is pretty simple and straight forward but it
makes a couple of scripting applications harder to implement than
needed.

For example, a lot of scripts need to do some work every frame
for all or some objects. The script needs to manage an internal list of
all the objects that are affected by that list which includes removing
invalid objects to conserve resources. This effectively mirrors what the
engine already does and adds unnecessary overhead.

In these changes I added a generic event system which can be used by any
part of the code for providing callbacks when a specific event occurs.
As an example, I added hooks for the pre- and post-move events to the
object class which are called before and after physics are applied to an
object.

I integrated that feature into the scripting system so now a script can
simply register a function as a callback which will be called whenever
the target event is executed.
2018-07-02 22:56:45 +02:00
Fabian Woltermann 51557d3aa3 remove extra braces 2018-07-01 09:00:36 +02:00
Fabian Woltermann 521a9b9461 Downgrade the null vec3d in vec3d normalize warning to a log print 2018-07-01 08:59:27 +02:00
m!m 130057c64a Merge pull request #1773 from asarium/fix/variableDlgInvalidName
Validate variable name when adding new variable
2018-07-01 00:45:31 +02:00
asarium f63e18957b Add scripting API for manipulating mission background
This adds a scripting API which can be used for adding and removing
background from a mission similarly to the existing SEXPs but with full
support for floating point numbers.

This was requested by Axem on Discord.
2018-06-30 23:22:07 +02:00
m!m df0be20d22 Merge pull request #1774 from The-E/cleanup/remove_path_warning
Remove "not enough points in path" warning
2018-06-30 23:20:22 +02:00
Fabian Woltermann cee37e7a2f Change this warning to a log print. This is only an issue when it's an issue, and most of the time it's not 2018-06-30 21:35:04 +02:00
asarium 90e16ffed2 Validate variable name when adding new variable
This is present in the variable modification dialog but not in the
editor which is used for adding a variable. This also adds the
validation to the editor for adding a new variable.
2018-06-30 17:42:20 +02:00
Fabian Woltermann c2a52174ba Merge pull request #1760 from asarium/build/gcc8Fixes
Fix GCC8 and FFmpeg warnings
2018-06-30 07:22:22 +02:00
Fabian Woltermann e389f7669d Merge pull request #1768 from asarium/feature/alwaysCacheBitmaps
Enable cache bitmaps by default and remove option
2018-06-30 07:20:56 +02:00
Fabian Woltermann 20681f1550 Merge pull request #1769 from TRBlount/feature/RNGSub
Add $Failure Rate:
2018-06-30 07:20:20 +02:00
TRBlount be8ea029da Resolve feedback 2018-06-29 11:19:56 -06:00
asarium 3dbcebb56e Enable cache bitmaps by default and remove option
Caching bitmaps between missions is no longer a problem for modern
system and this will improve the default load times when playing more
than one mission.
2018-06-29 12:15:21 +02:00
TRBlount 37453ae229 Add Failure Rate 2018-06-28 10:38:37 -06:00
m!m 9d907c99fe Merge pull request #1767 from MageKing17/feature/actual-weapon-range
Add AI profile flag to allow primary weapons to consider range.
2018-06-28 11:08:27 +02:00
MageKing17 490ef52b85 Add AI profile flag to allow primary weapons to consider range.
By enabling the "$Use Actual Primary Range:" profile flag (which can also be set on a per-AI-class basis), the code to determine if the AI should fire its primary weapons will not only perform its current "range based on speed of weapon and target" calculation, but it will also compute the weapon's actual range and not fire if the target is outside of it.
2018-06-27 23:11:40 -07:00
MageKing17 cf1cc5e862 Merge pull request #1765 from MageKing17/bugfix/primary-nolink-out-of-ammo
Nolink ballistic primaries no longer disallow linking when depleted.
2018-06-27 19:56:31 -07:00
m!m fc0105141b Merge pull request #1766 from asarium/fix/deferredSpecStatic
Apply spec_* values to lights in deferred pass
2018-06-27 23:27:57 +02:00
asarium 9878b48dd3 Apply spec_* values to lights in deferred pass
This was not present previously which meant that the command line values
were simply ignored by the engine. This adds the scaling back in which
should restore the lighting behavior to the previous status.
2018-06-27 19:39:14 +02:00
Fabian Woltermann af99fee8fc Merge pull request #1762 from asarium/feature/shaderCachePurge
Purge old shader cache files from file system
2018-06-27 19:13:25 +02:00
MageKing17 1cc09d5b8b Merge pull request #1764 from asarium/fix/emptyGameSoundPitch
Make sure that sound pitch range is initialized properly
2018-06-27 09:39:55 -07:00
MageKing17 d5c5cc6eb3 Nolink ballistic primaries no longer disallow linking when depleted.
When a ship with three primary banks has a Nolink weapon in one bank, the other two banks are still allowed to link; if that Nolink weapon has a limited ammo supply, however, depleting that ammo supply would disallow primary linking even though the weapon never contributed to primary linking in the first place. This commit changes the logic to only care if the depleted weapon doesn't have the Nolink flag. The ideal solution is probably to change how primary linking works so that even if the weapon doesn't have the Nolink flag the remaining primaries can still link, but that would be much more involved.
2018-06-27 09:04:14 -07:00
asarium b5bb5097b9 Make sure that sound pitch range is initialized properly
If a sound did not receive a valid sound name then the parsing function
would exit early and not set the pitch range properly. This would cause
a divide by zero if the duration of the sound was queried.

This moves the initialization of the pitch range to the start of the
parsing functions which makes sure that the range is initialized even if
the function exits early.
2018-06-27 17:23:13 +02:00
asarium f87e5bf318 Fix new warnings reported by GCC8
This also enabled GCC8 in Travis CI so that no new warnings are
introduced in other commits.
2018-06-26 11:51:08 +02:00
asarium 48667f0cbd Fix FFmpeg deprecation warnings 2018-06-24 23:07:00 +02:00
asarium 66637ef5cb Purge old shader cache files from file system
This automatically removes old shader cache files from the mod directory
when FSO is started. Those old files are likely to not be used anymore
so this will reduce the amount of disk space FSO uses for the shader
cache.
2018-06-24 22:21:33 +02:00
MageKing17 3b2b58e2cc Merge pull request #1757 from asarium/opengl/betterShaderCache
Improve handling of the shader cache
2018-06-23 21:51:07 -07:00
asarium d5282ca697 Improve handling of the shader cache
This adds an identification of the OpenGL implementation to the shader
content hash to avoid issues when using the same FSO install with
multiple graphics drivers.

Also adds support for querying the supported binary formats and
gracefully handling missing support for the format of a stored shader.
This can be useful when downgrading the version of a graphics driver
since the older version may not support the binary format yet.
2018-06-23 23:19:13 +02:00
m!m 6a099d2adc Merge pull request #1761 from asarium/fix/tgaLocking
Fix loading of TGA files with unexpected bit depths
2018-06-23 17:42:14 +02:00
Fabian Woltermann 6aa1f4899f Merge pull request #1756 from asarium/fix/modelClippingFlicker
Discard submodels by generating clipped vertices
2018-06-23 11:19:53 +02:00
asarium 4ec7d21965 Fix loading of TGA files with unexpected bit depths
The TGA loading code pretends that it does pixel conversion but doesn't
actually do that. This changes ensures that this circumstance is
communicated to the caller of bm_lock which will allow that code to
handle the case properly.

This was reported by Bomb3rman on discord.
2018-06-23 10:24:17 +02:00
MageKing17 bd5a4c4348 Merge pull request #1759 from Goober5000/cap_waypoint_speed_documentation
clarify documentation in cap-waypoint-speed
2018-06-21 18:13:00 -07:00
Goober5000 9135a01b1d clarify documentation in cap-waypoint-speed
The cap-waypoint-speed sexp only works for speeds above 0; this PR changes the documentation to clarify that.  I also tweaked an if() block in ship_return_time_to_goal because it used a >=0 comparison whereas every other comparison used >0.  (This is only for consistency, because the >0 check is used before this point would be reached.)
2018-06-21 17:04:02 -04:00
Fabian Woltermann 032579923e Merge pull request #1755 from asarium/fix/fullLogPathInLog
Write full log path and add legacy mode reason to log file
2018-06-18 08:08:36 +02:00
asarium 8c1e753991 Add log output for legacy mode reason
This will make debugging config location issues easier since the log
will state which path os_is_legacy_mode took while determining the
legacy mode status.
2018-06-17 20:51:11 +02:00
asarium 6a4c74084e Discard submodels by generating clipped vertices
This removes the clipping plane submodel removal code and replaces it
with shader code that generates vertices outside the clipping volume if
a model should not be rendered. This even improved performance since
clipping no longer needs to be active for all model rendering
operations.

This should finally fix #1579.
2018-06-17 14:27:19 +02:00
asarium 3799ce7d2f Write full log path to log file
This should make it a bit easier to determine if FSO is using the new
config file or the old one from only a log file.
2018-06-17 12:56:42 +02:00
m!m 2e213d5c97 Merge pull request #1659 from The-E/fix/1653
Delete all objects on mission end (Fix for #1653)
2018-06-17 12:14:22 +02:00
m!m 0c17177a1e Merge pull request #1713 from asarium/qtfred2_/goalsDialog
Port goal editor dialog code to qtFRED
2018-06-17 12:14:04 +02:00
m!m 93ced64c6f Merge pull request #1725 from asarium/opengl/thickModelOutlines
Render hardpoint model outlines using geometry shaders
2018-06-17 12:13:44 +02:00
m!m 4020b7c594 Merge pull request #1723 from asarium/feature/intelligentLegacyMode
Enable legacy config mode if legacy config is newer
2018-06-17 12:03:40 +02:00
m!m 13b26fd59f Merge pull request #1735 from asarium/cleanup/2dCallDereferences
Remove unnecessary function pointer dereferences in gr API
2018-06-15 12:03:14 +02:00
Goober5000 15bda8c4ac Merge pull request #1748 from asarium/build/unreachable
Add macro for marking unreachable code
2018-06-11 00:31:15 -04:00
asarium 39ab45dc7c Add macro for marking unreachable code
This can be used for mark parts of the code which should be unreachable
in normal execution. In debug mode, if such a statement is reached an
Error dialog is shown which aborts the execution. In release mode the
macro is replaced with a compiler specific expression that lets the
compiler know that this part is unreachable which allows it to optimize
the code better.
2018-06-09 17:38:17 +02:00
Fabian Woltermann 16a19783ae Merge pull request #1744 from asarium/fix/openAlGetErrorError
Fix OpenAL errors when sound is disabled
2018-06-09 08:41:15 +02:00
Goober5000 b1bc4ef44f Merge pull request #1743 from asarium/fix/1739
Respect trailing white space in tstrings.tbl strings
2018-06-08 21:14:33 -04:00
Goober5000 08e664a93a Merge pull request #1749 from asarium/feature/movieSrtSubtitles
Add support for external subtitle files
2018-06-08 20:55:42 -04:00
asarium aeee05c8dd Add support for external subtitle files
This allows to use external subtile files (currently only SRT is
configured) for providing subtitles for movie files. This should be more
universal since it also supports container formats with no support for
subtitle streams.

To use this code the srt file needs to be named
"<movie name>-<language code>.srt" where the language code is the file
extension name specified in the localization table. For english the
"-..." part can be omitted.
2018-06-08 23:29:15 +02:00
asarium 1fb3a65a90 Fix function brace wrapping in clang-format config 2018-06-08 23:28:54 +02:00
Goober5000 d53dc195ee Merge pull request #1742 from asarium/fix/1741
Enable log output for qtFRED
2018-06-08 15:21:14 -04:00
m!m 5b8880daa7 Merge pull request #1737 from Goober5000/fix_issue_1601
Change Warning about missing 640x480 interface art to a log statement
2018-06-08 19:42:41 +02:00
Goober5000 b0fc9cb31a address code review 2018-06-07 22:18:10 -04:00
m!m 323354295f Merge pull request #1751 from plieblang/PsnetTypoFix
Fix rsequence being reset twice and ssequence not being reset at all
2018-06-07 23:24:38 +02:00
plieblang b1881a700d Fix copy/paste error when closing socket 2018-06-07 12:12:54 -07:00
asarium 357cd76252 Render hardpoint model outlines using geometry shaders
This adds support for rendering models using thick lines (that means
lines wider than 1 pixel) which is required by the hardpoint HUD gauge.
This feature was present before the switch to OpenGL code and had to be
removed since the core profile does not support rendering lines wider
than 1 pixel.

This uses a geometry shader for converting all the triangles from a
model to 3 quads along the triangle lines which are as thick as set by
the model renderer. Geometry shaders are quite slow if they generate a
lot of geometry (and this generates 4 times the usual amount of geometry
in the shader) so it's probably not a very fast rendering operation but
it is only needed once per frame so it shouldn't be too bad.

I also added support for the RenderDoc API since I needed that for
debugging and it might be useful in the future. It will only become
active if RenderDoc is actually attached to the process so in most cases
the new code will do nothing.
2018-06-07 16:44:41 +02:00
Fabian Woltermann 30e70db561 Merge pull request #1750 from asarium/build/clang-format-config
Add initial clang-format config file
2018-06-07 13:40:14 +02:00
Goober5000 2c106f8c4b Merge pull request #1747 from ngld/pr/convertSexpInt3
Converted all Int3() calls in sexp.cpp into Warnings, Errors and Asserts
2018-06-06 22:59:50 -04:00
asarium 73bfb7a97e Add initial clang-format config file
This is largely based on how the existing code is formatted and is in no
way enforced by CI or anything else. This is only so that we actually
have a clang format file in the VCS since it's very useful.
2018-06-06 23:04:08 +02:00
ngld 4bead819f9 Implemented requested changes from code review 2018-06-06 03:35:13 +02:00
Goober5000 268828f092 Merge pull request #1736 from asarium/fix/translationBugs
Implement various translation features requested by Novachen
2018-06-05 21:28:14 -04:00
ngld 1614384a6a Converted all Int3() calls in sexp.cpp into Warnings, Errors and Asserts. 2018-06-06 02:20:52 +02:00
asarium 29b6af84cc Fix OpenAL errors when sound is disabled
Since there is no OpenAL context if sound is disabled there were errors
when calling alGetError on a non-existant context. This fixes that by
aborting the sound API call when the sound system wasn't initialized.
2018-06-05 12:31:37 +02:00
asarium cafee143c4 Respect trailing white space in tstrings.tbl strings
The current code drops trailing white space which can cause issues if
the translated string is used in concatenations. The retail tstrings.tbl
has some entries with white space at the end but since those strings are
not used for concatenations (or else this issue would have been found
earlier) this change should not cause issues there.

This fixes #1739.
2018-06-05 11:17:00 +02:00
asarium 6e21c8a736 Enable log output for qtFRED
This fixes #1741.
2018-06-05 11:09:31 +02:00
asarium bb56958dfc Fix various issues in the medal_stuff class
The assignment operator and copy constructors could be replaced with
their default implementations. The destrutor was also not needed since
it only executed the same action the default constructor would have
done.
2018-06-04 11:56:45 +02:00
asarium 120750ebd2 Adress code review feedback 2018-06-04 11:56:45 +02:00
asarium 3430a1c438 Disable hard-coded "cluster bomb" hack
This disables the old hack code if the weapon class has an alternate
name which may have been translated. See #1730 for more information.
2018-06-04 11:56:45 +02:00
asarium 1dc2e848cd Add option for disabling built-in translations 2018-06-04 11:56:45 +02:00
asarium 305429bf8b Add alternative display name for medals
This will only be used in the GUI which will allow translating the name
without having to change missions which use the name of the medal in
SEXPs.
2018-06-04 11:56:44 +02:00
asarium ae149b6061 Add convencience function for retrieving weapon alt name
I also fixed a few issues where the internal char array was used as a
mutable string which changed the string after it was parsed which is not
good(TM).

This also replaces all user-facing occurences of usages of name to use
the new function so that the correct, possibly translated, name is displayed
to the user.
2018-06-04 11:56:44 +02:00
Goober5000 429858d02e fix GitHub issue #1601
This turns the Warning about missing 640 interface art into a log print.  This applies to all instances of 640/1024: loading screens, cbrief and briefing backgrounds, and ship/weapon selection backgrounds.
2018-06-02 17:39:38 -04:00
asarium 1448277c29 Enable legacy config mode if legacy config is newer
There were some reports that using a newer launcher together with an
outdated launcher was causing some issues since the new launcher would
write the new config file which would cause FSO to ignore the changes of
the old launcher since the new config file already exists.

This fixes that by adding a check for when the config locations were
last modified. On Linux and Mac it checks when the old config locations
were modified last while on Windows it checks the registry to determine
if there was a change after the new config file was created.
2018-06-02 12:09:21 +02:00
Fabian Woltermann b848823a2f Merge pull request #1670 from asarium/feature/bitmapBlocks
Add new bmpman slot management system
2018-06-02 12:08:22 +02:00
Fabian Woltermann 61c533559b Removes an assert in object.cpp that was commented out and sets the number of retail stars to 0 when resetting the background in the lab 2018-06-02 11:58:01 +02:00
Goober5000 04b0f5bb75 Merge pull request #1721 from asarium/fix/unicodeScramble
Fix scrambling unicode messages
2018-06-01 17:24:04 -04:00
Goober5000 fdbba84a5b Merge pull request #1733 from Goober5000/fix_issue_1708
fix issue #1708
2018-05-31 15:52:46 -04:00
asarium e92121bed4 Remove unnecessary function pointer dereferences in gr API
Multiple function pointer dereferences are valid in C but do not change
the result of the operation. The graphics API had some function
definitions which used multiple pointer dereferences while the rest of
the functions did not.

This changes all occurences of the double dereferences to normal GR_CALL
declarations to keep the style in the API definitions consistent.
2018-05-31 15:07:20 +02:00
asarium 079ad97987 Fix clang-tidy issues in Assertion macro 2018-05-30 10:00:42 +02:00
asarium 7ae276fe6a Fix scrambling unicode messages
The code did not account for unicode escape sequences when inserting
scrambling characters which distorted the text and fequently caused
invalid UTF-8 sequences to appear in the text. This fixes that by
using the text iterators already present in the game code. I needed to
rewrite the logic of this block a bit since the previous logic could not
be converted to the way we need to handle unicode sequences at the
moment.

This fixes #1720.
2018-05-30 10:00:42 +02:00
Goober5000 45ddc8ac44 Merge pull request #1729 from chief1983/lib/sdl208
lib/sdl208: Upgrade the included SDL libs to 2.0.8.
2018-05-29 18:57:48 -04:00
Goober5000 6fa422c5e7 fix issue #1708 2018-05-29 17:04:31 -04:00
Cliff Gordon 35c830062d lib/sdl208: Upgrade the included SDL libs to 2.0.8. 2018-05-29 08:39:28 -05:00
Goober5000 243a5bb473 Merge pull request #1702 from Goober5000/minor_sexp_subsystem_cleanup
minor sexp subsystem cleanup
2018-05-29 00:21:29 -04:00
asarium 09abbe1789 Add new bmpman slot management system
This changes how the bitmap slots are managed by the bmpman system.
Instead of allocating a fixed-size array when the game starts this will
manage multiple "blocks" of bitmap slots. When the engine runs out of
slots in the already allocated blocks it simply creates a new block and
allocates the new slot in that.

This removed the hard limit on how many bitmaps can be loaded at the
same time and should fix issues encountered by mods which use a lot of
bitmap slots (I'm looking at you Spoon).

This implements the idea described in #1503.
2018-05-28 09:51:15 +02:00
asarium ad52278a67 Fix clang-tidy issues in Assertion macro 2018-05-28 09:51:15 +02:00
m!m e0a9c88241 Merge pull request #1716 from asarium/build/clang-tidy-diff
Use clang-tidy-diff to only check changed lines
2018-05-27 18:00:25 +02:00
m!m f45dcfc09a Merge pull request #1732 from asarium/fix/appveyorQt
Fix Appveyor Qt build issue
2018-05-26 16:54:23 +02:00
asarium 2036ebd3a0 Fix Appveyor Qt build issue
Apparently, Appveyor has removed the Qt version 5.7 from their servers
which was used by FSO previously. I have updated the paths to use Qt
5.9.5 instead now but there is a problem with Visual Studio 2013 since
there is no 32-bit Qt version for that compiler installed in the
Appveyor system.

For that reason, I decided to use Visual Studio 2015 instead for the
32-bit builds which means that Visual Studio 2013 will not be tested by
Appveyor anymore. Since no one is using that compiler version anymore
that shouldn't be a big issue.

This should fix the CI issues seen on recent PRs and commits.
2018-05-26 14:05:30 +02:00
m!m 469270d4b6 Merge pull request #1701 from Goober5000/is_in_turret_fov
is-in-turret-fov sexp
2018-05-17 19:34:49 +02:00
m!m e59df5d83c Merge pull request #1726 from Goober5000/sexp_bitwise_tweak
make the set-bit and is-bit-set operators fail gracefully
2018-05-17 19:31:22 +02:00
Goober5000 880e03e5d1 requested changes from code review 2018-05-15 22:04:20 -04:00
Goober5000 c1196f8286 requested changes from code review 2018-05-15 21:56:39 -04:00
Goober5000 40cd9e4c07 make the set-bit and is-bit-set operators fail gracefully
These operators used to warn and return NAN if they were given a bit index out of range.  For FREDding convenience, out-of-range bit indexes are now a no-op.  This is particularly helpful in the situation where a FREDder needs to evaluate an extended bit array, one 32-bit chunk at a time, e.g.

0-31 bits: offset 0
32-63 bits: offset -32
64-95 bits: offset -64
96-127 bits: offset -96

Because the sexp system always evaluates every argument, three out of four branches were always evaluated with invalid bit indexes (negative or too large) even if the sexp logic only used one branch.  The new method silently bypasses this behavior.
2018-05-07 18:44:58 -04:00
MageKing17 a90e480b61 Merge pull request #1724 from asarium/fix/showShipViewerMode
Fix "show-ship" flag
2018-05-05 11:35:27 -07:00
asarium 142ae846f4 Fix "show-ship" flag
The viewer mode check seemed to be wrong but I am not entirely sure if I
fixed this correctly. The Viewer_mode variable is a big mess of bitflags
that are not very consistent in what they mean.
2018-05-05 12:25:44 +02:00
asarium 7a827dcb0e Enable all modernize tests by default
This will report the usage of old coding patterns in new code.
modernize-raw-string-literal is disabled since it doesn't work right
with strings with special escape sequences in them.
modernize-use-using is disabled since typedefs are more common in the
FSO code.
2018-05-04 10:03:22 +02:00
asarium 619cb607d0 Use clang-tidy-diff to only check changed lines
This will only check the lines that were changed by a commit or pull
request. This makes it possible to enable more clang-tidy checks without
having to fix all occurences of the warnings in the code base.

Please note that the changes do not work correctly with rebased branches
due to the way Travis CI supplies the commit range. Pull requests will
always be checked properly though.
2018-05-02 12:26:05 +02:00
m!m 56c34eee6d Merge pull request #1685 from asarium/build/clang-tidy-2
Enable and fix more clang-tidy warnings
2018-05-01 19:35:46 +02:00
Fabian Woltermann 379031534d Merge pull request #1718 from asarium/fix/1717
Fix fog rendering in forward renderer
2018-04-29 18:49:04 +02:00
asarium 64b08f51c0 Fix fog rendering in forward renderer
There were actually two bugs here that were fixed:
1. The model draw list code disabled the fog rendering when it thought
it was it deferred rendering mode but did not account for explicitly
disabling the deferred renderer.
2. The fog effect was applied to both the emissive color and the base
color simultaneously which caused visual errors when rendering fogged
objects using the deferred renderer.

This fixes #1717.
2018-04-28 13:53:09 +02:00
asarium adfa12a706 Disable clang-tidy in release mode
The unused parameter warning cannot be disabled easily in release mode
for clang-tidy so this needs to be done to avoid false-positived in
release mode.
2018-04-25 11:57:56 +02:00
asarium d71a589b0f Use CMake 3.8 to make sure clang-tidy warnings fail the build
Previous versions do not support failing the build if warnings should be
treated as errors.
2018-04-25 11:57:56 +02:00
asarium 5118d94d5d Update header filter regex in .clang-tidy 2018-04-25 11:57:56 +02:00
asarium 17179d5b0b Fix unreferenced local variable warning 2018-04-25 11:57:55 +02:00
asarium bd3632d1bf Enable remaining misc- checks and fix detected issues 2018-04-25 11:57:55 +02:00
asarium eeed22b91a Enable misc-unused-parameters
clang-tidy was used for fixing the warnings. It is not clear if this is
actually an improvement so this may still be disabled later.
2018-04-25 11:57:55 +02:00
asarium 48873185ce Another batch of misc- checks 2018-04-25 11:13:20 +02:00
asarium e28ebc2a6c Enable and fix misc-suspicious-string-compare check 2018-04-25 11:13:19 +02:00
asarium dcac9e7223 Enable more misc- checks 2018-04-25 11:12:41 +02:00
asarium 0b4ca71eba Enable modernize-deprecated-headers 2018-04-25 11:12:41 +02:00
asarium 24c3c439d5 Test clang-tidy issues in test code 2018-04-25 11:12:41 +02:00
m!m 706973cb6b Merge pull request #1672 from asarium/feature/typesafeIDs
Add typesafe handle types and use it in game sound system
2018-04-25 10:36:46 +02:00
Fabian Woltermann 91a5bfa74a Merge pull request #1707 from asarium/feature/persistentParticles
Improve handling of non-persistent particles
2018-04-25 10:14:39 +02:00
asarium 7e399681cd Enable qtFRED for all deployments
This enabled qtFRED building for all deployments (releases, nightlies
and test builds). qtFRED is relatively stable now and should be
available for wider testing which may be provided by nightly builds.

This also adds AppImage support fot qtFRED although I still couldn't get
it to work entirely since there is some sort of libpng issue which
prevents icons from showing up correctly.
2018-04-24 14:57:52 +02:00
asarium f7b0f93c00 Port goal editor dialog code to qtFRED
The sexp_tree widget makes the model based dialog a bit ugly here since
it is required for some model operations even though it is a UI
component. In the future it could be split into a model component and an
UI component to allow better separation between model and UI.
2018-04-22 21:43:01 +02:00
m!m 2721c452c4 Merge pull request #1680 from asarium/qtfred2_/eventDialog
Port event editor dialog code to qtFRED
2018-04-22 21:39:57 +02:00
m!m 1030e29ef7 Merge pull request #1703 from asarium/qtfred2_/missionSave
Port mission save code to qtFRED
2018-04-22 17:40:48 +02:00
asarium 8f06e338a4 Add typesafe handle types and use it in game sound system
This adds a new class which allows to create type safe resource handle
types. At the moment, the engine uses ints pretty much everywhere for
providing handles to resources created by the specific subsystems. Since
all ints are the same to the C/C++ typesystem it is perfectly legal to
pass a sound handle to the graphics API as a buffer handle which will
obviously cause issues.

This adds a new type called "ID" which is a wrapper class for a generic
handle but with added type safety. An instance of this class cannot be
passed to a function expecting another type of handle which provided
compile-time type safety for these APIs.

As an initial test I converted the game sound handles to this new type.
I already found a bug in the mainhall system thanks to this new type.
The mainhall used the game sound handles as sound instance handles which
probably meant that that specific code never really worked right. I
removed the code since there was no better alternative for fixing it.
2018-04-22 16:22:45 +02:00
asarium d1a6b48beb Improve handling of non-persistent particles
The current particle system uses dynamic allocation of particle
instances for keeping track of particle instances. This adds unnecessary
overhead in case the code does not need a handle to this particle which
is the case in pretty much all instances.

The new non-persistent particles are stored in a standard vector without
dynamic allocation which should make the processing steps using this
vector much faster and allow better scalability in case more particles
are used by a mission.
2018-04-22 16:22:28 +02:00
asarium ce8fc0a373 Try to close the window on Esc key presses
This will allow the user to cancel the operation or save their changes
instead of discarding them without question.
2018-04-22 16:21:55 +02:00
asarium 991f131376 Fix Clang warnings 2018-04-22 16:21:55 +02:00
asarium ed7917cb26 Port event handling part of Event editor code 2018-04-22 16:21:55 +02:00
asarium e6e6288423 Replace interface functions with qt signals 2018-04-22 16:21:55 +02:00
asarium 48a6361586 Port message handling code of event editor dialog 2018-04-22 16:21:55 +02:00
asarium 8a2faa8b99 Port mission save code to qtFRED
This is pretty much an exact copy of the mission save code of FRED2. I
removed the campaign save code for now since it requires some
interactions with the campaign editor which does not exist yet.
2018-04-22 16:21:41 +02:00
m!m 7d139f9e80 Merge pull request #1667 from asarium/build/teaci
Add TeaCI config file and fix MinGW warnings
2018-04-22 11:23:18 +02:00
m!m cf93aa43c5 Merge pull request #1709 from jg18/qtfred2_/shieldSystemDialog
Finish shield system editor dialog in qtFRED
2018-04-21 23:24:08 +02:00
asarium 89e3533106 Add TeaCI config file
TeaCI is a CI service which provides MinGW CI builds (in Docker
containers so no "real" Windows machines). This would be useful for
validating the Windows only code with additional GCC warnings. It would
also make sure that the MinGW setup we currently have continues to work.
2018-04-21 23:01:19 +02:00
m!m a3f9febdc4 Merge pull request #1668 from asarium/build/minGWFixes
Fix various issues detected by MinGW
2018-04-21 22:59:54 +02:00
jg18 3c738312de make corrections to shield system dialog based on feedback 2018-04-21 12:52:01 -07:00
jg18 363d6d3ba0 finish shield system editor dialog in qtFRED 2018-04-21 12:52:01 -07:00
niffiwan 5578825bf3 Merge pull request #1662 from asarium/fix/luaWaypointAPI
Fix Assert in Lua API when passing invalid name to mn.WaypointList
2018-04-21 23:31:51 +10:00
asarium 9b5710e8c3 Fix various issues detected by MinGW
This fixes various issues I found while trying to compile FSO in a cross
compilation setup using MinGW. This is a prerequisite for merging Tea-CI
support.
2018-04-21 15:13:25 +02:00
m!m b527dd5449 Merge pull request #1665 from asarium/fix/1664
Validate number of parsed briefing stages and icons
2018-04-21 12:47:26 +02:00
m!m 175668e2bb Merge pull request #1700 from asarium/qtfred2_/fixWindowsError
Fix Windows deployment issue
2018-04-21 12:45:55 +02:00
m!m cbf3052094 Merge pull request #1673 from asarium/build/ciFRED
Reenable FRED building for Appveyor
2018-04-21 12:45:34 +02:00
m!m 3507cf96d1 Merge pull request #1711 from asarium/fix/fredStaticInitializer
Fix crash on FRED startup in debug mode
2018-04-20 21:05:10 +02:00
asarium e624f6c1a8 Fix crash on FRED startup in debug mode
The crash was caused by a static initialization order problem where the
static initializer of the FRED app was called before the initializer of
the outwnd filter vector.

This fixes that by initializing the vector as soon as necessary through
the use of a function with a static variable.
2018-04-20 19:52:57 +02:00
asarium 371aad8f8c Fix warnings in FRED code 2018-04-20 14:46:21 +02:00
asarium cb3fd31db4 Reenable FRED building for Appveyor
Apparently this was also disabled accidentally when qtFRED was merged
into master.
2018-04-20 14:46:21 +02:00
niffiwan e2e7eac0c6 Merge pull request #1705 from asarium/qtfred2_/updatedReadme
Update qtFRED readme and add some documentation
2018-04-18 20:46:01 +10:00
asarium 80faaf88b0 Update qtFRED readme and add some documentation
This fixes #1696.
2018-04-18 11:41:29 +02:00
Goober5000 fb0f7dd7de minor sexp subsystem cleanup
Synchronize the two subsystem-of-ship checks in sexp.cpp and sexp_tree.cpp.  Mostly this is just adding OP_BEAM_FLOATING_FIRE to sexp_tree.cpp because whoever added that sexp forgot to add it there.
2018-04-15 18:49:37 -04:00
Goober5000 62aae9d793 add optional argument for distance/range 2018-04-15 18:24:58 -04:00
Goober5000 15663a3551 add is-in-turret-fov sexp
Returns true if the ship is in a turret's FOV, false otherwise.  Requested by JSRNerdo.  Uses the object_in_turret_fov internal function which is the same one used by the turret code when it checks whether it can fire.
2018-04-15 17:59:04 -04:00
m!m 6df837e7f3 Merge pull request #1686 from PeterMitsis/experiment
Minor clean up
2018-04-15 23:06:38 +02:00
asarium 512d08e443 Fix Windows deployment issue
The CMake code did not specify that qwindows.cll also needed to be
distributed with the application which caused errors for users who had
not installed Qt on their system.

This should make qtFRED redistributable without needing a QT
installation.
2018-04-15 19:35:06 +02:00
Peter Mitsis 504abeb305 ship: Remove unused routine ship_select_next_valid_secondary_bank()
Signed-off-by: Peter Mitsis <[email protected]>
2018-04-15 12:58:05 -04:00
Peter Mitsis 2ae2f2910c asteroid: Remove unused routine hud_target_asteroid()
Signed-off-by: Peter Mitsis <[email protected]>
2018-04-15 10:51:50 -04:00
Peter Mitsis 3b4fbde8e6 collide: Apply static keyword to applicable routines
Applying the 'static' keyword to applicable routines both informs the
developer where the routine is likely to be used as well as allows the
compiler to perform additional optimizations.

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:04 -04:00
Peter Mitsis 2d01cd2366 shiphit: apply static keyword to applicable routines
Applies the 'static' keyword to applicable routines to both make it
more clear to the developer where such routines are likely to be used
as well as to provide additional information to the compiler so it can
make better optimizations.

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:04 -04:00
Peter Mitsis 2beb136ecf shipfx: Apply static keyword to applicable routines
Applying the static keyword to applicable routines makes it both
more clear to the developer where those routines are likely to be
used as well as provide additional information to the compiler to
allow it to make better optimization choices.

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:04 -04:00
Peter Mitsis c728cc40b2 ship: Apply static keyword to ship routines
Applies the 'static' keyword to various sihp related routines. This both
makes it more clear to the developer where those routines might be used
as well as allowing the compiler to leverage that knowledge and potentially
make additional optimizations.

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:04 -04:00
Peter Mitsis d13ddb387f asteroid: Remove unused routines
Removes the following two routines as not only are they unused, but
they have been unused for years.
    get_debris_from_same_group()
    asteroid_get_random_in_cone()

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:03 -04:00
Peter Mitsis 666c177dec Fix asteriod typo
Replaces instances of 'asteriod' with 'asteroid'.

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:03 -04:00
Peter Mitsis d5ba2369a2 asteroid: Apply static keyword to asteroid routines
Applies the 'static' keyword to various asteroid routines. This both
makes it more clear to the developer where those routines might be used
as well as allowing the compiler to leverage that knowledge and potentially
make additional optimizations.

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:03 -04:00
Peter Mitsis 7bf7a8fc66 keycontrol: Remove reference to hud_target_asteroid()
Removes the extern declaration of hud_target_asteroid() from
keycontrol.cpp as it is not used in that module.

Signed-off-by: Peter Mitsis <[email protected]>
2018-04-14 19:57:03 -04:00
Fabian Woltermann a3d2320f0a Merge pull request #1681 from asarium/build/clang-tidy
Add clang-tidy to Travis CI configuration
2018-04-14 11:48:30 +02:00
asarium 9d352ddc5f Fix .clang-tidy format 2018-04-13 16:26:57 +02:00
MageKing17 299e584284 Merge pull request #1684 from asarium/fix/1683
Set team_glow_enabled uniform to proper value
2018-04-13 07:13:48 -07:00
asarium 4f22b12ec6 Mark all external libraries as system includes 2018-04-13 15:40:11 +02:00
asarium 57985b5f1a Enable misc-new-delete-overloads 2018-04-13 12:10:24 +02:00
asarium 513115ceeb Enable misc-noexcept-move-constructor check 2018-04-13 12:10:24 +02:00
asarium 95acebfce8 Add misc-multiple-statement-macro check 2018-04-13 12:10:24 +02:00
asarium ca5605cfb4 Add misc-move-forwarding-reference check 2018-04-13 12:10:24 +02:00
asarium ea4e5f222d Make .clang-tidy easier to read 2018-04-13 12:10:22 +02:00
asarium 538afc73a2 Keep building on Travis CI until more errors have occured
This will make it easier to find warnings and clang-tidy notifications
since ninja won't stop after the first warning or error was reported.
2018-04-13 12:10:03 +02:00
asarium 16560326e7 Add more clang-tidy checks 2018-04-13 12:10:01 +02:00
asarium 68372b18a2 Enable performance clang-tidy warnings 2018-04-13 12:08:56 +02:00
asarium c6abe74f06 Replace noexcept with compatibility macro 2018-04-13 12:08:07 +02:00
asarium f1c79c2ca7 Fix override warnings produced by clang-tidy 2018-04-13 12:08:06 +02:00
asarium 7944eda1cb Add Clang-tidy support 2018-04-13 11:40:38 +02:00
asarium 1571caa95e Set team_glow_enabled uniform to proper value
This was missed when converting the model uniforms to a uniform buffer
and caused some issues with team colors. This sets that uniform to the
value it had before the uniform buffer changes.

This fixes #1683.
2018-04-13 10:36:32 +02:00
m!m 9f97ea909a Merge pull request #1669 from jg18/qtfred2_/fictionViewerDialog
Add fiction viewer dialog to qtFRED
2018-04-13 09:57:01 +02:00
MageKing17 7469558e97 Merge pull request #1676 from asarium/fix/jsonOutputEfxSupport
Write EFX support information to JSON output
2018-04-12 17:10:38 -07:00
jg18 6747c630af Finish up qtFRED fiction viewer dialog 2018-04-11 21:45:38 -07:00
jg18 d80d8dd08e Use SignalBlockers with fiction viewer dialog 2018-04-09 23:51:19 -07:00
jg18 5ebf806c72 fix CI error about unused variable 2018-04-09 23:51:19 -07:00
jg18 6d2d092cc6 wrapup fiction viewer dialog corrections 2018-04-09 23:51:18 -07:00
jg18 cafee9c66a Add qtFRED notice about multiple fiction viewer stages 2018-04-09 23:51:18 -07:00
jg18 8fc281c7be Fix bugs in qtFRED fiction viewer dialog 2018-04-09 23:51:02 -07:00
jg18 8cae09bfe8 Add fiction viewer dialog to qtFRED (WIP) 2018-04-09 23:43:10 -07:00
jg18 5c5e48847e Add qtFRED keyboard shortcut for fiction viewer dialog 2018-04-09 23:42:47 -07:00
Joshua Glatt ae17e3f4b7 Merge pull request #1679 from asarium/qtfred2_/initSystem
Copy original FRED initialization code
2018-04-09 08:08:27 -07:00
m!m ebfc904e52 Merge pull request #1678 from jg18/qtfred2_/guisGalore
Add GUIs for background, shield system, and voice acting editors to qtFRED
2018-04-09 09:47:24 +02:00
asarium f3a3ed982f Copy original FRED initialization code
This copies the original FRED code for initializing the individual game
systems to qtFRED. This should fix the various issues caused by missing
game system initialization calls.
2018-04-09 09:45:41 +02:00
jg18 fabf05454b Make corrections to background editor UI and add dialog shortcut 2018-04-08 21:12:35 -07:00
m!m d309644e53 Merge pull request #1677 from jg18/qtfred2_/blockUiUpdate
Add SignalBlockers to qtFRED
2018-04-08 10:56:37 +02:00
jg18 63b21893df add stub dialog implementations and more corrections 2018-04-07 23:58:43 -07:00
jg18 81f4c03364 corrections to new GUIs 2018-04-07 23:01:04 -07:00
jg18 3668ce67d5 Add SignalBlockers to qtFRED 2018-04-07 19:52:23 -07:00
asarium 28ddf7d8d2 Write EFX support information to JSON output
The initial JSON flags output lacked this information but it is needed
for proper support by the launcher. This adds a new entry in the JSON
structure without changing anything else so it does not require a new
output version.
2018-04-06 13:48:49 +02:00
jg18 b2d427fb00 Add .ui files for background, shield system, and voice acting editor dialogs 2018-04-01 15:31:46 -07:00
Fabian Woltermann 3a4d5788a8 Merge pull request #1675 from asarium/fix/textureDetail
Fix texture detail errors
2018-04-01 20:34:53 +02:00
asarium 7e3ca7eb46 Fix texture detail errors
When I made the texture array changes I forgot to test the texture
detail feature which caused some visual corruption when using a texture
detail which was less than the maximum. This should fix that.
2018-04-01 13:21:14 +02:00
Fabian Woltermann 95620e5de6 Merge pull request #1671 from asarium/fix/soundSetObjectSounds
Assign minimum and maximum value properly in RandomRange
2018-03-29 15:31:04 +02:00
asarium ae738abcf5 Assign minimum and maximum value properly in RandomRange
The minimum and maximum values were not initialized correctly which
caused code which relied on those values to fail unexpectedly.

This assigns the value properly and adds a documentation note which
clarifies when the values are valid.
2018-03-29 14:25:37 +02:00
Tyler Blount e3c815c194 Merge pull request #1657 from asarium/qtfred2_/sexpContextMenu
Add SEXP tree context menu building
2018-03-19 10:53:16 -06:00
asarium daca57de4c Add replace Variable implementation 2018-03-18 22:56:59 +01:00
asarium 5650199b04 Implement "Add paste" 2018-03-18 19:10:22 +01:00
asarium b1e392be2f Add support for adding typed data 2018-03-18 18:58:10 +01:00
asarium 9f0e21f941 Fix menu enablement status
Also added simple add Data implementations
2018-03-18 18:46:19 +01:00
asarium 5258066545 Validate number of parsed briefing stages and icons
This fixes two possible assertions and two possible buffer overflows
which could have been caused by a mission with wrong values for
$num_stages and $num_icons.

This fixes #1664.
2018-03-18 15:50:10 +01:00
asarium f740583547 Add add/replace/insert actions 2018-03-18 15:49:01 +01:00
asarium fd92813198 Add Cut/Copy/Paste action handlers 2018-03-18 10:35:28 +01:00
asarium fc87b129ac Add expand all action 2018-03-18 10:27:08 +01:00
asarium d5509411de Add data editing support 2018-03-18 10:27:02 +01:00
asarium a1d7ec7855 Add delete action handler 2018-03-17 17:37:56 +01:00
asarium 7d3bc7fc58 Add support for the start_mission parameter to qtFRED 2018-03-17 17:06:50 +01:00
asarium 6ed82d88a9 Fix minor issues in editor code 2018-03-17 17:04:13 +01:00
m!m 8b49ebf323 Merge pull request #1660 from The-E/feature/ogl_anisotropy
Make the OGL_Anisotropy setting more usable
2018-03-17 10:22:51 +01:00
Goober5000 4bcc85e963 Merge pull request #1661 from asarium/fix/booleanSexpCrash
Fix wrong return value when getting boolean value from Lua
2018-03-16 22:19:30 -04:00
asarium 55c1c3ce9d Fix wrong handle return type 2018-03-16 23:53:34 +01:00
asarium 2bddcf8344 Fix Assert in Lua API when passing invalid name to mn.WaypointLists
Since atoi return 0 on error the code tries to access the waypoint list
with index -1 which causes an assert in the lookup code. This fixes that
by using the error detection capabilities of strtol.
2018-03-16 23:53:19 +01:00
asarium 235391154e Fix wrong return value when getting boolean value from Lua
This is probably a bug from when I changed how those functions worked.
The function is supposed to return if it successfully retreived a value
from the Lua stack but instead of returning true if it was, it returned
the value it just retrieved. This works fine if that value is true but
causes issues if it was false.
2018-03-16 22:32:58 +01:00
Fabian Woltermann 758ca86f6f And fix the other one too 2018-03-16 20:10:21 +01:00
Fabian Woltermann 6406e2fbd4 fix variable conversion warning 2018-03-16 15:53:19 +01:00
Fabian Woltermann 1c5bf39e8d Use GL_max_anisotropy by default 2018-03-16 13:05:21 +01:00
Fabian Woltermann 18c2dbbde9 WIP fix for #1653.
This adds a step to the post-mission cleanup where we explicitly go through Objects and call obj_delete on everything not already deleted; this obviously needs testing.

Also a few cleanup steps in lab_init to make sure the lab isn't contaminated by leftover data from previously played missions.
2018-03-16 12:59:43 +01:00
Fabian Woltermann 0b3ff5e698 Make the anisotropy setting controllable via commandline 2018-03-16 08:14:35 +01:00
asarium 5c0e88dd60 Add actions to context menu 2018-03-15 14:18:35 +01:00
asarium 1498367e48 Add SEXP tree context menu building
This adds displaying the correct context menu for the qtFRED SEXP tree
widget. The actions are not implemented yet.
2018-03-14 11:46:59 +01:00
Fabian Woltermann a8747b7b93 Merge pull request #1656 from asarium/fix/noRuntimeDll
Disable building targets with runtime DLLs as default
2018-03-14 10:12:50 +01:00
asarium dadf58f6b1 Disable building targets with runtime DLLs as default
This caused issues for some users and was an accidental change
introduced by the qtFRED merge.
2018-03-14 09:16:51 +01:00
m!m e9a642673c Merge pull request #1654 from asarium/qtfred2_/sync
Merge qtFRED into the main branch
2018-03-12 10:21:44 +01:00
asarium 42fbc92d73 Don't build qtFRED for deploy builds 2018-03-11 13:45:27 +01:00
m!m 6141fc7f73 Merge pull request #1652 from The-E/fix/1623
Fix for 1623
2018-03-11 09:06:20 +01:00
asarium c1fd6e7026 Call processEvents from game_busy
That will avoid unresponsive application errors when loading a big
mission.
2018-03-11 08:49:34 +01:00
Tyler Blount 9114d94e0c Merge pull request #1650 from asarium/qtfred2_/sexpTree
Add initial support for displaying SEXPs in a tree widget
2018-03-10 16:15:09 -07:00
asarium 235234ea66 Fix some warnings 2018-03-10 18:30:55 +01:00
Fabian Woltermann 512887482a use correct array lookups (how did VS not find these....?) 2018-03-10 18:00:30 +01:00
Fabian Woltermann 04fd9679bd Fix mprintf calls 2018-03-10 14:06:12 +01:00
m!m 07a2f5a155 Merge pull request #1651 from TRBlount/fred/changeHeadaniExt
Make APNG the default file extension for the Event Editors head ani file dialog
2018-03-10 12:55:53 +01:00
Fabian Woltermann 85874105e3 Remove unnecessary early exit 2018-03-10 12:17:17 +01:00
Fabian Woltermann 248b70b780 Replace this assert with a proper exit path + debug log print 2018-03-10 12:11:17 +01:00
Fabian Woltermann f05a50f57b Merge pull request #1638 from The-E/feature/lighting_settings_rework
Reworks the lighting settings according to the discussion in #1634.
2018-03-10 08:57:56 +01:00
Fabian Woltermann a5fc5e322d Merge branch 'feature/lighting_settings_rework' of https://github.com/The-E/fs2open.github.com into feature/lighting_settings_rework 2018-03-10 08:16:46 +01:00
Fabian Woltermann 91c4884fd3 Use the correct index in the popup 2018-03-10 08:15:59 +01:00
Fabian Woltermann eaad5a01a2 Create a popup to notify people that shaders are being recompiled 2018-03-10 08:15:59 +01:00
Fabian Woltermann 905417b866 Use 32 as a default specPower value in the Blinn-Phong render path 2018-03-10 08:15:59 +01:00
asarium 5061a112db Set default shader uniforms every time the shader is compiled 2018-03-10 08:15:59 +01:00
Fabian Woltermann b7981c0ce4 Implemented callback and shader recompile, but there is still strange behaviour 2018-03-10 08:15:59 +01:00
Fabian Woltermann c0328bb4f5 Beams should always be rendered at lighting detail >= 2 2018-03-10 08:15:59 +01:00
Fabian Woltermann dd2074d91d Reworks the lighting settings according to the discussion in #1634.
This fixes #1634
2018-03-10 08:15:59 +01:00
TRBlount e7a8adb367 Make APNG default file for head ani selection 2018-03-09 16:11:57 -07:00
asarium 809ac2300d Turn modified state into a signal 2018-03-09 23:52:21 +01:00
Fabian Woltermann 8ea179781a Merge pull request #1610 from asarium/feature/windowIcon
Allow mods to specify the window icon
2018-03-09 20:06:54 +01:00
Fabian Woltermann 77768b3328 Merge pull request #1632 from asarium/opengl/betterDecals
Add normal map rendering to decals
2018-03-09 20:06:06 +01:00
Fabian Woltermann 873162690d Merge pull request #1649 from asarium/fix/1647
Fix rendering position of hardpoint models
2018-03-09 20:03:31 +01:00
Fabian Woltermann 5c5ce5e66a Use the correct index in the popup 2018-03-09 15:00:39 +01:00
Fabian Woltermann 7d54dd9a05 Create a popup to notify people that shaders are being recompiled 2018-03-09 14:57:40 +01:00
asarium eb322476b2 Add initial tree creation code to event editor
With these changes the event editor can now display the SEXP tree of a
mission. No other operations are supported at the moment.
2018-03-08 22:42:45 +01:00
asarium aadb22c9f1 Fix the rest of the SEXP tree code 2018-03-08 22:28:25 +01:00
asarium d4b0dc9cc2 Convert mask color to proper alpha channels for SEXP icons 2018-03-08 22:28:25 +01:00
asarium b7e703553b Port sexp tree 2018-03-08 22:28:25 +01:00
Tyler Blount 6b97dcfe60 Merge pull request #1648 from asarium/qtfred2_/sync
Sync qtfred branch
2018-03-08 12:05:57 -07:00
asarium 8099bb737b Fix rendering position of hardpoint models
The previous fix to the weapon orientation failed to account for the
change from local to global space for the weapon position. This fixes
that by rotating the model positions to world space before submitting
the render call.

This fixes #1647.
2018-03-08 11:57:34 +01:00
asarium 91d6d90c9b Merge branch 'master' into qtfred2_/sync 2018-03-08 10:34:00 +01:00
m!m e5e5d14108 Merge pull request #1646 from asarium/fix/1645
Avoid reusing model material instance when setting fog
2018-03-06 18:59:12 +01:00
asarium 4fa43ed639 Avoid reusing model material instance when setting fog
The rendering material used by the model render list was reused by
multiple draw call submissions so a non-transparent mesh would reset the
fog value set before which would break meshes submitted after that.

There are still some issues with how the fog is rendered which causes
differences between how opaque and transparent meshes are drawn but I
will fix that in another pull request.

This fixes #1645.
2018-03-06 17:34:29 +01:00
asarium 1ace8b3abc Reenable decals in nebulas
With the recent changes to how fog is handled in nebulas it is now
possible to render decals correctly in a nebula environment so there is
no need to disable decals when the mission is in a nebula.
2018-03-06 11:38:07 +01:00
asarium 520e532c56 Add normal map rendering to decals
This changes the decal system so that it is able to modify the normal
map of the scene. I tested this with some existing normal maps but I am
not entirely sure if the tangent matrix I construct uses the right
values so some additional testing with normal maps made specifically for
decals would be good.

This also fixed the issues introduced by the changes to how directional
lighting was handled. Now a decal can have a diffuse and a glow map. The
diffuse map is used to change the values of the color buffer and also
supports ambient lighting. The glow map renders into the emissive buffer
and should be used for effects that should not receive lighting.
2018-03-06 11:38:01 +01:00
Fabian Woltermann 9a9e088861 Merge pull request #1644 from asarium/opengl/nebulaPostProcessing
Improve handling of nebula fog for deferred lighting
2018-03-06 09:34:43 +01:00
asarium 39f24bce23 Improve handling of nebula fog for deferred lighting
The previous method of rendering nebula fog didn't work correctly with
deferred shading since it changed the color of the material which
obviously caused some issues when it received light from a beam or a
weapon. This wasn't very noticable before because the directional lights
were handled correctly but since all the lighting operations have been
moved into the deferred shading phase it is very obvious that something
is wrong with our nebula rendering.

This fixes that by introducing a new shader which does a fullscreen pass
after resolving all the lights. It applies the usual fog formula based
on the depth of the fragment but it can only use a fixed distance range.
FSO support specifying a range for every object type but the default
range I chose should work properly for all ship types.

The new code only applies to opaque meshes. Transparent meshes are
fogged using the standard formula.
2018-03-05 22:40:05 +01:00
m!m 3dd9bc8aef Merge pull request #1643 from asarium/fix/hudHardpointsStencil
Fix stencil rendering in hardpoint rendering
2018-03-05 17:00:46 +01:00
Fabian Woltermann 03aa479efc Merge pull request #1642 from asarium/fix/hardpointOrientation
Fix missile hardpoint orientation in HUD gauge
2018-03-05 14:37:25 +01:00
asarium 31931777bc Fix stencil rendering in hardpoint rendering
There were actually multiple issues here. The addition of color mask and
stencil state to the material system overwrote the state set by the
hardpoint renderer so the stencil buffer was never written or read
correctly. I fixed this by introducing three new model render flags
(there were a few open slots in the bit mask so I used those) which set
the correct state using the material system. That also makes setting up
the rendering environment much easier.

Second, gr_opengl_stencil_set used mixed up parameter values which were
probably broken when I introduced more detailed stencil state tracking.
I restored those values to how they were in 3.8.

This fixes the other issue reported in #1640.
2018-03-05 14:28:59 +01:00
Fabian Woltermann 59d0c561d6 Use 32 as a default specPower value in the Blinn-Phong render path 2018-03-05 09:06:43 +01:00
Fabian Woltermann ca55f4ea9c Merge pull request #1641 from asarium/fix/lazySoundLoading
Load unloaded sounds when trying to determine sound length
2018-03-05 08:28:24 +01:00
Fabian Woltermann 8c223afcd0 Merge pull request #1639 from asarium/opengl/unifiedGammaHandling
Move gamma correction into common header
2018-03-05 08:27:29 +01:00
Fabian Woltermann 4dc8c57d3c Merge pull request #1 from asarium/fix/shaderDefaultUniforms
Set default shader uniforms every time the shader is compiled
2018-03-05 08:02:51 +01:00
asarium 82f74d570b Fix missile hardpoint orientation in HUD gauge
The code previously used the matrix stack for handling the orientation
or the weapon models. That is no longer supported by the model renderer
(since it would make handling the transforms harder for no real reason).
I fixed the issue by passing the object orientation directory to the
model render function.

This is a fix for one of the problems mentioned in #1640.
2018-03-05 00:20:21 +01:00
asarium 8df4835d51 Set default shader uniforms every time the shader is compiled 2018-03-04 23:30:49 +01:00
asarium 5a5dbd0df2 Load unloaded sounds when trying to determine sound length
This can happen if a script tries to determine the length of a sound
before actually playing it. This fixes the assertion by loading the
sound when it is necessary.
2018-03-04 22:41:15 +01:00
Fabian Woltermann cc876f8bc3 Implemented callback and shader recompile, but there is still strange behaviour 2018-03-04 20:14:09 +01:00
m!m 45d09fd49b Merge pull request #1637 from The-E/feature/no_max_lights
Remove the MAX_LIGHTS define
2018-03-04 16:45:43 +01:00
m!m 6fcdabeb45 Merge pull request #1635 from asarium/fix/emissiveLightNebula
Handle emissive light properly in nebulas
2018-03-04 16:45:14 +01:00
Fabian Woltermann 2e632467f4 Beams should always be rendered at lighting detail >= 2 2018-03-04 16:31:03 +01:00
asarium 5c599fa9ee Move gamma correction into common header
This moves the constant definition and functions for converting from and
to linear color space into a single file that is included in all other
files.
2018-03-04 13:21:45 +01:00
asarium 6b654ce38a Handle emissive light properly in nebulas
The emissive part of the lighting was not using the fog values properly
so ships didn't rendered right in nebulas. This fixes that by applying
the standard fog color transform to the emissive part of the scene.
2018-03-04 12:29:01 +01:00
Fabian Woltermann 2cba774a33 Reworks the lighting settings according to the discussion in #1634.
This fixes #1634
2018-03-04 10:25:45 +01:00
Fabian Woltermann 32fec00e97 Remove the MAX_LIGHTS define 2018-03-04 08:55:21 +01:00
niffiwan 66c9baf893 Merge pull request #1626 from asarium/opengl/vertexInterfaceBlocks
Use vertex interface blocks for vertex shader attributes
2018-03-04 10:52:59 +10:00
niffiwan 1c04be91bb Merge pull request #1624 from asarium/cleanup/grFog
Remove gr_set_fog
2018-03-04 10:52:42 +10:00
m!m 6d52cab0a4 Merge pull request #1627 from asarium/fix/lineDrawList
Add a mechanism for batching line draw calls
2018-03-03 22:46:50 +01:00
Samuel Cho aa60a639fb Merge pull request #1633 from The-E/fix/team_colors_washed_out
Add SRGB adjustment to the team colors
2018-03-03 12:25:27 -08:00
asarium dfd9fe7610 Use vertex interface blocks for vertex shader attributes
This is a minor cleanup of how the engine passes vertex attribute data
from one shader stage to the next. The current code uses standalone
attribute variables which require a unique name over the entire shader
program which means that the variable names need to be different when a
geometry shader is used which makes the code more complicated and harder
to understand.
2018-03-03 19:34:18 +01:00
Fabian Woltermann ef0c6b5c78 this should do it 2018-03-03 16:33:00 +01:00
Fabian Woltermann a3f493d8c1 make the code more readable here 2018-03-03 15:16:40 +01:00
Fabian Woltermann b6981875a5 Address some feedback make it all work correctly 2018-03-03 15:04:46 +01:00
Fabian Woltermann 7c1147541d Add SRGB adjustment to the team colors, make the logic less weird. 2018-03-03 11:48:02 +01:00
Karajorma ef6c5d4da7 Still have some old variable names 2018-03-01 20:09:34 +08:00
niffiwan be9a881cb5 Merge pull request #1630 from niffiwan/bsp_opt
add small bsp tree optimisation
2018-03-01 21:45:58 +10:00
Karajorma cb960a3416 Fix the saving for non-eternal variables. 2018-03-01 19:26:41 +08:00
Karajorma 194d944108 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into Feature/EternalVariables 2018-03-01 18:53:03 +08:00
niffiwan 8f2aec3b9a add small bsp tree optimisation
don't add no_collide (& similar) submodels to the bsp trees
this has been in the fotg branch for ages without causing any apparant
issues
2018-03-01 20:00:59 +10:00
MageKing17 78abbf89e6 Merge pull request #1625 from Flip-Sandwich/master
Fixes electronics flag behavior with shockwaves
2018-02-27 19:09:32 -08:00
Fabian Woltermann 4de3451d6c Merge pull request #1628 from The-E/fix/lab-glowpoints
Make glowpoints in the lab work correctly
2018-02-26 12:16:33 +01:00
Fabian Woltermann 8f5f77fa42 Merge pull request #1622 from asarium/opengl/directionalDeferredLights
Use deferred shader for applying directional lights
2018-02-26 11:18:33 +01:00
Fabian Woltermann 354246caf4 Make sure that glowpoints attached to rotating subobjects actually do rotate in the lab 2018-02-26 09:49:13 +01:00
faceman 4797b29311 fixes shockwaves with electronics flagged weapons, properly this time 2018-02-26 15:42:54 +11:00
asarium 2e0253e301 Add a mechanism for batching line draw calls
The previous version used NanoVG which caused quite a serious FPS drop.
This adds a buffer batching class which groups line drawing operations
together and submits them to the GPU with a single draw call.
2018-02-25 19:55:41 +01:00
asarium 0d188fe076 Use deferred shader for applying directional lights
This moves all lighting operations into the deferred shading phase of
the rendering pipeline. Previously, directional lights were applied to
all objects while they were being rendered. This was probably done to
avoid doing multiple full screen passes later but caused some problems
since the color information in the G-buffers was not correct for doing
later lighting operations.

This was especially noticable in dark scenes where point lights would
appear to ignore the color of the rendered objects. This should be fixed
with these changes.

I did some performance testing and to my surprise this actually improves
performance in very demanding scenes. My guess would be that applying
the shadows while rendering the objects caused a lot of overdraw which
is not the case anymore since shadows are only computed for visible
pixels. In simple scenes the opposite happens which leads to decreased
performance in those cases but in my opinion the improvement in
demanding scenes outweights this performance decrease.
2018-02-25 12:43:45 +01:00
asarium c463709399 Remove gr_set_fog
Specifying the fog rendering options is now handled by the materials
system and the implementation of gr_set_fog was pretty much empty so I
removed it.
2018-02-24 19:37:39 +01:00
asarium 25357ce8a2 Allow mods to specify the window icon
This is mostly intended for total conversions to allow them to set
themselves apart from FS2 based mods. It uses the new in-memory
filesystem to support a default icon in case no icon was specified by
the mod.
2018-02-24 18:08:41 +01:00
Karajorma 9ac97f2422 Eternal Variables initial commit - Saving non-eternals on restart or mission quit not working properly. 2018-02-24 17:52:08 +08:00
MageKing17 9953c6a7c4 Merge pull request #1616 from The-E/1615_fix
Do not try to delete opengl buffers when we have no idea what they are
2018-02-23 09:33:20 -08:00
MageKing17 1db36b7ba5 Merge pull request #1619 from The-E/debug_filter_defaults
The extra debug filters really should not be enabled by default.
2018-02-23 09:25:31 -08:00
Fabian Woltermann 77b6648d22 Merge pull request #1613 from asarium/opengl/shaderIncludes
Add support for includes in shader files
2018-02-23 12:58:04 +01:00
Fabian Woltermann 09ca5d3dd6 Merge pull request #1621 from The-E/dockpoint_warning
Print out a warning if we can't find a dockpoint during missionparse
2018-02-21 08:36:35 +01:00
Fabian Woltermann 942f72d09a Print out a warning if we can't find either dockpoint 2018-02-20 16:47:02 +01:00
Fabian Woltermann ee27db60de The extra debug filters really should not be enabled by default. 2018-02-20 11:54:23 +01:00
MageKing17 66c0d27270 Merge pull request #1618 from MageKing17/bugfix/ai-profiles-parsing-end
Make AI profile tables actually stop parsing if #End is missing.
2018-02-18 15:10:44 -08:00
m!m 206364a113 Merge pull request #1617 from The-E/missile_lighting_no_export
Do not export -missile_lighting to launchers
2018-02-18 23:14:05 +01:00
MageKing17 ac9547d610 Make AI profile tables actually stop parsing if #End is missing.
By making parse_ai_profiles_tbl() actually check the return value of skip_to_start_of_string_either() (and break if the appropriate characters aren't found), AI profile tables should no longer keep parsing past the end of the file and into invalid memory, until they either find an "#End" in memory somewhere or just plain crash.

As a pleasant bonus, a missing "#End" should now generate an appropriate error message.
2018-02-18 13:13:18 -08:00
Fabian Woltermann 6534c0a3f6 Remove the -missile_lighting flag from the list of exported cmdline options 2018-02-18 22:12:29 +01:00
Fabian Woltermann cdeeee688d Merge pull request #1605 from Flip-Sandwich/subsysdamagefix
Negative damages no longer heal subsystems
2018-02-18 21:01:57 +01:00
Fabian Woltermann 8b5f257d0d Merge pull request #1614 from asarium/feature/luaLanguageFunctions
Add lua functions for accessing the current engine language
2018-02-18 20:59:23 +01:00
Fabian Woltermann b2652e0628 While working through the atexit table, this function somehow got called, leading to the debug_filter.cfg being altered, as explained in #1615 2018-02-18 19:55:44 +01:00
asarium 2eea0a6eb1 Add lua functions for accessing the current engine language
This can be used by scripts to implement language specific behavior.
2018-02-18 17:12:17 +01:00
m!m 67c67548fd Merge pull request #1611 from The-E/smooth_lab_cam
Make the lab's camera smoother
2018-02-18 16:05:33 +01:00
m!m 12e45e88fa Merge pull request #1612 from The-E/LabHelpText
Print a helpful reminder about the camera controls
2018-02-18 00:01:25 +01:00
Fabian Woltermann e2129355bf Remove the bloom printout, add a camera distance printout 2018-02-17 21:00:47 +01:00
m!m 857582a980 Merge pull request #1608 from The-E/LightTypeEnum
Use an enum class to mark light types
2018-02-17 19:24:51 +01:00
asarium c4dd593dd7 Move lighing functions into one file
There was a slight difference between the GGX function from the main
shader and the deferred shader. The deferred shader didn't use the
fresnel value stored in the G-buffer for some reason.
2018-02-17 19:07:26 +01:00
asarium 30404d4b04 Move shadow functions into separate shader file 2018-02-17 19:02:02 +01:00
asarium c8e3e01ca0 Add support for includes in shader files
This can be used for keeping code for common functionality in one file
(e.g. lighting functions). The code which detects include statements is
pretty simple so it may break if it is used in a more complicated.
Circular includes are detected and treated as an error.
2018-02-17 18:59:11 +01:00
Fabian Woltermann 16ed58f403 Print a helpful reminder about the camera controls 2018-02-17 16:25:15 +01:00
Fabian Woltermann 5ac2571efa Clamp the lab camera's phi component to [0.01, 3.13] to avoid locking issues 2018-02-17 11:56:26 +01:00
Fabian Woltermann 7dfa5b5739 move this variable initialization out of the switch statement 2018-02-17 10:46:59 +01:00
m!m 0178374b98 Merge pull request #1606 from The-E/NewLab
Use mission backgrounds in the F3 lab
2018-02-16 11:26:51 +01:00
Fabian Woltermann 738e4a8153 Remove unused variable 2018-02-16 09:49:11 +01:00
Fabian Woltermann 1a4181fb67 Merge pull request #1609 from Flip-Sandwich/master
Fixes beam behaviour with additive/cap/etc damage types
2018-02-16 09:47:32 +01:00
faceman 85c2b3a7f0 Removes a magic number from ship.cpp 2018-02-16 16:08:45 +11:00
faceman 508b8a176b Fixes beam behaviour with additive/cap/etc damage types 2018-02-16 15:12:25 +11:00
Fabian Woltermann ca313ae17f Addressing CI issues 2018-02-15 14:41:14 +01:00
Fabian Woltermann 87bb2cbcc7 Remove debris rendering for now 2018-02-15 14:19:59 +01:00
Fabian Woltermann 9e673ff7fe light_reset needs to be called on every frame.
this also adds a trace scope to sunspot processing
2018-02-15 11:09:53 +01:00
Fabian Woltermann 126b6718db Reset the background window when it's closed 2018-02-15 11:01:34 +01:00
Fabian Woltermann b0fc182fab Fix crash when switching between weapons and ships 2018-02-15 10:44:45 +01:00
Fabian Woltermann 158292afba We can't show tech or external models yet 2018-02-15 10:35:25 +01:00
Fabian Woltermann e334c1f736 Specify all values explicitly 2018-02-15 10:21:13 +01:00
Fabian Woltermann f6fa053d94 Addressing feedback 2018-02-15 10:17:32 +01:00
Fabian Woltermann 4e24fba7fa Make sure the index is always incremented 2018-02-15 10:09:37 +01:00
Fabian Woltermann 0ea638f520 Fix an uninitialized variable being stuffed into a vector 2018-02-15 10:05:46 +01:00
Fabian Woltermann d75ec93484 Merge pull request #1604 from Flip-Sandwich/master
Consistent beam damage per frame regardless of time acceleration
2018-02-14 20:11:18 +01:00
Fabian Woltermann 468a9f280a Merge pull request #1607 from asarium/fix/aiProfilesWarning
Don't include the default ai_profiles system in CFile
2018-02-14 20:10:15 +01:00
Fabian Woltermann 69f4fa60f5 Remove unused variables 2018-02-14 17:10:26 +01:00
Fabian Woltermann 95ed536225 change the light type to an enum class 2018-02-14 17:07:42 +01:00
asarium 96d3eebad9 Don't include the default ai_profiles system in CFile
This fixes a warning caused by parsing the default ai_profiles table
twice. The default table was moved out of the data/tables folder and
into a special builtin category which will not be included in CFile.
2018-02-14 16:45:04 +01:00
Fabian Woltermann 3b21b2469f A clean, up-to-date patch of the new lab code 2018-02-14 16:19:38 +01:00
Fabian Woltermann cbe1d20fcc Merge pull request #1310 from asarium/feature/inMemoryCfile
Add support for accessing default files with CFile
2018-02-14 11:45:34 +01:00
m!m 3d3bbb5dc4 Merge pull request #1602 from The-E/RadarRangeWarning
Downgrade the invalid radar range error in the plr reader code to a warning
2018-02-14 11:12:34 +01:00
asarium 4c5b1c679b Add support for accessing default files with CFile
This allows to use more complex file structures in the executable
without requiring that those exist as real files. The rest of the code
does not need to handle the difference between a default file and a real
file anymore which means that it's now possible to embed image files
into the executable since bmpman only needs to use the standard CFile
API.

I added two tests which check if the default file can be found and
opened and if a mod file overrides the default file which should always
be possible.
2018-02-14 11:02:59 +01:00
faceman 65941e2e84 forgot to specify that 0.0f is indeed a float 2018-02-14 11:04:54 +11:00
faceman 538adf1bf6 Negative damages should not heal subsystems IMO 2018-02-14 11:00:34 +11:00
faceman a6d8b6b5fa Consistent beam damage per frame regardless of time acceleration 2018-02-14 10:41:49 +11:00
Fabian Woltermann 7fb5f08530 Merge pull request #1603 from asarium/fix/shipSoundGhostCrash
Fix assertion failure in ship_get_sound
2018-02-13 09:42:39 +01:00
asarium ffad093153 Fix assertion failure in ship_get_sound
This assertion could be hit if the player died and the engine tried to
play a sound for the now destroyed ship. Since the existing code already
had a check for the case that the object is an observer I just added
another case for OBJ_GHOST.
2018-02-12 19:46:25 +01:00
Fabian Woltermann 6a73d8f9d0 Having an invalid radar range in the pilot file should not be a fatal error. 2018-02-12 12:08:13 +01:00
m!m a0a88128ef Merge pull request #1599 from The-E/DirectionalLightFix
Make sure directional lights are always rendered
2018-02-12 11:40:05 +01:00
Fabian Woltermann 6fad19c8bc More changes requested by CI 2018-02-12 10:40:56 +01:00
Fabian Woltermann 119b5d662b Addressing feedback and CI issues 2018-02-12 08:57:39 +01:00
Fabian Woltermann 0b612c2f1a Remove an unused #define 2018-02-10 14:20:45 +01:00
Fabian Woltermann 8aee62b818 Make sure directional lights are always rendered; this kinda spiralled out into a bit of general cleanup regarding the lighting code. 2018-02-10 14:09:32 +01:00
m!m 1314b8634a Merge pull request #1597 from asarium/fix/int_list_warning
Fix off-by-one error in stuff_int_list
2018-02-10 12:12:59 +01:00
asarium b557985e90 Fix off-by-one error in stuff_int_list 2018-02-10 10:54:12 +01:00
Fabian Woltermann 4f43a2edf3 Merge pull request #1594 from The-E/MissileLightingdefault
Remove the -missile_lighting commandline parameter
2018-02-09 09:35:16 +01:00
m!m 6083c89b45 Merge pull request #1596 from asarium/fix/parse_int_list_errors
Improve error messages in stuff_int_list
2018-02-08 21:57:15 +01:00
asarium eefba9159a Improve error messages in stuff_int_list
This also converts an assertion into a proper error message which would
contain the actual file and line number.
2018-02-08 19:48:10 +01:00
m!m 8fed2fcfe3 Merge pull request #1590 from The-E/OGLDebugMessageSpamFix
Reduce the amount of Debug message spam due to non-fatal OGL warnings
2018-02-08 19:12:06 +01:00
Fabian Woltermann d149dd18b5 Use correct bit math operator 2018-02-07 15:32:37 +01:00
Fabian Woltermann a7d624f82d Add -missile_lighting to the deprecated flags 2018-02-06 16:38:52 +01:00
m!m aaab3fa03b Merge pull request #1589 from The-E/DebugFilterFix
Fix for debug_filters defaulting to +Parse
2018-02-06 14:20:41 +01:00
Fabian Woltermann 0d51cb0d14 Merge branch 'MissileLightingdefault' of https://github.com/The-E/fs2open.github.com into MissileLightingdefault 2018-02-05 16:21:55 +01:00
Fabian Woltermann 1c56d9f497 Remove the -missile_lighting commandline parameter 2018-02-05 16:18:15 +01:00
Fabian Woltermann dfc8cd1168 Remove the -missile_lighting commandline parameter 2018-02-05 16:16:55 +01:00
Fabian Woltermann ccaa766474 Merge pull request #1486 from asarium/opengl/combinedVertexBuffers
Pack vertex and index data into one buffer
2018-02-04 16:16:45 +01:00
Fabian Woltermann 741c28d785 Merge pull request #1565 from asarium/ci/gcc7
Add GCC 7 configuration for Travis CI
2018-02-04 16:15:25 +01:00
Fabian Woltermann d73a21a579 Fix variable shadowing warning 2018-02-03 23:02:19 +01:00
Fabian Woltermann 5b8f4343a3 Since OGL debug messages are only useful for coders, most of the time, we shouldn't print them to the general log unless they're actually critical 2018-02-03 22:58:43 +01:00
Fabian Woltermann 310785a961 Somehow, this loop to search for an existing debug filter did not work correctly anymore? 2018-02-03 22:38:53 +01:00
Fabian Woltermann 9029aad64d Merge pull request #1586 from asarium/fix/1579_workaround
Add a workaround for clipping planes on NVIDIA
2018-01-30 20:58:07 +01:00
asarium acc018507b Pack vertex and index data into one buffer
This changes the model loading code such that all index and vertex data
is packed in a single GPU buffer for each data type (index and vertex
data are still in separate buffers). This reduces the amount of buffer
rebinding needed when rendering a scene which will reduce the CPU
overhead. Furthermore, this opens up possibilities of future
improvements for which it is beneficial if all data is in the same
buffer (e.g. MultiDrawIndirect rendering).

To manage where to put the data in the GPU buffer I implemented a
custom HeapAllocator which manages where data can be put. It uses a very
primitive first-fit algorithm but that is sufficient for this usage
type. This does add quite a lot of overhead while allocating GPU model
data (I did some tracing and some allocation calls took as long as
130ms).

This fixes #1457.
2018-01-27 13:54:36 +01:00
asarium 25698b4534 Add a workaround for clipping planes on NVIDIA 2018-01-27 13:40:04 +01:00
Fabian Woltermann a2f6897c43 Merge pull request #1581 from asarium/feature/luaVersionCheck
Add lua function for checking the engine version
2018-01-26 17:05:24 +01:00
Fabian Woltermann 0777f24f08 Merge pull request #1583 from The-E/JumpnodeNameAssertion
Improve the JumpNode::SetName assertion to be readable by non-coders
2018-01-22 10:28:11 +01:00
Fabian Woltermann ed45baa843 Improve the JumpNode::SetName assertion to be readable by non-coders 2018-01-21 23:38:58 +01:00
m!m 13ff2ec907 Merge pull request #1582 from asarium/fix/nanovgPerformance
Add simple NanoVG draw buffer for better performance
2018-01-20 20:51:49 +01:00
asarium e795327a3f Add simple NanoVG draw buffer for better performance
This improves the rendering performance of the target hotkey brackets a
bit which caused a significant slowdown previously.
2018-01-20 18:32:39 +01:00
asarium 3c238d61e2 Add lua function for checking the engine version
This can be used to check if an API function is available in the current
version of the engine without causing runtime errors.
2018-01-20 16:37:31 +01:00
m!m 2d3e7e54e8 Merge pull request #1534 from asarium/fix/fs2netdSigbus
Fix SIGBUS crash in fs2netd
2018-01-18 16:14:54 +01:00
Tyler Blount 8ba05c1c3d Merge pull request #1578 from SamuelCho/reflection_blur_fix
Fix gloss-dependent blurred reflections
2018-01-16 09:01:54 -07:00
Tyler Blount 277962974c Merge pull request #1576 from SamuelCho/specularFixes
Specular lighting shader fixes
2018-01-15 23:17:40 -07:00
SamuelCho eab5b8b40a Allocate additional immutable storage for glGenerateMipMap when generating cube map mip levels if there's only one level 2018-01-15 22:15:04 -08:00
SamuelCho 842554e237 Flipped specular minimum floor to be done before gamma correction. Adjusted minimum specular value to 0.03 from 0.04 since that's Substance Painter's minimum. Brought back fresnel factor from the Blinn Phong function since that's needed for retail models. 2018-01-15 13:47:48 -08:00
Fabian Woltermann 563dc35dea Merge pull request #1575 from ngld/fix/setSubspaceDrive
Fix set-subspace-drive on debug builds and make the sexp_val Assert more helpful
2018-01-14 11:21:16 +01:00
ngld 3fc6958f88 Fix set-subspace-drive on debug builds and make this Assert more helpful 2018-01-14 02:48:11 +01:00
Fabian Woltermann a886a1659c Merge pull request #1574 from asarium/opengl/decalSystem
Add screen space decal rendering system
2018-01-13 14:36:36 +01:00
asarium 99f69c903e Add screen space decal rendering system
This allows to render screen space decals into the deferred lighting
buffers no matter how complex the underlying geometry is.

Currently there is only limited support for using this in the engine.
Only weapon impact decals are supported at the moment for testing
purposes.
2018-01-12 17:09:49 +01:00
m!m 830fd70f9e Merge pull request #1573 from SamuelCho/ggx
Replaced Blinn-Phong BRDF with GGX BRDF
2018-01-12 09:49:54 +01:00
m!m c4ff34970f Merge pull request #1572 from MageKing17/bugfix/unicode-distance
Correct backwards arguments in unicode::num_codepoints().
2018-01-12 09:31:52 +01:00
SamuelCho f216b8bf7f Replaced Blinn-Phong BRDF with GGX BRDF 2018-01-11 22:25:43 -08:00
MageKing17 0ec2c7fef0 Correct backwards arguments in unicode::num_codepoints().
When Unicode_text_mode was false, unicode::num_codepoints() would return (the size_t equivalent of) a negative number, because it was checking the distance from end to start instead of the distance from start to end.
2018-01-11 20:40:42 -08:00
MageKing17 1f70fb2bf2 Merge pull request #1570 from niffiwan/fix/default_volumes_pilot_create
set default volumes on pilot create
2018-01-11 10:57:52 -08:00
niffiwan 304a6a3a0d define the defaults volumes correctly 2018-01-11 19:56:12 +10:00
m!m ec6bea233b Merge pull request #1569 from chief1983/lib/sdl207
Upgrade the included SDL libs to 2.0.7.
2018-01-11 10:28:58 +01:00
niffiwan 9e495d7f94 set default volumes on pilot create
previously newly created pilots inherited the volumes from the last
pilot
2018-01-11 12:08:28 +10:00
Cliff Gordon 0344fd6e35 lib/sdl207: Also update the hash to use the new SCP Prebuilt lib version. 2018-01-10 10:02:58 -06:00
Cliff b8b7d41786 lib/sdl207: Upgrade the included SDL libs to 2.0.7. 2018-01-09 19:43:52 -06:00
asarium 3410822d9d Add GCC 7 build configuration for Travis CI
There are a few new warnings in GCC7 so this makes sure that no warning
gets missed by our CI setup. The new configuration should be updated to
the newest GCC version whenever possible.
2018-01-09 10:36:33 +01:00
MageKing17 aea63832ed Merge pull request #1568 from asarium/fix/1561
Reset loaded ship object when closing the F3 lab
2018-01-07 15:45:54 -08:00
MageKing17 1ee1886a9a Merge pull request #1567 from asarium/feature/wingLuaParameter
Add support for passing various parameter types to Lua SEXPs
2018-01-07 15:45:27 -08:00
MageKing17 c0a8ceb48f Merge pull request #1566 from asarium/fix/invalidSexpException
Fix game crash when a lua SEXP is not initialized properly
2018-01-07 15:44:46 -08:00
MageKing17 6bdbbd5c40 Merge pull request #1564 from asarium/build/cleanupOpenALLibs
Remove unnecessary OpenAL binaries in main repository
2018-01-07 15:42:13 -08:00
MageKing17 c66839a9bf Merge pull request #1562 from asarium/fix/readyroomCrash
Reset campaign room text pointers when freeing campaign data
2018-01-07 15:39:26 -08:00
asarium 40ba3162dc Reset loaded ship object when closing the F3 lab
The crash described in #1561 was caused by a NULL ai profile. The
profile was not set because the lab system already had a loaded ship
object (see line 2230). These changes make sure that the loaded ship
object is deleted before closing the lab system which ensures that the
ai profile is set the next time the lab is initialized.

This fixes #1561.
2018-01-07 14:31:42 +01:00
asarium e81547ae88 Add support for weapon class SEXP parameters 2018-01-07 12:26:33 +01:00
asarium 7577018bd3 Add support for ship class SEXP parameters 2018-01-07 12:24:18 +01:00
asarium 2181512949 Add support for passing wing parameters to Lua SEXPs
This was requested by Axem on Discord.
2018-01-06 19:28:45 +01:00
asarium dff5e4c21d Fix game crash when a lua SEXP is not initialized properly
These changes make sure that this situation is detected properly and an
informative error message is shown.
2018-01-06 19:11:48 +01:00
Fabian Woltermann d7ea260607 Merge pull request #1546 from asarium/fix/wrongMemset
Fix two minor issues detected by GCC7 warnings
2018-01-05 14:53:51 +01:00
m!m 7f7ed74bd6 Merge pull request #1563 from asarium/feature/hudTracingScopes
Add tracing scopes for HUD rendering
2018-01-05 12:30:10 +01:00
m!m 0df6c22216 Merge pull request #1547 from asarium/build/ccache
Enable ccache when available
2018-01-05 12:20:30 +01:00
asarium e8ab065bde Remove unnecessary OpenAL binaries in main repository
This is now handled by the prebuilt packages and not needed anymore.
2018-01-05 12:16:18 +01:00
asarium f79b83c60b Enable ccache when available
This will automatically enable ccache when it is detected on the system
and use it for faster compilations.
2018-01-04 20:52:03 +01:00
Fabian Woltermann 3ab6e43254 Merge pull request #1558 from The-E/revert_1555
Revert changes from #1555
2018-01-04 20:24:08 +01:00
asarium abbef793fc Add tracing scopes for HUD rendering
While debugging a performance issue reported on Discord I noticed that
the HUD rendering code does not have any tracing scopes. This adds a few
tracing scopes to that code to make performance debugging a bit easier.
2018-01-04 20:19:10 +01:00
m!m bd85f61971 Merge pull request #1560 from The-E/fix_1559
Sanity checking in maybe_play_flyby_snd
2018-01-04 16:23:29 +01:00
asarium 47967cb72a Reset campaign room text pointers when freeing campaign data
Previously the campaign room caused a heap-use-after-free error
(detected by AddressSanitizer) when loading the campaign failed two
times. This fixes the error by resetting the text pointers to their
default values when freeing the campaign list data.
2018-01-04 14:41:42 +01:00
Fabian Woltermann 7f56037369 Fully revert this 2018-01-04 13:39:16 +01:00
Fabian Woltermann 659828c213 If no flyby sounds are defined for a species, do not attempt to play any. 2018-01-04 11:10:06 +01:00
Fabian Woltermann 2c4884595e Revert changes from #1555 2018-01-04 10:47:57 +01:00
Fabian Woltermann 1621bd169b Merge pull request #1556 from asarium/fix/1554
Make sure updating a texture uses the right texture unit
2018-01-04 09:16:08 +01:00
Fabian Woltermann c496a08ab1 Merge pull request #1557 from asarium/fix/1555
Use correct attachment for depth/stencil buffer
2018-01-03 19:46:38 +01:00
m!m 012e37afb9 Merge pull request #10 from The-E/fix/1555
This seems to stop the flood.
2018-01-03 18:37:59 +01:00
Fabian Woltermann 4fc1183622 If we change the depth and stencil attachments in one place, we need to change them in all places. 2018-01-03 16:09:22 +01:00
asarium 1eaa67bb5b Use correct attachment for depth/stencil buffer
This should be the correct way to set the combined depth/stencil buffer.
This has not been tested yet since I do not have a GPU which causes
these issues.

This fixes #1555.
2018-01-03 13:45:43 +01:00
asarium bf74f29634 Make sure updating a texture uses the right texture unit
The normally faster version that was used before misbehaved if that
texture unit already used the specified texture object which caused the
glTexSubImage3D to cause out of bounds issues some times.

This fixes #1554.
2018-01-03 13:33:03 +01:00
m!m 6159e13162 Merge pull request #1551 from asarium/feature/messageSexpParameters
Add ability for passing messages to scripted SEXPs
2018-01-03 11:52:05 +01:00
asarium 1bd09a91d3 Add ability for passing messages to scripted SEXPs 2018-01-01 19:40:35 +01:00
MageKing17 8cf0e8eb1d Merge pull request #1550 from chief1983/fix/1541_mac_chdir
Only change directory on MacOS when parent process path is /sbin/launchd.
2017-12-30 17:16:51 -08:00
chief1983 2dcb75057c fix/1541_mac_chdir: Only change directory on MacOS when parent process path is /sbin/launchd. 2017-12-30 16:39:34 -06:00
asarium d95f173f26 Fix another sprintf warning of GCC7 2017-12-28 10:52:56 +01:00
asarium 47b21f6792 Fix wrong usage of memset
This caused a warning in GCC7 which is fixed by this. This will also
initialize the array properly since the previous version may not have
worked correctly even if the entire array woudld have been written (on
all supported platform it would have worked since repeating -1 on all 4
bytes of an int will still produce -1).
2017-12-28 10:50:10 +01:00
m!m 5ec8896c4a Merge pull request #1545 from ngld/fix/waveFileMissing
Log a proper error message if WaveFile::Open tries to load a missing file
2017-12-28 10:26:10 +01:00
ngld 560b49158b Log a proper error message if WaveFile::Open tries to load a missing file 2017-12-28 00:33:16 +01:00
Fabian Woltermann c109dc6aca Merge pull request #1539 from asarium/fix/shipSexpParamters
Pass ship variables as actual handles to scripts
2017-12-25 17:40:30 +01:00
m!m 581e5b0242 Merge pull request #1543 from asarium/fix/unicodeSpeech
Convert speech text properly to wide string
2017-12-24 12:44:15 +01:00
asarium ace3fc619e Convert speech text properly to wide string
The previous code could only handle ASCII data correctly but this new
code is also able to handle UTF-8 data correctly by using the Windows
API function MultiByteToWideChar. Since the conversion only happens in
Windows-only code this is not a portability issue.

This fixes an issue reported on the forums where non-ASCII text was not
spoken correctly by the TTS system.
2017-12-23 20:30:55 +01:00
m!m 7d418d50ce Merge pull request #1542 from devnexen/ffmpeg_decoder_fix
this codec layer handling not present but only from a certain version.
2017-12-23 13:10:07 +01:00
David Carlier ebd24341d4 this codec layer handling not present but only from a certain version. 2017-12-23 08:49:52 +00:00
z64555 ef0381d29f Extends the existing parse pausing system (used by bmpman) to use a bookmark stack. 2017-12-22 03:25:40 -06:00
asarium e8c80dbefc Pass ship variables as actual handles to scripts
This was requested by Axem on the forums.
2017-12-22 09:26:24 +01:00
m!m 68e19a19c5 Merge pull request #1331 from asarium/feature/scriptedSEXPs
Add ability to dynamically add new SEXPs at runtime
2017-12-20 12:41:05 +01:00
asarium f780d9e22a Add ability to dynamically add new SEXPs at runtime
This add a system for adding generic instances of the DynamicSEXP class
to the SEXP system. The only implementation at the moment is the LuaSEXP
which is used by the mn.addSEXP lua API to allow Lua to add new SEXPs.

Since this requires that FRED also runs lua scripts I added a mod table
option to enable scripting in FRED. Since the current scripts are not
built with FRED in mind it would likely break all these scripts if FRED
would be opened with normal scripting enabled.

This fixes #1320.
2017-12-20 10:45:40 +01:00
m!m c5117cf55e Merge pull request #1538 from TRBlount/fix/apply_recoil
Remove second instance of apply recoil flag in Weapon_Info_Flags
2017-12-20 10:28:32 +01:00
TRBlount f9704ebd89 Remove second instance of apply recoil flag in Weapon_Info_Flags 2017-12-19 12:41:53 -07:00
Fabian Woltermann eb738b3ef7 Merge pull request #1518 from asarium/fix/additionalFFmpegLogging
Add additional logging output for FFmpeg library version
2017-12-18 21:31:29 +01:00
Fabian Woltermann f04debfb36 Merge pull request #1537 from asarium/fix/parsingCrash
Fix some FRED issues
2017-12-18 21:30:47 +01:00
asarium aa8fb89a17 Fix unreadable FRED tooltip
I forgot to set the alpha blend mode in the NanoVG changes which meant
that the code used additive blending by default which is not good if the
color in use is black. This sets the blend mode to the value that
corresponds to the values used by the NanoVG reference code.
2017-12-18 19:04:36 +01:00
asarium 44e5f89e41 Fix crash in parsing code
The `nullptr` check was removed by mistake.
2017-12-18 18:28:49 +01:00
Fabian Woltermann fee0b900de Merge pull request #1489 from asarium/opengl/betterModelClipping
Use built-in OpenGL clipping planes for model transforms
2017-12-16 10:43:01 +01:00
Fabian Woltermann 6b209223ee Merge pull request #1531 from asarium/build/bundleOpenAL
Include OpenAL Soft DLLs as part of the build
2017-12-16 10:42:30 +01:00
Fabian Woltermann cb06c73b6a Merge pull request #1527 from asarium/feature/scriptedXSTRs
Add support for translating strings in scripts
2017-12-16 10:33:48 +01:00
Fabian Woltermann 7ab8a96903 Merge pull request #1526 from asarium/feature/xstrStringVars
Add support for setting string variables from a XSTR
2017-12-16 10:33:06 +01:00
Fabian Woltermann a58376404d Merge pull request #1523 from asarium/feature/movieSubtitles
Add localized subtitle support to the video player
2017-12-16 10:32:31 +01:00
Fabian Woltermann cfe89f411b Merge pull request #1535 from chief1983/always_preload_snd
Always Preload Game Sounds
2017-12-11 19:34:57 +01:00
m!m 91c9417d3e Merge pull request #1424 from chief1983/fix/470_attempt_2
Fix for #470: Proposal 2
2017-12-11 00:05:45 +01:00
Cliff f37c519b79 always_preload_snd: Is there ever a good reason not to preload mission sounds at this point? 2017-12-10 13:18:58 -06:00
Cliff Gordon 4dd194f4d6 fix/470_attempt_2: One more thing missing. 2017-12-10 13:16:42 -06:00
Cliff Gordon b38367b22f fix/470_attempt_2: Some more cleanup from this being copied from a set of functions and structs. 2017-12-10 13:16:42 -06:00
Cliff Gordon 72517ff9a2 fix/470_attempt_2: I should probably read my examples closer. Just make these local variables since I didn't bring in the struct from the example as it was overkill for us. 2017-12-10 13:16:42 -06:00
Cliff Gordon c3e212094e fix/470_attempt_2: Try to fix SIGPIPE crash using Kroki's example. 2017-12-10 13:16:42 -06:00
asarium 5f7721f300 Fix SIGBUS crash in fs2netd
This was reported by chief1983 on Discord. The standalone server crashed
with a SIGBUS error caused by an invalid socket file handle in
FS2NetD_DataReady(). This should fix that by adding additional checks
where necessary to make sure that our socket is valid when the socket
functions are used.
2017-12-10 19:42:56 +01:00
Fabian Woltermann 9e9378dcb6 Merge pull request #1533 from asarium/fix/jpegInterfaceCrash
Fix crash when using JPEGs as interface bitmaps
2017-12-10 18:39:03 +01:00
asarium 9b9041513d Fix crash when using JPEGs as interface bitmaps 2017-12-10 13:29:16 +01:00
Fabian Woltermann 51aac78080 Merge pull request #1529 from asarium/cleanup/noParseEofChar
Replace the special EOF char value with a standard null byte
2017-12-10 12:39:56 +01:00
m!m 3dd21f6cb6 Merge pull request #1532 from z64555/fix/mpshield_hits
Moves player control check for modelpoint shields into…
2017-12-10 12:22:01 +01:00
z64555 a42b27c0b8 Moves player control check for modelpoint shields into hud_augment_shield_quadrant(). AI ships can now use shield_transfer() on quadrant indices larger than 3. 2017-12-08 15:01:10 -06:00
asarium ca73920b8e Replace the special EOF char value with a standard null byte
This was an issue since UTF-8 encoded text can contain -128 as part of
an encoding sequence which causes a lot of issues for the parsing code.
I could not find any indication why the original code didn't use null
bytes from the start and I also couldn't find any code that would break
because of this. If anyone knows why this was done like this please let
me know.
2017-12-07 14:42:01 +01:00
asarium 17374106d1 Include OpenAL Soft DLLs as part of the build
This will remove the dependency on a system version of OpenAL and also
enable the advanced sound code for everyone. This removes the ability to
use a custom OpenAL version but removing the only system dependency we
currently have is worth a lot more than being able to use a custom
OpenAL version.
2017-12-06 10:42:02 +01:00
asarium 6da5302d34 Add localized subtitle support to the video player
This adds support for displaying subtitles embedded in movie files. This
supports files with multiple subtitle streams where each stream contains
the subtitles for one language. When the movie file is opened, the
stream for the currently active language will be used and displayed.

This resolves one of the points mentioned in #1522.

This also depends on PR #1484.
2017-12-05 12:04:13 +01:00
asarium d0a1efacb8 Improve video player API
This moves all the cutscene specific code out of the movie player code
and into the cutscene code so that the movie player can be reused for
usage in other environments.

This is required for #1041 since an implementation of that feature would
reuse the movie player code of the cutscene code but without all the
main loop stuff.
2017-12-05 12:01:50 +01:00
MageKing17 8168099eac Merge pull request #1530 from asarium/fix/fredSpheres
Fix usage of wrong buffer handles in opengl_draw_sphere()
2017-12-05 00:56:31 -08:00
asarium ae943503cb Fix usage of wrong buffer handles in opengl_draw_sphere()
This fixes another issue reported by Trivial Psychic on the forums.
2017-12-04 18:06:37 +01:00
asarium 4368db845d Add support for setting string variables from a XSTR
This allows to set string variables to localized values which will make
translating missions much easier.

This resolves one of the points mentioned in #1522.
2017-12-04 13:12:30 +01:00
m!m c25163e265 Merge pull request #1528 from asarium/fix/labGhosting
Enable all color channels before doing a clear
2017-12-04 12:58:17 +01:00
asarium 4bf9277c10 Enable all color channels before doing a clear
If the previous rendering operation left the color mask in any other
state than completely enabled then the clear will only affect the
enabled channels. This makes sure that all channels are enabled before
doing the clear.

This fixes an issue reported on the forums:
https://www.hard-light.net/forums/index.php?topic=94200.msg1859118#msg1859118
2017-12-04 11:56:47 +01:00
asarium 0bcdf19851 Add mission load screen scripting hook
This also includes a scripting function for retrieving the title of the
current mission.

This resolves point 4 of #1522.
2017-12-03 18:51:06 +01:00
asarium c4095d1af1 Add support for translating strings in scripts
This allows to use the XSTR mechanism in script to make translating
script text possible. This is compatible with the existing XSTR format
so automatic tstrings.tbl generator tools should work fine with this.

This resolves point 2 of #1522.
2017-12-03 18:51:06 +01:00
MageKing17 5d8f779cff Merge pull request #1416 from asarium/feature/onlyUnicode
Add true Unicode support
2017-12-03 09:32:04 -08:00
m!m 6f2592e733 Merge pull request #1525 from asarium/fix/disappearingShipSelection
Add a few graphics debug scropes to the ship selection
2017-12-02 22:20:01 +01:00
asarium 528a43952e Add a few graphics debug scropes to the ship selection
I added these while investigating the issue which was fixed in the
last commit and more debug scopes are always useful.
2017-12-02 19:34:36 +01:00
m!m 62d1f1978b Merge pull request #1475 from asarium/opengl/genericNanoVG
Add a NanoVG renderer using the generic rendering API
2017-12-02 19:34:01 +01:00
asarium b9b556c7a5 Add a NanoVG renderer using the generic rendering API
One of the main points of contention when adding the NanoVG based
TrueType text rendering was that it required an external Opengl
renderer which may interfere with our rendering engine by changing
OpenGL state without telling the rest of the engine. Since the rendering
interface for NanoVG is abstract and can be easily replaced, I did just
that and replaced it with an implementation that uses only generic
graphics functions without relying on the specific graphics API.

This will improve the interoperability of NanoVG with our engine and
should make later changes to the rendering engine easier since there is
no external rendering code which may interfere with our own code.
2017-12-02 18:31:00 +01:00
m!m 16b0db8eb9 Merge pull request #1524 from asarium/fix/3dSoundWarning
Only display 3D sound warnings for mods with 3.8.0 support
2017-12-02 17:20:43 +01:00
asarium 2c36ea35b4 Only display 3D sound warnings for mods with 3.8.0 support
This was an issue since a lot of mods used wrong sounds and after the
FFmpeg changes the code would display a warning for those sounds by
default. This will restore the old behavior of printing the warning to
the log where it is easier to ignore if the mod does not explicitly
support 3.8.0.
2017-12-01 12:06:23 +01:00
asarium 43e540cc4c Add true Unicode support
This adds proper Unicode support by allowing the parse system to read
UTF-8 encoded files. The new mode is controlled by a mod option which
allows older mods to continue using the legacy text encoding.

That option changes the behavior of several systems in FSO. It disallows
the usage of Volition fonts since they don't support Unicode encoding
and changes a few usages of special characters to their unicode
counterparts of generic rendering solutions.

This fixes #1415.
2017-11-30 13:26:20 +01:00
Fabian Woltermann 67627bd786 Merge pull request #1490 from asarium/opengl/vertexAttribBinding
Use OpenGL vertex array objects for better performance
2017-11-30 12:57:39 +01:00
m!m ea0c4b7b78 Merge pull request #1519 from asarium/build/fixAppimageLibraryPath
Fix LD_LIBRARY_PATH value in AppImage runs
2017-11-23 15:07:27 +01:00
Fabian Woltermann 29e56bb19a Merge pull request #1520 from asarium/fix/randomRangeWrongField
Fix wrong field usage in RandomRange
2017-11-23 15:05:13 +01:00
asarium 57da3e1ef6 Fix wrong field usage in RandomeRange 2017-11-23 12:53:30 +01:00
asarium 16ac19946f Fix LD_LIBRARY_PATH value in AppImage runs
The previous version used PATH instead of LD_LIBRARY_PATH which may have
caused some issues if the system is configured in a way that depends on
the value of LD_LIBRARY_PATH. It also broke launchers that tried to fix
library issues by changing LD_LIBRARY_PATH.
2017-11-22 11:31:04 +01:00
asarium e319b6f941 Use built-in OpenGL clipping planes for model transforms
This changes the batched transform code so that instead of using discard
in the fragment shader it uses the built-in clipping capabilities of
OpenGL for removing invisible sub models. This improves performance in
GPU-limited scenes by ~1ms if shadows are enabled.
2017-11-22 10:32:20 +01:00
asarium 8c88b68327 Use OpenGL vertex array objects for better performance
The original OpenGL Core changes only used a single vertex array object
for specifying the data layout of our vertex data. This uses the OpenGL
extension GL_ARB_vertex_attrib_binding to extend that so that each
vertex_layout uses a separate vertex array object which should improve
performance by reducing the CPU overhead while switching the vertex
layout. Since we need to use offsets into the vertex buffers at some
points this can not be done with the core functions since those do not
support specifying an offset when binding a vertex buffer.
GL_ARB_vertex_attrib_binding does support that and also features an
improved API for specifying the vertex layout. If that extension is not
available then the rendering engine will fall back to the current code.

In CPU intensive scenes I observed a frametime improvement of 1-2 ms.
2017-11-21 12:02:10 +01:00
asarium e75ed62692 Add additional logging output for FFmpeg library version
I had to debug some ffmpeg library issues and added these additional log
statements. They may be useful in the future.
2017-11-21 10:55:09 +01:00
MageKing17 748857ca2f Merge pull request #1517 from asarium/fix/1516
Fix PCX alpha color correction
2017-11-20 13:43:56 -08:00
m!m bff8231d87 Merge pull request #1509 from asarium/feature/jsonFlagPrinting
Add support for printing command line flags in JSON output
2017-11-20 22:10:33 +01:00
MageKing17 29087a3237 Merge pull request #1511 from asarium/build/gcc7Warnings
Fix new warnings generated by GCC 7
2017-11-20 12:20:30 -08:00
asarium a228a127e2 Fix PCX alpha color correction
This is a bugfix for an issue introduced in
72a797f732 which broke 8 bits-per-pixel
alpha bitmap reading.

This fixes #1516.
2017-11-20 13:17:22 +01:00
asarium 2692240ed9 Add additional information to JSON output 2017-11-19 13:27:56 +01:00
asarium a47dcc0548 Fix fall-through warnings introduced by GCC7 2017-11-19 12:12:42 +01:00
m!m 9fed19d4fc Merge pull request #1505 from MageKing17/feature/bmpman-usage
Add in-game BMPMAN usage display.
2017-11-19 11:56:03 +01:00
MageKing17 9446e61587 Add in-game BMPMAN usage display.
Can be enabled with the "-bmpmanusage" command-line option, toggled via the debug console, or toggled via a debug/cheat key combo (`+B).
2017-11-18 16:55:58 -08:00
MageKing17 1ffd0d3ef8 Merge pull request #1512 from asarium/feature/freddocsCfile
Search for fred docs using cfile
2017-11-18 14:50:43 -08:00
MageKing17 1a94018fb4 Merge pull request #1515 from MageKing17/bugfix/fred-close-exception
Avoid exception when closing FRED related to bm_release().
2017-11-18 14:49:14 -08:00
MageKing17 e8ef727a19 Avoid exception when closing FRED related to bm_release().
Now that BMPMAN dynamically allocates the bm_bitmaps array, and deallocates it in bm_close(), which is explicitly called by gr_close(), FRED generates an exception on close because of trying to release bitmap handles after bm_bitmaps has been deallocated and set to null. This is because gr_close() is called by CFREDView::OnDestroy(), but the mission textures aren't fully paged out until CMainFrame::OnClose() (well, technically, CMainFrame::OnClose() calls CFrameWnd::OnClose(), which calls CWinApp::CloseAllDocuments(), which calls CDocManager::CloseAllDocuments(), which calls CDocTemplate::CloseAllDocuments(), which calls CDocument::OnCloseDocument(), which calls CFREDDoc::DeleteContents(), which calls CFREDDoc::editor_init_mission(), which calls reset_mission(), which calls clear_mission(), which calls model_free_all(), which calls model_instance_free_all(), which calls model_unload() for every model, which calls model_page_out_textures(), which *finally* calls the crashing bm_release()). This commit moves the gr_close() call to CMainFrame::OnClose(), *after* it calls CFrameWnd::OnClose(), which avoids the exception as bm_bitmaps is still intact long enough for those final textures to be freed from it.
2017-11-18 04:38:03 -08:00
MageKing17 dfdfd59367 Merge pull request #1514 from MageKing17/feature/window-title
Window title overhaul.
2017-11-17 03:57:56 -08:00
asarium 4f7b718167 Fix sprintf warnings by checking the return value 2017-11-17 12:52:16 +01:00
MageKing17 b1046b1c1c Window title overhaul.
FSO now allows the window title to be specified via game_settings.tbl, some never-used function arguments were pruned at the same time, and fred.rc now receives version information (for the About dialogue and the title bar) from a cmake-generated header, so the version numbers get filled in properly. Speaking of FRED's About dialogue, it now displays the copyright symbol properly.
2017-11-17 02:51:36 -08:00
MageKing17 4663aed194 Merge pull request #1513 from MageKing17/bugfix/training-variable-timing
Move game_do_training_checks() to be right before goal processing.
2017-11-17 02:50:32 -08:00
MageKing17 a56432f5fc Move game_do_training_checks() to be right before goal processing.
In-mission events (SEXP chains that are used for directives and all mission logic) can sometimes call "training SEXPs", which depend on special variables set in the game_do_training_checks() function. However, this function was called near the end of game_frame(), well after mission_eval_goals() (which processes all mission events). This means that most training SEXPs wouldn't actually evaluate as true until the frame after whatever condition they were checking became fulfilled. This, combined with PR #1388 making the "targeted" SEXP actually use the appropriate variables (Players_target and Players_targeted_subsys), means that Diaspora's very first training mission's very first instruction (after launching from the launch tube, anyway) could not be completed, because the mission logic assumed that "key-pressed" and "targeted" would both return true on the same frame (which, after PR #1388, they did not).

This commit moves game_do_training_checks() to be called immediately before mission_eval_goals(), and therefore immediately after obj_move_all(), meaning Training_context_speed_set can become set the same frame the player's ship reaches the appropriate velocity and the relevant SEXPs can operate on the most up-to-date data available.
2017-11-16 23:26:05 -08:00
asarium 206ce536ec Search for fred docs using cfile
This will allow to put the FRED docs somewhere else instead of into the
root directory of a TC.
2017-11-14 23:15:58 +01:00
Fabian Woltermann d8ccf84452 Merge pull request #1482 from asarium/cleanup/sexpSCPString
Use SCP_strings and SCP_vectors in SEXP code
2017-11-14 09:35:44 +01:00
Fabian Woltermann bed9c13233 Merge pull request #1497 from z64555/cleanup/swarm_missiles
Refactors swarm_update_direction() a bit...
2017-11-14 09:34:30 +01:00
Fabian Woltermann 16993b236f Merge pull request #1479 from asarium/opengl/modelUniformBuffers
Use uniform buffer blocks for passing uniform data to shaders
2017-11-14 09:33:45 +01:00
Fabian Woltermann 94f8d547e0 Merge pull request #1487 from asarium/cleanup/modelVertexStruct
Use a C-struct for managing GPU model data layout
2017-11-14 09:32:48 +01:00
MageKing17 b6908d10c4 Merge pull request #1470 from asarium/fix/1469
Fix error line reported by Lua Errors
2017-11-13 16:31:16 -08:00
m!m a54aa24a64 Merge pull request #1510 from TRBlount/fix/motion_debris_load
Fix motion debris anim loading in mission-set-nebula sexp
2017-11-12 11:57:28 +01:00
MageKing17 d083089e1d Merge pull request #1508 from The-E/lab_fix_window_background
Fix window drawing in the F3 lab
2017-11-11 23:30:40 -08:00
MageKing17 338436d590 Merge pull request #1506 from MageKing17/bugfix/music-table-section-skipping
Fix music table parsing when a soundtrack needs to be skipped.
2017-11-11 23:27:58 -08:00
asarium 1d2f778b76 Add support for printing command line flags in JSON output
This will output the flags data in a better format than the current
binary format. For determining if the JSON output should be used this
uses an optional parameter for -get_flags. The command line parsing does
not cause an error if a parameter is specified for an option that does
not support them. This way, the launcher can just pass "json_v1" to the
option and an old build will just silently ignore it and use the binary
format.
2017-11-11 20:29:36 +01:00
Fabian Woltermann aad1bbbb05 The labviewer window background got its width and height mixed up in 6dbd7c34, this fixes that 2017-11-11 20:24:10 +01:00
TRBlount 1e4bede8c5 Fix motion debris anim loading 2017-11-11 10:34:28 -07:00
MageKing17 38b331dc92 Fix music table parsing when a soundtrack needs to be skipped.
For some reason, commit 8b43ed823c moved the consumption of the "#Soundtrack End" token out of parse_soundtrack(), when if a soundtrack needs to be skipped (e.g. because it's in a .tbm, flagged with +nocreate, and the original doesn't exist), it will skip straight past "#Soundtrack End" to reach the next "#Soundtrack Start". It also changed how music tables are parsed so that they'll skip any junk data that happens to be between sections, which is atypical of how tables are parsed. This commit changes both of these things: "Soundtrack End" is once again consumed near the end of parse_soundtrack(), and the while loop uses check_for_string() instead of skipping to the start of a section.
2017-11-09 15:08:40 -08:00
m!m d3965b1f9d Merge pull request #1502 from MageKing17/feature/tabled-bmpman-limit
Allow BMPMAN slot limit to be defined by mod table.
2017-11-09 09:23:20 +01:00
asarium 986099a495 Handle bmpman shutdown explicitly
This was previously done with atexit which caused issues if bmpman was
initialized more than once which is the case for the unit tests.
2017-11-07 15:43:27 -08:00
MageKing17 07ff605c58 Attempt to guarantee that bm_bitmaps will only be allocated once.
Even if bm_init() gets called more than once, for whatever reason. Unless bm_close() is called first, in which case it will re-allocate, potentially with a different MAX_BITMAPS (but it's okay, because there shouldn't be any active handles to worry about if bm_close() was called).
2017-11-07 15:33:36 -08:00
m!m a8171c118f Merge pull request #1500 from TRBlount/fix/directional_glows
Fix directional glow issues
2017-11-06 12:44:47 +01:00
TRBlount 4b9c7b19aa Add comment regarding the length and radius of a beam muzzle glow 2017-11-04 12:24:12 -06:00
TRBlount 33d2294a49 Fix ramp up/down sequence and basic size/positioning of directional glows 2017-11-04 12:16:06 -06:00
MageKing17 8e558b2095 Move MAX_BITMAPS to bmpman.cpp/.h, use error_display() for warnings.
Per discussion on the PR. Also corrected sizeof(bm_bitmaps) to sizeof(bm_bitmaps[0]) * MAX_BITMAPS.
2017-11-04 08:52:56 -07:00
MageKing17 703bfab587 Merge pull request #1504 from asarium/fix/defaultMaterialClipPlane
Fix Assertion failure when rendering clip planes using default material
2017-11-04 07:39:40 -07:00
MageKing17 344502c436 Merge pull request #1495 from asarium/feature/betterSoundSets
Add support for multiple sounds in one game sound entry
2017-11-04 06:53:10 -07:00
asarium ef06593ed7 Fix Assertion failure when rendering clip planes using default material
The texture array changes introduced the default material which is
similar to the passthrough shader but allows to use texture arrays. The
vertex shader is the same as for the passthrough shader so that shader
also supports clipping planes.
2017-11-04 14:42:50 +01:00
MageKing17 a22b336bfe Merge pull request #1493 from asarium/fix/particleDirection
Fix several oversights and bugs in the particle effect code
2017-11-04 05:05:43 -07:00
MageKing17 37b81efea4 Allow BMPMAN slot limit to be defined by mod table.
bm_init() now dynamically allocates the bm_bitmaps array, and MAX_BITMAPS can be changed by the mod table.
2017-11-02 16:37:57 -07:00
MageKing17 7c6f99c68b Merge pull request #1501 from TRBlount/fix/DRADIS_visuals
Make DRADIS blips use decaying alpha
2017-11-01 15:31:09 -07:00
TRBlount f7b7aaead3 Use std::abs() 2017-10-31 15:21:54 -06:00
TRBlount 80dcefa0fc Add comment specifying functionality 2017-10-31 13:31:43 -06:00
TRBlount 27a70d545d Update using time since last sweep. 2017-10-31 13:13:59 -06:00
TRBlount e4614f01ba Fix DRADIS blip alpha 2017-10-30 16:07:54 -06:00
Tyler Blount e2d8502a3e Merge pull request #1488 from asarium/fix/renderTargetError
Fix OpenGL function usage in opengl_make_render_target
2017-10-30 15:23:22 -06:00
Fabian Woltermann dee0cf600f Merge pull request #1499 from asarium/fix/linuxNightlyBuilds
Fix dependency issues when building libcurl for FTP deploy
2017-10-30 13:55:35 +01:00
asarium 6181c0b2f7 Fix dependency issues when building libcurl for FTP deploy 2017-10-29 11:20:39 +01:00
z64555 0f942afaae Simplify out-of-frame calls.
*Homing conditions are now consistant with in-frame checks
*Swarm missiles will now only change their homing pos during a change frame. This'll reduce their hit rate if SWARM_FRAME_STOP_SWARMING is too low, but will make their pathing more cinematic.
2017-10-22 14:42:33 -05:00
z64555 cdde87662a Refactors swarm_update_direction() a bit for readability and consistency.
* Changed stop distance to a stop frame. Frame was chosen instead of distance or time to ensure missiles won't appear to jerk twice in succession.
2017-10-22 02:00:01 -05:00
m!m 4e7f8fa92a Merge pull request #1496 from MageKing17/bugfix/music-parse-assertion
Fix misused assertion in music table parsing code.
2017-10-21 19:47:22 +02:00
MageKing17 867ebfed89 Fix misused assertion in music table parsing code.
The condition of an assertion doesn't exist in a release build, and assertions should never be used for bad data anyway.
2017-10-21 09:56:12 -07:00
asarium 0ff8a2c159 Add support for multiple sounds in one game sound entry
This adds support for specifying multiple sounds for a single game sound
entry. The engine then selects which sound will be played based on the
strategy provided by the game data. This required a few changes to some
of the game code since previously every game sound had exactly one sound
file attached to it. The most notable change is that it is no longer
possible to determine the exact duration a sound can have so instead the
new code computes the maximum duration a sound can have and uses that
where appropriate.

This also adds support for randomizing the pitch and volume of the sound
to provide a more varied experience even if only a single sound is used.

One possible issue that exists is that the "sequential" strategy only
works globally at the moment so if two sources use the same game sound
concurrently then the two sources will share the sequence of sounds
since there is no sound instance data at the moment. That can be added
in a future change but should not present a huge issue for most
use-cases.

Visual Studio on Appveyor somehow causes deprecation error on _our_
definition of vsprintf. I have no idea why these changes introduced this
warning but I won't debug Visual Studio compiler bugs that I can't
reproduce with my Visual Studio version so I just disabled those
warnings.
2017-10-17 10:57:22 +02:00
asarium 8272304cfa Remove global Snds and Snds_iface vector 2017-10-17 10:30:00 +02:00
asarium 0522566790 Replace direct usages of Snds vector with a function call
This will make it easier to validate the used handles and is generally
better since it doesn't require a global sounds vector.
2017-10-09 15:02:29 +02:00
MageKing17 59e7b10b73 Merge pull request #1494 from asarium/fix/ballisticSoundOutOfRange
Fix out-of-range vector access in ballistic sound code
2017-10-06 16:19:47 -07:00
asarium eb4cfeb256 Fix out-of-range vector access in ballistic sound code
The code probably tried to check if the sound is available but since the
sounds vector is not long enough if the sound is not specified in the
table it would cause an out-of-bounds failure if the sound was missing
from the table. Furthermore, the current code would only have worked if
the sound was preloaded since the id is -1 until the sound is loaded for
the first time.
2017-10-06 19:51:26 +02:00
asarium a7b1c00a84 Fix handling of relative source directions
Previously, the source orientation was always aligned to the world so it
couldn't adapt to a weapon that changes direction. This fixes that by
introducing a "relative" mode for source orientations that is enabled by
default and disabled if the direction is set explicitly.
2017-10-04 15:59:09 +02:00
asarium e484a84d97 Fix several oversights and bugs in the particle effect code
The particle sources of the beams were missing multiple properties
(direction and impact normals) and the generic shape effect didn't have
any way of controlling how long the source was active. This fixes that
by introducing an effect timing field similar to the single particle
effect.
2017-10-04 10:51:35 +02:00
MageKing17 bd2bb12ad3 Merge pull request #1492 from MageKing17/bugfix/shield-impact-sounds
Make shield impact sounds more intuitive.
2017-10-03 12:00:49 -07:00
MageKing17 c890c0af1f Make shield impact sounds more intuitive.
Shield impact sounds now re-use the shield quadrant calculated by the collision code instead of naively recalculating based on global hitpos, allowing the hull impact sound to play if the shot pierces shields or was fired from within the shield mesh, and simplifying the relevant calculations in the process.
2017-10-03 09:06:34 -07:00
m!m 9cda43afb2 Merge pull request #1491 from ashdnazg/mingw_fix_include
Add include <cinttypes> (fix mingw build)
2017-10-03 11:50:44 +02:00
Eshed 34b4321416 add include
required by PRIu64
2017-10-03 11:32:56 +03:00
asarium 3a18a88e30 Fix OpenGL function usage in opengl_make_render_target
The function previously used glFramebufferTexture3D which caused issues
on the Mesa drivers and probably also with other drivers. This fixes
that by using glFramebufferTextureLayer which is the right function for
this use case.
2017-09-26 14:10:56 +02:00
asarium 686bf15879 Ensure that init_render is called before rendering the scene
This was previously not enforced and some code did not call this
function at the correct time which caused crashes since data was not
initialized correctly. This adds a check to ensure that the function was
called and fixes the code that uses the model_draw_list.
2017-09-24 15:53:14 +02:00
asarium 22f0ba89a4 Use a C-struct for managing GPU model data layout
In previous versions of FSO the GPU data of a model was stored in
various different layouts depending on what data was required for
rendering that model. Since the transform batching code was added to the
model loading code this wasn't the case anymore since all data had to
use the same vertex stride even if the data wasn't used.

This made these changes possible where a standard C-struct is now used
for managing the layout of the data in GPU memory. This makes the code
easier to read and also easier to extend in the future since all layout
data is available in the struct.
2017-09-20 17:39:31 +02:00
Fabian Woltermann a3bf47991b Merge pull request #1485 from asarium/fix/1483
Ensure that viewport setting calls are valid
2017-09-16 19:27:13 +02:00
asarium 6af1768147 Ensure that viewport setting calls are valid
This fixes a CTD when FRED is started since the graphics function
pointers are not valid at that point which causes a null pointer
dereference when starting FRED. This fixes that by checking if the
graphics system has been initialized before calling that function.

This fixes #1483.
2017-09-16 18:24:13 +02:00
asarium 0d9fbd4725 Use SCP_strings and SCP_vectors in SEXP code
I split this from #1331 to make reviewing these two changesets easier.

These changes convert all usages of const char* to SCP_string in the
static SEXP arrays so that the dynamic SEXP system can use SCP_strings
instead of having to allocate the strings and then somehow figure out
which strings must be freed at the end of the program.

This also converts the SEXP arrays to vectors so that new SEXP operators
can be added at runtime later.
2017-09-14 11:11:52 +02:00
asarium c6975fda3c Use uniform buffer blocks for passing uniform data to shaders
This uses UBOs for building a buffer object of uniform data before
using that data to draw objects. This should reduce the CPU overhead by
reducing the amount of glUniform calls required for executing a single
draw call. This is especially useful if rendering is limited by the CPU
which should help performance for people with slower CPUs.

This fixes #910.
2017-09-13 11:54:16 +02:00
Fabian Woltermann 52baa1f115 Merge pull request #1480 from asarium/fix/movieScaling
Restore 2D matrix setting behavior
2017-09-12 12:19:39 +02:00
asarium d684dcea1b Restore 2D matrix setting behavior
This restores the behavior from before the matrix system changes. The
observed behavior is more or less the desired behavior sinde setting the
2D projection matrix resets the model matrix stack but it happens to
work with the previous movie code since the 2D matrix is not set if no
perspective projection matrix was set before. This would need to be
fixed if the movie player should ever work within a mission but for now
this will fix the reported bug.
2017-09-12 11:35:11 +02:00
Fabian Woltermann fa7f49f1e4 Merge pull request #1478 from asarium/opengl/externalLightManagment
Move light handling out of OpenGL code
2017-09-10 14:33:53 +02:00
Fabian Woltermann cc3dc5f566 Merge pull request #1476 from asarium/feature/pngScreenshots
Use PNG instead of TGA for saving screenshots
2017-09-10 14:33:27 +02:00
Fabian Woltermann 19c50412ba Merge pull request #1477 from asarium/opengl/gsInstancing
Use geometry shader instancing for shadow map rendering
2017-09-10 14:33:07 +02:00
asarium cdd391caa8 Move light handling out of OpenGL code
There is nothing specific to OpenGL in that code anymore since it's all
handled in the shaders at this point. This will make the lighting
information available in the normal graphics code which allows to use
those values when filling the uniform buffer for the model rendering.
2017-09-10 11:48:38 +02:00
asarium 4860f72678 Use geometry shader instancing for shadow map rendering
This provides ~10% to 20% of an improvement if shadows are enabled. The
required features are not available in our OpenGL target version so I
added a fallback meachanism that will continue to use the standard
instancing method.

With an RX 480 and these changes I can play/watch the BP2 Icarus
cutscene at a consistent 60FPS which wasn't possible before.
2017-09-09 21:14:25 +02:00
Fabian Woltermann 5ba33228cb Merge pull request #1473 from asarium/fix/1472
Only use 16 bit-per-pixel for PCX data loading
2017-09-09 20:48:18 +02:00
Fabian Woltermann b7f3fdbb98 Merge pull request #1471 from asarium/fix/unsupportedShadowFramebuffer
Add proper fallback path for unsupported shadow framebuffer
2017-09-09 20:47:38 +02:00
Fabian Woltermann 1bffdce6ef Merge pull request #1474 from asarium/opengl/externalMatrixStack
Move graphics matrix handling out of OpenGL code
2017-09-09 20:46:19 +02:00
asarium b130d526ff Use PNG instead of TGA for saving screenshots
This was requested by Axem for improving the usability of FSO
screenshots. This will remove the need to convert the TGA files to PNG
before uploading them to an online image hoster.
2017-09-09 18:28:55 +02:00
asarium 4c1ed2f66a Move graphics matrix handling out of OpenGL code
All transformations are now handled by shaders so there is nothing
special going on in the graphics API specific code anymore. Since model
uniform buffers require access to these matrices I moved the matrix
handling out of the graphics API code.
2017-09-05 12:36:32 +02:00
asarium d30a73a578 Only use 16 bit-per-pixel for PCX data loading
The PCX loader requires this or else the data isn't loaded correctly.
This matches what the code did before the texture array merge but it
only does it for PCX textures now since the other formats handle 32 and
24 bits per pixel correctly.

This fixes #1472.
2017-09-04 13:11:04 +02:00
Fabian Woltermann fa03117eaf Merge pull request #1323 from asarium/opengl/uniformBuffers
Use a uniform buffer object for storing deferred lighting data
2017-09-04 12:32:12 +02:00
asarium 2eb109dc49 Add proper fallback path for unsupported shadow framebuffer
If a 32-bit color shadow framebuffer is not supported this will first
try to fall back to 16-bit and if that still doesn't work it will
disable shadows completely. This should fix the rendering artifacts
reported on the forums here:
http://www.hard-light.net/forums/index.php?topic=93867.msg1854164#msg1854164
2017-09-04 12:02:49 +02:00
asarium bef57f7559 Fix error line reported by Lua Errors
This adds empty lines to the beginning of the Lua source passed to the
interpreter so that the interpreter sees the lines in the source as they
appear in the table.

This might slow down parsing a bit since get_line_num is quite slow but
it should not be noticable in most instances since the script tables
tend to be quite short.

This fixes #1469.
2017-09-04 10:56:39 +02:00
asarium b807c670db Use unsynchronized buffer mapping for updating uniform buffer
Since the system already tracks if a buffer is still in use by the GPU
the buffer updates can assume that there will be no synchronization
issues if the buffer is mapped into memory.
2017-09-03 12:40:33 +02:00
asarium 24b71441c0 Add debug scope to uniform buffer retiring function 2017-09-03 12:40:33 +02:00
asarium e47581ffa5 Add documentation to new classes 2017-09-03 12:40:33 +02:00
asarium c585314ff1 Use a uniform buffer object for storing deferred lighting data
This converts the deferred lighting shader to use uniform buffers for
the dynamic data sent to the GPU while rendering the lighting effects.
This doesn't affect performance but the deferred lighting code is a
nicely isolated piece of rendering code where I could test how the
rendering code could use the uniform buffers.

This is related to #910.
2017-09-03 12:40:33 +02:00
MageKing17 97d09ae6ad Merge pull request #1468 from asarium/cleanup/noStandaloneClippingPlanes
Remove graphics functions for explicit clipping planes
2017-09-02 08:44:30 -07:00
asarium 250bf919a7 Remove graphics functions for explicit clipping planes
The function implementations were empty anyway and the code that called
them wasn't used anymore.
2017-09-02 13:20:41 +02:00
MageKing17 f8dd06ccef Merge pull request #1467 from Goober5000/medal_button_hotspot
add field for setting the hotspot index of the exit button in the medals screen
2017-09-01 11:27:11 -07:00
Fabian Woltermann 67416cc8f6 Merge pull request #1447 from asarium/opengl/useExtensions
Only generate headers for OpenGL 3.2
2017-09-01 17:01:46 +02:00
Fabian Woltermann 7118697a35 Merge pull request #1454 from asarium/opengl/noImmediateDraws
Move immediate mode rendering into generic graphics code
2017-09-01 17:00:06 +02:00
Fabian Woltermann 095c1ebe2b Merge pull request #1458 from Goober5000/time_docked_fixes
several fixes to time-docked and time-undocked
2017-09-01 16:58:00 +02:00
Fabian Woltermann 8c89c19c7e Merge pull request #1155 from asarium/feature/debugWindowScrolling
Add scrolling support to new debug window
2017-09-01 16:37:10 +02:00
m!m ae3d06c54f Merge pull request #1328 from chief1983/libupgrade/sdl2_0_5
Upgrade included libSDL2 to 2.0.5
2017-09-01 15:04:54 +02:00
Cliff dbbb8af17b Avoid a potential crash when ff is enabled without a joystick. 2017-08-31 20:38:40 -05:00
Cliff Gordon a23830359a libupgrade/sdl2_0_5: joy_get_device is not defined, use this instead, thanks @ashdnazg 2017-08-31 19:56:15 -05:00
Cliff Gordon 31e572ec03 Revert "Allow force feedback to work again."
This reverts commit 19b5ee97f7.
2017-08-31 19:56:15 -05:00
Cliff Gordon 29b5c4bf7a libupgrade/sdl2_0_5: Attempt to migrate the MinGW support to the official libs using the filename they are published with. 2017-08-31 19:56:15 -05:00
Cliff Gordon 3811270a09 libupgrade/sdl2_0_5: Upgrade to SDL 2.0.5. 2017-08-31 19:56:15 -05:00
Cliff Gordon 64fc95ec8c libupgrade/sdl2_0_5: Remove old build system files from gitignore. 2017-08-31 19:56:15 -05:00
MageKing17 0c70672a84 Merge pull request #1461 from Goober5000/fix_emp_time_for_capship_turrets
make "same emp time for capships" actually work
2017-08-31 07:00:47 -07:00
Goober5000 67e6bcca9f make "same emp time for capships" actually work
Back when I added the "same emp time for capships" flag in SVN r9540, I neglected to multiply the EMP time by 1000, as the EMP disruption time for fighters is specified in seconds but the time for capships is specified in milliseconds.  So, using this flag would cause capships to suffer EMP disruption for almost no time at all.

This PR fixes that, and also extends the explosion-effect sexp to specify this parameter.  And I also cleaned up the fireball section by calling eval_num(n) just once instead of several times.
2017-08-31 04:16:15 -04:00
m!m 8de33ab56a Merge pull request #1464 from Goober5000/boolify_is_sexp_true
change is_sexp_true return type from int to bool
2017-08-31 10:06:47 +02:00
Goober5000 b786b8e230 fix another mismatch 2017-08-31 02:10:01 -04:00
Goober5000 9dc308331b fix some warnings I missed earlier 2017-08-30 16:03:15 -04:00
Goober5000 628ac86c3e Merge pull request #1465 from asarium/feature/dynamicTstrings
Looks good to me.
2017-08-30 12:23:20 -04:00
asarium dcee8a302e Remove limit for tstring table entries
Since 4500 strings are not enough for some mods there was a request for
removing that limit. I chose to use an unordered map for storing the
entries since the indices are not guaranteed to be sequential.

This fixes Mantis 3199.
2017-08-30 13:04:24 +02:00
Goober5000 c7673f0591 swap order of parameters to avoid short-circuiting 2017-08-29 20:25:04 -04:00
Goober5000 000d0c3a0d change |= and &= to be the more verbose and correct logical operators 2017-08-29 14:11:35 -04:00
Goober5000 ec19f9be98 change is_sexp_true return type from int to bool 2017-08-29 13:50:22 -04:00
Goober5000 3005a67573 Merge pull request #1459 from Goober5000/string_concatenate_block
add string-concatenate-block sexp
2017-08-29 13:49:18 -04:00
Goober5000 33d4a7efa7 more fiddling with string format arguments 2017-08-29 12:30:16 -04:00
MageKing17 6c4e03d9dc Merge pull request #1462 from Goober5000/fix_sexp_error_reporting
fix Assertion in sexp error reporting
2017-08-29 06:32:49 -07:00
m!m 537ee433de Merge pull request #1463 from Goober5000/fix_sound_coordinates
fix negative coordinates in play-sound-from-x
2017-08-29 09:54:20 +02:00
Goober5000 2cff45f2c5 fix negative coordinates in play-sound-from-x
When the OPF_NUMBER and OPF_POSITIVE behaviors were made more robust, it exposed a latent bug in the play-sound sexps.  These had OPF_POSITIVE where they should have had OPF_NUMBER.  With this fix, sounds can now play from all coordinates, positive or negative.
2017-08-28 19:12:40 -04:00
Goober5000 466e4c159f use SIZE_T_ARG 2017-08-28 18:39:01 -04:00
Goober5000 6c7de5120e improve warning messages per feedback 2017-08-28 14:40:44 -04:00
Goober5000 b2b0ba3630 to be pedantic, this happens at the very end of error-reporting mode 2017-08-28 14:26:34 -04:00
Goober5000 14dcff6f5f might as well restrict the test to only running during error-check mode 2017-08-28 14:23:53 -04:00
Goober5000 d826537485 fix Assertion in sexp error reporting
There is a bug where, when displaying an error message with a sexp node that contains a variable, the code will trigger an Assertion in the process of printing the error message.  This is because it tries to transcode the sexp variable from name to index, when that has already been done further up the pipeline.  This fixes that by adding a quick test to see if the expected variable name is an integer.
2017-08-28 14:17:02 -04:00
Cliff Gordon 95c0fad96f Merge pull request #1460 from asarium/fix/openglErrors
Readd accidentally removed OpenGL calls
2017-08-28 10:35:07 -05:00
MageKing17 85b3a30376 Merge pull request #1456 from Goober5000/is_docked_sexp
add is-docked sexp
2017-08-28 08:09:13 -07:00
asarium 3c347ae938 Readd accidentally removed OpenGL calls
I changed those lines in another PR and forgot to revert these before I
submitted it. This will fix the OpenGL errors that appeared when shadows
were enabled.
2017-08-28 16:53:50 +02:00
Fabian Woltermann 09b28f2219 Merge pull request #1453 from asarium/opengl/noRedundantActiveTexture
Avoid redundant glActiveTexture calls
2017-08-28 09:00:56 +02:00
Fabian Woltermann 3c0eec27de Merge pull request #1432 from asarium/qtfred2_/dev
Add most of the remaining menu action implementations
2017-08-28 08:59:41 +02:00
Fabian Woltermann 2fb078f32b Merge pull request #1455 from asarium/fix/deleteUnusedFile
Delete unused OpenGL video presenter
2017-08-28 08:57:26 +02:00
Goober5000 a19b3030b6 enhance warning messages 2017-08-27 18:01:14 -04:00
Goober5000 5095b1c57a several fixes to time-docked and time-undocked
Time-undocked will cause FSO to freeze unless you know what you're doing, so this PR fixes some gotcha areas.  Inspired by The E's rant on Discord which, while not 100% correct, did indicate some areas for improvement.

1) Set the default "number of times docked" argument to 1 when the sexp is created in FRED, same as with the has-[un]docked-delay sexps
2) Catch any <= 0 counts when the sexp is called in FRED and set them to 1.  (This was done for other sexps which used mission_log_get_time_indexed, but was not done for time-[un]docked for some reason.)
3) Add an assertion to mission_log_get_time_indexed as a last resort to guard against invalid counts.
2017-08-27 17:18:39 -04:00
Goober5000 ab14742f96 add is-docked sexp 2017-08-27 16:24:04 -04:00
asarium 492c4ba10a Delete unused OpenGL video presenter
The deletion of this file was missed in the cutscene changes.
2017-08-27 18:12:01 +02:00
asarium 999eb8a3f9 Add documentation to new functions 2017-08-27 17:32:58 +02:00
asarium 03aa75c39a Move immediate mode rendering into generic graphics code
Since this code is the same for all possible graphics backends it can be
moved outside the OpenGL implementation to simplify that code.
2017-08-27 17:14:02 +02:00
asarium 4f096c26b2 Avoid redundant glActiveTexture calls
This introduces a new function in the OpenGL state tracker which
combines setting the active texture unit and enabling a texture. The
reason this is a good idea is that this new function can filter out
unneeded calls to glActiveTexture if the texture is already enabled on
that specific unit. This happens very often when rendering several
submodels of a model which share their textures.

This is unlikely to yield significant performance improvements but
avoiding unneded OpenGL calls is always a good idea.
2017-08-27 13:46:44 +02:00
Goober5000 3db9fe9383 add field for setting the hotspot index of the exit button in the medals screen 2017-08-26 13:35:38 -04:00
Fabian Woltermann d1e236451f Merge pull request #1452 from asarium/fix/tgaLocking
Fix memory allocation in tga loading code
2017-08-26 18:11:11 +02:00
m!m 6cf7cb0843 Merge pull request #1450 from Goober5000/mantis_3174_fix
toss out the campaign savefile if we are restarting a previously finished campaign
2017-08-26 18:10:29 +02:00
asarium 2084eb01e8 Fix memory allocation in tga loading code
The code did not use the right method for calculating the required size
of the memory. This was never noticed before because the old OpenGL
texture loading code only used 16-bit textures for interface data but
the new code uses 32-bit textures which exhausted the available memory.

This was found and reported by @chief1983.
2017-08-26 17:08:26 +02:00
Goober5000 7d1365800f clean up old comments 2017-08-26 03:43:26 -04:00
Goober5000 66ce0acc17 toss out the campaign savefile if we are restarting a previously finished campaign 2017-08-26 03:38:20 -04:00
Fabian Woltermann c29954d672 Merge pull request #1449 from asarium/fix/arrayDetectionBug
Fix bug in texture array detection code
2017-08-25 19:55:49 +02:00
asarium f2d5246ccb Fix bug in texture array detection code
The code would have displayed the warning but didn't actually set the
flag to let the rest of the code know.
2017-08-25 18:22:34 +02:00
asarium b6dcc4f5ef Only generate headers for OpenGL 3.2
Since our target version is only OpenGL 3.2 all additional functionality
should only be used through their respective extensions to avoid
accidentially using a function not available in our minimum target
environment.
2017-08-25 18:18:17 +02:00
Fabian Woltermann bd62ceeeb0 Merge pull request #1318 from asarium/opengl/textureArrays
Use OpenGL texture arrays for animations
2017-08-25 18:00:56 +02:00
asarium f1bf0a411c Use OpenGL texture arrays for animations
This converts all usages of bmpman textures to OpenGL texture arrays.
That means that all frames of an animation are stored in a single OpenGL
texture object and can be accessed at the same time in a single draw
call. This should significantly reduce the overhead of drawing lots of
particles since all particles of a single animation can be drawn with a
single draw call.

This fixes #1169.
2017-08-25 11:31:02 +02:00
asarium 28898ca8e3 Add scrolling support to new debug window 2017-08-25 09:51:09 +02:00
MageKing17 3acdf3e801 Merge pull request #1399 from asarium/fix/1306
Use unique_ptr for storing HUD gauge pointers
2017-08-24 09:23:54 -07:00
MageKing17 f1101bee5d Merge pull request #1414 from asarium/feature/targettedFSOVersion
Add mod table setting for specifying targetted FSO version
2017-08-24 09:21:58 -07:00
MageKing17 e617f0cc41 Merge pull request #1435 from asarium/fix/ffGlobalGain
Add config option for setting the FF strength
2017-08-24 09:09:55 -07:00
MageKing17 7c9f73fbdc Merge pull request #1444 from asarium/fix/travisSourceCompression
Actually compress the source archive
2017-08-24 09:09:10 -07:00
Fabian Woltermann c36b47a35c Merge pull request #1290 from asarium/opengl/simplifyGrInterface
Move 2D drawing functions to a generic implementation
2017-08-24 17:41:32 +02:00
m!m 8d0b0a76f2 Merge pull request #1446 from MageKing17/bugfix/cmeasure-timer-interval-init
Explicitly initialize cmeasure_timer_interval to 0.
2017-08-24 17:21:05 +02:00
MageKing17 36e5afe1be Explicitly initialize cmeasure_timer_interval to 0.
If we rely on uninitialized values, we're likely to wind up with countermeasures that are only ever active for a single frame.
2017-08-24 04:54:42 -07:00
m!m 20398150d8 Merge pull request #647 from MageKing17/feature/countermeasure-pulse-interval
Allow countermeasures to pulse at regular intervals instead of globally.
2017-08-24 10:38:41 +02:00
m!m e085cc20ab Merge pull request #1445 from MageKing17/bugfix/beam-sound-unpause
Actually unpause 3D beam sounds correctly.
2017-08-24 09:25:33 +02:00
asarium 6b5869853c Correctly handle alpha blending for gr_flash_alpha 2017-08-23 14:42:54 +02:00
asarium a6411cc1d3 Add documentation for drawing functions 2017-08-23 14:42:54 +02:00
asarium bd4427a832 Reformat 2017-08-23 14:42:54 +02:00
asarium 6dbd7c34e6 Clean up a few remaining functions 2017-08-23 14:42:54 +02:00
asarium 7a3029d1e3 Remove unused gr_screen API functions 2017-08-23 14:42:54 +02:00
asarium 1bca5f128d Convert curve and circle functions 2017-08-23 14:42:54 +02:00
asarium 6bbb6be880 Move line drawing functions to generic implementation 2017-08-23 14:42:54 +02:00
asarium c1c2b72ef0 Move gr_string out of OpenGL code 2017-08-23 14:42:54 +02:00
asarium 1aa85d236e Begin moving 2D functions to a generic implementation
Thanks to the new material system, it's now possible to easily make the
2D functions independent of the underlying graphics API which allows to
reduce the size of the gr_screen 2D API.
2017-08-23 14:42:54 +02:00
MageKing17 1afc5eec13 Actually unpause 3D beam sounds correctly.
beam_pause_sounds() "pauses" looping beam sounds by setting their volume to 0; beam_unpause_sounds() "unpaused" by calling beam_recalc_sounds(), which only set the volume correctly when -no_3d_sound is set; 3D sound updates the sound's position without changing its volume. This PR just makes beam_unpause_sounds() perform the inverse operation of beam_pause_sounds() if 3D sounds are enabled.
2017-08-23 05:03:25 -07:00
Fabian Woltermann 759c9b1148 Merge pull request #1439 from asarium/opengl/genericVideoDisplay
Remove OpenGL code from cutscene presenter
2017-08-23 14:02:53 +02:00
Fabian Woltermann 47bb378342 Merge pull request #1438 from asarium/fix/aabitmapRemapping
Move 4 bit color conversion out of graphics code
2017-08-23 14:02:35 +02:00
m!m 0b3dad8dc0 Merge pull request #1308 from niffiwan/feature/tint_shader
Add colour-configurable tint shader
2017-08-23 12:53:50 +02:00
m!m 13e601a523 Merge pull request #1372 from MageKing17/feature/avx2-build-support
Add AVX2 to the list of supported MSVC compiler optimizations.
2017-08-23 12:50:16 +02:00
MageKing17 5de1b684f4 Merge pull request #1442 from asarium/fix/noWarningStacktrace
Remove stack trace from warning dialogs
2017-08-23 03:46:21 -07:00
asarium c5dcaf88d8 Actually compress the source archive
The previous command simply created a tar with a tar.gz ending which is
wrong. This fixes that.
2017-08-23 12:45:47 +02:00
MageKing17 55558cc608 Merge pull request #1437 from asarium/fix/unixSources
Build Unix source package before configuring
2017-08-23 03:44:43 -07:00
MageKing17 addc3ef383 Allow countermeasures to pulse at regular intervals instead of globally.
Adds a new "+Pulse Interval:" countermeasure field that enables the new behavior; all countermeasures that don't have this field defined still use the old behavior of the global frame counter.

This changes countermeasure logic quite a bit, but I attempted to mitigate performance implications by re-using an existing traversal of the object list in order to build the list of active countermeasures each frame. If any countermeasures are actively pulsing in a frame, the object list is traversed again, looking for homing weapons. Each homing weapon then goes through the active countermeasure list and checks to see if it got decoyed. Most of this central logic is unchanged from the old behavior, although no longer separated into two functions, and it should be more efficient since it's using a prepared list of active countermeasures instead of traversing the object list looking for countermeasures for every homing missile (which are themselves found by traversing the object list).
2017-08-23 03:39:48 -07:00
MageKing17 2c1abf78d1 Merge pull request #1443 from asarium/build/versionBump
Bump development version after final release
2017-08-23 03:37:14 -07:00
asarium 77c950ccd4 Bump development version after final release 2017-08-23 09:48:36 +02:00
asarium b160184f5b Remove stack trace from warning dialogs
It serves no purpose there since it's a message specifically designed to
be seen by modders and most times the stack trace doesn't even contain
useful information since there are no debug symbols present.
2017-08-23 00:02:28 +02:00
m!m b1b197cc9a Merge pull request #1440 from ln-zookeeper/asteroid_null_vec_fix
Fix for a null vector normalization
2017-08-21 09:54:09 +02:00
Lari Nieminen 941b7298cc Fix for a null vector normalization
If the asteroid split rules were used and the asteroid speed happened to be 0 (for example if the field has an average speed of 0), the code would try to normalize a null vector. Now, a random vector is chosen in those cases.
2017-08-21 10:09:18 +03:00
asarium f8d0a9bc7d Remove most remaining OpenGL header includes 2017-08-18 17:53:23 +02:00
asarium 72fa41a284 Use the generic rendering interface for cutscenes 2017-08-18 17:53:23 +02:00
asarium 72a797f732 Move 4 bit color conversion out of graphics code
Currently, the graphics code does some color remapping on 8
bit-per-pixel textures since those textures use special 4-bit pixel
values. These changes move that conversion out of the graphics code and
into the image loading/font bitmap creation code.

The reason this is needed is because this conversion breaks 8-bit
textures that try to use the full range of colors. I need to do exactly
that for moving the cutscene renderer to our generic rendering interface
which I can't do at the moment since the existing color conversion
corrupts the video data.

I have tested this with retail data and could not find any visual
changes after applying these changes.
2017-08-16 17:20:32 +02:00
asarium 2b0ec7161a Build Unix source package before configuring
The previous version included the make files which increased the size of
the package.
2017-08-15 10:18:09 +02:00
m!m 637a9621f1 Merge pull request #1436 from Goober5000/pr_922_followup
fix typo in AI flag conversion
2017-08-14 23:41:44 +02:00
Goober5000 70c5aa88f2 then again, we should really assert on both 2017-08-11 18:05:13 -04:00
Goober5000 1857f9b928 fix typo in AI flag conversion 2017-08-11 17:53:42 -04:00
asarium 90c23c007c Add config option for setting the FF strength 2017-08-10 10:09:02 +02:00
Fabian Woltermann fb4169ba9f Merge pull request #1429 from asarium/fix/ffEffectStrength
Lower Afterburner force feedback effect strength to previous levels
2017-08-08 14:35:35 +02:00
asarium 4648721674 Add mod table parsing to qtfred initializers 2017-08-04 20:04:54 +02:00
asarium ae4a7319e5 Add About dialog 2017-08-04 15:13:16 +02:00
asarium 3c7f7f9df0 Add error checker action 2017-08-04 14:13:47 +02:00
asarium e11250f7e8 Add subsystem selection actions 2017-08-04 13:28:36 +02:00
asarium 24dec72f41 Add control object action 2017-08-04 10:55:50 +02:00
asarium 89c36b68c7 Add Align object action 2017-08-04 10:54:56 +02:00
asarium e66d9d1246 Add Level object action 2017-08-04 10:53:27 +02:00
asarium 789135516e Add Misc menu shortcuts 2017-08-04 10:53:27 +02:00
asarium 91b61d446f Add group action support 2017-08-04 10:53:27 +02:00
asarium 8e5aafb6e5 Add delete actions 2017-08-04 10:53:27 +02:00
asarium cb0080bfc1 Add actions for hiding and showing toolbar and statusbar 2017-08-04 10:53:27 +02:00
asarium a03180c46e Add Save camera position action 2017-08-04 10:53:27 +02:00
asarium a18fdd2112 Add support for hiding specific teams 2017-08-04 10:53:27 +02:00
asarium 7c81ac1d86 Improve waypoint dialog layout and behavior
The dialog is not resizable anymore and the combobox is disabled if
there are no entries.
2017-08-04 10:53:27 +02:00
asarium bc7414c403 Improve window title handling 2017-08-04 10:53:27 +02:00
asarium a7418d6dde Add documentation to runAfterInit 2017-08-04 10:53:27 +02:00
m!m f83c2e9cdc Merge pull request #1431 from asarium/qtfred2_/sync
Sync qtFRED branch
2017-08-04 10:52:53 +02:00
asarium 965a327630 Merge branch 'master' into qtfred2_/sync 2017-08-04 09:09:32 +02:00
Fabian Woltermann 1448256140 Merge pull request #1430 from asarium/fix/nightlyDeploy
Fix Travis CI nightly deploy
2017-08-03 18:02:11 +02:00
asarium 7de592bf9b Fix Travis CI nightly deploy
I have no idea why this doesn't work anymore. I didn't even touch that
line when I added the test build stuff...
2017-08-03 17:18:48 +02:00
asarium 783852a115 Lower Afterburner force feedback effect strength to previous levels
This was suggested by taylor on the forums and should match the previous
values more closely.
2017-08-03 08:55:50 +02:00
Tyler Blount c9bb3f4caa Merge pull request #1428 from asarium/qtfred2_/dev
Add ship selection dialog
2017-08-02 01:12:36 -06:00
Fabian Woltermann 84fd7123a5 Merge pull request #1420 from asarium/fix/1417
Restart spring effect after stopping all FF effects
2017-08-02 08:23:26 +02:00
asarium 3e1b020bf5 Add local rotate action 2017-07-31 13:02:56 +02:00
asarium 60d6aaccec Add orbit rotate functionality 2017-07-31 12:57:28 +02:00
asarium 18a957e8bf Fix list selection 2017-07-31 10:20:55 +02:00
asarium ad7bddfd41 Copy old mission load code to qtFRED 2017-07-30 17:50:56 +02:00
asarium a90d859891 Add object selection dialog 2017-07-30 17:37:35 +02:00
m!m ff9d06cfe1 Merge pull request #1427 from The-E/weaponloadout_fix
Fix error message for failure to load mask file in weaponloadout
2017-07-28 10:16:46 +02:00
Fabian Woltermann a158029120 When loading the mask file fails, correctly report which file we were trying to load. 2017-07-27 22:53:33 +02:00
m!m 96e8d5b66e Merge pull request #1426 from Goober5000/issue_1425_fix
for backwards compatibility, check both no-collide and no_collide
2017-07-26 15:41:47 +02:00
asarium 85fd0b0498 Restart spring effect after stopping all FF effects
SDL_HapticStopAll stops all effects, including the spring effect so the
joystick goes limp after one mission (joy_ff_stop_effects gets called at
the end of each mission).

This restarts the spring effect which should fix that issue.

This fixes #1417.
2017-07-26 11:00:50 +02:00
Fabian Woltermann 5d3e6789e6 Merge pull request #1422 from asarium/build/ciTestBuilds
Add support for building test builds on the CI servers
2017-07-26 10:59:56 +02:00
Goober5000 b8e5a395dd for backwards compatibility, check both no-collide and no_collide 2017-07-25 18:44:41 -04:00
asarium 1a1c3df379 Add support for building test builds on the CI servers
Any branch starting with "test/" will cause test builds to be compiled
and uploaded to fs2downloads. This will only work for the main
repository since the secure variables for the FTP credentials only work
for that repository.
2017-07-25 11:37:11 +02:00
Fabian Woltermann 0dc0d67c76 Merge pull request #1421 from asarium/build/releaseSources
Build a compressed package of the source as part of a release
2017-07-24 15:29:16 +02:00
asarium 0edb360fc2 Build a compressed package of the source as part of a release
This package will include the externals which are not present in the
default GitHub export.
2017-07-24 10:53:40 +02:00
Fabian Woltermann 1743e5f5d4 Merge pull request #1419 from ln-zookeeper/on_ship_arrive_wing_fix
Fixed $On Ship Arrive hooks not firing on wing arrivals
2017-07-23 17:09:21 +02:00
MageKing17 ed3f07284d Merge pull request #1418 from The-E/shader_normal_fix
Fix bug in normal map rendering
2017-07-23 06:07:55 -07:00
Fabian Woltermann c1b222ffd5 Old calculation apparently correct, just needs clamping applied. 2017-07-22 20:25:52 +02:00
Fabian Woltermann 3503b9214b Remove unnecessary punctuation 2017-07-21 20:06:53 +02:00
Lari Nieminen aff8cc8095 Fixed $On Ship Arrive hooks not firing on wing arrivals 2017-07-20 16:13:20 +03:00
Fabian Woltermann 884581a836 Reapply the fix from https://github.com/scp-fs2open/fs2open.github.com/commit/8e0304a5 2017-07-20 12:20:44 +02:00
asarium 841872aae0 Add mod table setting for specifying targetted FSO version
This adds a small system for letting a mod specify which version of FSO
was designed for. That would allow us to introduce code which would
normally break backwards-compatibility by putting it in an if block
which checks if the mod supports the FSO version which ontroduced the
behavioral change.

There is currently no code which uses the new functions yet so I added a
few tests to verify that the options do what they are designed to do.

This fixes #1389.
2017-07-14 20:09:29 +02:00
Fabian Woltermann 98af9dd903 Merge pull request #1404 from Goober5000/debug_sexp_tweak
minor enhancements to the debug sexp
2017-07-13 18:05:34 +02:00
m!m ea37b3cb17 Merge pull request #1411 from Goober5000/issue_1400_followup
use IS_VEC_NULL for floating point safety, plus a few minor touchups
2017-07-11 14:45:03 +02:00
m!m 9b1e9600ce Merge pull request #1410 from asarium/qtfred2_/dev
Add form and disband wing actions
2017-07-10 09:44:25 +02:00
Fabian Woltermann 3035a868ab Merge pull request #1401 from asarium/fix/ttfSpecialCharacters
Correctly apply scaling to TTF rendered strings
2017-07-09 20:48:12 +02:00
Goober5000 a88c50b6f2 per comments, allow variable replacement in plain strings as well 2017-07-09 14:31:36 -04:00
Goober5000 ac24ca9fd3 use IS_VEC_NULL for floating point safety, plus a few minor touchups 2017-07-09 14:11:42 -04:00
asarium 07a806e01f Clear mission on load 2017-07-09 13:25:38 +02:00
asarium ccd33eb50f Add zoom toolbar actions 2017-07-09 13:23:53 +02:00
asarium 1805c77f7c Add disband wing action and update enabled status 2017-07-09 12:46:26 +02:00
MageKing17 d085951767 Merge pull request #1400 from asarium/fix/fredInvalidIndex
Fix invalid indexing in object orientation editor
2017-07-09 03:42:04 -07:00
MageKing17 c3f19631ce Merge pull request #1402 from asarium/fix/profilingAssert
Discard non-main thread events for the frame profiler
2017-07-09 03:41:10 -07:00
m!m ca9eff3bc5 Merge pull request #1405 from MageKing17/bugfix/ani-unloading
Fix unloading streaming ANI files.
2017-07-09 12:36:55 +02:00
MageKing17 0a19616bc9 Correct inconsistency in anim_load() regarding memory-mapped files.
In commit 735f5e199b randomtiger changed how anim_load() worked in seemingly-bizarre ways, for reasons unclear to me. In brief, a condition's logic was reversed, a three-value enum was created of which only one value was used, and as a result loose files passed to anim_load() (and only loose files) would be opened as "memory-mapped", one consequence of which is that they'd keep a cfile block open until the corresponding call to anim_free() (which means that, if a mission had enough different loose animations, the cfile block limit could be reached). Since files in packfiles behaved the same way they always had (namely, being loaded into memory and then closed, thereby not taking up a cfile block), apparently nobody noticed the difference, and this inconsistent code has stayed for the past 13-and-a-half years.

This commit changes the condition after the one changed in the older commit so that they both match, then changes the enum so that the seemingly-meaningless third value is removed, and the other two values are swapped (and the default value of the file_mapped parameter to anim_load() changed) so that the original Volition behavior is restored.
2017-07-09 02:39:40 -07:00
asarium 481ebec316 Add form wing action
This also introduces the new generic dialog system which should allow
the mission code to open specific dialogs without depending on the
actual Qt implementation.
2017-07-09 10:25:06 +02:00
m!m 99d8b19ee8 Merge pull request #1408 from TRBlount/qtfred2_dialogs
Add Mission Specs Editor
2017-07-08 11:12:35 +02:00
TRBlount 5adc3216df Fix CI compilation on Linux and Windows Debug 2017-07-08 02:21:18 -06:00
TRBlount 55f39e088d Use Dialog Provider and fix some model functions 2017-07-08 02:04:36 -06:00
TRBlount 71b572b7f4 Fix CI issues 2017-07-07 17:58:18 -06:00
TRBlount c1908669d9 Finish Custom Wing Name Editor 2017-07-07 16:31:29 -06:00
m!m 255e9aa21e Merge pull request #1406 from asarium/build/nightlySFTP
Fix SFTP path and mac upload
2017-07-07 23:31:09 +02:00
TRBlount a9d25fd18d Add Custom Wing Model 2017-07-07 14:37:00 -06:00
TRBlount 72c5d17739 Add Custom Wing dialog 2017-07-07 13:59:53 -06:00
asarium 550f459747 Fix SFTP path and mac upload 2017-07-07 18:03:07 +02:00
TRBlount ecf10d8227 Fix comments and add Command Messages 2017-07-07 04:18:11 -06:00
TRBlount 8ab448dd70 Move to modification system
Alerts the user whenever they have unsaved changes
2017-07-07 03:16:21 -06:00
TRBlount ea53cff723 Add Mission Spec Model 2017-07-07 02:37:58 -06:00
MageKing17 6da72bb1a0 Fix inverted order of unloading streaming ANI files.
When streaming an ANI file, first anim_load() is called, then init_anim_instance(). The latter increments the animation's instance_count. If anim_free() is called on an animation that still has instances, it refuses to free the animation. generic_anim_unload() first called anim_free(), then free_anim_instance().

The fact that ANI files would ever unload at all seems to be because some code would unload twice. I can only assume that, combined with the fact that the bug only applies to ANI files, explains how this bug went undetected since November of 2009 (commit b43417882f seems to be when it was added, from a quick glance at git blame).
2017-07-07 01:23:20 -07:00
MageKing17 c7fbefeb58 Remove potentially-harmful condition in message_mission_free_avi()
If we tell it to free up the animation, I think it should happen regardless of whether or not the HUD_TALKING_HEAD gauge is currently active or not. Also, unloading an animation shouldn't crash even if one wasn't loaded in the first place... and if it does, we should probably fix that instead of slapping a band-aid on the calling function.
2017-07-07 01:18:09 -07:00
Goober5000 98e316bca6 minor enhancements to the debug sexp 2017-07-07 01:25:54 -04:00
Cliff Gordon 78a1e5baab Merge pull request #1403 from asarium/build/nightlySFTP
Compile curl with SSH support for nightly deploy
2017-07-06 15:17:48 -05:00
asarium 080ce8419a Compile curl with SSH support for nightly deploy 2017-07-06 17:58:48 +02:00
asarium 06e9248079 Discard non-main thread events for the frame profiler
The old code is not able to handle multi-threaded events so this change
simply filters out all the events that originated from another thread.

This fixes an Assertion caused by an invalid event.
2017-07-06 10:10:52 +02:00
TRBlount 407888641c Modify UI to use correct components
Some misuse of Spin Boxes and Line Edits
2017-07-05 18:40:36 -06:00
asarium e04c60ed6f Align special characters to the base line of the rendered string 2017-07-05 18:13:45 +02:00
TRBlount ac554f24c2 Fix include formatting and Combo Box issues 2017-07-05 02:27:42 -06:00
TRBlount 56670b2ed7 Figure out QFileDialogs, issues with AI Profile Box 2017-07-05 02:19:16 -06:00
asarium 81d9ca8e4a Correctly apply scaling to TTF rendered strings
This fixes weird misplaced special characters since the TTF strings
weren't rendered at the right position. This should fix that.

This fixes an issue reported on the forums by Novachen.
2017-07-05 09:09:38 +02:00
TRBlount 7e26955853 Figure out text cursors 2017-07-04 19:30:54 -06:00
TRBlount c085eef9a0 Update UI file and setup mission flags 2017-07-04 02:15:14 -06:00
asarium bf2ca61e5a Fix invalid indexing in object orientation editor
This could happen if the user enabled "Point to" and selected "Object"
without having an object selected. This can only happen when there is
only one object in the mission so it's only a minor bug but still
something worth fixing.
2017-07-03 20:11:06 +02:00
TRBlount 8061125d84 Continue implementation
Some data actually saves now
2017-07-03 08:21:48 -06:00
asarium 72013d4c31 Use unique_ptr for storing HUD gauge pointers
The previous system used naked pointers which probably worked fine but
this should give us some extra memory-leak security.
2017-07-03 12:52:39 +02:00
TRBlount 93b1c0df17 Get dialog to close on accepted and rejected 2017-07-03 00:55:31 -06:00
TRBlount 41f889e55d Add Mission Spec Editor and begin implementation 2017-07-02 17:46:00 -06:00
Goober5000 416d45d060 deprecate string-concatenate since it's now redundant 2017-07-01 23:05:48 -04:00
Goober5000 18be4e854c add string-concatenate-block, which is a better design than the original string-concatenate 2017-07-01 23:05:48 -04:00
Tyler Blount 7d92178777 Merge pull request #1398 from asarium/qtfred2_/dev
Add object orientation editor
2017-07-01 16:54:35 -06:00
asarium ac69bd5712 Remove dialog test code 2017-07-01 23:47:15 +02:00
asarium d6b6ea715a Add Object orientation and location editor 2017-07-01 23:42:04 +02:00
Fabian Woltermann ffe647be79 Merge pull request #1393 from asarium/build/gitHubPrebuilts
Use GitHub prebuilt URL
2017-07-01 14:09:02 +02:00
Fabian Woltermann fff2e6d1fc Merge pull request #1394 from Goober5000/issue_1381_followup
Use the already-determined sexp argument type
2017-07-01 14:08:22 +02:00
Fabian Woltermann 23e46ae7c4 Merge pull request #1395 from Goober5000/issue_1256_followup
Better handling of positive/negative discrepancy as well as finding sexp node arguments
2017-07-01 14:07:57 +02:00
MageKing17 74d270270e Merge pull request #1397 from ngld/fix_shockwave_load
Fix "Error: Can't open model file <shockwave.pof>" on second mission load
2017-06-29 14:36:00 -07:00
ngld df69d195fe Fix "Error: Can't open model file <shockwave.pof>" on second mission load 2017-06-29 21:10:56 +02:00
asarium 8c59b06b59 Add form for object orientation editor 2017-06-29 08:57:13 +02:00
Goober5000 6c871ac339 better handling of positive/negative discrepancy as well as finding sexp node arguments 2017-06-29 01:56:55 -04:00
Goober5000 24afebb808 instead of manually checking the sexp operator and argument number, just use the already-determined argument type 2017-06-28 19:10:14 -04:00
Tyler Blount e59d31d66e Merge pull request #1392 from asarium/qtfred2_/dev
Add waypoint editor
2017-06-28 01:28:31 -06:00
asarium 19c01563ca Add missing files 2017-06-28 08:52:28 +02:00
asarium 80f1f50582 Add edit popup menu and double click handling 2017-06-27 23:47:36 +02:00
asarium a057e111ba Add fully working waypoint editor
This is the first editor that is functional and uses.
2017-06-27 23:44:43 +02:00
asarium b45998b58d Add waypoint editor dialog form 2017-06-27 23:35:55 +02:00
Fabian Woltermann 6aac8c7bde Merge pull request #1391 from asarium/fix/specialCharacterFontAssertion
Fix Assertion when default Volition font could not be found
2017-06-27 16:00:11 +02:00
asarium a2da77e14c Fix Assertion when default Volition font could not be found
Instead, this will now cause a Warning when the issue is detected while
parsing the table and an Error when it still occurs at runtime.
2017-06-27 11:56:20 +02:00
Fabian Woltermann 7ca6b679b7 Merge pull request #1390 from asarium/fix/luaWhitespace
Ignore leading whitespace for gr.drawString
2017-06-27 09:36:46 +02:00
asarium 3d6bbb0b9b Ignore leading whitespace for gr.drawString
This was reported by @AxemP who wanted to have leading tabs in a text
line. However, split_str removed those characters by default since it
ignores leading whitespace. To fix that unexpected behavior of
gr.drawString I added a new paramter to split_str which disabled
whitespace removal and enabled that flag for the scripting function.

That should not be a problem for existing scripts since the expected
behavior would be that leading whitespace remains in place and since we
have not received any bug reports about missing white space I'm going to
assume that no one has used the function like this before removed those
characters by default since it ignores leading whitespace. To fix that
unexpected behavior of gr.drawString I added a new paramter to split_str
which disabled whitespace removal and enabled that flag for the
scripting function.

That should not be a problem for existing scripts since the expected
behavior would be that leading whitespace remains in place and since we
have not received any bug reports about missing white space I'm going to
assume that no one has used the function like this before.
2017-06-25 17:19:40 +02:00
asarium a912956601 Use GitHub prebuilt URL 2017-06-24 13:33:09 +02:00
m!m a769a7ef87 Merge pull request #1388 from Goober5000/sexp_targeted_fix
fix an old Volition bug in the targeted sexp
2017-06-24 09:20:43 +02:00
m!m 991e09006e Merge pull request #1387 from Goober5000/small_error_msg_fix
Small improvement in error messages in stuff_int_list and mark_int_list
2017-06-24 09:17:01 +02:00
Goober5000 3e6c3f6f62 this actually affects subsystems too 2017-06-24 01:05:08 -04:00
Goober5000 2ee3dd70ea fix an old Volition bug in the targeted sexp 2017-06-24 00:56:25 -04:00
Goober5000 c259dfb9cd improve error messages 2017-06-23 23:32:57 -04:00
m!m 2947c7972d Merge pull request #1386 from MageKing17/bugfix/opengl-framebuffer-warning
Get rid of OpenGL warnings about the framebuffer being unsupported.
2017-06-22 08:44:39 +02:00
MageKing17 eda8c65b58 Get rid of OpenGL warnings about the framebuffer being unsupported.
At least on NVidia drivers, the medium-severity warning "Framebuffer unsupported. Framebuffer object Scene framebuffer is unsupported because the depth and stencil attachments are mismatched." would get repeatedly output to the debug log. @SamuelCho suggested this change, which gets rid of the warnings and doesn't appear to have introduced any graphical glitches.

Fixes #1382.
2017-06-21 14:50:41 -07:00
m!m 186f8ff5b9 Merge pull request #1376 from z64555/cleanup/lua_reporting
Adds LUA versioning and copyright info to the scripting.html output
2017-06-21 08:45:40 +02:00
m!m c86c4c3822 Merge pull request #1385 from MageKing17/bugfix/message-shipnum-ship-vanish
Avoid faulty assumption in message bracket code.
2017-06-21 08:42:22 +02:00
m!m bea9d56feb Merge pull request #1384 from MageKing17/bugfix/collision-group-sexp
Fix removing a collision group via SEXP.
2017-06-21 08:41:41 +02:00
Goober5000 dc6d2be515 Merge pull request #1381 from Goober5000/fix_default_operator_for_modify_variable
Fix handling of arguments for sexps that use variables
2017-06-21 01:49:31 -04:00
Tyler Blount 298ec5519c Merge pull request #1383 from MageKing17/bugfix/profiling-category-duplicate
Fix duplicate tracing/profiling category.
2017-06-20 21:02:24 -06:00
MageKing17 7025e3443e Avoid faulty assumption in message bracket code.
This assertion could apparently be hit if a ship was vanished (e.g. with ship-vanish) in the middle of talking. Rather than making the vanishing code aware of (and responsible for) Message_shipnum, it seemed simpler to just make hud_show_message_sender() clear the invalid shipnum itself.
2017-06-20 19:20:41 -07:00
Tyler Blount 88b87b86fc Merge pull request #1378 from asarium/fix/fredHasShields
Fix inverted "Has shields" flag in initial status dialog
2017-06-20 19:54:05 -06:00
asarium b34ca3cfed Fix handling of inconsistent values in initial status editor
The flagset changes probably broke this behavior by not respecting the "inconsistent" value set by the OnInit function when ships have inconsistent values for a specific flag. This should fix that and restore the 3.7.4 behavior.
2017-06-20 20:01:57 +02:00
z64555 1b2eece53a Adds LUA versioning info to the scripting.html output
* Credits roll now grabs the LUA copyright info from liblua, instead of being hardcoded
* Credits roll now has LUA version info as well
2017-06-20 08:22:25 -05:00
m!m 472a3f09f7 Merge pull request #1380 from TRBlount/qtfred2_dialogs
Add Team Loadout and Mission Objective editors
2017-06-20 08:48:06 +02:00
Goober5000 e8313fa577 fix handling of arguments for sexps that use variables 2017-06-19 20:04:15 -04:00
TRBlount d6c4ff374c Update Team Loadout and Mission Objective Editors
Changes the above editors to use dialog button boxes and spacer widgets
instead of min/max sizes.
2017-06-18 00:57:23 -06:00
TRBlount b14c12befa Add Mission Goal and Team Loadout Dialogs 2017-06-18 00:57:23 -06:00
Tyler Blount 2d7606740a Merge pull request #1377 from asarium/qtfred2_/dev
Add object creation and drag movement of ships
2017-06-18 00:57:00 -06:00
asarium 5a8454e956 Fix inverted "Has shields" flag in initial status dialog 2017-06-17 18:18:12 +02:00
asarium 1712a42807 Add abstracted dialog system 2017-06-17 15:52:36 +02:00
MageKing17 f6b1eaa846 Fix duplicate tracing/profiling category.
Cutscene audio decoding was accidentally named "FFmpeg decode video", causing some minor problems in the profiling code (because the same name is used for actual video decoding, resulting in an assertion firing).
2017-06-15 16:16:29 -07:00
MageKing17 d20ff9b367 Fix removing a collision group via SEXP.
sexp_manipulate_colgroup() was using logical NOT when it should've been using bitwise NOT, meaning that removing any collision group would remove all collision groups.
2017-06-15 15:49:51 -07:00
MageKing17 a3ab30cd96 Merge pull request #1374 from TRBlount/fix/lua_weapon_team
Make l_weapon use IFFs in Team var
2017-06-14 15:22:52 -07:00
asarium f811d7591f Remove the need to specify the editor pointer 2017-06-14 17:56:30 +02:00
asarium 7e9f0c8e6f Connect toolbar button for showing distances 2017-06-14 17:46:33 +02:00
TRBlount 48f76f7cd1 Fix l_weapon Team set var logic 2017-06-13 20:31:51 -06:00
asarium 255814dd4f Fix warning 2017-06-13 11:38:10 +02:00
asarium e076aa6990 Add briefing editor to main window and fix layout 2017-06-13 11:14:16 +02:00
asarium 16d48fbf1b Port object moving and creation code 2017-06-13 10:56:44 +02:00
Tyler Blount 937de9355b Merge pull request #1373 from asarium/qtfred2_/dev
qtFRED development changes
2017-06-12 00:57:55 -06:00
asarium 947b25e2cc Add executable icon 2017-06-11 23:20:02 +02:00
asarium e6f92f316a Move Briefing editor dialog to correct folder 2017-06-11 22:08:42 +02:00
asarium f65de9bb43 Fix compilation warning 2017-06-11 20:04:42 +02:00
asarium 956e908b6e Separate editor viewport state into separate class
This moves all the data related to the editor state that is not directly
connected to the renderer into its own class and file. This should
resemble the fredrenderer <-> fredview separation in the original FRED.
2017-06-11 20:04:41 +02:00
asarium 0442c1c6ac Fix case of Editor file 2017-06-11 20:04:40 +02:00
asarium 1a3b14316d Move init and shutdown stuff out of editor.cpp 2017-06-11 20:04:38 +02:00
asarium 350e8a2cf5 Add various selection modes including box selection 2017-06-11 20:04:37 +02:00
asarium 4cd9993640 Add Event dialog code 2017-06-11 20:04:36 +02:00
asarium 41137fedbd Begin adding dialog infrastructure 2017-06-11 20:04:34 +02:00
asarium 52901e7351 Add viewpoint status label 2017-06-11 20:04:33 +02:00
MageKing17 eb165123ac Merge pull request #1371 from MageKing17/bugfix/3d-framebuffer-shockwaves
Fix combining 3D shockwaves with framebuffer shockwaves.
2017-06-10 14:33:13 -07:00
MageKing17 526076f8ff Add AVX2 to the list of supported MSVC compiler optimizations.
Also adds AVX2 autodetection so that AVX2-capable processors will generate AVX2 projects by default. To my surprise, there is actually a noticeable performance increase between AVX and AVX2 builds.
2017-06-10 14:19:19 -07:00
MageKing17 c30ce55942 Fix combining 3D shockwaves with framebuffer shockwaves.
If framebuffer shockwaves were enabled and a 3D shockwave was created, FSO would use a hardcoded reference to the second slot of the Shockwave_info vector to generate the framebuffer shockwave for it. This only makes sense if and only if:
- the 3D shockwave command-line flag is also enabled
- the default 3D shockwave and default 2D shockwave are both present and loaded
- its the first mission of the session (because after that any shockwave not in the 0th index got unloaded)

I've changed the code so that which index the default 2D shockwave got loaded into gets tracked and used instead of a hardcoded index... and if both default shockwaves are loaded, the first two Shockwave_info indices are both kept between missions instead of just the first. This should allow framebuffer shockwaves to work with 3D shockwaves, regardless of whether or not it's the first mission of the session and whether or not a custom 2D shockwave was loaded (and happened to wind up at index 1). Slight downside in that missing the default 2D shockwave file, but having a custom 2D shockwave loaded, will now result in framebuffer shockwaves not being drawn at all, rather than using the custom 2D shockwave by accident; not sure that's really all that much of a problem, though.
2017-06-10 10:38:02 -07:00
m!m 8236a7d7f8 Merge pull request #1370 from TRBlount/Briefing_Editor
Add Briefing Editor Dialog
2017-06-10 11:42:44 +02:00
Tyler Blount 70e63dcf6c Fix include casing 2017-06-10 02:45:47 -06:00
TRBlount 557ff6be1d Add Briefing Editor Dialog 2017-06-10 01:37:16 -06:00
m!m 95896e6ec7 Merge pull request #1369 from asarium/qtfred2_/dev
Update qtFRED development files
2017-06-10 09:22:34 +02:00
m!m 9447d74da8 Merge pull request #1367 from Goober5000/invisible_beam_section_fix
Invisible beam section fix
2017-06-09 23:51:31 +02:00
asarium e6acd9a313 Add current ship control mode
Also fixed infinite recursion in key handler.
2017-06-09 23:16:06 +02:00
asarium c1cb978687 Fix context menu of RenderWindow 2017-06-09 18:58:53 +02:00
Goober5000 043e6a79a8 remove debug conditions when we are not in debug mode 2017-06-09 12:55:32 -04:00
Goober5000 97416feb2a Merge pull request #1368 from asarium/fix/1366
Remove abort call from debug_int3
2017-06-09 12:48:27 -04:00
asarium 51698af1b0 Add viewpoint switching 2017-06-09 13:57:30 +02:00
asarium 9d3659cf88 Fix UI file compilation 2017-06-09 11:34:52 +02:00
asarium 3eddce06dd Add buddies settings to EventDialog form 2017-06-09 11:19:11 +02:00
asarium 9c75a2178c Remove unneeded variable name parameter in CMake config 2017-06-09 11:05:17 +02:00
asarium d26253c5f8 Add an application icon
It's currently the normal FRED icon.
2017-06-09 10:55:28 +02:00
asarium aac3bbde8e Remove abort call from debug_int3
This fixes #1366.
2017-06-09 10:19:48 +02:00
asarium 6b5cac174a Add dialogs folder 2017-06-09 10:11:51 +02:00
asarium 1f39915a5e Add Event editor dialog form 2017-06-09 10:07:02 +02:00
asarium d60306288b Rebind movement speed shortcuts to fix camera movement 2017-06-09 10:06:55 +02:00
Goober5000 8f3ef45fc9 don't remove invisible beam sections 2017-06-08 22:18:02 -04:00
Goober5000 762997fc7d copy over more verbose assertions from light_add_cone 2017-06-08 22:17:24 -04:00
asarium 305e71e290 Copy display_distances code to fix rendering bug 2017-06-08 22:55:20 +02:00
asarium befe668c8b Remove deleted file from CMake config 2017-06-08 19:28:42 +02:00
asarium 25e87fb8a0 Use a timer with a 5 millisecond interval for our idle function
It uses less resources than the 0-interval timer.
2017-06-08 19:22:21 +02:00
asarium 9a11f232f6 Call super function in event filter 2017-06-08 19:11:01 +02:00
asarium 49a37ccf91 Fix view speed changing 2017-06-08 19:08:52 +02:00
asarium ee8d03b4cf Fix onIdle behavior 2017-06-08 19:07:02 +02:00
asarium 16b80faaaf Fix Travis CI warnings 2017-06-08 18:42:13 +02:00
asarium 0f7810fdb4 Add support for changing movement speed 2017-06-08 16:19:30 +02:00
asarium f85dfbb048 Add support for hiding objects
Also cleaned up some parameter handling
2017-06-08 15:32:47 +02:00
asarium 96ed407dd7 Fix endless loop 2017-06-08 13:04:36 +02:00
asarium cd7cf82430 Use render widget as focus proxy to redirect key events 2017-06-08 13:00:14 +02:00
asarium cff16f7b0b Remove object iterator 2017-06-08 12:49:06 +02:00
asarium 1a08bfa3e7 Handle window activation and deactivation 2017-06-08 12:39:45 +02:00
asarium dbc52e2aa7 Add handling of different cursor modes 2017-06-08 12:21:12 +02:00
asarium b1725bae76 Separate RenderWidget and RenderWindow
RenderWindow now only handled rendering and RenderWidget handles GUI
interaction by intercepting all GUI events for the RenderWindow.
2017-06-08 11:08:00 +02:00
asarium 4b10c61a5f Add initial cursor handling 2017-06-08 09:39:28 +02:00
asarium c18220048d Add handling of control constain buttons 2017-06-07 18:53:19 +02:00
asarium 08b8c1d768 Permanently create view popup menu 2017-06-07 17:56:39 +02:00
asarium 0f6a61894a Prevent context menu on the toolbar 2017-06-07 17:22:19 +02:00
asarium 3345aee144 Add viewport context menu
Still not complete but most actions are there already
2017-06-07 17:20:10 +02:00
asarium 207d3e6eba Continually update the view settings 2017-06-07 16:09:36 +02:00
asarium 8be0a19a98 Use a more elegant signal-slot solution for view option handling 2017-06-07 13:02:05 +02:00
asarium b517a47f81 Handle view settings updates 2017-06-07 12:35:51 +02:00
asarium 4afd5d9d1c Use normal event handler instead of event filter for shortcut override 2017-06-07 12:05:56 +02:00
asarium 7eaff0e63f Synchronize view settings with renderer settings 2017-06-07 10:52:10 +02:00
asarium 755df8c38b Fix crash when there is no valid filename 2017-06-07 10:51:56 +02:00
m!m 8357964e53 Merge pull request #1365 from asarium/qtfred2_/dev
Further qtFRED development
2017-06-07 10:38:54 +02:00
asarium e10b431735 Reformat FredView to fix GCC whitespace warning 2017-06-07 09:34:22 +02:00
asarium be5d7cc2cd Move most view parameters into the view struct 2017-06-06 23:42:41 +02:00
asarium 2e016ccffb Add support for storing recent files 2017-06-06 22:52:07 +02:00
asarium 4305649a64 Use standard key combinations for common actions 2017-06-06 22:51:42 +02:00
asarium 27c971a92b Actually fix MSVC 2013 compilation 2017-06-06 10:12:35 +02:00
asarium 1e1c8c7cb8 Actually add event based redrawing 2017-06-06 10:07:00 +02:00
asarium 94bb727ebe Fix MSVC 2013 compilation 2017-06-06 09:45:37 +02:00
MageKing17 43a46641eb Merge pull request #1364 from The-E/UnknownShips
Handle ships removed from play via ship-vanish correctly in ai goal processing
2017-06-05 20:58:40 -07:00
m!m 884259fc14 Merge pull request #1360 from asarium/qtfred2_/editorSignals
Add signals to Editor class and implement window title switching
2017-06-05 21:47:19 +02:00
asarium 0b6a3115a7 Load debug filer file at startup 2017-06-05 19:13:52 +02:00
asarium ec6a786654 Create default ship on mission start 2017-06-05 18:02:16 +02:00
Fabian Woltermann 47bd990bca Handle ships removed from play via ship-vanish correctly in ai goal processing. 2017-06-05 15:00:10 +02:00
asarium a3744d8818 Fix installation step for FastDebug 2017-06-05 14:51:09 +02:00
asarium 5dc0c0d98d Add the Qt main code to fix compilation issues with FastDebug
This also removed the need to link the runtime dynamically.
2017-06-05 00:34:36 +02:00
asarium ad6551cf38 Override shortcuts when the key is on the key pad
This fixes the movement speed shortcuts
2017-06-04 15:57:12 +02:00
asarium 1cdc0840be Connect Open and New actions 2017-06-04 14:00:28 +02:00
asarium e7f619d65e Refactor render handling and editor separation 2017-06-04 13:44:22 +02:00
m!m ec3313ffea Merge pull request #1363 from MageKing17/bugfix/generic-anim-static-png
Reset generic animation type to BM_TYPE_NONE if APNG processing fails.
2017-06-04 09:40:27 +02:00
MageKing17 f2c099a7a9 Reset generic animation type to BM_TYPE_NONE if APNG processing fails.
Prior to APNG support, a regular non-animated PNG could be used as a still-frame command briefing animation. This started causing a crash when APNG support was added because any PNGs sent through generic_anim_stream() would get ga->type set to BM_TYPE_PNG, then sent through the APNG code... which would determine that they weren't APNGs, throw an ApngException, and generic_anim_stream() would return -1... except that BM_TYPE_PNG would still be set, so that when it later came time to render the still frame in generic_frame_render(), it would be sent through generic_anim_render_variable_frame_delay()... which expected a fully-formed APNG, tried to dereference ga->png.anim, and crashed.

This commit is a simple fix to reset ga->type to BM_TYPE_NONE if APNG processing fails, allowing the still-frame PNG to go through generic_anim_render_fixed_frame_delay(), the code path it used to take, and allowing it to display properly instead of crashing.
2017-06-03 22:07:52 -07:00
asarium 3ddc93fd9d Remove speed shortcuts to fix cmaera controls for now 2017-06-03 11:01:02 +02:00
asarium 6b32bdb732 Make sure our viewport is in use when updating the window 2017-06-02 22:21:09 +02:00
asarium cabc6f6412 Add organization and application names 2017-06-02 19:40:14 +02:00
asarium 164e20ef96 Remove usage of Qt in editor code 2017-06-02 19:24:12 +02:00
asarium d18b97014e Fix Unix compilation 2017-06-02 17:20:28 +02:00
asarium abdf713944 Add manifest for Windows 2017-06-02 17:16:54 +02:00
Fabian Woltermann e6c6cc3864 Merge pull request #1352 from asarium/feature/trackIr64bit
Use TrackIR DLL with 64 suffix when compiling a 64-bit build
2017-06-02 11:10:42 +02:00
asarium 24a3369e9d Make sure member is initialied with a valid value 2017-06-01 23:47:32 +02:00
asarium cb94183629 Implement user name retrieval on Windows 2017-06-01 23:47:15 +02:00
asarium 7ecfa209ca Add Ship class combo box
This is still a few features of the old combobox.
2017-06-01 22:57:42 +02:00
asarium 22105d1e3e Use FredView as the new main window 2017-06-01 21:46:12 +02:00
m!m 5ee1b6d243 Merge pull request #1362 from MageKing17/cleanup/shockwave-vector-usage
Cleaning up the shockwave code's use of vectors and assertions.
2017-06-01 21:24:28 +02:00
MageKing17 3577c005e2 Merge pull request #1357 from asarium/fix/openglIncludes
Remove include of OpenGL header in non-OpenGL code
2017-06-01 12:11:09 -07:00
MageKing17 b2891bfe21 Merge pull request #1361 from MageKing17/bugfix/auto-convergence-min-distance
Allow "+Minimum Distance:" to actually work with automatic convergence.
2017-06-01 12:10:32 -07:00
MageKing17 82aa027d0d Cleaning up the shockwave code's use of vectors and assertions.
After someone tripped an assertion in the shockwave code which provided no details, I found some... questionable vector-related code. I changed all the code I could find that looped through the vector with iterator-based code, converted most Asserts into Assertions for more informative debugging, and added a couple Assertions to check previously-unchecked assumptions (which theoretically should never be tripped, but we'll see). A test build with the vector fixes resulted in the assertion no longer tripping so I'm fairly sure the improper erasure of the vector was causing problems (leftover data from a previous mission with a model number that no longer made sense because the model was unloaded).
2017-06-01 11:38:44 -07:00
asarium 588659a367 Rename frmFRED to match the name of the original FRED name 2017-06-01 11:40:49 +02:00
z64555 423d14c24a Add (another) UI for main window, mainwindow.ui is slated to be removed. 2017-06-01 11:27:42 +02:00
asarium 2f44c3242f Convert XPM to PNG and add images to resources 2017-06-01 11:19:14 +02:00
z64555 1167a4edcb Include art assets for UI 2017-06-01 11:04:40 +02:00
asarium 862010b4e0 Fix Qt config for mac 2017-06-01 10:46:02 +02:00
asarium 95dff1dacf Port mission clear code to qtfred 2017-06-01 10:40:43 +02:00
asarium bc38232f3a Use Qt 5.7 for Travis 2017-05-31 21:55:51 +02:00
asarium a29708ea89 Reformatted FredRenderer 2017-05-31 18:24:08 +02:00
asarium baeb9ac78b Improve handling of fredGlobals 2017-05-31 10:02:37 +02:00
asarium 211b9c9d71 Install custom Qt message handler 2017-05-31 09:44:55 +02:00
asarium 4c05a103fa Improve startup window display
Windows will now only be displayed once startup is complete and not when
the graphics code is initialized.
2017-05-31 00:29:42 +02:00
asarium 540e52ffbc Forward unused keyboard event to render window 2017-05-31 00:08:43 +02:00
MageKing17 902d40f3df Allow "+Minimum Distance:" to actually work with automatic convergence.
The gun convergence code would detect if the target was within the minimum distance and move the predicted target point farther away if so, but wouldn't also alter the dist_to_aim variable to match; since predicted_target_pos is used by the autoaim code while dist_to_aim is what automatic convergence uses, this meant automatic convergence didn't respect the minimum distance at all.

Looks like this was broken in 7bb10d8408.
2017-05-30 09:52:27 -07:00
m!m e82fc4ac2f Merge pull request #1359 from MageKing17/bugfix/rearm-loading-start-sounds
Allow rearm start sound effects to actually play.
2017-05-29 11:41:51 +02:00
MageKing17 71673241fd Allow rearm start sound effects to actually play.
SND_MISSILE_START_LOAD and SND_BALLISTIC_START_LOAD (indices 33 and 200, respectively) could never actually play due to a logic error (they checked that a variable was true and the loop was on the last bank, when those conditions being met earlier in the function set that same variable to false). As far as I can tell, this broke back in 2006 with commit f300716e93.
2017-05-29 01:40:13 -07:00
m!m 0fc55babaf Merge pull request #1356 from asarium/qtfred2
Initial QtFRED source code
2017-05-29 10:10:54 +02:00
Fabian Woltermann f93cb23d43 Merge pull request #1358 from asarium/fix/fastDebugDebugging
Use correct variable when copying linker flags to fast debug
2017-05-29 09:48:36 +02:00
asarium 0415b69407 Use correct variable when copying linker flags to fast debug
This broke the release debugging flag for fast debug which should be
fixed by these changes.
2017-05-29 09:19:18 +02:00
asarium 4ce085cd49 Add signals to Editor class and implement window title switching 2017-05-29 09:18:15 +02:00
asarium 3edb4575d3 Fix Visual Studio 2015 compiler bug 2017-05-28 22:50:25 +02:00
asarium 26af516704 Fix gtest variable for forced shared crt 2017-05-28 18:59:18 +02:00
asarium 668dccf925 Use dynamic runtime and disable FRED compilation 2017-05-28 14:34:35 +02:00
asarium acdf88fdeb Set focus policy for render widget 2017-05-28 14:28:59 +02:00
asarium 577c49eedb Add appveyor qt configuration 2017-05-28 14:08:55 +02:00
asarium 9cd3d80b81 Change setOption usage for Qt 5.2 compatibility 2017-05-28 13:51:48 +02:00
asarium e8316662b8 Improve update behavior 2017-05-28 13:23:59 +02:00
asarium 6a82c1eee7 Reformat file 2017-05-28 13:04:49 +02:00
asarium a309cb51b1 Add assertions for making sure a renderer exists 2017-05-28 13:02:28 +02:00
asarium af60cefbd5 Include QWidget header to fix compilation 2017-05-28 12:35:01 +02:00
asarium 8e2b1f354a Add message if dynamic runtime is not enabled 2017-05-28 12:32:02 +02:00
asarium 1d3ee16198 Remove unused field and fix brace warning
The fields were also unused by the previous FRED renderer so we are not
simply missing the code that used them.
2017-05-28 11:39:26 +02:00
asarium cb7f2a5dfd Remove unused include 2017-05-28 11:23:51 +02:00
asarium 18a621764c Fix warnings in FredRenderer 2017-05-28 10:48:35 +02:00
asarium 22c7e31c8a Merge branch 'fix/openglIncludes' into qtfred2 2017-05-28 10:36:01 +02:00
asarium e4775948d7 Remove include of OpenGL header in non-OpenGL code 2017-05-28 10:35:33 +02:00
asarium 00ff9e8751 Correct message referencing wxFRED 2017-05-28 10:32:15 +02:00
asarium ba26f6e221 Add Travis CI configuration 2017-05-28 10:21:28 +02:00
asarium ed01e155f6 Fix typo 2017-05-28 09:58:17 +02:00
asarium cd110bb2c1 Some minor improvements to the main function 2017-05-28 09:30:00 +02:00
asarium 2c30dbcda6 Add better control of viewport destruction order 2017-05-27 23:51:39 +02:00
asarium 160d49fa82 Remove unused function 2017-05-27 23:03:27 +02:00
asarium 431ad4144f Fix Visual Studio uni test compilation with shared runtime 2017-05-27 23:03:00 +02:00
asarium 2555d11427 Use lambda instead of std::bind 2017-05-27 21:52:54 +02:00
asarium e1882fc314 Add better mechanism for specifying Qt install root 2017-05-27 21:52:30 +02:00
asarium 2804b5d9d3 Update rendering handling. 2017-05-27 20:39:24 +02:00
asarium 2bbe201130 Various changes while trying to find cause for shutdown crash 2017-05-27 19:04:36 +02:00
asarium bbbc08fa87 Fix borders around render widget 2017-05-27 19:04:21 +02:00
asarium a8def1e1b3 Improve CMake setup, now has proper source folder support 2017-05-27 19:02:53 +02:00
asarium 987a442dd6 Reorganize QtFRED file structure 2017-05-27 13:26:30 +02:00
asarium 09d39da97c Remove unneeded renderer initialization 2017-05-27 13:14:11 +02:00
asarium 0a2e6f581b Add commandline parsing
Also fixed some initialization inconsistencies
2017-05-27 11:37:45 +02:00
asarium 98cde8f21f Fix XSTR related crash when loading a mission 2017-05-27 11:05:42 +02:00
asarium 9d22d75ba8 Add claifying comment in main 2017-05-27 11:05:29 +02:00
asarium df095e6bdf Fix various Qt and rendering issues
Now this is actually able to show the mission grid (but mission loading
still fails).
2017-05-27 09:55:06 +02:00
asarium 243f7f7ce8 Disable memcpy checks if third party libraries are used 2017-05-25 23:46:10 +02:00
asarium 32b6696162 Fix qtfred code 2017-05-25 23:42:44 +02:00
asarium ac8befa4e6 Reimport previous qtfred source 2017-05-25 23:42:32 +02:00
asarium 8958de35bc Use TrackIR DLL with 64 suffix when compiling a 64-bit build
This should make it possible to have both DLL version installed at the
same time without causing conflicts.

Combined with the new DLL, this will finally fix #974.
2017-05-18 10:52:25 +02:00
m!m c03dbea7ea Merge pull request #1349 from MageKing17/bugfix/avoid-rank-int3
Avoid Int3() when finding a rank with an out-of-order points value.
2017-05-18 09:11:12 +02:00
MageKing17 9107da8c9c Merge pull request #1351 from asarium/fix/1350
Readd warning dialog counting
2017-05-17 09:55:06 -07:00
MageKing17 1abb1833aa Avoid Int3() when finding a rank with an out-of-order points value.
There's a bit of debug code that checks to make sure all ranks are in ascending point order; if this check fails, FSO calls Int3() instead of trying to describe the problem. I've changed it to a Warning that actually explains the problem, so the modder can fix it.
2017-05-17 09:03:32 -07:00
asarium a2e70b8c5c Readd warning dialog counting
This fixes #1350.
2017-05-17 17:14:12 +02:00
Fabian Woltermann 1029de8073 Merge pull request #1348 from asarium/fix/hudReticleInt3
Remove unneded Int3 in hudreticle.cpp
2017-05-07 17:57:32 +02:00
asarium 3abcb24815 Remove unneded Int3 in hudreticle.cpp
The code works perfectly find without it and it causes issues with a
release campaign so there is no reason to keep it.
2017-05-07 17:20:48 +02:00
m!m 13d68bdfc6 Merge pull request #1347 from MageKing17/bugfix/cmdline-double-parse
Stop parsing cmdline_fso.cfg twice in legacy mode.
2017-05-06 12:05:19 +02:00
Fabian Woltermann de0bbaa4f6 Merge pull request #1339 from asarium/fix/mantis3195
Revert bad fix for Coverity issue
2017-05-06 11:35:39 +02:00
MageKing17 ce569d400e Stop parsing cmdline_fso.cfg twice in legacy mode.
os_init_cmdline() contains the legacy-mode codepath in a conditional, but then doesn't put the non-legacy mode code in an else branch, resulting in cmdline_fso.cfg getting processed twice, leading to e.g. every mod getting loaded twice (which can cause all kinds of issues). This just wraps the non-legacy code in an else branch so that FSO running in legacy mode won't do both.
2017-05-05 17:23:02 -07:00
MageKing17 adb94dc4d2 Merge pull request #1346 from The-E/anim_load_fix
Adds a small sanity check after reading an ani header
2017-05-05 01:17:36 -07:00
MageKing17 916082d910 Merge pull request #1345 from asarium/fix/1344
Save mission flags using correct format specifier
2017-05-05 01:16:36 -07:00
Fabian Woltermann e52f23d45d Adds a small sanity check after reading an ani header 2017-05-04 19:18:06 +02:00
asarium 2dfc086c94 Add unit test for checking numeric conversions 2017-05-02 11:47:21 +02:00
asarium 0a53aff061 Clean up flagset handling of numeric values
This renames the functions exposed by flagset so that it's clear that
64-bit values are returned. This also cleans up usages of wrong format
specified when that value is printed which caused some issues in the
past.

This should also fix #1336.
2017-05-02 10:28:29 +02:00
asarium 2dab381e88 Save mission flags using correct format specifier
The current version simply writes the flagset object as an integer to
the mission file which surely will cause issues.

This fixes #1344.
2017-05-02 09:57:19 +02:00
MageKing17 83514409f3 Merge pull request #1334 from asarium/fix/laserParticleEffect
Fix assertion when applying particle effect to laser
2017-04-26 09:57:08 -07:00
Cliff Gordon 340f39f44d Merge pull request #1343 from asarium/build/appveyorFTPKeys
Fix encrypted login data for appveyor FTP upload
2017-04-26 07:40:24 -05:00
m!m 418a944127 Merge pull request #1341 from chief1983/fix/solaris_math_h
Fix several issues blocking a Solaris compile
2017-04-26 10:19:33 +02:00
asarium 22180c0b45 Fix encrypted login data for appveyor FTP upload
I encrypted those values using my user instead of our SirKnightly
account which meant that the values failed to decrypt. These new values
were encrypted using the SirKnightly user which should allow Appveyor to
upload the nightly builds to our FTP servers.
2017-04-26 10:15:11 +02:00
Cliff Gordon 2949ca2628 Merge pull request #1342 from asarium/build/ftpNightlies
Upload nightly builds to FTP instead of BinTray
2017-04-25 13:54:43 -05:00
asarium dbf952e031 Upload nightly builds to FTP instead of BinTray
Since BinTray may be unreliable as our nightly host @chief1983 and I
decided that it would be best to return hosting to our dedeicated FTP
servers. These changes implement that together with a pending pull
request for the nightly script.
2017-04-25 19:55:34 +02:00
m!m 21cc93ffd6 Merge pull request #1340 from asarium/fix/bintrayKeys
Update BinTray API keys
2017-04-24 20:32:38 +02:00
m!m c06ed08e74 Merge pull request #1338 from MageKing17/bugfix/duplicate-percent-signs
Get rid of duplicate percent signs in the statistics screen.
2017-04-24 20:02:47 +02:00
asarium 89a9932ac5 Update BinTray API keys
While searching for the cause of the rate-limiting of our BinTray
organization, I revoked the API key used by the CI servers in case the
key got compromised somehow. These are the updated keys which should
allow us to upload nightly builds again.

@chief1983 and I are working on a nightly solution which does not
require BinTray but until that works we need these updated keys.
2017-04-24 19:49:22 +02:00
asarium 5b1285e608 Revert bad fix for Coverity issue
fa60c666bc tried to fix an issue reported
by Coverity which was an intentional "issue". This restores the original
behavior which will cause a new coverity issue which can be ignored.

This fixes Mantis 3195.
2017-04-24 11:16:11 +02:00
MageKing17 d5d33379a3 Get rid of duplicate percent signs in the statistics screen.
The problem was caused by an oversight in 07107ce9b2 (namely, that changing some strings from being passed directly to string-formatting to being passed as arguments to a "%s" format-specifier meant that "%%" was no longer needed to get a plain "%" out the other side).
2017-04-23 10:42:25 -07:00
Cliff Gordon accbc1d25d See if this helps with the linking errors for libsocket and libnsl symbols. 2017-04-21 15:12:15 -05:00
Cliff Gordon 8acff8e02c Add the INTEL_LONG define that was added to the other two blocks last year but not to Solaris. 2017-04-21 14:26:13 -05:00
Cliff Gordon 89d13ab774 fix/solaris_math_h: Attempt to work around the version symbol conflict. 2017-04-21 14:08:54 -05:00
m!m 8850efce7f Merge pull request #1333 from oldlaptop/openbsd
Fix the build on OpenBSD
2017-04-16 10:34:56 +02:00
oldlaptop 4b36e3c379 add platform check for std::is_trivially_copyable
Yes, the template instantiation appears necessary for cmake to
 detect the type. If there's a better type for it than int, I'm
 open to suggestions.
2017-04-15 22:06:47 -04:00
asarium c008dfc303 Fix assertion when applying particle effect to laser
The weapon state value of the weapon was updated after the particle
source was created so the source was always invalid which caused an
assertion.
2017-04-14 23:50:12 +02:00
oldlaptop 8f76537b02 s/_L/L_State
The iterator known as _L, besides having an absurdly poor name,
 clashes with standard headers on OpenBSD -current at the time
 of writing. This commit is the minimum needed to build on
 OpenBSD with an updated C++ standard library.
2017-04-13 09:06:48 -04:00
m!m 36ae38a532 Merge pull request #1330 from niffiwan/fix/1329
Tweak autodraw shield bar positions
2017-04-04 09:47:25 +02:00
niffiwan bcf49b9630 Fix const var names & style 2017-04-04 17:10:03 +10:00
niffiwan 654f3545fc Tweak autodraw shield bar positions
See #1329, this makes the rear shields slightly further away from the
front, so that the model clip area matches the area where the shields
are drawn.
2017-04-03 20:10:05 +10:00
niffiwan 37575b2fea Merge pull request #1327 from asarium/fix/1326
Apply clipping planes to passthrough shader
2017-04-01 14:14:33 +10:00
asarium 6ddca15dc5 Apply clipping planes to passthrough shader
This adds support for using clipping planes with the passthrough shader
by passing through the clip equation of the specified plane and then
using gl_ClipDistance for using the built-in clipping capabilities.
2017-03-30 23:26:20 +02:00
Fabian Woltermann 353c28176c Merge pull request #1325 from asarium/fix/1059
Validate seek offsets in cfseek
2017-03-29 14:20:25 +02:00
Fabian Woltermann 4815343854 Merge pull request #1324 from asarium/feature/loadTracing
Add tracing scopes to the mission load code
2017-03-29 10:20:07 +02:00
asarium 4e18f01438 Validate seek offsets in cfseek
Invalid values previously corrupted the internal position counter which
caused crashes on some platforms because the position counter would
overflow in the next read operation. I added some assertions to track
the position counter corruption and it's probably a good idea to leave
them in to catch possible future errors early.

The actual fix was to just ensure that the seek position it always valid
for the file.

This fixes #1059.
2017-03-29 10:17:27 +02:00
asarium abdef9f7b0 Add tracing scopes to the mission load code
This makes it easier to determine what takes the most time while loading
the mission (loading models) and how we could optimize that load time
(optimize model loading).

This is not a bug fix but it also shouldn't cause any regressions since
there are no actual code changes so this could be merged before the
release of 3.8.
2017-03-28 17:23:22 +02:00
Fabian Woltermann f67a42d89e Merge pull request #1319 from asarium/fix/envmapHandling
Improve handling of environment map redrawing
2017-03-26 08:37:50 +02:00
Fabian Woltermann 52b48bd32d Merge pull request #1321 from asarium/opengl/builtInClipPlane
Use built-in OpenGL clip plane instead of custom variant
2017-03-26 08:37:32 +02:00
Fabian Woltermann ad2fcfd22f Merge pull request #1322 from asarium/fix/distortionErrors
Fix OpenGL errors when framebuffer effects are disabled
2017-03-25 20:28:01 +01:00
asarium 507f50cd90 Fix OpenGL errors when framebuffer effects are disabled
This also promotes medium and high severity OpenGL messages to the
general logging category to help troubleshooting in the future.
2017-03-25 19:46:52 +01:00
asarium d91739b41d Use built-in OpenGL clip plane instead of custom variant
The current shaders compute the clip values in the vertex shader and
then discard fragments if those values say that the fragment is clipped.
I don't know why this was done but, as far as I can tell, this behavior
can be fully replaced by using the built-in OpenGL clip-plane feature
which should also reduce the amount of fragment shader invocations. This
won't affect performance too much since we rarely use clip planes but it
seems like the correct thing to do.
2017-03-25 00:05:48 +01:00
asarium b9413a2639 Improve handling of environment redrawing
This should make sure that the environment map is only redrawn if
necessary. In my case that should improve frame times by around 1ms for
the normal case when the environment map doesn't need to be redrawn.
2017-03-22 17:01:28 +01:00
niffiwan e003d08249 Fix lua function documentation 2017-03-20 20:37:38 +10:00
niffiwan bb94d5bcd6 Merge pull request #1196 from asarium/fix/sprintfAttribute
Add format string annotations to all printf style functions
2017-03-20 20:19:43 +10:00
niffiwan c8baf8b344 Don't assume sexp will have all RGB supplied
Fix annoying clang pedantry with union aggregate init lists
2017-03-19 16:01:20 +10:00
niffiwan b5f75af66e Allow tint shader to be controlled by sexp & lua
i.e. the RGB values can be set/changed
2017-03-19 12:52:51 +10:00
m!m 8caaf5c00c Merge pull request #1314 from SamuelCho/macDeferredLightingFix
Reorder fragment shader destination binds to fix Mac deferred lighting.
2017-03-17 16:59:24 +01:00
SamuelCho 7db1861b59 Corrected shoddy copy paste job involving shader program handle in the bind fragment data fix. 2017-03-17 08:28:12 -07:00
SamuelCho fabdc6ab8a Make sure we bind the fragment shader destinations before we link the shader. 2017-03-16 20:41:09 -07:00
asarium 07107ce9b2 Fix newly introduced format warnings 2017-03-15 19:34:11 +01:00
asarium 2a4795596f Add format string annotations to all printf style functions
This should help to catch most if not all printf mistakes since those
can then be caught by our CI.
2017-03-15 19:34:11 +01:00
Samuel Cho caaaf3213d Merge pull request #1313 from asarium/fix/1307
Fix OpenGL distortion map update
2017-03-13 20:05:43 -07:00
asarium e119be513b Fix OpenGL distortion map update
The updated values for the distortion map were rendered too close to the
edge of the screen so they were clipped which meant that there was no
distortion data available. This fixes that by moving the rendered
primitives farther away from the edge. I'm not sure why this worked in
3.7.4, maybe the fixed function rendering used some slightly different
matrix.

I also don't know why this wouldn't work consistently across GPU vendors
but maybe the rasterization rules vary a bit across drivers.

This fixes #1307.
2017-03-13 20:09:08 +01:00
Fabian Woltermann 09524fb9fe Merge pull request #1311 from SamuelCho/renderTargetNoLightingModelFix
Fix for intense glare when rendering a model in a render target with no lighting.
2017-03-13 08:43:51 +01:00
SamuelCho 9b5e7ce19d Clamp the dot product of eye direction and surface normal to prevent intense glare when rendering a model in a render target with no lighting. 2017-03-12 18:36:45 -07:00
niffiwan 25415342ea Add colour-configurable tint shader
FotG needs a tint shader for a feature; basically toggle screen tinting
when a key is pressed as a visual indicator of which mode your ship it
in. Was previously done in a custom shader.
2017-03-12 22:04:33 +10:00
niffiwan e39a8bbed3 Merge pull request #1305 from asarium/fix/lightshaftCockpit
Fix lightshaft rendering with cockpits
2017-03-11 10:29:39 +10:00
niffiwan d224a87828 Merge pull request #1302 from asarium/fix/openglInitError
Extend display device initialization error
2017-03-11 10:29:10 +10:00
m!m 78df244bc7 Extend display device initialization error
This should make it clearer what went wrong.
2017-03-10 23:41:14 +01:00
asarium 6718a1aba8 Fix lightshaft rendering with cockpits
Immediately clearing the z-buffer is definitely not a good way of
saving it for later use. This fixes the lightshaft rendering (which was
broken by my fix in #1282) by removing the depth buffer clear from the
z-buffer restore function. The z-Buffer is cleared anyway before
rendering into it so it shouldn't make a difference.
2017-03-10 23:34:16 +01:00
Samuel Cho 9d7c5a2b17 Merge pull request #1304 from TRBlount/shield_decal_correction
Correct shield decal selection logic
2017-03-10 12:12:39 -08:00
TRBlount f4ccab0f9f Correct shield decal logic 2017-03-10 12:10:45 -07:00
Fabian Woltermann 4bfdb9bdf0 Merge pull request #1299 from asarium/fix/sexpVarNull
Correctly terminate Sexp_variable text with a null byte
2017-03-10 18:59:53 +01:00
asarium 2b9441eeb6 Correctly terminate Sexp_variable text with a null byte
I'm pretty sure that this is a bug since the documentation of
std::string::copy says that it doesn't append a 0 byte so our code would
need to do it manually. Instead, the code appended the 0 byte to the
input buffer which also conflicts with const-correctness (the function
was used on a lua-string buffer which should be const outside Lua).
2017-03-09 18:56:42 +01:00
niffiwan 9b1b3e0a74 Merge pull request #1296 from The-E/RestoreFlagWindows
Restore the flag viewers
2017-03-08 22:48:22 +10:00
niffiwan d7a6a94808 Merge pull request #1297 from The-E/UselessWarningRemoval
Remove a couple of annoying warnings in ship flag parsing
2017-03-08 22:47:13 +10:00
Fabian Woltermann f49cad0e32 Change a few flag warnings that really do not need to be warnings to simple log prints. 2017-03-08 08:56:52 +01:00
Fabian Woltermann d2f853f601 Apparently VS2013's auto doesn't correctly resolve these? 2017-03-08 08:45:42 +01:00
Fabian Woltermann d544d42448 Addressing CI issues 2017-03-08 08:35:54 +01:00
MageKing17 3d027dc7bc Merge pull request #1295 from asarium/fix/outwndHeader
Fix log header printing
2017-03-07 19:10:55 -08:00
Fabian Woltermann 163e9175e9 Cleanup 2017-03-08 00:30:36 +01:00
asarium 91fda5386a Fix log header printing
Due to some initialization order issues the original header string
wasn't printed to the log anymore. This fixes that by initializing
outwnd_inited before doing the initial outwnd_print.
2017-03-07 23:31:47 +01:00
Fabian Woltermann 63e610e07d Rerstore the flag viewers 2017-03-07 22:31:33 +01:00
m!m 26d6e0f56f Merge pull request #1288 from SamuelCho/lightingFixes
Lighting attenuation fixes and deferred tube light stencil test removal
2017-03-07 09:47:49 +01:00
m!m aafbfb7277 Merge pull request #1291 from SamuelCho/materialSetColorFix
Fixed color struct to vec4 color conversion in material class.
2017-03-07 09:47:09 +01:00
SamuelCho 7c4e564c92 Fixed color struct to vec4 color conversion in material class. 2017-03-06 23:50:18 -08:00
SamuelCho fc5895a910 Removed stencil test setup in deferred lighting pass. 2017-03-06 23:25:51 -08:00
SamuelCho 51b4d62007 Merge branch 'master' into lightingFixes 2017-03-06 23:09:52 -08:00
niffiwan 497173d3e2 Merge pull request #1287 from asarium/fix/mantis3193
Output briefing icon lables as XSTRs
2017-03-06 19:40:19 +10:00
SamuelCho 2118cc42f0 Fixed reordered deferred lighting shader operations to ensure attenuation correctness. Killed deferred stencil operations for tube lights. Corrected attenuation in forward rendering shader. 2017-03-05 23:09:44 -08:00
asarium 4a8147dae2 Output briefing icon lables as XSTRs
The briefing icon lables previously just wrote the label string to the
mission files without surrounding it with an XSTR which made is
impossible to translate them. I fixed that by using the right function
call when saving the value.

This fixes Mantis 3193.
2017-03-05 22:00:52 +01:00
Fabian Woltermann c9763b0623 Merge pull request #1286 from asarium/fix/cmakeDebugPrints
Remove CMake debug print statements
2017-03-05 21:36:30 +01:00
m!m 63ecfcff6b Remove CMake debug print statements
I accidentally left these in an earlier pull request and they are not supposed to be here.
2017-03-05 18:41:12 +01:00
Fabian Woltermann a1670f9e1d Merge pull request #1283 from asarium/fix/localizedKeyPress
Always use the english key name in the scripting interface
2017-03-05 13:22:12 +01:00
Fabian Woltermann 1287cfacae Merge pull request #1282 from asarium/fix/cockpitDepthBuffer
Fix depth test of lasers when using a cockpit ... again
2017-03-05 13:21:04 +01:00
Fabian Woltermann d8fac09281 Merge pull request #1281 from asarium/fix/luaTrivialTypes
Disallow to use non-trivial types as scripting handles
2017-03-05 13:20:03 +01:00
Fabian Woltermann 3ac9821907 Merge pull request #1280 from asarium/fix/dradisColorIcon
Restore color icon behavior in DRADIS HUD gauge
2017-03-05 13:19:15 +01:00
asarium e7a923bef6 Always use the english key name in the scripting interface
Previously, the key text would use the localized key name which made it
hard for scripts to consistently handle key presses across different
languages. This changes that interface so that it always returns the
english name of the key.
2017-03-04 20:11:29 +01:00
asarium 840c1802e6 Use libc++ for clang builds on Travis CI
This should ensure that our code also works with that C++ standard
library implementation and should catch more cross-platform
incompatibilities.
2017-03-04 16:47:14 +01:00
asarium 772a02f56f Disallow to use non-trivial types as scripting handles
As described in #1278, the current scripting system has issues with
handling non-trivial C++ types. Since fixing that deficiency is too much
work, especially since we are in a feature freeze, I decided to simply
enforce the usage of trivial types for scripting handles. Fortunately,
only two handles used non-trivial types so it was relatively easy to fix
those instances by dynamically allocating those and only storing the
pointers in the lua memory.

This fixes a bug in JAD-XA where the game would crash at the last boss.

Also, I noticed that the HudGauge handle used a copy of the hud gauge
rather than a pointer to the actual instance so I'm pretty sure that any
scripting changes to a custom HUD gauge simply didn't work before.
2017-03-04 16:16:22 +01:00
asarium 6a803c0550 Fix depth test of lasers when using a cockpit ... again
This introduces code to explicitly restore the z-buffer binding to the
previous value instead of relying on the lightshaft code to restore it.
2017-03-04 15:59:13 +01:00
asarium 485a5989c8 Restore color icon behavior in DRADIS HUD gauge
The DRADIS has two icon types, one where the color is scaled with the
IFF color and once which isn't. Due to a regression, both icons were
previously scaled with the IFF color which made the icons look bad. This
fixes that.
2017-03-04 13:12:03 +01:00
niffiwan 10bbead9ec Merge pull request #1270 from asarium/fix/bmpmanAssert
Require that the energy bar animation has 4 frames
2017-03-04 11:44:16 +10:00
MageKing17 aea4d1d414 Merge pull request #1277 from asarium/fix/weaponDescriptingLength
Fix assertion failure in weapon choice screen
2017-03-03 15:21:59 -08:00
MageKing17 3a321251f7 Merge pull request #1275 from asarium/fix/changeClassAssert
Remove unneded assert in change_ship_class
2017-03-03 15:17:47 -08:00
MageKing17 079a3f96eb Merge pull request #1276 from asarium/fix/objectSignature
Adjust object_h validity check to avoid assertion failure
2017-03-03 15:17:07 -08:00
asarium a94bf2e9e2 Skip parse tests in release mode 2017-03-03 19:58:54 +01:00
asarium 92e8db7ff4 Ignore .fuse_hidden files 2017-03-03 19:02:05 +01:00
asarium 81f5cf4446 Fix assertion failure in weapon choice screen
If the descripting of a weapon is too long it would currently cause a
very unhelpful assertion message. This fixes that by checking the length
of the lines when parsing the weapon description. I removed the
assertions since the string is just cut of if it is too long so that
fixes the actual assertion.

I also added two unit tests for making sure that too long descriptions
cause warnings.
2017-03-03 18:59:30 +01:00
asarium 842858f9b8 Adjust object_h validity check to avoid assertion failure
I found this issue while debugging the JAD gauntlet where a script calls
getSignature() on an invalid object. However, object_h does not see the
object as invalid even though its signature is 0 which is defined to be
an invalid sigature. This should fix that by making sure that
object_h::isValid returns false if the saved signature is not valid.
2017-03-03 17:46:00 +01:00
asarium 415b2b4933 Remove unneded assert in change_ship_class
I just encountered this assertion while debugging another issue. As far
as I can tell, this can happen if the ship dies the same frame that
change_ship_class is called. Since a negative hull_strength value is a
valid value this assert is invalid. The CLAMP should ensure that the
following code still behaves as expected.
2017-03-03 17:27:45 +01:00
Fabian Woltermann e243601cf0 Merge pull request #1274 from asarium/fix/generatedShieldRtt
Fix generated shields rendering in cockpits
2017-03-03 15:26:35 +01:00
asarium 808231dd7d Fix generated shields rendering in cockpits
The generated shields did not respect the display offset specified in
the table so they were drawn out of the clipping bounds of the gauge
which meant that they were not visible. This fixes that by respecting
the specified display offset when rendering the shield icons.
2017-03-03 13:18:00 +01:00
Cliff Gordon 44093bd88c Merge pull request #1273 from asarium/fix/macHighDPI
Fix rendering on high DPI displays on Mac
2017-03-02 13:09:28 -06:00
asarium 4d7324dddf Fix rendering on high DPI displays on Mac
I added the "allow high DPI windows" SDL-flag while investigating #998
but since that flag isn't used on Windows we can safely remove it again
without causing issues.
2017-03-02 16:15:53 +01:00
Fabian Woltermann 83dd78a95f Merge pull request #1271 from SamuelCho/fresnelFactor
Adjustable fresnel term in lighting model. Model shader cleanup. Deferred lighting shader fix.
2017-03-02 09:36:42 +01:00
SamuelCho d31083cabc Restore environment map attenuation following shader cleanup. 2017-03-01 21:26:50 -08:00
m!m c154581d6e Merge pull request #1269 from asarium/fix/windowsManifest
Add a Windows executable manifest to FreeSpace2
2017-03-01 09:29:07 +01:00
SamuelCho 2fd72258f4 Added adjustable fresnel term to Blinn-Phong lighting model. Cleaned up the model shader. Fixed deferred lighting shader to use correct specular material color instead of specular light color for F_0 term. 2017-02-28 22:31:52 -08:00
asarium 67051463bd Require that the energy bar animation has 4 frames
Since the rendering code always accesses all four frames it must be
ensured that they are all present. Currently, there is a bmpman
assertion about an invalid handle if the animation does not have enough
frames. This fixes that by warning about that and then resetting the
bitmap handle to -1 so that the rendering code doesn't try to use the
handle.
2017-02-28 14:30:42 +01:00
m!m 930e435ffd Add comment for clarifying Windows XP compatibility 2017-02-28 09:09:07 +01:00
asarium 6b62146388 Add a Windows executable manifest to FreeSpace2
This sets the dpiAware flag which should improve the compatibility with
High-DPI displays. It also sets a few values for specfying what Windows
versions we support and it also enabled the nicer dialog boxes which
makes the error and warning dialogs look a bit nicer.
2017-02-27 17:27:02 +01:00
Fabian Woltermann 1f648f58e5 Merge pull request #1268 from asarium/fix/msvcPCHMemory
Allocate more memory for the Visual Studio compiler
2017-02-27 12:37:16 +01:00
asarium e7fb0dacc5 Allocate more memory for the Visual Studio compiler
One of the nightly builds failed to compile with an error saying that it
had run out of heap space. This adds the suggested flag which should
hopefully fix this issue.
2017-02-27 09:48:01 +01:00
m!m 989c010a64 Merge pull request #1265 from The-E/ReplaceAllTextures
Make table-based texture replacement work
2017-02-26 23:24:38 +01:00
Fabian Woltermann 9e3f07305b Merge pull request #1260 from asarium/fix/1224
Make Skip_packfile_search restrict search to actual files
2017-02-26 15:42:04 +01:00
Fabian Woltermann 9e93ebde03 Merge pull request #1266 from asarium/cmake_/gccReturnWarning
Enable GCC and Clang warning for missing return
2017-02-26 15:40:31 +01:00
Fabian Woltermann 8774f0480d Delete the = operator as well 2017-02-26 14:03:08 +01:00
Fabian Woltermann 17b33317de Addressing feedback. This disables the copy operator for model_render_params and changes the one place where it was actually used. 2017-02-26 13:45:03 +01:00
asarium db4fbe8fd6 Enable GCC and Clang warning for missing return
The C++ standard allows to have no return in a function but in most
cases that is not the desired behavior. There are currently no instances
of this warning in our code but I encountered this error while
developing something else.
2017-02-26 12:58:19 +01:00
Fabian Woltermann 9e4c6df219 Applies table-based texture replacement settings in the lab, techroom and the weapon/ship select screens 2017-02-25 21:38:58 +01:00
Fabian Woltermann 9e50680685 Merge pull request #1262 from asarium/fix/1261
Render correct number of vertices for shield icon
2017-02-25 15:17:41 +01:00
asarium a02c2deb69 Render correct number of vertices for shield icon
I also added a few graphics debug scopes since I needed those for
tracking down which code renders the shield icons.

This fixes #1261.
2017-02-25 12:59:51 +01:00
asarium df5679c9d1 Make Skip_packfile_search restrict search to actual files
The flag was previously used to restrict searching of mission files to
the root directory of the mod. Since the SDL merge changed what the
default root directory is (now it's the mod folder in the user folder)
this broke the mission editor and it didn't show any missions anymore.

This fixes that by altering how Skip_packfile_search affects the file
search. Now that causes the search to skip files in VPs but it still
includes all other files that are present on the disk.

I also fixed some inconsistent behavior in the various file enumeration
functions since they weren't doing the same thing.

This changes the original behavior slightly since new files aren't found
in this search since the file list is only initialized when CFile is
started so if a new file is added after that, it is not reflected in the
mission list. Since that is pretty rare we can probably ignore that
here.

This fixes #1224.
2017-02-25 12:20:05 +01:00
Fabian Woltermann 12c9ba07f8 Merge pull request #1247 from asarium/fix/1244
Fix or suppress warnings in stb_image
2017-02-23 09:49:27 +01:00
Fabian Woltermann 7ef78fd17b Merge pull request #1254 from asarium/cmake_/prefixHeader
Use a manually maintained prefix header for cotire
2017-02-23 09:47:00 +01:00
asarium d7274b85f9 Use a manually maintained prefix header for cotire
Cotire (the CMake module we use for handling precompiled headers) can
auotmaically generate a prefix header by examining the includes of the
project. However, if a system include changes, the prefix header may
change as well which triggers a complete project rebuild. To avoid this
and to add the ability to customize the prefix header, I added a
manually maintaned header which will be used by all platforms and which
will only change if that file is manually changed.
2017-02-22 23:21:46 +01:00
m!m 4f9f0b6868 Merge pull request #1259 from The-E/scriptEvalCleanup
Like script-eval, script-eval-string should also return SEXP_TRUE
2017-02-22 19:41:41 +01:00
Fabian Woltermann 98169f9f2e Merge pull request #1258 from asarium/fix/playerVariableSimulation
Set the Player scripting variable for the whole frame
2017-02-22 18:29:54 +01:00
Fabian Woltermann 99e1f22d12 Like script-eval, script-eval-string should also return SEXP_TRUE 2017-02-22 17:00:57 +01:00
MageKing17 59769894f3 Merge pull request #1255 from asarium/doc/sexpCarCdr
Add documentation for CAR and CDR
2017-02-22 07:09:27 -08:00
asarium b7e46e49d3 Set the Player scripting variable for the whole frame
Otherwise the Simulation hook would be called without a Player variable
which breaks some scripts.
2017-02-22 15:42:50 +01:00
m!m d96295e923 Merge pull request #1257 from The-E/ScriptEvalReturns
Make script-eval return SEXP_TRUE
2017-02-22 13:44:03 +01:00
Fabian Woltermann 47aa9a6237 Make script-eval return SEXP_TRUE so that it behaves as expected when used in an event without a when conditional 2017-02-22 12:32:18 +01:00
asarium e374637df2 Fix or suppress warnings in stb_image
This fixes #1244.
2017-02-22 12:04:35 +01:00
asarium 8e71c392ab Add documentation for CAR and CDR
This should clear up some confusion about what the functions do since
their behavior is not obvious from looking at the code.
2017-02-22 11:28:21 +01:00
Cliff Gordon bad7254692 Merge pull request #1252 from asarium/fix/macosxBundle
Use the correct variables in MacOSX Info.plist
2017-02-21 19:52:48 -06:00
Fabian Woltermann 0af2736327 Load the Fire particle animations (#1251)
Load the Fire particle animations too. Fixes #1245.
2017-02-21 16:20:35 -08:00
asarium df01822c2a Use the correct variables in MacOSX Info.plist
This fixes #1228.
2017-02-21 21:56:45 +01:00
Fabian Woltermann 8e04c6c8e0 Merge pull request #1250 from asarium/fix/debugWindowWidth
Fix assertion in debug window when width is too low
2017-02-21 14:13:16 +01:00
asarium e71b9629fe Fix assertion in debug window when width is too low 2017-02-20 11:59:02 +01:00
Fabian Woltermann c3e3337802 Merge pull request #1235 from asarium/fix/ffmpegVersionConstraint
Add a sensible version constraint for FFmpeg
2017-02-20 09:12:24 +01:00
Fabian Woltermann f70adedfaf Merge pull request #1249 from MageKing17/bugfix/debris-ship-class-alt-name
Make debris from a ship use the ship class's alt name, if specified.
2017-02-20 09:11:52 +01:00
Fabian Woltermann 1edd6e8297 Merge pull request #1248 from MageKing17/bugfix/player-variable-reset
Clear the player's variable vector in init_new_pilot() if reset is true.
2017-02-20 09:10:56 +01:00
MageKing17 77a71f3445 Make debris from a ship use the ship class's alt name, if specified.
A piece of debris spawned from a ship will say what class of ship it came from. If that ship has an alternate class name defined in FRED, that's used instead. If the ship class table entry specifies an "$Alt name:", however, that isn't used, which could potentially be confusing. This fixes that oversight.
2017-02-19 14:56:53 -08:00
MageKing17 0b6a8c11f6 Clear the player's variable vector in init_new_pilot() if reset is true.
This fixes a bug whereby creating a pilot in the barracks screen (not the initial pilot selection screen) would effectively clone the variable vector from whatever pilot was selected beforehand.
2017-02-19 14:54:01 -08:00
Fabian Woltermann 08f80fe190 Merge pull request #1234 from asarium/fix/mantis3183
Render all damage elements of the damage HUD gauge
2017-02-19 00:08:23 +01:00
m!m fe8ead6609 Merge pull request #1240 from vazor222/bugfix/addSubmoduleNoteToReadme
minor readme updates
2017-02-18 22:34:24 +01:00
niffiwan df8f20f208 Merge pull request #1242 from asarium/fix/1241
Copy all relevant values in the LuaFunction copy-constructor
2017-02-19 07:33:56 +10:00
asarium 5bf2b956f6 Copy all relevant values in the LuaFunction copy-constructor
This fixes #1241.
2017-02-18 19:33:44 +01:00
vazor e218c3967e formatting update 2017-02-18 11:01:57 -07:00
z64555 d68370ade7 Merge pull request #1239 from asarium/fix/timeroverflow
Fix standalone timer overflow
2017-02-18 11:57:38 -06:00
vazor 8c79033819 added note to readme that would have saved me some time, minor typo fix 2017-02-18 10:46:32 -07:00
asarium 15af2bb1a2 Fix standalone timer overflow
If FSO runs for a very long time (5 hours to be exact) then the SDL
performance counter reaches a value so hight that rescaling it to
microseconds causes an overflow which is bad.

This fixes that by implementing the rescaling by computing the factor in
the timer initialization code and then multiplying the SDL time with
that. This uses the same principle as the changes done by @TheMatthew in #1082.

According to the tests done by @chief1983, this fixes #1237.
2017-02-18 16:54:58 +01:00
Cliff Gordon 82d8f5df74 Merge pull request #1236 from asarium/cmake_/formatDefinition
Always define __STDC_FORMAT_MACROS for GCC and Clang
2017-02-17 12:23:16 -06:00
m!m cb12cbef45 Merge pull request #1233 from The-E/CfileToolsCmakeFix
Cfile tools cmake fix
2017-02-17 13:59:47 +01:00
MageKing17 b8a9c520f3 Merge pull request #1226 from asarium/fix/briefingWrapping
Fix briefing word wrapping when a script changes the font
2017-02-17 02:31:15 -08:00
m!m bffe4b787d Merge pull request #1223 from Yarn366/fred_max_missile_count
Change get_max_ammo_count_for_bank to return "correct" max missile count
2017-02-17 10:46:17 +01:00
asarium 76db58932e Always define __STDC_FORMAT_MACROS for GCC and Clang
This caused some issues for @chief1983 when trying to compile on an
older Linux distribution.
2017-02-16 19:41:55 +01:00
asarium 7f73d35753 Add a sensible version constraint for FFmpeg
2.7 is the last version we can support with our current code so we
should check for that.
2017-02-16 19:16:56 +01:00
Fabian Woltermann cd5e276102 Changes the usage printout as per discussion 2017-02-16 10:24:51 +01:00
asarium 900218e3e4 Render all damage elements of the damage HUD gauge
Previously, the hud gauge was hidden if the player ship had taken no
damage. However, this made it impossible to see if subsystems have been
damaged.

These changes make sure that the subsystem values are shown even if the
hull integrity is at 100%. This is done by first collecting all the
necessary information about each line in the gauge and then, if that list
is non-empty, rendering it. This is necessary since the gauge code can't
decide if anything will be visible before looking at the entire
subsystem list.

There is a minor behavior change with how popups are handled.
Previously, the code would return if the HUD gauge was a popup and its
strength was at 100%. However, I think that this was dead code anyway
since that condition could never be true at that point because the code
would have returned earlier if there was no damage.

This fixes Mantis 3183.
2017-02-15 19:29:09 +01:00
Fabian Woltermann af285fbdbd Merge pull request #1232 from asarium/fix/mantis3177
Unload models after loading them for -pofspew
2017-02-15 16:28:16 +01:00
Fabian Woltermann d78a9fe8e3 Removes unnecessary stuff from the commandline help for cfilearchiver 2017-02-15 16:13:00 +01:00
Fabian Woltermann 792cbf20a9 Fixes Configuration error for the CFileArchiver/Extractor projects 2017-02-15 16:12:59 +01:00
asarium 0641437803 Unload models after loading them for -pofspew
In large mods this caused memory issues since we reached the 32-bit
memory limit when loading all models of a large mod (e.g. Blue Planet).

I fixed that by explicitly unloading the loaded model once the code is
done with it.

This fixes Mantis 3177.
2017-02-15 10:29:03 +01:00
Fabian Woltermann fa5db4fcfa Merge pull request #1230 from asarium/fix/mantis3175
Fix "On Object Render" behavior regression
2017-02-15 10:06:39 +01:00
m!m bea4c628ec Merge pull request #1231 from jg18/xcode_debug_symbols
Configure Xcode projects to generate debug symbols for Debug builds.
2017-02-15 09:45:07 +01:00
jg18 11e2491124 Configure Xcode projects to generate .dSYM file. 2017-02-14 21:33:58 -08:00
jg18 09021f3141 Configure Xcode projects to generate debug symbols for Debug builds.
Set CMake to configure Xcode projects to generate debug symbols for Debug builds.
2017-02-14 21:05:54 -08:00
asarium bd4b845290 Fix "On Object Render" behavior regression
This regression was introduced with the new model draw list which separates
collecting the drawing information and actually drawing the objects.

Previously, the scripting hook was always executed and the override
condition was used to determine if the normal rendering should happen.
Since 3.7.4, the scripting code is only executed if the condition was
overridden by Lua and if that override is active then the model isn't
rendered at all.

This executes the scripting hook in all cases and then checks if the
scripting system specified if rendering of that object should be
skipped. This introduces some slight changes in behavior since, when the
scripting hook is executed, the object isn't actually being rendered but
instead it's added to the draw list. IMO, that is not a major issue for
any existing application or else we would have heard about that until
now.

This fixes Mantis 3175.
2017-02-14 20:11:04 +01:00
Fabian Woltermann e0e7f141ad Merge pull request #1229 from asarium/fix/mantis3188
Fix wrong control flow in stars_draw_sun
2017-02-14 17:28:14 +01:00
Fabian Woltermann 7bdaac55e5 Merge pull request #1225 from asarium/fix/cfileTests
Actually add CFile to the unit test project
2017-02-14 15:06:21 +01:00
asarium c473601875 Fix wrong control flow in stars_draw_sun
The code wrongly used return instead of continue. This caused a second
sun to disappear if the bitmap of the first sun wasn't drawn.

This fixes Mantis 3188.
2017-02-14 14:54:46 +01:00
m!m bd0a1440e7 Merge pull request #1227 from chief1983/fix/967
Fix for #967 - Enable APPLE_APP in Mac CMake project
2017-02-14 11:00:24 +01:00
asarium 6508f47625 Fix briefing word wrapping when a script changes the font
This happened in BtA where a script changed the font after rendering its
UI. Since the briefing code didn't account for that, the word wrapping
code used the wrong font for calculating how long a line would be which
made the display look wrong.
2017-02-14 10:37:55 +01:00
Cliff Gordon 05a12213de fix/967: Define APPLE_APP to fix some issues introduced on Mac in the CMake conversion (may have other effects we aren't yet aware of). 2017-02-13 13:09:36 -06:00
asarium e90563c437 Actually add CFile to the unit test project
For some reason these weren't included in the PR that was supposed to
contain them.
2017-02-13 14:52:09 +01:00
m!m 7e8005033d Merge pull request #1222 from Yarn366/fred_retail_red_alert
Fix for improper setting of +Red Alert:
2017-02-13 10:07:51 +01:00
Yarn366 6be290ed8b Change get_max_ammo_count_for_bank to return what the rest of the game considers to be the max missile count 2017-02-13 00:00:27 -05:00
Yarn366 82735a0cfd In retail mode, set +Red Alert: according to the Red_alert flag rather than the Fullneb flag 2017-02-12 23:26:53 -05:00
m!m 5f5dbf5139 Merge pull request #1220 from The-E/ExportNoEmissive
Export the -no_emissive_light flag to the Launcher
2017-02-13 00:07:24 +01:00
Fabian Woltermann be3f86cd65 Export the -no_emissive_light flag to the Launcher 2017-02-12 22:17:53 +01:00
Fabian Woltermann 3df8b53570 Merge pull request #1219 from PeterMitsis/parallel-fix
vecmat: Fix vm_test_parallel()
2017-02-12 18:30:21 +01:00
MageKing17 8eafa260d2 Merge pull request #1218 from The-E/RotationWarningFix
Removes log spam
2017-02-12 09:18:21 -08:00
Fabian Woltermann ea5342bc70 Merge pull request #1216 from asarium/fix/1051
Create main window at 0,0 if its the same size as the display
2017-02-12 17:38:04 +01:00
Fabian Woltermann 8ffb0fe407 When converting an Assertion to a Warning or log print, remember to invert the Assertion's condition to get correct behaviour 2017-02-12 17:26:11 +01:00
Peter Mitsis f448150156 vecmat: Fix vm_test_parallel()
Fixes a subtle problem with vm_test_parallel() wherein a relative error
was accidentally converted into an absolute error.

Instead of comparing the result of the cross product to the zero vector,
the two calculated components of the cross product are compared against
each other. This permits vectors whose cross product is a large number
but whose cross product partials are within relative error of each other
to be treated as parallel.

For example, the following two vectors may now be considered as parallel
whereas before they were not:
   v1 = (1000004.0, 1.0, 1.0)
   v2 = (1000000.0, 1.0, 1.0)
The relative difference between them is sufficiently small according to
vm_vec_equal() for them to be considered equal, but their cross product
would have elements whose magnitudes would be near 4.0 which would
otherwise indicate that they are not parallel. By comparing the partials
instead, a higher degree of consistency is maintained.

Signed-off-by: Peter Mitsis <[email protected]>
2017-02-12 11:04:38 -05:00
asarium 6c1d5263f1 Create main window at 0,0 if its the same size as the display
This fixes #1051 by explicity telling SDL to create the window in the
display corner instead of centering the window. This has caused some
problems because the window borders aren't visible anymore in this case
which lead to some confusion.
2017-02-12 15:42:19 +01:00
m!m 58b49486ce Merge pull request #1215 from Goober5000/issue_1176_bugfix
make sure we find the correct operator for logging in short-circuited sexps
2017-02-12 10:36:29 +01:00
Goober5000 b2a2c7b0bd make sure we find the correct operator for logging in short-circuited sexps 2017-02-12 00:50:11 -05:00
niffiwan df6b2d4cdd Merge pull request #1214 from asarium/fix/btaSystemMapNodes
Return correct bits-per-pixel data for 16-bit PNGs
2017-02-12 11:02:27 +10:00
asarium 6f84fcbf6d Return correct bits-per-pixel data for 16-bit PNGs
PNGs can have 16 bits per channel but we always tell libpng to reduce
that to 8 bits per channel. However, we do not tell the caller of
png_read_header that this will happen so instead of 32-bits per pixel,
we tell bmpman that the image has 64 bits per pixel which causes some
issues.

The specific issue I fixed was the system map of BtA where the jump
nodes used a 16-bit PNG which broke the alpha blending of those bitmaps
since bmpan though that the image had no alpha channel.
2017-02-11 23:24:09 +01:00
Fabian Woltermann 028ae98c21 Merge pull request #1212 from TRBlount/Lab_initial_orient
Change Initial Orientation in the Lab
2017-02-11 21:25:53 +01:00
TRBlount f4d11325c6 Change Initial Orientation in the Lab 2017-02-11 10:39:12 -07:00
m!m 2b83c73f8f Merge pull request #1213 from Yarn366/weapons_dialog_rounding
Fix for rounding errors in weapons dialog
2017-02-11 11:43:50 +01:00
Yarn366 39e1ae18a4 Added proper rounding to missile counts in the weapons dialog. 2017-02-10 20:23:10 -05:00
m!m eb1389d738 Merge pull request #1208 from The-E/LikeARecordBabyRightRound
Changes the "Object rotated too far" assertion to a log message
2017-02-09 15:48:13 +01:00
Fabian Woltermann 589eb7533c Merge pull request #1195 from asarium/opengl/moreObjectLabels
Assign OpenGL labels to more objects
2017-02-09 12:41:52 +01:00
Fabian Woltermann fbe9cc156c Merge pull request #1204 from asarium/fix/1182
Search for path types regardless of case
2017-02-09 12:40:36 +01:00
Fabian Woltermann b319143a67 Changes the "Object rotated too far" assertion to a log message, as per discussion for PR #1171 2017-02-09 12:35:23 +01:00
m!m d71a6b0ba7 Merge pull request #1175 from MageKing17/bugfix/energy-transfer-oddities
Fix two bugs with transferring energy to/from shields/weapons.
2017-02-09 10:11:11 +01:00
z64555 5d7b64fcbf Merge pull request #1207 from z64555/fix/vec_parallel
Fix minor bug with parallel vector testing
2017-02-08 23:16:17 -06:00
z64555 39912e025b Use vm_vec_equal, like you intended. 2017-02-08 18:38:56 -06:00
MageKing17 4a3f9f1d84 Merge pull request #1203 from asarium/ci/fixNightlyBuilds
Fix wrong variable usage in test script
2017-02-08 12:56:20 -08:00
z64555 8195fd50ab Fix minor bug with parallel vector testing 2017-02-08 12:42:59 -06:00
Goober5000 a64468200e Merge pull request #1200 from chief1983/fix/dircreate
Stops debug log printing "Creating new directory"
2017-02-08 13:39:17 -05:00
asarium 6ff7662c29 Search for path types regarless of case
Previously, if a mod used an upper case "Data" folder (which is the case
for the Diaspora development files) the file enumeration would fail on
case sensitive platforms (e.g. Linux) since FSO searched for a path with
a lower case "data". These changes make it so that FSO looks for all
instances of the path type name regeardless of case. Since the real path
was also needed elsewhere I added a new cf_file field which stores the
actual path which can then be used by fopen operations.

This fixes #1182.
2017-02-08 19:17:33 +01:00
Cliff Gordon d3480f70f2 Fix for log printing creating directory lines for directories that already exist. 2017-02-08 10:35:36 -06:00
Fabian Woltermann 2907c7ab94 Merge pull request #1197 from asarium/fix/712
Boost the color of nebula bitmaps to make them visible again
2017-02-08 14:19:50 +01:00
Fabian Woltermann 1a130c794a Merge pull request #1199 from asarium/fix/highestObjectCrash
Fix negative array index
2017-02-08 14:18:58 +01:00
asarium c589c72817 Fix wrong variable usage in test script 2017-02-08 13:08:50 +01:00
Fabian Woltermann 695bee61c8 Merge pull request #1201 from asarium/fix/643
Remove object instance from lab render info
2017-02-08 12:33:16 +01:00
Fabian Woltermann 7c8abe0f16 Merge pull request #1202 from scp-fs2open/revert-1187-fix/1182_2
Revert "Show error message when a data directory uses the wrong case"
2017-02-08 12:32:41 +01:00
m!m 07c86cd9c8 Revert "Show error message when a data directory uses the wrong case" 2017-02-08 10:52:46 +01:00
asarium cb531f8a88 Remove object instance from lab render info
If the object number is set for the render info the renderer uses the
instance information of that object to render the model. That is not
correct for the lab since the instance data is handled by the lab code
in that case.

This fixes #643.
2017-02-07 22:37:38 +01:00
MageKing17 86cb91f9f2 Merge pull request #1194 from asarium/unittests/appveyor
Execute unit tests on appveyor
2017-02-07 12:57:49 -08:00
asarium f87a72bc15 Fix negative array index
If there was only one object and that got deleted the code that keeps
track of the highest object index would cause a negativ array index. I
added a check to make sure that the index was positive but that still
means that Highest_object_index will be negativ after that function
returns. I looked at the usages of the value and that value seems to be
fine with that code so I think this should be safe.
2017-02-07 19:55:27 +01:00
asarium 33496419f9 Boost the color of nebula bitmaps to make them visible again
The HDR changes made the nebula bitmaps a lot less visible. This fixes
that by boosting the color of the bitmaps when they are rendered.

I choose 3 since that gives a similar look to 3.7.4 but that can be
further tweaked if desired.

I also added two debug scopes to help track down where that stuff was
actually rendered.

This fixes #712.
2017-02-07 18:33:15 +01:00
Fabian Woltermann 4321fd364d Merge pull request #1187 from asarium/fix/1182_2
Show error message when a data directory uses the wrong case
2017-02-07 17:34:03 +01:00
Fabian Woltermann d40cf7a3cd Merge pull request #1179 from asarium/fix/651
Make sure that team glow colors don't go negativ
2017-02-07 17:33:25 +01:00
Fabian Woltermann fa90542b00 Merge pull request #1193 from asarium/fix/611
Disable resizing for cubemaps
2017-02-07 17:32:56 +01:00
asarium cdc6f7d907 Disable lua args tests since MSVC 2013 doesn't like them
The code the test was testing isn't used by anyway so we don't loose
test coverage. I'm also quite certain that the failure is caused by some
sort of compiler bug or wrong standard library implementation.
2017-02-07 17:09:39 +01:00
asarium 084d237437 Assign OpenGL labels to more objects
The texture labels make it easier to debug which texture is currently
bound when tracing with APItrace.
2017-02-07 16:30:21 +01:00
asarium 62f6494299 Execute unit tests on appveyor
Appveyor didn't have the OpenAL DLLs so I included those with our
existing files. They are currently not used by FreeSpace or FRED.
2017-02-07 14:50:37 +01:00
Fabian Woltermann 19583bc788 Merge pull request #1192 from asarium/fix/1191
Restore original flag parsing behavior
2017-02-07 06:11:07 +01:00
asarium fff62a85e0 Restore original flag parsing behavior
THe flagset changes misplaced the post-parsing flag processing so that
it was only executed if a special flag was found. That was not the case
previously and this restores that behavior. I also simplified the code a
bit while I was at it.

This fixes #1191.
2017-02-06 22:37:15 +01:00
asarium e52b144510 Disable resizing for cubemaps
Since the cubmap loading code explicitly states that it doesn't support
resizing it's only logical to skip that if the bitmap that is currently
being loaded is a cube map.

This fixes #611.
2017-02-06 18:42:06 +01:00
Fabian Woltermann e8d21a020f Merge pull request #1189 from asarium/fix/940
Set the registry key for FRED
2017-02-06 09:32:39 +01:00
Fabian Woltermann 8b24877f9e Merge pull request #1190 from asarium/fix/bloomAccumulator
Fix post processing framebuffer binding
2017-02-05 18:45:41 +01:00
Fabian Woltermann 6efceb2017 Merge pull request #1188 from asarium/fix/objectLabelCrash
Fix crash when using glObjectLabel
2017-02-05 17:19:37 +01:00
asarium c28bfcf959 Fix post processing framebuffer binding
The framebuffer stack operations were at the wrong locations which
caused problems since the wrong buffers were used for rendering.
2017-02-05 17:17:33 +01:00
asarium 0b472ea463 Set the registry key for FRED
The default key is probably not valid anymore since we don't use the
registry virtualization anymore.

This fixes #940.
2017-02-05 17:02:44 +01:00
asarium ec82cb15ce Fix cmpilation errors 2017-02-05 15:44:13 +01:00
asarium 69dba707e0 Fix crash when using glObjectLabel
Apparently OpenGL contexts aren't supposed to expose the KHR variant so
this version should work better if the extension is supported.
2017-02-05 15:40:40 +01:00
Fabian Woltermann f50be50b18 Merge pull request #1173 from asarium/cleanup/tcache
Remove tcache_set from rendering API
2017-02-05 15:28:29 +01:00
Fabian Woltermann 90a5af60c4 Merge pull request #1186 from asarium/fix/976
Fix wrong usage of cockpit depth buffer
2017-02-05 15:26:15 +01:00
asarium 33c1b788df Clean up Unix code a bit 2017-02-05 14:46:16 +01:00
asarium 5265627b8f Add case check for Windows 2017-02-05 14:43:58 +01:00
asarium 94ce0ad2dd Add test for wrong case in data directory 2017-02-05 13:06:01 +01:00
asarium 0eeb895432 Issue error when a data directory uses the wrong case
Since Unix is case senssitive this should make sure that case errors are
cought early in mod development. This is an Error and not a Warning
since a mod with such a folder structure would never work under Unix and
as such it's justified to break mods that currently use this.
2017-02-05 13:03:57 +01:00
asarium 5d7f10d4f8 Add utility function for assigning labels to OpenGL objects 2017-02-05 12:06:37 +01:00
asarium 9013d398db Fix wrong usage of cockpit depth buffer
The root issue of #976 was that the code that reset the depth buffer of
the scene framebuffer was actually setting the depth buffer of the bloom
framebuffer since that didn't get reset properly. To fix this I
introduced a system in our GL_state which keeps track of a stack of
"bound" framebuffers which allows us to return to the previous
framebuffer with a simple function call.

I also added support for GL_KHR_debug since that help me while debugging
which texture was in use. In the future I'll probably extend that to
other areas of the OpenGL code as needed.

This fixes #976.
2017-02-05 12:03:26 +01:00
asarium 7c556854af Add more graphics debug scopes for code called in the main frame 2017-02-05 12:03:23 +01:00
MageKing17 ce519f006d Merge pull request #1185 from z64555/fix/github_1177
Fixes pointer access violation when docked ships warp out by moving dock_undock_all call to red_alert_delete.

It was previously thought that dock_undock_all() was supposed to be within ship_cleanup() and was safe to do so. Nope.

dock_evaluate_all_docked_objects makes the assumption that the dock_list is still valid, so if the function called by it happens to nuke the dock_list (like with ship_cleanup) then it'll work with invalid pointer values.
2017-02-04 22:37:28 -08:00
z64555 4129551341 Fixes pointer access violation when docked ships warp out by moving dock_undock_all call to red_alert_delete.
It was previously thought that dock_undock_all() was supposed to be within ship_cleanup() and was safe to do so. Nope.

dock_evaluate_all_docked_objects makes the assumption that the dock_list is still valid, so if the function called by it happens to nuke the dock_list (like with ship_cleanup) then it'll work with invalid pointer values.
2017-02-04 22:12:14 -06:00
niffiwan 9be888f55a Merge pull request #1183 from asarium/fix/newVMFree
Fix new/vm_free mismatch reported by AddressSanitizer
2017-02-05 09:21:14 +10:00
m!m b185d1bfea Merge pull request #1178 from The-E/VS2017ignores
Updates the gitignore for VS2017
2017-02-05 00:09:46 +01:00
MageKing17 19a37eb04d Merge pull request #1024 from asarium/feature/defaultConfigLoc
Improve logic for determining legacy mode
2017-02-04 11:33:45 -08:00
asarium ca2f9b788f Fix new/vm_free mismatch reported by AddressSanitizer 2017-02-04 19:12:34 +01:00
Fabian Woltermann 9a1eb4e794 Update .gitignore
Removes duplicate entry
2017-02-04 13:38:01 +01:00
m!m 592282448b Merge pull request #1180 from niffiwan/coverity/1370830
Fix Coverity 1370830
2017-02-04 10:15:59 +01:00
niffiwan e6bff4f864 Fix Coverity 1370830
Use after free; use the copied string for the Warning
2017-02-04 16:16:18 +10:00
asarium 1cf0bacc6e Make sure that team glow colors don't go negativ 2017-02-03 22:30:39 +01:00
Fabian Woltermann 1f352967c7 Updates the gitignore for files that VS2017 writes when opening the repository 2017-02-03 15:49:20 +01:00
MageKing17 cf14728757 Avoid silly behavior when transferring almost-nonexistent energy.
This is a bit complicated to explain, so stick with me.

When transferring energy from shields to weapons (or vice versa), the values modified are the so-called "target deltas" rather than directly modifying the shield strength or weapon energy values. The ship_chase_shield_energy_targets() function carries out actually meeting these targets without exceeding a change of ETS_RECHARGE_RATE percent per second. At least, that's what it's supposed to do, and obviously works that way when the target delta is positive.

When the target delta is negative, however, a logic error with the conditional meant to limit the rate of change instead functions backwards; if the amount of desired change exceeds the per-frame limit, the amount of change is set to the total desired change, and if the amount of desired change is smaller than the per-frame limit, than the amount of change is the per-frame limit (even though that's more than the amount that's supposed to be drained).

Since the target delta is modified by the amount by which the value changed, this leads to an interesting consequence whereby the "extra" amount taken away is added back in the next frame... which has another interesting side-effect if the "extra" drain tried to reduce shields below 0. Namely, the shield code doesn't let it, while ship_chase_shield_energy_targets() remains blissfully unaware that the actual change was smaller than requested. So on the next frame, you spontaneously get some fraction of a percent of your shields back. Which, naturally, you can then transfer energy from to your weapons ad infinitum; the amount is small, but you can continually transfer it, so you're getting weapon energy out of nowhere.

Now, straight-up fixing the logic error would be a major retail balance change; if transferring energy from your shields to your weapons only gradually reduced your shields, instead of taking a huge chunk at the start, it would be a much safer option. Therefore, the only non-balance-changing fix is to just remove the broken conditional entirely (so that it always drains the full amount instantaneously, regardless of how big or small it is).

I've left the fixed conditional commented out so that somebody, when we're not in a feature freeze, can add an AI profile or mod table flag to restore the check, allowing for slow energy transfers.
2017-02-03 02:26:34 -08:00
MageKing17 c5278e2e95 Allow transferring energy from shields to work properly at full shields.
A conditional originally added to shield_add_strength() to make shields not recharge beyond the recharge limit forgot to check that the amount shields are changing by was positive (unlike a couple other conditionals added/modified around the same time), so a call to shield_add_strength() with a negative delta (e.g. when transferring energy from shields to weapons) when the current shield strength is at or above the recharge limit (i.e. full strength when a recharge limit isn't specified) would immediately return without doing anything. This would, of course, result in no change to shield strength... so if you had full shields and had drained your weapon batteries dry, you could get free energy by hitting the button to transfer energy from your shields.
2017-02-03 02:05:51 -08:00
MageKing17 fe1e9ca996 Merge pull request #1174 from asarium/cleanup/GLSL_version
Remove some unneeded OpenGL version checks
2017-02-03 01:55:31 -08:00
asarium 4ed9231983 Simplify condition 2017-02-02 23:25:50 +01:00
asarium ca1a844f08 Remove GL_version checks that are always true
Same as the GLSL version checks, these conditions were always true since
we only support OpenGL 3.2 now.

There was also an assertion condition that didn't make sense so I fixed
that.
2017-02-02 22:38:31 +01:00
asarium 833df59d0e Remove GLSL version checks that are always true
These checks were from a time when we supported lower OpenGL version
than 3.2. Since we don't do that anymore and show an error if the
drivers don't support that, these conditions always evaluated to true
and could be removed.
2017-02-02 22:35:03 +01:00
asarium 7cb652b5d2 Remove tcache_set from rendering API
It wasn't used anywhere and has been superseded by the material system.
It would also interfere with a possible texture array usage.
2017-02-02 22:26:14 +01:00
MageKing17 cd06284f50 Merge pull request #1172 from The-E/MoreTraceScopes
Adds more trace scopes
2017-02-02 10:04:08 -08:00
MageKing17 1305f1dbe2 Merge pull request #1170 from The-E/PaletteCleanup
Removes the Palette Manager
2017-02-02 10:03:51 -08:00
Fabian Woltermann b3a8824d68 Adds more trace scopes to get a better look at the internals of render_frame 2017-02-02 15:07:43 +01:00
Fabian Woltermann b42fb8272a Removes code that had been #ifdefed out 2017-02-02 13:16:28 +01:00
z64555 36c134fcb8 Merge pull request #1154 from z64555/cleanup/dock_swabber
Fixes two crashes in red-alert missions, cleans up and refactors some of the docking code
2017-02-02 00:18:34 -06:00
z64555 d648091de4 Merge pull request #1168 from MageKing17/bugfix/ship_weapon-constructor
Add missing variable to ship_weapon constructor.
2017-02-02 00:18:17 -06:00
z64555 2829c293df Merge pull request #1166 from z64555/fix/pr_1163_amend
Harmony to 1163's malady
2017-02-01 21:28:20 -06:00
MageKing17 094d117764 Merge pull request #1167 from asarium/fix/autoaimSpeed
Use the correct pointer in vm_vector_2_matrix
2017-02-01 18:19:59 -08:00
Fabian Woltermann 0c0f7b9986 Removes unused variable 2017-02-01 19:58:58 +01:00
z64555 f30f955058 Update doxy on ship_cleanup to reference the object cleanup path 2017-02-01 12:58:26 -06:00
Fabian Woltermann 38e803c3c3 Restores accidentally deleted assertion from aicode 2017-02-01 19:04:09 +01:00
Fabian Woltermann 2c4c337907 Removes the palette code entirely. 2017-02-01 18:57:52 +01:00
Fabian Woltermann 7a1c587a9c Remove palette manager 2017-02-01 18:29:18 +01:00
MageKing17 8c59d8fb6d Add missing variable to ship_weapon constructor.
secondary_animation_position wasn't being set by the ship_weapon constructor, which could cause potential issues with whatever uninitialized data it wound up being set to (like, say, being unable to fire any weapons in the second secondary bank until you've cycled through it once). Since it depended on uninitialized data, the behavior could even change between 32-bit and 64-bit builds (and Release/Debug, of course).

While I was at it, I also noticed some variables were getting set twice; in one instance (primary_animation_done_time), it was even being set to the wrong value the second time (according to the pre-flagset code that used memset() on it and then overrode some values that shouldn't have been zero). Not sure what problems that could've caused; possibly some issues with animations and primary weapons, I guess, if the "done" timestamp was invalid when it shouldn't have been.
2017-02-01 02:49:57 -08:00
asarium 1623d39eea Use the correct pointer in vm_vector_2_matrix
This probably caused a lot of issues throughout the code. I fixed the
autoaim issue that happened in the capship command mission by JSRNerdo.
2017-02-01 09:36:00 +01:00
z64555 73504f80a5 Treat cleanup_mode as enumeration
*Use Assertions instead of the clunky Error/Warning pairs.
2017-02-01 01:36:16 -06:00
z64555 95315d7f8a Optimizes dock_undock_objects() and dock_dead_undock_objects() methods by removing their dock pair check, because the same check is done in the remove_instance subroutines.
* Adds a warning for debug users when an unknown ship_state is passed to red_alert_delete.
* Removes commented-out code
* Doxy's ship_cleanup()

*Conform to each file's style.

*Extend ship_cleanup to better handle red-alert deletion.
*Also treat cleanup_mode as a flagset, instead of an enum as it was previously.
2017-02-01 01:35:45 -06:00
z64555 6577d53df8 Fixes red-alert missions where escorted ships were dead or otherwise not carried into the red-alert mission.
*Use existing methods to determine dock status and find the head of the dock list.
*Fixes a derp with dock_dead_undock_all()
*Doccument some docking methods in object.h
*Address requested changes.
2017-02-01 01:35:09 -06:00
z64555 63e44beb9c When deleting an object in red-alert missions, undock all objects docked with it. 2017-02-01 01:34:29 -06:00
z64555 944ed03553 Added undock_all routines. Added asserts to public methods. 2017-02-01 01:34:29 -06:00
z64555 a5a927dd71 Get that other weapons assignment, while we're still thinking about it 2017-01-31 16:36:06 -06:00
z64555 4153aa80a9 Harmony to 1163's malady
* Looks like a shallow copy wasn't enough, so this fix creates ship_weapons::clear() which is called by ship_weapons's constructor and by ship::clear().
2017-01-31 12:04:32 -06:00
Goober5000 2a574ef267 some riffs on PR #806 (#1163)
In ship::clear(), The E removed

memset(&weapons, 0, sizeof(ship_weapon));

but did not add a corresponding

weapons = ship_weapon();

This fixes that.  Additionally, this PR removes one of the two uses of ship::clear() by tweaking hud_observer_init.  Originally, the code used memcpy, but if the assignment operator works for ai_info, it should be suitable for ship too.
2017-01-29 21:58:15 -08:00
m!m 1767b7a87b Merge pull request #1164 from z64555/cleanup/doxy_vecmat
Doxy vm_vector_2_matrix functions.
2017-01-29 23:39:49 +01:00
z64555 db3e2ae183 Doxy vm_vector_2_matrix functions.
*Enforce if-else block style within vecmat.cpp.
2017-01-29 15:35:02 -06:00
z64555 340b8d3136 Merge pull request #1158 from asarium/fix/shipSelectNullVector
Fix null vector normalization in ship select screen
2017-01-29 15:09:54 -06:00
m!m 39649e9e11 Merge pull request #1156 from MageKing17/cleanup/demo-compatibility
Improves FSO's compatibility with the FS2 Demo data
2017-01-28 20:11:16 +01:00
MageKing17 6bc1e1c3d9 Merge pull request #1161 from asarium/fix/653
Fix double rendering of effect ships
2017-01-26 18:31:28 -08:00
asarium 2997633d0d Fix double rendering of effect ships
This fixes #653.
2017-01-27 00:03:28 +01:00
m!m e0cf1301fa Merge pull request #1160 from chief1983/libupgrade/libpng_1_6_28
libupgrade/libpng_1_6_28: Upgrade libpng to 1.6.28.
2017-01-26 11:11:35 +01:00
m!m ed15b7e551 Merge pull request #1159 from chief1983/libupgrade/zlib_1_2_11
libupgrade/zlib_1_2_11: Update bundled zlib version to 1.2.11.
2017-01-26 11:08:38 +01:00
Cliff Gordon 863604d3a5 libupgrade/libpng_1_6_28: Upgrade libpng to 1.6.28. Fixes several published security vulnerabilities in most older versions. 2017-01-25 16:59:40 -06:00
Cliff Gordon f750a43b87 libupgrade/zlib_1_2_11: Update bundled zlib version to 1.2.11. Fixes a warning in inflate.c on latest clang. See issue #1103. 2017-01-25 16:47:45 -06:00
asarium b13ee73546 Fix null vector normalization in ship select screen
vm_vector_2_matrix was improperly guarded against bad parameters. In the
case I encountered the uvec was the negative of fvec which produced a
null vector when the cross product of the two vector was constructed.

These changes should fix that bug by ignoring the uvec parameter. Since
vm_vector_2_matrix and vm_vector_2_matrix_norm are basically the same, I
converted the former into an alias of the latter and only fixed that
code.
2017-01-25 19:57:07 +01:00
MageKing17 377751ab28 Avoid crashing if certain interface artwork is missing.
Changes a few windows (tech room, campaign room, medal case, and HUD config menu) to issue Warnings instead of Errors if certain pieces of interface art are missing. If their mask bitmap is missing, they automatically close themselves and display the old "Sorry, this feature is available only in the retail version" popup from the demo, allowing FSO to run the demo data without crashing when you click on the wrong button.

It also restores the special demo popup for the campaign room, which allows you to at least restart the demo campaign without deleting and recreating your pilot.
2017-01-24 13:18:42 -08:00
MageKing17 e1d3677f58 Fix bitmap release ordering mistake in medals.cpp.
Initialization of the medal window locks the mask twice (once directly and once indirectly, through set_mask_bmap()), then closing the medal window tries to release it after only unlocking it once. bm_release() will refuse to do anything if the BMPMAN entry is still locked, though, so the first release therefore does nothing, and since it will then only be released once (indirectly, by Medals_window.destroy()) after being loaded twice, the mask stays loaded in memory until FSO exits. By moving the release until after Medals_window is destroyed, the mask should be successfully released when the medals window closes.
2017-01-24 12:03:06 -08:00
MageKing17 559b07da63 Change check for 1024x768 interface art to not check 2_TechShipData-m.
The demo doesn't include techroom art because the demo doesn't have a techroom (or a campaign room, or a HUD config menu), but it still otherwise works with the higher-resolution interface.
2017-01-24 12:03:06 -08:00
MageKing17 b91e3c6ab1 Remove unhelpful assertions from comp_training_lines_by_born_on_date().
If an event with a directive contains both an is-destroyed/is-destroyed-delay for a wing with multiple waves AND the event's Sexp_useful_number is 0 (either the event contains an "is-event-*" SEXP (or one of the "-delay" ones with the optional third argument not set), and that SEXP didn't return true, or some part of the event evaluated to SEXP_CANT_EVAL) AND the wing currently has 0 ships in the mission (so Directive_count gets set to DIRECTIVE_WING_ZERO to mark the directive as being "temporarily" true, until the next wave arrives), then the directive winds up in the list of displayed directives without actually having a born_on_date set, so it fails this assertion. Since this is caused by the data supplied (in the mission) rather than a coding mistake, and since this assertion doesn't actually seem to be guarding against anything (because nothing bad happens if the comparison happens anyway, just with a born_on_date of 0), and it behaves just fine in Release builds where the assertion isn't checked, the simplest solution would seem to be to just remove the assertions altogether.

Found this issue while testing with demo data, so blame whatever Canadian wrote the first demo mission to make the "Destroy Libra" event check for either Libra being destroyed OR an event (that can't ever become true until after at least one wave of Libra gets destroyed) becoming true.
2017-01-24 12:03:06 -08:00
MageKing17 7767fdd933 Make bm_unload() check for a handle of -1.
Somewhat related to the previous commit: if, in the future, we have another instance of trying to unload a nonexistent graphic, it would make much more sense if BMPMAN returned -1 (like it already does for other failure conditions, like trying to unload an unused slot) rather than tripping the "n >= 0" assertion down below (calling with -2 or other negative values that can still trip that assertion unaccounted for, because those would definitely be mistakes in the code).
2017-01-24 12:03:06 -08:00
MageKing17 0bd8754064 Don't try to do anything with a nonexistent Fade_anim.
If Fade_anim.first_frame was -1 (like, for instance, if the animation did not exist, which it doesn't in the demo data), the briefing code would still try to do stuff with it, and then unload it when it closed. This seems like a bad idea in general.
2017-01-24 12:03:06 -08:00
MageKing17 bedfc47273 Make "+Music:" optional in mainhalls.
It defaults to an empty string (resulting in no music) anyway, so there's no harm in it being missing, and the demo's mainhall.tbl doesn't contain these lines, so this change makes it possible to reach the mainhall with demo data.
2017-01-24 12:03:06 -08:00
Fabian Woltermann f376142d57 Merge pull request #1153 from asarium/fix/testCompilation
Fix linking error in unit tests
2017-01-24 14:47:00 +01:00
Cliff Gordon 0cce8fb34c Merge pull request #1054 from asarium/fix/830
Use CMake version in Mac strings file
2017-01-24 07:33:12 -06:00
asarium 5caa85ffa5 Use CMake version in Mac strings file
Fixes #830.
2017-01-23 23:35:14 +01:00
MageKing17 c0c6d4b572 Merge pull request #1152 from asarium/fix/debugWindowFixes
Fix a few minor issues with the new debug window
2017-01-21 13:45:03 -08:00
asarium 7516800c62 Fix default parameter value of gr_flip 2017-01-21 21:56:45 +01:00
asarium cb465d789f Fix linking error in unit tests 2017-01-21 21:48:08 +01:00
asarium 25fa3543f2 Fix a few minor issues with the new debug window
This makes the debug window resizable and also reduces the default size
to ~80% of the used display. This also makes sure that the main window
has input focus after the debug window was created.
2017-01-21 11:48:09 +01:00
niffiwan cb81894632 Merge pull request #1150 from asarium/fix/versionString
Unify version string handling
2017-01-21 10:46:24 +10:00
m!m 18921e720a Merge pull request #1151 from The-E/NoFedoraError
Fixes an assertion due to insufficient amount of hats
2017-01-20 19:03:17 +01:00
m!m 09e18c1164 Merge pull request #1147 from asarium/feature/debugWindow
Reimplement debug window
2017-01-20 18:37:07 +01:00
Fabian Woltermann 637e44d8d2 This would be the correct way to do it 2017-01-20 15:12:23 +01:00
Fabian Woltermann 82ce160093 The logic for joy_down was missing a safety check, which could cause an assertion in Joystick::getHatDownTime if a joystick without a hat (or no joystick at all?) was attached. 2017-01-20 14:31:02 +01:00
asarium 04e5c7e484 Unify version string handling
Currently there are multiple locations in the code where the version is
constructed by printing the individual numbers together. This is mostly
sufficient but it hides information such as the commit hash or the build
name (e.g. RC1). These changes unify that behavior by always using the
version string generated by CMake.
2017-01-20 12:28:47 +01:00
m!m 09586df300 Merge pull request #1037 from asarium/build/macPrebuilts
Use prebuilt libraries for SDL2 framework
2017-01-20 10:47:29 +01:00
m!m 534285324d Merge pull request #1148 from Yarn366/gr_bitmap_offset
Make gr_bitmap obey clip offsets as it did before the OpenGL Core merge
2017-01-19 09:59:28 +01:00
Yarn366 af2514755b Make gr_bitmap obey clip offsets as it did before the OpenGL Core merge 2017-01-18 23:06:43 -05:00
asarium e6dc4d71b6 Add word wrapping 2017-01-18 22:50:14 +01:00
asarium dae0f59911 Add doxygen comments to DebugWindow 2017-01-18 22:17:54 +01:00
asarium c7f523ae46 Add debug window
This allows to show the debug output in a second window in real time.
This system could be expanded further to allow more interactivity but
the current status is good enough.
2017-01-18 18:18:47 +01:00
m!m 288e1ba907 Merge pull request #1146 from Echelon9/fix/documentation-readme
Fixes to better document README.md
2017-01-17 09:59:54 +01:00
Echelon9 d4f15a2f96 Add AppVeyor continuous integration build status to README.md 2017-01-16 19:12:23 -05:00
Echelon9 fb3c70126e Document the means of compiling Debug build with cmake
Compiling a debug build is a frequent developer task, so worth specifying upfront.
2017-01-16 18:36:36 -05:00
m!m a1cae77142 Merge pull request #1145 from niffiwan/fix/consistent_error_keys
Make shortcuts for Warning/Errors consistent
2017-01-15 17:49:31 +01:00
niffiwan 868959499c Make shortcuts for Warning/Errors consistent
LuaError, Error & Warning use RETURN for Exit
LuaError & Warning use ESCAPE for Continue
2017-01-15 10:51:33 +10:00
niffiwan 9ff7df0f71 Merge pull request #1144 from SamuelCho/env_map_fix
Removed unnecessary conditional when making render targets.
2017-01-15 10:16:30 +10:00
niffiwan 692da9d5e2 Merge pull request #1143 from MageKing17/bugfix/timestamp-display-fix
Fix gr_print_timestamp() to actually display timestamps properly.
2017-01-15 09:40:06 +10:00
SamuelCho 2a2c8a5ac3 Removed unnecessary conditional when making render targets. 2017-01-14 15:29:01 -08:00
MageKing17 8bb6861efc Fix gr_print_timestamp() to actually display timestamps properly.
When the function was rewritten as part of the TrueType PR, its logic was also unintentionally changed so that it expected timestamps in milliseconds when everything calling it provides "fix"es, which represent 65536ths of a second.
2017-01-14 13:19:45 -08:00
MageKing17 994e3cf708 Merge pull request #1140 from asarium/fix/1139
Fix off-by-one error in script_state::EvalString
2017-01-07 10:19:25 -08:00
asarium edbddf0fd5 Fix off-by-one error in script_state::EvalString
This also fixes a small inefficiency in sexp_script_eval.
2017-01-07 18:45:23 +01:00
Samuel Cho 3e0fbbbd90 Merge pull request #1113 from asarium/feature/screenTracing
Add previous on-screen profiling readout again
2017-01-06 12:31:07 -08:00
SamuelCho 74a5975afc Fixed events being sorted the wrong way. Fixed profiler history casting int instead of uint64_t. 2017-01-06 19:01:38 +01:00
Samuel Cho 9304a7f137 Merge pull request #1136 from SamuelCho/ambient_behavior_restore
Restore original OGL compatibility ambient light behavior.
2017-01-06 09:49:38 -08:00
SamuelCho ee675a19b5 Restore original OGL compatibility ambient light behavior. 2017-01-05 22:13:31 -08:00
MageKing17 9d92d273e4 Merge pull request #1134 from asarium/cleanup/stringConst
Fix the rest of the string conversion warnings
2017-01-05 05:48:54 -08:00
asarium 06aeb403dd Remove percentage profiling 2017-01-05 10:50:29 +01:00
asarium 14baaf9154 Use event IDs to establish a total event ordering 2017-01-05 10:43:36 +01:00
asarium 609cca7fc0 Enable write-strings warning 2017-01-05 00:16:11 +01:00
asarium 4a9f1a2d56 Fix the rest of the string conversion warnings 2017-01-05 00:15:01 +01:00
MageKing17 5958f9126a Merge pull request #1133 from asarium/cmake_/Wdeprecated
Reenable the deprecated warnings of GCC and Clang
2017-01-04 07:18:19 -08:00
asarium 599e24cf91 Remove unneeded tracing scope 2017-01-04 12:41:32 +01:00
Fabian Woltermann eea97601b5 Merge pull request #1132 from asarium/cleanup/stringConst
More string const correctness fixes
2017-01-04 10:48:58 +01:00
asarium d88f4d6488 Reenable the deprecated warnings of GCC and Clang
This warning isn't caused by our code at the moment so there is no
reason to keep them disabled.
2017-01-04 10:06:50 +01:00
asarium 59dc59c318 Fix compilation error 2017-01-04 09:56:16 +01:00
asarium 7195ec9856 A few more fixes... 2017-01-04 00:28:22 +01:00
asarium f819db3ac5 More string const correctness fixes 2017-01-04 00:12:41 +01:00
Fabian Woltermann 6839d1c3d1 Merge pull request #1130 from asarium/fix/drawListGlobals
Remove usage of a static global variable in draw_list
2017-01-03 15:43:09 +01:00
Fabian Woltermann 91c04a2cfe Merge pull request #1131 from asarium/fix/noGlobalHooks
Remove global hook system and emulate it with conditional hooks
2017-01-03 15:42:55 +01:00
asarium 845276bac3 Remove global hook system and emulate it with conditional hooks
This changes some functionality but it shouldn't cause too many issues
since the previous functionality was kind of a hack anyway.

This also adds a simulation conditional hook that has only been
available through global hooks before.
2017-01-03 10:50:36 +01:00
asarium 1106898454 Remove usage of a static global variable in draw_list
Instead, this uses a lambda function which is better since it doesn't
require storing any global pointers.
2017-01-03 09:43:48 +01:00
Fabian Woltermann 1cb838afe5 Merge pull request #1114 from asarium/feature/pngCallbacks
Use libpng callbacks for reporting errors and memory allocation
2017-01-03 08:46:04 +01:00
Fabian Woltermann dd6e706412 Merge pull request #1125 from asarium/cleanup/stringConst
Fix some string literal conversion warnings
2017-01-03 08:45:51 +01:00
Fabian Woltermann 75df49cd03 Merge pull request #1126 from asarium/fix/evalStringCrash
Fix null pointer usage in EvalString
2017-01-03 08:45:32 +01:00
Fabian Woltermann 87a52efaae Merge pull request #1128 from asarium/fix/scriptCleanup
Clean up Lua function references before destroying the Lua state
2017-01-03 08:44:49 +01:00
Fabian Woltermann 94b6a418c7 Merge pull request #1129 from SamuelCho/model_code_cleanup
Model code cleanup
2017-01-03 08:44:03 +01:00
Samuel Cho 347dca5e60 Renamed draw_list to a more descriptive model_draw_list. Removed unlit maps since those aren't needed anymore. Changed transforms in model_draw_list to use the transform_stack instead of using duplicate code. Removed some unused graphics code. Fixed scaling when using batched transforms. 2017-01-02 20:15:37 -08:00
asarium f7a3d65e0c Clean up Lua function references before destroying the Lua state 2017-01-03 00:19:47 +01:00
asarium 455ffd827a Fix unresolved linking errors 2017-01-02 19:06:59 +01:00
asarium 20cab0c235 Fix null pointer usage in EvalString 2017-01-02 19:04:48 +01:00
Fabian Woltermann 5581ecb643 Merge pull request #1073 from asarium/lua/luaReferences
Add lua references utilities library
2017-01-02 17:55:35 +01:00
asarium 9a8bfc0217 More const correctness 2017-01-02 13:17:59 +01:00
asarium bcf2ddefba Begin fixing string const correctness 2017-01-02 12:29:14 +01:00
asarium ef382c125a Make strings in flag_def_list const-correct. 2017-01-01 22:24:14 +01:00
asarium 1a7e2f42d4 Fix more Clang warnings 2017-01-01 22:13:40 +01:00
asarium 6aaa40fef3 Remove unused boolean flag 2017-01-01 22:13:40 +01:00
asarium 0a5a3a9dd4 Fix GCC warning 2017-01-01 22:13:40 +01:00
asarium aa60444ca4 Add upvalue setting capability to LuaFunction 2017-01-01 22:13:40 +01:00
asarium c4ede0d7ae Use the right constant for an invalid reference 2017-01-01 22:13:40 +01:00
asarium f2b61fb399 Add better iterator interface
Now LuaTable can be used in range-based for loops
2017-01-01 22:13:40 +01:00
asarium 9bab9769e4 Fix warnings 2017-01-01 22:13:40 +01:00
asarium 408101f7eb Add function and table parameter capability
This allows to accept and return function and table parameters from
scripting API functions by using the LuaFunction and LuaTable types.
2017-01-01 22:13:40 +01:00
asarium 0110954518 Add improved lua reference handling
This adds a utility library for handling all the nasty lua referencing
stuff. It also provides functions for convienent usage of lua objects
such as tables and functions which allows to use them directly from C++
code without using the ugly Lua C-API.
2017-01-01 22:13:40 +01:00
Fabian Woltermann 988c61f2e1 Merge pull request #1123 from MageKing17/bugfix/fred-messages-vector
Resize Messages vector before storing messages into it in FRED.
2017-01-01 13:09:13 +01:00
MageKing17 011d74bb4d Resize Messages vector before storing messages into it in FRED.
Not resizing the Messages vector here was leading to a debug error about an out-of-range vector subscript, and who knows what other problems were being caused by overwriting whatever memory was after the Messages vector. There's no equivalent problem when parsing, because as each message is parsed, it gets pushed onto the back of the vector instead of assigned directly to an index.
2016-12-31 21:10:17 -08:00
m!m cf71eda1ad Merge pull request #1122 from MageKing17/feature/beam-collision-groups
Add collision group support to beams.
2016-12-31 12:05:40 +01:00
MageKing17 a6c8af28f2 Add collision group support to beams.
Makes beams inherit their firing ship's collision group if "$Weapons inherit parent collision group:" is enabled, and adds a collision group check to beam/ship collisions (and only beam/ship collisions, since collision groups are only currently checked for ship/ship and ship/weapon collisions).

This shouldn't break any existing mods, since usage of collision groups is surprisingly rare, and so is usage of weapons inheriting their parent's collision groups, and this change should only affect mods that do both at the same time; from a (very quick, non-representative) survey of modders, it's entirely possible that the mod requesting this change is the only one that does so (theoretically, there could be a mod out there that uses scripting to explicitly set the collision group of a beam object, but if they did so and then relied on it not actually doing anything, that's incredibly silly of them).
2016-12-30 23:39:07 -08:00
MageKing17 14704a3415 Merge pull request #1121 from asarium/fix/luaTesting
Fix definition of scripting testing library
2016-12-30 22:19:10 -08:00
asarium 9bbff82c73 Fix definition of scripting testing library
Also fixed an unresolved external error.
2016-12-30 22:56:52 +01:00
m!m ce30c433ba Merge branch 'master' into feature/screenTracing 2016-12-30 22:36:53 +01:00
Fabian Woltermann 04da71448f Merge pull request #1120 from asarium/lua/graphics
The final batch of scripting API movements
2016-12-30 20:55:06 +01:00
asarium c17dcb1835 Move source files into category directories 2016-12-30 19:13:39 +01:00
asarium 6e5531adcc IT IS DONE! Moved testing library into separate file 2016-12-30 18:59:19 +01:00
asarium ad6ab9b95b Move tables scripting library into separate file 2016-12-30 18:52:34 +01:00
asarium ad6cbfb328 Move mission scripting library to separate file 2016-12-30 18:48:21 +01:00
asarium 9b8b7e0dce Move Hook variables library into separate folder 2016-12-30 18:33:02 +01:00
asarium 1cb5dbf99b Add include for the hud library 2016-12-30 18:24:59 +01:00
Fabian Woltermann f08f72c90a Merge pull request #1119 from asarium/lua/weapon
Move the rest of the scripting classes into separate files
2016-12-30 14:55:35 +01:00
asarium 46116362c5 Move graphics scripting library into separate file 2016-12-30 12:57:03 +01:00
asarium 98e8a0f041 Remove ade_api.cpp since it has no content 2016-12-30 12:40:58 +01:00
asarium 8cd3352af7 Fix test compilation 2016-12-30 12:33:32 +01:00
asarium 2c85c93136 Move hud scripting library into separate file 2016-12-30 12:33:32 +01:00
asarium 9251ec56ce Move controls scripting library to separate file 2016-12-30 12:33:32 +01:00
asarium deff6c9ec1 Remove now unused lua.h file 2016-12-30 12:33:32 +01:00
asarium 3fa4a8dbdc Move cfile scripting library into separate file 2016-12-30 12:33:32 +01:00
asarium bf2d996bd0 Move base scripting library to separate file 2016-12-30 12:33:32 +01:00
asarium 79709b2372 Move audio library into separate file 2016-12-30 12:33:32 +01:00
asarium 584b9cadd7 Move particle scripting class into separate file 2016-12-30 12:33:32 +01:00
asarium 2f1057f3c3 Move control_info scripting class into separate file 2016-12-30 12:33:32 +01:00
asarium 374bcacddd Move camera scripting class into separate file 2016-12-30 12:33:32 +01:00
asarium 94c7fbda6b Move player scripting class into separate file 2016-12-30 12:33:32 +01:00
asarium a049152e99 Move beam scripting class into separate file 2016-12-30 12:33:32 +01:00
asarium 7686163957 Move weapon scripting class into separate file 2016-12-30 12:33:32 +01:00
Fabian Woltermann ca62bd67ed Merge pull request #1111 from asarium/lua/order
And another batch of lua scripting class movements
2016-12-30 12:22:05 +01:00
Samuel Cho ac2b864aaa Merge pull request #1117 from The-E/Mantis3182
Don't do autorepair if we're already dead
2016-12-29 23:59:44 -08:00
Samuel Cho 1904330ebb Merge pull request #1116 from The-E/parse_object_flag_fix
Fix for #1115
2016-12-29 23:59:24 -08:00
Fabian Woltermann 876922c547 Don't do autorepair if we're already dead 2016-12-29 21:17:36 +01:00
m!m 4e0a879c4b Merge pull request #1084 from Yarn366/fiction_viewer_character_conversion
Fiction viewer character conversion
2016-12-29 17:58:24 +01:00
Fabian Woltermann b258a1d159 this needs to be an underscore 2016-12-29 16:54:59 +01:00
Fabian Woltermann df33974f88 The "no collide" parse object flag needs to be written as "no_collide" in the flags list, and the "no-disabled-self-destruct" flag needs to be parsed 2016-12-29 16:30:55 +01:00
asarium 8221bc3f04 Process frame profile data at end of frame
This matches what was done before the removal more closely so hopefully
the results will be the same or at least similar.
2016-12-29 12:29:55 +01:00
asarium 82750b238a Fix Assertion when events have the same timestamp
The timers on Windows apparently have a lower resolution than Linux
which causes issues with overlapping events. These changes apply an
offset to all timestamps if the same timestamp is detected while
processing the buffered events.
2016-12-29 00:44:59 +01:00
niffiwan 6b0ad43fb6 Merge pull request #1109 from asarium/fix/nightlyWarnings
Fix warnings in nightly builds
2016-12-29 07:19:40 +10:00
Yarn366 d55451195e Merge pull request #1 from asarium/fiction_viewer_character_conversion
Add const specifiers where possible
2016-12-28 15:16:47 -05:00
asarium 9cff51b6bb Use utility function for lua target 2016-12-28 17:55:56 +01:00
asarium 771eb9c875 Use included libraries when doing CI builds
This should make sure that nightly builds should fail less often.
2016-12-28 17:55:15 +01:00
asarium 12fec3026b Suppress warnings for all third-party libraries 2016-12-28 17:55:15 +01:00
asarium df80f64598 Add const specifiers where possible 2016-12-28 17:47:46 +01:00
asarium ada29fd266 Add previous on-screen prifiling readout again
This is basically the old code but it has been ported to the new tracing
system.

There is still some weirdness with the percentages but I have no idea
where that comes from since I don't know the code.
2016-12-28 10:30:38 +01:00
niffiwan 07ad4cf2e0 Merge pull request #1110 from asarium/fix/luaWarnings
Use the correct Lua defines for Linux and Mac
2016-12-28 12:23:17 +10:00
asarium c07cfc7210 Use memory allocation callbacks 2016-12-27 14:15:44 +01:00
asarium c3243cc243 Use the libpng callbacks to log the warnings to the debug log 2016-12-27 14:10:47 +01:00
m!m 2d52ffa2a4 Merge pull request #1112 from SamuelCho/anim_alpha_channel_fix
Use user defined alpha regardless of if blend filter is on.
2016-12-26 22:42:33 +01:00
Samuel Cho f2156292e4 Use user defined alpha regardless of if blend filter is on. 2016-12-26 11:07:40 -08:00
asarium 4cb0ca42e3 Move ship scripting class into separate file 2016-12-26 15:16:15 +01:00
asarium 3737249459 Move wing scripting class to separate file 2016-12-26 15:00:52 +01:00
asarium fecca89447 Move message scripting classes into separate file 2016-12-26 14:40:53 +01:00
asarium 080e40d1da Move sound scripting classes into separate file 2016-12-26 14:27:14 +01:00
asarium 4c77bc7edf Move CockpitDisplays scripting class into correct file 2016-12-26 14:14:52 +01:00
asarium 334e9d4abf Move ShipTextures scripting class into separate file 2016-12-26 14:12:31 +01:00
asarium b1404d8bbf Move order scripting classes into separate file 2016-12-26 14:02:17 +01:00
asarium 6fd62e6ebd Use the correct Lua defines for Linux and Mac
This fixes the warning that tmpnam shouldn't be used anymore.
2016-12-26 12:59:47 +01:00
Fabian Woltermann f01730e722 Merge pull request #1107 from asarium/lua/waypoint
Move more scripting classes into separate files
2016-12-26 12:49:25 +01:00
niffiwan d4bd640280 Merge pull request #1108 from SamuelCho/anim_alpha_channel_fix
Fix for incorrect alpha channel detection for animations.
2016-12-26 20:05:58 +10:00
Samuel Cho 4e053b234b Made sure bm_create sets a value for true_bpp so alpha channel can be correctly detected for blending in animations. 2016-12-26 00:16:09 -08:00
asarium 6b9b2a45ab Move subsystem scripting class into separate file 2016-12-25 19:09:47 +01:00
asarium 698e49d595 Move weapon bank scripting classes into own files 2016-12-25 18:49:12 +01:00
asarium 15886a64b1 Move waypoint classes into separate file 2016-12-25 18:33:03 +01:00
Fabian Woltermann d4844ab7ed Merge pull request #1106 from asarium/lua/mcInfo
Another batch of scripting class movement
2016-12-25 15:27:45 +01:00
Fabian Woltermann 94721d06de Merge pull request #1100 from asarium/feature/monitorRevival
Integrate the existing monitor system into the new tracing system
2016-12-25 15:26:52 +01:00
asarium 417b12129d Move debris scripting class into separate file 2016-12-25 13:08:43 +01:00
asarium fc391736ec Move shipclass and cockpit display classes into separate files 2016-12-24 23:51:25 +01:00
asarium c42fc4fc6f Move asteroid scripting class into separate file
This also adds a macro for specifying from which class a scripting class
derives.
2016-12-24 19:36:42 +01:00
asarium 4360340bd4 Move object scripting class into separate file 2016-12-24 19:08:08 +01:00
asarium 72ffa6a052 Move mc_info scripting class into own folder 2016-12-24 18:04:44 +01:00
Fabian Woltermann 2fc8a12138 Merge pull request #1105 from asarium/fix/fixShaderAgain
Readd accidentially removed lines to shader code
2016-12-23 14:27:51 +01:00
Fabian Woltermann 842076e3b9 Merge pull request #1104 from SamuelCho/blending_fix
Blending fixes for interface materials.
2016-12-23 14:27:23 +01:00
asarium 44cac0de49 Readd accidentially removed lines to shader code 2016-12-23 10:39:07 +01:00
SamuelCho 2dc097ecb6 Return interface materials to use the standard blending selection function. Make sure we set the appropriate alpha for interface materials depending on if we're additive or alpha blended. 2016-12-22 23:15:43 -08:00
Fabian Woltermann 966bc0a0b9 Merge pull request #1101 from asarium/lua/shiptype
Move more scripting classes into separate files
2016-12-22 12:52:24 +01:00
Fabian Woltermann 03d81a7429 Merge pull request #1096 from asarium/build/iteratorDebugLevel
Disable iterator debugging for FastDebug
2016-12-22 12:51:27 +01:00
asarium d6a556cd31 Move weaponclass scripting file into separate file 2016-12-21 17:57:26 +01:00
asarium 1c36ff40ba Move material scripting class into separate file 2016-12-21 17:52:05 +01:00
asarium 60fc558a3b Move texture scripting class into separate file 2016-12-21 17:42:59 +01:00
asarium ce5dfe148d Move streaminganim scripting class into separate file 2016-12-21 17:37:26 +01:00
asarium 9a8e3ba09c Move team scripting class into own file 2016-12-21 17:30:39 +01:00
asarium 06066e0c52 Move species scripting class into own file 2016-12-21 17:25:14 +01:00
asarium f10cee9f58 Move shiptype scripting class into own file 2016-12-21 16:47:23 +01:00
asarium 6922d3ca2c Integrate the existing monitor system into the new tracing system
This writes the monitor updates as counter events into the event trace
file.
2016-12-21 16:10:01 +01:00
Fabian Woltermann a10b403748 Merge pull request #1095 from asarium/fix/beamHook
Fix scripting hook object parameter
2016-12-21 15:49:19 +01:00
Fabian Woltermann 6c1a55644e Merge pull request #1097 from asarium/lua/physics
Move a few scripting classes into their own files
2016-12-21 15:48:46 +01:00
Fabian Woltermann 64f5554c90 Merge pull request #1099 from asarium/gl/shaderVersion
Remove unnecessary __VERSION__ usages in shaders
2016-12-21 15:47:37 +01:00
asarium c2a368534f Remove unnecessary __VERSION__ usages in shaders
The previous usages were always true since we require a more recent GLSL
version now.
2016-12-21 12:16:18 +01:00
asarium 9274925ddf Disable iterator debugging for FastDebug
This is a feature for developers that is not needed in FastDebug builds.
This should speed up these builds a bit since iterator debugging causes
quite a performance penalty.
2016-12-20 19:25:42 +01:00
asarium 5725562435 Improve logic for determining legacy mode
Now it will also check if the old config location exists and if it
doesn't then the new config mode will be used by default. This should
fix #858.
2016-12-20 17:59:41 +01:00
asarium 5f6fe0288c Move shields scripting class to separate file 2016-12-20 17:58:27 +01:00
asarium d5973346ec Move sexpvar scripting class 2016-12-20 17:58:27 +01:00
asarium c23c65596f Move physics_info scripting class into own file 2016-12-20 17:58:26 +01:00
asarium 7e1ca2ce51 Fix scripting hook object parameter
It was using the object pointer of the User before which is not correct
since the object pointer of the beam is needed.
2016-12-20 17:57:43 +01:00
Fabian Woltermann ba1674a9d3 Merge pull request #1090 from asarium/fix/extraGccWarnings
Enable extra GCC and Clang warnings again
2016-12-20 17:52:10 +01:00
MageKing17 fb4e20e364 Merge pull request #1094 from asarium/fix/1092
Initialize ffmpeg when starting FRED
2016-12-16 13:42:05 -08:00
asarium 911302c918 Initialize ffmpeg when starting FRED
This fixes #1092.
2016-12-16 19:24:35 +01:00
m!m 2d387c4b6a Merge pull request #1093 from MageKing17/bugfix/fire-secondary-scripting-fix
Make ship_fire_secondary() call into the scripting engine earlier.
2016-12-16 14:59:54 +01:00
MageKing17 d8e7b95e07 Make ship_fire_secondary() call into the scripting engine earlier.
Swaps the order of the scripting call block and the cycle-to-next-bank-if-out-of-ammo block so that e.g. "$On Weapon Fired:" scripts for a specific weapon type (which checks the currently-selected bank) will work properly when firing the last missile in the bank. Fixes issue #1091.
2016-12-15 18:03:11 -08:00
asarium 5e23c5d5e1 Fix Visual Studio 2015 compiler bug 2016-12-14 20:11:43 +01:00
asarium 40d9cc3293 Remove unused function 2016-12-14 11:56:15 +01:00
asarium d191b6cedc Remove unused class 2016-12-14 11:53:57 +01:00
asarium b13c816ecb Fix missing braces warnings 2016-12-14 11:31:35 +01:00
asarium 3b0866bfe1 Fix braces warnings 2016-12-14 11:29:47 +01:00
asarium 95e0b6fe6a Remove now unused variables and function from GL_State 2016-12-14 11:27:19 +01:00
asarium 4cf8a32c1e Fix braces warning 2016-12-14 11:24:51 +01:00
asarium e04fc5edb7 Fix move warning 2016-12-14 11:21:12 +01:00
asarium ef4431e8b1 Enable extra warnings for Clang 2016-12-14 11:20:58 +01:00
asarium 865946b97d Fix misleading indentation warning 2016-12-14 11:15:21 +01:00
asarium b024d8f44a Fix unused variable warning 2016-12-14 11:14:54 +01:00
asarium 1d3f2c1da8 Fix unused variable warning 2016-12-14 11:14:19 +01:00
asarium 49bb57478c Fix misleading indentation warning 2016-12-14 11:13:47 +01:00
asarium 278c78e4f4 Fix unused variable warning 2016-12-14 11:13:23 +01:00
asarium 0ba4e49106 Fix signed/unsigned warnings 2016-12-14 11:12:25 +01:00
asarium 789c13f792 Fix misleading indentation warnings 2016-12-14 11:10:23 +01:00
asarium 667e257d64 Remove unused variable 2016-12-14 11:08:19 +01:00
asarium 3f7728d328 Fix member initialization order of model_material
Since there are so many member I decided it would be better to use the
new member assignment syntax since that automatically guarantees the
right initialization order.
2016-12-14 11:06:15 +01:00
asarium 3fb6b7c51c Fix member initialization order of polymodel 2016-12-14 11:05:51 +01:00
asarium 16e428c5ae Enable extra warnings again 2016-12-14 11:05:37 +01:00
m!m 04dcb4cf60 Merge pull request #1089 from jg18/fix_ml_string
Fix double newlines in multi.log caused by ml_string()
2016-12-14 10:53:34 +01:00
jg18 2de73b50fe Fix double newlines in multi.log caused by ml_string()
Remove extra \n that was added in ml_string().
2016-12-13 23:50:12 -08:00
m!m 04541c7e27 Merge pull request #1088 from MageKing17/fix/joystick-hat-assumption
Make joy_down_time() and joy_down_count() check current->numHats().
2016-12-10 21:41:23 +01:00
MageKing17 514a90805d Make joy_down_time() and joy_down_count() check current->numHats().
Before, they were assuming any joystick had at least 1 hat; this way, they now treat it similarly to buttons. If requesting the status of a button the joystick doesn't have, they return 0. If the joystick doesn't have a hat, querying a hat position will likewise now also return 0. This code will obviously need changed when we get around to proper (e.g. multiple) hat support.
2016-12-10 11:08:04 -08:00
MageKing17 0e66e63086 Fix for Mantis 3187.
When this line was converted by the bitset flags PR, it was accidentally changed from setting the flag to reading the flag, making it a do-nothing line and causing the flag to be cleared on mission load.
2016-12-10 00:18:20 -08:00
MageKing17 da58874390 Merge pull request #1086 from asarium/fix/parseCatch
Add catch clauses everywhere where parselo is used
2016-12-09 07:49:33 -08:00
asarium 52aa0ac031 Add catch clauses everywhere where parselo is used
Before, if any parsing call failed it would throw an exception which
would have been propagated to the exception handler in main() which
terminates the program. This should fix that.
2016-12-09 10:46:51 +01:00
MageKing17 80511c9337 Merge pull request #1085 from Goober5000/jettison_cargo
jettison-cargo sexp
2016-12-08 14:51:00 -08:00
Goober5000 4e922b976e tweak variable per comments 2016-12-08 00:00:44 -05:00
m!m bfe496e22a Merge pull request #1082 from TheMatthew/tracing
timer: Increase precision of timer as well as reducing potential of o…
2016-12-07 10:39:49 +01:00
Goober5000 1a898ac834 jettison-cargo sexp
Upgrades and deprecates the original jettison-cargo-delay sexp by removing the unused delay parameter and adding a new parameter to control the speed of jettisoning.  It further fixes the physics calculations by using the dockpoint normal instead of the vector between the center of the host ship to the center of the cargo.

See also the thread on HLP: http://www.hard-light.net/forums/index.php?topic=92844.0
2016-12-04 21:31:52 -05:00
Matthew Khouzam b5b4a88775 timer: Increase precision of timer as well as reducing potential of overflows.
This creates a factor that is used to multiply the timestamp. It will
overflow less, (once every 300 years or so) and not lose as much precision
as the previous implementation.

The performance is slightly improved, there are no more branches and one
floating point multiply.

Note: this relies on long double having a 64 bit mantissa. This is the
case on x86 Windows, Linux, and Mac OS. However, it is unconfirmed to
work on other architechtures.

Signed-off-by: Matthew Khouzam <[email protected]>
2016-12-04 05:44:02 -05:00
Yarn366 73cd575ea1 Merge branch 'master' of https://github.com/Yarn366/fs2open.github.com into fiction_viewer_character_conversion 2016-12-01 03:44:37 -05:00
Yarn366 bff65254a1 Added character conversion to fiction viewer text to allow accented characters and such to display properly, provided that an appropriate font is in use. 2016-12-01 03:43:59 -05:00
Fabian Woltermann be27e65df2 Merge pull request #1081 from asarium/lua/moveModel
Move model scripting class into own file
2016-11-30 13:16:22 +01:00
Fabian Woltermann 2e7cfc5cf1 Merge pull request #1083 from DahBlount/fix/dont_spawn_if_shot
Fix Don't Spawn If Shot
2016-11-30 13:15:53 +01:00
DahBlount 4a3287457d Fix Don't Spawn If Shot 2016-11-29 11:54:43 -07:00
m!m e07f3a41cb Merge pull request #539 from z64555/cleanup/shield_refactor
Cleanup/shield refactor
2016-11-27 21:46:26 +01:00
z64555 b4a628b3e5 Merge pull request #1015 from asarium/feature/betterTracing
Refactor tracing subsystem. Removes on-screen profiling printouts in favor of using third-party viewers (such as chrome's viewer and spacecompass)
2016-11-27 13:24:54 -06:00
niffiwan d2ee8e873b Merge pull request #1070 from asarium/cmake_/sanitizeUndefined
Add option for enabling -fsanitize=undefined
2016-11-27 12:47:59 +10:00
asarium eb6295e375 Move model scripting class into own file
This also includes the various associated classes.
2016-11-26 14:21:47 +01:00
z64555 cc774b83d4 Rename Goober's factor to shield_scale_factor and change its type to a float. 2016-11-25 16:16:24 -06:00
z64555 020c7e70fd Use correct abs function. 2016-11-25 15:12:12 -06:00
z64555 f4b455dd98 Replace apply_damage_to_shield() with shield_apply_damage().
Also remove a declaration of shield_get_max_quad() in object.h
2016-11-25 15:12:09 -06:00
z64555 b0d9c53688 Remove duplicate function get_max_shield_quad() 2016-11-25 15:07:37 -06:00
z64555 b30a801f25 (Safety) Add asserts to all functions that use an objp.
(Perf) Add early bail-outs to some functions that could be called on non-ship objects
2016-11-25 15:05:40 -06:00
z64555 260673fcea Remove unused variables. 2016-11-25 15:04:11 -06:00
z64555 6f0888e30b Combine shield transfers from AI and Players into one code path
Fixed an Assert()
2016-11-25 15:04:08 -06:00
z64555 0a81104723 AI and Player shield balancing now share same codepath. 2016-11-25 15:01:28 -06:00
z64555 4cd9c847f3 Implemented shield_balance 2016-11-25 10:42:39 -06:00
z64555 14c4e553dd Doxy and organize objectshield functions. Declared shield_balance. 2016-11-25 10:42:37 -06:00
Fabian Woltermann 2cf4f7e4e7 Merge pull request #1078 from asarium/lua/functionMovement
Move gamestate, hudgauge, and eye scripting classes into own files
2016-11-25 16:32:29 +01:00
Fabian Woltermann 09b76c601a Merge pull request #1079 from asarium/fix/glslWarnings
Fix a few Mesa warnings in the shader code
2016-11-25 16:31:22 +01:00
asarium 173d41522e Fix a few Mesa warnings in the shader code
GL_EXT_gpu_shader4 is part of the GLSL 1.50 language standard so the
FXAA shader doesn't need to check against that. I also added a
conditional define for FXAA_GATHER4_ALPHA if the GLSL version supports
it which is the case when it's >= 4.00.

The other issue was a minor change from inout to out where Mesa
complained that the target variable might not have been initialized.
2016-11-25 11:02:26 +01:00
asarium d64196eff0 Refactor tracing subsystem
The new design is centered around the Event Trace JSON format but it
should still be possible to adapt it for other profiling tools. The old
profiling system has been removed.
2016-11-24 10:26:21 +01:00
asarium 45fa09d9cb Move eye scripting class into own file 2016-11-23 18:57:52 +01:00
asarium 2e1d2116b1 Move hudgauge scripting class 2016-11-23 18:50:21 +01:00
asarium a17249eef6 Move gamestate scripting class 2016-11-23 18:45:01 +01:00
Fabian Woltermann 1ce3b3486d Merge pull request #1072 from asarium/lua/functionMovement
Move even more scripting classes into own files
2016-11-22 14:21:00 +01:00
Fabian Woltermann 404b205f31 Merge pull request #1076 from z64555/fix/issue_965a
Actually Fixes Issue 965.
2016-11-22 14:19:14 +01:00
MageKing17 a2ea205239 Merge pull request #1075 from z64555/fix/issue_1097
Fixes issue #1097:
2016-11-20 22:27:26 -08:00
z64555 b9d98a3aa3 Adds scripting support for VM_CAMERA_LOCKED and VM_CENTERING. VM_EXTERNAL_CAMERA_LOCKED is now a soft-state that is equal to (VM_EXTERNAL && VM_CAMERA_LOCKED) 2016-11-20 19:38:23 -06:00
z64555 5990dbce08 Actually Fixes Issue 965.
Previous fixed used a logical NOT (!) instead of a bitwise NOT (~), derp!
In addition, the LE_VM_INTERNAL state now ignores VM_CENTERING, so it won't go false if the camera is returning to center.
2016-11-20 19:30:43 -06:00
z64555 de12c0ae0c Fixes issue #1097:
primative_batch_buffer:desired_buffer_size was not properly initialized in vc120 compilers during debugging. Default constructors proved insufficient, and std:map::operator[] seems to ignore them anyway. This fix gets around that by explicitly clearing desired_buffer)size from within batching_init_buffer()
2016-11-20 16:01:50 -06:00
asarium 69db392407 Move gameevent scripting class into own file 2016-11-14 23:39:47 +01:00
asarium a43429f658 Move font scripting class into own file 2016-11-14 23:28:39 +01:00
asarium 32b2ed5093 Move file scripting class into own file 2016-11-14 22:51:03 +01:00
asarium 4ca0f86c74 Move event scripting class own file 2016-11-14 22:47:25 +01:00
Fabian Woltermann 8fffa4b5e9 Merge pull request #1040 from asarium/lua/enums
Move sripting enums to own file
2016-11-14 22:13:02 +01:00
m!m aa1bc354cb Merge pull request #1071 from MageKing17/bugfix/repair-subsystem-submodel-fix
Make repair-subsystem/set-subsystem-strength fix submodels by default.
2016-11-14 21:47:04 +01:00
MageKing17 b42fb9c97c Make repair-subsystem/set-subsystem-strength fix submodels by default.
When this functionality was added in commit 0662cb6959 it made an explicit check to see if the node was -1, and if so (meaning the node is not present), defaulted the value to true; a month later commit 57c4855e25 "simplified" this to a single is_sexp_true() call, which returns false if the node isn't present... but the documentation still claimed that the default value was true.

Ten years later, and Axem wanted to know why his submodel wasn't being fixed by the repair-subsystem SEXP. I don't know if this is the first time in ten years anybody's wanted to use repair-subsystem on a destroyable submodel, or if everyone was just assuming it worked as intended and never noticing it didn't; regardless, while the "simple" solution would seem to be to fix the documentation (since the current behavior has been the actual behavior for almost as long as the feature has existed), it seems unlikely that there would be many unintended consequences of just fixing submodels by default, and if anyone has used these SEXPs in the intervening ten years, it was probably under the assumption that they worked as the documentation claimed.
2016-11-13 15:55:44 -08:00
asarium c7ae91edef Add option for enabling -fsanitize=undefined
There are a few issues I found with this option which should probably be
fixed.
2016-11-13 22:37:28 +01:00
MageKing17 9f60839faf Merge pull request #1065 from z64555/fix/issue_965
Fixes issue #965 by making the VM_INTERNAL view state ignore the camera lock bit
2016-11-06 20:57:55 -08:00
z64555 9d859066f7 Let LE_VM_INTERNAL ignore the state of VM_CAMERA_LOCKED, which should have gr.hasViewMode(VM_INTERNAL) return TRUE again. 2016-11-04 20:57:13 -05:00
m!m 6b3d5b39ba Merge pull request #1063 from PeterMitsis/dead-code-elimination
cmake, gcc: Enable garbage collection
2016-11-04 10:21:05 +01:00
Peter Mitsis 9fd95d8ba6 cmake, gcc: Enable garbage collection
Enable compiler and linker garbage collection to eliminate dead
code from the final image.

Signed-off-by: Peter Mitsis <[email protected]>
2016-11-01 11:56:47 -04:00
m!m b5258c494a Merge pull request #1060 from niffiwan/coverity/1365316
Fix Coverity 1365316
2016-10-30 22:21:08 +01:00
niffiwan b8826835e2 Fix Coverity 1365316
Move check for -1 to before we use weapon_index as an array index :)
Also fixes coverity 1365315; which seems like a redundant issue...
2016-10-30 22:43:21 +10:00
Fabian Woltermann c930d1a32e Merge pull request #1058 from asarium/fix/carriageReturn
Ignore Carriage return characters when rendering strings
2016-10-23 10:24:04 +02:00
m!m 18e63d9700 Merge pull request #1057 from X3N0-Life-Form/config_tbl
More file types for data/config
2016-10-22 19:30:14 +02:00
asarium dfd04a45fe Ignore Carriage return characters when rendering strings
Since Windows line endings include this character it needs to be ignored
since the text rendering would display it as an unknown character
otherwise.

This was reported by @AxemP.
2016-10-22 16:16:59 +02:00
MageKing17 7b79b04bad Merge pull request #1056 from asarium/cleanup/cdCheck
Remove old CD code
2016-10-21 12:39:54 -07:00
X3N0-Life-Form 20a22e6a31 add .tbl, .tbm, .xml and .csv to the list of supported /config file types 2016-10-21 20:21:53 +02:00
asarium c409dde698 Remove old CD code 2016-10-21 17:35:15 +02:00
m!m 302192f7fe Merge pull request #1055 from PeterMitsis/absolute-values
Absolute values
2016-10-21 13:03:53 +02:00
Fabian Woltermann 8885bb0c35 Merge pull request #1048 from asarium/fix/casecmp
Cleanup case insensitive string comparision
2016-10-17 09:59:13 +02:00
Fabian Woltermann cdf6a21276 Merge pull request #1049 from asarium/test/safe_strings
Move safe strings tests to unit tests
2016-10-17 09:57:40 +02:00
Fabian Woltermann b2ca49edfe Merge pull request #1053 from asarium/fix/timeroverflow
Fix timestamp overflow check
2016-10-17 09:48:55 +02:00
asarium eda4cdffa7 Fix timestamp overflow check 2016-10-17 09:16:01 +02:00
MageKing17 1d77af86e7 Merge pull request #1052 from Goober5000/fix_issue_1050
fix reversal of toggle caused by flag -> enum conversion
2016-10-16 19:54:03 -07:00
Goober5000 ae49a7ca24 fix reversal of toggle caused by flag -> enum conversion 2016-10-16 22:21:33 -04:00
m!m c321432392 Merge pull request #1047 from niffiwan/fix/max_shield_recharge
Fix issues with $Max Shield Recharge
2016-10-16 14:09:42 +02:00
asarium d2204fdb11 Move safe strings tests to unit tests 2016-10-16 13:40:23 +02:00
niffiwan 7b324b7153 Keep Appveyor happy 2016-10-16 20:14:30 +10:00
asarium f00ca7c7f9 Only enable "errors are warnings" on project sourcce code 2016-10-16 11:54:43 +02:00
niffiwan bf21913708 Updates to max shield recharge fix
Use a helper function in appropriate places, add comments where not
Avoid a potential div/0 & add Assertion to shield_get_max_strength
2016-10-16 16:31:11 +10:00
asarium 92cb2140aa Replace _isnan with std::isnan 2016-10-15 19:37:18 +02:00
asarium 599260f2e5 Use platform checks to determine case compare function 2016-10-15 19:37:18 +02:00
niffiwan 4c44934d7a Fix issues with $Max Shield Recharge
Fix unlimited transfer of energy to shields (energy lost)
Fix thresholds in ai balance shields, rearm timer & call4help
Fix scaling in shield pain flash
Fix variable number of shield segments in shield pain flash
Lastly includes formatting tidy-up in shield pain flash
2016-10-15 20:01:07 +10:00
Fabian Woltermann b08d6c9837 Merge pull request #1042 from asarium/fix/ffmpegCompat
Add compatibility code for older FFmpeg versions
2016-10-15 10:04:10 +02:00
Fabian Woltermann ce5badaf78 Merge pull request #1039 from asarium/fix/960
Fix wrong negation in HudGaugeExtraTargetData
2016-10-15 10:03:37 +02:00
Fabian Woltermann 2c18b8129c Merge pull request #1043 from asarium/fix/1038
Fix TTF rendering on cockpit displays
2016-10-15 10:03:14 +02:00
m!m 83e95705ea Merge pull request #1046 from niffiwan/fix/1044
Fix mprintf format strings in apng code
2016-10-15 10:01:39 +02:00
niffiwan fd7f291b87 Fix mprintf format strings in apng code
See #1044
2016-10-15 08:21:28 +10:00
asarium 1d16bb2a04 Fix TTF rendering on cockpit displays
I needed to disable backface culling but I don't think it actually
matters.

Fixes #1038.
2016-10-14 18:39:24 +02:00
asarium 2bf5828c17 Add compatibility code for older FFmpeg versions 2016-10-14 17:06:42 +02:00
Fabian Woltermann bd5fb3896b Merge pull request #1035 from asarium/feature/videoInfoOutput
Add option for showing video debug informations
2016-10-14 09:53:50 +02:00
asarium a42e9ff90f Move Enums to own file
Also added unit tests to check if enums exist and work as intended.
2016-10-14 09:50:30 +02:00
Fabian Woltermann 2a4dded277 Merge pull request #1036 from asarium/lua/docSort
Move BitOps scripting library into own file
2016-10-14 09:49:43 +02:00
asarium 45e374221c Fix wrong negation in HudGaugeExtraTargetData
This fixes #960. The flagsets patch negated the flyable logic but this
one spot was missed when negating the conditions.
2016-10-14 09:44:38 +02:00
asarium b4f37f46cc Make semicolon manditory after definition and declaration 2016-10-13 12:22:47 +02:00
asarium ecd7f61956 Sort the scripting documentation entries 2016-10-13 12:22:47 +02:00
asarium 11483057e5 Add unit tests
This also fixes the toggleBit function which was broken until now.
2016-10-13 12:22:47 +02:00
asarium 4382b577ae Move BitOps scripting library into own file 2016-10-13 12:22:47 +02:00
Fabian Woltermann fe6fafdbfb Merge pull request #1008 from asarium/lua/vecmathApi
Move vecmath scripting functions into own file
2016-10-13 12:22:08 +02:00
asarium 20e36e8190 Add option for showing video debug informations. 2016-10-13 12:11:29 +02:00
asarium 65d0576a91 Use prebuilt libraries for SDL2 framework 2016-10-13 11:58:10 +02:00
asarium b3a342c796 Change video rendering so that text can be rendered 2016-10-13 10:38:47 +02:00
niffiwan 7e35461c08 Merge pull request #1034 from DahBlount/LUA/DescriptionFix
Fix isWeaponUsed Description
2016-10-13 15:00:46 +10:00
DahBlount 0a22d601fd Fix isWeaponUsed Description 2016-10-12 18:59:02 -06:00
niffiwan 4f4832f67f Merge pull request #1033 from DahBlount/LUA/WeaponPageIn
Add isWeaponUsed scripting function
2016-10-13 09:23:24 +10:00
DahBlount 214b2dc053 Fix comments, arguments, and initialize some vars 2016-10-12 15:10:42 -06:00
DahBlount c323917db9 Splits up isWeaponUsed into two functions 2016-10-12 14:18:08 -06:00
DahBlount 5575e65eb6 Add isWeaponUsed scripting function 2016-10-12 14:18:08 -06:00
Fabian Woltermann a410654575 Merge pull request #1032 from asarium/fix/cutscenePlayback
Fix a few cutscene playback issues
2016-10-12 20:57:20 +02:00
asarium ea17916de7 Fix video cutscene timing
Also includes a few other minor fixes
2016-10-12 17:45:01 +02:00
asarium db8abecc68 Log FFmpeg warnings in debug builds instead of only errors 2016-10-12 17:44:19 +02:00
asarium 621e1692c9 Improve FFmpeg error handling 2016-10-12 17:44:02 +02:00
asarium aa5447c072 Actually do what the comment says 2016-10-12 17:43:17 +02:00
niffiwan 280c275c4e Merge pull request #1031 from asarium/fix/wavefileExtension
Remove extension from a filename passed to WaveFile::Open
2016-10-12 21:20:50 +10:00
m!m 5ed2b6070e Merge pull request #1026 from The-E/ship_flag_sexp_fix
Fixes a few instances of using the wrong overload for sexp_deal_with_ship_flag
2016-10-12 12:42:57 +02:00
asarium a614a8ecfc Remove extension from a filename passed to WaveFile::Open
This fixes #1029. Special thanks to @AxemP for providing a test mod for
reproducing the bug.
2016-10-12 11:53:25 +02:00
Fabian Woltermann b5eca62785 Merge pull request #1030 from SamuelCho/specGlossAndAOFix
Fixed reflectance maps and ambient/cavity maps not being used
2016-10-12 11:38:45 +02:00
Fabian Woltermann a69b0e337e Merge pull request #1027 from asarium/ci/noFormatter
Disable xcpretty travis formatter since it's broken
2016-10-12 11:05:33 +02:00
SamuelCho 5a25de0885 Removed extra brace from the ambient map fix attempt. 2016-10-12 01:56:40 -07:00
SamuelCho 4c4d5c2310 Fixed reflectance maps not being used if no shine map isn't available. Fixed ambient/cavity maps not being used. 2016-10-11 23:42:46 -07:00
asarium e99b4716c6 Disable xcpretty travis since it's broken 2016-10-11 17:18:12 +02:00
Fabian Woltermann e7a79cf1c8 Fixes a few instances of using the wrong overload for sexp_deal_with_ship_flag 2016-10-11 14:19:20 +02:00
niffiwan 378df6c06a Merge pull request #1025 from asarium/fix/creditsReading
Fix reading credits table without #end
2016-10-11 13:43:56 +10:00
asarium c005602e8f Fix reading credits table without #end
This just checks if the end of the file has been reached so existing
tables without the #end will still work (I'm looking at you
FSPort...).
2016-10-10 20:16:33 +02:00
Fabian Woltermann 3f65b059f6 Merge pull request #1017 from asarium/fix/mainExceptionError
Show an error dialog when an exception is thrown in main
2016-10-10 12:00:28 +02:00
Fabian Woltermann 1c773fb3ca Merge pull request #1023 from DahBlount/weapon_sub_fixes
Fixes for $Substitute
2016-10-10 11:59:40 +02:00
DahBlount ffab766a38 Clarify flag choice dependent upon weapon type
Ensures that primary weapons can't launch secondary weapons and vice
versa.
2016-10-10 01:59:31 -06:00
DahBlount 8bebea455a Make linked/dual fire consistent
Make sure we've got initialized values in the secondary pattern indexes
for a ship_weapon and also allow linked/dual fire to be in sequence
instead of swapping in the base weapon at the beginning of each pattern
loop.
2016-10-10 01:24:25 -06:00
DahBlount c2b98654fc Make sure substitution weapons get counted as used.
This will ensure the weapons get properly paged in.
2016-10-10 01:24:25 -06:00
niffiwan 8d58adc848 Merge pull request #1022 from asarium/fix/audiosttCutoff
Reset AudioStream data when beginning playback
2016-10-10 12:19:04 +10:00
niffiwan 5ab36f0629 Merge pull request #1021 from asarium/fix/rotationNaN
Fix computation that causes NaN errors
2016-10-10 12:17:09 +10:00
Peter Mitsis 4437766a2a Introduce IS_NEAR_ZERO() macro
The IS_NEAR_ZERO() macro offers a convenient and efficient way
to test if a float is near zero.

Signed-off-by: Peter Mitsis <[email protected]>
2016-10-09 19:35:44 -04:00
asarium 787630e9de Reset AudioStream data when beginning playback
This fixes an issue where the event music cuts off after ~ 3 seconds
because the fields tracking how much data has been read so far were not
reset. I also fixed the calculation of how much data may be read since
that was slightly broken by the new audio stream reading code.
2016-10-09 21:44:05 +02:00
asarium a62d13468c Fix computation that causes NaN errors
I'm not entirely sure if this is the correct way to do the computation
but I see no other way of fixing it but since the zero vector is a valid
value for the relative velocity this seems to be the most sensible
solution.

Also, related to this I found out that FSO causes a lot of NaN errors at
runtime which may need to be investigated at some point to make sure
they don't cause issues like this bug.
2016-10-09 19:26:47 +02:00
niffiwan a42dba8316 Merge pull request #1019 from niffiwan/cleanup/remove_msaa
Remove MSAA
2016-10-09 22:17:07 +10:00
niffiwan 00948ec261 Minimal disable, leave infrastructure intact 2016-10-09 21:01:54 +10:00
niffiwan c6c4f54f79 Remove MSAA
Reasons being; it's incompatible with FXAA, it's slow, and it's causing
OGL init to fail on certain systems. Oh, and it probably doesn't work
anyway :)
2016-10-09 20:00:06 +10:00
asarium 3b06c0a18e Show an error dialog when an exception is thrown in main
This will make sure that an exception doesn't just silently crash the
game (if the dialog can be shown at that point). This caused some issues
in the past so I thought it would be a good idea. I also added a check
for a preprocessor define to disable exception catching completely which
should make it possible to use a debugger to debug uncaught exceptions.
2016-10-09 10:03:51 +02:00
niffiwan 62efff7b97 Merge pull request #1016 from asarium/cleanup/moreconfigh
Cleanup config.h a bit more
2016-10-09 08:34:11 +10:00
niffiwan 9f9b4e8430 Merge pull request #1013 from asarium/fix/retailSoundWarnings
Suppress 3D sound warning for retail sounds
2016-10-09 08:31:05 +10:00
Peter Mitsis ff3de3a2b4 vecmat: Remove broken vm_vec_normalize_quick_mag()
The routine vm_vec_normalize_quick_mag() did not normalize a vector.
Instead of dividing the vector by the 'quick magnitude', it multiplied
it. This routine was only called by one other routine (which was
fortunately unused)--vm_vec_normalized_dir_quick_mag().

Given both the incorrect behavior as well as their lack of use, those
routines have been removed.

Signed-off-by: Peter Mitsis <[email protected]>
2016-10-08 16:06:57 -04:00
Peter Mitsis 98876e99bb vecmat: Use fl_abs() in vm_vec_mag_quick()
Uses fl_abs() (which evaluates to fabsf()) instead of an if-else
statement to get the absolute value of a float. A compiler for the
x86 platform is able use SSE instructions to optimize calls to fabsf().

Signed-off-by: Peter Mitsis <[email protected]>
2016-10-08 16:06:57 -04:00
asarium 033402c261 Fix Cross-compilation 2016-10-08 21:27:28 +02:00
asarium 43ceefde5f Cleanup config.h a bit more 2016-10-08 21:27:17 +02:00
asarium 322060024c Suppress 3D sound warning for retail sounds
@niffiwan discovered that some retail sounds trigger the newly
introduced so the warning needs to be suppressed for those few files.
See #1005 for the full discussion.
2016-10-08 15:55:49 +02:00
m!m bb9d6fa4c5 Merge pull request #1014 from niffiwan/feature/alt_techroom_pof
Add alternate pof for use in techroom
2016-10-08 15:54:13 +02:00
niffiwan d96a8d031a Add alternate pof for use in techroom
Designed to work around issues with gunpoints on animated subsystems,
and those gunpoints being in the "triggered" position, and thus there's
lines pointing to empty space in the weapon loadout screen.

Use this to specify an alternate model that has the gunpoints in the
"correct" position.
2016-10-08 21:42:32 +10:00
Fabian Woltermann 1a407d3fb3 Merge pull request #1010 from asarium/cleanup/noOgg
Remove Ogg/Theora/Vorbis and ACM library files
2016-10-08 13:32:13 +02:00
m!m 5fce4b3408 Merge pull request #1012 from niffiwan/fix/coverity_1364083
Fix coverity 1364083
2016-10-08 11:34:32 +02:00
niffiwan 4b4b8657a0 Merge pull request #1011 from asarium/coverity/particleEffects
Fix a few Coverity issues in the Particle effects code
2016-10-08 11:53:21 +10:00
niffiwan 31ebefefe1 Fix coverity 1364083 2016-10-08 11:40:16 +10:00
asarium 62226e71e7 Remove Ogg/Theora/Vorbis and ACM library files
They are no longer needed since decoding is provided by FFmpeg
2016-10-07 11:27:43 +02:00
asarium 7be17c9656 Fix a few Coverity issues in the Particle effects code 2016-10-07 11:09:45 +02:00
Fabian Woltermann b7dc661fe7 Merge pull request #1005 from asarium/merge/soundBuffer
Use FFmpeg for normal audio loading
2016-10-07 10:05:37 +02:00
asarium 33be5b0372 Fix some audio issues 2016-10-06 13:15:23 +02:00
asarium 73034ed9d2 Fix audio clipping of sounds 2016-10-05 14:57:13 +02:00
asarium c58195f20d Fix MSVC warnings 2016-10-05 11:02:36 +02:00
asarium 1cf11d31fe Use FFmpeg for normal audio loading
This is the last part of our code that does audio loading on its own.
After this is merged the WAV/ACM/Ogg code can be removed.
2016-10-05 11:02:36 +02:00
MageKing17 34469c72b4 Merge pull request #1009 from asarium/fix/ffmpegCoverity
Fix various Coverity issues in the FFmpeg code
2016-10-04 12:32:28 -07:00
m!m 5b6ff638e3 Merge pull request #1007 from niffiwan/fix/coverity_1363662
Fix Coverity 1363662
2016-10-04 15:34:57 +02:00
asarium df40777e5f Move vecmath scripting functions into own file 2016-10-04 15:09:52 +02:00
asarium 070edd9ad4 Fix various Coverity issues in the FFmpeg code 2016-10-04 14:57:26 +02:00
Fabian Woltermann 438945c691 Merge pull request #1006 from asarium/cleanup/luaFiles
Cleanup and reorganize scripting files
2016-10-04 14:43:11 +02:00
niffiwan 4547b5775f Fix Coverity 1363662
Missing break in switch
2016-10-04 22:32:00 +10:00
asarium 5535311087 Move ade functions into own files 2016-10-03 22:24:09 +02:00
asarium 6dbf200cc3 Move lua to scripting folder 2016-10-03 21:38:29 +02:00
Fabian Woltermann 778cb6f473 Merge pull request #1002 from asarium/fix/adpcmPlayback
Fix ADPCM playback with older FFmpeg versions
2016-10-03 19:04:46 +02:00
m!m 1cf0d17449 Merge pull request #1004 from niffiwan/cleanup/htl_remnants
Cleanup some non-HTL code
2016-10-03 15:08:43 +02:00
niffiwan a9261477ba Add func def to .h & remove extern 2016-10-03 22:31:56 +10:00
m!m a86ba780ec Merge pull request #1003 from niffiwan/fix/coverity_1363382
Fix Coverity 1363382
2016-10-03 11:13:31 +02:00
niffiwan 484d810896 Cleanup some non-HTL code
This was probably missed in removal of -nohtl
Also "fixes" Coverity 1363380
2016-10-03 12:22:57 +10:00
niffiwan 2e59f68e22 Fix Coverity 1363382
Init center_text in ctor, safety/defensive measure only since is
currently correctly set via init function in all code paths
2016-10-03 09:35:28 +10:00
asarium 45ae61d17d Remove unused function 2016-10-02 23:25:53 +02:00
asarium 66b62ee4f0 Fix ADPCM with older FFmpeg versions
ADPCM playback was broken by #991 when an older FFmpeg version (< 3.1)
was used. The newer version has a better API for handling decoder that
return multiple frames of data per packet which I already used. However,
I didn't bother implementing that for the older API since I haven't seen
a decoder that actually returned multiple frames per packet but ADPCM is
such a decoder. This fixes that by implementing the correct behavior
with the old API.
2016-10-02 19:52:52 +02:00
Fabian Woltermann 41f619c1ff Merge pull request #991 from asarium/merge/audiostr
Use FFmpeg for audio stream decoding
2016-10-02 17:21:20 +02:00
Fabian Woltermann b33ad0d271 Merge pull request #1000 from asarium/build/crossCompilation
Cross compilation fixes
2016-10-02 17:20:01 +02:00
Fabian Woltermann d3f78a9354 Merge pull request #1001 from asarium/build/nightlyFixes
Fix Travis nightly builds
2016-10-02 17:19:27 +02:00
asarium 85cc7caf18 Cross compilation fixes
This makes it possible to compile windows builds on Linux.
2016-10-02 14:24:48 +02:00
niffiwan c10927a7ae Merge pull request #999 from asarium/fix/oglShaderCache
Fix parameter oder for shader hashes
2016-10-02 21:21:14 +10:00
asarium 5ee68a653f Fix Travis nightly builds
1) I accidentally used subshells for matching the tag patterns which
broke the regex match.
2) The destination directory for the library files wasn't created by
default so it broke the build.
2016-10-02 12:43:55 +02:00
asarium f1f7b32980 Fix parameter oder for shader hashes 2016-10-02 11:47:46 +02:00
m!m 8aa66b7ed0 Merge pull request #996 from ashdnazg/fix_mingw_openal
Fixed mingw openal linking
2016-10-02 11:46:42 +02:00
m!m de8c63e263 Merge pull request #997 from Yarn366/ffmpeg_multimonitor
Display videos only on the center monitor
2016-10-02 11:46:31 +02:00
Yarn366 0779085d30 Display videos only on the center monitor, just like before the FFmpeg merge. 2016-10-01 19:10:27 -04:00
Eshed 15e9942eee Fixed mingw openal linking 2016-10-02 00:41:38 +03:00
m!m ca0e1cb2c1 Merge pull request #993 from ashdnazg/master
Enable mingw builds & remove boost dep.
2016-10-01 23:09:32 +02:00
m!m 7c623b7314 Merge pull request #990 from MageKing17/bugfix/previous-weapon-selection
Fix previous_primary_bank and previous_secondary_bank.
2016-10-01 22:32:24 +02:00
Eshed ade14624e8 Fix copyright symbol 2016-10-01 23:27:34 +03:00
Eshed c722aa6e49 move syncboundedqueue.h and readd original license 2016-10-01 23:01:05 +03:00
Eshed 260072b97f use SCP_string instead of std::string 2016-10-01 22:47:41 +03:00
Eshed 23e41970f2 Remove boost dependency
Add syncboundedqueue.h which is basically boost::sync_bounded_queue ported to std::* line for line.
2016-10-01 21:33:32 +03:00
Eshed 581e808733 Enable mingw builds (both 32&64 bit)
- Add libs prebuilt with mxe
- Update cmake scripts to use them
- Make MINGW builds use the generic def_files inclusion method
- Some minor fixes to compilation
2016-10-01 21:31:16 +03:00
Fabian Woltermann 2ce5010f26 Merge pull request #994 from asarium/fix/boost
Fix boost for FastDebug
2016-10-01 20:26:06 +02:00
asarium 357449a95f Fix boost for FastDebug
The previous version simply ignored that configuration but these changes
should fix that.
2016-10-01 19:19:08 +02:00
MageKing17 5d990772b5 Fix previous_primary_bank and previous_secondary_bank.
previous_primary_bank was only getting set if the ship had a ballistic weapon or if secondary banks were changed, so previous_secondary_bank wasn't getting set at all. I fixed the second problem my simply using the correct variables, and the first problem by consolidating the ballistic and non-ballistic code so that there was less code redundancy (without that redundancy, it's unlikely the mistake would've been made in the first place); I figured this was a better solution than just copying the code to set previous_primary_bank into the non-ballistic codepath.

Also simplified the code for setting the previous weapon bank according to asarium's suggestion.
2016-09-30 14:51:32 -07:00
asarium e760c58522 Use FFmpeg for audio stream decoding
This is the first step towards moving all audio decoding to FFmpeg which
will reduce the amount of external code we will need to include. This
only replaces the AudioStream code with an FFmpeg based solution which
should make the code easier to review.
2016-09-30 18:35:48 +02:00
Fabian Woltermann 679094c6f1 Merge pull request #987 from asarium/fix/appimageFiles
Fix nightly AppImages
2016-09-30 14:28:45 +02:00
Fabian Woltermann 5be84cace3 Merge pull request #979 from asarium/cmakeMerge/ffmpeg
Add improved video player
2016-09-30 13:59:17 +02:00
asarium 0ada262dcd Remove unused declarations and fields 2016-09-30 13:12:09 +02:00
asarium 9203388d6c Remove unused function 2016-09-30 13:06:09 +02:00
MageKing17 f516809959 Merge pull request #989 from asarium/feature/fofLuaApi
Add lua option for accessing the FOF cooldown
2016-09-29 17:27:16 -07:00
asarium f49f8d6aea Use FFmpeg for MVE decoding
It turns out that FFmpeg is actually able to decode the Interplay MVE
movies so we can drop the old MVE code and just use FFMpeg and the new
video player interface for that.
2016-09-29 18:57:01 +02:00
asarium 4c2ebf53b6 Add lua option for accessing the FOF cooldown
This was requested by @AxemP.
The implementation is a bit more complicated than simply retrieving the
value since that is only updated when the weapon is fired. Instead, the
function calculates what the current value should be based on the code
from the function that updates the value when the weapon is fired.

Setting the value is disabled since the extra processing code could
alter the calculation a script does so that after setting the value,
reading it again would return a different value.
2016-09-29 10:35:39 +02:00
asarium e41b44ff1d Fix nightly AppImages
Fixes #985.
2016-09-27 15:36:01 +02:00
asarium 1bcb937fe3 Add improved video player
Uses FFmpeg for video decoding and multiple threads for reading and
decoding files. Can handle 1080p with no stuttering.
2016-09-26 22:43:19 +02:00
Cliff Gordon d0600a697e Merge pull request #790 from asarium/build/minGW
Fix a few issues with MinGW
2016-09-26 14:07:09 -05:00
Fabian Woltermann 3dfad4b251 Merge pull request #982 from asarium/ogl/ppScopes
Add more tracing scopes to post processing code
2016-09-25 18:49:45 +02:00
Fabian Woltermann 486f35d1bf Merge pull request #983 from asarium/fix/weaponImpact
Fix unitialized particle variable
2016-09-25 18:47:36 +02:00
asarium 27e6507a5e Fix unitialized particle variable 2016-09-25 18:22:30 +02:00
asarium 0b07eedcfc Add more tracing scopes to post processing code 2016-09-25 11:36:51 +02:00
MageKing17 1ab3a289c7 Merge pull request #980 from asarium/ci/win3264
Build both 32- and 64-bit builds for nightlies
2016-09-20 14:46:55 -07:00
m!m 7f1d65c765 Merge pull request #981 from chief1983/fix/SDL2_framework
fix/SDL2_framework: Use an unmodified copy of the SDL2 framework
2016-09-20 23:14:47 +02:00
chief1983 2c9f289188 fix/SDL2_framework: Use an unmodified copy of the SDL2 framework on mac, with symlinks in place, halving the Framework archive's size. 2016-09-20 15:19:36 -05:00
asarium 59789a3c25 Build both 32- and 64-bit builds for nightlies 2016-09-20 18:24:00 +02:00
MageKing17 5a984a95ba Merge pull request #978 from asarium/fix/teamColorGlow
Readd team color glows
2016-09-18 13:35:57 -07:00
asarium 7af854a57c Readd team color glows
This was missed in the OpenGL core changes. The new code should behave
like the code in 3.7.4.
2016-09-18 22:06:43 +02:00
Fabian Woltermann 130bac0c83 Merge pull request #962 from asarium/cmake_/performanceScript
Add script for doing automated performance test
2016-09-18 10:51:39 +02:00
m!m 5bbb00d589 Merge pull request #977 from SamuelCho/FredAllocationFix
Make sure we tell the batcher to render in FRED.
2016-09-18 10:50:00 +02:00
Goober5000 d9c9647919 Merge pull request #947 from MageKing17/cleanup/miscellaneous
Some miscelleaneous cleanup commits.
2016-09-17 23:15:17 -04:00
SamuelCho 54c73bdbc3 Make sure we tell the batcher to render in FRED. 2016-09-17 11:51:29 -07:00
Fabian Woltermann c6726f10f3 Merge pull request #972 from asarium/feature/gpuTracing
Add GPU time tracing to JSON output
2016-09-15 06:07:42 +02:00
Fabian Woltermann 81071bb69a Merge pull request #975 from asarium/ci/betterNightlies
Improve Appveyor nightly setup
2016-09-15 06:07:26 +02:00
asarium aff9bcf08e Improve appveyor nightly setup
This allows to build multiple configurations per nightly and prepares
the setup for future use for release builds.
2016-09-14 22:46:29 +02:00
asarium caeecf111e Remove environment variable usage in CI scripts 2016-09-14 20:54:02 +02:00
m!m f9bc01cca6 Merge pull request #973 from The-E/aicode_fix
Fixes a little nuance that was missed during the ship flag conversion
2016-09-14 20:25:54 +02:00
asarium 8333d15f12 Move all AppVeyor scripts into one script 2016-09-14 19:36:59 +02:00
Fabian Woltermann 07ae236642 Fixes a little nuance that was missed during the ship flag conversion 2016-09-14 18:50:48 +02:00
asarium 8ece00541f Fix conversion warning 2016-09-14 15:32:18 +02:00
asarium acbac94685 Add GPU time tracing
This also adds nanosecond precision tracing for normal CPU events
2016-09-14 12:26:53 +02:00
asarium 26f45732da Move profiling functions into separate folder 2016-09-14 12:26:53 +02:00
asarium 547adbfaba Add graphics API for query objects 2016-09-14 12:23:53 +02:00
m!m 6ac6a38bf1 Merge pull request #970 from SamuelCho/envReflectRemoval
Remove unused varying envReflect from main fragment shader.
2016-09-13 10:14:29 +02:00
SamuelCho 59eeb39b8c Remove unused varying envReflect from main fragment shader. 2016-09-12 21:56:01 -07:00
MageKing17 ae7bb818cc Merge pull request #968 from asarium/fix/vcruntime
Fix dependency on VSRUNTIME DLL
2016-09-12 15:13:28 -07:00
asarium ceda6a9869 Fix dependency on VSRUNTIME DLL
The ogg/vorbis DLLs were linked with a dynamic runtime which caused the
error that was reported in the nightly thread. These new DLLs statically
link the runtime which should eliminate the dependency on the runtime
DLL.
2016-09-12 17:57:34 +02:00
m!m 157de87f15 Merge pull request #966 from rtoijala/species-tbl-tests
Species tbl test improvements
2016-09-12 16:44:41 +02:00
Risto Toijala 6fb90421f9 Add unit test for wrong order in intel entry. 2016-09-12 14:05:35 +03:00
Risto Toijala 8bb14d1a1f Uncomment now working test for missing $end_multi_text
This test works since 16d5f8830e
and c9f9e1b2f0.
2016-09-12 13:13:51 +03:00
SamuelCho f8c714a4e1 Merge pull request #958 from asarium/fix/luaImage
Fix lua drawImage rendering
2016-09-11 12:07:02 -07:00
m!m 6a9922eaa3 Merge pull request #963 from The-E/mfcgraphicsops_fix
Initializes the SDL Video subsystem for FRED
2016-09-11 18:59:06 +02:00
Fabian Woltermann ea35421a4f Quit SDL Video in the destructor 2016-09-11 17:38:57 +02:00
Fabian Woltermann 948d0590b4 Initializes the SDL Video subsystem for FRED 2016-09-11 17:35:18 +02:00
asarium dd56493543 Add script for doing automated performance test
This script allows to compare the performance of a branch to master by
running both versions and generating a graph of frametimes for both
versions.
2016-09-11 16:21:32 +02:00
MageKing17 01c50727ac Merge pull request #959 from Yarn366/fixed_messages_fix
Fix for Fixed Messages gauge position
2016-09-11 01:15:33 -07:00
asarium 032d6a15a9 Fix alpha blend mode for APNGs and in scripts
Apaprently the alpha blend behavior has been broken for a long time and
alpha blending was always enabled. I changed the default lua opacity
type to match this behavior so that older scripts don't get broken by
this.
2016-09-11 09:48:03 +02:00
Yarn366 ac0aae23fa Fixed the position of the Fixed Messages gauge so that it's actually on the screen. (Its X-position was 0x8000, which used to be a magic number indicating that the string should be horizontally centered on the screen. Since the TrueType merge, this number no longer has any special meaning.)
Also added the "Center Text On Gauge X-Position:" option for the Fixed Messages gauge, which by default is enabled only if the gauge's position is not overridden.
2016-09-10 21:17:50 -04:00
asarium 8dbea5eeb8 Fix lua drawImage rendering 2016-09-10 18:58:52 +02:00
SamuelCho 03ddd51063 Merge pull request #957 from asarium/fix/credits-bitmaps
Always use alpha blending for interface materials
2016-09-10 09:06:48 -07:00
asarium 03591b33ce Always use alpha blending for interface materials 2016-09-10 14:22:40 +02:00
asarium ace67bf6ea Add additional graphics debug scopes 2016-09-10 14:03:42 +02:00
Fabian Woltermann de6c5582ce Merge pull request #955 from chief1983/fix/macNightlies
Various fixes for #836 - Resolve Mac CMake issues
2016-09-10 07:53:57 +02:00
chief1983 5bf9db07a8 fix/macNightlies: Fix for #836 - Set the deployment target as low as will still compile to broaden compatibility, fix setting the rpath during the build process for SDL2 linking, and copy the resource bundles while preserving symlinks and other attributes. 2016-09-09 15:46:10 -05:00
Fabian Woltermann 40fba4f304 Merge pull request #954 from asarium/fix/mission-time
Fix integer overflow in mission-time-msecs SEXP
2016-09-09 20:03:11 +02:00
asarium 0d8fc66bc8 Remove gr_cross_fade
It was just a wrapper around existing functions so I removed the
function and replaced the only usage with the equivalent code.
2016-09-09 20:00:35 +02:00
asarium 107946d012 Fix integer overflow in mission-time-msecs SEXP 2016-09-09 19:34:25 +02:00
MageKing17 9eaba0acc2 Merge pull request #953 from asarium/fix/cursorLock
Fix return value check in cursor code
2016-09-09 05:45:10 -07:00
asarium e7add258b0 Disable cursors in standalone mode 2016-09-09 10:13:42 +02:00
MageKing17 d3f89c1042 Also use MAX_DETAIL_LEVEL for resetting detail_distance_mult.
Same as 816e792770 but for ai_profile_t::reset(), instead of when parsing.
2016-09-08 13:24:05 -07:00
asarium 89bdef89dc Fix return value check 2016-09-08 17:39:08 +02:00
Fabian Woltermann 1e2b6460a3 Merge pull request #951 from asarium/fix/standaloneCursor
Fix cursor handling in standalone server
2016-09-08 13:38:23 +02:00
Fabian Woltermann a6831ef217 Merge pull request #952 from asarium/fix/noMemoryTracking
Remove memory tracking code
2016-09-08 13:38:16 +02:00
asarium e0395ab51a Remove memory tracking code 2016-09-08 12:22:35 +02:00
Fabian Woltermann 5334c44451 Merge pull request #950 from asarium/fix/standaloneGraphicsOps
Don't initialize graphics operations in standalone mode
2016-09-08 11:59:54 +02:00
Fabian Woltermann 27d57ab1b0 Merge pull request #949 from asarium/ci/win64Nightly
Build 64-bit nightly builds
2016-09-08 11:59:46 +02:00
asarium 1d998e4709 Fix cursor handling in standalone server 2016-09-08 11:54:31 +02:00
asarium 5492df3a43 Don't initialize graphics operations in standalone mode 2016-09-08 11:08:46 +02:00
m!m 9dad552a4e Merge pull request #946 from MageKing17/bugfix/initialize-ignore-list
Actually initialize Ignore_List.
2016-09-08 10:46:56 +02:00
asarium 9fa373b493 Build 64-bit nightly builds 2016-09-08 10:38:35 +02:00
niffiwan 932c05c64b Merge pull request #948 from MageKing17/feature/remove-pointless-warning
Remove pointless main_hall_init() warning about an empty string.
2016-09-08 13:43:38 +10:00
MageKing17 1dad62d7ae Remove pointless main_hall_init() warning about an empty string.
cmission.main_hall defaults to an empty string, so calling main_hall_init() with an empty string is neither unsurprising nor uncommon. Since it's not actually caused by bad data, the warning can be considered actively harmful by training users that sometimes FSO just gives you a pointless warning.
2016-09-07 18:44:53 -07:00
MageKing17 bce17561ed Change pointless .size() calls into .empty() calls.
The codebase had quite a few instances of .size() being called and then checked to see if it was 0 or not (or less than 1, or greater-than-or-equal-to 1, which are basically equivalent), when .empty() could be called instead (negated or not, depending on what the original condition was).
2016-09-07 18:36:12 -07:00
MageKing17 bac77085da Minor hud_target_common() cleanup.
Changes "A-Objects" to "OBJ_INDEX(A)" (not sure why that one didn't generate warnings, but whatever), removes a redundant should_be_ignored() call (it will have already been called for that ship for the code to be in that block in the first place), and adds an assertion to make sure that the jnp iterator is valid before trying to dereference it.
2016-09-07 18:31:15 -07:00
MageKing17 816e792770 Explicitly make "$Detail Distance Multiplier:" based on detail levels.
Most AI profile-related five-value lists are related to the number of difficulty levels. "$Detail Distance Multiplier:", however, is related to the number of detail levels (MAX_DETAIL_LEVEL + 1, because detail levels go from 0-MAX_DETAIL_LEVEL; MAX_DETAIL_LEVEL + 1 is also the size the detail_distance_mult array is defined with). Those two numbers happen to be the same (5); however, this may not always be the case in the future, and this way it's explicit that this field isn't related to difficulty at all.
2016-09-07 17:58:25 -07:00
MageKing17 634a8a06fc Actually initialize Ignore_List.
Ignore_List (the list of flags used to determine if a ship is an invalid target) was originally a statically-initialized bitfield stored in an int; the new bitset flags code added a set_default_ignore_list() function to provide the default values, but then forgot to call it anywhere. As a result, "hidden-from-sensors" (and the other, less-likely-to-be-noticed flags) was having no effect on the player's ability to target anything. This adds a call to set_default_ignore_list() to ship_init() so that the original functionality is restored.
2016-09-07 17:52:45 -07:00
Fabian Woltermann 2cc153abea Merge pull request #944 from asarium/build/clangAsan
Add CMake option for AddressSanitizer with Clang
2016-09-07 16:03:23 +02:00
asarium a1cee67e15 Add CMake option for AddressSanitizer with Clang 2016-09-07 11:01:51 +02:00
Cliff Gordon 60fff3f82f Merge pull request #943 from asarium/ci/fixNightly
Fix nightly build configuration
2016-09-06 11:43:29 -05:00
asarium 1c712a7448 Fix nightly build configuration 2016-09-06 15:19:20 +02:00
asarium facac997f1 Fix a few issues with MinGW
This does not mean that MinGW can compile FSO yet, these are just a few
fixes that are needed.
2016-09-06 10:49:48 +02:00
MageKing17 8d05393ba0 Merge pull request #942 from Goober5000/ai_chase_ship_class_followup
Ai chase ship class followup
2016-09-05 15:24:52 -07:00
Goober5000 03fa181c2d add back in something incorrectly removed during PR #931 2016-09-05 16:12:45 -04:00
Goober5000 6ab508415c add useful Assert 2016-09-05 16:12:45 -04:00
Goober5000 92931ff541 fix the hexadecimal number 2016-09-05 16:12:44 -04:00
Fabian Woltermann ee0811b097 Merge pull request #932 from asarium/fix/memoryAlignment
Use aligned storage for the memory header
2016-09-05 17:42:43 +02:00
Fabian Woltermann 76f2d72d30 Merge pull request #935 from asarium/ogl/moreDebugScopes
Some graphics debug group improvments
2016-09-05 17:42:20 +02:00
asarium a5ac021076 Add a few more debug scopes 2016-09-05 15:31:20 +02:00
asarium f693d49f95 Remove variable name from GR_DEBUG_SCOPE 2016-09-05 15:29:49 +02:00
asarium c2b5fe7f28 Use CMake platform checks for max_align_t
The platforms we support have no common definition of max_align_t so I
used CMake platform checks to determine what is available.
2016-09-05 12:31:48 +02:00
asarium 2f5c690175 Fix warnings from new compiler versions 2016-09-05 11:30:03 +02:00
Fabian Woltermann 8ed93bb0e4 Merge pull request #939 from Goober5000/ai_chase_ship_class
Ai chase ship class
2016-09-05 11:07:08 +02:00
asarium f266583a47 Use aligned storage for the memory header
This should ensure that the pointer returned by vm_malloc is suitably
aligned for any type.
2016-09-05 10:52:59 +02:00
Goober5000 1d08e8543f let's assume that the ship types that can attack-any are the same ship types that can attack-any-ship-class 2016-09-05 03:22:50 -04:00
Goober5000 03418796ab missed this flag conversion 2016-09-05 02:51:50 -04:00
Goober5000 b93a3902dc the actual guts of the chase-ship-class goal 2016-09-05 02:35:24 -04:00
Goober5000 c14af70287 all the goal infrastructure for chase-ship-class except for the actual chase logic 2016-09-05 02:35:23 -04:00
Fabian Woltermann 3e4a289cc5 Merge pull request #937 from asarium/fix/parseloPausing
Don't initialize mission text when it's not used
2016-09-05 08:31:09 +02:00
Fabian Woltermann 5b504bcd4e Merge pull request #938 from asarium/ogl/programBinaries
Add shader caching
2016-09-05 08:20:59 +02:00
Fabian Woltermann d53074c9ea Merge pull request #931 from Goober5000/minor_aicode_tweaks
minor tweaks and adjustments to AI goal code
2016-09-05 08:17:13 +02:00
asarium f8f3cd33ce Add shader caching
This uses the program binary support included in OpenGL 4.1 to build a
cache of compiled shaders. It does this by computing the MD5 of the
source code of the shaders and using that hash to save the files. That
should make sure that a change to a shader is automatically reflected in
the shader cache.
2016-09-04 19:11:40 +02:00
asarium 4964fccd7e Don't initialize mission text when it's not used
As far as I can tell this issue has been present for a very long time,
maybe even since retail. It was only uncovered since the recent changes
initialized the mission text by default which corrupted the table text
that was currently being parsed.

This also adds a unit test that validated that pausing works correctly.
2016-09-04 16:32:11 +02:00
Fabian Woltermann 5f46aa1444 Merge pull request #936 from asarium/fix/moreParseloCStrings
Make sure that Mission_text is always initialized
2016-09-04 12:42:41 +02:00
asarium 16d5f8830e Make sure that Mission_text is always initialized
This should fix #933.
2016-09-04 11:15:02 +02:00
Goober5000 bbafbf1ffd additional refinements 2016-09-03 20:45:18 -04:00
Goober5000 2fdcd1e772 add a clarifying comment 2016-09-03 11:30:14 -04:00
Goober5000 2b680f861c Merge pull request #934 from asarium/fix/parseloCString
Make sure that the parse strings are c strings
2016-09-03 11:26:55 -04:00
asarium c9f9e1b2f0 Make sure that the parse strings are c strings
Fixes #933.
2016-09-03 13:57:36 +02:00
Goober5000 1d3ff1b6c0 minor tweaks and adjustments to AI goal code
A few things I noticed while working on ai-chase-ship-class, split out into a separate PR.  Some code is reordered, some is cleaned up; nothing too extensive.  The most notable changes are a) the modification of the Ai_goal_text function to work on the AI_GOAL_X #define directly rather than unnecessarily calculate the bit; b) changing the HUD text of "fly to ship" to "rendezvous with" plus the ship name; c) adding a Warning in ai_update_goal_references; and d) changing ship_name to target_name in ship_return_orders for clarity
2016-09-02 23:25:46 -04:00
SamuelCho 8d2674eaf2 Merge pull request #929 from asarium/ogl/texture2D
Replace texture2D with texture in shaders
2016-09-02 14:51:50 -07:00
asarium 458c9f30fb Replace texture2D with texture in shaders
texture2D has been deprecated for some time and Mac also doesn't support
it anymore. The 1.50 GLSL specification says that texture is the correct
function for texel lookup so I used that.
2016-09-02 20:54:18 +02:00
Fabian Woltermann e1dd3784e2 Merge pull request #925 from asarium/ci/shuffledUnitTests
Shuffle the order in which unit tests are executed
2016-09-02 15:57:39 +02:00
Fabian Woltermann 417eb20a3e Merge pull request #927 from asarium/feature/shipExplosionEffects
Add support for ship death particle effect
2016-09-02 15:57:25 +02:00
asarium 648751445a Fix shape of generated particles 2016-09-02 14:24:26 +02:00
m!m 5b4199aca2 Merge pull request #924 from rtoijala/species-tbl-tests
Introduce tests for parsing species.tbl
2016-09-02 14:10:17 +02:00
asarium 29a74af3bd Create ship death particle effect 2016-09-02 11:39:51 +02:00
asarium 60554601bd Fix animation page in 2016-09-02 11:33:46 +02:00
asarium c112f093a8 Add ship explosion particle effects 2016-09-02 11:05:03 +02:00
Risto Toijala c400a8a2ba Implement tests for species.tbl parsing
This adds unit tests (or maybe these count more as functional tests) for
parsing the intelligence data displayed in the tech room. It is parsed
from species.tbl by code/menuui/techroom.cpp and stored in the global
array Intel_info. The number of entries is saved in the global int
Integer_info_size.

Every test has its own mod dir with a species.tbl that it parses by
calling techroom_intel_init(). The test fixture resets the intel state
with techroom_intel_reset() between tests.

These tests assume that the file is preprocessed correctly, so it does
not try to test if e.g. comments are removed correctly, ... Only the
parsing that is unique to species.tbl is tested.
2016-09-02 11:05:46 +03:00
Fabian Woltermann 0c240c398e Merge pull request #926 from asarium/ogl/fredCoreProfile
Add OpenGL Core context creation to FRED2
2016-09-02 09:27:24 +02:00
Risto Toijala d6e47f35d4 Log start of each test in FSTestFixture.
All log output is ignored in an unpatched FSO, but when patching to save
test logs, this is useful for navigating the log.
2016-09-01 23:01:20 +03:00
Risto Toijala 045276d7bf Implement techroom_intel_reset for testing. 2016-09-01 23:01:20 +03:00
asarium 22758e9a4a Add OpenGL Core context creation to FRED2
While it isn't strictly necessary since the Windows drivers typically
support the features we need it's still the better solution.

It also allows WINE to run FRED2 on Linux since there the code profile
is actually needed.
2016-09-01 21:49:59 +02:00
asarium 05e70efc4f Shuffle the order in which unit tests are executed 2016-09-01 19:06:18 +02:00
m!m 61091ad95a Merge pull request #923 from SamuelCho/shader_material_handling
Refactored material handling of shaders
2016-09-01 11:36:47 +02:00
SamuelCho 5c5a2f6a07 Merge pull request #708 from asarium/fix/timer
Always use high resolution timers
2016-08-31 22:43:24 -07:00
Fabian Woltermann c9d8cb47d0 Merge pull request #921 from asarium/ogl/noGLU
Remove GLU dependency
2016-08-31 17:03:21 +02:00
m!m c449de9710 Merge pull request #922 from The-E/other_ai_flags
Convert the remaining AI flags
2016-08-31 17:00:52 +02:00
Fabian Woltermann f8fb23b9f2 Cleanup in ai_profiles.h 2016-08-31 15:59:41 +02:00
Fabian Woltermann 0d7edb9d0a Maneuver override flags converted 2016-08-31 15:47:20 +02:00
Fabian Woltermann 99a59efdbf AI Goal flags converted 2016-08-31 15:30:49 +02:00
asarium 04cf483161 Remove GLU dependency 2016-08-31 14:51:09 +02:00
asarium 213238ce38 Remove all references to high_res_microseconds timer function 2016-08-31 14:37:24 +02:00
asarium baf7746986 Rename high res timer function to timer_get_microseconds 2016-08-31 14:32:53 +02:00
asarium e8bd7363c8 Use microsecond precision for timestamps
This only increases resolution for the internal ticker but not for the
external timestamps
2016-08-31 14:32:53 +02:00
asarium ca2a9ca725 Replace microsecond timer 2016-08-31 14:32:53 +02:00
asarium 0169a5477c Always use high resolution timers 2016-08-31 14:32:53 +02:00
m!m 328327bea6 Merge pull request #919 from rtoijala/fix/test-cmdline
Remove old cmdline parms before parsing new ones.
2016-08-31 14:31:36 +02:00
Fabian Woltermann 8951441311 Merge pull request #920 from SamuelCho/specular_unlit
Better handling of specular maps when using unlit rendering
2016-08-31 11:19:58 +02:00
Fabian Woltermann f439a5c5a4 Merge pull request #918 from SamuelCho/additional_render_cleanup
Cleaned up more rendering code.
2016-08-31 10:45:21 +02:00
SamuelCho fef0e7e1f8 Specular unlit rendering. 2016-08-31 01:32:12 -07:00
Risto Toijala 49fb506628 Remove old cmdline parms before parsing new ones.
This was causing my (yet unpublished) tests to fail because the mod list
was just being appended to instead of being reset for each test.
2016-08-31 10:49:15 +03:00
SamuelCho b754fa56b9 Simplified material/shader handling. 2016-08-31 00:45:15 -07:00
SamuelCho c67f7b66aa Reconciled changes with new shield rendering code. 2016-08-31 00:34:26 -07:00
Fabian Woltermann 71c296391d Merge pull request #903 from SamuelCho/better_shields
Better Shields
2016-08-31 09:27:54 +02:00
SamuelCho b75a354505 Cleaned up more rendering code. Shrunk the vertex struct since we don't use spec_rgb anymore. Removed any declarations using the old geometry batcher. Streamlined desaturation in the model shader to use the main color uniform. Removed old unneeded interp_ code. Removed stored geometry shader parameters from the shader constants since we're no longer using the EXT version of geometry shaders. 2016-08-30 23:22:09 -07:00
SamuelCho a8cb9aabf1 Removed accidental comma. 2016-08-30 21:19:57 -07:00
SamuelCho 99b427f224 Fixed shield uniforms. 2016-08-30 21:19:06 -07:00
SamuelCho 17bd4a2fa8 Reconciled shield changes with recent changes. 2016-08-30 20:36:08 -07:00
SamuelCho 81a5d228d4 Merge pull request #917 from asarium/fix/fredWaypointCrash
Fix FRED crash when rendering waypoints
2016-08-30 16:03:51 -07:00
asarium ce8cf62cd8 Remove some unused graphics functions 2016-08-30 23:12:55 +02:00
asarium 46d5c81b57 Fix FRED2 waypoint rendering crash 2016-08-30 23:12:55 +02:00
SamuelCho 802f09b947 Merge pull request #916 from asarium/fix/fredGLContext
Fix OpenGL context creation for FRED
2016-08-30 13:56:35 -07:00
asarium 6848eff404 Fix OpenGL context creation for FRED
This is not technically correct since the FRED code is not able to
create an OpenGL Core context but since FRED is Windows only it's not a
problem because those drivers usually support the Core profile features
in the Compatibility profile.
2016-08-30 21:39:13 +02:00
m!m 82ec8af3aa Merge pull request #915 from rtoijala/fix/techmenu-crash
Fix crash/Error in techmenu with 0 intel entries.
2016-08-30 13:41:12 +02:00
Risto Toijala 30cbebf527 Fix crash/Error in techmenu with 0 intel entries.
tech_render_anim did not check whether there were any intel/weapon
entries before trying to read from Current_list, which means that it
read at Current_list[-1], which is a Bad Thing (TM).

Do not try to render an anim if there is no entry.
2016-08-30 13:33:14 +03:00
Fabian Woltermann ee689cbb9f Merge pull request #912 from asarium/feature/chromeTracing
Add support for outputting profiling data as JSON
2016-08-30 09:29:07 +02:00
Fabian Woltermann b065d75beb Merge pull request #907 from rtoijala/small-debug-fixes
Small imporvements to debug messages
2016-08-29 20:46:14 +02:00
asarium 1a212868a0 Add support for outputting profiling data as JSON
This output is compatible with the Chromium tracing viewer which
provides a very nice visual overview of what FSO does in a frame.
2016-08-29 20:18:51 +02:00
m!m 174cff3eac Merge pull request #913 from rtoijala/fix/pilotfile-writing
Fix writing binary pilot files.
2016-08-29 18:22:41 +02:00
Risto Toijala 67677e06b8 Small imporvements to debugging
Add missing new line to BSP Parse timing and make it nprintf("Model").

Log value of HUD_config.rp_dist when it is not valid.

Fail reading a .plr file  if it has a zero-length section.
2016-08-29 19:06:16 +03:00
m!m 16668f3fb9 Merge pull request #911 from rtoijala/fix/outwnd-mkdir
Create data path for log file
2016-08-29 17:39:43 +02:00
Risto Toijala d3f615fe30 Fix writing binary pilot files.
startSectionWrite would push unnamed sections on _sectionOffsets, but
endSectionWrite was not removing them, leading to _sectionOffsets
containing tens of unnamed sections when parsing the HUD config.

Pop the unnamed sections in endSectionWrite.
2016-08-29 18:29:58 +03:00
Risto Toijala cea600b265 Create data path for log file
Opening the log file failed when the data path did not exists, e.g.
during the user's first run. Create it before trying to open the log
file.

Also, include <direct.h> in windows_stubs/config.h since the equivalent
stubs for Unix are also declared there.
2016-08-29 17:19:31 +03:00
Fabian Woltermann 7b47965509 Merge pull request #896 from asarium/ogl/shaderRefactor
Refactor shader handling
2016-08-29 13:26:05 +02:00
Fabian Woltermann 14395bc5cd Merge pull request #908 from SamuelCho/jumpnode_color_fix
Fixed jumpnode colors following OGL Core changes
2016-08-29 13:06:46 +02:00
Fabian Woltermann 87db55b4ac Merge pull request #909 from asarium/fix/starNVGRendering
Fix performance regression in star rendering code
2016-08-29 13:06:23 +02:00
asarium 3fcb731621 Refactor shader handling
This fixes a few of the bad design descisions of previous shader
iterations. This uses a dedicated class for managing the resources and
uniform locations of a shader program.

Uniforms are also stored in this object which makes a lot more sense
than storing them in the OpenGL state where they had to be reset every
time a new shader was used.

There are still a lot of possible enhancments to make, e.g. by using
uniform blocks and buffers instead of standard uniforms which would make
uniform location handling easier.

Another optimization that I will investigate is reducing the amount or
different compiled shaders by turning some of the current compile-time
defines into bool uniforms.
2016-08-29 12:38:38 +02:00
Fabian Woltermann 82eadd3983 Merge pull request #906 from SamuelCho/bloom_intensity_fix
Fixed bloom intensity weirdness when set it's set to 0.
2016-08-29 10:47:07 +02:00
SamuelCho d20aa57508 Fixed jumpnode colors not matching HUD. 2016-08-29 01:02:40 -07:00
Fabian Woltermann 4cb9e5cc04 Merge pull request #904 from SamuelCho/cleanup_rendering
Remove a crapload of unused rendering code
2016-08-29 09:36:18 +02:00
SamuelCho bd21cd0c48 Removed unused boolean left behind following the bloom intensity revisions. 2016-08-29 00:16:34 -07:00
SamuelCho 6e9d3223c8 Fixes bloom intensity weirdness when set it's set to 0. Removed unneeded bloom compositing code in the main post processing shader. Cleaned up the bloom compositing shader. 2016-08-28 23:13:21 -07:00
SamuelCho ba826df963 Removed a bunch of unused rendering code. 2016-08-28 18:47:34 -07:00
MageKing17 6987914a2c Merge pull request #901 from SamuelCho/gl_state_cleanup
OpenGL state tracking cleanup
2016-08-28 16:59:02 -07:00
SamuelCho bb78e74646 Improved shields. Added shield decal rendering technique. Fixed inaccurate shield normals and shield collision detection timing. Bumped up shield impacts count to 200. 2016-08-28 15:36:10 -07:00
SamuelCho f693413e26 Removed orphaned GL_state code. 2016-08-28 14:24:10 -07:00
Fabian Woltermann 87366d11ca Merge pull request #895 from asarium/ogl/debugGroups
Add OpenGL debug group support
2016-08-28 18:01:47 +02:00
asarium d7e3b61210 Add debug group support
This uses GL_KHR_debug for exposing debug group information. This is
very useful for tools like apitrace where it's used for assiciating
OpenGL commands with a specific application function.

The groups are created using a utility macro which is removed in release
builds so it should have no impact on the release performance.
2016-08-28 14:13:42 +02:00
m!m 4f6b907e3a Merge pull request #892 from rtoijala/remove-my_errno
Remove global my_errno
2016-08-28 14:07:52 +02:00
asarium a2eaccfc48 Fix performance regression in star rendering code
The previous code generated a lot of OpenGL function calls because every
star was rendered using a separate NanoVG frame. This fixes that by
using the path renderer directly which removes most of the
inefficiencies.

This is related to #898.
2016-08-28 13:46:57 +02:00
MageKing17 864e218e20 Merge pull request #897 from asarium/fix/wavStruct
Fix WAV parsing on UNIX
2016-08-27 14:53:55 -07:00
SamuelCho 319067c537 Merge pull request #894 from asarium/ogl/shaderCleanup
Improve shader value handling
2016-08-27 11:51:12 -07:00
SamuelCho f18bd8af24 Merge pull request #893 from asarium/ogl/no_fixed_function
Remove is_minimum_GLSL_version()
2016-08-27 11:50:35 -07:00
asarium 3942de94f6 Fix WAV parsing on UNIX
The code was using the 32-bit types while being compiled under 64-bit
because a header was missing. I fixed this issue by using fixed width
integer types.
2016-08-27 18:24:08 +02:00
asarium 5d6dc2e1a6 Improve shader value handling
Removes fixed arrays and replaces them with vectors.
2016-08-26 22:17:52 +02:00
asarium 478c86d3a6 Remove fixed function rendering code
Most of the removed functions didn't contain any code at all and aren't
referenced anymore.
2016-08-26 22:17:07 +02:00
asarium 173041e03a Remove is_minimum_GLSL_version()
Since OpenGL Core is required now that function would always return true
so it can be removed.
2016-08-26 22:16:30 +02:00
Fabian Woltermann 1fa84b4f7d Merge pull request #891 from asarium/ci/vs2015_64bit
Use 64 bit build for appveyor
2016-08-26 22:15:25 +02:00
asarium ef97279a67 Fix newly introduced warnings 2016-08-26 21:03:14 +02:00
asarium b064a84fd0 Use 64 bit build for appveyor
Nightly builds are still compiled as 32-bit build though.
2016-08-26 20:00:26 +02:00
Fabian Woltermann edecb1ca73 Merge pull request #844 from SamuelCho/opengl_core_materials
OpenGL Core, material draw system, and geometry batching rewrite
2016-08-26 19:07:32 +02:00
Risto Toijala 3040fb8c7a remove executable file permissions from sexp.{cpp,h} 2016-08-26 15:13:01 +03:00
Risto Toijala a55b94b08a Refractor atol2 to remove my_errno. 2016-08-26 15:04:36 +03:00
Risto Toijala b898b04168 Refractor atof2 to remove my_errno. 2016-08-26 14:59:46 +03:00
Risto Toijala b12b56d13f Refractor atoi2 to remove my_errno. 2016-08-26 14:56:57 +03:00
SamuelCho ca91f8f49f Fixed incorrect texType assignment in nanovg header. 2016-08-26 01:41:59 -07:00
Fabian Woltermann 989f799766 Fix for parsing the no pierce flag (#890)
Removes "no pierce shields" from the `Weapon_Info_Flags[]` array as it's not actually a flag (fixes usage of it tripping an assertion).
2016-08-26 01:41:20 -07:00
Fabian Woltermann 4a418a6691 Merge pull request #888 from MageKing17/bugfix/beam-flag-parsing-logic
Fix minor problem with the logic for parsing the beam flag.
2016-08-26 09:00:11 +02:00
SamuelCho c6243cbfd9 Mopped up some graphics related warnings. 2016-08-25 23:04:47 -07:00
MageKing17 1a9867593b Fix minor problem with the logic for parsing the beam flag.
It was setting the Pierce_shields flag based on whether or not the Beam flag was set, rather than based on whether or not the beam flag was explicitly provided; as such, a TBM entry for a non-piercing beam that contained a "$Flags:" entry but didn't re-set "no pierce shields" could spontaneously regain its piercing status (explicitly setting "beam" again will re-add piercing, but this should match previous behavior).
2016-08-25 22:55:37 -07:00
SamuelCho e74af5ad53 Merge branch 'master' into opengl_core_materials 2016-08-25 21:43:14 -07:00
Fabian Woltermann 7ab516e715 Merge pull request #885 from asarium/warnings/fred64bit
Fix 64-bit warnings in FRED2
2016-08-26 06:30:39 +02:00
SamuelCho 6442307c27 Merge branch 'master' into opengl_core_materials 2016-08-25 20:04:14 -07:00
Fabian Woltermann fd1e10d29e Merge pull request #884 from asarium/fix/aiDestroyedBeforeMission
Mark ship destroyed before a mission as exited
2016-08-25 20:15:42 +02:00
asarium 1e534cfc9f Fix 64-bit warnings in FRED2 2016-08-25 14:50:46 +02:00
Fabian Woltermann 05abf8b041 Merge pull request #882 from asarium/ci/appveyorFatalWarnings
Turn Visual Studio warnings on Appveyor to errors
2016-08-25 12:26:42 +02:00
m!m fceaf9eb06 Merge pull request #870 from The-E/ai_info_flags
Ai info flags conversion
2016-08-25 12:22:07 +02:00
asarium d4186ba774 Mark ship destroyed before a mission as exited
This fixes an Int3 in the ai code where it couldn't find a ship that was
destroyed before a mission. This was found through a mission bug in
FreeSpace Blue "Slaying Ravana" where the "Somtus" is marked as
destroyed before mission but then the AI is given orders which target
that ship.
2016-08-25 12:19:22 +02:00
SamuelCho 6fd1f8fbb0 Merge branch 'opengl_core_materials' of https://github.com/SamuelCho/fs2open.github.com into opengl_core_materials 2016-08-24 21:57:23 -07:00
SamuelCho 9592e67af2 Quick size_t fix to a batching vertex loop. 2016-08-24 21:56:22 -07:00
SamuelCho 67916a4efb Cleaned up various warnings from orphaned variables or added by the new rendering code. 2016-08-24 21:28:24 -07:00
asarium edc7f9e5d5 Fix warnings 2016-08-24 20:48:23 +02:00
asarium 3b0e5d8c44 Make Visual Studio warnings fatal 2016-08-24 20:48:22 +02:00
Fabian Woltermann 0a67a788e4 Merge pull request #878 from asarium/fix/freelook
Fix issue with head tracking and freelook interaction
2016-08-24 13:05:34 +02:00
Fabian Woltermann 1f4a30395b Merge pull request #872 from asarium/cmake_/msvcReleaseDebug
Add CMake option for generating debuggable executables
2016-08-24 13:04:40 +02:00
Fabian Woltermann 61cf5bef9b Merge pull request #850 from asarium/warnings/more64bit
64-bit warning fixes...
2016-08-24 13:04:12 +02:00
Fabian Woltermann 01c1b308ca Merge pull request #881 from asarium/fix/debugCC
Use the APIENTRY calling convention for the debug callback
2016-08-24 13:03:48 +02:00
asarium 892c6f5c61 Use the APIENTRY calling convention for the debug callback 2016-08-24 11:08:36 +02:00
Fabian Woltermann 09e379214a Merge pull request #818 from asarium/cleanup/pstypes
Cleanup pstypes.h a bit
2016-08-24 08:20:53 +02:00
SamuelCho f595e94e82 Merge pull request #3 from asarium/ogl_core/merge
Merge materials branch with master
2016-08-23 20:39:50 -07:00
SamuelCho 1adf52bb04 Make sure we scale sphere meshes before rendering them. 2016-08-23 20:38:14 -07:00
MageKing17 a141e5d4f4 Merge pull request #877 from The-E/weapon_flag_parsing_fix
Fixes an issue when parsing the weapon info flagset.
2016-08-23 14:47:19 -07:00
asarium 20beb2eec1 64-bit warning fixes... 2016-08-23 23:17:41 +02:00
asarium 782de278e5 Fix issue with head tracking and freelook interaction
Also adds code for detecting if the FreeTrack client is actually
reporting valid values. I only tested it with FaceTrackNoIR so it may
not work for other head trackers.
2016-08-23 22:29:15 +02:00
Fabian Woltermann e535cf566b Fix a few issues found while reviewing, thanks MageKing 2016-08-23 22:01:57 +02:00
asarium c081e83aae Remove weird stamp checking code
For some reason, FRED has some code that checks a checksum and if it
doesn't match it exits after a certain time with an obscure error
message. It doesn't affect us since the checksum is always right but it
was probably some kind of DRM at some point.
2016-08-23 16:35:40 +02:00
asarium beb9288c73 Merge branch 'opengl_core_materials' of https://github.com/SamuelCho/fs2open.github.com into ogl_core/merge
Conflicts:
	code/graphics/gropengl.cpp
	code/io/cursor.cpp
	freespace2/SDLGraphicsOperations.cpp
2016-08-23 16:05:28 +02:00
Fabian Woltermann 4fa09480c4 Merge pull request #849 from asarium/wxFRED/viewportInterface
Add interface for viewport management
2016-08-23 15:51:12 +02:00
asarium ef1e1e5551 Remove unused macros 2016-08-23 15:45:06 +02:00
asarium 09e32c0b3c Turn macro into function 2016-08-23 15:45:05 +02:00
asarium c72015394d Remove compatibility files 2016-08-23 15:45:04 +02:00
asarium 04a8262712 Remove HARDWARE_ONLY define 2016-08-23 15:45:03 +02:00
asarium cd598a1cf8 Move 64-bit detection to CMake 2016-08-23 15:45:02 +02:00
Fabian Woltermann 2c6576b162 Merge pull request #838 from asarium/cleanup/config_h
Cleanup config.h a bit
2016-08-23 15:30:53 +02:00
Fabian Woltermann 444ae43aa4 Fixes an issue when parsing the weapon info flagset. 2016-08-23 14:37:43 +02:00
MageKing17 56870dd5c5 Merge pull request #876 from asarium/fix/weaponFlagsParsing
Fix weapon flag parsing when +override is present
2016-08-23 05:32:03 -07:00
m!m 330882cad4 Merge pull request #875 from niffiwan/fix/coverity_1361824
Fix coverity 1361824
2016-08-23 14:27:06 +02:00
asarium a11b95ef56 Fix weapon flag parsing when +override is present 2016-08-23 13:41:28 +02:00
niffiwan 120385b819 Merge pull request #874 from asarium/fix/luaStackOverflow
Fix stack overflow reported by ASan
2016-08-23 20:48:48 +10:00
m!m 4e5b68149a Merge pull request #873 from niffiwan/fix/coverity_1361854
Fix Coverity 1361854
2016-08-23 12:48:06 +02:00
niffiwan 3f203b4d94 Fix coverity 1361824
Avoid potential uint overflow if joystick returns a range greater than
the maximum expected range. I guess this could also be fixed by
limiting raw to rng-1 (?)
2016-08-23 20:42:11 +10:00
asarium c94427ef2c Fix stack overflow reported by ASan
It's a small miracle that it worked but these changes should fix the
issue.
2016-08-23 11:32:41 +02:00
niffiwan 6158846438 Fix Coverity 1361854
Restore primitive sensors to Ship_flag_names[]
2016-08-23 19:24:24 +10:00
Fabian Woltermann 3e6022b000 Merge pull request #869 from asarium/fix/weaponsMemoryLeak
Fix memory leak reported by LeakSanitizer
2016-08-23 10:38:28 +02:00
Fabian Woltermann 3bcda9ae1f Merge pull request #863 from asarium/feature/nograb
Add -nograb commandline option
2016-08-23 10:38:10 +02:00
SamuelCho 7b2c7b6ccc Make sure distortions are rendered after the effect framebuffer is copied. 2016-08-22 20:49:09 -07:00
SamuelCho 537ddd9b4a Changed batcher data structure field types. Added shutdown function. 2016-08-22 20:33:06 -07:00
asarium 942817b4f6 Add CMake option for generating debuggable executables 2016-08-22 22:34:41 +02:00
asarium e8fe940287 Cleanup config.h 2016-08-22 22:17:34 +02:00
MageKing17 eb086dab3e Merge pull request #871 from The-E/subsys_mem_management_fix
Fixes breaking issues in subsystem memory management
2016-08-22 12:20:15 -07:00
MageKing17 40187b0bbc Merge pull request #868 from asarium/fix/fontHeapOverflow
Fix heap overflow reported by AddressSanitizer
2016-08-22 11:43:57 -07:00
MageKing17 8d1a03d087 Merge pull request #848 from z64555/fix/freelook1
Fix/freelook1
2016-08-22 11:42:01 -07:00
Fabian Woltermann 50c22d9457 Fixes breaking issues in subsystem memory management 2016-08-22 20:30:53 +02:00
Fabian Woltermann ee6d863f57 ai.h cleanup 2016-08-22 20:08:56 +02:00
Fabian Woltermann fe7a8aa3e9 Addressing feedback 2016-08-22 20:02:38 +02:00
Fabian Woltermann b6986087a3 not sure how these managed to slip through, but here we are 2016-08-22 17:54:53 +02:00
Fabian Woltermann c1cc83e363 more cleanup 2016-08-22 16:42:29 +02:00
Fabian Woltermann 791b7cc7b8 Cleanup 2016-08-22 16:41:26 +02:00
Fabian Woltermann add8662737 Converts AI Info flags 2016-08-22 16:39:42 +02:00
Fabian Woltermann 10e7aba7c0 Converts AI Info flags 2016-08-22 16:33:59 +02:00
m!m f59134d191 Merge pull request #859 from The-E/model_flags
Converts model flags
2016-08-22 14:25:35 +02:00
Fabian Woltermann adcc3327ae Addressing some feedback 2016-08-22 13:33:13 +02:00
Fabian Woltermann ed84ac348e Merge with master 2016-08-22 11:37:50 +02:00
Fabian Woltermann 607bc02c79 Merge pull request #867 from asarium/test/cotire
Enable cotire by default for Visual Studio
2016-08-22 11:34:21 +02:00
m!m 38fb41909b Merge pull request #861 from The-E/ai_profile_flags
Ai profile flags converted
2016-08-22 11:32:55 +02:00
asarium a3e458ba49 Fix memory leak reported by LeakSanitizer 2016-08-22 11:28:51 +02:00
asarium 043c1aef11 Fix heap overflow reported by AddressSanitizer 2016-08-22 11:17:32 +02:00
Fabian Woltermann 10e88b7f57 Merge pull request #812 from Goober5000/SIF_BALLISTIC_PRIMARIES_removal
remove the SIF_BALLISTIC_PRIMARIES flag
2016-08-22 09:22:57 +02:00
z64555 4ec4de1d43 Moves player_set_padlock_state()'s code into do_view_slew() and deletes player_set_padlock_state();
* Moves a camera lock statement into do_view_chase() to coincide with do_view_slew()'s style;
* Resets camera angles when transitioning into chase and external views from target padlock view;
2016-08-21 18:42:11 -05:00
z64555 9bce334c65 Move Padlock view angle modification to view_modify() 2016-08-21 18:41:07 -05:00
Goober5000 795bb86148 additional tweaks for WIF flag refactoring 2016-08-21 18:02:20 -04:00
Goober5000 d87babfd92 remove the SIF_BALLISTIC_PRIMARIES flag
See also my comments on #762.  The flag is almost entirely redundant, so this PR removes it in all instances where it's used in the ballistic primaries code.  There are one or two places where removing it was not a no-op, so I adjusted the rest of the code accordingly (most notably in the parsing validation when it checks that primary weapon cargo has been assigned).  I also added a few divide-by-zero checks and slightly tweaked the support ship rearm code.  The use of the SIF_BALLISTIC_PRIMARIES flag in the ingame_join code was replaced with a dummy value to avoid bumping the multiplayer packet version number.
2016-08-21 17:38:42 -04:00
SamuelCho e43e7e8534 Enable distortions again in gameplay. 2016-08-21 12:43:45 -07:00
SamuelCho b3b825470d Merge pull request #2 from asarium/ogl_core/fixes2
Use core functionality instead of extensions
2016-08-21 11:53:17 -07:00
asarium c74eb9a88b Enable cotire by default for Visual Studio 2016-08-21 16:54:07 +02:00
asarium fc92dba498 Disable forward compatibility bit 2016-08-21 11:50:55 +02:00
asarium 1876e3f219 Merge branch 'opengl_core_materials' of https://github.com/SamuelCho/fs2open.github.com into ogl_core/fixes2 2016-08-21 11:47:15 +02:00
SamuelCho 5ffcdb5de4 Fixed the light shafts fragment shader texcoord input. 2016-08-21 02:26:56 -07:00
SamuelCho 151081e533 Fixed shadowed variables in model_render_insignias. 2016-08-20 22:17:00 -07:00
SamuelCho 637d0fb1dd Removed unneccesary color variable in the model material setup function. 2016-08-20 21:57:28 -07:00
SamuelCho 75ae6ba4db Removed experimental uniform handling code. 2016-08-20 21:31:43 -07:00
SamuelCho e41b115a59 Fixed byte offset cast to pointer in opengl_render_primitives. 2016-08-20 21:26:15 -07:00
SamuelCho 08793c9231 Removed shadowed variable references from the materials code. Removed vestigal OpenGL vertex component code. 2016-08-20 20:52:17 -07:00
SamuelCho 311cf769df Reconciled bit flags. 2016-08-20 19:39:10 -07:00
SamuelCho 1e22118b39 Eliminated the no GLSL and no VBOs flags. 2016-08-20 19:18:50 -07:00
SamuelCho 89046b536a Fixed use of erroneous frame number for rendering shockwave distortions. 2016-08-20 17:36:57 -07:00
SamuelCho 27a1bb564e Convert shaders to pure core shaders. Eliminated compatibility shader preprocessors. Set minimum required GL version to 3.2. 2016-08-20 17:33:04 -07:00
asarium cb11e6bcd2 Only set OpenGL line width if it's valid 2016-08-20 21:44:20 +02:00
asarium 1f1d6ceecf Remove extensions that are included in OpenGL Core 2016-08-20 21:43:48 +02:00
Fabian Woltermann be12b629a1 Merge pull request #866 from rtoijala/fix/deferred-lighting-shader
Fix deferred lighting shader compilation
2016-08-20 20:44:22 +02:00
Fabian Woltermann c57e59d76a Addressing feedback 2016-08-20 20:42:22 +02:00
asarium 3c1cf4e963 Use a forward compatible context 2016-08-20 20:38:43 +02:00
asarium c74f540ed5 Fix bmpman assertion 2016-08-20 20:38:27 +02:00
Risto Toijala 16883beeb0 Fix deferred lighting shader compilation 2016-08-20 17:31:54 +03:00
m!m a34bcd60ed Merge pull request #852 from The-E/weapon_flags
Weapon flags
2016-08-20 15:57:05 +02:00
m!m 4f58758234 Merge pull request #864 from rtoijala/fix/remove-debug-window-leftovers
Remove leftovers of -debug_window cmdline arg
2016-08-20 15:55:54 +02:00
Risto Toijala 204bb600ab Remove leftovers of -debug_window cmdline arg 2016-08-20 16:15:51 +03:00
asarium c0a120106b Add -nograb commandline option
This disables all mouse grabbing which is useful for debugging when SDL gets interrupted without giving up
control of the mouse. That usually leads to problems since you can't
interact with the debugger window anymore.
2016-08-20 15:01:50 +02:00
asarium f7de25b73c Merge branch 'master' into ogl_core/fixes 2016-08-20 15:00:17 +02:00
asarium af2696e71d Update GLAD config 2016-08-20 13:45:16 +02:00
asarium a51197eaae Remove shader compatibility
This makes the shaders compile on the Linux Mesa drivers.
2016-08-20 13:44:32 +02:00
asarium 0567e9286f Fix invalid usage of GL_ALPHA 2016-08-20 13:43:57 +02:00
asarium a03452eaf1 Fix OpenGL Context creation code 2016-08-20 13:39:23 +02:00
Fabian Woltermann 325442207c Addressing feedback 2016-08-20 12:57:32 +02:00
Fabian Woltermann bf93beb33e Merge pull request #854 from asarium/feature/jsonPilot
Add option for writing pilot files in JSON format
2016-08-20 09:13:49 +02:00
m!m b2b504cca3 Merge pull request #860 from The-E/missionmessage_fix
Fixes an assert that got inadvertently inverted
2016-08-19 23:16:58 +02:00
Fabian Woltermann c72376b0c6 Fix compilation 2016-08-19 22:54:42 +02:00
Fabian Woltermann 69f33c5d95 Fixes an assert that got inadvertently inverted 2016-08-19 22:45:35 +02:00
Fabian Woltermann 0591b7ef49 ai profile flags 2016-08-19 22:44:39 +02:00
Fabian Woltermann 9942bf7e19 Add to cmake 2016-08-19 21:12:21 +02:00
Fabian Woltermann 1471cfac38 Adds ai_flags master file 2016-08-19 21:11:57 +02:00
Fabian Woltermann 90a2644d62 More cleanup 2016-08-19 21:08:14 +02:00
Fabian Woltermann 6a1aa4c5d3 More cleanup 2016-08-19 20:59:01 +02:00
Fabian Woltermann 5ed8fb87b1 Merge pull request #857 from rtoijala/fix/mkdir
Fix _mkdir on non-Windows
2016-08-19 20:46:39 +02:00
Risto Toijala c1307fc213 Fix _mkdir on non-Windows
_mkdir was horribly broken. It was creating all directories in the given
path but failed to create the actually wanted last portion.

On Windows, _mkdir only creates the last portion.

Fix this by simply calling mkdir, which does the Right Thing (TM).
2016-08-19 20:45:39 +03:00
Fabian Woltermann 9f27973147 Fixes various bugs 2016-08-19 19:23:55 +02:00
Fabian Woltermann 2a1deb1a76 Merge pull request #856 from rtoijala/fix/weapon-flag-parsing
Fix weapon flag parsing
2016-08-19 19:10:13 +02:00
asarium 41e370fd2e Add option for writing pilot files in JSON format
This is a new implementation of the JSON dumping which was already
proposed in #22 but this version tries to allow implementing both
reading and writing JSON files without having to change the existing
code too much. This is done by using an abstract class to hide the
differences between writing the JSON and binary files.

This is currently only capable of writing the files but not reading them
so if the option is enabled all changes to the pilot file are lost. I
will implement reading after this PR has been merged since I would like
to reduce the amount of changes that need to be reviewed.
2016-08-19 18:48:29 +02:00
Risto Toijala 5d96e49354 Fix weapon flag parsing
Starting with git 127976c (#851), FSO fails to start, displaying an
error. This is my attempt to fix it. FSO starts, but I do not know how
to check that the flags are parsed correctly.
2016-08-19 19:19:46 +03:00
asarium efdd4fae68 Add interface for viewport management
This separates OpenGL context creation from window creation and also
allows to implement multiple viewports in the future.
2016-08-19 17:44:17 +02:00
Fabian Woltermann 1acfaa8157 Converts model subsystem flags 2016-08-19 14:59:15 +02:00
asarium 02670f5558 Merge branch 'opengl_core_materials' of https://github.com/SamuelCho/fs2open.github.com into SamuelCho-opengl_core_materials 2016-08-19 11:31:33 +02:00
SamuelCho 789b694519 Rename glIsFramebufferEXT hiding in Assert. 2016-08-19 02:20:57 -07:00
asarium 5d570f6d84 Merge branch 'opengl_core_materials' of https://github.com/SamuelCho/fs2open.github.com into SamuelCho-opengl_core_materials 2016-08-19 11:14:13 +02:00
SamuelCho 2022f6a792 Replaced GLAD loader with 4.1 Core specification. Removed traces of fixed function rendering code. 2016-08-19 02:12:47 -07:00
Fabian Woltermann 941129f460 weapon.h cleanup 2016-08-19 09:26:57 +02:00
Fabian Woltermann 1a060aa6d7 Converts the other weapon flags 2016-08-19 09:24:54 +02:00
Fabian Woltermann 127976cd74 Weapon info flags conversion (#851) 2016-08-18 23:17:41 -07:00
SamuelCho fb30819765 Fixed shaders with unneeded semicolons 2016-08-18 06:35:04 -07:00
m!m e9cc4601eb Merge pull request #846 from MageKing17/bugfix/freetrack-empty-string-check
Add a check for an empty string to the freetrack loading code.
2016-08-18 09:34:53 +02:00
z64555 1e40f71ff0 * Renames VM_EXTERNAL_CAMERA_LOCKED into VM_CAMERA_LOCKED and uses it for both freelook and external views. (Replaces slew_active)
* Adds VM_CENTERING to replace view_centering
* view_modify() now takes care of centering the view
* Reorganized view-related controls and logic to be cleaner
2016-08-18 01:00:10 -05:00
MageKing17 780035657a Add a check for an empty string to the freetrack loading code.
If "value" is empty, then attempting to access "value[value.length() - 1]" is equivalent to trying to access "value[-1]", which is an out-of-bounds access (causing debug builds to complain and undefined behavior).
2016-08-17 16:46:53 -07:00
Fabian Woltermann 3648b47570 Merge pull request #845 from MageKing17/bugfix/sexp-msec-overflow
Fix overflow problem accidentally introduced to is-event-*-msecs-delay.
2016-08-17 22:01:32 +02:00
MageKing17 20cd5111ac Fix overflow problem accidentally introduced to is-event-*-msecs-delay.
When PR #831 got rid of a warning in sexp_event_delay_status(), it did so by getting rid of the 64-bit temporary variable (in order to get rid of a warning in the non-use_msecs branch). However, that 64-bit variable was protecting against overflow when using numbers of milliseconds >= 65535, which are used by e.g. the Icarus cutscene mission from Blue Planet, leading to interesting (but wrong) behavior.

This restores usage of the uint64_t temporary variable by reverting that specific change, but then avoids the warning by moving that temporary variable to be inside the use_msecs branch; I get no warnings when compiling this version of sexp.cpp, and Icarus works again.
2016-08-17 12:33:30 -07:00
asarium e92dccb21b Merge branch 'opengl_core_materials' of https://github.com/SamuelCho/fs2open.github.com into SamuelCho-opengl_core_materials 2016-08-17 17:45:21 +02:00
MageKing17 2081647443 Merge pull request #841 from The-E/distortion_framebuffere_fix
Fixes issue with framebuffer initialization
2016-08-17 05:50:09 -07:00
Fabian Woltermann 98f72f9378 Finishes converting the remaining ship-related flags (#843) 2016-08-17 05:49:40 -07:00
SamuelCho a481999a24 OpenGL Core support. Introduction of material based draw system. Rewrote geometry batcher. 2016-08-17 00:13:19 -07:00
MageKing17 d840f9d0c7 Merge pull request #842 from asarium/fix/fsanitize
Fix -fsanitize flag setting
2016-08-16 15:48:50 -07:00
z64555 c2b6417372 [Cleanup] Changes player_set_padlock_state() to take parameters instead of directly operating on globals. 2016-08-16 16:24:42 -05:00
asarium 9cc654909c Fix -fsanitize flag setting 2016-08-16 22:51:03 +02:00
Fabian Woltermann 42394bf723 Fixes issue with framebuffer initialization 2016-08-16 18:10:06 +02:00
Fabian Woltermann 37c6413fa0 Merge pull request #837 from MageKing17/bugfix/joystick-issues
Fix a couple joystick issues.
2016-08-16 16:23:17 +02:00
Fabian Woltermann e55718caa7 Merge pull request #840 from scp-fs2open/revert-839-fix/freelok
Revert "Fix FreeTrack and headtracking"
2016-08-16 16:21:29 +02:00
Fabian Woltermann 59f3ef6fab Revert "Fix FreeTrack and headtracking" 2016-08-16 16:21:17 +02:00
Fabian Woltermann f7bbea248c Merge pull request #839 from asarium/fix/freelok
Fix FreeTrack and headtracking
2016-08-16 16:18:00 +02:00
asarium 94412da2de Fix FreeTrack and headtracking 2016-08-16 15:44:40 +02:00
m!m 31fdcfdfbb Merge pull request #806 from The-E/ship_weapon_flags
Converts the flags of ship_weapon to use the new flag system
2016-08-16 11:37:01 +02:00
Fabian Woltermann ed974844e4 Merge pull request #795 from asarium/cmakeMerge/freetrack
Add improved head tracking code
2016-08-16 11:33:06 +02:00
MageKing17 5886bf4c80 Re-restore force feedback.
The new joystick API (commit f91c681ee1) didn't include calls to joy_ff_init() and joy_ff_shutdown(), disabling haptic support. Simply restoring these calls was enough to make it work on my system again.
2016-08-16 01:37:29 -07:00
MageKing17 a33502d5aa Treat an empty joystick GUID as though no GUID were set.
If CurrentJoystickGUID was present but set to an empty string, the new code was comparing all joystick GUIDs against the empty string, and therefore concluding that no joystick was currently selected. This just treats an empty string as though CurrentJoystickGUID weren't set at all, allowing the index-based CurrentJoystick to take over.
2016-08-16 01:35:54 -07:00
Fabian Woltermann 418c47e426 Merge with master 2016-08-16 09:58:09 +02:00
MageKing17 384b4b9413 Merge pull request #834 from The-E/multi_server_version_bump
Bumps multi server version due to changes in the multiplayer sexp code
2016-08-15 23:39:48 -07:00
Fabian Woltermann 8248ac2516 Encapsulates the multi_sexp infrastructure in its own class (#833)
While working on #824, I found out that cleaning up that particular piece of code would not be doable cleanly without a refactor of the multi_sexp infrastructure. This is that refactor; it encapsulates the code of multi_sexp inside a class, an instance of which is then used to manage all the network stuff that sexps need to do.
2016-08-15 23:39:40 -07:00
MageKing17 e108f555c3 Merge pull request #835 from asarium/fix/awacsBug
Fix wrong condition introduced by #829
2016-08-15 23:39:03 -07:00
asarium 925e8df36e Fix wrong condition introduced by #829 2016-08-15 22:21:10 +02:00
MageKing17 8f4972aab9 Merge pull request #618 from Karajorma/RemoveOldSEXPPackets
Remove several packets used in multiplayer that can now be handled by…
2016-08-15 12:52:11 -07:00
Fabian Woltermann e0314eecd0 Bumps multi server version due to changes in the multiplayer sexp code 2016-08-15 21:42:38 +02:00
Fabian Woltermann 5b29d5449b Merge pull request #831 from asarium/warnings/evenmore64bit
And another batch of warning fixes
2016-08-15 20:45:41 +02:00
Fabian Woltermann 8c939d0050 Merge pull request #814 from asarium/fix/selectedJoystick
Refine joystick selection
2016-08-15 20:44:52 +02:00
Fabian Woltermann 26c189aa73 Merge pull request #828 from asarium/unittests/msvcFolders
Fix Visual studio solution folders
2016-08-15 20:43:53 +02:00
Fabian Woltermann 5ffe4b3168 Merge pull request #829 from asarium/feature/flagsetMultiple
Add support for indexing flagset with multiple flags
2016-08-15 20:43:37 +02:00
Fabian Woltermann 22f92bad55 Merge pull request #832 from z64555/fix/freelook1
Fixes an issue where the regular padlock view was disabled.
2016-08-15 20:43:21 +02:00
z64555 84a16c72ff Fixes an issue where the regular padlock view was disabled. 2016-08-15 13:06:57 -05:00
asarium 0a7800d3ea And another batch of warning fixes 2016-08-15 18:55:35 +02:00
asarium 9f26c51d47 Fix unit test checks for the new logic operations 2016-08-15 16:55:10 +02:00
asarium bf6d3aac07 Fix GCC test compilation 2016-08-15 16:23:46 +02:00
asarium 9aff8d9b62 Fix logic operation 2016-08-15 16:22:39 +02:00
m!m 02ecdf6cf7 Merge pull request #817 from The-E/aiming_flags
Changes aiming flags to the new system
2016-08-15 15:29:26 +02:00
m!m d637ccd8ed Merge pull request #816 from The-E/ship_exit_flags
Changes ship exit flags to the new system
2016-08-15 15:28:13 +02:00
asarium 25e0209026 Add unit tests for multiple flag checks 2016-08-15 15:24:55 +02:00
asarium 86cdb905db Add support for indexing flagset with multiple flags
This uses the , operator for combining the flag values.
2016-08-15 15:24:48 +02:00
Fabian Woltermann 4e410f56e6 Merge pull request #826 from asarium/build/gccfsanitize
Add option for enabling AddressSanizizer in gcc
2016-08-15 15:22:49 +02:00
Fabian Woltermann 5bc8837298 Merge pull request #827 from asarium/unittests/windowsFix
Fix Windows unit tests
2016-08-15 15:22:20 +02:00
asarium 4cc9118b4d Fix Visual studio solution folders 2016-08-15 15:06:47 +02:00
asarium 1258067264 Fix Windows unit tests 2016-08-15 14:27:09 +02:00
Fabian Woltermann e1da184702 Merge pull request #825 from asarium/unittests/initial
Add unit test setup
2016-08-15 14:13:37 +02:00
asarium fa30cd9028 Add option for enabling AddressSanizizer in gcc 2016-08-15 11:57:12 +02:00
asarium 4274a6da76 Add unit test setup 2016-08-15 11:40:08 +02:00
m!m ddd64146d9 Merge pull request #820 from z64555/fix/filelength
Adds macro to replace instances of the deprecated filelength with...
2016-08-15 11:12:50 +02:00
MageKing17 43ca34cb4c Merge pull request #821 from SamuelCho/lightshafts_reorder
Reorder lightshafts in the post process pipeline.
2016-08-14 20:16:50 -07:00
SamuelCho 60bee02f92 Reorder lightshafts in the post process pipeline. Fixes the glare effect from being too bright. 2016-08-14 19:09:29 -07:00
z64555 2b4117256a Adds macro to replace instances of the deprecated filelength with _filelength if using MSVC. 2016-08-14 20:11:40 -05:00
asarium 8f034b08d4 Refine joystick selection
This uses the device-id as a tie-breaker if more than one joystick in
the system have the same GUID.
2016-08-14 20:26:03 +02:00
Fabian Woltermann d5ac9a33c1 Merge pull request #815 from asarium/feature/flagsetInitializer
Add initializer_list support for flagset
2016-08-14 17:07:33 +02:00
Fabian Woltermann 43b68c5b22 Changes aiming flags to the new system 2016-08-14 16:59:22 +02:00
Fabian Woltermann 3160bdaa00 Changes ship exit flags to the new system 2016-08-14 16:48:11 +02:00
asarium d1baf8edca Add initializer_list support for flagset
This allows to initialize a flagset instance from a {...} expression
without having to create an intermediary instance.
2016-08-14 16:39:29 +02:00
m!m af9cc94470 Merge pull request #807 from The-E/ship_subsys_flags
Changes the subsystem flags to the new flag system.
2016-08-14 16:24:28 +02:00
asarium 4e1334dbd2 Add code for printing information about connected joysticks 2016-08-14 12:32:09 +02:00
z64555 6f7039ed01 Merge pull request #809 from asarium/fix/joystickGUIDs
Fix wrong joystick event assignment
2016-08-14 02:11:58 -05:00
Fabian Woltermann 8a85b5abe8 Merge pull request #811 from Echelon9/fix/legacy-mode-warning-wrapping
Improve legacy mode warning console message
2016-08-14 00:48:00 +02:00
Echelon9 69a88cf58f Improve legacy mode warning console message
Without the new line, this important warning line can get lost within
the console messages e.g. on Linux.
2016-08-13 17:44:03 -04:00
asarium a4d70c78cb Fix wrong joystick event assignment
Kobrar reported that joystick events were not properly assigned to the
right Joystick instances because the GUIDs of the joysticks was the same
(that's another problem since the code assumes that they actually are
Globally Unique like the name says).

The fix was to simply use the instance ID for checking if two sticks are
the same which seems to work more reliably.
2016-08-13 23:14:47 +02:00
m!m ecc878586c Merge pull request #808 from The-E/flagset_emergency_fix
Bugfix for flagsets
2016-08-13 21:54:15 +02:00
asarium 60afa1431a Add improved head tracking code
This adds an abstraction layer over the previous TrackIR implementation
and also adds an interface for the FreeTrack protocol.
2016-08-13 21:43:23 +02:00
Fabian Woltermann d7e6e5e152 Fixes an issue in flagsets where the sanity check for flagset::set was inverted. 2016-08-13 18:26:17 +02:00
Fabian Woltermann b352a4c13a Merge pull request #770 from asarium/cmake_/ninjaColor
Enable color diagnostics for Ninja generator
2016-08-13 15:17:42 +02:00
Fabian Woltermann dc11b13edd Merge pull request #783 from MageKing17/feature/more-target-flags
Greatly expand available flags for creating target priority groups.
2016-08-13 15:17:15 +02:00
Fabian Woltermann e1ba2256ed Changes the subsystem flags to the new flag system. 2016-08-13 13:52:51 +02:00
Fabian Woltermann 0117ba446c Merge pull request #794 from z64555/fix/joystick_hats1
More compatibility code for joystick hats.
2016-08-13 11:50:24 +02:00
Fabian Woltermann 71acc296f0 Merge pull request #804 from z64555/feature/freelook
Feature/freelook
2016-08-13 11:50:06 +02:00
Fabian Woltermann 64153da3bd Converts the flags of ship_weapon to use the new flag system 2016-08-13 10:42:47 +02:00
z64555 d24aa9f478 Remove 4-pos hat to 8-pos hat conversion code. Revert this commit if needed in the future! 2016-08-13 01:03:50 -05:00
z64555 431dd7067e More joystick hat compatibility code.
* There's now registers for both 4 position and 8 position hats for both timestamps and downcounts
* There's conversion code to allow an 8-position hat to act like a 4-position hat, which is needed by the FSO codebase which only uses 4-pos hats
* There's also conversion code to allow a 4-pos hat to act like an 8-position hat to some degree.
2016-08-13 01:03:49 -05:00
MageKing17 c17c58265a Merge pull request #805 from Echelon9/feature/readme-badges
Add badges to Readme
2016-08-12 22:17:17 -07:00
Echelon9 229a578b61 Add badges to Readme
Re-add visual badges that provide overview of build and code quality
status via Travis and Coverity.
2016-08-13 00:40:54 -04:00
z64555 994f8f7ec4 Fix bug introduced by freelook code that disabled target padlock view mode. 2016-08-12 21:47:04 -05:00
MageKing17 78de88adcf Greatly expand available flags for creating target priority groups.
Target priorities could previous only select based on very few flags, for the simple reason that very few were defined in the ai_tgt_*_flags[] arrays. This simply adds additional flags (even some that seem a little silly; I can't actually think of a reason to especially target "objects that are being rendered", but hey, maybe somebody will find a use for it in the future).
2016-08-12 19:24:07 -07:00
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
z64555 b60f8742e2 Re-Re-enables the freelook mode. Somehow got lost during the Antipodes merge. 2016-08-12 18:09:24 -05:00
Fabian Woltermann 1ea71d2ba6 Merge pull request #803 from asarium/fix/fredFastDebug
Fix FRED configuration
2016-08-12 21:15:13 +02:00
asarium e8d74a833b Fix FRED configuration 2016-08-12 20:28:29 +02:00
Fabian Woltermann 97153b80a1 Merge pull request #801 from asarium/warnings/more64bit
And another batch of 64-bit fixes
2016-08-12 14:55:06 +02:00
asarium a685642554 And another batch of 64-bit fixes 2016-08-12 09:42:55 +02:00
MageKing17 96c7ea9247 Merge pull request #798 from asarium/cleanup/windebug
Remove unused code in windebug.cpp
2016-08-11 18:40:19 -07:00
MageKing17 a1c82455e4 Merge pull request #797 from asarium/warnings/evenmore64bit
Another batch of 64-bit warning fixes.
2016-08-11 18:40:09 -07:00
z64555 80f6f31f15 Merge pull request #799 from The-E/math_include_cleanup
A bit of include cleanup
2016-08-11 20:39:04 -05:00
z64555 682b279553 Merge pull request #800 from The-E/only_old_stars
Dead code cleanup in starfield.cpp
2016-08-11 20:39:01 -05:00
Fabian Woltermann 2d85ced533 Merge pull request #788 from asarium/build/sdlmain
Use the provided sdlmain library again
2016-08-11 23:04:00 +02:00
Fabian Woltermann ab315f2064 Merge pull request #792 from asarium/cleanup/disableFredDeprecation
Disable MBCS deprecation warnings in FRED
2016-08-11 23:03:40 +02:00
Fabian Woltermann b5e837a040 Merge pull request #796 from asarium/fix/memoryStats
Fix Windows memory statistics
2016-08-11 23:03:26 +02:00
Fabian Woltermann 444a9ba614 Merge pull request #789 from asarium/cmake_/msvcWarningSpecifications
Clean up CMake MSVC warning handling
2016-08-11 23:02:52 +02:00
Fabian Woltermann e103bcdf69 Removes a bit of dead code that we probably aren't going to develop any further. 2016-08-11 23:01:28 +02:00
Fabian Woltermann 44c64d79f1 Removes old int type includes we carried around from when we supported old compilers 2016-08-11 22:57:49 +02:00
asarium c40ede030a Another batch of 64-bit warning fixes. 2016-08-11 22:19:50 +02:00
asarium 76c220251b Remove unused code in windebug.cpp 2016-08-11 22:10:43 +02:00
MageKing17 affecc9285 Merge pull request #791 from asarium/warnings/more64bit
Fix even more 64-bit warnings
2016-08-11 12:54:51 -07:00
asarium c6a74c2f04 Fix Windows memory statistics 2016-08-11 21:48:11 +02:00
asarium 9a46e9b55e Fix negative shift warning
This converts the fix conversion macros to constexpr functions which
should have the same runtime effects with the added type safety.
2016-08-11 10:42:40 +02:00
asarium 6c3da4b455 Fix even more 64-bit warnings 2016-08-11 10:08:11 +02:00
z64555 83724c0d8a Merge pull request #793 from MageKing17/bugfix/invalid-joystick-buttons
Fix a couple button-related joystick issues.
2016-08-10 23:24:39 -05:00
MageKing17 9f12e1f749 Fix hat position comparison in joy_down()
getHatPosition() returns a value from the HatPosition enum, so the conversion to a 0-based index is incorrect (and causes the hat switch to basically not work with continuous controls).
2016-08-10 20:42:00 -07:00
MageKing17 7906f0b9b3 Fix allowing invalid joystick buttons through to the joystick API.
When the hat switch code was fixed to restrict joysticks to 32 buttons again, it forgot to invalidate buttons between numButtons() and 32. This could lead to some assertions being failed when the joystick got asked for the status of a nonexistent button.
2016-08-10 18:55:57 -07:00
asarium d7707053c3 Disable MBCS deprecation warnings in FRED 2016-08-10 23:44:20 +02:00
z64555 627ef75af0 Fix (undocumented) issue with hat presses not registering. (#777)
* Fix (undocumented) issue with hat presses not registering.

* Use array instead of a vector for _hat::DownCount

* No, no die-nam-ick numbor of boot-ons to-day. Und no, ve only haff vone hat. Sad Heavy is Sad.

* Fixes an out-of-bounds error caused by incorrect indexing in Joystick::handleHatEvent.
Also fixes a bug where the hatGetDownTime would return a nonzero value if the hat was active but in a different position than the input parameter.
2016-08-10 23:31:09 +02:00
MageKing17 9cef8ed64b Merge pull request #782 from asarium/fix/luaFixes
Fix a few lua related issues
2016-08-10 12:19:35 -07:00
MageKing17 8f32c6100e Merge pull request #786 from asarium/fix/grbatch
Fix wrong return type in grbatch
2016-08-10 11:26:27 -07:00
asarium 2b52c7888e Remove _cdecl usages 2016-08-10 18:03:29 +02:00
asarium 74b0702577 Specify ignored warnings in CMake toolchain file
This means that it's no longer necessary to include pstypes.h just for
ignoring the standard warnings.
2016-08-10 17:24:04 +02:00
asarium b26a70d96a Use the provided sdlmain library again 2016-08-10 16:45:04 +02:00
asarium 5b28824f62 Fix wrong return type in grbatch 2016-08-10 15:18:55 +02:00
Fabian Woltermann 9953fd924e Merge pull request #779 from asarium/warnings/more64bit
More 64-bit MSVC warning fixes
2016-08-10 14:32:21 +02:00
Fabian Woltermann 14f80e6a07 Merge pull request #784 from asarium/fix/fontHeightHack
Improve font top and bottom offset handling
2016-08-10 14:30:50 +02:00
Fabian Woltermann e805cc15fc Merge pull request #785 from asarium/fix/modelrenderVars
Fix uninitialized values in modelrender
2016-08-10 14:30:22 +02:00
asarium 0cabe71fdd More 64-bit MSVC warning fixes 2016-08-10 13:33:12 +02:00
asarium f5c0234d3b Fix uninitialized values in modelrender 2016-08-10 13:28:36 +02:00
asarium 19de867f31 Improve font top and bottom offset handling 2016-08-10 12:59:19 +02:00
niffiwan c3b4380351 Merge pull request #781 from asarium/fix/mainhallDistance
Fix wrong parameter order
2016-08-10 09:50:29 +10:00
asarium 72a956e0ed Fix wrong handle pointer validation 2016-08-10 00:06:33 +02:00
asarium 5e12ec392c Fix wrong parameter order 2016-08-10 00:03:17 +02:00
asarium 188bf2bb1e Fix wrong initial value 2016-08-09 23:55:38 +02:00
MageKing17 5f38b7fbce Merge pull request #780 from asarium/fix/shaderCrash
Fix Assert caused by invalid comparision
2016-08-09 13:58:29 -07:00
asarium b982c04a00 Fix Assert caused by invalid comparision 2016-08-09 22:24:00 +02:00
m!m 079c6ae86e Fix FRED executable version information (#778) 2016-08-09 11:15:46 -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 526962fb60 Fix Clang warning 2016-08-09 10:44:27 +02:00
Fabian Woltermann 7265711551 Merge pull request #776 from scp-fs2open/revert-720-cleanup/update-sdl2-to-custom-libsdl
Revert "Update included SDL2.dll files to ones compiled from our custom libsdl."
2016-08-09 09:01:54 +02:00
Fabian Woltermann 5ffc569eed Merge pull request #759 from asarium/fix/hudParseErrors
Detect HUD gauges parse error and print a warning
2016-08-09 08:30:34 +02:00
Fabian Woltermann 6703007ee2 Merge pull request #761 from MageKing17/feature/allow-ai-slowdown
Add an AI flag to enable old, unused behavior when attacking big ships.
2016-08-09 08:29:58 +02:00
MageKing17 cdef2ee86a Revert "Update included SDL2.dll files to ones compiled from our custom libsdl." 2016-08-08 21:10:04 -07:00
MageKing17 552a575232 Merge pull request #773 from asarium/fix/772
Fix logic error in controlsconfig.cpp
2016-08-08 12:27:56 -07:00
asarium bfdcad1848 Fix logic error in controlsconfig.cpp
This fixes #772.
2016-08-08 19:54:12 +02:00
MageKing17 76b7c0a3d2 Merge pull request #771 from asarium/feature/noninteractive
Add noninteractive mode
2016-08-08 08:39:13 -07:00
asarium 8dbfb3a334 Fix CI failure with outdated GCC version 2016-08-08 16:49:22 +02:00
asarium 84973dd56f Use CMake variable for determining library with dlsym 2016-08-08 16:47:29 +02:00
asarium 1086e330fb Fix warnings by updating external includes 2016-08-08 16:22:39 +02:00
asarium 775d404bf1 Enable color diagnostics for Ninja generator
Also improves flags handling a bit. Previously only the C++ flags were
set, now the C flags are set as well.
2016-08-08 15:59:33 +02:00
asarium ab6c3f4ac8 Add noninteractive mode
If the -noninteractive command line option is set then dialogs won't be
shown and the default action is taken. This should be useful for
the standalone server.
2016-08-08 15:46:08 +02:00
Fabian Woltermann 302b0297b5 Merge pull request #767 from asarium/fix/64-bitFRED
Fix 64-bit compilation of FRED
2016-08-08 13:21:37 +02:00
MageKing17 4b900bb84c Merge pull request #764 from asarium/wxFRED/graphicsInterface
Add interface for creating an OpenGL context
2016-08-07 15:42:30 -07:00
MageKing17 820d4b88be Merge pull request #769 from asarium/fix/768
Fix for #768
2016-08-07 15:38:24 -07:00
asarium 5ba393ce5d Fix for #768
Apparently MSVC 2013 allocates memory when locking a mutex which calls
our allocation hook when the tries to call our memory tracking function
which leads to a deadlock. Since there is no way of providing a memory
allocation function for std::mutex the best solution is to simply
disable the lock_guard for everything before MSVC 2015. That will
probably corrupt the memory tracking values at some point but it's
better than not being able to run FSO at all.
2016-08-07 23:45:38 +02:00
MageKing17 c76c1cb4ff Add an AI flag to enable old, unused behavior when attacking big ships.
Coverity defects 1320483, 1320484, 1320485, and 1320486 noted that several values were being set and then immediately overwritten before they could do anything. These appear to be related to behavior that Volition disabled before release that would allow the AI to slow down while attacking capital ships. It seemed a shame to waste this code, so I've added a flag to enable the behavior.
2016-08-07 14:27:59 -07:00
asarium 1fb0a57fd8 Fix 64-bit compilation of FRED 2016-08-07 23:00:17 +02:00
Fabian Woltermann 8543e99352 Merge pull request #755 from asarium/fix/gladVersion
Use the OpenGL version provided by GLAD
2016-08-07 22:28:09 +02:00
Fabian Woltermann 17e5918eeb Merge pull request #756 from asarium/cleanup/gladLoader
Improve GLAD config a bit
2016-08-07 22:27:53 +02:00
Fabian Woltermann d0ea08ed6c Merge pull request #766 from asarium/fix/linewidth
Fix for #765
2016-08-07 22:27:17 +02:00
asarium 0bf5ba092b Add interface for creating an OpenGL context
This allows to use a different method of creating and managing the
OpenGL context. This is needed of wxFRED where the OpenGL context is
created by wxWidgets. This will probably also fix #753 since it uses the
old wgl based method of creating an OpenGL context in FRED.
2016-08-07 21:38:36 +02:00
MageKing17 195b0b1d53 Merge pull request #763 from The-E/radarsetup_flag_fix
SIF_STEALTH and SF2_STEALTH are different things, I'm afraid
2016-08-07 11:41:22 -07:00
asarium 4f5ae67020 Fix for #765
glLineWidth is no longer an effective way of setting the line width of
2D operations.
2016-08-07 19:49:48 +02:00
Fabian Woltermann 580892243f SIF_STEALTH and SF2_STEALTH are different things, I'm afraid 2016-08-07 16:46:14 +02:00
niffiwan 9b537434fc Merge pull request #760 from MageKing17/coverity/1360950
Make sure va_end() gets called in ade_get_args() (fix Coverity 1360950)
2016-08-07 10:46:34 +10:00
MageKing17 5cdcd2beac Make sure va_end() gets called in ade_get_args() (fix Coverity 1360950)
If a required argument is invalid, ade_get_args() returns 0, but it wasn't making sure va_end(vl) got called first, leading to potential memory corruption (probably not a huge issue in actual usage because most people try not to release scripts that throw errors).
2016-08-06 12:57:03 -07:00
asarium 7baefbcd45 Detect HUD gauges parse error and print a warning
Previously the code simply skipped the invalid tokens and silently
ignored them. This is frustrating for modders and also let #758 slip
into the code base which would not have happened otherwise.
2016-08-06 21:40:52 +02:00
MageKing17 02aad7e5a7 Merge pull request #758 from asarium/fix/hudparse
Fix parsing code error introduced by TTF merge
2016-08-06 11:56:03 -07:00
asarium 0d165f159e Fix parsing code error introduced by TTF merge 2016-08-06 19:15:47 +02:00
asarium e6f00e37ae Improve GLAD config a bit
This removes the built-in OpenGL function pointer because we don't need
it since we are using the SDL function for that. Also explicitly uses a
compatibility loader although that has no effect on the generated code.
2016-08-06 15:24:19 +02:00
asarium 877fae7d5f Use the OpenGL version provided by GLAD 2016-08-06 15:15:23 +02:00
MageKing17 82ac53a693 Merge pull request #750 from PhantomHoover/master
Fixed actual_main to correctly return 0 on success and made
2016-08-06 00:04:54 -07:00
MageKing17 a4c6437104 Merge pull request #749 from The-E/parse_object_flag_fix
Fixes a mismatched flag type error in multiteamselect.
2016-08-06 00:04:31 -07:00
MageKing17 858df67078 Merge pull request #754 from niffiwan/fix/coverity_and_travis
Fix coverity scan triggered from travis
2016-08-06 00:04:09 -07:00
niffiwan 41b0b53b85 Fix coverity scan triggered from travis
Update modeling file to deal with SDL2.0 changes
2016-08-06 16:42:56 +10:00
Fabian Woltermann d60b756b4b Merge pull request #748 from asarium/fix/cfileArchiver
Fix compilation of cfile(archiver|extractor)
2016-08-06 08:29:13 +02:00
MageKing17 9ee98d45a2 Merge pull request #752 from asarium/fix/multiSort
Fix sorting function multi_create_sort_func
2016-08-05 15:13:41 -07:00
Fabian Woltermann fb9f3bc322 Merge pull request #751 from asarium/fix/fredOpenGL
Make sure that SDL OpenGL is initialized
2016-08-05 23:40:54 +02:00
asarium 81e3cf6fac Fix sorting function multi_create_sort_func
The function returned the wrong value for same string which caused the
MSVC debug runtime to throw an error. This fixes that.
2016-08-05 23:38:17 +02:00
asarium 0473ead31f Make sure that SDL OpenGL is initialized
The documentation says that the SDL OpenGL attributes need to be
initialized before a window is created. These changes implement that by
moving the actual SD_Window creation inside the OpenGL setup. FRED only
sets the native window handle to the correct HWND and gropengl uses
that.
2016-08-05 21:51:29 +02:00
Phantom Hoover 9ef81071fe doxygenate game_main() 2016-08-05 19:57:51 +01:00
Phantom Hoover 7b094e6966 good point mageking 2016-08-05 19:46:36 +01:00
Fabian Woltermann 88df37c6d6 Merge pull request #747 from asarium/coverity/1360947
Fix for Coverity 1360947
2016-08-05 19:19:24 +02:00
Phantom Hoover ef147c7284 Fixed actual_main to correctly return 0 on success and made
-shadow_quality imply -enable_shadows.
2016-08-05 18:10:16 +01:00
Fabian Woltermann e470d2959e Fixes a mismatched flag type error in multiteamselect. 2016-08-05 19:08:31 +02:00
asarium bc304bddfc Fix compilation of cfile(archiver|extractor) 2016-08-05 18:40:52 +02:00
Fabian Woltermann 0a0a1db421 Merge pull request #742 from asarium/fix/beamPiercingEffect
Fix variable for piercing beam particle effect
2016-08-05 18:32:48 +02:00
Fabian Woltermann dffb0c7c1d Merge pull request #746 from asarium/coverity/1320536
Fix wrong argument order in multiple functions
2016-08-05 18:32:30 +02:00
Fabian Woltermann 6dacfd8ffb Merge pull request #745 from asarium/coverity/1093292
Fix for Coverity 1093292
2016-08-05 18:32:16 +02:00
Fabian Woltermann ab17ccd424 Merge pull request #743 from asarium/fix/fredSDLMain
Call SDL_SetMainReady() in fred_init
2016-08-05 18:31:56 +02:00
asarium b408ca72f3 Fix for Coverity 1360947 2016-08-05 18:25:59 +02:00
asarium 7435d7a703 Fix for Coverity 1320538 2016-08-05 17:53:47 +02:00
asarium fa60c666bc Fix for Coverity 1320537 2016-08-05 17:50:49 +02:00
asarium 04d494e1a4 Fix for Coverity 1320536
Apparently someone mixed up left and right...
2016-08-05 17:49:01 +02:00
asarium 7e3b30f5bf Fix for Coverity 1093296 2016-08-05 17:38:57 +02:00
asarium e4783b3d34 Fix for Coverity 1093295 2016-08-05 17:37:52 +02:00
asarium 8ee84a05c0 Fix for Coverity 1093294 2016-08-05 17:35:35 +02:00
asarium 6899b1680d Fix for Coverity 1093293 2016-08-05 17:33:16 +02:00
asarium 1cfbc8859e Fix for Coverity 1093292
"Unchecked return value from library". The function can't return an
error value so I added a ml_printf (which is used at another place for
error logging as well) to log the error.
2016-08-05 17:28:44 +02:00
asarium 9a10a78ed3 Fix variable for piercing beam particle effect 2016-08-05 10:54:00 +02:00
Fabian Woltermann bd7a691b8e Merge pull request #722 from z64555/cleanup/fred
Cleanup/fred
2016-08-05 10:30:47 +02:00
asarium 6e9ce021cc Call SDL_SetMainReady() in fred_init 2016-08-05 09:58:30 +02:00
z64555 17a6896e1d Merge branch 'master' into cleanup/fred
Conflicts:
	fred2/fred.cpp
	fred2/fredrender.cpp
2016-08-04 19:18:16 -05:00
z64555 d46b17606d Fix linking with the Freespace project 2016-08-04 13:54:38 -05:00
Fabian Woltermann a570eca073 Merge pull request #739 from asarium/cmakeMerge/particlesystems
Add a new particle effect system
2016-08-04 12:46:33 +02:00
Fabian Woltermann c7f3097f7d Merge pull request #731 from asarium/fix/standaloneAssert
Fix Assertion when running in standalone mode
2016-08-04 11:28:30 +02:00
Fabian Woltermann e8954c4297 Merge pull request #733 from asarium/fix/openglVersion
Actually enforce the OpenGL 2.0 requirement
2016-08-04 11:28:07 +02: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
m!m 91b1d294ec Merge pull request #738 from MageKing17/coverity/1360951
Remove duplicate fclose() call (fix Coverity defect 1360951)
2016-08-03 23:26:32 +02:00
Fabian Woltermann eb164b3ff8 Merge pull request #737 from X3N0-Life-Form/lua_iff
Expose IFF to lua
2016-08-03 22:36:55 +02:00
MageKing17 4b634327e1 Remove duplicate fclose() call (fix Coverity defect 1360951)
It looks like this was added to trunk (a0f31e6), synced with antipodes (4952b70), and then one of the antipodes merges (7e77b5a) wound up combining both additions.
2016-08-03 13:28:29 -07:00
X3N0-Life-Form 625ea48d9e Expose IFF to lua
Adds the 'attacks' function to the 'team' lua type, which exposes the iff_x_attacks_y function to the lua engine.
2016-08-03 21:27:19 +02:00
Fabian Woltermann 0afe5ba8bd Merge pull request #730 from asarium/feature/openGLDebug
Use an OpenGL debug context and debug extensions
2016-08-03 11:47:49 +02:00
Fabian Woltermann 1783df6b5f Merge pull request #728 from asarium/fix/reallocCrash
Fix segfault when calling realloc
2016-08-03 11:47:30 +02:00
Fabian Woltermann 34d88d9d99 Merge pull request #735 from asarium/fix/axemFonts
Fix some font scripting bugs reported by Axem
2016-08-03 11:44:55 +02:00
Fabian Woltermann 8a9c9fb999 Merge pull request #734 from asarium/fix/luaConst
Fix const correctness in lua.cpp/.h
2016-08-03 11:28:27 +02:00
asarium 5d14899808 Fix const correctness in lua.cpp/.h 2016-08-03 10:53:23 +02:00
asarium acab2d2c46 Fix campaign list spacing 2016-08-03 10:41:09 +02:00
asarium 63f7f04502 Add error message for wrong font index 2016-08-03 10:27:22 +02:00
asarium 026564b973 Actually enforce the OpenGL 2.0 requirement 2016-08-03 09:53:51 +02:00
z64555 33ae17f00b Merge pull request #671 from asarium/feature/joystickAPI
Add improved joystick API
2016-08-03 02:21:43 -05:00
Fabian Woltermann d9a45d8dc0 Merge pull request #729 from asarium/fix/luaFontIndex
Fix off-by-one error in Lua font API
2016-08-02 23:27:38 +02:00
asarium 1679d81efa Fix Assertion when running in standalone mode
The Assertion which was triggered was carried over from the OpenGL code
but the stub code was using pretty much the same code so removing the
Assertion seems like the correct way to solve this.
2016-08-02 23:04:35 +02:00
asarium 0b5aed3e11 Use an OpenGL debug context and debug extensions
This instructs SDL to create an OpenGL debug context when a debug build
is used. Additionally it uses GL_ARB_debug_output if it's available to
provide OpenGL debug output.
2016-08-02 20:24:50 +02:00
asarium f91c681ee1 Add improved joystick API
This API allows to handle events from multiple joysticks but currently
only the events from the configured joystick are used.
2016-08-02 20:08:21 +02:00
asarium 3a63dc3800 Fix segfault when calling realloc 2016-08-02 20:00:35 +02:00
asarium 2e90049eba Fix off-by-one error in Lua font API 2016-08-02 19:39:13 +02:00
Cliff Gordon b92be0b5da Merge pull request #727 from asarium/fix/freebsd
LGTM, shouldn't even affect any other build platforms.
2016-08-02 12:38:05 -05:00
Cliff Gordon dae5c58b98 Merge pull request #723 from asarium/fix/configCase
Well, running dos2unix on it didn't create any local changes, so it looks to be entirely unix line endings now, as it should be.  LGTM.
2016-08-02 12:28:00 -05:00
asarium 1f4e40757d Fix build on FreeBSD 2016-08-02 19:10:51 +02:00
Fabian Woltermann dfc10ad8db Merge pull request #725 from asarium/fix/fontOptions
Fix code that was overwritten by TTF merge
2016-08-02 14:54:58 +02:00
asarium bb503de698 Fix code that was overwritten by TTF merge 2016-08-02 12:34:55 +02:00
Fabian Woltermann f3f4560824 Merge pull request #724 from asarium/cleanup/directx
Remove last remains of DirectX
2016-08-02 12:18:14 +02:00
Fabian Woltermann 9bfc0be819 Merge pull request #696 from asarium/cmakeMerge/memory
Add new memory tracking subsystem
2016-08-02 12:17:56 +02:00
Fabian Woltermann 36f08ca62b Merge pull request #715 from asarium/fix/fredCwd
Use the current working directory for FRED
2016-08-02 12:16:45 +02:00
Fabian Woltermann b4db345e5e Merge pull request #692 from asarium/test/ttf-3
TrueType support
2016-08-02 12:16:23 +02:00
Fabian Woltermann 2cfd82b182 Merge pull request #720 from MageKing17/cleanup/update-sdl2-to-custom-libsdl
Update included SDL2.dll files to ones compiled from our custom libsdl.
2016-08-02 12:15:51 +02:00
z64555 0c90a75900 Cleanup missionsave.h and .cpp 2016-08-02 04:24:18 -05:00
z64555 060c090827 Doxy and organize wing.h and .cpp. Probably needs a bit more cleanup. 2016-08-02 04:23:04 -05:00
z64555 a57483ffad Cleanup of mainfrm.h and .cpp 2016-08-02 04:23:02 -05:00
z64555 581e6320e1 Cleanup grid.h and .cpp 2016-08-02 04:21:56 -05:00
z64555 35dc235599 Cleanup of fredrender.h and .cpp. 2016-08-02 04:21:54 -05:00
z64555 fddbbf47bd Remove unused Preferences dialog and related variables. 2016-08-02 04:21:52 -05:00
z64555 1c4eb25e84 Cleanup freddoc.h and .cpp 2016-08-02 04:21:24 -05:00
z64555 ed3c9f1621 Cleanup of fred.h and fred.cpp 2016-08-02 04:21:22 -05:00
z64555 f836d5e002 Some header wrangling 2016-08-02 04:21:20 -05:00
z64555 2829eb5e35 Remove editor.h 2016-08-02 04:21:18 -05:00
z64555 c062a071fb Cleanup and doxy a few dialogs 2016-08-02 04:19:39 -05:00
asarium a4302fde2f Remove last remains of DirectX 2016-08-02 11:10:24 +02:00
asarium 16be3b7cc5 Add support for TrueType fonts
This allows to use standard TrueType Fonts for text rendering in FSO. It uses the NanoVG library which provides the ability of drawing 2D shapes. This library is used for most 2D operations now and can also be used directly by using the PathRenderer class.
2016-08-02 10:57:28 +02:00
asarium 9630b595e0 Make config key check case-insensitive
Fix for #719.
2016-08-02 10:39:04 +02:00
MageKing17 0d8e09f136 Merge pull request #716 from asarium/fix/fredErrorPrinting
Clean up FRED init a bit
2016-08-02 01:32:51 -07:00
m!m 44c7155f34 Merge pull request #718 from chief1983/speech_debugging
Speech Debugging
2016-08-02 10:31:00 +02:00
m!m 6a12b90df5 Merge pull request #721 from MageKing17/cleanup/remove-old-def_files
Remove old def_files.cpp file and clean up some redundant imports.
2016-08-02 10:29:16 +02:00
Cliff 8f58fa88c1 Add some debugging to the speech code for troubleshooting future issues, under the Speech filter. 2016-08-01 22:12:45 -05:00
MageKing17 dd4af145bf Remove old def_files.cpp file and clean up some redundant imports.
The CMake merge changed the default files system to include individual files instead of use a bunch of hardcoded strings, but the old file got left behind for some reason. Also, the same merge added some spurious extra imports of def_files.h which I removed at the same time (although if somebody wanted to go through and clean up all of our imports again, it'd probably be a good time for it).
2016-08-01 14:20:24 -07:00
MageKing17 253987dfb3 Update included SDL2.dll files to ones compiled from our custom libsdl. 2016-08-01 14:11:20 -07:00
SamuelCho 9a91e6041c Merge pull request #714 from The-E/fxaa-fix2
Moves the FXAA pass to after the tonemapping step
2016-08-01 10:23:01 -07:00
asarium 18154bfa60 Clean up FRED init a bit
Maybe this will help tracking down that FRED OpenGL issue
2016-08-01 19:10:51 +02:00
asarium 28f9fafa84 Use the current working directory for FRED
This allows to run the executable in a different directory. This is very
useful for debugging from within Visual Studio.
2016-08-01 18:38:21 +02:00
Fabian Woltermann e3d4cc1bc7 _actually_ move the fxaa pass 2016-08-01 11:54:00 +02:00
Fabian Woltermann 2b333fc299 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into fxaa-fix2
Conflicts:
	code/graphics/gropenglpostprocessing.cpp
2016-08-01 11:48:58 +02:00
Fabian Woltermann 97c7ad43ce Moves the FXAA pass to after the tonemapping step, as recommended in the FXAA documentation 2016-08-01 11:46:45 +02:00
Fabian Woltermann 6a76b99083 Merge pull request #713 from SamuelCho/fxaa_fix
Make sure we can write to the alpha channel before doing the FXAA luminance prepass
2016-08-01 11:43:55 +02:00
SamuelCho c049c64c00 Make sure we can write to the alpha channel before doing the FXAA luminance prepass. 2016-07-31 21:04:04 -07:00
MageKing17 feb49eae9f Merge pull request #710 from asarium/fix/nestedModFolder
Fix directory creation for nested mod folders.
2016-07-30 16:05:48 -07:00
asarium 7cf42b6811 Fix directory creation for nested mod folders.
The launcher passes the mod folders as relative paths using / as the
directory separator. That path is copied into the cf_root path and when
cf_create_directory tries to create the directory, mkdir_recursive can't
handle the / in the path and tries to create two path elements at once
which is not supported by mkdir.

These changes fix that by converting mod paths to the native format
(from the / format, so it's a No-op on Unix) before using it in
cf_create_root().
2016-07-30 21:53:15 +02:00
Fabian Woltermann 42a217d48a Merge pull request #706 from asarium/cmake_/gcc-leak-check
Add option for -fsanitize=leak on GCC
2016-07-30 08:41:54 +02:00
MageKing17 24ccb7c8ff Merge pull request #707 from asarium/fix/memleak_modelinterp
Fix memory leak in modelinterp.cpp
2016-07-29 10:40:51 -07:00
m!m e3e0eae93e Merge pull request #702 from The-E/fb_thruster_adjustments
Adds a commandline switch analoguous to framebuffer shockwaves to enable the distortion effect for thrusters
2016-07-29 14:39:32 +02:00
asarium d0bfc47e59 Fix memory leak in modelinterp.cpp
bsp_info.outline_buffer was allocated but not freed when unloading the
model.
2016-07-29 12:30:21 +02:00
asarium 31712e0c48 Add option for -fsanitize=leak on GCC 2016-07-29 12:00:33 +02:00
asarium 7b352e511c Add new memory tracking subsystem
This expands the existing system which only worked on Windows to all
supported platforms.

If the MSVC debug runtime is not present then its behavior is emulated
by adding a header to each allocated memory block.
2016-07-29 11:02:45 +02:00
m!m 0819d57fd5 Merge pull request #705 from rtoijala/fix-lua51-search
Add lua51 as a possible pkg-config name
2016-07-29 10:28:00 +02:00
Fabian Woltermann d709ac3732 Merge pull request #697 from asarium/cmake_/platformChecks
Use CMake for determining if a specific header is available
2016-07-29 10:04:29 +02:00
Fabian Woltermann f30e8a3141 Merge pull request #704 from asarium/fix/cmakeConfig
Fix default CMake configuration
2016-07-29 10:04:07 +02:00
Risto Toijala baa2f9f5d7 Add lua51 as a possible pkg-config name
Basically the same as PR #628 but for CMake this time.
2016-07-29 11:00:00 +03:00
asarium 3b4e258f32 Fix default CMake configuration 2016-07-28 23:10:02 +02:00
Fabian Woltermann 624c5842c0 Merge pull request #703 from asarium/fix/submodules
Add CMake error if external modules could not be found
2016-07-28 22:36:28 +02:00
asarium 465d95dd7f Add CMake error if external modules could not be found 2016-07-28 21:16:35 +02:00
MageKing17 850824cd3c Merge pull request #701 from scp-fs2open/lab_weapon_thruster_fix
Fixes issue when rendering thrusters on weapon models
2016-07-28 12:01:51 -07:00
Fabian Woltermann 53222e66e3 Adds a commandline switch analoguous to framebuffer shockwaves to enable the distortion effect for thrusters 2016-07-28 20:22:49 +02:00
Fabian Woltermann 9f0897d916 Fixes issue when rendering thrusters on weapon models 2016-07-28 20:04:40 +02:00
Fabian Woltermann c0e67c44e8 Merge pull request #699 from asarium/ci/vsversionUpdate
Update tested visual studio versions
2016-07-28 11:36:24 +02:00
MageKing17 b40631e268 Merge pull request #698 from asarium/fix/portableMode
Expose portable mode in launcher
2016-07-28 02:17:03 -07:00
asarium 4edd6fd5a9 Update tested visual studio versions 2016-07-28 11:09:39 +02:00
asarium 690d293d9a Expose portable mode in launcher 2016-07-28 10:17:20 +02:00
Fabian Woltermann 4c53d46aec Merge pull request #695 from asarium/cmake_/appimage
Add AppImage support for nightly builds
2016-07-27 23:21:05 +02:00
asarium 06768e72d4 Use Platform checks for determining if a header is available 2016-07-27 22:24:28 +02:00
asarium 5826b880fb Add AppImage support 2016-07-27 20:53:40 +02:00
Fabian Woltermann 6646bf3002 Merge pull request #694 from asarium/fix/nightly
Fix AppVeyor Bintray config
2016-07-27 19:26:56 +02:00
asarium ea77b6fc7e Fix AppVeyor Bintray config 2016-07-27 19:24:35 +02:00
Fabian Woltermann aec35e4aba Merge pull request #693 from asarium/fix/nightly
Fix nightly BinTray user
2016-07-27 18:49:20 +02:00
asarium 676bc68beb Fix nightly BinTray user 2016-07-27 18:47:02 +02:00
Fabian Woltermann fc2a3e2869 Merge pull request #691 from asarium/fix/secureVars
Update secure variables for the main repo
2016-07-27 18:15:49 +02:00
asarium 983f1f386d Update AppVeyor variables 2016-07-27 16:12:09 +02:00
Fabian Woltermann a1582c7619 Merge pull request #690 from asarium/fix/Readme
Update readme
2016-07-27 16:03:28 +02:00
Fabian Woltermann 4a1c7ad37b Merge pull request #689 from asarium/cmake_/binarySourceDir
Don't allow binary and source directory to be the same
2016-07-27 16:03:01 +02:00
asarium b02270a6eb Update secure variables for the main repo 2016-07-27 15:57:36 +02:00
asarium 65bc829ffc Update readme 2016-07-27 15:46:04 +02:00
asarium c51d7e5676 Don't allow binary and source directory to be the same 2016-07-27 15:43:51 +02:00
Fabian Woltermann a3c674b1f1 Merge pull request #680 from asarium/cmake_/pr
Move build system to CMake
2016-07-27 15:23:16 +02:00
asarium 0af3a04140 Don't link the speech lib
It's not needed, we just need the header.
2016-07-26 22:30:57 +02:00
asarium 8a883eb3a0 Disable speech building on MSVC2010 2016-07-26 22:24:06 +02:00
asarium 3e0f1a8501 Turn FRED warning into status message 2016-07-26 22:18:18 +02:00
asarium 4d25eabcf6 Enable FRED2 by default
If MFC could not be found then it's disabled without causing an error.
2016-07-26 22:16:13 +02:00
Fabian Woltermann 4b2c2d6ef2 Fix for cf_create_directory (#687)
Changes cf_create_directory so that it can actually do what its comment says it does, namely create directories recursively.
2016-07-24 09:24:59 -07:00
asarium 33141220c0 If supported set the Freespace2 as the default project 2016-07-23 22:24:50 +02:00
m!m 3e1cd6c02f Merge pull request #686 from The-E/screenshot_fix
Fixes issue with the screenshot code where the screenshot directory w…
2016-07-23 12:05:07 +02:00
Fabian 72c2d7af38 Fixes issue with the screenshot code where the screenshot directory was not created if necessary. 2016-07-23 10:00:38 +02:00
asarium 29d180d3a7 Fix build naming 2016-07-22 22:22:11 +02:00
Fabian Woltermann 959226e087 Merge pull request #683 from MageKing17/cleanup/weapon-objects
Various cleanup related to weapon objects.
2016-07-22 14:13:42 +02:00
asarium 26ed09d5b3 Fix revision in version 2016-07-22 12:10:05 +02:00
asarium 1bcd5400d3 Move build system to CMake 2016-07-22 12:07:19 +02:00
MageKing17 92e4b5b259 Merge pull request #684 from DahBlount/share_fire_dir_update
Avoid setting flags when using the share fire direction flag
2016-07-21 19:30:39 -07:00
DahBlount 8201f0ef1c Avoid setting flags when using the share fire direction flag
Originally, "share fire dir" forced the "salvo mode" flag. This
interfered with the "use multiple guns" flag. In order to avoid this, I
instead made "share fire dir" if either "salvo mode" or "use multiple
guns" is not found, as those are the only two flags that, coupled with
"share fire dir" give the desired results.
2016-07-21 17:44:08 -06:00
MageKing17 df1d84fe6e Greatly simplify scoring for weapon kills.
Bombs can give points for being shot down. This was being handled by a full-blown pair of damage_ship/damage_ship_id arrays, just like ships have for scoring purposes. This is ridiculous overkill when most bombs are shot down with a single pull of the trigger and means we were storing a couple hundred bytes of data that would be completely unused for the vast majority of projectiles. Now, whoever shoots down a bomb gets the points for it; period. Simple, and we can remove all scoring data from the weapon struct.
2016-07-21 14:44:24 -07:00
MageKing17 9b2e83ed3b Minor cleanup of weapon/weapon collision code.
Lots of references to Weapons[A->instance] and Weapons[B->instance], despite having created pointers for them earlier in the function. Also, I have no idea what was up with the override conditional.
2016-07-21 14:44:24 -07:00
MageKing17 f7591078b9 Change collisionInfo from an mc_info object to an mc_info* pointer.
This seems preferable to storing an entire mc_info object on every weapon, when the vast majority of projectiles (by the very nature of the fact that they still exist) won't have collided with anything.

On the other hand, I'm not wild about allocating and freeing memory every time a weapon collides with a ship or debris. If anyone has a better solution, I'm all ears.
2016-07-21 14:44:24 -07:00
Fabian Woltermann 9a6e939f3d Merge pull request #682 from MageKing17/cleanup/gun-convergence
Remove redundant code branch in gun convergence code.
2016-07-21 22:53:32 +02:00
MageKing17 eb6b77dba0 Remove redundant code branch in gun convergence code.
"If a or b else a" should never ever execute the "else a" branch; this appears to be an artifact left over from Wanderer's reorganization of the autoaim/convergence code in 7bb10d8, before which standard convergence and automatic convergence were handled in separate conditionals.
2016-07-21 12:28:25 -07:00
niffiwan c3c66c9be3 Merge pull request #677 from MageKing17/cleanup/gropengl-error-checking
Add some error checking to gropenl.cpp.
2016-07-21 19:19:21 +10:00
niffiwan a63ffa65ce Merge pull request #678 from MageKing17/bugfix/ship-tbm-countermeasure-fix
Make modular ship tables not reset to species countermeasures.
2016-07-21 19:18:06 +10:00
Fabian Woltermann 7176c6cba2 Merge pull request #681 from asarium/fix/stlport
Remove STLPort
2016-07-21 10:43:57 +02:00
asarium 8b3768ba71 Remove STLPort 2016-07-21 10:15:03 +02:00
Fabian Woltermann d021e38f22 Merge pull request #679 from MageKing17/fred/dedicated-gpu
Make FRED use high-performance GPU by default.
2016-07-21 06:14:41 +02:00
MageKing17 7cc7973c23 Make FRED use high-performance GPU by default.
Literally a copy-paste of the code added by PR #119 from freespace.cpp to fred.cpp.
2016-07-20 12:54:49 -07:00
MageKing17 6d0b3925f0 Make modular ship tables not reset to species countermeasures.
If a modular ship table modifies a ship entry without specifying a "$Countermeasure type:" entry, and the species has a "$Countermeasure type:" entry, FSO would reset the ship's countermeasure type to match the species default, even if we weren't defining the class for the first time. This just adds a first_time check to the else branch to avoid that.
2016-07-20 11:45:41 -07:00
MageKing17 8df65dc3e5 Add some error checking to gropenl.cpp.
The first sign of a problem creating the OpenGL context for FRED should not be failing an assertion when trying to call sscanf() on the OpenGL version. I added a check that will report an error much sooner (as soon as SDL_GL_CreateContext() fails), threw some OpenGL error-checking around the glGetString(GL_VERSION) call to be on the safe side, and slapped an Assertion() in there for good measure.

Also there was a \n missing from the mprintf() call if window creation failed.
2016-07-20 11:11:13 -07:00
Fabian Woltermann 357cc882da Merge pull request #676 from asarium/fix/msvcWarnings
Fix Visual Studio warnings
2016-07-20 18:49:06 +02:00
asarium 8b8c370995 Fix GCC/Clang warning 2016-07-20 14:31:27 +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
m!m aa169af2c0 Merge pull request #675 from MageKing17/cleanup/gitignore-vc-db-files
Add *.VC.db and *.VC.VC.opendb to .gitignore file.
2016-07-19 19:50:01 +02:00
MageKing17 3cd6e3ce6b Add *.VC.db and *.VC.VC.opendb to .gitignore file.
These are created by VS 2015 (as of update 2) and should be ignored like other local Visual Studio files. *.VC.db is a new format for the IntelliSense database (replacing *.sdf used by previous versions), and *.VC.VC.opendb is a lockfile indicating the database is in use.
2016-07-19 09:05:17 -07:00
m!m 3d5682ae7e Merge pull request #673 from MageKing17/appveyor/version-3-7-5
Get rid of AppVeyor version number.
2016-07-19 12:10:27 +02:00
m!m 8b3fb148eb Merge pull request #672 from MageKing17/bugfix/force-feedback
Fix a couple force feedback issues.
2016-07-19 12:09:47 +02:00
MageKing17 20d3410398 Get rid of AppVeyor version number.
FSO hasn't been on 3.7.3 for a while, now, and the version number is pretty irrelevant to CI in the first place.
2016-07-18 12:25:25 -07:00
MageKing17 ab23830778 Correct haptic effect for docking.
SDL_HAPTIC_SQUARE was removed immediately before the SDL 2.0.0 release and replaced with SDL_HAPTIC_LEFTRIGHT, due to running out of bits. SDL_HAPTIC_SQUARE is a periodic effect. SDL_HAPTIC_LEFTRIGHT is for controller rumble. Just because the latter replaced the former doesn't mean they're equivalent (and in fact they are completely different, which results in a malformed effect that won't work right, if at all). As a result, I've replaced the effect with SDL_HAPTIC_SINE, since a sine wave is the closest periodic effect to a square wave. This allows the effect to actually work, although not in exactly the same way as it would if it were actually a square wave (SDL 2.1 is supposed to contain SDL_HAPTIC_SQUARE again and presumably the effect can be changed back to a square wave whenever that happens).
2016-07-18 11:14:31 -07:00
MageKing17 19b5ee97f7 Allow force feedback to work again.
It turns out that SDL_HapticOpenFromJoystick() is currently bugged (I found the SDL bugzilla bug for it). SDL_HapticOpen() allows force feedback to work, with the caveat that it operates on indices and so anyone with multiple force feedback devices won't get the one matching their selected joystick. The only other alternatives are to add our own code to match the haptic device to the currently-selected joystick, to add a haptic device selector to the launcher, or to distribute a custom version of SDL that fixes SDL_HapticOpenFromJoystick(). This is the lowest-effort change (which can and should be reverted if SDL releases a new version that fixes it).
2016-07-18 11:07:10 -07:00
MageKing17 19181b016c Merge pull request #670 from asarium/fix/joystickEvents
Fix joystick axis events being ignored.
2016-07-18 09:28:32 -07:00
MageKing17 343bee1eed Merge pull request #669 from asarium/fix/joystickID
Only process events from the right joystick
2016-07-18 09:28:28 -07:00
asarium 9a1b143308 Fix joystick axis events being ignored. 2016-07-18 18:09:12 +02:00
asarium d8e3b382fc Only process events from the right joystick
The axis handler already checked if the right joystick was used but the
button and hat handlers didn't.
2016-07-18 14:06:14 +02:00
MageKing17 e1042da9ae Merge pull request #668 from SamuelCho/aabitmap_alpha_channel_fix
Remove alpha channel check in opengl_aabitmap_ex_internal
2016-07-17 20:05:35 -07:00
SamuelCho 426a25e35e Remove alpha channel check in opengl_aabitmap_ex_internal since it's breaking 32-bit aabitmaps. 2016-07-17 19:34:51 -07:00
MageKing17 d089fd2282 Merge pull request #667 from asarium/feature/onlyMainWindowEvents
Only process events that belong to the main window
2016-07-17 10:26:28 -07:00
MageKing17 f1c62b4948 Merge pull request #666 from niffiwan/fix/apng_endbyframes2
End apngs by frame count as well as time
2016-07-17 10:25:19 -07:00
asarium 0e653bfb78 Add documentation 2016-07-17 18:27:54 +02:00
asarium 05dda73ecd Only process events that belong to the main window
SDL2 support multiple windows and differentiates the events for the
individual windows using the windowID field in the events. These changes
check if that window ID belongs to our main window and ignores any
events that don't belong to it. This allows to add another window
without screwing up the rest of FSO with its input.
2016-07-17 18:20:56 +02:00
niffiwan 4bd9c45d1d End apngs by frame count as well as time
Choose that if a system is too slow to compose & render apngs fast
enough, play the anim until the last frame anyway, potentially messing
up time sync between frames, but at least don't have looped anims
stuttering as they skip back to the 1st frame from some non-end frame.

Most modern-ish systems won't see this issue unless there's lots of
apngs playing at the same time...
2016-07-17 13:48:49 +10:00
MageKing17 88f51f2f0a Merge pull request #665 from The-E/monopub_removal
Bad reference removal
2016-07-16 12:25:02 -07:00
Fabian 1ea313c445 Removes references to monopub.h (removed in the AP merge) from the project files that still reference it 2016-07-16 21:11:14 +02:00
Fabian Woltermann 2eab9514a9 Merge pull request #663 from asarium/feature/exitOnSdlQuit
Quit game when receiving SDL_QUIT event
2016-07-16 17:09:18 +02:00
Fabian Woltermann fd0229e44f Merge pull request #664 from asarium/feature/unresponsive
Ignore all OS events when loading a mission
2016-07-16 17:09:08 +02:00
asarium 9f9809be5d Ignore all OS events when loading a mission
This should fix the "Application unresponsive" errors.
2016-07-16 16:23:30 +02:00
asarium 8db274ee7f Quit game when receiving SDL_QUIT event
This allows FSO to exit gracefully when receiving a SIGINT or SIGTERM
2016-07-16 15:48:22 +02:00
Fabian Woltermann 14dad6eceb Merge pull request #662 from asarium/feature/eventListeners
Add API for registering custom event handler
2016-07-16 15:43:17 +02:00
asarium 0751a7ab0f Use a vector instead of unordered_map 2016-07-16 15:18:30 +02:00
asarium 54381c2762 Fix typo 2016-07-16 15:18:30 +02:00
asarium afef5a7309 Add API for registering custom event handler
May be useful for future text input or scripting implementations
2016-07-16 15:18:30 +02:00
m!m 5a0bfffc75 Merge pull request #661 from scp-fs2open/antipodes
SDL Everywhere Master Edition
2016-07-16 14:15:48 +02:00
Fabian Woltermann bbaf78ad76 Merge pull request #660 from asarium/antipodes_/sync
Sync Antipodes
2016-07-16 13:59:09 +02:00
asarium aa639881aa Merge branch 'master' into antipodes_/sync 2016-07-16 13:48:12 +02:00
Fabian Woltermann d28be156d9 Merge pull request #659 from SamuelCho/monochrome_gamma_correction
Fix gamma correction for colors sourced outside of textures
2016-07-14 09:58:33 +02:00
SamuelCho e620ffbb65 Make sure we gamma correct colors coming from the GL color state or the color verts. 2016-07-13 23:58:57 -07:00
Fabian Woltermann c4ce653431 Merge pull request #658 from SamuelCho/neb_nohtl_removal_fix
Fixed nebula missions from breaking scene render targets following the nohtl removal.
2016-07-13 12:44:59 +02:00
SamuelCho ac46ee4030 Fixed nebula missions from breaking scene render targets following the nohtl removal. 2016-07-12 23:36:05 -07:00
MageKing17 10d6c48abc Merge pull request #656 from The-E/make_beams_bright_again
Make beams and warps bright again
2016-07-12 13:36:16 -07:00
Fabian Woltermann 5fca2355b9 Adds TMAP_FLAG_EMISSIVE for the 2D warp effect, and ups the scaling applied to textures with that flag from 1.5 to 2.0 to better approximate the brightness beams used to have.
Also sets a glow texture for the 3D warp effect.
2016-07-12 21:51:39 +02:00
SamuelCho e3ad7d213a Merge pull request #655 from niffiwan/fix/delete_spurious_file
Delete spurious temp file
2016-07-11 00:18:25 -07:00
niffiwan 5b332c4400 Delete spurious temp file
From #654
2016-07-11 17:10:08 +10:00
m!m d98f6f1bb1 Merge pull request #654 from SamuelCho/remove_unused_gfx_code
Strip out unused rendering code.
2016-07-11 09:07:45 +02:00
SamuelCho 701ae8f3b5 Removed unused variables following the rendering code removal. 2016-07-10 21:29:47 -07:00
SamuelCho 1ef7688fa1 Strip out unused rendering code. 2016-07-10 19:29:11 -07:00
z64555 fcc40b4812 Merge pull request #648 from The-E/nohtl_removal_fix
Fixes a small issue in the nohtl removal commit.
2016-07-09 18:30:19 -05:00
Fabian Woltermann ef33ee490d Fixes a small issue in the nohtl removal commit. In this case, the original line "if (!Cmdline_nohtl || (s <= 0.0f))" was replaced by "if (s <= 0.0f)", which unfortunately is not the intended behaviour here. 2016-07-10 00:53:12 +02:00
Fabian Woltermann 1469ba20ca Merge pull request #646 from niffiwan/fix/apng_optional_caching
Allow apng's to not be cached
2016-07-09 13:05:42 +02:00
niffiwan 8162abc256 Allow apng's to not be cached
Main use case is headanis where only one is played at a time and
caching the frames merely increases memory use & fragmentation, leading
to malloc errors with heavy apng use
2016-07-09 20:04:16 +10:00
Fabian Woltermann 0b98320841 Merge pull request #644 from chief1983/antipodes_/sdl204
Upgrade Mac Frameworks.tgz and the libsdl folder to SDL 2.0.4.
2016-07-09 08:10:30 +02:00
MageKing17 011368dff5 Merge pull request #645 from MageKing17/feature/remove-subsystem-limit
Remove subsystem limit.
2016-07-08 23:08:25 -07:00
MageKing17 241c0eaa95 Remove subsystem limit.
Allows support for as many subsystems as available memory allows by replacing the Ship_subsystems[] pointer array with a pointer vector. It still just contains pointers to dynamically-allocated subsystem arrays (allocated in blocks of NUM_SHIP_SUBSYSTEMS_PER_SET), so this should behave almost identically to the current code.
2016-07-08 15:06:58 -07:00
Cliff 7424c41f3f Remove the mac i386 builds from the build matrix too. 2016-07-08 15:44:46 -05:00
SamuelCho 98e56ea3e3 Merge pull request #598 from asarium/cleanup/graphics
Remove unused graphics functions
2016-07-08 13:12:47 -07:00
chief1983 ae8e3c3145 Upgrade Mac Frameworks.tgz and the libsdl folder to SDL 2.0.4. Remove Only Active Archs setting from Travis configuration to see if that's enough to get it to only build x64 now. 2016-07-08 14:46:55 -05:00
Fabian Woltermann 8ff201fddb Merge pull request #641 from MageKing17/cleanup/deprecate-nohtl-and-brief-lighting
Deprecate -nohtl and -brief_lighting.
2016-07-08 21:32:07 +02:00
MageKing17 70529dbd5a Deprecate -nohtl and -brief_lighting.
-nohtl hasn't worked for years, and -brief_lighting was always supposed to be a temporary flag before making the behavior always on.
2016-07-08 09:39:29 -07:00
Fabian Woltermann bcb072a146 Merge pull request #636 from asarium/antipodes_/sync
Sync Antipodes
2016-07-07 11:35:38 +02:00
Fabian Woltermann 876663ffdc Merge pull request #642 from SamuelCho/mac_pbr_lod_fix
Fix for the PBR shader compilation error on Mac
2016-07-07 11:34:36 +02:00
Samuel Cho a43bb9ad37 OpenGL 2.1 spec doesn't support texture LOD lookups in the fragment shader unless we use GL_ARB_shader_texture_lod. Should allow PBR to work on Mac now. 2016-07-07 00:13:39 -07:00
asarium 2b5fd5e7ec Merge branch 'master' into antipodes_/sync 2016-07-06 18:46:11 +02:00
m!m 8478f47d9e Merge pull request #9 from chief1983/mysync
Undo some merge conflict clobbering in Xcode project
2016-07-06 18:25:42 +02:00
chief1983 9825d62694 Nevermind, we don't need universal support after all, we target 10.7 and 10.6 was the last 32-bit supporting OS. 2016-07-06 10:25:45 -05:00
Fabian Woltermann 7516ce039e Merge pull request #640 from SamuelCho/physically_based_rendering
Physically based rendering
2016-07-06 14:01:32 +02:00
SamuelCho 75c16008c6 This function should always return the number of mip map levels. 2016-07-05 23:15:11 -07:00
SamuelCho f5a96c33be Some explanation for why we need OGL_EXT_FRAMEBUFFER_OBJECT to use glGenerateMipmap() 2016-07-05 23:15:10 -07:00
SamuelCho bbab2f2b1e Fix blending of particles dependant on if texture map has an alpha channel. 2016-07-05 23:15:10 -07:00
SamuelCho bbae9d5242 Don't replace RGB channels of texture in the passthrough shader if it has an alpha channel when using gr_aabitmap_ex 2016-07-05 23:15:09 -07:00
SamuelCho 12edc6a53b Fixed constant alpha not being applied to the texture map. 2016-07-05 23:15:09 -07:00
SamuelCho dd73d8fb63 New lighting model based off of Blinn-Phong and Fresnel-Shlick. Introduced -reflect maps. New gloss parameters for specular power. High dynamic range rendering. Improved bloom pass. 2016-07-05 23:15:08 -07:00
chief1983 c1d074d5d0 One last fix, actually fixes running the game now. 2016-07-06 00:35:13 -05:00
MageKing17 539704d55a Merge pull request #639 from jg18/ping_color_fix
Fix text color of ping values in server list.
2016-07-05 21:14:11 -07:00
chief1983 824e6bd817 Undo some merge clobbering. 2016-07-05 22:44:35 -05:00
jg18 b4a764e6cd Fix text color of ping values in server list.
Update ping color value ranges to be more realistic. Also add orange as a
ping value text color.
2016-07-05 20:20:32 -07:00
asarium 256503cd08 Use better Frameworks file 2016-07-05 20:58:50 +02:00
asarium a6df7eef35 Merge branch 'master' into antipodes_/sync
The APNG changes required some additional work. A cursor now owns the
bitmap handle that will be used for the cursor. This is required in
order to support variable FPS cursors.
2016-07-05 12:09:22 +02:00
niffiwan 74b1cdbfc5 Merge pull request #637 from asarium/ci/macosxErrorLog
Upload the MacOSX build log to pastebin if the build fails
2016-07-05 18:54:26 +10:00
asarium c10338480a Fix Windows compile 2016-07-05 10:10:53 +02:00
m!m 0af0064b6d Merge pull request #638 from MageKing17/cleanup/read-player-controls
Clean up read_player_controls() somewhat.
2016-07-05 10:03:11 +02:00
MageKing17 6453fa3ed3 Clean up read_player_controls() somewhat.
I don't remember why I was reading this function, but I noticed that the "can_warp" and "warp_failed" variables didn't actually seem to be serving any purpose, and there was some redundant code in the PCM_WARPOUT_STAGE* case they were "used" in.
2016-07-04 18:38:17 -07:00
m!m 76ffc26680 Merge pull request #537 from niffiwan/apng_pr
APNG support
2016-07-04 23:34:49 +02:00
asarium 5a847268bf Upload the build log to pastebin if the build fails 2016-07-04 22:34:46 +02:00
Fabian Woltermann dc8079b730 Merge pull request #634 from MageKing17/bugfix/change-ship-class-subsystem-target-fix
Fix several problems with change_ship_type()
2016-07-04 21:49:15 +02:00
asarium 6c4de8161d Use new Framework 2016-07-04 11:44:38 +02:00
asarium cd2a692150 Merge branch 'master' into antipodes_/sync 2016-07-04 11:15:40 +02:00
MageKing17 28db7bb2f9 Fix several problems with change_ship_type()
This was a bit of a doozy.

If the player's current target changes ship class with change_ship_type(), Player_ai->targeted_subsys will still be pointing to the old subsystem list; this could cause problems (specifically out-of-bounds array accesses) when trying to e.g. look up nonexistant submodels. Similar problems occur with any other AIs targeting a subsystem on the ship in question. In order to fix this, several changes were made.

Firstly, change_ship_type() will now go through every Ai_info object looking for ones targeting a subsystem of the ship changing classes, or with an AI_GOAL_DESTROY_SUBSYSTEM goal for the ship changing classes, and convert them all to the new subsystem (if there's a match) or remove the target/goal (if there isn't), reusing the existing subsystem comparison logic (for transferring damage). Near the end, there's a Player_ai comparison to call hud_cease_subsystem_targeting(0) if necessary.

Additionally, change_ship_type() will also look through every weapon looking for anything that might be homing in on or fired from a subsystem on the ship changing types; these are handled similarly to targeted subsystems, including clearing the weapon's homing_subsys/turret_subsys attribute if a matching subsystem isn't found.

Also handles sp->last_targeted_subobject[], which contains subsystem pointers to keep track of which subsystem each player was previously targeting on that ship.

Lastly, change_ship_type() will now kill ship sparks if the model number has changed (trying to transfer sparks to matching submodels would be a herculean task and probably fail most of the time anyway, with similarly-named subobjects with different shapes so the coordinates wouldn't make sense anyway).
2016-07-03 20:28:52 -07:00
niffiwan 774140d461 Merge pull request #635 from MageKing17/bugfix/color-table-parsing
Fix color table parsing.
2016-07-03 21:59:38 +10:00
MageKing17 bf6cbb9f18 Fix color table parsing.
Accidentally forgot one array in PR #633, causing a crash if a color table is actually present.
2016-07-03 02:17:07 -07:00
niffiwan 9a5085d7fd Merge pull request #633 from MageKing17/feature/color-orange
Adds Color_orange and a corresponding color tag to colors.tbl.
2016-06-23 19:41:02 +10:00
MageKing17 bb3828b80b Adds Color_orange and a corresponding color tag to colors.tbl.
Inserts "Orange" between "Bright Yellow" and "UI Light Green" and adds the default color tag "$o" to use it. (Prerequisite for using orange as a ping display color.)

Also added some comments to identify the RGB values by the corresponding color name, because as it turns out, they're awfully hard to read as-is.
2016-06-22 19:59:55 -07:00
Goober5000 ec9936138b Merge pull request #620 from asarium/antipodes_/mouseCompileFix
Fix compilation with SDL 2.0.4
2016-06-20 22:25:47 -04:00
m!m b7b89337b7 Merge pull request #631 from rtoijala/fix-vpath-builds
fix VPATH builds
2016-06-18 18:20:02 +02:00
Risto Toijala 5577c4e16e fix VPATH builds
https://www.gnu.org/software/automake/manual/html_node/VPATH-Builds.html

VPATH builds were broken because mongoose.h was not found.
Makefile.am stated that it should be found in ../mongoose, which is
incorrect for VPATH builds. The search path should be relative to the
source tree ( i.e. $(VPATH) ).

Example:
mkdir -p build/debug
cd build/debug
../../autogen.sh
../../configure --enable-debug
make

The search path would then be (relative to the source tree)
build/mongoose, not ./mongoose as it should.

Fix this by changing ../mongoose to ./($VPATH)/../mongoose.

In the previous example, $(VPATH) is ../../../code, so the search path
is now correctly ./../../../code/../mongoose.

For in-tree builds, the path was previously ../mongoose. It is now
.//../mongoose, which is equivalent.
2016-06-18 16:02:17 +03:00
niffiwan 1d28184ce6 Merge pull request #442 from asarium/antipodes_/luaMouse
Improve CursorManager
2016-06-18 12:53:16 +10:00
MageKing17 3ed6874cb2 Merge pull request #629 from asarium/fix/625
Fix for #625
2016-06-17 08:32:37 -07:00
m!m e0b8abc0ba Merge pull request #609 from jg18/ping_fix
Fix ping calculations in server list.
2016-06-17 10:17:28 +02:00
asarium e3664152ca Validate fiction viewer file name 2016-06-16 19:49:34 +02:00
asarium 371c49724e Turn invalid file error into warning 2016-06-16 19:49:34 +02:00
m!m b2fc33563d Merge pull request #628 from rtoijala/lua51-build-fix
accept lua51 as pkg-config name for Lua
2016-06-16 19:25:30 +02:00
Risto Toijala 73c20cedd3 accept lua51 as pkg-config name for Lua 2016-06-16 15:34:53 +03:00
niffiwan b51d6f84b8 Merge pull request #626 from rtoijala/misleading-indentation
Fix indentation warnings
2016-06-15 20:43:13 +10:00
Risto Toijala 7d7c87c290 Fix indentation warnings
GCC 6 warns about misleading indentation because it counts tabs as 8
spaces. The rest of the code uses tabs, these lines use 4 spaces.
Replace spaces with tabs.

Whitespace changes only.
2016-06-15 12:40:44 +03:00
m!m cb9c66966d Merge pull request #619 from MageKing17/feature/spinup-without-external-models
Move conditional so that weapon spinup happens without external models.
2016-06-05 13:06:38 +02:00
m!m 441ac5c066 Merge pull request #621 from tomimaki/master
Fix compiling debug build on linux with glibc 2.23
2016-06-04 11:36:06 +02:00
tomimaki 1b65fd50a0 Fix compiling debug build on linux with glibc 2.23 (#1) 2016-06-04 00:11:04 +02:00
asarium 44b44bb249 Fix compilation with SDL 2.0.4 2016-06-03 19:58:50 +02:00
MageKing17 5d307d24f4 Move conditional so that weapon spinup happens without external models.
Moves the sip->draw_primary_models[bank_to_fire] check so that it only contains the code related to shipp->primary_rotate_ang[bank_to_fire], since that really does only matter if external models are present. The rest of the spinup code doesn't actually care about the model, though, so it seems odd (and unfair to modders) to not allow it to function just because the ship has external primary models disabled.

I also wrapped the spinup code in a basic check that winfo_p->weapon_submodel_rotate_vel is greater than zero because most weapons aren't going to have a spinup, so there's no need to perform the other calculations for them (it's probably a marginal savings at best, but since I was getting rid of the best-case savings of most ships not having external primary models enabled, I figured I may as well replace it).

Minor formatting changes to the other lines just because it took me a while to figure out what the code was doing when I first read it; "if(" changed to "if (", and line breaks inserted into the one-line conditionals.
2016-06-02 21:40:16 -07:00
Karajorma bcf007376d Remove several packets used in multiplayer that can now be handled by the SEXP packet system instead. 2016-06-02 12:20:07 +08:00
jg18 d06d6e6df0 Change f2fld() macro to f2d(). 2016-05-30 14:08:28 -07:00
jg18 e78327d879 Fix ping average calculation. 2016-05-30 13:59:51 -07:00
jg18 8f42977ee8 Fix ping calculations in server list.
Fix calculations of server ping in in-game server list. Minimize floating
point calculations, using double instead of float, avoid calling timer
twice when receiving pong, and capture pong time more precisely.
2016-05-30 13:59:51 -07:00
m!m d60c8d5f3f Merge pull request #615 from niffiwan/feature/player_min_speed
Add player minimum speed feature
2016-05-27 14:19:08 +02:00
niffiwan 278a797db2 Add player minimum speed feature
Allows the players ship to have a minimum speed set. If the ships speed
drops below this (per ship) value, the throttle is increased to the
minimum.
For ships that are gliding, their engines will be reactivated when the
ships overall velocity falls below the minimum speed.
Currently only sets a minimum Z speed, Y & X are ignored.
2016-05-27 20:34:15 +10:00
m!m 1a59a1c811 Merge pull request #612 from Yarn366/messages_suffix_fix
Fix for automatic message suffixes
2016-05-25 19:40:42 +02:00
MageKing17 96c01e6c1e Merge pull request #613 from DahBlount/Fix-Warp-No-Collide
Prevent "no collide" objects from colliding during warp sequence
2016-05-25 01:07:50 -07:00
DahBlount 50496c8143 Add OF_COLLIDES check to avoid OBJ_RECALC_PAIRS
OBJ_RECALC_PAIRS unsets then sets the OF_COLLIDES flag, so when a ship
with "no collide" set on it warps out, the flag is essentially ignored
and the ship can collide during the warp sequence.
2016-05-24 22:54:10 -06:00
Yarn366 7d3b824428 Added a flag the message_extra struct that tells whether the base animation exists. Also changed message_play_anim() to use this flag rather than the first_frame field to decide whether to add a suffix to the name. 2016-05-23 01:10:33 -04:00
niffiwan d3d026651e Add __gc lua cleanup function
Per m!m review
2016-05-10 19:42:22 +10:00
niffiwan 7af57209e1 Add LUA support for streaming anims 2016-05-10 19:42:22 +10:00
niffiwan 67ca370cba Fix a minor deviation from the spec 2016-05-10 19:42:21 +10:00
niffiwan e269b77645 Convert warnings to mprintf's
With png & apngs sharing the same filename these warnings could fire
quite a bit, and the lack of an anim playing should be very obvious to
the modder anyway.
2016-05-10 19:42:21 +10:00
niffiwan 0e02552267 Fix bug in handling dispose operations
I didn't read the spec correctly; only the previous frames portion of
the output buffer is supposed to be cleared/reverted; not the entire
output buffer
2016-05-10 19:42:21 +10:00
niffiwan 6155df93d9 Minor tweaks to improve performance
Also updated/added a few comments
Fix a bug; last frame wasn't being processing
2016-05-10 19:42:21 +10:00
niffiwan 38c7d6e33c Update FRED to allow *.png file selection
For campaign, command briefing & event editors
(plus the probably unused message editor)
2016-05-10 19:42:21 +10:00
niffiwan d519c83697 Add comment for why we're not using .apng 2016-05-10 19:42:21 +10:00
niffiwan b7bad1aba9 Check for nullptr before calling cfclose 2016-05-10 19:42:21 +10:00
niffiwan 886ecbf151 Fix a bunch of cfile leaks in bm_load_animation 2016-05-10 19:42:21 +10:00
niffiwan 1fd8f7afba Cleanup apng owned resources on ctor exception 2016-05-10 19:42:21 +10:00
niffiwan b24bea8507 Ensure total_time is set if anim is already loaded
i.e. fix the actual bug, not just the symptoms!
2016-05-10 19:42:21 +10:00
niffiwan 0fc4b89820 Missed weapon thruster/glow calcs
Thanks to Axem for finding the bug
2016-05-10 19:42:21 +10:00
niffiwan 58facec264 Fix MSVC2015 warning (int to bool conv) 2016-05-10 19:42:21 +10:00
niffiwan e9e49f5276 Fixes per m|m's review
Use unique_ptr for safer pointer management
Simplify frame delay calcs when looping
Ensure animated cursor times don't lose precision
Switch Error to an Assertion
Fix LUA documentation formatting
2016-05-10 19:42:21 +10:00
niffiwan 3df84a3986 Fix travis warning signed-v-unsigned comparison
I reckon this is an issue with gcc 4.6.3, 4.8.4 doesn't think it's an
issue, maybe due to the way the way the constants were init'd with HEX
values
2016-05-10 19:42:21 +10:00
niffiwan 375a251334 Complete apng feature
Handle total_time directly requested from bm_load_animation
Make generic_anims request total_time directly
Move png-vs-apng check to apng class
Remove redundancy in apng exception messages
Update comments
2016-05-10 19:42:21 +10: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
niffiwan 2f1b686349 Finish conversion to new frame calc function
Also remove debug code
2016-05-10 19:42:20 +10:00
niffiwan 200c4c82a5 Simplify shockwave_get_framenum
Have get call set rather than duplicate code for calculating the frame
number
2016-05-10 19:42:20 +10:00
niffiwan 0b20b15c2c Fix issues found by Axem
Fix silly issue preventing getFrame() from working
Remove infinite loop when calculating frame num
Convert more animations to use new frame calc function
2016-05-10 19:42:20 +10:00
niffiwan 78d6957be8 Tweak lua loadTexture to be able to load apngs
Reorder precendence of static image vs animation loading
i.e. load animations 1st if requested, then load still images
if the animation failed to load or if animations weren't requested
2016-05-10 19:42:20 +10:00
niffiwan 50c791c998 Add support for non-streaming apngs
i.e. apngs (pre)loaded into bmpman slots

handles apng variable frame delays
Includes new lua function (getFrames) to find the current frame for
apngs. Also uses new function to correctly display apngs for mission
loading animations, ship thrusters & engine glows.
2016-05-10 19:42:20 +10:00
niffiwan 90b35b72fb Add support for streaming apngs
includes:
 full-colour & hud-colour headanis
 cbanims & intelanims
 mainhall animations (including playing in reverse)

Notably does not support ship/weapon select anims as they need
keyframes and there isn't anywhere to specify them in the apng format
2016-05-10 19:42:20 +10:00
MageKing17 8906c735c6 Merge pull request #607 from niffiwan/feature/lua_tAnim_instant
Add instant flag to lua triggered anims
2016-05-08 10:57:36 -07:00
MageKing17 2ee839152c Merge pull request #608 from niffiwan/cleanup/lua_ets_desc
Fix ETS virtvar comments
2016-05-08 10:57:20 -07:00
niffiwan 6be09e7157 Merge pull request #606 from MageKing17/cleanup/fred2-executable-version
Update FRED2_Open executable version to 3.7.5.
2016-05-08 19:32:33 +10:00
niffiwan 1715b20d30 Fix ETS virtvar comments 2016-05-08 15:05:19 +10:00
niffiwan 37497cb7d7 Add instant flag to lua triggered anims
Just expose the existing instant flag from the animation handling code
2016-05-07 21:10:26 +10:00
MageKing17 b62eba559b Update FRED2_Open executable version to 3.7.5.
Not sure how this got missed multiple times, but better late than never.
2016-05-06 16:10:20 -07:00
Cliff Gordon 4fa84ee388 Merge pull request #600 from MageKing17/bugfix/grammar-compilation
Make VS 2013 and 2015 use the copy of gc.exe like 2010 does.
2016-05-01 16:01:30 -05:00
Goober5000 776f0df434 Merge pull request #592 from downwash/mantis-02851
Removed support for // comments in FRED
2016-04-29 02:02:25 -04:00
MageKing17 39ce7d4253 Make VS 2013 and 2015 use the copy of gc.exe like 2010 does.
Recent update to VS 2015 Community Edition appears to have removed gc.exe for some reason; the safest thing to do would seem to be to go back to using the copy of it we were already keeping around for VS 2010 Express.
2016-04-27 14:51:47 -07:00
m!m c33b54464e Merge pull request #599 from PeterMitsis/double-float-conversions
Minor trig cleanup
2016-04-27 11:54:06 +02:00
Peter Mitsis e3cde7086c hud: Simplify HudGaugeLock::renderLockTrianglesOld()
Uses the following trig identities to reduce the number of floating
point operations in HudGaugeLock::renderLockTrianglesOld().
    sin(-x) = -sin(x)
    cos(-x) = cos(x)

Signed-off-by: Peter Mitsis <[email protected]>
2016-04-24 21:56:06 -04: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
Peter Mitsis 181b758577 Replace ANG_TO_RAD() macro with fl_radians() macro
Both the ANG_TO_RAD() and fl_radians() macros were serving the same
purpose; they converted an angle from degrees to radians. To reduce
code duplication, ANG_TO_RAD() was replaced with the existing
fl_radians().

Signed-off-by: Peter Mitsis <[email protected]>
2016-04-24 21:56:06 -04:00
asarium 57f015a764 Remove unused graphics functions 2016-04-18 22:36:25 +02:00
niffiwan 3f5e30b4dc Merge pull request #596 from MageKing17/bugfix/template-first-time
Make ship templates default first_time to true, like ship classes.
2016-04-18 18:56:38 +10:00
MageKing17 15dec7e508 Make ship templates default first_time to true, like ship classes.
Otherwise, the first_time code never gets evaluated for template-based ships and you never get engine glows from species. Fixes issue #594.
2016-04-17 17:02:44 -07:00
downwash 7e3198392b Removed support for // comments in FRED 2016-04-16 23:28:13 +02:00
MageKing17 f247330e4b Merge pull request #591 from niffiwan/bugfix/mouse_hat_interaction
Stop joystick hat binds being triggered spuriously
2016-04-13 09:36:07 -07:00
niffiwan 6c1dd85738 Stop joystick hat binds being triggered spuriously
There was a bug in the controls code that meant trigger type controls
bound to a joystick hat could be triggered by unrelated mouse button
presses. i.e. bind "hat-back" to cycle secondary weapons and secondary
banks would change when you fired with left mouse button.

Root cause is left bitshifting by 32 or more, which is implementation
defined and at least on Linux/GCC resulted in the above behaviour.
2016-04-13 22:21:08 +10:00
m!m 1a5700a0cb Make new registry configurable on commandline (#587) 2016-04-10 13:18:44 +02:00
Yarn366 3584164ec0 Fix for tab key on barracks screen (#589)
* Fixed tab key not actually switching between single player/multiplayer.
2016-04-10 13:02:30 +02:00
m!m 2679f97dc2 Merge pull request #586 from niffiwan/bugfix/asan_triggered_anim_memcpy
Fix issue with memcpy on overlapping memory
2016-04-06 13:34:38 +02:00
niffiwan 0a041aade1 Fix issue with memcpy on overlapping memory
Triggered animations (e.g. models with rotating afterburner flaps)
could trigger a memcpy on overlapping memory. This may not have caused
issues, but is undefined behaviour according to the spec
Also see #574
2016-04-06 20:26:34 +10:00
MageKing17 9845a1ad46 Merge pull request #580 from Goober5000/dumb_rotate_compatibility
use $rotate, $rotate_rate, and $rotate_time, and their $dumb_ equivalents, with proper backwards compatibility
2016-04-03 20:41:08 -07:00
Goober5000 33151e956d fix a bug in the option comparison, and also add sanity checking for infinite rotation rates 2016-04-03 21:07:55 -04:00
Goober5000 08e565a855 use $rotate, $rotate_rate, and $rotate_time, and their $dumb_ equivalents, with proper backwards compatibility 2016-04-03 18:15:20 -04:00
Fabian Woltermann fb61239f85 Merge pull request #582 from asarium/fix/cfilecrash
Fix crash in cfile.cpp
2016-04-03 23:16:35 +02:00
asarium 88ffa54ae0 Fix crash in cfile.cpp 2016-04-03 22:12:13 +02:00
m!m 5de6635111 Merge pull request #576 from PeterMitsis/cfile-cleanup
Cfile cleanup
2016-04-02 09:35:31 +02:00
Peter Mitsis 04dc9f28cc cfile: Fix minor issues found during code review
Signed-off-by: Peter Mitsis <[email protected]>
2016-04-01 20:03:00 -04:00
Fabian Woltermann 55bdad3799 Merge pull request #579 from DahBlount/Share_Fire_Direction-Accuracy-Fix
Remove redundant function and add check to add "salvo mode" if "share fire direction" is found
2016-04-02 01:00:19 +02:00
DahBlount 63bb60935c Remove redundant function and add check to add "salvo mode" if "share fire direction" is found 2016-04-01 16:26:55 -06:00
MageKing17 6d82031115 Merge pull request #577 from asarium/fix/572
Fix issue #572
2016-04-01 04:05:11 -07:00
asarium 05fbb8d4de Fix issue #572 2016-04-01 12:03:19 +02:00
MageKing17 f4645e3e6c Merge pull request #569 from downwash/mantis-03153
Clarified a warning message about wave tresholds (Mantis 3153)
2016-04-01 01:42:32 -07:00
Peter Mitsis 8924aa06e9 cfile: Simplify cf_delete()
Removes the unnecessary attempt at opening the specified prior to
calling _unlink().

Signed-off-by: Peter Mitsis <[email protected]>
2016-03-31 21:50:37 -04:00
Peter Mitsis 673b8f61eb cfile: Remove superfluous memset() in cfile_flush_dir()
There is no need to zero the 'stat' structure before using in stat().

Signed-off-by: Peter Mitsis <[email protected]>
2016-03-31 21:50:37 -04:00
Peter Mitsis f75f6af43a cfile: Refactor cfile_chdir() and cfile_push_chdir()
Reworks cfile_chdir() and cfile_push_chdir() to extract common and
reduce code duplication.

Signed-off-by: Peter Mitsis <[email protected]>
2016-03-31 21:50:37 -04:00
Peter Mitsis 71a61143bf cfile: Simplify cfile_init() and cfile_in_root_dir()
Removes unnecessary error checking and simplifies the logic.

Signed-off-by: Peter Mitsis <[email protected]>
2016-03-31 21:50:37 -04:00
Peter Mitsis cca2a776e1 cfile: Only define cfile_chdrive() for _WIN32
Not only was the use of of cfile_chdrive() already conditional on _WIN32
being defined, so too was its extern declaration.

Signed-off-by: Peter Mitsis <[email protected]>
2016-03-31 21:50:37 -04:00
Peter Mitsis 8e21aa6c88 cfile: Apply 'static' keyword
Signed-off-by: Peter Mitsis <[email protected]>
2016-03-31 21:50:37 -04:00
MageKing17 6bb1ccc830 Merge pull request #575 from niffiwan/bugfix/controlsconfig_delete
Fix new[] vs delete mismatch
2016-03-31 15:47:26 -07:00
niffiwan f6ef7c1cd6 Fix new[] vs delete mismatch
Found by address sanitiser
2016-03-31 20:10:16 +10:00
downwash a4c1d8f2eb Wing editor no longer allows invalid values for wave treshold 2016-03-28 12:38:48 +02:00
Bernard Vervaet 20c5a86dcb Clarified a warning message about wave tresholds (Mantis 3153) 2016-03-28 00:11:29 +02:00
m!m ccc616fec3 Merge pull request #568 from niffiwan/bugfix/cleanup_weapon_model_unload
Cleanup weapon_info when models are unloaded
2016-03-27 15:21:18 +02:00
niffiwan 07284cf221 Cleanup weapon_info when models are unloaded
Avoids the assertions at model/modelread.cpp:3062
ASSERTION FAILED: "Polygon_models[num]->id == model_num" (etc)
2016-03-27 17:04:14 +10:00
Fabian Woltermann 2b4d08e842 Merge pull request #565 from chief1983/xcode_73_upgrade
[xcode_73_upgrade] Apply some recommended project file changes
2016-03-25 14:18:00 +01:00
Fabian Woltermann 1e3857e385 Merge pull request #567 from Yarn366/fix_shadow_tech_room
Fixed ship position in ship database
2016-03-25 14:17:25 +01:00
Yarn366 8635a8b537 Fixed ship position in ship database 2016-03-24 22:07:13 -04:00
MageKing17 762691c78f Merge pull request #566 from ln-zookeeper/master
Fix for Mantis 3170
2016-03-23 15:53:30 -07:00
Lari Nieminen f8cb347a62 Fix for Mantis 3170
Despite what the original report claims, the ship.cpp change described in it actually works.
2016-03-24 00:23:30 +02:00
Cliff Gordon 2d2df40efb [xcode_73_upgrade] Apply some recommended project file changes after Xcode 7.3 upgrade. 2016-03-23 13:15:51 -05:00
Cliff Gordon f0518514a3 Merge pull request #564 from asarium/ci/macosxFail
Make Travis build fail if one command fails
2016-03-23 12:53:25 -05:00
asarium 64104c19a8 Make Travis build fail if one command fails 2016-03-23 17:49:35 +01:00
Cliff Gordon 847521b012 Merge pull request #563 from asarium/fix/shaderOSX
Fix MacOSX compilation error
2016-03-23 11:47:56 -05:00
m!m e6d0f9f72a Fix MacOSX compilation error 2016-03-23 16:15:28 +01:00
MageKing17 1cd9d3fb04 Merge pull request #562 from asarium/cleanup/openglShaders
Clean up shader loading code a bit
2016-03-23 02:10:48 -07:00
asarium 6184ae6db6 Clean up shader loading code a bit 2016-03-22 17:38:42 +01:00
MageKing17 b270ad1bb9 Merge pull request #560 from Goober5000/dumb_rotation_tweak
fix the $dumb_rotate turn rate calculation to align with regular $rotate
2016-03-19 14:52:10 -07:00
Goober5000 fbc0c79973 fix the $dumb_rotate turn rate calculation to align with regular $rotate 2016-03-19 17:02:55 -04:00
Fabian Woltermann 559e56d8af Merge pull request #554 from asarium/antipodes_/prefPath
Unify config handling on all platforms
2016-03-18 10:17:48 +01:00
MageKing17 caf41665f4 Merge pull request #556 from MageKing17/bugfix/issue-347
Fix mission screen grid by changing the drawing of the lines.
2016-03-17 06:01:29 -07:00
MageKing17 90a2676f17 Fix mission screen grid by changing the drawing of the lines.
Instead of using the clipping plane, simply don't draw the grid below the scanline. Fixes issue #347.
2016-03-16 16:40:56 -07:00
MageKing17 5032d06964 Merge pull request #555 from asarium/fix/model_glsl
Fix flag file inconsistency
2016-03-16 16:15:33 -07:00
asarium f9f65b0795 Fix flag file inconsistency 2016-03-16 23:18:01 +01:00
asarium d55a054228 Fix some default section scoping issues 2016-03-16 20:16:16 +01:00
asarium 54cb475d30 Unify config handling on all platforms
This will use SDL_GetPrefPath to determine a suitable config directory which will be used for all runtime writing. Additionally all platforms will now use the configuration ini files, the Windows registry will be deprecated. For better compatibility with current installs there is a "legacy mode" which will work like the current install. It will be used as long as the launcher doesn't write the configuration file to the new location. Migrating old installs requires copying the existing pilot files to the new location and copying any existing configuration data.
2016-03-16 19:42:52 +01:00
Fabian Woltermann c9380f0091 Merge pull request #553 from niffiwan/cleanup/faster_debug_default_runtime_checks
Set Basic Runtime Checks to Default
2016-03-14 09:42:42 +01:00
niffiwan 033ba61588 Set Basic Runtime Checks to Default
Ref: https://randomascii.wordpress.com/2011/07/22/visual-c-debug-buildsfast-checks-cause-5x-slowdowns/
One option to speed up debug
2016-03-13 13:56:55 +10:00
Fabian Woltermann 09ce1f1846 Merge pull request #551 from asarium/fix/registry
Fix Windows Registry configuration
2016-03-12 15:02:07 +01:00
MageKing17 40d49eb17a Merge pull request #552 from asarium/antipodes_/sync
Sync Antipodes
2016-03-11 13:55:01 -08:00
asarium 6184136ffe Fix Windows Registry configuration 2016-03-11 12:41:59 +01:00
asarium 2d4d0081cd Merge branch 'master' into antipodes_/sync
Conflicts:
	code/cmdline/cmdline.cpp
	code/io/timer.cpp
	code/network/multi.cpp
	configure.ac
	projects/MSVC_2005/Fred2.vcproj
	projects/MSVC_2005/Freespace2.sln
	projects/MSVC_2005/Freespace2.vcproj
	projects/MSVC_2005/code.vcproj
	projects/MSVC_2008/Fred2.vcproj
	projects/MSVC_2008/Freespace2.doxproj
	projects/MSVC_2008/Freespace2.vcproj
	projects/MSVC_2008/code.vcproj
	projects/MSVC_2010/Fred2.vcxproj
	projects/MSVC_2012/Fred2.vcxproj
	projects/MSVC_2012/Freespace2.vcxproj
	projects/MSVC_2012/code.vcxproj
	projects/MSVC_2012/code.vcxproj.filters
	projects/Xcode4/FS2_Open.xcodeproj/project.pbxproj
	projects/Xcode4/Frameworks.tgz
	projects/Xcode4/Info.plist
2016-03-11 12:36:52 +01:00
MageKing17 e98fd0bab3 Merge pull request #549 from asarium/fix/fictionviewer
Add validation when parsing a file spec
2016-03-10 12:25:50 -08:00
asarium a1a8a53a65 Add validation when parsing a file spec
This issue was spotted by Taranis who encountered an assertion caused by
an empty file name. This check will make sure that every string parsed
as a file name will at least contain one character.
2016-03-10 18:33:43 +01:00
Cliff Gordon 38b51723e0 Automated 3.7.5 versioning commit 2016-03-10 10:09:20 -06:00
Fabian Woltermann dc708ccbbb Merge pull request #547 from Goober5000/game_level_seed
improve RNG seeding
2016-02-28 22:09:57 +01:00
Goober5000 5206220f5a simplify the random number seeding; don't seed the RNG for every mission in single player 2016-02-27 13:25:48 -05:00
Fabian Woltermann c049e7335b Merge pull request #535 from jg18/remove_ipx
Remove IPX support.
2016-02-27 00:18:39 +01:00
jg18 a05d19db6b Re-enable TCP/IPX selector buttons.
Re-enable the TCP selector button and unhide the IPX selector button.
Attempting to select IPX brings up a pop-up that IPX is no longer supported.
2016-02-25 10:28:50 -08:00
jg18 cb65ca8655 Revert changes to net_addr struct format.
Revert changes that were made to net_addr struct format in commit 220fa18.
The net_addr struct is now the same as it was in retail.
2016-02-25 10:28:49 -08:00
jg18 1adb64e39d Remove IPX support.
Remove support for the IPX protocol. The IPX selector button in the multi
options menu is now hidden, and the TCP button is disabled since there is no other option.
2016-02-25 10:28:49 -08:00
Fabian Woltermann 6c308037e8 Merge pull request #546 from SamuelCho/fred_outline_fix
Fixes ships in FRED only rendering wireframe instead of both wireframe and model when selected.
2016-02-25 09:25:39 +01:00
SamuelCho 706b3a7f5e Fixes ships in FRED only rendering wireframe instead of both wireframe and model when selected. 2016-02-24 23:32:57 -08:00
niffiwan 4c23cd0d00 Merge pull request #545 from asarium/fix/iamstupid
Fix some issues from my previous PRs
2016-02-22 21:40:10 +10:00
m!m 1fbeccd61e Merge pull request #544 from niffiwan/feature/bm_used
Add debug console command: bm_used
2016-02-22 12:24:49 +01:00
asarium 564fc9a680 Update commend to match updated code 2016-02-22 12:11:44 +01:00
asarium 688c514352 Actually dump opened files to log file 2016-02-22 12:10:46 +01:00
niffiwan acc57397e5 Add debug console command: bm_used
Reports how many bmpman slots are used, with subtotals for each image
type and EFFs broken down by sub-type
2016-02-22 18:49:57 +10:00
Fabian Woltermann e47884e0fb Merge pull request #543 from asarium/cleanup/graphics
Clean up the renderer interface
2016-02-22 09:12:41 +01:00
Fabian Woltermann 81bd363d6d Merge pull request #542 from asarium/feature/cfile_debugging
Add source tracking for cfiles
2016-02-21 23:34:51 +01:00
asarium 108d60330f Clean up the renderer interface 2016-02-21 23:24:01 +01:00
asarium 58575399f5 Add source tracking for cfiles 2016-02-21 22:34:37 +01:00
Fabian Woltermann 1253575a68 Merge pull request #540 from asarium/bmpman/loading
Move texture loading out of graphics code
2016-02-21 17:26:17 +01:00
asarium a1d46479d7 Remove -img2dds 2016-02-21 15:57:52 +01:00
asarium a4043fbf21 Improve Assertion message a bit 2016-02-21 15:40:18 +01:00
asarium 83b8361dcd Move texture loading out of graphics code
Currently the graphics code handles loading texture information and data
but that should be done by bmpman itself. I removed two graphics API
functions and added a new one which is called to notify the graphics
code that a texture has been loaded.
2016-02-21 15:40:18 +01:00
Fabian Woltermann be677937ae Merge pull request #541 from asarium/ci/unused_function
Disable unused function warnings in release mode
2016-02-21 15:39:24 +01:00
asarium aebdc6328b Disable unused function warnings in release mode 2016-02-21 12:10:30 +01:00
m!m 801b808764 Merge pull request #529 from MageKing17/bugfix/objcollide-speed-check
Don't assume non-turning weapons have a fixed velocity.
2016-02-14 15:04:08 +01:00
m!m 73d12d15a3 Merge pull request #532 from Goober5000/function_parameter_tweak
modify function headers as suggested in PR #530
2016-02-11 10:46:51 +01:00
Goober5000 c9a45c9fbd come on, Travis, stop halting after a single warning 2016-02-11 01:13:00 -05: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
Fabian Woltermann 0ed147fb45 Merge pull request #533 from Yarn366/scale_gauges_fix
$Scale Gauges fix
2016-02-07 12:18:22 +01:00
Goober5000 da812f9433 modify the actual function calls 2016-02-06 18:05:33 -05:00
Yarn366 5e623d10b0 Moved the check for negative values in $Force Scaling Above so that $Scale Gauges can work properly 2016-02-06 16:40:08 -05:00
Goober5000 471c898df5 modify function headers as suggested in PR #530 2016-02-06 15:46:06 -05:00
MageKing17 4e9f5dc754 Merge pull request #531 from Goober5000/intrinsic_rotation_refactor
refactor of dumb_rotation to intrinsic_rotation
2016-02-05 11:00:28 -08: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
Cliff Gordon 617fd6a977 Merge pull request #519 from chief1983/project_removal_201601
Project removal 2016-01
2016-02-03 10:38:44 -06:00
MageKing17 54e052bc2f Don't assume non-turning weapons have a fixed velocity.
Somewhat related to PR #528, this changes the branch that assumes constant velocity from checking for an absence of the WIF_TURNS flag to checking for the presence of the PF_CONST_VEL flag (because non-turning weapons can be given an acceleration time).
2016-01-31 18:54:41 -08:00
Goober5000 17c6b7cd58 Merge pull request #528 from ln-zookeeper/master
Fixed $Acceleration Time not working right on non-homing secondaries
2016-01-31 16:45:29 -05:00
Lari Nieminen f12d2395dc Fixed $Acceleration Time not working right on non-homing secondaries 2016-01-31 23:27:52 +02:00
Goober5000 746fe56b32 Merge pull request #525 from asarium/cleanup/timer
Remove some unused code from timer.h/.cpp
2016-01-31 16:12:04 -05:00
Goober5000 ccd815f6a0 Merge pull request #521 from asarium/antipodes_/timerOverflow
Use the correct type for high resolution timers
2016-01-31 16:10:01 -05:00
MageKing17 a87af22357 Merge pull request #523 from asarium/fix/time
Change timestamp integer handling again
2016-01-29 16:34:15 -08:00
MageKing17 4179d95975 Merge pull request #524 from Goober5000/small_fixes
one small bugfix, one small comment tweak
2016-01-29 16:33:31 -08:00
asarium fc6bc3a1c6 Remove some unused code from timer.h/.cpp
The removed code has been replaced by the profiling subsystem.
2016-01-29 22:00:58 +01:00
Goober5000 5bcc89be3a one small bugfix, one small comment tweak
This fixes a bug where, when the skybox is changed after loading a new mission, it tries to delete its model instance which was already deleted in model_instance_free_all.  Setting the instance reference to -1 when the instance is freed fixes this.  (This is something that would typically be handled by the object_delete function, as it is for ship_delete, asteroid_delete, and weapon_delete, but there is no such equivalent for skyboxes.)

Since this is such a small PR, I decided to also include a stash where I restored a comment that was inadvertently deleted by Swifty's hud_lock variable scope fix PR.
2016-01-29 12:37:14 -05:00
asarium 54b2eddc14 Change timestamp integer handling again 2016-01-28 16:39:10 +01:00
Fabian Woltermann 7a7abe1b3b Merge pull request #522 from asarium/fix/time
Use integer math instead of floats for timestamps
2016-01-27 20:32:05 +01:00
Fabian Woltermann 75c69271a9 Merge pull request #520 from MageKing17/bugfix/object-recycling-errors
Fix object recycling errors
2016-01-27 20:31:20 +01:00
asarium 64c4e4d7b4 Use integer math instead of floats for timestamps 2016-01-27 15:34:37 +01:00
asarium 75625270c9 Use the correct type for high resolution timers 2016-01-27 14:27:46 +01:00
MageKing17 1159e66168 Avoid checking for combat music if the projectile's parent was recycled. 2016-01-27 01:25:46 -08:00
MageKing17 37a98b8cf8 Check B->parent_sig before checking B->parent in objcollide.cpp.
Could cause problems with recycled objects (specifically, I had a crash once because "Objects[B->parent].instance" was well over MAX_SHIPS due to being a weapon instead of a ship, causing the "Ships[Objects[B->parent].instance].team" reference to fail hard).
2016-01-26 23:59:23 -08:00
MageKing17 a5b705b2c1 Store debris damage type on the debris object itself.
If the Object that had been assigned to that particular debris's parent wound up getting recycled and used for something else, the code in shiphit.cpp would cause a crash as soon as that debris hit something. This would happen fairly reliably in cluttered missions like BP massive battle.
2016-01-26 23:36:24 -08:00
Goober5000 76b98684cc Merge pull request #512 from Goober5000/dumb_rotation_refactor
Dumb rotation refactor
2016-01-26 22:04:08 -05:00
Cliff Gordon aa0de45ddb Part C: Update references to these projects in the CI configs and other areas. 2016-01-26 16:51:28 -06:00
Cliff Gordon e6855a4153 Part B: Move Xcode4 project to Xcode. 2016-01-26 16:35:26 -06:00
Cliff Gordon f61b869c7f Part A: Remove 5 old crusty projects. 2016-01-26 16:34:57 -06:00
Goober5000 59d6a44db3 colons are redundant 2016-01-25 19:31:52 -05:00
MageKing17 8dc4030dbc Merge pull request #518 from Yarn366/hud_scale_limit
Hud scale limit (part 2)
2016-01-25 16:31:41 -08:00
Yarn366 882467cb5a Merge branch 'master' into hud_scale_limit 2016-01-25 17:14:59 -05:00
Yarn366 5b8410de98 Values of "Force Scaling Above" that are <= 0 are now handled in adjust_base_res rather than in gauge_load_common. (This fixes a bug that prevented this parameter from working properly under certain conditions.)
Also removed an erroneous plus sign in adjust_base_res.
2016-01-25 17:00:08 -05:00
m!m 79f3f08543 Merge pull request #500 from Yarn366/hud_scale_limit
Hud scale limit
2016-01-25 22:20:16 +01:00
Yarn366 1bd7160461 Remove parameters from gauge_settings constructor and change values after struct creation. 2016-01-25 15:13:17 -05:00
Yarn366 8464e1769f Use a constructor rather than a define to create a gauge settings struct. 2016-01-25 04:41:24 -05:00
MageKing17 32d3298646 Merge pull request #515 from asarium/antipodes_/s3tc
Fix s3tc texture loading
2016-01-25 01:40:16 -08:00
MageKing17 426bb7e160 Merge pull request #514 from asarium/antipodes_/fixMessage
Fix compilation errors in FRED
2016-01-25 01:26:27 -08:00
Goober5000 975e108841 further accommodation of the dumb-rotation movement type, including, finally, proper collision detection! 2016-01-25 01:29:51 -05:00
Goober5000 6d60bb1511 add some additional clarifying comments 2016-01-25 00:49:21 -05:00
Goober5000 28faa9e588 warn for dumb-rotation as well as regular rotation 2016-01-25 00:26:26 -05:00
Yarn366 3ccfbb6aac Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into hud_scale_limit 2016-01-24 23:26:19 -05:00
Goober5000 78ff02501b improve debug warning handling 2016-01-24 21:41:31 -05:00
Goober5000 165124267a Add model_instance handling for weapons, asteroids, and skyboxes 2016-01-24 21:28:43 -05:00
Goober5000 b9033ab2a2 fix Travis error 2016-01-24 19:00:04 -05:00
Goober5000 102efb192c some additional error handling 2016-01-24 17:55:13 -05:00
asarium 3db8e5476e Improve default value in scripting API 2016-01-24 23:18:51 +01:00
asarium dcf70d2427 Fix VS 2010/2012 compilation 2016-01-24 23:18:50 +01:00
asarium 6c28b1afb9 Add grab argument for setCursorHidden
This should be used when hiding the cursor while in game.
2016-01-24 23:18:49 +01:00
asarium 0ecb7873e7 Doxygen documentation 2016-01-24 23:18:48 +01:00
asarium 498d0dcd1f Don't set the cursor state every frame
There might still be some issues where the code assumes that the cursor state is set every frame.
2016-01-24 23:18:48 +01:00
asarium 907791498a Fix lua documentation 2016-01-24 23:18:46 +01:00
asarium d1af182c61 Remove LuaError when the cursor fails to load
That should be handled by the script calling that function
2016-01-24 23:18:45 +01:00
asarium 328bb2494a Clean up CursorManager memory management 2016-01-24 23:18:44 +01:00
asarium 95c88cd62d Fix compilation errors in FRED 2016-01-24 23:17:19 +01:00
asarium 3b1fc36caf Fix s3tc texture loading
force_s3tc_enable needs to be set before SDL_InitSubSystem
2016-01-24 23:16:28 +01:00
MageKing17 952e277839 Merge pull request #513 from asarium/antipodes_/sync
Sync Antipodes
2016-01-24 14:10:23 -08:00
MageKing17 da7ec6db4d Merge pull request #463 from niffiwan/feature/cm_decoy_once_alt
Allow countermeasures to decoy missiles once only (alternate solution)
2016-01-24 14:08:02 -08:00
asarium 4a869b8ec3 Merge branch 'master' into antipodes_/sync 2016-01-24 21:20:18 +01:00
Cliff Gordon e36b5398ef Merge pull request #516 from asarium/ci/generic
Use generic architecture for Travis CI
2016-01-24 12:29:14 -06:00
asarium 335cc4a114 Use generic architecture by default 2016-01-24 14:31:13 +01:00
Goober5000 4b05468f3c update comment with a small clarification, add an assertion that the function contract is being followed, and fix an incipient bug by adding a necessary is_ship flag 2016-01-20 14:44:45 -05:00
asarium 77e832d3c9 Merge branch 'master' into antipodes_/sync
Conflicts:
	code/cmdline/cmdline.cpp
	code/cmdline/cmdline.h
2016-01-20 17:56:12 +01:00
Goober5000 26a500bf7c address warnings flagged by Travis 2016-01-19 22:18:09 -05:00
Goober5000 81ad6dc1b5 remove a field that is now redundant 2016-01-05 01:04:46 -05:00
Goober5000 025c58c679 fix const-correctness due to Swifty's change 2016-01-05 00:56:51 -05:00
Goober5000 bb93319871 small update due to changed API 2016-01-04 23:34:30 -05:00
Goober5000 8f224a76a4 incorporate turning rate 2016-01-04 23:34:30 -05:00
Goober5000 a640015afc tweak the creation of dumb_rotate instances; move the check for can_move below look_at and dumb_rotate 2016-01-04 23:34:29 -05:00
Goober5000 82807f2760 delete dumb rotations when we delete the associated instance 2016-01-04 23:34:29 -05:00
Goober5000 97924c0628 Add data structures and the hook to create the dumb rotations when model instances are created. This might be sufficient to get dumb rotations working for ships. 2016-01-04 23:34:28 -05:00
Goober5000 680ac9175f move the two dumb_rotation iterations into one function (which calls a subfunction) in modelread.cpp, and add some descriptive commenting 2016-01-04 23:34:28 -05:00
Goober5000 e3c4f90287 first chunk of work to reimplementing dumb_rotate in a way that syncs with the rest of the model code 2016-01-04 23:34:27 -05:00
Goober5000 ed2bbc35eb Merge pull request #501 from SamuelCho/kill_ship_model_start
Killed the last vestiges of ship_model_start/stop.
2016-01-04 22:45:03 -05:00
Fabian Woltermann 23aa8cb18d Merge pull request #504 from niffiwan/fix/shield_hit_anim_duration
Allow shield hit animations to play to the end
2016-01-04 15:40:03 +01:00
Yarn366 af2725b2b7 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into hud_scale_limit 2016-01-04 03:58:12 -05:00
Yarn366 ca95a3c25d Changed default gauge settings from a function to a define 2016-01-04 03:57:13 -05:00
m!m a9b4be5928 Merge pull request #425 from Echelon9/fix/SHADER_MODEL-concept-removal
OpenGL: Refactor GLSL setup and remove DirectX Shader Model concept
2016-01-03 23:56:46 +01:00
Echelon9 7691c4905e Correct comment regarding glGetString(GL_SHADING_LANGUAGE_VERSION) 2016-01-03 16:33:05 -05:00
Echelon9 9bd4fb3ac7 Lift up FXAA shader GLSL version check to opengl_post_load_shader(), out of the GLSL shader compiler preprocessor stage. 2016-01-03 16:33:05 -05:00
Echelon9 49b5d9a3b7 Fix up the revert of 0345d09a513082d15b53b045471f3fe1e3621b9b 2016-01-03 16:33:04 -05:00
Echelon9 22f14d56ea Revert "GLSL: Provide a dynamic #version directive to the shaders, in line with OpenGL standards"
This reverts commit 0345d09a513082d15b53b045471f3fe1e3621b9b.
2016-01-03 16:33:04 -05:00
Echelon9 5f4568cc0e OpenGL: Correct typo in one use of the __VERSION__ predefined macro 2016-01-03 16:33:04 -05:00
Echelon9 39842e7115 OpenGL: Rely on predefined macro __VERSION__ in GLSL language specification, rather than rolling our own. This predefined macro has been a language feature in all GLSL versions we support. See Section 3.3 Preprocessor. 2016-01-03 16:33:04 -05:00
Echelon9 cb90d286e5 GLSL: Provide a dynamic #version directive to the shaders, in line with OpenGL standards 2016-01-03 16:33:04 -05:00
Echelon9 e4c98e8527 Remove final DirectX Shader Model concepts. OpenGL GLSL version supported by the driver can be directly queried, rather than a layer of abstraction through SM2, SM3 and SM4. Allows Use_GLSL to be removed following refactoring. 2016-01-03 16:33:04 -05:00
Echelon9 5d593f0df0 Plumb through is_minimum_GLSL_version() 2016-01-03 16:33:04 -05:00
Echelon9 a045e5d266 Refactor out -disable_glsl_model command line option, which is encoded in Use_GLSL internally 2016-01-03 16:33:04 -05:00
Echelon9 21b8e3bb52 Add helper function is_minimum_GLSL_version() 2016-01-03 16:33:04 -05:00
Echelon9 3aa671a211 Replace SHADER_MODEL with GLSL_VERSION 2016-01-03 16:33:04 -05:00
Echelon9 d3ce9874a7 DirectX Shader Model 4.0 is equivalent to GLSL version 3.30. Source: https://www.opengl.org/wiki/Detecting_the_Shader_Model 2016-01-03 16:33:04 -05:00
SamuelCho 1cfbc24fb9 Merge branch 'master' into kill_ship_model_start 2016-01-03 13:04:03 -08:00
SamuelCho 4a4486c9be Merge branch 'master' into kill_ship_model_start 2016-01-03 13:02:47 -08:00
Yarn366 a1caca08ab Merge branch 'master' into hud_scale_limit 2016-01-03 14:18:18 -05:00
niffiwan e32e21bcd0 Merge pull request #509 from SamuelCho/team_glow_alpha_channel
Only enable team glow colors if team color texture mask has an alpha channel.
2016-01-03 20:16:24 +10:00
Yarn366 3fd9b8f802 Fix the errors reported by AppVeyor and Travis CI (take 2) 2016-01-03 04:29:59 -05:00
Yarn366 890c607ad2 Fix the errors reported by AppVeyor and Travis CI (hopefully) 2016-01-03 03:56:13 -05:00
Yarn366 e2dac4b7b4 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into hud_scale_limit 2016-01-03 03:12:29 -05:00
Yarn366 3512fcc18e Changed the gauge loaders to accept a pointer to the new gauge_settings struct instead of a bunch of values. 2016-01-03 03:12:00 -05:00
SamuelCho f57e346eff Only enable team glow colors if team color texture mask has an alpha channel. 2016-01-02 16:47:28 -08:00
niffiwan 768e097c73 Merge pull request #508 from MageKing17/cleanup/stop-exporting-no_fps_capping
Stop exporting -no_fps_capping to the launcher.
2016-01-03 09:20:28 +10:00
MageKing17 b0115a5f80 Stop exporting -no_fps_capping to the launcher.
Given the number of unintended consequences that can result from use of this command-line flag, we should return to the pre-137eb7e4d4cb0f9c153d15bbcce847347aa3d716 behavior of not including it in the exe_params[] array; anyone who knows what it does and why we don't advertise it can still use it for testing purposes, but it should prevent the typical user from turning it on without knowing exactly what can go wrong.
2016-01-02 12:19:13 -08:00
niffiwan a23630346b Merge pull request #505 from DahBlount/Fix-for-Coverity-#1343617
Fix for coverity 1343617
2015-12-31 17:40:29 +10:00
DahBlount d4d805d6ca Move turret_enemy_objnum check further up in block and change to Assertion 2015-12-30 23:44:04 -07:00
niffiwan b147ea0a21 Merge pull request #506 from Karajorma/BUGFIX-RepeatCounts
Fix the issue with repeat counts first discovered on this thread http…
2015-12-30 21:47:27 +10:00
Karajorma 8a2eec5b4a Fix the issue with repeat counts first discovered on this thread http://www.hard-light.net/forums/index.php?topic=90763.msg1801379#msg1801379 2015-12-30 16:56:50 +08:00
niffiwan ee64b83aec Allow shield hit animations to play to the end
Previously they'd always stop at 75% complete, and it's probably just
luck that it worked correctly for ✌️
2015-12-28 14:55:54 +10:00
MageKing17 24b58db67f Merge pull request #479 from SamuelCho/hud_lock_fix_for_issue_456
My attempt to fix the HUD lock scoping issues raised by issue #456.
2015-12-25 22:52:40 -08:00
Samuel Cho 2ddee36007 Cleaned up HudGaugeLock::render() and removed hud_draw_diamond() since that's not being used. 2015-12-25 19:34:39 -08:00
Goober5000 7e9a798101 Merge pull request #503 from Goober5000/sf2_no_disabled_self_destruct
add no-disabled-self-destruct ship flag
2015-12-21 11:08:38 -05:00
Goober5000 542dc68df2 add to Ship_flag_names array 2015-12-21 00:56:51 -05:00
Goober5000 b1ac0876d4 add no-disabled-self-destruct ship flag
Normally, ships whose weapons or engines subsystems are destroyed will
self-destruct after 90 seconds if they are part of a wing (see
ai_maybe_self_destruct).  This adds a ship flag to prevent that from
happening.
2015-12-20 23:12:59 -05:00
Goober5000 7badc4dfd9 Merge pull request #476 from MageKing17/feature/weapon-bank-modular-compatibility
Modular tables now clear allowed weapons if +noreplace isn't specified.
2015-12-17 00:47:28 -05:00
niffiwan 036aae0ee2 Merge pull request #502 from SamuelCho/team_color_glows
Team color glows
2015-12-17 12:50:53 +10:00
SamuelCho 9cc70790c9 Save all the channels of the team mask, not just the red and green channels. 2015-12-16 00:57:12 -08:00
SamuelCho 7d392bd61c Adjust the blended glow color value by how much the team mask contributes to this fragment. 2015-12-16 00:44:58 -08:00
SamuelCho 1552e02a51 Added support for glowing team color textures. 2015-12-16 00:20:15 -08:00
Fabian Woltermann 175640d60a Merge pull request #492 from SamuelCho/faster_bmp_lookup
Changed bitmap_lookup to use ubyte instead of floats.
2015-12-16 06:39:50 +01:00
SamuelCho 6583066936 Don't reset lock rendering timers and switches unless we really need to. 2015-12-15 20:39:38 -08:00
MageKing17 3c564b3210 Merge pull request #494 from DahBlount/Share-Fire-Direction-Turret-Flag
Share fire direction turret flag
2015-12-15 12:48:53 -08:00
DahBlount 9b7ebff53a Change NULL to nullptr and change fighter beam flag comparison from > to != 2015-12-15 09:54:34 -07:00
DahBlount 1491d4a79a Create "share fire direction" subsystem flag 2015-12-15 09:54:32 -07:00
Fabian Woltermann d603c463af Merge pull request #499 from DahBlount/Final-Attempt-at-Fixing-Environment-Reflections
Fix environment reflection rotation issue
2015-12-15 15:12:27 +01:00
SamuelCho 3eb47c1867 ship_render() still needs to clear out miscellaneous per-draw model data. 2015-12-14 23:19:08 -08:00
SamuelCho 2db4bc37f2 Removed unused variable sii. 2015-12-14 00:06:16 -08:00
SamuelCho 0f0f6377d0 Killed the last vestiges of ship_model_start/stop. 2015-12-13 23:51:24 -08:00
Yarn366 8e7ad5f651 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into hud_scale_limit 2015-12-14 01:41:13 -05:00
DahBlount bade3c58eb Normalize the position vector used in environmental reflections 2015-12-13 15:03:31 -07:00
niffiwan d2c8943e96 Merge pull request #498 from asarium/antipodes_/sync
Sync Antipodes
2015-12-13 08:42:27 +10:00
asarium deade82a19 Merge branch 'master' into antipodes_/sync
Conflicts:
	configure.ac
2015-12-12 18:36:32 +01:00
m!m 85a36e6fd8 Merge pull request #496 from SamuelCho/missing_destroyed_subsys
Fixes missing destroyed submodels from the polymodel_instance rendering commit.
2015-12-09 22:26:42 +01:00
Samuel Cho 2deffc1156 Removed comment from model_set_instance that no longer describes SSF_NO_DISAPPEAR functionality. 2015-12-09 10:32:36 -08:00
Fabian Woltermann 82ae54a6e8 Merge pull request #495 from SamuelCho/no_lighting_fix
Restore SIF2_NO_LIGHTING functionality for ship_render().
2015-12-09 09:02:11 +01:00
SamuelCho 0062d2567a Fixes missing destroyed submodels from the polymodel_instance rendering commit. 2015-12-08 23:53:53 -08:00
SamuelCho 7972cad563 Restore SIF2_NO_LIGHTING functionality for ship_render(). 2015-12-08 20:06:27 -08:00
niffiwan c9cff48b95 Merge pull request #493 from ln-zookeeper/master
Fix a small glitch in shield icon alpha range
2015-12-08 22:49:09 +10:00
Lari Nieminen 8d0624b064 Fix a small glitch in shield icon alpha range
Calculates the alpha range using the actual number of shield segments instead of 4.
2015-12-08 14:08:34 +02:00
SamuelCho 236857ed37 Changed bitmap_lookup to use ubyte instead of floats for the color channels. Should make reading bitmaps faster. 2015-12-07 22:59:28 -08:00
MageKing17 fa57ea358a Merge pull request #444 from asarium/feature/benchmark
Add benchmark command line option
2015-12-07 02:28:15 -08:00
MageKing17 a7bf7c63de Merge pull request #490 from Goober5000/shipfx_little_explosions_fix
for model vertices, use the entire range of RAND_MAX, not the range divided by 32
2015-12-05 15:45:52 -08:00
Goober5000 81676b7d3f a few tweaks from the PR...
a) remove redundant (shadowing) polymodel *pm declaration
	b) end Warnings with \n
	c) remove no-longer-needed Asserts (they are handled by the Error check above)
2015-12-05 14:25:28 -05:00
Goober5000 e1e188a43c use the entire range of RAND_MAX, not the range divided by 32 2015-12-05 13:02:27 -05: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
Yarn366 fa10977e77 Added parameters that allow HUD scaling to be disabled at lower resolutions and enabled at higher resolutions. 2015-12-03 20:06:06 -05:00
Fabian Woltermann aaa80dfa6f Merge pull request #486 from SamuelCho/model_instance_rendering
Allow model rendering code to use polymodel_instance.
2015-12-03 06:34:09 +01:00
SamuelCho 59fa7bd544 Remove superfluous line. 2015-12-02 19:08:59 -08:00
m!m 3c8b47ccfc Merge pull request #460 from MageKing17/feature/subsys-autorepair-when-disabled
Adds the ability for subsystems to repair themselves when disabled.
2015-12-02 21:37:20 +01:00
MageKing17 81d8d063c2 Un-cluttering the autorepair conditional by spreading it out a little.
Should hopefully be a bit more readable this way.
2015-12-02 12:11:20 -08:00
MageKing17 75471276fc Adds "don't autorepair if disabled" to blacklist a specific subsystem.
Obviously won't do anything if "repair disabled subsystems" ship flag isn't set. If both subsystem-specific flags get set at the same time, whichever one would be default behavior (based on the presence or absence of the ship-wide flag) gets removed and a Warning generated.
2015-12-02 08:29:04 -08:00
MageKing17 89d6031c79 Adds the ability for subsystems to repair themselves when disabled.
Can either be set for individual subsystems via the "autorepair if disabled" flag, or set for an entire ship via the "repair disabled subsystems" flag. It will, by necessity, only have an effect if the ship's "$Subsystem Repair Rate:" is a positive number.
2015-12-02 08:29:03 -08:00
MageKing17 551d64192c Merge pull request #481 from The-E/vm_vec_cleanup2
Cleanup in vecmat, aile 2
2015-12-02 08:18:37 -08:00
asarium 661678f693 Fix an issue identified by MageKing17 2015-12-02 17:07:53 +01:00
asarium 94ca29735c Quit when the end of the mission is reached 2015-12-02 17:03:54 +01:00
asarium 20f84c179a When benchmarking automatically accept pilot screen 2015-12-02 17:03:54 +01:00
asarium 5f622094af Add commandline option for benchmarking 2015-12-02 17:03:54 +01:00
SamuelCho 64ad950a80 Allow model rendering code to use polymodel_instance. Removes the reliance on ship_model_start/stop for rendering models. Also fix a bunch of oversights involving blown off models in the polymodel_instance code. 2015-12-01 23:53:24 -08:00
niffiwan a30937b041 Merge pull request #484 from chief1983/asan_flag
AddressSanitizer toggle flag for configure.ac
2015-12-02 13:17:18 +10:00
Cliff Gordon 764e1772b0 Remove the -Wno-unused-function hider. Should be able to fix these with this method if any more crop up on Linux. 2015-12-01 20:56:10 -06: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
niffiwan af22ab34d3 Merge pull request #482 from chief1983/fix/187_debugging
Enhance an Assert to help track down how issue 187 could happen
2015-12-02 08:35:53 +10:00
chief1983 c8785dc093 [asan_flag] AddressSanitizer toggle flag for configure.ac. 2015-12-01 16:32:32 -06:00
Cliff Gordon 870ad9e3ae [fix/187_debugging] Enhance an Assert to help track down how issue 187 could happen. 2015-12-01 14:54:57 -06:00
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
MageKing17 d6b0e9f566 Merge pull request #480 from The-E/mat_inverse_cleanup
Addressing a few small issues with PR 468
2015-12-01 07:35:31 -08:00
Fabian Woltermann 22e6de42a4 Remove comment here 2015-12-01 13:04:22 +01:00
Fabian Woltermann 9548002890 Removing code that has no place here 2015-12-01 11:39:28 +01:00
Fabian Woltermann 0334bd0c3b Addressing a few small issues with PR 468 2015-12-01 11:34:00 +01:00
Fabian Woltermann 12b98063fb Merge pull request #474 from Goober5000/hull_hit_soundfx_fix
retail sounds 36 and 37 should actually be converted to 3D
2015-12-01 11:06:37 +01:00
Fabian Woltermann 854bd5ba21 Merge pull request #468 from DahBlount/Fix-reflections-for-real
Final fix for reflections
2015-12-01 11:04:06 +01:00
DahBlount 096029a88d Add Doxygen comments and additional changes 2015-12-01 00:55:30 -07:00
SamuelCho d8ab39e261 This line in the HUD lock gauge wasn't supposed to be deleted. 2015-11-30 23:48:57 -08:00
DahBlount 02d15f36b7 Change a1d to a2d 2015-12-01 00:34:55 -07:00
SamuelCho 66c9e0c136 My attempt to fix the HUD lock scoping issues raised by issue #456. 2015-11-30 23:16:43 -08: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
DahBlount 3fa03fcda0 Fix ENVMAP vertex shader to use the inverse of gl_ModelViewMatrix 2015-11-30 09:36:29 -07:00
niffiwan 94130f8a9e Merge pull request #477 from asarium/antipodes_/sync
Sync Antipodes
2015-11-30 14:10:31 +10:00
Goober5000 cb8154a993 Merge pull request #478 from Yarn366/mantis/3096
Fix for Mantis 3096
2015-11-29 18:16:50 -05:00
Yarn366 a4f793e6dc Use the same FOV for everything in the main view, and apply the pi*(4/9) correction for ships to the briefing view. 2015-11-29 17:22:48 -05:00
asarium c43d177a72 Merge branch 'master' into antipodes_/sync
Conflicts:
	code/freespace2/freespace.cpp
	code/globalincs/pstypes.h
2015-11-29 13:29:04 +01:00
m!m e36e9ff879 Merge pull request #473 from rtoijala/unix_modlist
Unix modlist
2015-11-28 19:43:47 +01:00
Risto Toijala 3287ff6b3a unix mods: change error to warning
Ignore failure to open directories that the filesystem gave us.
There's nothing we can do about it.

Also improve missing mod warning.

Tiny style improvement.
2015-11-28 18:20:56 +02:00
Risto Toijala 81092417bd unix mods: use "." instead of full cwd path to avoid error condition 2015-11-28 18:19:50 +02:00
Risto Toijala 947deb8e12 unix mods: switch parent and dir for readability 2015-11-28 18:18:26 +02:00
MageKing17 bd1aa5e455 Modular tables now clear allowed weapons if +noreplace isn't specified.
This makes them behave more like ship flags and should bring them around towards how modders intuitively expect using a modular table to override a ship's allowed weapons to work.

Fixes Mantis 3176.
2015-11-28 06:53:23 -08:00
Goober5000 01e4741da6 Merge pull request #475 from Yarn366/background_editor_spinner_fix
Fix for spinners in background editor
2015-11-28 02:22:18 -05:00
Yarn366 37f4587230 Apply rounding to orientation values so that the spinners in the background editor work properly 2015-11-28 01:56:09 -05:00
Goober5000 e11f6904b4 retail sounds 36 and 37 should actually be converted to 3D 2015-11-28 00:27:27 -05:00
MageKing17 d74981b700 Merge pull request #471 from MageKing17/feature/escort-gauge-right-aligned-names
Add "Right-Align Ship Names:" option to HudGaugeEscort.
2015-11-27 18:24:24 -08:00
MageKing17 6df0a704f2 Add "Right-Align Ship Names:" option to HudGaugeEscort.
It allows the escort gauge to render with ship names right-aligned, as the name would suggest. Changed gr_force_fit_string() to return the width instead redundantly returning the (already modified in-place) string; nothing else actually cares about the return value, so secondary impact should be nonexistent.
2015-11-27 18:22:45 -08:00
Risto Toijala 0b84c18686 also accept backslashes as path separators on unix 2015-11-27 20:16:45 +02:00
Risto Toijala 7523669819 allow subfolders in mod paths 2015-11-27 20:16:45 +02:00
Risto Toijala b1b8ae9668 move unix modlist handling to function 2015-11-27 20:16:45 +02:00
Risto Toijala bddf438fb6 clean up unix mod handling 2015-11-27 20:16:45 +02:00
MageKing17 87d07c9597 Merge pull request #472 from ln-zookeeper/bm_unlock_unload_fixes
Fixes to some bm_unlock and bm_unload calls
2015-11-26 23:53:09 -08:00
Lari Nieminen 407a2356eb Fixed silly syntax error 2015-11-26 18:06:41 +02:00
Lari Nieminen 0c5e6c7281 Fixes to some bm_unlock and bm_unload calls
As requested in https://github.com/scp-fs2open/fs2open.github.com/pull/449/files#r45241401

Note that I also included the ref_count >= 1 check.
2015-11-26 16:35:23 +02:00
m!m 2bd78eee74 Merge pull request #464 from The-E/inline_vecmat_removal
Removing the _INLINE_VECMAT preprocessor define
2015-11-26 13:49:01 +01:00
niffiwan 256ba6f9f2 Remove proposed AI profiles flag
Make the new behaviour the default, the change to gameplay should be
minimal due to the 2-frame feature being by far the largest factor in
current countermeasure effectiveness
2015-11-26 18:57:36 +10:00
niffiwan 040c1f39da Merge pull request #469 from Yarn366/more_hud_table_options
Shivan Hunter's requested HUD table features
2015-11-25 21:07:28 +10:00
Yarn366 8f6bdcddeb Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into more_hud_table_options 2015-11-24 16:32:45 -05:00
m!m ed855e6e1c Merge pull request #467 from PeterMitsis/toolchain
Abstract toolchain capabilities
2015-11-24 09:57:32 +01:00
Yarn366 33c7c4eae9 Added "Radar Center Offsets:" and "Radar Size:" to the 2D and 3D radar gauges 2015-11-23 19:48:04 -05:00
Yarn366 962261421e Added "Dock Max Width:" and "Order Max Width:" to extra target data gauge 2015-11-23 18:29:40 -05:00
Yarn366 5144dba6b4 Added "Fixed Header Position:" to wingman gauge 2015-11-23 18:22:37 -05:00
Peter Mitsis 9bbebfc55e [fix] toolchain: Abstract compiler capabilities
Fixes various typos from the commit titled
    'toolchain: Abstract compiler capabilities'

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-23 06:54:41 -05:00
MageKing17 02fc2b29ca Revert "Fix envmap orientation"
This reverts commit a033f653d0.
2015-11-23 00:20:55 -08:00
Fabian Woltermann b097d3e7c2 Merge pull request #466 from DahBlount/fix/mantis_0003014
Fix Mantis 0003014
2015-11-23 07:40:59 +01:00
DahBlount a033f653d0 Fix envmap orientation 2015-11-22 17:02:06 -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
Peter Mitsis 002dc3a965 toolchain: Introduce __ALIGNED(x) macro
The __ALIGNED(x) macro may be used to tell the compiler to align the
symbol's address to an 'x' byte boundary.  Note that 'x' must be a
power of two.

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-22 11:32:07 -05:00
Peter Mitsis 7da81210ea toolchain: Introduce likely() and unlikely() macros
The likely() and unlikely() macros may be used as hints to the compiler to
indicate whether a branch is likely or unlikely to be taken so that it may
generate code accordingly.

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-22 11:32:07 -05:00
Peter Mitsis 57c16bd58a toolchain: Replace __attribute__((__unused__)) with __UNUSED
Abstracting this allows for the possibility of other compilers to have their
own implementation of marking a variable as potentially unused without using
the __attribute__ keyword (which is not supported on all compilers).

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-22 11:32:07 -05:00
Peter Mitsis 13c86d9540 toolchain: Abstract compiler capabilities
Abstract compiler capabilities to help simplify support for various
toolchains.

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-22 11:32:04 -05:00
niffiwan 338d6c9aaf Allow countermeasures to decoy missiles once only
Adds ai_profiles flag
    $countermeasures decoy a missile once:
Also (re)adds logging to make it easier to figure out what the
countermeasures are doing. Try adding "+countermeasures" to your
debug_filter.cfg file.
2015-11-22 20:36:03 +10:00
Goober5000 d59c4d44cc Merge pull request #461 from niffiwan/fix/cm_float_int
CMEASURE_DETONATE_DISTANCE should be a float
2015-11-21 14:32:05 -05:00
niffiwan 0e07f4414e CMEASURE_DETONATE_DISTANCE should be a float
Thanks to Goober5000 for noticing this
2015-11-21 21:18:08 +10:00
Fabian Woltermann 71cf169a0a Merge pull request #457 from asarium/feature/versionCheck
Add "$Minimum version" to game settings table
2015-11-21 11:08:13 +01:00
Fabian Woltermann 184a583a32 Merge pull request #459 from MageKing17/bugfix/support-subsystem-repair
Fix support subsystem repair rate (for real this time).
2015-11-20 17:24:47 +01:00
Fabian Woltermann fd66a432f5 Merge pull request #458 from MageKing17/cleanup/version-specific-comment-consistency
Improve consistency/flexibility of version-specific comments.
2015-11-20 17:23:47 +01:00
MageKing17 039359e7f2 Fix support subsystem repair rate (for real this time).
PR #445 was unfortunately incomplete; it fixed the time estimate for repairs, but not the actual repair part. I think I've identified which piece of code was preventing the actual repairs from working. This "repair_allocated > 0" conditional is actively preventing the "sip->sup_hull_repair_rate == 0.0f" branch from executing (so repair_allocated remains 0 and subsystems can't actually repair).
2015-11-20 06:50:49 -08:00
asarium 0bb6002f0a Fix compilation error
Apparently multi_update.cpp isn't used anywhere in the code. That file
could be removed in the future.
2015-11-20 12:24:10 +01:00
MageKing17 91dbf8b751 Improve consistency/flexibility of version-specific comments.
matches_version_specific_tag() now uses the previously-FRED-only scan_fso_version_string() function, meaning it now supports version-specific comments with as few numbers as ;;FSO 3;; to as many numbers as ;;FSO 3.7.3.20151106;;, instead of you being required to supply exactly 3 numbers.
2015-11-20 03:22:45 -08:00
Fabian Woltermann 0c6bada5d5 Merge pull request #455 from Goober5000/set_arrival_info_sexp_help_tweak
improve sexp help regarding bitmasks on ship-arrival-info and ship-departure-info
2015-11-20 12:10:59 +01:00
asarium 519e89b6fa Add "$Minimum version" to game settings table
This allows a modder to specify a minimum FSO version that is needed
for the mod.
2015-11-20 11:51:51 +01:00
Goober5000 ce7c7eb3f5 Merge pull request #454 from MageKing17/bugfix/lua-wing-indexer-crash
Fix various issues with wings in the Lua interface
2015-11-20 01:31:39 -05:00
Goober5000 8f3342f05e improve sexp help regarding bitmasks on ship-arrival-info and ship-departure-info 2015-11-20 00:41:46 -05:00
MageKing17 6dd3158570 Make l_Wing functions handle invalid handles.
Indexing an invalid wing handle now returns invalid ship handles, getting its length returns 0, and getting its name returns an empty string.
2015-11-19 20:27:32 -08:00
MageKing17 004fdae08f Clean up a couple minor issues in lua.cpp
A few comparisons weren't excluding their upper bounds properly, and the documentation for the l_Wing length function was the documentation for the l_Mission_Wings length function.
2015-11-19 20:20:47 -08:00
MageKing17 8fcb1ee789 Add isValid() function to l_Wing objects.
The l_Mission_Wings indexer will return an invalid wing if supplied an invalid name/index. However, you had no way of telling that this was the case because there was no isValid() function to test its validity.
2015-11-19 20:18:31 -08:00
MageKing17 9630d80827 Change wing_name_lookup() to wing_lookup() in l_Mission_Wings indexer.
Avoids inconsistency whereby some wings could be looked up by index but not by name.
2015-11-19 20:16:37 -08:00
niffiwan e49159bd91 Merge pull request #418 from asarium/build/native
Use -march=native for linux builds
2015-11-20 14:10:44 +10:00
niffiwan a13542616d Merge pull request #452 from MageKing17/bugfix/too-many-classes-error
Change warning from too many ship/weapon classes to an error.
2015-11-20 14:09:28 +10:00
Fabian Woltermann 1960723f88 Merge pull request #453 from Yarn366/target_font_height_fix
Target bracket line height fix
2015-11-19 22:54:17 +01:00
asarium 206fbabaa5 Use -march=native for linux builds 2015-11-19 22:38:19 +01:00
MageKing17 5394b4943d Change warning from too many ship/weapon classes to an error.
If a modular table broke the weapons limit, it would warn about too many weapon classes, and then not actually skip the entry, because of the "if(!replace)" conditional around it, resulting in nonsensical parsing errors. Rather than just fix this error, it was suggested on IRC (by The_E) that these problems should instead cause immediate errors. Upon reflection, this makes more sense: if the mod exceeds the limits, there's little point in loading it anyway and having things be missing.

Hopefully, eventually, these limits will be removed altogether, but until then, exceeding them should not just be a dismissible warning.
2015-11-19 12:37:45 -08:00
Yarn366 69f9d9f090 Make the target bracket gauge account for the sizes of the font and the attacker blip 2015-11-19 15:35:31 -05:00
niffiwan 1cb08e0262 Merge pull request #450 from asarium/fix/subModelRange
Make this Assert a little more informative
2015-11-19 07:07:09 +10:00
asarium 154a50028b Make this Assert a little more informative 2015-11-18 18:43:19 +01:00
niffiwan 26d97ce5d7 Merge pull request #446 from asarium/antipodes_/deleteOldFiles
Remove some now unused files
2015-11-18 09:40:11 +10:00
niffiwan e11771980e Merge pull request #447 from MageKing17/bugfix/fred-message-delete-assert
Fix incorrect assertion in FRED's Event Editor when deleting a message.
2015-11-18 09:39:35 +10:00
MageKing17 edbec0fca9 Fix incorrect assertion in FRED's Event Editor when deleting a message.
The function can get called with an m_cur_msg of -1 if there are no messages defined by the mission; since this is apparently intended behavior (and causes no problems thanks to the immediately-following if-statement), may as well change this assertion.
2015-11-17 14:08:38 -08:00
asarium f2cbb687b7 Remove some now unused files 2015-11-17 16:05:21 +01:00
m!m 2c268e4ec6 Merge pull request #437 from niffiwan/feature/aspect_lost_lock_det
Allow aspect missiles to die when have lost lock
2015-11-16 20:10:42 +01:00
m!m 2a9cff4f46 Merge pull request #443 from DahBlount/InBriefMissionChange
Add jumpToMission LUA function and a jump to hub function
2015-11-16 19:58:34 +01:00
DahBlount 9050c08bec Add jumpToMission LUA function and a jump to hub function
The purpose of this function is to provide modders the capability to jump to a mission using LUA scripts. There is an optional argument for jumping to a hub mission, a good example is the JAD campaign map.
2015-11-16 10:45:59 -07:00
Goober5000 799ebe01ce Merge pull request #445 from DahBlount/Subsys-Repair-Fix
Fix support subsystem repair rate
2015-11-15 20:26:18 -05:00
DahBlount 248c398ba9 Fix support subsystem repair rate 2015-11-15 17:44:26 -07:00
Goober5000 96ede6f68b Merge pull request #433 from Yarn366/multiple_background_adjustment
Change criteria for using second mission background
2015-11-15 01:07:53 -05:00
Goober5000 8177c03f3f Merge pull request #423 from niffiwan/feature/customise_cm_det_rad
Add two small countermeasure features
2015-11-15 01:01:39 -05:00
m!m 546339c53a Merge pull request #440 from The-E/no_persona_defaulting
small error correction
2015-11-14 23:20:14 +01:00
The E f790b3b0c6 small error correction 2015-11-14 23:13:32 +01:00
m!m bbcfe162da Merge pull request #439 from The-E/no_persona_defaulting
Adds Persona flag "$Allow substitution of missing messages:"
2015-11-14 15:54:44 +01:00
m!m 51efc000ab Merge pull request #435 from PeterMitsis/lighting-apply-keywords
Lighting apply keywords
2015-11-14 14:35:57 +01:00
The E cbad1cf10f Addressing style comments 2015-11-14 13:30:51 +01:00
Peter Mitsis 56343f0d03 lighting: remove void keyword from empty argument list
Routines in the lighting module that do not have any arguments do not
need the 'void' keyword in either their definitions or declarations.

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-14 07:08:52 -05:00
The E 67d51037ff Adds Persona flag "$Allow substitution of missing messages:" 2015-11-14 12:55:41 +01:00
Goober5000 9bd51acb58 Merge pull request #430 from niffiwan/ant-uk_backslash
Fix issue with backslash on UK keyboards
2015-11-14 00:18:18 -05:00
Goober5000 47d82a007f Merge pull request #434 from asarium/multi/staticAssert
Check the size of data in multi packets
2015-11-13 21:20:44 -05:00
m!m 036000f79c Merge pull request #438 from DahBlount/Damage-Attenuation-Update
Deprecate +Min Damage and +Max Damage, add +Attenuation Damage:
2015-11-13 21:51:58 +01:00
DahBlount 3e6fb113ee Deprecate +Min Damage and +Max Damage, add +Attenuation Damage: 2015-11-13 12:26:04 -07:00
MageKing17 515f9fffb5 Merge pull request #431 from The-E/more_ship_classes
Upped MAX_SHIP_CLASSES to 500
2015-11-13 07:13:21 -08:00
asarium 28c9512727 Fix compilation
Now the static_asserts use the types from cstdint
2015-11-13 11:52:52 +01:00
Fabian Woltermann e9a3e457cc Merge pull request #426 from Yarn366/events_editor_filename_fix
Fix for crash in events editor
2015-11-12 19:27:17 +01:00
Fabian Woltermann 3637a9717c Merge pull request #427 from DahBlount/Directional-Beam-Glows
Directional beam glows
2015-11-12 19:26:27 +01:00
niffiwan ed6637031d Allow aspect missiles to die when have lost lock
Note that aspect missiles don't lose lock when their target dies, I'll
see about adding that later
2015-11-12 19:09:59 +10:00
Peter Mitsis f5ccad9619 lighting: Apply keywords
Applies the following keywords to the lighting module:
   const
   static
   void
   extern

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-11 11:20:01 -05:00
Peter Mitsis b10de88cf0 lighting: Remove unused global variables
The following global variables from the lighting module were unused
and are being removed:
	int cell_shaded_lightmap = -1;
	int spec = 0;

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-11 11:20:01 -05:00
asarium 34a7f7d60f Check the size of data in multi packets
This will make sure that compiler changes that affect the size of a
type are noticed early.
2015-11-11 14:56:14 +01:00
niffiwan 1b9892f363 Remove obsolete comment 2015-11-11 22:16:35 +10:00
Yarn366 9d6b373781 Undid the function name changes 2015-11-10 23:22:34 -05:00
Yarn366 05eb4c0617 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into multiple_background_adjustment 2015-11-10 19:51:08 -05:00
Yarn366 320fd33431 If even one element in the first mission background is missing, fall back to the second background if it exists 2015-11-10 19:48:54 -05:00
niffiwan 22832957f3 Merge pull request #432 from MageKing17/bugfix/ship-turret-target-order
Fix ship-turret-target-order.
2015-11-11 09:26:38 +10:00
MageKing17 dba2d28265 Fix ship-turret-target-order.
We were declaring an array of NUM_TURRET_ORDER_TYPES ints, and then only specifying the first oindex of them; the memcpy() could've been changed to multiply by oindex instead, but it seemed cleaner to just reset new_target_order to -1 in all values and get rid of the redundant per-ship reset.

Discovered by triggering an Int3() in aiturret.cpp (line 1167 as of this writing) and finding uninitialized values in the turret_targeting_order array.
2015-11-10 14:55:55 -08:00
The E 647f6a867b Upped MAX_SHIP_CLASSES to 500 2015-11-10 15:55:46 +01:00
niffiwan c7866a774a Fix issue with backslash on UK keyboards 2015-11-10 17:45:35 +10:00
DahBlount 89d072e18c Add +Directonal Glow:
This goes directly below +Muzzleglow: in $Beam Info: and causes the muzzle glow to be rendered along a projected poly instead of a bitmap.
Takes a float argument that is the length of the glow.
2015-11-09 14:28:40 -07:00
Yarn366 b1e7a2a1bf Don't add an extension to a sound's file name if the extension is supposed to be present already 2015-11-09 00:31:40 -05:00
niffiwan 4849f443aa Missed two places to use killer_infop 2015-11-08 14:51:04 +10:00
niffiwan aff81fe471 Countermeasures can detonate a single missile
As opposed to detonating all missiles within a radius. Is more
efficient than previous code that traversed the entire missile object
list to find all the missiles to detonate

Add to weapons tbl/tbm
$Countermeasure:
    +Single Missile Kill:   False
2015-11-08 14:42:29 +10:00
niffiwan 26d40553b2 Allow countermeasure kill-distance to be moddable
Trivial efficiency improvement by calculating a pointer once & reusing
it. Add more countermeasure nprintf messages

Add to weapons tbl/tbm
$Countermeasure:
    +Missile Detonation Radius: 40
2015-11-08 14:41:40 +10:00
MageKing17 f876b89c24 Merge pull request #422 from niffiwan/cleanup/subsys_path_assert
Change Assert to Error
2015-11-07 20:20:40 -08:00
niffiwan 2c8d921d64 Change Assert to Error
This seems to be a data error rather than a coding error. Also provide
the user with more info to assist with tracking down the source of the
problem.
2015-11-08 13:04:13 +10:00
Fabian Woltermann fc52668f30 Merge pull request #421 from Echelon9/fix/gr_opengl_init
Small tweaks to gr_opengl_init()
2015-11-07 14:35:13 +01:00
Echelon9 97c5a29b76 Better wrap to 80 character lines where sensible in gr_opengl_init() 2015-11-07 23:17:42 +11:00
Echelon9 fa9bd1c446 Whitespace clean up 2015-11-07 23:17:42 +11:00
Echelon9 04352920ee Export opengl_tnl_init(), so that it doesn't need to be extern'd. Consistent with opengl_tnl_shutdown() 2015-11-07 23:17:42 +11:00
Echelon9 8111924f9b OpenGL: Use the Core rather than older Extension form of GL_MAX_TEXTURE_IMAGE_UNITS 2015-11-07 23:17:42 +11:00
Echelon9 a11c69673e Const correctness for ver in gr_opengl_init() 2015-11-07 23:17:42 +11:00
MageKing17 ee730d23c9 Merge pull request #420 from Echelon9/fix/GL_SHADING_LANGUAGE_VERSION
Use the Core rather than older Extension form of GL_SHADING_LANGUAGE_VERSION
2015-11-07 04:07:29 -08:00
Echelon9 0b61d0bd8e OpenGL: Use the Core rather than older Extension form of GL_SHADING_LANGUAGE_VERSION. 2015-11-07 21:52:43 +11:00
Fabian Woltermann 0fcde305ec Merge pull request #419 from Echelon9/fix/GLSL4-sample-keyword
OpenGL: As of GLSL 4.00 'sample' is a keyword
2015-11-07 08:21:42 +01:00
Echelon9 697c900a25 OpenGL: As of GLSL 4.00 'sample' is a keyword. See further Section 3.6 Keywords https://www.opengl.org/registry/doc/GLSLangSpec.4.00.7.pdf 2015-11-07 14:44:06 +11:00
m!m fbc9ede423 Merge pull request #398 from Goober5000/g3_const
const-correctness inspired by #392, because why not be masochistic
2015-11-06 16:51:32 +01:00
m!m 0f36c6905d Merge pull request #417 from niffiwan/shadows_default_off
Disable shadows by default
2015-11-05 23:15:19 +01:00
niffiwan 1d66596bfb Disable shadows by default
Enable shadows with -enable_shadows
-shadow_quality should still work
2015-11-06 07:59:03 +10:00
Fabian Woltermann 444874b110 Merge pull request #416 from Goober5000/shipfx_shadow_function_retval_tweaks
change these functions to return bool rather than int; fixes a minor warning
2015-11-05 17:35:02 +01:00
Goober5000 b704050c21 change these functions to return bool rather than int; fixes a minor warning 2015-11-05 00:36:06 -05:00
MageKing17 5676dbf9bd Merge pull request #414 from Goober5000/issue_412_fix
properly close the fiction viewer when returning to the main menu
2015-11-04 03:04:09 -08:00
Goober5000 564f31aeab properly close the fiction viewer when returning to the main menu 2015-11-04 00:54:02 -05:00
niffiwan 0ea25e79a9 Merge pull request #411 from The-E/sexp_profiling
Profiling support for mission events and scripts
2015-11-03 22:32:51 +10:00
The E 5a37992d3d Adds profiling for sexp events and lua On Frame scripts. 2015-11-03 13:10:07 +01:00
Fabian Woltermann 3ade9ae1de Merge pull request #389 from Goober5000/shipfx_eye_in_shadow_alt_pr
Alternative suggested PR to #384
2015-11-02 09:51:17 +01:00
Fabian Woltermann f2aea8e69d Merge pull request #410 from niffiwan/valgrind/ds_load_buffer
Fix memory leak in ds_load_buffer
2015-11-02 09:50:08 +01:00
niffiwan 5c74720265 Fix memory leak in ds_load_buffer 2015-11-01 19:33:10 +10:00
niffiwan 556e9a4447 Merge pull request #404 from Yarn366/scalable_head_anis
Scalable head ANIs
2015-11-01 15:41:42 +10:00
MageKing17 f48a31c610 Merge pull request #409 from asarium/antipodes_/sync
Sync Antipodes
2015-10-31 15:10:25 -07:00
Goober5000 1bd8e11194 Merge pull request #401 from niffiwan/fix/missionparse_ammo_II
Guard against negative array index reads
2015-10-31 15:08:49 -04:00
asarium 5f23381c07 Merge branch 'master' into antipodes_/sync
Conflicts:
	code/cmdline/cmdline.cpp
	code/globalincs/pstypes.h
	code/globalincs/windebug.cpp
	code/graphics/2d.cpp
	code/windows_stub/stubs.cpp
2015-10-31 17:18:29 +01:00
m!m bfc34953eb Merge pull request #408 from niffiwan/coverity/modeling_update
Model Assert/Assertion as Coverity killpaths
2015-10-31 11:46:11 +01:00
niffiwan 1c84c54e4f Model Assert/Assertion as Coverity killpaths 2015-10-31 20:17:12 +10:00
Goober5000 d790301fab Merge pull request #407 from niffiwan/valgrind/control_configs
Fix memory leak from Control_config_presets
2015-10-31 00:31:09 -04:00
niffiwan 253d8a7eb1 Fix memory leak from Control_config_presets 2015-10-31 14:06:56 +10:00
Goober5000 dc3c5fb561 Merge pull request #406 from niffiwan/travis/fix_cov_scan_builds
Fix coverity_scan builds
2015-10-30 23:39:59 -04:00
niffiwan eb1ff0f433 Fix coverity_scan builds
i.e. they should be building debug, not release
2015-10-31 12:51:33 +10:00
Fabian Woltermann 30564248a6 Merge pull request #405 from niffiwan/valgrind/camera_leak
Fix memory leak in cam_create/cam_close
2015-10-30 16:45:06 +01:00
niffiwan 9dfa67b64d Correctly compare vector .end() 2015-10-30 22:01:06 +10:00
Yarn366 c3c7477114 Made head animations scale to the size of the gauge window. Also deprecated "Animation Background Size" parameter and added the more accurately named "Animation Size" parameter, which sets how large animations should be. 2015-10-29 14:35:08 -04:00
Goober5000 bbad1c2159 more const-correctness per PR comments 2015-10-29 09:34:18 -04:00
niffiwan bb6e01caaf Merge pull request #403 from Yarn366/sparky_hi_fallback_fix
Sparky hi fallback fix
2015-10-29 19:05:07 +10:00
Yarn366 fc941e9ca8 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into sparky_hi_fallback_fix 2015-10-28 18:26:49 -04:00
Yarn366 93e8e3ab6f Resolutions below 1024x600 are no longer changed to 800x600 if sparky_hi_fs2.vp is missing.
In addition, the gr_get_resolution_class function has been added to avoid duplication of its code.
2015-10-28 18:21:31 -04:00
Goober5000 14eec21c68 Merge pull request #384 from The-E/mc_info_constructor
Better handling for mc_info
2015-10-28 08:48:57 -04:00
niffiwan 1ceae13be2 Guard against negative array index reads
Also convert Assert to Assertion to provide more info
2015-10-28 21:53:57 +10:00
niffiwan fb20632b18 Fix memory leak in cam_create/cam_close 2015-10-28 21:26:00 +10:00
niffiwan 62fcbeaae8 Merge pull request #380 from Goober5000/wf_never_existed_removal
remove WF_NEVER_EXISTED
2015-10-28 19:35:46 +10:00
niffiwan 4250751ccc Merge pull request #393 from Goober5000/convert_qsort_to_std_sort
convert qsort to std::sort
2015-10-28 19:33:12 +10:00
Fabian Woltermann 0a08b6348b Revert "Removes inline keyword from mc_info_init declaration"
This reverts commit c789b117cf.
2015-10-28 09:19:21 +01:00
Fabian Woltermann c789b117cf Removes inline keyword from mc_info_init declaration 2015-10-28 08:54:03 +01:00
niffiwan cc84210ac4 Merge pull request #399 from Goober5000/const_cast_trimming
remove obsolete const_casts
2015-10-28 17:13:36 +10:00
Goober5000 8a125ab019 remove obsolete const_casts 2015-10-28 00:18:31 -04:00
Goober5000 a7dcda9000 wip to avoid const_cast 2015-10-28 00:02:35 -04:00
Goober5000 bfc0948f1c let's change this antipattern here too 2015-10-27 22:52:03 -04:00
Goober5000 75411d92bb const-correctness inspired by 392, because why not be masochistic 2015-10-27 22:46:35 -04:00
MageKing17 afe29c60fe Merge pull request #392 from DahBlount/CLoseup-zoom-testing
Fix Closeup_Pos and Closeup_Zoom
2015-10-27 17:16:50 -07:00
m!m b0befdc1ba Merge pull request #397 from MageKing17/bugfix/issue-396
Restore local SSM behavior.
2015-10-27 22:55:39 +01:00
DahBlount 51c61b5144 Change closeup_pos in draw_model_icon() to a pointer 2015-10-27 15:51:45 -06:00
DahBlount 6cf105b768 Fix Closeup_Pos and Closeup_Zoom
The draw_model_rotating() and draw_model_icon() functions were receiving
the whole Weapon_Info array instead of a single weapon_info object (wip
in this case).
2015-10-27 15:51:44 -06:00
MageKing17 5fd09f8557 Restore local SSM behavior broken by 88e7c83. Fixes issue #396.
Not sure how I missed that when reviewing the PR, but there you go.
2015-10-27 14:48:21 -07:00
Fabian Woltermann 630ab5a3cc Makes sure mc_info_init sets everything to safe data. 2015-10-27 08:24:06 +01:00
Fabian Woltermann e28640ded0 Revert "Introduces a proper constructor for mc_info and removes the mc_info_init function on grounds of grave misuse of memset."
This reverts commit 35e34ac97c.
2015-10-27 08:15:45 +01:00
m!m 3708f101b4 Merge pull request #394 from niffiwan/valgrind/csg_read_missions
Fix memory leaks in mission_campaign_load
2015-10-26 23:15:24 +01:00
m!m 332b9fa4a4 Merge pull request #395 from The-E/debug_sexp_fix
Fix the debug sexp
2015-10-26 23:07:03 +01:00
The E e6aa565b42 Name change as suggested by m|m 2015-10-26 20:31:24 +01:00
The E 788e28c646 Creates a new variant of Warning that is not #ifdefed out on release to make the debug sexp work as its description implies 2015-10-26 19:47:51 +01:00
Goober5000 6ccf4116fc Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com into wf_never_existed_removal 2015-10-26 02:27:10 -04:00
Goober5000 c4240324fb the comment really shouldn't have changed from the original retail '// if the current wave is zero, it never existed', because it illuminates the thought process behind the code 2015-10-26 02:26:51 -04:00
niffiwan 4fc2d9c610 Fix memory leaks in mission_campaign_load 2015-10-26 13:49:21 +10:00
Goober5000 ccc71a8e8b looks like we'll need them in these three other files too 2015-10-25 21:20:57 -04:00
Goober5000 7dde0a79a7 that was just dumb 2015-10-25 21:14:08 -04:00
Goober5000 e895f86e44 come on, Travis 2015-10-25 20:48:02 -04:00
Goober5000 31e9a0dd7d more linux compatibility 2015-10-25 20:23:26 -04:00
Goober5000 505de1b905 linux compatibility 2015-10-25 19:51:50 -04:00
Goober5000 b82d0c579d convert qsort to std::sort 2015-10-25 19:16:36 -04:00
niffiwan 68d2e5f0eb Merge pull request #391 from Goober5000/fred_completion_music_text_tweak
tweak the FRED and wxFRED dialog text to match the action
2015-10-26 08:46:33 +10:00
Goober5000 3c4861859b tweak the FRED and wxFRED dialog text to match the action 2015-10-25 16:33:28 -04:00
Fabian Woltermann 8ab5cd3085 Merge pull request #390 from Goober5000/game_sunspot_process_tweak
small optimization of shadow checks
2015-10-24 21:51:18 +02:00
Goober5000 eaa09dd862 small optimization of shadow checks 2015-10-24 15:42:06 -04:00
Goober5000 45c8ed8926 Merge pull request #383 from niffiwan/valgrind/generic_anim_stream
Fix memory leaks in generic_anim_stream
2015-10-24 15:18:50 -04:00
Goober5000 1f6fc358f8 just a tweak to avoid comparing whitespace 2015-10-24 15:07:58 -04:00
Goober5000 5b8584b892 clarify the use of mc_info_init, and make sure that model_instance_num and submodel_num have the proper values 2015-10-24 15:06:58 -04:00
MageKing17 0cdac667a3 Merge pull request #385 from asarium/coverity/1093606
Fix Coverity 1093606 for real this time
2015-10-24 05:41:26 -07:00
MageKing17 5137787a99 Merge pull request #388 from asarium/coverity/1093600
Revert "Fix for Coverity 1093600: Negative array index read"
2015-10-24 05:40:56 -07:00
asarium ddacb8cf32 Revert "Fix for Coverity 1093600: Negative array index read"
This reverts commit 2aa569c1e7.

As discussed in #386 hud_squadmsg_is_target_order_valid actually doesn't properly catch cases where the target_objnum may be -1.
2015-10-24 14:16:31 +02:00
asarium 88e7c83a8e Fix Coverity 1093606 for real this time 2015-10-24 12:53:03 +02:00
niffiwan 5b489da8a8 Merge pull request #376 from asarium/ci/fatalWarnings
Travis CI: Make warnings fatal errors
2015-10-24 20:08:53 +10:00
The E 35e34ac97c Introduces a proper constructor for mc_info and removes the mc_info_init function on grounds of grave misuse of memset. 2015-10-24 09:58:38 +02:00
MageKing17 1ba35d42ae Merge pull request #369 from The-E/player-fighterbays
Allow ships to arrive from hangars on player ships
2015-10-24 00:36:02 -07:00
niffiwan 409ba384b0 Fix memory leaks in generic_anim_stream 2015-10-24 15:04:13 +10:00
niffiwan 51c2a61d76 Merge pull request #382 from asarium/valgrind/1
Fix memory leak in bm_load_animation
2015-10-24 08:42:36 +10:00
asarium f1fd9f9a3d Fix memory leak in bm_load_animation 2015-10-23 22:35:56 +02:00
Goober5000 96d32b5031 remove WF_NEVER_EXISTED 2015-10-22 23:27:43 -04:00
Fabian Woltermann 21a16fbf15 Change this line back to what it was, with more accurate comment 2015-10-16 11:27:40 +02:00
Fabian Woltermann 76b6f954da Merge pull request #377 from MageKing17/bugfix/sexps-accessing-wrong-nodes
Fixes numerous SEXPs accessing the wrong nodes.
2015-10-16 06:06:58 +02:00
MageKing17 064a07349f Fixes numerous SEXPs accessing the wrong nodes.
Affected SEXPs include turret-set-target-order, turret-set-direction-preference, turret-set-rate-of-fire, turret-set-optimum-range, ship-turret-target-order, turret-get-primary-ammo, turret-set-primary-ammo, turret-get-secondary-ammo, and turret-set-secondary-ammo.

It's worth noting that while turret-set-direction-preference, turret-set-rate-of-fire, and turret-set-optimum-range were wrong, they were wrong in a way that wouldn't actually affect the outcome most of the time (thanks to the "if(turret == NULL)" checks simply skipping invalid subsystem names).
2015-10-15 18:58:27 -07:00
asarium bcedaee793 Fix "uninitialized variable warning" 2015-10-14 18:54:14 +02:00
asarium a020095b07 Disable array bounds checks in a Travis build 2015-10-14 18:44:57 +02:00
asarium a5f918a811 Remove -ansi option as it's not supported by clang 2015-10-14 18:20:44 +02:00
asarium 4e21d9ee79 Make error fatal when doing a CI build 2015-10-14 18:09:16 +02:00
asarium 7efd107bfa Fix format warning and syntax error 2015-10-14 18:07:45 +02:00
asarium 9f4589df65 Fix unitialized variable warning
GCC was complaining about an uninitialized warning but that was probably a false positive.
2015-10-14 17:51:21 +02:00
asarium 1d2153794c Fix an overflow warning
Signed overflow is not well defined in the standard but unsinged it so now that is used to determine if the model index counter has overflown.
2015-10-14 17:45:46 +02:00
asarium 4a40aad107 Fix invalid index warning
The new version now prints the name of the help overlay that could not be added.
2015-10-14 17:44:03 +02:00
asarium 14f1ceec4d Fix "unused return" warnings 2015-10-14 17:41:31 +02:00
Fabian Woltermann 2f78ae308b Consistency for the doxygen comments 2015-10-13 10:17:35 +02:00
Fabian Woltermann bc788d6cb7 More comment cleanup 2015-10-13 09:29:07 +02:00
Fabian Woltermann f1b9c15618 More comment tweaks 2015-10-13 09:15:52 +02:00
Fabian Woltermann eab9fab9ca Further, non-multi-breaking changes as suggested by MageKing17. 2015-10-13 09:11:36 +02:00
Fabian Woltermann a6d3982c7c Merge pull request #375 from MageKing17/bugfix/homing_pos-null-check
Check IS_VEC_NULL(&wp->homing_pos) for det_radius and arm_radius.
2015-10-13 08:01:48 +02:00
MageKing17 7852d13ce5 Check IS_VEC_NULL(&wp->homing_pos) for det_radius and arm_radius.
"$Detonation Radius:" and "$Arm radius:" would both rely on wp->homing_pos being set if wp->homing_object was; however, during free flight time, wp->homing_pos remains uninitialized (a null vector). As a result, their vm_vec_dist() calls would be comparing with the distance from the mission origin (coordinates 0,0,0) instead of the actual location of whatever they were homing in on. In the case of detonation radius, this would result in instant detonation on launch if you fired within det_radius of the mission origin. In the case of arm radius, this would result in the weapon being armed during free flight if launched within the arm_radius of the origin (and yes, you could theoretically experience the effects of both of these bugs simultaneously).

Theoretically, this solution is still less than ideal (a target sitting exactly on the mission origin could cause wonkiness), but it's consistent with the IS_VEC_NULL() checks elsewhere in weapons.cpp. A "proper" solution would basically require rewriting the entire homing code... which, obviously, if somebody would like to volunteer for, I wouldn't stop you ;). In the meantime, firing a homing weapon at a target sitting on the mission origin is even less likely than firing a weapon with one of the affected attributes within a certain distance of the mission origin, which was already pretty uncommon (it took a weapon with an abnormally large detonation radius of 1 kilometer to even realize this bug existed).
2015-10-12 22:48:15 -07:00
Fabian Woltermann ad62f1d342 Merge pull request #374 from MageKing17/bugfix/homing-object-NULL-confusion
Stop comparing/setting homing_object to NULL.
2015-10-13 07:23:34 +02:00
MageKing17 75ae511ae6 Stop comparing/setting homing_object to NULL.
The rest of the codebase uses &obj_used_list to mean "no homing target", and the inconsistency could cause all kinds of issues.
2015-10-12 16:10:05 -07:00
niffiwan 89ebdd9bc1 Merge pull request #373 from MageKing17/bugfix/turret-ammo-bank-3-typo
Fix a typo in the weapon editor dialogue for turret bank 3 ammo.
2015-10-13 08:27:41 +10:00
MageKing17 ccd6d1e619 Fix a typo in the weapon editor dialogue for turret bank 3 ammo. 2015-10-12 15:12:13 -07:00
Fabian Woltermann ca47f62e94 Merge pull request #342 from asarium/antipodes_/multiDisplay
Add support for specifying the used display
2015-10-09 08:21:25 +02:00
Fabian Woltermann db8990f61a Merge pull request #365 from asarium/antipodes_/sync
Sync Antipodes
2015-10-09 08:19:09 +02:00
Fabian Woltermann 92ace8e983 Further comment tweaks 2015-10-08 09:49:48 +02:00
MageKing17 61f2e78515 Merge pull request #370 from Goober5000/memset_bugfix
fix a memset typo identified by Echelon9
2015-10-05 12:38:59 -07:00
Goober5000 ebd81d9539 fix a memset typo identified by Echelon9 2015-10-05 11:49:54 -04:00
Fabian Woltermann d3df7ef2b1 Adds explanatory comments and applies the same logic to the net signature overload. 2015-10-05 08:08:46 +02:00
The E 99306be6cf Amendment based on Kara's feedback. Should allow same behaviour in both SP and MP. 2015-10-04 12:23:35 +02:00
The E 6835d2bf9f Only remove the player ship from the arrival list in singleplayer 2015-10-03 22:15:57 +02:00
Goober5000 3f9ce3b6a5 Merge pull request #368 from asarium/fix/configureType
Fix typo in configure.ac
2015-10-03 14:12:27 -04:00
asarium 08067bc871 Fix typo in configure.ac 2015-10-03 19:18:52 +02:00
MageKing17 415f113f4d Merge pull request #366 from The-E/ciws
Fixes the logic surrounding the ciws flag
2015-10-02 13:54:52 -07:00
MageKing17 a5b504bb85 Merge pull request #367 from The-E/longer-descriptions
Slightly increases the length limit for tech descriptions.
2015-10-02 13:54:09 -07:00
The E 9f94568d2f Slightly increases the length limit for tech descriptions. 2015-10-02 20:37:04 +02:00
The E ad4fed744e Normalizes the logic to work the same way in both cases 2015-10-02 20:22:51 +02:00
The E 0a081fb292 Fixes the logic surrounding the ciws flag 2015-10-02 19:33:09 +02:00
asarium f08466f0f3 Merge branch 'master' into antipodes_/sync
Conflicts:
	ci/travis/before_install.sh
	ci/travis/install.sh
	code/sound/voicerec.cpp
2015-10-01 22:45:10 +02:00
Fabian Woltermann efa5dc9620 Merge pull request #364 from Goober5000/background_bitmaps_tweak
made background sexp errors less fatal
2015-10-01 18:18:24 +02:00
Goober5000 bfb4db1dd4 made background sexp errors less fatal 2015-09-30 23:36:47 -04:00
MageKing17 2d56358755 Merge pull request #363 from DahBlount/Fix-debug-warning-in-Min/Max-Damage-definition-code
Additional debub warning move
2015-09-30 14:41:00 -07:00
DahBlount d52e27dcc4 Move debug warnings to optional_string()
Only check if we actually set a value for min or max damage.
2015-09-30 13:54:18 -06:00
Fabian Woltermann 12acacbba8 Merge pull request #362 from DahBlount/Fix-debug-warning-in-Min/Max-Damage-definition-code
Fix debug warning in min max damage definition code
2015-09-30 21:43:13 +02:00
DahBlount 3bbabea978 Add additional checks to min/max damage code
This checks the damage attenuation code for have a parameter being set
to 0.0f before hand to prevent debug warnings.
2015-09-30 13:19:10 -06:00
m!m cdc43731af Merge pull request #361 from Goober5000/cfile_null_bugfix
cfclose() will hit an assertion if we try to close a null pointer
2015-09-30 21:08:03 +02:00
Goober5000 edc806897f cfclose() will hit an assertion if we try to close a null pointer 2015-09-30 15:03:00 -04:00
MageKing17 f32a6e7ab9 Merge pull request #359 from ln-zookeeper/fotg_to_master
Make the array bounds check actually work
2015-09-25 12:30:14 -07:00
Lari Nieminen 2e9b2de40a Make the array bounds check actually work 2015-09-24 09:25:59 +03:00
MageKing17 69ab8c179d Merge pull request #357 from Goober5000/fiction_viewer_conditional_support
Fiction viewer conditional support
2015-09-23 16:14:46 -07:00
Goober5000 37657fc537 oh rubbish 2015-09-23 18:39:51 -04:00
Goober5000 1a5a0d6a7f change an Error to an Assertion, and made Fiction_viewer_text use nullptr instead of NULL 2015-09-23 18:38:34 -04:00
m!m 1a196cbd7a Merge pull request #356 from MageKing17/cleanup/voice-recognition-mantis-2373
Voice recognition cleanup based on Mantis #2373 patch.
2015-09-23 23:32:46 +02:00
MageKing17 89a6d69e08 Voice recognition cleanup based on Mantis #2373 patch.
* Frees cpAudio pointer in VOICEREC_deinit()
* Validates that the ship/wing can actually take orders, and validates that it can take the specific order in question before trying to send it.
* Reports the confidence of the voice match if DEBUG_ON is set.
* Various commenting changes based on the patch.

Not included: using confidence to discard voice matches that fall below a certain confidence level. I haven't noticed a tendency towards spurious matches, and I didn't want to introduce this without additional data, especially when it might cause problems for people with different accents (and ESPECIALLY without a setting to tweak the threshold value, which the original patch did not have; it was hardcoded at 90%).
2015-09-23 14:10:02 -07:00
Goober5000 b59c015df2 fix a subtle bug caught by Travis 2015-09-22 21:32:19 -04:00
Goober5000 c90db8c498 Merge pull request #314 from MageKing17/cleanup/fred-save-refactor
Refactor mission saving to avoid duplicate code.
2015-09-22 21:19:23 -04:00
Goober5000 cc79554f7a keep track of the active stage via index rather than via pointer because the vector may be resized 2015-09-22 20:39:37 -04:00
Goober5000 3df6bb82db add basic conditional support to fiction viewer stages 2015-09-22 20:17:31 -04:00
Goober5000 56a9391e31 some const-correctness 2015-09-22 19:02:10 -04:00
niffiwan bc5b7e6906 Merge pull request #355 from ln-zookeeper/l_cf_get_path_id_buf_fix
Fix possible out of bounds array access
2015-09-22 19:13:01 +10:00
Lari Nieminen 6dc3d67905 Fix possible out of bounds array access
If the input string is "/", then buf[-1] would get accessed and in rare cases also modified.
2015-09-22 11:43:20 +03:00
Goober5000 0d1764d42e Merge pull request #353 from Yarn366/per_mission_ui_backgrounds
Per-mission UI backgrounds
2015-09-21 17:02:03 -04:00
MageKing17 f4f31084fa Merge pull request #354 from Goober5000/no_move_collision_tweak
collision optimization: two objects which do not move will never coll…
2015-09-21 13:56:38 -07:00
Goober5000 5fb98551c9 collision optimization: two objects which do not move will never collide with one another 2015-09-21 16:30:19 -04:00
Yarn366 5f58aaa392 Merge branch 'master' into per_mission_ui_backgrounds 2015-09-20 21:05:46 -04:00
Yarn366 484be09275 Added support for custom fiction viewer backgrounds. Also moved the $UI parameter so it occurs just before the $File parameter. 2015-09-20 15:59:29 -04:00
m!m 26e65cc9e5 Merge pull request #350 from niffiwan/headzlessIII
Reduce bmpslot usage by headz
2015-09-19 12:49:11 +02:00
Fabian Woltermann 26bca473e2 Merge pull request #352 from niffiwan/headz_comment_fix
Fix comment for HudGaugeTalkingHead::render
2015-09-19 11:00:32 +02:00
niffiwan 0132e2a320 Fix comment for HudGaugeTalkingHead::render 2015-09-19 18:55:30 +10:00
Yarn366 873694eae2 Added unified functions for loading and saving custom UI backgrounds 2015-09-19 04:47:11 -04:00
niffiwan 0b1c916352 Merge pull request #351 from MageKing17/cleanup/scripting-call-bm_release-instead-of-bm_unload
Make script_state::UnloadImages() call bm_release instead of bm_unload.
2015-09-19 15:09:50 +10:00
MageKing17 835c4a7d0e Make script_state::UnloadImages() call bm_release instead of bm_unload.
Should result in reduced BMPMAN slot usage with certain scripts as bm_unload() unloads the image data but holds on to the slot, while bm_release() releases the slot.
2015-09-18 21:22:07 -07:00
Yarn366 f0c0d60a11 Fiction viewer UI can now be set in mission files and game_settings.tbl 2015-09-18 21:51:24 -04:00
niffiwan 12f4bcfd9b Reduce bmpslot usage by headz
As headani's (both ANI & EFF) are streamed there's no need to have
the anim data in bmpman, the streaming code does that with only two
slots, rather than one slot per ani frame
Also fix a "leak" in the streaming code use of bmpman slots. i.e. each
time a message was played another slot would be used & not released
2015-09-18 19:34:28 +10:00
niffiwan 30c8d09c55 Merge pull request #349 from MageKing17/bugfix/for-counter-double-free
Fix double-free with for-counter (introduced by myself).
2015-09-17 13:06:06 +10:00
MageKing17 53f7f493cf Merge pull request #335 from ln-zookeeper/fotg_to_master
Fixed the $On Ship Arrive hook code as per issue #334 and PR #333
2015-09-16 19:58:01 -07:00
MageKing17 24b0b28f6a Fix double-free with for-counter (introduced by myself).
In 9ec10dd I thought I was fixing a memory leak, but the actual scenario was that the freeing was just delayed until later. This removes the freeing added by 9ec10dd and changes the free() calls into vm_free() calls.
2015-09-16 19:55:24 -07:00
Yarn366 0af93bcceb Fixed attempts to access current debriefing as an array when saving the debriefing background 2015-09-16 14:24:59 -04:00
Yarn366 9cb1af00aa Added support for custom command briefing backgrounds 2015-09-16 14:06:15 -04:00
Yarn366 4ef212157a Briefing backgrounds are now set with $briefing_background_xxx instead of $background_xxx 2015-09-16 02:17:53 -04:00
Yarn366 3bb9b0068c Added support for custom debriefing backgrounds 2015-09-16 01:32:57 -04:00
Yarn366 09aa01db6b Added support for custom weapon select backgrounds 2015-09-16 00:14:54 -04:00
Yarn366 36cc228527 Added support for custom ship select backgrounds 2015-09-15 23:49:43 -04:00
niffiwan 022e3324ce Merge pull request #348 from MageKing17/bugfix/dont-call-popup-during-gr_init
Stop calling popup() during gr_init().
2015-09-16 11:15:25 +10:00
Yarn366 f41c5a2a65 Added support for custom red-alert backgrounds 2015-09-15 21:08:25 -04:00
MageKing17 d672ee885f Stop calling popup() during gr_init().
While investigating issue #345, it was discovered that `popup()` is getting called during `gr_init()` (and since this is before `gamesnd_parse_soundstbl()` gets called, the eventual call to `gamesnd_play_iface()` results in reading invalid memory). Given that this is basically relying on a feature in the middle of the function initializing it, and given that both lines are preceded by `mprintf()` calls saying basically the same thing, it seems the best solution is to just remove the troublesome lines altogether.
2015-09-15 17:59:16 -07:00
MageKing17 3329285192 Refactor mission saving to avoid duplicate code.
Makes save_mission_file() and autosave_mission_file() delegate to a new save_mission_internal() function. Tested and works with both manual and automatic saves.

As an aside, this fixes a slight inconsistency between manual and automatic saving (which inspired this refactor in the first place): when the order of save_fiction() and save_cutscenes() was swapped (in r10886 a.k.a. d6e0a73), autosave_mission_file() wasn't also changed, so autosaves of missions with "#Cutscenes" sections can't actually be loaded.
2015-09-10 13:34:57 -07:00
z64555 9df07cda5e Merge pull request #343 from Echelon9/fix/bm_load_and_parse_eff-return-type
Refactor bm_load_and_parse_eff() return type to bool
2015-09-08 09:48:53 -05:00
Echelon9 d7eca39338 Refactor bm_load_and_parse_eff() return type to bool, thereby removing a TODO 2015-09-08 22:14:43 +08:00
z64555 d1e6aa2b4f Merge pull request #344 from Echelon9/fix/bm_set_render_target-return-type
Refactor bm_set_render_target() return type to bool
2015-09-08 09:02:14 -05:00
Echelon9 b7aaf2e885 Refactor bm_set_render_target() return type to bool, thereby removing a TODO 2015-09-07 17:07:24 +10:00
asarium 28c40ae888 Add support for specifying the used display 2015-09-06 22:34:09 +02:00
m!m 0339f1ba62 Merge pull request #341 from MageKing17/bugfix/mantis-3173
Fix Mantis #3173.
2015-09-06 14:45:28 +02:00
MageKing17 1a0f2cf0e0 Fix Mantis #3173.
So in PR #294, I made 0-damage beams call the damage-applying code so they could be used to TAG things. The way I did this was I removed the do_damage check from the conditional before the switch block that handles beams damaging things.

This was a horrible mistake.

do_damage was set to 0 if a beam dealt <= 0 damage, but before that, it would only be set to 1 if the damage timestamp had elapsed. Removing the do_damage check caused damaging beams to deal damage every frame, which obviously will cause a substantial damage increase (well, unless your framerate was so low that beams would deal less than their full damage anyway).

This commit restores the do_damage check, and simply avoids setting do_damage to 0 if the beam isn't a damaging one (the <= 0 check is moved to beam_get_ship_damage() instead, so we can skip the attenuation calculation if we're not going to deal damage in the first place).
2015-09-06 05:33:30 -07:00
niffiwan e7136c8875 Merge pull request #339 from asarium/antipodes_/fix/openglFlip
Workaround for freezing when exiting abnormally
2015-09-04 09:38:41 +10:00
Lari Nieminen 473090e9e0 Made $On Ship Arrive cope with generic anchors (e.g. "<any hostile>")
This changes the interface of mission_set_arrival_location() to return the objnum of the anchor (if any; -1 otherwise).
2015-09-04 01:23:32 +03:00
Fabian Woltermann d5a2238225 Merge pull request #340 from asarium/fix/unneededWarnings
Re-enable two gcc warnings
2015-09-03 18:10:32 +02:00
m!m cbec552c19 Merge pull request #338 from Goober5000/sound_index_tweak2
Sound index tweak2
2015-09-03 17:02:38 +02:00
asarium 032aa154de Re-enable two warnings
The unknown pragmas have been fixed by wrapping them in a visual studio ifdef
2015-09-03 15:38:33 +02:00
Fabian Woltermann b23227d08d Merge pull request #336 from asarium/antipodes_/betterStacktrace
Improve linux stacktraces
2015-09-03 13:39:05 +02:00
asarium 855982ac38 Workaround for freezing when exiting abnormally
When using the Linux AMD proprietary driver FSO gets stuck when trying to swap buffers when performing an abnormal shutdown (e.g. when exiting via a dialog). This skips the gr_flip calls when we are going to close as it doesn't matter anyway.
2015-09-03 13:09:37 +02:00
Goober5000 3b5ba969cc change the Warning to an mprintf since technically SSM entries do not need a name 2015-09-02 22:49:31 -04:00
Goober5000 be5fdd0308 sprintf_s only works in Visual Studio; change to regular sprintf 2015-09-02 22:45:46 -04:00
Goober5000 abd31038e7 a bit of code cleanup with some robustness for SSM entry names 2015-09-02 22:45:38 -04:00
Goober5000 902fd5efbc fix a VS2013 warning 2015-09-02 22:45:24 -04:00
Goober5000 7db9adae00 since Alarm Sound is optional, it's possible the sound index won't get assigned 2015-09-02 22:45:04 -04:00
m!m f82a730f7e Merge pull request #337 from Yarn366/mantis/3172
Fixed language autodetection
2015-09-02 23:44:08 +02:00
Yarn366 932a5230e9 Fixed language autodetection 2015-09-02 17:13:33 -04:00
asarium a38908af19 Improve linux stacktraces
The new version of dumP-stacktrace uses abi::__cxa_demangle to determine the real name of a C++ function instead of printing the mangled name to the stacktrace.
2015-09-02 16:28:20 +02:00
Lari Nieminen 81d18573aa Fixed the $On Ship Arrive hook code as per issue #334 and PR #333 2015-09-02 10:53:21 +03:00
Fabian Woltermann fadd4e6d18 Merge pull request #327 from Goober5000/per_mission_briefing_backgrounds
mjn.mixael's request for per-mission briefing backgrounds
2015-08-31 09:03:05 +02:00
Fabian Woltermann e02adc2b8f Merge pull request #329 from asarium/antipodes_/stubsCleanup
Remove usage of HMMIO
2015-08-31 09:02:06 +02:00
Fabian Woltermann 6484a19094 Merge pull request #331 from AxemP/NoBeamFlashImpact
Removes the beam flash impact from appearing when viewing from the hit object's cockpit
2015-08-31 09:00:01 +02:00
Fabian Woltermann 66c9b7584c Merge pull request #330 from asarium/antipodes_/messageBoxCleanup
Replace Win32 MessageBox with os::dialogs version
2015-08-31 08:58:54 +02:00
z64555 98fba0c00b Merge pull request #328 from niffiwan/bmpslots
Add debug console command to log bmpman slot info
2015-08-30 18:47:57 -05:00
MageKing17 f95db90cc0 Merge pull request #332 from niffiwan/bmp_eff_cleanup
Minor bmpman/generic anim cleanup
2015-08-30 10:19:37 -07:00
niffiwan 2199863587 Minor bmpman/generic anim cleanup
Remove redundant Assert from bm_load_animation
Replace magic numbers in EFF streaming animations
2015-08-30 14:50:21 +10:00
asarium d57eefde7f Undefine MessageBox if it is defined 2015-08-29 23:01:38 +02:00
MageKing17 df8317f3ed Merge pull request #311 from ln-zookeeper/fotg_to_master
Added Lua functions to read mouse/joystick sensitivity and deadzone
2015-08-29 09:38:21 -07:00
Axem cc08e986a2 Don't need that 2015-08-29 11:19:48 -05:00
Axem 65cce032d3 Merge branch 'NoBeamFlashImpact' of https://github.com/AxemP/fs2open.github.com.git 2015-08-29 11:15:36 -05:00
Axem b8479fba88 I am comitting this! 2015-08-29 11:15:32 -05:00
Axem 7f22a80af6 Prelim work 2015-08-29 11:14:38 -05:00
Lari Nieminen 58b8f2a33c Added Lua functions to read mouse/joystick sensitivity and deadzone 2015-08-29 16:54:19 +03:00
asarium 451d451417 Replace Win32 MessageBox with os::dialogs version
Also moved SCP_MessageBox into os::dialogs namespace
2015-08-28 16:24:35 +02:00
Fabian Woltermann d8bd42722d Merge pull request #322 from z64555/enhancement/joy_asynch
joy_asynch - Enables SDL's event handling for joystick axes
2015-08-28 12:02:28 +02:00
asarium 45ba56a721 Remove usages of mmio 2015-08-28 11:47:26 +02:00
asarium b500e072da Use cross-platform compatible struct 2015-08-28 11:46:10 +02:00
asarium 9589751f3d Remove now unused compatibility function 2015-08-28 10:55:07 +02:00
Fabian Woltermann 90aee951e5 Merge pull request #325 from asarium/antipodes_/fix/cursor
Fix cursor initialization
2015-08-27 22:29:20 +02:00
asarium d5528551e1 Fix cursor initialization
Now matches the code in master and if FSO isn't launched in the correct directory displays the correct error message instead of an assertion.
2015-08-27 21:52:00 +02:00
Fabian Woltermann 47484ab363 Merge pull request #319 from asarium/antipodes_/sync
Sync Antipodes
2015-08-27 21:50:19 +02:00
Fabian Woltermann 0aec74ae29 Merge pull request #320 from asarium/ci/container
Travis CI: Switch to container infrastructure
2015-08-27 21:49:36 +02:00
asarium 4e6a1ae716 Switch to container infrastructure 2015-08-27 21:39:23 +02:00
z64555 f8d8c32d4e Use correct C library for limits.h this time 2015-08-27 05:58:31 -05:00
niffiwan ebca85531c Add debug console command to log bmpman slot info 2015-08-27 20:06:35 +10:00
m!m 0954d4e4ee Merge pull request #326 from MageKing17/bugfix/mantis-3144
Fix Mantis #3144.
2015-08-27 11:46:12 +02:00
MageKing17 ddace0c233 Add clarifying comment per m!m's note on GitHub. 2015-08-27 02:43:18 -07:00
m!m 7a38519a83 Merge pull request #302 from niffiwan/coverity+travis
Integrate Coverity with Travis CI
2015-08-27 10:49:12 +02:00
Goober5000 05d4e44c97 mjn.mixael's request for per-mission briefing backgrounds; see http://www.hard-light.net/forums/index.php?topic=90337.0 2015-08-27 01:22:14 -04:00
MageKing17 d4d6ab3fd7 Fix Mantis #3144.
Stops stripping newlines from ship descriptions, and resizes the text width according to Yarn's findings.
2015-08-26 20:36:43 -07:00
niffiwan 3754bfbfdf Merge branch 'master' into coverity+travis
Conflicts:
	.travis.yml
2015-08-27 12:40:33 +10:00
MageKing17 3a5f7143a2 Merge pull request #321 from Goober5000/subsystem_mprintf_fix
the model filename is useful to have in the debug message
2015-08-24 10:15:47 -07:00
Goober5000 b2215ddf7d the model filename is useful to have in the debug message 2015-08-24 12:59:15 -04:00
asarium 73e6f1fc07 Fix gcc/clang compilation warnings 2015-08-24 12:20:50 +02:00
asarium e08ba026f8 Merge branch 'master' into antipodes_/sync
Conflicts:
	.travis.yml
	code/cmdline/cmdline.cpp
	code/fs2netd/fs2netd_client.cpp
	code/fs2netd/tcp_client.cpp
	code/globalincs/pstypes.h
	code/graphics/2d.cpp
	code/graphics/2d.h
	code/parse/lua.cpp
	code/parse/scripting.cpp
	code/windows_stub/stubs.cpp
	configure.ac
	projects/MSVC_2012/Freespace2.vcxproj
	projects/MSVC_2012/code.vcxproj
	projects/MSVC_2013/code.vcxproj
	projects/MSVC_2015/code.vcxproj
2015-08-24 12:10:16 +02:00
z64555 b51e8c00de simplify joystick_read_raw_axis() 2015-08-24 03:07:42 -05:00
z64555 23b2bf5d84 Instate usage of consts instead of magic numbers 2015-08-24 03:05:10 -05:00
m!m 50feb3ed08 Merge pull request #315 from niffiwan/eff_streaming_is_done
Remove obsolete comments
2015-08-23 12:31:44 +02:00
niffiwan a6f2cc5937 Remove obsolete comments
EFF streaming was implemented in 48e0517e (svn r9109)
2015-08-23 20:26:01 +10:00
niffiwan 545287cebf Merge pull request #307 from asarium/ci/macosx
Add CI support for MacOSX
2015-08-23 19:52:15 +10:00
m!m 84a315d1db Merge pull request #8 from niffiwan/asarium-ci_macosx
We need sudo; force it on
2015-08-23 10:11:43 +02:00
niffiwan 00c3733670 Merge pull request #313 from MageKing17/bugfix/fred-ship-loadout-invalid-memory
Replaces a reference to MAX_SHIP_CLASSES with Ship_info.size().
2015-08-23 14:10:00 +10:00
niffiwan 7fdfdc6134 We need sudo; force it on 2015-08-23 13:53:13 +10:00
MageKing17 6a69b02bbb Replaces a reference to MAX_SHIP_CLASSES with Ship_info.size().
This would cause FRED to treat essentially unspecified pieces of memory as ship classes and then see if this nonsense class had the SIF_DEFAULT_PLAYER_SHIP flag set... and if so, put it in the default list of available ships. With a debug build (where the memory past the end of Ship_info is all identical for quite a ways), this could result in the default, empty mission saving as 60 megabytes.
2015-08-22 18:33:22 -07:00
Goober5000 886deddf99 Merge pull request #306 from MageKing17/bugfix/call-ssm-strike-warning
Fixes call-ssm-strike resulting in a Warning about a null vec3d.
2015-08-22 18:36:14 -04:00
MageKing17 360a55be63 Merge pull request #312 from MageKing17/bugfix/on-turret-fired-swarm-fix
Fix null pointer dereference with swarm turrets and "$On Turret Fired:".
2015-08-22 15:12:30 -07:00
MageKing17 91d25a8744 Fix null pointer dereference with swarm turrets and "$On Turret Fired:".
Forgot to set last_fired_turret and its last_fired_weapon_info_index, causing CHA_ONTURRETFIRED to crash as soon as a swarm turret fired.

Oops.
2015-08-22 14:29:27 -07:00
MageKing17 c990f44f82 Merge pull request #310 from ln-zookeeper/fotg_to_master
Supplement +Disable with +Disable: <bool>, to allow the table to enab…
2015-08-22 12:32:58 -07:00
Lari Nieminen 0d8f6f26ce Supplement +Disable with +Disable: <bool>, to allow the table to enable binds disabled by default 2015-08-22 22:18:07 +03:00
MageKing17 55b857f269 Merge pull request #260 from ln-zookeeper/fotg_to_master
Whitespace and commenting tweaks
2015-08-22 11:58:19 -07:00
Lari Nieminen 00fa839d1d Added a few comments and fixed typos in some others 2015-08-22 21:55:37 +03:00
Goober5000 ef3bb65d63 Merge pull request #305 from MageKing17/bugfix/fred-glowpoint-init
Makes FRED call glowpoint_init().
2015-08-22 14:17:26 -04:00
m!m 56ab9e02c8 Merge pull request #304 from MageKing17/bugfix/parselo-char-fix
Makes vsprintf() stop chopping off the last character. Fixes issue #298.
2015-08-22 19:21:30 +02:00
MageKing17 cbcb053fbc Merge pull request #309 from asarium/fix/drawSubsystem
Fix gr.drawSubsystemTargetingBrackets
2015-08-22 10:16:07 -07:00
asarium b76bccb9ef Actually set the bounds of the drawn subsystem 2015-08-22 17:16:42 +02:00
Axem a535d66fc8 Prelim work 2015-08-22 08:36:58 -05:00
m!m be4cac366b Merge pull request #308 from niffiwan/gcc-warn
Fix gcc warning in ship/ship.cpp
2015-08-22 13:06:56 +02:00
m!m a691e81e14 Merge pull request #303 from MageKing17/bugfix/lua-null-pointer-checks
Add null pointer checks throughout lua.cpp.
2015-08-22 13:06:23 +02:00
asarium 07fcd05fff Add CI support for MacOSX
Requires enabling the multi-os feature of travis CI
2015-08-22 12:59:49 +02:00
niffiwan 9737994de5 Fix gcc warning in ship/ship.cpp
Use SIZE_T_ARG in Warning
2015-08-22 20:45:45 +10:00
MageKing17 fe1db37902 Makes FRED call glowpoint_init().
Avoids a constant stream of warnings when using "$Glowpoint overrides:".
2015-08-22 03:40:27 -07:00
MageKing17 238dbc5749 Makes vsprintf() stop chopping off the last character. Fixes issue #298.
Also fixes saving missions in FRED, since it uses the same function.
2015-08-22 03:38:16 -07:00
MageKing17 cd3b543e56 Add null pointer checks throughout lua.cpp.
Previously, the "this != NULL" checks in the isValid() methods were covering most of these cases, but they were removed as part of PR #274 because clang was generating warnings because calling a method on a null pointer is undefined behavior (so the condition *should* be tautological). This performs the checks outside of isValid(), which should avoid (at least this variety of) undefined behavior while fixing the crashes that dereferencing null pointers was causing.
2015-08-22 03:36:26 -07:00
niffiwan b3c1441d06 Integrate Coverity with Travis CI
This should let Coverity run a scan via Travis whenever commits
are pushed to the "coverity_scan" branch.
Some hackery is required to avoid submitting too many builds to
Coverity. See travis-ci/travis-ci#1975 for details.
2015-08-22 18:39:55 +10:00
MageKing17 fb8ffcacfd Fixes call-ssm-strike resulting in a Warning about a null vec3d.
ssm_create() subtracts the start coordinates from the position of the target, and then normalizes that. Since call-ssm-strike was using the position of the target as the start coordinates, this was obviously resulting in normalizing a null vec3d, generating the spurious warning. This just makes call-ssm-strike use a point immediately behind the target's position (using the target's orientation) as the starting coordinate, thereby avoiding the warning.
2015-08-21 21:12:03 -07:00
niffiwan 0061718de4 Merge pull request #301 from MageKing17/bugfix/check-sexp-syntax
Fix check_sexp_syntax() so it works properly with OPF_SSM_CLASS.
2015-08-22 13:57:59 +10:00
MageKing17 d7ff43a1d1 Fix check_sexp_syntax() so it works properly with OPF_SSM_CLASS.
Also makes OP_BEAM_FLOATING_FIRE grab the correct ship_index for the subsystem check.
2015-08-21 13:41:45 -07:00
MageKing17 a748be2315 Merge pull request #300 from z64555/enhancement/nojoypoll
Removes joystick polling. Joy axes are now queried every frame.
2015-08-21 12:42:01 -07:00
z64555 f56f0c471d Removes joystick polling. Joy axes are now queried every frame. 2015-08-21 14:32:07 -05:00
MageKing17 b610b9b246 Merge pull request #299 from niffiwan/bmp_overflow
Fix Coverity 1093366: Operands don't affect result
2015-08-21 09:47:02 -07:00
niffiwan 00a0b1bae7 Fix Coverity 1093366: Operands don't affect result
The previous check was always false, replace with something that should
safely detect uint overflow
2015-08-21 22:49:28 +10:00
Fabian Woltermann 509bd8c010 Merge pull request #294 from MageKing17/feature/beam-tagging-with-no-damage
Remove do_damage check before calling hit functions in beam collisions.
2015-08-21 09:32:29 +02:00
Fabian Woltermann 9afae0b64d Merge pull request #287 from MageKing17/feature/on-turret-fired-for-all
Add CHA_ONTURRETFIRED support to beam and swarm turrets.
2015-08-21 09:31:32 +02:00
Cliff Gordon 0a2b97c3bc Merge pull request #41 from MageKing17/ship_info
Ship_info vectorization, ship templates.
2015-08-20 21:51:18 -05:00
MageKing17 52a2ac542e Merge pull request #296 from asarium/fix/vsprintf
Fix SCP_string version of vsprintf
2015-08-20 19:47:47 -07:00
Cliff Gordon 9bc635e098 Merge pull request #288 from MageKing17/feature/glide-decay-ai-profile-flag
Makes glide decay work even when not thrusting.
2015-08-20 21:46:42 -05:00
Cliff Gordon f824df070b Merge pull request #290 from MageKing17/cleanup/move-voice-recognition-grammar-files
Move the temporary grammar files into the build directory.
2015-08-20 21:34:10 -05:00
z64555 afe2f2dac6 Merge pull request #297 from MageKing17/bugfix/mantis-2436
Fix Mantis #2436. Does the mouse mapping within player_control_read_stick vs. trying to remap later on.
2015-08-20 16:57:54 -05:00
MageKing17 72af3059e9 Fix Mantis #2436.
Instead of the mouse's axes being automatically bound to heading/pitch/throttle, it finds what the axes are bound to (by looking through Axis_map_to[]) and modifies the corresponding values.
2015-08-20 14:53:01 -07:00
asarium 51832fd563 Fix SCP_string version of vsprintf
The previous version didn't use the c-library which would cause incompatibilities with formats that assume all format specified to be supported.
2015-08-20 22:52:49 +02:00
MageKing17 059af731a7 Merge pull request #295 from ln-zookeeper/master
Revert "Fixes Mantis #2436: Mouse controls ignore the axis binds." du…
2015-08-20 13:50:01 -07:00
Lari Nieminen b4c625c51a Revert "Fixes Mantis #2436: Mouse controls ignore the axis binds." due to the joystick axis problems it caused
This reverts commit da71e629b4.
2015-08-20 22:07:56 +03:00
z64555 882bb85232 forgot to shift the value from sdl 2015-08-20 08:17:16 -05:00
z64555 a82784756c Enables asychronous joystick polling 2015-08-20 07:24:40 -05:00
MageKing17 27d85189ea Remove do_damage check before calling hit functions in beam collisions.
This should allow 0-damage beams to be used to apply TAG effects.
2015-08-19 22:17:05 -07:00
MageKing17 b296300365 Simplify some references to Weapon_info[b->weapon_info_index].
These were all referenced when there was already a weapon_info pointer to that element; it makes more sense to use that pointer instead of re-indexing Weapon_info[].
2015-08-19 22:15:23 -07:00
MageKing17 a5bff0c192 Merge pull request #293 from chief1983/fix/292_warnings_part_b
Fix/292 warnings part b
2015-08-19 16:47:17 -07:00
MageKing17 20279838bf Move the temporary grammar files into the build directory.
These are only used for voice recognition on Windows. In addition, the gc.exe shouldn't be needed locally since it should be included with SAPI, which Visual Studio 2010 and later should already include.

I also tried to backport some of the changes from the 2013/2015 project files to the 2010/2012 project files, but lack of certain compiler flags made me tend to err on the conservative side in that regard.
2015-08-19 16:33:13 -07:00
Cliff Gordon f0c4bf2e3a [fix/292_warnings_part_b] Cast Frametime (of type fix) to int for printf specifier to avoid a warning. 2015-08-19 17:01:07 -05:00
Cliff Gordon 38e48bec16 [fix/292_warnings_part_b] Remove deprecated register type hint. 2015-08-19 17:01:07 -05:00
MageKing17 e5b7d48989 Add a couple more static_cast<int>()s to get rid of warnings. 2015-08-19 14:52:15 -07:00
Cliff Gordon 6850ac6fe0 Merge pull request #291 from asarium/fix/ssm-warnings
Fix warning introduced by #289
2015-08-19 16:05:42 -05:00
asarium 0c80c8d8c0 Fix warning introduced by #289 2015-08-19 22:34:08 +02:00
MageKing17 64c9b272e7 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/pilotfile/pilotfile.cpp
2015-08-19 11:53:25 -07:00
m!m 42ddd2fe5f Merge pull request #289 from MageKing17/feature/variable-ssm-strikes
Allow SSM(/SSB) strikes to be more variable.
2015-08-19 20:39:29 +02:00
MageKing17 692c86c8e6 Allow SSM(/SSB) strikes to be more variable.
Allows specifying a min/max for count, radius, and/or offset. To make them variable, instead of e.g. "+Count:", specify "+Min Count:", which adds a requirement for "+Max Count:". Each time the strike is activated, it will pick a different random count, and each projectile in the strike will have a different random radius and offset.
2015-08-19 11:36:50 -07:00
MageKing17 ba2fe6603c Merge pull request #274 from asarium/fix/printf
Fix remaining gcc/clang warnings
2015-08-19 10:37:13 -07:00
asarium 71d3139d14 Remove commented line 2015-08-19 11:26:32 +02:00
asarium 8d564da80c Fix for loop 2015-08-19 11:26:32 +02:00
asarium e037b08e2e Add doxygen documentation for format macros 2015-08-19 11:26:32 +02:00
asarium 1d65102292 Fix alignment in tcp_client.cpp 2015-08-19 11:26:32 +02:00
asarium 3a69db26eb Fix unneded checks for this != nullptr in lua.cpp 2015-08-19 11:26:31 +02:00
asarium e075241e54 Fix unneded check for this != nullptr in object.h 2015-08-19 11:26:31 +02:00
asarium 191194dfa7 Remove part of condition that is always true
Fixes a clang compiler warning
2015-08-19 11:26:31 +02:00
asarium 733b020bf5 Fix unneded check for this != nullptr in wmcgui.h 2015-08-19 11:26:31 +02:00
asarium 9ec178f116 Use the right version of abs 2015-08-19 11:26:31 +02:00
asarium fb068f6037 Fix invalid pointer comparision warning
This should match what the code is actually supposed to do
2015-08-19 11:26:31 +02:00
asarium bb6045d762 Check if the compiler supports the -Wno-unused-but-set-variable flag 2015-08-19 11:26:31 +02:00
asarium e8bb02bed3 Disable a few warnings in release mode
These will happen if debug builds use variables for debug checks
2015-08-19 11:26:31 +02:00
asarium a6e93c7d46 Fix another braces warning 2015-08-19 11:26:30 +02:00
asarium 1cd7744d34 Fix "operator '?:' has lower precedence" warning
I think the ?: expression was meant to take precedence
2015-08-19 11:26:30 +02:00
asarium fc3166ac52 Fix suggest braces around initialization of subobject warning 2015-08-19 11:26:30 +02:00
asarium 3826e24da2 Fix format warning in stubs.cpp 2015-08-19 11:26:30 +02:00
asarium 3ece769330 Fix format warnings in weapons.cpp 2015-08-19 11:26:30 +02:00
asarium 6ac1326dc8 Fix format warning in species_defs.cpp 2015-08-19 11:26:30 +02:00
asarium 03b26baf55 Fix format warning in ds.cpp 2015-08-19 11:26:30 +02:00
asarium 4b25b49432 Fix format warning in plr.cpp 2015-08-19 11:26:30 +02:00
asarium 721422f951 Fix format warning in pilotfile.cpp
Also fixes a logic error in the code (I think...)
2015-08-19 11:26:29 +02:00
asarium 509d11c29d Fix format warning in csg.cpp 2015-08-19 11:26:29 +02:00
asarium eb765b0c99 Fir format warnings in parselo.cpp 2015-08-19 11:26:29 +02:00
asarium 3d06468e2a Fix format warnings in lua.cpp 2015-08-19 11:26:29 +02:00
asarium 1de9ad1ace Fix format warnings in object.cpp 2015-08-19 11:26:29 +02:00
asarium 559198a2e4 Fix format warning in collideshipweapon.cpp 2015-08-19 11:26:29 +02:00
asarium 6b093f2ee9 Fix set but unused variable warning in multiutil.cpp 2015-08-19 11:26:29 +02:00
asarium 280ceabb45 Fix format warning in multi_options.cpp 2015-08-19 11:26:28 +02:00
asarium ff51e79531 Fix set but unused variable warning in chat_api.cpp 2015-08-19 11:26:28 +02:00
asarium 9cbf944dee Fix format warning in modelread.cpp 2015-08-19 11:26:28 +02:00
asarium 1ded65c3d0 Fix invalid usage of mprintf 2015-08-19 11:26:28 +02:00
asarium c26bd197dc Fix format warning in mainhallmenu.cpp 2015-08-19 11:26:28 +02:00
asarium 32b35ba62c Fix format warnings in credits.cpp 2015-08-19 11:26:28 +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
asarium 6a5e660ff3 Fix format warnings in lighting.cpp 2015-08-19 11:26:28 +02:00
asarium aaf470f49b Fix format warning in keycontrol.cpp 2015-08-19 11:26:28 +02:00
asarium 077dc61660 Fix format warnings in hudshield.cpp 2015-08-19 11:26:27 +02:00
asarium 116df2e2c3 Fix set but unused variable warning in grstub.cpp 2015-08-19 11:26:27 +02:00
asarium 4670d5f87f Fix set but unused variable warning in gropengltnl.cpp 2015-08-19 11:26:27 +02:00
asarium f986d28c56 Fix format warnings in safe_string.h 2015-08-19 11:26:27 +02:00
asarium dba0e8b458 Fix format warnings in gamesnd.cpp 2015-08-19 11:26:27 +02:00
asarium cf68c5970e Fix unused but set variable warnings in tcp_client.cpp 2015-08-19 11:26:27 +02:00
asarium fc140194d3 Fix set but unused variable warning in ddsutils.cpp 2015-08-19 11:26:27 +02:00
asarium a0b040c597 Fix unused but set variable error
I removed some function calls but all of them didn't have any side effects so it should be fine.
2015-08-19 11:26:27 +02:00
asarium 89e63d60b8 Fix warnings in decoder16.cpp 2015-08-19 11:26:26 +02:00
asarium 24a0b05b39 Fix unused but defined variable warning in controlsconfig.cpp
It's weird that shift and alt aren't used in this function but I couldn't find any reference to that in the structure for the controls config.
2015-08-19 11:26:26 +02:00
asarium 89f6794a13 Fix C++11 warning in aicode.cpp 2015-08-19 11:26:26 +02:00
asarium f625df5c38 Fix format warning in aicode.cpp 2015-08-19 11:26:26 +02:00
asarium 37eadf4d16 Disable unreferenced function warning 2015-08-19 11:26:26 +02:00
asarium a232a646dc Fix size_t format warnings 2015-08-19 11:26:26 +02:00
asarium 40c81134ac Fix "format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long int’" warning 2015-08-19 11:26:26 +02:00
asarium a63e1a2ba1 Fix invalid usage of mprintf 2015-08-19 11:26:26 +02:00
asarium f00af4d89f Fix "declaration of ‘i’ shadows a previous local" warning 2015-08-19 11:26:25 +02:00
asarium c697dcb926 Fix "comparison between signed and unsigned integer expressions" warning 2015-08-19 11:26:25 +02:00
asarium 29afbe8ef5 Use new macro for size_t printf arguments 2015-08-19 11:26:25 +02:00
asarium 6f01adfb2e Add portable format macros for size_t and ptrdiff_t 2015-08-19 11:26:25 +02:00
asarium 6a578b3fcd Fix non-sensical comparision
std::string::find_* returns std::string::npos if the token couldn't be found.
2015-08-19 11:26:25 +02:00
MageKing17 048d65d3ca Makes glide decay work even when not thrusting.
For any mods that might want to keep the old behavior, adds "$glide decay requires thrust:" AI profile flag.
2015-08-19 00:50:18 -07:00
MageKing17 e94511b7aa Add CHA_ONTURRETFIRED support to beam and swarm turrets. 2015-08-19 00:06:11 -07:00
Fabian Woltermann 8b4f7dde77 Merge pull request #277 from MageKing17/bugfix/infinite-trigger-count
Fix infinite trigger count not interacting correctly with "+Interval:"
2015-08-19 08:33:12 +02:00
MageKing17 990411fd0b Merge pull request #286 from Goober5000/woutersmits_fix
fix an obscure edge-case sexp crash
2015-08-18 23:30:26 -07: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
Goober5000 17851dcc56 fix an obscure edge-case sexp crash
This bug was found by, of all people, woutersmits, while FREDding his happynewyear campaign.  See http://www.hard-light.net/forums/index.php?topic=90069.0 for discussion.  The crash was triggered by the use of ( validate-all-arguments ) as the entire sexp tree for one of his mission events.

This was a two-part fix.  The first part was to ensure that every *-argument sexp (of which validate-all-arguments is but one) is actually used within a when-argument or every-time-argument tree.  More specifically, every sexp operation that expects an argument handler should first check that the arg_handler node actually exists.

The second part was to partially revert one of Taylor's old commits:

Revision: 3644
Author: taylor
Date: Tuesday, October 24, 2006 9:17:24 AM
Message:
various bits of cleanup (warning messages, things that Valgrind complained about, etc.)
fix an out-of-bounds issue on Sexp_nodes[] which was leading to stack corruption

----
Modified : /branches/fs2_open_3_6_9/fs2_open/code/parse/sexp.cpp

This was intended to prevent a -1 array reference into Sexp_nodes[].  What Taylor did was to cause repeated calls of the parent_operator function to loop endlessly at the topmost parent.  But there are certain edge cases (such as the one woutersmits discovered) where you need to know whether a parent is the topmost one.  What Taylor should have done, and what this change does, is to keep the -1 as a valid return value but check for it in the places where it may cause an issue.
2015-08-18 21:32:14 -04:00
MageKing17 062929b8bd Merge pull request #284 from Goober5000/sexp_assertions
various assertions to improve the sexp code
2015-08-18 17:56:39 -07:00
Goober5000 efce7de00d fix syntax error, add node reference 2015-08-18 19:58:34 -04:00
Goober5000 2b032a1dbc tweaks per MageKing17's suggestions 2015-08-18 13:27:57 -04:00
m!m c8053d06b7 Merge pull request #285 from MageKing17/cleanup/hook-variable-removal
Cleanup hook variable removal
2015-08-18 17:52:10 +02:00
MageKing17 ce3755b333 Further hook variables cleanup.
Consolidated a few sequential calls, corrected a few instances of "ObjectB" being removed when "Object" was set, and removed a couple instances of hook variables that weren't set being removed.
2015-08-18 08:11:11 -07:00
MageKing17 313787effb Add RemHookVars() calls to aiturret.cpp, object.cpp, and ship.cpp.
CHA_ONTURRETFIRED wasn't clearing its hook variables. Neither was CHA_ONWPEQUIPPED or CHA_ONWPFIRED, CHA_PRIMARYFIRE, CHA_SECONDARYFIRE, CHA_ONWPSELECTED, or CHA_ONWPDESELECTED.
2015-08-18 07:58:03 -07:00
m!m 2011e86096 Merge pull request #280 from Echelon9/antipodes
Fix antipodes on OS X
2015-08-18 15:55:52 +02:00
Echelon9 a3df507f8a Remove extraneous Apple-specific code to set working directory (no longer effective). 2015-08-18 23:53:26 +10:00
Echelon9 6c153a9ff8 Establish a current working directory on OS X, which is not otherwise set when run via Finder 2015-08-18 23:49:12 +10:00
niffiwan 578083367d Merge pull request #283 from Goober5000/comment-fix
* remove an incorrect comment (the *= multiplies the variable by the …
2015-08-18 18:34:59 +10:00
Goober5000 e1d3838b2e various assertions to improve the sexp code 2015-08-18 01:00:43 -04:00
Goober5000 1bf6f822ae * remove an incorrect comment (the *= multiplies the variable by the entire RHS; it doesn't multiply and then add) 2015-08-18 00:35:51 -04:00
Fabian Woltermann 0ce1f10fee Merge pull request #279 from asarium/antipodes
Sync Antipodes
2015-08-16 22:08:51 +02:00
m!m 081eba90e5 Merge pull request #281 from Echelon9/fix/doc-cfile-init
Document cfile_init() function.
2015-08-16 18:15:48 +02:00
Echelon9 9487688edb Document cfile_init() function. 2015-08-17 01:41:37 +10:00
Echelon9 6c843519a2 Fully address the OS X -psn_* command line issue. 2015-08-17 00:07:49 +10:00
asarium b0acb49fba Add format string macros 2015-08-15 17:10:43 +02:00
asarium 84279530d7 Merge branch 'master' into antipodes
Conflicts:
	code/globalincs/pstypes.h
	code/globalincs/windebug.cpp
	code/windows_stub/stubs.cpp
	projects/MSVC_2015/Freespace2.vcxproj
	projects/MSVC_2015/code.vcxproj
2015-08-15 16:41:34 +02:00
m!m 2240e17413 Merge pull request #278 from Echelon9/fix/doxygen
Fix doxygen documentation
2015-08-15 13:29:03 +02:00
Echelon9 bd0fb590ca Fix incorrect Doxygen comment for bm_lock(). 2015-08-15 13:56:54 +10:00
Echelon9 420558d623 Fix incorrect Doxygen comment, there is no type @ret. 2015-08-15 13:55:05 +10:00
Echelon9 6061df4e65 Fix incorrect Doxygen comment for dc_draw_cursor(). 2015-08-15 13:53:23 +10:00
Echelon9 830e523408 Fix incorrect Doxygen comment for opengl_shader_link_object() and keep line lengths below recommended 80 characters. 2015-08-15 13:51:23 +10:00
Echelon9 a21dd67d85 Fix incorrect Doxygen comment for opengl_shader_create() and keep line lengths below recommended 80 characters. 2015-08-15 13:49:20 +10:00
Echelon9 0319816539 Fix incorrect Doxygen comment for hud_anim_render(). 2015-08-15 13:46:53 +10:00
Echelon9 9bccc64705 Fix incorrect Doxygen comment for free_object_slots(). 2015-08-15 13:45:20 +10:00
m!m 81fe1e3952 Merge pull request #276 from MageKing17/bugfix/beam-create-with-coords
Fix beam-create with targeting coordinates instead of a ship/subsystem.
2015-08-14 21:27:32 +02:00
MageKing17 488a0f1da2 Fix infinite trigger count not interacting correctly with "+Interval:"
There's an undocumented feature whereby negative trigger counts are treated as infinite. However, since it doesn't use the bump_timestamp system of positive trigger counts, it'll behave more like an infinite repeat count (e.g. with "+Interval: 5" it will only check every 5 seconds instead of becoming active again after 5 seconds have passed). This just makes negative values set bump_timestamp and excludes them from resetting the timestamp if the event didn't trigger that frame (checking MEF_USING_TRIGGER_COUNT so that the other behavior is still possible if you set a negative repeat_count and don't specify a trigger_count).
2015-08-14 11:24:47 -07:00
MageKing17 d0cde03a69 Fix beam-create with targeting coordinates instead of a ship/subsystem.
If the subsystem was <none>, sexp_beam_floating_fire() wasn't consuming the node, resulting in it also being parsed as the X coordinate (making it always zero, because atoi("<none>") == 0).
2015-08-14 11:20:33 -07:00
Fabian Woltermann 76f67edb36 Merge pull request #275 from MageKing17/bugfix/actually-call-beam-create
Make beam-create actually call sexp_beam_floating_fire().
2015-08-14 19:51:29 +02:00
MageKing17 cbeb03b2d5 Make beam-create actually call sexp_beam_floating_fire().
Somehow, this got missed during the creation of the pull request, and I guess nobody (not even me) actually tried using it since then.
2015-08-14 10:32:27 -07:00
MageKing17 ef34e5e39e Merge pull request #272 from MageKing17/bugfix/actually-fix-cargo-size-check
Actually fix the `cargo_size` check for turrets.
2015-08-13 18:08:29 -07:00
MageKing17 7b15fe0786 Do a couple more MAX_SHIP_*_BANKS to num_*_banks replacements. 2015-08-13 15:03:31 -07:00
MageKing17 fada4f514e Make primary weapon cargo_size check first check the WIF2_BALLISTIC flag. 2015-08-13 03:59:52 -07:00
Fabian Woltermann 64f046c388 Merge pull request #273 from MageKing17/bugfix/ammo-sexp-multi-fix
Fix writing to undefined memory in multiplayer SEXP code for turret a…
2015-08-13 07:32:14 +02:00
MageKing17 d74d09554e Fix writing to undefined memory in multiplayer SEXP code for turret ammo.
`multi_sexp_set_turret_primary_ammo()` and `multi_sexp_set_turret_secondary_ammo()` were using an uninitialized pointer instead of an uninitialized array, like every other instance of multi_get_string(). This is just begging to write to invalid memory.
2015-08-12 22:02:29 -07:00
MageKing17 d07673cbe1 Actually fix the cargo_size check for turrets.
So it turns out it actually was the secondary code triggering the Assertion, because `ship_system->weapons.secondary_bank_weapons[]` was full of 0s. Subach HL-7 is weapon type 0, and obviously doesn't have a `cargo_size`. I see no reason to iterate through `MAX_SHIP_PRIMARY_BANKS`/`MAX_SHIP_SECONDARY_BANKS` if there aren't that many banks being used anyway.
2015-08-12 21:18:37 -07:00
MageKing17 1684b7f85e Make a few more changes to ship_info based on m!m's notes.
Copy constructor and copy-assignment are made private and unimplemented (may cause problems on VS 2010/2013? I have a vague memory of something similar needing to be removed for 2010 to work; we could always wrap 'em in an _MSC_VER check, of course). Speaking of an _MSC_VER check, adds a define for `NOEXCEPT` to `noexcept`, but only if we're not using a version of Visual Studio prior to 2015 (when `noexcept` support was added). It *should* allow the move constructor for ship_info to be used whenever the vector resizes both pre- and post-VS 2015 (and on non-MS compilers), but it could use some testing. ship_info::clone() made public (and used for ship templates instead of copy-assignment), and ship_info::move() now takes a ship_info&& object (and move-assignment/constructor use std::move() to keep it an rvalue).
2015-08-12 20:52:56 -07:00
MageKing17 4fb6f3d459 Changing a Ship_info.size() to !Ship_info.empty() as pointed out by m!m. 2015-08-12 14:39:42 -07:00
MageKing17 439ea76475 Adding static_cast<int>() to locations pointed out by m!m. 2015-08-12 14:39:12 -07:00
MageKing17 529fd197d8 Revert unintended missiongoals.cpp changes from vectorization commit.
I may make a separate pull request for this at some point, but it definitely doesn't belong here.
2015-08-12 14:23:36 -07:00
MageKing17 389a1a1a3d Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info 2015-08-12 14:10:10 -07:00
m!m b3aec16833 Merge pull request #271 from MageKing17/bugfix/fix-primary-cargo-size-check
Fix cargo size check for primary weapons I screwed up in PR 269.
2015-08-12 23:07:37 +02:00
MageKing17 28d04bfee4 Fix cargo size check for primary weapons I screwed up in PR 269.
Should've checked more than just that FRED was working... d'oh.
2015-08-12 14:03:33 -07:00
MageKing17 6985b198ec Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/ship/ship.cpp
2015-08-12 13:25:34 -07:00
MageKing17 1aa7af5167 Merge pull request #263 from Echelon9/fix/printf-issues
Resolve numerous format string issues
2015-08-12 13:05:17 -07:00
MageKing17 d953b2e668 Fix the Num_ship_classes reference added by PR #269 to Ship_info.size(). 2015-08-11 14:42:21 -07:00
MageKing17 4fc84e61c6 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/ship/ship.cpp
2015-08-11 14:27:48 -07:00
MageKing17 92a5839bb1 Merge pull request #270 from DahBlount/Turret_Ammo_Fix
Turret Ammo Fix: Default Bank and Ammo Removal location
2015-08-11 14:20:10 -07:00
MageKing17 b15dfcb906 Merge pull request #269 from MageKing17/bugfix/turret-ammo-FRED-support
Hopefully fix FRED and turret ammo.
2015-08-11 14:15:55 -07:00
MageKing17 cd5824073c Fix another copy-paste error, this time in the assertions. 2015-08-10 10:05:44 -07:00
MageKing17 36f7ac9ee3 Fix another copy-paste error.
Well, two copy-paste errors.
2015-08-09 18:12:09 -07:00
DahBlount 5c3d7b0f64 Turret bank fix and ammo removal
A turret's current_primary_bank/current_secondary_bank is always
initialized to -1, this is set to 0 if it is still -1 when a turret
tries to fire. Ammo removal for swarm and corkscrew weapons is now done
using a single flag check instead of the original two.
2015-08-09 19:29:16 -05:00
MageKing17 51be6aee77 Fix copy-paste error.
Whoops!
2015-08-09 17:21:22 -07:00
MageKing17 d59ee5953d Make subsys_set() use cargo_size for ammo. 2015-08-09 17:13:19 -07:00
MageKing17 3b43614ae9 Hopefully fix FRED and turret ammo.
Adds a get_max_ammo_count_for_turret_bank() function that the weapon editor can use for turrets instead of trying to hack the behavior into get_max_ammo_count_for_bank somehow. Adjusts weaponeditordlg.cpp to use it, and also fixes missionparse.cpp so that ammo values get correctly converted from a percentage to the number of actual missiles (but only when FRED isn't running).
2015-08-09 16:53:50 -07:00
Echelon9 930f386064 Generalise warning string if we can't provide callback operator information. 2015-08-08 18:10:26 +10:00
m!m 4a154e630f Merge pull request #267 from DahBlount/Turret-ammo-sexp-desc
Fix Turret Ammo Setter SEXP Descriptions
2015-08-07 18:05:10 +02:00
DahBlount 5412f16352 Fix the descriptions of the turret ammo setter sexps
The setter Sexps incorrectly had the same descriptions as the getter
sexps.
2015-08-07 09:02:43 -07:00
Echelon9 efc4d62bd0 Change s/Error code/Error message/ in GUISystem::ParseClassInfo() 2015-08-06 17:56:53 +10:00
Echelon9 8160cd40dc Change s/Error code/Error message/ in parse_glowpoint_table() 2015-08-06 17:54:41 +10:00
Fabian Woltermann 3f4861271b Merge pull request #264 from MageKing17/update/2015-project-files
Update the VS 2015 project files.
2015-08-06 09:34:39 +02:00
MageKing17 1ffe2629cf Add collision_lod and auto_shield_spread_mid_span to clone() and move(). 2015-08-06 00:28:04 -07:00
MageKing17 dc80ae0c9a Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/ship/ship.cpp
2015-08-06 00:25:42 -07:00
MageKing17 87ce8a47fc Update the VS 2015 project files.
These are basically just the 2013 project files updated to use the v140_xp toolset, but this gives the MSVC_2015 folder the same improvements that the MSVC_2013 folder got in commit 66bddb9.
2015-08-06 00:13:41 -07: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 aee7ee6322 Fix: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘const char*’ [-Wformat=] 2015-08-05 20:57:21 +10:00
Echelon9 6dd45acb45 Fix: warning: format not a string literal and no format arguments [-Wformat-security] 2015-08-05 20:44:37 +10:00
Echelon9 3385a0a6a3 Fix: warning: format not a string literal and no format arguments [-Wformat-security] 2015-08-05 20:38:10 +10:00
Echelon9 8f9fd97902 Fix: warning: format ‘%d’ expects a matching ‘int’ argument [-Wformat=] 2015-08-05 20:29:41 +10:00
Echelon9 85c8c718bf Fix missing format string specifier. 2015-08-05 20:20:15 +10:00
Echelon9 4f4449958b Fix: warning: format ‘%s’ expects a matching ‘char*’ argument [-Wformat=] 2015-08-05 20:14:48 +10:00
Echelon9 cffdbe932f Fix: warning: format ‘%d’ expects a matching ‘int’ argument [-Wformat=] 2015-08-05 20:12:41 +10:00
Echelon9 81fa44472d Fix: warning: too many arguments for format [-Wformat-extra-args] 2015-08-05 20:08:02 +10:00
Echelon9 0388fb065c Fix: warning: format ‘%s’ expects a matching ‘char*’ argument [-Wformat=] 2015-08-05 20:05:19 +10:00
Echelon9 4328134c82 Fix: warning: format not a string literal and no format arguments [-Wformat-security] 2015-08-05 20:00:07 +10:00
Echelon9 e1c38230af Fix: warning: format not a string literal and no format arguments [-Wformat-security] 2015-08-05 19:59:09 +10:00
Echelon9 9f2a2dd4ed Ensure sufficient format string specifiers. 2015-08-05 19:57:58 +10:00
Echelon9 13837b07f7 Ensure sufficient format string specifiers are present. 2015-08-05 19:55:03 +10:00
Echelon9 c4ce711171 Ensure sufficient format string specifiers are present. 2015-08-05 19:51:06 +10:00
Echelon9 d686d28053 Ensure sufficient format string specifier. 2015-08-05 19:48:58 +10:00
Echelon9 b260d92898 Fix too many variables for format string. 2015-08-05 19:45:42 +10:00
Echelon9 d14b8b9a79 Fix Error() with two few format string specifiers. 2015-08-05 19:44:21 +10:00
MageKing17 33cd9c6233 Merge pull request #262 from Echelon9/fix/issue261
Correct Warning() in parse_startbl
2015-08-05 01:28:39 -07:00
Echelon9 c829808dd7 Correct Warning() in parse_startbl 2015-08-05 16:48:49 +10:00
Fabian Woltermann aed2b60bcf Merge pull request #256 from Echelon9/fix/issue255
Resolve Coverity-reported incorrect for() loops.
2015-08-03 12:58:13 +02:00
Fabian Woltermann 5b91bee129 Merge pull request #259 from ln-zookeeper/fotg_to_master
Added $Collision LOD ship table property, for using a LOD for collisi…
2015-08-03 12:57:47 +02:00
Lari Nieminen 1bf86532fe Added $Collision LOD ship table property, for using a LOD for collision detection 2015-08-03 13:20:14 +03:00
MageKing17 f5259eb6be Merge pull request #258 from Echelon9/fix/issue257
Add correct argument to printf format string.
2015-08-03 02:22:35 -07:00
Echelon9 bdc90c007b Ensure grammar works as a whole. 2015-08-03 19:04:10 +10:00
Echelon9 88ca967d3f Improve the warning documentation associated with a faulty ship copy flag. 2015-08-03 19:03:17 +10:00
Echelon9 9ea2ae4299 Add correct argument to printf format string. 2015-08-03 18:01:13 +10:00
Echelon9 3b26eb85ae Resolve Coverity-reported incorrect for() loops. 2015-08-02 20:02:44 +10:00
Fabian Woltermann 4aab4a969a Merge pull request #249 from asarium/printf_checks
Add format specifying macros
2015-08-01 07:47:22 +02:00
m!m 0f2562a29c Merge pull request #254 from The-E/better_assertions
Make this assertion in modelanim a bit more useful.
2015-07-31 22:43:36 +02:00
The E 0450ce7621 Make this assertion in modelanim a bit more useful. 2015-07-31 22:25:25 +02:00
Fabian Woltermann 44c4c7de76 Merge pull request #251 from DahBlount/turret_ammo
Turret Ammo Implementation
2015-07-31 11:45:01 +02:00
Fabian Woltermann aff0328b4f Merge pull request #253 from jg18/fix_openal_log
Log OpenAL info for selected device.
2015-07-31 11:44:11 +02:00
jg18 b50bd7586c Log OpenAL info for selected device.
Fix the issue pointed out by Yarn where the OpenAL info for the default
device was being logged instead of the info for the selected
device. http://www.hard-light.net/forums/index.php?topic=90070.0.
2015-07-30 15:27:36 -07:00
DahBlount d973c9e147 Add cases for turret ammo setter multi_sexps
Can't believe I forgot this part. This just ensures the sexps actually
work.
2015-07-30 15:22:31 -05:00
DahBlount 9e3cb6baa3 Multi_SEXP Turret Ammo Functions
This adds multiplayer functionality to the Turret getter and setter
SEXPs.
2015-07-30 15:06:04 -05:00
DahBlount 0fd43dad75 Turret Ammo SEXPs
This adds getter and setter SEXPs for turret ammo.
"turret-get-primary-ammo"
"turret-get-secondary-ammo"
"turret-set-primary-ammo"
"turret-set-secondary-ammo"

I also forgot to make turrets that don't have the "use multiple guns"
flag set switch banks if their first bank is empty, so that has been
fixed as well.
2015-07-29 12:25:24 -05:00
DahBlount 688baa2bb6 Turret Ammo Implementation
This creates the foundation of turret ammo through the "turret use ammo" subsystem flag. Turret ammo works in the same manner as ship ammo, where the ammo is equal to bank capacity divided by the cargo size of the weapon. This was tested using the Blue Planet: War in Heaven mod.
Test case: UEFg Narayana turrets 19 through 21, all of which contain Apocalypse torpedos with a $Cargo Size: of 2.5, were changed to use ammo with a $SBank Capacity of 20, resulting in a total ammo capacity of 8 torpedos. The Narayana was ordered to attack a GTCv Diomedes; it fired 8 torpedos each from turrets 19 through 21 before stopping. The mission was left to proceed for an additional 2 minutes, in which time the Narayana did not fire any more torpedos. Note: The Apocalypse takes 20 seconds to fire each 4 torpedo burst.
Conclusion: Success
2015-07-28 12:32:08 -05:00
Cliff Gordon 1b3af6fea6 Merge pull request #245 from ln-zookeeper/fotg_to_master
Added a +Minimum Weapon Span auto spread shield option to control the…
2015-07-27 09:12:02 -05:00
Fabian Woltermann 1d46578f00 Merge pull request #250 from asarium/antipodes_/fix/mac_psn
Proposed fix for #248
2015-07-26 15:25:04 +02:00
asarium 9e4ab0342c Proposed fix for #248 2015-07-26 14:23:13 +02:00
asarium d93f2e9d26 Add format specifying macros 2015-07-26 14:08:31 +02:00
Lari Nieminen cacad0ba70 Fixed possibility of +Minimum Weapon Span breaking with modular tables. 2015-07-25 01:14:03 +03:00
MageKing17 1b514de28e Merge pull request #247 from chief1983/fix/cid_1204285_divide_by_zero
[fix/cid_1204285_divide_by_zero] Fix CID 1204285: Division by zero
2015-07-24 13:49:05 -07:00
Cliff Gordon f47bbed3ef [fix/cid_1204285_divide_by_zero] Fix CID 1204285: Division by zero in set_currentItem() 2015-07-24 11:59:02 -05:00
MageKing17 33d83fe4fe Merge pull request #246 from ln-zookeeper/master
Fixed bug with ship-ship collisions incorrectly choosing which quadra…
2015-07-24 00:32:35 -07:00
Lari Nieminen 202a4077a4 Fixed bug with ship-ship collisions incorrectly flashing a shield quadrant on the light ship. 2015-07-24 10:08:59 +03:00
Lari Nieminen 7b2c992380 Added a +Minimum Weapon Span auto spread shield option to control the minimum distance weapons must have traveled before being allowed to hit the shield. 2015-07-21 21:59:31 +03:00
m!m c7bf2395a5 Merge pull request #244 from chief1983/antipodes_/merge_ce69e71
Antipodes /merge ce69e71
2015-07-19 09:23:01 +02:00
Cliff Gordon (chief1983) 7314b0a65f Merge remote-tracking branch 'origin/master' into antipodes
Conflicts:
	projects/MSVC_2013/Fred2.vcxproj
2015-07-18 18:51:19 -05:00
Cliff Gordon ce69e7179e Merge pull request #243 from chief1983/fix/sse_fred_name
Fix the output Fred SSE target name.
2015-07-18 18:46:48 -05:00
Cliff Gordon (chief1983) fc6765144d Fix the output Fred SSE target name. Edited in VS2013 which fixed the file's line endings to CRLF. 2015-07-18 11:02:01 -05:00
Fabian Woltermann ce22e3a0d4 Merge pull request #239 from PeterMitsis/math-refactoring
Math refactoring
2015-07-17 13:35:42 +02:00
Fabian Woltermann be628af117 Merge pull request #223 from ln-zookeeper/master
Fixes Mantis #2436: Mouse controls ignore the axis binds.
2015-07-17 13:16:58 +02:00
Fabian Woltermann 27774594f3 Merge pull request #238 from asarium/antipodes_/fixNULL
Don't compare NULL with integer
2015-07-16 20:55:47 +02:00
asarium 5a107d3834 From chief1983: Also fix errors in rtvoice.cpp 2015-07-16 20:24:36 +02:00
Cliff Gordon f5e97b6fc3 Merge pull request #241 from chief1983/osx_sdl203
[osx_sdl203] Upgrade the SDL2 framework to the latest 2.0.3.
2015-07-15 15:15:07 -05:00
Cliff Gordon 2b36cc48c7 [osx_sdl203] Upgrade the SDL2 framework to the latest 2.0.3. 2015-07-15 14:01:47 -05:00
asarium 273af3afdf Don't mix NULL and integers 2015-07-15 17:26:18 +02:00
Cliff Gordon 75f1a5ad5c Merge pull request #240 from chief1983/fix/badmerge_configure
[fix/badmerge_configure] Fix a bad merge in configure.ac
2015-07-15 10:14:10 -05:00
Cliff Gordon f3d15d9a38 [fix/badmerge_configure] Fix a bad merge in configure.ac that duplicated some text. 2015-07-15 09:23:53 -05: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 b72cf669b8 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-07-15 09:08:19 -04:00
Peter Mitsis 9d3dd5c322 Refactor macros fl_radians() and fl_degrees()
Rejiggers the macros fl_radians() and fl_degrees() to avoid unnecessary
operations.  The new placement of the parentheses permit the compiler to
evaluate (PI / 180.f) and (180.f / PI) at compile time rather than run time.

Signed-off-by: Peter Mitsis <[email protected]>
2015-07-15 09:08:19 -04:00
Fabian Woltermann f3adfb6afc Merge pull request #236 from chief1983/fix/osx_xcode
[fix/osx_xcode] Xcode can finally compile SDL Everywhere
2015-07-15 14:57:30 +02:00
Cliff Gordon 876af805bb [fix/osx_xcode] Don't need joy-unix.cpp in OS X now, with joy-sdl.cpp doing its job. 2015-07-13 16:36:57 -05:00
Cliff Gordon 25bce65f5a [fix/osx_xcode] Should have done this a year and a half ago: Remove the SDLMain.* files as they are not needed with SDL2. 2015-07-13 16:36:57 -05:00
Cliff Gordon 3022fc3385 Accidentally committed changes to version string. 2015-07-13 16:36:57 -05:00
Cliff Gordon 0a7e7e84c9 update xcode with recommended changes in version 6.4. 2015-07-13 16:36:57 -05:00
Cliff Gordon fc45026140 Test fix. 2015-07-13 16:36:56 -05:00
Cliff Gordon bfaf474c9e Merge remote-tracking branch 'origin/master' into antipodes 2015-07-13 16:36:40 -05:00
Fabian Woltermann 5f39c386ef Merge pull request #234 from Echelon9/fix/clean-build
Clean up GCC build warnings
2015-07-12 09:54:30 +02:00
Echelon9 3e8278d698 Fix: model/modelread.cpp: warning: variable ‘flags’ set but not used [-Wunused-but-set-variable] 2015-07-11 22:47:25 +10:00
Echelon9 37cf848f51 Fix: model/modelrender.cpp:2898:9: warning: declaration of ‘view_pos’ shadows a previous local [-Wshadow] 2015-07-11 22:36:42 +10:00
Echelon9 95f615a894 Fix: bmpman/bmpman.cpp: warning: enumeration value ‘x’ not handled in switch [-Wswitch] 2015-07-11 22:30:12 +10:00
Echelon9 bae2d3116b Fix: controlconfig/controlsconfig.cpp:2116:13: warning: declaration of ‘j’ shadows a previous local [-Wshadow] 2015-07-11 22:15:49 +10:00
Echelon9 542c794e72 Fix: object/collideshipship.cpp:1159:12: warning: variable ‘q’ set but not used [-Wunused-but-set-variable] 2015-07-11 22:08:52 +10:00
Echelon9 d029b82d98 Fix: ai/aicode.cpp:11855:9: warning: variable ‘dist_to_f2’ set but not used [-Wunused-but-set-variable] 2015-07-11 22:04:41 +10:00
Echelon9 ad8064ef81 Fix warning: variable ‘dist’ set but not used [-Wunused-but-set-variable] 2015-07-11 21:58:07 +10:00
Echelon9 a4e12d135b Fix: ai/aibig.cpp:1266:10: warning: variable ‘box_dist’ set but not used [-Wunused-but-set-variable] 2015-07-11 21:39:49 +10:00
Echelon9 053ae6d287 Fix: modelrender.h:86:7: warning: ‘model_render_params::Replacement_textures’ will be initialized after [-Wreorder] 2015-07-11 21:28:01 +10:00
Fabian Woltermann 15bceee125 Merge pull request #232 from asarium/fix/snd_cfile
Fixes Mantis 3168: snd_load leaks cfile handles if it can't parse a file.
2015-07-11 12:29:42 +02:00
Echelon9 08e50885cb Fix: warning: ‘opengl_vertex_buffer::ibo_size’ will be initialized after [-Wreorder] 2015-07-11 20:18:34 +10:00
asarium e6dbb28b48 Fix for Mantis 3168: snd_load leaks cfile handles if it can't parse a file. 2015-07-11 11:36:21 +02:00
Echelon9 1e151865d4 Fix: object/collideshipweapon.cpp:67:185: warning: declaration of ‘ship_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:45:38 +10:00
Echelon9 c2a2ef5682 Fix: object/collideshipweapon.cpp:39:63: warning: declaration of ‘ship_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:42:15 +10:00
Echelon9 3acc777afe Fix: model/modelread.cpp: warning: declaration of ‘ship_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:40:12 +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 1787b95498 Fix: ai/aicode.cpp:14896:75: warning: declaration of ‘ship_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:28:59 +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 f804539a15 Fix: debris/debris.cpp:846:10: warning: declaration of ‘ship_obj’ shadows a global declaration [-Wshadow] 2015-07-06 23:04:25 +10:00
Echelon9 ca9ae8bb8e Fix: nebula/neb.cpp:1422:37: warning: declaration of ‘eye’ shadows a global declaration [-Wshadow] 2015-07-06 23:01:21 +10:00
Echelon9 767b39fbbc Fix: nebula/neb.cpp:1416:33: warning: declaration of ‘eye’ shadows a global declaration [-Wshadow] 2015-07-06 22:59:55 +10:00
Echelon9 6d0996d90c Fix: graphics/grstub.cpp:736:71: warning: declaration of ‘shader’ shadows a global declaration [-Wshadow] 2015-07-06 22:57:12 +10:00
Echelon9 294cf79e04 Fix: graphics/gropenglshader.cpp: warning: declaration of ‘shader’ shadows a global declaration [-Wshadow] 2015-07-06 22:54:10 +10:00
Echelon9 b7864cd2aa Fix: graphics/gropenglshader.cpp:231:73: warning: declaration of ‘shader’ shadows a global declaration [-Wshadow] 2015-07-06 22:52:01 +10:00
Echelon9 4bf5f15f72 Fix: graphics/gropenglpostprocessing.cpp:682:79: warning: declaration of ‘shader’ shadows a global declaration [-Wshadow] 2015-07-06 22:49:38 +10:00
Echelon9 4a0e3b4c40 Fix: graphics/generic.cpp:35:117: warning: declaration of ‘anim’ shadows a global declaration [-Wshadow] 2015-07-06 22:46:23 +10:00
Echelon9 3860951b6c Fix: graphics/*.cpp warning: declaration of ‘light’ shadows a global declaration [-Wshadow] 2015-07-06 22:36:10 +10:00
Echelon9 54003a2622 Fix: debris/debris.cpp:850:10: warning: declaration of ‘light’ shadows a global declaration [-Wshadow] 2015-07-06 22:30:50 +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 dc5651ab70 Fix: object/collideshipship.cpp:539:10: warning: declaration of ‘light’ shadows a global declaration [-Wshadow] 2015-07-06 22:26:31 +10:00
Echelon9 f12dc5478b Fix: ai/aicode.cpp: warning: declaration of ‘color’ shadows a global declaration [-Wshadow] 2015-07-06 22:19:28 +10:00
Echelon9 8051bac868 Fix: ai/aigoals.cpp:203:48: warning: declaration of ‘ai_goal’ shadows a global declaration [-Wshadow] 2015-07-06 22:15:18 +10:00
Echelon9 d94823ef77 Fix: graphics/gropenglbmpman.cpp:561:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] 2015-07-06 21:47:01 +10:00
Echelon9 eda6f33d77 Fix: graphics/gropenglbmpman.cpp:561:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] 2015-07-06 21:41:31 +10:00
Echelon9 9db610ef2c Fix: network/multiutil.cpp:692:76: warning: declaration of ‘net_player’ shadows a global declaration [-Wshadow] 2015-07-06 21:30:27 +10:00
Echelon9 2b8ef9e1fd Fix: graphics/2d.cpp:2142:1: warning: declaration of ‘team_color’ shadows a global declaration [-Wshadow] 2015-07-06 21:19:56 +10:00
Echelon9 1aa858a164 Fix: graphics/2d.cpp:1874:7: warning: variable ‘t0’ set but not used [-Wunused-but-set-variable] 2015-07-06 21:17:48 +10:00
Echelon9 aae7c47748 Fix: lab/lab.cpp:943:9: warning: declaration of ‘j’ shadows a previous local [-Wshadow] 2015-07-06 21:14:45 +10:00
Echelon9 53164a169c Fix: mission/missioncampaign.cpp:1200:12: warning: declaration of ‘mission’ shadows a global declaration [-Wshadow] 2015-07-06 21:12:11 +10:00
Echelon9 fe1b607214 Fix: mission/missioncampaign.cpp:1012:12: warning: declaration of ‘mission’ shadows a global declaration [-Wshadow] 2015-07-06 21:08:00 +10:00
Echelon9 040d157644 Fix: mission/missioncampaign.cpp:1088:12: warning: declaration of ‘mission’ shadows a global declaration [-Wshadow] 2015-07-06 21:03:30 +10:00
Echelon9 475155d62f Fix: mission/missioncampaign.cpp:1600:6: warning: declaration of ‘mission’ shadows a global declaration [-Wshadow] 2015-07-06 20:58:53 +10:00
Echelon9 85a0bda946 Fix: model/modelanim.cpp:536:78: warning: declaration of ‘anim’ shadows a global declaration [-Wshadow] 2015-07-06 20:54:14 +10:00
Echelon9 f2c8aa665f Fix: missionui/missionshipchoice.cpp:923:9: warning: declaration of ‘header’ shadows a global declaration [-Wshadow] 2015-07-06 19:51:45 +10:00
Fabian Woltermann 181098e1e4 Merge pull request #230 from PeterMitsis/math-optimizations
math/vecmat optimizations
2015-07-06 02:42:14 -07:00
Echelon9 66257146b7 Fix: model/modelcollide.cpp:1215:36: warning: declaration of ‘mc_info’ shadows a global declaration [-Wshadow] 2015-07-06 19:40:21 +10:00
Fabian Woltermann d4d60b2645 Merge pull request #226 from asarium/fix/audiostr_cfile
Use the CFILE system to handle audio IO
2015-07-06 01:42:24 -07:00
Fabian Woltermann 368dcdddc2 Merge pull request #228 from asarium/antipodes
Sync Antipodes
2015-07-06 01:41:52 -07:00
Echelon9 60d1234abd Fix: model/modelread.cpp:270:12: warning: declaration of ‘i’ shadows a previous local [-Wshadow] 2015-07-05 17:13:01 +10:00
Echelon9 2bac9ba5fa Fix: model/modelrender.cpp:780:55: warning: declaration of ‘color’ shadows a global declaration [-Wshadow] 2015-07-05 17:07:39 +10:00
Echelon9 6e273ccd7f Fix: gamehelp/contexthelp.cpp:391:9: warning: declaration of ‘font’ shadows a global declaration [-Wshadow] 2015-07-05 17:01:37 +10:00
Echelon9 4885807d82 Fix: iff_defs/iff_defs.cpp:68:4: warning: declaration of ‘temp_color_t’ shadows a previous local [-Wshadow] 2015-07-05 16:57:35 +10:00
Echelon9 444f830fdc Fix: network/multi_voice.cpp: warning: parameter set but not used [-Wunused-but-set-parameter] 2015-07-05 16:51:16 +10:00
Echelon9 e98d84314a Fix: network/multimsgs.cpp:8473:70: warning: declaration of ‘bolt_type’ shadows a global declaration [-Wshadow] 2015-07-05 16:44:48 +10:00
Echelon9 5e9fd26028 Fix: network/multimsgs.cpp:8493:7: warning: declaration of ‘bolt_type’ shadows a global declaration [-Wshadow] 2015-07-05 16:42:24 +10:00
Echelon9 3a3e901249 Fix: network/multiteamselect.cpp:1720:7: warning: declaration of ‘wing’ shadows a global declaration [-Wshadow] 2015-07-05 16:40:04 +10:00
Echelon9 1f8c1dccde Fix: object/collidedebrisweapon.cpp:100:10: warning: declaration of ‘weapon’ shadows a global declaration [-Wshadow] 2015-07-05 16:35:11 +10:00
Echelon9 0dc48f8470 Fix: object/collidedebrisweapon.cpp:45:10: warning: declaration of ‘weapon’ shadows a global declaration [-Wshadow] 2015-07-05 16:32:57 +10:00
Echelon9 83a8b2bee5 Fix: object/collideshipship.cpp:457:115: warning: declaration of ‘light’ shadows a global declaration [-Wshadow] 2015-07-05 16:27:21 +10:00
Echelon9 2c4fb4286c Fix: object/collideshipweapon.cpp:470:10: warning: declaration of ‘weapon’ shadows a global declaration [-Wshadow] 2015-07-05 16:19:20 +10:00
Echelon9 570f6dd581 Fix: object/collideshipship.cpp:1316:138: warning: declaration of ‘mc_info’ shadows a global declaration [-Wshadow] 2015-07-05 16:14:24 +10:00
Echelon9 b326e77574 Fix: object/collideshipweapon.cpp:543:85: warning: declaration of ‘weapon’ shadows a global declaration [-Wshadow] 2015-07-05 15:55:15 +10:00
Echelon9 6d6d3e99e5 Fix: object/collideweaponweapon.cpp:168:10: warning: variable ‘dist’ set but not used [-Wunused-but-set-variable] 2015-07-05 14:25:53 +10:00
Echelon9 c7045147f3 Fix: object/collideshipship.cpp:1316:126: warning: declaration of ‘light’ shadows a global declaration [-Wshadow] 2015-07-05 14:17:53 +10: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 6618165926 Fix: model/modelinterp.cpp:4342:14: warning: declaration of ‘j’ shadows a previous local [-Wshadow] 2015-07-05 00:59:13 +10:00
Echelon9 6950c69ebb Fix: model/modelinterp.cpp:2034:44: warning: declaration of ‘gpoi’ shadows a previous local [-Wshadow] 2015-07-05 00:54:29 +10:00
Echelon9 b8ff93dad2 Fix: model/modelinterp.cpp:2603:43: warning: declaration of ‘gpoi’ shadows a previous local [-Wshadow] 2015-07-05 00:52:39 +10:00
Echelon9 c220480075 Fix: lab/lab.cpp:2497:45: warning: declaration of ‘color’ shadows a global declaration [-Wshadow] 2015-07-05 00:40:13 +10:00
Echelon9 182b297af4 Fix: model/modelrender.cpp:2560:10: warning: variable ‘objp’ set but not used [-Wunused-but-set-variable] 2015-07-05 00:30:34 +10:00
Echelon9 a0527afd55 Fix: ship/ship.cpp:3132:14: warning: declaration of ‘i’ shadows a previous local [-Wshadow] 2015-07-05 00:04:05 +10:00
Echelon9 9283ff8227 Fix: controlconfig/controlsconfig.cpp:669:9: warning: variable ‘k’ set but not used [-Wunused-but-set-variable] 2015-07-04 23:51:24 +10:00
Echelon9 769e98fe4c Fix: controlconfig/controlsconfig.cpp:669:9: warning: variable ‘j’ set but not used [-Wunused-but-set-variable] 2015-07-04 23:46:38 +10:00
Echelon9 3c48d81a52 Fix: controlconfig/controlsconfig.cpp:1443:27: warning: variable ‘len’ set but not used [-Wunused-but-set-variable] 2015-07-04 23:41:59 +10:00
Echelon9 7f100c439a Fix: controlconfig/controlsconfig.cpp:1442:18: warning: variable ‘jptr’ set but not used [-Wunused-but-set-variable] 2015-07-04 23:34:40 +10:00
Echelon9 481ec12450 Fix: bmpman/bmpman.cpp:2671:12: warning: variable ‘bmp’ set but not used [-Wunused-but-set-variable] 2015-07-04 23:29:00 +10:00
Echelon9 312648668c Fix: anim/animplay.cpp:257:25: warning: variable ‘render_time’ set but not used [-Wunused-but-set-variable] 2015-07-04 23:20:18 +10:00
Echelon9 f4aa493f59 Fix: anim/animplay.cpp:257:25: warning: variable ‘decompress_time’ set but not used [-Wunused-but-set-variable] 2015-07-04 23:16:08 +10:00
Echelon9 039ad64a33 Fix: ai/aicode.cpp:10715:9: warning: variable ‘dist’ set but not used [-Wunused-but-set-variable] 2015-07-04 19:03:09 +10:00
Echelon9 c83a2ea2e8 Fix: ai/aicode.cpp:8169:24: warning: variable ‘time_to_enemy’ set but not used [-Wunused-but-set-variable] 2015-07-04 18:58:10 +10:00
Echelon9 edbedeb84a Fix: ai/aicode.cpp:8017:10: warning: variable ‘eshipp’ set but not used [-Wunused-but-set-variable] 2015-07-04 17:39:44 +10:00
Echelon9 d855154fa9 Fix: graphics/gropenglshader.cpp:387:7: warning: variable ‘in_error’ set but not used [-Wunused-but-set-variable] 2015-07-04 17:33:22 +10:00
Echelon9 7fea629121 Fix: graphics/gropengltnl.cpp:696:8: warning: variable ‘rval’ set but not used [-Wunused-but-set-variable] 2015-07-04 17:10:17 +10:00
Echelon9 183f0615e2 Fix: graphics/gropengltnl.cpp:812:6: warning: variable ‘render_pass’ set but not used [-Wunused-but-set-variable] 2015-07-04 17:08:41 +10:00
Echelon9 e9330b4f5f Fix: graphics/gropengltnl.cpp:1378:6: warning: variable ‘zbuff’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:52:50 +10:00
Echelon9 785398657c Fix: menuui/readyroom.cpp:1175:15: warning: variable ‘z’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:22:59 +10:00
Echelon9 fff2d5280c Fix: model/modelrender.cpp:2560:8: warning: variable ‘shipp’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:18:38 +10:00
Echelon9 cd503fd2e4 Fix: object/objcollide.cpp:1247:8: warning: variable ‘max’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:10:15 +10:00
Echelon9 e7e046f949 Fix: object/objcollide.cpp:1248:8: warning: variable ‘overlap_min’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:08:40 +10:00
Echelon9 6e6ff3c7c0 Fix: object/objectsort.cpp: warning: variable ‘wp’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:06:13 +10:00
Echelon9 4f4fe00b97 Fix: ship/ship.cpp:18381:6: warning: variable ‘clip_started’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:01:36 +10:00
Echelon9 98d6b6ce8b Fix: weapons.cpp:7374:8: warning: variable ‘clip_plane’ set but not used [-Wunused-but-set-variable] 2015-07-04 15:55:15 +10:00
asarium 1d7ea819a3 Fix linux compilation 2015-07-03 19:34:32 +02:00
asarium 1d93fdea2e Merge branch 'master' into antipodes
Conflicts:
	code/freespace2/freespace.cpp
	code/graphics/2d.cpp
	code/network/stand_gui-unix.cpp
	projects/MSVC_2012/Fred2.vcxproj
	projects/MSVC_2012/Freespace2.vcxproj
	projects/MSVC_2013/code.vcxproj
	projects/MSVC_2013/code.vcxproj.filters
	projects/MSVC_2015/Fred2.vcxproj
	projects/MSVC_2015/Freespace2.vcxproj
	projects/MSVC_2015/code.vcxproj
2015-07-03 19:15:43 +02:00
asarium 597000ca46 Use our CFILE system to handle audio IO 2015-07-03 19:08:56 +02:00
m!m 3180a38ae7 Merge pull request #227 from chief1983/fix/sdl_dialog_vs
Add the osapi/dialog files to the other VS projects.
2015-07-03 19:06:50 +02:00
Cliff Gordon (chief1983) 032c19e889 Add the osapi/dialog files to the other VS projects. 2015-07-03 11:39:09 -05:00
Goober5000 a47ac6c5ee Merge pull request #211 from Echelon9/fix/janitorial-changes
Janitorial changes
2015-07-02 14:47:55 -04:00
Goober5000 da79469606 Merge pull request #224 from Echelon9/fix/issue196
Passing value 2.0 to asin() leads to implementation-defined result
2015-07-02 14:40:29 -04:00
Echelon9 a93215f781 Ensure input domain to asin() does not lead to irrational results (implementation defined behaviour) 2015-07-01 23:15:36 +10:00
Echelon9 58f7fb247b Document ai_update_aim() after touching the function 2015-07-01 23:07:17 +10:00
Echelon9 aa1feb0799 Refrain from unnecessarily passing a pointer to global object to ai_update_aim() 2015-07-01 23:07:17 +10:00
Echelon9 833e7b1d7a Ensure consistent capitalisation of ai_update_aim() parameter. 2015-07-01 23:07:17 +10:00
Echelon9 b2a07f19c2 Remove redundant parameter to compute_time_to_enemy(). Function doesn't need a pointer to the enemy objp, where it uses distance directly instead. 2015-07-01 23:07:17 +10:00
Echelon9 b38e153861 Remove redundant parameter to prioritize_goals(). 2015-07-01 23:07:17 +10:00
Echelon9 39188f7926 Remove redundant parameter to ai_ignore_wing(). 2015-07-01 23:07:17 +10:00
Echelon9 29fa74fd63 Remove redundant parameter to draw_brackets_diamond_quick(). 2015-07-01 23:07:17 +10:00
Echelon9 8e018c5338 Clean up load_animating_pointer(). 2015-07-01 23:07:17 +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
Goober5000 2434365103 Merge pull request #219 from PeterMitsis/fvi_apply_const_and_static_keywords
math/fvi: apply const and static keywords
2015-06-30 11:11:17 -04:00
Goober5000 bd18c88198 Merge pull request #77 from chief1983/fix/nat_multiplayer
[fix/nat_multiplayer] Fix for multiple users behind a NAT
2015-06-29 21:33:10 -04:00
Cliff Gordon 6e0f9c1cd2 [fix/nat_multiplayer] Simplify the new psnet check. 2015-06-29 16:51:49 -05:00
Cliff Gordon 5311ea4f7a [fix/nat_multiplayer] Vestigare's submitted patch for allowing multiple users behind a NAT to connect to a remote standalone. 2015-06-29 16:50:06 -05:00
Lari Nieminen 09dfcf559e Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-06-28 18:13:51 +03:00
Cliff Gordon 0a9ae3eb46 Merge pull request #222 from scp-fs2open/revert-113-coverity/1298257
Revert "Fix Coverity 1298257: Uninitialized scalar var"
2015-06-28 10:00:42 -05: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
Fabian Woltermann 6a0e550aac Revert "Fix Coverity 1298257: Uninitialized scalar var" 2015-06-28 13:59:13 +02:00
Lari Nieminen da71e629b4 Fixes Mantis #2436: Mouse controls ignore the axis binds. 2015-06-28 14:42:17 +03: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
Fabian Woltermann 150a00a17a Merge pull request #209 from ln-zookeeper/master
Fixes and enhancements for detail boxes and spheres
2015-06-27 11:43:56 +02:00
Fabian Woltermann bdf844fc83 Merge pull request #113 from niffiwan/coverity/1298257
Fix Coverity 1298257: Uninitialized scalar var
2015-06-27 11:28:19 +02:00
Fabian Woltermann 464d49d182 Merge pull request #212 from Echelon9/fix/mantis3137
Fix Mantis 3137
2015-06-26 13:43:55 +02:00
Fabian Woltermann 3386dc6f20 Merge pull request #218 from asarium/fix/hudmessageIterator
Fix usage of invalid iterator in hudmessage.cpp
2015-06-26 13:42:14 +02:00
Fabian Woltermann ff76a32508 Merge pull request #216 from Echelon9/fix/color-struct-alignment
Improve alignment of color struct
2015-06-26 13:41:31 +02:00
asarium 6b95037dcc Fix usage of invalid iterator. 2015-06-25 18:22:51 +02: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
Echelon9 2cf8d0cc98 Improve alignment of color struct (28 bytes -> 24 bytes, c.14%). 2015-06-25 23:39:17 +12: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
Lari Nieminen e0605f125c Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-06-25 13:07:41 +03:00
Fabian Woltermann 911f3d647f Merge pull request #214 from Echelon9/fix/issue213
Avoid shadowed declaration of previous local 'gpoi'
2015-06-25 10:09:23 +02:00
Echelon9 2ca1f40d98 Avoid shadowed declaration of previous local 'gpoi' 2015-06-25 17:20:10 +12:00
Echelon9 b5610a5005 Proposed refactor of #Cutscenes in mission files, per wiki documentation. 2015-06-25 16:56:24 +12:00
Goober5000 341fdd3589 Merge pull request #207 from Echelon9/fix/issue206
Resolve order of precedence compiler warning.
2015-06-25 00:43:10 -04:00
Echelon9 7f673c8ab6 Goober5000 code review: consistency change. 2015-06-25 16:25:35 +12:00
Echelon9 ce6179a58f Resolve order of precedence compiler warning. 2015-06-25 14:27:31 +12:00
Fabian Woltermann 83fc90c74b Merge pull request #210 from chief1983/fix/205_cleanup
Fix/205 cleanup
2015-06-24 15:11:59 +02:00
Cliff Gordon (chief1983) 8c73f39e6e Remove the files from PR 205 via IDE. 2015-06-24 00:06:29 -05:00
Cliff Gordon (chief1983) 8efaf28a8a Revert "Fixed project files for all MSVS versions that support vcxproj"
This reverts commit 610f8a2ff3.
2015-06-23 22:37:35 -05:00
Cliff Gordon (chief1983) 8a3cc22605 Revert "Remove references to AVX from VS2010 project"
This reverts commit 3205f42dc2.
2015-06-23 22:37:15 -05:00
Lari Nieminen fc9acb3a4d Added support for detail box $box_offset. 2015-06-24 00:48:07 +03:00
Lari Nieminen 2e012969e7 Fixed detail sphere $offset not working right. 2015-06-24 00:44:13 +03:00
Lari Nieminen 84b7a06a44 Restored ability to combine detail boxes and spheres. 2015-06-23 19:53:18 +03:00
Lari Nieminen 8fd09be8a0 Replaced the static Interp_render_* variables with normal local ones. 2015-06-23 19:50:17 +03:00
Fabian Woltermann 83a7e862ae Merge pull request #205 from Echelon9/fix/cleanup-empty-files
Cleanup empty files
2015-06-23 11:32:48 +02:00
Echelon9 85428f5eb4 Remove added <MinimalRebuild> option to MSVC_2012. 2015-06-23 18:44:31 +10:00
Fabian Woltermann e73dbd1647 Merge pull request #170 from z64555/parselo
Organizes required_string(); Doxy's required_string() and required_st…
2015-06-23 10:16:59 +02:00
Fabian Woltermann b11497d075 Merge pull request #183 from ln-zookeeper/master
Added a "no-secondary-lock-on" ship flag to disable secondary homing.
2015-06-23 10:16:24 +02:00
Fabian Woltermann 14ed049331 Merge pull request #198 from Echelon9/fix/issue197
Update format string specifier to unsigned int (mainhallmenu.cpp)
2015-06-23 10:14:38 +02:00
Rhys Kidd 00d4271550 Merge pull request #1 from The-E/fix/cleanup-empty-files
Fixed project files for all MSVS versions that support vcxproj
2015-06-23 18:14:20 +10:00
Fabian Woltermann ff22d7b9a6 Merge pull request #200 from Echelon9/fix/issue199
Retval of bm_get_size (int handle) should be a size_t
2015-06-23 10:14:18 +02:00
Fabian Woltermann ce3bb0a6a9 Merge pull request #202 from Echelon9/fix/issue201
Retval of bm_page_out(int handle) should be a bool
2015-06-23 10:14:00 +02:00
Fabian Woltermann 4c55ad45a0 Merge pull request #204 from Echelon9/fix/issue203
Retval of bm_has_alpha_channel(int handle) should be a bool
2015-06-23 10:13:34 +02:00
The_E 3205f42dc2 Remove references to AVX from VS2010 project 2015-06-23 10:11:24 +02:00
The_E 610f8a2ff3 Fixed project files for all MSVS versions that support vcxproj 2015-06-23 10:03:08 +02:00
Echelon9 0fde8c3925 Update Xcode 4+ project file for removal of empty files. 2015-06-23 16:05:01 +10:00
Echelon9 8ba1ddbbc2 Makefile removal of references to missionui/missionstats.[cpp|h]. 2015-06-23 14:52:58 +10:00
Echelon9 3af13b603d Remove empty missionui/missionstats.[cpp|h]. 2015-06-23 14:46:42 +10:00
Echelon9 54508b6429 Makefile and source code removal of references to ai/ailocal.h 2015-06-23 14:39:43 +10:00
Echelon9 b62196dc0d Remove empty ai/ailocal.h 2015-06-23 14:32:02 +10:00
Echelon9 8eeff0e06c Remove missionrecommend.[cpp|h] from Makefile. 2015-06-23 14:30:01 +10:00
Echelon9 da9d363230 Remove empty missionrecommend.[cpp|h] files. 2015-06-23 14:23:28 +10:00
Echelon9 cb617b5e9f Modify usage of bm_has_alpha_channel that needs to pass int to the OpenGL driver. Use ternary operator. 2015-06-23 14:05:58 +10:00
Echelon9 130a148816 Remove TODO doxygen comment. 2015-06-23 13:59:10 +10:00
Echelon9 33cae6930c Amend retval in declaration and definition to bool. 2015-06-23 13:57:58 +10:00
Echelon9 6abba98455 Increase consistency with adjacent code style, and avoid >80 character line wrap. 2015-06-23 11:49:48 +10:00
Echelon9 0437f81999 Ensure paramater name matches between declaration and definition. 2015-06-23 11:44:47 +10:00
Echelon9 4f649f1cdb Remove TODO doxygen comment. 2015-06-23 11:40:27 +10:00
Echelon9 e33f2e1d38 Amend retval in declaration and definition to bool. 2015-06-23 11:39:44 +10:00
Echelon9 df1c50bc47 Convert internal mem_taken type to size_t. 2015-06-23 11:07:29 +10:00
Echelon9 79597e9757 Ensure parameter name matches between declaration and definition. 2015-06-23 10:59:43 +10:00
Echelon9 6447208960 Remove TODO doxygen comment. 2015-06-23 10:48:47 +10:00
Echelon9 c061ee6324 Amend retval in declaration and definition to size_t. 2015-06-23 10:48:11 +10:00
Echelon9 57c9e1ae6a Address putative requirement for mm/mmreg.h to have <windows.h> included first. 2015-06-23 10:16:59 +10:00
Echelon9 60aec6f6cb Update format string specifier to unsigned int. 2015-06-22 21:40:43 +10:00
Echelon9 418b9e06d7 Simplify duplicative weapon/ includes, which are in weapon/weapon.h 2015-06-22 20:24:31 +10:00
Echelon9 d2f5575e20 Simplify duplicative ui/ includes. 2015-06-22 20:24:31 +10:00
Echelon9 8c12affa23 Simplify duplicative species_def/ includes, which are in species_def/species_def.h 2015-06-22 20:24:31 +10:00
Echelon9 ca552b45f5 Simplify duplicative ship/ includes, which are in ship/shipfx.h 2015-06-22 20:24:31 +10:00
Echelon9 00bfe37cb4 Simplify duplicative radar/ includes. 2015-06-22 20:24:31 +10:00
Echelon9 2964132f7d Properly guard inclusion of playerman/managepilot.h 2015-06-22 20:24:31 +10:00
Echelon9 eb739e2a9b Simplify duplicative pilotfile/ includes, which are in pilotfile/pilotfile.h 2015-06-22 20:24:31 +10:00
Echelon9 8c2c451e8e Simplify duplicative parse/ includes. 2015-06-22 20:24:31 +10:00
Echelon9 29faabdfb3 Simplify duplicative object/ includes. 2015-06-22 20:24:31 +10:00
Echelon9 2b251e3cb3 Simplify duplicative model/ includes. 2015-06-22 20:24:31 +10:00
Echelon9 ed2170b2ea Simplify duplicative mod_table/ includes. 2015-06-22 20:24:31 +10:00
Echelon9 493d9a4280 Simplify duplicative missionui/ includes. 2015-06-22 20:24:31 +10:00
Echelon9 a7e6be3368 Simplify duplicative mission/ includes. 2015-06-22 20:24:30 +10:00
Echelon9 dd3a6c2e50 Simplify duplicative menuui/ includes. 2015-06-22 20:24:30 +10:00
Echelon9 97a134e51f Simplify duplicative math/ includes. 2015-06-22 20:24:30 +10:00
Echelon9 e613f4db7d Simplify duplicative lab/ includes, which are in lab/wmcgui.h 2015-06-22 20:24:30 +10:00
Echelon9 47af1ff851 Simplify duplicative hud/ includes. 2015-06-22 20:24:30 +10:00
Echelon9 4e6f525f7c Simplify duplicative graphics/ includes. 2015-06-22 20:24:30 +10:00
Echelon9 b25feb69aa Simplify duplicative gamesnd/ includes, which are in gamesnd/gamesnd.h 2015-06-22 20:24:30 +10:00
Echelon9 90bb4e3a7b Simplify duplicative freespace2/ includes, which are in freespace2/freespace.h 2015-06-22 20:24:30 +10:00
Echelon9 39e1ed3403 Simplify fireball/ include logic. 2015-06-22 20:24:30 +10:00
Echelon9 45664465be Simplify debugconsole/ include logic. 2015-06-22 20:24:30 +10:00
Echelon9 1601f83a05 Guard extraneous inclusion of globalincs/pstypes.h 2015-06-22 20:24:30 +10:00
Echelon9 ae8a310e97 Simplify duplicative camera/ includes, which are in camera/camera.h 2015-06-22 20:24:30 +10:00
Echelon9 0d35f901b3 Simplify duplicative autopilot/ includes, which are in autopilot/autopilot.h 2015-06-22 20:24:30 +10:00
Echelon9 726036b91e Simplify duplicative bmpman/ includes, which are in bmpman/bmpman.h 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
Fabian Woltermann fda36a1476 Merge pull request #193 from PeterMitsis/vecmat_apply_const_and_static_keywords
vecmat: apply const and static keywords
2015-06-22 12:13:46 +02:00
Fabian Woltermann e176132106 Merge pull request #194 from Echelon9/feature/make-cppcheck
Add 'make cppcheck' command line option.
2015-06-22 12:10:54 +02:00
Echelon9 2c36ce39af Add 'make cppcheck' command line option. 2015-06-21 15:37:25 +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
MageKing17 bcf19f1256 Merge pull request #192 from jg18/log_enhanced_sound
Log usage status of enhanced sound.
2015-06-20 01:54:59 -07:00
jg18 4d6d679c7b Log usage status of enhanced sound. 2015-06-19 23:50:14 -07:00
Fabian Woltermann feb6d188f7 Merge pull request #188 from chief1983/fix/standalone_name_hang
[fix/standalone_name_hang] Prevent the standalone from hanging
2015-06-19 21:24:47 +02:00
MageKing17 179229fa81 Add max_shield_recharge and shield_impact_explosion_anim to copy/move functions. 2015-06-18 14:45:43 -07:00
MageKing17 ab9d2e20fb Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/ship/ship.cpp
2015-06-18 14:40:53 -07:00
MageKing17 35813b5e0f Merge pull request #120 from chief1983/mp_for_2012
Add /MP to all projects and configs in VS 2012 project files.
2015-06-18 14:14:49 -07:00
MageKing17 eff6d402f3 Merge pull request #76 from chief1983/fix/triplemon_hud
[fix/triplemon_hud] Yarn's triple-monitor fix
2015-06-18 14:11:51 -07:00
Cliff Gordon 3e8b62999b [fix/standalone_name_hang] Prevent the standalone from hanging when attempting to set a name that is too long. 2015-06-17 14:14:06 -05:00
Cliff Gordon (chief1983) c56925a830 Disable the minimal rebuilds that were enabled for debug configurations. Also contains some whitespace cleanup that VS applied automatically. 2015-06-17 10:38:15 -05:00
Cliff Gordon 28c1286c4d Merge remote-tracking branch 'origin/master' into mp_for_2012 2015-06-17 10:15:44 -05:00
Cliff Gordon 2d662075c3 Merge remote-tracking branch 'origin/master' into fix/triplemon_hud 2015-06-17 10:11:57 -05:00
Cliff Gordon 3247fb08d0 Merge pull request #185 from FSCyborg/patch-1
Resolve CID 1093395 - Unnecessary sanity check
2015-06-17 10:02:17 -05:00
FSCyborg 916fce023d Resolve CID 1093395 - Unnecessary sanity check
Pretty sure this is just a paranoid check.  If it's negative it should get changed to at least 2 in the following line.  Let me know if I have any misconceptions.
2015-06-15 16:12:22 -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
Goober5000 335f1be322 Merge pull request #177 from FSCyborg/patch-1
Resolve CID 1093428 & 1093429
2015-06-14 20:43:39 -04:00
MageKing17 1cc452c13e Merge pull request #182 from DahBlount/feature/dont_spawn_if_shot
Create "don't spawn if shot" flag
2015-06-14 15:32:09 -07:00
Lari Nieminen 4acad3b126 Added a "no-secondary-lock-on" ship flag to disable secondary homing. 2015-06-14 22:25:54 +03:00
DahBlount 923d9851b9 Create "don't spawn if shot" flag
This flag prevents submunitions from being created if a parent weapon is
shot down.
2015-06-14 10:51:09 -07:00
Fabian Woltermann 1192c1dafc Merge pull request #181 from PeterMitsis/math-cleanup
Math cleanup
2015-06-14 11:40:31 +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
m!m 8643fa7327 Merge pull request #178 from FSCyborg/patch-2
Resolve CID 1093431 & 1093432
2015-06-13 20:20:06 +02:00
m!m a71e527e04 Merge pull request #179 from FSCyborg/patch-3
Resolve CID 1093435 & 1093437
2015-06-13 20:16:25 +02:00
FSCyborg 8515b68c0c Resolve CID 1093435 & 1093437
Should resolve issues 1093435 and 1093437. These issues cannot cause crashes because the denominator is indirectly checked, but it's good to change to get coverity and other future diagnosing programs to stop yelling at us.
2015-06-13 13:35:10 -04:00
FSCyborg 6393189c19 Resolve CID 1093431 & 1093432
Should resolve issues 1093431 and 1093432. These issues cannot cause crashes because the denominator is indirectly checked, but it's good to change to get coverity and other future diagnosing programs to stop yelling at us.
2015-06-13 13:26:25 -04:00
FSCyborg 418d17b4da Resolve CID 1093428 & 1093429
Should resolve issues 1093428 and 1093429.  These issues cannot cause crashes because the denominator is indirectly checked, but it's good to change to get coverity and other future diagnosing programs to stop yelling at us.
2015-06-13 13:16:56 -04:00
Fabian Woltermann f6d0e7d97a Merge pull request #126 from AxemP/PainFlash
Adding customizable pain flash and shield pain flash settings
2015-06-13 15:22:40 +02:00
MageKing17 3cb6cc305b Merge pull request #172 from DahBlount/feature/weapon_dmg_decay
Weapon Damage Decay
2015-06-12 11:39:31 -07:00
DahBlount 5f63e86dde Add sanity checks and an extra parameter
This adds extra sanity checks to the Weapon Damage Decay code and also
adds a new parameter for weapons that can GAIN damage is they approach
the end of their lifetime.
2015-06-12 09:56:13 -07:00
DahBlount e8f58f5947 Create Weapon Damage Decay framework
This adds the $Daamge Time: and +Min Damage: entries to weapons.tbl.
These parameters are used to create damage attenuation for non-beam primary weapon.
2015-06-12 05:01:21 -07:00
Axem 27e81df523 Commit cause reasons 2015-06-11 19:50:35 -05:00
z64555 5bd09cfac5 Merge pull request #171 from DahBlount/feature/random_fire_delay
Add Max delay and Min Delay
2015-06-11 13:47:10 -05:00
DahBlount 58f38c2e1e Add Max delay and Min Delay
This adds two weapons.tbl entries that allow a weapon to have a range of
possible fire delay times which results in random firing time. simulates
real life firing time error for the most part.
2015-06-11 08:15:22 -07:00
z64555 99a06b4839 Organizes required_string(); Doxy's required_string() and required_string_one_of() 2015-06-10 09:00:33 -05:00
Fabian Woltermann f162db5e48 Merge pull request #161 from ln-zookeeper/master
Added a $Max Shield Recharge ship table entry for limiting how full t…
2015-06-10 15:18:44 +02:00
Fabian Woltermann 15b822f10f Merge pull request #169 from z64555/ap-VS12_VS13_build_fix
Resolves link errors when trying to build in MSVS 2012 and MSVS 2013.
2015-06-10 15:17:34 +02:00
Fabian Woltermann a3dedeabe4 Merge pull request #163 from asarium/antipodes_/dialogs
Add unified dialog handling
2015-06-10 15:16:22 +02:00
z64555 5c20006500 Resolves link errors when trying to build in MSVS 2012 and MSVS 2013. 2015-06-10 07:04:35 -05:00
Zacam 1e6455c393 Merge pull request #166 from The-E/master
Sets AVX instruction sets for all projects
2015-06-07 01:33:44 -07:00
The E 66c5dff14a Sets AVX instruction sets for all projects 2015-06-07 10:30:33 +02:00
m!m 2190fccc66 Merge pull request #165 from The-E/master
Sets AVX output for VS2015
2015-06-07 10:25:11 +02:00
The E 6204241b7d Sets AVX output for VS2015 2015-06-07 10:22:11 +02:00
asarium 575091aea4 Add unified dialog handling
This also changes the lables on the dialog to make sense and also unifies Int3 behavior by using a function provided by SDL.
2015-06-06 14:53:26 +02:00
Fabian Woltermann 00a3513c84 Merge pull request #162 from asarium/antipodes_/outwndFix
Fix outwnd on Unix
2015-06-05 18:26:55 +02:00
asarium 92556a5116 Fix outwnd on Unix 2015-06-05 00:08:24 +02:00
Lari Nieminen 26e31a4cf0 Added a $Max Shield Recharge ship table entry for limiting how full the shields may recharge. 2015-06-04 15:35:41 +03:00
Fabian Woltermann 421d8be977 Merge pull request #153 from Echelon9/fix/Xcode4-project-file
Update Xcode4+ project files for the removal of timerbar.cpp|h
2015-06-04 13:35:09 +02:00
Fabian Woltermann 7a505887ff Merge pull request #135 from ln-zookeeper/master
Added customizable shield impact explosion effects, originally adapte…
2015-06-04 13:33:40 +02:00
m!m 3c229a9c81 Merge pull request #157 from AxemP/LuaOnBeamFire
Adds On Beam Fire scripting hook
2015-06-04 10:05:56 +02:00
Axem 4b20b46509 Commit because reasons? (Why git, why) 2015-06-03 17:44:37 -05:00
Axem 7e8557d564 Merging with new updated master 2015-06-03 17:38:52 -05:00
Fabian Woltermann 2aed7ccf71 Merge pull request #147 from asarium/antipodes_/os_sleep
Replace Sleep with os_sleep
2015-06-03 16:54:42 +02:00
m!m 8c3e9dcdd7 Merge pull request #154 from AxemP/LuaAfterburn+BeamFire
Adds Afterburner Engage/Ending scripting hooks
2015-06-03 16:26:36 +02:00
m!m 91ea6b83cf Merge pull request #155 from AxemP/LuaApplyWhack
Adds applyWhack() scripting function for ship objects
2015-06-03 16:24:30 +02:00
asarium 2d47bcd9ad Replace Sleep with os_sleep 2015-06-03 16:20:39 +02:00
Fabian Woltermann 7cf0f97e9d Merge pull request #160 from asarium/antipodes
Sync Antipodes
2015-06-03 15:31:19 +02:00
asarium 7aef2c5eaf Merge branch 'master' into antipodes 2015-06-03 12:50:21 +02:00
Fabian Woltermann d7f54dd703 Merge pull request #151 from jg18/enhanced_sound
Add support for enhanced sound.
2015-06-02 08:13:42 +02:00
jg18 7fe5ba8db8 Make enhanced sound on by default. 2015-06-01 11:18:07 -07:00
jg18 faa0c5e9ee Make minor corrections to enhanced sound. 2015-06-01 10:24:07 -07:00
Axem 61e4f739ce Adds On Beam Fire scripting hook 2015-05-31 18:02:36 -05:00
Axem 852a4eb3fa Tweaking formatting... 2015-05-31 17:26:03 -05:00
Axem 7975300304 Cutting out the beam fire 2015-05-31 17:20:39 -05:00
Axem 58e8c23665 Adds on Afterburner Engage, Afterburner End, and On Beam Fire scripting hooks 2015-05-31 11:51:22 -05:00
Axem 2fa7e8f096 Adds applyWhack() scripting function for ship objects 2015-05-31 11:18:45 -05:00
Lari Nieminen 037c5a06aa Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-05-31 14:28:52 +03:00
MageKing17 859405b62e Merge pull request #149 from SamuelCho/mantis3163
Refactored how color setting is done for model rendering. Fixes Mantis 3163
2015-05-30 19:24:15 -07:00
Echelon9 2943d3f1a4 Address Xcode issue with quotes and version strings. 2015-05-31 12:07:57 +10:00
Echelon9 f2fb83801c Update Xcode4+ project files for the removal of timerbar.cpp|h 2015-05-31 10:54:46 +10:00
Goober5000 74ae0a9395 Merge pull request #148 from SamuelCho/mantis3161
Fix for Mantis 3161. Corrected model debug rendering when calling the immediate version of model rendering.
2015-05-30 18:13:05 -04:00
Goober5000 aa0d424699 Merge pull request #150 from SamuelCho/skybox_render_order
Eliminate sorting of draw calls for skyboxes for correctness.
2015-05-30 13:03:33 -04:00
Goober5000 4fe9668fa3 Merge pull request #152 from SamuelCho/mantis3162
Rectified jump nodes not rendering in FRED. Fixes Mantis 3162.
2015-05-30 13:00:44 -04:00
SamuelCho 0c9996c32b Rectified jump nodes not rendering in FRED. Fixes Mantis 3162. 2015-05-29 23:37:50 -07:00
jg18 ad910280e7 Add support for enhanced sound.
Add support for enhanced in-mission sound, with 128 audio channels and a
new system for specifying per-sound priorities and concurrent playback
limits using modular extensions of soudns.tbl.
2015-05-29 23:05:30 -07:00
SamuelCho a7c1e29bf6 Eliminate sorting of draw calls for skyboxes for correctness. 2015-05-29 22:58:28 -07:00
SamuelCho 2ba39e6b6d Refactored how color setting is done for model rendering. Fixes Mantis 3163. 2015-05-29 21:54:33 -07:00
SamuelCho 44de943a99 Fix for Mantis 3161. Corrected model debug rendering when calling the immediate version of model rendering. 2015-05-29 19:47:23 -07:00
asarium 0c705fee6f Merge branch 'master' into antipodes
Conflicts:
	code/debugconsole/timerbar.cpp
	code/graphics/gropengl.cpp
	projects/MSVC_2010/code.vcxproj
	projects/MSVC_2012/code.vcxproj
	projects/MSVC_2012/code.vcxproj.filters
2015-05-29 17:47:58 +02:00
m!m 661b650911 Merge pull request #145 from asarium/fix/timerbar
Remove unused timerbar files
2015-05-29 17:45:10 +02:00
asarium badbe4a239 Remove unused timerbar files 2015-05-29 16:31:41 +02:00
MageKing17 db781c1a7f Hopefully fix VS 2010 compilation.
Apparently VS 2010 doesn't like vector::emplace_back() with 0 arguments. A push_back() of a generic ship_info object should provide basically the same effect.
2015-05-29 02:06:04 -07:00
MageKing17 8fb0436b42 Add new variables to clone() and move().
Also add model_icon_angles to the constructor (let's just make absolutely sure it's zeroed out on initialization).
2015-05-28 23:56:22 -07:00
MageKing17 7e696a55d2 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Also added model_icon_angles to the ship_info() constructor, and model_icon_angles, thruster_glow_noise_mult, and min_engine_vol to ship_info::clone() and and ship_info::move().

Conflicts:
	code/ship/ship.cpp
	code/ship/ship.h
2015-05-28 23:49:33 -07:00
Fabian Woltermann 3b90519be4 Merge pull request #144 from asarium/antipodes_/haptic
[Antipodes] Add some debug code to sdl haptic initialization
2015-05-28 16:32:38 +02:00
Fabian Woltermann 0311484e12 Merge pull request #143 from asarium/antipodes_/cleanup/endian
[Antipodes] Unify byte order detection using SDL
2015-05-28 16:32:05 +02:00
asarium d59dd99d28 Add some debug code to sdl haptic initialization 2015-05-28 15:43:00 +02:00
Fabian Woltermann 2e1ae8c126 Merge pull request #142 from asarium/antipodes_/cleanup/outwnd
Remove dead code from outwnd.cpp
2015-05-28 14:45:20 +02:00
Fabian Woltermann b6cd096204 Merge pull request #141 from asarium/antipodes
Sync Antipodes
2015-05-28 14:44:34 +02:00
asarium 7eaaf94342 Unify byte order detection using SDL 2015-05-28 14:41:13 +02:00
asarium ffcb4ca268 Use the new outwnd.cpp on every platform 2015-05-28 13:57:47 +02:00
asarium acccaa929d Fix compilation under linux 2015-05-28 13:56:07 +02:00
asarium e0ce4737ec Clean outwnd.cpp
It had a lot of dead code related to the unused debug output window.
2015-05-28 13:18:32 +02:00
asarium 4b6041980e Merge branch 'master' into antipodes
Conflicts:
	code/osapi/osapi.cpp
2015-05-28 13:07:57 +02:00
Fabian Woltermann 0bc1d365e6 Merge pull request #139 from asarium/antipodes_/joystickGUID
[Antipodes] Make the joystick system use GUIDs to identify the joysticks
2015-05-28 11:37:36 +02:00
asarium e0c919baea Change enum class back to enum 2015-05-28 11:34:31 +02:00
asarium a7efca662d Make the joystick system use GUIDs to identify the joysticks 2015-05-28 11:34:30 +02:00
Fabian Woltermann 9140069a85 Merge pull request #138 from asarium/antipodes_/cleanup/joy
[Antipodes] Remove now unused functions
2015-05-28 11:23:22 +02:00
Fabian Woltermann fae5f227b7 Merge pull request #137 from asarium/antipodes_/cleanup/mouse
[Antipodes] Remove unneded functions from mouse.h/.cpp
2015-05-28 11:22:56 +02:00
Fabian Woltermann 5baa57216a Merge pull request #136 from asarium/antipodes_/externalCode
[Antipodes] Update externalcode to use SDL to do DLL loading
2015-05-28 11:22:35 +02:00
Fabian Woltermann a181616583 Merge pull request #134 from asarium/antipodes_/SDLupdate
[Antipodes] Update SDL to version 2.0.3
2015-05-28 11:22:18 +02:00
m!m 3030e20121 Merge pull request #140 from scp-fs2open/possible-appveyor-fix
Remove AppVeyor logger.
2015-05-28 11:03:00 +02:00
MageKing17 9f65ab39d0 Remove AppVeyor logger.
Apparently it's causing the nonsensical failures for builds of the 2013 project.
2015-05-28 00:28:11 -07:00
asarium 13f22d0ac9 Remove now unused functions 2015-05-27 15:50:42 +02:00
asarium 90efc5d1b1 Remove unneded functions from mouse.h/.cpp 2015-05-27 15:07:15 +02:00
asarium d6460398e6 Update externalcode to use SDL to do DLL loading 2015-05-27 15:01:40 +02:00
Lari Nieminen 3e4cfa361d Added customizable shield impact explosion effects, originally adapted from Wanderer branch. 2015-05-27 13:41:50 +03:00
asarium 9ec7a5886d Update SDL to version 2.0.3
This version now works out of the box with FRED although I don't know exactly why, if it breaks in the future SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT could help fix it.
2015-05-27 12:35:50 +02:00
Fabian Woltermann a127a8cad6 Merge pull request #133 from ln-zookeeper/master
Added a $Model Icon Direction ship table entry for overriding the ang…
2015-05-27 11:31:31 +02:00
Lari Nieminen 8fd0bf3f7f Added a $Model Icon Direction ship table entry for overriding the angle from which ship icons are rendered from. 2015-05-27 12:19:06 +03:00
Fabian Woltermann d4d4868fe7 Merge pull request #128 from asarium/antipodes_/resolutionFix
[Antipodes] Pick a better default resolution
2015-05-27 11:11:50 +02:00
Fabian Woltermann af79c18752 Merge pull request #132 from z64555/ap-mousewheel
Expands mouse functionality.
2015-05-27 10:39:22 +02:00
z64555 3a0b78366d Some documentation on the MOUSE_BUTTON and MOUSE_WHEEL defines 2015-05-27 03:31:29 -05:00
z64555 c2e72b0098 can haz better bool algea-bra? 2015-05-27 03:25:35 -05:00
z64555 bf3c861f19 Merge pull request #130 from The-E/antipodes
Adjustments to the MSVC2010 project files for AP
2015-05-27 03:14:27 -05:00
z64555 56f9f608be Merge pull request #119 from The-E/dedicated_gpu
Use high-performance GPU by default.
2015-05-27 03:13:49 -05:00
z64555 69b845ef83 Adds mousewheel functions in addition to support for X1 and X2 buttons. These currently take up the same mappings as joy buttons 4 through 9. 2015-05-27 03:06:03 -05:00
Fabian Woltermann 258662ff4c Merge pull request #104 from MageKing17/feature/subspace-beams
Subspace Beams
2015-05-27 10:00:44 +02:00
Fabian Woltermann a0ed1ac897 Merge pull request #125 from ln-zookeeper/master
Added a $Thruster Glow Noise Mult ship table entry for decreasing/inc…
2015-05-27 09:56:45 +02:00
Fabian Woltermann 136091fc68 Merge pull request #131 from asarium/mantis/3160
Mantis 3160: Only set processor affinity if a commandline flag is present
2015-05-27 09:32:50 +02:00
asarium c5cf337365 Only set processor affinity if a commandline flag is present 2015-05-27 00:31:08 +02:00
The E 0af8e800a5 Adjustments to the MSVC2010 project files for AP 2015-05-26 22:10:22 +02:00
Fabian Woltermann 6b9f475f64 Merge pull request #129 from asarium/antipodes_/VS2015
Fix compilation of Antipodes on VS2015
2015-05-26 21:08:49 +02:00
asarium 5471cafea5 Readd resolution switch 2015-05-26 19:57:00 +02:00
asarium d39053d82c Fix linking issues by directly compiling the SDL file, 2015-05-26 19:40:42 +02:00
asarium 356c2637b5 Fix VS2015 project files 2015-05-26 19:07:38 +02:00
asarium 178c69b212 Fix warnings 2015-05-25 22:09:35 +02:00
asarium a7e8ecfe07 Use the desktop size to initialize a default video card config 2015-05-25 22:09:34 +02:00
MageKing17 69cd61637b Merge pull request #127 from asarium/antipodes
Sync Antipodes
2015-05-25 11:47:41 -07:00
asarium 9d7b3dcb11 Merge branch 'master' into antipodes
Conflicts:
	projects/MSVC_2012/code.vcxproj
	projects/MSVC_2012/code.vcxproj.filters
2015-05-25 15:57:48 +02:00
Axem e396686570 Adding customizable pain flash and shield pain flash settings 2015-05-24 09:00:30 -05:00
Lari Nieminen 72a082c9eb Added a $Thruster Glow Noise Mult ship table entry for decreasing/increasing the effect of noise applied to the glow radius. 2015-05-23 00:11:43 +03:00
MageKing17 67a87a33f3 Change if-elseif chain to switch statement.
Somewhat easier to read this way.
2015-05-22 12:38:13 -07:00
MageKing17 b2cff0788a Make these assertions more clear. 2015-05-22 12:37:19 -07:00
MageKing17 fa61278c10 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into feature/subspace-beams 2015-05-22 12:32:34 -07:00
m!m 585a5fe64d Merge pull request #112 from ln-zookeeper/master
Added $Minimum Engine Volume to ships.tbl, with which to customize ho…
2015-05-21 19:44:26 +02:00
Lari Nieminen 81f7d272fd Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-05-21 18:35:32 +03:00
Goober5000 ee6cd1d204 Merge pull request #121 from MageKing17/bugfix/fred-warnings
Fix a couple FRED warnings.
2015-05-21 00:06:48 -04:00
Cliff Gordon a4c1f89720 Merge remote-tracking branch 'origin/master' into fix/triplemon_hud
Conflicts:
	code/freespace2/freespace.cpp
2015-05-20 17:15:15 -05:00
Cliff Gordon (chief1983) 9429770f3d Add /MP to all projects and configs in VS 2012 project files. 2015-05-20 12:19:43 -05:00
m!m 2c5999b1d0 Merge pull request #114 from chief1983/rename_2011
[rename_2011] Rename MSVC_2011 to MSVC_2012
2015-05-20 17:32:38 +02:00
Cliff Gordon 2f152ce085 [rename_2011] Fix the appveyor config to handle the renamed project. 2015-05-20 09:27:40 -05:00
Cliff Gordon (chief1983) 3163319217 Merge remote-tracking branch 'origin/master' into rename_2011 2015-05-19 21:33:53 -05:00
Cliff Gordon (chief1983) 8e4f6afddd Add the shadows files to the VS 2012 project. The diff looks like a lot changed, but most is apparently just whitespace. diff -w shows a clean set of file additions. 2015-05-19 21:30:32 -05:00
The E ef9ae017b5 Make sure we use the same calling convention both times 2015-05-19 21:21:54 +02:00
The E 2c626b4eec According to AMD and NV, these _should_ force their drivers into high-performance mode 2015-05-19 20:48:01 +02:00
MageKing17 cac6737541 Fix a couple FRED warnings.
Change a couple instances of setting a DWORD_PTR to -1 by explicitly casting it to a DWORD_PTR.
2015-05-19 11:39:36 -07:00
MageKing17 ab900aad1c Avoid calling ssm_create() from ship_apply_tag() if ssm_index < 0.
This would happen if a TAG level 3 weapon had no specified SSM (or an invalid one). Since nothing can call ssm_create() with a negative ssm_index now, changed it to a size_t and simplified one of the verification conditionals.
2015-05-19 10:55:17 -07:00
Fabian Woltermann a69566f8bd Merge pull request #116 from asarium/ci/appveyor
Add AppVeyor configuration
2015-05-19 08:03:07 +02:00
MageKing17 67c75304e7 Merge pull request #115 from asarium/fix/luacpp
Fix scripting function ad.playMusic
2015-05-18 17:30:10 -07:00
niffiwan 6a88616f9b Merge pull request #96 from asarium/fix/unordered_map
Change SCP_hash_map to SCP_unordered_map
2015-05-19 07:48:23 +10:00
asarium 57f709fcec Add AppVeyor configuration 2015-05-18 23:26:38 +02:00
asarium 4a3da56ffd Merge branch 'master' into antipodes 2015-05-18 22:29:27 +02:00
asarium 6c24aaae77 Actually get the loop variable from the lua stack 2015-05-18 21:57:44 +02:00
MageKing17 764c1ab03f Fix F3 lab using old idx value.
This was causing everything to use the Ship_info index of the size of the species vector; for FS2, that meant 3, which meant GTF Ares.
2015-05-18 10:09:29 -07:00
MageKing17 cde82a9093 Get rid of erroneous assertion. 2015-05-18 10:08:12 -07:00
MageKing17 16229a9950 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info 2015-05-18 10:04:21 -07:00
Fabian Woltermann 7bf700f173 Merge pull request #105 from MageKing17/mantis/3139
Fix Mantis #3139.
2015-05-18 18:21:49 +02:00
Lari Nieminen 742925e0d9 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-05-18 19:07:31 +03:00
Cliff Gordon 761de4a671 [rename_2011] Rename MSVC_2011 to MSVC_2012 since that's what the IDE actually released as. 2015-05-18 10:53:15 -05:00
m!m 8502c66e7c Merge pull request #108 from niffiwan/coverity/1298258
Fix Coverity 1298258: Uninitialized scalar var
2015-05-18 11:46:56 +02:00
m!m dcebc4aa50 Merge pull request #110 from niffiwan/coverity/1298255
Fix Coverity 1298255: Uninitialized scalar var
2015-05-18 11:45:10 +02:00
Lari Nieminen 54a2a3ea5b Fixed stupid syntax error. 2015-05-18 00:49:31 +03:00
Lari Nieminen 56273906b7 Fixed incorrect volume ramping. 2015-05-17 17:04:57 +03:00
niffiwan 9df5407dfb I think this should resolve the Travis issue 2015-05-17 19:48:18 +10:00
niffiwan 51b8e83d89 Fix Coverity 1298257: Uninitialized scalar var
Add all struct members to constructor (esp thrust_scale which was read
uninitialised). Remove some var sets that the constructor now sets as
defaults. Also fixes 1298248
2015-05-17 13:25:00 +10:00
Lari Nieminen a44daaba35 Added $Minimum Engine Volume to ships.tbl, with which to customize how the ship's speed affects engine sound volume. 2015-05-17 03:33:46 +03:00
niffiwan 2d832dd11e Fix Coverity 1298255: Uninitialized scalar var
Copy particle min/max life values from modelinterp
Also avoid double->float conversion
2015-05-16 21:51:39 +10:00
niffiwan 1784e880ae Merge pull request #50 from asarium/coverity/1093690
Fix for Coverity 1093690: Resource leak
2015-05-16 20:05:43 +10:00
asarium 189f23a341 Change SCP_hash_map to SCP_unordered_map
Also uses std::unordered_map on every platform now
2015-05-16 11:40:10 +02:00
asarium cc9109843a Fix for Coverity 1093690: Resource leak
This introduces a move constructor for CJumpNode to handle freeing resources.
2015-05-16 11:20:20 +02:00
niffiwan 1deb837973 Merge pull request #102 from asarium/fix/noallocator
Remove SCP_vm_allocator
2015-05-16 14:13:44 +10:00
niffiwan 3859d16640 Fix Coverity 1298258: Uninitialized scalar var
Also fixes 1298256, 1298254, 1298253

For vertex vars use default value-initialisation to zero the struct
http://en.cppreference.com/w/cpp/language/value_initialization

Note that parts of vertex don't seem used in relevant codepaths, e.g.
the colours. A zero init approach should be safer should code change in
future.
2015-05-16 12:44:56 +10:00
MageKing17 e68261bbf3 Merge pull request #107 from niffiwan/coverity/1298268
Fix Coverity 1298268: Division by float zero
2015-05-15 19:01:37 -07:00
MageKing17 e2a350940a Merge pull request #106 from niffiwan/coverity/1298261
Fix Coverity 1298261 Missing break in switch
2015-05-15 19:00:07 -07:00
niffiwan 6512edec77 Fix Coverity 1298268: Division by float zero
The div-by-zero won't be triggered by this code because the
secondaryteam is "none". Play it safe and protect the div anyway
2015-05-16 10:59:15 +10:00
niffiwan 2910a7a6eb Fix Coverity 1298261 Missing break in switch 2015-05-16 10:36:30 +10:00
MageKing17 8efbd74cf0 Fix Mantis #3139.
This make ship explosion shockwaves use the tabled damage type. The code was creating a new shockwave_create_info object, initializing it, and then only copying some of the attributes of the ship's "shockwave" shockwave_create_info member (not including damage type). It makes more sense to use copy-assignment and then specifically override the attributes that should be overridden.
2015-05-15 16:40:25 -07:00
MageKing17 05b79a41fb Allow beams to be spawned weapons. 2015-05-15 16:28:42 -07:00
niffiwan e24f459eaf Merge pull request #103 from asarium/travis/badge
Add Travis CI badge to Readme.md
2015-05-16 09:23:02 +10: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
MageKing17 abfba82d48 Add beam-create SEXP.
Fires a floating beam from a given set of coordinates (like fire-beam and fire-beam-at-coordinates).
2015-05-15 16:11:36 -07:00
MageKing17 0609d3919f Allow floating beams.
Makes it possible for a beam to fire from a point in space instead of a turret.
2015-05-15 16:09:35 -07:00
MageKing17 f8954cc941 Fix typo of "section" as "secion". 2015-05-15 15:28:27 -07:00
asarium 794a7f5bd1 Add coverity badge to Readme.md 2015-05-16 00:02:56 +02:00
asarium 762e7c3e24 Remove SCP_vm_allocator 2015-05-15 23:39:15 +02:00
MageKing17 41df065706 Merge pull request #101 from asarium/antipodes
Sync Antipodes
2015-05-15 14:31:18 -07:00
MageKing17 165fc95411 Merge pull request #100 from ln-zookeeper/master
Fixed a bug with the next/prev subsystem targeting keys not working i…
2015-05-15 14:29:34 -07:00
asarium 43ef44e479 Install the right SDL package 2015-05-15 18:04:30 +02:00
asarium 5a0b3305da Merge branch 'master' into antipodes 2015-05-15 17:40:58 +02:00
Lari Nieminen 268c2558d5 Fixed a bug with the next/prev subsystem targeting keys not working if the target only has one subsystem. 2015-05-15 15:16:58 +03:00
niffiwan 34170b1cd2 Merge pull request #97 from asarium/travis/master
Add Travis CI config file
2015-05-15 20:39:20 +10:00
niffiwan 9147fc483f Merge pull request #52 from asarium/fix/warnings
Fix compilation warnings
2015-05-15 20:37:58 +10:00
Fabian Woltermann 450bc83068 Merge pull request #99 from SamuelCho/fog_shader_fix
Fix errors when model shader variants use fog but don't use diffuse maps.
2015-05-15 08:11:42 +02:00
SamuelCho 65d3d59c0f Fix errors when model shader variants use fog but don't use diffuse maps. 2015-05-14 22:40:43 -07:00
asarium e50555c4ae Add Travis CI config file 2015-05-14 22:20:30 +02:00
asarium e677ed7657 Fix warning 'allocate_poly_list' : unreferenced local function has been removed 2015-05-14 17:37:41 +02:00
niffiwan 82c2805b36 Merge branch 'ln-zookeeper-master' 2015-05-14 19:44:27 +10:00
niffiwan bf13e5053e Merge branch 'master' into ln-zookeeper-master
Conflicts:
	code/ai/ai_profiles.cpp
2015-05-14 19:38:19 +10:00
Fabian Woltermann f6093feceb Merge pull request #94 from MageKing17/bugfix/bomb-invulnerability
Make an AI profile flag for the aspect bomb invulnerability fix.
2015-05-14 10:54:56 +02:00
Fabian Woltermann 2ae6216c93 Merge pull request #95 from SamuelCho/bracket_trans_fix
Fixed ship select bracket rendering and lighting on transparent geometry.
2015-05-14 10:54:28 +02:00
asarium a237d7faad Fix compilation on OS X 2015-05-14 10:45:32 +02:00
asarium 77283e9c7a Fix conversion warnings 2015-05-14 10:45:32 +02:00
asarium f7a22d7ed0 Fix BM_TYPE to ubyte conversion warnings 2015-05-14 10:45:31 +02:00
asarium ab1b12fdd6 Fix "conversion from 'SPPHRASERNG' to 'ULONG'" warning 2015-05-14 10:45:30 +02:00
asarium d5938614c1 Fix "forcing value to bool 'true' or 'false'" warning 2015-05-14 10:45:29 +02:00
asarium 83bb7e144f Fix unused function warning 2015-05-14 10:45:29 +02:00
asarium 65b1569df2 Fix macro redefinition warning 2015-05-14 10:45:28 +02:00
asarium b849eec785 Fix "conversion from 'BM_TYPE' to 'ubyte'" warning 2015-05-14 10:45:27 +02:00
asarium b883ebc038 Fix usage of uninitialized variable warning 2015-05-14 10:45:26 +02:00
asarium 3cfbcbe363 Fix signed < unsigned warning 2015-05-14 10:45:25 +02:00
SamuelCho 5255f129dc Fixed gradient brackets in ship select screen. Fixed lighting for transparent meshes when using deferred lighting. 2015-05-13 20:38:17 -07:00
MageKing17 9555602823 Make an AI profile flag for the aspect bomb invulnerability fix.
Originally introduced in r8696 back in 2012 (hash d7d6009ea1), this fix changes retail balance and should be behind a flag.
2015-05-13 20:15:27 -07:00
MageKing17 9db390b553 Avoid bug in older clang versions.
Avoids calling std::swap() on multidimensional arrays.
2015-05-12 19:45:55 -07:00
MageKing17 48095d34e6 Fix a few typos. 2015-05-12 19:45:11 -07:00
MageKing17 51a8932f7f Add glowpoint_bank_override_map to the ship_info operations. 2015-05-12 19:44:26 -07:00
MageKing17 274a32e1ac Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/model/modelread.cpp
	code/ship/ship.h
2015-05-12 19:22:58 -07:00
Lari Nieminen 2c1d1b12cc Allowed bay path speed modifiers to function in both pathing modes. 2015-05-13 00:35:40 +03:00
Lari Nieminen 133f059b8d Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-05-13 00:21:04 +03:00
Cliff Gordon fbbfef9ae2 Missing project file additions for shadows to compile on OS X. 2015-05-12 15:37:44 -05:00
MageKing17 ccf623f4b1 Merge pull request #93 from asarium/antipodes
Sync Antipodes
2015-05-12 11:41:56 -07:00
asarium c6e7087b60 Merge branch 'master' into antipodes
Conflicts:
	code/graphics/2d.cpp
	projects/MSVC_2013/code.vcxproj.filters
2015-05-12 20:34:35 +02:00
The E 556550fbde Updated project files for MSVC 2015 2015-05-12 20:27:34 +02:00
Fabian Woltermann 5dfbc6d292 Merge pull request #88 from SamuelCho/soft_shadows_deferred_lighting
Soft shadows, deferred lighting, and various graphics improvements and optimizations
2015-05-12 20:06:33 +02:00
Lari Nieminen 4fbf65ae8b Warn about bay path speed multipliers currently only working with the 'alt1' pathing type. 2015-05-11 19:50:13 +03:00
Lari Nieminen c9ec754eb6 Fixed $bay arrive/depart speed multiplier not working correctly. 2015-05-11 19:09:55 +03:00
niffiwan 1fe476a9e2 Merge pull request #79 from asarium/mantis/3134
From LotF: Fix for Mantis 3134
2015-05-10 21:45:25 +10:00
Lari Nieminen ffed62372f Added ai_profiles and path metadata options to force AI ships flying bay paths to gradually accelerate/decelerate instead of flying the path at max speed. 2015-05-10 11:52:09 +03:00
MageKing17 367c060749 Merge pull request #91 from ln-zookeeper/master
Avoid loading the anchor ship model multiple times when resolving pat…
2015-05-09 17:13:31 -07:00
Lari Nieminen 24d16213a6 Avoid loading the anchor ship model multiple times when resolving path masks. 2015-05-10 02:23:44 +03:00
MageKing17 be57943a52 Merge pull request #90 from ln-zookeeper/master
Revert a part of f6e2f1d2 / r11129 which causes collision problems in…
2015-05-09 16:03:09 -07:00
Lari Nieminen 7a8c7cc6c2 Revert a part of f6e2f1d2 / r11129 which causes collision problems in some corner cases. 2015-05-09 13:42:12 +03:00
niffiwan c85904b3c5 Merge pull request #85 from MageKing17/bugfix/random-multiple-of
Fix random-multiple-of.
2015-05-09 19:47:23 +10:00
MageKing17 08a1434b71 Merge pull request #89 from niffiwan/coverity/1093714_mk2
Fix Coverity 1093714: Negative array index read
2015-05-09 01:42:50 -07:00
niffiwan d69b7d7e0d Add newline to Assertion msg 2015-05-09 18:27:20 +10:00
niffiwan 93a5d82ca8 Fix Coverity 1093714: Negative array index read
This is very unlikely, but add an assertion anyway just in case someone
in future messes us keeping num_primary_banks & primary_bank_weapons in
sync.
2015-05-09 17:08:21 +10:00
SamuelCho 90c8025588 Code cleanup before the big soft shadows and deferred lighting merge into master. 2015-05-08 21:55:28 -07:00
SamuelCho 520b89408e Fixed warnings related to graphics code additions. 2015-05-08 21:21:20 -07:00
SamuelCho 094c5fe302 Resolve faster ibx and improved profiling merges. 2015-05-08 20:53:59 -07:00
niffiwan 27cdf337fb Merge pull request #74 from SamuelCho/faster_ibx
Greatly increase the generation speed of index buffers.
2015-05-09 13:35:54 +10:00
niffiwan f2d3763bdd Merge pull request #86 from MageKing17/bugfix/sexp-not-segfault
Fix typo in eval_not.
2015-05-09 13:30:29 +10:00
SamuelCho 96cbfb1fdf #include <algorithm> to get faster index buffer generation working on Linux. 2015-05-08 20:20:29 -07:00
MageKing17 290d25d6ae Fix typo in eval_not.
Can cause serious problems by accessing Sexp_nodes[-1].value. Caused chief1986 to segfault on OS X.
2015-05-08 16:13:35 -07:00
MageKing17 9ef7aa2432 Fix random-multiple-of.
I don't know if I was just tired when I wrote this originally or what, but there were two problems here; one, the for-loop condition was inverted (and since I made it a for-loop instead of a while-loop, I'm not sure why I didn't take out the "break" condition), so its contents would never actually evaluate. Two, the node matching random_argument wasn't being stored anywhere so even if the for-loop condition hadn't been wrong, it would've just used the last valid argument instead of the first argument every time. Fixes GitHub issue #84.
2015-05-08 16:09:37 -07:00
asarium d822f2a467 Merge branch 'master' into antipodes
Conflicts:
	code/io/timer.cpp

timer conflict was fixed by using the performance counters of SDL instead of what the OS offers directly
2015-05-08 22:24:36 +02:00
niffiwan a39a7530f8 Merge pull request #82 from ln-zookeeper/master
Added a "Show Destroyed Subsystems" flag to ship lab for viewing -des…
2015-05-08 20:32:13 +10:00
Fabian Woltermann 77ee6f100b Merge pull request #83 from asarium/feature/betterGamesndParsing
Improve gamesnd modular parsing
2015-05-08 10:32:26 +02:00
asarium 88a85e4024 Improve gamesnd modular parsing
As requested by jg18, this improves the sound.tbl parser to properly handle +nocreate. If the file name of an entry should not be changed you have to specify <same>.
2015-05-08 08:48:17 +02:00
m!m 2223db66d2 Merge pull request #81 from asarium/antipodes
Sync Antipodes
2015-05-08 08:08:29 +02:00
Lari Nieminen ce853a5f07 Added a "Show Destroyed Subsystems" flag to ship lab for viewing -destroyed submodels. 2015-05-08 01:20:58 +03:00
MageKing17 87b79774d1 Merge pull request #80 from asarium/fix/gitignore
Update .gitignore to include voice recognition files
2015-05-07 13:46:32 -07:00
asarium 48206c3ef8 Update .gitignore to include voice recognition files 2015-05-07 22:41:22 +02:00
asarium 2453161a54 Merge branch 'master' into antipodes 2015-05-07 22:38:11 +02:00
Fabian Woltermann 0349240a33 Merge pull request #75 from SamuelCho/profiling_microseconds
Improved profiling code to have a timing resolution of microseconds instead of milliseconds
2015-05-07 21:03:44 +02:00
Samuel Cho 135620dcf9 Merge branch 'faster_ibx' of https://github.com/SamuelCho/fs2open.github.com into faster_ibx 2015-05-07 09:47:41 -07:00
Swifty 60a5a6bd7c Removal of IBX file code and related command-line options. 2015-05-07 09:46:58 -07:00
Swifty 5a68f6d830 Greatly increase the generation speed of index buffers. 2015-05-07 09:46:57 -07:00
asarium aa6936a2a5 From LotF: Fix for Mantis 3134
dynamic weapon point firing causes a crash when used on a fighter with more than 6 firing points
2015-05-07 18:27:48 +02:00
niffiwan 935af40c87 Merge pull request #78 from ln-zookeeper/master
Make firepoint HUD gauge light up only firepoints that'll fire next
2015-05-07 20:32:28 +10:00
Lari Nieminen 42d830e62f * Made the firepoint HUD gauge light up only the firepoints which will fire next, if "dynamic primary linking" ship flag or "cycle" weapon flag is used. 2015-05-06 23:40:40 +03:00
Swifty 7cf5a3e085 Removal of IBX file code and related command-line options. 2015-05-06 12:27:50 -07:00
Cliff Gordon 0ce31bf471 [fix/triplemon_hud] Yarn's triple-monitor fix, see http://www.hard-light.net/forums/index.php?topic=89262.0. Patch tweaked to work around changes in 9aed627. 2015-05-06 10:40:45 -05:00
Fabian Woltermann 4d90765185 Merge pull request #48 from MageKing17/bugfix/fred-ship-editor-persona
Fix persona selection in FRED's ship editor.
2015-05-06 12:27:05 +02:00
niffiwan 7b82acb327 Merge pull request #73 from MageKing17/mantis/3140
Fix Mantis 3140.
2015-05-06 20:17:26 +10:00
niffiwan 666e1ddeeb Merge pull request #70 from ln-zookeeper/master
Add optional control preset names

Also display the name in the control config page (F2)
2015-05-06 19:11:51 +10:00
Swifty dd9f9ed921 Improved profiling code to have a timing resolution of microseconds instead of milliseconds. 2015-05-05 20:41:05 -07:00
Swifty 47c2aa0bbc Greatly increase the generation speed of index buffers. 2015-05-05 19:08:41 -07:00
MageKing17 e59bb76f72 Get rid of warning on 64-bit compilers.
If size_t is bigger than an int, this line generates warnings.
2015-05-05 14:43:20 -07:00
MageKing17 202bd3a5dc Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info 2015-05-05 14:39:01 -07:00
MageKing17 5f43e78be2 Fix Mantis 3140.
Changes the "virtual frame" used for aspect locks to be 640x480 so as to correct different lock behavior due to both different aspect ratios and different resolutions. Applies a scaling factor to the drawing of the lock indicator on the HUD so that it traverses roughly the same portion of the screen regardless of resolution.
2015-05-05 12:54:07 -07:00
Cliff Gordon e3ca0ec5b1 Merge pull request #59 from Echelon9/fix/doxygen
Fix doxygen documentation
2015-05-05 09:41:41 -05:00
Echelon9 464a25b457 Fix empty documentation/doxygen using .gitkeep and global .gitignore trick. Otherwise, Git does not index empty folders. 2015-05-06 00:18:28 +10:00
Echelon9 819f53721d Revert "Fix empty documentation/doxygen using .gitignore trick. Otherwise, Git does not index empty folders."
This reverts commit 550998e827.
2015-05-05 23:59:39 +10:00
niffiwan 4e68213569 Merge pull request #72 from chief1983/mantis/3158b
Fix for Mantis #3158: prevent narrowing that breaks compilation in stricter compilers
2015-05-05 11:37:09 +10:00
Cliff Gordon 6b080df736 Fix for Mantis #3158 (take 2): change the size of the token used for released but active streams to fit into an int without narrowing. 2015-05-04 20:33:02 -05:00
Lari Nieminen 0bb972b141 Made it possible to name control presets, and made controls config display the current preset's name if there are multiple to choose from. 2015-05-05 00:38:24 +03:00
niffiwan 93d88650e1 Merge pull request #68 from chief1983/fix/HAVE_CXX11-freebsd
Fix for a 'HAVE_CXX11 already defined' warning

(related to clang on non-OSX OS's)
2015-05-05 07:34:08 +10:00
Cliff Gordon cd399f90a1 Fix for a 'HAVE_CXX11 already defined' warning on almost every compiled object on FreeBSD. 2015-05-04 14:42:41 -05:00
Fabian Woltermann 08f8487023 Merge pull request #66 from asarium/antipodes
Sync antipodes branch
2015-05-03 16:19:44 +02:00
asarium 922f482d08 Merge branch 'master' into antipodes
Conflicts:
	code/cutscene/cutscenes.cpp
	code/freespace2/freespace.cpp
	code/hud/hudconfig.cpp
2015-05-03 16:05:56 +02:00
Echelon9 b8ba7f1466 Address obsolete Doxyfile sections, per Doxygen 1.8.9.1 automatic Doxyfile updater. 2015-05-03 11:39:36 +10:00
Echelon9 550998e827 Fix empty documentation/doxygen using .gitignore trick. Otherwise, Git does not index empty folders. 2015-05-03 11:23:19 +10:00
Swifty 6da0d162b8 Fixed compilation issues. 2015-05-02 17:18:51 -07:00
Swifty c620372357 Soft shadows, deferred lighting, and various major graphics optimizations. 2015-05-02 14:35:37 -07:00
MageKing17 0a6ab7d1f7 Fix persona selection in FRED's ship editor.
The old code operated under the assumption that all wingman personas would be at the start of the persona list. Since this assumption was neither checked for nor warned if violated anywhere else, I've made FRED work regardless of how they might be distributed throughout the Personas[] array.
2015-05-01 16:23:29 -07:00
MageKing17 e8bed8f892 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/ship/ship.cpp
2015-05-01 13:09:32 -07:00
niffiwan caf2876d50 Merge pull request #40 from asarium/antipodes
Add proper usage of SDLMain again
2015-04-29 20:58:58 +10:00
asarium 62cfccb325 Remove the rest of no-grab 2015-04-29 12:51:47 +02:00
asarium 5701b477f4 Remove accidentally added files 2015-04-28 21:01:00 +02:00
asarium 78c52ebcc9 Fix some merge issues 2015-04-28 21:00:41 +02:00
MageKing17 15f6549087 Ship templates!
Restores ship templates, only working, thanks to ship_info now having a proper copy-assignment operator.
2015-04-27 00:05:57 -07:00
MageKing17 3a7307d0ce Somewhat-related followup to Ship_info vectorization.
There were some references to MAX_WEAPON_TYPES in missionscreencommon.cpp that really looked like they should've been referring to Num_weapon_types (formatted similarly to some references to MAX_SHIP_CLASSES which were changed to Ship_info.size() references). Figured I might as well fix them at the same time.
2015-04-27 00:03:20 -07:00
MageKing17 bc0c7cf4c5 Vectorization of Ship_info.
Converts Ship_info from a ship_info[] to an SCP_vector<ship_info>. ship_info now has proper constructors, assignment operators, and a destructor. Num_ship_classes removed; various references to Num_ship_classes and/or MAX_SHIP_CLASSES (which remains for various other structures which need it) changed to Ship_info.size() instead.

This doesn't make the ship class limit dynamic, but it is a preparatory step to get there.
2015-04-27 00:01:22 -07:00
MageKing17 5daf294f25 Remove irrelevant assertion.
Removes assertion in ship_model_update_instance() about turrets having the ability to rotate. Matches previous change to ship_model_start() (done in r10822; see also Mantis 3061).
2015-04-26 15:51:37 -07:00
MageKing17 0bcb3f24e6 Fix automatic "$Short name:" generation.
Made it include srcend (i.e. the null terminator) so that treating short_name as a null-terminated string (which it should be) doesn't access invalid memory. Also removed unused "destend" pointer.
2015-04-26 13:48:11 -07:00
MageKing17 9e66027e8b Remove unused "tspecies_names" pointer array. 2015-04-26 13:38:20 -07:00
asarium 9d7e6824a5 Fix compilation 2015-04-26 15:57:52 +02:00
asarium 67cf5c31ee Remove unnecessary function call 2015-04-25 18:55:08 +02:00
asarium 6582285676 Merge remote-tracking branch 'upstream/antipodes' into antipodes 2015-04-25 18:41:10 +02:00
asarium 900c77216a Add usage of SDLMain again 2015-04-25 18:39:29 +02:00
Fabian Woltermann 88d1b2b520 Merge pull request #39 from asarium/antipodes
Merge branch 'master' into antipodes
2015-04-25 17:57:49 +02:00
asarium 7e77b5a67c Merge branch 'master' into antipodes
Conflicts:
	.gitignore
	code/Makefile.am
	code/ai/ai.h
	code/ai/ai_profiles.cpp
	code/ai/ai_profiles.h
	code/ai/aibig.cpp
	code/ai/aicode.cpp
	code/ai/aiturret.cpp
	code/asteroid/asteroid.cpp
	code/asteroid/asteroid.h
	code/bmpman/bm_internal.h
	code/bmpman/bmpman.cpp
	code/bmpman/bmpman.h
	code/camera/camera.cpp
	code/camera/camera.h
	code/cfile/cfile.cpp
	code/cmdline/cmdline.cpp
	code/cmdline/cmdline.h
	code/controlconfig/controlsconfig.h
	code/controlconfig/controlsconfigcommon.cpp
	code/cutscene/movie.cpp
	code/cutscene/oggplayer.cpp
	code/debugconsole/consoleparse.cpp
	code/fred2/campaigneditordlg.cpp
	code/fred2/fred.cpp
	code/fred2/fred.rc
	code/fred2/missionsave.cpp
	code/fred2/resource.h
	code/fred2/sexp_tree.cpp
	code/fred2/sexp_tree.h
	code/fred2/shipflagsdlg.cpp
	code/fred2/shipflagsdlg.h
	code/fred2/shiptexturesdlg.cpp
	code/fred2/voiceactingmanager.cpp
	code/freespace2/freespace.cpp
	code/freespace2/freespace.rc
	code/gamehelp/contexthelp.cpp
	code/globalincs/alphacolors.cpp
	code/globalincs/alphacolors.h
	code/globalincs/version.h
	code/globalincs/vmallocator.h
	code/globalincs/windebug.cpp
	code/graphics/2d.cpp
	code/graphics/font.cpp
	code/graphics/generic.cpp
	code/graphics/generic.h
	code/graphics/grinternal.h
	code/graphics/gropengl.cpp
	code/graphics/gropengldraw.cpp
	code/graphics/gropenglextension.h
	code/graphics/gropenglpostprocessing.cpp
	code/graphics/gropenglstate.cpp
	code/graphics/gropenglstate.h
	code/graphics/gropengltexture.cpp
	code/graphics/gropengltnl.cpp
	code/hud/hud.cpp
	code/hud/hud.h
	code/hud/hudconfig.cpp
	code/hud/hudlock.cpp
	code/hud/hudmessage.cpp
	code/hud/hudparse.cpp
	code/hud/hudreticle.cpp
	code/hud/hudreticle.h
	code/hud/hudshield.cpp
	code/hud/hudsquadmsg.cpp
	code/hud/hudtarget.cpp
	code/hud/hudtarget.h
	code/hud/hudtargetbox.cpp
	code/inetfile/cftp.cpp
	code/inetfile/chttpget.cpp
	code/io/joy.cpp
	code/io/joy_ff.cpp
	code/io/key.cpp
	code/io/keycontrol.cpp
	code/io/mouse.cpp
	code/io/timer.cpp
	code/localization/localize.cpp
	code/localization/localize.h
	code/math/fvi.cpp
	code/math/vecmat.cpp
	code/menuui/credits.cpp
	code/menuui/mainhallmenu.cpp
	code/menuui/mainhallmenu.h
	code/menuui/optionsmenumulti.cpp
	code/menuui/playermenu.cpp
	code/mission/missionbriefcommon.cpp
	code/mission/missioncampaign.cpp
	code/mission/missiongoals.h
	code/mission/missionmessage.cpp
	code/mission/missionparse.cpp
	code/mission/missionparse.h
	code/missionui/missionbrief.cpp
	code/missionui/missioncmdbrief.cpp
	code/missionui/missiondebrief.cpp
	code/missionui/missionscreencommon.cpp
	code/missionui/missionshipchoice.cpp
	code/missionui/missionweaponchoice.cpp
	code/missionui/redalert.cpp
	code/missionui/redalert.h
	code/mod_table/mod_table.cpp
	code/mod_table/mod_table.h
	code/model/model.h
	code/model/modelcollide.cpp
	code/model/modelinterp.cpp
	code/model/modelread.cpp
	code/network/multi.cpp
	code/network/multi_dogfight.cpp
	code/network/multi_ingame.cpp
	code/network/multi_log.cpp
	code/network/multi_rate.cpp
	code/network/multiteamselect.cpp
	code/network/multiui.cpp
	code/network/multiutil.cpp
	code/network/stand_gui-unix.cpp
	code/object/collideshipship.cpp
	code/object/collideshipweapon.cpp
	code/object/object.cpp
	code/object/object.h
	code/object/objectsnd.cpp
	code/object/objectsort.cpp
	code/osapi/osapi.cpp
	code/osapi/osapi_unix.cpp
	code/osapi/outwnd.h
	code/parse/generic_log.cpp
	code/parse/lua.cpp
	code/parse/parselo.cpp
	code/parse/parselo.h
	code/parse/scripting.cpp
	code/parse/scripting.h
	code/parse/sexp.cpp
	code/parse/sexp.h
	code/physics/physics.cpp
	code/pilotfile/csg.cpp
	code/pilotfile/csg_convert.cpp
	code/pilotfile/pilotfile.cpp
	code/pilotfile/pilotfile_convert.h
	code/playerman/playercontrol.cpp
	code/radar/radardradis.cpp
	code/radar/radardradis.h
	code/radar/radarsetup.cpp
	code/radar/radarsetup.h
	code/ship/ship.cpp
	code/ship/ship.h
	code/ship/shipfx.cpp
	code/ship/shiphit.cpp
	code/sound/audiostr.cpp
	code/sound/ds.cpp
	code/sound/openal.cpp
	code/sound/rtvoice.cpp
	code/sound/sound.cpp
	code/sound/voicerec.cpp
	code/stats/medals.cpp
	code/stats/medals.h
	code/stats/scoring.cpp
	code/ui/ui.h
	code/weapon/beam.cpp
	code/weapon/weapon.h
	code/weapon/weapons.cpp
	code/wxfred2/aboutbox.cpp
	code/wxfred2/campaigneditor.cpp
	code/wxfred2/campaigneditor.h
	code/wxfred2/commandbriefingeditor.cpp
	code/wxfred2/debriefingeditor.cpp
	code/wxfred2/fredframe.cpp
	code/wxfred2/fredframe.h
	code/wxfred2/missionspecseditor.cpp
	code/wxfred2/missionspecseditor.h
	code/wxfred2/voiceactingmanagereditor.cpp
	code/wxfred2/wxfred.xrc
	code/wxfred2/wxfred2.cpp
	code/wxfred2/wxfred2.h
	configure.ac
	fs2open.Doxyfile
	jansson/LICENSE
	jansson/dump.c
	jansson/hashtable.c
	jansson/hashtable.h
	jansson/jansson.h
	jansson/jansson_config.h
	jansson/jansson_private.h
	jansson/load.c
	jansson/memory.c
	jansson/pack_unpack.c
	jansson/strbuffer.c
	jansson/strbuffer.h
	jansson/strconv.c
	jansson/utf.c
	jansson/utf.h
	jansson/value.c
	libpng/png.c
	libpng/png.h
	libpng/pngconf.h
	libpng/pngdebug.h
	libpng/pngerror.c
	libpng/pngget.c
	libpng/pnginfo.h
	libpng/pnglibconf.h
	libpng/pngmem.c
	libpng/pngpread.c
	libpng/pngpriv.h
	libpng/pngread.c
	libpng/pngrio.c
	libpng/pngrtran.c
	libpng/pngrutil.c
	libpng/pngset.c
	libpng/pngstruct.h
	libpng/pngtrans.c
	libpng/pngwio.c
	libpng/pngwrite.c
	libpng/pngwtran.c
	libpng/pngwutil.c
	projects/Eclipse/Freespace2/.project
	projects/MSVC_2005/Fred2.vcproj
	projects/MSVC_2005/Freespace2.sln
	projects/MSVC_2005/Freespace2.vcproj
	projects/MSVC_2005/code.vcproj
	projects/MSVC_2005/wxFRED2.vcproj
	projects/MSVC_2008/Fred2.vcproj
	projects/MSVC_2008/Freespace2.doxproj
	projects/MSVC_2008/Freespace2.vcproj
	projects/MSVC_2008/code.vcproj
	projects/MSVC_2010/Fred2.vcxproj
	projects/MSVC_2010/Freespace2.vcxproj
	projects/MSVC_2010/code.vcxproj
	projects/MSVC_2010/code.vcxproj.filters
	projects/MSVC_2010/wxFRED2.vcxproj
	projects/MSVC_2011/Fred2.vcxproj
	projects/MSVC_2011/Freespace2.vcxproj
	projects/MSVC_2011/code.vcxproj
	projects/MSVC_2011/code.vcxproj.filters
	projects/MSVC_2011/wxFRED2.vcxproj
	projects/MSVC_2013/Fred2.vcxproj
	projects/MSVC_2013/Freespace2.vcxproj
	projects/MSVC_2013/code.vcxproj
	projects/MSVC_2013/code.vcxproj.filters
	projects/MSVC_2013/libjpeg.vcxproj
	projects/MSVC_2013/liblua.vcxproj
	projects/MSVC_2013/libpng.vcxproj
	projects/MSVC_2013/wxFRED2.vcxproj
	projects/MSVC_2013/zlib.vcxproj
	projects/MSVC_6/Fred2.dsp
	projects/MSVC_6/Freespace2.dsp
	projects/MSVC_6/code.dsp
	projects/MSVC_6/wxFRED2.dsp
	projects/Xcode/English.lproj/InfoPlist.strings
	projects/Xcode/FS2_Open.xcodeproj/project.pbxproj
	projects/Xcode4/English.lproj/InfoPlist.strings
	projects/Xcode4/FS2_Open.xcodeproj/project.pbxproj
	projects/Xcode4/Frameworks.tgz
	projects/codeblocks/Freespace2/Freespace2.cbp
	zlib/adler32.c
	zlib/compress.c
	zlib/crc32.c
	zlib/crc32.h
	zlib/deflate.c
	zlib/deflate.h
	zlib/infback.c
	zlib/inffast.c
	zlib/inffixed.h
	zlib/inflate.c
	zlib/inftrees.c
	zlib/trees.c
	zlib/uncompr.c
	zlib/zconf.h
	zlib/zlib.h
	zlib/zutil.c
	zlib/zutil.h
2015-04-25 16:48:43 +02:00
Zacam a867c1a020 Trunk Sync - r10941
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10942 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:13 +10:00
Zacam 38f7b9ab6c Trunk Sync - r10935
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10936 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:13 +10:00
Zacam f602424270 Trunk Sync r10914
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10915 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:13 +10:00
Zacam 9eda776332 AP Builds will now compile (post r10912 cleanup)
Still need to validate behaviours.

git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10913 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:13 +10:00
Zacam 4952b70488 Trunk Sync - r10911
There are a lot of changes here that should probably be examined, namely the Debug Console (which had conflicts) and Yarn's "any resolution" mainhalls code (Which also had conflicts) but for the most part this should be fairly clean.

git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10912 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:13 +10:00
z64555 4e5715058e Fixes 2713 - "Freelook Mode Unavailable."
Freelook has been re-enabled with a minimal amount of changes.

Efforts to add in slew control keys as well as the ability to map the mouse to a slew axis have resulted into a much larger project than previously expected. As such, these changes will be postponed until fully complete.

git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10566 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:12 +10:00
The_E 88dce29920 Trunk sync r10550
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10551 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-11 19:22:12 +10:00
Zacam 5e67acf5fe Adds cursor.h/.cpp to 2011 Project for building.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10488 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-10 20:52:22 +10:00
m_m 088f0c2c4f Fix a few mouse related issues. This adds the CursorManager class which handles loading cursors and showing/hiding the cursor.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10487 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-10 20:52:22 +10:00
niffiwan 6c3ae961ab Copy in m4/sdl2.m4 from SDL2.0.1 for autotools
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10485 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-07 20:17:43 +10:00
Zacam d617e85008 Adds SDL2main.lib to linking for SSE2 Debug/Release builds.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10479 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
Zacam a8dfb820a1 Trunk Sync r10476
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10478 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
m_m b7bea462ee Merge changes of trunk r10463.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10468 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
Zacam 18648cbc37 Trunk Sync: r10464 This is sans Trunk Commit 10463 due to osapi changes.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10465 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
The_E b4172fa379 Fix for some crashes, by Flaming_Sword
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10276 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
The_E edeb8768af Trunk sync r10257
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10259 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
The_E ebf8fd19d3 From m!m: Proper use of SDL2Main
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10258 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
The_E 956d98de1d The fuck is wrong with you, svn, I told you to sync
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10248 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:14 +10:00
The_E 3748206525 Correctly initialize haptic support.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10234 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
The_E 013db60499 Replace call to vwglSwapIntervalEXT with SDL_GL_SetSwapInterval
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10231 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
The_E 753e82f5c6 Removes the CRITICAL_SECTION macros, as these were just obscuring calls to SDL functions
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10230 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
The_E 09df160371 Change std::map SDL2FS2 to SCP_map
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10229 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
The_E 09d039fd42 sync to trunk 10223
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10228 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
The_E 31db49d6fd Sync to trunk revision 10223
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10227 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
chief1983 bd68173a4f Closer to working compile with Xcode 5.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10173 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
m_m 66c37c8fda Fix a problem with the mouse where the controls were stuck.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10172 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
m_m 3fa9b5275e Also delete the old unix-osapi file, it isn't needed anymore.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10167 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
m_m 44d9279fa8 Merge both osapi files into one file.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10163 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-06 19:24:13 +10:00
m_m a8b201beb7 Changed most MessageBox calls to use SCP_Messagebox, also fixed some of the event processing.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10155 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
The_E 47e6c09e1f Revert 10149. Needs more review
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10154 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
Echelon9 cd689b60e2 Remove extraneous WIN32 #ifdef's
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10153 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
m_m 4dbf2a4830 Derp, forgot to remove testing stuff.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10152 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
The_E 983214e3e5 From m!m: Enables FRED building. IMPORTANT NOTE: This requires a patched libsdl, the patch is included in the libsdl directory. Binaries were provided by m!m.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10151 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
The_E 2c5af51316 Removes a bunch of win32 ifdefs
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10149 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
m_m 20fb8f7196 Fixed crash in joy_ff_stop_effects caused by uninitialized function pointers.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10146 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
m_m db7b16feda MSVC 2011 Project Updates for SDL2/joy-sdl
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10106 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
Echelon9 a9c2fd7794 Cleanup some stray comments in cftp and chttpget
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10105 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
Echelon9 b397f376d8 SDL2 code changes to bring more common platform code into play
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10104 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
Echelon9 3dd0ddd95d Ensure the SDL2.framework is copied into the final application bundle
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10103 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:18 +10:00
Echelon9 90853677c4 Support SDL2 bindings and SDL2.framework on Xcode4/5. Please remember to delete your projects/Xcode4/Frameworks/ folder and recreate from the modified projects/Xcode4/Frameworks.tgz
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10102 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
Echelon9 0fccedc811 For now, we need to duplicate this code in osapi.cpp and osapi_unix.cpp, so that Mac and Unix can compile
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10101 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
chief1983 21cd06389b MSVC 2008 Project Updates for SDL2/joy-sdl.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10100 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E bfa7beb62d Adds include and linker directories to the FRED project (Does not resolve building errors though!)
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10099 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 9294acc319 Adds an SCP_Warning function that acts as frontend to SDL_ShowSimpleMessagebox
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10098 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 93ed384775 Removes redundant code
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10097 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E e15599d4cf Adds SDL force feedback support (Thanks, taylor!)
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10096 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E bcc6a3bdfb Allow borderless window mode on non-Windows platforms
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10073 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E dd0de23b3b Oops, deleted the wrong entry
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10072 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 1831931c91 Comment cleanup
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10071 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 0682ab8a05 We're not going to need the no-di-mouse cmdline argument anymore
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10070 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 97f1c547a0 Actually initializing the keyboard input map is probably a good idea
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10069 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E abd5af41b4 Fix OpenGL context creation
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10068 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E a3ec953400 Updated project files for VS2012
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10067 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E e039693c13 Small snafu while merging
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10066 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 02d44009ce ...
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10065 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 81f623fb01 More missing things
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10064 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:17 +10:00
The_E 119fbbe38d Big commit part 2: Stuff the svn missed
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10063 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:16 +10:00
The_E 25915f6de0 IIt begins!
SDL2 Everywhere, from me and Flaming_Sword. Outstanding issues: FRED integration, project file updates, cleanup.

git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10062 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:16 +10:00
The_E 0a85a86c65 Sync to trunk 10060
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10061 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:16 +10:00
The_E 2f46cbe8a3 sync to trunk 10046
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@10047 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:16 +10:00
chief1983 4996303b5a Sync over r9194 from trunk.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9580 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 219c9b2c72 from trunk, committed with the pilot code.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9579 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 722ccb0299 Sync line endings on freespace.rc with trunk.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9578 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 1d39c15693 This wasn't supposed to be in 9574.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9577 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 69c9f459ce Trunk sync over r8579 that was missed apparently.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9576 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 0110f662dc Trunk sync commit r9565.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9575 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 b75e9ce1f8 Demo/standalone removal code from trunk to antipodes.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9574 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 14641d8136 Mainhall comment sync.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9573 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 93d4d11350 Remnant differences from Inferno removal.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9572 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:15 +10:00
chief1983 9a4f3f3fa0 More misc project differences.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9571 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
chief1983 db12f67c4a More misc project file changes, properties on Xcode4 files.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9570 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
chief1983 d9f7661bcb Sync some misc project file differences against trunk.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9569 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
chief1983 47f3829aa4 Sync whitespace/formatting/comment purge differences from trunk to Antipodes.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9568 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
chief1983 32957c999c Trunk sync r9564, for easier differencing.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9566 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
Zacam 684908b239 Trunk Sync: r9544
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9548 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
The_E 499c62b181 Trunk sync r9530
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9531 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
niffiwan 3675a990ab Fix mantis 2781: use LastPlayer consistently in .ini files/registry
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9521 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
chief1983 2a5429ea1d Trunk sync r9516.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9519 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
chief1983 e1650f1255 Trunk sync r9508.
git-svn-id: svn://svn.icculus.org/fs2open/branches/antipodes@9509 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-25 18:40:14 +10:00
niffiwan aa22aca144 Fix for mantis 2503: clear red alert wingman data before loading new wingman data 2013-01-20 10:01:51 +00:00
The_E e0bb90040f change build output names to "fs2_open_3_6_17" instead of "*_17r" 2013-01-15 19:31:41 +00:00
niffiwan cae43dce4f related to mantis 2503: added assertion to detect crazy amounts of red alert wingman when writing .csg
player may lose one mission worth of progress, but shouldn't lose their campaign
2013-01-12 09:52:10 +00:00
chief1983 165eef24e2 Trunk sync r9495. 2013-01-10 05:28:17 +00:00
Zacam b999937222 Trunk Sync: r9480 2013-01-04 21:44:14 +00:00
niffiwan 216759ab3a autotools: exclude lua5.2 because it's not (yet) compatible with FSO
(backported from trunk so current BP AoA release has less issues on Linux)
2012-12-31 09:39:47 +00:00
chief1983 6954e5f615 Someone goofed a build output filename. 2012-12-30 21:30:55 +00:00
The_E 896c9eef86 Gaaah, forgot syntax 2012-12-30 09:27:55 +00:00
The_E 43857b0032 From Eli2: Lower the value of MAX_SHIPS_PER_PACKET to 64 in order to keep packet size down 2012-12-30 09:27:17 +00:00
Zacam 0437b5f229 Trunk Sync: r9464
Fixes Mantis 2432: Changing Sound in as a MULTI pilot does NOT save; from Eli2
2012-12-26 19:49:19 +00:00
chief1983 31f014ed5c Trunk sync r9456 2012-12-21 21:02:47 +00:00
Valathil 501d62db8b From Eli2: Replaced memset of player struct with reset(). Fixes random multi crashes. 2012-12-15 18:31:58 +00:00
The_E 6b07c37a63 Trunk sync r9435 2012-12-15 15:40:58 +00:00
Zacam ef048c5af2 Trunk Sync: r9425 2012-12-13 08:54:32 +00:00
Zacam d0e450cfd1 Trunk Sync: r9418 2012-12-09 23:16:22 +00:00
Zacam 55bf45393e Trunk Sync: r9408 2012-12-09 00:48:01 +00:00
Zacam ee28362f42 Trunk Sync: r9389 2012-12-03 01:06:58 +00:00
Zacam 3fdae2e3c1 Trunk Sync: r9386 2012-12-02 02:24:53 +00:00
The_E 0c222afeb0 Trunk sync r9353 2012-11-18 12:34:24 +00:00
Zacam dc82a0c7f8 Trunk Sync: r9351
You may see other sync's, but none have taken place during a live Feed Dump on Desert Bus!
2012-11-17 23:47:11 +00:00
Zacam 0d518330df Correct and update all MSVC build output names. 2012-11-11 01:45:55 +00:00
Zacam ba68ceca3f Trunk Sync: r9326 and set revision properties to this commit, tagged as 3.6.17 to eliminate any later fiddling or missing it for merge to Trunk. 2012-11-11 00:50:47 +00:00
chief1983 bd96b1a71f Somehow these lines got added in by accident. 2012-11-05 01:43:16 +00:00
Zacam 808fc0f8e7 Add XCode 4 Project for Antipodes 2012-11-04 10:06:00 +00:00
chief1983 73ab64e3da Trunk sync r9300 (last was actually synced with 9284, skipped 9296 since we don't have an Xcode4 project in Antipodes yet). 2012-11-02 20:28:04 +00:00
The_E e2fb98b862 Trunk sync r9275 2012-10-27 14:25:44 +00:00
The_E ce05f3a88a Trunk sync r9274 2012-10-21 07:58:11 +00:00
The_E 3ed94d11f9 Trunk sync r9230 2012-09-29 11:46:20 +00:00
The_E 1d75b96d5c Trunk sync r9215 2012-09-20 16:34:15 +00:00
Zacam c9a1d1869c Trunk Sync: r9195-9199 2012-09-13 17:21:17 +00:00
chief1983 ac44f7c59d Trunk Sync: r9193 2012-09-13 15:14:56 +00:00
chief1983 9091cb6531 Fix antipodes compiling on Linux. 2012-08-31 19:03:55 +00:00
chief1983 10eb2def8a Trunk Sync: r9149 2012-08-29 18:00:11 +00:00
Zacam 2b4479d853 XCode clean up for ltests.c 2012-08-23 15:36:42 +00:00
Zacam 362c8e4169 Trunk Sync: r9134 2012-08-22 21:44:43 +00:00
The_E 05d5744477 TRunk sync r9104 2012-08-12 07:44:05 +00:00
The_E 79b714ea12 Trunk sync r9092 2012-08-04 06:27:35 +00:00
The_E 1a4fd2f7dd Backport of trunk 9091 2012-08-04 06:21:36 +00:00
The_E b6bdffd23a Trunk sync r9082 2012-08-01 16:43:44 +00:00
The_E 49ba4f86ff Oops, the mainhall is inited differently now 2012-07-29 12:24:41 +00:00
The_E 1640d066a1 Trunk sync r9064 2012-07-29 11:40:49 +00:00
The_E 2c729eee15 Trunk sync r9057 2012-07-28 21:09:28 +00:00
The_E 68be57e92b Trunk sync r9031 2012-07-22 11:41:28 +00:00
The_E 8c8302a064 Trunk sync r9006 2012-07-11 17:25:38 +00:00
Zacam 2eb9357312 Trunk Sync r8980 2012-07-04 05:13:33 +00:00
CommanderDJ edcdfacdc9 Trunk sync r8915 2012-06-27 05:34:53 +00:00
The_E 43c83bf2fd Trunk sync r8906 2012-06-24 14:43:38 +00:00
The_E 444fccf77a Make sure we actually have a valid campaign file before trying to do stuff with invalid pointers 2012-06-24 14:36:04 +00:00
Zacam 5dc5f82e43 Trunk Sync r8897 2012-06-18 00:44:03 +00:00
CommanderDJ 35da255b8d Trunk sync r8874. 2012-06-12 07:57:20 +00:00
Zacam 592ad34c4e Trunk Sync r8845 2012-06-06 13:59:44 +00:00
CommanderDJ 8a430d927a Trunk sync r8830. 2012-05-28 12:23:16 +00:00
The_E 2d60cabe4a Trunk sync r8813 2012-05-22 10:39:23 +00:00
Zacam 58afb0a3da Trunk Sync: r8807 2012-05-20 22:48:54 +00:00
CommanderDJ 9abcb1e43c Trunk sync r8799 2012-05-20 03:13:27 +00:00
The_E a60c8f52db trunk sync r8786 2012-05-15 11:34:21 +00:00
CommanderDJ 3da8762458 Trunk rev 8773: supernova-stop sexp. 2012-05-11 17:16:19 +00:00
CommanderDJ 1d30cfd0bb Trunk rev 8768: Patch for Mantis 2650 (Allow 0 door animations in mainhall.tbls/tbms) 2012-05-11 17:06:33 +00:00
CommanderDJ 69d7a29820 Trunk sync 8775 2012-05-11 17:02:01 +00:00
The_E cc7a648fac Trunk sync r8766 2012-05-10 10:03:39 +00:00
The_E 4bd9093125 Trunk sync r8753 2012-05-05 14:09:52 +00:00
The_E 05283a3cfa Trunk sync r8742 2012-05-03 08:26:41 +00:00
The_E eee0c96fc1 Trunk sync r8696 2012-04-30 14:57:21 +00:00
The_E 45bd1d1d99 Trunk sync r8679 2012-04-15 11:41:31 +00:00
The_E 3f364d8718 trunk sync r8644 2012-04-01 16:21:23 +00:00
The_E 49819d2f4f Remove two unused function stubs 2012-03-31 14:29:38 +00:00
Zacam 866d4b7efb Trunk Sync r8631 2012-03-31 03:23:53 +00:00
Zacam 81973b528c Trunk Sync r8625 2012-03-25 19:44:25 +00:00
The_E fcbc4362b9 TRunk sync r8615 2012-03-15 12:11:58 +00:00
The_E 8891ccb74f Update to include mod_table stuff 2012-03-15 10:09:45 +00:00
chief1983 50c090b724 Trunk sync: r8603 (skip 8606, already handled by hand) 2012-03-09 18:34:29 +00:00
chief1983 1a52d39763 Keep that from happening again. 2012-03-09 18:29:43 +00:00
chief1983 4f6972468e How did these line endings get so jacked up? 2012-03-09 18:25:48 +00:00
The_E b44c33abc5 Trunk sync r8587 2012-03-06 12:30:49 +00:00
chief1983 c505fed7c0 Trunk sync: r8577 2012-03-05 20:36:27 +00:00
The_E af9261af10 Trunk sync r8575 2012-03-05 11:53:22 +00:00
The_E f3e4e78f02 oops, missed this one 2012-03-02 18:12:37 +00:00
The_E 02d8bd64c4 Trunk sync r8545 2012-03-02 16:05:44 +00:00
chief1983 b7716621a8 Trunk sync: r8523-8526 2012-02-23 19:01:29 +00:00
Zacam c7b77c2974 Fix for Mantis 2609: Resolves segmentation fault under linux caused by memsets clobbering the pointer that SCP_string used to check its length before assignment. 2012-02-21 15:20:15 +00:00
The_E f02c973621 From eli2: Patch for Mantis 2608 (Adds "$Always Viewable:" setting to cutscenes.tbl) 2012-02-20 14:53:30 +00:00
Zacam 37f0cf8b0d Trunk Sync: r8519 2012-02-19 19:16:06 +00:00
Zacam a068ae82f2 From Eli2: Corrects some issues with the last changes to the Main Hall code to allow compilation under linux. 2012-02-19 05:23:23 +00:00
The_E 4b013ac6ab Trunk sync r8515 2012-02-18 11:56:09 +00:00
Zacam 4e03a83484 Trunk Sync: r8512 2012-02-16 13:04:37 +00:00
Zacam 7506ed7941 Trunk Sync r8506. 8505 skipped as it is only Pilot Specific to Trunk, not needed for AP or would need factoring specifically to AP. 2012-02-15 08:03:56 +00:00
Zacam db52add4f8 Reported by ni1s: GCC complaint about missing .c_str() in the updated dynamic MAX_SHIELD_ICON dynamic change. 2012-02-15 07:58:46 +00:00
Zacam b27faceb28 Trunk Sync: r8465 2012-02-12 23:10:38 +00:00
Zacam 3b30274a75 Not only did rev 8439 not do what it was supposed to, it also broke subsystem scanning 2012-02-11 13:40:45 +00:00
Zacam 35e8ea59b0 Anomalous whitespace/tab and alignment cleanup. 2012-02-11 01:42:28 +00:00
Zacam 0f5843860b From CommanderDJ: The Pièce de résistance, MainHall.tbl is now modular. 2012-02-11 01:36:21 +00:00
Zacam 55996169ff Trunk Sync: r8456-8459 2012-02-10 19:05:36 +00:00
Zacam a74531eed3 Trunk Sync: r8452, r8454 2012-02-09 14:48:18 +00:00
Zacam 3a62c1bb23 From CommanderDJ:
Introduces +Name identifiers for mainhall.tbl entries:
-	+Name identifiers only need to be added to the lo-res (640x480) entry of the mainhall. If you really must add a +Name to both res versions, the two resolutions must have the exact same name.
-	+Name identifiers are added immediately under the $Main Hall string
Vectorises Main_hall_defines, thus removing the MAIN_HALLS_MAX limit.
Main halls are now loaded based purely on campaign files. Hall indexes are no longer stored in the player struct, and thus this patch changes the pilot file version.
2012-02-09 12:56:10 +00:00
Zacam 971c69a06e Trunk Sync: r8449-8450 2012-02-09 03:53:54 +00:00
chief1983 2aa9001450 Trunk Sync: r8446, r8447 2012-02-07 22:12:48 +00:00
The_E ebfeb106e9 Trunk sync r8441-8444 2012-02-06 12:57:58 +00:00
Zacam 1021553630 Trunk Sync: r8436-8439 2012-02-04 23:02:23 +00:00
Zacam 6ce90694c7 Trunk Sync: r8434 2012-02-04 19:37:38 +00:00
Zacam e2ea4f01e1 Trunk Sync: r8428-8432
r8427 not needed in Antipodes due to changes in Pilot data.
2012-02-04 17:36:23 +00:00
Zacam 2b0c9c20b7 Trunk Sync: r8423, r8424 2012-02-03 15:41:02 +00:00
Zacam dc01c779b3 Trunk Sync: r8417-8420 2012-02-02 00:44:02 +00:00
Zacam 46214abe92 Fix for the Fix for Mantis #2374: Had only updated the Effect 2 portion of the missionscreencommon. Don't I feel silly now. Did a little housekeeping while at it. 2012-02-01 17:31:19 +00:00
Zacam 016e024844 Trunk Sync: r8412-8414 2012-02-01 14:14:40 +00:00
Zacam feba1296d8 Trunk Sync: r8406-8410 2012-01-30 18:27:55 +00:00
Zacam 5c9e256e23 Slight touch up to Trunk Commit 8401: (! switch to !( to resolve a C4806 warning in MSVC. 2012-01-29 17:38:50 +00:00
Zacam 2191b124fe Trunk Sync: r8387-8403 2012-01-29 17:20:25 +00:00
The_E cb243c3f5c trunk sync r8382 - 8385 2012-01-28 17:45:57 +00:00
Zacam bd27ee5e81 Fix to Trunk r8379, for want of a ; a compile was lost. 2012-01-28 07:07:07 +00:00
Zacam ca926da3f3 Trunk Sync: r8373, r8376-8379 2012-01-28 06:53:43 +00:00
chief1983 b6e8dc552b Trunk Sync: 8368-8369 2012-01-24 18:40:54 +00:00
Zacam b925d70617 Trunk Sync: 8341. 8344. 8350. 8361-8363 2012-01-24 03:58:22 +00:00
chief1983 4cff0a9b3c Trunk Sync: r8239 2012-01-23 03:19:09 +00:00
chief1983 05792b8029 Trunk Sync: r8326-8327 2012-01-23 01:36:02 +00:00
chief1983 09d1ae2e56 Trunk sync: r8310 2012-01-22 21:42:14 +00:00
Zacam 2a641ffff7 Trunk Sync: r8304-8308 2012-01-22 12:15:42 +00:00
Zacam 45d55d5c75 Trunk Sync: r8297-8302 2012-01-22 07:52:20 +00:00
Zacam 4236636365 Trunk Sync: r8287, r8291-8295 2012-01-22 02:09:35 +00:00
The_E b7db6702dc TRunk sync r8270-8286, 8289 2012-01-21 12:12:25 +00:00
Zacam 0ff43753cf Trunk Sync: r8265-8267 2012-01-20 02:26:25 +00:00
The_E d02a86a86b Trunk sync revisions 8258, 8260-8263 2012-01-19 14:45:47 +00:00
Zacam be8e7478a7 Copy of Trunk 8256 2012-01-17 00:19:45 +00:00
chief1983 a57c66bdf3 Trunk sync: r8234-8254 2012-01-16 01:54:01 +00:00
Zacam e8da8b037c Trunk Sync: r8230-8233 2012-01-15 19:28:50 +00:00
Zacam 1af3bc902b Trunk Sync: r8227, r8228 2012-01-15 11:23:20 +00:00
Zacam cb2e53c6c0 Trunk Sync: r8222-8225 2012-01-15 08:31:47 +00:00
Zacam c33bf8d031 Trunk Sync: r8218-8220 2012-01-15 06:05:06 +00:00
Zacam cba78496b6 Trunk Sync: r8214-8216 2012-01-14 19:45:44 +00:00
Zacam e75c12920b Trunk Sync: r8207-8212 2012-01-14 02:35:17 +00:00
Zacam 3cbdb1d799 Okay. This was ridiculous running all these changes separately. This setts svn:eol-type across the board for types that were not previously set to LF as they should have been. 2012-01-13 18:44:18 +00:00
Zacam 16e4c568fe Meh. Let's do this right. svn:eol-type set to LF for all of these as well. *sighs* 2012-01-13 18:35:09 +00:00
Zacam 064fcd6b04 Set svn:eol-type to LF for these as well. 2012-01-13 18:29:34 +00:00
Zacam 368004ca20 Set svn:eol-style to LF for files. 2012-01-13 18:26:33 +00:00
Zacam aacaf1944b Trunk 8199: Various scripting patches from m!m:
--Eyepoint access to the model handle
--getCollisionDistance() to the collision info handle to get the precomputed distance to the hit point
--A Disabled variable for the ship handle
--getTimeUntilExplosion() for the ship handle to get the time until the ship finally explodes
--A change to the documentation of ad.play3DSound() to reflect that the function also takes position parameters
2012-01-13 17:53:56 +00:00
Zacam 1cd25cc0fb Synchronization of differences between Antipodes and Trunk. Cause unknown, just commit drift issues. Regular auditing will catch these faster, but people need to pay more attention when syncing Trunk changes over to Antipodes. 2012-01-13 17:49:57 +00:00
Zacam e157e27045 Wrong EOLs. 2012-01-13 17:46:33 +00:00
Zacam 7aa0e3732a Wrong EOL 2012-01-13 17:21:46 +00:00
chief1983 688ed8833a Trunk sync r8195 2012-01-13 16:49:15 +00:00
chief1983 ed2d5e0f76 Trunk sync r8164 2012-01-11 18:03:01 +00:00
The_E 5aa47d9169 Fix compilation for MacOS 2012-01-11 17:39:03 +00:00
The_E f95b58ec26 Backport trunk r8152 2012-01-06 01:04:37 +00:00
The_E a0a2efba63 And 8114 to 8116 2012-01-05 23:15:10 +00:00
The_E 4da4d0f682 Trun 8117 - 8120 need to be here as well 2012-01-05 22:57:00 +00:00
The_E 9f209d5d5d Trunk sync r8131 2012-01-05 22:49:11 +00:00
karajorma 6f2b86d7f2 Remove a magic number. This number will probably become something defined in mod.tbl eventually but for now at least it's easy to find again. 2011-12-31 06:39:35 +00:00
karajorma da1a3bcb7a Training weapons shouldn't cause smoke to come off of ships which haven't really taken any damage. 2011-12-31 06:24:36 +00:00
karajorma cf2cac5796 Switch from the directive-is-variable SEXP to the more powerful directive-value one. 2011-12-31 06:20:10 +00:00
The_E 8e06b279f9 Trunk sync r8112 2011-12-24 16:22:50 +00:00
Zacam 832999fbbd Trunk Sync r8104 2011-12-21 08:52:59 +00:00
The_E fddb57820e And this too? 2011-12-13 17:27:21 +00:00
The_E 340c28f3b0 Hmm, how did this get missed? 2011-12-13 17:18:25 +00:00
The_E ffc14f5d9e Trunk sync r8082 2011-12-13 16:23:01 +00:00
The_E 3c38ce4737 Trunk sync r 8066 2011-12-04 17:42:52 +00:00
Goober5000 06d3ba08be assigning an empty string is functionally equivalent to clearing the string, and is also compatible with MSVC6 2011-11-23 05:30:00 +00:00
Zacam 165c451719 Fix to Trunk Sync of 7971, when adding more lines to an if, braces are your friend. 2011-11-23 05:16:24 +00:00
Zacam 3966ab46d0 Trunk Sync r8044 (some fixes for MSVC 6 from Goober) 2011-11-23 04:50:57 +00:00
Zacam 7eb3b95751 Trunk Sync r8028 2011-11-23 01:23:54 +00:00
Zacam 6e648f5205 Trunk Sync r8013 2011-11-19 16:32:50 +00:00
niffiwan dee12f104f Fix for pilotfile conversion - convert non INF campaign files correctly 2011-11-17 01:52:33 +00:00
niffiwan 2a3b3cc958 PLR conversion: read two more values from .pl2 files 2011-11-17 01:52:26 +00:00
niffiwan ccaaff35c6 Fix incorrect string sizes used with cfread_string_len 2011-11-17 01:52:19 +00:00
The_E 465b3296ae Trunk sync r7997 2011-11-16 18:16:55 +00:00
Zacam 9f8c2061c8 Trunk Sync r7986 2011-11-13 10:15:32 +00:00
Zacam 9b8a667728 Trunk Sync r7974 2011-11-12 06:47:54 +00:00
Zacam 64acadfbb9 Trunk Sync r7969 2011-11-10 12:01:34 +00:00
Zacam aba7c37634 Trunk Sync r7960 2011-11-08 04:53:02 +00:00
Zacam 46ff890305 Trunk Sync r7952 2011-11-06 04:33:41 +00:00
Zacam f64c5ea811 Trunk Sync r7946 2011-11-05 09:36:17 +00:00
niffiwan 30c7a9971b Backport of Trunk r7939: : Fix our linking order to work with --as-needed 2011-11-05 02:35:00 +00:00
The_E 4afaa1449d Trunk sync r7942 2011-11-03 15:21:08 +00:00
Zacam 657182c001 Trunk Sync r7936 2011-11-01 04:16:18 +00:00
The_E 8cf61ad24b Fixes possible null pointer issues when not using FS2 2011-10-28 13:41:22 +00:00
Zacam d495ef5ca9 Trunk Sync r7926 2011-10-23 19:04:29 +00:00
Zacam 81255e2299 From ni1s: -Wreorder warnings clean up for GCC output. 2011-10-19 07:36:59 +00:00
Zacam 255c377047 Trunk Sync r7916 2011-10-17 17:58:47 +00:00
Zacam 897eea19d2 Trunk Sync r7909 2011-10-16 18:03:37 +00:00
Zacam 18970717c7 Match Trunk r7902: correct EOL type for these two. 2011-10-12 20:18:33 +00:00
Zacam eb0060e130 Trunk r7898: Improve performance of jpeg byte swap operation 2011-10-12 16:12:10 +00:00
Zacam d380153ed9 Trunk Sync r7895 2011-10-11 20:33:05 +00:00
Zacam 6c6849405d Trunk Sync r7891 2011-10-11 09:04:55 +00:00
Zacam a2c6d3cb47 Trunk r7885: From Eli2: fix for mantis 2517: loop sounds are always at 100% volume locked and afterburner fade out sound not work 2011-10-09 11:43:50 +00:00
Zacam 56f5a4c726 Trunk Sync r7882 2011-10-09 10:39:19 +00:00
Zacam 754d89da84 Copy of: Trunk 7874; Fix for medal room crash reported by QuantumDelta 2011-10-08 07:40:12 +00:00
Zacam 3839228867 Trunk Sync r7871 2011-10-08 05:41:06 +00:00
Zacam 23d0c5bb01 Trunk Sync r7862 2011-10-06 04:53:51 +00:00
Zacam 3993b21e6d Trunk Sync r7859 2011-10-05 04:08:51 +00:00
Zacam ac5e5cdc6f Trunk Sync r7856 2011-10-03 13:40:33 +00:00
Zacam 31ccffef1c Trunk Sync r7853 2011-10-03 11:28:19 +00:00
Zacam a6041628e7 Finish removing dbugfile.cpp/.h from the rest of the projects. 2011-10-02 08:11:10 +00:00
The_E f77910e72e Trunk sync r7842 2011-10-02 07:54:02 +00:00
The_E b4fec4791a From Eli2: Dead/unused code removal 2011-10-01 11:55:18 +00:00
Echelon9 116f14d1c3 PVS-Studio fix: V568 It's odd that the argument of sizeof() operator is the '(ushort) sc->m_okKills [idx]' expression.
Please note that this will break multiplayer compatibility with prior versions of Antipodes 8. See further http://www.hard-light.net/forums/index.php?topic=73257.msg1550632#msg1550632
2011-10-01 07:53:04 +00:00
The_E 475f364c22 From Eli2: Eclipse project files 2011-09-30 13:38:55 +00:00
Zacam ed827a5605 Fixes error on cmdline_nohtl in neblighting.cpp, restores sound index in gamesnd.h. 2011-09-30 05:04:02 +00:00
Zacam 8552e85396 Trunk Sync r7825 2011-09-28 17:27:15 +00:00
Zacam 0a6390abfb Corrections to the MSVC2005 workspace. 2011-09-27 08:06:29 +00:00
Zacam f429eec1e8 libpng Project had an extra Debug SSE in it. 2011-09-27 08:05:36 +00:00
Zacam f20499a45a Copy of Trunk 7815: Add set-docked SEXP. 2011-09-27 05:53:27 +00:00
Zacam 33e49eb177 De-commit the beta version of the sound code patch (it was accidentally merged anyway) as it currently only belongs in the RC branch. 2011-09-27 05:52:02 +00:00
Zacam 6258fb77f1 From niffiwan: Fix for Mantis 2501. (Copy from Trunk) 2011-09-26 21:15:51 +00:00
Zacam 1508051685 From CommanderDJ: Fix for Mantis 2224 "Chat messages may end up unreadable due to unfortunate color choice"
Allows for the specification of colors via a colors.tbl
(Wiki Documentation here: http://www.hard-light.net/wiki/index.php/Colors.tbl )
2011-09-26 05:50:47 +00:00
Zacam 640133f963 Trunk Sync r7807 2011-09-26 03:01:28 +00:00
Zacam 6de603683f Trunk Sync: Copy of 7801, From CommanderDJ: Patch for Mantis 2307, set-object-position weirdness when in nebula 2011-09-25 08:33:41 +00:00
Zacam e6a4e6114a And another Sync Drift check for AP to tidy things up. 2011-09-25 08:27:17 +00:00
Zacam 176f307316 Trunk Sync r7799 2011-09-25 04:10:42 +00:00
Zacam 7bcb3907db copy of Trunk r7795 2011-09-24 22:40:35 +00:00
Zacam 2c6a924a82 Copy's Trunk revert in r7794. 2011-09-24 19:55:31 +00:00
The_E 15afdd864a Trunk sync r7792 2011-09-24 17:44:49 +00:00
Zacam b3ff543742 Thanks to Backslash for noticing this: afterburner_reverse_accel wasn't set in sip-> to init as 0.0, this has been corrected (along with aligned to their entry order) 2011-09-23 02:05:58 +00:00
Zacam f882175397 From Eli2: Some copy/paste function clean-up 2011-09-21 22:02:58 +00:00
Zacam 9efca699d5 Copy of Trunk 7770: Documentation: Code cleanup of grbatch.cpp and work to prepare for 64bit with size_t 2011-09-21 19:06:43 +00:00
Echelon9 d1db372561 PVS-Studio fix: V512 A call of the 'memset' function will lead to underflow of the buffer '&stackFrame' (mspdb_callstack.cpp). 2011-09-21 14:18:09 +00:00
Zacam cfc2302eeb Adds Trunk 7766.
(Previous Commit message should have said 7764, not 7763.)
2011-09-20 04:48:10 +00:00
Zacam dabd1b9405 Trunk Sync r7763 2011-09-20 01:26:10 +00:00
The_E f22a692c22 MSVC 2011 projects 2011-09-18 09:50:17 +00:00
Echelon9 6ad11d2431 PVS-Studio false alarm: V802 On 32-bit platform, structure size can be reduced from 28 to 24 bytes by rearranging the fields according to their sizes in decreasing order (plr_convert.cpp). 2011-09-18 07:24:18 +00:00
Echelon9 048a0ee140 From niffiwan: A means of catching a non-sensical value to help track down Mantis 2503. See http://www.hard-light.net/forums/index.php?topic=73257.msg1548721 2011-09-18 05:21:36 +00:00
Zacam 08fbeb2e01 Project cleanup for the removals of cryptstring, scramble, and crypt.cpp/.h. 2011-09-18 00:46:43 +00:00
Zacam c0c96db795 Trunk Sync r7753 2011-09-18 00:08:52 +00:00
The_E 3f60c8a228 Trunk sync r7747 2011-09-17 20:32:54 +00:00
Zacam e5c2b03610 Fix from Valathil for the pan-and-paint that occurs from shaders on non-SM2.0 cards from weapon lighting not culling out properly. 2011-09-17 15:15:54 +00:00
Zacam a4c59963ef Trunk Sync (r7732, r7736, r7737) 2011-09-17 15:11:02 +00:00
Valathil c4797aede3 Don't do a boolean check on Floats could be -0.0 which is boolean true 2011-09-17 14:38:54 +00:00
Zacam 6d7c608b91 Enable Text-to-Speech (SVN Include) and Voice Recognition. (MSVC 2010) 2011-09-15 03:29:20 +00:00
Zacam 1d637cf6ae Enable Text-to-Speech (SVN Include) and Voice Recognition. 2011-09-14 22:49:05 +00:00
Zacam 1ca545c89b EOL inconsistencies corrected to match the rest of the files. 2011-09-14 19:25:38 +00:00
Zacam 662938705e Trunk Sync r7724 2011-09-14 19:12:08 +00:00
Zacam 9b4bd56b18 Trunk Sync r7721 2011-09-14 08:34:17 +00:00
Zacam 1ef95444f2 Trunk Sync r7716 2011-09-13 08:05:43 +00:00
Zacam 1356613dcd Trunk Sync r7711 2011-09-12 12:42:59 +00:00
Zacam 8a587f1a50 Trunk r7703: Allow customization of the thruster distortion effect in species_defs.tbl and ships.tbl 2011-09-12 04:02:17 +00:00
Zacam 1b3cef40f6 Trunk Sync r7701 2011-09-12 03:44:56 +00:00
Zacam a667215670 Fix for Trunk r7677 causing map corruption on model cache rebuild. 2011-09-10 21:12:30 +00:00
The_E b654d36399 Changing this uint32_t (what's that supposed to be?) to a regular int to allow compilation on VS 2011-09-10 09:26:28 +00:00
chief1983 c5f16fd6df Richard's fix for firepoint cycling predictability. 2011-09-09 22:54:46 +00:00
Zacam c9e53a41bc Copy of: Trunk 7693 2011-09-09 15:23:34 +00:00
Zacam 98bbc8bee3 These PVS-Studio checks were fixed by IssMneur in Trunk r7676 and don't need flagging. 2011-09-09 13:46:12 +00:00
The_E f7e75c32b1 A few PVS Studio things (fixes, false alarm marks) 2011-09-09 11:47:55 +00:00
Zacam c62f04749c This file was inadvertently changed during a Trunk Sync that had some test data applied to it, now matches Trunk. 2011-09-09 10:55:34 +00:00
Zacam cc0d1b563e Part Three: Synchronization pass of Antipodes and Trunk Differences.
Catching on anything missed in the first two passes.
2011-09-09 10:38:47 +00:00
Zacam 3b085e8b83 Part Two: Synchronization pass of Antipodes and Trunk Differences.
Trunk Sync r7685
2011-09-09 10:25:08 +00:00
Zacam c607d9844e Part One: Synchronization pass of Antipodes and Trunk Differences.
Whitespace/tab mostly and to catch any drift.
2011-09-09 09:38:52 +00:00
Zacam da8f806a10 Trunk Sync r7680 2011-09-08 11:33:58 +00:00
Zacam 17b3c8be17 Trunk Sync r7677 2011-09-08 05:47:44 +00:00
Zacam e9e29e3ae6 Trunk Sync r7674 2011-09-08 05:05:01 +00:00
Zacam 6e6aa1975c Trunk Sync r7665 2011-09-07 10:20:10 +00:00
Zacam a4635437ec "zbuffer_save" in 'void model_render_children_buffers' is declared but not used. 2011-09-07 08:05:23 +00:00
Zacam ce708461e6 Fix merge issue that was causing a compiler error. 2011-09-07 07:58:07 +00:00
Zacam 02412812e2 Trunk Sync r7660 2011-09-07 07:41:50 +00:00
The_E 60758c5e82 And a few things that went wrong while merging 2011-09-06 21:44:54 +00:00
The_E b725ff7e21 trunk sync r7657 2011-09-06 21:22:39 +00:00
The_E 86e99817a4 Ooops, messed up the merge here 2011-08-31 19:44:14 +00:00
The_E 75f66ee174 Trunk sync r7607 2011-08-31 19:36:54 +00:00
Zacam 37735762bc From Trunk 7595: Shipp can be NULL, which would lead to a crash. This resolves that crash from happening. 2011-08-30 23:00:56 +00:00
The_E d8a728d5f1 Trunk sync r7593 2011-08-30 18:17:09 +00:00
Zacam ad3b01c2f2 Trunk Sync r7563 2011-08-29 00:21:43 +00:00
Zacam 61c81e2a99 Trunk Sync r7542 2011-08-27 23:17:45 +00:00
Zacam 1ba4ce550f Trunk Sync r7537 2011-08-26 19:51:06 +00:00
Zacam b12b33b151 Trunk Sync r7534 2011-08-25 03:02:20 +00:00
Zacam 2f6d659147 Trunk Sync r7529 2011-08-24 20:41:13 +00:00
Zacam 971ae63ea3 Trunk Sync r7521 2011-08-24 05:35:30 +00:00
Zacam 61ae987752 Trunk Sync r7513 2011-08-22 18:22:17 +00:00
Zacam bce73f18e0 Hmm. No idea how this one got missed. FRED controls for Nebula Fog Distance. 2011-08-21 12:15:57 +00:00
Zacam ecd6db1169 Derp. No version for u. 2011-08-21 05:34:02 +00:00
Zacam 029e2a1c5b Somehow missed these in the Trunk Sync. MSVC 2005 updated. 2011-08-21 04:26:44 +00:00
Zacam 1452c349ee Trunk Sync r7502 2011-08-21 04:10:52 +00:00
Zacam 844bd02cbf Trunk Sync r7496 More Justice 2011-08-20 23:40:54 +00:00
Zacam 4b6bfbc980 Trunk Sync r7496 for GREAT JUSTICE! 2011-08-20 22:25:04 +00:00
Zacam 33d3a759e3 Trunk Sync r7494 2011-08-20 19:15:54 +00:00
Zacam e3dcfbe59a Trunk Sync r7490 2011-08-19 22:11:28 +00:00
Zacam 0ba0aa44e3 Resolves MSVC Errors from the sync of Hallecks Bomb code. "&& !(Game_mode & GM_DEMO_PLAYBACK)", error being that "GM_DEMO_PLAYBACK" is not available in Antipodes. 2011-08-19 02:57:40 +00:00
Zacam 037a418a62 Trunk Sync r7483 2011-08-18 20:22:52 +00:00
Zacam de70737203 Trunk Sync r7474 2011-08-15 22:16:25 +00:00
Zacam d9ab31b4ff Trunk 7469: PVS-Studio fix: Expression 'b->type < 0' is always false. Unsigned type value is never < 0. 2011-08-14 15:53:02 +00:00
Zacam 78e2500d9e Some additional PVS-Studio fixes as placed in the thread on Aug 10th:
http://www.hard-light.net/forums/index.php?topic=77590.msg1538811#msg1538811
2011-08-14 14:08:09 +00:00
Zacam db5f86892c Trunk 7465: change warnings to mprintfs 2011-08-14 14:00:43 +00:00
Echelon9 45b0a125bc PVS-Studio fix: A few outstanding issues with r7466 2011-08-14 13:59:32 +00:00
Echelon9 67eb406443 PVS-Studio: Fix V805. Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) > 0' construct 2011-08-14 13:14:35 +00:00
Zacam 0504a180d3 Shader Update: main-f updated with latest cloaking code. small amount of cleanup done as well. 2011-08-14 02:39:31 +00:00
Zacam 2cda91d1a9 Trunk Sync r7461 2011-08-13 19:09:09 +00:00
Zacam 61d7289888 Trunk Sync r7458 2011-08-12 12:48:38 +00:00
Zacam 10a648755e Logging update: Major/Minor/Build update so that "Build" will always be available/log correctly even when "0" (ex: 3.7.0) without also needing "Revision" present. 2011-08-10 14:22:34 +00:00
Zacam f51b68afc3 Trunk Sync r7447 2011-08-10 14:14:07 +00:00
Zacam d3bb5578e3 From Echelon9: For testing, PVS-Studio output corrections. 2011-08-09 07:45:09 +00:00
Zacam 9df0ac03b6 Trunk Sync r7436 2011-08-09 07:41:01 +00:00
Zacam 3eb7d1699a Trunk Sync r7434 2011-08-08 01:53:57 +00:00
Zacam 9ea5438622 Trunk Sync r7428 2011-08-05 03:44:27 +00:00
The_E fb5c0d8b9e Trunk sync r7246 2011-08-04 16:27:02 +00:00
Zacam 4b9c69d9f6 Trunk Sync r7423 2011-08-04 13:47:38 +00:00
Zacam dcde3e4270 Trunk Sync r7420 2011-08-04 13:27:14 +00:00
The_E a5cde74b9e Reverting 7412 2011-08-02 13:03:42 +00:00
The_E beda0ef100 Trunk sync r7411 2011-08-02 11:28:10 +00:00
Zacam 3d27bc8b88 Trunk Sync - r7409 (from r7398, sans 7402 & 7408) 2011-08-02 03:57:38 +00:00
The_E 5a072e0319 Moving ai_profiles parsing up a few lines to get them parsed before weapons and ships, to fix issue with $Default Weapon Selection 2011-07-31 20:16:17 +00:00
The_E 13ec8c9ce4 Trunk sync r7396 2011-07-30 22:46:16 +00:00
The_E 1159c2111c Trunk sync r7391 2011-07-30 21:49:42 +00:00
Zacam d4c2990f45 Trunk Sync r7386 2011-07-29 21:11:23 +00:00
Zacam 24325508ae Trunk Sync r7384 2011-07-29 12:17:25 +00:00
The_E b5a1b4c263 Trunk sync r7282 2011-07-26 22:16:22 +00:00
The_E 35dc693427 Trunk sync r7379 2011-07-23 10:20:17 +00:00
Zacam dab3c6d3c9 Trunk Sync r7376 2011-07-23 02:09:07 +00:00
Zacam 4d5e94bf35 Trunk Sync r7372 2011-07-22 17:07:42 +00:00
The_E 727b77a8c0 Trunk sync r7366 2011-07-21 12:22:00 +00:00
The_E 08063525c7 trunk sync r7363 2011-07-20 18:07:56 +00:00
Zacam a115bdf287 Trunk Sync -r7359 2011-07-19 22:10:23 +00:00
Zacam 8cd8490d15 Trunk Sync -r7356 2011-07-19 19:27:13 +00:00
Zacam 2601fbeb53 Trunk Syn - r7350 2011-07-17 04:44:46 +00:00
The_E e274c1b218 Trunk sync r7246 2011-07-13 09:04:47 +00:00
Zacam 899abfe413 Trunk Sync - r7342 2011-07-11 08:22:54 +00:00
Zacam 872a5dd838 One should remember to revert testing code out before doing a Sync. *sighs* 2011-07-09 17:37:39 +00:00
Zacam de2c9aa442 Trunk Sync -r7336 2011-07-09 17:11:53 +00:00
Zacam 5e4f401371 From Valathil: Correction to commit 7292. Light sorting now takes place in the proper order. 2011-07-06 20:55:22 +00:00
The_E d12cc44de2 Trunk sync r7230 2011-07-06 10:51:40 +00:00
Zacam 5f0c4ad2a7 Trunk Sync - r7328 2011-07-06 05:23:54 +00:00
The_E 662dae1305 Trunk sync r7223 2011-07-05 12:40:08 +00:00
The_E 95f7c0d83b Reverting changes due to unforeseen consequences. 2011-07-04 14:56:27 +00:00
Zacam 4ff9c7914d Whoops. My bad. 2011-07-04 14:25:26 +00:00
The_E b98d27a892 Small update to the FXAA shaders. Also adds a function for shader uniform access that was previously missing. 2011-07-04 13:08:40 +00:00
Zacam eca9a5380b Trunk Sync - r7315 2011-07-04 06:41:27 +00:00
Zacam 0fc25700b2 Copy of Trunk 7307. 2011-07-02 01:03:24 +00:00
Zacam b654033b44 Trunk 7304 Copy 2011-07-01 23:40:13 +00:00
Zacam 6d377a87aa Typo found by Valathil. 2011-07-01 19:00:56 +00:00
Zacam 8d700fa600 From Trunk 7295: Swifty's collision detection improvements. 2011-07-01 18:08:54 +00:00
Zacam 4834b112b8 And now XCode can join the party too. 2011-07-01 17:41:27 +00:00
Zacam d87ccf8a48 Narf. 2011-07-01 17:29:21 +00:00
The_E d37114415f Adds missing header for libpng 2011-07-01 17:24:38 +00:00
Zacam a836a27fe0 Update:
libpng now at 1.5.2 (small update to pngutils)
zlib now at 1.2.5
Files are in "LF" instead of "CRLF" this time around.
2011-07-01 17:06:16 +00:00
The_E f000375fef Trunk sync r7293 2011-07-01 14:15:06 +00:00
Zacam efa75b4a22 Trunk Sync - r7289 2011-06-28 22:43:33 +00:00
The_E a9a8cfbfc5 A few operator constants were colliding for some reason 2011-06-28 09:36:56 +00:00
The_E a6a3e1900c Trunk sync r7280 2011-06-28 08:38:40 +00:00
Zacam a8f9b2a15e Trunk Sync - r7277 2011-06-28 04:04:47 +00:00
Zacam f8883ce805 Trunk Sync - r7274 2011-06-27 20:36:05 +00:00
Zacam d96982e6ce Catches one of the signed/unsigned conversions not covered under r7258. 2011-06-22 23:05:23 +00:00
Zacam 6d2d34b421 From Trunk: Standalone now makes it's own log file. 2011-06-21 23:09:41 +00:00
Zacam 12c5007f9c Update to r7260 from pyro3d 2011-06-20 13:18:16 +00:00
The_E 1de6dfa605 Trunk sync r7259 2011-06-19 17:24:40 +00:00
The_E 1f5d3fd63a Patch for buggy red alert data saving from Pyro3D 2011-06-19 13:22:03 +00:00
Zacam 8d587f1c75 Trunk 7257: "Fix compiler warnings re: signed/unsigned mismatch" by The E 2011-06-18 21:48:12 +00:00
Zacam 53b5dd43bd Trunk Sync - r7255 2011-06-18 19:40:53 +00:00
The_E 6546d07d90 Trunk sync r7253 2011-06-16 17:18:13 +00:00
Zacam 6698f622c3 Oops. 2011-06-16 15:50:20 +00:00
Zacam d4d47ab54c Update to some Additional Options under MSVC 2008 for Release Builds to enable "/MP" that are present in the rest of the vcproj files. 2011-06-16 15:18:01 +00:00
Zacam 27ae715cbe Trunk Sync - r7248 2011-06-16 15:07:09 +00:00
Zacam e9a6ceb9a3 Trunk Sync - r7245 2011-06-15 15:13:20 +00:00
The_E aa6bcda337 TRunk sync r7242 2011-06-14 16:42:03 +00:00
Zacam baa1b95549 Trunk Sync - r7240 2011-06-13 21:52:07 +00:00
The_E b0fd971cd8 Adding a few bits of sanity checking here. This doesn't address the underlying problem, which is somewhere in the red-alert storage code. 2011-06-12 12:53:55 +00:00
Zacam 80e9420172 Trunk Sync - r7235 2011-06-07 02:33:03 +00:00
chief1983 70598a3abd Trunk sync - r7230 2011-06-03 18:11:17 +00:00
Zacam e628e45e44 Trunk Sync - r7224 2011-06-01 21:24:46 +00:00
Zacam 5b3f98fa07 Trunk Sync - r7222 2011-05-31 02:41:44 +00:00
The_E e57b4f26bf Trunk sync r7219 2011-05-30 18:51:00 +00:00
Zacam 7bd7dfd24f Trunk Sync - r7213 2011-05-27 23:45:52 +00:00
Zacam 519c80477b Quick check for pyro3d's Mantis 2425 Patch. 2011-05-24 15:26:25 +00:00
Zacam 81e6dc277e Removing some unreachable returns. 2011-05-24 15:14:58 +00:00
Zacam 4557dc1e0b Trunk Sync - r7204 2011-05-24 15:12:06 +00:00
Zacam db4a193eba Trunk Sync - r7201 2011-05-23 16:49:43 +00:00
Zacam 80ba7361a8 Trunk Sync - r7197 2011-05-19 21:34:28 +00:00
Zacam 905ecf5f6f Let's try "GS_EVENT_END_CAMPAIGN (59)" instead of "GS_EVENT_EMD_CAMPAIGN (59)" 2011-05-19 11:34:48 +00:00
The_E 2975402985 Comment out a few warnings that are unnecessarily alarming. 2011-05-19 11:27:13 +00:00
Zacam 00741a4206 Trunk 7190 - Fix BSG warp effect shockwave 2011-05-19 10:49:41 +00:00
Zacam b886f25cd3 AP Red-Alert bug patch from Pyro3d
http://www.hard-light.net/forums/index.php?topic=73257.msg1511794#msg1511794
2011-05-19 10:48:32 +00:00
Zacam ca9126e8b2 Copy of Trunk 7188 2011-05-18 13:27:35 +00:00
Zacam 94f980b921 Copy of Trunk Commit r7186:
Adding an error message in case FXAA shader compilation fails.
2011-05-18 04:07:34 +00:00
The_E ad1f1ff97b Trunk sync r7184 2011-05-17 14:59:47 +00:00
Zacam 6e0f95ee0f Trunk Sync - r7182 2011-05-16 09:16:44 +00:00
Zacam a62b7c6d9b Trunk Sync - r7176 2011-05-11 00:32:21 +00:00
Zacam 51dbc52d4a Trunk Sync -r7171 2011-05-01 15:13:24 +00:00
Zacam 8467ad4a01 Trunk Sync -r7153 2011-04-28 22:57:45 +00:00
Zacam 40a9444f13 The E's fix for Mantis 2428 from Trunk. 2011-04-26 12:06:37 +00:00
Zacam 9cc432aeb0 Trunk Sync -r7146 2011-04-25 02:10:50 +00:00
Zacam ce2b01f20c Trunk Sync -r7141 2011-04-20 18:07:38 +00:00
Zacam 7b1908c4f8 Trunk Sync - r7136 2011-04-18 09:10:42 +00:00
The_E 2f3f8abb4b Trunk sync r7133 2011-04-17 18:18:36 +00:00
The_E 8da39cd0f8 This assertion is bogus. 2011-04-17 18:12:28 +00:00
The_E 793222a182 Actually, let's make it an Assertion. 2011-04-16 09:46:56 +00:00
The_E 6eadd3ec87 Adding some braces that were missing for some reason. 2011-04-16 09:45:43 +00:00
The_E 5e82657bf8 Fix issue with the tips popup popping up _every goddamn time, EVEN THOUGH I TOLD YOU NOT TO!_ 2011-04-16 09:19:51 +00:00
The_E ba09ace833 Okay, this one needs to be done properly at some point. For now, let us just assume that using Single-player mode by default is the right thing to do. 2011-04-13 14:51:40 +00:00
The_E 4fadf2c205 Trunk sync r7113 2011-04-11 15:46:20 +00:00
The_E d226931506 Trunk sync r7107 2011-04-05 12:07:21 +00:00
The_E 116c1945f5 Trunk sync r7104 2011-04-04 20:25:24 +00:00
Zacam cb85530ac8 Trunk Sync - r7099 2011-03-30 13:40:30 +00:00
Zacam 8bcd7b416b Removing platform #ifdef from the limits.h include as un-necessary. 2011-03-29 19:49:05 +00:00
Zacam 335bf6cd83 Reported by rsaxvc:
<limits.h> in bmpman (Probably due to MAX_INT being used)
Pull the "demo" dir out of the makefile
http://www.hard-light.net/forums/index.php?topic=75332.0
2011-03-29 13:54:07 +00:00
The_E ac1b4951f2 Minor patch to address issue with custom mainhalls not loading for fresh pilots. I hate this one. 2011-03-26 13:29:35 +00:00
The_E 58464ff04c Trunk sync r7080 2011-03-20 18:15:11 +00:00
The_E 2b52a08c55 More guarding against reading invalid values. 2011-03-20 18:00:18 +00:00
The_E 18d0c77e8e Fix for bug noted by Zacam. Note to self: read the code before toying with forces you don't understand. 2011-03-18 20:24:07 +00:00
The_E 5134c9abdd A few changes to bm_get_next_handle(). 2011-03-13 09:07:43 +00:00
Zacam 732de3d7b3 Trunk Sync - r7051 2011-03-11 09:57:38 +00:00
Zacam c60578f338 Trunk Sync - r7036 2011-03-03 03:49:54 +00:00
The_E 257520a27c Adding a few CLAMPs and log warnings to ensure validity 2011-02-27 20:06:44 +00:00
The_E 3325b4b804 This will allow for longer sexps. 2011-02-26 08:53:09 +00:00
Zacam 307ad4b32f Test commit of Doxygen MSVC Addin configuration file
http://doxygenbrowseraddin.codeplex.com/

Install and Configure/Run Doxygen first per:
http://www.hard-light.net/wiki/index.php/Doxygen_Documentation
2011-02-26 02:48:58 +00:00
Zacam d5542b9a31 Trunk Sync - r7030 2011-02-26 01:50:36 +00:00
Zacam 04c76be830 Trunk Sync - r7025 2011-02-25 04:30:55 +00:00
Zacam ff47346489 Removal of the /code/demo directory references from the remaining projects. 2011-02-24 15:58:19 +00:00
The_E c323582583 Fix for bug encountered in BP, From now on "0" is no longer a valid handle for bmpman slots 2011-02-18 15:22:28 +00:00
Zacam 4ab313e1b6 Trunk Sync - r7014 2011-02-14 17:03:01 +00:00
The_E 400383f901 Removing the nonfunctional demo code, part 2 2011-02-13 20:42:20 +00:00
The_E 5d22efe392 Removing the nonfunctional demo code. 2011-02-13 20:41:43 +00:00
Zacam b2535b181b Fixes Dialogue alignment in the Misc Ships Flags portion of the Ships Editor. 2011-02-07 19:02:15 +00:00
Zacam a79c2d8390 Trunk Sync - r7005
Some modification to list "no-ets" above "immobile"
2011-02-07 09:45:15 +00:00
Zacam 5abaa37b7f Trunk Sync -r7002 2011-02-06 03:26:41 +00:00
Zacam d340e3e1cd Nukes Particle Code. 2011-02-04 15:15:27 +00:00
Zacam 8afa55a716 Trunk Sync - r6993 2011-02-04 03:50:54 +00:00
Zacam 0349ed6db6 Trunk Sync - r6988 2011-01-30 17:56:40 +00:00
Zacam a5400e8e86 Trunk Sync - r6975 2011-01-25 16:49:43 +00:00
Zacam 7b472ce10a Trunk Sync - r6967 2011-01-23 18:23:47 +00:00
The_E f028c7a5f1 Trunk sync r6964 2011-01-23 16:25:29 +00:00
The_E 419592d706 Trunk sync r6959 2011-01-22 18:34:12 +00:00
Zacam 6eccb00b38 Trunk Sync - r6952 2011-01-19 10:33:07 +00:00
The_E 4cba1ccb03 Trunk sync r6949 2011-01-18 16:26:37 +00:00
Zacam ff073dfb4d Trunk Sync - r6945 2011-01-15 09:27:20 +00:00
The_E 41d452e689 Trunk sync r6934 2011-01-10 15:50:50 +00:00
Zacam 6fd659607f Trunk Sync - r2930 2011-01-08 08:02:04 +00:00
Zacam fa908e72a8 Trunk 6921 - "Add flag that applies damage to subsystem as if it were the hull." 2011-01-05 17:36:39 +00:00
chief1983 21040622bd Trunk r6924: Support for PNG/JPG/TGA based EFFs for the HUD and other graphics that previously required ANI/PCX. 2011-01-05 16:10:30 +00:00
Zacam 4d78024d0c GLSL version Detection fix.
http://www.hard-light.net/forums/index.php?topic=73712.0
2011-01-05 07:13:10 +00:00
Zacam 9b8d978e81 Trunk 6919, "resolve a conversion warning pointed out by FUBAR" 2011-01-02 20:46:42 +00:00
The_E f8674a1515 Trunk sync r6917 2011-01-01 13:41:57 +00:00
Zacam 5078462321 Dynamic Primary Linking, from chief1983. 2010-12-30 19:28:52 +00:00
Zacam 866f7f86f8 Trunk Sync - r6910 2010-12-29 18:39:43 +00:00
Zacam 2549635181 Thanks to Goober5000, this is the correct way to be doing this. 2010-12-28 04:49:27 +00:00
Zacam 35c7cf3514 Fixes the index for Player Main Hall. Still not saving (or being read) by CSG properly despite tripping breakpoints set on the cfread/cfwrite on the flags for main_hall. 2010-12-27 22:54:50 +00:00
Zacam 59e562a587 Fixes reports of Retail data showing "0 ms" for ships Velocity in Ship Selection Screen. When multiplying an INT by a FLOAT, setting the fl2i() on the float is a good idea. 2010-12-27 15:28:04 +00:00
Zacam 1aab2c261e Trunk Sync - r6898 2010-12-27 13:01:43 +00:00
Zacam 65143c8a26 Revert 6885. Not a good thing to do apparently. 2010-12-26 19:46:49 +00:00
Zacam 727c65d095 From Trunk: Fix for Mantis 2350 (Sound assignments get lost/become bogus when changing ship class) 2010-12-25 15:18:47 +00:00
Zacam 142eda661c Fix: MSVC signed/unsigned mismatch. 2010-12-25 13:16:37 +00:00
Zacam 4df9e6f78c Just noticed that I sorta messed up the Prev/Next Squad Logo buttons locations trying to disable the "Convert" button.
Thanks to The_E, this has now been fixed, and a "Disabled!" message will now show.
2010-12-25 12:10:32 +00:00
Zacam 716be042d5 Trunk 6880 - Fix for Mantis 2356. 2010-12-24 09:37:58 +00:00
Zacam 2c5f54c319 MSVC LNK4221 Resolution.
multi_oo.cpp/.h and psnet.cpp/.h are not being used and have been removed.
Headers updated to point to multi_obj or psnet2 as appropriate.
Multi.cpp #ifdef PSNET2 made default. vecmat.h added to multi_obj.h.
2010-12-24 09:35:09 +00:00
The_E f05fcfade1 Trunk synk r6876 2010-12-22 14:48:44 +00:00
The_E cc088c897a Fixes erroneous assert on valid last_ship_flown data. 2010-12-22 13:47:30 +00:00
Zacam 8c2e8ca45a Trunk Sync - r6875 2010-12-21 06:51:15 +00:00
karajorma e17d7206d5 Fix a bug in persistent variable handing which was corrupting pilots. 2010-12-20 16:01:19 +00:00
karajorma bc0b03683d Fix a bug where persistent variables were copied on top non-persistent variables that happened to have the same name. 2010-12-20 15:59:16 +00:00
Zacam 34e02ce943 Trunk Sync - r6865 2010-12-19 06:05:54 +00:00
Zacam 0edd54cf19 Potential fix for reported mainhall issues. Caused by my own commit 6677 and only partly corrected for in 6692. (note: I'm unable to reproduce the reported issues, so it's anybodies guess) 2010-12-16 23:52:39 +00:00
Zacam 8561bf8b4b From Karajorma: Fix for Mantis 1708 "Training messages do not take into account multiple binds for controls" 2010-12-16 07:15:30 +00:00
Zacam de3846675f Trunk Sync - r6855 2010-12-16 07:01:53 +00:00
Zacam 1a7298e0d5 Mantis 2354: Barracks can now be used to switch between Single/Multi Gameplay. 2010-12-16 05:58:50 +00:00
Zacam 805f948882 Mantis 2353: Doesn't resolve Importing/Converting older players, but now Cloning a pilot will retain Axis/Invert as well as sensitivity and dead zone. 2010-12-16 05:57:22 +00:00
Zacam 6083c4e8a1 I honestly have no idea what I have done here, but this should resolve Mantis 2353. (Tested on New pilot and converted) 2010-12-15 12:39:52 +00:00
karajorma ce8b569132 Might want to check that index is in bounds. 2010-12-15 12:24:20 +00:00
Zacam 76a427daae Not changing anything here, but it is making this mess a whole lot easier to read. (feel free to disagree if you want) 2010-12-15 11:36:45 +00:00
Zacam 24ff53937d Trunk Sync - r6847 2010-12-13 20:44:27 +00:00
Zacam b44703cc09 Copy of Trunk 6844. 2010-12-13 05:52:25 +00:00
The_E 27e6a17b97 Set type for pilotfile.h and pilotfile_convert.h correctly. 2010-12-13 04:02:02 +00:00
Zacam 6e41f25a6f MSVC_2008 Compiler warnings, fixed. 2010-12-13 03:54:08 +00:00
The_E 768e7df94b Save the savefile when leaving the options menu 2010-12-13 02:53:22 +00:00
Zacam a50f6a7a10 The E cleaned house on a slew of unused #IFDEFs, such as FS2_DEMO, MULTIPLAYER_BETA, OEM_BUILD, commented out code, etc. 2010-12-13 02:44:27 +00:00
Zacam ea971a95a1 INF_BUILD #ifdef/#ifndef's and Inferno Build Configurations go away. 2010-12-13 02:33:41 +00:00
The_E 9ca59918b2 Slight changes to fix linker warning 2010-12-13 01:42:11 +00:00
Zacam cbd55626f4 Quick fix. (Would have helped if I had saved the file prior to commit) 2010-12-12 23:55:29 +00:00
Zacam d86f450c55 Antipodes 8: New Pilot code, from taylor. 2010-12-12 23:53:05 +00:00
Zacam e635d7af70 Prep for Antipodes 8. EXE output filenames now match Trunk to make Merge easier once AP8 is done. 2010-12-12 23:44:13 +00:00
Zacam d4503bdece Adds radardradis.cpp/.h to codeblocks and MSVC_2005. 2010-12-12 04:51:05 +00:00
Zacam 6d9dedb2f8 Trunk Sync - r6830 2010-12-12 01:29:12 +00:00
Zacam 958191f75b Trunk 6822 - Goober5000: use standard font to output the "more" indicator 2010-12-10 19:08:56 +00:00
The_E 4c22ceda41 Fix for Mantis 2254. This adds the option "$Speed Unit Multiplier:" after "Length Unit Multiplier". This value, if left alone, is set to the same value as the length unit multiplier for compatibility. See Mantis for more notes. 2010-12-10 18:21:15 +00:00
The_E 0e64e47bfe Trunk sync r6820 2010-12-09 23:49:32 +00:00
The_E ca9d09cc39 Trunk sync - r6818 2010-12-09 23:25:11 +00:00
Zacam 065878be49 Trunk Sync - r6804 2010-12-06 20:11:49 +00:00
The_E 0ae81a217f Bah. getObjectType() != getConfigType() 2010-12-01 13:07:18 +00:00
The_E 6816a45506 Adding the hud-activate-gauge-type sexp, which can be used to switch a gauge category on or off. 2010-11-29 14:35:42 +00:00
Zacam e824b8b86e Trunk Sync -r6795 2010-11-29 12:45:07 +00:00
Swifty 464e3a7270 Lead sight now displays for secondary dumbfires and does not display until an armed weapon is in range. 2010-11-27 22:06:13 +00:00
Zacam 1e6030d5a1 Trunk 6789 - Goober5000 - bump number of misc anims to 32 2010-11-27 00:14:23 +00:00
The_E f1dd9cf410 Small logic changes here. Changes bug with hud gauges not getting turned off properly in options menu 2010-11-26 19:39:55 +00:00
Zacam 44ba6b9306 Trunk Sync - r6787 2010-11-26 01:52:39 +00:00
The_E d4424ed8b6 Bumping XSTR_SIZE to allow for "Artillery firing" message replacement 2010-11-24 20:47:54 +00:00
Zacam 5357113acd Trunk Sync - r6774 2010-11-24 02:59:12 +00:00
The_E 8d7a70b471 eval_sexp -> is_sexp_true 2010-11-23 08:06:10 +00:00
Zacam 423c16c380 Trunk Sync - r6768 2010-11-23 07:41:34 +00:00
Zacam a4bffc0c76 Trunk Sync - r6766 2010-11-22 21:14:27 +00:00
The_E 7b019a4005 Trunk sync r6762 2010-11-22 06:24:06 +00:00
Zacam fc0d8b53c8 Trunk Sync - r6760 2010-11-21 20:29:01 +00:00
The_E 5de50c2e3c More fixes for the "initial off" thing. 2010-11-20 23:38:53 +00:00
The_E f890e627c6 Logic is a good thing. If you don't reverse it. 2010-11-19 21:22:12 +00:00
The_E e62c853715 Various bugfixes related to the "off by default" setting 2010-11-19 21:21:47 +00:00
The_E 9d2fc56831 Fixes issue noticed by Axem, where messages without head anis would reuse the last head ani in use. 2010-11-19 17:18:56 +00:00
Swifty de5a72917d Rectified the behavior of View From Target from rendering the inverse of HUD elements it originally displayed. Targetbox returned to its original behavior of not displaying in external cam. 2010-11-17 21:52:08 +00:00
The_E 21976de611 Changes the firepoiunt display to be a tiny bit more efficient. Also, working as planned now. 2010-11-16 13:57:26 +00:00
The_E 28a87521a9 Fix for code analysis warning 2010-11-16 12:29:13 +00:00
The_E 38085dc5a8 Adding option to designate a custom HUD gauge as off by default, as well as a sexp to activate/deactivate custom gauges 2010-11-15 15:36:27 +00:00
Zacam b28a2754cb Trunk Sync - r6738 2010-11-14 19:41:45 +00:00
Swifty 6a95628a8f Rewrite of the HUD messages rewrite. 2010-11-14 19:28:11 +00:00
The_E f7c2c24f82 This wasn't supposed to be committed as well, sorry 2010-11-13 16:01:21 +00:00
The_E 00c67a65b5 Ooops, small oversight 2010-11-13 15:55:29 +00:00
The_E f7b3bbae18 Adding the "Fixed Message" gauge. This is used to display status messages, like the "Killed by..." and "Viewing from:..." messages. Usage is the same as the standard message gauge. 2010-11-13 11:16:29 +00:00
The_E d45e390fd0 Fixing bug where the coordinates for the subsystem reticle in the targetview window got manipulated wrongly if no hud_gauges.tbl was present. 2010-11-13 02:09:01 +00:00
The_E 52a7c5be81 The real fix for hud-set-directive 2010-11-12 03:01:30 +00:00
The_E e142759be4 Ooops, forgot to change this to a renderString() 2010-11-11 16:38:34 +00:00
The_E 94cc5ceaeb Adds an XWA-style firepoint display to the standard reticle. To use it, add "Firepoint display: YES" to the center reticle gauge (after "Filename:"). Additional options are "Firepoint size:" (size in pixels, default value is 5), "Firepoint X coordinate multiplier:" (Default is 15) and "Firepoint Y coordinate multiplier:" (Default value 10)
Also adds HudGauge::renderCircle().
2010-11-11 03:33:06 +00:00
The_E 91dedca11c Fix for faulty check 2010-11-11 03:17:37 +00:00
The_E 88f5848c12 But this is how you do it right 2010-11-09 18:36:00 +00:00
Zacam 3b42dd1f51 Hmm. There's a game-breaker, hopefully now fixed appropriately. (At least now it compiles) 2010-11-09 12:38:17 +00:00
The_E 949106b963 Adding the hud-set-directive sexp, to complete the set. 2010-11-09 09:48:23 +00:00
The_E 56c1859579 Trunk sync r6715 2010-11-09 04:10:53 +00:00
The_E bf7e1cc536 Fix issue with alternate weapon energy/ballistic ammo gauges not drawn correctly 2010-11-09 04:05:18 +00:00
The_E 8c12647629 Changes render permissions for the messages, head ani, and target view gauges. 2010-11-09 01:30:22 +00:00
The_E cb2a15ad1a Trunk sync r6711 2010-11-05 00:47:58 +00:00
chief1983 8755806397 Trunk sync - r6704 2010-10-29 19:10:21 +00:00
chief1983 2723cc7e99 Whoops, still testing this part 2010-10-29 17:08:38 +00:00
chief1983 3f0f10d3a6 Trunk sync - r6701 2010-10-29 17:05:36 +00:00
Zacam 5d506d2341 copy of Trunk Commit r6697 - Patch for minor snafu, from FUBAR 2010-10-29 01:20:57 +00:00
The_E 4e118acd49 Fixes issue with the head ani not being unloaded correctly 2010-10-28 19:03:07 +00:00
Zacam 89a8c659d1 Trunk Sync -r6694 2010-10-27 18:33:32 +00:00
The_E 8769780354 Fix for Mantis 2331 (hud-set-message not working properly) 2010-10-26 10:20:48 +00:00
chief1983 06c6a8a70f Trunk sync - r6689 2010-10-25 15:58:47 +00:00
The_E fa2da96059 Removing lua.c from the VS2010 project 2010-10-25 15:07:41 +00:00
Zacam 1e4b61547c Trunk Sync - r6684 2010-10-25 04:09:33 +00:00
Zacam b33234ab29 Trunk Sync - r6677 2010-10-25 00:25:52 +00:00
Zacam 3662c33157 Trunk Sync - r6675 2010-10-24 20:50:24 +00:00
The_E d9c0a50141 Adding "Message Source: None". Fixes oversight regarding hud-set-message 2010-10-23 14:51:24 +00:00
Zacam a246fa3a30 Trunk Sync - r6669 2010-10-22 20:47:28 +00:00
chief1983 84930ce188 Trunk sync - r6662 2010-10-22 20:34:37 +00:00
The_E ef61f16857 Fixes for build warnings 2010-10-22 20:33:35 +00:00
The_E f78fc33742 Removing unused variables and unused code 2010-10-22 20:13:58 +00:00
The_E 7572008d94 Basic lua integration of the new HUD gauges. 2010-10-22 20:09:11 +00:00
The_E 35d9c02231 Adding a getter function for the custom HUD gauge text 2010-10-22 19:33:14 +00:00
The_E f295358b00 Adding an option to specify a text offset for custom gauges 2010-10-22 18:33:39 +00:00
Zacam 4595b64430 Resolves for conversion type warnings. 2010-10-22 05:44:06 +00:00
Swifty 5e40c0ddb4 Fixed warnings when retrieving HUD config data. 2010-10-22 00:32:54 +00:00
chief1983 3b222fe39c Add radardradis files to code/Makefile.am 2010-10-21 22:44:48 +00:00
chief1983 089fd2fafe Trunk sync - r6655 2010-10-21 18:16:58 +00:00
Zacam 8bd65baa06 Resolves float-to-int conversion warning. 2010-10-20 20:43:16 +00:00
Zacam 63e36377da Removes unreferenced variable, some whitespace/formatting cleanup. 2010-10-20 20:42:29 +00:00
chief1983 19e491c4fc Fix compiling errors on VC6 2010-10-20 19:24:59 +00:00
Zacam 3322191676 Update 2005 and 2008 Project file output names from 6 to 7. 2010-10-20 18:19:15 +00:00
chief1983 f6683e6f41 VC6 rename output build to ant-7 from ant-6 2010-10-20 16:36:00 +00:00
chief1983 780eafe42e Add radar files to VC6 code project file. 2010-10-20 16:13:15 +00:00
chief1983 090965e952 Trunk sync - r6646 2010-10-20 15:15:07 +00:00
The_E a9cf01b21d Addng the hud-set-message sexp (Changes the text of a HUD gauge to a message from the messages list) 2010-10-20 09:11:52 +00:00
The_E 04158e45f1 Added radardradis files to the VS2010 project 2010-10-20 09:08:11 +00:00
chief1983 7995e438a4 Properly add radardradis files for Xcode 2010-10-19 23:41:26 +00:00
chief1983 48d5472738 Initial commit of HUD/Dradis code from Swifty's branch for Antipodes 7 2010-10-19 23:17:26 +00:00
chief1983 e9454476d0 More whitespace fixage 2010-10-19 22:19:15 +00:00
chief1983 d78d31a021 Somehow this line was left out of antipodes 2010-10-19 22:17:12 +00:00
chief1983 da31ed9fa2 Trunk sync - r6635 2010-10-19 14:57:03 +00:00
Zacam 1c11fee7e6 Trunk sync - r6632 2010-10-18 21:01:59 +00:00
Zacam 1c65117a01 Trunk sync - r6630. 2010-10-18 20:20:59 +00:00
chief1983 a1e1978565 Trunk sync - r6623 2010-10-18 17:12:35 +00:00
taylor 8e307b0353 this just seems to cause problems 2010-10-17 00:56:24 +00:00
chief1983 a5e31bb187 Add fsmemory.cpp to Xcode too, and some region stuff apparently 2010-10-16 17:49:45 +00:00
Zacam 74288b25ad Set fsmemory.cpp in the 2010 .filters file as well. 2010-10-16 08:12:31 +00:00
Zacam c60c5c354f Trunk Sync r6613 2010-10-16 06:46:33 +00:00
taylor da639658bf new/delete fixage for FRED 2010-10-16 06:07:50 +00:00
Goober5000 a865a61999 add fsmemory.cpp to VC6 project
add /FORCE:MULTIPLE to FRED
2010-10-16 05:34:23 +00:00
The_E d469ce0ebe These should be set as well. 2010-10-15 21:16:03 +00:00
The_E a47fc29330 --Added "-disable_glsl_model" commandline option to switch off shader-based model rendering but leave the option open to use post processing
--Changed shader compilation behaviour so that it stops to compile shaders if one of the lighting shaders fails, similar to the behaviour for normal and height map shaders
2010-10-15 21:11:36 +00:00
taylor dd0f58dffa better fix for warnings and messed up texture replacement 2010-10-14 04:15:34 +00:00
taylor 3f1263f39a fix standalone problems with new gr_*_buffer() setup 2010-10-14 04:15:30 +00:00
chief1983 92ef57241c Missed some VS2010 renames too 2010-10-13 18:42:36 +00:00
Zacam 4eaccb5149 Missed some. 2010-10-13 18:25:44 +00:00
chief1983 f338b6f373 Trunk sync - r6601. 2010-10-13 15:43:10 +00:00
Zacam c6a3ffca69 Project Synchronization: Trunk vs Antipodes
2005: Set PDB and Map Exports to explicitly FALSE on Release builds.
Removed <File Configuration> lines (save for in the case of phrases.xml) as they are unnecessary bloat.
Set Output Filenames to Antipodes instead of Trunk.
2008: Set PDB and Map Exports to explicitly FALSE on Release builds.
2010-10-12 22:38:26 +00:00
chief1983 85a0d81dc6 Let's get all the places it says trunk instead of ant-6, instead of just a few of them. 2010-10-12 00:30:26 +00:00
Zacam 849f1487c7 Swifty's FBO changes.
Read: http://www.hard-light.net/forums/index.php?topic=71692.msg1422165#msg1422165
2010-10-11 23:17:39 +00:00
chief1983 0848930abb Damn VC6 and its urges to use absolute paths for everything 2010-10-11 17:51:50 +00:00
Zacam a507e1eb2e And add fsmemory.h to MSVC_2005. 2010-10-09 00:16:12 +00:00
Zacam 75c3b91218 No idea who uses this, but added fsmemory.h to codeblocks. 2010-10-09 00:12:54 +00:00
Zacam 3a18295fb8 Trunk Sync - r6586. 2010-10-08 23:37:32 +00:00
Zacam 19171baf7d Warning Fix: void model_render_buffers
MSVC complains of "C4238: nonstandard extension used : class rvalue used as lvalue".
2010-10-08 23:15:01 +00:00
Zacam a40d0abf52 Trunk Sync - r6581. 2010-10-08 23:10:53 +00:00
Zacam 3b9443d380 Trunk Sync - r6575. 2010-10-06 20:22:00 +00:00
Zacam 2360d36072 Trunk Sync - r6571. 2010-10-06 09:56:50 +00:00
Zacam ab8a83e271 Trunk Sync - r6558. 2010-10-02 07:18:59 +00:00
Zacam 2edf65dfe0 Trunk Sync - r6556. 2010-10-02 00:51:18 +00:00
taylor a2cafff9ee fix bloom issue when clipping is enabled (death scene, cutscene, etc.) 2010-10-01 18:53:50 +00:00
Zacam dabd73e5e1 Trunk Sync - r6545. 2010-10-01 04:25:38 +00:00
Zacam 2a6e9c8662 Trunk Sync - r6543. 2010-10-01 04:13:00 +00:00
Zacam 1752bcaee8 Trunk Sync - r6537. 2010-09-30 06:10:56 +00:00
chief1983 053539e0ca Should help VC6 out a little bit but I'm still having problems. 2010-09-28 16:05:35 +00:00
Zacam a4f09bf1b5 Trunk Sync - r6532. 2010-09-27 19:04:53 +00:00
taylor 4da431b000 texture_target isn't completely valid until after opengl_create_texture() has been called 2010-09-26 21:16:09 +00:00
taylor d387a4644e re-comment debug message 2010-09-26 21:16:07 +00:00
Zacam d259ba852b Trunk Sync - r6524. 2010-09-26 18:17:08 +00:00
Echelon9 36e983b786 Code cleanup: Remove redundant Num_observer_obs ahead of converting Observers array to an STL container 2010-09-26 10:39:03 +00:00
Echelon9 0b8234bbb9 Code cleanup: No need to track separately the Num_files variable when Cutscene_list is an STL container 2010-09-26 10:33:51 +00:00
The_E 15c456250b Ooops, minor typo 2010-09-26 03:25:45 +00:00
Zacam f9a5615c64 Trunk Sync - r6515 (6506, 6507, 6508, 6511, 6512, 5614 actually committed, 5613/6515 ignored) 2010-09-26 01:44:56 +00:00
Zacam 457434d3eb Fix to add :AdditionalOptions="/FORCE:MULTIPLE" to MSVC 2008 to allow Fred compilation. 2010-09-26 01:26:06 +00:00
The_E d1a1bf068d Normalized line endings 2010-09-26 01:24:10 +00:00
The_E 84e64dcfa8 Bringing back the old-style shader compilation report 2010-09-26 01:23:06 +00:00
The_E 73c500259c Ooops, those are unneeded 2010-09-24 16:48:22 +00:00
The_E 32c46b8ac4 Fix FRED building. Note that this is partially an ugly hack through using the linkers' FORCE:MULTIPLE option. See also: http://msdn.microsoft.com/en-us/library/70abkas3.aspx 2010-09-24 16:34:33 +00:00
The_E aace5f90c7 Hopefully fix Xcode compilation issue reported by chief1983 2010-09-23 20:53:39 +00:00
chief1983 0c9fbb6b22 Add fsmemory.h to Xcode project 2010-09-23 17:06:07 +00:00
The_E 485d014b6d taylor's fix for the loading issues. Please regenerate your cache files. 2010-09-23 06:09:18 +00:00
The_E 335a9d80ec Only free what actually needs freeing 2010-09-23 05:17:01 +00:00
chief1983 06b703df07 Add fsmemory.h to the Linux build stuff. 2010-09-23 03:53:19 +00:00
chief1983 bdc6defdd0 Add fsmemory.h to VS2008 2010-09-23 03:31:33 +00:00
The_E 998fa46e57 Let's format this properly, shall we? 2010-09-23 03:25:23 +00:00
Zacam 753dfaeb3b Quick fix noted by The E, keeps really huge models (Like BP's UED Solaris) from crashing the exec. 2010-09-23 03:22:16 +00:00
The_E 21400d3688 Changed VS2010 project files to include fsmemory.h and to change the output name for the binaries 2010-09-23 02:32:54 +00:00
The_E bb6eea5f21 taylor's diff to make movies work again. See http://www.hard-light.net/forums/index.php?topic=71692.msg1417039#msg1417039 2010-09-23 02:31:31 +00:00
Zacam 9dac4b2bc4 From taylor: go_faster 2010-09-23 02:19:27 +00:00
Zacam 88377709f3 This is more like it. These files diff'd as different than Trunk versions, so I over-rode them with Trunk versions so that Antipodes and Trunk can finally have some 1:1 parity. 2010-09-23 02:14:26 +00:00
The_E 6d1909e823 Adding the explanation for disabling the 4290 warning 2010-09-23 02:01:39 +00:00
Zacam 585281635d Trunk Sync - r4290 2010-09-22 22:39:29 +00:00
Zacam 3bebbbbcd0 Trunk Sync r6269. I hope this works. This is supposed to be a Trunk overlay merge into Antipodes, which should mean that Antipodes is now a copy of Trunk in all respects. 2010-06-29 22:09:34 +00:00
Zacam cfc49b7680 taylor's changes3.diff
(see: http://www.hard-light.net/forums/index.php?topic=68146.msg1353724#msg1353724)
Some slight changes for alignment and whitespace (space vs tab), otherwise unchanged.
2010-03-21 21:00:26 +00:00
Zacam 139049947b Yet another fix on the broken commit for the Trunk update. 2010-03-02 22:28:39 +00:00
Zacam d340940da9 Oh ffs. No more Trunk syncs while at work anymore. Somewhere, a } got lost. 2010-03-02 22:11:53 +00:00
Zacam 83d895fce2 taylors 2nd sound code diff from Reply #99 on 03-01-2010, 00:08:44 on Testing forum. Sans Project file edits, as they have already been done. 2010-03-01 18:28:21 +00:00
Zacam d283dfd832 Trunk Sync - r5961 2010-03-01 18:22:26 +00:00
Zacam 287bc0294a Applied Goober5000's Trunk Commit r5943 to the MSVC 2005 Project Files and the cleaned them up. 2010-02-24 05:53:15 +00:00
chief1983 7ba1ec1738 Taylor's recent updates to the code 2010-02-24 00:21:41 +00:00
chief1983 fa9a637819 Add some missing files to build with the code target in Xcode 2010-02-23 21:47:41 +00:00
Zacam 15a2c3b584 Set SVN EOL Types on he new files.
From chief1983: OS X XCode project update for the new Sound Code.
2010-02-23 18:10:14 +00:00
Zacam c430677499 New Sound code addendum: For some STUPID reason, when I applied the patch at work, one file did not delete, one did not create. 2010-02-23 02:43:26 +00:00
Zacam 98b0e40445 The_E's fix for FRED compiling with taylors sound code. 2010-02-23 00:20:06 +00:00
Zacam f969eb52a2 taylors Sound Code. Linux, MSVC 6, 2005 & 2008 compiling.
(Mac OS-X Compiling still needs setup for the file changes)
2010-02-23 00:15:32 +00:00
Zacam 7a399e1db3 Trunk Sync - r5931. Updated build output filenames to 6, MSVC 6 project also outputs _ant (instead of _trunk) so as not to over-write Trunk build compiles. 2010-02-22 21:37:43 +00:00
Zacam c6c23bbd00 Trunk Sync - r5888
Special notes: MSVC_6_Release was corrected by hand, but none of the changes made to MSVC_6 were carried over.
2010-02-06 02:27:21 +00:00
Zacam 2a154a3a97 Updates libpng to 1.2.42. This is currently the highest and newest supportable MAX_VERSION, as 1.4.0 will break things.
No other changes for this lib upgrade needed.
2010-02-05 04:36:52 +00:00
Zacam 97790afcf1 Apparently, I mis-understood and left the cfclose in. Let's try this again. 2010-02-04 23:34:13 +00:00
Zacam 8c456a1e75 Let's see if this fixes things, or causes a snowball. If it does, everybody say thank you to ni1s. If it doesn't, then it's still my fault somehow. 2010-02-04 22:31:58 +00:00
Zacam ba404d8686 chief1983's fixes for Antipodes VC_6_Release distribution for PNG.
Additionally, corrected output names for Antipodes from *_trunk_*.exe to *_ant_5_*.exe.
2010-01-30 23:48:23 +00:00
Zacam 0692473238 Check on Speech for VC_6_Release 2010-01-29 23:43:29 +00:00
Flaming_Sword 29752c6ec1 PNG support - fixed MSVC6 workspace file 2010-01-26 04:57:18 +00:00
Zacam fc13daba42 Deleted and set to ignore. 2010-01-19 21:31:10 +00:00
Zacam ba66cee720 Trunk Sync - r5825 2010-01-17 23:13:55 +00:00
Zacam 456b98a468 Add's PNG compilation support for XCode, by Echelon9. 2010-01-15 22:00:49 +00:00
Zacam cd4c79dfa9 Fixes ExternalDLL in MSVC_6_Release.
Adds Makefile data for PNG for Linux Platforms.
Patches SPHelper.h for compiling speech under 2008 with less warnings.
2010-01-15 21:57:30 +00:00
Zacam c65b259ddd Potential start for adding PNG to MSVC_6_Release from Flaming Sword originally. 2010-01-12 05:07:23 +00:00
Zacam cd13843cbe Checked a whitespace difference out of 2008.
Removed "trackir.lib" and "../../trackir/lib" from MSVC 6 Release files.
2010-01-12 04:33:31 +00:00
Flaming_Sword 4943d9aafb Fixed possible calling cfclose() on NULL 2010-01-11 10:42:26 +00:00
Zacam b0cd916edb Trunk Sync - r5792 2010-01-08 02:50:10 +00:00
Flaming_Sword a3c2998f4f PNG support - added missing files 2010-01-06 09:17:23 +00:00
Flaming_Sword 2198d020ce PNG support 2010-01-06 08:42:32 +00:00
Flaming_Sword ce4c32b6d7 Exe names change for msvc2008 2010-01-06 08:29:23 +00:00
Flaming_Sword 2c47356550 trackir cleanup in msvc2008 2010-01-06 08:27:50 +00:00
Flaming_Sword 06ce9f76f6 Trunk sync to 5779 2010-01-06 08:24:54 +00:00
Flaming_Sword c07b803065 $Alt name:
For ships and weapon tbms - renaming existing tbl entries in mods
2010-01-05 12:25:14 +00:00
Flaming_Sword 849506485f Trunk sync to 5771 2010-01-05 10:13:32 +00:00
Flaming_Sword 258c434207 VC6 project file update for trackir changes 2010-01-05 10:00:01 +00:00
Flaming_Sword d227e102f7 Trunk sync to 5769 2010-01-05 09:19:55 +00:00
portej05 31e620931e Trunk Sync 2009-12-14 13:34:13 +00:00
Hery 7ec9f92db1 Post-processing
* the main post-processing code
 * shaders manager (support for the main and post-processing shaders)
 * simple post-processing effects
 * bloom
 * depth of field (inactive)
 * wrappers for OpenGL textures, render buffers and FBO
2009-11-24 15:57:49 +00:00
Hery b725a5e8bb Trunk sync (pending PostProcessing patch) 2009-11-24 15:31:34 +00:00
Flaming_Sword 2ccdcbc0fe Trunk sync 2009-11-19 12:14:17 +00:00
portej05 0ca19eb893 Trunk sync 2009-11-13 09:38:30 +00:00
portej05 391bcbfc64 Icons Patch + Trunk Sync (argh! on the two at once!) 2009-11-12 15:44:33 +00:00
portej05 d1a1f39974 Trunk Sync 2009-11-03 08:21:16 +00:00
portej05 6be1003994 Shouldn't have committed .aps or .cpp.bak 2009-10-28 16:30:45 +00:00
portej05 811755475d Zacams Icon Update for FSO 2009-10-28 16:28:38 +00:00
portej05 963d965699 Trunk Sync pending Zacams changes 2009-10-26 09:16:42 +00:00
portej05 763dc6f25c Trunk sync after Antipodes #3 2009-09-26 05:54:19 +00:00
portej05 0974d547a4 PDB_DEBUGGING for antipodes 2009-09-18 13:50:13 +00:00
portej05 d8b132d846 Antipodes3 from Flaming_Sword 2009-09-12 16:03:52 +00:00
portej05 b981f4147f Trunk Sync 2009-09-12 15:18:09 +00:00
portej05 d32784123b Sync to include Sushi's 5581 patch 2009-09-09 04:51:12 +00:00
portej05 bc99d2520f Trunk sync 2009-09-09 04:07:40 +00:00
portej05 8eb87b45b9 Trunk Sync for FS' EFF code 2009-09-03 14:20:46 +00:00
portej05 c1ef2b9f61 Trunk Sync 2009-08-28 11:58:32 +00:00
portej05 3d32f78038 Hery's shaders patch 2009-08-09 14:38:14 +00:00
portej05 d45b249561 Trunk sync (pending Hery's shaders patch) 2009-08-09 13:47:51 +00:00
portej05 302f615cff Trunk sync 2009-08-03 16:15:44 +00:00
portej05 eb9f23d6fd Trunk Sync 2009-07-31 09:27:55 +00:00
portej05 aaf3a9bf09 safe_strings changes 2009-07-26 05:15:24 +00:00
portej05 ffd33dd5fe Trunk Sync (Rodos overlong word fix) 2009-07-22 06:02:16 +00:00
Goober5000 b08d35d1d0 2009-07-22 04:21:53 +00:00
3321 changed files with 485506 additions and 477474 deletions

No files matched your search

+182
View File
@@ -0,0 +1,182 @@
version: 2
references:
container_config: &container_config
docker:
- image: "debian:stretch"
working_directory: /root/build
restore_repo: &restore_repo
restore_cache:
keys:
- source-repo-{{ .Branch }}-{{ .Revision }}
- source-repo-{{ .Branch }}
- source-repo
cmake_configure: &cmake_configure
run:
name: Creating Build Files
command: |
mkdir build
cd build
CXXFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas"
CFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas"
if [[ "$CC" =~ ^clang.*$ ]]; then
CXXFLAGS="$CXXFLAGS -stdlib=libc++"
fi
eval $CC --version
export CXXFLAGS
export CFLAGS
CMAKE="cmake -G Ninja -DFSO_FATAL_WARNINGS=ON $CMAKE_OPTIONS"
eval $CMAKE -DCMAKE_BUILD_TYPE=$CONFIGURATION -DFSO_BUILD_TESTS=ON -DFSO_BUILD_INCLUDED_LIBS=ON ..
compile: &compile
run:
name: Compiling Source code
command: |
cd build
ninja -k 20 all
run_tests: &run_tests
run:
name: Run unit tests
command: |
./build/bin/unittests --gtest_shuffle
compile_steps: &compile_steps
steps:
- *restore_repo
- *cmake_configure
- *compile
- *run_tests
jobs:
checkout_code:
<<: *container_config
steps:
- run:
name: Installing Git
command: 'apt-get update && apt-get -yq install git'
- *restore_repo
- checkout
- run:
name: Updating submodules
command: 'git submodule update --init --recursive'
- save_cache:
key: source-repo-{{ .Branch }}-{{ .Revision }}
paths:
- .
build_gcc_lowest_debug:
docker:
- image: asarium/fso_compile:gcc-lowest
working_directory: /root/build
environment:
CC: gcc
CXX: g++
CONFIGURATION: Debug
<<: *compile_steps
build_gcc_lowest_release:
docker:
- image: asarium/fso_compile:gcc-lowest
working_directory: /root/build
environment:
CC: gcc
CXX: g++
CONFIGURATION: Release
<<: *compile_steps
build_gcc_latest_debug:
docker:
- image: asarium/fso_compile:gcc-latest
working_directory: /root/build
environment:
CC: gcc
CXX: g++
CONFIGURATION: Debug
<<: *compile_steps
build_gcc_latest_release:
docker:
- image: asarium/fso_compile:gcc-latest
working_directory: /root/build
environment:
CC: gcc
CXX: g++
CONFIGURATION: Release
<<: *compile_steps
build_clang_latest_debug:
docker:
- image: asarium/fso_compile:clang-latest
working_directory: /root/build
environment:
CC: clang-8
CXX: clang++-8
CONFIGURATION: Debug
<<: *compile_steps
build_clang_latest_release:
docker:
- image: asarium/fso_compile:clang-latest
working_directory: /root/build
environment:
CC: clang-8
CXX: clang++-8
CONFIGURATION: Release
<<: *compile_steps
build_clang_lowest_debug:
docker:
- image: asarium/fso_compile:clang-lowest
working_directory: /root/build
environment:
CC: clang
CXX: clang++
CONFIGURATION: Debug
<<: *compile_steps
build_clang_lowest_release:
docker:
- image: asarium/fso_compile:clang-lowest
working_directory: /root/build
environment:
CC: clang
CXX: clang++
CONFIGURATION: Release
<<: *compile_steps
workflows:
version: 2
build_test:
jobs:
- checkout_code
- build_gcc_lowest_debug:
requires:
- checkout_code
- build_gcc_lowest_release:
requires:
- checkout_code
- build_gcc_latest_debug:
requires:
- checkout_code
- build_gcc_latest_release:
requires:
- checkout_code
- build_clang_latest_debug:
requires:
- checkout_code
- build_clang_latest_release:
requires:
- checkout_code
- build_clang_lowest_debug:
requires:
- checkout_code
- build_clang_lowest_release:
requires:
- checkout_code
+103
View File
@@ -0,0 +1,103 @@
---
Language: Cpp
Standard: Cpp11
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowAllArgumentsOnNextLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^(<.*\.(h|hh|hpp)>)$' # Includes of external libraries
Priority: 5
- Regex: '^(<.*>)$' # standard library includes (won't match deprecated C headers)
Priority: 6
- Regex: '^"globalincs\/.*\.h"$' # globalincs always come first
Priority: 1
- Regex: '^"[^/]*\.(h)"$' # Local includes
Priority: 2
- Regex: '^".*\.(h)"$' # standard engine includes
Priority: 3
- Regex: '.*' # Catch all in case something is unhandled above
Priority: 4
IncludeIsMainRegex: '$'
IndentCaseLabels: false
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
ReflowComments: true
SortIncludes: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 4
UseTab: ForContinuationAndIndentation
...
+27
View File
@@ -0,0 +1,27 @@
---
Checks: "-*,\
modernize-*,\
-modernize-raw-string-literal,\
-modernize-use-using,\
-modernize-make-unique,\
-modernize-use-trailing-return-type,\
-modernize-avoid-c-arrays,\
performance-*,\
-performance-type-promotion-in-math-fn,\
misc-*,\
-misc-macro-parentheses,\
-misc-misplaced-widening-cast,\
-misc-static-assert,\
-misc-unused-parameters,\
-misc-non-private-member-variables-in-classes,\
"
WarningsAsErrors: ''
HeaderFilterRegex: 'code/.*$|freespace2/.*$|qtfred/.*$|test/src/.*$|build/.*$'
AnalyzeTemporaryDtors: false
CheckOptions:
- key: 'misc-assert-side-effect.AssertMacros'
value: 'assert,Assert,Assertion'
- key: 'modernize-use-emplace.ContainersWithPushBack'
value: 'std::vector;std::deque;std::list;SCP_vector;SCP_deque;SCP_list'
...
+2
View File
@@ -0,0 +1,2 @@
/build
/.git
+21
View File
@@ -0,0 +1,21 @@
build:
image: teaci/msys$$arch
pull: true
shell: mingw$$arch
commands:
- git submodule update --init --recursive
- if [ $$arch = 32 ]; then target=i686; fi
- if [ $$arch = 64 ]; then target=x86_64; fi
- pacman -S --needed --noconfirm --noprogressbar mingw-w64-${target}-pkg-config mingw-w64-${target}-cmake
- mkdir build && cd build
- cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$$CONFIGURATION -DFSO_USE_SPEECH=OFF -DFSO_USE_VOICEREC=OFF -DFSO_FATAL_WARNINGS=ON -DFSO_BUILD_FRED2=OFF ..
- make -j$(nproc) all
matrix:
arch:
- 64
- 32
CONFIGURATION:
- Debug
- Release
+7
View File
@@ -2,3 +2,10 @@ root = true
[*.{h,cpp}]
indent_style = tab
[*.sdr]
indent_style = tab
[*.{yml,yaml}]
indent_style = space
indent_size = 2
+7
View File
@@ -0,0 +1,7 @@
# Default for everything
# * text=auto
# For the test data and built-in files to make them consistent on all platforms
*.tbl text eol=lf
*.tbm text eol=lf
*.sdr text eol=lf
+130
View File
@@ -0,0 +1,130 @@
name: Check a pull request
on: [pull_request]
jobs:
build_linux:
strategy:
matrix:
configuration: [Debug, Release]
compiler: [gcc-5, gcc-9, clang-4.0]
name: Linux
runs-on: ubuntu-16.04
steps:
- name: Prepare Environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:beineri/opt-qt571-xenial
sudo add-apt-repository ppa:msulikowski/valgrind # For fixing a bug with valgrind 3.11 which does not recognize the rdrand instruction
sudo apt-get -yq update
sudo apt-get -yq install cmake ninja-build libopenal-dev libreadline6-dev libpng12-dev libjpeg62-dev liblua5.1-0-dev libjansson-dev libsdl2-dev libfreetype6-dev valgrind qt57base g++-5 g++-9 clang-4.0 clang-tidy-4.0 libc++-dev libc++abi-dev
# Fix a header bug present in ubuntu...
sudo ln -s /usr/include/libcxxabi/__cxxabi_config.h /usr/include/c++/v1/__cxxabi_config.h
- uses: actions/checkout@v1
name: Checkout
with:
submodules: true
- name: Configure CMake
env:
CONFIGURATION: ${{ matrix.configuration }}
COMPILER: ${{ matrix.compiler }}
run: |
if [ "$COMPILER" = "gcc-5" ]; then
export CC=gcc-5
export CXX=g++-5
fi
if [ "$COMPILER" = "gcc-9" ]; then
export CC=gcc-9
export CXX=g++-9
fi
if [ "$COMPILER" = "clang-4.0" ]; then
export CC=clang-4.0
export CXX=clang++-4.0
fi
CXXFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas"
CFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas"
if [[ "$CC" =~ ^clang.*$ ]]; then
CXXFLAGS="$CXXFLAGS -stdlib=libc++"
fi
mkdir build
cd build
export CXXFLAGS
export CFLAGS
CMAKE="cmake -G Ninja -DFSO_FATAL_WARNINGS=ON $CMAKE_OPTIONS"
eval $CMAKE -DCMAKE_BUILD_TYPE=$CONFIGURATION -DFSO_BUILD_TESTS=ON -DFSO_BUILD_INCLUDED_LIBS=ON -DFSO_BUILD_QTFRED=ON ..
- name: Compile
working-directory: ./build
run: ninja -k 20 all
- name: Run Tests
working-directory: ./build
env:
CONFIGURATION: ${{ matrix.configuration }}
run: |
if [ "$CONFIGURATION" = "Debug" ]; then
valgrind --leak-check=full --error-exitcode=1 --gen-suppressions=all \
--suppressions="$GITHUB_WORKSPACE/ci/travis/valgrind.supp" ./bin/unittests --gtest_shuffle
else
./bin/unittests --gtest_shuffle
fi
build_windows:
strategy:
matrix:
configuration: [Debug, Release]
compiler: [MSVC]
arch: [Win32, x64]
name: Windows
runs-on: windows-2019
steps:
- name: Prepare Environment
run: choco install ninja
- uses: actions/checkout@v1
name: Checkout
with:
submodules: true
- name: Configure CMake
env:
CONFIGURATION: ${{ matrix.configuration }}
COMPILER: ${{ matrix.compiler }}
ARCHITECTURE: ${{ matrix.arch }}
shell: bash
run: |
mkdir build
cd build
if [ "$COMPILER" = "MinGW" ]; then
cmake -DFSO_USE_SPEECH="OFF" -DFSO_FATAL_WARNINGS="ON" -DFSO_USE_VOICEREC="OFF" -DFSO_BUILD_TESTS="ON" \
-DFSO_BUILD_FRED2="OFF" -DCMAKE_BUILD_TYPE=$CONFIGURATION -G "Ninja" ..
else
cmake -DFSO_USE_SPEECH="ON" -DFSO_FATAL_WARNINGS="ON" -DFSO_USE_VOICEREC="OFF" -DFSO_BUILD_TESTS="ON" \
-DMSVC_SIMD_INSTRUCTIONS=SSE2 -DFSO_BUILD_FRED2="ON" -G "Visual Studio 16 2019" -T "v142" -A "$ARCHITECTURE" ..
fi
- name: Compile
working-directory: ./build
env:
CONFIGURATION: ${{ matrix.configuration }}
COMPILER: ${{ matrix.compiler }}
shell: bash
run: |
if [ "$COMPILER" = "MinGW" ]; then
cmake --build . --config "$CONFIGURATION"
else
cmake --build . --config "$CONFIGURATION" -- /verbosity:minimal
fi
- name: Run Tests
working-directory: ./build
env:
CONFIGURATION: ${{ matrix.configuration }}
COMPILER: ${{ matrix.compiler }}
shell: bash
run: |
if [ "$COMPILER" = "MinGW" ]; then
./bin/unittests --gtest_shuffle
else
"./bin/$CONFIGURATION/unittests" --gtest_shuffle
fi
@@ -0,0 +1,48 @@
name: Publish Standalone docker image
on:
push:
tags:
- '*'
jobs:
build_images:
strategy:
matrix:
configuration: [FastDebug, Release]
include:
- configuration: FastDebug
latest_tag: latest_debug
nightly_tag: nightly_debug
release_tag: release_debug
- configuration: Release
latest_tag: latest
nightly_tag: nightly
release_tag: release
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
name: Checkout
with:
submodules: true
- name: Docker login
run: echo ${{ secrets.DOCKER_ACCESSTOKEN }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Docker build
run: docker build --build-arg build_type=${{ matrix.configuration }} -f docker/standalone/Dockerfile -t ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.latest_tag }} .
- name: Push latest tag
run: |
docker push ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.latest_tag }}
- name: Push nightly tag
if: contains(github.ref, 'refs/tags/nightly_')
run: |
docker tag ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.latest_tag }} ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.nightly_tag }}
docker push ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.nightly_tag }}
- name: Push release tag
if: contains(github.ref, 'refs/tags/release_')
run: |
docker tag ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.latest_tag }} ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.release_tag }}
docker push ${{ secrets.DOCKER_REPOSITORY }}:${{ matrix.release_tag }}
+29 -37
View File
@@ -1,34 +1,3 @@
*.o
*.a
.dirstamp
libtool
ltmain.sh
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
compile
.deps/
code/.deps/
Makefile
Makefile.in
aclocal.m4
autom4te.cache/
config.*
code/fs2_open_*
code/wxFRED2_*
configure
depcomp
install-sh
missing
.svn
*.layout
projects/Xcode4/Frameworks/
projects/Xcode/Frameworks/
#========
#OS junk files
[Tt]humbs.db
*.DS_Store
@@ -57,10 +26,9 @@ projects/Xcode/Frameworks/
*.unsuccessfulbuild
ipch/
[Oo]bj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad
*.VC.db
*.VC.VC.opendb
#MonoDevelop
*.pidb
@@ -137,7 +105,7 @@ packages/
*.swp
# *.lock - this is used and abused by many editors for many different things.
# For the main ones I use (e.g. Eclipse), it should be excluded
# For the main ones I use (e.g. Eclipse), it should be excluded
# from source-control, but YMMV
*.lock
@@ -149,7 +117,7 @@ packages/
####
# Xcode temporary files that should never be committed
#
#
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this...
*~.nib
@@ -263,6 +231,30 @@ xcuserdata
# .xccheckout
#
# Per http://stackoverflow.com/questions/18340453/should-xccheckout-files-in-xcode5-be-ignored-under-vcs
#
#
*.xccheckout
####
# Visual Studio Code
.vscode
####
# Documentation
#
documentation/doxygen/*
!documentation/doxygen/.gitkeep
.idea/*
projects/*
/.vs
CMakeSettings.json
# Weird files created by Linux
.fuse_hidden*
# This gets ignored by one of the rules above for some reason...
!/code/scripting/lua/LuaConvert.h
!/code/debugconsole/
!/docker/build
+6
View File
@@ -0,0 +1,6 @@
[submodule "cmake/external/rpavlik-cmake-modules"]
path = cmake/external/rpavlik-cmake-modules
url = https://github.com/asarium/cmake-modules.git
[submodule "lib/libRocket"]
path = lib/libRocket
url = https://github.com/asarium/libRocket.git
+201
View File
@@ -0,0 +1,201 @@
language: bash
sudo: required
dist: xenial
cache:
directories:
- $HOME/cmake-3.8
- $HOME/.ccache
- $HOME/curl_cache
addons:
apt:
packages: &global_deps
- ninja-build
- libopenal-dev
- libreadline6-dev
- libpng12-dev
- libjpeg62-dev
- liblua5.1-0-dev
- libjansson-dev
- libsdl2-dev
- libfreetype6-dev
- qt57base
coverity_scan:
project:
name: "scp-fs2open/fs2open.github.com"
notification_email: [email protected]
build_command: "ci/travis/script.sh"
# must match TRAVIS_BRANCH check below
branch_pattern: coverity_scan
env:
global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
# also note that fork's don't get access to secure keys
# you have to test using a branch in the main repo
- secure: "C3wF967ZeliwwP1vC12EMIBOaC568n26Z/cPnwzn317ve59DWH3YSfPZVgvt08GzmaXITGGsJvPB+qxfGoKvQzYE4O1B73q81RpUe5pB3IhF+ThQ91VfQZIRJR5xEGJaLINUlHTTZGX5jxlkVO9wAcauVj/s3b8sQ3dvUZauPvk="
# These declarations set INDIEGAMES_USER and INDIEGAMES_PASSWORD for uploading nightly builds to the indiegames server
- secure: "lUuRu8XIi8MKNf1ebOfyC4iVEpPyASojJIDWXRo2bNqEF4ILAljXdkVeXeN6H5yKCHD52cxCNTtyePIG/o3p3QEuGSVud9bDS3D7LaQicLETGGrsw3l07U49gF2OKHXGopg0MzBbZUU9QmhoFTAe8t6PV9NDuEayYCheqvTqjZg="
- secure: "E/DHLYcPK/hBUqxBYYlUqp5sjgvIqY5A0qRHyQ4bmjsB+WB/Xx71bGCSiF7hk6lTxar1ZI1i5RAXXh9AIvNVaYAIdEOlCP+q3gvwCYuc5naZEKmkxlUCf0oEL4O9Fye93A/3VkFHuBdC1TGPYYf69m4W5r4367wWO9dPRIdWpJA="
# These declarations set DATACORDER_USER and DATACORDER_PASSWORD
- secure: "dpBH/dDN3bmU/NFlh+2v9isNx9wX0ocoRy+W+kBXRH32sosUGp26REhMqgVRpBNP5oxPBU8ic5bEogxAYWCB+0xUygBbkxAwyMPgoA34s0OXdTCY/ofw14ni8qqV2Ffy7fQJbP/jkMURyiMHx3kBTxNv3YjxKJqLnOuOMlQLpT8="
- secure: "tLMRBD1Ufp5iKNwlqPDVbbuczgusaXNoBJyAnPATpJq2YwlkW4j3PqP9rW5vd85+52xam2EOP20w9PoBR5J6FLdiXRu4Lf7yCEhSHFAgowVqQj8QcJpPlyXr90bM4emFGrGqpdxVwxyQ5AFhKwLuEZKsI14GYLN+UMEwpNCMing="
deploy:
- provider: releases
api_key:
secure: "q619+eQTe7lv8UVphK4OIzU8Jw84KBbVkuprN2sWIubRcV3IbZr2+WahJoUMt+nyhiy3YjDYtstO2ZgkxupwnZgwGUBVIiD1c4SPuyy+HTjNMOtiVsEUHT2hf+xPAemWpTlK5HcwhMmHAOh6rt6dEj57QOg0gcmGiwD/tCbEriA="
skip_cleanup: true
file_glob: true
file: "/tmp/builds/*"
on:
condition: '"$RELEASE_BUILD" == true'
tags: true
- provider: script
script: bash ci/travis/ftp_deploy.sh
on:
condition: '"$NIGHTLY_BUILD" == true'
tags: true
- provider: script
skip_cleanup: true
script: bash ci/travis/ftp_deploy.sh
on:
condition: $TEST_BUILD = true
all_branches: true
matrix:
include:
# note that gcc Debug MUST be 1st for Coverity
- os: linux
env: CONFIGURATION="Debug" CC=gcc-5 CXX=g++-5
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- *global_deps
- g++-5
- os: linux
env: CONFIGURATION="Debug" CC=gcc-9 CXX=g++-9
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- g++-9
- *global_deps
- os: linux
env: CONFIGURATION="Debug" CC=clang-4.0 CXX=clang++-4.0 CMAKE_OPTIONS="-DCLANG_USE_LIBCXX=ON"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- *global_deps
- clang-4.0
- libc++-dev
- libc++abi-dev
- os: linux
env: CONFIGURATION="Debug" CC=clang-9 CXX=clang++-9 CMAKE_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- *global_deps
- g++-9
script:
- ./ci/travis/script.sh
- ./ci/travis/clang_tidy.sh
- os: osx
env: CONFIGURATION="Debug"
- os: windows
env: CONFIGURATION="Debug" CMAKE_TOOLSET=v141_xp CMAKE_GENERATOR="Visual Studio 15 2017"
- os: windows
env: CONFIGURATION="Debug" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
- os: linux
env: CONFIGURATION="Release" CC=gcc-5 CXX=g++-5
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- *global_deps
- g++-5
- os: linux
env: CONFIGURATION="Release" CC=gcc-9 CXX=g++-9
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- g++-9
- *global_deps
- os: linux
env: CONFIGURATION="Release" CC=clang-4.0 CXX=clang++-4.0 CMAKE_OPTIONS="-DCLANG_USE_LIBCXX=ON"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- *global_deps
- clang-4.0
- libc++-dev
- libc++abi-dev
- os: linux
env: CONFIGURATION="Release" CC=clang-9 CXX=clang++-9 CMAKE_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:beineri/opt-qt571-xenial'
packages:
- *global_deps
- g++-9
script:
- ./ci/travis/script.sh
- ./ci/travis/clang_tidy.sh
- os: osx
env: CONFIGURATION="Release"
- os: windows
env: CONFIGURATION="Release" CMAKE_TOOLSET=v141_xp CMAKE_GENERATOR="Visual Studio 15 2017"
- os: windows
env: CONFIGURATION="Release" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
# There is a GCC compiler bug with MinGW that causes compilation failures on Windows at the moment
allow_failures:
- os: windows
env: CONFIGURATION="Debug" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
- os: windows
env: CONFIGURATION="Release" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja"
fast_finish: true
before_install:
# ugly hack; if running a coverity scan abort all except the 1st build
# see note re gcc compiler above needing to be 1st
# also note that branch_pattern & the TRAVIS_BRANCH check must match
# unfortunately COVERITY_SCAN_BRANCH isn't defined until later in the
# build process
- if ([[ "${TRAVIS_JOB_NUMBER##*.}" != "1" ]] && [[ "${TRAVIS_BRANCH}" == "coverity_scan" ]]); then false ; fi
- source "./ci/travis/check_release.sh"
- "./ci/travis/before_install.sh"
install:
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then export PATH="/c/Program Files/CMake/bin":$PATH; fi
- "./ci/travis/install.sh"
- export PATH=$HOME/cmake-3.6/bin:$PATH
before_script:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then QT_ENV_SCRIPT=$(find /opt -name 'qt*-env.sh'); source $QT_ENV_SCRIPT; fi
- "./ci/travis/before_script.sh"
script:
- if [ "$BUILD_DEPLOYMENT" = true ] ; then ./ci/travis/release.sh ; else ./ci/travis/script.sh ; fi
-29
View File
@@ -1,29 +0,0 @@
Original source (Freespace 2) by Volition, Inc.; see "credits.tbl"
Modifications by the FreeSpace Source Code Project (FSSCP)
http://fs2source.warpcore.org
FS2_OPEN STAFF:
Project leader:
Edward "Inquisitor" Gardner
Programmers:
"Bobboau"
Dennis "DTP" Pedersen
Ian "Goober5000" Warfield
Joe "Righteous1" Dowd
Mike "penguin" Harris
"Mysterial"
"PhReAk"
Thomas "Random Tiger" Whittaker
Will "Unknown PLayer" Rousnel
"WMCoolmon"
Web support:
Icefire and the staff at Volitionwatch.com
Alex "Thunder" Avery and the staff at Hard Light Productions
Special thanks to:
Volition for making FS2 such a great game
Dave Baranec for giving us the code and keeping us sanity checked
+41
View File
@@ -0,0 +1,41 @@
## FreeSpace
FreeSpace: The Great War (Released 1998) and FreeSpace 2 (1999) are mission-based space combat simulators, like X-Wing/TIE Fighter and Wing Commander. Among the greatest games of the genre, they were also effectively the last.
The FreeSpace series follows humanity and their Vasudan allies as they fight to withstand the xenocidal, enigmatic Shivans, a species of unknown origin, vast technological capability, and seemingly limitless malice.
## FreeSpace Open
Thanks to Volition's generosity, we've continued development of FreeSpace 2 as FreeSpace Open, building graphical enhancements to bring the original games up to modern standards, telling new stories set in the FreeSpace universe and original worlds, and creating spectacular total conversions that let players fly in the beloved universes of Babylon 5, Battlestar Galactica, Wing Commander, and Star Wars.
## Hard-Light Productions
HLP is a fan community built on love and open-source code. We're dedicated to bringing modders together and giving them a place to share their own hard work and draw inspiration from the work of others. Thanks to Volition's generosity, we've continued development of FreeSpace 2 as FreeSpace Open, building graphical enhancements to bring the original games up to modern standards, telling new stories set in the FreeSpace universe and original worlds, and creating spectacular total conversions that let players fly in the beloved universes of Babylon 5, Battlestar Galactica, Wing Commander, and Star Wars.
Find us at:
- Our [website](http://www.hard-light.net/) and [forums](http://www.hard-light.net/forums/)
- [Discord](https://discord.gg/YNVP3WR)
- [Facebook](https://www.facebook.com/groups/Hardlightproductions/)
- [Youtube](https://www.youtube.com/channel/UCxKkd609hDtY6yNetR1iT4w)
- [Reddit](https://www.reddit.com/r/freespace/)
- [Twitter](https://twitter.com/hardlightpro)
- [IRC](irc://irc.esper.net/hard-light)
## How to get the game
FreeSpace Open requires a retail installation of FreeSpace 2, which is available at the following stores:
- [GOG.com](https://www.gog.com/game/freespace_2)
- [Steam](https://store.steampowered.com/app/273620/Freespace_2/)
After installing retail FS2, use [Knossos](https://fsnebula.org/knossos/) to upgrade to the most recent release of FSO. Knossos is an advanced mod manager and launcher for FSO.
## Improvements
The new open source game engine has several distingushing features including:
- Linux and Mac OS X support
- OpenGL support
- OpenAL audio support
- Easy mod installation
- OGG support
- Hardware transform, clipping, and lighting
## The FreeSpace Upgrade Project
While the SCP improves the code of the game engine to enable new and exciting features, the FreeSpace Upgrade Project (FSU) creates material that takes advantage of the improved game engine.
The FSU improves the ships, effects, and background elements of FreeSpace 2. Every now and then these improvements are released as a pack called MediaVPs. These assorted improvements enhance the graphics of the game.
While the best way to experience the FSU is by playing the game with it, you can watch this [comparison video](https://www.youtube.com/watch?v=RM1YC_gK-qo) between 1999 and 2019 to have an idea of how much more beautiful FSU makes the game.
^(Much of this content was pulled from existing sources, such as InsaneBaron's "What Is Hard Light Productions" [thread](https://www.hard-light.net/forums/index.php?topic=86650.0), the Wiki's [Getting Started article](https://wiki.hard-light.net/index.php/Getting_started) and more.)
+8
View File
@@ -0,0 +1,8 @@
Original source (Freespace 2) by Volition, Inc.; see "`credits.tbl`"
Modifications by the FreeSpace 2 Source Code Project [(FSO SCP)](https://www.hard-light.net/forums/index.php?board=50.0)
[Project Contributors](https://github.com/scp-fs2open/fs2open.github.com/graphs/contributors)
Special thanks to:
Volition for making FS2 such a great game
Dave Baranec for giving us the code and keeping us sanity checked
+207
View File
@@ -0,0 +1,207 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Make sure the source and binary directory are not the sample
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
message(FATAL_ERROR "Binary and source directory can not be the same! Choose another build directory.")
endif()
include(cmake/util.cmake)
# Set a few policies
set_policy(CMP0051 NEW)
set_policy(CMP0053 NEW)
set_policy(CMP0054 NEW)
SET(FSO_PROJECT_DESCRIPTION "Open source project based on the original FreeSpace 2 source code.")
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Executable output path")
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Library output path")
# CMAKE_INSTALL_PREFIX is defined but also overwritten by the PROJECT command so we need to set it later
IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
SET(RESET_INSTALL_PREFIX TRUE)
ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
# Reset this variable
SET(TARGET_COPY_FILES "" CACHE INTERNAL "" FORCE)
SET(TARGET_COPY_DIRS "" CACHE INTERNAL "" FORCE)
### Define options and editable variables in the section below:
# This is only needed for single configuration generators so don't annoy others
if(NOT CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Default build configuration used." FORCE)
message(WARNING "CMAKE_BUILD_TYPE was not specified, defaulting to Release configuration.")
endif(NOT CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
# Override standard CMake configurations
set(CMAKE_CONFIGURATION_TYPES Debug Release FastDebug CACHE STRING "Available configurations" FORCE)
PROJECT(FS2_Open)
find_program(CCACHE_PROGRAM ccache)
# Currently only GCC support ccache properly without generating additional warnings
if(CCACHE_PROGRAM AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
message(STATUS "Using ccache for compilation: ${CCACHE_PROGRAM}")
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE_PROGRAM}")
endif()
IF(CMAKE_CROSSCOMPILING)
SET(IMPORT_EXE_DIR "IMPORT_EXE_DIR-NOTFOUND" CACHE FILEPATH "Required for a cross compiling build, point to binary directory of a cmake build for the real OS")
INCLUDE(${IMPORT_EXE_DIR}/ImportExecutables.cmake)
ENDIF(CMAKE_CROSSCOMPILING)
# Check if the external modules exists
IF(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/cmake/external/rpavlik-cmake-modules/launcher-templates")
message(FATAL_ERROR "External submodules could not be found. Please make sure you have updated your submodules.")
endif()
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/finder")
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/external/rpavlik-cmake-modules")
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/external/cotire")
IF(RESET_INSTALL_PREFIX)
IF(NOT $ENV{FS2PATH} STREQUAL "")
IF(NOT IS_DIRECTORY $ENV{FS2PATH})
MESSAGE(WARNING "The path '$ENV{FS2PATH}' of the environment variable FS2PATH does not point to a directory! Install prefix wasn't set.")
ELSE(NOT IS_DIRECTORY $ENV{FS2PATH})
SET(CMAKE_INSTALL_PREFIX "$ENV{FS2PATH}" CACHE FILEPATH "Install path" FORCE)
FILE(TO_CMAKE_PATH ${CMAKE_INSTALL_PREFIX} CMAKE_INSTALL_PREFIX)
ENDIF(NOT IS_DIRECTORY $ENV{FS2PATH})
ELSE(NOT $ENV{FS2PATH} STREQUAL "")
MESSAGE(STATUS "NO FS2PATH environment variable found, you can define this to point to your freespace install but it is not required.")
ENDIF(NOT $ENV{FS2PATH} STREQUAL "")
ENDIF(RESET_INSTALL_PREFIX)
IF (WIN32)
OPTION(FSO_USE_SPEECH "Use Windows specific text-to-speach libraries" ON)
OPTION(FSO_USE_VOICEREC "Enable voice recognition support" ON)
OPTION(FSO_BUILD_FRED2 "Build FRED2 binary" ON)
elseif(UNIX)
option(FSO_BUILD_APPIMAGE "Build an AppImage package" OFF)
ENDIF(WIN32)
OPTION(FSO_BUILD_TOOLS "Build tools related to FSO" OFF)
OPTION(FSO_BUILD_TESTS "Build unit tests" OFF)
OPTION(FSO_DEVELOPMENT_MODE "Generate binaries in development mode, only use if you know what you're doing!" OFF)
OPTION(FSO_BUILD_QTFRED "Build qtFRED2 binary" OFF)
IF(WIN32 OR APPLE)
# On windows and mac the default should be to always build the included libraries
SET(FSO_BUILD_INCLUDED_LIBS_DEFAULT ON)
ELSE()
SET(FSO_BUILD_INCLUDED_LIBS_DEFAULT OFF)
ENDIF()
OPTION(FSO_BUILD_INCLUDED_LIBS "Build and use the included libraries istead of using the system headers and libraries" ${FSO_BUILD_INCLUDED_LIBS_DEFAULT})
OPTION(FSO_USE_LUAJIT "Use LuaJIT for Lua scripting, needs a working internet connection!" OFF)
OPTION(FSO_USE_OPENALSOFT "Download and build OpenAL Soft instead of using the system libraries" OFF)
OPTION(FSO_FATAL_WARNINGS "Determines if warnings in the build are considered fatal errors, primarily used for CI" OFF)
SET(FSO_FREESPACE_PATH "${CMAKE_INSTALL_PREFIX}" CACHE FILEPATH "The path of the FreeSpace directory you want to use. Please note that you will have to change CMAKE_INSTALL_PREFIX if you change this at some point.")
SET(FSO_RUN_ARGUMENTS "" CACHE STRING "Additional arguments passed to a generated executable when run with the generated build files.")
option(FSO_INSTALL_DEBUG_FILES "Install some debug files (currently only PDB files on windows)" OFF)
option(ENABLE_COTIRE "Enable cotire for faster compilation. Enabled by default." ON)
option(FSO_RELEASE_LOGGING "Enable logging output for release builds" OFF)
OPTION(FSO_BUILD_WITH_FFMPEG "Enable the usage of FFmpeg for sound and custscenes" ON)
MARK_AS_ADVANCED(FORCE FSO_CMAKE_DEBUG)
MARK_AS_ADVANCED(FORCE FSO_BUILD_INCLUDED_LIBS)
MARK_AS_ADVANCED(FORCE FSO_USE_OPENALSOFT)
MARK_AS_ADVANCED(FORCE FSO_USE_LUAJIT)
MARK_AS_ADVANCED(FORCE FSO_DEVELOPMENT_MODE)
MARK_AS_ADVANCED(FORCE FSO_FATAL_WARNINGS)
mark_as_advanced(FORCE FSO_INSTALL_DEBUG_FILES)
mark_as_advanced(FORCE ENABLE_COTIRE)
mark_as_advanced(FORCE FSO_RELEASE_LOGGING)
mark_as_advanced(FORCE FSO_BUILD_WITH_FFMPEG)
# Include cotire file from https://github.com/sakra/cotire/
include(cotire)
INCLUDE(globals)
INCLUDE(toolchain)
INCLUDE(platforms)
include(version)
INCLUDE(headers)
SET(GENERATED_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated_source)
include(generateHeaders)
if(FSO_BUILD_APPIMAGE)
include(appimage)
endif()
include(clang-tidy)
# This includes source code for some tools, either used in the build or also for something else
ADD_SUBDIRECTORY(tools)
ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(code)
ADD_SUBDIRECTORY(freespace2)
IF(FSO_BUILD_FRED2)
ADD_SUBDIRECTORY(fred2)
ENDIF(FSO_BUILD_FRED2)
IF(FSO_BUILD_QTFRED)
ADD_SUBDIRECTORY(qtfred)
ENDIF()
if(FSO_BUILD_TESTS)
add_subdirectory(test)
endif()
if ("${CMAKE_VERSION}" VERSION_GREATER "3.5")
# Default to using Freespace2 as startup project if CMake supports it.
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Freespace2)
endif()
IF(MSVC_USE_RUNTIME_DLL)
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "${BINARY_DESTINATION}")
IF(FSO_BUILD_FRED2)
SET(CMAKE_INSTALL_MFC_LIBRARIES ON)
ENDIF(FSO_BUILD_FRED2)
INCLUDE(InstallRequiredSystemLibraries)
ENDIF(MSVC_USE_RUNTIME_DLL)
include(package)
include(doxygen)
# Print used options to log
IF (WIN32)
message(STATUS "Using text to speech: ${FSO_USE_SPEECH}")
message(STATUS "Using voice recogition: ${FSO_USE_VOICEREC}")
message(STATUS "Building FRED2: ${FSO_BUILD_FRED2}")
elseif(UNIX)
message(STATUS "Building AppImage: ${FSO_BUILD_APPIMAGE}")
ENDIF()
message(STATUS "Building FSO tools: ${FSO_BUILD_TOOLS}")
message(STATUS "Building qtFRED: ${FSO_BUILD_QTFRED}")
message(STATUS "Fatal warnings: ${FSO_FATAL_WARNINGS}")
message(STATUS "Release logging: ${FSO_RELEASE_LOGGING}")
message(STATUS "With FFmpeg: ${FSO_BUILD_WITH_FFMPEG}")
-14
View File
@@ -1,14 +0,0 @@
Volition Copyright (applies to original FreeSpace2 source code
developed and released by Volition):
"Copyright (C) Volition, Inc. 1999. All rights reserved.
All source code herein is the property of Volition, Inc. You may not
sell or otherwise commercially exploit the source or things you
created based on the source."
Modifications by members of the FreeSpace Source Code Project are
released under whatever terms the individual authors choose, but the
above notice continues to apply to all fs2_open code.
-1888
View File
File diff suppressed because it is too large. Load diff
+1997
View File
File diff suppressed because it is too large. Load diff
+15
View File
@@ -0,0 +1,15 @@
Volition Copyright (applies to original FreeSpace2 source code
developed and released by Volition):
>Copyright (C) Volition, Inc. 1999. All rights reserved.
>
>All source code herein is the property of Volition, Inc. You may not
sell or otherwise commercially exploit the source or things you
created based on the source.
Modifications by members of the FreeSpace Source Code Project are
released under whatever terms the individual authors choose, but the
above notice continues to apply to all fs2_open code.
See [**Licensing**](https://github.com/scp-fs2open/fs2open.github.com/wiki/Licensing) for more information.
Binary file not shown.
-29
View File
@@ -1,29 +0,0 @@
This is still in pretty rough form.
=== for people building fs2_open:
Win32-MSVC:
Use the Freespace2.dsw workspace and build within the IDE.
Win32-MinGW:
make
Linux and other unix variants (NOT YET COMPLETE)
./configure [options]
make
=== for the project maintainers (people who need to
=== keep the makefiles up to date) and those building
=== from CVS:
./autogen.sh (should only has to be done once)
./configure [options]
make
automake v1.6.1+ and
autoconf v2.54+ are required
-67
View File
@@ -1,67 +0,0 @@
# Makefile.am for fs2_open (top level)
#
# This file uses GNU Automake to generate makefiles
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = mongoose code
EXTRA_DIST = \
FS2OpenSCPReadMe.doc \
projects/MSVC_2005/Freespace2.sln \
projects/MSVC_2005/Freespace2.vcproj \
projects/MSVC_2005/code.vcproj \
projects/MSVC_6/Fred2.dsp \
projects/MSVC_6/Freespace2.dsp \
projects/MSVC_6/Freespace2.dsw \
projects/MSVC_6/code.dsp \
projects/MSVC_6/libjpeg.dsp \
projects/MSVC_6/liblua.dsp \
projects/MSVC_6/wxFRED2.dsp \
projects/Xcode/English.lproj/InfoPlist.strings \
projects/Xcode/FS2_Open.icns \
projects/Xcode/FS2_Open.xcodeproj/project.pbxproj \
projects/Xcode/Frameworks.tgz \
projects/Xcode/Info-debug.plist \
projects/Xcode/Info.plist \
projects/Xcode/README.Xcode \
projects/Xcode/SDLMain.h \
projects/Xcode/SDLMain.m
# D_ variants are defaults and should always be used
AM_CXXFLAGS = -I./code @D_CFLAGS@
AM_LDFLAGS = @D_LDFLAGS@
EXTRA_PROGRAMS = cfilearchiver cfileextractor
###############################################################################
##
## Begin utilitites
##
# cfilearchiver -- to create VPs
cfilearchiver_SOURCES = \
code/cfilearchiver/cfilearchiver.cpp
# cfileextractor -- to extract files from VPs
cfileextractor_SOURCES = \
code/cfileextractor/cfileextractor.cpp
# catch all to build utilitites
tools: cfilearchiver cfileextractor
# cleaning
clean-tools:
-test -z "$(EXTRA_PROGRAMS)" || rm -f $(EXTRA_PROGRAMS)
##
## End utilitites
##
###############################################################################
# make sure we get this stuff cleaned up
clean-generic: clean-tools
-11
View File
@@ -1,11 +0,0 @@
The "projects" directory contains ready projects for:
Microsoft Visual C++ 6
Microsoft Visual C++ 2005
Microsoft Visual C++ 2008
Micrsofot Visual C++ 2010
Apple Xcode
Code::Blocks
See the ChangeLog to see what's new.
See the INSTALL file for instructions on how to build fs2_open.
-18
View File
@@ -1,18 +0,0 @@
[![Coverity](https://scan.coverity.com/projects/870/badge.svg)](https://scan.coverity.com/projects/870)
Welcome to Freespace Open!
In 2002 Volition released the source code for Freespace2. In the years since dedicated individuals have added countless new features to create a flexible and powerful space combat simulation engine. More info can be found on our [wiki](http://www.hard-light.net/wiki/index.php/Source_Code_Project)
People interested in contributing are encouraged to read [this thread](http://www.hard-light.net/forums/index.php?topic=82688.0)
The "projects" directory contains ready projects for:
* Microsoft Visual C++ 6, 2005, 2008, 2010, 2011, 2013, 2015
* Apple Xcode
* Code::Blocks
* Eclipse
Review the commit logs to see what's new.
See the INSTALL file for instructions on how to build fs2_open, or open the relevant MSVC project
+11
View File
@@ -0,0 +1,11 @@
FreeSpace2 *S*ource *C*ode *P*roject
==
[![Travis-CI Build Status](https://travis-ci.org/scp-fs2open/fs2open.github.com.svg?branch=master)](https://travis-ci.org/scp-fs2open/fs2open.github.com)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/scp-fs2open/fs2open.github.com?branch=master&svg=true)](https://ci.appveyor.com/project/SirKnightly/fs2open-github-com/branch/master)
[![Coverity](https://img.shields.io/coverity/scan/870.svg)](https://scan.coverity.com/projects/870)
Building
--
Before you do anything, make sure you have updated your git submodules, either by running `git submodule update --init --recursive` or by cloning the repository with the `--recursive` flag.<br/>
The main instructions for building can be found at our github wiki, on the [Building](https://github.com/scp-fs2open/fs2open.github.com/wiki/Building) page.
-166
View File
@@ -1,166 +0,0 @@
**********************************************************************
* INSTALL file for STLport *
* *
**********************************************************************
STLport is a full ANSI C++ Standard library.
This distribution contains STLport sources only, no binaries.
To use STLport iostreams, locale and complex numbers, you have to build STLport
library from sources in "build/lib" directory and link your programs with it.
Starting with 5.0 the 'wrapper' mode is not supported anymore. You cannot use native
compiler iostreams implementation with STLport STL (see doc/FAQ for explanations).
Now you have to choose between STLport iostreams or no iostreams.
==== Unpacking and installing STLport ==========
1) Unpack STLport archive to a directory accessible during compilation.
NOTE: DO NOT overwrite header files coming with the compiler, even if you made
a backup - this won't work! Most probably, you've already unpacked the archive before
reading this file though ;)
2) Make sure "stlport" directory of this distribution comes before compiler's one
in your include paths when you compile the project.
Note: for SunPro CC 5.0 and higher, there used to be special directory "stlport/SC5"
this is now obsolete, please make sure you do not use it anymore.
3) Make sure you do not rename this "stlport" subdirectory -
that may result in compilation errors.
NOTE: Your compiler should be recognized by STLport source code with no configuring.
Please edit appropriate configuration header for your compiler
directly if you have to make compiler-specific configuration changes
(see stlport/stl/config).
4) Run:
configure --help
Depending on your environment, Windows command shell or Unix like shell,
configure.bat or configure script will be run respectively. For Windows users
running configure script is mandatory in order to declare the compiler you are
going to use.
5) Go to "build/lib" subdirectory. It contains various makefiles for different
compilers and 'make' utilities (GNU Make and Microsoft's nmake supported).
Verify you can do command line compiles. IDE users may have to do something
special, like add environment variables (for Microsoft) or install
additional compiler components (for Metrowerks), before they can use their
command line compilers (see doc/README.xxxx for additionnal information).
configure script should have already created a Makefile file so that you only
have to call 'make' or 'nmake' (for some platforms GNU make might be hidden
behind 'gmake').
IMPORTANT:
If you DO NOT plan to use STLport iostreams and/or locale implementation but just
the STL, you do not have to build the library.
If you have decided to disable STLport iostreams and locale using _STLP_NO_IOSTREAMS
configuration macro in stlport/stl/config/user_config.h, you may stop reading here.
==== Building STLport iostreams library ==========
Below are step-by-step instructions to build STLport streams library. This is a general
build process description, for a more detailed one check README files in the doc folder:
5) Using appropriate make command (make or nmake), do
make clean install
to build the STLport libraries. Make files are set up to build several different
flavors - debug/nondebug, static/dynamic versions. But not all flavors will be build
by default. See build/lib/README for other make targets.
Note: 'install' target work slightly different than usual - it installs libraries into
<STLport root dir>/lib and bin catalogs, NOT IN SYSTEM CATALOG. You can do the system
install by just copying stlport and lib folder to the destination of your choise. For
example on UNIX-like platforms this can be done with the following commands:
su
tar cf - stlport | (cd /usr/local/include; tar xf -)
chmod -R a+r /usr/local/include/stlport
chown -R root:root /usr/local/include/stlport
(cd lib; tar cf - --exclude=CVS --exclude=.cvsignore .) | (cd /usr/local/lib; tar xf -)
chown -R root:root /usr/local/lib/libstlport*
exit
Note: System install is optional, most of compilers/linkers support searching for includes
and libs throught out the whole filesystem, just check your documentation on how to achieve
this.
If you use cross-compiler, you can find libraries in the <STLport root dir>/lib/<target platform>
catalog.
6) If build fails, you may choose to :
- try fixing the build ;)
- wait until somebody else will submit corresponding changes to be incorporated in next STLport
release/snapshot.
In case you do patch STLport, please submit your patches to
https://sourceforge.net/tracker/?atid=766246&group_id=146814&func=browse
==== Linking your application with STLport library ==========
7) Check the build:
Example:
- under Linux and other Unixes:
cd build/test/unit
make install
../../../bin/stl_unit_test
../../../bin-g/stl_unit_test
- under Windows:
cd build\test\unit
nmake install
cd ..\..\..\bin
stl_unit_test
stl_unit_testd
stl_unit_teststld
8) Supply the "lib" subdirectory to the library search path and add desired
library to the list of libraries to link with.
Examples (imagine you have mytest.cpp in the same directory as this file is):
With GCC : g++ -pthread -I./stlport mytest.cpp -L./lib/ -lstlport
With DEC CC : cxx -I./stlport mytest.cpp -L./lib/ -lstlport
With SUN CC : CC -mt -I./stlport mytest.cpp -L./lib/ -lstlport
.....
For several compilers supporting auto linking feature (VC++, Borland, DMC),
you do not have to specify "stlport.M.m.lib" explicitly, as it is being choosen
and forced to link automatically by "#pragma"'s in compiler config files
Appropriate version is being selected based on compiler options and _STLP_DEBUG
setting. All you have to do is to set library search path for the linker.
Example :
cl.exe /I.\stlport mytest.cpp /link /libpath:.\lib /MD
9) If you linked your application with shared STLport library (.so or .dll), please
make suze that your .so or .dll can be found by the dynamic linker.
Under Windows, the paths searched depend on the particular flavor, see the MSDN
documentation for LoadLibrary at http://msdn.microsoft.com. The easiest ways are to
either modify the PATH environment variable or copy all .dll's next to the
executable like it is done per default when unit tests executable are put next
to dlls.
Under Linux, the environment variable LD_LIBRARY_PATH can be adjusted to point
to the dir containing .so. See the manpage for ld.so for more info.
10) STLport builds only multithreaded libraries, so your application should be compiled
as multithreaded, too. Use -pthread (or -pthreads on Solaris) option for GCC, -mt for SunPro,
/MT for VC, and so on. Sometimes you should define _REENTRANT or something else, depends
upon platform/compiler. See compiler's and linker's options on command line when you build
unit tests (build/test/unit) for reference. The last is useful for ANY platform.
11) Don't hesitate to read READMEs (doc/README*, build/lib/README*, build/test/unit/README*)
and doc/FAQ.
12) Have fun!
-120
View File
@@ -1,120 +0,0 @@
**********************************************************************
* INSTALL file for STLport 5.2 *
* *
**********************************************************************
STLport is a full ANSI C++ Standard library.
This distribution contains STLport sources only, no binaries.
To use STLport iostreams, locale and complex numbers, you have
to build STLport library from sources and link your programs with it.
Starting with 5.0 the 'wrapper' mode is not supported anymore.
You cannot use native compiler iostreams implementation with STLport STL
(see doc/FAQ for explanations).
==== Installing STLport ==========
0) DO NOT overwrite/move/rename header files coming with the compiler,
even if you made a backup---STLport need this headers and don't
override ones.
1) Run
./configure --help
read options description; if you use compiler
different from gcc, pay attention to --use-compiler-family= option.
2) Run
./configure <option>
Options here more-or-less traditional.
Note: ./configure give hints only for library build, it dosen't
create/edit any headers, check you system etc. This is simple way
to store custom options, not more. If you want to change default
behaviour of STLport, see stlport/stl/config/user_config.h and
stlport/stl/config/host.h; read the comments in this files!
Not all combinations of options healthy, you should understand
what you do. If not, keep all unchanged.
Note: you can find all recognised 'settings' in the file
build/Makefiles/gmake/config.mak
This is generated file, but only ./configure will rewrite one.
3) Run
make && make check
Only GNU Make supported! Preferred verion of GNU Make >= 3.81;
never use GNU Make before 3.79 --- build not work properly;
GNU makes >= 3.79 and < 3.81 may fail to build library/tests
properly, due to bugs; but the real results depends upon
platform.
4) If build fine, become superuser and run
make install
Note: you can use --prefix= to change installation path
(or macro DESTDIR, as usual), or even skip installation and use
STLport in-place.
==== Usage STLport ==========
1) The best way to understand how to use it, is to see on compilation,
linking, running unit tests, i.e. see on options when you do
(cd build/test/unit; make check)
2) Make sure "stlport" directory of this distribution comes before
compiler's one in your include paths (something like
-I<base install path>/stlport); never rename 'stlport' part of path!
Compilation:
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -c -o test.o test.cc
In case of gcc, libstlport replace libstdc++ (not in all cases!)
Link, variant 1:
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -nostdlib -o mytest \
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crt1.o \
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crti.o \
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtbegin.o \
test.o \
-lstlport \
-lgcc_s -lpthread -lc -lm \
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtend.o \
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crtn.o
Of cause, names of start/stop files not hardcoded, you can locate it with
c++ -print-file-name=crt1.o
Link, variant 2:
gcc -pthread -fexceptions -O2 -I/usr/local/include/stlport -o mytest \
test.o -lstlport
If you use gcc before 3.3, you must link with libstdc++, because
language-support library (libsupc++.a) don't contain necessary
functions.
3) STLport builds only multithreaded libraries (by default), so your
application should be compiled as multithreaded, too. Use -pthread
(or -pthreads on Solaris) option for GCC, -mt for SunPro and so on.
Sometimes you should define _REENTRANT or something else, depends
upon platform/compiler. See compiler's and linker's options
on command line when you build unit tests (build/test/unit)
for reference. The last is useful for ANY platform (special
attention for Windows users).
4) Don't hesitate to read READMEs (doc/README*, build/lib/README*,
build/test/unit/README*) and doc/FAQ.
5) Have fun!
-26
View File
@@ -1,26 +0,0 @@
# Time-stamp: <08/06/12 14:28:42 ptr>
#
# Copyright (c) 2004-2008
# Petr Ovtchenkov
#
# Licensed under the Academic Free License version 3.0
#
SRCROOT := build
SUBDIRS := build/lib
include ${SRCROOT}/Makefiles/gmake/subdirs.mak
all install depend clean clobber distclean check::
+$(call doinsubdirs,${SUBDIRS})
distclean clean depend clobber::
+$(call doinsubdirs,build/test/unit)
release-shared install-release-shared:
+$(call doinsubdirs,${SUBDIRS})
install::
${MAKE} -C build/lib install-headers
.PHONY: all install depend clean clobber distclean check release-shared install-release-shared
-64
View File
@@ -1,64 +0,0 @@
**********************************************************************
* README file for STLport 5.0 *
* *
**********************************************************************
This directory contains the STLport-5.0 release.
What's inside :
README - this file
INSTALL - installation instructions
bin - installation directory for STLport unit tests;
it may contain more subdirs, if you use
crosscompilation
build/lib - build directory for STLport library (if you use
STLport iostreams and/or locale only)
build/test/unit - build directory for regression (unit) tests
build/test/eh - build directory for exception handling tests
stlport - main STLport include directory
src - source for iostreams implementation and other parts
that aren't pure template code
lib - installation directory for STLport library (if you
use STLport iostreams and/or locale only);
it may contain more subdirs, if you use
crosscompilation
test/unit - unit (regression) tests
test/eh - exception handling test using STLport iostreams
etc - miscellanous files (ChangeLog, TODO, scripts, etc.)
GETTING STLPORT
To download the latest version of STLport, please be sure to visit
https://sourceforge.net/project/showfiles.php?group_id=146814
LEGALESE
This software is being distributed under the following terms:
*
*
* Copyright (c) 1994
* Hewlett-Packard Company
*
* Copyright (c) 1996-1999
* Silicon Graphics Computer Systems, Inc.
*
* Copyright (c) 1997
* Moscow Center for SPARC Technology
*
* Copyright (c) 1999-2003
* Boris Fomitchev
*
* This material is provided "as is", with absolutely no warranty expressed
* or implied. Any use is at your own risk.
*
* Permission to use or copy this software for any purpose is hereby granted
* without fee, provided the above notices are retained on all copies.
* Permission to modify the code and to distribute modified code is granted,
* provided the above notices are retained, and a notice that the code was
* modified is included with the above copyright notice.
*
**********************************************************************
@@ -1,77 +0,0 @@
# Time-stamp: <08/01/12 00:50:38 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
INCLUDES :=
ifndef _FORCE_CXX
CXX := CC
else
CXX := ${_FORCE_CXX}
endif
ifndef _FORCE_CC
CC := cc
else
CC := ${_FORCE_CC}
endif
CXX_VERSION := $(shell ${CXX} -V 2>&1 | grep ${CXX} | awk '{ print $$4; }')
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$1; }')
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
CXX_VERSION_PATCH := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { if (NF > 2) {print $$3;}else{print "0"} }')
DEFS ?=
OPT ?=
OUTPUT_OPTION = -o $@
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
CPPFLAGS = $(DEFS) $(INCLUDES)
OPT += -mt +w2
CCFLAGS = -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7-xildoff $(OPT)
CFLAGS = $(OPT)
CXXFLAGS = -erroff=doubunder -qoption ccfe -expand=1000 -library=no%Cstd,no%iostream,no%rwtools7 -xildoff $(OPT)
CDEPFLAGS = -xM
CCDEPFLAGS = -xM
# STLport DEBUG mode specific defines
stldbg-static : DEFS += -D_STLP_DEBUG
stldbg-shared : DEFS += -D_STLP_DEBUG
stldbg-static-dep : DEFS += -D_STLP_DEBUG
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
# optimization and debug compiler flags
release-static : OPT += -xO2
release-shared : OPT += -xO2
dbg-static : OPT += -g
dbg-shared : OPT += -g
#dbg-static-dep : OPT += -g
#dbg-shared-dep : OPT += -g
stldbg-static : OPT += -g
stldbg-shared : OPT += -g
#stldbg-static-dep : OPT += -g
#stldbg-shared-dep : OPT += -g
# dependency output parser (dependencies collector)
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
@@ -1,79 +0,0 @@
# Time-stamp: <08/01/12 00:51:07 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifndef _FORCE_CXX
CXX := aCC
else
CXX := ${_FORCE_CXX}
endif
ifndef _FORCE_CC
CC := aCC
else
CC := ${_FORCE_CC}
endif
CXX_VERSION := $(shell ${CXX} --version 2>&1 | grep ${CXX} | awk '{ print $$6; }')
ifeq ($(CXX_VERSION),)
CXX_VERSION := $(shell ${CXX} --version)
endif
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$3; }')
DEFS ?=
OPT ?=
ifndef WITHOUT_THREAD
DEFS += -D_REENTRANT
endif
OUTPUT_OPTION = -o $@
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
CPPFLAGS = $(DEFS) $(INCLUDES)
CFLAGS = -Aa +z $(OPT)
CXXFLAGS = -Aa +z -mt $(OPT)
CDEPFLAGS = -E +Md
CCDEPFLAGS = -E +Md
# STLport DEBUG mode specific defines
stldbg-static : DEFS += -D_STLP_DEBUG
stldbg-shared : DEFS += -D_STLP_DEBUG
stldbg-static-dep : DEFS += -D_STLP_DEBUG
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
# optimization and debug compiler flags
release-static : OPT += +O2
release-shared : OPT += +O2
dbg-static : OPT += -g
dbg-shared : OPT += -g
#dbg-static-dep : OPT += -g
#dbg-shared-dep : OPT += -g
stldbg-static : OPT += -g
stldbg-shared : OPT += -g
#stldbg-static-dep : OPT += -g
#stldbg-shared-dep : OPT += -g
OPT += +W495,749,2186,2191,2340,2430,2550
# dependency output parser (dependencies collector)
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
@@ -1,10 +0,0 @@
# -*- Makefile -*- Time-stamp: <07/03/08 21:53:08 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
@@ -1,10 +0,0 @@
# -*- Makefile -*- Time-stamp: <07/03/08 21:55:22 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
@@ -1,98 +0,0 @@
# -*- Makefile -*- Time-stamp: <07/05/31 01:05:40 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifneq ($(OSNAME),linux)
OPT += -tWC -w-par
LDFLAGS += -Tpe -w -w-dup
START_OBJ = c0x32.obj
LDFLAGS += -L$(subst /,\\,$(STLPORT_DIR)/lib)
ifdef WITH_DYNAMIC_RTL
release-static: DEFS += -D_STLP_USE_STATIC_LIB
dbg-static: DEFS += -D_STLP_USE_STATIC_LIB
stldbg-static: DEFS += -D_STLP_USE_STATIC_LIB
endif
ifdef WITH_STATIC_RTL
release-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
dbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
stldbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
endif
else
OPT += -tC
LDFLAGS += -ap
START_OBJ = borinit.o crt1.o
endif
ifdef USE_BCC_DBG_OPTS
# optimization and debug compiler flags
dbg-static : OPT += -R -v -y
dbg-shared : OPT += -R -v -y
stldbg-static : OPT += -R -v -y
stldbg-shared : OPT += -R -v -y
dbg-shared : LDFLAGS += -v
dbg-static : LDFLAGS += -v
stldbg-shared : LDFLAGS += -v
stldbg-static : LDFLAGS += -v
install-dbg-shared: install-dbg-shared-tds
install-stldbg-shared: install-stldbg-shared-tds
install-dbg-static: install-dbg-static-tds
install-stldbg-static: install-stldbg-static-tds
install-dbg-shared-tds:
$(INSTALL_EXE) $(OUTPUT_DIR_DBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_DBG)/${PRGNAME}.tds
install-stldbg-shared-tds:
$(INSTALL_EXE) $(OUTPUT_DIR_STLDBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_STLDBG)/${PRGNAME}.tds
install-dbg-static-tds:
$(INSTALL_EXE) $(OUTPUT_DIR_DBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_DBG)/${PRGNAME}.tds
install-stldbg-static-tds:
$(INSTALL_EXE) $(OUTPUT_DIR_STLDBG)/${PRGNAME}.tds $(INSTALL_BIN_DIR_STLDBG)/${PRGNAME}.tds
else
dbg-shared : OPT += -vi-
dbg-static : OPT += -vi-
stldbg-shared : OPT += -vi-
stldbg-static : OPT += -vi-
endif
PRG_FILES := ${PRGNAME}${EXE} ${PRGNAME}.tds ${PRGNAME}.map
TMP_FILES := test.txt test_file.txt win32_file_format.tmp
clean::
$(foreach d, $(OUTPUT_DIRS), $(foreach f, $(PRG_FILES), @rm -f $(d)/$(f)))
uninstall::
$(foreach d, $(INSTALL_DIRS), $(foreach f, $(PRG_FILES), @rm -f $(d)/$(f)))
$(foreach d, $(INSTALL_DIRS), $(foreach f, $(TMP_FILES), @rm -f $(d)/$(f)))
$(foreach d, $(INSTALL_DIRS), @-rmdir -p $(d) 2>/dev/null)
@@ -1,67 +0,0 @@
# -*- Makefile -*- Time-stamp: <07/05/31 01:05:57 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
CXXFLAGS += -w6 -w7 -w18
stldbg-shared : CXXFLAGS += -HP50
stldbg-static : CXXFLAGS += -HP50
OPT += -WA
release-shared : LDFLAGS += /DELEXECUTABLE
release-static : LDFLAGS += /DELEXECUTABLE
dbg-shared : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
dbg-static : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
stldbg-shared : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
stldbg-static : LDFLAGS += /DELEXECUTABLE/CODEVIEW/NOCVPACK
# workaround for stl/config/_auto_link.h
STL_LIBNAME = stlport
DBG_SUFFIX := d
STLDBG_SUFFIX := stld
ifdef LIB_MOTIF
LIB_SUFFIX := _$(LIB_MOTIF).${LIBMAJOR}.${LIBMINOR}
else
LIB_SUFFIX := .${LIBMAJOR}.${LIBMINOR}
endif
# Shared libraries:
ifdef WITH_STATIC_RTL
LIB_TYPE := _x
else
LIB_TYPE :=
endif
LIB_NAME := $(LIB_PREFIX)${STL_LIBNAME}${LIB_TYPE}${LIB_SUFFIX}.$(LIB)
LIB_NAME_DBG := $(LIB_PREFIX)${STL_LIBNAME}${DBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}.$(LIB)
LIB_NAME_STLDBG := $(LIB_PREFIX)${STL_LIBNAME}${STLDBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}.$(LIB)
# Static libraries:
ifdef WITH_DYNAMIC_RTL
A_LIB_TYPE := _statix
else
A_LIB_TYPE := _static
endif
A_NAME := $(LIB_PREFIX)${STL_LIBNAME}${A_LIB_TYPE}${LIB_SUFFIX}.$(ARCH)
A_NAME_DBG := $(LIB_PREFIX)${STL_LIBNAME}${DBG_SUFFIX}${A_LIB_TYPE}${LIB_SUFFIX}.${ARCH}
A_NAME_STLDBG := ${LIB_PREFIX}${STL_LIBNAME}${STLDBG_SUFFIX}${A_LIB_TYPE}${LIB_SUFFIX}.${ARCH}
release-shared : LDLIBS += $(STLPORT_DIR)/lib/$(LIB_NAME)
dbg-shared : LDLIBS += $(STLPORT_DIR)/lib/$(LIB_NAME_DBG)
stldbg-shared : LDLIBS += $(STLPORT_DIR)/lib/$(LIB_NAME_STLDBG)
release-static : LDLIBS += $(STLPORT_DIR)/lib/$(A_NAME)
dbg-static : LDLIBS += $(STLPORT_DIR)/lib/$(A_NAME_DBG)
stldbg-static : LDLIBS += $(STLPORT_DIR)/lib/$(A_NAME_STLDBG)
@@ -1,230 +0,0 @@
# -*- Makefile -*- Time-stamp: <08/06/12 16:03:31 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifndef NOT_USE_NOSTDLIB
ifeq ($(CXX_VERSION_MAJOR),2)
# i.e. gcc before 3.x.x: 2.95, etc.
# gcc before 3.x don't had libsupc++.a and libgcc_s.so
# exceptions and operators new are in libgcc.a
# Unfortunatly gcc before 3.x has a buggy C++ language support outside stdc++, so definition of STDLIB below is commented
NOT_USE_NOSTDLIB := 1
#STDLIBS := $(shell ${CXX} -print-file-name=libgcc.a) -lpthread -lc -lm
endif
ifeq ($(CXX_VERSION_MAJOR),3)
# gcc before 3.3 (i.e. 3.0.x, 3.1.x, 3.2.x) has buggy libsupc++, so we should link with libstdc++ to avoid one
ifeq ($(CXX_VERSION_MINOR),0)
NOT_USE_NOSTDLIB := 1
endif
ifeq ($(CXX_VERSION_MINOR),1)
NOT_USE_NOSTDLIB := 1
endif
ifeq ($(CXX_VERSION_MINOR),2)
NOT_USE_NOSTDLIB := 1
endif
endif
endif
ifndef NOT_USE_NOSTDLIB
ifeq ($(OSNAME),linux)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),openbsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),freebsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),netbsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),sunos)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),darwin)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),cygming)
_USE_NOSTDLIB := 1
endif
endif
ifndef WITHOUT_STLPORT
ifeq (${STLPORT_LIB_DIR},)
ifneq ($(OSNAME),cygming)
release-shared: STLPORT_LIB = -lstlport
release-static: STLPORT_LIB = -Wl,-Bstatic -lstlport -Wl,-Bdynamic
dbg-shared: STLPORT_LIB = -lstlportg
dbg-static: STLPORT_LIB = -Wl,-Bstatic -lstlportg -Wl,-Bdynamic
stldbg-shared: STLPORT_LIB = -lstlportstlg
stldbg-static: STLPORT_LIB = -Wl,-Bstatic -lstlportstlg -Wl,-Bdynamic
else
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
release-shared : STLPORT_LIB = -lstlport.${LIB_VERSION}
dbg-shared : STLPORT_LIB = -lstlportg.${LIB_VERSION}
stldbg-shared : STLPORT_LIB = -lstlportstlg.${LIB_VERSION}
endif
else
# STLPORT_LIB_DIR not empty
ifneq ($(OSNAME),cygming)
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport
release-static: STLPORT_LIB = -L${STLPORT_LIB_DIR} -Wl,-Bstatic -lstlport -Wl,-Bdynamic
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg
dbg-static: STLPORT_LIB = -L${STLPORT_LIB_DIR} -Wl,-Bstatic -lstlportg -Wl,-Bdynamic
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg
stldbg-static: STLPORT_LIB = -L${STLPORT_LIB_DIR} -Wl,-Bstatic -lstlportstlg -Wl,-Bdynamic
else
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
release-shared : STLPORT_LIB = -L${BASE_INSTALL_DIR}/lib -lstlport.${LIB_VERSION}
dbg-shared : STLPORT_LIB = -L${BASE_INSTALL_DIR}/lib -lstlportg.${LIB_VERSION}
stldbg-shared : STLPORT_LIB = -L${BASE_INSTALL_DIR}/lib -lstlportstlg.${LIB_VERSION}
endif
endif
endif
ifdef _USE_NOSTDLIB
# Check whether gcc builded with --disable-shared
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_eh.a),libgcc_eh.a)
# gcc builded with --disable-shared, (no library libgcc_eh.a); all exception support in libgcc.a
_LGCC_EH :=
_LGCC_S := -lgcc
else
# gcc builded with --enable-shared (default)
ifdef USE_STATIC_LIBGCC
# if force usage of static libgcc, then exceptions support should be taken from libgcc_eh
_LGCC_EH := -lgcc_eh
_LGCC_S := -lgcc
else
# otherwise, exceptions support is in libgcc_s.so
_LGCC_EH :=
ifneq ($(OSNAME),darwin)
_LGCC_S := -lgcc_s
else
ifdef GCC_APPLE_CC
ifeq ($(MACOSX_TEN_FIVE),true)
_LGCC_S := -lgcc_s.10.5
else
_LGCC_S := -lgcc_s.10.4
endif
else
_LGCC_S := -lgcc_s
# end of GCC_APPLE_CC
endif
# end of Darwin
endif
# end of !USE_STATIC_LIBGCC
endif
# end of present libgcc_eh.a
endif
# ifeq ($(CXX_VERSION_MAJOR),3)
ifeq ($(OSNAME),linux)
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),openbsd)
START_OBJ := $(shell for o in crt0.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtend.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),freebsd)
# FreeBSD < 5.3 should use -lc_r, while FreeBSD >= 5.3 use -lpthread
PTHR := $(shell if [ ${OSREL_MAJOR} -gt 5 ] ; then echo "pthread" ; else if [ ${OSREL_MAJOR} -lt 5 ] ; then echo "c_r" ; else if [ ${OSREL_MINOR} -lt 3 ] ; then echo "c_r" ; else echo "pthread"; fi ; fi ; fi)
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -l${PTHR} -lc -lm
endif
ifeq ($(OSNAME),netbsd)
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),sunos)
START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),darwin)
# sometimes crt3.o will required: it has __cxa_at_exit, but the same defined in libc.dyn
# at least in Mac OS X 10.4.10 (8R2218)
ifeq ($(CXX_VERSION_MAJOR),3)
# i.e. gcc 3.3
START_OBJ := $(shell for o in crt1.o crt2.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
else
START_OBJ := -lcrt1.o
endif
END_OBJ :=
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm -lsupc++ ${_LGCC_EH}
#LDFLAGS += -dynamic
endif
ifeq ($(OSNAME),cygming)
LDFLAGS += -nodefaultlibs
ifndef USE_STATIC_LIBGCC
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_s.a),libgcc_s.a)
_LGCC_S := -lgcc
else
_LGCC_S := -lgcc_s
endif
else
_LGCC_S := -lgcc
endif
ifeq ($(OSREALNAME),mingw)
STDLIBS = ${STLPORT_LIB} -lsupc++ ${_LGCC_S} -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname -lcoldname -lkernel32
else
LDFLAGS += -Wl,-enable-auto-import
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname -lcoldname -lkernel32
else
STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lm -lc -lpthread -lkernel32
endif
endif
else
LDFLAGS += -nostdlib
endif
# endif
# _USE_NOSTDLIB
else
ifndef USE_STATIC_LIBGCC
release-shared : LDFLAGS += -shared-libgcc
dbg-shared : LDFLAGS += -shared-libgcc
stldbg-shared : LDFLAGS += -shared-libgcc
endif
ifndef WITHOUT_STLPORT
STDLIBS = ${STLPORT_LIB}
else
STDLIBS =
endif
endif
# workaround for gcc 2.95.x bug:
ifeq ($(CXX_VERSION_MAJOR),2)
ifneq ($(OSNAME),cygming)
OPT += -fPIC
endif
endif
@@ -1,10 +0,0 @@
# -*- Makefile -*- Time-stamp: <07/03/08 21:55:41 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
@@ -1,66 +0,0 @@
# -*- makefile -*- Time-stamp: <06/12/12 09:37:04 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifndef WITHOUT_STLPORT
install: install-release-shared install-dbg-shared install-stldbg-shared
else
install: install-release-shared install-dbg-shared
endif
INSTALL_PRGNAME_CMD =
INSTALL_PRGNAME_CMD_DBG =
INSTALL_PRGNAME_CMD_STLDBG =
define prog_install
INSTALL_$(1)_PRGNAME := $(1)${EXE}
INSTALL_PRGNAME_CMD += $$(INSTALL_EXE) $${$(1)_PRG} $$(INSTALL_BIN_DIR)/$${INSTALL_$(1)_PRGNAME}; \
INSTALL_$(1)_PRGNAME_DBG := $${INSTALL_$(1)_PRGNAME}
INSTALL_PRGNAME_CMD_DBG += $$(INSTALL_EXE) $${$(1)_PRG_DBG} $$(INSTALL_BIN_DIR_DBG)/$${INSTALL_$(1)_PRGNAME_DBG}; \
ifndef WITHOUT_STLPORT
INSTALL_$(1)_PRGNAME_STLDBG := $${INSTALL_$(1)_PRGNAME}
INSTALL_PRGNAME_CMD_STLDBG += $$(INSTALL_EXE) $${$(1)_PRG_STLDBG} $$(INSTALL_BIN_DIR_STLDBG)/$${INSTALL_$(1)_PRGNAME_STLDBG}; \
endif
endef
INSTALL_PRGNAME := ${PRGNAME}${EXE}
$(foreach prg,$(PRGNAMES),$(eval $(call prog_install,$(prg))))
INSTALL_PRGNAME_DBG := ${INSTALL_PRGNAME}
ifndef WITHOUT_STLPORT
INSTALL_PRGNAME_STLDBG := ${INSTALL_PRGNAME}
endif
install-release-shared: release-shared $(INSTALL_BIN_DIR)
ifdef PRGNAME
$(INSTALL_EXE) ${PRG} $(INSTALL_BIN_DIR)/${INSTALL_PRGNAME}
endif
$(INSTALL_PRGNAME_CMD)
$(POST_INSTALL)
install-dbg-shared: dbg-shared $(INSTALL_BIN_DIR_DBG)
ifdef PRGNAME
$(INSTALL_EXE) ${PRG_DBG} $(INSTALL_BIN_DIR_DBG)/${INSTALL_PRGNAME_DBG}
endif
$(INSTALL_PRGNAME_CMD_DBG)
$(POST_INSTALL_DBG)
ifndef WITHOUT_STLPORT
install-stldbg-shared: stldbg-shared $(INSTALL_BIN_DIR_STLDBG)
ifdef PRGNAME
$(INSTALL_EXE) ${PRG_STLDBG} $(INSTALL_BIN_DIR_STLDBG)/${INSTALL_PRGNAME_STLDBG}
endif
$(INSTALL_PRGNAME_CMD_STLDBG)
$(POST_INSTALL_STLDBG)
endif
@@ -1,92 +0,0 @@
# -*- makefile -*- Time-stamp: <06/11/17 10:34:26 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
dbg-shared: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} ${ALLPRGS_DBG} $(EXTRA_POST_DBG)
dbg-static: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${PRG_DBG} ${ALLPRGS_DBG} $(EXTRA_POST_DBG)
release-shared: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} ${ALLPRGS} $(EXTRA_POST)
release-static: $(EXTRA_PRE) $(OUTPUT_DIR) ${PRG} ${ALLPRGS} $(EXTRA_POST)
ifndef WITHOUT_STLPORT
stldbg-shared: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} ${ALLPRGS_STLDBG} $(EXTRA_POST_STLDBG)
stldbg-static: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${PRG_STLDBG} ${ALLPRGS_STLDBG} $(EXTRA_POST_STLDBG)
endif
ifeq ("$(findstring $(COMPILER_NAME),bcc dmc)","")
define cpplnk_str
$(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(1) $(LDLIBS) ${STDLIBS} ${END_OBJ}
endef
else
ifneq ($(OSNAME),linux)
define cpplnk_str
$(LINK.cc) $(subst /,\\,${START_OBJ} $(1) ${END_OBJ}, $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS) ${STDLIBS},,)
endef
else
define cpplnk_str
$(LINK.cc) ${START_OBJ} $(1) ${END_OBJ}, $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS) ${STDLIBS},,
endef
endif
endif
define prog_lnk
ifeq ($${_$(1)_C_SOURCES_ONLY},)
$${$(1)_PRG}: $$($(1)_OBJ) $$(LIBSDEP)
$$(call cpplnk_str,$$($(1)_OBJ))
$${$(1)_PRG_DBG}: $$($(1)_OBJ_DBG) $$(LIBSDEP)
$$(call cpplnk_str,$$($(1)_OBJ_DBG))
ifndef WITHOUT_STLPORT
$${$(1)_PRG_STLDBG}: $$($(1)_OBJ_STLDBG) $$(LIBSDEP)
$$(call cpplnk_str,$$($(1)_OBJ_STLDBG))
endif
else
$${$(1)_PRG}: $$($(1)_OBJ) $$(LIBSDEP)
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ) $$(LDLIBS)
$${$(1)_PRG_DBG}: $$(OBJ_DBG) $$(LIBSDEP)
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ_DBG) $$(LDLIBS)
ifndef WITHOUT_STLPORT
$${$(1)_PRG_STLDBG}: $$($(1)_OBJ_STLDBG) $$(LIBSDEP)
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$($(1)_OBJ_STLDBG) $$(LDLIBS)
endif
endif
endef
$(foreach prg,$(PRGNAMES),$(eval $(call prog_lnk,$(prg))))
ifeq ("${_C_SOURCES_ONLY}","")
${PRG}: $(OBJ) $(LIBSDEP)
$(call cpplnk_str,$(OBJ))
${PRG_DBG}: $(OBJ_DBG) $(LIBSDEP)
$(call cpplnk_str,$(OBJ_DBG))
ifndef WITHOUT_STLPORT
${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP)
$(call cpplnk_str,$(OBJ_STLDBG))
endif
else
${PRG}: $(OBJ) $(LIBSDEP)
$(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS)
${PRG_DBG}: $(OBJ_DBG) $(LIBSDEP)
$(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(LDLIBS)
ifndef WITHOUT_STLPORT
${PRG_STLDBG}: $(OBJ_STLDBG) $(LIBSDEP)
$(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS)
endif
endif
@@ -1,61 +0,0 @@
# -*- makefile -*- Time-stamp: <08/06/12 15:54:12 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifdef PRGNAME
PRG := $(OUTPUT_DIR)/${PRGNAME}${EXE}
PRG_DBG := $(OUTPUT_DIR_DBG)/${PRGNAME}${EXE}
PRG_STLDBG := $(OUTPUT_DIR_STLDBG)/${PRGNAME}${EXE}
endif
ALLPRGS = ${PRG}
ALLPRGS_DBG = ${PRG_DBG}
ALLPRGS_STLDBG = ${PRG_STLDBG}
define prog_prog
$(1)_PRG := $(OUTPUT_DIR)/$(1)${EXE}
$(1)_PRG_DBG := $(OUTPUT_DIR_DBG)/$(1)${EXE}
$(1)_PRG_STLDBG := $(OUTPUT_DIR_STLDBG)/$(1)${EXE}
ALLPRGS += $${$(1)_PRG}
ALLPRGS_DBG += $${$(1)_PRG_DBG}
ALLPRGS_STLDBG += $${$(1)_PRG_STLDBG}
endef
$(foreach prg,$(PRGNAMES),$(eval $(call prog_prog,$(prg))))
include ${RULESBASE}/gmake/app/${COMPILER_NAME}.mak
include ${RULESBASE}/gmake/app/rules.mak
include ${RULESBASE}/gmake/app/rules-install.mak
define prog_clean
clean::
@rm -f $${$(1)_PRG} $${$(1)_PRG_DBG} $${$(1)_PRG_STLDBG}
uninstall::
@rm -f $$(INSTALL_BIN_DIR)/$$($(1)_PRG) $$(INSTALL_BIN_DIR_DBG)/$$($(1)_PRG_DBG) $$(INSTALL_BIN_DIR_STLDBG)/$$($(1)_PRG_STLDBG)
endef
clean::
ifdef PRGNAME
@-rm -f ${PRG} ${PRG_DBG} ${PRG_STLDBG}
endif
$(foreach prg,$(PRGNAMES),$(eval $(call prog_clean,$(prg))))
distclean::
@-rm -f $(DEPENDS_COLLECTION)
@-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null
uninstall::
ifdef PRGNAME
@-rm -f $(INSTALL_BIN_DIR)/${PRGNAME}${EXE} $(INSTALL_BIN_DIR_DBG)/${PRGNAME}${EXE} $(INSTALL_BIN_DIR_STLDBG)/${PRGNAME}${EXE}
endif
@-rmdir -p $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG) $(INSTALL_BIN_DIR_STLDBG) 2>/dev/null
-258
View File
@@ -1,258 +0,0 @@
# Time-stamp: <07/05/31 01:03:15 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ALL_TAGS = all-static all-shared
ifdef LIBNAME
INSTALL_TAGS = install-static install-shared
else
INSTALL_TAGS = install-shared
endif
ifneq ($(OSNAME),linux)
# For Borland Cygwin/MSys are only build environment, they do not represent
# the targetted OS so per default we keep all generated files in STLport
# folder.
BASE_INSTALL_DIR ?= ${STLPORT_DIR}
CXX := bcc32
CC := bcc32
RC := brcc32
DEFS ?=
OPT ?=
CFLAGS = -q -ff
CXXFLAGS = -q -ff
OPT += -w-ccc -w-rch -w-ngu -w-inl -w-eff
# release-shared : OPT += -w-inl
ifdef WITH_DYNAMIC_RTL
release-static : OPT += -tWR
dbg-static : OPT += -tWR
stldbg-static : OPT += -tWR
endif
ifndef WITH_STATIC_RTL
release-shared : OPT += -tWR
dbg-shared : OPT += -tWR
stldbg-shared : OPT += -tWR
endif
ifdef WITHOUT_RTTI
OPT += -RT-
endif
ifndef WITHOUT_THREAD
OPT += -tWM
endif
WINVER ?= 0x0501
DEFS += -DWINVER=$(WINVER)
OUTPUT_OPTION = -o$@
LINK_OUTPUT_OPTION = $@
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
CDEPFLAGS = -E -M
CCDEPFLAGS = -E -M
RCFLAGS = -32 -r -i${STLPORT_INCLUDE_DIR} -dCOMP=bcc
release-shared : RCFLAGS += -dBUILD_INFOS="-O2 -vi-"
dbg-shared : RCFLAGS += -dBUILD=d -dBUILD_INFOS="-R -v -y -D_DEBUG"
stldbg-shared : RCFLAGS += -dBUILD=stld -dBUILD_INFOS="-R -v -y -D_DEBUG -D_STLP_DEBUG"
RC_OUTPUT_OPTION = -fo$@
COMPILE.rc = ${RC} ${RCFLAGS}
LINK.cc = ilink32 $(subst /,\\,$(LDFLAGS))
LDFLAGS += -ap -D -Gn
dbg-static : DEFS += -D_DEBUG
dbg-shared : DEFS += -D_DEBUG
stldbg-static : DEFS += -D_DEBUG
stldbg-shared : DEFS += -D_DEBUG
# STLport DEBUG mode specific defines
stldbg-static : DEFS += -D_STLP_DEBUG
stldbg-shared : DEFS += -D_STLP_DEBUG
stldbg-static-dep : DEFS += -D_STLP_DEBUG
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
# optimization and debug compiler flags
release-static : OPT += -O2 -vi-
release-shared : OPT += -O2 -vi-
LDLIBS += import32.lib kernel32.lib
ifndef WITHOUT_THREAD
ifndef WITH_STATIC_RTL
release-shared : LDLIBS += cw32mti.lib
dbg-shared : LDLIBS += cw32mti.lib
stldbg-shared : LDLIBS += cw32mti.lib
else
release-shared : LDLIBS += cw32mt.lib
dbg-shared : LDLIBS += cw32mt.lib
stldbg-shared : LDLIBS += cw32mt.lib
endif
ifndef WITH_DYNAMIC_RTL
release-static : LDLIBS += cw32mt.lib
dbg-static : LDLIBS += cw32mt.lib
stldbg-static : LDLIBS += cw32mt.lib
else
release-static : LDLIBS += cw32mti.lib
dbg-static : LDLIBS += cw32mti.lib
stldbg-static : LDLIBS += cw32mti.lib
endif
else
ifndef WITH_STATIC_RTL
release-shared : LDLIBS += cw32i.lib
dbg-shared : LDLIBS += cw32i.lib
stldbg-shared : LDLIBS += cw32i.lib
else
release-shared : LDLIBS += cw32.lib
dbg-shared : LDLIBS += cw32.lib
stldbg-shared : LDLIBS += cw32.lib
endif
ifndef WITH_DYNAMIC_RTL
release-static : LDLIBS += cw32.lib
dbg-static : LDLIBS += cw32.lib
stldbg-static : LDLIBS += cw32.lib
else
release-static : LDLIBS += cw32i.lib
dbg-static : LDLIBS += cw32i.lib
stldbg-static : LDLIBS += cw32i.lib
endif
endif
# map output option (see build/Makefiles/gmake/dmc.mak)
MAP_OUTPUT_OPTION =
else # linux
CXX := bc++
CC := bc++
DEFS ?=
OPT ?=
CFLAGS = -q -ff -xp -w-par
CXXFLAGS = -q -ff -xp -w-aus
DEFS += -D_NO_VCL
release-shared: DEFS += -D_RTLDLL
dbg-shared: DEFS += -D_RTLDLL
stldbg-shared: DEFS += -D_RTLDLL
OPT += -w-ccc -w-rch -w-ngu -w-inl -w-eff
ifdef WITHOUT_RTTI
OPT += -RT-
endif
ifndef WITHOUT_THREAD
DEFS += -D__MT__
endif
OUTPUT_OPTION = -o$@
LINK_OUTPUT_OPTION = $@
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
LINK.cc = ilink $(LDFLAGS)
LDFLAGS += -Gn
dbg-static : DEFS += -D_DEBUG
dbg-shared : DEFS += -D_DEBUG
stldbg-static : DEFS += -D_DEBUG
stldbg-shared : DEFS += -D_DEBUG
# STLport DEBUG mode specific defines
stldbg-static : DEFS += -D_STLP_DEBUG
stldbg-shared : DEFS += -D_STLP_DEBUG
stldbg-static-dep : DEFS += -D_STLP_DEBUG
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
# optimization and debug compiler flags
release-static : OPT += -O2 -vi-
release-shared : OPT += -O2 -vi-
dbg-static : OPT += -R -v -y
dbg-shared : OPT += -R -v -y
stldbg-static : OPT += -R -v -y
stldbg-shared : OPT += -R -v -y
ifndef WITHOUT_THREAD
ifdef LIBNAME
release-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
endif
ifdef PRGNAME
release-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlport.so
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlportg.so
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlportstlg.so
release-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlport.a
dbg-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportg.a
stldbg-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportstlg.a
endif
else # single-threaded
ifdef LIBNAME
release-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
endif
ifdef PRGNAME
release-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlport.so
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlportg.so
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlportstlg.so
release-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlport.a
dbg-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportg.a
stldbg-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportst$
endif
endif
# install dir defaults to /usr/local unless defined
BASE_INSTALL_DIR ?= ${SRCROOT}/..
endif # linux
ifdef EXTRA_CXXFLAGS
CXXFLAGS += $(EXTRA_CXXFLAGS)
endif
ifdef EXTRA_CFLAGS
CFLAGS += $(EXTRA_CFLAGS)
endif
# dependency output parser (dependencies collector)
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
@@ -1,48 +0,0 @@
# -*- Makefile -*- Time-stamp: <07/05/31 22:18:20 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
PHONY += clean distclean mostlyclean maintainer-clean uninstall
define obj_clean
clean::
@-rm -f $$($(1)_OBJ) $$($(1)_DEP)
@-rm -f $$($(1)_OBJ_DBG) $$($(1)_DEP_DBG)
@-rm -f $$($(1)_OBJ_STLDBG) $$($(1)_DEP_STLDBG)
endef
clean::
@-rm -f core core.*
ifdef PRGNAME
@-rm -f $(OBJ) $(DEP)
@-rm -f $(OBJ_DBG) $(DEP_DBG)
@-rm -f $(OBJ_STLDBG) $(DEP_STLDBG)
endif
ifdef LIBNAME
@-rm -f $(OBJ) $(DEP) $(_LSUPCPP_AUX_OBJ) $(_LSUPCPP_AUX_TSMP)
@-rm -f $(OBJ_DBG) $(DEP_DBG)
@-rm -f $(OBJ_STLDBG) $(DEP_STLDBG)
endif
$(foreach prg,$(PRGNAMES),$(eval $(call obj_clean,$(prg))))
$(foreach prg,$(LIBNAMES),$(eval $(call obj_clean,$(prg))))
distclean:: clean
# $(DEPENDS_COLLECTION) removed before directory,
# see app/clean.mak and lib/clean.mak
mostlyclean:: clean
@-rm -f $(DEPENDS_COLLECTION)
@-rm -f TAGS tags
maintainer-clean:: distclean
@rm -f ${RULESBASE}/gmake/config.mak
@-rm -f TAGS tags
@@ -1,63 +0,0 @@
# Time-stamp: <03/07/31 14:20:16 ptr>
# $Id: extern.mak 1459 2005-04-18 21:25:32Z ptr $
# This is Complement project (really not extern):
CoMT_LIB_DIR ?= ${INSTALL_LIB_DIR}
CoMT_LIB_DIR_DBG ?= ${INSTALL_LIB_DIR_DBG}
CoMT_LIB_DIR_STLDBG ?= ${INSTALL_LIB_DIR_STLDBG}
CoMT_BIN_DIR ?= ${INSTALL_BIN_DIR}
CoMT_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR}
CoMT_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR}
CoMT_INCLUDE_DIR ?= ${CoMT_DIR}/include
# This file reflect versions of third-party libraries that
# used in projects
# STLport library
#STLPORT_LIB_DIR ?= /usr/local/lib
#STLPORT_INCLUDE_DIR ?= /usr/local/include/stlport
#STLPORT_VER ?= 4.5
STLPORT_LIB_DIR ?= $(STLPORT_DIR)/lib
STLPORT_INCLUDE_DIR ?= $(STLPORT_DIR)/stlport
STLPORT_VER ?= 4.5.5
# PostgreSQL library version:
PG_INCLUDE ?= $(PG_DIR)/include
PG_LIB ?= $(PG_DIR)/lib
PG_LIB_VER_MAJOR = 2
PG_LIB_VER_MINOR = 1
# Readline libraries version:
RL_INCLUDE ?= /usr/local/include/readline
RL_LIB ?= /usr/local/lib
RL_LIB_VER_MAJOR = 4
RL_LIB_VER_MINOR = 2
# gSOAP (http://gsoap2.sourceforge.net)
gSOAP_INCLUDE_DIR ?= ${gSOAP_DIR}/include
gSOAP_LIB_DIR ?= ${gSOAP_DIR}/lib
gSOAP_BIN_DIR ?= ${gSOAP_DIR}/bin
# boost (http://www.boost.org, http://boost.sourceforge.net)
BOOST_INCLUDE_DIR ?= ${BOOST_DIR}
# This file reflect versions of third-party libraries that
# used in projects, with make-depend style
ifeq ($(OSNAME),sunos)
PG_DIR ?= /opt/PGpgsql
endif
ifeq ($(OSNAME),linux)
PG_DIR ?= /usr/local/pgsql
endif
gSOAP_DIR ?= /opt/gSOAP-2.2.3
BOOST_DIR ?= ${SRCROOT}/../extern/boost
STLPORT_DIR ?= e:/STLlab/STLport
CoMT_DIR ?= ${SRCROOT}
@@ -1,82 +0,0 @@
# -*- makefile -*- Time-stamp: <03/07/15 18:23:04 ptr>
# $Id: lib.mak 3023 2007-05-16 20:01:32Z dums $
LIB_PREFIX ?=
ifeq (gcc, $(COMPILER_NAME))
LIB_PREFIX := lib
endif
ifeq (gcc, $(COMPILER_NAME))
DBG_SUFFIX := g
else
DBG_SUFFIX := d
endif
STLDBG_SUFFIX := stl${DBG_SUFFIX}
ifdef WITH_STATIC_RTL
LIB_TYPE := _x
else
LIB_TYPE :=
endif
ifdef LIB_MOTIF
LIB_SUFFIX := _$(LIB_MOTIF).${MAJOR}.${MINOR}
else
LIB_SUFFIX := .${MAJOR}.${MINOR}
endif
# Shared libraries:
SO_NAME_BASE := $(LIB_PREFIX)${LIBNAME}${LIB_TYPE}${LIB_SUFFIX}
SO_NAME := ${SO_NAME_BASE}.$(SO)
LIB_NAME := ${SO_NAME_BASE}.$(LIB)
#EXP_NAME := ${SO_NAME_BASE}.$(EXP)
SO_NAME_OUT := $(OUTPUT_DIR)/${SO_NAME}
LIB_NAME_OUT := $(OUTPUT_DIR)/${LIB_NAME}
#EXP_NAME_OUT := $(OUTPUT_DIR)/${EXP_NAME}
SO_NAME_DBG_BASE := $(LIB_PREFIX)${LIBNAME}${DBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
SO_NAME_DBG := ${SO_NAME_DBG_BASE}.$(SO)
LIB_NAME_DBG := ${SO_NAME_DBG_BASE}.$(LIB)
#EXP_NAME_DBG := ${SO_NAME_DBG_BASE}.$(EXP)
SO_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}
LIB_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${LIB_NAME_DBG}
#EXP_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${EXP_NAME_DBG}
SO_NAME_STLDBG_BASE := $(LIB_PREFIX)${LIBNAME}${STLDBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
SO_NAME_STLDBG := ${SO_NAME_STLDBG_BASE}.$(SO)
LIB_NAME_STLDBG := ${SO_NAME_STLDBG_BASE}.$(LIB)
#EXP_NAME_STLDBG := ${SO_NAME_STLDBG_BASE}.$(EXP)
SO_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}
LIB_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${LIB_NAME_STLDBG}
#EXP_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${EXP_NAME_STLDBG}
# Static libraries:
ifeq (gcc, $(COMPILER_NAME))
A_LIB_TYPE :=
else
ifdef WITH_DYNAMIC_RTL
A_LIB_TYPE := _statix
else
A_LIB_TYPE := _static
endif
endif
ifdef LIB_MOTIF
LIB_A_SUFFIX := _$(LIB_MOTIF)
else
LIB_A_SUFFIX :=
endif
A_NAME := $(LIB_PREFIX)${LIBNAME}${A_LIB_TYPE}${LIB_A_SUFFIX}.$(ARCH)
A_NAME_OUT := $(OUTPUT_DIR_A)/$(A_NAME)
A_NAME_DBG := $(LIB_PREFIX)${LIBNAME}${DBG_SUFFIX}${A_LIB_TYPE}${LIB_A_SUFFIX}.${ARCH}
A_NAME_OUT_DBG := $(OUTPUT_DIR_A_DBG)/$(A_NAME_DBG)
A_NAME_STLDBG := ${LIB_PREFIX}${LIBNAME}${STLDBG_SUFFIX}${A_LIB_TYPE}${LIB_A_SUFFIX}.${ARCH}
A_NAME_OUT_STLDBG := $(OUTPUT_DIR_A_STLDBG)/$(A_NAME_STLDBG)
@@ -1,23 +0,0 @@
# -*- makefile -*- Time-stamp: <05/12/09 01:46:01 ptr>
INSTALL_TAGS ?= install-shared
PHONY += install $(INSTALL_TAGS)
install: $(INSTALL_TAGS)
install-release-shared: release-shared $(INSTALL_BIN_DIR) $(INSTALL_LIB_DIR)
$(INSTALL_SO) ${SO_NAME_OUT} $(INSTALL_BIN_DIR)/
$(INSTALL_SO) ${LIB_NAME_OUT} $(INSTALL_LIB_DIR)/
# $(INSTALL_SO) ${EXP_NAME_OUT} $(INSTALL_LIB_DIR)/
install-dbg-shared: dbg-shared $(INSTALL_BIN_DIR) $(INSTALL_LIB_DIR_DBG)
$(INSTALL_SO) ${SO_NAME_OUT_DBG} $(INSTALL_BIN_DIR)/
$(INSTALL_SO) ${LIB_NAME_OUT_DBG} $(INSTALL_LIB_DIR_DBG)/
# $(INSTALL_SO) ${EXP_NAME_OUT_DBG} $(INSTALL_LIB_DIR_DBG)/
install-stldbg-shared: stldbg-shared $(INSTALL_BIN_DIR) $(INSTALL_LIB_DIR_DBG)
$(INSTALL_SO) ${SO_NAME_OUT_STLDBG} $(INSTALL_BIN_DIR)/
$(INSTALL_SO) ${LIB_NAME_OUT_STLDBG} $(INSTALL_LIB_DIR_STLDBG)/
# $(INSTALL_SO) ${EXP_NAME_OUT_STLDBG} $(INSTALL_LIB_DIR_STLDBG)/
@@ -1,91 +0,0 @@
# -*- makefile -*- Time-stamp: <03/10/27 18:15:05 ptr>
# $Id: rules-so.mak 3113 2007-08-08 19:05:21Z dums $
# Shared libraries tags
PHONY += release-shared dbg-shared stldbg-shared
release-shared: $(OUTPUT_DIR) ${SO_NAME_OUT}
dbg-shared: $(OUTPUT_DIR_DBG) ${SO_NAME_OUT_DBG}
stldbg-shared: $(OUTPUT_DIR_STLDBG) ${SO_NAME_OUT_STLDBG}
ifeq (bcc, $(COMPILER_NAME))
# Borland linker
${SO_NAME_OUT}: $(OBJ) $(RES) $(LIBSDEP)
$(LINK.cc) $(subst /,\\,$(START_OBJ) $(OBJ) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES))
${SO_NAME_OUT_DBG}: $(OBJ_DBG) $(RES_DBG) $(LIBSDEP)
$(LINK.cc) $(subst /,\\,$(START_OBJ) $(OBJ_DBG) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES_DBG))
${SO_NAME_OUT_STLDBG}: $(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP)
$(LINK.cc) $(subst /,\\,$(START_OBJ) $(OBJ_STLDBG) $(END_OBJ), $(LINK_OUTPUT_OPTION), , $(LDLIBS), , $(RES_STLDBG))
else
ifeq (dmc, $(COMPILER_NAME))
# Digital Mars linker
$(SO_NAME_OUT): $(OBJ) $(RES) $(LIBSDEP)
@echo LIBRARY "$(SO_NAME_BASE).dll" > $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo DESCRIPTION \'STLport DLL for Digital Mars C/C++\'>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo EXETYPE NT>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo DATA READWRITE>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo EXPORTS>> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
@echo '?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR)/$(SO_NAME_BASE).def
$(LINK.cc) $(subst /,\\,$(OBJ),$(LINK_OUTPUT_OPTION),$(MAP_OUTPUT_OPTION),$(LDLIBS),$(DEF_OPTION),$(RES))
$(SO_NAME_OUT_DBG): $(OBJ_DBG) $(RES_DBG) $(LIBSDEP)
@echo LIBRARY "$(SO_NAME_DBG_BASE).dll" > $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo DESCRIPTION \'STLport DLL for Digital Mars C/C++\'>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo EXETYPE NT>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo DATA READWRITE>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo EXPORTS>> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
@echo '?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
$(LINK.cc) $(subst /,\\,$(OBJ_DBG),$(LINK_OUTPUT_OPTION),$(MAP_OUTPUT_OPTION),$(LDLIBS),$(DEF_OPTION_DBG),$(RES_DBG))
$(SO_NAME_OUT_STLDBG): $(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP)
@echo LIBRARY "$(SO_NAME_STLDBG_BASE).dll" > $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo DESCRIPTION \'STLport DLL for Digital Mars C/C++\'>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo EXETYPE NT>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo SUBSYSTEM WINDOWS>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo CODE SHARED EXECUTE>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo DATA READWRITE>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo EXPORTS>> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?cin@std@@3V?$$basic_istream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?cout@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?cerr@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?clog@std@@3V?$$basic_ostream@std@DV?$$char_traits@std@D@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?wcin@std@@3V?$$basic_istream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?wcout@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?wcerr@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@echo '?wclog@std@@3V?$$basic_ostream@std@_YV?$$char_traits@std@_Y@1@@1@A' >> $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
$(LINK.cc) $(subst /,\\,$(OBJ_STLDBG), $(LINK_OUTPUT_OPTION), $(MAP_OUTPUT_OPTION), $(LDLIBS), $(DEF_OPTION_STLDBG), $(RES_STLDBG))
else
# GNU linker
${SO_NAME_OUT}: $(OBJ) $(RES) $(LIBSDEP) $(LSUPC++DEF)
$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ) $(RES) $(LSUPC++DEF) $(LDLIBS) $(STDLIBS)
${SO_NAME_OUT_DBG}: $(OBJ_DBG) $(RES_DBG) $(LIBSDEP) $(LSUPC++DEF)
$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(RES_DBG) $(LSUPC++DEF) $(LDLIBS) $(STDLIBS)
${SO_NAME_OUT_STLDBG}: $(OBJ_STLDBG) $(RES_STLDBG) $(LIBSDEP) $(LSUPC++DEF)
$(LINK.cc) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(RES_STLDBG) $(LSUPC++DEF) $(LDLIBS) $(STDLIBS)
endif
endif
@@ -1,11 +0,0 @@
# Time-stamp: <05/09/09 21:12:38 ptr>
# $Id: sys.mak 1802 2005-11-01 08:25:57Z complement $
RC := windres
INSTALL := install
INSTALL_SO := ${INSTALL} -m 0755
INSTALL_A := ${INSTALL} -m 0644
INSTALL_EXE := ${INSTALL} -m 0755
EXT_TEST := test
@@ -1,40 +0,0 @@
# Time-stamp: <05/09/09 21:03:45 ptr>
# $Id: targetsys.mak 2109 2006-01-22 14:15:51Z dums $
CC ?= gcc
CXX ?= g++
# shared library:
SO := dll
ifeq (gcc,$(COMPILER_NAME))
LIB := dll.a
else
LIB := lib
endif
EXP := exp
# executable:
EXE := .exe
# static library extention:
ifeq (dmc,$(COMPILER_NAME))
ARCH := lib
AR := dm_lib -n
AR_INS_R := -c
AR_EXTR := -x
AR_OUT = $(subst /,\,$@)
else
ifeq (bcc,$(COMPILER_NAME))
ARCH := lib
AR := tlib
AR_INS_R := +
AR_EXTR := *
AR_OUT = $(subst /,\,$@)
else
ARCH := a
AR := ar
AR_INS_R := -rs
AR_EXTR := -x
AR_OUT = $@
endif
endif
@@ -1,61 +0,0 @@
# -*- makefile -*- Time-stamp: <06/11/02 10:37:02 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
DBG_SUFFIX ?= g
STLDBG_SUFFIX ?= stl${DBG_SUFFIX}
# Shared libraries:
SO_NAME := lib${LIBNAME}.$(SO)
SO_NAMEx := lib${LIBNAME}.${MAJOR}.$(SO)
SO_NAMExx := lib${LIBNAME}.${MAJOR}.${MINOR}.$(SO)
SO_NAMExxx := lib${LIBNAME}.${MAJOR}.${MINOR}.${PATCH}.$(SO)
SO_NAME_OUT := $(OUTPUT_DIR)/${SO_NAME}
SO_NAME_OUTx := $(OUTPUT_DIR)/${SO_NAMEx}
SO_NAME_OUTxx := $(OUTPUT_DIR)/${SO_NAMExx}
SO_NAME_OUTxxx := $(OUTPUT_DIR)/${SO_NAMExxx}
SO_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(SO)
SO_NAME_DBGx := lib${LIBNAME}${DBG_SUFFIX}.${MAJOR}.$(SO)
SO_NAME_DBGxx := lib${LIBNAME}${DBG_SUFFIX}.${MAJOR}.${MINOR}.$(SO)
SO_NAME_DBGxxx := lib${LIBNAME}${DBG_SUFFIX}.${MAJOR}.${MINOR}.${PATCH}.$(SO)
SO_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}
SO_NAME_OUT_DBGx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}
SO_NAME_OUT_DBGxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}
SO_NAME_OUT_DBGxxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxxx}
ifndef WITHOUT_STLPORT
SO_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(SO)
SO_NAME_STLDBGx := lib${LIBNAME}${STLDBG_SUFFIX}.${MAJOR}.$(SO)
SO_NAME_STLDBGxx := lib${LIBNAME}${STLDBG_SUFFIX}.${MAJOR}.${MINOR}.$(SO)
SO_NAME_STLDBGxxx := lib${LIBNAME}${STLDBG_SUFFIX}.${MAJOR}.${MINOR}.${PATCH}.$(SO)
SO_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}
SO_NAME_OUT_STLDBGx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}
SO_NAME_OUT_STLDBGxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}
SO_NAME_OUT_STLDBGxxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxxx}
# WITHOUT_STLPORT
endif
# Static libraries:
A_NAME := lib${LIBNAME}.$(ARCH)
A_NAME_OUT := $(OUTPUT_DIR_A)/$(A_NAME)
A_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(ARCH)
A_NAME_OUT_DBG := $(OUTPUT_DIR_A_DBG)/$(A_NAME_DBG)
ifndef WITHOUT_STLPORT
A_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(ARCH)
A_NAME_OUT_STLDBG := $(OUTPUT_DIR_A_STLDBG)/$(A_NAME_STLDBG)
endif
@@ -1,18 +0,0 @@
# Time-stamp: <07/03/08 21:46:12 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
INSTALL := /usr/bin/install
INSTALL_SO := ${INSTALL} -c -m 0755
INSTALL_A := ${INSTALL} -c -m 0644
INSTALL_EXE := ${INSTALL} -c -m 0755
EXT_TEST := test
@@ -1,18 +0,0 @@
# Time-stamp: <07/03/08 21:46:37 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
SO := dylib
ARCH := a
AR := ar
AR_INS_R := -r -s
AR_EXTR := -x
AR_OUT = $@
@@ -1,45 +0,0 @@
# Time-stamp: <07/02/05 12:57:11 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
PHONY += release-static-dep release-shared-dep dbg-static-dep dbg-shared-dep \
depend
ifndef WITHOUT_STLPORT
PHONY += stldbg-static-dep stldbg-shared-dep
endif
release-static-dep release-shared-dep: $(DEP)
dbg-static-dep dbg-shared-dep: $(DEP_DBG)
ifndef WITHOUT_STLPORT
stldbg-static-dep stldbg-shared-dep: $(DEP_STLDBG)
_ALL_DEP := $(DEP) $(DEP_DBG) $(DEP_STLDBG)
_DASH_DEP := release-shared-dep dbg-shared-dep stldbg-shared-dep
else
_ALL_DEP := $(DEP) $(DEP_DBG)
_DASH_DEP := release-shared-dep dbg-shared-dep
endif
depend:: $(OUTPUT_DIRS) ${_DASH_DEP}
@cat -s $(_ALL_DEP) /dev/null > $(DEPENDS_COLLECTION)
TAGS: $(OUTPUT_DIRS) ${_DASH_DEP}
@cat -s $(_ALL_DEP) /dev/null | sed -e 's/^.*://;s/^ *//;s/\\$$//;s/ $$//;s/ /\n/g' | sort | uniq | xargs etags -I --declarations
ifneq ($(OSREALNAME),mingw)
tags: $(OUTPUT_DIRS) ${_DASH_DEP}
@cat -s $(_ALL_DEP) /dev/null | sed -e 's/^.*://;s/^ *//;s/\\$$//;s/ $$//;s/ /\n/g' | sort | uniq | xargs ctags -d --globals --declarations -t -T
endif
-include $(DEPENDS_COLLECTION)
-153
View File
@@ -1,153 +0,0 @@
# Time-stamp: <07/05/31 01:03:50 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# For DMC Cygwin/MSys are only build environment, they do not represent
# the targetted OS so per default we keep all generated files in STLport
# folder.
BASE_INSTALL_DIR ?= ${STLPORT_DIR}
ALL_TAGS = all-static all-shared
ifdef LIBNAME
INSTALL_TAGS = install-static install-shared
endif
CXX := dmc
CC := dmc
DEFS ?=
OPT ?=
CFLAGS = -Ae -C -p -3 -w6 -w12
CXXFLAGS = -Ae -C -p -3 -w12
DEFS += -DSTRICT
ifdef WITH_DYNAMIC_RTL
release-static : OPT += -ND
dbg-static : OPT += -ND
stldbg-static : OPT += -ND
endif
ifndef WITH_STATIC_RTL
release-shared : OPT += -ND
dbg-shared : OPT += -ND
stldbg-shared : OPT += -ND
endif
ifdef WITHOUT_THREAD
DEFS += -D_STLP_NO_THREADS
endif
ifndef WITHOUT_RTTI
OPT += -Ar
endif
WINVER ?= 0x0501
DEFS += -DWINVER=$(WINVER)
OUTPUT_OPTION = -o$@
LINK_OUTPUT_OPTION = $@
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
ifdef EXTRA_CXXFLAGS
CXXFLAGS += $(EXTRA_CXXFLAGS)
endif
ifdef EXTRA_CFLAGS
CFLAGS += $(EXTRA_CFLAGS)
endif
CDEPFLAGS = -E -M
CCDEPFLAGS = -E -M
RCFLAGS = --include-dir=${STLPORT_INCLUDE_DIR} -DCOMP=dmc
release-shared : RCFLAGS += -DBUILD=r -DBUILD_INFOS="-o"
dbg-shared : RCFLAGS += -DBUILD=g -DBUILD_INFOS="-gl -D_DEBUG"
stldbg-shared : RCFLAGS += -DBUILD=stlg -DBUILD_INFOS="-gl -D_STLP_DEBUG"
RC_OUTPUT_OPTION = $(OUTPUT_OPTION)
COMPILE.rc = ${RC} ${RCFLAGS}
LINK.cc = link $(LDFLAGS)
LDLIBS += user32.lib kernel32.lib snn.lib
# STLport DEBUG mode specific defines
dbg-static : DEFS += -D_DEBUG
dbg-shared : DEFS += -D_DEBUG
stldbg-static : DEFS += -D_DEBUG
stldbg-shared : DEFS += -D_DEBUG
dbg-static-dep : DEFS += -D_DEBUG
dbg-shared-dep : DEFS += -D_DEBUG
stldbg-static : DEFS += -D_STLP_DEBUG
stldbg-shared : DEFS += -D_STLP_DEBUG
stldbg-static-dep : DEFS += -D_STLP_DEBUG
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
# optimization and debug compiler flags
release-static : OPT += -o
release-shared : OPT += -o
dbg-static : OPT += -gl
dbg-shared : OPT += -gl
stldbg-static : OPT += -gl
stldbg-shared : OPT += -gl
ifndef WITHOUT_THREAD
release-static : OPT += -D_MT
dbg-static : OPT += -D_MT
stldbg-static : OPT += -D_MT
endif
release-static : AR += -p128
dbg-static : AR += -p512
stldbg-static : AR += -p512
ifndef LIBNAME
ifdef WITH_DYNAMIC_RTL
release-static: DEFS += -D_STLP_USE_STATIC_LIB
dbg-static: DEFS += -D_STLP_USE_STATIC_LIB
stldbg-static: DEFS += -D_STLP_USE_STATIC_LIB
endif
ifdef WITH_STATIC_RTL
release-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
dbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
stldbg-shared: DEFS += -D_STLP_USE_DYNAMIC_LIB
endif
endif
# map output option (move map files to output dir)
ifdef LIBNAME
release-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR)/$(SO_NAME_BASE).map
dbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).map
stldbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).map
else
release-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR)/$(PRGNAME).map
release-static: MAP_OUTPUT_OPTION = $(OUTPUT_DIR)/$(PRGNAME).map
dbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_DBG)/$(PRGNAME).map
dbg-static: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_DBG)/$(PRGNAME).map
stldbg-shared: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_STLDBG)/$(PRGNAME).map
stldbg-static: MAP_OUTPUT_OPTION = $(OUTPUT_DIR_STLDBG)/$(PRGNAME).map
endif
# dependency output parser (dependencies collector)
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
@@ -1,31 +0,0 @@
# Time-stamp: <07/05/31 10:14:29 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# boost (http://www.boost.org, http://boost.sourceforge.net)
# ifdef BOOST_DIR
# BOOST_INCLUDE_DIR ?= ${BOOST_DIR}
# endif
ifdef STLP_BUILD_BOOST_PATH
BOOST_INCLUDE_DIR ?= ${STLP_BUILD_BOOST_PATH}
endif
# STLport library
ifndef WITHOUT_STLPORT
STLPORT_DIR ?= ${SRCROOT}/..
endif
ifdef STLPORT_DIR
STLPORT_LIB_DIR ?= $(STLPORT_DIR)/${TARGET_NAME}lib
STLPORT_INCLUDE_DIR ?= $(STLPORT_DIR)/stlport
endif
@@ -1,18 +0,0 @@
# Time-stamp: <07/03/08 21:50:00 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
INSTALL := /usr/bin/install
INSTALL_SO := ${INSTALL} -c -m 0755
INSTALL_A := ${INSTALL} -c -m 0644
INSTALL_EXE := ${INSTALL} -c -m 0755
EXT_TEST := test
@@ -1,18 +0,0 @@
# Time-stamp: <07/03/08 21:50:23 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
SO := so
ARCH := a
AR := ar
AR_INS_R := -r
AR_EXTR := -x
AR_OUT = $@
-271
View File
@@ -1,271 +0,0 @@
# Time-stamp: <08/02/28 10:25:46 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifndef _FORCE_CXX
CXX := c++
else
CXX := ${_FORCE_CXX}
endif
ifndef _FORCE_CC
CC := gcc
else
CC := ${_FORCE_CC}
endif
ifeq ($(OSNAME), cygming)
RC := windres
endif
ifdef TARGET_OS
CXX := ${TARGET_OS}-${CXX}
CC := ${TARGET_OS}-${CC}
AS := ${TARGET_OS}-${AS}
endif
CXX_VERSION := $(shell ${CXX} -dumpversion)
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$1; }')
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
CXX_VERSION_PATCH := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$3; }')
# Check that we need option -fuse-cxa-atexit for compiler
_CXA_ATEXIT := $(shell ${CXX} -v 2>&1 | grep -q -e "--enable-__cxa_atexit" || echo "-fuse-cxa-atexit")
ifeq ($(OSNAME), darwin)
# This is to differentiate Apple-builded compiler from original
# GNU compiler (it has different behaviour)
ifneq ("$(shell ${CXX} -v 2>&1 | grep Apple)", "")
GCC_APPLE_CC := 1
endif
endif
DEFS ?=
OPT ?=
ifdef WITHOUT_STLPORT
INCLUDES =
else
INCLUDES = -I${STLPORT_INCLUDE_DIR}
endif
ifdef BOOST_INCLUDE_DIR
INCLUDES += -I${BOOST_INCLUDE_DIR}
endif
ifeq ($(OSNAME), cygming)
ifeq ($(OSREALNAME), mingw)
# MinGW has problem with /usr/local reference in gcc or linker command line so
# we use a local install for this platform.
BASE_INSTALL_DIR ?= ${STLPORT_DIR}
endif
endif
OUTPUT_OPTION = -o $@
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
CPPFLAGS = $(DEFS) $(INCLUDES)
ifdef WITHOUT_RTTI
# -fno-rtti shouldn't be pass to the C compiler, we cannot use OPT so we add it
# directly to the compiler command name.
CXX += -fno-rtti
ifdef STLP_BUILD
# gcc do not define any macro to signal that there is no rtti support:
DEFS += -D_STLP_NO_RTTI
endif
endif
ifeq ($(OSNAME), cygming)
WINVER ?= 0x0501
RCFLAGS = --include-dir=${STLPORT_INCLUDE_DIR} --output-format coff -DCOMP=gcc
release-shared : RCFLAGS += -DBUILD_INFOS=-O2
dbg-shared : RCFLAGS += -DBUILD=g -DBUILD_INFOS=-g
stldbg-shared : RCFLAGS += -DBUILD=stlg -DBUILD_INFOS="-g -D_STLP_DEBUG"
RC_OUTPUT_OPTION = -o $@
CXXFLAGS = -Wall -Wsign-promo -Wcast-qual -fexceptions
ifndef WITHOUT_THREAD
ifeq ($(OSREALNAME), mingw)
CCFLAGS += -mthreads
CFLAGS += -mthreads
CXXFLAGS += -mthreads
ifeq ($(CXX_VERSION_MAJOR),2)
CCFLAGS += -fvtable-thunks
CFLAGS += -fvtable-thunks
CXXFLAGS += -fvtable-thunks
endif
else
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
CCFLAGS += -mthreads
CFLAGS += -mthreads
CXXFLAGS += -mthreads
else
DEFS += -D_REENTRANT
endif
endif
endif
CCFLAGS += $(OPT)
CFLAGS += $(OPT)
CXXFLAGS += $(OPT)
COMPILE.rc = $(RC) $(RCFLAGS)
release-static : DEFS += -D_STLP_USE_STATIC_LIB
dbg-static : DEFS += -D_STLP_USE_STATIC_LIB
stldbg-static : DEFS += -D_STLP_USE_STATIC_LIB
ifeq ($(OSREALNAME), mingw)
dbg-shared : DEFS += -D_DEBUG
stldbg-shared : DEFS += -D_DEBUG
dbg-static : DEFS += -D_DEBUG
stldbg-static : DEFS += -D_DEBUG
DEFS += -DWINVER=${WINVER}
else
# When using the -mno-cygwin option we need to take into account WINVER.
# As there is no DEFS for C compiler and an other for C++ we use CFLAGS
# and CXXFLAGS
ifdef EXTRA_CXXFLAGS
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
CXXFLAGS += -DWINVER=${WINVER}
endif
endif
ifdef EXTRA_CFLAGS
ifneq (,$(findstring no-cygwin,$(EXTRA_CFLAGS)))
CFLAGS += -DWINVER=${WINVER}
endif
endif
endif
endif
ifndef WITHOUT_THREAD
PTHREAD := -pthread
else
PTHREAD :=
endif
ifeq ($(OSNAME),sunos)
ifndef WITHOUT_THREAD
PTHREADS := -pthreads
else
PTHREADS :=
endif
CCFLAGS = $(PTHREADS) $(OPT)
CFLAGS = $(PTHREADS) $(OPT)
# CXXFLAGS = $(PTHREADS) -nostdinc++ -fexceptions $(OPT)
CXXFLAGS = $(PTHREADS) -fexceptions $(OPT)
endif
ifeq ($(OSNAME),linux)
CCFLAGS = $(PTHREAD) $(OPT)
CFLAGS = $(PTHREAD) $(OPT)
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
endif
ifeq ($(OSNAME),openbsd)
CCFLAGS = $(PTHREAD) $(OPT)
CFLAGS = $(PTHREAD) $(OPT)
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
endif
ifeq ($(OSNAME),freebsd)
CCFLAGS = $(PTHREAD) $(OPT)
CFLAGS = $(PTHREAD) $(OPT)
ifndef WITHOUT_THREAD
DEFS += -D_REENTRANT
endif
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
endif
ifeq ($(OSNAME),darwin)
CCFLAGS = $(OPT)
CFLAGS = $(OPT)
ifndef WITHOUT_THREAD
DEFS += -D_REENTRANT
endif
CXXFLAGS = -fexceptions $(OPT)
release-shared : CXXFLAGS += -dynamic
dbg-shared : CXXFLAGS += -dynamic
stldbg-shared : CXXFLAGS += -dynamic
endif
ifeq ($(OSNAME),hp-ux)
ifneq ($(M_ARCH),ia64)
release-static : OPT += -fno-reorder-blocks
release-shared : OPT += -fno-reorder-blocks
endif
CCFLAGS = $(PTHREAD) $(OPT)
CFLAGS = $(PTHREAD) $(OPT)
# CXXFLAGS = $(PTHREAD) -nostdinc++ -fexceptions $(OPT)
CXXFLAGS = $(PTHREAD) -fexceptions $(OPT)
endif
ifeq ($(CXX_VERSION_MAJOR),2)
CXXFLAGS += -ftemplate-depth-32
endif
# Required for correct order of static objects dtors calls:
ifeq ("$(findstring $(OSNAME),darwin cygming)","")
ifneq ($(CXX_VERSION_MAJOR),2)
CXXFLAGS += $(_CXA_ATEXIT)
endif
endif
# Code should be ready for this option
ifneq ($(OSNAME),cygming)
ifneq ($(CXX_VERSION_MAJOR),2)
ifneq ($(CXX_VERSION_MAJOR),3)
CXXFLAGS += -fvisibility=hidden
CFLAGS += -fvisibility=hidden
endif
endif
endif
ifdef EXTRA_CXXFLAGS
CXXFLAGS += ${EXTRA_CXXFLAGS}
endif
ifdef EXTRA_CFLAGS
CFLAGS += ${EXTRA_CFLAGS}
endif
CDEPFLAGS = -E -M
CCDEPFLAGS = -E -M
# STLport DEBUG mode specific defines
stldbg-static : DEFS += -D_STLP_DEBUG
stldbg-shared : DEFS += -D_STLP_DEBUG
stldbg-static-dep : DEFS += -D_STLP_DEBUG
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
# optimization and debug compiler flags
release-static : OPT += -O2
release-shared : OPT += -O2
dbg-static : OPT += -g
dbg-shared : OPT += -g
#dbg-static-dep : OPT += -g
#dbg-shared-dep : OPT += -g
stldbg-static : OPT += -g
stldbg-shared : OPT += -g
#stldbg-static-dep : OPT += -g
#stldbg-shared-dep : OPT += -g
# dependency output parser (dependencies collector)
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
@@ -1,21 +0,0 @@
# Time-stamp: <07/05/31 00:47:11 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
INSTALL := cp
INSTALL_SO := ${INSTALL}
INSTALL_A := ${INSTALL}
INSTALL_EXE := ${INSTALL}
EXT_TEST := /usr/bin/test
@@ -1,22 +0,0 @@
# Time-stamp: <08/01/29 09:40:35 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifeq ($(M_ARCH),ia64)
SO := so
else
SO := sl
endif
ARCH := a
AR := ar
AR_INS_R := -rs
AR_EXTR := -x
AR_OUT = $@
@@ -1,85 +0,0 @@
# Time-stamp: <07/03/08 21:41:21 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
#INCLUDES :=
CXX := icpc
CC := icc
ifdef TARGET_OS
# CXX := ${TARGET_OS}-c++
# CC := ${TARGET_OS}-gcc
endif
CXX_VERSION := $(shell ${CXX} --version | awk 'NR == 1 {print $$3; }')
# if we didn't get anything from that, use the old style for versions < 9
ifeq (${CXX_VERSION},)
CXX_VERSION := $(shell ${CXX} --version)
endif
CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$1; }')
CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
# CXX_VERSION_PATCH := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$3; }')
SYSINCLUDES := -I$(shell which icpc | xargs dirname | xargs dirname)/include/c++
DEFS ?=
OPT ?=
ifndef WITHOUT_THREAD
DEFS += -D_REENTRANT
endif
OUTPUT_OPTION = -o $@
LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
CPPFLAGS = $(DEFS) $(INCLUDES) $(SYSINCLUDES)
ifeq ($(OSNAME),linux)
CCFLAGS = $(OPT)
CFLAGS = $(OPT)
# CXXFLAGS = -pthread -nostdinc++ -fexceptions -fident $(OPT)
CXXFLAGS = $(OPT)
endif
CDEPFLAGS = -E -M
CCDEPFLAGS = -E -M
# STLport DEBUG mode specific defines
stldbg-static : DEFS += -D_STLP_DEBUG
stldbg-shared : DEFS += -D_STLP_DEBUG
stldbg-static-dep : DEFS += -D_STLP_DEBUG
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
# optimization and debug compiler flags
release-static : OPT += -O2
release-shared : OPT += -O2
dbg-static : OPT += -g
dbg-shared : OPT += -g
#dbg-static-dep : OPT += -g
#dbg-shared-dep : OPT += -g
stldbg-static : OPT += -g
stldbg-shared : OPT += -g
#stldbg-static-dep : OPT += -g
#stldbg-shared-dep : OPT += -g
# dependency output parser (dependencies collector)
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
[ -s $@ ] || rm -f $@
@@ -1,35 +0,0 @@
# -*- makefile -*- Time-stamp: <08/06/12 14:58:49 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
OPT += -xcode=pic32
dbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAMExx) ${NOSTDLIB}
DEPENDS_COLLECTION_SUNPRO := $(DEPENDS_COLLECTION).sunpro
compiler-dep :: $(DEPENDS_COLLECTION_SUNPRO)
STD_HEADER_LISTS = $(STLPORT_ETC_DIR)/std_headers.txt \
$(STLPORT_ETC_DIR)/std_headers_cpp_runtime_h.txt \
$(STLPORT_ETC_DIR)/std_headers_c.txt \
$(STLPORT_ETC_DIR)/std_headers_c_h.txt \
$(STLPORT_ETC_DIR)/std_headers_classic_iostreams.txt \
$(STLPORT_ETC_DIR)/std_headers_cpp_runtime.txt
$(DEPENDS_COLLECTION_SUNPRO) : $(STD_HEADER_LISTS)
@echo "Linking header files required for SunPro compiler"
@for file in `cat $(STD_HEADER_LISTS)`; do \
echo "." | awk '{printf("%s", $$0)}' ; \
(cd $(STLPORT_INCLUDE_DIR) ; rm -f $$file.SUNWCCh; ln -s ./$$file $$file.SUNWCCh) ; \
done; echo ""
@cat $(STD_HEADER_LISTS) | awk '{print "$(STLPORT_INCLUDE_DIR)/" $$0 ".SUNWCCh : $(STLPORT_INCLUDE_DIR)/" $$0 }' > $@
@@ -1,14 +0,0 @@
# -*- makefile -*- Time-stamp: <08/06/12 14:59:23 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
dbg-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAME_DBGxx)
stldbg-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAME_STLDBGxx)
release-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAMExx)
@@ -1,83 +0,0 @@
# -*- makefile -*- Time-stamp: <07/05/31 01:29:22 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
release-shared : LDFLAGS += -Tpd -w -w-dup
dbg-shared : LDFLAGS += -Tpd -w -w-dup
stldbg-shared : LDFLAGS += -Tpd -w -w-dup
ifneq ($(OSNAME),linux)
release-shared : LDFLAGS += -V4.0 -Gi
dbg-shared : LDFLAGS += -V4.0 -Gi
stldbg-shared : LDFLAGS += -V4.0 -Gi
release-shared : OPT += -tWD
dbg-shared : OPT += -tWD
stldbg-shared : OPT += -tWD
START_OBJ := c0d32.obj
else
release-shared : OPT += -tD -VP
dbg-shared : OPT += -tD -VP
stldbg-shared : OPT += -tD -VP
release-shared: DEFS += -D_DLL
dbg-shared: DEFS += -D_DLL
stldbg-shared: DEFS += -D_DLL
START_OBJ := borinitso.o
endif
# optimization and debug compiler flags
dbg-static : OPT += -R -v -y
dbg-shared : OPT += -R -v -y
stldbg-static : OPT += -R -v -y
stldbg-shared : OPT += -R -v -y
dbg-shared : LDFLAGS += -v
dbg-static : LDFLAGS += -v
stldbg-shared : LDFLAGS += -v
stldbg-static : LDFLAGS += -v
install-shared: install-release-shared install-dbg-shared install-stldbg-shared
install: install-shared
ifneq ($(OSNAME),linux)
install-dbg-shared: install-dbg-shared-tds
install-stldbg-shared: install-stldbg-shared-tds
endif
BASE_LIBNAME := $(LIB_PREFIX)${LIBNAME}${LIB_TYPE}${LIB_SUFFIX}
BASE_LIBNAME_DBG := $(LIB_PREFIX)${LIBNAME}${DBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
BASE_LIBNAME_STLDBG := $(LIB_PREFIX)${LIBNAME}${STLDBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
BASE_LIBNAMES = ${BASE_LIBNAME} ${BASE_LIBNAME_DBG} ${BASE_LIBNAME_STLDBG}
BASE_LIB_EXTS = lib dll tds map res
LIB_FILES := $(foreach n,$(BASE_LIBNAMES),$(foreach e,$(BASE_LIB_EXTS),$(n).$(e)))
install-dbg-shared-tds:
$(INSTALL_SO) $(OUTPUT_DIR_DBG)/${BASE_LIBNAME_DBG}.tds $(INSTALL_BIN_DIR)/
install-stldbg-shared-tds:
$(INSTALL_SO) $(OUTPUT_DIR_STLDBG)/${BASE_LIBNAME_STLDBG}.tds $(INSTALL_BIN_DIR)/
clean::
$(foreach d,$(OUTPUT_DIRS),$(foreach f,$(LIB_FILES),@rm -f $(d)/$(f)))
uninstall::
$(foreach d,$(INSTALL_DIRS),$(foreach f,$(LIB_FILES),@rm -f $(d)/$(f)))
$(foreach d,$(INSTALL_DIRS),@-rmdir -p $(d) 2>/dev/null)
@@ -1,115 +0,0 @@
# -*- makefile -*- Time-stamp: <07/05/31 22:15:12 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
define lib_clean
clean::
@-rm -f $${$(1)_SO_NAME_OUT}
@-rm -f $${$(1)_SO_NAME_OUTx}
@-rm -f $${$(1)_SO_NAME_OUTxx}
@-rm -f $${$(1)_SO_NAME_OUTxxx}
@-rm -f $${$(1)_SO_NAME_OUT_DBG}
@-rm -f $${$(1)_SO_NAME_OUT_DBGx}
@-rm -f $${$(1)_SO_NAME_OUT_DBGxx}
@-rm -f $${$(1)_SO_NAME_OUT_DBGxxx}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBG}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGx}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGxx}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGxxx}
@-rm -f $${$(1)_A_NAME_OUT}
@-rm -f $${$(1)_A_NAME_OUT_DBG}
@-rm -f $${$(1)_A_NAME_OUT_STLDBG}
ifeq ($(OSNAME), cygming)
@-rm -f $${$(1)_LIB_NAME_OUT}
@-rm -f $${$(1)_LIB_NAME_OUT_DBG}
@-rm -f $${$(1)_LIB_NAME_OUT_STLDBG}
@-rm -f $${$(1)_RES}
@-rm -f $${$(1)_RES_DBG}
@-rm -f $${$(1)_RES_STLDBG}
ifneq ($(OSREALNAME), mingw)
@-rm -f ${LSUPC++DEF}
endif
endif
uninstall::
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAME)
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMEx)
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExx)
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExxx)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBG)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGx)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxx)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxxx)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBG)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGx)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxx)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxxx)
@-rm -f $$(INSTALL_LIB_DIR)/$${$(1)_A_NAME_OUT}
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$${$(1)_A_NAME_OUT_DBG}
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$${$(1)_A_NAME_OUT_STLDBG}
@-rmdir -p $$(INSTALL_LIB_DIR) $$(INSTALL_LIB_DIR_DBG) $$(INSTALL_LIB_DIR_STLDBG) 2>/dev/null
endef
$(foreach nm,$(LIBNAMES),$(eval $(call lib_clean,$(nm))))
clean::
ifdef LIBNAME
@-rm -f ${SO_NAME_OUT}
@-rm -f ${SO_NAME_OUTx}
@-rm -f ${SO_NAME_OUTxx}
@-rm -f ${SO_NAME_OUTxxx}
@-rm -f ${SO_NAME_OUT_DBG}
@-rm -f ${SO_NAME_OUT_DBGx}
@-rm -f ${SO_NAME_OUT_DBGxx}
@-rm -f ${SO_NAME_OUT_DBGxxx}
@-rm -f ${SO_NAME_OUT_STLDBG}
@-rm -f ${SO_NAME_OUT_STLDBGx}
@-rm -f ${SO_NAME_OUT_STLDBGxx}
@-rm -f ${SO_NAME_OUT_STLDBGxxx}
@-rm -f ${A_NAME_OUT}
@-rm -f ${A_NAME_OUT_DBG}
@-rm -f ${A_NAME_OUT_STLDBG}
ifeq ($(OSNAME), cygming)
@-rm -f ${LIB_NAME_OUT}
@-rm -f ${LIB_NAME_OUT_DBG}
@-rm -f ${LIB_NAME_OUT_STLDBG}
@-rm -f ${RES}
@-rm -f ${RES_DBG}
@-rm -f ${RES_STLDBG}
ifneq ($(OSREALNAME), mingw)
@-rm -f ${LSUPC++DEF}
endif
endif
endif
distclean::
@-rm -f $(DEPENDS_COLLECTION)
@-rmdir -p $(AUX_DIR) ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null
uninstall::
ifdef LIBNAME
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAME)
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMEx)
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExx)
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExxx)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBG)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGx)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGxx)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGxxx)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBG)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGx)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGxx)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGxxx)
@-rm -f $(INSTALL_LIB_DIR)/${A_NAME_OUT}
@-rm -f $(INSTALL_LIB_DIR_DBG)/${A_NAME_OUT_DBG}
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/${A_NAME_OUT_STLDBG}
endif
@-rmdir -p $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) 2>/dev/null
@@ -1,25 +0,0 @@
# -*- makefile -*- Time-stamp: <07/05/31 01:29:36 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
release-shared: OPT += -WD
dbg-shared: OPT += -WD
stldbg-shared: OPT += -WD
release-shared: LDFLAGS += /DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR)/$(SO_NAME_BASE).lib)
dbg-shared: LDFLAGS += /CODEVIEW/DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).lib)
stldbg-shared: LDFLAGS += /CODEVIEW/DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).lib)
DEF_OPTION = $(OUTPUT_DIR)/$(SO_NAME_BASE).def
DEF_OPTION_DBG = $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
DEF_OPTION_STLDBG = $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def
@@ -1,311 +0,0 @@
# -*- makefile -*- Time-stamp: <08/06/12 15:48:58 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# Oh, the commented below work for gmake 3.78.1 and above,
# but phrase without tag not work for it. Since gmake 3.79
# tag with assignment fail, but work assignment for all tags
# (really that more correct).
ifneq ($(OSNAME), cygming)
OPT += -fPIC
endif
ifndef NOT_USE_NOSTDLIB
ifeq ($(CXX_VERSION_MAJOR),2)
# i.e. gcc before 3.x.x: 2.95, etc.
# gcc before 3.x don't had libsupc++.a and libgcc_s.so
# exceptions and operators new are in libgcc.a
# Unfortunatly gcc before 3.x has a buggy C++ language support outside stdc++, so definition of STDLIBS below is commented
NOT_USE_NOSTDLIB := 1
#STDLIBS := $(shell ${CXX} -print-file-name=libgcc.a) -lpthread -lc -lm
endif
ifeq ($(CXX_VERSION_MAJOR),3)
# gcc before 3.3 (i.e. 3.0.x, 3.1.x, 3.2.x) has buggy libsupc++, so we should link with libstdc++ to avoid one
ifeq ($(CXX_VERSION_MINOR),0)
NOT_USE_NOSTDLIB := 1
endif
ifeq ($(CXX_VERSION_MINOR),1)
NOT_USE_NOSTDLIB := 1
endif
ifeq ($(CXX_VERSION_MINOR),2)
NOT_USE_NOSTDLIB := 1
endif
endif
endif
ifndef NOT_USE_NOSTDLIB
ifeq ($(OSNAME),linux)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),openbsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),freebsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),netbsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),sunos)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),darwin)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),cygming)
_USE_NOSTDLIB := 1
endif
endif
ifndef WITHOUT_STLPORT
ifeq (${STLPORT_LIB_DIR},)
ifneq ($(OSNAME),cygming)
release-shared: STLPORT_LIB = -lstlport
dbg-shared: STLPORT_LIB = -lstlportg
stldbg-shared: STLPORT_LIB = -lstlportstlg
else
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
release-shared: STLPORT_LIB = -lstlport.${LIB_VERSION}
dbg-shared: STLPORT_LIB = -lstlportg.${LIB_VERSION}
stldbg-shared: STLPORT_LIB = -lstlportstlg.${LIB_VERSION}
endif
else
# STLPORT_LIB_DIR not empty
ifneq ($(OSNAME),cygming)
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg
else
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport.${LIB_VERSION}
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg.${LIB_VERSION}
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg.${LIB_VERSION}
endif
endif
endif
ifdef _USE_NOSTDLIB
NOSTDLIB :=
# Check whether gcc builded with --disable-shared
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_eh.a),libgcc_eh.a)
# gcc builded with --disable-shared, (no library libgcc_eh.a); all exception support in libgcc.a
_LGCC_EH :=
_LGCC_S := -lgcc
else
# gcc builded with --enable-shared (default)
ifdef USE_STATIC_LIBGCC
# if force usage of static libgcc, then exceptions support should be taken from libgcc_eh
_LGCC_EH := -lgcc_eh
_LGCC_S := -lgcc
else
#ifneq ($(OSNAME),darwin)
# otherwise, exceptions support is in libgcc_s.so
_LGCC_EH :=
ifneq ($(OSNAME),darwin)
_LGCC_S := -lgcc_s
else
ifeq ($(MACOSX_TEN_FIVE),true)
_LGCC_S := -lgcc_s.10.5
else
_LGCC_S := -lgcc_s.10.4
endif
# end of Darwin
endif
# end of !USE_STATIC_LIBGCC
endif
# end of present libgcc_eh.a
endif
_LSUPCPP := $(shell ${CXX} ${CXXFLAGS} -print-file-name=libsupc++.a)
ifeq (${OSNAME},darwin)
ifdef GCC_APPLE_CC
_LSUPCPP := $(shell mkdir -p $(PRE_OUTPUT_DIR) && lipo ${_LSUPCPP} -thin ${M_ARCH} -output $(PRE_OUTPUT_DIR)/libsupc++.a && echo $(PRE_OUTPUT_DIR)/libsupc++.a)
endif
endif
ifneq (${_LSUPCPP},libsupc++.a)
_LSUPCPP_OBJ := $(shell $(AR) t ${_LSUPCPP})
_LSUPCPP_AUX_OBJ := $(addprefix $(AUX_DIR)/,${_LSUPCPP_OBJ})
_LSUPCPP_TSMP := .supc++
_LSUPCPP_AUX_TSMP:= $(AUX_DIR)/$(_LSUPCPP_TSMP)
endif
# ifeq ($(CXX_VERSION_MAJOR),3)
# Include whole language support archive (libsupc++.a) into libstlport:
# all C++ issues are in libstlport now.
ifeq ($(OSNAME),linux)
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
#START_A_OBJ := $(shell for o in crti.o crtbeginT.o; do ${CXX} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),openbsd)
START_OBJ := $(shell for o in crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),freebsd)
# FreeBSD < 5.3 should use -lc_r, while FreeBSD >= 5.3 use -lpthread
PTHR := $(shell if [ ${OSREL_MAJOR} -gt 5 ] ; then echo "pthread" ; else if [ ${OSREL_MAJOR} -lt 5 ] ; then echo "c_r" ; else if [ ${OSREL_MINOR} -lt 3 ] ; then echo "c_r" ; else echo "pthread"; fi ; fi ; fi)
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS := -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -l${PTHR} -lc -lm
endif
ifeq ($(OSNAME),netbsd)
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),sunos)
START_OBJ := $(shell for o in crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS := -Wl,-zallextract -lsupc++ ${_LGCC_EH} -Wl,-zdefaultextract ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),darwin)
ifndef USE_STATIC_LIBGCC
# MacOS X, shared-libgcc
ifeq ($(MACOSX_TEN_FIVE),true)
# MacOS X >= 10.5
START_OBJ :=
else
# MacOS X < 10.5
START_OBJ :=
endif
else
# MacOS X, not shared-libgcc
START_OBJ :=
endif
END_OBJ :=
# -all_load don't demonstrate any visible effect, looks like
# this is dummy option; but nevertheless, with _LSUPCPP_AUX_OBJ
# trick (as in static library) we can resolve problem, in potential
ifdef GCC_APPLE_CC
STDLIBS := ${_LGCC_S} -lc -lm -all_load ${_LSUPCPP} ${_LGCC_EH}
else
LDFLAGS += -single_module
STDLIBS := ${_LGCC_S} -lc -lm -all_load -lsupc++ ${_LGCC_EH}
endif
endif
#END_A_OBJ := $(shell for o in crtn.o; do ${CXX} -print-file-name=$$o; done)
# endif
ifneq ($(OSNAME),cygming)
NOSTDLIB := -nostdlib
else
NOSTDLIB := -nodefaultlibs
ifndef USE_STATIC_LIBGCC
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_s.a),libgcc_s.a)
_LGCC_S := -lgcc
else
_LGCC_S := -lgcc_s
endif
else
_LGCC_S := -lgcc
endif
ifeq ($(OSREALNAME),mingw)
STDLIBS = -lsupc++ ${_LGCC_S} -lm -lmoldname -lmingw32 -lmingwex -lmsvcrt -lkernel32
else
LIBSUPC++ := $(shell ${CXX} ${CXXFLAGS} -print-file-name=libsupc++.a)
LSUPC++DEF := $(PRE_OUTPUT_DIR)/libsupc++.def
$(LSUPC++DEF) : $(LIBSUPC++)
dlltool --export-all-symbols --output-def=$(LSUPC++DEF) $(LIBSUPC++)
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
STDLIBS = -Wl,-whole-archive -lsupc++ -Wl,-no-whole-archive ${_LGCC_S} -lm -lmoldname -lmingw32 -lmingwex -lmsvcrt -lkernel32
else
STDLIBS = -Wl,-whole-archive -lsupc++ -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lm -lc -lkernel32
endif
endif
endif
else
ifndef WITHOUT_STLPORT
ifndef STLP_BUILD
STDLIBS = ${STLPORT_LIB}
else
STDLIBS =
endif
else
STDLIBS =
endif
endif
ifneq ($(OSNAME),darwin)
dbg-shared: LDFLAGS += -shared
stldbg-shared: LDFLAGS += -shared
release-shared: LDFLAGS += -shared
endif
ifeq ($(OSNAME),hp-ux)
dbg-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAME_DBGxx)
stldbg-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAME_STLDBGxx)
release-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAMExx)
endif
ifeq ($(OSNAME),sunos)
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
endif
ifeq ($(OSNAME),linux)
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
endif
ifeq ($(OSNAME),cygming)
ifndef USE_STATIC_LIBGCC
dbg-shared: LDFLAGS += -shared-libgcc
stldbg-shared: LDFLAGS += -shared-libgcc
release-shared: LDFLAGS += -shared-libgcc
endif
dbg-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT_DBG},--enable-auto-image-base ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT_STLDBG},--enable-auto-image-base ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT},--enable-auto-image-base ${NOSTDLIB}
dbg-static: LDFLAGS += -static
stldbg-static: LDFLAGS += -static
release-static: LDFLAGS += -static
endif
ifeq ($(OSNAME),freebsd)
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
endif
ifeq ($(OSNAME),darwin)
CURRENT_VERSION := ${MAJOR}.${MINOR}.${PATCH}
COMPATIBILITY_VERSION := $(CURRENT_VERSION)
dbg-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAMExx) ${NOSTDLIB}
dbg-static: LDFLAGS += -staticlib
stldbg-static: LDFLAGS += -staticlib
release-static: LDFLAGS += -staticlib
endif
ifeq ($(OSNAME),openbsd)
dbg-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAMExx) ${NOSTDLIB}
endif
@@ -1,19 +0,0 @@
# -*- makefile -*- Time-stamp: <08/06/12 15:00:07 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
OPT += -KPIC
ifeq ($(OSNAME),linux)
dbg-shared: LDFLAGS += -shared -Wl,-h$(SO_NAME_DBGxx)
stldbg-shared: LDFLAGS += -shared -Wl,-h$(SO_NAME_STLDBGxx)
release-shared: LDFLAGS += -shared -Wl,-h$(SO_NAMExx)
endif
@@ -1,38 +0,0 @@
# -*- makefile -*- Time-stamp: <07/05/31 22:11:48 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# Static libraries tags
PHONY += release-static dbg-static stldbg-static
ifneq ($(_LSUPCPP_OBJ),"")
$(_LSUPCPP_AUX_TSMP): $(_LSUPCPP)
if [ ! -d $(AUX_DIR) ]; then mkdir -p $(AUX_DIR); fi
cd $(AUX_DIR); $(AR) xo $(_LSUPCPP) && touch -r $(_LSUPCPP) $(_LSUPCPP_TSMP)
endif
release-static: $(OUTPUT_DIR_A) ${A_NAME_OUT}
dbg-static: $(OUTPUT_DIR_A_DBG) ${A_NAME_OUT_DBG}
stldbg-static: $(OUTPUT_DIR_A_STLDBG) ${A_NAME_OUT_STLDBG}
${A_NAME_OUT}: $(OBJ_A) $(_LSUPCPP_AUX_TSMP)
rm -f $@
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A) $(_LSUPCPP_AUX_OBJ)
${A_NAME_OUT_DBG}: $(OBJ_A_DBG) $(_LSUPCPP_AUX_TSMP)
rm -f $@
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A_DBG) $(_LSUPCPP_AUX_OBJ)
${A_NAME_OUT_STLDBG}: $(OBJ_A_STLDBG) $(_LSUPCPP_AUX_TSMP)
rm -f $@
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A_STLDBG) $(_LSUPCPP_AUX_OBJ)
@@ -1,34 +0,0 @@
# -*- makefile -*- Time-stamp: <06/11/02 10:34:43 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
PHONY += install-release-static install-dbg-static install-stldbg-static
install-release-static: release-static
@if [ ! -d $(INSTALL_LIB_DIR) ] ; then \
mkdir -p $(INSTALL_LIB_DIR) ; \
fi
$(INSTALL_A) ${A_NAME_OUT} $(INSTALL_LIB_DIR)
install-dbg-static: dbg-static
@if [ ! -d $(INSTALL_LIB_DIR_DBG) ] ; then \
mkdir -p $(INSTALL_LIB_DIR_DBG) ; \
fi
$(INSTALL_A) ${A_NAME_OUT_DBG} $(INSTALL_LIB_DIR_DBG)
ifndef WITHOUT_STLPORT
install-stldbg-static: stldbg-static
@if [ ! -d $(INSTALL_LIB_DIR_STLDBG) ] ; then \
mkdir -p $(INSTALL_LIB_DIR_STLDBG) ; \
fi
$(INSTALL_A) ${A_NAME_OUT_STLDBG} $(INSTALL_LIB_DIR_STLDBG)
endif
@@ -1,37 +0,0 @@
# -*- makefile -*- Time-stamp: <07/06/08 23:34:51 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
LDFLAGS ?=
ifneq ("$(findstring $(OSNAME),darwin cygming)","")
include ${RULESBASE}/gmake/${OSNAME}/lib.mak
else
include ${RULESBASE}/gmake/unix/lib.mak
endif
include ${RULESBASE}/gmake/lib/${COMPILER_NAME}.mak
ifneq ("$(findstring $(OSNAME),cygming)","")
include ${RULESBASE}/gmake/${OSNAME}/rules-so.mak
else
include ${RULESBASE}/gmake/unix/rules-so.mak
endif
include ${RULESBASE}/gmake/lib/rules-a.mak
ifneq ("$(findstring $(OSNAME),cygming)","")
include ${RULESBASE}/gmake/${OSNAME}/rules-install-so.mak
else
include ${RULESBASE}/gmake/unix/rules-install-so.mak
endif
include ${RULESBASE}/gmake/lib/rules-install-a.mak
include ${RULESBASE}/gmake/lib/clean.mak
@@ -1,40 +0,0 @@
# -*- makefile -*- Time-stamp: <07/03/08 21:35:57 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# Oh, the commented below work for gmake 3.78.1 and above,
# but phrase without tag not work for it. Since gmake 3.79
# tag with assignment fail, but work assignment for all tags
# (really that more correct).
LDLIBS ?=
LDSEARCH += /LIBPATH:"$(MSVC_LIB_DIR)"
dbg-shared: OPT += /MDd
stldbg-shared: OPT += /MDd
release-shared: OPT += /MD
release-shared-dep: OPT += /MD
dbg-static: OPT += /MTd
stldbg-static: OPT += /MTd
release-static: OPT += /MT
release-static: DEFS += /D_LIB
dbg-static: DEFS += /D_LIB
stldbg-static: DEFS += /D_LIB
dbg-shared: LDFLAGS += /DLL ${LDSEARCH}
stldbg-shared: LDFLAGS += /DLL ${LDSEARCH}
release-shared: LDFLAGS += /DLL ${LDSEARCH}
dbg-static: LDFLAGS += ${LDSEARCH}
stldbg-static: LDFLAGS += ${LDSEARCH}
release-static: LDFLAGS += ${LDSEARCH}
LDFLAGS += /VERSION:$(MAJOR).$(MINOR)
@@ -1,28 +0,0 @@
# Time-stamp: <06/11/10 23:43:27 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
INSTALL := /usr/bin/install
STRIP := /usr/bin/strip
install-strip: _INSTALL_STRIP_OPTION = -s
install-strip: _SO_STRIP_OPTION = -S
INSTALL_SO := ${INSTALL} -c -m 0755 ${_INSTALL_STRIP_OPTION}
INSTALL_A := ${INSTALL} -c -m 0644
INSTALL_EXE := ${INSTALL} -c -m 0755
INSTALL_D := ${INSTALL} -d -m 0755
INSTALL_F := ${INSTALL} -c -p -m 0644
# bash's built-in test is like extern
# EXT_TEST := /usr/bin/test
EXT_TEST := test
@@ -1,22 +0,0 @@
# Time-stamp: <07/03/08 21:52:04 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
SO := so
ARCH := a
ifdef TARGET_OS
AR := ${TARGET_OS}-ar
else
AR := ar
endif
AR_INS_R := -rs
AR_EXTR := -x
AR_OUT = $@
@@ -1,10 +0,0 @@
# Time-stamp: <05/09/09 21:10:45 ptr>
# $Id$
INSTALL := /usr/bin/install
INSTALL_SO := ${INSTALL} -c -m 0755
INSTALL_A := ${INSTALL} -c -m 0644
INSTALL_EXE := ${INSTALL} -c -m 0755
EXT_TEST := /usr/bin/test
@@ -1,10 +0,0 @@
# Time-stamp: <05/09/09 21:07:53 ptr>
# $Id$
SO := so
ARCH := a
AR := ar
AR_INS_R := -r
AR_EXTR := -x
AR_OUT = $@
@@ -1,12 +0,0 @@
# Time-stamp: <06/11/01 22:55:23 ptr>
#
# Copyright (c) 2006, 2007
# Petr Ovtchenkov
#
# Licensed under the Academic Free License version 3.0
#
# Do the same target in all catalogs as arg
define doinsubdirs
$(foreach d,$(1),${MAKE} -C ${d} $@;)
endef
@@ -1,18 +0,0 @@
# Time-stamp: <07/03/08 21:48:24 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
INSTALL := /usr/ucb/install
INSTALL_SO := ${INSTALL} -c -m 0755
INSTALL_A := ${INSTALL} -c -m 0644
INSTALL_EXE := ${INSTALL} -c -m 0755
EXT_TEST := /usr/bin/test
@@ -1,18 +0,0 @@
# Time-stamp: <07/03/08 21:48:37 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
SO := so
ARCH := a
AR := ar
AR_INS_R := -rs
AR_EXTR := -x
AR_OUT = $@
@@ -1,98 +0,0 @@
# Time-stamp: <07/08/16 09:13:19 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifndef BUILD_DATE
ifndef TARGET_OS
OSNAME := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
ifeq ($(OSNAME),darwin)
OSREALNAME := $(shell sw_vers -productName | tr '[A-Z]' '[a-z]' | tr -d ', /\\()"')
endif
# RedHat use nonstandard options for uname at least in cygwin,
# macro should be overwritten:
ifeq (cygwin,$(findstring cygwin,$(OSNAME)))
OSNAME := cygming
OSREALNAME := $(shell uname -o | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
endif
ifeq (mingw,$(findstring mingw,$(OSNAME)))
OSNAME := cygming
OSREALNAME := mingw
endif
OSREL := $(shell uname -r | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
ifeq ($(OSNAME),darwin)
OSREL := $(shell sw_vers -productVersion | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
endif
M_ARCH := $(shell uname -m | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
ifeq ($(M_ARCH),power-macintosh)
M_ARCH := ppc
endif
ifeq ($(OSNAME),hp-ux)
P_ARCH := unknown
else
P_ARCH := $(shell uname -p | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
endif
else
OSNAME := $(shell echo ${TARGET_OS} | sed 's/^[a-z0-9_]\+-[a-z0-9]\+-\([a-z]\+\).*/\1/' | sed 's/^[a-z0-9_]\+-\([a-z]\+\).*/\1/' )
OSREL := $(shell echo ${TARGET_OS} | sed 's/^[[:alnum:]_]\+-[a-z0-9]\+-[a-z]\+\([a-zA-Z.0-9]*\).*/\1/' | sed 's/^[a-z0-9_]\+-[a-z]\+\([a-zA-Z.0-9]*\).*/\1/' )
M_ARCH := $(shell echo ${TARGET_OS} | sed 's/^\([a-z0-9_]\+\)-.*/\1/' )
P_ARCH := unknown
# TARGET_OS
endif
NODENAME := $(shell uname -n | tr '[A-Z]' '[a-z]' )
SYSVER := $(shell uname -v )
USER := $(shell echo $$USER )
ifeq ($(OSNAME),freebsd)
OSREL_MAJOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$1;}')
OSREL_MINOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$2;}')
endif
ifeq ($(OSNAME),darwin)
OSREL_MAJOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$1;}')
OSREL_MINOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$2;}')
MACOSX_TEN_FIVE := $(shell if [ ${OSREL_MAJOR} -lt 10 ]; then echo false; else if [ ${OSREL_MAJOR} -gt 10 ] ; then echo true; else if [ ${OSREL_MINOR} -lt 5 ]; then echo false; else echo true; fi; fi; fi)
endif
# OS_VER := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',_')
BUILD_SYSTEM := $(shell echo `uname -n` `uname -s` `uname -r` `uname -v` `uname -m` $$USER)
BUILD_DATE := $(shell date +'%Y/%m/%d %T %Z')
BUILD_OSNAME := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
# RedHat use nonstandard options for uname at least in cygwin,
# macro should be overwritten:
ifeq (cygwin,$(findstring cygwin,$(BUILD_OSNAME)))
BUILD_OSNAME := cygming
BUILD_OSREALNAME := $(shell uname -o | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
endif
ifeq (mingw,$(findstring mingw,$(BUILD_OSNAME)))
BUILD_OSNAME := cygming
BUILD_OSREALNAME := mingw
endif
BUILD_OSREL := $(shell uname -r | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
BUILD_M_ARCH := $(shell uname -m | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
ifeq ($(OSNAME),hp-ux)
BUILD_P_ARCH := unknown
else
BUILD_P_ARCH := $(shell uname -p | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-')
endif
# end of BUILD_DATE not defined
endif
@@ -1,99 +0,0 @@
# Time-stamp: <08/02/28 10:30:06 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifdef TARGET_OS
TARGET_NAME := ${TARGET_OS}-
else
TARGET_NAME :=
endif
BASE_OUTPUT_DIR := obj
PRE_OUTPUT_DIR := $(BASE_OUTPUT_DIR)/$(TARGET_NAME)$(COMPILER_NAME)
OUTPUT_DIR := $(PRE_OUTPUT_DIR)/so$(EXTRA_DIRS)
OUTPUT_DIR_DBG := $(PRE_OUTPUT_DIR)/so_g$(EXTRA_DIRS)
ifndef WITHOUT_STLPORT
OUTPUT_DIR_STLDBG := $(PRE_OUTPUT_DIR)/so_stlg$(EXTRA_DIRS)
endif
# file to store generated dependencies for make:
DEPENDS_COLLECTION := $(PRE_OUTPUT_DIR)/.make.depend
# catalog for auxilary files, if any
AUX_DIR := $(PRE_OUTPUT_DIR)/.auxdir
# I use the same catalog, as for shared:
OUTPUT_DIR_A := $(OUTPUT_DIR)
OUTPUT_DIR_A_DBG := $(OUTPUT_DIR_DBG)
ifndef WITHOUT_STLPORT
OUTPUT_DIR_A_STLDBG := $(OUTPUT_DIR_STLDBG)
endif
BASE_INSTALL_DIR ?= /usr/local
BASE_INSTALL_LIB_DIR ?= $(DESTDIR)${BASE_INSTALL_DIR}
BASE_INSTALL_BIN_DIR ?= $(DESTDIR)${BASE_INSTALL_DIR}
BASE_INSTALL_HDR_DIR ?= $(DESTDIR)${BASE_INSTALL_DIR}
INSTALL_LIB_DIR ?= ${BASE_INSTALL_LIB_DIR}/${TARGET_NAME}lib
INSTALL_LIB_DIR_DBG ?= ${BASE_INSTALL_LIB_DIR}/${TARGET_NAME}lib
ifndef WITHOUT_STLPORT
INSTALL_LIB_DIR_STLDBG ?= ${BASE_INSTALL_LIB_DIR}/${TARGET_NAME}lib
endif
INSTALL_BIN_DIR ?= ${BASE_INSTALL_BIN_DIR}/${TARGET_NAME}bin
INSTALL_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR}_g
ifndef WITHOUT_STLPORT
INSTALL_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR}_stlg
endif
INSTALL_HDR_DIR ?= ${BASE_INSTALL_DIR}/include
ifndef WITHOUT_STLPORT
OUTPUT_DIRS := $(OUTPUT_DIR) $(OUTPUT_DIR_DBG) $(OUTPUT_DIR_STLDBG) \
$(OUTPUT_DIR_A) $(OUTPUT_DIR_A_DBG) $(OUTPUT_DIR_A_STLDBG)
else
OUTPUT_DIRS := $(OUTPUT_DIR) $(OUTPUT_DIR_DBG) \
$(OUTPUT_DIR_A) $(OUTPUT_DIR_A_DBG)
endif
ifndef WITHOUT_STLPORT
INSTALL_LIB_DIRS := $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG)
INSTALL_BIN_DIRS := $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG) $(INSTALL_BIN_DIR_STLDBG)
else
INSTALL_LIB_DIRS := $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG)
INSTALL_BIN_DIRS := $(INSTALL_BIN_DIR) $(INSTALL_BIN_DIR_DBG)
endif
# sort will remove duplicates:
OUTPUT_DIRS := $(sort $(OUTPUT_DIRS))
INSTALL_LIB_DIRS := $(sort $(INSTALL_LIB_DIRS))
INSTALL_BIN_DIRS := $(sort $(INSTALL_BIN_DIRS))
INSTALL_DIRS := $(sort $(INSTALL_LIB_DIRS) $(INSTALL_BIN_DIRS))
PHONY += $(OUTPUT_DIRS) $(INSTALL_DIRS) $(AUX_DIR)
define createdirs
@for d in $@ ; do \
if [ -e $$d -a -f $$d ] ; then \
echo "ERROR: Regular file $$d present, directory instead expected" ; \
exit 1; \
elif [ ! -d $$d ] ; then \
mkdir -p $$d ; \
fi ; \
done
endef
$(OUTPUT_DIRS):
$(createdirs)
$(INSTALL_DIRS):
$(createdirs)
$(AUX_DIR):
$(createdirs)
@@ -1,169 +0,0 @@
# Time-stamp: <07/05/30 23:59:42 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
PRGS_DIR_SRC =
define prog_
PRGS_DIR_SRC += $$(dir $${$(1)_SRC_CPP} $${$(1)_SRC_CC} $${$(1)_SRC_CXX} $${$(1)_SRC_C} $${$(1)_SRC_S} )
$(1)_ALLBASE := $$(basename $$(notdir $${$(1)_SRC_CC} $${$(1)_SRC_CPP} $${$(1)_SRC_CXX} $${$(1)_SRC_C} $${$(1)_SRC_S} ) )
$(1)_ALLOBJS := $$(addsuffix .o,$${$(1)_ALLBASE})
$(1)_ALLDEPS := $$(addsuffix .d,$${$(1)_ALLBASE})
$(1)_OBJ := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLOBJS})
$(1)_OBJ_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLOBJS})
$(1)_OBJ_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLOBJS})
$(1)_DEP := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLDEPS})
$(1)_DEP_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLDEPS})
$(1)_DEP_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLDEPS})
$(1)_RES := $$(addprefix $$(OUTPUT_DIR)/,$${$(1)_ALLRESS})
$(1)_RES_DBG := $$(addprefix $$(OUTPUT_DIR_DBG)/,$${$(1)_ALLRESS})
$(1)_RES_STLDBG := $$(addprefix $$(OUTPUT_DIR_STLDBG)/,$${$(1)_ALLRESS})
ifeq ("$$(sort $${$(1)_SRC_CC} $${$(1)_SRC_CPP} $${$(1)_SRC_CXX})","")
$(1)_NOT_USE_NOSTDLIB := 1
_$(1)_C_SOURCES_ONLY := true
endif
endef
$(foreach prg,$(PRGNAMES),$(eval $(call prog_,$(prg))))
# If we have no C++ sources, let's use C compiler for linkage instead of C++.
ifeq ("$(sort ${SRC_CC} ${SRC_CPP} ${SRC_CXX})","")
NOT_USE_NOSTDLIB := 1
_C_SOURCES_ONLY := true
endif
# if sources disposed in several dirs, calculate appropriate rules
DIRS_UNIQUE_SRC := $(dir $(SRC_CPP) $(SRC_CC) $(SRC_CXX) $(SRC_C) $(SRC_S) )
ifeq (${OSNAME},cygming)
DIRS_UNIQUE_SRC := ${DIRS_UNIQUE_SRC} $(dir $(SRC_RC) )
endif
DIRS_UNIQUE_SRC := $(sort $(DIRS_UNIQUE_SRC) $(PRGS_DIR_SRC))
# The rules below may be even simpler (i.e. define macro that generate
# rules for COMPILE.xx), but this GNU make 3.80 unhappy with it;
# GNU make 3.81 work fine, but 3.81 is new...
# The code below verbose, but this is price for compatibility with 3.80
define rule_o
$$(OUTPUT_DIR$(1))/%.o: $(2)%.cc
$$(COMPILE.cc) $$(OUTPUT_OPTION) $$<
$$(OUTPUT_DIR$(1))/%.d: $(2)%.cc
@$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
$$(OUTPUT_DIR$(1))/%.o: $(2)%.cpp
$$(COMPILE.cc) $$(OUTPUT_OPTION) $$<
$$(OUTPUT_DIR$(1))/%.d: $(2)%.cpp
@$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
$$(OUTPUT_DIR$(1))/%.o: $(2)%.cxx
$$(COMPILE.cc) $$(OUTPUT_OPTION) $$<
$$(OUTPUT_DIR$(1))/%.d: $(2)%.cxx
@$$(COMPILE.cc) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
$$(OUTPUT_DIR$(1))/%.o: $(2)%.c
$$(COMPILE.c) $$(OUTPUT_OPTION) $$<
$$(OUTPUT_DIR$(1))/%.d: $(2)%.c
@$$(COMPILE.c) $$(CCDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
$$(OUTPUT_DIR$(1))/%.o: $(2)%.s
$$(COMPILE.s) $$(OUTPUT_OPTION) $$<
$$(OUTPUT_DIR$(1))/%.o: $(2)%.S
$$(COMPILE.S) $$(OUTPUT_OPTION) $$<
$$(OUTPUT_DIR$(1))/%.d: $(2)%.S
@$$(COMPILE.S) $$(SDEPFLAGS) $$< $$(DP_OUTPUT_DIR$(1))
endef
define rule_rc
$$(OUTPUT_DIR$(1))/%.res: $(2)%.rc
$$(COMPILE.rc) $$(RC_OUTPUT_OPTION) $$<
endef
define rules_
$(call rule_o,,$(1))
ifneq ($(OUTPUT_DIR),$(OUTPUT_DIR_A))
$(call rule_o,_A,$(1))
endif
$(call rule_o,_DBG,$(1))
ifneq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG))
$(call rule_o,_A_DBG,$(1))
endif
ifndef WITHOUT_STLPORT
$(call rule_o,_STLDBG,$(1))
ifneq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG))
$(call rule_o,_A_STLDBG,$(1))
endif
endif
ifeq ($(OSNAME),cygming)
$(call rule_rc,,$(1))
$(call rule_rc,_DBG,$(1))
ifndef WITHOUT_STLPORT
$(call rule_rc,_STLDBG,$(1))
endif
endif
endef
$(foreach dir,$(DIRS_UNIQUE_SRC),$(eval $(call rules_,$(dir))))
ALLBASE := $(basename $(notdir $(SRC_CC) $(SRC_CPP) $(SRC_CXX) $(SRC_C) $(SRC_S)))
ifeq (${OSNAME},cygming)
RCBASE += $(basename $(notdir $(SRC_RC)))
endif
ALLOBJS := $(addsuffix .o,$(ALLBASE))
ALLDEPS := $(addsuffix .d,$(ALLBASE))
ALLRESS := $(addsuffix .res,$(RCBASE))
OBJ := $(addprefix $(OUTPUT_DIR)/,$(ALLOBJS))
OBJ_DBG := $(addprefix $(OUTPUT_DIR_DBG)/,$(ALLOBJS))
OBJ_STLDBG := $(addprefix $(OUTPUT_DIR_STLDBG)/,$(ALLOBJS))
DEP := $(addprefix $(OUTPUT_DIR)/,$(ALLDEPS))
DEP_DBG := $(addprefix $(OUTPUT_DIR_DBG)/,$(ALLDEPS))
DEP_STLDBG := $(addprefix $(OUTPUT_DIR_STLDBG)/,$(ALLDEPS))
RES := $(addprefix $(OUTPUT_DIR)/,$(ALLRESS))
RES_DBG := $(addprefix $(OUTPUT_DIR_DBG)/,$(ALLRESS))
RES_STLDBG := $(addprefix $(OUTPUT_DIR_STLDBG)/,$(ALLRESS))
ifeq ($(OUTPUT_DIR),$(OUTPUT_DIR_A))
OBJ_A := $(OBJ)
DEP_A := $(DEP)
else
OBJ_A := $(addprefix $(OUTPUT_DIR_A)/,$(ALLOBJS))
DEP_A := $(addprefix $(OUTPUT_DIR_A)/,$(ALLDEPS))
endif
ifeq ($(OUTPUT_DIR_DBG),$(OUTPUT_DIR_A_DBG))
OBJ_A_DBG := $(OBJ_DBG)
DEP_A_DBG := $(DEP_DBG)
else
OBJ_A_DBG := $(addprefix $(OUTPUT_DIR_A_DBG)/,$(ALLOBJS))
DEP_A_DBG := $(addprefix $(OUTPUT_DIR_A_DBG)/,$(ALLDEPS))
endif
ifeq ($(OUTPUT_DIR_STLDBG),$(OUTPUT_DIR_A_STLDBG))
OBJ_A_STLDBG := $(OBJ_STLDBG)
DEP_A_STLDBG := $(DEP_STLDBG)
else
OBJ_A_STLDBG := $(addprefix $(OUTPUT_DIR_A_STLDBG)/,$(ALLOBJS))
DEP_A_STLDBG := $(addprefix $(OUTPUT_DIR_A_STLDBG)/,$(ALLDEPS))
endif
-123
View File
@@ -1,123 +0,0 @@
# Time-stamp: <08/06/06 17:34:38 yeti>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
.SUFFIXES:
.SCCS_GET:
.RCS_GET:
PHONY ?=
RULESBASE ?= $(SRCROOT)/Makefiles
# include file, generated by configure, if available
-include ${RULESBASE}/gmake/config.mak
ifndef COMPILER_NAME
# gcc is default compiler, others specify explicitly;
COMPILER_NAME := gcc
endif
ifndef LDFLAGS
LDFLAGS :=
endif
ifndef ALL_TAGS
ifndef _NO_SHARED_BUILD
ALL_TAGS := release-shared
else
ALL_TAGS :=
endif
ifdef _STATIC_BUILD
ALL_TAGS += release-static
endif
ifndef _NO_DBG_BUILD
ifndef _NO_SHARED_BUILD
ALL_TAGS += dbg-shared
endif
ifdef _STATIC_BUILD
ALL_TAGS += dbg-static
endif
endif
ifndef _NO_STLDBG_BUILD
ifndef WITHOUT_STLPORT
ifndef _NO_SHARED_BUILD
ALL_TAGS += stldbg-shared
endif
ifdef _STATIC_BUILD
ALL_TAGS += stldbg-static
endif
endif
endif
endif
all: $(OUTPUT_DIRS) $(ALL_TAGS)
ifndef WITHOUT_STLPORT
all-static: release-static dbg-static stldbg-static
all-shared: release-shared dbg-shared stldbg-shared
else
all-static: release-static dbg-static
all-shared: release-shared dbg-shared
endif
ifdef WITHOUT_STLPORT
NOT_USE_NOSTDLIB := 1
endif
ifndef OSNAME
# identify OS and build date
include ${RULESBASE}/gmake/sysid.mak
endif
# OS-specific definitions, like ln, install, etc. (guest host)
include ${RULESBASE}/gmake/$(BUILD_OSNAME)/sys.mak
# target OS-specific definitions, like ar, etc.
include ${RULESBASE}/gmake/$(OSNAME)/targetsys.mak
# Extern projects for everyday usage and settings for ones
include ${RULESBASE}/gmake/extern.mak
# compiler, compiler options
include ${RULESBASE}/gmake/$(COMPILER_NAME).mak
# rules to make dirs for targets
include ${RULESBASE}/gmake/targetdirs.mak
# os-specific local rules (or other project-specific definitions)
-include specific.mak
LDFLAGS += ${EXTRA_LDFLAGS}
# derive common targets (*.o, *.d),
# build rules (including output catalogs)
include ${RULESBASE}/gmake/targets.mak
# dependency
include ${RULESBASE}/gmake/depend.mak
# general clean
include ${RULESBASE}/gmake/clean.mak
# if target is library, rules for library
ifdef LIBNAME
include ${RULESBASE}/gmake/lib/top.mak
endif
# if target is program, rules for executable
ifdef PRGNAME
include ${RULESBASE}/gmake/app/top.mak
else
ifdef PRGNAMES
include ${RULESBASE}/gmake/app/top.mak
endif
endif
.PHONY: $(PHONY)
@@ -1,85 +0,0 @@
# -*- makefile -*- Time-stamp: <06/11/02 10:37:02 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
DBG_SUFFIX ?= g
STLDBG_SUFFIX ?= stl${DBG_SUFFIX}
# Shared libraries:
ifndef LIB_MOTIF
SO_NAME := lib${LIBNAME}.$(SO)
else
SO_NAME := lib${LIBNAME}_${LIB_MOTIF}.${SO}
endif
SO_NAMEx := ${SO_NAME}.${MAJOR}
SO_NAMExx := ${SO_NAMEx}.${MINOR}
SO_NAMExxx := ${SO_NAMExx}.${PATCH}
SO_NAME_OUT := $(OUTPUT_DIR)/${SO_NAME}
SO_NAME_OUTx := $(OUTPUT_DIR)/${SO_NAMEx}
SO_NAME_OUTxx := $(OUTPUT_DIR)/${SO_NAMExx}
SO_NAME_OUTxxx := $(OUTPUT_DIR)/${SO_NAMExxx}
ifndef LIB_MOTIF
SO_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(SO)
else
SO_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}_${LIB_MOTIF}.$(SO)
endif
SO_NAME_DBGx := ${SO_NAME_DBG}.${MAJOR}
SO_NAME_DBGxx := ${SO_NAME_DBGx}.${MINOR}
SO_NAME_DBGxxx := ${SO_NAME_DBGxx}.${PATCH}
SO_NAME_OUT_DBG := $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}
SO_NAME_OUT_DBGx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}
SO_NAME_OUT_DBGxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}
SO_NAME_OUT_DBGxxx := $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxxx}
ifndef WITHOUT_STLPORT
ifndef LIB_MOTIF
SO_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(SO)
else
SO_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}_${LIB_MOTIF}.$(SO)
endif
SO_NAME_STLDBGx := ${SO_NAME_STLDBG}.${MAJOR}
SO_NAME_STLDBGxx := ${SO_NAME_STLDBGx}.${MINOR}
SO_NAME_STLDBGxxx := ${SO_NAME_STLDBGxx}.${PATCH}
SO_NAME_OUT_STLDBG := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}
SO_NAME_OUT_STLDBGx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}
SO_NAME_OUT_STLDBGxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}
SO_NAME_OUT_STLDBGxxx := $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxxx}
# WITHOUT_STLPORT
endif
# Static libraries:
ifndef LIB_MOTIF
A_NAME := lib${LIBNAME}.$(ARCH)
else
A_NAME := lib${LIBNAME}_${LIB_MOTIF}.$(ARCH)
endif
A_NAME_OUT := $(OUTPUT_DIR_A)/$(A_NAME)
ifndef LIB_MOTIF
A_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}.$(ARCH)
else
A_NAME_DBG := lib${LIBNAME}${DBG_SUFFIX}_${LIB_MOTIF}.$(ARCH)
endif
A_NAME_OUT_DBG := $(OUTPUT_DIR_A_DBG)/$(A_NAME_DBG)
ifndef WITHOUT_STLPORT
ifndef LIB_MOTIF
A_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}.$(ARCH)
else
A_NAME_STLDBG := lib${LIBNAME}${STLDBG_SUFFIX}_${LIB_MOTIF}.$(ARCH)
endif
A_NAME_OUT_STLDBG := $(OUTPUT_DIR_A_STLDBG)/$(A_NAME_STLDBG)
endif
@@ -1,173 +0,0 @@
# -*- makefile -*- Time-stamp: <07/12/12 01:52:19 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
ifndef INSTALL_TAGS
ifndef _NO_SHARED_BUILD
INSTALL_TAGS := install-release-shared
else
INSTALL_TAGS :=
endif
ifdef _STATIC_BUILD
INSTALL_TAGS += install-release-static
endif
ifndef _NO_DBG_BUILD
ifndef _NO_SHARED_BUILD
INSTALL_TAGS += install-dbg-shared
endif
ifdef _STATIC_BUILD
INSTALL_TAGS += install-dbg-static
endif
endif
ifndef _NO_STLDBG_BUILD
ifndef WITHOUT_STLPORT
ifndef _NO_SHARED_BUILD
INSTALL_TAGS += install-stldbg-shared
endif
ifdef _STATIC_BUILD
INSTALL_TAGS += install-stldbg-static
endif
endif
endif
endif
ifndef INSTALL_STRIP_TAGS
ifndef _NO_SHARED_BUILD
INSTALL_STRIP_TAGS := install-strip-shared
else
INSTALL_STRIP_TAGS :=
endif
ifdef _STATIC_BUILD
INSTALL_STRIP_TAGS += install-release-static
endif
ifndef _NO_DBG_BUILD
ifndef _NO_SHARED_BUILD
INSTALL_STRIP_TAGS += install-dbg-shared
endif
ifdef _STATIC_BUILD
INSTALL_STRIP_TAGS += install-dbg-static
endif
endif
ifndef _NO_STLDBG_BUILD
ifndef WITHOUT_STLPORT
ifndef _NO_SHARED_BUILD
INSTALL_STRIP_TAGS += install-stldbg-shared
endif
ifdef _STATIC_BUILD
INSTALL_STRIP_TAGS += install-stldbg-static
endif
endif
endif
endif
PHONY += install install-strip install-headers $(INSTALL_TAGS) $(INSTALL_STRIP_TAGS)
install: $(INSTALL_TAGS) install-headers
install-strip: $(INSTALL_STRIP_TAGS) install-headers
# Workaround for GNU make 3.80; see comments in rules-so.mak
define do_install_so_links
$${INSTALL_LIB_DIR$(1)}/$${SO_NAME$(1)xxx}: $${SO_NAME_OUT$(1)xxx}
$$(INSTALL_SO) $${SO_NAME_OUT$(1)xxx} $$(INSTALL_LIB_DIR$(1))
@$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx})
@$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx})
@$(call do_so_links_1,$$(INSTALL_LIB_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x})
endef
# Workaround for GNU make 3.80; see comments in rules-so.mak
define do_install_so_links_wk
# expand to nothing, if equal
ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_STLDBG}/${SO_NAME_STLDBGxxx})
# expand to nothing, if WITHOUT_STLPORT
ifndef WITHOUT_STLPORT
$(call do_install_so_links,$(1))
endif
endif
endef
# Workaround for GNU make 3.80; see comments in rules-so.mak
define do_install_so_links_wk2
# expand to nothing, if equal
ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_DBG}/${SO_NAME_DBGxxx})
$(call do_install_so_links,$(1))
endif
endef
$(eval $(call do_install_so_links,))
# ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_DBG}/${SO_NAME_DBGxxx})
# $(eval $(call do_install_so_links,_DBG))
$(eval $(call do_install_so_links_wk2,_DBG))
# endif
# ifneq (${INSTALL_LIB_DIR}/${SO_NAMExxx},${INSTALL_LIB_DIR_STLDBG}/${SO_NAME_STLDBGxxx})
# ifndef WITHOUT_STLPORT
$(eval $(call do_install_so_links_wk,_STLDBG))
# endif
# endif
install-release-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} install-headers
${POST_INSTALL}
install-strip-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} install-headers
${STRIP} ${_SO_STRIP_OPTION} $(INSTALL_LIB_DIR)/${SO_NAMExxx}
${POST_INSTALL}
install-dbg-shared: dbg-shared $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx}
${POST_INSTALL_DBG}
ifndef WITHOUT_STLPORT
install-stldbg-shared: stldbg-shared $(INSTALL_LIB_DIR_STLDBG) $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx}
${POST_INSTALL_STLDBG}
endif
define do_install_headers
if [ ! -d $(INSTALL_HDR_DIR) ]; then \
$(INSTALL_D) $(INSTALL_HDR_DIR) || { echo "Can't create $(INSTALL_HDR_DIR)"; exit 1; }; \
fi; \
for dd in $(HEADERS_BASE); do \
d=`dirname $$dd`; \
h=`basename $$dd`; \
f=`cd $$d; find $$h \( -wholename "*/.svn" -prune \) -o \( -type d -print \)`; \
for ddd in $$f; do \
if [ ! -d $(INSTALL_HDR_DIR)/$$ddd ]; then \
$(INSTALL_D) $(INSTALL_HDR_DIR)/$$ddd || { echo "Can't create $(INSTALL_HDR_DIR)/$$ddd"; exit 1; }; \
fi; \
done; \
f=`find $$dd \( -wholename "*/.svn*" -o -name "*~" -o -name "*.bak" \) -prune -o \( -type f -print \)`; \
for ff in $$f; do \
h=`echo $$ff | sed -e "s|$$d|$(INSTALL_HDR_DIR)|"`; \
$(INSTALL_F) $$ff $$h; \
done; \
done; \
for f in $(HEADERS); do \
h=`basename $$f`; \
$(INSTALL_F) $$f $(INSTALL_HDR_DIR)/$$h || { echo "Can't install $(INSTALL_HDR_DIR)/$$h"; exit 1; }; \
done
endef
# find $$dd \( -type f \( \! \( -wholename "*/.svn*" -o -name "*~" -o -name "*.bak" \) \) \) -print
# _HEADERS_FROM = $(shell for dd in $(HEADERS_BASE); do find $$dd \( -type f \( \! \( -wholename "*/.svn/*" -o -name "*~" -o -name "*.bak" \) \) \) -print ; done )
# _HEADERS_TO = $(foreach d,$(HEADERS_BASE),$(patsubst $(d)/%,$(BASE_INSTALL_DIR)include/%,$(_HEADERS_FROM)))
install-headers:
@$(do_install_headers)
@@ -1,76 +0,0 @@
# -*- makefile -*- Time-stamp: <06/12/12 09:43:02 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# Shared libraries tags
PHONY += release-shared dbg-shared stldbg-shared
release-shared: $(EXTRA_PRE) $(OUTPUT_DIR) ${SO_NAME_OUTxxx} $(EXTRA_POST)
dbg-shared: $(EXTRA_PRE_DBG) $(OUTPUT_DIR_DBG) ${SO_NAME_OUT_DBGxxx} $(EXTRA_POST_DBG)
ifndef WITHOUT_STLPORT
stldbg-shared: $(EXTRA_PRE_STLDBG) $(OUTPUT_DIR_STLDBG) ${SO_NAME_OUT_STLDBGxxx} $(EXTRA_POST_STLDBG)
endif
define do_so_links_1
if [ -h $(1)/$(2) ]; then \
if [ `readlink $(1)/$(2)` != "$(3)" ]; then \
rm $(1)/$(2); \
ln -s $(3) $(1)/$(2); \
fi; \
else \
ln -s $(3) $(1)/$(2); \
fi;
endef
# Workaround for GNU make 3.80: it fail on 'eval' within 'if'
# directive after some level of complexity, i.e. after complex
# rules it fails on code:
#
# $(eval $(call do_so_links,cc,))
# $(eval $(call do_so_links,cc,_DBG))
# ifndef WITHOUT_STLPORT
# $(eval $(call do_so_links,cc,_STLDBG))
# endif
#
# Put 'if' logic into defined macro looks as workaround.
#
# The GNU make 3.81 free from this problem, but it new...
define do_so_links
$${SO_NAME_OUT$(1)xxx}: $$(OBJ$(1)) $$(LIBSDEP)
ifeq ("${_C_SOURCES_ONLY}","")
ifneq ($(COMPILER_NAME),bcc)
$$(LINK.cc) $$(LINK_OUTPUT_OPTION) $${START_OBJ} $$(OBJ$(1)) $$(LDLIBS) $${STDLIBS} $${END_OBJ}
else
$$(LINK.cc) $${START_OBJ} $$(OBJ$(1)) $${END_OBJ}, $$(LINK_OUTPUT_OPTION), , $$(LDLIBS) $${STDLIBS}
endif
else
$$(LINK.c) $$(LINK_OUTPUT_OPTION) $$(OBJ$(1)) $$(LDLIBS)
endif
@$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)xx},$${SO_NAME$(1)xxx})
@$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)x},$${SO_NAME$(1)xx})
@$(call do_so_links_1,$$(OUTPUT_DIR$(1)),$${SO_NAME$(1)},$${SO_NAME$(1)x})
endef
define do_so_links_wk
# expand to nothing, if WITHOUT_STLPORT
ifndef WITHOUT_STLPORT
$(call do_so_links,$(1))
endif
endef
$(eval $(call do_so_links,))
$(eval $(call do_so_links,_DBG))
# ifndef WITHOUT_STLPORT
$(eval $(call do_so_links_wk,_STLDBG))
# endif
-100
View File
@@ -1,100 +0,0 @@
# Time-stamp: <07/03/08 21:41:52 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
#INCLUDES = -I$(SRCROOT)/include
#INCLUDES :=
CXX := cl.exe
CC := cl.exe
LINK := link.exe
RC := rc.exe
DEFS ?=
OPT ?=
# OUTPUT_OPTION = /Fo$@
release-shared: OUTPUT_OPTION = /Fo$@
release-static: OUTPUT_OPTION = /Fo$@
dbg-shared : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_DBG}"
stldbg-shared : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_STLDBG}"
dbg-static : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_A_DBG}"
stldbg-static : OUTPUT_OPTION = /Fo$@ /Fd"${OUTPUT_DIR_A_STLDBG}"
LINK_OUTPUT_OPTION = /OUT:$@
RC_OUTPUT_OPTION = /fo $@
DEFS += /D "WIN32" /D "_WINDOWS"
CPPFLAGS = $(DEFS) $(INCLUDES)
CFLAGS = /nologo /TC /W3 /GR /GX /Zm800 $(OPT)
CXXFLAGS = /nologo /TP /W3 /GR /GX /Zm800 $(OPT)
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) /c
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) /c
LINK.cc = $(LINK) /nologo $(LDFLAGS) $(TARGET_ARCH)
COMPILE.rc = $(RC) $(RCFLAGS)
CDEPFLAGS = /FD /E
CCDEPFLAGS = /FD /E
# STLport DEBUG mode specific defines
stldbg-static : DEFS += /D_DEBUG /D "_STLP_DEBUG"
stldbg-shared : DEFS += /D_DEBUG /D "_STLP_DEBUG"
stldbg-static-dep : DEFS += /D_DEBUG /D "_STLP_DEBUG"
stldbg-shared-dep : DEFS += /D_DEBUG /D "_STLP_DEBUG"
dbg-static : DEFS += /D_DEBUG
dbg-shared : DEFS += /D_DEBUG
dbg-static-dep : DEFS += /D_DEBUG
dbg-shared-dep : DEFS += /D_DEBUG
release-static : DEFS += /DNDEBUG
release-shared : DEFS += /DNDEBUG
release-static-dep : DEFS += /DNDEBUG
release-shared-dep : DEFS += /DNDEBUG
# optimization and debug compiler flags
release-static : OPT += /O2 /Og
release-shared : OPT += /O2 /Og
dbg-static : OPT += /Zi
dbg-shared : OPT += /Zi
#dbg-static-dep : OPT += -g
#dbg-shared-dep : OPT += -g
stldbg-static : OPT += /Zi
stldbg-shared : OPT += /Zi
#stldbg-static-dep : OPT += -g
#stldbg-shared-dep : OPT += -g
# dependency output parser (dependencies collector)
# oh, there VC is no mode has no options to print dependencies
# in more-or-less acceptable format. I use VC as preprocessor
# and see first line (here VC print file name).
# bug here: if no dependencies:
# ---------------------------------
# int main() { return 0; }
# ---------------------------------
# this sed script produce wrong output
# ---------------------------------
# obj/vc6/shared/xx.o obj/vc6/shared/xx.d : obj/vc6/shared/xx.cpp \
# ---------------------------------
# (wrong backslash at eol)
DP_OUTPUT_DIR = | grep "^\#line 1 " | (echo -e 's|\([a-zA-Z]\):|/cygdrive/\1|g\nt next\n: next\n1s|^\#line 1 \(.*\)|$(OUTPUT_DIR)/$*.o $@ : $< \\\\|\nt\n$$s|^\#line 1 "\(.*\)"|\1|g\nt space\ns|^\#line 1 "\(.*\)"|\1\\\\|g\nt space\nd\n: space\ns| |\\\\ |g\ns|^| |\ns|\\\\\\\\|/|g\n' > $(OUTPUT_DIR)/tmp.sed; sed -f $(OUTPUT_DIR)/tmp.sed; rm -f $(OUTPUT_DIR)/tmp.sed ) > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_DBG = | grep "^\#line 1 " | (echo -e 's|\([a-zA-Z]\):|/cygdrive/\1|g\nt next\n: next\n1s|^\#line 1 \(.*\)|$(OUTPUT_DIR_DBG)/$*.o $@ : $< \\\\|\nt\n$$s|^\#line 1 "\(.*\)"|\1|g\nt space\ns|^\#line 1 "\(.*\)"|\1\\\\|g\nt space\nd\n: space\ns| |\\\\ |g\ns|^| |\ns|\\\\\\\\|/|g\n' > $(OUTPUT_DIR_DBG)/tmp.sed; sed -f $(OUTPUT_DIR_DBG)/tmp.sed; rm -f $(OUTPUT_DIR_DBG)/tmp.sed ) > $@; \
[ -s $@ ] || rm -f $@
DP_OUTPUT_DIR_STLDBG = | grep "^\#line 1 " | (echo -e 's|\([a-zA-Z]\):|/cygdrive/\1|g\nt next\n: next\n1s|^\#line 1 \(.*\)|$(OUTPUT_DIR_STLDBG)/$*.o $@ : $< \\\\|\nt\n$$s|^\#line 1 "\(.*\)"|\1|g\nt space\ns|^\#line 1 "\(.*\)"|\1\\\\|g\nt space\nd\n: space\ns| |\\\\ |g\ns|^| |\ns|\\\\\\\\|/|g\n' > $(OUTPUT_DIR_STLDBG)/tmp.sed; sed -f $(OUTPUT_DIR_STLDBG)/tmp.sed; rm -f $(OUTPUT_DIR_STLDBG)/tmp.sed ) > $@; \
[ -s $@ ] || rm -f $@
@@ -1,50 +0,0 @@
# -*- makefile -*- Time-stamp: <03/10/26 16:17:03 ptr>
# $Id$
clobber: clean
@if exist $(PRG) del /F /Q $(PRG)
@if exist $(PRG_DBG) del /F /Q $(PRG_DBG)
@if exist $(PRG_STLDBG) del /F /Q $(PRG_STLDBG)
@if exist $(PRG_A) del /F /Q $(PRG_A)
@if exist $(PRG_A_DBG) del /F /Q $(PRG_A_DBG)
@if exist $(PRG_A_STLDBG) del /F /Q $(PRG_A_STLDBG)
@if exist $(PDB_NAME_OUT) del /F /Q $(PDB_NAME_OUT)
@if exist $(PDB_NAME_OUT_DBG) del /F /Q $(PDB_NAME_OUT_DBG)
@if exist $(PDB_NAME_OUT_STLDBG) del /F /Q $(PDB_NAME_OUT_STLDBG)
@if exist $(MANIFEST_NAME_OUT) del /F /Q $(MANIFEST_NAME_OUT)
@if exist $(MANIFEST_NAME_OUT_DBG) del /F /Q $(MANIFEST_NAME_OUT_DBG)
@if exist $(MANIFEST_NAME_OUT_STLDBG) del /F /Q $(MANIFEST_NAME_OUT_STLDBG)
@if exist $(A_PDB_NAME_OUT) del /F /Q $(A_PDB_NAME_OUT)
@if exist $(A_PDB_NAME_OUT_DBG) del /F /Q $(A_PDB_NAME_OUT_DBG)
@if exist $(A_PDB_NAME_OUT_STLDBG) del /F /Q $(A_PDB_NAME_OUT_STLDBG)
@-if exist $(OUTPUT_DIR) rd $(OUTPUT_DIR)
@-if exist $(OUTPUT_DIR_DBG) rd $(OUTPUT_DIR_DBG)
@-if exist $(OUTPUT_DIR_STLDBG) rd $(OUTPUT_DIR_STLDBG)
@-if exist $(OUTPUT_DIR_A) rd $(OUTPUT_DIR_A)
@-if exist $(OUTPUT_DIR_A_DBG) rd $(OUTPUT_DIR_A_DBG)
@-if exist $(OUTPUT_DIR_A_STLDBG) rd $(OUTPUT_DIR_A_STLDBG)
@-if exist $(OUTPUT_TARGET_DIR) rd $(OUTPUT_TARGET_DIR)
@-if exist $(OUTPUT_ROOT_DIR) rd $(OUTPUT_ROOT_DIR)
distclean: clobber
@if exist $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE) del /F /Q $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE)
@if exist $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE) del /F /Q $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE)
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE) del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE)
@if exist $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE)$(EXE) del /F /Q $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE)$(EXE)
@if exist $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE)$(EXE) del /F /Q $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE)$(EXE)
@if exist $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE)$(EXE) del /F /Q $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE)$(EXE)
@if exist $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE).pdb del /F /Q $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE).pdb
@if exist $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE).pdb del /F /Q $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE).pdb
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE).pdb del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE).pdb
@if exist $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE).pdb del /F /Q $(INSTALL_STATIC_BIN_DIR)\$(PRG_NAME_A_BASE).pdb
@if exist $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE).pdb del /F /Q $(INSTALL_STATIC_BIN_DIR_DBG)\$(PRG_NAME_A_DBG_BASE).pdb
@if exist $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE).pdb del /F /Q $(INSTALL_STATIC_BIN_DIR_STLDBG)\$(PRG_NAME_A_STLDBG_BASE).pdb
@if exist $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE).manifest del /F /Q $(INSTALL_BIN_DIR)\$(PRG_NAME_BASE)$(EXE).manifest
@if exist $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE).manifest del /F /Q $(INSTALL_BIN_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE).manifest
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE).manifest del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE).manifest
@-if exist $(INSTALL_BIN_DIR) rd $(INSTALL_BIN_DIR)
@-if exist $(INSTALL_BIN_DIR_DBG) rd $(INSTALL_BIN_DIR_DBG)
@-if exist $(INSTALL_BIN_DIR_STLDBG) rd $(INSTALL_BIN_DIR_STLDBG)
@-if exist $(INSTALL_STATIC_BIN_DIR) rd $(INSTALL_STATIC_BIN_DIR)
@-if exist $(INSTALL_STATIC_BIN_DIR_DBG) rd $(INSTALL_STATIC_BIN_DIR_DBG)
@-if exist $(INSTALL_STATIC_BIN_DIR_STLDBG) rd $(INSTALL_STATIC_BIN_DIR_STLDBG)
@@ -1,15 +0,0 @@
# -*- makefile -*- Time-stamp: <04/05/01 00:46:25 ptr>
# $Id$
# missing defines in this file: LDFLAGS_COMMON
# For CE, the linker by default uses WinMain() as entry point, using this we make it use the standard main()
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /entry:"mainACRTStartup"
!ifndef LDLIBS
LDLIBS =
!endif
LDFLAGS_REL = $(LDFLAGS_REL) $(LDFLAGS_COMMON) $(LDSEARCH)
LDFLAGS_DBG = $(LDFLAGS_DBG) $(LDFLAGS_COMMON) $(LDSEARCH)
LDFLAGS_STLDBG = $(LDFLAGS_STLDBG) $(LDFLAGS_COMMON) $(LDSEARCH)
@@ -1,7 +0,0 @@
# -*- makefile -*- Time-stamp: <04/05/01 00:46:25 ptr>
# $Id$
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /base:"0x00010000"
!include evc-common.mak
@@ -1,6 +0,0 @@
# -*- makefile -*- Time-stamp: <04/03/31 08:08:12 ptr>
# $Id$
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /base:"0x00010000"
!include evc-common.mak
@@ -1,5 +0,0 @@
# build/Makefiles/nmake/app/evc8.mak
LDFLAGS_COMMON = $(LDFLAGS_COMMON)
!include evc-common.mak
@@ -1,5 +0,0 @@
# build/Makefiles/nmake/app/evc9.mak
LDFLAGS_COMMON = $(LDFLAGS_COMMON)
!include evc-common.mak
@@ -1,2 +0,0 @@
!include vc-common.mak
@@ -1,29 +0,0 @@
# -*- makefile -*- Time-stamp: <03/09/28 17:22:37 ptr>
# $Id$
DBG_SUFFIX = d
STLDBG_SUFFIX = stl$(DBG_SUFFIX)
PRG_NAME_BASE = $(PRGNAME)
PRG_NAME_DBG_BASE = $(PRGNAME)$(DBG_SUFFIX)
PRG_NAME_STLDBG_BASE = $(PRGNAME)$(STLDBG_SUFFIX)
PRG_NAME_A_BASE = $(PRGNAME)_static
PRG_NAME_A_DBG_BASE = $(PRGNAME)$(DBG_SUFFIX)_static
PRG_NAME_A_STLDBG_BASE = $(PRGNAME)$(STLDBG_SUFFIX)_static
PRG = $(OUTPUT_DIR)\$(PRG_NAME_BASE)$(EXE)
PRG_DBG = $(OUTPUT_DIR_DBG)\$(PRG_NAME_DBG_BASE)$(EXE)
PRG_STLDBG = $(OUTPUT_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE)$(EXE)
PRG_A = $(OUTPUT_DIR_A)\$(PRG_NAME_A_BASE)$(EXE)
PRG_A_DBG = $(OUTPUT_DIR_A_DBG)\$(PRG_NAME_A_DBG_BASE)$(EXE)
PRG_A_STLDBG = $(OUTPUT_DIR_A_STLDBG)\$(PRG_NAME_A_STLDBG_BASE)$(EXE)
PDB_NAME_OUT = $(OUTPUT_DIR)\$(PRG_NAME_BASE).pdb
PDB_NAME_OUT_DBG = $(OUTPUT_DIR_DBG)\$(PRG_NAME_DBG_BASE).pdb
PDB_NAME_OUT_STLDBG = $(OUTPUT_DIR_STLDBG)\$(PRG_NAME_STLDBG_BASE).pdb
MANIFEST_NAME_OUT = $(PRG).manifest
MANIFEST_NAME_OUT_DBG = $(PRG_DBG).manifest
MANIFEST_NAME_OUT_STLDBG = $(PRG_STLDBG).manifest
A_PDB_NAME_OUT = $(OUTPUT_DIR_A)\$(PRG_NAME_A_BASE).pdb
A_PDB_NAME_OUT_DBG = $(OUTPUT_DIR_A_DBG)\$(PRG_NAME_A_DBG_BASE).pdb
A_PDB_NAME_OUT_STLDBG = $(OUTPUT_DIR_A_STLDBG)\$(PRG_NAME_A_STLDBG_BASE).pdb
@@ -1,29 +0,0 @@
# -*- makefile -*- Time-stamp: <03/10/26 23:11:03 ptr>
# $Id$
release-shared: $(OUTPUT_DIR) $(PRG)
release-static: $(OUTPUT_DIR_A) $(PRG_A)
dbg-shared: $(OUTPUT_DIR_DBG) $(PRG_DBG)
dbg-static: $(OUTPUT_DIR_A_DBG) $(PRG_A_DBG)
stldbg-shared: $(OUTPUT_DIR_STLDBG) $(PRG_STLDBG)
stldbg-static: $(OUTPUT_DIR_A_STLDBG) $(PRG_A_STLDBG)
$(PRG): $(OBJ) $(LIBSDEP)
$(LINK_cc_REL) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS_REL) $(LDLIBS)
$(PRG_A): $(OBJ_A) $(LIBSDEP)
$(LINK_cc_A_REL) $(LINK_OUTPUT_OPTION) $(OBJ_A) $(LDLIBS_A_REL) $(LDLIBS)
$(PRG_DBG): $(OBJ_DBG) $(LIBSDEP)
$(LINK_cc_DBG) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(LDLIBS_DBG) $(LDLIBS)
$(PRG_A_DBG): $(OBJ_A_DBG) $(LIBSDEP)
$(LINK_cc_A_DBG) $(LINK_OUTPUT_OPTION) $(OBJ_A_DBG) $(LDLIBS_A_DBG) $(LDLIBS)
$(PRG_STLDBG): $(OBJ_STLDBG) $(LIBSDEP)
$(LINK_cc_STLDBG) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS_STLDBG) $(LDLIBS)
$(PRG_A_STLDBG): $(OBJ_A_STLDBG) $(LIBSDEP)
$(LINK_cc_A_STLDBG) $(LINK_OUTPUT_OPTION) $(OBJ_A_STLDBG) $(LDLIBS_A_STLDBG) $(LDLIBS)
@@ -1,16 +0,0 @@
# Time-stamp: <03/10/17 19:29:26 ptr>
# $Id$
install-static: install-release-static install-dbg-static install-stldbg-static
install-release-static: release-static $(INSTALL_STATIC_BIN_DIR)
$(INSTALL_A) $(PRG_A) $(INSTALL_STATIC_BIN_DIR)
@if exist $(A_PDB_NAME_OUT) $(INSTALL_A) $(A_PDB_NAME_OUT) $(INSTALL_STATIC_BIN_DIR)
install-dbg-static: dbg-static $(INSTALL_STATIC_BIN_DIR_DBG)
$(INSTALL_A) $(PRG_A_DBG) $(INSTALL_STATIC_BIN_DIR_DBG)
@if exist $(A_PDB_NAME_OUT_DBG) $(INSTALL_A) $(A_PDB_NAME_OUT_DBG) $(INSTALL_STATIC_BIN_DIR_DBG)
install-stldbg-static: stldbg-static $(INSTALL_STATIC_BIN_DIR_STLDBG)
$(INSTALL_A) $(PRG_A_STLDBG) $(INSTALL_STATIC_BIN_DIR_STLDBG)
@if exist $(A_PDB_NAME_OUT_STLDBG) $(INSTALL_A) $(A_PDB_NAME_OUT_STLDBG) $(INSTALL_STATIC_BIN_DIR_STLDBG)
@@ -1,23 +0,0 @@
# Time-stamp: <03/10/26 16:42:14 ptr>
# $Id$
!ifndef INSTALL_TAGS
INSTALL_TAGS= install-shared install-static
!endif
install: $(INSTALL_TAGS)
install-release-shared: release-shared $(INSTALL_BIN_DIR)
$(INSTALL_SO) $(PRG) $(INSTALL_BIN_DIR)
$(INSTALL_SO) $(PDB_NAME_OUT) $(INSTALL_BIN_DIR)
@if exist $(MANIFEST_NAME_OUT) $(INSTALL_SO) $(MANIFEST_NAME_OUT) $(INSTALL_BIN_DIR)
install-dbg-shared: dbg-shared $(INSTALL_BIN_DIR_DBG)
$(INSTALL_SO) $(PRG_DBG) $(INSTALL_BIN_DIR_DBG)
$(INSTALL_SO) $(PDB_NAME_OUT_DBG) $(INSTALL_BIN_DIR_DBG)
@if exist $(MANIFEST_NAME_OUT_DBG) $(INSTALL_SO) $(MANIFEST_NAME_OUT_DBG) $(INSTALL_BIN_DIR_DBG)
install-stldbg-shared: stldbg-shared $(INSTALL_BIN_DIR_STLDBG)
$(INSTALL_SO) $(PRG_STLDBG) $(INSTALL_BIN_DIR_STLDBG)
$(INSTALL_SO) $(PDB_NAME_OUT_STLDBG) $(INSTALL_BIN_DIR_STLDBG)
@if exist $(MANIFEST_NAME_OUT_STLDBG) $(INSTALL_SO) $(MANIFEST_NAME_OUT_STLDBG) $(INSTALL_BIN_DIR_STLDBG)
@@ -1,15 +0,0 @@
# -*- makefile -*- Time-stamp: <03/09/28 18:46:10 ptr>
# $Id$
!ifndef LDFLAGS
LDFLAGS =
!endif
!include $(RULESBASE)/$(USE_MAKE)/app/macro.mak
!include $(RULESBASE)/$(USE_MAKE)/app/$(COMPILER_NAME).mak
!include $(RULESBASE)/$(USE_MAKE)/app/rules-exe-$(OSNAME).mak
!include $(RULESBASE)/$(USE_MAKE)/app/rules-install-so.mak
!include $(RULESBASE)/$(USE_MAKE)/app/rules-install-a.mak
!include $(RULESBASE)/$(USE_MAKE)/app/clean.mak
@@ -1,13 +0,0 @@
# -*- makefile -*- Time-stamp: <03/09/28 17:34:35 ptr>
# $Id$
!ifndef LDLIBS
LDLIBS =
!endif
#LDSEARCH = $(LDSEARCH) /LIBPATH:"$(MSVC_LIB_DIR)"
LDFLAGS_REL = $(LDFLAGS_REL) $(LDSEARCH)
LDFLAGS_A_REL = $(LDFLAGS_A_REL) $(LDSEARCH)
LDFLAGS_DBG = $(LDFLAGS_DBG) $(LDSEARCH)
LDFLAGS_STLDBG = $(LDFLAGS_STLDBG) $(LDSEARCH)
Loaded 100 of 3321 files, more files were not shown because too many files have changed in this diff. Show more