Commit Graph

198 Commits

Author SHA1 Message Date
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
Frank DeMarco 3a571adaa3 segment comparison operators; get sdl surface from pixels 2020-09-01 17:00:17 -04:00
Frank DeMarco 9058f93ad9 reverse wipe; more precision converting floats in box to sdl_rect 2020-08-31 16:36:56 -04:00
Frank DeMarco 54a8c219ed add wipe animation to sprite 2020-08-29 23:49:45 -04:00
Frank DeMarco 66f6d6ef81 specify render driver in config; print all renderer options 2020-08-28 22:17:01 -04:00
Frank DeMarco 536a5ec5f5 separate move weighted from move in sprite class 2020-08-27 20:41:21 -04:00
Frank DeMarco edc836908d box inherits sdl_rect; color comparison operators; pixels operator() returns pointer of void, 8bit, 16bit, or 32bit; remap texture uses pixel class 2020-08-26 16:43:43 -04:00
Frank DeMarco 8346f43f21 - Pixel class generalizes pixel access, reads, writes, and applies
pixel value modifications to textures of any SDL_TEXTUREACCESS_* and
any pixel format
- Color inherits SDL_Color directly instead of emulating it
- added cast operator for converting Box to SDL_Rect
2020-08-22 20:06:06 -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 2b9dd44ff7 - fix bug in box right drag
- print int vector
- duplicate texture resized
2020-08-07 01:38:19 -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 1861b80aa4 line intersection formula from GraphicsGems; started Segment class 2020-08-02 00:52:50 -04:00
Frank DeMarco cea0bb5a21 sprite edge setters 2020-08-01 19:30:16 -04:00
Frank DeMarco 555c1e51a3 - optionally preserve center when modifying box size
- sprite scale modifier and scale quality setting
- get filled texture method
- get map keys utility method
2020-07-31 12:10:21 -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 5df099354b compare event accepts vector of commands 2020-07-21 15:04:12 -04:00
Frank DeMarco 8eeeb82f4c any key command 2020-07-21 01:09:34 -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 1df303fe17 added frameset class for use with sprite class 2020-07-17 22:58:23 -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
Frank DeMarco 605360bae5 Sprite accepts alpha mod parameter; duplicate texture method 2020-07-11 02:06:58 -04:00
Frank DeMarco 74ca4da69a - replaced location with box, added get/set functions for size and
sides
- preprocessor statements for handling emscripten main loop
- pass floats to render functions
- added box and get/set box functions to sprite class
- functions for filling a texture with solid color or tile texture
2020-06-27 17:47:14 -04:00
Frank DeMarco b2f5f56063 - store video stashes in linked lists
- cube face textures demo
- only dispatch events to active nodes
- only update animation if containing object is active
2019-07-21 03:13:19 -04:00
Frank DeMarco d7f1877cbe reserve 100 video stashes temporary fix 2019-06-16 19:12:21 -04:00
Frank DeMarco 30e6c970d3 get screen pixels uses gl or sdl 2019-06-16 03:05:02 -04:00
Frank DeMarco 7e51a04b71 stash and write audio to recording 2019-06-04 03:20:13 -04:00
Frank DeMarco 437f2d321c bug fix: initialize last frame timestamp 2019-05-31 23:34:04 -04:00
Frank DeMarco c71635e5d6 keyup sends cancel to command subscribers 2019-05-31 21:53:39 -04:00
Frank DeMarco daa7945c89 write most recent frames to video 2019-05-31 02:54:31 -04:00
Frank DeMarco bef7c1a740 stash pixel buffers and write video frames in chunks 2019-05-25 07:28:05 -04:00
Frank DeMarco 92178b8f42 free recorder pixel data 2019-05-24 22:43:30 -04:00
Frank DeMarco f1ba8eed5e write gif and mp4 2019-05-22 04:27:15 -04:00
Frank DeMarco 9210b3fcf4 write video frames in separate thread 2019-05-19 05:55:46 -04:00
Frank DeMarco 10cc649f45 unsubscribe automatically at destruction 2019-05-18 21:25:27 -04:00
Frank DeMarco e45806f8bc create resource management objects on stack 2019-05-18 17:39:47 -04:00
Frank DeMarco 040a2b52ff fix key map combinations modifiers 2019-05-16 04:04:02 -04:00
Frank DeMarco 321d9df1be recorder writes video frames to folder 2019-05-16 03:51:36 -04:00
Frank DeMarco 1dbb2a2e1d save indexed screenshot to directory 2019-05-07 03:33:54 -04:00
Frank DeMarco ebd8f34266 translate key down to command event 2019-05-04 20:30:39 -04:00
Frank DeMarco 41dbfb8498 key map 2019-05-04 03:25:35 -04:00
Frank DeMarco 845d3bb883 pass object bound functions to delegate 2019-05-03 22:16:56 -04:00
Frank DeMarco eb35aedeef event dispatch 2019-05-03 02:09:48 -04:00
Frank DeMarco cf695b3d10 class name 2019-05-02 20:11:45 -04:00
Frank DeMarco e40201cd11 json config library 2019-05-02 06:45:41 -04:00
Frank DeMarco 949763f5d9 folder structure 2019-04-29 19:27:13 -04:00