15522 Commits

Author SHA1 Message Date
noblemaster
04a5ad5af0 BUGFIX: Prevents crashes when calculating soft buttons bar height. 2025-06-30 21:26:33 +02:00
Tomski
dbc851af9c
Bump next version 2025-06-17 14:18:14 +01:00
Simon
def1ddf10f
[Tiled] Class support (#7653)
* #7651: add default value loading for tiles with a class

* #7651: add test for tile with a nested class

* #7651: add test for object with a class

* make renderMapLayer public

* Apply formatter

---------

Co-authored-by: GitHub Action <action@github.com>
2025-06-16 18:13:42 +01:00
PokeMMO
e063c6dc2c
Update freetype to v2.13.3 (#7650)
* chore: update freetype to v2.13.3

* Apply formatter

---------

Co-authored-by: GitHub Action <action@github.com>
2025-05-31 09:56:22 +01:00
obigu
4eede71f5b
Replace deprecated methods on AndroidAudioDevice and AndroidCursor (#7603) 2025-05-29 08:51:55 +02:00
Nathan Sweet
e5b8029f83 Fixed JsonValue#setChild failing when child is null.
* Clear prev/next/parent for replaced node in setChild.
* Simpler addChild.
2025-05-26 22:12:03 -04:00
Nathan Sweet
4560c2ac8c Use Arrays.fill in SnapshotArray. 2025-05-26 15:35:04 -04:00
Nathan Sweet
ac2a2ef6d8 [scene2d.ui] Added getProgrammaticChangeEvents() to actors that have setProgrammaticChangeEvents. 2025-05-26 14:41:41 -04:00
Andrea Paternesi
c9638eabb7
Update spotless gradle plugin version to let libgdx compila with java 21. Some files where modified by spotless itsself to guarantee the syntax. (#7637) 2025-05-20 11:07:09 +02:00
Nathan Sweet
e2a2ea00d5
Added JsonValue#toJson that takes a Writer. (#7645)
Also prefer writer.write().
2025-05-17 04:02:31 +02:00
Mario Zechner
dfb0f3a29d Fix workflow wrt GPG keys for release 2025-05-13 11:36:37 +02:00
Mario Zechner
7b0ce39b39 Manual trigger for releases. 2025-05-13 11:09:04 +02:00
Mario Zechner
73ba84a35e Update CHANGES 1.13.5 2025-05-13 10:24:03 +02:00
Mario Zechner
ddb3f31428 Update CHANGES 2025-05-13 10:17:55 +02:00
Mario Zechner
237c023d1d Release 1.13.5 2025-05-13 10:13:34 +02:00
Nathan Sweet
1039c144ae
OrderedSet overrides for efficiency. (#7643) 2025-05-12 19:51:47 +02:00
Mario Zechner
d148a855fd spotless 2025-05-12 17:00:31 +02:00
Mario Zechner
9f6c1e50bc Fix publishing via jreleaser
If -PRELEASE is supplied to Gradle, the maven-publish plugin is used to produce all artifacts in libgdx/build/staging-deply

JReleaser is then instructed to upload these to Central Portal and initiate verification and publishing.

To release snapshots `./gradlew clean publish`
To release a release, assuming you have GPG info in ~/.gradle/gradle.properties setup, `./gradlew clean publish -PRELEASE`

this works out of the box with our GitHub workflows as well
2025-05-12 16:59:11 +02:00
Tom Wojciechowski
07d041da01 spotless 2025-05-12 14:36:13 +01:00
Mario Zechner
df9d5940c7 Next snapshot version 1.13.4 2025-05-12 15:06:03 +02:00
Mario Zechner
15cfc7dd3a Test release 1.13.2, 1.13.3 using jreleaser
Sorry, kids.

Removed getSnapshotRepositoryUrl as release builds now go through JReleaser, which expects the release repo to talk Central Portal API. You can still configure the snapshot repo url via SNAPSHOT_REPOSITORY_URL
2025-05-12 15:05:34 +02:00
Mario Zechner
ad9de99b66 Deploy snapshots to Central Portal instead of OSSRH
This is a WIP to make GH Actions snapshots deployment work. THE OSSRH_USERNAME and OSSRH_PASSWORD secrets have been updated with tokens from Central Portal.
2025-05-09 12:07:59 +02:00
Groxar
94ddaf8f6a
Respect AndroidApplicationConfiguration in BufferFormat creation (#7641)
* BufferFormat is created using provided configuration instead of hardcoded values

* Apply formatter

---------

Co-authored-by: GitHub Action <action@github.com>
2025-05-06 14:42:55 +01:00
Nathan Sweet
f3423c1446
[scene2d.ui] Fixed Container#setCullingArea. (#7631) 2025-04-27 02:31:46 +02:00
Nathan Sweet
8784420829
[scene2d.ui] HorizontalGroup and VerticalGroup set transform false by default. (#7632) 2025-04-27 02:30:01 +02:00
Groxar
987a7839aa
Fix: Set alpha channel bits to 8 for Android backend (#7415)
- Changed the default alpha channel bits from 0 to 8 in the Android backend.
- This resolves rendering issues with textures and masks that require alpha blending.
- Ensures consistent behavior between Android and desktop backends.
2025-04-27 01:19:34 +01:00
CuriousTorvald
078ba3ca5e
WORLD1/2 keys for Lwjgl3 backends (#7456)
* WORLD1/2 keys for Lwjgl3 backends

* Apply formatter

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Tomski <tomwojciechowski@asidik.com>
2025-04-27 00:58:13 +01:00
obigu
a31087c50c
Logging and other minor code improvements to AndroidMusic and ZipResourceFile (#7604) 2025-04-27 00:56:35 +01:00
fgnm
f3f2d2ca85
Fix GLFW window creation with ANGLE and Ubuntu with Nvidia GPU Drivers (#7069)
* Fix GLFW window creation with ANGLE and Ubuntu with Nvidia GPU Drivers

* Fix formatting
2025-04-27 00:55:49 +01:00
Jile Gao
fe600280ee
Adding initial character to iOS invisible text delegate. (#7612)
* When setText is called in TextField, the iOS delegate is not notified that there are characters in the text field. Adding an initial character to invisible delegate to accept backspaces.

* Adding metalANGLE changes.

---------

Co-authored-by: obigu <1794492+obigu@users.noreply.github.com>
2025-04-27 00:43:29 +01:00
obigu
0fab6d7904
Replace Android Vibrator deprecated methods (#7600) 2025-04-27 00:31:34 +01:00
obigu
c20cd65b22
Versions Maintenance (#7614)
* Set correct minumum Android SDK version

* Upgrade to Gradle 8.12.1

* Upgrade AGP to 8.7.3

* Revert "Upgrade to Gradle 8.12.1"

This reverts commit 4b914d0fed63c4d905328171e15bbdca5e0d6ef9.
2025-04-27 00:28:21 +01:00
BoBIsHere86
0ca3d94492
Support for Text Objects in BaseTmxMapLoader + bugfix. (#7498)
* Initial changes for Issue #7427.
Add Support Text Map Objects.
Added TextMapObjects to the TiledMapObjectLoadingTest.java

* Changes to the TextMapObject to include and return the libGDX Align constants for convenience.

* Apply formatter

* Refactored the TextMapObject to be similar to other map objects. Now contains a rectangle representing its own object bounds. Also decided to revert the Align changes since it's not 1 to 1 with the Align.class. User should be responsible for how they use the object data.

* Apply formatter

* Updated newly added BaseTmjMapLoader to handle TextMapObjects.
Updated .tmj test map and test to show TextMapObjects. Same as tmx object test

* Rebased and replaced Todo: Comment note with newly added tiledColorToLibGDXColor() method.

* Cleaned up code after rebase from newly merged PointMapObject class.
TiledMapObjectLoading tests, now test every object we support.
Added line to CHANGES File.

* Apply formatter

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Tomski <tomwojciechowski@asidik.com>
2025-04-27 00:26:19 +01:00
Berstanio
619b382c1b
feat: Remove reflection use in ParallelArray too (#7616) 2025-04-27 00:23:44 +01:00
BoBIsHere86
009e47ad5e
Added distTiledMapPacker task to buildRunnables for gdx-tools extension. (#7633) 2025-04-26 23:55:27 +01:00
SimonIT
1b690727bd
ci: Update to Ubuntu 22.04 runner (#7629) 2025-04-22 09:48:57 +01:00
Nathan Sweet
1f35fdb0a1 Fixed javadoc link warning.
Javadoc: Invalid member type qualification

related #7525
2025-04-19 15:23:08 -04:00
BoBIsHere86
a6fedc932f
TiledMapPacker Tool Enhancement, ImageLayer and Json map Support, + crashfix. (#7525)
* Added functionality to the TiledMapPacker to support image layers.
Modified AtlasTmxMapLoader to not crash when handling imagelayers.

* Added .tmj parsing for TiledMapPacker.
Added AtlasTmjMapLoader
Changed check in getImage() AtlasResolver

* Cleaned up and added comments referring to .tmj files.
Added a task to build a runnable for the tiledmappacker in the build.gradle

* Added new map file with image layers for atlas packing test.
Added processed map to tiled-atlas-processed folder.
Modified TiledMapAtlasAssetManagerTest to toggle between both test maps.

* Apply formatter

* Added support for loading maps which use custom classes but allowing a new command line argument to pass in the path to the tiled project file
Changed how command line parameters are passed in. I cleaned it up a bit to allow for more flexibility with the command line arguments. It was kind of broken originally. The options only worked properly if an output folder parameter was added.

* Apply formatter

* Changes to TiledMapPackerTest:
Fixed incorrect paths.
Added additional parameter options to support updates to the TiledMapPacker.
There are now up to 4 different maps that can be generated after running TiledMapPackerTest. To show off more variety of map times the TiledMapPacker can process.

Changes to TiledMapPackerTestRender:
Fixed incorrect path.
A user can choose to test up to 4 different tiled maps that are generated in the deleteMe folder by changing an enum.

Updated maps that are available in the tiled-atlas-processed folder.
These maps are always viewable through the newly added TiledMapJsonAtlasAssetManagerTest and the original TiledMapAtlasAssetManagerTest.

Changes to TiledMapPacker:
Removed using UUID to generate unique image names. Now we simply use a System.nanoTime() unique id counter.

* Apply formatter

* Added Support for Packing a map when using a tileset made up of a "Collection of Images"

Fixed image layers not showing up because they were in a group layer.

* Apply formatter

* Updated BaseTmjMapLoader to change a private method to protected to Match the BaseTmxMapLoader. Needed the ability to override this method anyway.

Added support for animations when using Collection of Image Tilesets.

Added new test map which shows off collection of image tileset as with animations.

Added a flag to ignore processing of tilesets which use a collection of images, if the user may have some reason to do.

Added a new overloaded processInputDir() method meant for external use.

Updated Test's with the new map.

* Apply formatter

* Cleaned up a few comments/typos

* Apply formatter

---------

Co-authored-by: GitHub Action <action@github.com>
2025-04-19 13:37:41 +01:00
Nathan Sweet
d14a3eca72
Add JsonValue copy constructor and setChild methods (#7625) 2025-04-09 05:53:49 +02:00
Nathan Sweet
6cc6837a90
Add Drawable default interface methods (#7619)
This is the type of PR that is hard to test in isolation because third-party backends may need to be able to handle it, and they don't have tests in this repo. I think MOE and TeaVM at least should handle it, though.
2025-04-08 16:54:51 -07:00
Berstanio
e2b7b69ba1
Use official ANGLE for MetalANGLE (#7597) 2025-04-04 14:34:27 +02:00
Nathan Sweet
138602771b Fixed javadoc for array removeAll methods. 2025-03-31 21:16:30 -04:00
Nathan Sweet
d5d8f7a791 [scene2d.ui] Added TextField#drawBackground, #updateDisplayText is protected.
updateDisplayText is useful to update the layout or know when the layout was updated, eg for a text field whose pref width is the text width.
2025-03-29 14:50:05 -04:00
Berstanio
cfa157aac8
Remove reflection use for lwjgl3 sound/audio creation (#7608) 2025-03-29 17:24:15 +01:00
obigu
bb7e904416
Upgrade to MobiVM 2.3.23 (#7615) 2025-03-29 12:59:09 +00:00
Nathan Sweet
146c7a9152 Added BitmapFontCache#getPageCount.
Using the number of regions is insufficient, eg for an incremental FreeType font the cache pageVertices.length < font.regions.size until glyphs are added to the cache (addToCache calls setPageCount).
2025-03-25 20:52:51 -04:00
Nathan Sweet
089cbc3a1b Replaced Eclipse null analysis classes so other IDEs can use them.
* Had to put them in gdx/src, else Eclipse complains (despite it first working for days). Was unable to use "external annotations" to get Eclipse to find the annotations in test source.
* Used standard naming, but javadoc to explain the non-usage and no @Documented. Package private and @Deprecated deter usage in code.
2025-03-18 17:00:47 -04:00
Nathan Sweet
c050935a62 ArraySupplier clean up.
* Made ANY final.
* Added modifiers for clarity, even though they are the same as the defaults for an interface.

see #7605
2025-03-18 16:55:06 -04:00
Berstanio
34cc595deb
Migrate away from ArrayReflection array instantiation (#7605)
* feat: Add new ArraySupplier

* feat: Migrate Queue to ArraySupplier

* feat: Migrate ArrayMap to ArraySupplier

* feat: Migrate Array to ArraySupplier

* feat: Make Animation not use array reflection

* fix: Fix formatting

* fix: Fix CumulativeDistribution use

* fix: Fix gwt

* feat: Add CHANGES entry

* fix: Make CumulativeDistribution use method reference for array creation

* fix: Make CumulativeDistribution.CumulativeValue private

* feat: Imporve ArraySupplier Object[] creation
2025-03-18 20:09:21 +01:00
Nathan Sweet
ea21f93c17 [scene2d.ui] Clean up for Styleable interface.
* Added breaking change to CHANGES.
* Removed @SuppressWarnings("unchecked").

related #7607
2025-03-16 13:35:03 -04:00