Members MilesMontana Posted March 1 Members Posted March 1 53 minutes ago, Über Winfrey said: here is a patch to hopefully fix the red messy textures just search for #generic linear in the word search found on the right side of the script window and it should bring you there, replace this whole section # generic linear payload = self._unswizzle_linear_bytes(raw, w, h, spec['bpp'] // 8) if swz else raw return self._make_dds(w, h, payload, bpp=spec['bpp'], rgba_masks=spec['rgba_masks']) with the below code, # generic linear (ALL OTHER formats) payload = self._unswizzle_linear_bytes(raw, w, h, spec['bpp'] // 8) if swz else raw # --- PATCH: fmt 0x00 (L8) preview as RGBA so it doesn't show as "red-only" --- if int(fmt_code) == 0x00: top_len = w * h # 1 byte per pixel if len(payload) < top_len: print(f"[tex-decode] fmt0x00(L8) payload too small: have={len(payload)} need={top_len}") return None src = payload[:top_len] # Expand L8 -> RGBA8888 (R=G=B=A=v) (RenderDoc-like) out = bytearray(top_len * 4) for i, v in enumerate(src): j = i * 4 out[j+0] = v # R out[j+1] = v # G out[j+2] = v # B out[j+3] = v # A rgba_masks = (0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000) return self._make_dds(w, h, bytes(out), bpp=32, rgba_masks=rgba_masks) return self._make_dds(w, h, payload, bpp=spec['bpp'], rgba_masks=spec['rgba_masks']) THEN go to the _init_ function and under where you see self.FORCE_SWIZZLE = False # None=auto, True=force on, False=force off self.FORCE_SWIZZLE_BY_FMT = {0x28: True} Add this immediately after self.FORCE_SWIZZLE_BY_FMT[0x00] = True Seems to have done the trick for the most part. Not too sure with the floor there, but eh. Could be just me not noticing things all the way.
Members Über Winfrey Posted March 1 Members Posted March 1 54 minutes ago, Über Winfrey said: here is a patch to hopefully fix the red messy textures just search for #generic linear in the word search found on the right side of the script window and it should bring you there, replace this whole section # generic linear payload = self._unswizzle_linear_bytes(raw, w, h, spec['bpp'] // 8) if swz else raw return self._make_dds(w, h, payload, bpp=spec['bpp'], rgba_masks=spec['rgba_masks']) with the below code, # generic linear (ALL OTHER formats) payload = self._unswizzle_linear_bytes(raw, w, h, spec['bpp'] // 8) if swz else raw # --- PATCH: fmt 0x00 L8- if int(fmt_code) == 0x00: top_len = w * h # 1 byte per pixel if len(payload) < top_len: print(f"[tex-decode] fmt0x00(L8) payload too small: have={len(payload)} need={top_len}") return None src = payload[:top_len] # Expand L8 -> RGBA8888 (R=G=B=A=v) (RenderDoc-like) out = bytearray(top_len * 4) for i, v in enumerate(src): j = i * 4 out[j+0] = v # R out[j+1] = v # G out[j+2] = v # B out[j+3] = v # A rgba_masks = (0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000) return self._make_dds(w, h, bytes(out), bpp=32, rgba_masks=rgba_masks) return self._make_dds(w, h, payload, bpp=spec['bpp'], rgba_masks=spec['rgba_masks']) THEN go to the _init_ function and under where you see self.FORCE_SWIZZLE = False # None=auto, True=force on, False=force off self.FORCE_SWIZZLE_BY_FMT = {0x28: True} Add this immediately after self.FORCE_SWIZZLE_BY_FMT[0x00] = True fixed my bug lol, there is still a few textures that have issues, mostly with padding and such, onces I work it out, textures should be 100%, but I'm sure something will crop up
Members MilesMontana Posted March 1 Members Posted March 1 2 minutes ago, Über Winfrey said: fixed my bug lol, there is still a few textures that have issues, mostly with padding and such, onces I work it out, textures should be 100%, but I'm sure something will crop up Seems to always be the inevitable when dealing with this mess. One thing after another, right?
Members Über Winfrey Posted March 1 Members Posted March 1 2 minutes ago, MilesMontana said: Seems to always be the inevitable when dealing with this mess. One thing after another, right? yep, speaking of which I found a bug where Matrix Conker is having some material issues lol
Members MilesMontana Posted March 1 Members Posted March 1 Just now, Über Winfrey said: yep, speaking of which I found a bug where Matrix Conker is having some material issues lol Oh? Interesting. What kind of issue we talking here? Just a scaling one or some of the laid out vertices looking like they had a stroke?
Members Über Winfrey Posted March 1 Members Posted March 1 2 minutes ago, MilesMontana said: Oh? Interesting. What kind of issue we talking here? Just a scaling one or some of the laid out vertices looking like they had a stroke? none, I was just dumb, wasn't looking in Material view, instead was just looking at solid view with textures enabled
Members MilesMontana Posted March 1 Members Posted March 1 36 minutes ago, Über Winfrey said: none, I was just dumb, wasn't looking in Material view, instead was just looking at solid view with textures enabled Lol. Happens. At least it's better than some of the UV scaling i've seen here and there. Example being Rodent since you gotta play with some values to get his materials to align with him, but it's quite a simple fix really. Iirc, it's usually about .5 in most cases with the cursor as your main point to scale from.
Members Über Winfrey Posted March 1 Members Posted March 1 36 minutes ago, MilesMontana said: Lol. Happens. At least it's better than some of the UV scaling i've seen here and there. Example being Rodent since you gotta play with some values to get his materials to align with him, but it's quite a simple fix really. Iirc, it's usually about .5 in most cases with the cursor as your main point to scale from. you can also add a mapping node and place it between the UV node and sampler it has scaling and such on it, so you dont have to deal with manual UV editing
Members MilesMontana Posted March 1 Members Posted March 1 9 minutes ago, Über Winfrey said: you can also add a mapping node and place it between the UV node and sampler it has scaling and such on it, so you dont have to deal with manual UV editing Fair. I guess just a lil stubborn and use to old methods. It's not the worst.
MrBlue2838 Posted March 2 Posted March 2 On 2/28/2026 at 9:42 AM, MilesMontana said: If you mean just getting the model from the game to Blender, you can already do that. Just have the files from the rom itself, use the tools provided in the thread and you have it yourself. thanks bro. i'll update ya'll if i got any trouble with porting.
MrBlue2838 Posted March 2 Posted March 2 On 2/28/2026 at 9:42 AM, MilesMontana said: If you mean just getting the model from the game to Blender, you can already do that. Just have the files from the rom itself, use the tools provided in the thread and you have it yourself. I seem to be stuck already. i used the exe on the conker stuff zip. and it just makes an extra file if the file i drag and drop into the exe. got any tips?
Members MilesMontana Posted March 2 Members Posted March 2 (edited) 13 hours ago, MrBlue2838 said: I seem to be stuck already. i used the exe on the conker stuff zip. and it just makes an extra file if the file i drag and drop into the exe. got any tips? Okay, let's start with what was done wrong. First off, you shouldn't really be dropping any of those files into clr_unpack.exe. That's where you're getting stuck. Now, to do this, you're going to need the following items: . clr_unpack.exe (You already got that covered) . Blender 4.0 (Any version iirc, but idk on 5.0) . Command Prompt and knowledge of how to use it. . Exiso (For dumping the iso of the game) .RBM Import Python Script that is in this thread (Latest one will do) .(Optional, but recommended) Texture Batch Extractor Script as well from this thread First, use Exiso to dump the rom. After you select "Extract ISO" and the location you want to put it in, his "Ok" and let it do what it needs to do. Next, you need to get into command prompt. Open it using administrator mode just in case. Once here, you can just do something like this: cd "insert copied location here". That changes the directory of command prompt to make it easier for what you need to do next. Now, let's use the Tediz Demolisher from the Old War/WW2 as our test subject. You want to put clr_unpack in the same area as the default.rbm so it makes things easier and the .exe notices it. After you have set your directory for command prompt to be assigned there, type the following: clr_unpack.exe default.rbm -d index Once you do that, you should see this for example: After that, you should see this particular file has now spawned in there. .Mapped is what you want for this to be noticed. Now, you need to open up your Blender. If you know your way around, you'll be fine on this part, but if you don't know how to create more windows/viewports, just grab the little corner in the top right to either be rid of one or make one. After you create the new one, change it with that little top left button near here. Select text editor, load the script provided in this thread, then hit run. You're gonna want to use that every time as it's easier to do and makes cleaning up the list easier than having a ton of file names to read through repeatedly or other issues. After you set it up, do the following: (Note: All the little folder looking tabs in my 3D viewport are usually hidden by default, but you can click the little tongue to get them out and Blender doesn't come with all of these by default. Just focus on the "Conker RBM Import" one) You're gonna wanna hit "Load RBM", then go and find the .mapped file in the location you unpacked it at. You're going to want to click the one labelled as the character. Those other tabs are just textures you can spawn in if you desire, but the model comes with them on by default if you have the material preview viewport shading on. If you got it, you should see this: Granted, he's missing his body texture in the file itself it seems, but other than that? Easy fix when you know where to look. Since you're aiming for the SHC Grunt WW2, i'll give you a small heads up on his model. If you get his "MultFrontend" model from the folder labelled as such however, his eyes will look like this. To fix this, you're going to want to switch to edit mode after selecting the eye mesh Then switch your script tab to UV Editor, switch the pivot to 2D Cursor, then scale by .5, then g, y and .5 again. Then he's fixed. You're able to export all this easily as well. Textures can be done via the batch script that was dropped earlier and have a little bit of simple code changing on directory of where you want the textures dumped, but remember to follow the instructions there because the script wants /, not \ in your directory. Hope this helped. If you're going to do maps anytime sooner, there's going to have to be more instructions for that. Edited March 2 by MilesMontana
MrBlue2838 Posted March 3 Posted March 3 5 hours ago, MilesMontana said: Okay, let's start with what was done wrong. First off, you shouldn't really be dropping any of those files into clr_unpack.exe. That's where you're getting stuck. Now, to do this, you're going to need the following items: . clr_unpack.exe (You already got that covered) . Blender 4.0 (Any version iirc, but idk on 5.0) . Command Prompt and knowledge of how to use it. . Exiso (For dumping the iso of the game) .RBM Import Python Script that is in this thread (Latest one will do) .(Optional, but recommended) Texture Batch Extractor Script as well from this thread First, use Exiso to dump the rom. After you select "Extract ISO" and the location you want to put it in, his "Ok" and let it do what it needs to do. Next, you need to get into command prompt. Open it using administrator mode just in case. Once here, you can just do something like this: cd "insert copied location here". That changes the directory of command prompt to make it easier for what you need to do next. Now, let's use the Tediz Demolisher from the Old War/WW2 as our test subject. You want to put clr_unpack in the same area as the default.rbm so it makes things easier and the .exe notices it. After you have set your directory for command prompt to be assigned there, type the following: clr_unpack.exe default.rbm -d index Once you do that, you should see this for example: After that, you should see this particular file has now spawned in there. .Mapped is what you want for this to be noticed. Now, you need to open up your Blender. If you know your way around, you'll be fine on this part, but if you don't know how to create more windows/viewports, just grab the little corner in the top right to either be rid of one or make one. After you create the new one, change it with that little top left button near here. Select text editor, load the script provided in this thread, then hit run. You're gonna want to use that every time as it's easier to do and makes cleaning up the list easier than having a ton of file names to read through repeatedly or other issues. After you set it up, do the following: (Note: All the little folder looking tabs in my 3D viewport are usually hidden by default, but you can click the little tongue to get them out and Blender doesn't come with all of these by default. Just focus on the "Conker RBM Import" one) You're gonna wanna hit "Load RBM", then go and find the .mapped file in the location you unpacked it at. You're going to want to click the one labelled as the character. Those other tabs are just textures you can spawn in if you desire, but the model comes with them on by default if you have the material preview viewport shading on. If you got it, you should see this: Granted, he's missing his body texture in the file itself it seems, but other than that? Easy fix when you know where to look. Since you're aiming for the SHC Grunt WW2, i'll give you a small heads up on his model. If you get his "MultFrontend" model from the folder labelled as such however, his eyes will look like this. To fix this, you're going to want to switch to edit mode after selecting the eye mesh Then switch your script tab to UV Editor, switch the pivot to 2D Cursor, then scale by .5, then g, y and .5 again. Then he's fixed. You're able to export all this easily as well. Textures can be done via the batch script that was dropped earlier and have a little bit of simple code changing on directory of where you want the textures dumped, but remember to follow the instructions there because the script wants /, not \ in your directory. Hope this helped. If you're going to do maps anytime sooner, there's going to have to be more instructions for that. one issue so far. i can't find the import .rbm thing anywhere.
Members MilesMontana Posted March 3 Members Posted March 3 38 minutes ago, MrBlue2838 said: one issue so far. i can't find the import .rbm thing anywhere. You're using the wrong script. NOT the one from the zip Birdy dropped. Only the one Uber dropped.
MrBlue2838 Posted March 3 Posted March 3 51 minutes ago, MilesMontana said: You're using the wrong script. NOT the one from the zip Birdy dropped. Only the one Uber dropped. which one? i noticed a few different downloads. gonna be real, i feel like this type of stuff should be in a disord server. i think it would get stuff done faster with faster replies and whatnot.
MrBlue2838 Posted March 3 Posted March 3 18 hours ago, MilesMontana said: You're using the wrong script. NOT the one from the zip Birdy dropped. Only the one Uber dropped. what script do i use? Uber has a few file downloads in this thread. im lost.
Members MilesMontana Posted March 4 Members Posted March 4 (edited) 4 hours ago, MrBlue2838 said: what script do i use? Uber has a few file downloads in this thread. im lost. RBMimport7.py would be your best bet since it's the latest. Edited March 4 by MilesMontana
Members MilesMontana Posted March 4 Members Posted March 4 20 hours ago, MrBlue2838 said: which one? i noticed a few different downloads. gonna be real, i feel like this type of stuff should be in a disord server. i think it would get stuff done faster with faster replies and whatnot. If you got an account there, I might be of service there easier, but don't expect me to know everything there is to this particular script. I'm just someone who uses it rather than someone actively writing it. I don't think there's a server for this afaik, but this account name might help and make it quicker on answers. miles_montana
MrBlue2838 Posted March 4 Posted March 4 finally got it to work with a little bit of trial and error i got the model i wanted. thanks for the help. i can't wait to see what else i can port over. 1
Members MilesMontana Posted March 4 Members Posted March 4 2 hours ago, MrBlue2838 said: finally got it to work with a little bit of trial and error i got the model i wanted. thanks for the help. i can't wait to see what else i can port over. Glad you got what you wanted out of it.
Members Über Winfrey Posted March 4 Members Posted March 4 its progress atleast, don't mind the eyes, I was experimenting been using the shaders from the game and stripping them down to their basics for Blender making templates so they auto import
Members Über Winfrey Posted March 4 Members Posted March 4 (edited) its mostly figuring out the UV Scale for the fur masks thats making him look like he's vibrating, if I manually change the furmask size it looks better, it does choose the correct masks automatically so thats good, Edited March 4 by Über Winfrey
MrBlue2838 Posted March 4 Posted March 4 interesting thing is that the shot soldier at the top of the beach is not a static model and is fully rigged. I also found the gun they hold in the level too. there is also the backpack and helmet from bad fur day that the SHC soldier is seen with.
Members Über Winfrey Posted March 4 Members Posted March 4 (edited) New batch image extractor now you just select the output folder without having to manually paste it and it also extracts all images regardless of their user standing eventually I might add it to the importer itself to make it more streamlined batch_imgextract_2.py Edited March 4 by Über Winfrey
Cyiatic Posted March 5 Posted March 5 Hey there, I'm reaching out because I'm interested in extracting models from this game. Right now I'm focused on exporting Windy to be used as a custom stage in Smash Bros. I followed the steps MilesMontana posted and got the main portion loaded but am seemingly missing a lot of models and textures such as the Windmill's blades. I'll go ahead and upload an attachment of my blender screen below. I noticed there are several other RBM files in the scrip menu. Do I need to load all of these as well? It seems like there's also textures that need to be extracted with batch_imgextract_2.py? I'm somewhat tech savvy but find structured walkthroughs like MilesMontana's above to be helpful for processes such as this. On a closing note, the work that has been achieved here so far is incredible! Well done! Cool to see these models being freed just in time for the 25th anniversary.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now