Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

Closed Thread
 
Thread Tools
  #1    
Old June 2nd, 2011 (4:49 PM). Edited July 31st, 2012 by link12552.
link12552's Avatar
link12552 link12552 is offline
to measure how far we wonder
     
    Join Date: Dec 2007
    Location: The blue one
    Age: 21
    Gender: Male
    Nature: Calm
    Posts: 203


    Download Nameless Sprite Editor Here
    Overview:

    Nameless Sprite Editor 2.X is a tool used to thoroughly edit the graphics in ALL GBA ROM's.
    With a combination of unparalleled features, a comfortable interface and limitless expandability, NSE provides unprecedented power.
    Still being actively developed NSE 2.X is what you need
    - and best of all... It's Free!

    Region Support: Universal (Can edit any GBA game)

    This tool is currently written in C# and will require the latest .net framework to function properly.

    -Link12552


    Version: Beta 2.0.1 pt1


    Features:
    • Edit the graphics stored in the ROM
    • Super Fast load AND draw times vs NSE Classic
    • A navigator with dynamic preview
    • Grayscale
    • Full support for 16 and 256 color graphics
    • Full support for standard and Lz77 compressed data
    • Real time turbo decompression
    • Perfect, Nintendo-Quality, Compression (NSE 2.X will shrink data to as small a size as possible)
    • Re-pointing functions
    • ADVANCED Re-pointing with select-able offsets
    • SAFETY Re-pointing (offsets will end in multiples of 4)
    • Full Expanded ROM support (up to 32MB)
    • A BookMarking engine (unlimited bookmarks and folders)
    • Support for multiple BookMark files (*.nbmx)
    • Full NSL (Nameless Sprite Library *.nslx) support
    • Export sprites as indexed Bitmaps or store entire collections in a NSL
    • Import data from BMP's, PNG's, NSL's, ACT's (all with support for 16 an 256 color support)
    • Import ACT's from VBA to make editing 256 color images practical
    • Saving with free-space, auto-abort, SAFETY Re-pointing, and automagic BookMark correction!
    • Edit multiple sprites at once
    • Pencil, Re sizable Brush, Fill-Bucket, and Eyedropper
    • Real-time Palette Editing
    • X and Y Rulers
    • 10x Zoom Ctrl +Scroll or Ctrl+/-
    • Undo and Redo incorporation (Ctrl+z and Ctrl+shift+z)
    • Color swapping(ctrl) and alternating(alt) (click in palette editor)
    • Insert/Inject Image and palette data (normal or compressed)
    • PLUGINS!!! Make NSE do anything! Plug-ins are written in any .net language (C#, C++, J#, VB.net) and have full access to all NSE libraries
    • Random acts of kindness, you'll see
    • A ton more and more on the way!



    Action Shots:

    The New Interface:

    The Navigate Window:

    Importing a Nameless Sprite Library:

    The Palette Tool:



    Other:

    Banner:
    HTML Code:
    [URL="www.pokecommunity.com/showthread.php?t=253701"][IMG]http://i443.photobucket.com/albums/qq151/link125552/Ribbon.png[/IMG][/URL]


    Download Nameless Sprite Editor Here



    .net 4.0 framework Microsoft Download: http://www.microsoft.com/download/en/details.aspx?id=17851
    __________________

    Relevant Advertising!

      #2    
    Old June 3rd, 2011 (11:16 AM).
    Hackun Hackun is offline
       
      Join Date: Dec 2009
      Gender: Male
      Posts: 5
      Woah! I have been great
      honestly, you're a crack =D
      thank you very much!
      Greetings!
        #3    
      Old June 3rd, 2011 (11:26 AM).
      Richard Nixon Richard Nixon is offline
      Banned
         
        Join Date: Jun 2011
        Location: America
        Age: 26
        Gender: Male
        Posts: 95
        Nice hacking link12552!
          #4    
        Old June 3rd, 2011 (11:31 AM). Edited June 3rd, 2011 by colcolstyles.
        war rock exe's Avatar
        war rock exe war rock exe is offline
        Pokemon Colosseum Remaker!!
           
          Join Date: Dec 2009
          Location: wouldn't you like to know?
          Age: 20
          Gender: Male
          Nature: Hardy
          Posts: 817
          This is BEAST!!!!! You should make it so we can edit title screens and tiles... or is that too much..?
          __________________
          POKÈMON COLOSSEUM TRILOGY FOR RMXP!! COMING THIS SUMMER!
          STATUS; BETA 1 70%
            #5    
          Old June 3rd, 2011 (11:41 AM).
          Kroso's Avatar
          Kroso Kroso is offline
          Sleeping soundly
          • Crystal Tier
           
          Join Date: May 2011
          Age: 19
          Gender: Male
          Nature: Gentle
          Posts: 189
          This sorta look like gimp,or paint.net,due to the look,but either way this looks pretty good,at least we now have a transparent layer,so we know what colors need to be transparent.
            #6    
          Old June 3rd, 2011 (12:56 PM).
          Full Metal's Avatar
          Full Metal Full Metal is offline
          C(++) Developer.
          • Silver Tier
           
          Join Date: Jan 2008
          Location: In my mind.
          Age: 21
          Gender: Male
          Nature: Timid
          Posts: 806
          Well, while you're doing things with plugins...
          How's a tilemap editor sound?
          ( I would write one, but I haven't a slightest clue where to start as far as making a plugin goes. { Feel free to point me in the right direction? }
          __________________

          ★ full metal.

          I like to push it,
          and push it,
          until my luck is over.
            #7    
          Old June 3rd, 2011 (1:55 PM).
          Shiny Quagsire's Avatar
          Shiny Quagsire Shiny Quagsire is offline
          I'm Still Alive, Elsewhere
             
            Join Date: May 2009
            Location: Hoenn Safari Zone
            Age: 19
            Gender: Male
            Nature: Jolly
            Posts: 700
            The plugin system will be interesting.

            I might look into developing a few plugins.
            __________________



              #8    
            Old June 4th, 2011 (6:42 AM).
            link12552's Avatar
            link12552 link12552 is offline
            to measure how far we wonder
               
              Join Date: Dec 2007
              Location: The blue one
              Age: 21
              Gender: Male
              Nature: Calm
              Posts: 203
              Quote:
              Originally Posted by war rock exe View Post
              This is BEAST!!!!! You should make it so we can edit title screens and tiles... or is that too much..?
              Anything really is possible now.

              Quote:
              Originally Posted by Full Metal View Post
              Well, while you're doing things with plugins...
              How's a tilemap editor sound?
              ( I would write one, but I haven't a slightest clue where to start as far as making a plugin goes. { Feel free to point me in the right direction? }
              This is actually easily possible in the new NSE.
              The drawing and Lz compression functions could make this really simple.

              Although I should add access to creating new editor forms from within a plugin... I'll add that sometime really soon

              Quote:
              Originally Posted by shiny quagsire View Post
              The plugin system will be interesting.

              I might look into developing a few plugins.
              Both of you, that's awesome.

              -and for all developers

              I'll attach the source code to an exmaple plugin for you to look through.
              Most of it is pretty straight forward, I even commented the steps.
              When making a plugin, you get access to ALL of NSE's core functions by referencing the NSE Framework.dll.

              Best of luck, and please ask or PM for help and suggestions
              (Even things you would like to see added to plugin support, I allready metioned how I have to add access to the editor form, the one that shows up after you navigate)

              -Again best of luck

              p.s. today's my b-day (I'm 15 now ), so it might take a couple of days fo the next update, especially with finals.
              Attached Files
              File Type: zip DEV Plugin Example.zip‎ (200.8 KB, 106 views) (Save to Dropbox)
              __________________
                #9    
              Old June 4th, 2011 (7:00 AM).
              Incineroar's Avatar
              Incineroar Incineroar is offline
              the spirit of the fighter
              • Moderator
              • Platinum Tier
              • Developer
               
              Join Date: May 2009
              Location: Iki Town
              Age: 22
              Gender: Male
              Nature: Brave
              Posts: 13,438
              Well, happy birthday!

              I saw NSE a while back, but this like, NSE 1 on steroids! Great job, I'll be sure to try this. And it gives me an idea...
              __________________
                #10    
              Old June 4th, 2011 (5:56 PM).
              tlah's Avatar
              tlah tlah is offline
                 
                Join Date: Oct 2009
                Gender: Male
                Nature: Quirky
                Posts: 2
                Whoa: I'm switching from Overworld Editor RE immediately! Nice job!
                  #11    
                Old June 4th, 2011 (7:54 PM). Edited June 5th, 2011 by Weavile05.
                Weavile05's Avatar
                Weavile05 Weavile05 is offline
                Currently Hacking BW
                   
                  Join Date: Jun 2010
                  Location: North Carolina
                  Gender: Male
                  Nature: Lax
                  Posts: 1,431
                  Awesome man, Awesome. I'll be sure to use it once I officially start hacking again...
                  EDIT: Ok how do I find the sprites to edit them? I used to be able to do this in unLzGBA when I first tried it but I must've forgotten... I'm using a FR ROM btw.
                  EDIT2: Nevermind, figured it out. Are you gonna make it so that we don't have to know the offset and we can look up the image number like in unLz?
                  __________________
                  In progress

                  Hoenn, 1 Badge
                  My Youtube Channel: Check out my Pokemon Red Walkthrough
                  Pokemon White FC: 2322 5491 2643
                    #12    
                  Old June 5th, 2011 (12:26 PM).
                  Lord Varion's Avatar
                  Lord Varion Lord Varion is offline
                  Guess who's back?
                     
                    Join Date: Feb 2009
                    Age: 22
                    Gender: Other
                    Nature: Naughty
                    Posts: 2,644
                    Wow!
                    This looks good! I always used you NSE1X for my overworld editing now it can do so much more! <3
                    Good work Link (trying out now) xD
                    __________________
                    gone.
                      #13    
                    Old June 5th, 2011 (12:40 PM).
                    NurseBarbra's Avatar
                    NurseBarbra NurseBarbra is offline
                    くら くら?
                    • Crystal Tier
                     
                    Join Date: Aug 2010
                    Age: 23
                    Gender: Male
                    Nature: Brave
                    Posts: 322
                    Oh... My.... Arceus....

                    This is looking awesome so far, you sir deserve a reward.
                    On another note I shall be checking back in every so often to view progress.
                      #14    
                    Old June 5th, 2011 (1:28 PM). Edited June 5th, 2011 by link12552.
                    link12552's Avatar
                    link12552 link12552 is offline
                    to measure how far we wonder
                       
                      Join Date: Dec 2007
                      Location: The blue one
                      Age: 21
                      Gender: Male
                      Nature: Calm
                      Posts: 203
                      Quote:
                      Originally Posted by Weavile05 View Post
                      Awesome man, Awesome. I'll be sure to use it once I officially start hacking again...
                      EDIT: Ok how do I find the sprites to edit them? I used to be able to do this in unLzGBA when I first tried it but I must've forgotten... I'm using a FR ROM btw.
                      EDIT2: Nevermind, figured it out. Are you gonna make it so that we don't have to know the offset and we can look up the image number like in unLz?
                      Yep, currently you have to use the naviagtor and provide the offsets.
                      There will be somthing similar to unLz's naviagtor for lz compressed sprites, maybe in a plugin (wouldn't be too hard).

                      The big plan is to bookmark Every Single Sprite (or atleast the important ones), so you'll never have to know an image number ever agian, you'll be able to just pick it from the bookmarks window.
                      The bookmarks are going to be allot more complicated than the old NSE,
                      I expect there will be reading of rom pointers and tables involved.

                      Quote:
                      Originally Posted by Nintendork15 View Post
                      Wow!
                      This looks good! I always used you NSE1X for my overworld editing now it can do so much more! <3
                      Good work Link (trying out now) xD
                      Thanks, but play gentle it's just an alpha :D

                      Quote:
                      Originally Posted by NurseBarbra View Post
                      Oh... My.... Arceus....

                      This is looking awesome so far, you sir deserve a reward.
                      On another note I shall be checking back in every so often to view progress.
                      I'll be sure to keep updating, and expecting a reward!

                      ---------------------------------------------------------------------------

                      Now a question for everyone, slightly more so towards developers, should I implement a solution/project system? (Similar to Visual Studio, Dreamweaver and other large programs)
                      -this would replace the simpler "open rom" that everyone is used to with a more complicated "open project"



                      Pros:
                      • NSE could keep track of every sprite you've ever eddited
                      • You could leave sprites unfinnished (they would be saved to the project file), and save them to the ROM when you have finnished (means less repointing)
                      • NSE could track and adjust to any pointers that have been changed(Means that if you repoint ,say charizard to 0x900000, the bookmarks would automagically reflect this change)
                      • Bookmarks would be stored in project files, along with other data.
                      Cons:
                      • No more simple "open rom"
                      • You won't be able to easily have multiple copies of the same rom
                      • You have another filetype to worry about, and whenever you wanted to edit you'd have to use the project file
                      • Redistribution of projects would be weird
                      • Project files and ROMs would have to stay in the same folder.
                      Input, suggestions, ideas?
                      -I kind-of need to decide before continuing

                      -link12552
                      __________________
                        #15    
                      Old June 5th, 2011 (1:41 PM).
                      Weavile05's Avatar
                      Weavile05 Weavile05 is offline
                      Currently Hacking BW
                         
                        Join Date: Jun 2010
                        Location: North Carolina
                        Gender: Male
                        Nature: Lax
                        Posts: 1,431
                        I guess for now I'll just use unLz to look up the offsets.

                        As for the question, there ARE more Cons than Pros, so I would say no, unless the pros turn out to be WAY more prominent than the cons. Personally, I prefer it simpler, and no more simple open rom is one of those cons. Plus, I don't plan on doing any repointing, so that Pro would be irrelevant to me.

                        Long story short, I personally say no.
                        __________________
                        In progress

                        Hoenn, 1 Badge
                        My Youtube Channel: Check out my Pokemon Red Walkthrough
                        Pokemon White FC: 2322 5491 2643
                          #16    
                        Old June 5th, 2011 (4:39 PM). Edited June 5th, 2011 by Shiny Quagsire.
                        Shiny Quagsire's Avatar
                        Shiny Quagsire Shiny Quagsire is offline
                        I'm Still Alive, Elsewhere
                           
                          Join Date: May 2009
                          Location: Hoenn Safari Zone
                          Age: 19
                          Gender: Male
                          Nature: Jolly
                          Posts: 700
                          Quote:
                          Originally Posted by link12552
                          The big plan is to bookmark Every Single Sprite (or atleast the important ones), so you'll never have to know an image number ever agian, you'll be able to just pick it from the bookmarks window.
                          I believe I can help. I still have my old bookmarks file, and I've added a bunch of stuff. Weather, the each sprite for the intro scene with pallets, the Intro Message pikachu, and some others like the graphic for Surf.

                          Also, I cannot wait for the ability to open an editor window from a plugin. That's when I can really make some good plugins.
                          __________________



                            #17    
                          Old June 5th, 2011 (6:18 PM).
                          Weavile05's Avatar
                          Weavile05 Weavile05 is offline
                          Currently Hacking BW
                             
                            Join Date: Jun 2010
                            Location: North Carolina
                            Gender: Male
                            Nature: Lax
                            Posts: 1,431
                            So how do we bookmark the sprites? Or is that unfinished?
                            __________________
                            In progress

                            Hoenn, 1 Badge
                            My Youtube Channel: Check out my Pokemon Red Walkthrough
                            Pokemon White FC: 2322 5491 2643
                              #18    
                            Old June 6th, 2011 (2:59 AM).
                            Darthatron's Avatar
                            Darthatron Darthatron is offline
                            巨大なトロール。
                            • Silver Tier
                             
                            Join Date: Jan 2006
                            Location: Melbourne, Australia
                            Age: 25
                            Gender: Male
                            Nature: Modest
                            Posts: 1,152
                            Key features this is missing:
                            • Undo/Redo
                            • Scrolling Zoom - in fact, the entire idea of Alt+Up/Down is annoying. You should stick with the standards here (Ctrl++/-)
                            • 9-digit offsets
                            • Dock-able palette
                            • Palette editing
                            • Multiple palette switching
                            • Easy option to load full ROM

                            Also, the way the drawing works seems off. It should redraw the image from the data every time, rather than just drawing new pixels - when fully zoomed in you get little strands that don't get over written. It looks weird.

                            The concept is great, though. If you need any help with anything, let me know. I've been programming for 6 years and study it at university.
                            __________________
                            あなた は しきしゃ です
                            わたし は ばか です
                              #19    
                            Old June 6th, 2011 (9:56 AM). Edited June 6th, 2011 by link12552.
                            link12552's Avatar
                            link12552 link12552 is offline
                            to measure how far we wonder
                               
                              Join Date: Dec 2007
                              Location: The blue one
                              Age: 21
                              Gender: Male
                              Nature: Calm
                              Posts: 203
                              Quote:
                              Originally Posted by shiny quagsire View Post
                              I believe I can help. I still have my old bookmarks file, and I've added a bunch of stuff. Weather, the each sprite for the intro scene with pallets, the Intro Message pikachu, and some others like the graphic for Surf.

                              Also, I cannot wait for the ability to open an editor window from a plugin. That's when I can really make some good plugins.
                              That's excelent, a better bookmark system will certainly be a major feature.
                              I've also finnished the ability to open an editor from within a plug-in. I actually converted the editor into a controll that can be placed on a form, and have it's properties changed like you would any controll.
                              The way I have it set up, there is a host command you can call, that will set the current editor for NSE to use.

                              Code:
                               
                              Host.SetEditor(ref NSE_Framework.Controls.Editor Editor)
                              I might also allow access to referencing the NSE.exe, so you can create or use any form you want (Editor Forms, Naviagtors, Dialogs, really anything you see in NSE)


                              Quote:
                              Originally Posted by Weavile05 View Post
                              So how do we bookmark the sprites? Or is that unfinished?
                              Currently you can't, I need to know how people wan't me to handle files (projects or how it's been, see my previous post) before I can work on bookmarks






                              Quote:
                              Originally Posted by Darthatron View Post
                              Key features this is missing:
                              • Undo/Redo
                              • Scrolling Zoom - in fact, the entire idea of Alt+Up/Down is annoying. You should stick with the standards here (Ctrl++/-)
                              • 9-digit offsets
                              • Dock-able palette
                              • Palette editing
                              • Multiple palette switching
                              • Easy option to load full ROM
                              Also, the way the drawing works seems off. It should redraw the image from the data every time, rather than just drawing new pixels - when fully zoomed in you get little strands that don't get over written. It looks weird.

                              The concept is great, though. If you need any help with anything, let me know. I've been programming for 6 years and study it at university.
                              -I'm certaintly going to add Undo/Redo, hopefully more effecient than NSE Classics's old text-based system, and I originally wanted to do Ctrl + & - for zoom, but I also wanted to use the MainMenu shortcut property (which doesn't allow this for some strange reason) I'll see what I can do though... I'll also try to add scrolling zoom.

                              -I'll soon add support for offsets up to whatever the ROM's physical length is.

                              -A dockable palette would be a great idea

                              -As for palette edditing, I'm working on it, I'm going to hopefully do something with a color wheel based approach I've been working on.

                              -Palette switching is something I'm working on, loading palettes for edditing and importing from indexed images, .nsl (I'm working on a new format), and exported palettes from VBA (should make 256 color easier)

                              - I might will make a plugin to work like Tile molster, really the only reason I showed that pic of the entire rom opened was to show how fast NSE's new engine is. The sprite class isn't really meant to handle sprites that GIANT)
                              Now for the pianting interface, I know the bug exists (and it is quite annoying).

                              Now for the 0.5f px strands, the problem exists with the scaling function in .net (NSE draws a regular sized version and then up-converts it), but I seemed to have solved it, so in the next update it should be fixed.
                              I don't want to redraw the entire sprite again, because it's inefecient to A) redraw everything B) lock the bitmap to memory for edditing.

                              I wil be sure to ask any questions that will occur, so thank you


                              -Any other suggestions, comments, ideas, please post.
                              __________________
                                #20    
                              Old June 6th, 2011 (11:22 AM).
                              Full Metal's Avatar
                              Full Metal Full Metal is offline
                              C(++) Developer.
                              • Silver Tier
                               
                              Join Date: Jan 2008
                              Location: In my mind.
                              Age: 21
                              Gender: Male
                              Nature: Timid
                              Posts: 806
                              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 )
                              __________________

                              ★ full metal.

                              I like to push it,
                              and push it,
                              until my luck is over.
                                #21    
                              Old June 6th, 2011 (12:36 PM).
                              Dragonflye's Avatar
                              Dragonflye Dragonflye is offline
                              Author of Pokémon Sovereign of the Skies
                                 
                                Join Date: Dec 2009
                                Age: 21
                                Gender: Male
                                Posts: 80
                                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
                                  #22    
                                Old June 6th, 2011 (4:03 PM).
                                esperance's Avatar
                                esperance esperance is offline
                                • Platinum Tier
                                 
                                Join Date: Mar 2010
                                Location: Ohio
                                Age: 20
                                Gender: Male
                                Nature: Relaxed
                                Posts: 3,818
                                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.
                                __________________

                                A Pokemon that is discriminated!
                                Support squirtle and make it everyone's favourite.
                                  #23    
                                Old June 8th, 2011 (7:43 PM).
                                Meta Paradox Meta Paradox is offline
                                Researching FireRed...
                                   
                                  Join Date: Apr 2011
                                  Gender: Male
                                  Nature: Serious
                                  Posts: 56
                                  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
                                  __________________
                                  Meta Paradox On The Web:
                                  http://metaparadox.webs.com/
                                    #24    
                                  Old June 9th, 2011 (4:27 PM).
                                  link12552's Avatar
                                  link12552 link12552 is offline
                                  to measure how far we wonder
                                     
                                    Join Date: Dec 2007
                                    Location: The blue one
                                    Age: 21
                                    Gender: Male
                                    Nature: Calm
                                    Posts: 203
                                    Quote:
                                    Originally Posted by Full Metal View Post
                                    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:


                                    Code:
                                    using System;
                                     
                                     
                                    using System.Collections.Generic;
                                     
                                     
                                    using System.Linq;
                                     
                                     
                                    using System.Text;
                                     
                                     
                                    namespace NSE_Framework.IO
                                     
                                     
                                    {
                                     
                                     
                                        [Serializable()]
                                     
                                     
                                         public class SpriteLibrary 
                                     
                                     
                                        {
                                     
                                     
                                            byte[] nslx = {1,0,0,0};
                                     
                                     
                                            public byte[] NSLx
                                     
                                     
                                            {
                                     
                                     
                                                get { return nslx; }
                                     
                                     
                                            }
                                     
                                     
                                            public List<SpriteSet> Sprites;
                                     
                                     
                                            string origin = "GBA";
                                     
                                     
                                            public string Origin { get { return origin; 
                                    } }
                                     
                                     
                                            public SpriteLibrary(string Origin)
                                     
                                     
                                            {
                                     
                                     
                                                this.origin = Origin;
                                     
                                     
                                                Sprites = new 
                                    List<SpriteSet>();
                                     
                                     
                                            }
                                     
                                     
                                        }
                                     
                                     
                                        [Serializable()]
                                     
                                     
                                         public class SpriteSet 
                                     
                                     
                                        {
                                     
                                     
                                            public NSE_Framework.Data.SpritePalette Palette;
                                     
                                     
                                            int width;
                                     
                                     
                                            public int Width
                                     
                                     
                                            {
                                     
                                     
                                                get { return width; }
                                     
                                     
                                                set { width = value; }
                                     
                                     
                                            }
                                     
                                     
                                            int height;
                                     
                                     
                                            public int Height
                                     
                                     
                                            {
                                     
                                     
                                                get { return height; }
                                     
                                     
                                                set{height = value;}
                                     
                                     
                                            }
                                     
                                     
                                            public string Name = "Sprite Set";
                                     
                                     
                                            public List<SpriteData> 
                                    SpriteData;
                                     
                                     
                                            public SpriteSet(string Name, 
                                    NSE_Framework.Data.SpritePalette Palette, int Width, int Height)
                                     
                                     
                                            {
                                     
                                     
                                                this.Name = Name;
                                     
                                     
                                                this.Palette = Palette;
                                     
                                     
                                                this.width = Width;
                                     
                                     
                                                this.height = Height;
                                     
                                     
                                                SpriteData = new 
                                    List<SpriteData>();
                                     
                                     
                                            }
                                     
                                     
                                        }
                                     
                                     
                                        [Serializable()]
                                     
                                     
                                         public class SpriteData
                                     
                                     
                                        {
                                     
                                     
                                            public string Name;
                                     
                                     
                                            public byte[] Data;
                                     
                                     
                                            public bool Compressed = false;
                                     
                                     
                                            public SpriteData(string Name, byte[] Data, 
                                    bool Compressed = false)
                                     
                                     
                                            {
                                     
                                     
                                                this.Name = Name;
                                     
                                     
                                                this.Data = Data;
                                     
                                     
                                                this.Compressed = 
                                    Compressed;
                                     
                                     
                                            }
                                     
                                     
                                        }
                                     
                                     
                                    }


                                    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)


                                    Quote:
                                    Originally Posted by Dragonflye View Post
                                    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

                                    Quote:
                                    Originally Posted by agentgeo View Post
                                    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

                                    Quote:
                                    Originally Posted by Meta Paradox View Post
                                    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)
                                    __________________
                                      #25    
                                    Old June 9th, 2011 (5:33 PM).
                                    Full Metal's Avatar
                                    Full Metal Full Metal is offline
                                    C(++) Developer.
                                    • Silver Tier
                                     
                                    Join Date: Jan 2008
                                    Location: In my mind.
                                    Age: 21
                                    Gender: Male
                                    Nature: Timid
                                    Posts: 806
                                    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 )
                                    __________________

                                    ★ full metal.

                                    I like to push it,
                                    and push it,
                                    until my luck is over.
                                    Closed Thread
                                    Quick Reply

                                    Sponsored Links
                                    Thread Tools

                                    Posting Rules
                                    You may not post new threads
                                    You may not post replies
                                    You may not post attachments
                                    You may not edit your posts

                                    BB code is On
                                    Smilies are On
                                    [IMG] code is On
                                    HTML code is Off

                                    Forum Jump


                                    All times are GMT -8. The time now is 6:22 AM.