Why is the SM64 disassembly legal but the SMW disassembly is not?
The SMW disassembly is just as legal as the SM64 disassembly. The problem is whether disassemblies are legal at all is a massive gray area, one we really don't have a precedent for. On one hand, disassemblies are obtained through legal means (i.e. not stolen from Nintendo's actual offices, nor made using Nintendo's proprietary toolsets). On the other hand, they can technically be assembled into copies of the original game, which would be a violation of copyright laws. Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Is there a patch to make it so when you spawn a flower/cape from a question block, then lose your mushroom and take the flower/cape, you only get big?
I think it's like that in SMB3 if my memory serves me well. In SMW you can hit the block and spawn the flower/cape, then lose the mushroom and actually get fire/flight from the flower/cape.
It's not quite a simple address change, you have to edit the routine to actually write multiple tiles.
Then find the "Tilemap" table, duplicate that and call it "Tilemap2", then edit the tile numbers there; those will be the lower tile of the sprite. Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Actually, I was trying to use the behavior of the dolphin jumping left to right. So, the graphic would be wide rather than tall. I was able to achieve this partially on my own. I added a tilemap3. But I still have some problems.
The "tail" part grabs tiles too far and shows the tiles of other sprites. Also, when jumping to from right to left, as dolphins do, the tiles just flip rather than change order.
Here's my attempt at modifying the code:
ADC #$010 ; put the second tile 16 pixels below the first
Is there an address that completely flips tile order? And Would I need to change the "LDA" address that dictates how much tiles each piece of the sprite loads? Also would it have just been easier to write a damage routine in the dolphin disassembly?
In regards to the extra tiles being grabbed, the solution is to just overlap parts of the sprite; as long as the tiles are properly spaced apart, you won't notice the overlap, like this:
The tile outlined in green is tile 2, while the tile outlined in purple is tile 3.
As for handling the issue about the tiles flipping but not the offsets, you'll have to modify the offset value between writing to $0300/$0304/$0308 to pull from tables indexed by direction rather than just being hardcoded values (similar to what the code does with the property tables later on). Like this:
ASL ; multiply by 2 for 16-bit tables
; ...rest of code
dw $0010,$00F0 ; second value has offset inverted from first value to offset the tile in the opposite direction
Wondering if someone could help me. I'm pretty new to lunar magic, but I've been reading the the tutorials that are available. I'm trying to get this https://www.smwcentral.net/?p=section&a=details&id=22749 to work. To test it out I started with a fresh rom, applied the SA-1 patch, expanded the rom to 8mb. Then I used GPS to modify the rom, using the provided list.txt file. I can import the provided map16 file. It works, in that the desired block behavior is now accessible in map-16. I also put the provided ExGFX file in the ExGFX folder (renaming it to ExGFX80). The problem is that when I try to load the provided example level I get an error that says "Graphics file not found in ROM! ExAnimated GFX File 0x8D" but I didn't find any file named that in the zip. Not sure what to do at this point, any advice would be really appreciated.
Does this patch https://www.smwcentral.net/?p=section&a=details&id=4348 give anyone else trouble? I tried using it for the disassembly mushroom scale platforms to spawn custom graphics. It worked but, for me, it seems to mess with the other sprites that use $7E009C. The growing vine spawns vines and slopes for some reason and custom blocks that disappear and become passable remain solid. I know it's an xkas patch. Does that mean anything?
Is there a way to fix this or was this a trade-off for this code?
Don't know if that patch is still usable given its age (several changes have been made to the Map16 tile generation that may have caused it to have issues), and I wouldn't recommend it anyway as there are alternatives now to handle what it was originally created to do.
In this case, there's couple changes you have to make:
2) Find the "JSL $00BEB0" line and change it to
3) Find the Scale_SMW and Scale_SMB tables and change them like
Change those values then to the Map16 tiles you want to have generated.