Skip to content

jagprog5/game_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game System

This defines traits for a 2D game framework and gives an implementation based on rust-sdl2.

Core

  • memory management (textures / audio)
    • specify resource by file path and don't worry about managing anything!
  • window creation (single window support only)
  • input event handling
    • mouse
    • keyboard
    • window
  • textures
    • from image file
    • from rendered font
      • pt size
      • wrap width
      • color
    • from software rendered (raw pixel access)
    • copying to screen - src + dst + rotation
    • clipping rectangle (aka scissor)
  • audio
    • sounds
      • direction and volume
      • looping support - adjust while playing
    • music
    • fade in / out

UI

  • only uses the core interface
  • immediate mode
  • optional super low idle CPU usage (only update on events received)
  • widgets
    • tree hierarchy
    • tiled background
    • tiled border
    • button
    • checkbox
    • debug (test sizing)
    • multi line label
    • single line label
    • strut (force spacing)
    • image display widget
  • layout
    • vertical / horizontal
    • scroller
  • sizing information
    • min
    • max
    • preferred portion (e.g. 50%)
    • preferred aspect ratio
    • displacement (on min or max length failure. e.g. "right align text")

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages