Commit Graph
16840 Commits
Author SHA1 Message Date
Birk Magnussen f8220ccd60 Property Append Mode 2023-05-25 20:54:04 +02:00
Birk Magnussen be29fc9eaa fix warning 2023-05-25 12:15:18 +02:00
Birk Magnussen 4d25b34c1b Add Subsystem data change 2023-05-25 12:12:55 +02:00
EatThePath b32e7b35f7 fix #5416 by loading correct table filenames and ensuring tonemapper is parsed into proper profile. (#5417)
Also fixes semi-spurious warnings about missing default profile by ensuring proper creation of the default profile even if no files are found.
2023-05-22 22:46:58 -04:00
Goober5000 7443fed890 Merge pull request #5415 from Goober5000/iequals
add lcase_equal and lcase_lessthan
2023-05-21 21:19:12 -04:00
Asteroth d4beb69328 Add player damage inflicted factor (#5406)
* add player damage inflicted factor

* update default file
2023-05-21 08:17:31 -04:00
Goober5000 d6f3fc76f9 Merge pull request #5414 from Goober5000/fix_event_delay_status
fix evaluation of event status for some events
2023-05-20 18:53:58 -04:00
Goober5000 3e0c7f0721 add lcase_equal and lcase_lessthan
The `SCP_string_lcase_equal_to()()` and `SCP_string_lcase_less_than()()` functors are rather unwieldy to use in non-functor situations, so this adds conventional function equivalents.
2023-05-20 18:21:37 -04:00
Goober5000 d0409ee7be Merge pull request #5409 from Goober5000/fred_and_parse_cleanup
some cleanup and refactoring
2023-05-20 12:41:10 -04:00
Fabian Woltermann ca66b41a9e Merge branch 'master' into ltp/multiple-profiles 2023-05-20 10:02:05 +02:00
Goober5000 38c04d0ab3 fix evaluation of event status for some events
Related to #5267, and again concerned with the original check for event delay:
```
if ( (fix) Mission_events[i].timestamp + delay >= Missiontime )
    return SEXP_FALSE;
```
For events that were never evaluated at all, their timestamp remained 0.  Thus the function did not return and the status of the event (which by definition was incomplete) was always checked.

After the timestamp refactoring, this comparison always returned SEXP_FALSE for these events.  The correct behavior is to bypass invalid timestamps so that the status of the event is always checked.

This fixes the behavior of `is-event-false-delay` in debriefings.
2023-05-19 23:11:35 -04:00
Mike Nelson d87cd04aad Traitor overrides feature (#5404)
* Traitor overrides feature

* must code the way goober codes or else

* clarity is key when you're ocd

* even more clarity
2023-05-19 13:07:50 -04:00
ETP aec4977e6e cleaned up some dead commented code 2023-05-19 13:05:28 -04:00
Goober5000 34663c68bd some cleanup and refactoring
Refactor and clean up some of the code, and add some fixes and utility functions.  This covers the non-X-Wing part of #5277.
2023-05-18 18:28:09 -04:00
Goober5000 2b1cd53db9 Merge pull request #5397 from Goober5000/lua_is_player
add ship:isPlayer()
2023-05-14 22:05:21 -04:00
BMagnuandFabian Woltermann b0b05b35fd MSAA (#5400)
* Add MS buffers

* Implement basic MSAA with commandline

* Move MSAA init to deferred pipeline

* Fix shadows when MSAA is enabled

* Implement resolve shader

* Cleanup basic resolve shader

* Implement front-first depth-aware MSAA resolve

* Fix background resolve

* Allow setting MSAA level

* Ensure good MSAA level

* Code Median shader for different sample counts

* Cleanup

* Add MSAA options toggle

* Add MSAA sample count pre-parsing

* Add GL scope

Co-authored-by: Fabian Woltermann <[email protected]>

* Typo
2023-05-14 08:14:51 +00:00
ETP 7beb28b4f6 added lab interface for selecting lighting profiles. 2023-05-13 21:12:59 -04:00
ETP a094eb00c8 Trim out some future feature code. 2023-05-13 21:12:59 -04:00
ETP 62b70e74ca Rebasing lighting profile switchery 2023-05-13 21:12:58 -04:00
EatThePath 89ffbb5a34 Merge pull request #5347 from EatThePath/ltp/profile-code-reorg
lighting profile code reorg
2023-05-13 21:11:58 -04:00
Goober5000 8aa5a22f5d Merge pull request #5399 from BMagnu/modularpof_parent_subsystem
Fix modular pof handling of dock / path parent names
2023-05-12 14:19:16 -04:00
BMagnu 26cfc8d017 Make check case insensitive 2023-05-13 01:52:40 +09:00
Birk Magnussen 6f8c8e802a fix modular pof handling of dock / path parent names 2023-05-12 10:26:13 +02:00
Goober5000 712a70444b update type_flags when dock name changes
The `type_flags` on a model's dockpoints are determined by the dockpoint name.  If the name changes, the flags should be updated accordingly.

This fixes a bug in Scroll where a dockpoint that was imported and renamed to start with the word "cargo" was not compatible with cargo docking as expected.
2023-05-12 04:08:38 -04:00
Goober5000 eaf57bddf3 add ship:isPlayer()
Add Lua functions to check whether a ship or parse object is a player ship.
2023-05-12 00:35:29 -04:00
wookieejedi 29f82cb5d7 Fix two undocking bugs for small ships (#5396) 2023-05-11 17:06:42 -04:00
Birk Magnussen ff3be1a4e3 Add additional checks for animation list handling of nonexistent polymodel instances 2023-05-06 13:42:21 +02:00
Goober5000 25348edff2 Merge pull request #5391 from Goober5000/tweak_int_parsing
make number parsing a little more forgiving
2023-05-05 14:38:04 -04:00
mjn-mixael 13a990a98f this needs to be converted from base 1 2023-05-05 10:14:48 -05:00
Asteroth 18ba984f3e fix for weapons with lots of inherited velocity (#5392) 2023-05-05 07:58:37 -04:00
Fabian Woltermann 488db515ce Merge pull request #5388 from BMagnu/fix_shader_hdr
Fix HDR conversions in main shader
2023-05-05 13:54:20 +02:00
Mike Nelson 3f8e3360f9 Some additional splash screen features (#5379)
* some additional splash screen features

* Do this based on actual milliseconds

* splash screen is skipped in standalone

* os_poll()
2023-05-04 14:24:10 -04:00
Goober5000 61579f746c make number parsing a little more forgiving
In retail, number parsing picked up immediately at the character after the number parsed, so parsing `0.50` as an int would yield 0, and then the next available characters would be `.50`.  Even though parsing has been tightened up and made stricter, we can still "fail gracefully" by simulating the old behavior.  And when failing gracefully, the message can be a warning.
2023-05-03 22:44:55 -04:00
Asteroth 02a40ae905 Remove model octants (#5373)
* remove model octants

* actually remove the struct

* comments

* remove scratch comment

* initialize
2023-05-01 23:54:43 -04:00
Goober5000 04a9de69ea Merge pull request #5375 from Goober5000/4562_redux
Modernise CFLAGS on Mac/Linux
2023-05-01 23:25:20 -04:00
Goober5000 1457bb0c7f Merge pull request #5386 from MjnMixael/no_unicode_font_error
Warn instead of error for bitmap fonts in unicode
2023-05-01 23:25:01 -04:00
Goober5000 e120bb90b6 clear caches for both nodes in rand_sexp
Since `rand_sexp` also writes text into the sexp node for the seed value, its cache should be cleared too.  And since this is a pretty common operation, wrap it in a `clear_cache` function.

Follow-up to #5381.
2023-05-01 16:36:58 -04:00
Birk Magnussen baada08eca Fix shader 2023-05-01 20:00:59 +02:00
wookieejedi 5a1ac87802 Update recent particle optimizations to fix edge case slowdowns (#5385)
#5328 added a very useful culling for particles created by specific particle effects (ie weapons, now beams), though in an effort to simplify the culling process, that PR removed the necessary culling of default smoke on ships. This PR restores the culling of default smoke while also keeping the new culling of particle specific effects. Tested and works as expected, including fixing the slowdowns caused by the aforementioned removal of smoke effect culls.
2023-04-30 15:15:37 -04:00
mjn-mixael 9e5894512c warn instead of error 2023-04-30 10:57:15 -05:00
MageKing17 e5301b7595 Fix the rand SEXP's use of cached values. (#5381)
The `rand` SEXP stores the result of its first call in the "low" node. Prior to PR #2402, this worked fine, but after that, the value is cached when first evaluated, meaning that subsequent calls to the `rand` SEXP will always return the lowest value in the range, not whatever number was rolled the first time.

This commit makes it so that writing the rolled value to the node's `text` attribute is immediately followed by deleting the no-longer cached value, so that the SEXP continues to work as intended.
2023-04-30 11:31:32 -04:00
MageKing17 ae91e4af1b Actually handle a missing Fade_anim properly. (#5382)
When I made FSO not crash with demo data in PR #1156, I avoided calling `brief_maybe_blit_scene_cut()` if `Fade_anim` didn't load, when I should've made it do what the icculus port does in demo mode: pretend the animation finished immediately.

With this commit, the first mission of the demo correctly advances past the first briefing stage.
2023-04-29 17:13:37 -07:00
Fabian Woltermann b77902309a Merge pull request #5384 from The-E/fix/division_by_zero_when_rendering_glowpoints
fix crash in glowpoint rendering
2023-04-29 19:32:32 +02:00
Fabian Woltermann 09a1485a7b this makes sure we do not run into a division by zero under certain circumstances. Also skips glowpoint rendering if the glowpoint is currently invisible 2023-04-29 18:04:39 +02:00
Asteroth 63df812d79 Add beam particles (#5330)
* add beam particles

* tweaks

* more tweaks

* fix warning

* dumb c++

* fix switch

* spelling
2023-04-29 08:45:31 -04:00
Asteroth b8dacdd898 afterburning hard ignores wings (#5376) 2023-04-27 02:51:41 -04:00
Goober5000 b97430e5a0 move from setjmp to try/catch 2023-04-26 19:36:16 -04:00
Goober5000 64c27d8186 fix unused variable warnings 2023-04-26 19:36:16 -04:00
Asteroth d43cf1018d ensure pmi for this lookup (#5372) 2023-04-25 22:27:41 -04:00
Goober5000 06df0a8a4d Merge pull request #5332 from Goober5000/xmt_ssm
improve XMT handling of ssm.tbl
2023-04-25 00:14:04 -04:00