Commit Graph
1441 Commits
Author SHA1 Message Date
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
Lari Nieminen 58b8f2a33c Added Lua functions to read mouse/joystick sensitivity and deadzone 2015-08-29 16:54:19 +03: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
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 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
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
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
Cliff Gordon 0a2b97c3bc Merge pull request #41 from MageKing17/ship_info
Ship_info vectorization, ship templates.
2015-08-20 21:51:18 -05: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 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
asarium 3a69db26eb Fix unneded checks for this != nullptr in lua.cpp 2015-08-19 11:26:31 +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
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
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
Goober5000 e1d3838b2e various assertions to improve the sexp code 2015-08-18 01:00:43 -04: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
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 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 439ea76475 Adding static_cast<int>() to locations pointed out by m!m. 2015-08-12 14:39:12 -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 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
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
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
Echelon9 85c8c718bf Fix missing format string specifier. 2015-08-05 20:20:15 +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
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
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
Echelon9 8c2c451e8e Simplify duplicative parse/ includes. 2015-06-22 20:24:31 +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
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
Cliff Gordon 2d662075c3 Merge remote-tracking branch 'origin/master' into fix/triplemon_hud 2015-06-17 10:11:57 -05:00
Lari Nieminen 4acad3b126 Added a "no-secondary-lock-on" ship flag to disable secondary homing. 2015-06-14 22:25:54 +03:00
z64555 99a06b4839 Organizes required_string(); Doxy's required_string() and required_string_one_of() 2015-06-10 09:00:33 -05: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
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
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
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