Code Monkey home page Code Monkey logo

korge-samples's People

Contributors

emign avatar fsaurenbach avatar jlengrand avatar rezmike avatar rishavs avatar soywiz avatar tobsef avatar tsaulic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

korge-samples's Issues

java.lang.UnsatisfiedLinkError: Error looking up function

os:macOS 12.1

I run task ./gradlew :sample:hello-world:runJvm :

there's nothing displayed on the screen,

and the console log:

Starting a Gradle Daemon, 1 busy Daemon could not be reused, use --status for details
Configuration on demand is an incubating feature.

> Task :samples:hello-world:runJvm
Exception in thread "main" #13: COMPUTED REFRESH RATE for sun.awt.CGraphicsDevice@702f8cdc (120)
java.lang.UnsatisfiedLinkError: Error looking up function 'CVDisplayLinkCreateWithCGDisplay': dlsym(0xfff12a79b5c0, CVDisplayLinkCreateWithCGDisplay): symbol not found
        at com.sun.jna.Function.<init>(Function.java:252)
        at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:600)
        at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:576)
        at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:562)
        at com.sun.jna.Library$Handler.invoke(Library.java:243)
        at com.sun.proxy.$Proxy2.CVDisplayLinkCreateWithCGDisplay(Unknown Source)
        at com.soywiz.korgw.osx.CoreGraphics$Companion.CVDisplayLinkCreateWithCGDisplay(Cocoa.kt)
        at com.soywiz.korgw.awt.BaseAwtGameWindow.loop$suspendImpl(BaseAwtGameWindow.kt:594)
        at com.soywiz.korgw.awt.BaseAwtGameWindow.loop(BaseAwtGameWindow.kt)
        at com.soywiz.korge.Korge.invoke-DNhgYUs(Korge.kt:126)
        at com.soywiz.korge.Korge.invoke-DNhgYUs$default(Korge.kt:91)
        at MainKt.main(main.kt:20)
        at MainKt$main$3.invoke(main.kt)
        at MainKt$main$3.invoke(main.kt)
        at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$1.invokeSuspend(IntrinsicsJvm.kt:205)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115)
        at kotlin.coroutines.jvm.internal.RunSuspendKt.runSuspend(RunSuspend.kt:19)
        at MainKt.main(main.kt)
<==========---> 80% EXECUTING [4m 56s]
> :samples:hello-world:runJvm



image

Running sample gives me just a green screen

./gradlew :sample-box2d:runJvm loads for a second or two and show green screen

Is it intentional? I thought that there will be something more

Selection_007

Sadly, there is no screenshot in the readme so I am not sure what is expected to happen

unable to run samples on android phone (StackOverflowError)

on android device following exception occur in all samples

Exception in AnnotationFactory.createAnnotation
11-10 11:55:43.473 29587 29603 I System.out: ERROR GameWindow.frameRender:
11-10 11:55:43.473 29587 29603 I System.out: java.lang.StackOverflowError: stack size 1037KB
11-10 11:55:43.474 29587 29603 W System.err: java.lang.StackOverflowError: stack size 1037KB
11-10 11:55:43.477 29587 29603 W System.err: at java.lang.String.valueOf(String.java:2827)
11-10 11:55:43.477 29587 29603 W System.err: at java.lang.StringBuilder.append(StringBuilder.java:132)
11-10 11:55:43.477 29587 29603 W System.err: at kotlinx.coroutines.DisposeOnCancel.toString(CancellableContinuation.kt:385)
11-10 11:55:43.477 29587 29603 W System.err: at java.lang.String.valueOf(String.java:2827)
11-10 11:55:43.477 29587 29603 W System.err: at java.lang.StringBuilder.append(StringBuilder.java:132)
11-10 11:55:43.477 29587 29603 W System.err: at kotlinx.coroutines.CompletedContinuation.toString(Unknown Source:22)
11-10 11:55:43.477 29587 29603 W System.err: at java.lang.String.valueOf(String.java:2827)
11-10 11:55:43.477 29587 29603 W System.err: at java.lang.StringBuilder.append(StringBuilder.java:132)
11-10 11:55:43.477 29587 29603 W System.err: at kotlinx.coroutines.CancellableContinuationImpl.toString(CancellableContinuationImpl.kt:506)
11-10 11:55:43.478 29587 29603 W System.err: at java.lang.String.valueOf(String.java:2827)
11-10 11:55:43.478 29587 29603 W System.err: at java.lang.StringBuilder.append(StringBuilder.java:132)
.
.
.

