News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

[SOLVED] Graphics problem - Intro Metroid in tube w/ scientist

Started by vivify93, November 18, 2016, 03:39:15 AM

Previous topic - Next topic

vivify93

Hi everyone, how are you doing today? I'm having an issue with a Super Metroid graphical mod, so I thought I'd come here and ask for help.

So, everyone knows about Auximines' Justin Bailey patch, right? He crafted extremely well-made sprites for Samus outside of her Power Suit. The in-game sprites are pretty good, but Samus' anatomy in the scene where she hands over the baby Metroid to the scientist was really... off, to say the least.

http://i.imgur.com/N6k9KYY.png

Her breasts are unnaturally hefty and pointed, and her buttocks and thighs are misshapen. I decided to go about fixing it for myself, and it was pretty easy to do with SMILE RF and a tile editor! I even restored the male scientist while I was at it. This is the edit working in-game:

http://i.imgur.com/7CtBaAd.png

However, there's a problem. See the box of white by the scientist's left hand? Originally, he's lifting his hand up to meet Samus', as she's standing tall in the Power Suit, and you can see the sleeve of his lab coat on his left hand.

http://i.imgur.com/Hoo52ml.png

Auximines edited the hand so the handshake between him and Samus makes sense compared to her new stature, but after importing the new scene into the game via SMILE RF, part of the lab coat seems to have returned.

I noticed that this white is appended to the tube the baby Metroid is in, which makes me think that it's a problem with the baby's animation frames and not with my keeping the scientist as a man this time. I have tried just importing my improved anatomy and keeping the scientist as a woman; the problem persists.

Does anyone know how I'd go about fixing this? I can't seem to find the animation frames in SMILE RF from my own research, and I've run out of ideas on what to do.

By the way, I don't plan on a full release of this without Auximines' blessing. I did reach out to him, so time will tell on that regard.

Thank you for your time; have a lovely day!

P.JBoy

The animation part itself is handled by the following spritemaps:

; Metroid with scientist from intro (frame 1)
{
$8C8CF3             dx 0006,
                       0004, F4, 3CEB,
                       01FC, F4, 3CEA,
                       01F4, F4, 3CE9,
                       0004, 04, 3CF2,
                       0004, FC, 3CE2,
                       C3F4, FC, 3CE0
}


; Metroid with scientist from intro (frame 2)
{
$8C8D13             dx 0006,
                       0004, F4, 3CEE,
                       01FC, F4, 3CED,
                       01F4, F4, 3CEC,
                       01F4, 04, 3CF3,
                       01F4, FC, 3CE3,
                       C3FC, FC, 3CE4
}


; Metroid with scientist from intro (frame 3)
{
$8C8D33             dx 0006,
                       0004, F4, 3CFB,
                       01FC, F4, 3CFA,
                       01F4, F4, 3CF9,
                       0004, 04, 3CF8,
                       0004, FC, 3CE8,
                       C3F4, FC, 3CE6
}


If you don't know the format of the spritemap entries: the first value says how many parts the sprite has, followed by that many 5-byte entries for each of those parts. Each part's entry almost follows the format X, Y, tile; in binary it's precisely:

First 2 bytes S???pppxxxxxxxxx (9-bit signed X offset, palette that is almost never used, Size bit),
then Y offset (1 byte),
and last 2 bytes yxPPpppttttttttt (Y and X flips, Priority, palette that isn't used, 9-bit tile number)


With this information you can determine which one of those parts is the troublesome tile and remove it from the animation. Alternatively you can find the graphic tiles that the spritemap is pointing to in the ROM itself; those tiles are loaded from compressed data at $95E4C2, which you actually can rip from the SMILE graphics editor if you go to the Special GFX section and select Intro 1. Presumably from here will just be a case of loading the file that SMILE generates into a tile editor, making the changes and saving it back into the ROM using the same SMILE dialog.

Happy hacking
...

vivify93

EDIT 1 - I've found the offending color in SMILE RF's palette editor. Thank you. :)

Thanks! Actually, it turns out that this sleeve issue was a problem with the original Justin Bailey--I just never noticed it.

https://youtu.be/4Yy_cqJ_zHk?t=202 (Go to 3:22 in the video if the time-set link doesn't work.) So I apologize for having blamed SMILE RF for causing this problem.

I've located the offending tiles and changed them, but there's a new problem.

http://i.imgur.com/P7I1Eav.png

See now that there's a darker blob of gray amidst all the lighter gray? Comparing the two scenes in the original, turns out for some reason--perhaps by mistake--Auximines lightened the entire scene by several shades.

http://i.imgur.com/M6ukHRw.png

Edit 2 - I've fixed the problem. Here's a screenshot of my finalized work. I just wanted to say, thank you everyone for having established such an awesome, dedicated community and thanks to the maker of SMILE RF for this amazing tool. I've often struggled with modding games, so I'm very grateful for an awesome all-in-one tool like this.

http://i.imgur.com/tw3EjA8.png


Quietus

You can click on quote, then copy / paste the links to see them. It's a known issue with imgur, and the only way round it is to use other hosts.