The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.


Reply
 
Thread Tools
  #26    
Old October 23rd, 2013, 02:05 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by FBI agent View Post
If you can make this work backwards too, that'd be awesome. Like given an image and a tile map for the image, show me where to place the tiles to "unscramble" the tile map.

More simply, if I select a tile on the original image, show me which tile on the tilemap was used and what transformation to apply to get back the original tile. Ex: If I have a bird picture and a tilemap for it. I can click on the birds peek tile from the original image and it'll highlight which tile is used for the beak and what transformation was applied during the transfer. I'm not sure how clear I'm making myself here
You can think of this function as another look up.
Yeah, I think I understand what you're asking for. I'll look into it and see what I come up with.
__________________
Reply With Quote
  #27    
Old October 23rd, 2013, 06:45 PM
FBI agent
Imagine something beautiful
 
Join Date: Jan 2013
Location: Isle 4 - Dairy Products
Gender: Male
Quote:
Originally Posted by agentgeo View Post
Yeah, I think I understand what you're asking for. I'll look into it and see what I come up with.
I can explain how I'd do it. It's the same algorithm as deleting, but instead you just highlight the tile from the tilemap instead of deleting it.

The highlight can be as simple as putting a border around the tile or something. A possible way of doing it is to put the smaller tiles from both images into separate lists of objects/images (or whatever they are called in the language you're using). Then since list B is a collection of tile objects from the tile map, a tile object from list A will always be unique (and the first occurrence) in list B. So once you identify the tile, you can simply modify a color property of the tile to start. Like make it red or something, then work your way to a better way to identify the tile than painting the whole thing red :D
__________________
...

Hacks I support:
http://www.pokecommunity.com/showthread.php?t=297199 --Legend of Anbuja
http://www.pokecommunity.com/showthread.php?t=200227 -- Pokemon Rose version

People whom I thank:
Comrade -- For helping me with my bad hack, and for being a good friend
Darthatron -- Helping me get into basic ASM, even though I'm hopeless. (He is heartless stay away).
Anbuja's_BlooDY -- Graphics help, and being a good friend
FBI -- For having the username I wanted
Reply With Quote
  #28    
Old October 24th, 2013, 04:57 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Update!

Just a little bit of showing off and a teaser. Following FBA agent's suggestion, I have begun implementing what I call "Trace" which will show which tile was used for at a certain location in a tilemap, as well as the transformations used and such.

And, here's an image showing it.
Spoiler:




Until next time!
__________________

Last edited by itari; October 24th, 2013 at 04:58 PM. Reason: Maa.
Reply With Quote
  #29    
Old October 24th, 2013, 05:05 PM
FBI agent
Imagine something beautiful
 
Join Date: Jan 2013
Location: Isle 4 - Dairy Products
Gender: Male
Quote:
Originally Posted by agentgeo View Post
Update!

Just a little bit of showing off and a teaser. Following FBA agent's suggestion, I have begun implementing what I call "Trace" which will show which tile was used for at a certain location in a tilemap, as well as the transformations used and such.

And, here's an image showing it.
Spoiler:




Until next time!
Awesome work! I mostly wanted this feature so I can use it for making tilesets in advance map and then knowing which tiles to use for making the blocks. Clearly it's useful outside of that too. Great work, and great program!

I'll be sure to drop off any further ideas I have in the future.
__________________
...

Hacks I support:
http://www.pokecommunity.com/showthread.php?t=297199 --Legend of Anbuja
http://www.pokecommunity.com/showthread.php?t=200227 -- Pokemon Rose version

People whom I thank:
Comrade -- For helping me with my bad hack, and for being a good friend
Darthatron -- Helping me get into basic ASM, even though I'm hopeless. (He is heartless stay away).
Anbuja's_BlooDY -- Graphics help, and being a good friend
FBI -- For having the username I wanted
Reply With Quote
  #30    
Old October 24th, 2013, 05:54 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by FBI agent View Post
Awesome work! I mostly wanted this feature so I can use it for making tilesets in advance map and then knowing which tiles to use for making the blocks. Clearly it's useful outside of that too. Great work, and great program!

I'll be sure to drop off any further ideas I have in the future.
Thanks! I always love it when people give suggestions. Let's me know they care.

New Release!

That's right people, I come to you with a new release! This time, I am sharing with you all version 2.5!

New Features Include:
  • Improved Palettemap Viewing
  • Tile Flipping
  • "Trace" Mode
  • And some more!

The download link is on the first page! Enjoy! :D
__________________
Reply With Quote
  #31    
Old October 25th, 2013, 01:58 AM
daniilS's Avatar
daniilS
busy trying to do stuff not done yet
 
Join Date: Aug 2013
Age: 14
Gender: Male
Nature: Relaxed
Tested again. Works great, but I have a suggestion about the "trace" function:
Could you maybe make it like in Advance Map? So trace mode is active when right clicking, not only giving you the ability to see where that tile is located, but also selecting it. And another option, the "gross block", will be really useful. Example: I'm still wanting to insert my worldmap. But when I set preset size to FR/LG WM, it just creates a border on the right and below the tileset. With a grosser block function, or again, borders, I could place it in the centre.
__________________

Thanks to JPAN, Jambo51, Shiny Quagsire and knizz for teaching me almost everything I know about hacking, through tutorials or in person.
Reply With Quote
  #32    
Old October 25th, 2013, 12:23 PM
Rasenshurikenbum's Avatar
Rasenshurikenbum
ASM is very cool!
 
Join Date: Apr 2011
Location: Poland
Age: 18
Gender: Male
Nature: Relaxed
I mentioned about this before but I'll say this once more: you could add a select area option for editing palettes (similar to NTME option but in your editor you change only the selected area to the palette you choose)

__________________
Check out my tutorials:Next tutorials coming soon!
Reply With Quote
  #33    
Old October 28th, 2013, 02:54 PM
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 18
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
Bug report:
* Exporting a ( non-indexed ) tileset throws this exception:
Spoiler:

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at TilemapCreator.MainForm.SaveBitmap(String file, Bitmap b, Color[] palette)
at TilemapCreator.MainForm.mnuSaveTS_Click(Object sender, EventArgs e)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItem.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Windows.Forms.Command.DispatchID(Int32 id)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


If I were to guess, this means that your Color[] argument is non-nullable, and you only set it when you index the tileset. If you plan to allow exporting of non-indexed tilesets ( Please do ), perhaps adding an overloaded method that also just takes a Bitmap and filename argument would be an alright idea.

Code:
namespace TileMapCreator
{
  class MainForm{
    ...
    public void mnuSaveTS_Click(Object sender, EventArgs e){
      ...
      if(this.colorPalette.Equals(null))
        SaveBitmap(filename, bitmap);
      else
        SaveBitmap(filename, bitmap, colorPalette);
    }
  }
}
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.

Last edited by Full Metal; October 28th, 2013 at 03:01 PM.
Reply With Quote
  #34    
Old October 28th, 2013, 03:39 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by Full Metal View Post
Bug report:
* Exporting a ( non-indexed ) tileset throws this exception:
Spoiler:

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at TilemapCreator.MainForm.SaveBitmap(String file, Bitmap b, Color[] palette)
at TilemapCreator.MainForm.mnuSaveTS_Click(Object sender, EventArgs e)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItem.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Windows.Forms.Command.DispatchID(Int32 id)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


If I were to guess, this means that your Color[] argument is non-nullable, and you only set it when you index the tileset. If you plan to allow exporting of non-indexed tilesets ( Please do ), perhaps adding an overloaded method that also just takes a Bitmap and filename argument would be an alright idea.

Code:
namespace TileMapCreator
{
  class MainForm{
    ...
    public void mnuSaveTS_Click(Object sender, EventArgs e){
      ...
      if(this.colorPalette.Equals(null))
        SaveBitmap(filename, bitmap);
      else
        SaveBitmap(filename, bitmap, colorPalette);
    }
  }
}
Ah, thanks. I totally forgot about that.

I'll remember to fix that. Also, I totally like rasenshurikenbum's suggestion, so I'll add that as well.
__________________
Reply With Quote
  #35    
Old November 2nd, 2013, 08:45 AM
Kakarot1212's Avatar
Kakarot1212
Awesome as always...
 
Join Date: Oct 2013
Location: Phillipines
Age: 16
Gender: Male
Nature: Naughty
So, is the after done image ready to insert?
__________________

楓 弘詩
“ Programs must be written for people
to read, and only incidentally for
machines to execute. ”
Pair Pair | Facebook | Showdown | PHO | Twitter
| The Prediction Game |
Reply With Quote
  #36    
Old November 9th, 2013, 10:08 AM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Update!

Yes, that's right. I present to you all, version 3.0!

This version of Tilemap Creator is really quite something. The main change that I have for you all is a completely redesigned interface, so that the program works better as a tilemap editor rather than just a tileset creator! I have also added a 256 color image indexing feature, as well as fixed the option to save the tileset if it's not indexed. I have also added a few little helper-type things that were requested by some people, so yeah. The only thing that was really removed from version 2.5 was the "Trace" feature because I wanna rewrite it before including it in version 3.X.

Here's an image of what it looks like:
Spoiler:




So, if you wanna download it, just head on over to the main post! And of course, for those that liked the old layout better, version 2.5 is still available for download.

Enjoy!
__________________

Last edited by itari; November 9th, 2013 at 10:09 AM. Reason: ;)
Reply With Quote
  #37    
