Pages: 1
Posted on 01-18-19, 09:41 am


Karma: 420
Posts: 26/29
Since: 01-17-15
I've finally released ndspy, my Python library that was used to make many of the assets for Newer DS!

GitHubDocumentationPyPIDiscord

I haven't released any ndspy-powered tools yet, but rest assured that they're coming. Here are some of the things that I've done with ndspy for Newer DS, most or all of which will be released at some point:

  • The Magigoomba project management and code building system, which is way more advanced than NSMBe's build system
  • All of the SSAR editing for new/improved sound effects was done entirely with ndspy
  • Scripts for minimizing the sizes of SBNK and SWAR files, which saved Skawo hours of manual work and results in files smaller than ones made with his method
  • Scripts for putting together custom bottom-screen backgrounds
  • ndspy was used to adjust the game's sound groups (aka sound sets) and create completely new ones
  • ndspy was used to create custom instruments, such as the square wave in the Bonus theme
  • An IDA plugin for quickly loading Nintendo DS ROMs with all overlays
  • The "FNT Tool" tool on my GitHub is derived from part of ndspy's code
  • Scripts for making manual adjustments to music tracks, such as pitch bends, fade-ins and fade-outs, and more
  • A script for squeezing as many tiles as possible into a tileset NCG (used for the Magmatrack Getaway tileset)
  • Scripts for making multiple ENPGs with the same palette (used for the file select and others)

And more!

Here's what version 1.0.0 officially supports opening, editing, and creating from scratch:
  • ROM files
  • SDAT files and everything within them:
    • SBNKs
    • Groups
    • SSEQs
    • SSARs
    • Sequence players
    • STRMs
    • Stream players
    • SWAVs
    • SWARs
  • ARM9 and ARM7 code files, and overlay tables
  • NARC files
  • LZ10-compressed files
  • BMG files

Other file types, such as NCL, NCG, NSC, NSBMD, and NSBTX, have varying degrees of work-in-progress support.

This release took so long (it's been over a year since Newer DS's release) partly because I've tried to document the API as thoroughly as I possibly can. The documentation as a whole is still incomplete — the Tutorials section, for one, is completely empty — but the entire stable API is fully and carefully documented.

I hope it won't just be me who makes tools using this! If you need any help with it, I've made a Discord server where I'd be happy to answer questions.

Happy hacking!
_________________________
The Newer Team
Posted on 06-16-19, 09:12 pm, deleted by RicBent: Send a PM then
Posted on 06-19-19, 08:26 am
Lantern Ghost
Will never finish a hack

Karma: 1771
Posts: 771/773
Since: 03-25-16
Although I still haven't bothered learning ASM hacking, this is looking really awesome, am excited to give it a try one of these days
_________________________
hey look, I did a thing
Posted on 06-19-19, 01:09 pm


Karma: 420
Posts: 29/29
Since: 01-17-15
Thanks for your interest! Just to clarify, although ndspy provides some things that can be useful for asm hacking, that's not its primary focus. It's mostly useful for stuff like creating/editing SSEQs and NSBTXs, or for writing applications that can do that.
_________________________
The Newer Team
Posted on 06-19-19, 03:01 pm
Lantern Ghost
Will never finish a hack

Karma: 1771
Posts: 772/773
Since: 03-25-16
I'll be honest, I pretty much skimmed over any line with a music extension, cause I couldn't really care less about music hacking. But the first line "The Magigoomba project management and code building system, which is way more advanced than NSMBe's build system", as well as the IDA plugin, really caught my interest.
_________________________
hey look, I did a thing
Pages: 1