allegro_flare icon indicating copy to clipboard operation
allegro_flare copied to clipboard

Add Suite of new Classes

Open MarkOates opened this issue 9 years ago • 10 comments

AllegroFlare still has some gaps in functionality for mainstream use and clarity. Here's some ideas on what could be considered:

  • Networking
  • Physics 2D (chipmunk or box2d)
  • Physics 3D (probably bullet physics)
  • ~Random~ ✅ Added
  • Math
  • Downloadable Content
  • Unlockable Content
  • ~Color~ ✅ Added since https://github.com/allegroflare/allegro_flare/pull/172
  • Parallax Background
  • MotionFX (or ParticleFX, or MotionGraphic)
  • TileMap
  • Particle
  • ParticleGenerator
  • SpriteSheet
  • Filesystem Watcher
  • Jukebox - issue is here
  • NinePatch
  • TitleScreen
  • TitleScreen::MenuOption
  • CreditSequence
  • StoryboardScreen
  • LorumIpsumGenerator

MarkOates avatar Jun 12 '16 15:06 MarkOates

Most of these features (with the exception of Random and Math) are best left until after 0.9.0

Random and Math should probably be in by 0.8.9

MarkOates avatar Jun 20 '16 04:06 MarkOates

Color should be an object. And you should be able to do operations like +, -, *, etc.

// Initialization
Color::red;
Color(0.0, 1.0, 0.0); // 100% green

// Operators
Color(1.0, 1.0, 1.0, 0.75); // 75% transparent white
Color(0.4, 0.6, 0.3) + Color(0.2, 0.1, 0.6); // Color(0.6, 0.7, 0.9)
Color(0.8, 0.4, 1.0) * 0.25; // Color(0.8, 0.4, 1.0, 0.25)
Color(0.4, 0.6, 0.3) * Color(0.5, 0.25, 0.5); // Color(0.25, 0.15, 0.15)

MarkOates avatar Sep 12 '16 04:09 MarkOates

A SpriteSheet would be good. (Question asked here: https://www.allegro.cc/forums/thread/616493)

MarkOates avatar Sep 21 '16 17:09 MarkOates

To add to this list, some really nice high level classes that came to mind:

  • TitleScreen
  • TitleScreen::MenuOption
  • CreditSequence

MarkOates avatar Nov 05 '19 14:11 MarkOates

Jukebox class, to easily control music from all different formats. Crossfade, adjust volume, playlists, seamless looping, layering, streaming, etc. Maybe even an API to control Spotify locally.

MarkOates avatar Nov 07 '19 00:11 MarkOates

Random name generator - could use kid name generator from hackathon https://github.com/MarkOates/krampushack2016/blob/master/src/generators/kid_name_generator.cpp

Could use top 100 name lists from major countries. Brittan, USA/Canada, India, China, Japan, etc.

MarkOates avatar Jun 26 '22 02:06 MarkOates

Consider a Time class, could provide timestamps, as well as generate calendars (example here)

MarkOates avatar Jul 07 '22 18:07 MarkOates

Added a Generators/PersonNameGenerator in https://github.com/allegroflare/allegro_flare/commit/e9448ccd0f197d20985ce47ac09ada6a186d09bd. As per the comment above, would be nice to add top common names from different major countries.

MarkOates avatar Jul 18 '22 16:07 MarkOates

A UnicodeFontViewer, derived from FontAwesomeExample (and probably used to replace the class in it):

https://github.com/allegroflare/allegro_flare/blob/217941c8c50a6277b8b528a5d512eda9aecbfd23/examples/AllegroFlare/FontAwesomeExample.cpp#L10-L94

MarkOates avatar Jul 21 '22 22:07 MarkOates

Consider a PigLatin converter: e.g. https://cs.calvin.edu/activities/books/c++/intro/3e/HandsOnC++/lab5/exercise.html

MarkOates avatar Aug 22 '22 14:08 MarkOates