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

Quality of Life Fixes #4993

Merged
merged 8 commits into from
Nov 3, 2020
Merged

Conversation

Web-eWorks
Copy link
Member

@Web-eWorks Web-eWorks commented Nov 3, 2020

This PR is an accumulation of QoL fixes that I've made in the course of finishing several other major features. Among other highlights, these stand out:

  • Cargo ships no longer serialize 4000+ copies of the same cargo item, making saved games about 20% smaller. (This hopefully also doesn't eat your cargo on loading, but keep a watchful eye for the Space Kraken noshing on the industrial equipment in your hold...)
  • The game's iconography has been spruced up significantly, both with new icons from @nozmajner and new breakpoint-based rendering logic that should make icon rendering less artifact-prone.
  • JSON can now serialize fixed-point numbers, rejoice! This change probably shouldn't have been here, but I needed to pad the list for dramatic effect...
  • I've reworked all* of the colors in the default theme! They're now defined as semantic aliases for 42 colors pulled from a unified color palette instead of 75+ individual color literals, making the color theme much easier to maintain. I've also made a few common-sense changes to certain parts of the color theme to ensure readability, better identify certain elements, and reduce the scatter-shot approach to color values.

The work on the theme isn't quite complete; as part of further renderer improvements I'll vet our pipeline to ensure that colors are sRGB correct, which I highly doubt they are at this point.

I have one further change coming to fix #4992 before it's ready for merge.

Before:
image
image

After:
image
image

Render the icon SVG at different size breakpoints (64, 32, 24) and
automatically select the best resolution.
Also fix an issue with LuaColor error reporting and backwards parsing
of color nibbles.

Adjust font size scaling at low resolutions. This fixes a few issues
and should make our fonts crisper than before.
This resulted in a compressed size reduction of approx. 20% in testing
Cargo ships will now no longer spit out 4000+ instances of the same commodity.
This is still not as optimal as separating cargo from equipment, but is a good first step.
Define six color palettes at different value breakpoints and update all
style colors in the game to reference this palette.

This is a superficial refactor - there are still plenty of opportunities
to collapse similar colors together, and there are probably several
spots in the code that still use hardcoded colors.
Add new icons from Nozmajner, update names and usage of existing icons.
Removed or annotated duplicate icons where present.
Copy link
Contributor

@The-EG The-EG left a comment

Choose a reason for hiding this comment

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

Overall, I like the color changes. I think they are subtle, but enough that it introduces better contrast and draws a bit more attention to things that need it.

A knit pick though:
The nav target and warning info on the hud are now an orange instead of yellow. I like the orange, but it doesn't match the indication on the radar (for a proximity warning in this case):
image
This is only the case in the 3d planar radar, the 2D radar does display with the updated color. I imagine it's hard coded?

Also, there's now blue:
image

Which seems like it's the current location/frame:
image

But it doesn't seem to be used anywhere else. The current frame info on the HUD is still white.

Edit, I did also test loading my precious metals trading save game...and it didn't seem to have any issues, but my cargo hold was empty at the time. So i'll need to recompile master, create a new save with stuff in the hold, and try again....

Allows older cards without support for GL_ARB_clip_control to use the reverse-Z buffer
Introduced a ResetDepthRange function to allow SectorView to clean up after itself.
@Web-eWorks
Copy link
Member Author

Thank you for testing this @The-EG! I didn't even think about old saves being a problem with the cargo bay; I'll have to add a path to load the old cargo items (shouldn't be difficult).

Regarding the planar radar, as far as I'm aware the colors are indeed hardcoded. The system map / radar color inconsistency wasn't intended, insofar as I thought of the two as two separate entities with their own color scheme, but I'll take that feedback under consideration. The blue on the radar is actually the station, and the system map is simply the radar contact for the player's ship.

I may adjust the shade of color used for the player on the system map, as there's no dot on the radar to communicate what the "right" color is. I'd like to rework the system map colors further in another PR, I didn't spend as much time there as I probably should have. I'll leave that for a further sprint that includes displaying surface stations though!

@Web-eWorks Web-eWorks merged commit 4a7167c into pioneerspacesim:master Nov 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GL_ARB_clip_control is not supported on GeForce 8600M
2 participants