![]() |
Need Help with R/B Map Editing Please?
Hey all, I require some help please!!!
I'm currently working on a hack of Pokemon Red using the disassembly on Github, but I have no experience of creating new maps, which are all in .blk format, so I've been using a vanilla Red ROM to create the new maps in UltraMap, then work on the events and Wild Pokemon in ClassicMap, but what I'd like to do is extract the maps from the Red ROM and save them as .blk files which I can then add to my disassembly. Now my problem is that I know there is a newer program called RBMap, which can save edited maps out as files on the computer, but it is a .jar file requring a Linux system and I'm running Windows 7, so it won't work for me. - Is there any other way I can extract these edited maps from the Red ROM, save them to my PC and place them in my disassembly? - Is there a way to use the pokemontools/redtools files in the pokered disassembly to decompile a Red ROM with my modified maps in place? - Plus, is there a way to get ShantyTown's RBMap Editor working on Windows 7? - Power Plant - Floor 2 : https://drive.google.com/open?id=0BwcLhqV-5CLmaWZTbDZQc2dnVWc - Seafoam Islands - Basement Level 6 : https://drive.google.com/open?id=0BwcLhqV-5CLmQlU5eVExTnlYUkE - Victory Road - Basement Level 4 : https://drive.google.com/open?id=0BwcLhqV-5CLmWVYyQTM2dFhNX1E https://drive.google.com/file/d/0BwcLhqV-5CLmaWZTbDZQc2dnVWc/view https://drive.google.com/file/d/0BwcLhqV-5CLmWVYyQTM2dFhNX1E/view |
Keep the new maps you create/modify in a separate Pokemon Red ROM and include them in the disassembly using the INCBIN directive.
So you could replace (in main.asm) Code:
Code:
Alternatively you could extract the map data to (a) separate binary file(s) so that you don't need to upload the whole rom. |
Quote:
|
The idea is that you modify a map like Pallet Town (the block data) in a separate ROM with a map editor, and include it in the disassembly wherever you want, not necessarily over Pallet Town. So yes, you can use it to add new maps that you create. You're not disassembling this ROM, you're just grabbing a patch of data from it. You could include the map data at the end of bank 6, 7, or 8 where the rest of the maps are located, but they don't necessarily have to be there.
For the map headers, objects, warps, scripts and such, just look at how it's done with other existing maps in the disassembly. data/mapHeaders, data/mapObjects, and scripts are the folders that you will have to check. |
Quote:
According to Koolboyman's Red Map (provided by Mateo), the start offset for the Power Plant is $1E446, the start offset for Seaform Islands (2) is $468FA and the start offset for Victory Road (2) is $519AF. Unfortunately, I don't understand what you mean by "25 would the size (number of bytes) of said block data." Do you mean the size of the map? As for an example, the Power Plant is X size=20 and Y size=18. For the map data itself, it could easily fit in either Banks 6, 7, or 8. I do need to study the data/mapHeaders, data/mapObjects, and scripts folders in the disassembly further to understand how to add the map headers, objects, warps, scripts and such too. |
Quote:
Code:
Map objects: You can check out the object macro definition in macros.asm for the description of each element of the object macro. Some posts of this thread can help you understanding warps and the like. |
Quote:
ModifiedPowerPlant: INCBIN "baserom2.gbc", $1e446, 20*18 It will extract the modified/new maps from that ROM and place them into the disassembly in the maps folder as .blk files? What I plan to do is add a new ladder/stairs to the existing maps on Power Plant, Seafoam Islands Map 2 and Victory Road Map 2, so that when you step on them, it sends you onto the new areas, which are the new maps created by me. The only events that will be in these rooms are going to be Wild Pokemon, Items, and an encounter with a rare Pokemon. |
You don't have to extract anything. INCBIN lets you include them straight from the .gbc file as binary data. The only requirement is that baserom2.gbc must be inside your repository.
|
Quote:
|
You're not overwriting anything. You're just adding new map data in another, empty place, without overwriting any other existing data.
.blk is just a file extension. The content of that file happens to represent the block data of a map, but in the inside it's just a bunch of bytes. There's no difference between including the map data from a binary file like .gbc than from a .blk file, because the raw bytes you're including represent the same thing. |
Quote:
|
| All times are GMT -8. The time now is 2:23 AM. |
![]()
© 2002 - 2018 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 - 2016 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.
Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.