Upgrade filters sample

Add more filters to the sample. We can divide the screen into several parts to show several filters at the same time.

Fails to load TTF font

myfont.zip

suspend fun main() = Korge(width = 512, height = 512, bgcolor = Colors["#2b2b2b"]) {
	val font = resourcesVfs["myfont-bug.ttf"].readTtfFont()
	val bitmap = NativeImage(512, 128).context2d {
		this.font = font
		this.fontSize = 32.0
		this.fillStyle = ColorPaint(Colors.RED)
		this.verticalAlign = VerticalAlign.TOP
		fillText("HELLO WORLD", x = 0.0, y = 0.0)
	}

	image(bitmap)
}
java.lang.ArrayIndexOutOfBoundsException: 13366
        at com.soywiz.korim.font.TtfFont$SimpleGlyph.contour(TtfFont.kt:502)
        at com.soywiz.korim.font.TtfFont$SimpleGlyph.contour$default(TtfFont.kt:501)
        at com.soywiz.korim.font.TtfFont$SimpleGlyph.<init>(TtfFont.kt:514)
        at com.soywiz.korim.font.TtfFont.readGlyph(TtfFont.kt:697)
        at com.soywiz.korim.font.TtfFont.getGlyphByIndex(TtfFont.kt:422)
        at com.soywiz.korim.font.TtfFont.getGlyphByCodePoint(TtfFont.kt:411)
        at com.soywiz.korim.font.TtfFont.getGlyphByCodePoint$default(TtfFont.kt:411)
        at com.soywiz.korim.font.TtfFont.getGlyphMetrics(TtfFont.kt:35)
        at com.soywiz.korim.font.TextRendererActions.getGlyphMetrics(TextRenderer.kt:29)
        at com.soywiz.korim.font.TextRendererKt$CreateStringTextRenderer$1.invoke(TextRenderer.kt:67)
        at com.soywiz.korim.font.TextRendererKt$CreateStringTextRenderer$1.invoke(TextRenderer.kt)
        at com.soywiz.korim.font.FontKt.drawText(Font.kt:100)
        at com.soywiz.korim.font.FontKt.drawText$default(Font.kt:82)
        at com.soywiz.korim.vector.Context2d.rendererRenderSystemText(Context2d.kt:28)
        at com.soywiz.korim.vector.Context2d.fillText(Context2d.kt:31)
        at MainKt$main$2.invokeSuspend(main.kt:18)
        at MainKt$main$2.invoke(main.kt)
        at com.soywiz.korge.Korge$invoke$4$6$1.invokeSuspend(Korge.kt:155)
        at com.soywiz.korge.Korge$invoke$4$6$1.invoke(Korge.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
        at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:177)
        at com.soywiz.korge.Korge$invoke$4$6.invokeSuspend(Korge.kt:152)
        at com.soywiz.korge.Korge$invoke$4$6.invoke(Korge.kt)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invokeSuspend(AsyncExt.kt:34)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invoke(AsyncExt.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
        at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:111)
        at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:54)
        at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
        at com.soywiz.korio.async.AsyncExtKt._launch(AsyncExt.kt:32)
        at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:9)
        at com.soywiz.korge.Korge$invoke$4.invokeSuspend(Korge.kt:151)
        at com.soywiz.korge.Korge$invoke$4.invoke(Korge.kt)
        at com.soywiz.korgw.x11.X11GameWindow$loop$$inlined$apply$lambda$1.invokeSuspend(X11GameWindowJvm.kt:138)
        at com.soywiz.korgw.x11.X11GameWindow$loop$$inlined$apply$lambda$1.invoke(X11GameWindowJvm.kt)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invokeSuspend(AsyncExt.kt:34)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invoke(AsyncExt.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
        at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:111)
        at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:54)
        at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
        at com.soywiz.korio.async.AsyncExtKt._launch(AsyncExt.kt:32)
        at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:9)
        at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:18)
        at com.soywiz.korgw.x11.X11GameWindow.loop(X11GameWindowJvm.kt:137)
        at com.soywiz.korge.Korge.invoke-j2LsEZk(Korge.kt:102)
        at com.soywiz.korge.Korge.invoke-j2LsEZk$default(Korge.kt:96)
        at MainKt.main(main.kt:10)
        at MainKt$$$main.invoke(Unknown Source)
        at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$1.invokeSuspend(IntrinsicsJvm.kt:199)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:114)
        at kotlin.coroutines.jvm.internal.RunSuspendKt.runSuspend(RunSuspend.kt:19)
        at MainKt.main(main.kt)
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 13366
        at com.soywiz.korim.font.TtfFont$SimpleGlyph.contour(TtfFont.kt:502)
        at com.soywiz.korim.font.TtfFont$SimpleGlyph.contour$default(TtfFont.kt:501)
        at com.soywiz.korim.font.TtfFont$SimpleGlyph.<init>(TtfFont.kt:514)
        at com.soywiz.korim.font.TtfFont.readGlyph(TtfFont.kt:697)
        at com.soywiz.korim.font.TtfFont.getGlyphByIndex(TtfFont.kt:422)
        at com.soywiz.korim.font.TtfFont.getGlyphByCodePoint(TtfFont.kt:411)
        at com.soywiz.korim.font.TtfFont.getGlyphByCodePoint$default(TtfFont.kt:411)
        at com.soywiz.korim.font.TtfFont.getGlyphMetrics(TtfFont.kt:35)
        at com.soywiz.korim.font.TextRendererActions.getGlyphMetrics(TextRenderer.kt:29)
        at com.soywiz.korim.font.TextRendererKt$CreateStringTextRenderer$1.invoke(TextRenderer.kt:67)
        at com.soywiz.korim.font.TextRendererKt$CreateStringTextRenderer$1.invoke(TextRenderer.kt)
        at com.soywiz.korim.font.FontKt.drawText(Font.kt:100)
        at com.soywiz.korim.font.FontKt.drawText$default(Font.kt:82)
        at com.soywiz.korim.vector.Context2d.rendererRenderSystemText(Context2d.kt:28)
        at com.soywiz.korim.vector.Context2d.fillText(Context2d.kt:31)
        at MainKt$main$2.invokeSuspend(main.kt:18)
        at MainKt$main$2.invoke(main.kt)
        at com.soywiz.korge.Korge$invoke$4$6$1.invokeSuspend(Korge.kt:155)
        at com.soywiz.korge.Korge$invoke$4$6$1.invoke(Korge.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
        at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:177)
        at com.soywiz.korge.Korge$invoke$4$6.invokeSuspend(Korge.kt:152)
        at com.soywiz.korge.Korge$invoke$4$6.invoke(Korge.kt)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invokeSuspend(AsyncExt.kt:34)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invoke(AsyncExt.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
        at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:111)
        at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:54)
        at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
        at com.soywiz.korio.async.AsyncExtKt._launch(AsyncExt.kt:32)
        at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:9)
        at com.soywiz.korge.Korge$invoke$4.invokeSuspend(Korge.kt:151)
        at com.soywiz.korge.Korge$invoke$4.invoke(Korge.kt)
        at com.soywiz.korgw.x11.X11GameWindow$loop$$inlined$apply$lambda$1.invokeSuspend(X11GameWindowJvm.kt:138)
        at com.soywiz.korgw.x11.X11GameWindow$loop$$inlined$apply$lambda$1.invoke(X11GameWindowJvm.kt)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invokeSuspend(AsyncExt.kt:34)
        at com.soywiz.korio.async.AsyncExtKt$_launch$1.invoke(AsyncExt.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
        at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:111)
        at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:54)
        at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
        at com.soywiz.korio.async.AsyncExtKt._launch(AsyncExt.kt:32)
        at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:9)
        at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:18)
        at com.soywiz.korgw.x11.X11GameWindow.loop(X11GameWindowJvm.kt:137)
        at com.soywiz.korge.Korge.invoke-j2LsEZk(Korge.kt:102)
        at com.soywiz.korge.Korge.invoke-j2LsEZk$default(Korge.kt:96)
        at MainKt.main(main.kt:10)
        at MainKt$$$main.invoke(Unknown Source)
        at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$1.invokeSuspend(IntrinsicsJvm.kt:199)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:114)
        at kotlin.coroutines.jvm.internal.RunSuspendKt.runSuspend(RunSuspend.kt:19)
        at MainKt.main(main.kt)

