Commit Graph
1327 Commits
Author SHA1 Message Date
Goober5000 283bcaf607 fix typo and elaborate sexp help 2020-10-26 20:51:00 -04:00
Goober5000 23b3aadf9b Message size fix (#2784)
* Fix underline length calculation in message scrollback
* Use SCP_string for message source (which allows ships with long display names to work without crashing) and message text
* Upgrade assorted functions to work with SCP_string
2020-10-06 14:31:03 -04:00
Goober5000 bfbc1389ab add for-players sexp
Useful for multiplayer missions.  Lists all currently valid player ships in the mission.  Works in both singleplayer and multiplayer.
2020-09-26 22:38:20 -04:00
Goober5000 147be6815c polish some SEXPs
Update SEXP help regarding variable types, and also add them to the SEXP syntax checker.

Fixes #2758.
2020-09-22 22:06:14 -04:00
JohnAFernandez 3384699086 Merge pull request #2712 from Goober5000/red_alert_multi_sexp_support
add multi support for red-alert sexp
2020-09-21 11:34:34 -04:00
JohnAFernandez 27faf89baa Fix Change IFF Multi Sexp 2020-09-20 09:53:47 -04:00
JohnAFernandez e29c172f27 Call send_ship before destroying it to avoid a crash. 2020-09-11 08:34:56 -04:00
Goober5000 ceac6ddff2 add multi support for red-alert sexp
This makes the red-alert SEXP execute properly in multiplayer.

Note, this is just the SEXP.  Multi-knowledgeable people will need to evaluate `red_alert_start_mission` and `red_alert_maybe_move_to_next_mission` to make sure those functions will work properly in multiplayer.
2020-09-04 13:15:49 -04:00
Goober5000 c3febbe01b Merge pull request #2687 from Goober5000/various_colgroup_fixes
various collision group fixes
2020-08-29 18:11:55 -04:00
Goober5000 f756b2a353 Merge pull request #2686 from Baezon/axial-turnrate-differences
Add "$respect ship axial turnrate differences:" flag (and fix a bug with 2673)
2020-08-29 16:49:14 -04:00
Goober5000 6f774ccab1 various collision group fixes
Collision groups as previously coded were unusable due to Lua 5.1's lack of support for bitwise operators.  This fixes that deficiency in two ways:
1) Objects now have the functions `addToCollisionGroup` and `removeFromCollisionGroup`
2) An `evaluateNumericSEXP` function has been added for returning SEXP results as numbers (so that the bitwise SEXP operators can be used)
2020-08-29 13:49:36 -04:00
asarium 2303785717 Improve scripting hook variable system
The previous system was kind of hacky and made things a bit inflexible.
This improves that system quite a bit and also adds unit tests for the
hook variable functionality.
2020-08-29 10:27:41 +02:00
Goober5000 9816a80b66 Merge pull request #2681 from Goober5000/more_for_counter_sexps
add for-ship-team and for-ship-species sexps
2020-08-28 09:49:03 -04:00
Baezon 2501b178d7 squash flag arguments and handle formation flying better 2020-08-27 16:50:55 -04:00
Baezon 9abc253023 v1 2020-08-26 23:27:34 -04:00
Goober5000 a3c32d929f add for-ship-team and for-ship-species sexps
This builds on the previous for-ship-class and for-ship-type sexps.
2020-08-25 13:25:42 -04:00
Goober5000 d8012d4ff0 miscellaneous scripting and ship-destruction enhancements 2020-08-23 20:44:25 -04:00
Goober5000 b6998a3e21 make Intel stuff dynamic
1) Make Intel_info a vector instead of a fixed-size array
2) Make intel descriptions SCP_string so they can be any length
2020-08-18 14:53:01 -04:00
Goober5000 1f4ff04890 handle SEXP_NAN_FOREVER 2020-08-14 16:25:11 -04:00
Goober5000 e4cd5675d0 handle SEXP_KNOWN_* 2020-08-14 15:53:02 -04:00
Goober5000 de8164aa9c add for-ship-class and for-ship-type sexps
These sexps work just like for-counter, supplying arguments for when-argument.  They will list all ships that are present in the mission and are of a certain class or type.
2020-08-13 14:15:25 -04:00
Goober5000 83d9d352ff Merge pull request #2604 from Baezon/consistent-apply-whack-args
Supply world coordinates in whack function calls
2020-08-09 15:32:41 -04:00
Goober5000 0177ebd66f add new versions of the collision group sexps
In most cases you have one group to/from which you are adding or removing several ships, but the existing sexps are designed for one ship and many groups.  This adds new sexps designed for one group and many ships.
2020-08-01 00:15:52 -04:00
Baezon 20acea31f2 review changes 2020-07-30 15:06:36 -04:00
Baezon f95f48448e world coords for all whacks 2020-07-27 01:11:00 -04:00
Goober5000 cd2a0437e0 Merge pull request #2573 from Goober5000/tech_db_scripting_vars
cleanup of tech room, and scripting stuff
2020-07-21 22:38:58 -04:00
Goober5000 f8f6bbc53c fix show-subtitle
For older campaigns which used show-subtitle, the eval_num conversion inadvertently changed the rgb to default to 0, instead of 255.  This restores the default to 255.
2020-07-16 15:30:52 -04:00
Goober5000 31fa2ac444 cleanup of tech room, and scripting stuff
1) Upgrade the pilot file code to correctly save flags whether entries are added *or* removed
2) Make the tech-db/tech-db-multi ship flag handling consistent
3) Add scripting support for intel entries
4) Add scripting support for adding and removing entries from the tech room
5) Minor cleanup
2020-07-15 13:27:27 -04:00
Goober5000 a5b8c7b376 add debriefing persona sexp and make a few additional tweaks 2020-07-09 12:49:38 -04:00
Goober5000 d4053ea2e9 fix <argument> in numeric nodes, and also fix more error printing 2020-07-08 14:51:52 -04:00
Goober5000 4250a4e2bb fix error variable printing 2020-07-08 13:50:12 -04:00
Goober5000 36bd7d4c61 Merge pull request #2542 from Goober5000/clear_debris_sexp
add clear-debris sexp
2020-07-06 21:10:17 -04:00
Goober5000 5480c004f5 Merge pull request #2548 from Goober5000/fix_endgame
fix the special-warpout-name sexp
2020-07-06 20:29:30 -04:00
Goober5000 d7832b4b39 fix the special-warpout-name sexp
grrr...
2020-07-06 18:42:35 -04:00
Goober5000 4e85009596 fix copy-paste mistake 2020-07-04 15:09:56 -04:00
Goober5000 9337c8a4b3 fix compilation 2020-07-03 16:09:59 -04:00
Goober5000 ef1f462c3b add clear-debris sexp
Simiar to the clear-weapons sexp (renamed from remove-weapons).
2020-07-03 13:34:39 -04:00
Goober5000 4a21436b9a Merge pull request #2536 from Goober5000/change_background_sexp
allow switching between multiple backgrounds
2020-07-02 14:56:22 -04:00
Goober5000 595a2f884a make clang happy 2020-07-01 23:53:19 -04:00
Goober5000 c3f58c3cf5 fill in two missing error checks, and tweak a few others 2020-07-01 23:46:38 -04:00
Goober5000 7e947e522e allow switching between multiple backgrounds
For quite some time missions have had the ability to edit more than one background.  This was previously used for fallback loading in case the first background's bitmaps were not available, but I realized it would be very handy to allow switching between backgrounds for in-mission jumps.

