Another feature that would be great is if it could load the rom directly instead of sepparate files. This would be great for hacking instead of development as everything already is on the rom. You'd just need to specify byte ranges in the rom for each specific thing so then you can save screen edits and metatile edits directly to the rom and test it right away. The way it is I need to save the map file, open an hex editor, remove the old map section and paste the map file's content in there everytime I want to test it.
That out of the way, I just need to say, this tool is FANTASTIC!!! I have already gotten it to work with super pitfall within an hour or so (not the attributes because in super pitfall they are not bit packed, it's 1 byte per metatile). It's very usable with just one palette anyway, so very very impressive work there, thanks!
edit: I have manuallly converted the attributes to bit packed sequence and it looks so nice. Thanks again!
edit2: sorry about my noobishness, but a simple batch file "copy /b file1 + file2 + file3 finalfile.nes" resolves the issue with quick testing. Now if only we could edit the interface a bit
I've been using this tool non-stop on my super pitfall hack, it's just too good I have organized the rooms from the original game and from my hack.
It would be interesting though if the editor could take a screen type map and display the screens based on another "big map" file. For example, the way it is now it displays screens sequentially screen 1, screen 2, screen 3, etc. But it could take another file that organizes these screens in a different order. This would be perfect for map previewing and could even be used to generate images of the map.
Here is how it is in Super Pitfall nes:
This is the "big" map. Each of these bytes represet a screen (or room). Notice how some rooms repeat. The whole map is 16 rooms wide and 13 rooms high.
Code: Select all
1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 09 0C 09 25 02 02 1F 1F 1F 21 34 09 00 01 01 02 03 04 0B 09 03 09 1F 1F 1F 15 3B 3A 1C 1D 0B 0E 06 07 09 02 09 0B 1F 1F 1F 19 2C 2B 12 20 30 2C 2B 13 0D 33 36 37 2F 1F 1F 1A 24 27 18 1E 30 26 25 0F 0A 0C 02 09 3E 1F 1F 1A 2A 34 31 1E 11 23 34 0F 0A 04 0B 34 3E 1F 1F 19 27 27 12 1E 1B 23 22 0F 0A 03 23 24 17 1F 1F 19 24 24 18 1E 1B 29 34 0F 0A 04 2A 03 3E 1F 1F 1A 28 28 32 20 11 29 28 10 0A 03 02 22 17 1F 1F 1F 06 05 08 14 06 08 06 08 06 07 02 02 17 1F 1F 1F 1F 1F 1F 15 39 38 2E 2E 2E 2E 3C 2D 16 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F
So the way I have been editting the map is on each room separately, which is great enough, but if the editor displayed the real map that'd be insanely powerful.
Notice how the rooms are not positioned the same way they are in the game in relation to each other. I have set the map to be 31 screens wide and 2 screens tall so it would display 4 rooms at a time in the editor.
I'm starting to sound like a broken record, and I don't want to sound rude. The tool is incredible, I can't stress this enough, but could we get the source code? For hacking it would be incredible to edit the ROM directly. So instead of feeding it different files it would have fields to inform the editor about the offsets containing each data.
For example, instead of telling it to load a map file you would simply load the ROM and tell it "map starts on address 0x8000".
Having to work with separate files is not ideal when hacking a game. I understand this is the nesdev, not the neshack forums, so I'm just making a plea as there isn't a tool like this anywhere.
You might be able to make a small tool in Python or whatnot to initially extract the data files from the ROM at a given offset, and to inject them back. That would add just one extra step on top of saving the map in the tool.nesrocks wrote:For example, instead of telling it to load a map file you would simply load the ROM and tell it "map starts on address 0x8000".
thefox: yeah, that is one of the possible workarounds (mine was to do it manually). The point is that a tool can be a lot more powerful and get a lot more users if it is self contained.
It would take me a long time to learn how to program this myself. So instead of doing that I prefered to do it manually as this was probably my only hack, at least in a long time. My requests are more because I'm seeing the potential here and I know that accessibility would mean more and better hacks being produced. It is of course up to the author to do whatever he wants with his work though, and I defend that.
Unfortunately, I can't figure out whether it doesn't run correctly on my computer, or if I just can't figure out how to use it.
I create a new project successfully, but then nothing I click really does anything. I think maybe I need to start with a new MCF? Doing file->new->new MCF doesn't do anything. New->Map prompts me for sizes, but doesn't do anything after that, the other entries under New don't do anything.
I can edit the map header, but if I try to edit the MCF I get "Run-time error '76' Path not found" and it crashes.
Is something not working, or am I just being too obtuse to use it properly?