Releases: agbrs/agb
Releases · agbrs/agb
0.21.1
Added
- Added support for s3m and mod format files to
agb-tracker
. - Added a
HashSet
implementation inagb::hashmap
.
Changed
- Changed how 16 colour palettes are optimised to give better average case results. You should find that
either your palettes will always import, or never import correctly.
Fixed
- Fixed #777
0.21.0
Added
- Added support for vibrato in
agb-tracker
's XM format - Method to stop the tracker
Changed
agb-tracker
now has anagb
feature which you must enable to use it withagb
. You won't notice
unless you've been usingdefault-features = false
in which case we recommend removing that from yourCargo.toml
.
Fixed
- There are no longer gaps between tiles in affine graphics modes.
Added
- Added option to export imported background graphics from
include_background_gfx
as pub.
0.20.5
Fixed
- Resolved incompatibility with a dependency's update in
agb-tracker
. If you are already usingagb-tracker
, then this won't yet cause an issue as your lockfile will maintain the working version. However if start a new project, or update dependencies, cargo will choose the later incompatible version.
0.20.4
Changed
manhattan_distance
andmagnitude_squared
no longer require the fixed point number.
0.20.3
Added
- Added
find_colour_index_16
andfind_colour_index_256
to theVRamManager
to find where a colour is in a palette. - Added
set_graphics_mode
to unmanaged sprites. This allows you to change to the blending and window modes.
Fixed
- Affine background center position didn't work outside of the upper left quadrant of the gba's screen.
- Fixed backtrace pointing to the wrong line of code (being out by one).
- Fixes overflow caused by certain font characteristics on boundaries of sprites in the object text renderer.
0.20.2
Fixed
- Fixed the crash screen to show debug text even if the qr code fails to generate.
- Fixed the crash screen to prevent the qr code always failing to generate.
0.20.1
Added
- Added
dot
andcross
product methods forVector2D
.
Fixed
- Fixed an issue with agb tracker where XM files with linear frequencies were playing the wrong notes
0.20.0
Added
- Added a new crash screen which provides a mechanism for seeing a full stack trace of your program when it panics. This requires a change to your
.cargo/config.toml
. You must add the rust flag"-Cforce-frame-pointers=yes"
to your rustflags field. This can also be disabled by removing thebacktrace
feature. - Initial unicode support for font rendering.
- Kerning support for font rendering.
- Added
set_next
method toOamIterator
to avoid repeated boilerplate when dealing with unmanaged objects.
Fixed
- Export the
dma
module correctly so you can write the types from it and use it in more complex cases.
Changed
- Many macros now emit statics rather than consts OR can be used as statics OR have had examples changed to use statics. You should use statics where possible for assets as consts can lead to them being included multiple times in the ROM.
- Fixnums are now implemented with
num_traits
trait definitions. - Rather than having our own sync with Statics, use the standard portable atomics crate. These are reexported for convenience.
Mgba
no longer implementsWrite
. You're unlikely to notice asagb::println!
is unchanged.- Writes of long messages to mgba are split over multiple log messages if they overflow mgba's buffer. On a panic, only the final message will be Fatal with the preceding ones (if needed) being Info.
0.19.1
Added
.abs()
onVector2D
andRect
Fixed
InfiniteScrolledMap
can now scroll more than 1 tile in a single frame without corrupting.
0.19.0
Added
- Added
.priority()
,.set_priority()
and.is_visible()
toRegularMap
,AffineMap
andInfiniteScrolledMap
. - Replaced
.show()
and.hide()
with.set_visible()
inRegularMap
,AffineMap
andInfiniteScrolledMap
. - Added
.into_inner()
toInfiniteScrolledMap
to get the map back once you are done using it in theInfiniteScrolledMap
. - Added
.hflip()
,.vflip()
,.priority()
,.position()
toObjectUnmanaged
andObject
. - An abstraction over hblank DMA to allow for cool effects like gradients and circular windows. See the dma_effect* examples.
- Expermental and incomplete support for MIDI files with agb-tracker.
- Fixnum now implements
num::Num
from thenum
crate. Default
implementations forRandomNumberGenerator
,InitOnce
andRawMutex
.
Changed
- A few functions which previously accepted a
Vector<u16>
now accept animpl Into<Vector2D<u16>>
instead.