Old November 9th, 2013, 10:23 AM
Rasenshurikenbum's Avatar
Rasenshurikenbum
ASM is very cool!
 
Join Date: Apr 2011
Location: Poland
Age: 18
Gender: Male
Nature: Relaxed
I think you can add in future language files in *.ini so we can edit them and make for our language. And will be "selecting area" palette option added as well?
__________________
Check out my tutorials:Next tutorials coming soon!
Reply With Quote
  #38    
Old November 9th, 2013, 10:25 AM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by Rasenshurikenbum View Post
I think you can add in future language files in *.ini so we can edit them and make for our language. And will be "selecting area" palette option added as well?
Certainly. I plan on adding the language .ini stuff so people can translate it if they want. And if by "selecting area" you mean like the gross block in AdvancedMap then, yes, that is the plan.
__________________
Reply With Quote
  #39    
Old November 9th, 2013, 12:04 PM
Rasenshurikenbum's Avatar
Rasenshurikenbum
ASM is very cool!
 
Join Date: Apr 2011
Location: Poland
Age: 18
Gender: Male
Nature: Relaxed
Quote:
Originally Posted by agentgeo View Post
Certainly. I plan on adding the language .ini stuff so people can translate it if they want. And if by "selecting area" you mean like the gross block in AdvancedMap then, yes, that is the plan.
I mean sth like this:
__________________
Check out my tutorials:Next tutorials coming soon!
Reply With Quote
  #40    
