forked from scp-fs2open/fs2open.github.com
-
Notifications
You must be signed in to change notification settings - Fork 0
temporary pr #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Goober5000
wants to merge
573
commits into
Goober5000:stably_sorted_map
from
Fate-of-the-Galaxy:master
Closed
temporary pr #2
Goober5000
wants to merge
573
commits into
Goober5000:stably_sorted_map
from
Fate-of-the-Galaxy:master
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Small cleanup.
This allows the first half of a modular -neb.tbm to be skipped, allowing just poofs to be specified without the need for a preceding empty bitmap section. It's a follow-up to scp-fs2open#5128 which allowed just bitmaps to be specified without the need for a subsequent empty poof section.
* fix piercing sign error * more robust solution
make the `check_for_*` functions return bool
allow modular nebula tables to not define bitmaps
…fs2open#6847) * Allow mods to set threshold at which shield stops taking damage FSO logic dictates that shields collisions and any related sound or visuals related to shields are skipped if the shields are under 10%. This is rather unintuitive especially for mods, so this PR creates a game setting value that allows mods to set this value. Also, this PR fixes a bug where the HUD shield gauge would try and incorporate this feature but did not do it correctly. Specifically, the gauge skips shield segment rendering if the raw shield strength was 0.1 not the percent. Incorrectly using the raw value results in HUD shields being rendered (albeit faintly) even if the damage was skipping the shield and directly damaging the hull. In other words, if the shield segment was 8%, the shield segment would show faintly even the shield is skipping damage. Tested and works as expected. Also happy to discuss or answer any questions! * update local variable name for clarity * rename `ship_quadrant_shield_strength` * cleanup with updated get percent function * more cleanup * wording and safety tuning * use correct default number
* check whether damage is global * use static * remove extraneous arguments
Found a very interesting edge case bug with `$Preload briefing icon models:.` Situation: Mission 1 has a briefing which has a ship class A as the class (and thus loads the model), but the ship class A is not actually in that mission so no subsystems are loaded. Then in mission 2, the ship class A is actually in the mission but FSO tries to reuse the slot that was loaded, but realizes no subsystems were loaded and makes an error message. I that is because the preload code for the briefing icons on `missionparse.cpp` line 6664 just calls `model_load` but does not specify the subsystem argument. I've also attached a retail mod reproducible campaign (2 missions, first is 5 seconds long). When the second mission loads the incorrect subsystem warning appears. This PR properly loads the subsystems and fixes the bug. Tested and works as expected.
* Remove ambient handling from amin / decal pass * Add ambient light to deferred pass * Make decals work and fix double insignia rendering * Fix decal vertex shader * render insignias as decals * Cleanup of old insignia stuff * Move insignia post-processing to model load * perform envmap lighting in deferred shader * Remove Envmapping from main shader * Fix MSVC warning * exclude def_files from clang tidy
Prevent string ops on nullptr char*
…ertion Remove rocket ani assertion
* Cleanup of Shield Hitpoint Threshold Overall cleanup that does a few things: 1) Changes `ship_is_shield_up` from integer to bool. 2) `ship_is_shield_up` was only ever called to look at one quadrant, never for all quadrants, so took the opportunity to update the 'all-quadrant' block to account for ships with a non-standard number of shield quadrants. 3) ` MAX(2.0f, Shield_percent_skips_damage * shield_get_max_quad(ship_objp)` was used many times throughout the code (and will be used at least 2 more times with scp-fs2open#6848), so simply consolidated all of those uses into a new function called `ship_shield_hitpoint_threshold`. Happy to edit the name however. 4) Removed un-needed redundant comments from `ship_is_shield_up` definition in `ship.h` since those comments were already present in the actual function within `shield.cpp`, and all the other functions used comments in that file instead. Again happy to tune or edit with any other choices. * use proper default arg style * actually commit the updated files * appease modern clang * clang round 2
* Fix 3d tex generation * Fix blending and emissive * Add Smoothing * Add smoothing parameter * Correctly calculate fractional smoothing
Small one-line fix that follows up scp-fs2open#6849. That PR removed the `!(Viewer_mode & VM_EXTERNAL))` check within a section of `ship_render_player_ship` to optimize insignia rendering, but turns out that check is needed to ensure `show-ship` properly works. This PR restores that check to fix this bug, and ideally the thoughts about slightly optimizing insignias can be considered later. Tested and works as expected.
* always use exact match * custom gauges should use the type for colors with old preset files
Standalone doesn't create particles so these checks will always fail.
Normalized vectors sent over multi are never guaranteed to still be normalized on the other side.
A minor bug in scp-fs2open#6077 resulted in a crash loading campaigns on the multi ui. The bug itself was not fatal, however it triggered a cascade of poor error handling which led to a crash. A lot of these issues date back to retail. This fixes the minor bug, and hopefully adds enough error handling to preemptively squash a repeat of the crash problem.
* fix single segmen trails when interrupted on both ends * cleaner case handling * remove wip stuff
Get, set, browse team colors with Lua
…dialog QtFRED Background Editor Dialog
Fix crashing if mod uses custom hud gauge and no -mod cmdline is passed
* Expose value of idle circling with 'attack-any' The attack-any order is extremely useful and utilized order, and there was one aspect that was ripe for exposure to modders: the `CHASE_CIRCLE_DIST` that was used to determine how big of a circle to fly around while the AI waited for new hostiles to arrive. For ships with high speeds, like FotG and others, the default radius of 200 m was a bit on the small side, which lead to ships flying in tight circles. This was was counterproductive to goals of tuning the AI to have a more cinematic style, such as where AI would fly around in large distances while waiting for enemies to arrive. Fortunately, this value is easy to expose and allow modders to tune with just a new ai_profiles value. Tested and works as expected. * improve name and use correct distance
This fixes two build issues: - `vk::PFN_DebugReportCallbackEXT` takes `vk::DebugReport*EXT` not C type `VkDebugReport*EXT` since version 1.3.304. (KhronosGroup/Vulkan-Hpp@d5a18dc) - `vk::ObjectDestroy` was moved to namespace `vk::detail` in version 1.3.301. (KhronosGroup/Vulkan-Hpp@6e5489f) Guard them with version checks, so that compiling with older verions of Vulkan keeps working. Closes scp-fs2open#6416.
Small and subtle fix: move the CINEMATIC options inside the preceding if() block in the same way that the flare style options are inside their preceding if() block. This prevents the CINEMATIC options from being reset to their default values in subsequent modular table parsing. Followup to scp-fs2open#6500.
Fix build issues with Vulkan SDK 1.3.301+
Add 'direct fire lead target' beam flag
…rendering simultaneously (scp-fs2open#6853) * Removing block to allow volumetric and background nebulas to render at the same time * Updating code from feedback on pull request scp-fs2open#6853 * What the... did I miss a line? * Dual fog layering should now work when both nebula types are active
Allows `$Thruster Effect:` by fixing copy-paste bug. Tested and fix confirms to work.
If a pspew specifies a single-frame image, be sure that it is loaded correctly. Fixes a particle crash in Inferno.
The double quote conversions added in scp-fs2open#7008 were removed in scp-fs2open#6961, probably inadvertently due to the branch merge. This adds them back.
Fix heap corruption with smaller mipmaps due to decompression output always being a 4x4 block rather than actual mipmap size. It's necessary to pad the allocated data size to allow for the overflow. Fix heap corruption with DXT1 due to using improper data offsets for the type. Fix data offsets not always taking the depth value into account. Adjust code for slight increase in decode performance. Update bcdec to 0.98
restore double quote conversion in event editor
When `$Contrail Speed Threshold:` and `+Volumetric Nebula:` are used in a mission, builds since 23.1 would throw an error, since the fields were loaded in a different order than they were saved. It turned out that the save order was the correct order, so this fixes the load order.
modular table fix for cinematic warp
Beams in general, and slash beams most likely, can collide with the edge of a model, which will cause a non-normalized vector assertion when particle effects are created. So comment out the normal assignment until a more comprehensive fix can be coded.
* Make particles aware of the effect that spawned them * Allow modular curves to call global functions from submember inputs * Add more in and outputs for particle lifetime curves * Allow post-curve velocity as a curve input * fix warning and incorrect assig * Disable CheckTriviallyCopyableMove * Clang Tidy
fix load/save mismatch in missions
) The `$better combat collision avoidance for fightercraft:` flag is incredibly useful in preventing AI from hitting large ships while attacking, and the ability to tune the collision avoidance aggression factor further helps mods tune behavior based on their ship speeds (tuning that value is via `+combat collision avoidance aggression for fightercraft:` ). Nevertheless, the improve collision avoidance still is not performed for that actual fightercraft's actual target, so there can be situations where a fast fighter attacks a large ship with high speed, and then when that fighter break off from the attack they turn directly into the large ship's hull. Allowing the target to be incorporated into the `better_collision_avoidance_triggered` check prevents this from happening. To allow the target to be a part of the checks we just simply need to not pass an 'ignor_ship` argument to `maybe_avoid_big_ship`. This PR adds that ability via flag. This new flag is tested and works as expected. For example, without the flag a squadron of TIEs in FotG would literally ram themselves to death attacking some of our larger capital ships because they would break off attack too late, but with this flag they no longer accidentally collide at all. In discussion with Asteroth it was decided to make this enhanced behavior behind a flag, too. This PR also fixes a small oversight from the original scp-fs2open#2810 where `next_check_time` was never actually used within the `else` block of `maybe_avoid_big_ship`.
* qtfred relative coords dialog * clang
* Pass out normals for edge hits * Remove now-obsolete comments * Also add third instance of disabled particle normal
Get the codebase into a state where it can be automatically synced with the FSO code. This commit will be rolled back after the sync.
…9-16 Prepare to sync 2025-09-16
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.