Commit Graph

49 Commits

Author SHA1 Message Date
ohsqueezy 0aafdb1ff0 linting docstring line lengths 2024-05-08 12:58:42 -04:00
ohsqueezy 1fff973b46 add option for texture resize filter to sprite, add functions for finding loudest mixer channel 2023-12-27 19:20:20 -08:00
ohsqueezy 0a42df9a00 add sprite texture index increment function 2023-11-14 17:57:45 -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 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 e453a62679 update sprite class's private member var comments, remove extraneous quotes from texture log message 2023-08-14 16:44:25 -04:00
ohsqueezy a055001482 add method to clear texture list to sprite class, add comments explaining model class's private member vars 2023-08-14 16:30:38 -04:00
ohsqueezy edafaf08ea add texture index to Sprite class, add more error checks to texture surface creation 2023-08-08 12:41:10 -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 cd66f70d0c attribute index exception, overload attributes bind, model add and bind methods 2023-07-18 23:23:29 -04:00
ohsqueezy d1fe6b927c move sprite and pad into sb namespace 2023-07-15 12:19:37 -04:00
ohsqueezy 9a727513a1 added sprite and pad classes 2023-07-15 11:48:08 -04:00
ohsqueezy 6371f9c279 remove Sprite class 2023-06-08 20:04:40 -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 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
frank f70ea1c215 started log class 2021-10-02 19:21:07 -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 ba44b8e8d5 box documentation, remove get/set prefixes from Box and Segment 2021-08-14 19:53:39 -04:00
frank fff9e13562 custom log function; change Game and Node from struct to class 2021-06-24 17:40:30 -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 be360b8a47 sprite update accepts a list of subsections of the sprite to draw 2020-09-08 17:34:47 -04:00
Frank DeMarco 7d00cda9bb added segment constructors for 2 boxes and 2 sprites 2020-09-07 04:11:59 -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 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 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 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 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 30e6c970d3 get screen pixels uses gl or sdl 2019-06-16 03:05:02 -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