Compare commits

..
Author SHA1 Message Date
SirKnightly 7f088b5282 Automated build commit 2017-08-14 18:08:59 -04: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
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
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
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
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
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
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
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
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
asarium 550f459747 Fix SFTP path and mac upload 2017-07-07 18:03:07 +02: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
asarium e04c60ed6f Align special characters to the base line of the rendered string 2017-07-05 18:13:45 +02: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
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
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
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
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
Goober5000 e8313fa577 fix handling of arguments for sexps that use variables 2017-06-19 20:04:15 -04:00
asarium 5a8454e956 Fix inverted "Has shields" flag in initial status dialog 2017-06-17 18:18:12 +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
TRBlount 48f76f7cd1 Fix l_weapon Team set var logic 2017-06-13 20:31:51 -06: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 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 9447d74da8 Merge pull request #1367 from Goober5000/invisible_beam_section_fix
Invisible beam section fix
2017-06-09 23:51:31 +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 aac3bbde8e Remove abort call from debug_int3
This fixes #1366.
2017-06-09 10:19:48 +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
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
Fabian Woltermann 47bd990bca Handle ships removed from play via ship-vanish correctly in ai goal processing. 2017-06-05 15:00:10 +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
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
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
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
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 e4775948d7 Remove include of OpenGL header in non-OpenGL code 2017-05-28 10:35:33 +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 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
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 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 189275da56 Merge pull request #56 from asarium/coverity/1093600
Fix for Coverity 1093600: Negative array index read
2015-05-03 21:57:23 +02:00
Fabian Woltermann 4c7d80cba8 Merge pull request #63 from asarium/coverity/1093530
Fix for Coverity 1093530: Negative array index read
2015-05-03 21:56:16 +02:00
Fabian Woltermann 4a14e26256 Merge pull request #64 from asarium/coverity/1093515
Fix for Coverity 1093515: Negative array index read
2015-05-03 21:55:50 +02:00
Fabian Woltermann 0fc8e53f5f Merge pull request #65 from asarium/coverity/1237276
Fix for Coverity 1237276: Uninitialized scalar field
2015-05-03 21:55:04 +02:00
Fabian Woltermann ba2a1c9e7d Merge pull request #62 from asarium/coverity/1093555
Fix for Coverity 1093555: Negative array index read
2015-05-03 21:53:56 +02:00
Fabian Woltermann 115a2979b1 Merge pull request #67 from asarium/fix/aigoals
Fix usage of negative index
2015-05-03 21:53:01 +02:00
asarium e9b9797b6e Fix usage of negative index
I have no idea why this didn't cause any issues earlier...
2015-05-03 21:27:23 +02: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
asarium da0ef89ac5 Fix for Coverity 1237276: Uninitialized scalar field
The field will contain an arbitrary value left over from earlier computations.
In subtitle::​subtitle(int, int, char const*, char const*, float, float, color const*, int, bool, bool, int, int, bool): A scalar field is not initialized by the constructor
2015-05-03 14:55:06 +02:00
asarium fe49ef63aa Fix for Coverity 1093515: Negative array index read
A memory location at a negative offset from the beginning of the array will be read, resulting in incorrect values.
In multi_options_process_packet(unsigned char *, header *): Negative value used to index an array in a read operation
2015-05-03 14:44:26 +02:00
asarium f51bc78126 Fix for Coverity 1093530: Negative array index read
A memory location at a negative offset from the beginning of the array will be read, resulting in incorrect values.
In message_queue_process(): Negative value used to index an array in a read operation
2015-05-03 14:34:06 +02:00
m!m 711c7a7bf8 Merge pull request #61 from niffiwan/coverity-1093565
Fix Coverity 1093565: Negative array index read
2015-05-03 04:27:22 -07:00
asarium ca16b4710d Fix for Coverity 1093555: Negative array index read
A memory location at a negative offset from the beginning of the array will be read, resulting in incorrect values.
In multi_create_standalone_object(): Negative value used to index an array in a read operation

observer_create() will only fail in exceptional circumstances so a showing an error dialog should be acceptable
2015-05-03 13:12:23 +02:00
niffiwan 471cf4c988 Fix Coverity 1093565: Negative array index read
Add an assertion to catch any callers that haven't correctly set
the target_name. Also fix a minor typo in the comments
2015-05-03 20:31:16 +10:00
Goober5000 d734a36940 Merge pull request #60 from niffiwan/coverity-1093484
Fix Coverity 1093484
2015-05-03 02:14:34 -04:00
niffiwan 25079f5ed2 Fix Coverity 1093484
time_t is 64bit on 64bit systems; casting a pointer to a larger type is
dangerous, but assigning to a larger type should be fine
2015-05-03 15:42:25 +10:00
Goober5000 f0a0632d9d Merge pull request #51 from asarium/coverity/1093689
Fix for Coverity 1093689: Resource leak
2015-05-02 23:47:28 -04: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
asarium 3528dffabd Fix for Coverity 1093587: Negative array index read
The random value shouldn't be used if there are no countermeasures so this shouldn't cause any issues.
2015-05-02 23:53:39 +02:00
Swifty c620372357 Soft shadows, deferred lighting, and various major graphics optimizations. 2015-05-02 14:35:37 -07:00
asarium 2aa569c1e7 Fix for Coverity 1093600: Negative array index read
hud_squadmsg_is_target_order_valid already checks if ainfo->target_objnum is less than zero so that check is not needed
2015-05-02 23:14:59 +02:00
Goober5000 584ec36f62 Merge pull request #53 from asarium/coverity/1093688
Fix for Coverity 1093688: Resource leak
2015-05-02 15:45:50 -04:00
Goober5000 93c46bd1f9 Merge pull request #55 from asarium/coverity/1093606
Fix for Coverity 1093606: Negative array index read
2015-05-02 15:45:17 -04:00
Goober5000 b6cc62c435 Merge pull request #54 from asarium/coverity/1093683
Fix for Coverity 1093683: Resource leak
2015-05-02 15:44:26 -04:00
asarium 00a288d53e Fix for Coverity 1093606: Negative array index read 2015-05-02 19:41:55 +02:00
asarium 4bfea90a17 Fix for Coverity 1093683: Resource leak 2015-05-02 19:32:39 +02:00
asarium aef3e3ac36 Fix for Coverity 1093688: Resource leak 2015-05-02 19:24:57 +02:00
asarium a7398d7f5c Fix for Coverity 1093689: Resource leak 2015-05-02 18:19:28 +02: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
Fabian Woltermann e2d740513a Merge pull request #47 from MageKing17/mantis/2971
Fix for 2971 from MageKing17: Stop executing HUD code when running as standalone.
2015-05-01 08:27:01 +02:00
MageKing17 1a29b395ab Stop standalones from executing hud_shield_quadrant_hit().
Also add some assertions to avoid (or at least help detect) similar errors in the future. Should fix Mantis 2971.
2015-04-30 22:10:17 -07:00
Goober5000 b2e01d6173 Merge pull request #42 from MageKing17/argument_sexps
*-argument sexp short-circuiting
2015-04-30 22:46:38 -04:00
Me bc17966b08 Merge pull request #46 from DahBlount/recoil
Feature: add primary weapon recoil
2015-05-01 08:02:53 +10:00
MageKing17 be9990f6a5 Fix cf_file_exists().
Was passing the pointer to *size instead of *offset, so instead of seeing if the file didn't have an offset, we were checking if it didn't have a size.
2015-04-29 23:21:49 -07:00
niffiwan c5bddac8fb Merge pull request #43 from niffiwan/cpp11_mk2
Cpp11 support for GCC
2015-04-30 14:36:20 +10:00
DahBlount 3de25b7e3a modifier value changes
We don't want to change things at run time so initialize them to
non-zero values.
2015-04-29 18:11:16 -07:00
DahBlount 2768863c36 Add ship_recoil_modifier 2015-04-29 18:01:52 -07:00
DahBlount 7b78df2363 Add "apply recoil" flag and modifier
This adds the "apply recoil" weapon flag and $Recoil Modifier:
weapons.tbl entry.
2015-04-29 17:26:33 -07:00
MageKing17 d84736be1c Revert "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."
This reverts commit 5042c44904.

