Commit Graph
2748 Commits
Author SHA1 Message Date
Asteroth ac9636733f ets fixes (#5317) 2023-04-11 06:31:04 +09:00
Mike Nelson af88697348 Parse and save asteroids by name (#5134)
* parse and save asteroids by name

* typo

* update version
2023-03-28 07:38:14 -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
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
Naomi Coffman 2cb9b94f61 Merge branch 'master' into more-flexible-dynamic-messages 2023-03-20 11:07:36 -04:00
Goober5000 7540c79993 add comment 2023-03-19 00:01:20 -04:00
Goober5000 eed50619ca fix an edge case in is-event-true-delay and related sexps
Originally the check for event delay was this:
```
if ( (fix) Mission_events[i].timestamp + delay >= Missiontime )
    return SEXP_FALSE;
```
This returns false even when the mission time is equal to the timestamp.  Therefore the timestamp check needs to use >, not >=.

Thanks to Durandal and ShivanSpS for helping to track this down.
2023-03-17 15:00:06 -04:00
Mike Nelson b74937d74f always test goober-suggested code for errors (#5254) 2023-03-13 16:38:55 -04:00
Naomi Coffman 730eddc73a Localize message type parsing 2023-03-11 17:57:03 -05:00
Naomi Coffman 95f5839b5f Disenlongate method names 2023-03-11 11:39:06 -05:00
Mike Nelson b1033732f1 fixup error checking in regards to sexps using dynamic parameters (#5245)
* fixup error checking in regards to sexps using dynamic parameters

* anal retentive

* add more nonsense to make other nonsense work

* check these better

* dammit github

This reverts commit 542707c1c2.

* do this again but not in GitHub

* more nonsense to handle nonsense

* Revert "more nonsense to handle nonsense"

This reverts commit 6bc8b6e775.

* this is the song that never ends
2023-03-10 03:05:53 -05:00
mjn-mixael c1260fc533 Check the op const, not the op dummy 2023-03-07 08:10:50 -06:00
Fabian Woltermann 2392a6cc7d Merge pull request #5231 from BMagnu/volumetric_nebulae
Localized Volumetric Nebulae
2023-03-06 16:38:14 +01:00
Mike Nelson 46d1386690 Enhance Dynamic SEXPs with parent parameters (#5033)
* Add ability for a Lua sexp parameter to require a 'parent' parameter

* Add dockpoint as a return type

* variable conflicts

* var name

* qtfred

* address feedback
2023-03-06 22:27:06 +09:00
Birk Magnussen 5392a0d9fe Fix lab volumetrics 2023-02-28 20:24:46 +01:00
BMagnu cc1e26dd25 Fix skip_to_start_of_string_one_of 2023-02-27 16:56:08 +01:00
BMagnu e1f071036f Lab parse volumetric nebula 2023-02-27 15:55:03 +01:00
Goober5000 6bc6b0f1e2 use SCP_string optimizations here 2023-02-23 20:35:48 -05:00
mjn-mixael eaed502d62 break the loops 2023-02-21 12:25:49 -06:00
mjn-mixael 267921b443 skip the outer loop, not the inner loop 2023-02-21 11:51:07 -06:00
mjn-mixael 439f59e1f2 check for duplicates here, too 2023-02-21 09:12:54 -06:00
mjn-mixael ce8724a653 disallow enum duplicates 2023-02-21 09:10:48 -06:00
MjnMixael 61247bf3e2 sexps to check turret weapons (#5072) 2023-02-21 18:11:21 +09:00
MjnMixael c83b4b5838 is-ship-emp-active sexp (#5071)
* is-ship-emp-active sexp

* remove these

* remove counting

* unused variable declarations
2023-02-21 18:11:00 +09:00
MjnMixael f6ffe4e399 add pre-parse enums support (#5011)
* add pre-parse enums support

* Skip to the next defined enum if one already exists by this name.

* do this as string instead of char array
2023-02-21 18:10:52 +09:00
Goober5000 9d0629f657 Merge pull request #5196 from MjnMixael/flag_sexp_descriptions
Flag sexp descriptions
2023-02-20 23:26:29 -05:00
Asteroth b7353b2027 Add turret-fired-since SEXP (#5061)
* add turret-fired-since

* update to new timestamp system

* unused variables
2023-02-20 22:10:49 +09:00
Goober5000 42db9f2e7b Merge pull request #5169 from MjnMixael/countermeasure_cargo_size
Feature for countermeasures to respect cargo size
2023-02-19 15:06:17 -05:00
Fabian Woltermann 5f6f4c11b2 Merge pull request #5191 from MjnMixael/unlimited_power
Unlimited Power
2023-02-19 17:21:07 +01:00
Fabian Woltermann b030148c21 Merge pull request #5019 from Goober5000/query_referenced_update
more #define updates
2023-02-18 18:45:22 +01:00
Goober5000 731b5d53c5 change case 2023-02-17 21:50:42 -05:00
mjn-mixael badde3ad96 Let FRED display flag descriptions 2023-02-16 17:12:47 -06:00
mjn-mixael b2270e4714 OPF_BOLT_TYPE is the senate 2023-02-15 18:24:37 -06:00
mjn-mixael 8063fc3863 Unlimited Power 2023-02-15 16:34:15 -06:00
MjnMixael aaee1e5a32 enhance handling of motion debris (#5022)
* enhance handling of motion debris

* dunno what i was thinking here

* address feedback

* require all four bitmaps to be defined in new parsing method

* address feedback
2023-02-15 17:13:48 +09:00
MjnMixael ce274209c1 adds hudgage and event to the valid types of a Lua Sexp parameter (#5018) 2023-02-15 17:13:38 +09: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 40807000ad Merge branch 'master' into countermeasure_cargo_size 2023-02-12 23:18:02 -06:00
Goober5000 60e5ba9541 Merge pull request #5139 from MjnMixael/has_armor_sexp
has-armor-type sexp
2023-02-12 15:40:53 -05:00
Goober5000 eaa063ba65 Merge pull request #5152 from Goober5000/mission_versioning
add versioning support to missions
2023-02-11 16:19:33 -05:00
mjn-mixael 002ab4885e gate float divisions behind mod flag 2023-02-11 14:48:55 -06:00
Goober5000 0d75790a6a Merge pull request #5138 from MjnMixael/force_emp_sexp
hud-force-emp-effect sexp
2023-02-11 15:36:48 -05:00
Goober5000 85e11ecd6d Merge pull request #5096 from MjnMixael/opf_turret_type
Implement opf_turret_type
2023-02-11 15:36:35 -05:00
Goober5000 3651239a6b Merge pull request #5010 from Goober5000/more_category_updates
more category updates
2023-02-11 15:33:28 -05:00
mjn-mixael 4f36c6a781 feature for countermeasures to respect cargo size 2023-02-03 10:15:32 -06:00
Goober5000 3c723c9ea9 add versioning support to missions
This finally enables the `$Version:` field in FreeSpace missions, which has been present ever since the beginning of FS1's development but has never been used for its intended purpose.  This field now stores the version of FSO that is required to run the mission.  If the version of the engine is not sufficient to run the version of the mission, then a) the mission is hidden from the mission listing, or b) a friendly notification is displayed if the mission is loaded anyway (for example, through a campaign).  Furthermore, FRED will notify the user if the mission's version is migrated from any version other than the legacy 0.10.

It will be the responsibility of coders who modify the mission format to also update the `MISSION_VERSION` constant with the appropriate major/minor/build/revision of the format change.
2023-01-28 18:01:51 -05:00
mjn-mixael 6162c475a0 float 2023-01-26 08:34:34 -06:00
mjn-mixael 9419f24184 warning 2023-01-26 08:30:26 -06:00
mjn-mixael 236b648b11 address feedback 2023-01-25 08:43:11 -06:00
mjn-mixael 414c630d04 address feedback 2023-01-25 08:31:36 -06:00