Skip to content

Release Candidate 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Mtax-Development Mtax-Development released this 05 Dec 07:27
· 212 commits to master since this release

With this version, the project enters the Release Candidate phase of development. It begins to approach the stage in which it can be treated as production ready. Further improvements will continue to be released regularly. The development will continue in this cycle until the Gold Version is reached.

The changes in this version focus on usability. Several parts of constructors used in rendering were redesigned to make them more flexible. Improvements to vector calculations are also present.

Constructors which store full basic drawing info (that being TextDraw, SpriteDraw and shape constructors) have gotten optional arguments to their render() and subsidiary methods. They now allow for replacing specific pieces of the render information with temporary ones only for that call. This change might appear confusing at first, as storing that data is the purpose of these constructors. However, often it is useful to reinterpret or replace one or more pieces of that data while leaving other intact for a single call. This is a very powerful feature and is optional to use. However, to include it, the construction arguments and render() method of the TextDraw constructor received a change to include the location value for consistency sake.


Changes from Beta Version 5:

Changes to existing content:
| SpriteDraw/TextDraw/Arrow/Circle/Ellipse/Line/Point/Rectangle/RoundRectangle/Triangle: Added the functionality of replacing the properties through the argument of the render() and subsidiary methods for the duration of the call only.
| TextDraw: Added the location property and made it an optional argument in the render() method instead of mandatory one.
| Layer.createInstance(): Made the argument for location optional, defaulting to the x and y values of 0.
| Layer.destroyInstances(): Replaced with the destroyInstance() method, which requires a target instance or object to be specific. The keyword {all} can be also specified as an argument, in which case, it will work like previously, destroying all instances of objects on that Layer.
| Vector2.equals(): Added {real} argument support.
| Vector4.equals(): Added {real} and {Vector2} argument support.
| Vector2.set(): Added {Vector2} argument support.
| Vector4.set(): Added {Vector2} and {Vector4} argument support.
| SpriteDraw: Added support for skipping construction arguments with undefined.
| SpriteDraw: Added error checking to the render() function and removed it from the toString() function.
| Surface.setSize(): Introduced the minimal size of one pixel instead of creating an Error Report.

Additions:
+ Scale/Vector2/Vector4: grow(), shrink() methods.

Fixes:
- List.contains(): Fixed an issue causing the List values being compared only to the arguments that were the same position as the value in the List, resulting in inaccurate results.
- TextDraw.getBoundaryOffset(): The value returned is now calculated based on the size of the string with the {Font} of the constructor applied instead of the currently active one.
- General minor code and documentation fixes.

Instructions for conversion from the previous version:
Layer.destroyInstances(): Adjust the code to refer to it through its new name, destroyInstance() and specify {all} as the only argument.
TextDraw(): Adjust the code to either skip the new third construction argument for location and the first argument for sprite of the render() method OR remove the location argument from the render() method and add it as the new third construction argument.