Giter VIP home page Giter VIP logo

nitroedit's Introduction

NitroEdit

C++ libraries and various tools for NDS(i) ROM/file editing: PC tools and an editor for the Nintendo DS(i) consoles themselves

drawingdrawingdrawingdrawing

drawingdrawingdrawingdrawing

libnedit (C++ libraries)

The libnedit libraries are the core component of all the tools within this project.

While the libraries are not documented yet, one can check at the tools as examples (better to use the PC tools for reference since they're simpler than NitroEdit).

Note that these code is highly optimized (thus some saving/etc will probably be slow) since it is expected to work properly in a Nintendo DS(i) console.

NitroEdit (NDS(i) ROM editor)

NitroEdit is the shared name for two DS(i) ROM editors, one as a desktop tool (like usual ROM editors) and another one to be used from a DS(i) console itself (in flashcarts, TwilightMenu, etc.)

DS version

The DS version of NitroEdit is the result of bringing the concept of already existing Nintendo DS(i) ROM editors to the DS(i) consoles themselves. Despite obvious limitations, one can make custom edits of ROMs with the simplicity and the portability of this console family.

While it's still a work-in-progress project, it's quite close for an initial release with some basic features.

PC version

The PC version of NitroEdit is another desktop Nintendo DS(i) ROM editor, made from scratch and inspired on already existing ones, aiming to mimic the best of them.

Features:

  • BMG: editing the format, option to export/import from custom XML file (as a way to edit messages manually)

TODO: fill this with more features as I keep adding them prior to the first release of this tool

Supported formats

NDS(i) ROMs

  • View/edit info (game title, game code, maker code)

  • View/edit icon

  • Browse it's NitroFs filesystem

Archives (NARC, CARC, DWC utility files, etc.)

  • Browse it's NitroFs filesystem

NCGR, NCLR, NSCR

  • View/edit the texture formed by NCGR + NCLR

  • View the texture formed by a NCGR + NCLR + NSCR (saving is not supported yet)

SDAT (plus SWAR, SWAV)

  • Explore wave archives (SWAR) and their wave samples

  • Play/edit those wave samples (SWAV), recording with the console's microphone!

BMG

  • View/edit strings

Building

libnedit

These libraries have basically no dependencies and can easily be embedded in any C/C++ project.

NitroEdit (DS)

Like with most DS(i) homebrew projects, this project basically requires devkitARM, libnds and libfat to be installed. Then, executing make will compile the project into an executable NDS file.

NitroEdit (PC)

This project requires CMake and Qt.

TODO: detail build process in Windows/Linux

TODO

libnedit

  • Implement saving texture as NCGR+NCLR+NSCR

  • Implement saving in utility.bin files

  • Support other formats within SDATs (STRM, SSEQ, etc.)

  • Models and model textures (NSBMD, NSBTX)

  • Support for remaining BMG message encodings

  • Proper BMG special character support for messages using it

  • For multiple palette NCGR+NCLR textures, allow choosing the palette to load

  • Support ignored attributes in NSCR data (check the links credited below)

  • Support PMCP section in NCLRs

NitroEdit (DS)

  • Try to improve loading/saving times, but can't do much better due to technical limitations...

  • Consider using direct framebuffer drawing instead of using sprites

  • Consider using specially converted textures instead of loading PNGs

  • Support for exporting files/directories to some output directory (like GodMode9 does)

  • Polish graphics in general

  • Detect file formats with a better system than just checking the extension (checking headers, etc.) (done in libnedit)

  • Support for NSBTX editing

  • Implement zoom for large textures in the graphic editor

  • Allow changing colors in the color palette in the graphic editor

  • Add hex/text editors/viewers?

  • File exporting and importing support from NitroFs filesystems?

  • Support more special characters (é, à, etc.) on the keyboard

  • Use special icon for compressed files

NitroEdit (PC)

TODO: make TODO list after a first version with basic things is released

Support

Any suggestions, ideas and contributions are always welcome ;)

Credits

nitroedit's People

Contributors

konpet avatar spellboundtriangle avatar xortroll avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

nitroedit's Issues

Trouble selecting file (closed, don't try to help)

I'm unsure how to use NitroEdit. I don't know if I'm using it wrong, but where do I but the nds files for editing? I have NitroEdit in a folder on my DSi's SD card. Opening 'Browse filesystem' reveals nothing.

edit: Never mind. I found a solution. Just download the main code from here and NitroEdit.nds should work perfectly. Please close this issue.

Don't quit ROM if B is pressed at ROM name screen

If you press B while giving a file name for an edited ROM, instead of going back to Edit ROM Icon etc, it will send you directly to the filemenu, erasing your progress entirely, while the intention of the user may have been to go back to change the ROM info or something along those lines.

Blank Screen on file select

When I boot up the app on my Ace3DS Flashcart I get a blank screen when I try to navigate the file selection screen.

Edit maker code/Edit game code

I've tried a few games so far and the edit game code just shows "NTRJI" and the Edit maker code just says "01I" this may be because not all file types are readable at the moment but if I cant even see the file then that makes modding through this program pretty difficult. but other than that everything works great

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.