Commit Graph

  • c2b8e37861 Added CLI11 library, and changed Game constructor to accept JSON objects instead of file paths cocktailfrank 2024-07-11 21:27:54 -04:00
  • 852e7ff2ba - configure and enable/disable stdout and file logs separately - prevent GL error checking by default and add functions for allowing/disallowing - disable logging by default 0.0.1 cocktailfrank 2024-06-05 00:58:59 -04:00
  • bc293232c2 fix compiler warnings cocktailfrank 2024-05-29 22:21:53 -04:00
  • effcaecaf1 minor line length linting cocktailfrank 2024-05-25 21:10:56 -04:00
  • 175e1ee39a add auto generated version string which pulls version from git 0.0.0 cocktailfrank 2024-05-25 17:27:03 -04:00
  • bc9cef8674 skip entry if it is an empty array in key input map; add const function for checking if Pad is enabled cocktailfrank 2024-05-09 03:05:18 -04:00
  • 0aafdb1ff0 linting docstring line lengths cocktailfrank 2024-05-08 12:58:42 -04:00
  • a9665c7e37 macOS build documentation cocktailfrank 2024-05-03 15:50:44 -04:00
  • 102d1749a5 added function to disable audio chunks, colors default to fully transparent, add public getters for Pad::box and Pad::visible cocktailfrank 2024-05-01 20:25:35 -04:00
  • 8498dfa004 - consolidate GL includes into one header - build flags for MacOS - replace glTexStorage2D with more compatible glTexImage2D cocktailfrank 2024-04-24 15:01:17 -04:00
  • 87a946a61e fix missed reference to std::filesystem cocktailfrank 2024-04-18 00:14:55 -04:00
  • a1eef8017e fix clang version in comment cocktailfrank 2024-04-18 00:11:40 -04:00
  • 65eead0079 use experimental filesystem path for Ubuntu 18.04 cocktailfrank 2024-04-18 00:01:23 -04:00
  • 6fdfa67c41 WIP documentation on building for macOS and building wider Linux compatibility cocktailfrank 2024-04-14 00:57:48 -04:00
  • caf9044093 use code block formatting for ascii art cocktailfrank 2024-04-03 13:08:49 -04:00
  • 5fa063ac6f remove PI preprocessor definition from documentation cocktailfrank 2024-04-02 19:07:56 -04:00
  • 27ab95037f add Animation constructor with just frame length parameter cocktailfrank 2024-03-06 21:22:07 -05:00
  • 0e4f06d779 - restore video recording - remove sdl context - configurable audio device settings - deprecate node - move audio recording input handling to game object cocktailfrank 2024-03-04 19:44:06 -05:00
  • 71ff65d588 added details and updates to Raspberry Pi doc section cocktailfrank 2024-02-16 19:41:15 -05:00
  • 923c805fe5 reset animation object before calling animation function in case the animation function reenables the animation cocktailfrank 2023-12-28 16:11:35 -08:00
  • 1fff973b46 add option for texture resize filter to sprite, add functions for finding loudest mixer channel cocktailfrank 2023-12-27 19:20:20 -08:00
  • 11c8abcc54 support for merging an optional list of config files at the beginning of the program cocktailfrank 2023-12-26 22:31:28 -05:00
  • 5d950387a8 make android and wasm config file paths configurable cocktailfrank 2023-12-26 20:26:31 -05:00
  • 8e62f9e0a2 initialize game controller interface at startup cocktailfrank 2023-12-15 00:54:20 -05:00
  • 8184a62a54 add escape to key IDs cocktailfrank 2023-12-14 01:11:18 -05:00
  • 464e69be56 fix initial config modification check, add wrap parameter to text object cocktailfrank 2023-12-12 00:42:38 -05:00
  • c7fb948e39 make refresh function public for sb::Text cocktailfrank 2023-12-07 19:24:04 -05:00
  • fb68938889 use SDL's desktop fullscreen flag for simpler fullscreen behavior, and use Emscripten's fullscreen functionality for web builds; add a flag for disabling fullscreen through the configuration cocktailfrank 2023-12-05 17:56:56 -05:00
  • 5235535cc2 set window fullscreen display mode to current desktop mode before going fullscreen cocktailfrank 2023-12-05 15:28:36 -05:00
  • a6a110141d add toggle function to pause/unpause sb::Animation cocktailfrank 2023-12-05 13:43:16 -05:00
  • 5750997d5c add doc to sb::Animation::playing cocktailfrank 2023-12-04 23:14:30 -05:00
  • a5f55be257 function to get sb::Color as glm::vec4 cocktailfrank 2023-12-04 21:53:49 -05:00
  • ec6a720b24 set texture wrap to clamp cocktailfrank 2023-11-30 00:34:54 -05:00
  • 0a42df9a00 add sprite texture index increment function cocktailfrank 2023-11-14 17:57:45 -05:00
  • 110b876648 deprecate passing callback to Animation; add an update function to Sprite for running frame by frame animation; rename log's ERROR to ERR to avoid conflict with windows.h cocktailfrank 2023-11-14 00:19:32 -05:00
  • 333a7b73ac pad object can be disabled and/or hidden cocktailfrank 2023-11-08 20:00:48 -05:00
  • a91bc4b773 - JSON from file static function - configuration option to start in fullscreen - render text wrapped when exceeding 3000 pixels wide (arbitrary temporary value) - set timer elapsed to any amount of seconds cocktailfrank 2023-11-04 23:52:43 -04:00
  • e168844fc5 - added Windows build using MinGW for box demo along with Windows instructions to main README - replaced Model class in box demo with library's Model class - switched GL context profile mask to compatibility in Windows builds - only open audio device if audio is initialized - increase default audio frequency and buffer size - convert path objects to strings for compatibility with MinGW - update MinGW builds to use regular filesystem library instead of experimental cocktailfrank 2023-10-18 00:07:32 -04:00
  • d575307b15 - redesign audio library to use Chunk and Music classes which align more closely with SDL Mix_Chunk and Mix_Music - remove default texture index from Model class - add support for two textures to Pad class - restore SDL audio mixer initialization parameters to SDL defaults - add optional log level to SDL error logging function cocktailfrank 2023-10-09 23:50:18 -04:00
  • 5046b4bcf1 add custom event that fires on all window resize events cocktailfrank 2023-09-28 21:11:30 -04:00
  • a4435242f8 minor edit to documentation wording cocktailfrank 2023-09-22 23:22:00 -04:00
  • 293d74e396 removed hyphens from keyboard input related configuration key names cocktailfrank 2023-09-22 14:56:35 -04:00
  • 9a6b80f443 added function for extracting a grid of tile surfaces from a larger SDL surface cocktailfrank 2023-09-18 22:10:04 -04:00
  • d882e111b3 - fix sb::Pad to move the collision box when scaled or translated - add warning about config JSON copy - add setter for sb::Pad::_plane - move point on circle functions from extension to math cocktailfrank 2023-09-16 21:04:43 -04:00
  • 4c3235c2ff frame timing updated to run at maximum allowable framerate, delay between frame calls configurable, vsync flag configurable, max framerate configurable up to unlimited cocktailfrank 2023-09-07 19:09:04 -04:00
  • c0fe0c782d add doc comment to box scale functions cocktailfrank 2023-09-04 16:31:10 -04:00
  • 081328e63d store size and format of texture object, only regenerate texture and reallocate memory if size and format are changing cocktailfrank 2023-08-16 18:57:35 -04:00
  • e453a62679 update sprite class's private member var comments, remove extraneous quotes from texture log message cocktailfrank 2023-08-14 16:44:25 -04:00
  • a055001482 add method to clear texture list to sprite class, add comments explaining model class's private member vars cocktailfrank 2023-08-14 16:30:38 -04:00
  • edafaf08ea add texture index to Sprite class, add more error checks to texture surface creation cocktailfrank 2023-08-08 12:41:10 -04:00
  • 62450f7033 add support for specifying multiple keys per command in config cocktailfrank 2023-08-02 13:17:44 -04:00
  • 67fa7e61c3 docstring example for outputting attributes to stream cocktailfrank 2023-07-27 23:21:14 -04:00
  • 67c3e193f4 add more info to message when exeception is raised while enabling model attributes cocktailfrank 2023-07-23 20:01:45 -04:00
  • f9d171626f added more conversion rules for JSON array to GLM vertex, truncate attribute string representation, post reconfig event on configuration reload, added font load function, added exception handling to functions that bind textures cocktailfrank 2023-07-23 17:11:41 -04:00
  • b93aae19e0 rename sb::Text::size to sb::Text::dimensions cocktailfrank 2023-07-22 14:00:37 -04:00
  • 1d527898aa watch multiple config files for changes cocktailfrank 2023-07-21 00:51:19 -04:00
  • 27d2128e1f move post command into delegate cocktailfrank 2023-07-19 12:47:18 -04:00
  • cd66f70d0c attribute index exception, overload attributes bind, model add and bind methods cocktailfrank 2023-07-18 23:19:57 -04:00
  • d1fe6b927c move sprite and pad into sb namespace cocktailfrank 2023-07-15 12:19:37 -04:00
  • 7bbc0f851d minor fix to model documentation cocktailfrank 2023-07-15 12:05:06 -04:00
  • 9a727513a1 added sprite and pad classes cocktailfrank 2023-07-15 11:48:08 -04:00
  • ba8f4753bf throw exception if VBO is not bound when allocate is called, reset VBO offset on ID generation cocktailfrank 2023-07-14 00:30:30 -04:00
  • b9dd2836f2 add documentation to VBO header file cocktailfrank 2023-07-13 21:51:07 -04:00
  • 89fbe359f6 Add exception handling to Attributes::bind, add default constructor to Model cocktailfrank 2023-07-13 21:38:53 -04:00
  • cdd01672c3 check for texture path existence on load cocktailfrank 2023-07-10 20:33:15 -04:00
  • 55d6e08480 convert between glm::vec and sb::Color, print hierarchy on config access error, composite text onto a separate background surface, set frame time to zero when timer paused cocktailfrank 2023-07-08 16:19:31 -04:00
  • 6cb9688bec add world coordinate transformations to math library cocktailfrank 2023-07-05 20:08:11 -04:00
  • f7f6bee582 add support for verbose log priority cocktailfrank 2023-07-01 19:21:06 -04:00
  • 88cf70b828 add const qualifier to Model::size cocktailfrank 2023-06-30 13:41:05 -04:00
  • 3db0a3bd32 set invert Y to default for Box class, add support for any size GLM vector to JSON library cocktailfrank 2023-06-27 14:33:14 -04:00
  • 12e5a15d1c add exception checks to Texture::bind and GLObject::id, make collision info storage a std::optional object cocktailfrank 2023-06-26 20:49:14 -04:00
  • c0b55752e1 track timestamp with Timer class cocktailfrank 2023-06-24 13:05:40 -04:00
  • 635562263b allow arbitrary functions to be attached to animation objects instead of only node object member functions cocktailfrank 2023-06-23 01:45:28 -04:00
  • 5be1c38e7f make game update function pure virtual, add Animation class to sb namespace cocktailfrank 2023-06-23 01:18:15 -04:00
  • b02ae013ab rename velocity_to_delta to angle_to_vector, remove endpoint function cocktailfrank 2023-06-22 21:25:57 -04:00
  • c0852ba04f add extend vector function, 2D endpoint function, input check on wrap point cocktailfrank 2023-06-22 14:38:56 -04:00
  • 772c5482dd unsubscribe delegate subcribers in game's quit function and remove destructor calls to unsubscribe; delete ID memory when GL object is deleted; disable recorder because of memory leak cocktailfrank 2023-06-11 21:49:04 -04:00
  • aaaebc006d - use vector instead of map to store textures in Model class - require a font to be passed to the Text class constructor - convert default font from static member to non-static so it unloads from memory before TTF library unloads - construct delegate object first so that it deletes last and other objects can call unsubscribe successfully cocktailfrank 2023-06-11 01:07:15 -04:00
  • 6371f9c279 remove Sprite class cocktailfrank 2023-06-08 20:04:40 -04:00
  • c16d71222d add example for using configuration's parenthesis operator cocktailfrank 2023-06-08 18:02:04 -04:00
  • f7368907da add parenthesis operator access to configuration cocktailfrank 2023-06-08 17:58:20 -04:00
  • e3941707e3 start recorder animation in game constructor after config fully loads cocktailfrank 2023-06-08 12:56:21 -04:00
  • 355ab4d8c4 - pass timestamp of frame start time to all update functions - use timestamp instead of SDL_GetTicks to keep time in Timer class - use seconds instead of milliseconds in Timer class cocktailfrank 2023-06-07 20:22:20 -04:00
  • 1ca956b5ac - add function for wrapping an arbitrary point or curve into an arbitrary clip space - remove custom mod functions in favor of glm::mod - deactivate recorder object during game construction after full config is loaded cocktailfrank 2023-06-05 18:22:43 -04:00
  • 824efcc71f add external resources; add alpha to plane colors cocktailfrank 2023-06-03 01:07:18 -04:00
  • 2f7a4cb602 - attributes objects track their offset in the VBO - call to glVertexAttribPointer moved from VBO class to Attributes class - added a public domain function for computing bezier points cocktailfrank 2023-06-02 14:54:06 -04:00
  • 9ed0e9ea71 - add a text plane class - load default font as a static class variable, make it a shared pointer - add filter option to texture storage - move Color into sb namespace - move Delegate object into protected cocktailfrank 2023-05-31 15:06:29 -04:00
  • e5aef6ffb8 auto merge WASM config on emscripten builds cocktailfrank 2023-05-30 18:22:20 -04:00
  • 9f33ac872f - move Timer into sb namespace - debug statement for FPS - string conversion in Switch class cocktailfrank 2023-05-30 16:20:28 -04:00
  • 7140e8a3eb - add untransform, transform, and specialized transforms to Model class - reset viewport on window resize events - add boolean assignment operator to Switch class - throw error if GL object is generated before GL context is created - add Selection container - add string conversion to Box cocktailfrank 2023-05-24 22:49:05 -04:00
  • 3ba3be4496 - add Switch and time_it classes - finish adding #pragma once to headers - move configuration initialization into Game class - print debug to stdout by default - explicitly pass file to refresh to config auto refresh - add delegate to sb namespace and deprecate get_delegate() in favor of delegate() - set custom log function before loading config - raise exception when no model textures are available cocktailfrank 2023-05-23 15:28:53 -04:00
  • 8c086ba161 add instructions for curl; add array operator to configuration, give configuration object access to nodes; fix src paths in android skeleton script; add copy file function cocktailfrank 2023-05-10 02:51:11 -04:00
  • a8126605e8 added opencv camera linux and android demo; added carousel, connection, and model classes; added format parameter to texture.generate; added android opencv lib build instructions cocktailfrank 2023-05-02 18:43:32 -04:00
  • f793073348 full example for building opencv libraries; upgrade box demo SDL version cocktailfrank 2023-04-25 23:17:13 -04:00
  • ecce532abf fix description of emscripten output for box demo makefile cocktailfrank 2023-04-10 18:06:07 -04:00
  • 297fdef6e8 main readme additions about building on raspberry pi cocktailfrank 2023-04-10 16:27:07 -04:00
  • 6777f26d87 remove angle brackets from heading frank 2023-02-11 19:32:07 -05:00
  • f47c080d72 box demo android support, android file to string for reading files inside APK frank 2022-11-08 17:16:05 -05:00
  • ec993b7337 support background images on android icon frank 2022-10-18 16:10:20 -04:00
  • ad9aab4a46 android helper scripts and icon assets and fill screen android demo frank 2022-10-17 21:57:56 -04:00