mjn-mixael
4145717363
Merge branch 'master' into mission_custom_data
2023-11-01 15:50:41 -05:00
Sébastien Noel
f149c36b44
Fix a few typos ( #5598 )
2023-10-24 20:33:45 -04:00
Tyler Blount
a9f5a11813
Merge pull request #5686 from MjnMixael/lua_add_scrollback
...
Lua add scrollback
2023-10-18 10:21:01 -07:00
mjn-mixael
b8728ed828
get team rather than team index
2023-10-18 08:59:24 -05:00
Goober5000
dad16f76c4
Merge pull request #5574 from Goober5000/generateWeaponGroupId
...
add mn.generateWeaponGroupId()
2023-10-17 20:06:27 -04:00
mjn-mixael
54341acb9b
allow use of enums
2023-10-16 15:54:53 -05:00
mjn-mixael
07fd188064
lua method to add a message directly to the message log.
...
(cherry picked from commit 1caceeaa2b9ebe654a102e293146dc23b9f3c2ee)
2023-10-16 15:21:37 -05:00
Mike Nelson
08dfcc8b74
lua access to Support Ship availability ( #5570 )
2023-10-15 05:40:12 +09:00
Mike Nelson
02233fc439
Set timer padding sexp ( #5535 )
...
* set timer padding sexp
* allow negative padding
2023-10-15 05:39:33 +09:00
Goober5000
344e231058
add mn.generateWeaponGroupId()
...
The `mn.createWeapon()` function takes an optional group ID for weapons that share lighting, but the internal `weapon_create_group_id()` function was never exposed to the API. This adds that.
2023-08-25 02:39:40 -04:00
mjn-mixael
861a9c9c4a
Add default custom data with descriptions that will show in FRED
2023-07-25 16:01:23 -05:00
mjn-mixael
cf3b5e8085
base implementation of mission custom data
2023-07-24 16:51:06 -05:00
Goober5000
e2c264cec4
fix Lua API access to Fireballs array
...
When fireballs were made dynamic in 609ed4ed94 , the `MAX_FIREBALLS` #define lost any relationship to the fireball collection. This removes it and also correctly specifies the size of the fireball collection.
This fixes a CTD when accessing items in `mn.Fireballs` via script.
2023-07-17 23:33:22 -04:00
Goober5000
d7a2bba630
enhance some SEXP warnings
...
These messages add the context of the actual SEXPs causing the warnings to be displayed. Motivated by Admiral Nelson's mod debugging work.
2023-04-19 22:15:21 -04:00
Mike Nelson
3c30257816
Modular messages table ( #5285 )
...
* modular messages table
* clarify warning
2023-04-16 08:40:25 +09:00
Fabian Woltermann
9308318199
Merge pull request #5253 from naomimyselfandi/more-flexible-dynamic-messages
...
More flexible dynamic messages
2023-03-24 10:50:39 +01:00
BMagnu
9caa9c4c7c
Expose some Nebula settings to Lua ( #5268 )
...
* Add more nebula options
* rename vars due to windows api defines
2023-03-22 12:42:18 +01:00
Naomi Coffman
95f5839b5f
Disenlongate method names
2023-03-11 11:39:06 -05:00
mjn-mixael
af41185acb
Merge branch 'master' into lua_access_to_enums
2023-02-21 08:00:02 -06:00
mjn-mixael
5344b45c47
scripting documentation
2023-02-15 16:48:11 -06:00
mjn-mixael
8063fc3863
Unlimited Power
2023-02-15 16:34:15 -06:00
Asteroth
3047a226a3
Better account for runtime gravity changes ( #5130 )
...
* better account for changing gravity
* use `obj_used_list`
* check should_be_dead
2023-01-22 14:40:13 -05:00
Goober5000
a7b46dba58
Merge pull request #5060 from MjnMixael/fix_mainhall_anims
...
SCPUI needs to be able run game_close_level
2023-01-03 21:23:38 -05:00
mjn-mixael
1f7cdca5a9
optional
2023-01-03 19:56:56 -06:00
mjn-mixael
c74d523e18
third attempt at getting past that one guy
2023-01-03 14:52:55 -06:00
Goober5000
c2b93549a2
more robust object iteration
...
When iterating through various object collections, check for the should-be-dead flag to avoid returning objects that are on the verge of being deleted.
Separately, this adds the `isExpiring` function to check for should-be-dead objects.
This PR also makes object iteration consistent across all object types, both to reduce code duplication and to ensure that the length and iteration are done using the same algorithm. Furthermore, if the number of should-be-dead objects is nonzero, the Lua array count for that frame will be different from the internal array count for that frame.
Fixes #5034 .
2022-12-21 19:51:02 -05:00
mjn-mixael
9f1c00c581
allow scripts to read LuaEnums and add LuaEnums
2022-12-20 15:53:40 -06:00
BMagnu
af1f0eaeca
Rework Script Conditions ( #4960 )
...
* add skeleton for hook condition API
* Begin Scripting Hook refactor
* Program Hook Conditions for current new-style hooks
* Replace more hooks
* Fully transition global hooks
* Convert legacy hooks pt. 1
* Convert legacy hooks pt. 2
* Convert legacy hooks pt. 3
* Post-conversion cleanup
* restore parsing
* Add Documentation and fix parsing
* Fixup engine ingame hook adding
* Fixup engine ingame hook adding again
* Fix warnings
* Fix GCC unqualified template base lookup
* unqualified lookup v2
* Virtual Destrcutors
* Fix Clang
* Fix ship objp hook condition shadow
* Remove global hook include in ship.h
* Incorporate Feedback
* Incorporate Feedback 2
* Add revision to inline version specififer
2022-12-14 03:51:27 +09:00
Goober5000
226e956fcc
dynamic events and goals
...
Make events and goals dynamic in missions and campaigns. When parsing, initialize all fields to their defaults.
2022-12-09 13:10:39 -05:00
Goober5000
fd77eba855
Merge pull request #4975 from Goober5000/sendMessage_enhancement
...
enhance sendMessage to allow messages sent from ships
2022-12-07 20:46:06 -05:00
BMagnu
57f529e902
Fix edge case bugs with moveables in combination with special polymodels being animated ( #4981 )
2022-12-07 20:43:36 +00:00
Goober5000
7ac37d45c3
enhance sendMessage to allow messages sent from ships
...
Allow `mn.sendMessage` to send from a ship source, not only a string source, by allowing the ship object to be specified as the first argument. Also add `ship:sendMessage` which is a more streamlined version of the same thing.
2022-12-06 16:40:00 -05:00
BMagnu
5bb869953e
Animate More Things ( #4936 )
...
* Add Cockpit AnimSet
* Add Skybox Animset
* Add cockpit model instanc
* Render ship cockpit with instance
* Finish scripting API
* Add moveables
* Fix Typo
* Fix moveable table value get
* Fix copy paste error
* Add Cockpit AnimSet
* Add Skybox Animset
* Add cockpit model instanc
* Render ship cockpit with instance
* Finish scripting API
* Add moveables
* Fix Typo
* Fix moveable table value get
* Fix copy paste error
* Add Animation Scripting Handle
* Add proper saving of skybox anim triggers
* Properly step non-obj animations
* Incorporate feedback
* Incorporate feedback
* Fix comparison
2022-12-05 10:00:29 +09:00
Asteroth
219bcca23a
Implement gravity ( #4803 )
...
Adds gravity! Applies on a per-mission basis, and weapons, ships, debris, and asteroids now have a configurable "gravity const" which multiplies the effect of gravity on them, by default everything except debris is 0 (meaning no effect even when the mission has gravity). AI and the lead indicator will also lead for ballistic trajectories as well, given a gravity-affected weapon. No FRED support or gravity direction control yet, to come in later PRs.
2022-11-21 20:13:35 -05:00
BMagnu
bd2c50aa1d
Refactor Lua Enums ( #4867 )
...
* Refactor bitfield enums
* Add default case for lua switch
* Add default case for more lua switches
* Fix Warnings
* constexpr
2022-11-14 17:31:50 +09:00
Goober5000
11b37bbeae
Merge pull request #4787 from Goober5000/createdebris
...
create debris using script functions
2022-10-21 23:24:47 -04:00
Goober5000
41074956a8
more fixes
2022-10-21 12:01:25 -04:00
Goober5000
debedf26ef
partial fix
2022-10-20 23:32:30 -04:00
Goober5000
49fb2f07c0
refactor per feedback, tweak to fix circular #include, use accessor, reorder, fix namespaces, fix API documentation
2022-10-19 14:44:57 -04:00
Goober5000
f24277c39e
make clang happy
2022-10-19 14:22:10 -04:00
Goober5000
77179dc183
add mn.createDebris
...
This is a new Lua API function that allows creation of arbitrary debris pieces, whether chunks of a ship's hull or shards of shrapnel. All of the parameters are optional, and a wide variety of situations are possible ranging from vaporized bits to static chunks to chunks propelled by an explosion.
2022-10-19 14:22:10 -04:00
Goober5000
d37a446894
music and training message timestamp conversion
2022-10-19 14:11:23 -04:00
Goober5000
3850acdd23
documentation updates
2022-10-10 22:45:14 -04:00
Goober5000
a47b2440d3
add ship registry
2022-10-06 20:43:09 -04:00
Goober5000
064d3a7549
add getMusicScore and setMusicScore
...
Two new Lua API methods, plus some minor refactoring.
2022-10-03 17:14:33 -04:00
Goober5000
5e3f72229c
Merge pull request #4684 from Goober5000/set_and_get_ship_flags
...
add setFlag and getFlag for ships and parse objects
2022-09-21 12:39:00 -04:00
Goober5000
ce4563867d
Merge pull request #4682 from MjnMixael/MissionTime
...
Mission time
2022-09-20 20:09:25 -04:00
Goober5000
a379411d7a
add ParsedShips indexer and update terminology
2022-09-20 16:08:43 -04:00
mjn-mixael
931cfdebb0
explicit bool
2022-09-19 20:34:10 -05:00
mjn-mixael
f7b19553c8
nullptr while I'm here
2022-09-19 19:36:11 -05:00