Crates not visible when running s3d sample

sample/s3d/src/commonMain/kotlin/main.kt

Windows 10, in gradle.properties korgePluginVersion=2.0.0.0

I have previously run this sample on my machine and have seen creates moving around, but they are not visible on the current Korge version.

image

ECS & MVU spike samples

Would be nice to have a sample showing how to create an ECS system / supporting MVU paradigm.
If required, after validated as a sample, we can later create a korge library in a separate repository.

Update korio sample

We should add more stuff to the korio sample or remove it, because now it has no value among other samples.

kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData

Reproduced a long time ago. Not sure if still happens

@TODO: Dragonbones.ticker.shared.add(DragonbonesFactory._clockHandler, DragonbonesFactory)
kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Caused by: kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Caused by: kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Caused by: kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10

Caused by: kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10     at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)

        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Caused by: kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Caused by: kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)Couldn't read native image: kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)

        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
kotlinx.coroutines.JobCancellationException: Parent job is Cancelling; job=JobImpl{Cancelling}@5734ca10
Caused by: kotlin.TypeCastException: null cannot be cast to non-null type com.soywiz.korge.dragonbones.KorgeDbTextureData
        at com.soywiz.korge.dragonbones.KorgeDbTextureAtlasData.setRenderTexture(KorgeDbTextureAtlasData.kt:126)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:89)
        at com.soywiz.korge.dragonbones.KorgeDbFactory._buildTextureAtlasData(KorgeDbFactory.kt:45)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData(BaseFactory.kt:426)
        at com.dragonbones.factory.BaseFactory.parseTextureAtlasData$default(BaseFactory.kt:423)
        at SkinChangingScene$sceneInit$4.invokeSuspend(main.kt:428)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)

