Don’t Earfuck My Ass in Half
- Posted by mariteaux on May 8th, 2020 filed in Modding
- 2 Comments »
So I can’t focus lately! I’m not sure what happened or why the mental fog’s come back, but that’s been fun. Arguably, I’ve never had it quite as bad as I’ve had it recently; yesterday’s post on retro WordPress themes took two entire days to write, and Caby had to hold my hand (nnnnot that I mind that >///>) through getting the Somnoville page finally finished:
One project that is probably right around the corner to getting finished is the ten-song demo disc for marfGH, which is the custom disc I’ve been working on all these months. I previously wrote a blogpost about my plans for a demo disc, only to have Scott make the far more sensible suggestion to just use my existing disc with all but two tiers cut. This has put the disc about a perpetual three weeks off from finally being released, far closer to reality.
Issue is that the holdup is partially out of my hands now. At present, here’s still what needs to be done on the thing, and what I’ll be talking more about in bold:
- Disabling saving globally across the disc (it’s just
$SAVE_DISABLE
, but not sure where the game wants that set to make it actually work) - Finishing the one properly new chart in the pack, c.layne’s “Stay Inside Your Station”
- Redoing audio mixes (cooking the audio less and using scripts to boost volume more)
- Porting a few more charts
- Miscellaneous setlist/menu fixes, minor things but they’d be nice for polish sake
- Rebranding the splash screen and main menu
As for the chart, while I had a previous “Stay Inside Your Station” chart, it was pretty much a Phase Shift/Clone Hero-exclusive “Cammy had no clue what he was doing” type of affair, so it needed events to work in-game anyway. I took the opportunity to basically rechart the fucking thing, seeing as I didn’t really know what I was doing four years ago and it was about as messy as someone’s first proper chart can be expected to be. (At least I tempomapped it?)
The expert guitar part is technically finished, but I also decided to hand it off to one of the CH community’s premier hardware hackers and charters, JP, to see what he thought of it since he offered. Curious how much of a beating the rechart will take, but given how busy he is already, might take a few days. Nothing wrong with that, I’m just glad to be getting a second opinion now, especially given how fucky that guitar part is.
The splash screen is more interesting. I’m (at present) not a guy who works in visuals much, so the world of texture and asset editing was practically brand new to me going into this. I figured the disc needed a rebranding though, given the scale of it and that earlier today, Scott put it on the same level as a new, Harmonix-quality GH2 (which had me stunned for a bit, the hype is real, folks). Can’t have a 64-song magnum opus monster disc with all these new charts and still have it called just “GH2”, can I?
So I got down to business working on a replacement splash screen, even if it was just a temporary placeholder for the demo disc to be cleaned up later. I got it looking pretty spiffy, I gotta say.
Getting it into the game proved more of a challenge. The old mainstay tool for texture extraction and editing, MiloExplorer, was never particularly good at all that “maintaining alpha channel” stuff (especially milo’s bizarre 7 bits of alpha rather than the traditional 8), so when I’d import the texture into the game, the edges of the poster showed up solid white.
While BMP does support alpha channel, it’s only at 32bpp (this will be important later), and GH2 uses 8bpp textures with an added alpha channel, which tools naturally don’t know what to do with. MiloExplorer refuses to take a texture that isn’t the right bit depth, so it can’t resample a 32bpp BMP on its own, of course not. Worse yet, I’ve never been able to wrap my head around the community’s workarounds, especially when they involve Photoshop, so I was at a bit of a loss.
Cisco in MiloHax instead recommended me his own custom SuperFreq tool for modifying milo archives, which let me use a normal PNG instead as an input texture. This worked fine enough, nicer than MiloExplorer anyway, until I built the disc and saw…this:
So to explain what we eventually figured out as far as this glitching goes. The PS2 only has 32mb of video memory to work with. This is why the vast majority of textures in the game are 4bpp or 8bpp, they’re naturally a lot smaller. Now, the milo engine will take a 32bpp texture, like SuperFreq puts out, but a texture with that much detail can easily eat too much VRAM and either crash the game or cause corruption. This texture’s 512×512, so at 32bpp the milo archive came out to be 160kb, far bigger than what the original splash screen used. Thus, while it “worked”, it really didn’t.
We verified the size of the milo was the issue by shrinking the poster texture to 256×256 (still 32bpp) and thus shrinking the milo down to 102kb. The game liked this just fine, though now it looks like blurry shit. Cisco didn’t catch this because he’s primarily a 360 hacker, and the 360 naturally has more video memory and more tolerance of this kind of thing.
He said he’d get back to me with a version of his tool that would properly output 8bpp + alpha, but that too takes time. I don’t write this post to complain about waiting or anything; good things are in the pipe. They’re just in the pipe is all, so nothing especially finished at the moment to show off.
(Edit: Cisco came in clutch right as I was finishing this post with a patch that fixed textures at 4 and 8bpp! As a result, I was able to get the splash screen in just fine, full-size with alpha, and it looks terrific. The slight glitchiness around the edges is my fault because of the way I exported the PNG. Good man, turns out I do have something to show off tonight >:3c)
May 8th, 2020 at 10:30 pm
okay, i am not going to lie… the “Somnoville on Display” page’s styling loosk rather strange.
May 8th, 2020 at 11:17 pm
That’s an opinion, yes.