Skip to content

Releases: BhavyeMathur/goopylib

1.1.28a4

22 Aug 18:47
Compare
Choose a tag to compare
1.1.28a4 Pre-release
Pre-release
  • 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

20 Aug 04:16
Compare
Choose a tag to compare
1.1.14a2 Pre-release
Pre-release
  • 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

17 Aug 16:08
Compare
Choose a tag to compare
1.1.7a1 Pre-release
Pre-release
  • 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

08 Aug 17:43
Compare
Choose a tag to compare
1.1.5a0 Pre-release
Pre-release
  • 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

08 Aug 04:41
Compare
Choose a tag to compare
  • 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

03 Aug 05:08
Compare
Choose a tag to compare
1.0.222b20 Pre-release
Pre-release
  • 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

02 Aug 04:06
Compare
Choose a tag to compare
1.0.214b19 Pre-release
Pre-release
  • 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

01 Aug 04:43
Compare
Choose a tag to compare
1.0.204b18 Pre-release
Pre-release
  • 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

28 Jul 17:21
Compare
Choose a tag to compare
1.0.199b17 Pre-release
Pre-release
  • 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(), and toggle_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() and check_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

26 Jul 05:30
Compare
Choose a tag to compare
1.0.190b16 Pre-release
Pre-release
  • 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