From ef8750b3263d131c75d0245539e7c59890ae8e2d Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 9 May 2021 17:19:15 -0400 Subject: [PATCH] v0.9.3: added casts to buffer methods to prevent JDK 9+ issues --- .../main/java/com/watabou/glwrap/Quad.java | 1 + .../main/java/com/watabou/glwrap/Texture.java | 5 ++-- .../java/com/watabou/glwrap/Vertexbuffer.java | 3 ++- .../java/com/watabou/noosa/BitmapText.java | 3 ++- .../main/java/com/watabou/noosa/Image.java | 3 ++- .../java/com/watabou/noosa/NinePatch.java | 3 ++- .../java/com/watabou/noosa/NoosaScript.java | 25 ++++++++++--------- .../java/com/watabou/noosa/RenderedText.java | 7 +++--- .../main/java/com/watabou/noosa/Tilemap.java | 3 ++- .../effects/CircleArc.java | 9 ++++--- .../shatteredpixeldungeon/effects/Flare.java | 5 ++-- .../scenes/SurfaceScene.java | 5 ++-- .../sprites/CharSprite.java | 4 ++- .../sprites/ItemSprite.java | 4 ++- .../shatteredpixeldungeon/ui/KeyDisplay.java | 5 ++-- 15 files changed, 51 insertions(+), 34 deletions(-) diff --git a/SPD-classes/src/main/java/com/watabou/glwrap/Quad.java b/SPD-classes/src/main/java/com/watabou/glwrap/Quad.java index 9da2dc533..084fb1c63 100644 --- a/SPD-classes/src/main/java/com/watabou/glwrap/Quad.java +++ b/SPD-classes/src/main/java/com/watabou/glwrap/Quad.java @@ -23,6 +23,7 @@ package com.watabou.glwrap; import com.badlogic.gdx.Gdx; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; diff --git a/SPD-classes/src/main/java/com/watabou/glwrap/Texture.java b/SPD-classes/src/main/java/com/watabou/glwrap/Texture.java index e699fdb92..fc12935ef 100644 --- a/SPD-classes/src/main/java/com/watabou/glwrap/Texture.java +++ b/SPD-classes/src/main/java/com/watabou/glwrap/Texture.java @@ -24,6 +24,7 @@ package com.watabou.glwrap; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Pixmap; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.IntBuffer; @@ -108,7 +109,7 @@ public class Texture { order( ByteOrder.nativeOrder() ). asIntBuffer(); imageBuffer.put( pixels ); - imageBuffer.position( 0 ); + ((Buffer)imageBuffer).position( 0 ); Gdx.gl.glTexImage2D( Gdx.gl.GL_TEXTURE_2D, @@ -130,7 +131,7 @@ public class Texture { allocateDirect( w * h ). order( ByteOrder.nativeOrder() ); imageBuffer.put( pixels ); - imageBuffer.position( 0 ); + ((Buffer)imageBuffer).position( 0 ); Gdx.gl.glPixelStorei( Gdx.gl.GL_UNPACK_ALIGNMENT, 1 ); diff --git a/SPD-classes/src/main/java/com/watabou/glwrap/Vertexbuffer.java b/SPD-classes/src/main/java/com/watabou/glwrap/Vertexbuffer.java index ebc4f6f1b..a00385913 100644 --- a/SPD-classes/src/main/java/com/watabou/glwrap/Vertexbuffer.java +++ b/SPD-classes/src/main/java/com/watabou/glwrap/Vertexbuffer.java @@ -23,6 +23,7 @@ package com.watabou.glwrap; import com.badlogic.gdx.Gdx; +import java.nio.Buffer; import java.nio.FloatBuffer; import java.util.ArrayList; @@ -74,7 +75,7 @@ public class Vertexbuffer { public void updateGLData(){ if (updateStart == -1) return; - vertices.position(updateStart); + ((Buffer)vertices).position(updateStart); bind(); if (updateStart == 0 && updateEnd == vertices.limit()){ diff --git a/SPD-classes/src/main/java/com/watabou/noosa/BitmapText.java b/SPD-classes/src/main/java/com/watabou/noosa/BitmapText.java index eb9d7dd4f..19adf8f67 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/BitmapText.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/BitmapText.java @@ -28,6 +28,7 @@ import com.watabou.glwrap.Quad; import com.watabou.glwrap.Vertexbuffer; import com.watabou.utils.RectF; +import java.nio.Buffer; import java.nio.FloatBuffer; public class BitmapText extends Visual { @@ -74,7 +75,7 @@ public class BitmapText extends Visual { if (dirty) { updateVertices(); - quads.limit(quads.position()); + ((Buffer)quads).limit(quads.position()); if (buffer == null) buffer = new Vertexbuffer(quads); else diff --git a/SPD-classes/src/main/java/com/watabou/noosa/Image.java b/SPD-classes/src/main/java/com/watabou/noosa/Image.java index 23ad05540..a19a42ec3 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/Image.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/Image.java @@ -27,6 +27,7 @@ import com.watabou.glwrap.Quad; import com.watabou.glwrap.Vertexbuffer; import com.watabou.utils.RectF; +import java.nio.Buffer; import java.nio.FloatBuffer; public class Image extends Visual { @@ -156,7 +157,7 @@ public class Image extends Visual { super.draw(); if (dirty) { - verticesBuffer.position( 0 ); + ((Buffer)verticesBuffer).position( 0 ); verticesBuffer.put( vertices ); if (buffer == null) buffer = new Vertexbuffer( verticesBuffer ); diff --git a/SPD-classes/src/main/java/com/watabou/noosa/NinePatch.java b/SPD-classes/src/main/java/com/watabou/noosa/NinePatch.java index 9425b9b2c..29909db34 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/NinePatch.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/NinePatch.java @@ -27,6 +27,7 @@ import com.watabou.glwrap.Quad; import com.watabou.glwrap.Vertexbuffer; import com.watabou.utils.RectF; +import java.nio.Buffer; import java.nio.FloatBuffer; public class NinePatch extends Visual { @@ -91,7 +92,7 @@ public class NinePatch extends Visual { protected void updateVertices() { - quads.position( 0 ); + ((Buffer)quads).position( 0 ); float right = width - marginRight; float bottom = height - marginBottom; diff --git a/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java b/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java index c38ca0aa8..b6983bfbc 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java @@ -28,6 +28,7 @@ import com.watabou.glwrap.Quad; import com.watabou.glwrap.Uniform; import com.watabou.glwrap.Vertexbuffer; +import java.nio.Buffer; import java.nio.FloatBuffer; import java.nio.ShortBuffer; @@ -72,11 +73,11 @@ public class NoosaScript extends Script { } public void drawElements( FloatBuffer vertices, ShortBuffer indices, int size ) { - - vertices.position( 0 ); + + ((Buffer)vertices).position( 0 ); aXY.vertexPointer( 2, 4, vertices ); - - vertices.position( 2 ); + + ((Buffer)vertices).position( 2 ); aUV.vertexPointer( 2, 4, vertices ); Quad.releaseIndices(); @@ -85,11 +86,11 @@ public class NoosaScript extends Script { } public void drawQuad( FloatBuffer vertices ) { - - vertices.position( 0 ); + + ((Buffer)vertices).position( 0 ); aXY.vertexPointer( 2, 4, vertices ); - - vertices.position( 2 ); + + ((Buffer)vertices).position( 2 ); aUV.vertexPointer( 2, 4, vertices ); Gdx.gl20.glDrawElements( Gdx.gl20.GL_TRIANGLES, Quad.SIZE, Gdx.gl20.GL_UNSIGNED_SHORT, 0 ); @@ -114,11 +115,11 @@ public class NoosaScript extends Script { if (size == 0) { return; } - - vertices.position( 0 ); + + ((Buffer)vertices).position( 0 ); aXY.vertexPointer( 2, 4, vertices ); - - vertices.position( 2 ); + + ((Buffer)vertices).position( 2 ); aUV.vertexPointer( 2, 4, vertices ); Gdx.gl20.glDrawElements( Gdx.gl20.GL_TRIANGLES, Quad.SIZE * size, Gdx.gl20.GL_UNSIGNED_SHORT, 0 ); diff --git a/SPD-classes/src/main/java/com/watabou/noosa/RenderedText.java b/SPD-classes/src/main/java/com/watabou/noosa/RenderedText.java index caae0bb88..2d8c63726 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/RenderedText.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/RenderedText.java @@ -33,6 +33,7 @@ import com.badlogic.gdx.math.Matrix4; import com.watabou.glwrap.Matrix; import com.watabou.glwrap.Quad; +import java.nio.Buffer; import java.nio.FloatBuffer; import java.util.HashMap; @@ -155,7 +156,7 @@ public class RenderedText extends Image { FloatBuffer toOpenGL; if (buffers.containsKey(count/20)){ toOpenGL = buffers.get(count/20); - toOpenGL.position(0); + ((Buffer)toOpenGL).position(0); } else { toOpenGL = Quad.createSet(count / 20); buffers.put(count/20, toOpenGL); @@ -190,8 +191,8 @@ public class RenderedText extends Image { toOpenGL.put(vertices); } - - toOpenGL.position(0); + + ((Buffer)toOpenGL).position(0); NoosaScript script = NoosaScript.get(); diff --git a/SPD-classes/src/main/java/com/watabou/noosa/Tilemap.java b/SPD-classes/src/main/java/com/watabou/noosa/Tilemap.java index faaedcf09..3c2d3fd89 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/Tilemap.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/Tilemap.java @@ -28,6 +28,7 @@ import com.watabou.glwrap.Vertexbuffer; import com.watabou.utils.Rect; import com.watabou.utils.RectF; +import java.nio.Buffer; import java.nio.FloatBuffer; import java.util.Arrays; @@ -136,7 +137,7 @@ public class Tilemap extends Visual { bottomRightUpdating = pos + 1; - quads.position(pos*16); + ((Buffer)quads).position(pos*16); uv = tileset.get(data[pos]); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/CircleArc.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/CircleArc.java index 18599b98c..ef1e930a9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/CircleArc.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/CircleArc.java @@ -30,6 +30,7 @@ import com.watabou.noosa.NoosaScript; import com.watabou.noosa.Visual; import com.watabou.utils.PointF; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; @@ -113,8 +114,8 @@ public class CircleArc extends Visual { dirty = false; float v[] = new float[4]; - indices.position( 0 ); - vertices.position( 0 ); + ((Buffer)indices).position( 0 ); + ((Buffer)vertices).position( 0 ); v[0] = 0; v[1] = 0; @@ -144,8 +145,8 @@ public class CircleArc extends Visual { indices.put( (short)(1 + i * 2) ); indices.put( (short)(2 + i * 2) ); } - - indices.position( 0 ); + + ((Buffer)indices).position( 0 ); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Flare.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Flare.java index c3585ed69..a988bf936 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Flare.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Flare.java @@ -31,6 +31,7 @@ import com.watabou.noosa.NoosaScript; import com.watabou.noosa.Visual; import com.watabou.utils.PointF; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; @@ -99,8 +100,8 @@ public class Flare extends Visual { indices.put( (short)(1 + i * 2) ); indices.put( (short)(2 + i * 2) ); } - - indices.position( 0 ); + + ((Buffer)indices).position( 0 ); } public Flare color( int color, boolean lightMode ) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java index 54e755cab..23efad2fb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java @@ -56,6 +56,7 @@ import com.watabou.utils.Point; import com.watabou.utils.PointF; import com.watabou.utils.Random; +import java.nio.Buffer; import java.nio.FloatBuffer; import java.util.Calendar; @@ -289,8 +290,8 @@ public class SurfaceScene extends PixelScene { vertices[12] = 0; vertices[13] = 1; - - verticesBuffer.position( 0 ); + + ((Buffer)verticesBuffer).position( 0 ); verticesBuffer.put( vertices ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java index 197edd32c..ff2b1f44b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java @@ -56,6 +56,8 @@ import com.watabou.utils.Callback; import com.watabou.utils.PointF; import com.watabou.utils.Random; +import java.nio.Buffer; + public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip.Listener { // Color constants for floating text @@ -639,7 +641,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip if (renderShadow) { if (dirty) { - verticesBuffer.position(0); + ((Buffer)verticesBuffer).position(0); verticesBuffer.put(vertices); if (buffer == null) buffer = new Vertexbuffer(verticesBuffer); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java index a9c795c17..ffc9444e5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java @@ -43,6 +43,8 @@ import com.watabou.noosa.particles.Emitter; import com.watabou.utils.PointF; import com.watabou.utils.Random; +import java.nio.Buffer; + public class ItemSprite extends MovieClip { public static final int SIZE = 16; @@ -272,7 +274,7 @@ public class ItemSprite extends MovieClip { if (renderShadow) { if (dirty) { - verticesBuffer.position(0); + ((Buffer)verticesBuffer).position(0); verticesBuffer.put(vertices); if (buffer == null) buffer = new Vertexbuffer(verticesBuffer); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java index 92ed49025..9b4a5d807 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java @@ -37,6 +37,7 @@ import com.watabou.noosa.NoosaScript; import com.watabou.noosa.Visual; import com.watabou.utils.RectF; +import java.nio.Buffer; import java.nio.FloatBuffer; import java.util.LinkedHashMap; @@ -97,8 +98,8 @@ public class KeyDisplay extends Visual { if (dirty){ updateVertices(); - - quads.limit(quads.position()); + + ((Buffer)quads).limit(quads.position()); if (buffer == null) buffer = new Vertexbuffer(quads); else