Skip to content

Releases: RoadrunnerWMC/ndspy

Version 4.2.0

14 Sep 02:39
Compare
Choose a tag to compare
  • Added type annotations for the ndspy.bmg, ndspy.code, ndspy.codeCompression, ndspy.fnt, ndspy.lz10, ndspy.narc, and ndspy.rom modules. These can help type-checkers analyze your own code if desired, and improve code suggestions in certain IDEs. Thanks to mike8699 for this!
  • A few small improvements to documentation, error messages, and testing infrastructure.

Version 4.1.0

28 Jul 08:14
Compare
Choose a tag to compare
  • Replaced the crcmod dependency with a pure-Python CRC16 implementation in ndspy itself.
  • Fixed a bug in the undocumented ndspy.graphics2D module.
  • A few documentation improvements.

Version 4.0.0

15 Mar 05:04
Compare
Choose a tag to compare
  • Many bugfixes. Thank you to everyone who reported bugs!

  • The ndspy.codeCompression and ndspy.lz10 now have CLIs. They also gained convenience functions for compressing and decompressing to/from files rather than :py:class:bytes objects.

  • ndspy.bmg.BMG now calls encoding value 1 'cp1252' rather than 'latin-1'; the latter was just a guess on my part. It also gained a new read-only attribute ndspy.bmg.BMG.fullEncoding that is useful for manually decoding BMG strings, in case you need to do that for some reason.

  • ndspy.rom.NintendoDSRom.iconBanner now supports all versions of icon/banner data, not just the first version. The ICON_BANNER_LEN constant has been removed, since it is not actually meaningful (different versions have different lengths).

  • ndspy.Processor is now an enum.IntEnum, rather than just an enum.Enum.

  • Assertions now have messages indicating what went wrong.

  • The ndspy and ndspy.bmg modules now have unit tests.

  • Changes pertaining to undocumented modules:

    • ndspy.color's API has been redesigned. However, this may be reverted or redesigned again before the module is stabilized.
    • Almost all ndspy.texture.TextureFormat enum members were renamed.
    • ndspy.graphics2D got further API improvements.
    • ndspy.extras.music now automatically parses unparsed SSEQs.

Version 3.0.0

11 Feb 01:41
Compare
Choose a tag to compare
  • Completely redesigned ndspy.narc's API in order to add compatibility with New Super Mario Bros. This is a very backwards-incompatible change, and any code using the module definitely needs to be updated.

  • Medium-sized changes to ndspy.bmg's API in order to add compatibility with... pretty much game except The Legend of Zelda: Phantom Hourglass and The Legend of Zelda: Spirit Tracks. This is a pretty important change, of course, but it's also backwards-incompatible. Depending on what parts of the module your code uses, though, your code might still run correctly without any changes.

  • Converted the names of ndspy.soundSequence.MonoPolySequenceEvent.Value and ndspy.soundSequence.VibratoTypeSequenceEvent.Value members to upper-case, since that's the recommended style for enum members now. This is backward-incompatible, but only if your code uses these enums.

  • Added the first two tutorials to the documentation, and added example code for certain modules.

  • Reorganized the folder structure of the documentation. This makes most previous documentation links invalid, unfortunately, but the reorganization was done with an eye toward avoiding this having to happen again in the future.

  • Changes pertaining to undocumented modules:

    • ndspy.bnbl and ndspy.bncl were added
    • ndspy.graphics2D got some API improvements
    • Swapped the interpretation of alpha values in ndspy.color
    • Added the ability to render textures with ndspy.texture

Version 2.0.0

23 Jan 06:40
Compare
Choose a tag to compare
  • Updated the ndspy.soundBank API to reflect the new discovery that note definition type values are defined for all instrument types, not just single-note instruments. (Thanks, Gota7!) This is a backwards-incompatible change, hence the major version number bump.
  • Fixed some bugs in ndspy.soundBank and ndspy.soundSequence that caused crashes in some situations. If your code didn't crash on 1.0.x, this doesn't affect you.
  • Added ndspy.VERSION.
  • Added a changelog page to the documentation.

Version 1.0.1

18 Jan 10:00
Compare
Choose a tag to compare

This fixes a mistake in setup.py that allowed ndspy to attempt to install on versions of Python that are too old. No actual ndspy code is changed.

Version 1.0.0

18 Jan 08:45
Compare
Choose a tag to compare

First release of ndspy.