Releases: agbrs/agb
Releases · agbrs/agb
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.
0.18.1
Added
- You can now use include_aseprite and include_background_gfx to include files from the out directory using the
$OUT_DIR
token (thanks @screenshakes) - Added
.pause()
and.resume()
methods toSoundChannels
to let you pause and resume from where you left off.
0.18.0
Added
- There is now a multiboot feature which you can use to easily make multiboot ROMs.
- Can now set palette on a TileSetting struct.
Changed
- You no longer need the gba.ld or gba_mb.ld files in your repository. You should delete these when upgrading.
Fixed
- Multiboot builds now work on mgba.
- Fixed inaccuracy in cosine implementation caused by accidentally multiplying correction term by zero.