Mask not working on MacOS

I tried running mask sample but the mask is not working on JVM, native, and iOS. It works fine on Js and Android though.

Device: MacBook Pro (16-inch, 2019)
OS: macOS Catalina version 10.15.7

Sample s3d utils.kt unsolved reference and type mismatch

Update: I've cloned the repository again and I will try today to understand the source Codes, so I'm closing this issue. Thanks for reading.

Hi,

so I had downloaded a sample called "s3d", with main.kt and utils.kt copy pasted. I tried to build the project based on hallo-world-korge project and I received these two error message:
Bildschirmfoto 2022-09-05 um 10 20 19

Bildschirmfoto 2022-09-05 um 10 29 35

For the first error, I chose:

Bildschirmfoto 2022-09-05 um 10 20 36

and didn't work:

Bildschirmfoto 2022-09-05 um 10 20 48

My second attempt was this:

Bildschirmfoto 2022-09-05 um 10 42 36

and I have received this error message:

Bildschirmfoto 2022-09-05 um 10 43 54

What did I do wrong? Please help. Thanks.

PS: I'm using KorGe Version 3.0.0 and Kotlin 1.7.20 on IDE IntelliJ Ultimate in an M1 MacBook Pro.

KotlinNullPointerException during triangulation

I have this error when running triangulation sample:

kotlin.KotlinNullPointerException
	at com.soywiz.korma.triangle.internal.Sweep.finalizationPolygon(Poly2Tri.kt:215)
	at com.soywiz.korma.triangle.internal.Sweep.triangulate(Poly2Tri.kt:196)
	at com.soywiz.korma.triangle.triangulate.TriangulateKt.triangulate(Triangulate.kt:12)
	at MainKt$main$2$1$1.invoke(main.kt:45)
        ...

error

ominous warning: "An illegal reflective access operation has occurred" when running Task :sample:box2d:runJvm from command line on Ubuntu 20.04

After cloning current repo. Task runs successfully (window appears and boxes fall on box)

Details:

"WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.soywiz.korgw.internal.MicroDynamic (file:.../.gradle/caches/modules-2/files-2.1/com.soywiz.korlibs.korgw/korgw-jvm/2.0.7/a2918f7a4ad5d1b20f1791b9b52c07a897953970/korgw-jvm-2.0.7.jar) to method sun.awt.AWTAccessor.getComponentAccessor()
WARNING: Please consider reporting this to the maintainers of com.soywiz.korgw.internal.MicroDynamic
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release"

Thank you,
Ian

luak-mingwx64 - Incompatible library version when importing with Kotlin 1.4.21

When importing the project with the latest Kotlin plugin version, the following error is displayed:

