Skip to content
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

Make particles solid squares when cl_particles_quake is set to 2 #137

Merged

Conversation

hemebond
Copy link
Contributor

@hemebond hemebond commented Mar 1, 2024

This creates a new function, CL_NewQuakeParticle, that is used instead of CL_NewParticle when cl_particles_quake is enabled. The function calls CL_NewParticle with a some hardcoded defaults to make the particle texture a disc, or solid square, based on the value of cl_particles_quake.

Possibly also resolves https://gitlab.com/xonotic/darkplaces/-/issues/308 by re-implementing the colour ramp mechanic for explosion particles.

dp20240303025247-00

@hemebond hemebond changed the title Use square particles, not soft disks, when cl_particles_quake is enabled Use solid squares, not soft discs, when cl_particles_quake is enabled Mar 1, 2024
@hemebond hemebond marked this pull request as draft March 2, 2024 16:57
@hemebond hemebond marked this pull request as ready for review March 2, 2024 17:55
Copy link
Contributor

@bones-was-here bones-was-here left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one adds a few minor warns that should be easy to fix, we currently have no warns (at least on linux with gcc 13.2 or clang 14) so if you see one it's probably yours :) gcc seems more rigorous than clang when it comes to catching issues. Also CONTRIBUTING.md style please.

@bones-was-here
Copy link
Contributor

bones-was-here commented Mar 10, 2024

I have a feeling that if we remove the current behaviour of cl_particles_quake 1 entirely, someone will complain.
I suggest adding this as a second mode of the cvar, eg:
cvar_t cl_particles_quake = {CF_CLIENT | CF_ARCHIVE, "cl_particles_quake", "0", "1 makes particle effects look mostly like the ones in GLQuake, 2 makes them look like the ones in software rendered Quake."};

Edit: I haven't looked at what other engines are doing here, or if there is one that offers 3 particle styles.

@hemebond
Copy link
Contributor Author

Edit: I haven't looked at what other engines are doing here, or if there is one that offers 3 particle styles.

QuakeSpasm has OpenGL disc particles, and Ironwail allows the option of OpenGL discs or Quake squares.

@hemebond hemebond changed the title Use solid squares, not soft discs, when cl_particles_quake is enabled Make particles solid squares when cl_particles_quake is set to 2 Apr 11, 2024
Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
@bones-was-here bones-was-here merged commit 58dc787 into DarkPlacesEngine:master Apr 12, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants