Skip to content

Releases: agbrs/agb

0.21.1

02 Oct 22:13
Compare
Choose a tag to compare

Added

  • Added support for s3m and mod format files to agb-tracker.
  • Added a HashSet implementation in agb::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

0.21.0

24 Sep 19:44
d07970a
Compare
Choose a tag to compare

Added

  • Added support for vibrato in agb-tracker's XM format
  • Method to stop the tracker

Changed

  • agb-tracker now has an agb feature which you must enable to use it with agb. You won't notice
    unless you've been using default-features = false in which case we recommend removing that from your Cargo.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

18 Jun 16:55
a4d6ba5
Compare
Choose a tag to compare

Fixed

  • Resolved incompatibility with a dependency's update in agb-tracker. If you are already using agb-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

13 Jun 22:17
ac2e6b5
Compare
Choose a tag to compare

Changed

  • manhattan_distance and magnitude_squared no longer require the fixed point number.

0.20.3

12 Jun 17:06
a6e4be0
Compare
Choose a tag to compare

Added

  • Added find_colour_index_16 and find_colour_index_256 to the VRamManager 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

25 May 12:25
d05965b
Compare
Choose a tag to compare

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

17 May 22:13
6a53460
Compare
Choose a tag to compare

Added

  • Added dot and cross product methods for Vector2D.

Fixed

  • Fixed an issue with agb tracker where XM files with linear frequencies were playing the wrong notes

0.20.0

14 May 22:01
737b547
Compare
Choose a tag to compare

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 the backtrace feature.
  • Initial unicode support for font rendering.
  • Kerning support for font rendering.
  • Added set_next method to OamIterator 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 implements Write. You're unlikely to notice as agb::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

06 Mar 19:17
9e63b2c
Compare
Choose a tag to compare

Added

  • .abs() on Vector2D and Rect

Fixed

  • InfiniteScrolledMap can now scroll more than 1 tile in a single frame without corrupting.

0.19.0

06 Mar 09:38
Compare
Choose a tag to compare

Added

  • Added .priority(), .set_priority() and .is_visible() to RegularMap, AffineMap and InfiniteScrolledMap.
  • Replaced .show() and .hide() with .set_visible()in RegularMap, AffineMap and InfiniteScrolledMap.
  • Added .into_inner() to InfiniteScrolledMap to get the map back once you are done using it in the InfiniteScrolledMap.
  • Added .hflip(), .vflip(), .priority(), .position() to ObjectUnmanaged and Object.
  • 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 the num crate.
  • Default implementations for RandomNumberGenerator, InitOnce and RawMutex.

Changed

  • A few functions which previously accepted a Vector<u16> now accept an impl Into<Vector2D<u16>> instead.