PDA

View Full Version : [Tutorial] The Guide To NSE


link12552
July 28th, 2010, 11:21 AM
[css-div="background-color: #131313; display: block; padding: 3px; margin: 10px;"]
[css-div="margin:20px 30px 10px 30px; background-color: #e3e3e3; padding: 10px 20px 10px 20px; display: block; border: 1px solid #c9c9c9;background:url("http://i443.photobucket.com/albums/qq151/link125552/scrollback.png") repeat-x scroll left top #2A2A2A;;color:#FFFFFF;"]The Guide to NSE
by: Link12552
[/css-div]
[css-div="margin:20px 30px 10px 30px; background-color: #e3e3e3; padding: 10px 20px 10px 20px; display: block; border: 1px solid #c9c9c9;background:url("http://i443.photobucket.com/albums/qq151/link125552/scrollback.png") repeat-x scroll left top #2A2A2A;;color:#FFFFFF;"]
[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Overview:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px; background-image:url("http://i443.photobucket.com/albums/qq151/link125552/icon.png");background-position:98% 75%;background-repeat:no-repeat;"]NSE is a powerful tool used to edit practically any image in your Pokemon GBA game.

Latest version: 1.7.2.1
Download in the NSE Thread (http://www.pokecommunity.com/showthread.php?t=205687) attachments
[/css-div]
[css-div="margin: 10px 15px 0px 25px; display: block; border: 1px solid #c9c9c9; background-color: #434343; width: 220px; padding: 5px 5px 5px 5px;;color:#ffffff; "]

Basic understanding
Drawing
Imports and Exports
Palette Editing
Resizing a sprite
Adding / Removing frames
Re-pointing
Advanced Mode
Offset browsing
Lz compressed images
The Hex Editor
Bookmarks pt1
Bookmarks pt2
Settings.ini
Writing your first plug-in, commands (http://www.pokecommunity.com/showpost.php?p=6077383&postcount=194)

[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Basic Understanding:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]Interface:
NSE consists of many components used to make editing your sprites easier and more intuitive. These components are laid out in groups (Game information, sprite navigator, info...)

Loading a sprite:
NSE has a few different ways to load a sprite depending on the information you provide information. The basic way to navigate through sprites is by using the sprite navigator. Toggle back and forth on both palette and frame or enter numbers and simply press the go button.[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 70px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Drawing:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]After you've loaded a sprite, a red square will show up in the top left hand corner of the image, this square reflects the area you are currently editing in the Canvas and can be moved simply by clicking the area of the image where you want to draw. The canvas is where the drawing is done. Clicking on the canvas will draw the color you currently have selected. Colors can be selected by selecting the from the palette or by Right-Clicking on any color in the canvas.[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 160px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Imports and Exports:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]After you loaded an image in NSE, you may decide that you want to edit it in one of your favorite drawing programs like MS paint or Photoshop. This can be done by selecting Export & Export Bitmap in the File menu.
After you've drawn your sprite your going to want to get it back in the game. To import an image go to the File menu and select Import & Import bitmap. You may the n chose to import only the image, the palette, or both.


Notice: Some versions of MS paint have been shown to corrupt 16 color bitmap palettes.

Another method of importing and exporting sprites is to use a NSL File (Nameless Sprite Library). An NSL file stores all the same information as multiple bitmaps plus more, and can easily be edited in the NSL editor (Included with the NSE download).
Exporting an NSL version of your sprite can be done by going to the File menu and selecting Export & Export Sprite Library.
Importing an NSL is done by going to the File menu and selecting Import & Import Sprite Library.[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Palette Editing:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]Palettes are the colors that a sprite uses. When in regular OW sprite editing the palette can be changed to any available in your game by changing the number labeled "Palette:" in the "Info: Header" group and pressing the change button. To see what palettes are available in your game's palette table type "FF" in the Palette box and press the change button (Unless your game uses palette FF).

While changing palettes is good, you may want to completely change the colors that a sprite uses. This can be done by selecting the Edit menu and selecting Palette. Unless the sprite you're viewing is being displayed in Gray-Scale or it's palette protected, the Palette Editing dialog will appear.
Using the dialog consists of entering the color code manually, clicking on the color you want to change and picking it from the color selection dialog, or clicking the eye dropper, holding the left mouse button down, and picking the color from any where on the screen. To use a selected color, click the textbox above the color you want to change, then click the color next to the eyedropper.
Palettes may also be imported, as part of a 16-color bitmap or a NSL file.
http://i443.photobucket.com/albums/qq151/link125552/t_palette.png
[/css-div]


[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Resizing a Sprite:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]One of the features in NSE is the ability to resize sprite OW's. This is done in the Preferences dialog that is accessed in the Edit menu. When editing the size of a sprite it is important that you switch from "Index" to "All" mode; this way you're editing all the frames of a sprite. Next enter the height and width you wish to change to (Have to be multiples of 8 <= 248) and click save. NSE will then change all of the variables required to change size, and re-point all of the frames to consecutive free space.


Note: If the Preferences button is "grayed out" it means that the sprite you're viewing doesn't have any preferences or editing their preferences could possibly wreck the sprite.
http://i443.photobucket.com/albums/qq151/link125552/t_resize.png
[/css-div]


[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 180px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Adding / Removing Frames:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]Another feature in NSE is the ability to change the amount of frames a sprite uses. Open up the preferences window and switch the top tab from primary to secondary mode. At the bottom you will see the Change Frames group. The amount of frames presented here is +1 the amount you will see when navigating because we count frame zero. If you don't want to copy the old frames over to the new ones (a.k.a you want a fresh sprite) uncheck "Copy Frames." When your done, click change and NSE will re-point the sprite's Frame Table to free space.

Note: to keep track of how many frames a sprite uses after you've changed the amount, NSE inserts a byte at the end of the Palette Registers data in the sprite index.
http://i443.photobucket.com/albums/qq151/link125552/t_frames.png
[/css-div]


[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 100px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Re-pointing:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]When an image, data table, or really anything gets to big for it's spot in the game, it has to be moved to a new location. This is common ground in NSE, things are going to be re-pointed, although NSE does its best to avoid having to re-point unless necessary. Any place where you see a textbox with a magnifying glass next to it, typically means that something is going to be re-pointed. In most cases, unless a pointer needs to fulfill a certain requirement or you chose to custom re-point, you aren't going to have to do anything because NSE will re-point for you and in most cases, tell you what it's re-pointing and to where. In other cases you will have to provide the pointer. Either find it yourself in a hex editor or a program like FSF, or just click the magnifying glass.[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Advanced Mode:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]NSE has two ways it will display itself and function. There's basic mode which is good for standard editing and then there's advanced mode. Advanced mode can be accessed from the Options menu or by pressing Ctrl- M. Advanced mode adds a number of functions to NSE.

Boundaries: Boundaries are the things that say "there are only 151 sprites in this game", "this sprite has only 8 frames", or "The palettes that exist in this table are..." In advanced mode, you can turn these off.

Input: When doing things like re-pointing certain images and palettes, instead of NSE finding a free space, you can input your own you can also tell NSE not to re-point all references to the image your saving

Display: While in Advanced mode, much more information about the sprite you're viewing is displayed. Information regarding how the sprite is formatted, animated, located in the game, ect. [/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Offset Browsing:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]A defining feature of NSE is its offset browsing capabilities. If you know an images offsets you can display and edit it. Offset browsing is pretty straight forward. Open the offset browsing dialog by going to the View menu and selecting Offset. The image and palette offsets are typed in the designated boxes and then the size is provided. NSE can display an image in grayscale mode if you don't know the palette offset. Sizes must be multiples of eight and width * height <= 16384[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 170px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]LZ Compressed Images:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"] An average game will contain thousands of images, so in order to keep file size down, a great potion of images are compressed. If an image is compressed it can be gotten to the same way as an uncompressed image (from the offset browser). NSE knows if something is compressed and will adjust as needed. LZ compressed data is size dependent, so if a saved image is too big for it's old location, it has to re-pointed. This can be done manually in Advanced mode or NSE can handle it.

Note: NSE also supports compressed palette editing and re-pointing.[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 140px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]The HEX Editor:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]NSE features its own built in Hex editor. Although very simple, it can easily get most small jobs done. The hex editor has a few predefined offsets that change to the current sprite and a small note area. The built in hex editor is best for small adjustments and, because of its basic nature, is incredibly fast.
http://i443.photobucket.com/albums/qq151/link125552/t_hex.png
[/css-div]


[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Bookmarks pt1:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]Because it's nearly impossible to remember every offset for every interesting image you ever encounter, NSE has its own book-marking system built in, accessed by going to the Options menu selecting Bookmarks & View Bookmarks. If you come across an image you think is interesting, book-marking it, is as simple as selecting Bookmark this offset. Bookmarks can store compressed images as well as uncompressed images and store all the necessary information for viewing an image in a desired way. Even a basic grouping system is implemented within the book-marking system. Editing your bookmarks can be done by switching to the Edit tab in the bookmark window. Bookmarks are all stored in a single file located in the same folder as NSE. To open a bookmarked image simply select it and click the open button, simple.

Notice: Bookmarks that have palette editing disabled, quite simply put, may not have their palettes edited.

http://i443.photobucket.com/albums/qq151/link125552/t_bookmarks.pnghttp://i443.photobucket.com/albums/qq151/link125552/t_bookmarks2.png
[/css-div]


[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 150px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Bookmarks pt2:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]The book-marking engine is very powerful, but because of its potential all of the options are not fully accessible through the Edit tab. The bookmark file "bookmarks.nbm" can be edited in programs like notepad. A basic file may look like this:


'Comment about boats
<Boat>
Boat: &H469FD8,&H46A6d8,040038,Image,Palette
Waves: &H46A6F8,&H46A6D8,020080,Image,Palette
</Boat>
Egg Hatch: &H25F862,&H25F842,020088,Image,Palette
Header: enclosed in [xxxx], this defines what game (XXXX) the bookmarks are for.
Folder: defined by <y>, this defines a folder named (Y)
-both the header and folders are closed by a slashed version

Bookmark composed as:
Name : Image offset , Palette Offset or grayscale, Size Hex (wwwhhh) , Editing mode
ex. Flowers: &H376D84,&HE94350,010030,Image,Palette
-or-
In certain cases, !x may be used to define the length of bytes to read (X)
ex. Textbox 1: &H41F1C8,&H471DEC,028020,!240,Image,PaletteDynamic pointers: you can use a X+ y operator to tell NSE to get a pointer from the game.
P+ tells NSE to get the palette tables offset + y
S+ tells NSE to get the original sprite tables offset + y
+ By itself tells NSE to use an OW palette. (There is no y in this case)

ex. Hero 0: &HE69EBC,+0,040040,Image
^ Tells NSE to use the Hero OW palette "0" to draw the image, but the edit mode is set to image so you can't mess up the Hero OW palette.[/css-div]
[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 80px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Settings.ini[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]If you've re-pointed your palette or sprite table you need a way to tell NSE that you've done so. Even when you've changed the game header you need to create a settings.ini file
This is done in a program like notepad and saved as settings.ini in the same directory as NSE.

Format:
Inherits: "Original Game header, without quotes"
Palette table = "The start of the sprite palette table, without quotes"
Sprite table = "The stored sprite table pointing to all of the index offsets, without quotes"

Inherits HAS to be included so NSE knows what game it is you're using
Example(s):

' If you've just changed the header you can do something like this
' Here I've changed my Fire red header to "LINK"

Inherits: BPRE

' Here both the Sprite and Palette table have been moved.
' So to tell this to NSE we use "Sprite table =" and "Palette table ="

Inherits: BPRE
Sprite table = &H39fdb0
Palette table = &H1a2400
[/css-div]

[css-div="margin: 10px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; width: 180px; padding: 5px 5px 5px 5px; height: 13px;color:#ffffff; "]Writing your first plug-in:[/css-div][css-div="margin: 0px 15px 0px 15px; display: block; border: 1px solid #c9c9c9; background-color: #535353; color:#ffffff;margin:0 15px;padding:5px 5px 5px 10px;"]Writing your first (basic) plug-in!
For this you will need an English Pokemon Firered ROM and the latest version of NSE

Before we start I'd just like to tell you what we'll be making,
-It will be a plug-in to display and edit all of the Items in your Firered Rom

And to give you some background,
-all of the item image locations in Firered (English) are stored in a table at &h3D4294
-and their palette locations are stored in a table at &h3D4298
-these tables contain the pointers in consecutive order with a space of 8 bytes in between each pointer
-the pointers are 3 bytes long, but are flipped.


Okay, so fire up notepad, or whatever it is your using,
and type this:



This tells NSE that the plug-in is compatible with a game that has the header BPRE (fire red English)
Everything for Firered has to be included in-between these two blocks...

Now were going to add this

Append(8)We're telling NSE to load the number "8" onto the top of the memory stack

And then this:

Multiply(I#)Now were telling NSE to multiply whatever is at the top of it's memory (which we assigned the value 8), by I#
-but wait, whats I#...
At the moment NSE begins running our plug-in, it replaces any instance of I# with the current index number in NSE's browser

So currently we have loaded the number 8 into memory, and the multiplied it by the current Index

Next we are going to type this:

Add(&h3D4294)This is another math function, but this time it's working with a number in HEX format (hence the number beginning with &h.

Remember (All of the image pointers are stored in a table at &h3D4294 with intervals of 8 bytes in-between them)
Now do you see what were doing, we're adding intervals of 8 bytes based on our Index number.

Now to use what we've accomplished through all that math, type:

Read(mem(0), 3)
Flip(3)Okay a little scary at first, right?
So I'll break it down

Read is a command that tells NSE to read a certain number of bytes from a given location, into its memory
Read is formatted as...read( the data offset, how many bytes to read)
Here we are telling NSE to read 3 bytes starting at location mem(0)
-but wait another minute, what's mem(0)?
Remember we did all of that math a few moments ago, well all that math was being applied to the top of the memory stack.

So to access the top of the memory stack we use mem(0) .
This tells NSE to use whatever is at depth X (0 in this case) from the memory

So again, we're reading 3 bytes from the location, that is the value, stored at mem(0)
- and we're reading this information on to the top of the memory stack.

Now for an explanation of Flip(3)
Flip, as it's name implies, flips the information stored at the top of memory.
It flips this information in sections of X bytes (3 in this case)

So here should be our code so far:


Append(8)
Multiply(I#)
Add(&h3D4294)
Read(mem(0), 3)
Flip(3)

So far our code is loading a pointer from the item image table into memory, and then flipping it, so that it's usable.

Now to start working on the palette part (the colors)

We are going to again type:

Append(8)
Multiply(I#)Then we're going to add this

Add(&H3D4298)Last time we added the start of the image table, this time we are adding the start of the palette table

And again we will type:

Read(mem(0), 3)
Flip(3)If we ran our plug-in now, it wouldn't appear to do anything...
This is because we've calculated the pointers, but we haven't done anything with them...

This is where the next function comes in,
Type this:

Image(mem(2), mem(0), 00180018) This command tells NSE to load an image.
the command image is formatted as such:image( image start-offset, palette start-offset, size)
-but hey what's mem(2) ?
mem(2) refers to a value in memory that has a depth of 2
- but again whats at memory depth 2?

As you add things to the top of the memory stack, things that were once on the top, are now below something...
It's very similar to a stack based memory system (http://en.wikipedia.org/wiki/Stack-based_memory_allocation)

So here is the current memory stack:

mem(3) Append (8), Multiply(I#), Add(&h3D4294)
mem(2) Read(mem(0), 3), Flip(3)
mem(1) Append (8), Multiply(I#), Add(&h3D4298)
mem(0) Read(mem(0), 3), Flip(3)

We want the image offset to equal the pointer we read and flipped from the image table, mem(2)
- and we want the palette offset to be the pointer we read then flipped from the palette table, mem(0)

Now for an explanation of the size, the size format of NSE's plug-in system is an imaginary 4 HEX bytes in length.- formatted as WWwwHHhh where W is width and H is height
- All the item images are 24 by 24 in size, and the hex version of 24 is 18!
Now were almost done, if you ran the program now it would work, but only untill a certain point...

We need to add this to the very top of our code( so below the ) :

imax(376)
fmax(0)This is telling NSE, that while running our plugin, there are 376 images, and each image has 0 ( so technically 1) frames.
This is done with the imax() and fmax() commands

Your final code should look something like this:

[BPRE]
imax(376)
fmax(0)
Append(8)
Multiply(I#)
Add(&h3D4294)
Read(mem(0), 3)
Flip(3)

Append(8)
Multiply(I#)
Add(&H3D4298)
Read(mem(0), 3)
Flip(3)

Image(mem(2), mem(0), 00180018)
Now our plug-in is done!
Save the file as "Items.npi" in the "plugins" folder in the root directory of NSE. (Make sure you're saving in the all files mode/type)

Go ahead, try running it, you should be able to toggle through and edit every item!
Congratulations, now you can begin to harness the full power of NSE!

http://i443.photobucket.com/albums/qq151/link125552/Plugin.png
[/css-div]


[/css-div][css-div="margin:20px 30px 10px 30px; background-color: #e3e3e3; padding: 10px 20px 10px 20px; display: block; border: 1px solid #c9c9c9;background:url("http://i443.photobucket.com/albums/qq151/link125552/scrollback.png") repeat-x scroll left top #2A2A2A;;color:#FFFFFF;"]Questions? Contributions?
Post here.
[/css-div]
[/css-div]

Tower Tycoon Palmer
July 29th, 2010, 12:49 AM
Great tutorial for a great program, Link!
This is just what I need and I will be using NSE from now on!
Great work! :D

Full Metal
July 29th, 2010, 07:19 AM
Hah, I don't believe you actually made it XD
Very nice, and well-written.
one error though (idk if it's just my screen/opera) BUT the 're-pointing' sub-header is kinda split onto two lines for me.

King Koopa
July 29th, 2010, 12:20 PM
this is officially the best sprite editor very self explainable i use unlz to find the offset and insert the sprite in this NSE is awesome!

professional
July 30th, 2010, 12:30 AM
this is the best
it really make the job alot easier

link12552
August 19th, 2010, 07:18 AM
Seeing how I've just released plug-in support for NSE, I've written a new section:
"Writing your first plugin" that goes through how to make an actually useful plug-in, step by step.
Hope it helps give people a better understanding of the plug-in system, and get's some creativity flowing :P

Make sure you have the latest version of NSE (http://www.pokecommunity.com/showthread.php?t=205687)

Super Hacker
October 13th, 2010, 07:25 AM
I like the idea of plugin, this tool is really useful. 'Cause the UnLz.GBA is terrific when I told about palletes, and this program will be the greatest program one day...
thank you for your help

ultimadragon88
April 20th, 2011, 02:08 PM
the site I went to to get this said that it would be possible to edit trainer sprites. I can't get it to work, what am I doing wrong?

link12552
April 22nd, 2011, 12:54 PM
the site I went to to get this said that it would be possible to edit trainer sprites. I can't get it to work, what am I doing wrong?

You have to use the trainer plug-in...
To get the latest version check this page: http://lastlink.tk/Projects/?p=NSE%20Plugins
Download the trainers plug-in.

Installation instructions are at the top of the page.

dodgey geezur
June 14th, 2011, 11:38 PM
how the **** do you download this

Full Metal
June 15th, 2011, 07:17 AM
^ Hey guy.
Did you look in the toolbox?
That's a good place to look for tools.
(:

EdensElite
June 24th, 2011, 07:07 AM
This clears a lot of stuff up, thanks :)

ShinyDragonHunter
July 29th, 2011, 06:22 AM
I'm struggling with finding some offsets from Pokemon Emerald, does anyone know the offsets for ALL of the backsprites in Pokémon Emerald?

bsubroncoes1
August 8th, 2011, 03:20 PM
How do you edit the tree or building tiles is this the plug in? I can't figure it out myself bcause my laptop w nse on it is out of battery. helpz

rapid dave
August 16th, 2011, 03:31 PM
Okay, I have what is probably a very newbie-ish problem, but basically this is the drill. I'm making a hack using a bunch of fakemon me and my girlfriend have been drawing while bored, but when I load the sprite into the game, it comes out as a load of garbled glitchiness. Like Missingno, I guess. What could be causing this?

I have changed the pallette, but I think the drawing is the same dimensions as the original 'mon (Bulbasaur.)

For the record, the backsprite works fine, and I have no idea if the Shiny sprite displays correctly.

Here's the offending sprite.

http://i56.tinypic.com/9rjfja.jpg

And this is what it SHOULD look like.

http://i52.tinypic.com/711fye.png

Yes, im aware my sprite is rubbish, but i'd like some help with my problem before drawing critique please? :)

(NOTE - the 15 post minimum for off site images is kind of annoying. I was intending to post regularly here anyway, but that just made the first ones seem like a chore before I could post what i wanted to. Way to put off new members, pokecommunity!)

Banjora Marxvile
August 17th, 2011, 01:13 AM
Okay, I have what is probably a very newbie-ish problem, but basically this is the drill. I'm making a hack using a bunch of fakemon me and my girlfriend have been drawing while bored, but when I load the sprite into the game, it comes out as a load of garbled glitchiness. Like Missingno, I guess. What could be causing this?

I have changed the pallette, but I think the drawing is the same dimensions as the original 'mon (Bulbasaur.)

For the record, the backsprite works fine, and I have no idea if the Shiny sprite displays correctly.

Here's the offending sprite.

http://i56.tinypic.com/9rjfja.jpg

And this is what it SHOULD look like.

http://i52.tinypic.com/711fye.png

Yes, im aware my sprite is rubbish, but i'd like some help with my problem before drawing critique please? :)

(NOTE - the 15 post minimum for off site images is kind of annoying. I was intending to post regularly here anyway, but that just made the first ones seem like a chore before I could post what i wanted to. Way to put off new members, pokecommunity!)

You can only insert sprites successfully if their dimensions are 64x64. Use Irfanview to resize the pic to be 64x64, and index and insert, it should work, but you need to use a clean ROM now.

rapid dave
August 17th, 2011, 03:01 AM
You can only insert sprites successfully if their dimensions are 64x64. Use Irfanview to resize the pic to be 64x64, and index and insert, it should work, but you need to use a clean ROM now.
Thanks, I'll give it a go. I suppose I narrowly overstepped the dimensions (i drew it in NSE, rather than imported it.)

M.L
August 17th, 2011, 07:04 AM
i have a question are you ganna make it so that you can resize the sprite frames using this program as this would be a really cool feature to have ;)

rapid dave
August 18th, 2011, 06:54 AM
Okay, I found the root of the problem - it garbled my sprite when I chose to accept the programs suggestion to repoint the image

Basically, the message was "XX bytes (usually 210+ in hex) is too big. Repoint image to offset $HEB0B20?"

What I'm wondering is firstly how big a sprite can be in bytesbefore this message shows up, and secondly how I can draw a sprite with smaller dimensions and with a simpler colour scheme than the original and manage to trigger this message?

It's really getting on my nerves, because while I can work around it with small pokemon, once I get into evolutions there's no way in hell i'll be able to draw the sprite big enough to make it look anything other than uninspiring, for fear of killing my ROM. :(

PS: M.L, i agree. :)

MithosYggdrassil
October 14th, 2011, 01:46 PM
i have a qustion for you dave, how in hell do you even draw that in NSE? i'm new to it and it's rather confusing, i've only managed to edit the sprite of my character, and even thats **** :/

TrixAn
November 4th, 2011, 05:20 PM
Would you say that this is a replacement for unlz? (I really don't like that glitchy and outdated program :P)

draco-alka
November 18th, 2011, 10:42 PM
How do i access battle sprites and back sprites all i find are overworld sprites? I have a Sprite of mewtwo i want to replace with a custom sprite and idk how. same with the back spriites. also i would like to know what pixel count do the back sprites have to be ex 64x64

ShadowGrey
November 26th, 2011, 11:40 AM
How do i access battle sprites and back sprites all i find are overworld sprites? I have a Sprite of mewtwo i want to replace with a custom sprite and idk how. same with the back spriites. also i would like to know what pixel count do the back sprites have to be ex 64x64

Similar problem, I'm not really able to edit anything other than overworlds because although the plug-ins are in the plug-ins folder, when i go to the option menu and select plug-ins there doesnt appear to be anything there.. any help?

vongerbys10
August 31st, 2013, 05:07 PM
Nice Work Sir! But next time make the PLUGINS support AXVE {XD}

Chrisario
October 4th, 2013, 07:04 AM
How do I resize the sprites I did used the HxD editor but nothing happend like where should I change it at the header or in NSE hex editor I'm like new to this and I'm planning on making it on my own.

vizor
February 8th, 2014, 03:30 AM
Hi there,

i repointed my SpriteTable to another offset in order to get more OWs.
Im using a german Fire Red Rom, inherits are BPRD.

I made a file called settings.ini wich includes following code:


Inherits: BPRD
Sprite table = &H135CCF8


But every time i want to open the ROM, NSE just says "The Sprites for ROM Header" cannot be found in the ini and i cant edit anything.

Can anybody help please?

PS: Excuse my english, i'm a german hacker.

Absolumont
March 5th, 2014, 06:41 PM
super noob sprite editer here: how do you edit back sprites and trainer sprites with this? You show editing fossils, but I can only find how to edit overworld sprites (which is default).