diff --git a/.cirrus.yml b/.cirrus.yml index 2919caa..10104c2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -6,7 +6,7 @@ mac_task: image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest env: RAYLIB_PLATFORM: macosx-arm64 - RAYLIB_VERSION: 5.0.0-0 + RAYLIB_VERSION: 5.5.0-0 setup_script: - brew update - brew install java11 @@ -34,7 +34,7 @@ pi_task: RAYLIB_VERSION: 5.0.0-0 setup_script: - apt update - - apt -y install openjdk-11-jdk cmake libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev + - apt -y install openjdk-11-jdk cmake libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev libwayland-dev libxkbcommon-dev build_raylib_script: - git submodule update --init --recursive - cd raylib diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3126f10..2e63cbc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ on: workflow_dispatch: env: - RAYLIB_VERSION: 5.0.0-0 + RAYLIB_VERSION: 5.5.0-0 jobs: build-linux: @@ -33,7 +33,7 @@ jobs: - name: Build raylib run: | sudo apt update - sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev + sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev libwayland-dev libxkbcommon-dev cd raylib mkdir build cd build diff --git a/README.md b/README.md index 8090908..d873c30 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,13 @@ -# New! +# News -Take a look at [Jaylib-FFM](https://github.com/electronstudio/jaylib-ffm) a Java FFM Raylib binding. +* Take a look at [Jaylib-FFM](https://github.com/electronstudio/jaylib-ffm) a Java FFM Raylib binding. -# Jaylib - JNI bindings for [Raylib](https://github.com/raysan5/raylib/) 5.0 + RLGL + Raymath + Physac + RayGui +* The `com.raylib.Jaylib` class has been removed because it seemed to confuse people and IDE +autocompletion. Use `com.raylib.Raylib` instead. The Colors are now in `com.raylib.Colors`. +If you don't like the fluent constructor syntax of JavaCPP, use the methods in `com.raylib.Helpers` +to create structs. + +# Jaylib - JNI bindings for [Raylib](https://github.com/raysan5/raylib/) 5.5 + RLGL + Raymath + Physac + RayGui JNI is the fastest kind of native binding for Java 8+, but is difficult to write. Therefore we are using [JavaCPP](https://github.com/bytedeco/javacpp) to automatically generate the bindings. @@ -49,7 +54,7 @@ Download [the Gradle example project](https://github.com/electronstudio/jaylib-e ``` dependencies { - implementation 'uk.co.electronstudio.jaylib:jaylib:5.0.+' + implementation 'uk.co.electronstudio.jaylib:jaylib:5.5.+' } ``` @@ -62,7 +67,7 @@ dependencies { uk.co.electronstudio.jaylib jaylib - [5.0.0,5.1) + [5.5.0,5.6) @@ -109,19 +114,19 @@ public class Demo { Compile it: - javac -cp jaylib-5.0.0-0.jar Demo.java + javac -cp jaylib-5.5.0-0.jar Demo.java Run it: - java -cp jaylib-5.0.0-0.jar:. Demo + java -cp jaylib-5.5.0-0.jar:. Demo On MacOS you need this additional option: - java -XstartOnFirstThread -cp jaylib-5.0.0-0.jar:. Demo + java -XstartOnFirstThread -cp jaylib-5.5.0-0.jar:. Demo On weirdy Windows you use semi-colons: - java -cp jaylib-5.0.0-0.jar;. Demo + java -cp jaylib-5.5.0-0.jar;. Demo ## Known issues @@ -147,7 +152,7 @@ JavaCPP does not generate constructors. The recommended JavaCPP way to initiali var vec = new Vector3().x(1).y(2).z(3); -Some people do not like this. For discussion of other ways, [see here](https://github.com/electronstudio/jaylib/issues/1#issuecomment-873485303). +Some people do not like this. You can use helper functions, e.g. `com.raylib.Helpers.createVector3(1,2,3)`. For discussion [see here](https://github.com/electronstudio/jaylib/issues/1#issuecomment-873485303). ### Arrays diff --git a/build-docs.sh b/build-docs.sh index d4c9aa4..b553648 100755 --- a/build-docs.sh +++ b/build-docs.sh @@ -1,5 +1,8 @@ #!/bin/bash rm -rf doc +sed -i 's/<->//g' gen/com/raylib/Raylib.java +sed -i 's/->//g' gen/com/raylib/Raylib.java +sed -i 's/> Use//g' gen/com/raylib/Raylib.java javadoc -d doc -sourcepath gen:src com.raylib -classpath javacpp.jar:jaylib-${RAYLIB_VERSION}.jar jar cf jaylib-${RAYLIB_VERSION}-javadoc.jar -C doc . jar cf jaylib-${RAYLIB_VERSION}-sources.jar -C gen . \ No newline at end of file diff --git a/generate-checksums.sh b/generate-checksums.sh index 27a6222..ddec419 100755 --- a/generate-checksums.sh +++ b/generate-checksums.sh @@ -11,7 +11,9 @@ jar xf jaylib-natives-windows-x86_64-*.jar rm jaylib-natives-windows-x86_64-*.jar jar xf jaylib-natives-linux-armhf-*.jar rm jaylib-natives-linux-armhf-*.jar -jar uf jaylib-5.0.0-0.jar com +jar xf jaylib-natives-linux-arm64-*.jar +rm jaylib-natives-linux-arm64-*.jar +jar uf jaylib-5.5.0-0.jar com rm -rf com META-INF cp ~/IdeaProjects/jaylib/*.pom . diff --git a/jaylib-5.0.0-0.pom b/jaylib-5.5.0-0.pom similarity index 97% rename from jaylib-5.0.0-0.pom rename to jaylib-5.5.0-0.pom index a0bf9b3..e522230 100644 --- a/jaylib-5.0.0-0.pom +++ b/jaylib-5.5.0-0.pom @@ -6,7 +6,7 @@ uk.co.electronstudio.jaylib jaylib - 5.0.0-0 + 5.5.0-0 jar jaylib diff --git a/raygui b/raygui index 25c8c65..1e03efc 160000 --- a/raygui +++ b/raygui @@ -1 +1 @@ -Subproject commit 25c8c65a6e5f0f4d4b564a0343861898c6f2778b +Subproject commit 1e03efca48c50c5ea4b4a053d5bf04bad58d3e43 diff --git a/raylib b/raylib index ae50bfa..0e1fc33 160000 --- a/raylib +++ b/raylib @@ -1 +1 @@ -Subproject commit ae50bfa2cc569c0f8d5bc4315d39db64005b1b08 +Subproject commit 0e1fc33c5c85a81fb1397e1f98f6bed68519e8fc diff --git a/src/com/raylib/RaylibConfig.java b/src/com/raylib/RaylibConfig.java index 875b331..16d4da1 100644 --- a/src/com/raylib/RaylibConfig.java +++ b/src/com/raylib/RaylibConfig.java @@ -78,8 +78,7 @@ public void map(InfoMap infoMap) { .linePatterns("// NOTE: Custom raylib color palette for amazing visuals on WHITE background", "// Structures Definition").skip())) .put(new Info("MOUSE_LEFT_BUTTON","MOUSE_RIGHT_BUTTON","MOUSE_MIDDLE_BUTTON","FormatText", - "SubText", "ShowWindow", "LoadText", "SpriteFont", "GetExtension").cppTypes().annotations()) - + "SubText", "ShowWindow", "LoadText", "SpriteFont", "GetExtension", "GetMouseRay").cppTypes().annotations()) .put(new Info("defined(RLGL_STANDALONE)").define(false)) //.put(new Info("defined(GRAPHICS_API_OPENGL_ES2)").define(false)) .put(new Info("defined(GRAPHICS_API_OPENGL_11)").define(false))