Conversation
f67e43c to
ff43b62
Compare
a46bf96 to
774d842
Compare
774d842 to
d40ef7f
Compare
This is a follow-up to ad81db1 (https://github.com/ec-/baseq3a/pull/49). This brings the game balance closer to the original game. For discussions, see OpenArena/gamecode#349.
This is in preparation to some gibs improvements.
In the original game, all gibs start flying from one single point (i.e. `playerOrigin`), which is sometimes noticeable. Let's position the gibs closer to where they are supposed to be anatomically. That is, legs go lower, head goes higher.
The previous commit added proper initial positions to each individual gib. And now it's time to also make sure that they're facing the right direction.
To be more precise, preserve the player velocity, most importantly, including the velocity they get from knockback.
It's more "physically accurate" to decide whether to leave a mark based on velocity. This allows gibs to leave multiple marks, should they keep high velocity after the first impact.
Allow playing the gib sound more than once, and keep leaving the blood trail even if the gib already hit something.
This makes the gibs feel more "dead" and less frog-like.
This will let us handle non-0 pitch values.
Before this commit we positioned gibs close to where the player model's part are located, but only assuming that the body is in an upright position. That resulted in dead bodies' gibs getting launched from pretty far away from where the model is actually located. This commit fixes that.
This increases memory usage by 216 kB, but makes blood marks not forcefully disappear as new ones are made.
Note that this changes the network protocol. But it's still compatible with vanilla. See new comment in `g_combat.c`. We had to move the code that resets `damage_blood`, `damage_armor`, `damage_knockback` because otherwise they would stop getting reset when the player dies, because `P_DamageFeedback` early-returns when `PM_DEAD`.
d40ef7f to
8e5636d
Compare
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
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.
This MR includes (and thus supersedes) the following MRs:
cg_gibsBounceFactorCVAR #62When this is tentatively approved, I'll need to double check whether I documented all the new CVARs.
As requested in https://github.com/ec-/baseq3a/pull/63#issuecomment-3726169552, I'm submitting all my gibs improvements in one MR.
I recommend not doing a squash merge.