• 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?".
  • 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 2.X

Status
Not open for further replies.
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024
I've gotta say that I really like the Plugin System. When I saw the download for the sample, I started writing a plugin right away! Really powerful stuff here.
 

Meta Paradox

Researching FireRed...
56
Posts
13
Years
  • Seen Jul 18, 2011
While NSE 2.X will be the hottest thing in cool (huh?), I certainly will NOT throw NSE Classic out in the dump (hmm... Recycle Bin. :D). NSE Classic is still a good tool on its own, but still, heads up to Link for making an even better graphics editor! :D
 

link12552

decade club
205
Posts
16
Years
Progress

Implement both.
For ROMS:
load bookmarks from:
standard INI file
specific INI file ( possibly ) found in the ROM's directory.
For projects, just store it in the project file. :)
( Use sqlite for your project files? Just a suggestion. Use the BLOB to store sprites )

Projects would probably just be progromatically reflected xml files (Similar to how visual studio makes a project file)
-but then sprites would be stored outside the project file... I'm actually not familiar with sql, I might have to look into it... or just ask you...

Anywhoo, I've already finnished the new nsl system, now *.nslx, using reflection, and it works quite well.

It looks something like this, in fact this is it:

Spoiler:


It works like this:
You create a new Library simply by providing an origin (NSE reads 18 bytes from 0xA0 and converts it to a string)
Then you create a new spriteset, specifying the name, palette, width and height: and add it to the library.
Next you create a new SpriteData for each "frame" or sprite with the same dimensions and palette, possibly compress them, and add them all to the spriteset.
Repeat as nessesary, you can keep adding new SpiteSets to the Library.
Finnaly export it using the binary serializer.

So: Library>> SpriteSets >> SpriteData(s)


I do not know if that was mentioned, but I would hope that it has an INI file, where you can specify the unknown pointer 1 and 2. Because I am a German hacker and would find it much easier if he would do it. The offset must not look for her, you would need an INI indicating where the stop. That would be a great relief.

And I would be grateful if the new NSE would work with 7-digit offset.
Betsimmt some things you have mentioned.

I apologize for the bad English, I'm not very good at it.

Yours sincerely,
Dragonflye

NSE will support INIs, but I plan on just reading constant pointers from the ROM, thus eliminating the need for you to specify offsets.
(this is assuming, that moved data has been repointed properly, hence the reason for including them anyways)

I'm actually, at the time of posting, am working on more than 7-digit offsets.
When you create a new read object it stores the files size as a long
Or in regular speech: I'm working on it :)

I've gotta say that I really like the Plugin System. When I saw the download for the sample, I started writing a plugin right away! Really powerful stuff here.

Thanks, I'm focusing NSE on plugins.
I'm actually writing NSE with the same frameworks that you'll get to use as a plugin developer.

I've finnished the Editor control and the SelectColor control so you can, as soon as I release the next alpha, make some super powered plugins, NSE accelerated plugins :D

While NSE 2.X will be the hottest thing in cool (huh?), I certainly will NOT throw NSE Classic out in the dump (hmm... Recycle Bin. :D). NSE Classic is still a good tool on its own, but still, heads up to Link for making an even better graphics editor! :D

Thanks, NSE classic is in no means going to completely dissappear, it's still one of the best OW editors. I might actually just port NSE classic as a plugin into the new NSE 2.X (yes I can do that, I think so at least)

But, thanks for the heads up.