The FRED background dialog can now add and remove backgrounds from the list.  Additionally, a new `change-background` sexp can instantly switch between backgrounds without messing around with bitmap references.
2020-07-01 23:32:12 -04:00
Goober5000 a8d0123d63 Merge pull request #2522 from CasparKielwein/ck/cleanup_sexp.cpp
small cleanup in  sexp.cpp
2020-06-30 13:33:07 -04:00
Goober5000 ec7bac99b5 handle vanished ships for sexps that check exited_index
When ships vanish, they are in the EXITED state but their `exited_index` is -1 *and* their `shipp` pointer is null.  So check for this.
2020-06-29 22:43:32 -04:00
CasparKielwein a8398629d7 in Sexp add to uncalled functions to list of multi_sexp_* calls.
Fix: Call multi_sexp_reset_time_compression instead of non-multi version
2020-06-29 21:58:45 +02:00
CasparKielwein cbb3fda960 in sexp.cpp use make indentation consistent using tabs 2020-06-29 21:58:45 +02:00
CasparKielwein cb5a406204 In sexp.cpp a bit of trivial cleanup as requested by clang-tidy. 2020-06-29 21:58:45 +02:00
CasparKielwein ad0b0ba07a In sexp.cpp remove a few unused functions and variable declarations.
Only code was removed where no reference in the whole project could be found.
Redundant declarations are already imported through inludes.
2020-06-29 21:58:45 +02:00
CasparKielwein 4f384d56ef in sexp.cpp replace NULL with nulltpr 2020-06-27 20:58:24 +02:00
Goober5000 7bb5a1d0fc fix CI complaints 2020-06-26 16:04:12 -04:00
Goober5000 51864a08ae reorder functions 2020-06-26 14:47:40 -04:00