You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rename from JANGL to Jangl, since there may be some confusion with JANGL being a constant instead of a class.
Image class
Rework the image class:
Allow the image to accept any Shape, instead of a Rect
Allow the image to accept up to two Bindables.
Text class
Introduce a TextBuilder
Text must be created with a TextBuilder class.
Text.getBatch() is private
TextureBuilder class
TextureBuilder.setFilterMode() takes in a jangl.graphics.textures.enums.FilterMode object instead of an integer.
Textures now use smooth scaling (linear filter mode) by default instead of pixelated scaling (nearest filter mode)
Transform class
Remove deprecated methods
Re-do how Transforms work to make it more intuitive
Remove Transform.rotateAround(), Transform.rotateRelative(), and Transform.rotateOrigin() for a single Transform.rotate() method, which only rotates around the object's center.
Shape classes
Remove Rect.setWidth() and Rect.setHeight() in lieu of Transform.setScaleX() and Transform.setScaleY()
Remove Circle.setRadius() in lieu of transform scaling
Model Class
Remove Model.setVertices(). Instead, manipulate the model with a Transform class, substitute the vertices, or create a new Model class.
ColorFactory class
Change "Normalized" in method names to "Norm". E.g., fromNormalized() is now fromNorm()
Backwards Compatible Changes
Memory Management
All objects are now automatically freed when the garbage collector runs, so calling .close() at the end of an object's lifespan is not required. However, it is still recommended to call to prevent strain on the garbage collector.
Builder classes
For builders, add a .toObject() method (e.g., TextureBuilder.toTexture(), BatchBuilder.toBatch())
ColorFactory class
Add from255HSVA() method
Sound class
Change the pitch and speed of a sound using Sound.setPitchAndSpeed(float). You can also access the current set value using Sound.getPitchAndSpeed().
TextureBuilder class
Add TextureBuilder.setWrapMode(WrapMode), along with a new jangl.graphics.textures.enums.WrapMode object
Add a shortcut for TextureBuilder.setImagePath(pathstr): new TextureBuilder(pathstr)
Coordinates classes
Add a PixelCoords and WorldCoords copy constructor
Text class
Add a yCutoff value, that can be set in the text factory
Add a wrapWidth value, that can be set in the text factory.
Bugfixes
Model.getDrawCallCount() works correctly
Circles take into account scaling when checking for collision
Binding points are checked when being added to the shader, instead of at creation of the UBO
Remove setting the window to the center of the screen due to scaling issues when the application is opened on a secondary monitor with a different resolution to the primary monitor.