Commit Graph

198 Commits

Author SHA1 Message Date
ohsqueezy 9a727513a1 added sprite and pad classes 2023-07-15 11:48:08 -04:00
ohsqueezy ba8f4753bf throw exception if VBO is not bound when allocate is called, reset VBO offset on ID generation 2023-07-14 00:30:30 -04:00
ohsqueezy b9dd2836f2 add documentation to VBO header file 2023-07-13 21:51:07 -04:00
ohsqueezy 89fbe359f6 Add exception handling to Attributes::bind, add default constructor to Model 2023-07-13 21:38:53 -04:00
ohsqueezy cdd01672c3 check for texture path existence on load 2023-07-10 20:33:15 -04:00
ohsqueezy 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 2023-07-08 16:19:31 -04:00
ohsqueezy 6cb9688bec add world coordinate transformations to math library 2023-07-05 20:08:11 -04:00
ohsqueezy f7f6bee582 add support for verbose log priority 2023-07-01 19:21:06 -04:00
ohsqueezy 88cf70b828 add const qualifier to Model::size 2023-06-30 13:41:05 -04:00
ohsqueezy 3db0a3bd32 set invert Y to default for Box class, add support for any size GLM vector to JSON library 2023-06-27 14:33:14 -04:00
ohsqueezy 12e5a15d1c add exception checks to Texture::bind and GLObject::id, make collision info storage a std::optional object 2023-06-26 20:49:14 -04:00
ohsqueezy c0b55752e1 track timestamp with Timer class 2023-06-24 13:05:40 -04:00
ohsqueezy 635562263b allow arbitrary functions to be attached to animation objects instead of only node object member functions 2023-06-23 01:45:28 -04:00
ohsqueezy 5be1c38e7f make game update function pure virtual, add Animation class to sb namespace 2023-06-23 01:18:15 -04:00
ohsqueezy b02ae013ab rename velocity_to_delta to angle_to_vector, remove endpoint function 2023-06-22 21:25:57 -04:00
ohsqueezy c0852ba04f add extend vector function, 2D endpoint function, input check on wrap point 2023-06-22 14:38:56 -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 6371f9c279 remove Sprite class 2023-06-08 20:04:40 -04:00
ohsqueezy c16d71222d add example for using configuration's parenthesis operator 2023-06-08 18:02:04 -04:00
ohsqueezy f7368907da add parenthesis operator access to configuration 2023-06-08 17:58:20 -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 824efcc71f add external resources; add alpha to plane colors 2023-06-03 01:07:18 -04:00
ohsqueezy 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
2023-06-02 14:54:06 -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
ohsqueezy 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 2023-05-02 18:43:32 -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 ec993b7337 support background images on android icon 2022-10-18 16:10:20 -04: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 346a059ee2 log statements from texture load changed from info to debug level 2022-09-22 17:21:53 -04:00
frank 24f6d3ed3d argument checking for texture load function input 2022-09-19 22:14:31 -04:00
frank 60acb11d41 parameter documentation for texture loading 2022-09-13 01:01:20 -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 0bf2e12935 added more documentation for GLObject::generate 2022-08-10 13:30:44 -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 9fd3ee282e change default keys for screenshot and video 2022-07-26 17:28:56 -04:00
ohsqueezy d1cb24a785 angle difference and ratio methods 2022-07-23 18:55:27 -04:00
frank 7e31b5a1c0 fix trigonometry functions so angles correspond with GL coordinates, add function to calculate angle between two vectors 2022-06-19 23:28:01 -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 ee119ecc7e add engine name to log file name 2022-05-06 23:39:32 -04:00
frank 86ca3eabec convert ndc box to pixel coordinates box in display 2021-11-19 14:13:37 -05:00
frank 660865b2f2 read individual vertices and components of vertices in attributes 2021-11-16 23:20:56 -05:00
frank 54cf01246b Display object can return ndc coordinates from a pixel coordinate box 2021-11-13 14:49:56 -05: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 863db5467b mod only works on int 2021-11-04 01:16:09 -04:00
frank dd736f341f started utilities file 2021-11-01 17:33:27 -04:00
frank 2c0517b9e2 change uint to int for attributes bind index 2021-10-29 22:09:01 -04:00
frank 950a95502b attributes print format 2021-10-29 01:07:48 -04:00
frank 70bc054c7f updated documentation of attribute index 2021-10-26 14:05:43 -04:00
frank 9e5ecc3ace bind and enable/disable attributes 2021-10-26 12:48:02 -04:00
frank 8972b0c868 move stream operator overloads into std namespace 2021-10-22 15:06:05 -04:00
frank 186d14cb48 print glm matrix types 2021-10-19 16:22:56 -04:00
frank 3212dc15cf vbo, vao, and buffer classes 2021-10-18 17:33:33 -04:00
frank 3e5e0fcbb8 pass attributes as int 2021-10-17 03:26:15 -04:00
frank 3baaa7624e add dimensions and type functions to attributes class 2021-10-14 02:55:17 -04:00
frank 64f6b765a7 add index to attributes class 2021-10-14 00:31:35 -04:00
frank 1690bb5f19 attributes object for holding generic gl vertices 2021-10-13 00:34:11 -04:00
frank a6bcc2a4d9 stream operator for all variants of glm vec 2021-10-08 23:43:21 -04:00
frank f70ea1c215 started log class 2021-10-02 19:21:07 -04:00
frank f03d58dae1 pass specialized generate function to generic base function for globject 2021-09-28 02:09:49 -04:00
frank 6adac9806f abstract base class for GL objects 2021-09-24 02:43:38 -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 e2f5126d0a shorten is_playing to playing 2021-09-08 23:56:06 -04:00
frank 3b6b946560 add default constructor to Animation, set private members in Timer 2021-09-08 20:07:11 -04:00
frank 18f83968f3 added gl coordinates option to box 2021-09-06 22:11:56 -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 fe3e0bf27f optionally pass a vector to fill with circle points 2021-08-07 01:05:16 -04:00
frank 2831f2fc60 restored gl screen capture; get points on circle utility function 2021-08-02 20:18:56 -04:00
frank 14759a1c79 box aspect function 2021-07-21 02:08:45 -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 95a1e6b5b1 added licensing info 2021-06-26 20:25:03 -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 ad7d42155d precise collision detection used Pixel object; fixed out of scope bug in collision detection 2020-09-12 21:57:27 -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 be360b8a47 sprite update accepts a list of subsections of the sprite to draw 2020-09-08 17:34:47 -04:00
Frank DeMarco a0897d80b4 set frameset size when frame indicies are added 2020-09-07 20:32:45 -04:00
Frank DeMarco 7d00cda9bb added segment constructors for 2 boxes and 2 sprites 2020-09-07 04:11:59 -04:00
Frank DeMarco c6341d2bfc added get point on circle function 2020-09-06 16:05:19 -04:00
Frank DeMarco df8bf267f0 added const qualifier to box stamp method 2020-09-06 03:02:02 -04:00
Frank DeMarco 35a5acbd53 optionally exclude delay time from checking if animation is playing 2020-09-05 19:40:59 -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 877d63cf4e fix sprite wipe and precision collision for scaled sprites; box move and return copy function 2020-09-02 23:32:01 -04:00