Now some news regarding NSE 2.X's progress:
  • Imports are done (bitmaps, png's, nslx)
  • So are exports (bitmap and nslx)
  • I've implemented, as Darthatron mentioned, Ctrl +/- and scrolling zoom
  • I've figured out how to properlly encode and decode bitmaps, thanks to wikipedia.
  • Now you can import AND export 256 color bitmaps (this includes importing unlz's weirdly formated exports it says it's 256 color but ITS' NOT!)
  • As I've mentioned there are some new controls
  • NSLx format is done
  • Fixed LOTS of bugs
  • more... (Just can't think of it)
 

Full Metal

C(++) Developer.
810
Posts
16
Years
Feel free to ask me about SQL any time, by no means am I an expert, but I got my basics covered.
SELECT * FROM TABLE ( WHERE X = Y )
the * can be either a '*' or a comma delimited list of fields
TABLE specifies which table to choose from the database
The ( WHERE X = Y ) is completely optional, and basically is a filter, if field X == value y then go ahead and select the entry being evaluated.
( A database looks a lot like an excel spreadsheet in my world, btw. think of a page as a table, field as in column, and entry as in row )
 

link12552

decade club
205
Posts
16
Years
Update

Woot Woot! Is the updated version ready for download already?

Well, there is an update, but I'm not sure as to how stable it is...
Ahh, what the heck, I'll post it anyways.



Update:
  • Imports and Exports
  • Updated the NSE_Framework.dll and added a new host function to the Plugins class.
  • Fixed many of bugs
  • Aded some new features here and there (mostly shortcuts)
NSE2.X's importer

Import.png

Again not much has changed for the end-user to see, other than the imports/exports/shortcuts, but much work has been done towards future developement.

I'll attach the update to the fist post...

Now for developers, here's what I've got:

You now have acces to the Editor control which can be placed on a form dynamically created, whatever.
Inside of the editor control is a list of sprites, and an integer CurrentIndex.
Changing currentIndex changes what sprite the editor is currently edditing.
The host command:
Code:
void SetEditor(ref NSE_Framework.Controls.Editor Editor);
sets NSE's current editor, which wires the main toolbar, imports and exports to the current editor.

The selectcolor control is wired to the editor control, and does exactly what its name implies,
It sets the selectedcolor property of an editor to what ever color you pick.

Both controls can be resized and have a couple of other designer properties to mess with.

Oh I'm also going to... unlock the NSE 2.0 exe
Feel free to acces it in your plugins. It will give you access to NSE2.program.Mainform wich allows you to do whatever with ANYTHING you see or don't see in NSE.

Please play gentle, have fun :D
and please no stealing source code, I've allready given you the NSE Framework dll to use what more could you need


Oh, I'll also be looking for translators in the future, let me know if your interested.
 

Meta Paradox

Researching FireRed...
56
Posts
13
Years
  • Seen Jul 18, 2011
Thanks, Link. The Import and Export features are pretty necessary. Thanks to Darthatron for reminding. :D
 

link12552

decade club
205
Posts
16
Years
Pokemon Plugin!

Okay so I was a little bored and wasn't really doing anything, when I suddenly realized something...
I' had been pushing NSE's plugin system without actually providing a usefull plugin.
How were people ever going to take NSE 2.X seriously if it doesn't do what I said it could.

So I'm here today to give you NSE's first usefull plugin! OMG :D




It's quite simple realy:
  • It's called the "Pokemon Sprites" plugin
  • It edits the front/back normal/shiny and mini versions of the pokemon sprites.
  • Click the image you wan't to edit.
  • Everything is wired corectly Exports, Imports, the editor...
The Plugin running in the interface:



PokemonPlugin.png

Notes:​

IT ONLY WORKS WITH FIRERED AND LEAFGREEN! (if you want this to change developers please help contribute)
I also fixed a bug in the MainForm's nslx exporter, nothing wrong with the format just some bad code.​

So get the plugin and the fixed NSE on the first post.

Source code for the pokemon plugin atached to this post:

EDIT: Just realized I accidentily left the New Sprite button active... whoops.​

It'll show the dialog for a new sprite, but it won't actually create a new sprite when you click OK.​

Sooo... Just don't mess with it ;)​
 
Last edited:

Shiny Quagsire

I'm Still Alive, Elsewhere
697
Posts
14
Years
That Pokemon plugin is nice. What better to accompany it than a...

Trainer Sprite Editor Plugin v1.0
by Shiny Quagsire

2ch271t.png


Simply extract the files into your NSE 2.X directory, and open NSE.
The plugin should be visible and useable!

This plugin uses an ini to find offsets for different games.
It currently only supports Ruby, Sapphire, Fire Red, Leaf Green,
and Emerald US. You can add support for other versions through
the INI file included.

Soon To Come: Trainer Frame System: Support for multiple framed trainer sprites. To be explained later. ;)

Bug(s): If the plugin crashes due to a bad ROM, other ROMs cannot be opened. Just restart NSE and load another ROM to fix this.
 

TheDarkShark

Metal Headed Hacker
56
Posts
13
Years
I could translate this into German, perhaps (depends on how much text has to be translated, 'cause I'm really, really busy these days. Anyways, I'd like to wait until there's a full version to translate). Will there be a language.ini or language.xml? I don't really care about wether it's an xml or ini file, but I'm sure gonna be to lazy to do this via Visual Studio :P
 

Paupir

Dreamer
22
Posts
12
Years
  • Age 33
  • UK
  • Seen Mar 7, 2015
It would be helpful if the 'Select Color' box (Ie. Palette box) would change automatically upon switching frame or sprite index ^^
The sprite library exporting seems to work beautifully, hehe- I've always liked that about NSE (And NSL).

Quag: Your little table offsets in your plugin are a much welcomed addition- I wish more developers would add this information in their tools more often :P I'm looking forward to what you have planned for the frames ;o

It's looking really promising thus far; looking forward to future developments on the NSE front~
 
Last edited:

Shiny Quagsire

I'm Still Alive, Elsewhere
697
Posts
14
Years
On the topic of searching above... ^^
Will there be a plugin release thread or a browser application for plugins, because all of them being released here could be problemsome to find. Anyhow,

Trainer Sprite Editor Plugin v1.2
by Shiny Quagsire

Version 1.2 finishes the animation feature, but not this plugin not only edit's trainer sprites, but trainer backsprites as well (Fire Red only). Ruby/Sapphire users can use unLZ-GBA, but support will soon be added. You can also preview trainer backsprite animations. To edit backsprites press the button to the right with the >.

To learn more about traine animations, see here

Trainer Editor:
dwe4ip.png


Backsprite Editor:
9rllvl.png


Item Sprite Editor Plugin v1.2
by Shiny Quagsire

Nothing new. Just a simple port of the old Item plugin with support for Fire Red, Leaf Green, and Emerald.
ju7i8k.jpg
 
Last edited:

link12552

decade club
205
Posts
16
Years
I could translate this into German, perhaps (depends on how much text has to be translated, 'cause I'm really, really busy these days. Anyways, I'd like to wait until there's a full version to translate). Will there be a language.ini or language.xml? I don't really care about wether it's an xml or ini file, but I'm sure gonna be to lazy to do this via Visual Studio :P

Yes, when NSE 2.X is done I will definitely be looking for translators.
I'm planning on doing a really simple xml type thing where translations will be stored in multiple files with NSE.

So thanks for the offer to translate, I'll keep you in mind.

It would be helpful if the 'Select Color' box (Ie. Palette box) would change automatically upon switching frame or sprite index ^^
The sprite library exporting seems to work beautifully, hehe- I've always liked that about NSE (And NSL).

Quag: Your little table offsets in your plugin are a much welcomed addition- I wish more developers would add this information in their tools more often :P I'm looking forward to what you have planned for the frames ;o

It's looking really promising thus far; looking forward to future developments on the NSE front~

Select Color box: There was a similar functionality to this in the first release, at least I think there was, but I had to remove it because I hadn't finalized the plug-in system (new controls, commands etc...)
I will try to re-enable it, but for some of the not so simple circumstances, I'll provide a way for plugins to reload the select color box to.

NSL: Thanks, I spent much time ironing out the NSL format and integrating it into NSE. I'm glad to see that after 1 or 2 years of development people are actually using it.

On the topic of searching above... ^^
Will there be a plugin release thread or a browser application for plugins, because all of them being released here could be problemsome to find. Anyhow,

Trainer Sprite Editor Plugin v1.2
by Shiny Quagsire

Version 1.2 finishes the animation feature, but not this plugin not only edit's trainer sprites, but trainer backsprites as well (Fire Red only). Ruby/Sapphire users can use unLZ-GBA, but support will soon be added. You can also preview trainer backsprite animations. To edit backsprites press the button to the right with the >.

To learn more about traine animations, see here

Trainer Editor:


Backsprite Editor:


Item Sprite Editor Plugin v1.2
by Shiny Quagsire

Nothing new. Just a simple port of the old Item plugin with support for Fire Red, Leaf Green, and Emerald.
I removed the images to shrink this post's a little

My, my you've really been busy :laugh:
While I was on vacation backpacking, you've gone on and made some awesome stuff here.
You even ported some of NSE Classic's plugin functionality and certainly improved it quite a bit.
Truly awesome!

The searcher thing...: I'm planning on adding a plugin manager to NSE, so that
plugins won't all have to be piled into your NSE folder and sorted through whenever you want to change them. I might make a plugin folder and each plugin could get its own folder for itself and its resources (much neater). The only thing I'm concerned about, in doing this, is that I'll have to put the NSE framework dll into every directory with a plugin in it... Oh-well I'll figure something out... Advice?

Regarding a proper way to post plugins, I turn to you, the community. How do you want them to be posted? I could:
  • Just let plugin makers put them where-ever and link to them in the first post
  • Post them in this thread and link to them in the first post
  • Make a new thread specifically for plugins
  • Not do anything, and let it work itself out
  • Other?

It's up to you! Post your suggestions.

When I load my Firered rom into it nothing happens!

After loading a ROM, NSE can do all sorts of crazy things... but you have to tell NSE what to do!
Use the navigator, find offsets to sprites or tile-maps (bookmarks soon to come)
or Use a plugin, to make your life a little easier.

Loading the ROM does just that. It loads the ROM for you to edit.
 
Last edited:
41
Posts
13
Years
  • Seen Jul 17, 2012
I got it working, but how do you find a certain image and its pallet. i cant find the right one. i dont know what to put in. I want to edit the main characters back sprite

On the topic of searching above... ^^
Will there be a plugin release thread or a browser application for plugins, because all of them being released here could be problemsome to find. Anyhow,

Trainer Sprite Editor Plugin v1.2
by Shiny Quagsire

Version 1.2 finishes the animation feature, but not this plugin not only edit's trainer sprites, but trainer backsprites as well (Fire Red only). Ruby/Sapphire users can use unLZ-GBA, but support will soon be added. You can also preview trainer backsprite animations. To edit backsprites press the button to the right with the >.

To learn more about traine animations, see here

Trainer Editor:
dwe4ip.png


Backsprite Editor:
9rllvl.png


Item Sprite Editor Plugin v1.2
by Shiny Quagsire

Nothing new. Just a simple port of the old Item plugin with support for Fire Red, Leaf Green, and Emerald.
ju7i8k.jpg


I downloaded the trainer one and theres no program there. just a read me and a bunch of dll files
 
Last edited:

link12552

decade club
205
Posts
16
Years
I got it working, but how do you find a certain image and its pallet. i cant find the right one. i dont know what to put in. I want to edit the main characters back sprite

I downloaded the trainer one and theres no program there. just a read me and a bunch of dll files

Depending on what ROM your editing, you have to insert the offsets into the navigator. You can find these online or in other tools (ex unlz or tilemolster)
The plan is that with plugins and bookmarks you will rarely have to do this in the future.

To use a plugin you have to copy the files from its download into the NSE folder (of course you can leave out the screen shots).
To simply rephrase: Copy the dll's and ini's into the same folder as NSE.
-Then when you load NSE and load a ROM you can use the plugin ( You'll see it in the welcome screen )
 
Status
Not open for further replies.
Back
Top