Skip to content

Releases: durkisneer1/Kraken-Engine

Kraken Engine v0.0.8

21 Jan 12:11
c60cd2c
Compare
Choose a tag to compare

🧣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 memory
  • Texture re-loading properly implemented

Other

  • Added the camera global vector to the docs' Things To Know page
  • TileMap, Sound, and Font class constructors are now loader functions
  • kn::Vec2 objects now support cout operations
  • Simplified Rect getters and setters

Kraken Engine v0.0.7

26 Dec 00:00
fca16ef
Compare
Choose a tag to compare

⛄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

10 Dec 10:11
1ccc733
Compare
Choose a tag to compare

❄️What's New 🎁

Highlights

Bug fixes

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 with removeAnim.
  • isFinished method for the animation controller to see when an animation is over.

Kraken Engine v0.0.5

02 Dec 17:56
492e7b4
Compare
Choose a tag to compare

🎄 What's New 🎅

  • kn::TileMap constructor now has a borderSize 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 an isVisible attribute, meaning they won't be drawn in a drawMap 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 now isMouseButtonPressed.
  • getKeysPressed is now isKeyPressed.
  • kn::Texture lost a few unnecessary methods.
  • kn::time namespace now has a getTicks method to get the amount of time since kn::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

26 Nov 07:32
65e43fe
Compare
Choose a tag to compare

🦃 What's New 🍂

  • Fitted kn::Rect colliders for accurate tile collisions via the kn::Tile::collider attribute.
  • kn::Rect::clamp method for keeping a rectangle within another.
  • kn::Tile objects now have a pointer to the kn::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 and flip traits are now part of kn::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

16 Nov 06:42
85a3327
Compare
Choose a tag to compare

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 points
    • point to draw a single pixel onto the screen
    • circle 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

09 Nov 00:55
0885c80
Compare
Choose a tag to compare

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

0.0.1

20 Oct 06:21
Compare
Choose a tag to compare
0.0.1 Pre-release
Pre-release

Pre-release test to add Kraken Engine to the meson wrapdb database! nuh