Language…
8 users online: cozyduck, Dark Mario Bros, Firstnamebutt, Golden Yoshi, Isikoro, Pink Gold Peach, qantuum,  Ringo - Guests: 245 - Bots: 393
Users: 64,795 (2,377 active)
Latest user: mathew

Lunar Magic suggestions and discussion (LM v3.40)

Tool

So I have an odd one:

Does LM detect where certain information is stored, or is it hardcoded? Like if I wanted to move the level table could I do so? If it's hardcoded would it be possible to remap the banks at the very least from within LM?


Originally posted by Runic_Rain
So I have an odd one:

Does LM detect where certain information is stored, or is it hardcoded? Like if I wanted to move the level table could I do so? If it's hardcoded would it be possible to remap the banks at the very least from within LM?

Having tested this myself in the past, LM will check the address in the code for dynamically-located things (e.g. the overworld map's data), but not for fixed-location things (e.g. the level Layer 1 data pointer list). So you can move the Layer 1 pointer table if you want, but LM would not acknowledge the change.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Well, after completely rewriting my .ssc file to take advantage of the new extra byte feature (and coming out with one that's over 5600 lines; the only reason it's not longer is because I got lazy with some of the sprites), I'd like to offer feedback on it, though I don't know how useful it would be.

Mainly, it would really be nice to have some sort of if-then-else system. Quite frequently, I found myself needing to type and copy numerous descriptions and tilemaps that were identical or differed only by one small thing, and it would be useful to be able to do things like "set this 8x8 tile to 4F0 plus the value of bits 4-7" for timed platforms, "say 'falls off ledges' or 'stays on ledges' depending on bit 0, and say 'moves fast' if bit 1 is set" for some ground-based enemies, or "use a different set of offsets depending on whether the sprite goes clockwise or counterclockwise" for circle-moving sprites. It would also be handy for some sprites to be able to define some sort of length and width parameters for sprites whose tilemaps involve a long line of the same tiles (such as Firebars) or are large squares (the falling blocks from Yoshi's Island) and just be able to write that instead of a big list of offsets. Finally, it would be good to make the default setting separate from setting 00, because quite frequently, 00 is a perfectly reasonable extra byte value to use in the level, but it can get confused for one that doesn't have defined parameters in the .ssc file, for instance, if you make a typo and put 1F when you meant 1C in a sprite that doesn't use all 16 possible values of the lower 4 bits. Perhaps if there is both a non-specific setting (such as 20 by itself) and one that specifically references setting 00 (such as 30020), the former could be used for the default instead?

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
There is a bug regarding Custom Sprite GFX Information (Editor Display Only). I specify the following command for a custom sprite:
Code
00 8 7F,7F,7F,200

This does show SP4=200 for the custom sprite. The bad thing is that it also shows SP4=200 for the regular sprite.
Originally posted by imamelia
Mainly, it would really be nice to have some sort of if-then-else system. Quite frequently, I found myself needing to type and copy numerous descriptions and tilemaps that were identical or differed only by one small thing, and it would be useful to be able to do things like "set this 8x8 tile to 4F0 plus the value of bits 4-7" for timed platforms, "say 'falls off ledges' or 'stays on ledges' depending on bit 0, and say 'moves fast' if bit 1 is set" for some ground-based enemies, or "use a different set of offsets depending on whether the sprite goes clockwise or counterclockwise" for circle-moving sprites.


I'm not planning to put in a full scripting engine just for playing with sprite appearances and tooltips in the editor. That's a bit much effort for something relatively static that only affects editor display after all, not the actual game.

Originally posted by imamelia
It would also be handy for some sprites to be able to define some sort of length and width parameters for sprites whose tilemaps involve a long line of the same tiles (such as Firebars) or are large squares (the falling blocks from Yoshi's Island) and just be able to write that instead of a big list of offsets.


Convenient for a few sprites maybe, but only a few sprites are like that.

Originally posted by imamelia
Finally, it would be good to make the default setting separate from setting 00, because quite frequently, 00 is a perfectly reasonable extra byte value to use in the level, but it can get confused for one that doesn't have defined parameters in the .ssc file, for instance, if you make a typo and put 1F when you meant 1C in a sprite that doesn't use all 16 possible values of the lower 4 bits. Perhaps if there is both a non-specific setting (such as 20 by itself) and one that specifically references setting 00 (such as 30020), the former could be used for the default instead?


The default isn't meant for catching typos...

If you're doing a lot of that kind of work and it gets too repetitive, you might be better off creating a tool to create and output the sprite settings you want in the .ssc file rather than doing it manually.

Originally posted by Rykon-V73
There is a bug regarding Custom Sprite GFX Information (Editor Display Only). I specify the following command for a custom sprite:
Code
00 8 7F,7F,7F,200

This does show SP4=200 for the custom sprite. The bad thing is that it also shows SP4=200 for the regular sprite.


Technically that line would be for a regular sprite with no custom bit set.

But yeah, I see what you mean... it's apparently using the custom GFX information of regular sprites without any custom bit set for all custom bit settings. Thanks, it'll be fixed for the next version.
A suggestion about the OW editor: why not put the 8x8 tile viewer there so we can easily see where to put our OW ExAnimations?
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Originally posted by Anas
A suggestion about the OW editor: why not put the 8x8 tile viewer there so we can easily see where to put our OW ExAnimations?
The 8x8 tile selector can already show all the tiles, press Ctrl+Shift+PgDn to see the rest of the tiles.


YY-CHR > Photoshop.
Originally posted by BlueToad
Originally posted by Anas
A suggestion about the OW editor: why not put the 8x8 tile viewer there so we can easily see where to put our OW ExAnimations?
The 8x8 tile selector can already show all the tiles, press Ctrl+Shift+PgDn to see the rest of the tiles.


Uh, I think you misunderstood me. The 8x8 tile viewer is only available in the level editor, but not the OW one.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Originally posted by Anas
Originally posted by BlueToad
Originally posted by Anas
A suggestion about the OW editor: why not put the 8x8 tile viewer there so we can easily see where to put our OW ExAnimations?
The 8x8 tile selector can already show all the tiles, press Ctrl+Shift+PgDn to see the rest of the tiles.


Uh, I think you misunderstood me. The 8x8 tile viewer is only available in the level editor, but not the OW one.

Pressing Ctrl+Shift+PgDn on the 8x8 tile selector in the overworld editor still allows you to see the exanimation tiles.


YY-CHR > Photoshop.
Originally posted by BlueToad
Originally posted by Anas
Originally posted by BlueToad
Originally posted by Anas
A suggestion about the OW editor: why not put the 8x8 tile viewer there so we can easily see where to put our OW ExAnimations?
The 8x8 tile selector can already show all the tiles, press Ctrl+Shift+PgDn to see the rest of the tiles.


Uh, I think you misunderstood me. The 8x8 tile viewer is only available in the level editor, but not the OW one.

Pressing Ctrl+Shift+PgDn on the 8x8 tile selector in the overworld editor still allows you to see the exanimation tiles.


Wait, what? I never knew that! Thanks!
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Strange. Ctrl+Shift+PgDn on the 8x8 tile selector in the overworld editor doesn't work now.
I assume it is simple enough to make the Edit GFX buttons in the overworld load the overworld palettes instead?

e:

Originally posted by Rykon-V73
Strange. Ctrl+Shift+PgDn on the 8x8 tile selector in the overworld editor doesn't work now.

I can confirm this no longer works. I can only see the extra tiles by enabling the new option now.
It's easily the best thing I've done
So why the empty numb?
When you copy color values in the palette editor and paste them into a text editor, they show up as correct SNES RGB values. Is there a way to do the opposite? Could I copy the text "0000,7FFF,1234" and paste it in the palette editor and have it actually change colors to those values? If not, could it be implemented for the next version?

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by Koopster
I assume it is simple enough to make the Edit GFX buttons in the overworld load the overworld palettes instead?


They already do.

Originally posted by Koopster
Originally posted by Rykon-V73
Strange. Ctrl+Shift+PgDn on the 8x8 tile selector in the overworld editor doesn't work now.

I can confirm this no longer works. I can only see the extra tiles by enabling the new option now.


I know, it was already discussed on the previous page.

Originally posted by imamelia
When you copy color values in the palette editor and paste them into a text editor, they show up as correct SNES RGB values. Is there a way to do the opposite? Could I copy the text "0000,7FFF,1234" and paste it in the palette editor and have it actually change colors to those values? If not, could it be implemented for the next version?


It's not implemented. Not sure about the use case for putting it in... sounds like something you'd maybe just use for copying colors back and forth from ASM files so you can see and edit them in LM's palette editor.

Though if I did put it in, it'd mean the really old internal color copying method a few people apparently still use (left click on color, hit ok, right click to paste) would become well and truly broken and might as well get removed. Because then any text on the clipboard that starts with something that looks like a hex number will get used on right click instead.
Another small question I'd like to ask: you see, I hex edited various objects to use different tiles and they work fine in-game. However, in LM, the changes aren't accounted for. The only hex-edited objects that rendered fine in LM were the pipe objects (except the no-ended vertical pipe one). How come it is so? Again, not a big deal, but I'd like to understand.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Well, that should be fairly obvious. LM isn't an emulator after all, and things don't just magically implement themselves. Many of those hex edits you're making are probably to tile numbers that are directly part of ASM code. One would have to track down and record the address of every single tile number (or half-tile number as many are coded to just share the same upper byte value) throughout every object's ASM (multiplied by 3 for all the ROMs LM supports) and then LM would have to be coded to use them. That's a fair extra bit of work for something that the vast majority of people are never going to touch. Not to mention if they happen to edit the code and not just the tile numbers in it, it'd all be for nothing.

But if the tiles happen to be stored in a table, there's a fair chance that LM is already using it. And even that is probably more than most level editors would bother with and something I possibly shouldn't have myself, as there's around 75 of those... there was a lot of object ASM tracing involved to make LM 1.00.
That makes sense and I can understand that. Thanns for the clarification.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

I'm curious! I just noticed pressing 8 to see only events in the overworld puts color 32 as the background. This is the only instance of a non-black background by disabling stuff from view that I know of. Is there any particular reason for this, and for the specific color?
It's easily the best thing I've done
So why the empty numb?
Oh, I think that's something unofficial I put in a very long time ago so that you could change the color if you wanted to make it easier to see event tiles. Except it's technically not changing the background color... what it's really doing is replacing all of layer 2 with tile 0xBC using palette 3 before placing the event tiles.
Just a small thing: Can you replace all instances of "black piranha plant" to "muncher" and "POW" to "P-Switch"? Very often I find myself searching "P-switch" while it's listed as POW. The current names in Lunar Magic are kind of outdated.


YY-CHR > Photoshop.

Tool