Skip to content

Releases: domeengine/dome

DOME v1.8.3

02 Mar 08:35
b754b96
Compare
Choose a tag to compare

DOME v1.8.3 is now available 🎉

A very belated collections of bugfixes for some minor issues.

Image of DOME logo

New Features

  • Some Collections now support addAll to add the contents of one collection into another.

Enhancements

  • If DOME is opened in the windows terminal, logging output will be sent to that terminal, which limits the need for the use of the -c switch to enable an extra terminal window. (Thanks @Kasparsu !)

Bug Fixes

  • Logging would crash if you tried to print a non-string object.
  • JSON encoding objects and maps could fail in some instances.

Full Changelog: v1.8.2...v1.8.3

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.8.2

15 Mar 08:01
a5c8286
Compare
Choose a tag to compare

DOME v1.8.2 is now available 🎉

Some quick fixes and adjustments after some heavy testing post-7DRL.

Image of DOME logo

New Features

  • SpriteSheet.drawFrom(_,_,_,_) is a new convenience method that lets you pick a tile position on the tile map as coordinates, rather than using a linear index.

Enhancements

  • If DOME tries to set the window to be larger than the display, it'll maximize the window instead, so that the Canvas is viewable.
  • The web engine shell now allows the emscripten canvas to be scaled in accordance with the Canvas proportions, which makes deploying to somewhere like itch.io much easier.

Bug Fixes

  • Resizing the Canvas would occasionally cause some visual glitching if the screen wasn't immediately cleared. DOME now does this automatically.
  • High DPI-related changes from 1.8.0 were causing some issues on small and non-highDPI displays, so it's been reverted.
  • If an MP3 file didn't start with an ID3 tag frame, it couldn't be played. DOME should now handle a larger variety of MP3 files.
  • Log.level can now be set to "debug" - It wasn't able to be set higher than "info" before.

Full Changelog: v1.8.0.1...v1.8.2

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.8.1

09 Mar 09:30
fa704e2
Compare
Choose a tag to compare

DOME v1.8.1 is now available 🎉

A quick and simple bugfix release which arose as of my work during 7DRL 2023.

Image of DOME logo

Bug Fixes

  • Iterating through the new Stack would happen in an unexpected order (FIFO, rather than LIFO)

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.8.0.1

03 Mar 11:08
ffc441e
Compare
Choose a tag to compare

DOME v1.8.0.1 is now available 🎉

Well, here's a slew of small quality-of-life improvements and a grab-bag of new features, as development on DOME gradually spins up again.

In case you missed them, you can check out our shiny new collection of beginner's guides, which cover the basic features you might need for making something simple in DOME

Image of DOME logo

