Jump to content

Hacking Gen 5 Games -- are there tools to add in large assets?


Recommended Posts

I'm no code monkey, nor do I understand hex, so when I had the idea to play around with crossing over game assets, I decided to use the intuitive format of SDSME over most other hacking tools at the time. Seemingly compatible with gen 5 (specifically BW2) it seemed perfect for what I was trying to do -- I wanted to see if I could import a few full maps from HGSS (like the squares that make up New Bark) and put them into BW2, and then attach warps to them, along with editing the matrices to allow them to function almost exactly like they did in HGSS. 

Except, uh, the only issue is, there's no way to actually add anything. I cannot add new maps, cannot add new matrices, nothing. I can only edit existing maps. I suppose I could add imported 3D models of HGSS buildings to a pre-existing map, but I'm not looking to mess with anything already in the game. Just add onto it. I'm looking for a way to export a HGSS map and import it into BW2 in an intuitive way that doesn't require a large learning curve. Is there a program that allows this? I considered PPRE but it seems rather intimidating with python and such. 

On top of this -- is gen 5 romhacking on a more ambitious scale even remotely accessible yet? Are we able to add onto the game, or just edit assets already in it (besides importing small stuff like buildings, etc) to create something out of that? Am I better off just learning hex editing? If so, can hex editing add blank spaces for a new map and/or a matrix?

 

Any info that could help me would be much appreciated! 

Edit: Better phrasing and grammar

Edited by heritorofrain
Link to post
Share on other sites

I believe there are general purpose tools for the gen 5 games but i can't remember the name, maybe someone else does, I've never used them myself but I remember they were the goto for certain uses. As for ppre, it only supports gen 4 (it has a gui, so no python knowledge needed) you would have to add support yourself.

 

 

EDIT: I believe it's called pokemon ROM changer.

Edited by Delta Blast Burn
memory
Link to post
Share on other sites
On 12/4/2020 at 5:13 PM, Delta Blast Burn said:

I believe there are general purpose tools for the gen 5 games but i can't remember the name, maybe someone else does, I've never used them myself but I remember they were the goto for certain uses. As for ppre, it only supports gen 4 (it has a gui, so no python knowledge needed) you would have to add support yourself.

 

 

EDIT: I believe it's called pokemon ROM changer.

I attempted to use the PRC but it only allowed me to edit pokemon data, nothing on the game's code, allocated filesize, warps, scripts or anything of that sort. 

I dropped that pretty quickly. Instead, I'm attempting to paste the nsbmd of new bark town over the first "square" of aspertia. Working on ironing out tileset conflicts, but I managed to get the white wireframe working. I did this through SDSME. 

However, what I want to do is allocate space for a NEW map. Right now there are, according to sdsme, 1064 maps in the game. I want to put New Bark under 1065, somehow. But I don't know how to do that. I can't find the nsbmd of the internal maps in the files, even through my thorough searches through the extracted files -- and even if I could I wouldn't know how to assign the map to 1065 after I pasted it in there. On top of this, I want to do the same with matrices (which, oddly enough, there are only 415 of, so new bark would need to be 416.) This is difficult simply because I have no idea where to look or what information to look for, as any info on this kind of thing is relatively sparse. Perhaps I could copy and paste both a map and a hex a second time into the files, but assigning them to 1065 and 416 respectively still presents itself as a problem. I tried looking in a rudimentary way through the hex and other things through crystaltile2, but obviously had no such luck due to my inability to comprehend anything whatsoever. If I knew it was possible through there, I would try it, but the issue is I don't think anyone has actually tried to DO this before. I've done a lot of googling on topics similar to this and it doesn't seem like it's been done. If some romhack before me has done it before, please direct me to it. 

If worst comes to worst, I can try and remake Johto by pasting over the internal BW2 maps just for fun. I believe that warp tiles are a part of the editable objects in SDSME, so at the very least I could figure something out that way, I hope. Still, I would hope there is some kind of solution to my problem, as it seems relatively simple to execute, I just don't know how to do it. 

