Language…
19 users online: anonimzwx, codfish1002, DanMario24YT,  Deeke, Golden Yoshi,  Gonzales555, Green, Heitor Porfirio, iamtheratio, imamelia, Irondill, koffe190, LightAligns, MorrieTheMagpie, PMH,  Segment1Zone2, steelrain859, TheOrangeToad, xxxblackangel2208xxx - Guests: 267 - Bots: 238
Users: 64,795 (2,375 active)
Latest user: mathew

Lunar Magic suggestions and discussion (LM v3.40)

Tool

I believe I found a bug when using the %5 placeholder (current ROM filename without file extension) when editing usertoolbar.txt for the custom user toolbar. When the string is parsed, the string is cut off after %5, so anything afterwards doesn't appear in the failure dialog that comes up when the button is pressed, not even the closing quotation mark.

For example, if the ROM's name is "my_smw.smc" and I have this as the button's external application:
Code
"C:\Lunar Magic\some_tool\%5.bat"

The "Couldn't Create Process" dialog box reads:
Code
"C:\Lunar Magic\some_tool\my_smw

instead of
Code
"C:\Lunar Magic\some_tool\my_smw.bat"

And, of course, "my_smw.bat" isn't executed.

This doesn't appear to happen with %3 (current ROM filename WITH extension), as
Code
"C:\Lunar Magic\some_tool\%3.bat"

appropriately appears as
Code
"C:\Lunar Magic\some_tool\my_smw.smc.bat"
Originally posted by Dispace
How it works for enable level flags from level 13C-1DB?


LM doesn't enable any flags for those. You can turn on being able to select the levels (Ctrl+Alt+Shift+F8 in overworld editor), but it's up to you to insert ASM to be able to properly make use of them.

You can maybe try this patch, but I haven't played with it myself so I don't know what state it's in at the moment.

Originally posted by SmokedSeaBass
I believe I found a bug when using the %5 placeholder (current ROM filename without file extension) when editing usertoolbar.txt for the custom user toolbar. When the string is parsed, the string is cut off after %5, so anything afterwards doesn't appear in the failure dialog that comes up when the button is pressed, not even the closing quotation mark.


Alright thanks, it's been fixed for the next version.
Not sure if a bug, but when you press the Quick Insert and Reload Graphics button () when editing a layer 3 tilemap (from a level or from a submap) in the Overworld Editor, the tilemap won't update if it was changed. Particularly hilarious the level layer 3 one, which updates in the Level Editor but not in the Overworld Editor.
Layout made by MaxodeX
2021 TRENO vibe check thread
That's not a bug. I doubt many people would expect or like having unsaved changes to the layer 3 tilemap they're working on getting wiped out just by hitting that button.
Can we get the sprite extension to show up if it's only a single byte? I know enabling sprite hex data lets me see the first extension byte, but it would help if it showed when hovering over it like sprites with two or more extension bytes.

