Language…
5 users online: 3lectro, jferrerfaj, ShadowMistressYuko, Stjopa, WONIU - Guests: 93 - Bots: 111
Users: 66,302 (2,251 active)
Latest user: didi.5482

Separate Luigi Graphics help

Can somebody please help? I was trying to add the separate Luigi graphics to my hacked copy of SMW via Asar but I keep running into these roadblocks where I get various warnings...

Warning: The ROM title appears to be "☻ŌŌÑÛ↑}¥²←)≡↑iÖ"Ñùi", which looks like garbage. Is this your ROM title? (Note that improperly answering "yes" will crash your ROM.)

...followed by the additional message...

luigi.asm:24: warning: (Wfeature_deprecated): DEPRECATION NOTIFICATION: Feature "header" is deprecated and will be REMOVED in the future. Please update your code to conform to newer styles. Suggested workaround: Remove command, unnecessary... [header] One or more warnings were detected while assembling the patch. Do you want to insert the patch anyway? (Default: yes)

So I figured I needed a fresh untouched rom, so I got another copy and went from there, but when I got the same deprecated notification warning. I also at one point tried to use Lunar Magic per the readme's suggestion and got the same rom title warning.

I was recently told that I needed to remove the header command within notepad. So I opened up the file and figured I was supposed to remove this whole section under the word "header"...

header
if read1($00FFD5) == $23
sa1rom
!addr = $6000
else
lorom
!addr = $0000
endif


But if I so much as alter any of that section I get a series of errors...

luigi.asm:56: error: (Edefine_not_found): Define 'addr' wasn't found.
luigi.asm:64: error: (Edefine_not_found): Define 'addr' wasn't found.
luigi.asm:92: error: (Edefine_not_found): Define 'addr' wasn't found.
luigi.asm:93: error: (Edefine_not_found): Define 'addr' wasn't found.
luigi.asm:97: error: (Edefine_not_found): Define 'addr' wasn't found.
luigi.asm:101: error: (Edefine_not_found): Define 'addr' wasn't found.
Errors were detected while assembling the patch. Assembling aborted. Your ROM has not been modified.


So now I have no idea what I'm supposed to do or remove next.
First off: The garbled ROM title is mostly caused by a quirk of Lunar Magic (which only accepts headered ROMs) and that of Asar (which determines whether the ROM has a header or not by the extension). The tl;dr is that Lunar Magic adds a header to your ROM if it doesn't have already but keeps the ROM name including extension the same. Changing the extension from .sfc to .smc fixes that.

The header error refers to the header and header only. It is entirely unrelated to the if block just below which contains all the defines. You don't even have to remove it either because it's a warning message i.e. Asar will function just fine.
(On that matter, I'm surprised the header still exists in the file so whoever updated it made a bad job upgrading it to modern standards.)


So there's a few things going on here, so I'll start with the "header" message. For that, just remove that header line at the top of the file, don't touch any of those parts after it (i.e. leave the if read1(... stuff alone). The reason that command is being used has to do with the ROM header, which is an extra 512-byte block added at the start of .smc files. It's not part of the actual ROM, and the alternative ROM format .sfc does not have that extra block, so the header command is used to specifically say "yes, this ROM definitely has a header".

Now, as for why it's deprecated and should be removed, it's because Asar now auto-detects whether that header is present based on the file extension of the ROM. If it's .smc, there's a header; if it's .sfc, there isn't. SMW ROM hacks generally work with .smc files due to Lunar Magic enforcing the header, so if your ROM currently has a .sfc file extension, you should probably swap it to .smc to make sure Asar is autodetecting it correctly.

Which brings in the second error Asar is giving you about the ROM name. This usually is a sign that the header has been incorrectly detected, i.e. your file extension is wrong. SNES ROMs have an internal ASCII file name at a specific location in the ROM, and Asar checks whether the bytes at that location look like normal text. But those extra 512 bytes in a file will cause the ROM location checked to be wrong, so if Asar sees invalid characters there instead (the gibberish characters it output for you), it assumes something's probably wrong with the file you've just given it and that the patch you're applying is likely to not work correctly as a result. So yeah, you probably just need to swap your file extension to correctly tell it whether you have the header or not, and that should fix it.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer