I think there is a glitch with Ersanio's Icy melting blocks pack. I inserted the regular ice block (iceblock.asm) into a clean rom using BTSD 0.43. I used LM 1.65 to save a level in the clean rom.
When I put an ice block in a level (105) and jump on it and walk off it, it disappears as if hit with a fireball, and a puff of smoke appears on the left side of the screen. Can anyone else reproduce this bug? It probably has something to do with the new block offsets or whatever that LM and/or Blocktool installed.
Though Noobish has fixed the regular insertion bugs, the free space algorithm is faulty, and thus may miscalculate free space needed. Plus you're depending on the fact that xkas GUI is 100% sure of what are hijacks and what is free space, which both use org. In any case, it'd still be better to use standard xkas, it's more dependable, and gives you the command prompt experience you'll need to run other tools.
Oh, so just the freespace setter is buggy? I agree, but that's really the only thing wrong with it. I always use slogger and set the freespace manually, then patch with Xkas GUI.
There are rumors about XKAS GUI messing up your hack. I'm not sure what it does or why, though. I use the command line version. (Actually I use a batch file, but you know what I mean, right?)
That's only if you use the Xkas GUI's automatic freespace setter to set the freespace. All it does it multiply the number of lines of code by 2.5, which isn't always enough, so it may possibly select a freespace that isn't big enough for the patch. Other than that, there's nothing wrong with it really. Just use slogger and set the freespace manually before patching.
Is there a way in ASM to enable the special world passed effect, but only for the overworld (not use the different koopa GFX, etc)? There is an option to have the 3 different effects activate for 3 different levels in the Overworld > Change Special World Levels dialog. Where are these handled in all.log, or is it an LM ASM hack?
Edit: I found it in all.log, a hex edit to disable using different sprite graphics after the special world is passed, and submitted it to the ROM Map:
02C76 $00:AA76 1 byte ASM Change from 10 to 80 to disable the koopas from using different graphics after the special world is passed
Also on another note, I've tried to replicate the Brutal Mario levelASM that causes sprites to freeze in place when you hit a blue POW, but STZ'ing the ram addresses for the sprite x and y speed tables didn't work. Same with the x or y positions. I even tried putting a ,x thing after it but it didn't work. Any idea on how to freeze sprites that way without making it a custom sprite?
I'm not sure this is the way, but try setting the Sprites Locked timer to the P-switch length when a p-switch is hit:
Bug: If I use the freespace setter on the H:None BG Scroll Reset patch, it messes up the freespace line in the patch; the equals sign is deleted, which then causes a bunch of errors in the event log when trying to insert it. It's probably because of the tab characters at the beginning of the line. Just a wild guess, but if you're using a regex in your code to find the freespace line, try using a \s instead of a space. That will match tab characters as well as spaces.
I'm assuming you tried to spin jump over it, right?
That's the only thing I could think of. Cousinoer said it was possible, so I don't know.
After scrolling the screen around randomly, somehow the boo buddies in front of me disappeared, so I could just run forward, losing the other one too. The Fishin boo goes away a little after that because of a Turn Off Generator 2 sprite.
Using OW ASM v1.1, how would I change a color of the main OW palette to a different one if the special world is passed (such as the main border color, palette 0 color B)? I have this code now, but it doesn't work, nothing happens:
LDA $1EEB ;\ Only run if special world is passed
BPL MainOWReturn ;/
LDA #$6F35 ;| new OW border color
LDX #$16 ;| index of color number to modify * 2