Also, can we get Object 2D to print extension bytes upon hovering on it as well? It currently shows the extension bytes on the status bar (or whatever it's called), but I feel it's kinda easy to miss, especially on big screens (not resolution wise, I mean physically big screens).
FuSoYa, would you be open to adding some negative numbers to the list of values under Initial Y Position/Offset in the Advanced bypass settings for layer 3, please?

I have this code that allows layer 3 tides to be used in a horizontal level that has vertical scroll enabled; the code prevents the tide from scrolling up/down with the camera, although when I asked Erik to look at it yesterday, he told me that LM3 broke the code.

Now, that code would end up obsolete if negative numbers could somehow be implemented into the setting I mentioned above (for example, setting the Initial Y Position/Offset to -080 in Yoshi's Island 4 would make the tide height the same as it is in the original game), so yeah, if you could make that adjustment, I'd be grateful.

Edit: Allow me to post some screens to show why I wish for this adjustment (the first one shows the height of the tide when the advanced bypass settings for layer 3 are enabled; I have the Initial Y Position/Offset set to 000 here). All 3 screens were taken from Yoshi's Island 4, with vertical scroll enabled (of course, as you can see, I did make some level edits).


Since LM3.00 Lunar Magic supports some very useful command lines.
Thanks for that.
Would you ever consider adding new command lines such as:
-ExportFullMap16, or something along these lines, basically something that let's you export the full map16 of an smc file, would be really handy along with an ImportFullMap16.
-ExportFullPalette/ImportFullPalette, again, something that lets the user export the global palette from an smc file, along with custom palettes?
Those are the only 2 commands that I feel like would be useful having, other than what LM currently already allows.
Hope you take this suggestion into consideration, since it would allow for easier ROM porting implementation when using .bat files.
Thanks for reading.
A way to change extra bit and extension bytes of sprites after they were inserted on the level could be nice, because delete the sprite and reinsert it on the level is a bit slow to do, could be nice if i can do right click or double click over a sprite and then appears a dialog to change extra bit and extra bytes.

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

Youtube
Twitter
SMWControlLibX GitHub
My Discord Server
Snestorage where you can download my resources
That already exists. You can Alt-right click on a sprite (or object) to do that.

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by lx5
Can we get the sprite extension to show up if it's only a single byte? Also, can we get Object 2D to print extension bytes upon hovering on it as well?


I suppose.


Originally posted by Knight of Time
FuSoYa, would you be open to adding some negative numbers to the list of values under Initial Y Position/Offset in the Advanced bypass settings for layer 3, please?

I have this code that allows layer 3 tides to be used in a horizontal level that has vertical scroll enabled; the code prevents the tide from scrolling up/down with the camera, although when I asked Erik to look at it yesterday, he told me that LM3 broke the code.

Now, that code would end up obsolete if negative numbers could somehow be implemented into the setting I mentioned above (for example, setting the Initial Y Position/Offset to -080 in Yoshi's Island 4 would make the tide height the same as it is in the original game), so yeah, if you could make that adjustment, I'd be grateful.


Interesting idea, but it's not enough on its own. If you make the offset negative, the layer scroll position will also become negative once you get to the top of the level. The game will consider that as being outside the level bounds. Mario won't mind, out of bounds interaction for him is air. But for sprites it's water, so they'll be swimming up there. One could hack it to be air for sprites too I guess, but I suspect Nintendo had a reason for making it water. Probably to prevent water sprites around the left/right edge of a level from falling off into the void.

Rather than change the out of bounds interaction, I could add tide detection to the layer 3 constant vertical scroll in LM (or maybe add a new separate constant scroll for tides) then have it engage in scroll trickery. It's likely similar to what your old patch does.

Looks like I never set aside a RAM value for the layer 3 Y scroll offset though... might grab $146C for that.

Originally posted by Atari2.0
Since LM3.00 Lunar Magic supports some very useful command lines.
Thanks for that.
Would you ever consider adding new command lines such as:
-ExportFullMap16, or something along these lines, basically something that let's you export the full map16 of an smc file, would be really handy along with an ImportFullMap16.
-ExportFullPalette/ImportFullPalette, again, something that lets the user export the global palette from an smc file, along with custom palettes?
Those are the only 2 commands that I feel like would be useful having, other than what LM currently already allows.
Hope you take this suggestion into consideration, since it would allow for easier ROM porting implementation when using .bat files.
Thanks for reading.


Alright will put it on the list of possibilities. But I'd probably change the palette one to just do shared palettes. Remember that custom palettes are already saved with levels in mwl files.
Originally posted by FuSoYa
Interesting idea, but it's not enough on its own. If you make the offset negative, the layer scroll position will also become negative once you get to the top of the level. The game will consider that as being outside the level bounds. Mario won't mind, out of bounds interaction for him is air. But for sprites it's water, so they'll be swimming up there. One could hack it to be air for sprites too I guess, but I suspect Nintendo had a reason for making it water. Probably to prevent water sprites around the left/right edge of a level from falling off into the void.

Rather than change the out of bounds interaction, I could add tide detection to the layer 3 constant vertical scroll in LM (or maybe add a new separate constant scroll for tides) then have it engage in scroll trickery. It's likely similar to what your old patch does.

Looks like I never set aside a RAM value for the layer 3 Y scroll offset though... might grab $146C for that.


Oh, well I'm looking forward to seeing what change(s) you make to the layer 3 tide options in the next version of LM. I'm crossing my fingers to see what you come up with there.
I'd like to ask once again about displaying custom objects. The newest version of ObjecTool, though currently unreleased (and I forgot if it's compatible with Lunar Magic 3 yet), has many template subroutines for making a variety of custom objects easily. Slopes are not included in that version of the patch, but I have them in a copy that I'm using (I have steep and normal slopes working, with gradual and upside-down ones coming as soon as I have a tileset to use them with). The format of the data tables should be well-documented, so I'd think that there could be a list of pointers to the locations of each table (like how $0EF30C tells Lunar Magic where the sprite data size table is), and then it would merely be a matter of adding an offset according to the object subtype to indicate which Map16 tiles to show. At the absolute least, I'd think it would be doable to make object 2D display a colored rectangle with its two extra bytes (something like how Eggvine displays objects, I'm thinking) instead of garbage tiles, but like I said, having exact knowledge of the table format for each object should make it not too difficult to make them show the actual Map16 tiles.

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
I'd like to request that extra byte counts for sprites be stored in MWL files along with the sprite data itself. Without this, it's impossible to properly parse an MWL file without access to the source ROM it was extracted from.
Originally posted by FuSoYa
Alright will put it on the list of possibilities. But I'd probably change the palette one to just do shared palettes. Remember that custom palettes are already saved with levels in mwl files.

Yeah right, I meant shared palettes. It's fine too!
Now thinking about it, it would be also cool to have a command line option that exports only modified levels, kinda like the option already built into LM. Right now the only command line lets you export single levels and it severely limits the possibilities of command line execution.
Thanks for the reply anyway!
can additional information on which message info box (sprite B9) will display be added in its tooltip? it's hard to know which message will be displayed if score sprite graphics are modified.
There's a little suggestion I have for the overworld editor: when you open the layer 3 and title screen editors there's always this dialog warning you about potential unsaved changes, so would it be possible to detect if there are any changes and show the dialog only when necessary? That's the way things work in the level editor, and that's what you start to miss when you mess with layer 3 a lot.


 
Oversight in the help file: Edit Level ExAnimated Frames instructs you to press "Control + Shift + Page-Down" to unlock the extended tile viewer but it's actually Control + Shift + Alt + Page-Down to unlock it.
Originally posted by RussianMan
can additional information on which message info box (sprite B9) will display be added in its tooltip? it's hard to know which message will be displayed if score sprite graphics are modified.


I suppose it couldn't hurt.

Originally posted by WhiteYoshiEgg
There's a little suggestion I have for the overworld editor: when you open the layer 3 and title screen editors there's always this dialog warning you about potential unsaved changes, so would it be possible to detect if there are any changes and show the dialog only when necessary? That's the way things work in the level editor, and that's what you start to miss when you mess with layer 3 a lot.


Yeah, I should probably change it. The existing prompt setup is a bit of a holdover from way back when the title screen editor was an easter egg available only via keyboard shortcut.

Originally posted by MarioFanGamer
Oversight in the help file: Edit Level ExAnimated Frames instructs you to press "Control + Shift + Page-Down" to unlock the extended tile viewer but it's actually Control + Shift + Alt + Page-Down to unlock it.


The help file is correct, Alt isn't required.
Originally posted by FuSoYa
The help file is correct, Alt isn't required.

Okay, it must be a problem on my end since I didn't recall on pressing Alt before (tried it on older versions where I didn't hold Alt and yup, I had to hold there Alt too). It could be a side effect from one of the Windows updates.
Hey FuSoYa, I have two minor requests for Lunar Magic. I just recently ported my hack over to a new rom, and used the overworld transfer trick. One thing I noticed is that a modified title screen (the layer 3 stuff) doesn't properly get transferred over graphics wise. It's easy enough to reopen my original hack, copy and paste into the new one, but it would be nice if this just transferred like everything else. Overworld borders transfer fine after all.

Also, when in the level editor window of LM, if I have sprites [#lm{sp}] selected, and open the internal emulator my editor mode will swap back over to Layer 1 [or Layer 2 if that was the last 'ground' mode I had selected]. Could this be changed to remain on the sprite mode?

Tool