Commit Graph

66 Commits

Author SHA1 Message Date
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
Frank DeMarco 013f8279d4 audio, sfx and bgm classes; filesystem path added as type to json lib 2020-09-11 18:01:27 -04:00
Frank DeMarco 0e6e506c68 added children to sprites; sprite can set canvas it will draw on; fixed memory leak in precise collision detection on scaled sprites 2020-09-04 23:10:39 -04:00
Frank DeMarco 66f6d6ef81 specify render driver in config; print all renderer options 2020-08-28 22:17:01 -04:00
Frank DeMarco 14afcef0ce fix root lookup; add vec2 to json types; render test image when window is created 2020-08-21 02:21:34 -04:00
Frank DeMarco bab8c778ca color class, sprite hue shift, generate halo and portal effect
animation frames, ignore repeat keys, hue shifted texture
2020-08-19 03:29:46 -04:00
Frank DeMarco ae644b7138 collide box/box, box/line, box/point; sprite/sprite and sprite/box precise alpha collision 2020-08-09 16:32:32 -04:00
Frank DeMarco f5d03b9be6 - extended version of sdl gfx primitives
- drag left and right edge box
- complete segment member functions
- extension functions: get segments, get relative step, populate
pixel array
2020-08-06 18:54:50 -04:00
Frank DeMarco 16e1cc19d0 method to cancel event propagation 2020-07-27 14:19:11 -04:00
Frank DeMarco bc2a4a39ad - sprite additions: multiple locations, auto wrapping, scale mod
- remap colors on a texture
- two pixel scaling algorithms: custom scale2x based on http://www.scale2x.it/algorithm.html and superxbr
2020-07-25 17:55:27 -04:00
Frank DeMarco 3d439e56e0 suppress input temporarily 2020-07-22 00:53:40 -04:00
Frank DeMarco 0ccc00f201 - framerate indicator sprite added to Game class
- functions to build vectors from an integer range (from https://stackoverflow.com/a/30312659/1256386)
- fullscreen toggle added to Display class
2020-07-19 15:43:47 -04:00
Frank DeMarco d471bdd651 - added const qualifier to some box and sprite functions
- store frame length history for debugging
- function for setting Node parent after initialization
- set magnitude helper function
2020-07-13 00:53:12 -04:00