Releases: BhavyeMathur/goopylib
1.1.28a4
-
Fixed bug with Window destroy all instance functions raising RunTime Errors
-
The Ear Clipping Triangulation function now creates a copy of the input vertex chain
-
The Ear Clipping Triangulation function now returns a list of the input vertices if their length is 3, ie
[(edge1, edge2, edge3)]
and not(edge1, edge2, edge3)
-
Made the Ear Clipping Algorithm run a little bit faster than before
-
The Triangulation Algorithms now accept tuples of vertices rather than just lists
-
The GraphicsObject
has_moved()
function now returns False if the object has just been created -
Added a modified ear clipping algorithm for triangulating polygons that runs in O(n^2) time
-
Started work on plane sweep triangulation algorithm which runs in O(n log n) time
1.1.14a2
-
Fixed some text set attribute functions to work properly
-
Fixed the text justify attribute to work properly with 1 line of text
-
Replaced the
.format()
function in the Text__repr__()
function with a f-string -
Added clicking bounds for the entry & button objects
-
Added an
is_clicked()
function for Text objects -
You can now align Entry objects to left, right, top, bottom, etc. positions
-
Fixed bug with AttributeError for the Rectangle
is_clicked()
function is mouse_pos is None
1.1.7a1
- Fixed bug with Button not undrawing hover graphic when the user stopped hovering over the object
- Removed print statement in the GraphicsObject class
- Fixed bug with CycleButtons with AnimatedImages as states not working properly
1.1.5a0
-
Added a Sound class that plays, pauses, crops, & destroys sounds. You can play multiple sounds & get data for each sound
-
Added init.py files to the physics & sound subpackages
-
Added create_sin_wave(), create_square_wave(), and create_sawtooth_wave() functions to create a simple sounds
-
You can now create sounds by simply inputting a list of frequencies into a function.
-
Added numpy as a dependency as it is used for matrix multiplication in the Bezier Curve functions (soon to be removed though)
1.0.226
-
Added a
has_moved()
to the GraphicsObject class to check if the object has moved from the last call -
Fixed instances of misspelt lines to line which was causing a name error
-
Got rid of the Image cache in the Image class as it was mainly unnecessary
-
Added empty physics & sounds folders to goopylib
1.0.222b20
-
Fixed bug with Cycle Button raising AttributeError when changing state and created but not drawn
-
Fixed bug with Animated Image drawing itself when redrawing
-
Fixed bug with the Cycle Button's
set_state()
function not working properly when the object wasn't drawn -
Added
__iter__
function to the Animated Image and Cycle Button classes -
Added a
set_bounds()
function to the GraphicsObject class -
The Cycle Button's
is_clicked()
function now checks if its the bounds if it is not None -
Checking for Obstacle & Movement Bounds collisions now uses the Graphic's Movement Bounds if they are not None
-
Added layering functions to the Animated Image class
1.0.214b19
-
The Animated Image sets its autoflush to False whenever it is bound to another object
-
Fixed bug with the CycleButton (& Checkbox)
draw()
function not working properly when no graphwin is provided -
Fixed recursion bug with layering in CycleButtons (& Checkboxes)
-
The Image
__repr__()
function now returns the filepath in " -
Fixed bug with Image not updating itself for transformations after being drawn
-
Added transformation functions for the CycleButton class
-
Fixed bug with not allowing duplicate animations not working properly
-
Fixed bug with GraphicsObject gliding not working properly in queues
-
Fixed bug with rotation animations not working properly in queues and the
animate_set_rotation()
function -
Added a "Final" metric to check if animations are the same
1.0.204b18
-
Added a
set_default_sampling()
function to the Image class to set the default sampling -
Added a
set_texture_path()
function to the Image class -
Fixed bug with Image not redrawing after flipping
-
Fixed bug with the GraphicsObject
is_selected()
function raising an error -
The CheckBox class now inherits from the CycleButton class (it's a special case of 2 states)
1.0.199b17
-
Fixed bug with GraphicsObject raising error if the directional move functions weren't provided with a callback function
-
Adding functions to enable the obstacles of an object:
set_obstacles_enabled()
,disable_obstacles()
,enable_obstacles()
, andtoggle_obstacles_enabled()
-
Replaced the for loops in goopylib with the
map()
function wherever in the GraphWin class possible to improve performance -
Added an
undraw_obstacles()
function -
Added
animating_blur_time_left()
andcheck_is_animating_blur()
functions to the GraphicsObject class -
Fixed bug with objects not animating properly
-
Fixed bug with objects not blinking when gliding
-
Optimized the Animated Image and Cycle Button drawing functions
Tested 60,000 frames on a test game as opposed to v1.0.190-beta's 20,000 frames FPS increased from ~7200 FPS to ~39470 FPS Trial 1: 1.542 secs, 38910.506 FPS Trial 2: 1.49 secs, 40268.456 FPS Trial 3: 1.633 secs, 36742.192 FPS Trial 4: 1.445 secs, 41522.491 FPS Trial 5: 1.491 secs, 40241.449 FPS Average: 1.520 secs, 39468.491 FPS
-
Added a callback function for incrementing Animated Image frames
1.0.190b16
-
Added a
set_object()
function to the CycleButton class to set the state to a GraphicsObject -
The Image class destroys itself before updating to save on memory and stop the drops in FPS as time went on
-
Added a
bind_frame_to()
function to the Animated Image class to synchronize the frames of multiple objects -
More Optimizations (for performance values before, check previous version history)
These were tested on 20,000 frames as opposed to yesterday's 2400 frames FPS increased from ~3040 FPS to ~9020 FPS Average: 2.218 secs, 9017.133 FPS
-
Fixed bug with Images not resizing properly to fit the window scale
-
Added a
copy_movement_bounds_from()
&set_allow_movement_looping()
function -
Added a callback argument for movement collisions