Releases: littlektframework/littlekt
Releases · littlektframework/littlekt
v0.2.0
New
- add: Full Android support.
- add:
MutableTextureAtlas
class to combine existingTextureAtlas
,Texture
, andTextureSlice
types into a
singleTextureAtlas
. - update:
vfsFile.readBitmapFont()
loader to allow passing in a list of existingTextureSlice
, such as from
aTextureAtlas
. - update:
core
now includestools
as an api vs just **implementation. Required for the newMutableTextureAtlas
class. - JVM config: add
backgroundColor
option for initially setting background color. - JS config: add
backgroundColor
option for initially setting background color. - add:
Batch
interface. - update:
SpriteBatch
to use new interface. - update: all references to
SpriteBatch
withBatch
. - add: New batch implementation called
TextureArraySpriteBatch
that uses texture arrays to render multiple textures as
a single draw call (GL 3+). - add: new helper methods for projecting / un-projecting coordinates on a
Camera
. - update:
GLVersion
to handle parsing version for OpenGL ES. - update:
Pointer
enum to support more than 3 pointers / touches (due to Android support). - update:
Pointer
with anindex
parameter for determine the actual index of the pointer / touch. - update:
Input
with newvibrate()
andcancelVibrate()
methods (Android support). - update
GLSLGenerator
to handle ES versions for mobile platforms. - BREAKING: remove:
getColorHex
andgetColorInt
methods fromLDtkIntGridLayer
. - add:
getColor()
that returns a newColor
instance toLDtkIntGridLayer
. - add:
truncate
string toFont
,FontCache
andGlyphLayout
. - add: ability to focus
Control
nodes and cycle through them with keyboard. - add:
onFocus
andonFocusLost
methods toControl
- BREAKING: move most UI enum classes to the specific Node class such as
SizeFlag
,StretchMode
,
andAnchorLayout
- update:
SceneGraph
to trigger ui input events for keyboard - update:
BaseButton
to allow for triggering press signal with keyboard - update
Button
with new focus theme variable drawable - add:
LineEdit
control for editing single lines of text. - add:
Clipboard
support - add: showing/hiding soft keyboard for Android
- BREAKING: rename
InputMultiplexer
toInputMapController
- add: new
InputMapProcessor
interface withonAction
callbacks used withInputMapController
- update:
InputMapController
to handlePointer
types as a binding - update:
InputMapController
to handle key modifiers in a binding (SHIFT, CTRL, and ALT) - update:
SceneGraph
to use anInputMapController
and input actions - update:
SceneGraph
focus key binds to use action bindings - add: helper methods to set default UI input action bindings to for
SceneGraph
- add:
justTouched
andtouchJustReleased
methods toInput
- BREAKING: rename
onKeyTyped
toonCharType
. - add: new
onKeyRepeat
method toInputProcessor
- add: support for
KEY_REPEAT
event inSceneGraph
- BREAKING: move
StretchMode
intoTextureRect
class. - add:
TILE
stretch mode implementation toTextureRect
- add:
TextureProgress
control node - update:
NinePatch
to support setting source rectangle - BREAKING: update:
NinePatchRect
control node to use aTextureSlice
vs using aNinePatch
directly. - BREAKING: update
Scene
to use scoped lifecycle methods withContext
- BREAKING: update
Scene
to no longer inherit fromAssetProvider
- update:
Game
withvfs
andclipboard
properties - add: a return value to
Context
callback methods (onRender
,onPostRender
,onResize
,onDispose
,onPostRunnable
) that can be invoked once to remove the callback from being invoked. - add: new
SizeFlag
value ofNONE
which is the same as creating aSizeFlag(0)
- add: a new parameter to the
resize
method of aSceneGraph
to allow centering of the camera iftrue
. - update:
Context
callbacks (onRender
,onPosRender
,onResize
,onDispose
, andpostRunnable
) to return
aRemoveContextCallback
lambda that can be invoked to remove itself from being called by theContext
. - update: the
resize()
method in aSceneGraph
to allow optional centering of camera. - update: LDtk version support to
1.0.0 beta3
- BREAKING: remove
readLDtkLevel
fromVfsLoaders
. - BREAKING: refactor
readLDtkMap
toreadLDtkMapLoader
. This now returns theLDtkMapLoader
which then can be
used to callloadMap()
andloadLevel()
. - BREAKING: remove
LDtkWorld
andLDtkLevel
fromAssetProvider
default loaders - add: Passing in optional
TextureAtlas
when reading anLDtkMapLoader
. Requires preloading tileset textures in order
to benefit from it. - add: Tiled map support. Includes, orthographic, isometric, and staggered map rendering support.
- update:
Rect
class is now open. - add:
extrude
,bleed
andbleedIterations
toTexturePacker
to prevent atlas bleeding and prevent filtering
artifacts when RGB values are sampled for transparent pixels. - add
TexMinFilter
andTexMagFilter
constructor params toFrameBuffer
Bugs:
- fix: remove clearing color buffer in
LwjglContext
. - fix:
PathInfo
to handle./
. - fix:
InputQueueProcessor
from triggering any subsequent input processors if the input has been handled - fix:
InputQueueProcessor
not correctly resetting internal input events to be reused. - fix:
Pool
from freeing an allocated object when using a callback. - fix:
TextureSlice
using incorrect UV coordinates for a 1x1 slice - fix: LWJGL input not resetting the last char when typing
- fix:
TextureRect
not actually using the specified width and height for stretching - fix:
SceneGraph
focusing aControl
node that wasn't enabled - fix:
Node
not updating children nodes whenenable
value was changed. - fix:
Button
sometimes not calculating text size resulting in misplaced text - fix:
Label
sometimes not calculating text size resulting in misplaced text - fix:
GlyphLayoutRun
not correctly calculating next glyphadvance
value. - fix:
Button
text width calculations due toGlyphLayoutRun
glyphadvance
fix - fix:
LWJGL
application defaulting to graphic cardsvSync
setting whenvSync
was set to false. It now will
properly turn offvSync
. - fix:
AnimationPlayer
not able to restart a current animation by usingstop()
and thenplay()
without having to
swap animations.
Upgrades:
Kotlin
from1.6.0
to1.6.10
LWJGL
from3.2.3
to3.3.0
kotlinx-coroutines
from1.6.0-RC
to1.6.0-native-mt
kotlinx-serialization
from1.3.1
to1.3.2
v0.1.0
LittleKt initial release which includes:
- JVM support
- JS support
- A Scene Graph and Node types
- A UI built on top of the Scene Graph
- Sprite batching
- Virtual File System
- Shading and GLSL Generator
- LDtk support
- Atlas support
- A texture packer for creating atlases
- Bitmap font support
- Audio streaming and clips
- Math module and utilities