Any information anyone else can provide would be extremely helpful. 

Link to post
Share on other sites

Bond, any info you or anyone else could provide would be extremely useful!

 

Update, some more theorycraft. Thanks to Kaph's BW2 scripting thread, or more specifically the pastebin linked to it that is a compilation of a lot of the parsed commands the game uses, I know how maps are called by the game now. If I can figure out a format for the map ID, I can give a file an appearance that fits that criteria and have it be called with script editing, particularly with warps and such. Does anyone have any ideas as how to create a "new" map ID?

 

edit: theorycraft stuff

Edited by heritorofrain
Link to post
Share on other sites

Okay, I found where the maps are, I think. According to another pastebin and tcrf, they're located in a/0/0/8. Supposedly, the 8th file in there (0/0/8/8) there are 1064 sub files, the same amount of maps in the game. Using ct2, I sorted the subfiles. However, I have no way to insert other map files into there. Is there a different tool I should use for it? Notably, my a/0/0/8 is not a narc. Other sources say that it should be. Why is that? Is there something wrong with my dump? 

 

Edit, Attached: Extracted copy of files from SDSME 

nonarc.PNG

Edited by heritorofrain
Link to post
Share on other sites
34 minutes ago, Delta Blast Burn said:

It is a narc file, the game just doesn't add the extension.  If you try to open it with tinke it should work.

It displays a bunch of bin files as a result of unpacking it -- how do I turn those into the proper files for maps? or rather, if I have an already exported map from SDSME, how do I pack that into a bin?

Link to post
Share on other sites
7 hours ago, Delta Blast Burn said:

That I don't know, Sorry.

that's alright, you've already been a huge help. Though, I must admit I am stumped now. I saw an older thread from november that tried to do the same thing and reached the same conclusions I did, except he managed to insert new map files -- but he didn't specify how he did it. So I am at a bit of a loss, here.

 

Edit: The biggest issue with doing this is that 8.narc is not considered a narc by my system. So attempting to use a narc unpacker or other editing tool is pretty much impossible. Everyone is saying it should be called "8.narc" but it just isn't, and I think that's a problem. 

Edited by heritorofrain
Link to post
Share on other sites

I have a few more things to try in regards to this thread, but I think for now I'm going to compromise by overwriting the unused maps from the first games (those being relic castle, etc) and script editing around those and their matrixes. Obviously there's not near enough room to rebuild the entirety of johto, much less kanto, within those maps, but it should be enough to make something. After that, I'll need to mess around with script editing -- a lot. Specifically with warps to get them working. So, if all goes as planned, expect new threads, maybe 👀 Thank you to Delta Blast Burn for humoring me through all of this shenaniganry, lmao

 

Also, one last question, does anyone know if the textures and tilesets used by the game are universal? If I overwrite tileset 2, for instance, does that change every map that uses tileset 2? And how do I tell which tileset is used by which map? 

Link to post
Share on other sites
  • 3 weeks later...

You can add new maps and matrices by expanding the NARCs.

a/0/0/8 - Maps
a/0/0/9 - Matrix

Step 1: Unpack the NARC.

Step 2: Copy-Paste some files inside the folder and rename them.

Step 3: Pack it again. They will now be editable in SDSME.

The original files inside the NARCs have no name. The tool that unpacks it will give them numbers starting at 0 or 1. If you pack the folder to a new NARC it is important to make sure they are in the correct order after packing, not something like [1, 10, 11, 12, ..., 2, 20, 21...]. 

 

About the textures: yes, every map that uses tileset 2 share the same textures. Btw, the "textures" in SDSME are labeled wrong. That value links to a file which also chooses some other properties next to the textures but their ID matches. 

But don't for get the seasons ;) If you change tileset 2 you also have to change the tilesets 3, 4 and 5.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...