Old November 9th, 2013, 01:39 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by Rasenshurikenbum View Post
I mean sth like this:
Ah, I get it now. Yeah, that shouldn't be too hard to accomplish.
__________________
Reply With Quote
  #41    
Old November 20th, 2013, 11:59 PM
VV's Avatar
VV
ブラック
 
Join Date: Nov 2013
Location: Beyond the Boundary
Gender: Male
Nature: Quiet
Send a message via Skype™ to VV
Doesn't work on windows xp
__________________
V.V
Reply With Quote
  #42    
Old November 21st, 2013, 04:50 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by Sagittarius View Post
Doesn't work on windows xp
Unfortunate. Have you tried installing .NET 4.5? (I'm not really sure if that even works for XP, but you should check)
__________________
Reply With Quote
  #43    
Old November 22nd, 2013, 06:13 AM
VV's Avatar
VV
ブラック
 
Join Date: Nov 2013
Location: Beyond the Boundary
Gender: Male
Nature: Quiet
Send a message via Skype™ to VV
Quote:
Originally Posted by agentgeo View Post
Unfortunate. Have you tried installing .NET 4.5? (I'm not really sure if that even works for XP, but you should check)
Yes, yes I have. But still won't work.
__________________
V.V
Reply With Quote
  #44    
Old November 23rd, 2013, 11:32 AM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by Sagittarius View Post
Yes, yes I have. But still won't work.
Well I don't really know what to say. I programmed this on Windows 8, so it probably uses something unavailable on Windows XP. Sorry, but I guess you're out of luck.
__________________
Reply With Quote
  #45    
Old December 14th, 2013, 01:56 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Update!


Okay, today I come to everyone with an update to Tilemap Creator! As of this update, the program is now version 3.4!

New Features
  • "Area Draw" - just right click and drag with the mouse!
  • Save/Load 8BPP Tilemaps
  • General Awesomeness

Here is the "Area Draw" in action!
Spoiler:




Just check out the main post for a download~!
__________________
Reply With Quote
  #46    
Old December 15th, 2013, 01:19 PM
Rasenshurikenbum's Avatar
Rasenshurikenbum
ASM is very cool!
 
Join Date: Apr 2011
Location: Poland
Age: 18
Gender: Male
Nature: Relaxed
Quote:
Originally Posted by itari View Post
Update!


Okay, today I come to everyone with an update to Tilemap Creator! As of this update, the program is now version 3.4!

New Features
  • "Area Draw" - just right click and drag with the mouse!
  • Save/Load 8BPP Tilemaps
  • General Awesomeness

Here is the "Area Draw" in action!
Spoiler:




Just check out the main post for a download~!
This area draw option is just AWESOME!
Thanks a lot for this really nice option :D

I think you should also add an option for changing the order of tileset blocks (for example you click the right mouse button on the tileset block and you can drag it to the place you want (for example to the beginning). This option would be great for "index tile".)
__________________
Check out my tutorials:Next tutorials coming soon!

Last edited by Rasenshurikenbum; December 15th, 2013 at 01:26 PM. Reason: Your double post has been automatically merged.
Reply With Quote
  #47    
Old February 4th, 2014, 07:40 PM
reillyj99
 
Join Date: Jul 2010
Gender: Male
WOW is all I can say! Thank you so much for this! It's extremely useful for rom hacking.
Reply With Quote
  #48    
Old February 5th, 2014, 11:09 PM
Shiny Quagsire's Avatar
Shiny Quagsire
Unexpectedly Gone until Aug 13
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Great to see more tools by you, keep up the good work. Just a few suggestoins, and you'll probably be seeing me say this a lot, but when you're doing .NET app development, make sure that you target the lowest possible version of .NET. If you don't absolutely need .NET 4.5, don't use it, because if you do it makes it a lot more difficult to run these kinds of things in WINE or Mono for those on other platforms, because as much as I love dual booting I get more work done under Linux.

Also, I'd suggest releasing the source code if you can. I'm not sure what's up with this particular hacking community but in most hacking communities it's common for people to release the source code along with their programs so people can make improvements to them among other things. Plus it's just a nice thing to do and it lets others see how your code works internally allowing them to possibly make their own tools and greater benefit the ROM Hacking community. Look at what happened to A-Map just as an example. It's a great editor that eventually overshadowed EliteMap, but when people started asking for features it wasn't exactly easy to add them in since everything went through one person on that one person's time. In 2009-2010ish Jambo51 made an awesome Day/Night system for Fire Red, but since A-Map couldn't support the format it was ultimately left to rot in the R&D section of the forums. If A-Map had been open source someone could have added support, but since it's not currently open source the only solution is to code an entirely new replacement which may or may not be as good as the original. Just a thought, if this were a bigger tool I'd be more concerned but I'm hoping to see more people open-sourcing their code.
__________________



Reply With Quote
  #49    
Old February 7th, 2014, 04:38 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Quote:
Originally Posted by Shiny Quagsire View Post
Great to see more tools by you, keep up the good work. Just a few suggestoins, and you'll probably be seeing me say this a lot, but when you're doing .NET app development, make sure that you target the lowest possible version of .NET. If you don't absolutely need .NET 4.5, don't use it, because if you do it makes it a lot more difficult to run these kinds of things in WINE or Mono for those on other platforms, because as much as I love dual booting I get more work done under Linux.

Also, I'd suggest releasing the source code if you can. I'm not sure what's up with this particular hacking community but in most hacking communities it's common for people to release the source code along with their programs so people can make improvements to them among other things. Plus it's just a nice thing to do and it lets others see how your code works internally allowing them to possibly make their own tools and greater benefit the ROM Hacking community. Look at what happened to A-Map just as an example. It's a great editor that eventually overshadowed EliteMap, but when people started asking for features it wasn't exactly easy to add them in since everything went through one person on that one person's time. In 2009-2010ish Jambo51 made an awesome Day/Night system for Fire Red, but since A-Map couldn't support the format it was ultimately left to rot in the R&D section of the forums. If A-Map had been open source someone could have added support, but since it's not currently open source the only solution is to code an entirely new replacement which may or may not be as good as the original. Just a thought, if this were a bigger tool I'd be more concerned but I'm hoping to see more people open-sourcing their code.
Well thanks, I suppose. I totally get what you're saying, so I'll make those changes and such.
Open-source is definitely planned. I just wanna perfect what I've got before I let it go.

Update

So I have wonderful news! I have now made Tilemap Creator open-source!
You can find a link to the repository on the first post.
__________________

Last edited by itari; February 7th, 2014 at 05:22 PM. Reason: Your double post has been automatically merged.
Reply With Quote
  #50    
Old 3 Days Ago, 12:15 PM
tenebr050
 
Join Date: Jul 2014
Gender: Male
Quote:
Originally Posted by itari View Post
That's right! Tilemap Creator is not open-source!
Well, perhaps you meant to say:

Quote:
That's right! Tilemap Creator is now open-source!
Reply With Quote
Reply
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 04:28 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.