Commit Graph

78 Commits

Author SHA1 Message Date
ohsqueezy 8498dfa004 - consolidate GL includes into one header
- build flags for MacOS
- replace glTexStorage2D with more compatible glTexImage2D
2024-04-24 15:01:17 -04:00
ohsqueezy 65eead0079 use experimental filesystem path for Ubuntu 18.04 2024-04-18 00:01:23 -04:00
ohsqueezy 0e4f06d779 - restore video recording
- remove sdl context
- configurable audio device settings
- deprecate node
- move audio recording input handling to game object
2024-03-04 19:44:06 -05:00
ohsqueezy 11c8abcc54 support for merging an optional list of config files at the beginning of the program 2023-12-26 22:31:28 -05:00
ohsqueezy 5d950387a8 make android and wasm config file paths configurable 2023-12-26 20:26:31 -05:00
ohsqueezy 8e62f9e0a2 initialize game controller interface at startup 2023-12-15 00:54:20 -05:00
ohsqueezy 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 2023-11-14 00:19:32 -05:00
ohsqueezy 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
2023-11-04 23:52:43 -04:00
ohsqueezy 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
2023-10-18 00:07:32 -04:00
ohsqueezy 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
2023-10-09 23:50:18 -04:00
ohsqueezy 4c3235c2ff frame timing updated to run at maximum allowable framerate, delay between frame calls configurable, vsync flag configurable, max framerate configurable up to unlimited 2023-09-09 23:34:36 -04:00
ohsqueezy 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 2023-07-23 17:11:41 -04:00
ohsqueezy 1d527898aa watch multiple config files for changes 2023-07-21 00:51:19 -04:00
ohsqueezy f7f6bee582 add support for verbose log priority 2023-07-01 19:21:06 -04:00
ohsqueezy 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 2023-06-11 21:49:04 -04:00
ohsqueezy 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
2023-06-11 01:07:15 -04:00
ohsqueezy e3941707e3 start recorder animation in game constructor after config fully loads 2023-06-08 12:56:21 -04:00
ohsqueezy 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
2023-06-07 20:22:20 -04:00
ohsqueezy 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
2023-06-05 18:22:43 -04:00
ohsqueezy 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
2023-05-31 15:06:29 -04:00
ohsqueezy e5aef6ffb8 auto merge WASM config on emscripten builds 2023-05-30 18:22:20 -04:00
ohsqueezy 9f33ac872f - move Timer into sb namespace
- debug statement for FPS
- string conversion in Switch class
2023-05-30 16:20:28 -04:00
ohsqueezy 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
2023-05-24 22:49:05 -04:00
ohsqueezy 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
2023-05-23 15:28:53 -04:00
ohsqueezy 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 2023-05-10 02:51:11 -04:00
frank f47c080d72 box demo android support, android file to string for reading files inside APK 2022-11-08 17:17:20 -05:00
frank ad9aab4a46 android helper scripts and icon assets and fill screen android demo 2022-10-17 21:57:56 -04:00
frank 0d00314f5a added ability to set some GL properties with config, added some more GL properties to log 2022-10-07 18:29:25 -04:00
frank b1fb77b1c8 set gl context profile attribute to ES 2022-09-07 20:57:00 -04:00
frank 52ef535eac remove unsupported gl functions from emscripten builds, restore removing gl context settings from emscripten builds 2022-09-06 20:44:23 -04:00
frank dc2141c2c4 Merge branch 'pudding' into cuckoo 2022-08-09 18:30:39 -04:00
frank 21e1e7e707 set GL attributes before creating a window 2022-08-06 18:43:12 -04:00
ohsqueezy d1cb24a785 angle difference and ratio methods 2022-07-23 18:55:27 -04:00
frank 3444afc2c1 changed get_configuration to configuration; added option to return the larger ratio to box aspect; changed default window size to 16:9; changed get_window to window; added SDL_RENDERER_PRESENTVSYNC; removed clear renderer to black on emscripten builds to prevent mouse bug; 2022-06-16 16:45:41 -04:00
frank 03d179eed4 attributes can be accessed as a typed vector; box set gl mode function; mouse events are suppressed in addition to key events when input is suppressed 2021-11-09 23:30:27 -05:00
frank 64f6b765a7 add index to attributes class 2021-10-14 00:31:35 -04:00
frank f70ea1c215 started log class 2021-10-02 19:21:07 -04:00
frank 1a4b8507e3 GL texture class; logging functions changed to static 2021-09-20 02:32:15 -04:00
frank 87b1fa735c minor change NULL to nullptr 2021-09-09 22:55:41 -04:00
frank ada139c26f change sfw namespace to sb 2021-09-02 18:23:48 -04:00
frank c8bc86cab7 squircle and 2d collision demo; config auto refresh 2021-08-31 23:55:38 -04:00
frank ba44b8e8d5 box documentation, remove get/set prefixes from Box and Segment 2021-08-14 19:53:39 -04:00
frank 2831f2fc60 restored gl screen capture; get points on circle utility function 2021-08-02 20:18:56 -04:00
frank 569e203409 move gl attributes to right before opening gl context; file to string func 2021-07-02 22:42:48 -04:00
frank 17adaed169 node uses shared ptr to store sdl texture 2021-06-29 17:15:47 -04:00
frank fff9e13562 custom log function; change Game and Node from struct to class 2021-06-24 17:40:30 -04:00
frank 4ece64442f custom logging function 2021-05-08 20:01:53 -04:00
frank a8948bca73 fix user config merge; clear screen to black; reset to single box on sprite unload 2021-05-07 21:19:23 -04:00
Frank DeMarco ca44bc4b3a new parameters for Mix_OpenAudio 2021-04-11 00:30:15 -04:00
Frank DeMarco 72a36a1d57 box crop and fits; Pixel class support for reading screen pixels 2020-09-12 20:29:26 -04:00