Changelog History
-
v2.4.0 Changes
August 15, 20202.4.0 Changelog:
buttons:
- ๐ support fitting text within the button
collision:
- โ added a helper for 2d rectangular spaces.
config:
- โ added option for targeting a specific screen pixel ratio width/height when not in fullscreen (helps for osx retina displays)
dlog:
- โ added an example for non-default logger (regex logger)
- small efficiency boost to standard logger
- ErrorCheck now returns the error consumes
oak:
-viewports can now be shifted by a relative amount rather than having to be set to an absolute location withShiftScreen
- ๐ improved screenshake logic
- ๐ฆ expose keypress functionality to allow for software simulated keyboard interactions
render:
- 0๏ธโฃ our default font is now baked into our binary, to support use while vendoring.
- โ added
NewStrPtrText
toFont
. - โ added
Reverting.Get
to support subSwitch
types. - โ added
Polygon.GetThickOutline
- โ added
Polygon.GetGradientOutline
- โ added
Polygon.GetColoredOutline
- โ added
ParticleLimit
to particle generators - โ added
particle.InfiniteLifeSpan
generation option - โ added
NoopStackable
, for tests to disable rendering anything. - โ added
mod.StripOuterAlpha
- ๐ renamed
NewLineColored
toNewColoredLine
. The old name is deprecated for removal in 3.0. - โ added
Replace
, analogous toDraw
, to replace one renderable with another without dropping frames. - ๐ renamed
DrawPolygon.DrawPolygonDim
toDrawPolygonBounds
. The old name is deprecated for removal iun 3.0 - โก๏ธ composite updates to allow for subslices of compositeM and have compositeR implement stackable
scene:
- 0๏ธโฃ scenes will now use default NOP scene functions for start, loop, and end, if sent
nil
.
timing:
- โ added
DoAfterContext
dependencies:
- ๐ upgrade to use new shiny 0.4.2 https://github.com/oakmound/shiny/releases/tag/v0.4.2
- โฌ๏ธ upgrade to use klangsynthese 2.1.0
๐ https://github.com/200sc/klangsynthese/releases/tag/v0.2.1
examples:
- ๐ new examples were added illustrating viewport locked rooms, zooming on renderables, capturing keyboard presses
-
v2.3.3 Changes
March 11, 2020โฌ๏ธ Oak v2.3.3 upgrades internal dependencies.
-
v2.3.3-beta Changes
March 06, 2020โฌ๏ธ Oak v2.3.3 upgrades internal dependencies.
-
v2.3.2 Changes
January 25, 2020โก๏ธ Oak version 2.3.2 updates the project's go modules files and imports to resolve import issues with go modules and enable go getting without too much effort to work around modules (with crossed fingers).
-
v2.3.2-beta Changes
January 25, 20202020-01-07
-
v2.3.1 Changes
September 15, 2019๐ Changelog:
- ๐ท Travis CI is replaced with Github Actions
- ๐
entities/x/btn
supports storing and retrieving arbitrary metadata - โก๏ธ dep / go modules files updated
- A new fork of libudev is being used to accomodate a bug in go modules
- โ Adds
oak.RecordGIF
- โ Adds
oak.Config.TrackInputChanges
for switching between joystick and key/mouse controls - โ Adds
oak.GetViewportBounds
andoak.RemoveViewportBounds
- ๐ Use of custom polygon clipping algorithms in
render.DrawPolygon
-
v2.3.0 Changes
August 17, 2019๐ See the beta release for the changelog.
๐ง Also noteworthy is our audio library, klangsynthese, no longer requires cgo on Linux.
-
v2.3.0-beta.0 Changes
July 26, 2019๐ Beta release for 2.3.0, pending some more examples / tests / benchmarks.
2.3.0 Changelog:
Overall
:- ๐ Improved test coverage
- โก๏ธ Updated example READMEs
alg
:- โ Added standard direction helpers
- ๐ Allow usage of a rand other than the default rand
Collision
:- ๐จ Minor refactoring
oak
:- โ Added new screen controls
- ๐ New debug commands
joystick
:- ๐ Joystick support added
render
:- โ Add some missing methods
-
v2.2.0 Changes
March 23, 20192.2.0 Changelog:
collision
:- โ Added
Size
method to rtrees. - โก๏ธ Deprecated
UpdateLabel
Method. - ๐ Fixed race condition bug in
UpdateSpace
andUpdateSpaceRect
, these methods will now return an error if attempting to update a space that does not exist in the tree.
entities
:- โ Added
GetReactiveSpace
to theReactive
type.
entities/x
:- ๐ General bug fixes
force/NewHurtColor
andforce/NewHurtDisplay
now take a variadic set of layers- โ Added
move/ShiftX
andmove/ShiftY
examples
:- Corrected the particle demo to use 2.0.0 commands
render
:- โ Added
ToSprite
toCompositeM
- 0๏ธโฃ Corrected default font access
NewSheetSequence
now returns an error if given invalid framesSprite
s now satisfy stdlibdraw.Image
- ๐ bugfix:
Sprite
copies now don't reuse the same pixel slice Switch.Set
returns anoakerr.NotFound
instead ofoakerr.InvalidInput
scene
:- โ Added
GoToPtr
, taking a string pointer as the next scene to run
- โ Added
-
v2.1.0 Changes
March 04, 2019Full Changelog :
Overall
:-Added dependency tracking files for dep and go modules
alg
:- โ Added floatgeom.Point4, mirroring Point3/2
- โ Added Cross to floatgeom.Point3 to calculate cross products
- โ Added Shift and Center to floatgeom.Rect2/3 and intgeom.Rect2/3
- โ Added TriangulateConvex utility for converting polygons into a slice of triangles by vertex index
oak
:- โ Added ResetCommands to remove all debug console commands.
entities/x
:- ๐ฆ The subpackages here are meant to be experimental extensions of existing oak functionality. These aren't bound to the versioning compatibility requirements, but packages here are candidates to be moved out of x and made a part of versioning compatibility.
- โ Added the btn package, an experimental UI package for quick menu and button creation.
- โ Added the force package, containing utilities for imparting directionality with collisions.
- โ Added the 'mods' package, containing expanded color and Modifiable manipulation functions.
- โ Added the 'move' package, containing quick-start entity movement control functions like WASD.
- โ Added the 'stat' package, extending event tracking to also track incremental statistics over a game's life.
event
:- โ Added the Caller interface to cover entities composed with CIDs.
- โ Added the ScanForEntity utility, allowing searching for arbitrary entities by function matching.
- โ Added the 'OnStop' event for when the engine is closed.
examples
:- โ Added the radar-demo package, demonstrating how to write custom renderables and point tracking with a radar UI element.
key
:- โ Added Period as a duplicate of FullStop
- โ Added KeyHeld to track when a key triggers repeats by being held down for long enough.
render
:- โ Added DrawPoint to draw single pixels.
- โ Added 'LoadSprites' utility combining LoadSheet and ToSprites.
scene
:- โ Added utilities BooleanLoop and GoTo for common Loop and End scene functions.
shape
:- โ Added Condense, which finds a minimal set of rectangles covering a given shape.
- โ Added Points, representing a shape via a set of (x,y) points.