Releases: domeengine/dome
DOME v1.8.3
DOME v1.8.3 is now available 🎉
A very belated collections of bugfixes for some minor issues.
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
DOME v1.8.2 is now available 🎉
Some quick fixes and adjustments after some heavy testing post-7DRL.
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
DOME v1.8.1 is now available 🎉
A quick and simple bugfix release which arose as of my work during 7DRL 2023.
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
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
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 newHashable
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 atx = 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 ofImageData.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
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
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 newHashable
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 atx = 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 ofImageData.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
(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
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 newHashable
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 atx = 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 ofImageData.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
(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
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 newHashable
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 atx = 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 ofImageData.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
DOME v1.7.2 is now available 🎉
A quick and simple bugfix release which arose as of my work during 7DRL.
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
DOME v1.7.1 is now available 🎉
A happy holiday bugfix release to fill your stockings!
Bug Fixes
- Setting the
Canvas.clip
region to be larger in width than theCanvas.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
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!
New Features
- You can now draw triangles using
Canvas.triangle
andCanvas.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 infuse
tool. Canvas.offset
can now be queried as aVector
.- 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 WrenNum
implementation ofmax
,min
and introducesclamp
. - 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 subcommandembed
, to match withnest
andfuse
. 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!