Skip to content

A slimmed down curses-like header-only library. Good for terminal-based games and such.

License

Notifications You must be signed in to change notification settings

razterizer/Termin8or

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Termin8or

GitHub License Static Badge Static Badge

build and test ubuntu

Top Languages GitHub repo size Goto Commit Activity Last Commit Contributors

This is a cross-platform header-only curses-like lib.

Supported platforms (including but not limited to) are:

  • Linux.
  • MacOS.
  • Windows.

Showcases

image image image image image image

Sprite System

Bitmap Sprites

ubuntu_elli1an7bg_360

Vector Sprites

ubuntu_vhurwusqie_360

Dynamics / Collision System

Kapture 2024-10-31 at 14 08 03


Header Files

  • ASCII_Fonts.h : API for rendering text using FIGlet fonts and allows you to style your text with different colors. Supported FIGlet fonts are:
    • Larry3D.
    • SMSlant.
    • Avatar.
  • Color.h : Contains colour definitions for the 16 colors that Termin8or (and the terminal) supports. There are also two transparency colours / modes which allows you to overlay text using the same colours that are already present in a given location in the screen buffer (see ScreenHandler.h).
  • Gradient.h : Allows you to access a vector of given objects using a normalized (0 to 1) t parameter. Useful for particle systems and things like that where it is used for color gradients.
  • Drawing.h : Features some drawing functions such as bresenham::plot_line(), drawing::draw_box(), drawing::draw_box_textured(), drawing::draw_box_outline() and drawing::filled_circle_positions().
  • GameEngine.h : A highly customizable buy easy to use game engine (or engine for any real-time terminal-based program).
  • Keyboard.h : A keyboard handling API that is easy to use. Use class StreamKeyboard to poll key presses.
  • MessageHandler.h : The MessageHandler class allows you to queue up messages of different severity levels and durations. Messages are displayed in a ui::TextBox in the middle of the screen.
  • ParticleSystem.h : This ASCII-style particle system allows you to make cool real-time VFX such as liquids and fire-smoke. See (SurgSim_Lite and Pilot_Episode for examples).
  • RC.h : A struct representing the row and column position on the screen or in a texture or bounding box to mention a few.
  • Rectangle.h : A rectangle struct that can be used for bounding boxes etc.
  • ScreenUtils.h : A collection of functions for rendering dialogs and such:
    • Low-level functions: clear_screen(), return_cursor(), restore_cursor(), gotorc().
    • draw_frame() : Draws a simple frame around your frame buffer.
    • draw_game_over(), draw_you_won() : Draws wavy banners in the FIGlet font Grafitti. Used by GameEngine if those features are enabled.

About

A slimmed down curses-like header-only library. Good for terminal-based games and such.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published