(Apparently, "git revert" on a range is only inclusive of the end commit, not the starting commit.)
2015-04-29 16:35:41 -07:00
MageKing17 1591237acf Reverting recent string of commits.
Since they didn't go through code review (and break compilation), reverting the recent string of commits (just used "git revert -n 5042c44..05b4635").
2015-04-29 16:19:59 -07:00
zookeeper 05b4635048 Added bay arrive/depart speed multipliers to +Path Metadata.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@11271 387891d4-d844-0410-90c0-e4c51a9137d3

Conflicts:
	code/ai/ai_profiles.cpp
2015-04-29 23:19:02 +03:00
zookeeper eef1041323 Initialize bay_arrive_speed_mult and bay_depart_speed_mult.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10731 387891d4-d844-0410-90c0-e4c51a9137d3

Conflicts:
	code/ai/ai_profiles.cpp
2015-04-29 23:17:51 +03:00
zookeeper 18058a45f7 Added ai_profiles.tbl options to force AI ships flying bay paths to gradually accelerate/decelerate instead of flying the path at max speed.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10422 387891d4-d844-0410-90c0-e4c51a9137d3

Conflicts:
	code/ai/ai_profiles.cpp
2015-04-29 23:16:55 +03:00
zookeeper fbb76863fd Probably fixed a bug with the next/prev subsystem targeting keys not working if the target only has one subsystem.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@11209 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 23:12:42 +03:00
zookeeper 400fd0f9a8 Fixed $Thruster Glow Noise Mult not having effect in the ship lab.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10789 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 23:07:41 +03:00
zookeeper b18337754d Added a $Model Icon Direction ship table entry for overriding the angle from which ship icons are rendered from.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10612 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 23:04:25 +03:00
zookeeper 92a28b71cb Added a $Thruster Glow Noise Mult ship table entry for decreasing/increasing the effect of noise applied to the glow radius.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10610 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 23:04:24 +03:00
zookeeper 0656175a72 Added a $Minimum Engine Volume ship table entry for specifying the minimum engine sound volume used when ship is stationary.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@10609 387891d4-d844-0410-90c0-e4c51a9137d3

Conflicts:
	code/object/objectsnd.cpp