There is a third-party library attached to the project that was compiled with an older Kotlin/Native compiler and cant be read in IDE: Gradle: com.soywiz.korlibs.luak:luak-mingwx64:klib:0.3.0 Please edit Gradle buildfile(s) and specify library a version compatible with Kotlin/Native 1.4.21. Then re-import the project in IDE.

FileNotFoundException in particles example

When starting the runJVM for the particles example, the demo runs and shows the desired particle effect. But in the console it prints the error that the texture.png is missing.

Search path: \resources\texture.png
Actual path: \resources\particle\texture.png

2021-05-25_14h33_43

โšก StackTrace

Couldn't read native image: java.io.FileNotFoundException: C:\Users\tobse\IdeaProjects\samples\korge-samples\samples\particles\src\commonMain\resources\texture.png (The system cannot find the specified file)
#24: glGetError after glGenVertexArrays
java.io.FileNotFoundException: C:\Users\tobse\IdeaProjects\samples\korge-samples\samples\particles\src\commonMain\resources\texture.png (The system cannot find the specified file)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at com.soywiz.korim.awt.AwtExtKt$awtReadImageInWorker$4.invokeSuspend(AwtExt.kt:155)
	at com.soywiz.korim.awt.AwtExtKt$awtReadImageInWorker$4.invoke(AwtExt.kt)
	at com.soywiz.korim.awt.AwtExtKt$awtReadImageInWorker$4.invoke(AwtExt.kt)
	at com.soywiz.korio.async.AsyncExtJvmKt$executeInWorkerJVM$2.invokeSuspend(AsyncExtJvm.kt:20)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.io.FileNotFoundException: C:\Users\tobse\IdeaProjects\samples\korge-samples\samples\particles\src\commonMain\resources\texture.png (The system cannot find the specified file)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at com.soywiz.korim.awt.AwtExtKt$awtReadImageInWorker$4.invokeSuspend(AwtExt.kt:155)
	at com.soywiz.korim.awt.AwtExtKt$awtReadImageInWorker$4.invoke(AwtExt.kt)
	at com.soywiz.korim.awt.AwtExtKt$awtReadImageInWorker$4.invoke(AwtExt.kt)
	at com.soywiz.korio.async.AsyncExtJvmKt$executeInWorkerJVM$2.invokeSuspend(AsyncExtJvm.kt:20)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.io.FileNotFoundException: C:\Users\tobse\IdeaProjects\samples\korge-samples\samples\particles\src\commonMain\resources\texture.png (The system cannot find the specified file)
	at java.io.RandomAccessFile.open0(Native Method)
	at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
	at com.soywiz.korio.file.std.LocalVfsJvm$readRange$$inlined$executeIo$1.invokeSuspend(LocalVfsJvm.kt:476)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:377)
	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:170)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.soywiz.korio.file.std.LocalVfsJvm.readRange(LocalVfsJvm.kt:477)
	at com.soywiz.korio.file.VfsFile.readRangeBytes(VfsFile.kt:75)
	at com.soywiz.korio.file.Vfs$Proxy.readRange$suspendImpl(Vfs.kt:161)
	at com.soywiz.korio.file.Vfs$Proxy.readRange(Vfs.kt)
	at com.soywiz.korio.file.VfsFile.readRangeBytes(VfsFile.kt:75)
	at com.soywiz.korio.file.Vfs$Proxy.readRange$suspendImpl(Vfs.kt:161)
	at com.soywiz.korio.file.Vfs$Proxy.readRange(Vfs.kt)
	at com.soywiz.korio.file.VfsFile.readRangeBytes(VfsFile.kt:75)
	at com.soywiz.korio.file.Vfs$Proxy.readRange$suspendImpl(Vfs.kt:161)
	at com.soywiz.korio.file.Vfs$Proxy.readRange(Vfs.kt)
	at com.soywiz.korio.file.VfsFile.readRangeBytes(VfsFile.kt:75)
	at com.soywiz.korio.file.Vfs$Proxy.readRange$suspendImpl(Vfs.kt:161)
	at com.soywiz.korio.file.Vfs$Proxy.readRange(Vfs.kt)
	at com.soywiz.korio.file.VfsFile.readAll(VfsFile.kt:79)
	at com.soywiz.korio.file.VfsFile.read(VfsFile.kt:81)
	at com.soywiz.korim.format.KorioExtKt.readBitmap(KorioExt.kt:120)
	at com.soywiz.korim.format.KorioExtKt$readBitmap$3.invokeSuspend(KorioExt.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at com.soywiz.korgw.GameWindowCoroutineDispatcher.executePending-_rozLdE(GameWindow.kt:128)
	at com.soywiz.korgw.GameWindow.frameUpdate-_rozLdE(GameWindow.kt:441)
	at com.soywiz.korgw.GameWindow.frame-eeKXlv4(GameWindow.kt:372)
	at com.soywiz.korgw.GameWindow.frame-eeKXlv4$default(GameWindow.kt:365)
	at com.soywiz.korgw.GameWindow.frame(GameWindow.kt:359)
	at com.soywiz.korgw.awt.BaseAwtGameWindow.paintInContext(BaseAwtGameWindow.kt:201)
	at com.soywiz.korgw.awt.BaseAwtGameWindow$paintInContextDelegate$1.invoke(BaseAwtGameWindow.kt:113)
	at com.soywiz.korgw.awt.BaseAwtGameWindow$paintInContextDelegate$1.invoke(BaseAwtGameWindow.kt:112)
	at com.soywiz.korgw.platform.BaseOpenglContext$DefaultImpls.useContext(BaseOpenglContext.kt:36)
	at com.soywiz.korgw.win32.Win32OpenglContext.useContext(Win32Tools.kt:202)
	at com.soywiz.korgw.awt.BaseAwtGameWindow.framePaint(BaseAwtGameWindow.kt:108)
	at com.soywiz.korgw.awt.AwtGameWindow$frame$1.paint(AwtGameWindow.kt:132)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
RESTART
completed.running=false
GameWindow.close
GameWindowCoroutineDispatcher.close

triangulation sample fails on native after adding a couple of points

kotlin.ArrayIndexOutOfBoundsException
        at kfun:kotlin.Throwable.<init>()kotlin.Throwable (0x3a307e)
        at kfun:kotlin.Exception.<init>()kotlin.Exception (0x39ce87)
        at kfun:kotlin.RuntimeException.<init>()kotlin.RuntimeException (0x39cae7)
        at kfun:kotlin.IndexOutOfBoundsException.<init>()kotlin.IndexOutOfBoundsException (0x39d1c7)
        at kfun:kotlin.ArrayIndexOutOfBoundsException.<init>()kotlin.ArrayIndexOutOfBoundsException (0x39d5e7)
        at ThrowArrayIndexOutOfBoundsException (0x3e4352)
        at Kotlin_DoubleArray_get (0xb63647)
        at kfun:com.soywiz.kds.DoubleArrayList.get(kotlin.Int)kotlin.Double (0x5048b5)
        at kfun:com.soywiz.korim.vector.rasterizer.Rasterizer.addEdge#internal.163 (0x833928)
        at kfun:com.soywiz.korim.vector.rasterizer.Rasterizer.addPoint$korim(kotlin.Double;kotlin.Double) (0x8343b8)
        at kfun:com.soywiz.korim.vector.Bitmap32Context2d.render(com.soywiz.korim.vector.Context2d.State;kotlin.Boolean) (0x7f7690)
        at kfun:com.soywiz.korim.vector.Context2d.rendererRender(com.soywiz.korim.vector.Context2d.State;kotlin.Boolean) (0x7fd8bb)
        at kfun:com.soywiz.korim.vector.Context2d.stroke() (0x807f55)
        at kfun:com.soywiz.korim.vector.Context2d.stroke(com.soywiz.korim.vector.paint.Paint) (0x80848e)
        at kfun:com.soywiz.korim.vector.PolylineShape.drawInternal(com.soywiz.korim.vector.Context2d) (0x821283)
        at kfun:com.soywiz.korim.vector.StyledShape.draw(com.soywiz.korim.vector.Context2d) (0x823df3)
        at kfun:com.soywiz.korim.vector.CompoundShape.draw(com.soywiz.korim.vector.Context2d) (0x81e4b8)
        at kfun:com.soywiz.korge.view.Graphics.renderInternal(com.soywiz.korge.render.RenderContext) (0xa55a2f)
        at kfun:com.soywiz.korge.view.View.render(com.soywiz.korge.render.RenderContext) (0xa66989)
        at kfun:com.soywiz.korge.view.Container.renderInternal(com.soywiz.korge.render.RenderContext) (0xa4ede8)
        at kfun:com.soywiz.korge.view.Stage.renderInternal(com.soywiz.korge.render.RenderContext) (0xa59893)
        at kfun:com.soywiz.korge.view.View.render(com.soywiz.korge.render.RenderContext) (0xa66989)
        at kfun:com.soywiz.korge.view.Views.render() (0xa74c6b)
        at kfun:com.soywiz.korge.view.Views.frameUpdateAndRender(com.soywiz.klock.TimeSpan) (0xa753d2)
        at kfun:com.soywiz.korge.Korge.prepareViews$lambda-18#internal (0x9acebb)
        at kfun:com.soywiz.korge.Korge.$prepareViews$lambda-18$FUNCTION_REFERENCE$14.invoke#internal (0x9af0e2)
        at kfun:com.soywiz.korge.Korge.$prepareViews$lambda-18$FUNCTION_REFERENCE$14.$<bridge-UNNN>invoke(P1)#internal (0x9af159)
        at kfun:com.soywiz.korev.EventDispatcher.Mixin.dispatch(kotlin.reflect.KClass<T>;T){0<com.soywiz.korev.Event>}Generic (0x898d26)
        at kfun:com.soywiz.korgw.GameWindow.dispatchRenderEvent() (0x8bdddb)
        at kfun:com.soywiz.korgw.GameWindow.frameRender() (0x8bd800)
        at kfun:com.soywiz.korgw.GameWindow.frame(kotlin.Boolean) (0x8bd5ba)
        at kfun:com.soywiz.korgw.X11GameWindow.loop$render_28#internal (0x983418)
        at kfun:com.soywiz.korgw.X11GameWindow.loop(kotlin.coroutines.SuspendFunction1<com.soywiz.korgw.GameWindow,kotlin.Unit>) (0x981d0e)
        at kfun:com.soywiz.korge.Korge.$invokeCOROUTINE$7.invokeSuspend(kotlin.Result<kotlin.Any?>)kotlin.Any? (0x99cb21)
        at kfun:kotlin.coroutines.native.internal.BaseContinuationImpl.resumeWith(kotlin.Result<kotlin.Any?>) (0x3bfa78)
        at kfun:kotlinx.coroutines.resume$kotlinx-coroutines-core@kotlinx.coroutines.DispatchedTask<T>.(kotlin.coroutines.Continuation<T>;kotlin.Int){0<kotlin.Any?>}Generic (0x4ce9e2)
        at kfun:kotlinx.coroutines.dispatch$kotlinx-coroutines-core@kotlinx.coroutines.DispatchedTask<T>.(kotlin.Int){0<kotlin.Any?>}Generic (0x4cdf95)
        at kfun:kotlinx.coroutines.CancellableContinuationImpl.dispatchResume#internal (0x47bfed)
        at kfun:kotlinx.coroutines.CancellableContinuationImpl.resumeImpl#internal (0x47c34f)
        at kfun:kotlinx.coroutines.CancellableContinuationImpl.resumeUndispatched@kotlinx.coroutines.CoroutineDispatcher.(T) (0x47d703)
        at kfun:kotlinx.coroutines.EventLoopImplBase.DelayedResumeTask.run#internal (0x48ab13)
        at kfun:kotlinx.coroutines.EventLoopImplBase.processNextEvent()kotlin.Long (0x486a10)
        at kfun:kotlinx.coroutines.BlockingCoroutine.joinBlocking#internal (0x4db9ce)
        at kfun:kotlinx.coroutines.runBlocking(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,T>){0<kotlin.Any?>}Generic (0x4daab8)
        at kfun:kotlinx.coroutines.runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,T>;kotlin.Int){0<kotlin.Any?>}Generic (0x4daff1)
        at kfun:com.soywiz.korio.async.asyncEntryPoint(kotlin.coroutines.SuspendFunction0<kotlin.Unit>) (0x622108)
        at kfun:com.soywiz.korio.Korio(kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,kotlin.Unit>) (0x5396d1)
        at kfun:RootGameMain.runMain(kotlin.Array<kotlin.String>) (0xa9138e)
        at kfun:main(kotlin.Array<kotlin.String>) (0xa91249)
        at Konan_start (0xa91bbb)
        at Init_and_run_start (0xb618db)
        at __libc_start_main (0x7fabd8f4b0b3)
        at  (0x345029)
        at  ((nil))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.