Users browsing this thread: 1 Guest(s)
Ripping from Blaster Master Zero 2
#1
I'm trying to rip some textures from Blaster Master Zero 2 but all of the base game files are just in the file format and I'm not sure if there's a way to convert them.
I read some other threads and they said they just used ninja ripper, after trying that most of the ripped sprites seem to be all black (most likely indexed ingame?) and I get color palettes.
Copen's sprite is used as an example below. It also doesn't seem to rip the over world (blaster segments) sprites of the characters.

Thanks in advance for any help!


Attached Files Thumbnail(s)
   
Reply
Thanked by:
#2
Both games used some weird color indexing in the game. When I did the rips for 1, Ninjaripper dumped a lot of palette DDSs too (usually following the texture it's meant to be used for). I literally had to recolor the textures manually which meant I needed to get screenshots of stuff so I knew what was what. You can also ask Random Talking Bush, he was able to sort out the actual file structure used for BMZ2 among similar titles that used the weird format.
Doofenshmirtz: This is a little bit awkward but have you seen my escape jet keys? (Perry nods) What, you have? Well that's great! So where are they? (Perry looks away) You won't tell me? Is this because you don't speak or are you just being a jerk?
~Phineas and Ferb, "One Good Scare Ought to Do It!" (2008)
Reply
Thanked by: ACrashinTime
#3
(07-02-2021, 03:28 PM)Deathbringer Wrote: Both games used some weird color indexing in the game. When I did the rips for 1, Ninjaripper dumped a lot of palette DDSs too (usually following the texture it's meant to be used for). I literally had to recolor the textures manually which meant I needed to get screenshots of stuff so I knew what was what. You can also ask Random Talking Bush, he was able to sort out the actual file structure used for BMZ2 among similar titles that used the weird format.

Alright yeah I'll def shoot him a message when I get the chance, thanks a bunch!
Reply
Thanked by:
#4
Just in case anyone happens to stumble into this and wants to know the process most of it can be found here (XeNTaX forum post) thanks again!
Reply
Thanked by:
#5
I've already got a bunch of work-in-progress rips from this game (I mainly just need to label all of the animations and such), so you'll be seeing 'em up on tSR at a later time. Smile
Reply
Thanked by:
#6
(07-07-2021, 05:25 PM)Random Talking Bush Wrote: I've already got a bunch of work-in-progress rips from this game (I mainly just need to label all of the animations and such), so you'll be seeing 'em up on tSR at a later time. Smile

Curious how did you go about setting up the pallets from the osb files? since from what I know the best way I've seen is to just do it by hand, and that seems somewhat tedious haha
Reply
Thanked by:
#7
(07-07-2021, 06:29 PM)ACrashinTime Wrote:
(07-07-2021, 05:25 PM)Random Talking Bush Wrote: I've already got a bunch of work-in-progress rips from this game (I mainly just need to label all of the animations and such), so you'll be seeing 'em up on tSR at a later time. Smile

Curious how did you go about setting up the pallets from the osb files? since from what I know the best way I've seen is to just do it by hand, and that seems somewhat tedious haha
It's a bit technical, but if you have access to the decrypted OSB files (which, yeah, can be done with the same tool in the thread you linked to in your previous post), the palettes for those sprite sheets are stored at the location listed at 0x64 in the OSB's header (with 0x68 being for palette swap information), so using Copen as an example, his palette would be at 0x8BA4. You can then pair that palette with the red channel (green/blue are empty) of the respective sheets (the sheets themselves can be located in the offset linked to in the header's 0x4C offset, so 0x9180 -> 0x9198 for Copen, for example), the greyscaled image's colour indexes will match and should give you the correct result once you replace the palette:
[Image: 1yYKCtu.png]

My script can output the palettes from those directly to *.PAL format (not the palette swaps, though, those still need to be manually extracted), but I don't have a method currently to auto-apply those upon extraction other than injecting the "fixed" sheet back into the OSB and re-extracting it. It's simple enough of a process that I can just apply the palettes after I'm done sheeting them, which is better anyway as some of the BMZ2 characters have identical/clashing palette shades (e.g. Jason's cape being the same as his outline) and I can adjust those slightly to keep recolourability intact.
Reply
Thanked by:
#8
(07-08-2021, 05:31 PM)Random Talking Bush Wrote:
(07-07-2021, 06:29 PM)ACrashinTime Wrote:
(07-07-2021, 05:25 PM)Random Talking Bush Wrote: I've already got a bunch of work-in-progress rips from this game (I mainly just need to label all of the animations and such), so you'll be seeing 'em up on tSR at a later time. Smile

Curious how did you go about setting up the pallets from the osb files? since from what I know the best way I've seen is to just do it by hand, and that seems somewhat tedious haha
It's a bit technical, but if you have access to the decrypted OSB files (which, yeah, can be done with the same tool in the thread you linked to in your previous post), the palettes for those sprite sheets are stored at the location listed at 0x64 in the OSB's header (with 0x68 being for palette swap information), so using Copen as an example, his palette would be at 0x8BA4. You can then pair that palette with the red channel (green/blue are empty) of the respective sheets (the sheets themselves can be located in the offset linked to in the header's 0x4C offset, so 0x9180 -> 0x9198 for Copen, for example), the greyscaled image's colour indexes will match and should give you the correct result once you replace the palette:
[Image: 1yYKCtu.png]

My script can output the palettes from those directly to *.PAL format (not the palette swaps, though, those still need to be manually extracted), but I don't have a method currently to auto-apply those upon extraction other than injecting the "fixed" sheet back into the OSB and re-extracting it. It's simple enough of a process that I can just apply the palettes after I'm done sheeting them, which is better anyway as some of the BMZ2 characters have identical/clashing palette shades (e.g. Jason's cape being the same as his outline) and I can adjust those slightly to keep recolourability intact.

Ah I see! I'll have to give this a shot when I get the chance! thanks a bunch dude!
Reply
Thanked by: IvanP
#9
Any chance you would be willing to share the script for the *.pal files? if not that's completely fine!
Reply
Thanked by: IvanP
#10
Sorry to have to bring this old thread back again haha, trying to do the palettes through hex, I'm assume based on what you're saying that i need to make the palette file a NEW file from the original OSB.

what I'm assuming is the case is that the palette (actual color data) starts at 0x8BA4 and ends at 0x8C0A? but I'm not really sure what I need to be doing to specifically apply this to the R segment of the RGB data, as when I untick alpha everything dissapears.

once again sorry to bring back this old thread, just my knowledge of HxD and Hex editing in general is somewhat foggy.

Edit: just for some more clarity from what I gather
the location at 0x64 shows where the data for palette is stored
Copen for example:
0x64 shows A4 so palette is at 0x8BA4
0x4C shows 80 so sprite starts at 0x9180

I'm just not 100% sure what I need to do with the palette to get it functional
Reply
Thanked by:
#11
(08-11-2021, 06:38 PM)ACrashinTime Wrote: Sorry to have to bring this old thread back again haha, trying to do the palettes through hex, I'm assume based on what you're saying that i need to make the palette file a NEW file from the original OSB.

what I'm assuming is the case is that the palette (actual color data) starts at 0x8BA4 and ends at 0x8C0A? but I'm not really sure what I need to be doing to specifically apply this to the R segment of the RGB data, as when I untick alpha everything dissapears.

once again sorry to bring back this old thread, just my knowledge of HxD and Hex editing in general is somewhat foggy.

Edit: just for some more clarity from what I gather
the location at 0x64 shows where the data for palette is stored
Copen for example:
0x64 shows A4 so palette is at 0x8BA4
0x4C shows 80 so sprite starts at 0x9180

I'm just not 100% sure what I need to do with the palette to get it functional

I've also tried to remove these hex indexes just to see what all in all is different (making them 00) and don't see any differences except with the sprite one it changes what the base color of it is? any guidance would be much appreciated!
Reply
Thanked by: Maxton667hunter


Forum Jump: