• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Nameless Sprite Editor [Classic]

535
Posts
15
Years
  • Age 28
  • Seen Jan 4, 2011
Yes you can, but before you do anything, DOWNLOAD THE NEWER VERSION.
There are two version of NSE 1.52, there's the old one and the new one I just uploaded, right now. In the other version when saving it will overwrite the first frame of a sprite with the browsed image.
-Also NSE can be used to edit any uncompressed image in the ROM, just as programs, like tilemolster.

Sweet. This is one of the best tools ever.
 

link12552

decade club
205
Posts
16
Years
NSE capabilities

Sweet. This is one of the best tools ever.

I'm glad to hear you, and many others, like it.:)

Not many people, though, seem to realize that NSE can be used the same way as programs like tilemolster.
As long as an image is uncompressed, NSE can view it in offset mode.
Examples: grass, water, flower and door animations, text boxes,and berry trees.. The list goes on and on.

NSE was made to be a multifunctional program.


Edit: 2/23/2010

Update:

- Changed the NSL file type
- The "Unknown 2" pointer is no longer unknown
- Better usage of Palette References ( a.k.a unknown 2) to almost ensure the right palette in game.
- BMP imports and exports while offset browsing.

The NSL file has been updated to increase content, features, and decrease file size by up to half.
The original NSL files are still compatible with NSE, but under the description "Type B"


Pokemon-FireRedGBA.png

That "blue blob" is the character's mom properly using palette 2 -
Text-box design made using NSE.


Version 1.5.5
 
Last edited:

Sierraffinity

Desperately trying to retire from ROM hacking
1,069
Posts
16
Years
Wow, great tool! I was wondering two things, however:
1. Would it be possible to make this compatible with JPAN's hacked engine for Fire Red?
2. When you go offset browsing, how do you select where the palette is loaded from?
 

link12552

decade club
205
Posts
16
Years
NSE info.

Wow, great tool! I was wondering two things, however:
1. Would it be possible to make this compatible with JPAN's hacked engine for Fire Red?
2. When you go offset browsing, how do you select where the palette is loaded from?

1- NSE should be mostly, if not fully compatible, with JPAN's engine.
All that needs to be done is for you to create a settings.ini file to suit your ROM (Instructions in Readme), and possibly switch to sprite table viewing mode.

2- Currently offset browsing, which is one of the most versatile functions in NSE, can do allot of basic and several complex things.
Currently, though, when viewing an offset, NSE uses the last sprite loaded for a palette pointer. ie: the main character's palette
The viewing palette does not affect the in-game palette, but can make viewing and editing much easier.

For now,though somewhat limiting, the only palettes usable in NSE are those defined as "sprite palettes"

-but-
A palette offset function is hopefully coming to NSE soon, but is currently still under development.
^might possibly show up in 1.6
 

link12552

decade club
205
Posts
16
Years
Clarification.

The readme.txt file says how to make a settings.txt for if you changed your rom's header. How to do it if your rom's header is still BPRE?

And, after switching modes, how do you select a different table?

1- You can still make a settings.ini for the header even if it's still BPRE or any of the other defaults. NSE checks the settings.ini file before checking its internal resources for information.

2- If by selecting a different table you mean, the one that points to all the Sprites (aka Overworlds), then just add a property to your settings file with the offset.

Example:
Code:
[BPRE]
//Example using the original header BPRE
Inherits: BPRE
Start palette = &H700000
[B]Sprite table = &H39fdb0[/B]
[/BPRE]
 

Sierraffinity

Desperately trying to retire from ROM hacking
1,069
Posts
16
Years
Thanks a lot! This is really great, especially now that I know how to work it! XD

EDIT: I have a bug to report.
Whenever I, say, edit the palette number of a sprite from the new table I made, or try to import a sprite library, the program says that an unhandled exception has occurred and that the index was outside the bounds of the array. The sprite looks fine, and imports okay up to the pont that I click save...

Come to think of it, it only happens when it tries to write anything to the ROM.
 
Last edited:

Shiny Quagsire

I'm Still Alive, Elsewhere
697
Posts
14
Years
Maybe for the nsl format you could use zip compressing with images in it, then encode it in a certain format to prevent unzipping.

I've made an encoder for files, so I can probobly help with that, except I only program java and C#. :(
 

link12552

decade club
205
Posts
16
Years
Isuue(s)

Thanks a lot! This is really great, especially now that I know how to work it! XD

EDIT: I have a bug to report.
Whenever I, say, edit the palette number of a sprite from the new table I made, or try to import a sprite library, the program says that an unhandled exception has occurred and that the index was outside the bounds of the array. The sprite looks fine, and imports okay up to the pont that I click save...

Come to think of it, it only happens when it tries to write anything to the ROM.

I just noticed this as-well. NSE wants to save information to an index that is calculated incorrectly when in sprite table mode or when indexing past the calculated sprite count. This can be seen even by looking at what NSE thinks the sprite number is. Sometimes it will even show up as a decimal.

Maybe for the nsl format you could use zip compressing with images in it, then encode it in a certain format to prevent unzipping.

I've made an encoder for files, so I can probobly help with that, except I only program java and C#. :(

NSL files are currently formatted as such:

  • Source location or author, followed by a ":" x char(s)
  • Palette in GBA format followed by a "#" 64 + 1 char(s)
  • Image data for each frame in the GBA format but reversed for drawing speed, y char(s)
Final size: x + y + 64 + 1
I guess if file size was an issue, I could store all information in hex, ideally cutting file size in half, but currently a 9kb file doesn't seem like a problem, I'm not worried about people decoding the NSL, obviously seeing how I just explained it, and the NSL is relatively stable
 
Last edited:

I<3Lugia

The Lugia Tamer!
8
Posts
14
Years
  • Age 28
  • Seen Sep 7, 2012
Lovin' it so far. Simple to use yet incredibly easy to tell what you are editing. Just finished making my main character (male) with it.
 

link12552

decade club
205
Posts
16
Years
Update 1.6

Lovin' it so far. Simple to use yet incredibly easy to tell what you are editing. Just finished making my main character (male) with it.

Glad to here people are using NSE

Can I add more frames to a specific OW?

Sadly no, currently NSE is not able to add frames...

UPDATE 1.6


  • NSE now only runs in "Sprite Table" mode at all times.
  • Bugs have been fixed
  • All of NSE's functions have been adjusted to work properly.
  • The "Start Offset" settings.ini pointer is no longer needed.
  • Offset browsing now has a palette offset, an optional gray-scale mode, and different size options.
  • Some smaller less noticed issues have been fixed and some small things have been added.
Offset mode palette example:

offsetbrowsingp.png


Version 1.6
 
Last edited:

link12552

decade club
205
Posts
16
Years
Minor Update/Bug fix

Ooo, very nice, I only have one question, what's the offset for the Aerodactal bones? :P
Aerodactal bones: offset = 3E0780 with size (64,64):knockedou
You might want to re-download NSE ,though, first...
Bug-Fix, minor:

A problem was found in NSE,

- A typo, on my part, rendered saving in offset mode utterly useless.
Just a typo, changing "$" to "&" in the saving function fixed the problem


The bug has been fixed, and the same version 1.6.0 is available for download

 

ZodiacDaGreat

Working on a Mobile System
429
Posts
17
Years
I like this tool, it looks good. Anyway, I suggest you add in support for extra palettes - for people who's got their palette tables repointed and extended like me.
 

Alignment

Revered with the stars
308
Posts
14
Years
  • Seen Dec 25, 2016
I accidently turned my hero sprite into a tall orange box? How do I change it back?

You would have to re-insert your hero sprite, once you've messed it up thats the only way to un-mess it up, that I'm aware of atleast XD
 

Full Metal

C(++) Developer.
810
Posts
16
Years
you gotta find the original sprite offset, and then modify the pointer yourself (i'm not doin much with NSE aotm, so idk if you can do that from within the program or not)
 
Back
Top