Git Product home page Git Product logo

nitropaint's People

Contributors

ed-1t avatar garhoogin 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

nitropaint's Issues

Some Files Not Made Openable by Issue #3

The vast majority of the graphics files of the game LEGO Battles are now openable by this program with no issues whatsoever. However, a small subset of them, which all have a file size of 49 KB, will not open. Examples include:

  • UI / Minigame1_BG_Top.NCGR
  • UI / Heroes / A_Defeat.NCBR
  • UI / AllinOne / C_Cutscene_1.NCBR
  • A surprising quantity of NCGR files in AllinOne for which the corresponding NCBR files open fine

It should be noted that I am using the latest Release, and that these files' palettes all open completely fine.

And, as always, thank you for looking into such a niche game.

Broken NSBTX Recompression

Hi,

I just wanted to point out that saving a NSBTX file doesn't seems to work properly.
I've tried several times to replace existing textures from a game (Pokémon Black & White) but it has always resulted with sprites corruption. Even if I don't replace anything in the file (by only loading and saving it in NitroPaint), it does the same.

Here is an overview of the issue:

Pokemon - Version Blanche (France) (NDSi Enhanced)__21137

First Color Always Transparent

As these pictures illustrate, the first color of a palette is always treated as transparent, even when it is clearly being used by the image. In the case of LEGO Battles, this seems to be resolvable by just only making the first color transparent if it is good old 255-0-255, but of course that might not work for every game. Maybe there could be a switch of some sort to let the user decide whether the first color needs to be transparent or not?
Screenshot (454)
Screenshot (455)

More support for NCBR files

Hi! I am writing to request more support for NCBR files. Currently, they import as if they were NCGR files, and when saving they get saved as NCGR files too. However, they differ from NCGR files in that they can have tiles of different sizes, which can cause issues when trying to view them in the editor, though I have noticed most editors struggle with this.

Another issue I have noticed is that you cannot choose between showing the image pattern Lineal or Horizonal, which I have noticed makes some sprites appear garbled, if they are not in the right configuration. If you need a visual demonstration of this, let me know.

Not Really An Issue

So I actually don't know how to get ahold of Garhoogin/you other than making an issue here, so sorry but this is more of a request sort of thing.

So there's a file in LEGO Battles which at least appears to fit the bill for the LZ11 compression like the images, and which makes so little sense in its current state I feel like it has to be compressed (that file is BP / Entities.ebp, if you'd like to check). However, I could not get any lz11 decoders I found on the Internet to decompress it.

So I was wondering if you could somehow, and I mean this in the least demanding, least time-bound way humanly possible, take your decompression code from here and like separate it out. So like it would just spit out a decompressed file instead of passing it along to NitroPaint.

Thank you for reading this, and thank you for continuing to put up with requests regarding a single random game.

Pointers on the NANR are saved wrong

the tool has helped me so much in editing animations 👍
But everytime a NANR file is saved, the pointers on the animation headers dont mach to the numbers of sub-animations,
making necessary to fix it with a hex editor.

Also if isnt too much trouble too ask for an NMCR and NMAR viewer/editor.
Stoping making them from scratch is something I would greatly appreciate

:)

Onion Skin for NCER editor

Hello, if it isn't too much trouble to add, would it be possible to add an Onion skinning option for the NCER editor. It would be very useful for dealing with 2D animations for DS games. Animators use the onion skinning to make sure their animations are placed in the right areas, especially for in-between frames. Can't wait to hear from you and have a good one!

Quarantine NitroPaint.exe

avast

Downloading the nitropaint.exe alerts anti-virus to quarantine file for Win32:MalwareX-gen[Trj]. Please see attached photo and investigate this. Thank you.

Crashes when reading from named pipe

Currently, the program crashes when reading from a named pipe because it determines file size by means of GetFileSize, which does not work on named pipes. This will need to be reworked to accommodate. In this change, I think I might also make the file reading code less everywhere.

Reduce the length of generated animation files

The NANR files generated by NitroPaint are currently unnecessarily big. This has various causes but all related to the animationData.

When a sequence is in Index+T mode, each animation field is followed by 8 byte junk data. This is probably caused by a copy paste error. In the following three lines the last sizeof(ANIM_DATA_SRT) should be changed to sizeof(ANIM_DATA_T).

int sizes[] = { sizeof(ANIM_DATA), sizeof(ANIM_DATA_SRT), sizeof(ANIM_DATA_SRT) };

int sizes[] = { sizeof(ANIM_DATA), sizeof(ANIM_DATA_SRT), sizeof(ANIM_DATA_SRT) };

int sizes[] = { sizeof(ANIM_DATA), sizeof(ANIM_DATA_SRT), sizeof(ANIM_DATA_SRT) };

typedef struct ANIM_DATA_ {
unsigned short index;
unsigned short pad_;
} ANIM_DATA;

I don't see a reason to add a padding field here. The original NANR files I observed don't "BEEF" after every index. My suggestion is to delete everything that depends on ANIM_DATA.pad_ and add something like this behind the ABNK writer:

//padding for DWORD alignment
BYTE pad = 0xFF;
while (stream->size % 4 != 0) {
	bstreamWrite(stream, &pad, 1);
}

With the current structure, everything is saved as it lays in the buffer. This can cause many duplicates in the output stream if different frames do the same thing. It would be nice if multiple frames pointed to the same address, if the target data is identical.


About the animation viewer, I know it's in an early stage of development but I would like to use this issue to ask a few things.

  • Is there a reason you didn't add [-][+] buttons for the Sequence? The sequences could also be named with the LABL data.
  • Why doesn't it appear under Menu -> File/New/?
  • Wouldn't it be really easy to add NMAR support? The data structure is almost identical to NANR. It has an ABNK and a LABL section. Well, it would collide with the names of the source files but apart from that I don't see an obstacle.

Trouble with Files from LEGO Battles

I am attempting to use this wonderful program to look at files from the game "LEGO Battles" (https://en.m.wikipedia.org/wiki/Lego_Battles). NCLR Palette files open perfectly. However, NCGR and NCBR almost universally will not load at all, I double-click on them and then literally nothing happens. If I then try to open the same-named NCER and NANR files (many of them don't have these, but I'm gonna ignore those because from what I've read that is an unusual setup), they open fine, but the windows report that there is nothing--no objects anywhere, and no frames beyond 00 which has no picture, respectively. I do appreciate that this is a niche game, and I would not be surprised if this is the result of me doing something wrong somehow, but I would appreciate any time at all you could expend on this.

PS: This game also has "nsbmd" files, they seem to open perfectly.

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.