Releases: durkisneer1/Kraken-Engine
Releases · durkisneer1/Kraken-Engine
Kraken Engine v0.0.8
🧣What's New☕
Highlights
- 7 new mouse functions!
- Ability to load separate frames in a folder as an animation with
loadFolder
kn::Anchor
enum for blitting using positions instead of rects- TMX object tile types are now supported
- Rotated tiles and objects are now supported
Bug fixes
- Repair window gtest
TileMap
's internal texture pointer turned to unique ptr for safe memoryTexture
re-loading properly implemented
Other
- Added the camera global vector to the docs' Things To Know page
TileMap
,Sound
, andFont
class constructors are now loader functionskn::Vec2
objects now supportcout
operations- Simplified
Rect
getters and setters
Kraken Engine v0.0.7
⛄What's New🍪
Merry Christmas and happy holidays!
Highlights
- The ability to bind several input actions is back with a new and modular syntax. You can find usage examples here.
- Latest YouTube video introducing programmers to the Meson build system is now in the documentation's Tutorials page.
- Documentation has a Things To Know page for getting to know important meanings behind constants. This page will grow as more features get added to Kraken.
- There are now color constants via the
kn::color
namespace.
Bug fixes
- Not necessarily a bug, but the pre-commit formatting action doesn't target the example folder anymore.
Other
- Rewind an animation to the beginning with
kn::AnimationController::rewind
. - Controller button constants for game input (
kn::C_*
). - Get the currently pressed controller button with
kn::controller::isPressed
. kn::Vec2::getAngle
for getting the angle of a vector relative to the positive x-axis.- The
f11
key now has a default behavior to toggle fullscreen. kn::Vec2::angleOfDifference
is longer a method for vectors.
Kraken Engine v0.0.6
❄️What's New 🎁
Highlights
- SUPPORT FOR GAME CONTROLLERS!
kn::AnimationController
allows for different animations to have their own fps with a general playback speed.- Documentation's "Contributing" column is now filled with everything you need to know to contribute.
- The
kn::input
namespace has been split intokn::mouse
,kn::key
, andkn::controller
.
Bug fixes
kn::getTicks
now works as intended
Other
- Event polling is done through a while loop instead of a for loop over a vector. Example
- The visual quality of the documentation has been improvement with category drop-downs.
- Common events like clicking the window's close button and plugging/unplugging a controller is now handled automatically.
- Remove animations from an
AnimationController
object withremoveAnim
. isFinished
method for the animation controller to see when an animation is over.
Kraken Engine v0.0.5
🎄 What's New 🎅
kn::TileMap
constructor now has aborderSize
parameter for loading tile sets with gaps around each tile.- Updated Installation content to prevent DLLs from being made after
meson compile
. - The PugiXML library is now a wrap package instead of in the source files.
kn::Layer
objects now have anisVisible
attribute, meaning they won't be drawn in adrawMap
method call.kn::math::Vec2
now has operator overloads for -=, /=, and *=.- Most of the documented API now have introductory descriptions and example usages.
getMouseButtonPressed
is nowisMouseButtonPressed
.getKeysPressed
is nowisKeyPressed
.kn::Texture
lost a few unnecessary methods.kn::time
namespace now has agetTicks
method to get the amount of time sincekn::window::init
was called, in seconds.
Bug fixes
kn::math::Vec2::rotate[Rad]
methods have been corrected.- Fullscreen display mode is back to "true" fullscreen due to mouse cursor position imprecision.
Kraken Engine v0.0.4
🦃 What's New 🍂
- Fitted
kn::Rect
colliders for accurate tile collisions via thekn::Tile::collider
attribute. kn::Rect::clamp
method for keeping a rectangle within another.kn::Tile
objects now have a pointer to thekn::Layer
they're in.- Especially useful for checking if a tile is in a certain layer before handling collisions.
kn::TileMap::getTileCollection
method to get a collection vector of tiles across several tile map layers.kn::window::blitEx
functions have been removed.angle
andflip
traits are now part ofkn::Texture
as public members.
- Textures no longer technically render when the draw position is outside of the window.
kn::math::Vec2
now supports the<
,>
,<=
, and>=
operators.
Bug fixes
- Fix tile map rendering due to how unordered hash-maps store data.
- Rendering is now integer-based due to upscaled rendering having sub-pixel visual artifacts.
- Dragging the window for extended periods of time no longer results in a large delta time afterwards.
- This comes at the cost of delta time not functioning as intended for refresh rates below 30fps.
Kraken Engine v0.0.3
What's new
- Updated way to load and draw animations from sprite sheets
kn::window::setIcon
to load an image file to be used as the window icon- Window has a default kraken logo icon
- New
kn::draw
functions:line
to draw a line between two pointspoint
to draw a single pixel onto the screencircle
to draw a circle onto the screen
Bug Fixes
- Fix
kn::draw::rect
function linker error - Mouse position would not be at the right place when
kn::camera
isn't zero
Kraken Engine v0.0.2
What's new
- Introductory tutorial in documentation site
- Global camera vector
- Animation controller for sprite sheet textures
- Re-enabled unit tests (#25)
- New way of loading textures via
kn::Texture::loadFromFile
Bug Fixes
- Fix tile map loading bug
- Fix
kn::window::blitEx
rendering artifact - Not really a bug, but made all
kn::Rect
getters const
Co-author: @oddbookworm