Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tool] Tilemap Creator

Notices
For all updates, view the main page.

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).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by FBI agent:
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's Avatar
FBI agent
If my PM box is full, VM instead :x
 
Join Date: Jan 2013
Location: Unknown Island
Gender: Male
Quote originally posted by agentgeo:
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
__________________
...

My name forum name is FBI Agent, though you can call me FBI because it's shorter.

Some of my stuff:
ASM request/resource thread
ASM tutorials thread
ASM Workshop
Reply With Quote
  #28    
Old October 24th, 2013 (04:57 PM). Edited October 24th, 2013 by Hopeless Masquerade.
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
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!
__________________
Reply With Quote
  #29    
Old October 24th, 2013 (05:05 PM).
FBI agent's Avatar
FBI agent
If my PM box is full, VM instead :x
 
Join Date: Jan 2013
Location: Unknown Island
Gender: Male
Quote originally posted by agentgeo:
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.
__________________
...

My name forum name is FBI Agent, though you can call me FBI because it's shorter.

Some of my stuff:
ASM request/resource thread
ASM tutorials thread
ASM Workshop
Reply With Quote
  #30    
Old October 24th, 2013 (05:54 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by FBI agent:
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: 15
Gender: Male
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.
__________________
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). Edited October 28th, 2013 by Full Metal.
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
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.
Reply With Quote
  #34    
Old October 28th, 2013 (03:39 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by 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);
    }
  }
}
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: 17
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
| Text Hex Convert v2.1.1 |
Reply With Quote
  #36    
Old November 9th, 2013 (10:08 AM). Edited November 9th, 2013 by Hopeless Masquerade.
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
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!
__________________
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).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by Rasenshurikenbum:
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:
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).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by Rasenshurikenbum:
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).
Sniper's Avatar
Sniper
ヘッド·ショット
 
Join Date: Nov 2013
Location: Void
Gender: Male
Nature: Quiet
Send a message via Skype™ to Sniper
Doesn't work on windows xp
__________________
Reply With Quote
  #42    
Old November 21st, 2013 (04:50 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by Sagittarius:
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).
Sniper's Avatar
Sniper
ヘッド·ショット
 
Join Date: Nov 2013
Location: Void
Gender: Male
Nature: Quiet
Send a message via Skype™ to Sniper
Quote originally posted by agentgeo:
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.
__________________
Reply With Quote
  #44    
Old November 23rd, 2013 (11:32 AM).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by Sagittarius:
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).
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
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). Edited December 15th, 2013 by Rasenshurikenbum.
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:
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!
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
Working on KARL3DS
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
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). Edited February 7th, 2014 by Hopeless Masquerade.
Hopeless Masquerade's Avatar
Hopeless Masquerade
すきま妖怪
Community Supporter
 
Join Date: Mar 2010
Location: 幻想郷
Age: 17
Gender: Male
Nature: Quiet
Quote originally posted by Shiny Quagsire:
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.
__________________
Reply With Quote
  #50    
Old July 26th, 2014 (12:15 PM).
tenebr050's Avatar
tenebr050
 
Join Date: Jul 2014
Location: India
Gender: Male
Nature: Quiet
Quote originally posted by itari:
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

Forum Jump


All times are UTC -8. The time now is 02:38 PM.