Releases: soywiz-archive/korge-next
v2.4.5
Improvements
- Make not finding LD libraries on linux a warning, not a failing error
- Some work on debugging UI components
Full Changelog: v2.4.4...v2.4.5
v2.4.4
Additions
- Korge: supports specifying the number of frames for SpriteAnimation + support reading by rows or by columns
- Korim: support trying to get a color by name
- Gradle: Try to check required libraries in linux (by using LD paths)
Fixes
- Support ParticleEmitterView particles rotation
- Cursor jumps into incorrect position when deleting last char of UITextInput #400
- Korte: Supports reading properties without accessors
- Some fixes supporting newer versions of Java
--add-opens
- Change UUID.randomUUID to use a SecureRandom implementation
- Try to fix hangs on macbook when using filters with a Radeon PRO 5300M
Optimizations
- KBigNum: Use JS BigNum (when available) and JVM BigInteger
- KBigNum: hugely optimized String to BigInt parsing
- Make ParticleEmitterView use FSprites
General improvements
- Korte: Join JVM and Android implementations
- Some gradle improvements
- Unify linuxArm32 and linuxX64. Unify mingwX64 in mingwCommon
- Improves ViewsForTesting and WString
Full Changelog: v2.4.3...v2.4.4
v2.4.3
What's Changed
- Update GL.def by @conifer-dev in #348
- Fix AM/PM parsing bug when hour is 12, and ignore case of AM/PM in parsed string by @CharlesKozel in #346
- Added Dyn.toStringOrNull() by @jfbilodeau in #354
- Add SDL_ShowCursor and set cursor to hidden for SDL windows by @ObsidianX in #359
New Contributors
- @conifer-dev made their first contribution in #348
- @CharlesKozel made their first contribution in #346
Full Changelog: v2.4.2...v2.4.3
v2.4.2
π KorGE 2.4.2 released!
Changelog v2.4.1...v2.4.2
Improvements
- Support changing kotlin version to EAPs and RCs
- Experimental work on windows secure sockets
- Allow particle emitter position to be the global emitter position that is usually the expected behaviour
- [kbignum] Add support for 0x, 0o and 0b prefixes
- [kbignum] Added BigNum .toBigInt, toBigIntFloor, .toBigIntCeil, toBigIntRound & decimalPart
- Rewrite SDL implementation to load dynamically
Fixes
- Properly sets the stencil bits in android for masks to work
- [kbignum] Fixes BigInt division
- Fixes
WSAGetLastError
problem by doing some required initializations - Do not install esbuild is already available
- Fixes esbuild usage on windows
- Only one texture lookup on
linuxArm32Hfp
target also - Proper parsing timezone offset without ':'
- Try to fix some SDL / linuxArm32 issues
Optimizations
- [kbignum] Optimize toString2
v2.4.1
π KorGE 2.4.1 released!
Changelog v2.4.0...v2.4.1
Fixes
- Fix shape bounds when not including strokes
Additions
- Supports
MeshBuilder3D
building with geometry types other thantriangles
- Added
Sphere3D
- Updated
Cube3D
Remove
- Remove
tensork
from korge-next (moved to the old folder)
v2.4.0
π KorGE 2.4.0 released!
Changelog v2.3.4...v2.4.0
Breaking changes
- Reduce Klock dependencies by changing
DateTime.toString
to not format the date by default. AddedDateTime.toStringDefault
with the old behaviour
Improvements
- Reduce output size by removing dependencies from global objects and reestructuring internal code
- Prepare for the
macosArm64
target (disabled) - Add task
jsBrowserEsbuildClosureCompiler
(closure compiler minimification) - Remove a lot of
run { }
to potentially reduce compilation/time/output size on debug K/N builds
v2.3.4
π KorGE 2.3.4 released!
Changelog v2.3.3...v2.3.4
Additions:
- Added
BatchBuilder2D.setTemporalUniforms
- Added
BaseGraphics.preciseAutoScaling
- Added
BaseGraphics.ignoreStrokesForBounds
- Support for getting BaseGraphics bounds with and without strokes
- Added
View.hitTestLocal
- Added
View.addUpdater
- Added
FSprite.anchorX
&FSprite.anchorY
for anchoring - Added
FSprite.texId
to support multiple textures in FSprites - Added
SDL2
-based linux native backend - Support loading TTF fonts freezing
- Support TTF
sbix
section (Standard Bitmap Graphics) for supporting more emoji fonts - Added
Environment.tempPath
- Added
FastByteArrayInputStream.unread
- Added
OS.isJsDenoJs
(supports deno.js) - Added
Double.isAlmostEquals
Fixes:
- Added some
SharedImmutable
andThreadLocal
- Makes
IRectangle
check for almost equality in.equals
Optimizations:
- Optimized texture lookup to do a binary search
Tests:
- Add
ReferenceGraphicsTest
v2.3.3
π KorGE 2.3.3 released!
Changelog v2.3.2...v2.3.3
Major changes:
- [Gradle] Make Kotlin.JS use Esbuild instead. A couple of order of magnitude faster startup times, less downloads, and smaller build folder
Major fixes
- Circumvents https://youtrack.jetbrains.com/issue/KT-48273
Major additions:
- [KDS] Added RLE and RLEComparer
- [KORIM] Added
Bitmap.trace
to convert a 1-bit bitmap into aVectorPath
- [KORIM] Support above 0xFFFF codePoints when rendering fonts
- [KORIM] Improved system font support on all targets (but JS), added
- [KORIM] Support rendering colored TTF glyphs and TTF bitmaps (supports both the Windows Emoji font and the Apple one)
-
[KORIM] Added
SystemFont.getEmojiFont()
&SystemFont.geDefaultFont()
-
[KORIM] Added
VectorFont.withFallback(...VectorFont)
, so you can for example:DefaultTTFFont.withFallback(SystemFont.getEmojiFont())
-
[KORIO] Added
WString
,WChar
andString.forEachCodePoint
to support high codepoints with surrogate pairs
Major optimizations
- [KORIM] Hugely optimized
SystemFont
catalog generation - [KORIM] Optimized font loading
v2.3.2
π KorGE 2.3.2 released!
Changelog v2.3.1...v2.3.2
PRs:
- Do not include hidden layers of ASE file into generated atlas #326 Thanks @jobe-m !
- Remove invisible layers from image data of ASE file #330 Thanks @jobe-m !
- Fix loading tiledmap into given atlas #333 #333 Thanks @jobe-m !
- Fix slicing in ase files #334 Thanks @jobe-m !
- JVM target doesn't work on macOS arm64 #331 Thanks @IsaacShelton !
Version updates:
- Updated to Kotlin
1.5.30-RC
Major improvements
- Added Binary Volume Hierarchy
BVH
(n-dimensional),BVH2D
andBVH3D
. (Improved and optimized port of jsBVH) this supports raycasting and range selections for 2d and 3d for AABB3D and Rectangle and in general AABB structures. Checkkorge-samples/samples/raycasting
for usage.
- Added AABB3D, Ray3D, Ray, and initial Vector3
- Improved batching of line shapes. Some API changes on RenderContext
- Added
Line
(simple lines) andOutline
(Arbitrary VectorPath) views that render 1px lines instead of solids
Improvements
- Improved
Environment
to support custom environments - Support
MaskTransition.filtering
- Simplify starter kit key movement
- Added
InputKeys.getDeltaAxis(minus1: Key, plus1: Key): Double
to simplify keyboard movement - Some work on shape collisions on tilemaps
- Added
View.hitTestView
- Add Shape2d intersection check. Add View.hitShape2d and use it for collision detection.
- Publish korge-box2d again as an artifact
Fixes
- Fix TransitionView & View.renderFiltered with clipping inside & scaled window + test
- Do not apply a timeout by default on tween, so speed doesn't interefer
- Remove remaining bintray references
- Fixes
Environment.expand("~")
on windows on different drives - Fix artifacts descriptions on central
- Added missing mouse events on JVM AWT
Internal testing (QA)
- Added internal
jvmTestFix
task to support updating reference file checks, and that allows to add more of those tests that will cover more cases - Test FSprites and instanced rendering
- Test log AG with multiple textures in a single batch
v2.3.1
π KorGE 2.3.1 released!
Changelog release-2.2.1.0...v2.3.1
Version updates:
- Updated to Kotlin 1.5.30-M1
Major improvements
- Added tiled tilemap animations support
- Added tiled tilemap collision support
- Added ASEprite loading
- Added KRA Krita pixel layer reading
- Hugely improved zlib/deflate performance on all targets
- Added support to image providers to provide animations, slices, and several files in a single container file
- Added utilities to move a view in a specific direction using hitTest collisions into account
- Support loading images, slices, tilemaps, aseprite and any other image format into a single MutableAtlas
- Added direction to hitTest, so collisions can take this into account.
- Added
ImageAnimationView
andImageDataView
to simplify displaying ASEprite and other format images and animations - FSprites support for colorMul, allocating and freeing
PRs
- Creates fromUnix function to return with applied timezone #211 Thanks @Caps-Looking !
- [Disabled] Raspbery Pi support ! #316 Thanks @ObsidianX !
Fixes
- Fixed orthographic tilemaps
- Some UI improvements
Additions
- [KLOCK]
Date.inThisWeek
- Added UIRadioButton
- Added support for reading properties and system properties: SystemProperties (works on JVM) and Properties to load .property files