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

Gamestate/renderer simulation #1497

Merged
merged 101 commits into from
Apr 2, 2023
Merged

Conversation

heinezen
Copy link
Member

@heinezen heinezen commented Feb 14, 2023

Continues #1388 and integrates it into the new renderer architecture.

Resource loading

  • Introduce new .texture format for texture and subtexture definition
    • specification
    • converter export
  • Parsers for definition files
    • sprite
    • texture
    • terrain
    • blendmask
    • blendtable
    • palette
  • Storage classes
    • animation info
    • terrain info
    • blend info
    • palette info

Simulation

  • Simulation clock
  • Special curve for repeated time intervals
  • Event loop setup
    • pipeline from presenter to event loop
    • move events and clock to separate thread

Rendering

  • Play animations with corrects frame timings
  • Renderer test
    • parsing (demo 1)
    • displaying loaded texture (demo 1)
    • display animation (demo 4)
  • Use new formats in AssetManager/TextureManager
    • cache animation info
    • cache texture info
  • pass animations from gamestate to renderer

@heinezen heinezen added area: renderer Concerns our graphics renderer lang: c++ Done in C++ code area: simulation Involved in the game mechanics and simulation area: assets Involved with assets (images, sounds, ...) big stuff High-impact changes, mainly foundation work labels Feb 14, 2023
@heinezen heinezen marked this pull request as ready for review February 18, 2023 12:30
@heinezen heinezen mentioned this pull request Feb 19, 2023
10 tasks
Moves the subtexture information from the animation definition to its own format. This should make parsing the information easier.
Previously: Last Bit of alpha = 1 --> value is a command.
Now: Last Bit of alpha = 0 --> value is a command.

This makes rendering normal colors much easier, since their alphas can now be copied without a need for modification in the shader. alpha = 0 becomes a possible command as well.
- Render subtexture with custom shader
- Add simple color command handling in fragmen shader
- Option to cycle through subtextures with left/right arrow keys
Copy link
Member

@TheJJ TheJJ left a comment

Choose a reason for hiding this comment

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

lets do it!

@TheJJ TheJJ merged commit d25db78 into SFTtech:master Apr 2, 2023
@heinezen heinezen deleted the animated-simulation branch October 15, 2023 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: assets Involved with assets (images, sounds, ...) area: renderer Concerns our graphics renderer area: simulation Involved in the game mechanics and simulation big stuff High-impact changes, mainly foundation work lang: c++ Done in C++ code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement a parser for the new sprite format
2 participants