Switches from Groovy to Kotlin in the Gradle build files
Updates the documentation about the use of Gradle to run the game and the editor
Switches to TestNG 7.8.0
Switches to JOGL 2.5.0 in the Gradle build
Updates Ardor3D
Updates the documentation as Java 21 is now required to compile the project
Switches to Gradle 8.5 and compiles the project with Java 21 with Gradle
Switches to Java 21
Reverts the regression in the download links
Switches to JOGL 2.5.0 RC 20230507
Removes a useless import
Allows to omit leading null values in the conversion of a sparse array into a plain object array in order to reduce the memory footprint
Switches back to Java 20 in the Gradle build, requires at least Gradle 8.1
Builds the pairs of quads to merge in the graph based optimizer
Finds the neighbour nodes in the graph based optimizer
Moves the bit masking helper based on enums into a separate class
Uses the masks more efficiently in the graph based optimizer
Starts looping on the nodes whose triangles can be used to create rectangles
Prepares the end of the algorithm used in the graph-based optimizer
Improves the management of the edge type and modifies the edge types of triangles that can be used to create rectangles
Uses only directed edges in the graph based optimizer
Builds the edge type by taking into account the plane data stored into nodes attributes
Uses the Ardor3D libraries from the Maven repository
Uses the very latest build of JogAmp's Ardor3D Continuation
Goes back to Java 19 as Gradle doesn't support Java 20 yet
Fixes some characters in the website
Adds Graphstore into the project's build path in the Ant build script
Switches to OpenJDK 20
Switches to OpenJDK 20
Updates the website, especially the required tools to develop and replaces http by https in many links
Uses the optimized mesh of the tutorial level with even fewer triangles
Updates the TestNG unit test of the array helper to ensure that the largest full arrays are found
Fixes the computation of the rectangle areas by looking for the areas in descending order and by disabling the local isolation check
Formats the source code of the array helper, removes some warnings, uses some modern Java methods to simplify spacing management
Deletes Eclipse specific files as I use only IDE-agnostic settings, they were obsolete anyway
Drives the first test of the array helper easier to read
Adds the very early blueprint of the next graph-based optimizer relying on Graphstore
Modifies the visibility of accessors and drives the Triangle class comparable in order to use it in the next graph-based optimizer
Fixes the error message in the test of the array helper
Uses a logger in the test of the array helper and reproduces the problem of unoptimal solution for the tutorial level
Improves a bit the formatting in JFPSM
Uses a rule switch in the optimizer
Reduces the memory footprint of the logging in the optimizer
Uses the optimized meshes for the level named 'Tutorial'
Fixes the computation of texture coordinates in the optimizer
Fixes the vertex coordinates of the rectangles made of several lines and columns in the optimizer
Fixes the grouping by adjacent triangles in the fifth step of the optimizer
Fixes a bug in the fourth step of the optimizer
Uses a sparse array to reduce the memory footprint during the fifth step of the optimizer
Improves the unit test of the sparse array
Fixes the computation of the sparse array's internal keys and the component type of the plain object array, simplifies the sparse array creation
Adds an implementation of a 2D sparse array to reduce the memory footprint
Improves a log message displayed during the fifth step of the optimizer
Groups meshes by textures in JFPSM
Fixes the OBJ exporter, it was able to find only the children of a node, not deeper
Removes many warnings
Adds a Gradle property file into the project
Rewrite the image editor
Actually, it will be difficult to replace this editor by a command line interface right now, maybe there's some room for improvements.
Retains only the groups in use when generating the game files
Adds a button to reset a tile texture
Fixes the comparison of tile textures
Removes the previous method of adjacent faces merge as the next one works better
Gets the textures of the tiles when generating the game files
Allows to group identical images in a container
Fixes a comment
Drives the tiles easier to compare and to sort
Improves the volume type so that it indicates how many textures it uses
AppImage packaging
Prepares the support of multiple textures per tile
Removes a useless warning message
Simplifies the search of the tile's texture matching with the mesh
Reformats some source code
Reformats some source code
Reformats some source code
Reformats some comments and prepares a fix in JFPSM to support multiple textures by cuboid
Reformats some comments
Reformats some comments
Reformats some comments