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

Raycaster improvements, cleanup and working bug spray #698

Merged
merged 4 commits into from
Aug 9, 2021

Conversation

Gadgetoid
Copy link
Contributor

General

  • Make vspan respect clip rectangle
    Raycaster uses vspan to draw walls and sprites, and was paying the cost for walls drawn under the HUD.
    Clip Rect support in vspan allows it to gain a little extra performance by not drawing things you can't see.
    Don't set a clip Rect larger than the screen...

RayCaster

  • Delete dead code and commented-out code
  • Removed vector operations, used builtin .rotate
  • Optimise some code paths by sharing computed values
  • Compute player camera in render instead of update
  • Optimise ambient occlusion
  • Support for PicoSystem 120x120 (targets 120x90 and overdraws)
  • RayCaster - add fake volumetric bug spray
    • Uses sprites projected from the spray can nozzle with a gradual change in opacity/size to simulate a cloud of bug spray.
    • Spray has nozzle velocity and, actually by accident, slowly floats up into the air.

* Delete dead code and commented-out code
* Removed vector operations, used builtin .rotate
* Optimise some code paths by sharing computed values
* Compute player camera in render instead of update
* Optimise ambient occlusion
* Support for PicoSystem 120x120 (targets 120x90 and overdraws)
Raycaster uses vspan to draw walls and sprites, and was paying the cost for walls drawn under the HUD.

Clip Rect support in vspan allows it to gain a little extra performance by not drawing things you can't see.

Don't set a clip Rect larger than the screen...
Uses sprites projected from the spray can nozzle with a gradual change in opacity/size to simulate a cloud of bug spray.

Spray has nozzle velocity and, actually by accident, slowly floats up into the air.
Also disable -Werror to pass CI. I've cleaned up the stuff that GCC complained about.
@Gadgetoid Gadgetoid merged commit e6dc0db into master Aug 9, 2021
@Daft-Freak Daft-Freak deleted the patch-raycaster branch January 26, 2023 12:15
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.

1 participant