2015-04-29 23:04:23 +03:00
zookeeper dc820fdfc1 Avoid loading the anchor ship model multiple times when resolving path masks.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@11235 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 22:45:57 +03:00
zookeeper 5042c44904 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.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@11256 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 22:42:58 +03:00
Lari Nieminen 91000b4468 Revert "Fixed +Spread From LOD not working right."
This reverts commit 4b15ec4e75.
2015-04-29 22:41:17 +03:00
Lari Nieminen 91614162f2 Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-04-29 22:38:05 +03:00
zookeeper 4b15ec4e75 Fixed +Spread From LOD not working right.
git-svn-id: svn://svn.icculus.org/fs2open/branches/zookeeper@11268 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-29 22:36:43 +03:00
MageKing17 e84a6e8d33 Fix tech room mission lists.
get_mission_info() was returning an uninitialized int due to rval no longer being initialized to 0 by setjmp(). Since rval isn't actually needed anymore, I went ahead and removed it. The only bits of code that actually check the return value of get_mission_info() are the tech room's mission simulator and some of the multiplayer code, so this bug wasn't actually preventing missions from being played through the ready room.
2015-04-29 12:34:11 -07:00
niffiwan 763601033b Remove unused function from palman.[cpp|h] 2015-04-29 21:00:19 +10:00
niffiwan caf2876d50 Merge pull request #40 from asarium/antipodes
Add proper usage of SDLMain again
2015-04-29 20:58:58 +10:00
niffiwan 0ff8c8191f Remove gcc -Wshadow warnings 2015-04-29 20:55:56 +10:00
asarium 62cfccb325 Remove the rest of no-grab 2015-04-29 12:51:47 +02:00
niffiwan b0bb0ee3be Remove gcc -Wunused-but-set-variable warnings 2015-04-29 20:27:49 +10:00
MageKing17 31140ab533 Make FRED use the new try-catch logic.
Missed during the recent parseExceptions merge; there was a usage of setjmp() during the background import dialogue.
2015-04-28 19:09:19 -07: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
niffiwan e3d1428e35 From Yarn: fix mantis 3157
Switch German and Polish translations of "Transport"
2015-04-28 19:36:30 +10:00
Fabian Woltermann 1d332d693d Merge pull request #38 from asarium/feature/parseExceptions
Replace longjmp with exceptions
2015-04-28 07:47:53 +02:00
niffiwan 36c656c389 bah, lrn2markdown 2015-04-27 20:46:37 +10:00
niffiwan 43b8cf2221 Resolve github issue #34 (add Coverity Badge)
Also freshen up the new README.md contents
2015-04-27 20:43:51 +10:00
MageKing17 ad91ba61b5 Short-circuit eval_sexp() on SEXP_NAN_FOREVER.
Since SEXP_NAN_FOREVER is supposed to indicate that the node will always evaluate to SEXP_NAN_FOREVER, we should short-circuit the process like we do for SEXP_KNOWN_TRUE and SEXP_KNOWN_FALSE.
2015-04-27 03:11:33 -07:00
MageKing17 7dea7075e7 Clean up eval_sexp() return value comparisons.
From niffiwan and myself (almost entirely niffiwan). Since eval_sexp() can't actually (and shouldn't) return certain special values, remove conditions checking for them and remove the erroneous comment claiming they should be returned.
2015-04-27 03:09:45 -07:00
MageKing17 9ec10dd3e6 Fix memory leak in for-counter.
Switch from strdup() to vm_strdup(), and make sure the allocated strings get freed after usage.
2015-04-27 03:06:28 -07:00
MageKing17 83b59fb76c Make *-argument SEXPs possible to short-circuit.
Fixes Mantis 3136. Written by niffiwan and myself. Allows the *-of SEXPs to return SEXP_KNOWN_FALSE when they can't evaluate ever again, allowing the when-argument or every-time-argument SEXP containing them to itself return SEXP_KNOWN_FALSE.
2015-04-27 03:05:18 -07:00
Lari Nieminen 418d53f169 Removed false "returns ptr to vector" comments. 2015-04-27 11:57:39 +03: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
MageKing17 d1444b45ac Merge branch 'master' of https://github.com/scp-fs2open/fs2open.github.com 2015-04-26 10:04:57 -07:00
MageKing17 26553f1327 Voice recognition upgrades.
Switches to an in-process recognizer, removes the hard-coded wing list (which could in accessing invalid memory, when used with a custom grammar file), and fixes up the grammar file a bit.
2015-04-26 10:03:44 -07:00
Cliff Gordon (chief1983) 18ef1f77d4 FreeBSD 10 is on Clang now, -ansi doesn't mean anything here. 2015-04-26 10:27:12 -05: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
asarium 9aed627ce7 Replace longjmp with exceptions
Also added a EditorConfig file
2015-04-24 15:03:59 +02:00
chief1983 f187522238 File exists wrappers for bitmaps and animations; eliminates worrying about extensions, only need the base filename and it'll tell you if it's available.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11328 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:19 +10:00
chief1983 26adf935f7 Globalize various file extension lists littered throughout the code so they can be referenced from other classes as needed, instead of being hardcoded multiple times.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11327 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:18 +10:00
chief1983 d68baac787 Eliminate some redundancy with ship allowed weapon parsing.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11326 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:17 +10:00
chief1983 c3d3f4d4dd Update OS X project to work with updated Jansson.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11325 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:17 +10:00
chief1983 cc037e3259 Upgrade Jansson to 2.7.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11324 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:16 +10:00
MageKing17 0c60515662 Record mission loading time in the debug log.
(Just changes a printf into an mprintf.)

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11323 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:15 +10:00
MageKing17 ec88fdbae1 Minor objectsnd.cpp cleanup.
Should be all nonfunctional changes (yes, even those "else" branches that look like they change behavior; functionally speaking, those branches shouldn't get hit because FSO will delete the sounds when they shouldn't apply).

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11322 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:10 +10:00
MageKing17 83414b238d Remove required_string_3() and required_string_4().
Replaced with usage of required_string_one_of(). (required_string_either() not removed due to different behavior.)

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11321 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:06 +10:00
MageKing17 a233f62afb Remove some redundant code in parselo.cpp.
7 cases in stuff_string() (both versions) were using identical code. Consolidated into one branch for clarity.

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11320 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:08:31 +10:00
MageKing17 8ef442205c Fix minor problem with weapons.cpp.
If "@Laser Color2:" is defined for a weapon and you override that weapon with a modular table (even if that override entry doesn't actually contain any data), the weapon's laser_color_2 value would get defaulted to its laser_color_1 value. Now, only do that if changing laser_color_1 and the RGB values of the two colors matched before.

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11319 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:08:31 +10:00
MageKing17 66bddb970c Commit various updates to the MSVS 2013 project files, following discussion in #scp.
Fixes Mantis 3104, amongst other minor issues. Given the existence of the Community Edition, decided to make FS2_SPEECH and FS2_VOICER defined by default. Setup release builds for debugging symbols. Corrected a few inconsistencies between configurations.

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11318 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:08:30 +10:00
chief1983 4ecc546e34 Backport (?) r3727 and 3733 from fs2_open-unstable_old, the old CVS unstable branch.
3727: added MadProf's voice recognition enhancements
3733: fix spelling, and synch with voicerec.cpp

See http://www.hard-light.net/forums/index.php?topic=37643.msg880793#msg880793 for more information.

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11317 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:08:29 +10:00
MageKing17 aaec401c8f Removing unused code from hud.cpp
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11315 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-19 00:10:27 +10:00
MageKing17 6f1e33938c Fix a possible crash with -reparse_mainhall.
Left over pointer towards a structure that had been cleared and rebuilt could cause a crash. Found (and fix tested) by Axem. Also thanks to z64555 for bouncing ideas back and forth until this solution was found.

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11314 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-18 18:12:07 +10:00
chief1983 c4d1ed526c Other half of version bump to 3.7.3, I will probably have that automated by the next release cycle.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11310 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-18 18:12:06 +10:00
chief1983 161e7498c4 git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11309 387891d4-d844-0410-90c0-e4c51a9137d3 2015-04-18 18:12:04 +10:00
m_m e3311f36ac Fix for Mantis 3156: Fighter beam range depends on target radius
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11307 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-18 00:09:10 +10:00
MageKing17 ed11f9a1c1 Fix objnum/instance confusion in comm menu.
Could cause orders to be grayed out for the wrong ship, due to it happening to have an objnum matching the instance of the ship you were ordering.

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11305 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-17 06:07:54 +10:00
niffiwan e0e3cffab6 Update credits for 3.7.2
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11304 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-16 00:08:49 +10:00
z64555 b6d48faf4d BMPMAN doxy effort. Also defines EXAMPLE_PATH in the doxyfile to enable use of the @example command, which references code snippets as examples.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11303 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-14 00:06:58 +10:00
zookeeper 73d6483df6 Typo-fixed and clarified some SEXP argument descriptions.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11302 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-12 12:07:23 +10:00
zookeeper 3952713eba Fixed "get-ets-values" to "get-ets-value" in the help string.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11301 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-12 12:07:22 +10:00
z64555 617c530a3b From Echelon9 and myself. Resolves some typos with the debug console parser.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11300 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-11 18:11:42 +10:00
niffiwan 8c0f95ced8 Fix mantis 3150
Use and set music volume changes requested by sexp_adjust_audio_volume()

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11299 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-11 12:12:06 +10:00
Goober5000 78f9c8f82c related to Mantis #3130 - don't create a VBO if we're not supposed to
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11298 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-11 12:12:03 +10: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
niffiwan e3715cc420 change var names to avoid warnings re shadowing 2014-01-01 19:58:36 +10:00
niffiwan 366f4d5642 set HAVE_CXX11 for clang 2014-01-01 19:30:05 +10:00
niffiwan 547d615552 set HAVE_CXX11 for MSVC 2014-01-01 18:56:32 +10:00
niffiwan 4f074d94d1 Add compile time catch for memmove used on non-trivial objects 2013-12-22 20:09:44 +10:00
niffiwan a4ac843d5b Add compile time catch for memcpy used on non-trivial objects 2013-12-22 19:53:52 +10:00
niffiwan 359a98410a Add compile time catch for memset used on non-trivial objects
Fix one instance of this problem in osapi/outwnd_unix.cpp
2013-12-16 19:44:23 +10:00
niffiwan 1acfc1c326 Allow gcc on Linux to compile with -std=c++11
Tested with 4.6.3, 4.7.2 & 4.8.0
2013-12-16 19:37:02 +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
2694 changed files with 213837 additions and 410933 deletions

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
root = true
[*.{h,cpp}]
indent_style = tab
[*.sdr]
indent_style = tab
+24 -4
View File
@@ -24,7 +24,6 @@ install-sh
missing
.svn
*.layout
projects/Xcode4/Frameworks/
projects/Xcode/Frameworks/
#========
@@ -61,6 +60,8 @@ ipch/
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad
*.VC.db
*.VC.VC.opendb
#MonoDevelop
*.pidb
@@ -137,7 +138,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 +150,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 +264,25 @@ 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*
+6
View File
@@ -0,0 +1,6 @@
[submodule "cmake/external/cotire"]
path = cmake/external/cotire
url = https://github.com/sakra/cotire.git
[submodule "cmake/external/rpavlik-cmake-modules"]
path = cmake/external/rpavlik-cmake-modules
url = https://github.com/asarium/cmake-modules.git
+124
View File
@@ -0,0 +1,124 @@
language: generic
sudo: required
dist: trusty
cache:
directories:
- $HOME/cmake
addons:
apt:
packages: &global_deps
- ninja-build
- libopenal-dev
- libreadline6-dev
- libpng12-dev
- libjpeg62-dev
- liblua5.1-0-dev
- libjansson-dev
- libsdl2-dev
- valgrind
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 FS2DOWNLOADS_USER and FS2DOWNLOADS_PASSWORD
- secure: "h6GbMX2jLsW1bS9fCM9fthOSJ1nfQQIRWi6EUH2p8u4NFLD5Bfi/C8JhQPKHUzyo3wvKkSHl+PsW7bgr1oXLusRwAur/dtv2N3imqvtbfIz305b00hZlsvbcYmQmUzQFSAdOGShK57JJ5aKQKccaUBP25KqB7Q+JaqBRdaMBS54="
- secure: "fUDAPAUUaaYZy8I4zU3SJ0JcK7aw4eb6eTdaEr7LyNyTMSfPgwY6P1MrbSQC0lJNQIUQ5ffjdxE5g7D7OYpoJF9L14ni4UY8t2QASt7kmpgcYihmjeuYy8FQXgmFG8CTxiWBPKTybZJ7voQcvIvRaNG7b2wM9PMfc5lRIondB6c="
deploy:
- provider: releases
api_key:
secure: "Wdt4Ccefo7a0ZDjEJQJgpghh7n72FtNJuKSAPUvoz4gtEX6Ct9J8yJI1t9V3jE3CTbbLJ21/Q6eZRDfT7UfNJe5DdepoJsP9DeFhKMWqQCq+AChqQWlm0KeZAffJoJreL8vXYhnRYcLT9ceZHEH6AqwN9TPV+xJziGPISAkYNZ8="
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
packages:
- g++-5
- *global_deps
- os: linux
env: CONFIGURATION="Debug" CC=clang-3.6 CXX=clang++-3.6
addons:
apt:
sources:
- llvm-toolchain-precise
packages:
- clang-3.6
- libc++-dev
- *global_deps
- os: osx
env: CONFIGURATION="Debug"
- os: linux
env: CONFIGURATION="Release" CC=gcc-5 CXX=g++-5
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
- *global_deps
- os: linux
env: CONFIGURATION="Release" CC=clang-3.6 CXX=clang++-3.6
addons:
apt:
sources:
- llvm-toolchain-precise
packages:
- clang-3.6
- libc++-dev
- *global_deps
- os: osx
env: CONFIGURATION="Release"
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:
- "./ci/travis/install.sh"
- export PATH=$HOME/cmake/bin:$PATH
before_script:
- "./ci/travis/before_script.sh"
script:
- if [ "$BUILD_DEPLOYMENT" = true ] ; then ./ci/travis/release.sh ; else ./ci/travis/script.sh ; fi
+187
View File
@@ -0,0 +1,187 @@
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 OLD)
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)
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/CMake")
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)
set(APPIMAGE_ASSISTANT "" CACHE STRING "The root directory of an AppImage clone.")
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_WXFRED2 "Build wxFRED2 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)
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)
# 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()
# 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_WXFRED2)
ADD_SUBDIRECTORY(wxfred2)
ENDIF(FSO_BUILD_WXFRED2)
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 "Building FRED2: ${FSO_BUILD_FRED2}")
message(STATUS "Using text to speech: ${FSO_USE_SPEECH}")
message(STATUS "Using voice recogition: ${FSO_USE_VOICEREC}")
elseif(UNIX)
message(STATUS "Building AppImage: ${FSO_BUILD_APPIMAGE}")
ENDIF()
message(STATUS "Building FSO tools: ${FSO_BUILD_TOOLS}")
message(STATUS "Building wxFRED: ${FSO_BUILD_WXFRED2}")
message(STATUS "Fatal warnings: ${FSO_FATAL_WARNINGS}")
-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.
+42
View File
@@ -0,0 +1,42 @@
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/>
<br/>
For building you will need [CMake](http://www.cmake.org/cmake/resources/software.html). Version 3.4 is required. Once you have installed CMake you should create a build directory where the project/make files should be created, **do not create them inside the source tree!**<br>
<br>
On Windows you can use the `cmake-gui` executable to get a nice GUI, on Unix just use `cmake`. Use the newly created directory as build directory (change to this directory on Unix) and run cmake. On Windows this can be done by clicking the `Configure` button. Choose your compiler version and hit `Generate` when configuring is done. <br>
Depending on the makefile generator used build the `all` or `ALL_BUILD` target to compile the project.<br>
### Available variables to control the build
* `FSO_BUILD_WXFRED2`: Build the wxfred2 project, requires wxWidgets
* `FSO_FREESPACE_PATH`: Sets the path of your FreeSpace install, can be used to automatically run the generated executables with the correct working directory, this is an optional variable. By default this will use the value of the `FS2PATH` environment variable.
* `FSO_BUILD_TOOLS`: Build some tools related to FSO
* `CMAKE_BUILD_TYPE`: Sets the binary build type between `Debug` and `Release` (default)
#### Windows only variables
* `FSO_BUILD_FRED2`: Build FRED2, requires a Visual Studio version that ships with MFC
* `FSO_USE_SPEECH`: Build a binary with text-to-speech support
* `FSO_USE_VOICEREC`: Build a binary with voice recognition support
#### Advanced variables
You should only use these variables if you know what you're doing
* `FSO_CMAKE_DEBUG`: Print CMake debugging informations
* `FSO_BUILD_INCLUDED_LIBS`: Build libraries from the included source
* `FSO_USE_OPENALSOFT`: Use [OpenALSoft](http://kcat.strangesoft.net/openal.html) for OpenAL support
* `FSO_USE_LUAJIT`: Use [luajit](http://luajit.org/) as a replacement for lua
* `FSO_DEVELOPMENT_MODE`: Toggles some development behavior, only use if you really need it.
* `FSO_RUN_ARGUMENTS`: If you run an executable from within the project, these arguments will also be passed to the executable
* `FSO_BUILD_POSTFIX`: Sets a postfix to be added to the executable name, may be useful for release candidates.
#### Visual Studio specific variables
* `MSVC_USE_RUNTIME_DLL`: Use the DLL version of the runtime, experimental and not well tested.
* `MSVC_SIMD_INSTRUCTIONS`: The instruction set the executables will be optimized for.
### Generating an installation package
CMake can automatically generate installation packages of the project. To do this you will just need to run the `package` target of the build system and the package will be placed inside your build directory. On Windows you will have to install [NSIS](http://nsis.sourceforge.net/Main_Page) to use this.
-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)
@@ -1,4 +0,0 @@
OPT_STLDBG = $(OPT_STLDBG) /Zm800
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
!include vc-common.mak
@@ -1,2 +0,0 @@
!include vc-common.mak
@@ -1,3 +0,0 @@
!include vc-common.mak
@@ -1,3 +0,0 @@
!include vc-common.mak
@@ -1,3 +0,0 @@
!include vc-common.mak
@@ -1,16 +0,0 @@
# -*- makefile -*- Time-stamp: <03/10/29 22:20:01 ptr>
# $Id$
clean:
@if exist $(OUTPUT_DIR)\*.o del /F /Q $(OUTPUT_DIR)\*.o
@if exist $(OUTPUT_DIR_DBG)\*.o del /F /Q $(OUTPUT_DIR_DBG)\*.o
@if exist $(OUTPUT_DIR_STLDBG)\*.o del /F /Q $(OUTPUT_DIR_STLDBG)\*.o
@if exist $(OUTPUT_DIR_A)\*.o del /F /Q $(OUTPUT_DIR_A)\*.o
@if exist $(OUTPUT_DIR_A_DBG)\*.o del /F /Q $(OUTPUT_DIR_A_DBG)\*.o
@if exist $(OUTPUT_DIR_A_STLDBG)\*.o del /F /Q $(OUTPUT_DIR_A_STLDBG)\*.o
@if exist $(OUTPUT_DIR)\*.obj del /F /Q $(OUTPUT_DIR)\*.obj
@if exist $(OUTPUT_DIR_DBG)\*.obj del /F /Q $(OUTPUT_DIR_DBG)\*.obj
@if exist $(OUTPUT_DIR_STLDBG)\*.obj del /F /Q $(OUTPUT_DIR_STLDBG)\*.obj
@if exist $(OUTPUT_DIR_A)\*.obj del /F /Q $(OUTPUT_DIR_A)\*.obj
@if exist $(OUTPUT_DIR_A_DBG)\*.obj del /F /Q $(OUTPUT_DIR_A_DBG)\*.obj
@if exist $(OUTPUT_DIR_A_STLDBG)\*.obj del /F /Q $(OUTPUT_DIR_A_STLDBG)\*.obj
@@ -1,92 +0,0 @@
# Time-stamp: <04/04/30 23:36:48 ptr>
# $Id$
# stuff not defined here: CXX, CC, DEFS_COMMON, CFLAGS_*, CXXFLAGS_*, OPT_COMMON
LINK = link.exe
RC = rc.exe
!ifdef DEFS
DEFS_REL = $(DEFS) $(DEFS_REL)
DEFS_DBG = $(DEFS) $(DEFS_DBG)
DEFS_STLDBG = $(DEFS) $(DEFS_STLDBG)
DEFS_STATIC_REL = $(DEFS) $(DEFS_STATIC_REL)
DEFS_STATIC_DBG = $(DEFS) $(DEFS_STATIC_DBG)
DEFS_STATIC_STLDBG = $(DEFS) $(DEFS_STATIC_STLDBG)
!endif
!ifdef OPT
OPT_REL = $(OPT) $(OPT_REL)
OPT_DBG = $(OPT) $(OPT_DBG)
OPT_STLDBG = $(OPT) $(OPT_STLDBG)
OPT_STATIC_REL = $(OPT) $(OPT_STATIC_REL)
OPT_STATIC_DBG = $(OPT) $(OPT_STATIC_DBG)
OPT_STATIC_STLDBG = $(OPT) $(OPT_STATIC_STLDBG)
!endif
OUTPUT_OPTION = /Fo$@ /Fd"$(PDB_NAME_OUT)"
OUTPUT_OPTION_DBG = /Fo$@ /Fd"$(PDB_NAME_OUT_DBG)"
OUTPUT_OPTION_STLDBG = /Fo$@ /Fd"$(PDB_NAME_OUT_STLDBG)"
OUTPUT_OPTION_STATIC = /Fo$@ /Fd"$(A_PDB_NAME_OUT)"
OUTPUT_OPTION_STATIC_DBG = /Fo$@ /Fd"$(A_PDB_NAME_OUT_DBG)"
OUTPUT_OPTION_STATIC_STLDBG = /Fo$@ /Fd"$(A_PDB_NAME_OUT_STLDBG)"
LINK_OUTPUT_OPTION = /OUT:$@
RC_OUTPUT_OPTION = /fo $@
RC_OUTPUT_OPTION_DBG = /fo $@
RC_OUTPUT_OPTION_STLDBG = /fo $@
DEFS_REL = $(DEFS_REL) $(DEFS_COMMON)
DEFS_STATIC_REL = $(DEFS_STATIC_REL) $(DEFS_COMMON)
DEFS_DBG = $(DEFS_DBG) $(DEFS_COMMON)
DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) $(DEFS_COMMON)
DEFS_STLDBG = $(DEFS_STLDBG) $(DEFS_COMMON)
DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) $(DEFS_COMMON)
CPPFLAGS_REL = $(DEFS_REL) $(INCLUDES)
CPPFLAGS_STATIC_REL = $(DEFS_STATIC_REL) $(INCLUDES)
CPPFLAGS_DBG = $(DEFS_DBG) $(INCLUDES)
CPPFLAGS_STATIC_DBG = $(DEFS_STATIC_DBG) $(INCLUDES)
CPPFLAGS_STLDBG = $(DEFS_STLDBG) $(INCLUDES)
CPPFLAGS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) $(INCLUDES)
COMPILE_c_REL = $(CC) $(CFLAGS_REL) $(CPPFLAGS_REL) $(TARGET_ARCH) /c
COMPILE_c_STATIC_REL = $(CC) $(CFLAGS_STATIC_REL) $(CPPFLAGS_STATIC_REL) $(TARGET_ARCH) /c
COMPILE_c_DBG = $(CC) $(CFLAGS_DBG) $(CPPFLAGS_DBG) $(TARGET_ARCH) /c
COMPILE_c_STATIC_DBG = $(CC) $(CFLAGS_STATIC_DBG) $(CPPFLAGS_STATIC_DBG) $(TARGET_ARCH) /c
COMPILE_c_STLDBG = $(CC) $(CFLAGS_STLDBG) $(CPPFLAGS_STLDBG) $(TARGET_ARCH) /c
COMPILE_c_STATIC_STLDBG = $(CC) $(CFLAGS_STATIC_STLDBG) $(CPPFLAGS_STATIC_STLDBG) $(TARGET_ARCH) /c
COMPILE_cc_REL = $(CXX) $(CXXFLAGS_REL) $(CPPFLAGS_REL) $(TARGET_ARCH) /c
COMPILE_cc_STATIC_REL = $(CXX) $(CXXFLAGS_STATIC_REL) $(CPPFLAGS_STATIC_REL) $(TARGET_ARCH) /c
COMPILE_cc_DBG = $(CXX) $(CXXFLAGS_DBG) $(CPPFLAGS_DBG) $(TARGET_ARCH) /c
COMPILE_cc_STATIC_DBG = $(CXX) $(CXXFLAGS_STATIC_DBG) $(CPPFLAGS_STATIC_DBG) $(TARGET_ARCH) /c
COMPILE_cc_STLDBG = $(CXX) $(CXXFLAGS_STLDBG) $(CPPFLAGS_STLDBG) $(TARGET_ARCH) /c
COMPILE_cc_STATIC_STLDBG = $(CXX) $(CXXFLAGS_STATIC_STLDBG) $(CPPFLAGS_STATIC_STLDBG) $(TARGET_ARCH) /c
COMPILE_rc_REL = $(RC) $(RC_FLAGS_REL) /D "BUILD_INFOS=$(CPPFLAGS_REL)"
COMPILE_rc_STATIC_REL = $(RC) $(RC_FLAGS_REL) /D "BUILD_INFOS=$(CPPFLAGS_STATIC_REL)"
COMPILE_rc_DBG = $(RC) $(RC_FLAGS_DBG) /DBUILD=d /D "BUILD_INFOS=$(CPPFLAGS_DBG)"
COMPILE_rc_STATIC_DBG = $(RC) $(RC_FLAGS_DBG) /DBUILD=d /D "BUILD_INFOS=$(CPPFLAGS_STATIC_DBG)"
COMPILE_rc_STLDBG = $(RC) $(RC_FLAGS_STLDBG) /DBUILD=stld /D "BUILD_INFOS=$(CPPFLAGS_STLDBG) /D_STLP_DEBUG"
COMPILE_rc_STATIC_STLDBG = $(RC) $(RC_FLAGS_STLDBG) /DBUILD=stld /D "BUILD_INFOS=$(CPPFLAGS_STATIC_STLDBG) /D_STLP_DEBUG"
LINK_cc_REL = $(LINK) /nologo /incremental:no /debug /pdb:"$(PDB_NAME_OUT)" $(LDFLAGS_REL)
LINK_cc_DBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(PDB_NAME_OUT_DBG)" $(LDFLAGS_DBG)
LINK_cc_STLDBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(PDB_NAME_OUT_STLDBG)" $(LDFLAGS_STLDBG)
LINK_cc_A_REL = $(LINK) /nologo /incremental:no /debug /pdb:"$(A_PDB_NAME_OUT)" $(LDFLAGS_REL)
LINK_cc_A_DBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(A_PDB_NAME_OUT_DBG)" $(LDFLAGS_DBG)
LINK_cc_A_STLDBG = $(LINK) /nologo /incremental:no /debug /pdb:"$(A_PDB_NAME_OUT_STLDBG)" $(LDFLAGS_STLDBG)
CDEPFLAGS = /FD /E
CCDEPFLAGS = /FD /E
# STLport DEBUG mode specific defines
DEFS_STLDBG = $(DEFS_STLDBG) /D_DEBUG /D_STLP_DEBUG /DDEBUG
DEFS_DBG = $(DEFS_DBG) /D_DEBUG /DDEBUG
DEFS_REL = $(DEFS_REL) /DNDEBUG
DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) /D_DEBUG /D_STLP_DEBUG /DDEBUG /D_STLP_NO_FORCE_INSTANTIATE
DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) /D_DEBUG /DDEBUG /D_STLP_NO_FORCE_INSTANTIATE
DEFS_STATIC_REL = $(DEFS_STATIC_REL) /DNDEBUG /D_STLP_NO_FORCE_INSTANTIATE
# optimization and debug compiler flags
OPT_REL = $(OPT_REL) /Zi /O2 $(OPT_COMMON)
OPT_DBG = $(OPT_DBG) /Zi /Od $(OPT_COMMON)
OPT_STLDBG = $(OPT_STLDBG) /Zi /Od $(OPT_COMMON)
OPT_STATIC_REL = $(OPT_STATIC_REL) /Zi /O2 $(OPT_COMMON)
OPT_STATIC_DBG = $(OPT_STATIC_DBG) /Zi /Od $(OPT_COMMON)
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zi /Od $(OPT_COMMON)
@@ -1,83 +0,0 @@
# Time-stamp: <04/04/30 23:36:48 ptr>
# $Id$
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
!error CC not set, run the proper WCE*.bat from this shell to set it!
!endif
# All the batchfiles to setup the environment yield different
# compilers which they put into CC.
CXX = $(CC)
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=$(CEVERSION) /D UNDER_CE=$(CEVERSION) /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:"oldnames.lib"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /stack:0x10000,0x1000 /subsystem:WINDOWSCE /align:"4096"
# increase compiler memory in order to compile deeply nested template code
OPT_STLDBG = $(OPT_STLDBG) /Zm800
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
# activate global (whole program) optimizations
OPT_REL = $(OPT_REL) /Og
OPT_STATIC_REL = $(OPT_STATIC_REL) /Og
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:ARM
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_"
OPT_COMMON = $(OPT_COMMON)
!if "$(TARGET_PROC_SUBTYPE)" == "emulator"
DEFS_COMMON = $(DEFS_COMMON) /D "_STLP_WCE_TARGET_PROC_SUBTYPE_EMULATOR"
!endif
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:X86 $(CEx86Corelibc)
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "_MIPS_" /D "MIPS" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!endif
# SH3 specific settings
!if "$(TARGET_PROC)" == "sh3"
DEFS_COMMON = $(DEFS_COMMON) /D "SH3" /D "_SH3_" /D "SHx"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH3
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SH4" /D "_SH4_" /D "SHx"
OPT_COMMON = $(OPT_COMMON) /Qsh4
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH4
!endif
# without exceptions
CFLAGS_COMMON = /nologo /TC /W4 /GF
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /W4 /GF
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
!include evc-common.mak
@@ -1,116 +0,0 @@
# Time-stamp: <04/03/31 07:55:19 ptr>
# $Id$
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
!error CC not set, run the proper WCE*.bat from this shell to set it!
!endif
# All the batchfiles to setup the environment yield different
# compilers which they put into CC.
CXX = $(CC)
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=$(CEVERSION) /D UNDER_CE=$(CEVERSION) /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:OLDNAMES.lib
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /stack:0x10000,0x1000 /subsystem:WINDOWSCE /align:"4096"
# increase compiler memory in order to compile deeply nested template code
OPT_STLDBG = $(OPT_STLDBG) /Zm800
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
# activate global (whole program) optimizations
OPT_REL = $(OPT_REL) /Og
OPT_STATIC_REL = $(OPT_STATIC_REL) /Og
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "ARMV4"
OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zm800
OPT_COMMON = $(OPT_COMMON)
# TODO: eVC4 IDE uses ARM for ARMV4 and THUMB for ARMV4I and ARMV4T
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:ARM
# RTTI patch for PPC2003 SDK
!if "$(PLATFORM)" == "POCKET PC 2003"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib
!endif
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_" /D "_i386_"
OPT_COMMON = $(OPT_COMMON) /Gs8192
LDFLAGS_COMMON = $(LDFLAGS_COMMON) $(CEx86Corelibc) /MACHINE:X86
!if "$(TARGET_PROC_SUBTYPE)" == "emulator"
DEFS_COMMON = $(DEFS_COMMON) /D "_STLP_WCE_TARGET_PROC_SUBTYPE_EMULATOR"
!endif
!if "$(PLATFORM)" == "POCKET PC 2003"
# RTTI patch for PPC2003 SDK
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib
!endif
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "_MIPS_" /D "MIPS" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
# Note: one might think that MIPSII_FP and MIPSIV_FP should use /MACHINE:MIPSFPU
# while MIPSII and MIPSIV should use /MACHINE:MIPS, but this is exactly how the
# eVC4 IDE does it.
!if "$(TARGET_PROC_SUBTYPE)" == ""
!error "MIPS subtype not set"
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPS16"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII"
OPT_COMMON = $(OPT_COMMON) /QMmips2 /QMFPE
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII_FP"
OPT_COMMON = $(OPT_COMMON) /QMmips2 /QMFPE-
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPS
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSIV"
OPT_COMMON = $(OPT_COMMON) /QMmips4 /QMn32 /QMFPE
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPSFPU
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSIV_FP"
OPT_COMMON = $(OPT_COMMON) /QMmips4 /QMn32 /QMFPE-
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:MIPSFPU
!else
!error "unknown MIPS subtype"
!endif
!endif
# SH3 specific settings
!if "$(TARGET_PROC)" == "sh3"
DEFS_COMMON = $(DEFS_COMMON) /D "SH3" /D "_SH3_" /D "SHx"
OPT_COMMON = $(OPT_COMMON)
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH3
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SH4" /D "_SH4_" /D "SHx"
OPT_COMMON = $(OPT_COMMON) /Qsh4
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /MACHINE:SH4
!endif
# exception handling support
CFLAGS_COMMON = /nologo /TC /W4 /GF /GR /GX
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /W4 /GF /GR /GX
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
!include evc-common.mak
@@ -1,102 +0,0 @@
# build/Makefiles/nmake/evc8.mak
# Note: _WIN32_WCE is defined as 420 for CE 4.2 but as 0x500 for CE 5.0!
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=0x$(CEVERSION) /D UNDER_CE=1 /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:OLDNAMES.lib
!if "$(PLATFORM)" == "POCKET PC 2003"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,4.20
!else
# TODO: the subsystem settings will have to be adjusted for CE5.01...
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,5.00
!endif
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
CC=cl.exe
!endif
CXX = $(CC)
# activate global optimisations (aka Link Time Code Generation)
OPT_REL = $(OPT_REL) /GL
LDFLAGS_REL = $(LDFLAGS_REL) /LTCG
# make the compiler display absolute paths in diagnostics
# While this is not necessary for STLport in any way, it is convenient when using
# the VC8 IDE for building things because then you can click on diagnostics in
# order to warp to the exact place in the code.
OPT_COMMON = $(OPT_COMMON) /FC
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
!if "$(PLATFORM)" == "POCKET PC 2003"
DEFS_COMMON = $(DEFS_COMMON) /DWIN32_PLATFORM_PSPC
# Pocket PC 2003 doesn't support THUMB.
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib secchk.lib /machine:ARM
!endif
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_"
OPT_COMMON = $(OPT_COMMON)
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "MIPS" /D "_MIPS_" /D "$(TARGET_PROC_SUBTYPE)"
!if "$(TARGET_PROC_SUBTYPE)" == ""
!error "MIPS subtype not set"
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII"
OPT_COMMON = $(OPT_COMMON) /QMmips2
!else
!error "unknown MIPS subtype"
!endif
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SHx" /D "_SHX_" /D "SH4"
OPT_COMMON = $(OPT_COMMON)
!endif
# Note: /GX for MSC<14 has been replaced with /EHsc
CFLAGS_COMMON = /nologo /TC /W4 /GF /GR /EHsc
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /W4 /GF /GR /EHsc
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
# setup proper runtime (static/dynamic, debug/release)
!ifdef WITH_STATIC_RTL
OPT_DBG = $(OPT_DBG) /MTd
OPT_STLDBG = $(OPT_STLDBG) /MTd
OPT_REL = $(OPT_REL) /MT
DEFS_REL = $(DEFS_REL) /D_STLP_USE_DYNAMIC_LIB
DEFS_DBG = $(DEFS_DBG) /D_STLP_USE_DYNAMIC_LIB
DEFS_STLDBG = $(DEFS_STLDBG) /D_STLP_USE_DYNAMIC_LIB
!else
OPT_DBG = $(OPT_DBG) /MDd
OPT_STLDBG = $(OPT_STLDBG) /MDd
OPT_REL = $(OPT_REL) /MD
!endif
!include evc-common.mak
@@ -1,102 +0,0 @@
# build/Makefiles/nmake/evc9.mak
# Note: _WIN32_WCE is defined as 420 for CE 4.2 but as 0x500 for CE 5.0!
DEFS_COMMON = $(DEFS_COMMON) /D _WIN32_WCE=0x$(CEVERSION) /D UNDER_CE=1 /D "UNICODE"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) coredll.lib corelibc.lib /nodefaultlib:LIBC.lib /nodefaultlib:OLDNAMES.lib
!if "$(PLATFORM)" == "POCKET PC 2003"
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,4.20
!else
# TODO: the subsystem settings will have to be adjusted for CE5.01...
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /subsystem:windowsce,5.00
!endif
!if "$(TARGET_PROC)" == ""
!error No target processor configured! Please rerun configure.bat!
!endif
!if "$(CC)" == ""
CC=cl.exe
!endif
CXX = $(CC)
# activate global optimisations (aka Link Time Code Generation)
OPT_REL = $(OPT_REL) /GL
LDFLAGS_REL = $(LDFLAGS_REL) /LTCG
# make the compiler display absolute paths in diagnostics
# While this is not necessary for STLport in any way, it is convenient when using
# the VC8 IDE for building things because then you can click on diagnostics in
# order to warp to the exact place in the code.
OPT_COMMON = $(OPT_COMMON) /FC
# ARM specific settings
!if "$(TARGET_PROC)" == "arm"
DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "$(TARGET_PROC_SUBTYPE)"
OPT_COMMON = $(OPT_COMMON)
!if "$(PLATFORM)" == "POCKET PC 2003"
DEFS_COMMON = $(DEFS_COMMON) /DWIN32_PLATFORM_PSPC
# Pocket PC 2003 doesn't support THUMB.
LDFLAGS_COMMON = $(LDFLAGS_COMMON) ccrtrtti.lib secchk.lib /machine:ARM
!endif
!endif
# x86 specific settings
!if "$(TARGET_PROC)" == "x86"
DEFS_COMMON = $(DEFS_COMMON) /D "x86" /D "_X86_"
OPT_COMMON = $(OPT_COMMON)
!endif
# MIPS specific settings
!if "$(TARGET_PROC)" == "mips"
DEFS_COMMON = $(DEFS_COMMON) /D "MIPS" /D "_MIPS_" /D "$(TARGET_PROC_SUBTYPE)"
!if "$(TARGET_PROC_SUBTYPE)" == ""
!error "MIPS subtype not set"
!elseif "$(TARGET_PROC_SUBTYPE)" == "MIPSII"
OPT_COMMON = $(OPT_COMMON) /QMmips2
!else
!error "unknown MIPS subtype"
!endif
!endif
# SH4 specific settings
!if "$(TARGET_PROC)" == "sh4"
DEFS_COMMON = $(DEFS_COMMON) /D "SHx" /D "_SHX_" /D "SH4"
OPT_COMMON = $(OPT_COMMON)
!endif
# Note: /GX for MSC<14 has been replaced with /EHsc
CFLAGS_COMMON = /nologo /TC /WX /GF /GR /EHsc
CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
CXXFLAGS_COMMON = /nologo /TP /WX /GF /GR /EHsc
CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
# setup proper runtime (static/dynamic, debug/release)
!ifdef WITH_STATIC_RTL
OPT_DBG = $(OPT_DBG) /MTd
OPT_STLDBG = $(OPT_STLDBG) /MTd
OPT_REL = $(OPT_REL) /MT
DEFS_REL = $(DEFS_REL) /D_STLP_USE_DYNAMIC_LIB
DEFS_DBG = $(DEFS_DBG) /D_STLP_USE_DYNAMIC_LIB
DEFS_STLDBG = $(DEFS_STLDBG) /D_STLP_USE_DYNAMIC_LIB
!else
OPT_DBG = $(OPT_DBG) /MDd
OPT_STLDBG = $(OPT_STLDBG) /MDd
OPT_REL = $(OPT_REL) /MD
!endif
!include evc-common.mak
@@ -1,91 +0,0 @@
# Time-stamp: <03/09/28 13:44:57 ptr>
# $Id$
#!ifndef MSVC_LIB_DIR
#MSVC_LIB_DIR = $(MSVC_DIR)\Lib
#!endif
!ifndef SOAP_DIR
SOAP_DIR = /opt/gSOAP-2.2.3
!endif
!ifndef BOOST_DIR
BOOST_DIR = $(SRCROOT)/../extern/boost
!endif
!ifndef STLPORT_DIR
STLPORT_DIR = ../../stlport
!endif
!ifndef CoMT_DIR
CoMT_DIR = $(SRCROOT)
!endif
# This is Complement project (really not extern):
!ifndef CoMT_LIB_DIR
CoMT_LIB_DIR = $(INSTALL_LIB_DIR)
!endif
!ifndef CoMT_LIB_DIR_DBG
CoMT_LIB_DIR_DBG = $(INSTALL_LIB_DIR_DBG)
!endif
!ifndef CoMT_LIB_DIR_STLDBG
CoMT_LIB_DIR_STLDBG = $(INSTALL_LIB_DIR_STLDBG)
!endif
!ifndef CoMT_BIN_DIR
CoMT_BIN_DIR = $(INSTALL_BIN_DIR)
!endif
!ifndef CoMT_BIN_DIR_DBG
CoMT_BIN_DIR_DBG = $(INSTALL_BIN_DIR_DBG)
!endif
!ifndef CoMT_BIN_DIR_STLDBG
CoMT_BIN_DIR_STLDBG = $(INSTALL_BIN_DIR_STLDBG)
!endif
!ifndef CoMT_INCLUDE_DIR
CoMT_INCLUDE_DIR = $(CoMT_DIR)/include
!endif
# This file reflect versions of third-party libraries that
# used in projects
# STLport library
!ifndef STLPORT_LIB_DIR
!ifdef CROSS_COMPILING
STLPORT_LIB_DIR = $(STLPORT_DIR)\lib\$(TARGET_NAME)
!else
STLPORT_LIB_DIR = $(STLPORT_DIR)\lib
!endif
!endif
!ifndef STLPORT_INCLUDE_DIR
STLPORT_INCLUDE_DIR = $(STLPORT_DIR)/stlport
!endif
!ifndef STLPORT_VER
STLPORT_VER = 4.5.5
!endif
# 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)
!ifdef STLP_BUILD_BOOST_PATH
INCLUDES=$(INCLUDES) /I$(STLP_BUILD_BOOST_PATH)
!endif
# This file reflect versions of third-party libraries that
# used in projects, with make-depend style
@@ -1,10 +0,0 @@
CXX = icl
CC = icl
LINK = xilink
CFLAGS_COMMON = /nologo /W4 /GR /GX
CXXFLAGS_COMMON = /nologo /W4 /GR /GX
!include $(RULESBASE)/$(USE_MAKE)/vc-common.mak
@@ -1,62 +0,0 @@
# -*- makefile -*- Time-stamp: <03/10/26 16:17:03 ptr>
# $Id$
clobber: clean
@if exist $(SO_NAME_OUT) del /F /Q $(SO_NAME_OUT)
@if exist $(LIB_NAME_OUT) del /F /Q $(LIB_NAME_OUT)
@if exist $(EXP_NAME_OUT) del /F /Q $(EXP_NAME_OUT)
@if exist $(PDB_NAME_OUT) del /F /Q $(PDB_NAME_OUT)
@if exist $(RES_NAME_OUT) del /F /Q $(RES_NAME_OUT)
@if exist $(MANIFEST_NAME_OUT) del /F /Q $(MANIFEST_NAME_OUT)
@if exist $(A_NAME_OUT) del /F /Q $(A_NAME_OUT)
@if exist $(A_PDB_NAME_OUT) del /F /Q $(A_PDB_NAME_OUT)
@if exist $(SO_NAME_OUT_DBG) del /F /Q $(SO_NAME_OUT_DBG)
@if exist $(LIB_NAME_OUT_DBG) del /F /Q $(LIB_NAME_OUT_DBG)
@if exist $(EXP_NAME_OUT_DBG) del /F /Q $(EXP_NAME_OUT_DBG)
@if exist $(PDB_NAME_OUT_DBG) del /F /Q $(PDB_NAME_OUT_DBG)
@if exist $(RES_NAME_OUT_DBG) del /F /Q $(RES_NAME_OUT_DBG)
@if exist $(MANIFEST_NAME_OUT_DBG) del /F /Q $(MANIFEST_NAME_OUT_DBG)
@if exist $(A_NAME_OUT_DBG) del /F /Q $(A_NAME_OUT_DBG)
@if exist $(A_PDB_NAME_OUT_DBG) del /F /Q $(A_PDB_NAME_OUT_DBG)
@if exist $(SO_NAME_OUT_STLDBG) del /F /Q $(SO_NAME_OUT_STLDBG)
@if exist $(LIB_NAME_OUT_STLDBG) del /F /Q $(LIB_NAME_OUT_STLDBG)
@if exist $(EXP_NAME_OUT_STLDBG) del /F /Q $(EXP_NAME_OUT_STLDBG)
@if exist $(PDB_NAME_OUT_STLDBG) del /F /Q $(PDB_NAME_OUT_STLDBG)
@if exist $(RES_NAME_OUT_STLDBG) del /F /Q $(RES_NAME_OUT_STLDBG)
@if exist $(MANIFEST_NAME_OUT_STLDBG) del /F /Q $(MANIFEST_NAME_OUT_STLDBG)
@if exist $(A_NAME_OUT_STLDBG) del /F /Q $(A_NAME_OUT_STLDBG)
@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)\$(SO_NAME) del /F /Q $(INSTALL_BIN_DIR)\$(SO_NAME)
@if exist $(INSTALL_BIN_DIR)\$(PDB_NAME) del /F /Q $(INSTALL_BIN_DIR)\$(PDB_NAME)
@if exist $(INSTALL_LIB_DIR)\$(LIB_NAME)del /F /Q $(INSTALL_LIB_DIR)\$(LIB_NAME)
@if exist $(INSTALL_LIB_DIR)\$(EXP_NAME) del /F /Q $(INSTALL_LIB_DIR)\$(EXP_NAME)
@if exist $(INSTALL_BIN_DIR_DBG)\$(SO_NAME_DBG) del /F /Q $(INSTALL_BIN_DIR_DBG)\$(SO_NAME_DBG)
@if exist $(INSTALL_BIN_DIR_DBG)\$(PDB_NAME_DBG) del /F /Q $(INSTALL_BIN_DIR_DBG)\$(PDB_NAME_DBG)
@if exist $(INSTALL_LIB_DIR_DBG)\$(LIB_NAME_DBG) del /F /Q $(INSTALL_LIB_DIR_DBG)\$(LIB_NAME_DBG)
@if exist $(INSTALL_LIB_DIR_DBG)\$(EXP_NAME_DBG) del /F /Q $(INSTALL_LIB_DIR_DBG)\$(EXP_NAME_DBG)
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(SO_NAME_STLDBG) del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(SO_NAME_STLDBG)
@if exist $(INSTALL_BIN_DIR_STLDBG)\$(PDB_NAME_STLDBG) del /F /Q $(INSTALL_BIN_DIR_STLDBG)\$(PDB_NAME_STLDBG)
@if exist $(INSTALL_LIB_DIR_STLDBG)\$(LIB_NAME_STLDBG) del /F /Q $(INSTALL_LIB_DIR_STLDBG)\$(LIB_NAME_STLDBG)
@if exist $(INSTALL_LIB_DIR_STLDBG)\$(EXP_NAME_STLDBG) del /F /Q $(INSTALL_LIB_DIR_STLDBG)\$(EXP_NAME_STLDBG)
@if exist $(INSTALL_STATIC_LIB_DIR)\$(A_NAME) del /F /Q $(INSTALL_STATIC_LIB_DIR)\$(A_NAME)
@if exist $(INSTALL_STATIC_LIB_DIR)\$(A_PDB_NAME) del /F /Q $(INSTALL_STATIC_LIB_DIR)\$(A_PDB_NAME)
@if exist $(INSTALL_STATIC_LIB_DIR_DBG)\$(A_NAME_DBG) del /F /Q $(INSTALL_STATIC_LIB_DIR_DBG)\$(A_NAME_DBG)
@if exist $(INSTALL_STATIC_LIB_DIR_DBG)\$(A_PDB_NAME_DBG) del /F /Q $(INSTALL_STATIC_LIB_DIR_DBG)\$(A_PDB_NAME_DBG)
@if exist $(INSTALL_STATIC_LIB_DIR_STLDBG)\$(A_NAME_STLDBG) del /F /Q $(INSTALL_STATIC_LIB_DIR_STLDBG)\$(A_NAME_STLDBG)
@if exist $(INSTALL_STATIC_LIB_DIR_STLDBG)\$(A_PDB_NAME_STLDBG) del /F /Q $(INSTALL_STATIC_LIB_DIR_STLDBG)\$(A_PDB_NAME_STLDBG)
@-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_LIB_DIR) rd $(INSTALL_STATIC_LIB_DIR)
@-if exist $(INSTALL_STATIC_LIB_DIR_DBG) rd $(INSTALL_STATIC_LIB_DIR_DBG)
@-if exist $(INSTALL_STATIC_LIB_DIR_STLDBG) rd $(INSTALL_STATIC_LIB_DIR_STLDBG)
@@ -1,12 +0,0 @@
# -*- makefile -*- Time-stamp: <04/05/01 00:34:42 ptr>
# $Id$
# defines missing in this file: LDFLAGS_COMMON
!ifndef LDLIBS
LDLIBS =
!endif
LDFLAGS_REL = $(LDFLAGS_REL) /DLL $(LDSEARCH) $(LDFLAGS_COMMON) /VERSION:$(MAJOR).$(MINOR)
LDFLAGS_DBG = $(LDFLAGS_DBG) /DLL $(LDSEARCH) $(LDFLAGS_COMMON) /VERSION:$(MAJOR).$(MINOR)
LDFLAGS_STLDBG = $(LDFLAGS_STLDBG) /DLL $(LDSEARCH) $(LDFLAGS_COMMON) /VERSION:$(MAJOR).$(MINOR)
@@ -1,6 +0,0 @@
# -*- makefile -*- Time-stamp: <04/05/01 00:34:42 ptr>
# $Id$
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /base:"0x00100000"
!include evc-common.mak
@@ -1,6 +0,0 @@
# -*- makefile -*- Time-stamp: <04/03/31 08:10:19 ptr>
# $Id$
LDFLAGS_COMMON = $(LDFLAGS_COMMON) /base:"0x00100000"
!include evc-common.mak
@@ -1,3 +0,0 @@
# build/Makefiles/nmake/lib/evc8.mak
!include evc-common.mak
Loaded 100 of 2694 files, more files were not shown because too many files have changed in this diff. Show more