New Features

  • MP3 and FLAC audio support (beta)
  • SpriteSheet - Native support for spritesheets, or otherwise handling imagedata which contains multiple images within it.
  • Canvas.clip state can now be retrieved as a vector (by @catsanddo in #235)
  • FileSystem.exists(path) can be used for checking the existence of a file on the FileSystem (by @8-BIT-DEV in #237)
  • InputGroup class: handy for mapping multiple inputs to one in-game action, as well as handling repetition frequency.
  • Elegant class: Pairs of integers can be combined into a single value.
    • Vector can now be paired/hashed and unpaired using this.
  • Collections: A variety of common collection types for implementing various algorithms
    • HashMap - Works with a new Hashable interface to allow arbitrary objects to be used as keys.
    • Set
    • Queue
    • PriorityQueue
    • Stack
  • Log class, for more fine-grained control and categorization of log output.

Enhancements

  • Checks for a Game variable during application start
  • Update to SDL2 2.26.3
  • Transforms (aka DrawCommand) is now mutable using a modify(_) call. This allows for more efficient cache implementations.
  • (For v1.8.0.1) Mac Build should now be Universal, one binary for x86_64 and arm64 architecture Macs.

Bug Fixes

  • The entry point module is now not loaded a second time if it's referenced by other modules.
  • High DPI displays should be supported properly now: Some weirdness when setting the size of windows will be resolved.
  • Fixed an issue where trying to draw ImageData when the x < 0 would not work, and the image would instead be drawn at x = 0.
  • Fixed an issue where if a key was somehow pressed and released within the same frame, DOME would drop the input.

Deprecations

  • ImageData.loadFromFile(_) is deprecated in favor of ImageData.load(_), for consistency with the JSON and Audio systems.

Full Changelog: v1.7.2...v1.8.0.1

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.8.0 - The Ready Resources Release

02 Mar 19:49
Compare
Choose a tag to compare

DOME v1.8.0 is now available 🎉

I can't believe a new version of DOME hasn't been released for about a year. Time flies!

Well, here's a slew of small quality-of-life improvements and a grab-bag of new features, as development on DOME gradually spins up again.

In case you missed them, you can check out our shiny new collection of beginner's guides, which cover the basic features you might need for making something simple in DOME

Image of DOME logo

New Features

  • MP3 and FLAC audio support (beta)
  • SpriteSheet - Native support for spritesheets, or otherwise handling imagedata which contains multiple images within it.
  • Canvas.clip state can now be retrieved as a vector (by @catsanddo in #235)
  • FileSystem.exists(path) can be used for checking the existence of a file on the FileSystem (by @8-BIT-DEV in #237)
  • InputGroup class: handy for mapping multiple inputs to one in-game action, as well as handling repetition frequency.
  • Elegant class: Pairs of integers can be combined into a single value.
    • Vector can now be paired/hashed and unpaired using this.
  • Collections: A variety of common collection types for implementing various algorithms
    • HashMap - Works with a new Hashable interface to allow arbitrary objects to be used as keys.
    • Set
    • Queue
    • PriorityQueue
    • Stack
  • Log class, for more fine-grained control and categorization of log output.

Enhancements

  • Checks for a Game variable during application start
  • Update to SDL2 2.26.3
  • Transforms (aka DrawCommand) is now mutable using a modify(_) call. This allows for more efficient cache implementations.

Bug Fixes

  • The entry point module is now not loaded a second time if it's referenced by other modules.
  • High DPI displays should be supported properly now: Some weirdness when setting the size of windows will be resolved.
  • Fixed an issue where trying to draw ImageData when the x < 0 would not work, and the image would instead be drawn at x = 0.
  • Fixed an issue where if a key was somehow pressed and released within the same frame, DOME would drop the input.

Deprecations

  • ImageData.loadFromFile(_) is deprecated in favor of ImageData.load(_), for consistency with the JSON and Audio systems.

Full Changelog: v1.7.2...v1.8.0

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.8.0-RC2

01 Mar 08:01
Compare
Choose a tag to compare
DOME v1.8.0-RC2 Pre-release
Pre-release

(Release Notes Draft)

DOME v1.8.0-RC2 is now available 🎉

I can't believe a new version of DOME hasn't been released for about a year. Time flies!

Well, here's a slew of small quality-of-life improvements and a grab-bag of new features, as development on DOME gradually spins up again.

You can also take a look at our shiny new collection of beginner's guides, which cover the basic features you might need for making something simple in DOME

Image of DOME logo

New Features

  • MP3 and FLAC audio support (beta)
  • ImageSheet - Useful for including spritesheets in your game, or otherwise handling imagedata which contains multiple images within it.
  • Canvas.clip state can now be retrieved as a vector (by @catsanddo in #235)
  • FileSystem.exists(path) can be used for checking the existence of a file on the FileSystem (by @8-BIT-DEV in #237)
  • InputGroup class: handy for mapping multiple inputs to one in-game action, as well as handling repetition frequency.
  • Elegant class: Pairs of integers can be combined into a single value.
    • Vector can now be paired/hashed and unpaired using this.
  • Collections: A variety of common collection types for implementing various algorithms
    • HashMap - Works with a new Hashable interface to allow arbitrary objects to be used as keys.
    • Set
    • Queue
    • PriorityQueue
    • Stack
  • Log class, for more fine-grained control and categorization of log output.

Enhancements

  • Checks for a Game variable during application start
  • Update to SDL2 2.26.3
  • Transforms (aka DrawCommand) is now mutable using a modify(_) call. This allows for more efficient cache implementations.

Bug Fixes

  • The entry point module is now not loaded a second time if it's referenced by other modules.
  • High DPI displays should be supported properly now: Some weirdness when setting the size of windows will be resolved.
  • Fixed an issue where trying to draw ImageData when the x < 0 would not work, and the image would instead be drawn at x = 0.
  • Fixed an issue where if a key was somehow pressed and released within the same frame, DOME would drop the input.

Deprecations

  • ImageData.loadFromFile(_) is deprecated in favor of ImageData.load(_), for consistency with the JSON and Audio systems.

Full Changelog: v1.7.2...v1.8.0

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.8.0-RC1

28 Feb 13:17
Compare
Choose a tag to compare
DOME v1.8.0-RC1 Pre-release
Pre-release

(Release Notes Draft)

DOME v1.8.0-RC1 is now available 🎉

I can't believe a new version of DOME hasn't been released for about a year. Time flies!

Well, here's a slew of small quality-of-life improvements and a grab-bag of new features, as development on DOME gradually spins up again.

You can also take a look at our shiny new collection of beginner's guides, which cover the basic features you might need for making something simple in DOME

Image of DOME logo

New Features

  • MP3 and FLAC audio support (beta)
  • ImageSheet - Useful for including spritesheets in your game, or otherwise handling imagedata which contains multiple images within it.
  • Canvas.clip state can now be retrieved as a vector (by @catsanddo in #235)
  • FileSystem.exists(path) can be used for checking the existence of a file on the FileSystem (by @8-BIT-DEV in #237)
  • InputGroup class: handy for mapping multiple inputs to one in-game action, as well as handling repetition frequency.
  • Elegant class: Pairs of integers can be combined into a single value.
    • Vector can now be paired/hashed and unpaired using this.
  • Collections: A variety of common collection types for implementing various algorithms
    • HashMap - Works with a new Hashable interface to allow arbitrary objects to be used as keys.
    • Set
    • Queue
    • PriorityQueue
    • Stack
  • Log class, for more fine-grained control and categorization of log output.

Enhancements

  • Checks for a Game variable during application start
  • Update to SDL2 2.26.3
  • Transforms (aka DrawCommand) is now mutable using a modify(_) call. This allows for more efficient cache implementations.

Bug Fixes

  • The entry point module is now not loaded a second time if it's referenced by other modules.
  • High DPI displays should be supported properly now: Some weirdness when setting the size of windows will be resolved.
  • Fixed an issue where trying to draw ImageData when the x < 0 would not work, and the image would instead be drawn at x = 0.
  • Fixed an issue where if a key was somehow pressed and released within the same frame, DOME would drop the input.

Deprecations

  • ImageData.loadFromFile(_) is deprecated in favor of ImageData.load(_), for consistency with the JSON and Audio systems.

Full Changelog: v1.7.2...v1.8.0

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.7.2

11 Mar 11:02
c35ab9c
Compare
Choose a tag to compare

DOME v1.7.2 is now available 🎉

A quick and simple bugfix release which arose as of my work during 7DRL.

Image of DOME logo

Bug Fixes

  • Clip zone now respects the edge of the screen so we don't accidentally underflow. [#232]
  • We warn the developer if an import path matches internal module [#233]

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via twitter (@avivbeeri), or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.7.1 - Holiday Bugfixes

23 Dec 16:46
7493295
Compare
Choose a tag to compare

DOME v1.7.1 is now available 🎉

A happy holiday bugfix release to fill your stockings!

Image of DOME logo

Bug Fixes

  • Setting the Canvas.clip region to be larger in width than the Canvas.width no longer crashes DOME. #226
  • DOME accepts absolute paths as entry points again. #227

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via twitter (@avivbeeri), or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

DOME v1.7.0 - The Useful Utilities Edition

07 Dec 08:03
Compare
Choose a tag to compare

DOME v1.7.0 is now available 🎉

It's been a while since our last release, so this is packed with new features and bug fixes to make even better games and applications!

Image of DOME logo

New Features

  • You can now draw triangles using Canvas.triangle and Canvas.trianglefill!
  • Nest Tool - The external tool for creating .egg files (previously found here) is now included in the engine. This allows you to easily bundle your game into a single file for sharing with others who already have DOME installed.
  • Fuse Mode - You can distribute your application as a single binary, by merging together DOME and a .egg file using the new built in fuse tool.
  • Canvas.offset can now be queried as a Vector.
  • Fetch the currently selected font name with Canvas.font.
  • You can set Mouse.cursor to control which mouse cursor is used, allowing for better UI in tools and applications.
  • Developers can now turn off the dialog which appears during development

Enhancements

  • The math module relies on the Wren Num implementation of max, min and introduces clamp.
  • The random module uses the Squirrel3 hash by default, but you can opt-in to using Squirrel5, if this matters to you. (More info: #205)

Bug Fixes

  • The JSON module can now reliably serialise objects with nested objects. This was caused by an issue with circular reference detection.

Plugins

  • This release introduces low-level APIs for interacting with the canvas and reading files from the file system, as well as loading and drawing bitmaps to the canvas.
  • [Breaking change] The --embed command line option used for embedding wren module files in your code has been moved to be available under the subcommand embed, to match with nest and fuse. Apologies for any inconveniences as a result of this change.

Other Notes

  • DOME doesn't use Wren as a submodule in the repository any more, but instead uses Wren's amalgamated build. This means that DOME is easier to compile from source for unusual or unsupported platforms (such as ARM64).

Contributors

Thank you to @benstigsen @TheKing0x9 and @trelemar for their contributions to this release!

As always, documentation is available to help you get started.
If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via twitter (@avivbeeri), or on the DOME discord as springogeek#0572 to share screenshots or ask questions!