Asteroth
835285248e
No overlapping turret sounds ( #5295 )
...
* prevent overlapping turret sounds
* whitespace
* fixes
2023-03-30 21:16:32 -04:00
BMagnu
272d6261c4
Generic Lua Multiplayer RPC ( #4835 )
...
* Add automatic lua obj serialization function dispatch
* Implement fundamental and object de/serialization
* Proper default case for package deserialization
* Add No Multi func
* Add Serialization part
* Fix max encoding size for userdata
* Implement exception handling
* Start Implementing lua RPC
* Prepare waitAsync for RPC
* Add packet order enforcing and forwarding
* Add RPC registry
* Make RPCs callable
* Add waitRPC
* Add serializers
* Fix GCC error
* Explicitly specify lua_net_exception
* Fix Warnings
* Replace Seriliaze fundamental with cross-platform data types
* Appease Clang
* Prevent serialization CTD on invalid objects
* Actually use the temporaries assigned
* Fix OSWPT shadow
* Fix table deserialize order
* Incorporate Feedback
* Fix Warnigs
* ix WArnings 2
* Add sanity checks for OSWPT wing serialization
* Multi Bump
* Forgot we have american-style dates there
2023-03-28 03:07:03 +09:00
mjn-mixael
dceea0d7a5
don't need this
2023-03-23 13:17:51 -05:00
mjn-mixael
d76c733d66
nothing to see here
2023-03-23 12:23:03 -05:00
mjn-mixael
c92d383b69
scpui api for medals access
2023-03-23 11:19:46 -05:00
mjn-mixael
242c7184b8
Merge branch 'master' into scpui_hotkeys
...
# Conflicts:
# code/scripting/api/libs/ui.cpp
2023-03-22 09:14:21 -05:00
mjn-mixael
88166d58bc
Merge branch 'master' into scpui_hotkeys
...
# Conflicts:
# code/scripting/api/libs/ui.cpp
# code/source_groups.cmake
2023-03-22 08:33:11 -05:00
mjn-mixael
51c55550f0
Merge branch 'master' into scpui_game_help
...
# Conflicts:
# code/scripting/api/libs/ui.cpp
2023-03-22 08:25:33 -05:00
Mike Nelson
fbf0db09a7
Scpui Mission Log ( #5242 )
...
* SCPUI access to scrollback items (mission event log and message log)
* copy paste error
* check the objective flags instead of the action flags now
* rename actions -> segments
2023-03-21 20:03:35 -04:00
mjn-mixael
08471e8749
cleanup includes
2023-03-09 16:41:18 -06:00
mjn-mixael
465190b154
fix some issues based on testing
2023-03-09 16:38:31 -06:00
mjn-mixael
3c498e65ec
get hotkeys by line
2023-03-09 15:56:30 -06:00
mjn-mixael
6d142428c3
remove a dumb
2023-03-09 10:14:04 -06:00
mjn-mixael
92f140c080
add functions
2023-03-09 10:03:37 -06:00
mjn-mixael
e105b57a26
read access to mission hotkeys for scpui
2023-03-08 14:23:33 -06:00
mjn-mixael
55a89dc13d
clarify documentation
2023-03-07 13:27:00 -06:00
mjn-mixael
1d9fa9719c
some cleanup
2023-03-06 18:26:19 -06:00
mjn-mixael
bc2218a87b
use a table
2023-03-06 18:22:33 -06:00
mjn-mixael
b2e56dc408
Initial setup of lua access to help sections
2023-03-06 17:33:09 -06:00
Fabian Woltermann
c8fd2af450
Merge pull request #5090 from MjnMixael/scpui_closeup_icons
...
SCPUI methods required for handling closeup briefing icon stuff
2023-03-06 16:36:44 +01:00
Fabian Woltermann
b373ad2df4
Merge pull request #5036 from MjnMixael/lua_access_to_enums
...
allow scripts to read LuaEnums and add LuaEnums
2023-02-23 14:46:48 +01:00
Fabian Woltermann
9190d90536
Merge pull request #5158 from MjnMixael/lua_goals_virtvars
...
Add virtvars for goal satisfaction and score
2023-02-23 14:33:54 +01:00
Goober5000
5b175673ed
add initializers to mc_info
...
This initializes `mc_info` to the correct values when it is constructed, removing the need for `mc_info_init`.
This PR also fixes a group of incorrectly inverted assignments in beam.cpp.
2023-02-21 19:09:10 -05:00
mjn-mixael
ed78597635
check for duplicate enum items
2023-02-21 08:39:47 -06:00
mjn-mixael
af41185acb
Merge branch 'master' into lua_access_to_enums
2023-02-21 08:00:02 -06:00
Goober5000
a20dd3bea9
Merge pull request #5174 from MjnMixael/get_audiostream_duration
...
get audiostream duration in float seconds
2023-02-19 15:46:30 -05:00
Fabian Woltermann
2de1441bf1
Merge pull request #5192 from MjnMixael/cutscene_custom_data
...
Cutscene custom data
2023-02-19 17:20:48 +01:00
Asteroth
db5a37c178
add num vertices script func
2023-02-17 23:23:24 -05:00
Asteroth
b68e424213
refactor getting random vertices and script func
2023-02-17 23:03:57 -05:00
mjn-mixael
bbb7539fb6
cutscene custom data
2023-02-16 08:50:03 -06:00
Goober5000
fe4d93393b
Merge pull request #5122 from Goober5000/parse_object_colgroup
...
make collision_group_id accessible to parse objects
2023-02-14 18:45:06 -05:00
MjnMixael
f29c48965e
fictionviewer localization ( #5012 )
...
* fictionviewer localization
* Move this to it's own method
* C_str
2023-02-14 17:26:36 +09:00
mjn-mixael
041a390660
no team, dummy
2023-02-11 14:26:39 -06:00
mjn-mixael
13b7f626a9
appease etp
2023-02-10 09:30:38 -06:00
wookieejedi
9403f17fbb
Adds safety checks to scripting orders with waypoints ( #5173 )
...
* Adds safety checks to scripting orders with waypoints
Turns out setting a waypoint order then trying to get to target of that order in the same frame triggers a crash in the scripting API for ship orders (`order.cpp` line 295). This was due to invalid lookups which lacked safety checks.
This PR adds those safety checks. Now, if this situation is encountered, it leaves `objnum` at -1 and thus returns an object for which `isValid` is false.
Fix is tested and works as expected. Also fixes #5172
* appease clang
* cleanup thanks to Goober
* clang again
* forgot to re-add the nullptr
* remove redundant checks
2023-02-07 15:57:39 -05:00
mjn-mixael
289266d959
get audiostream duration in milliseconds
2023-02-07 13:18:53 -06:00
mjn-mixael
a568f514a3
add virtvars for goal satisfaction and score
2023-01-30 13:59:31 -06:00
Goober5000
df8268368a
make collision_group_id accessible to parse objects
...
Add collision groups to parse objects so they can be set before arrival via script.
2023-01-21 18:10:51 -05:00
mjn-mixael
c6a1639a82
scpui methods required for handling closeup briefing icon stuff
2023-01-07 01:48:39 -06:00
Goober5000
9ce7748c20
Merge pull request #5039 from Goober5000/object_iteration_fixes
...
more robust object iteration
2023-01-03 19:03:22 -05:00
Goober5000
85bb14898f
Merge pull request #5040 from Goober5000/ship_obj_list_iteration
...
add should-be-dead checks for all ship iterations
2022-12-26 22:28:00 -05:00
MjnMixael
a3bbf13da6
prevent access to goals outside the vector ( #5044 )
...
prevent access to goals outside the vector
2022-12-24 21:12:56 -05:00
JohnAFernandez
10d3bdda06
Merge pull request #5041 from MjnMixael/consolidate_tech_rendering
...
consolidation of tech rendering methods
2022-12-24 11:59:12 -05:00
Goober5000
46293ad0fe
add should-be-dead checks for all ship iterations
...
When iterating through `Ship_obj_list`, check the `Should_be_dead` flag before using the object. This fixes #4990 and adds defense-in-depth checks to guard against similar errors elsewhere.
I considered moving the `Ship_obj_list` removal from `obj_delete` to `ship_cleanup`, but decided it would be prudent to avoid fundamental changes to lifecycle management.
2022-12-23 00:51:31 -05:00
mjn-mixael
a662f8168c
consolidation of tech rendering methods
2022-12-21 20:45:40 -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
3b3a45d2d8
fix documentation
2022-12-20 16:07:52 -06:00
mjn-mixael
9f1c00c581
allow scripts to read LuaEnums and add LuaEnums
2022-12-20 15:53:40 -06:00
Asteroth
0fb6b2ae0d
Update 22.4 version references to 23.0 ( #5025 )
...
* update references to 22.4 to 23.0
* fix a few more version references
2022-12-21 00:16:51 +09:00
mjn-mixael
84962ff33c
Remove model instances after rendering
2022-12-16 09:39:11 -06:00