Language…
12 users online: Batata Douce, buzz_lightzyear,  Deeke, Gamet2004, Golden Yoshi, Gorry, Green, LunarianNEET, MellowYouth, Raychu2021, RicardoDeMelo, SiameseTwins - Guests: 263 - Bots: 260
Users: 64,795 (2,376 active)
Latest user: mathew

Lunar Magic suggestions and discussion (LM v2.52)

Link Thread Closed
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 143
  • 144
  • 145
Originally posted by Ayosuf
I could always dig it up again if it's been lost. I modified LM to support it back then on request, and the code has been in LM ever since.

It appears it has been lost, so it'd be awesome if you could dig it up for us.
Originally posted by K3fka
It appears it has been lost, so it'd be awesome if you could dig it up for us.

Indeed...but I just want the ASM source.

Originally posted by Kipernal
Originally posted by byuu
http://byuusan.kuro-hitsuji.net/solar-magic/sm100.zip


Best idea I've seen in a while...but it hangs upon loading an Open File Dialog or Save File Dialog (or at the very least takes an obscene amount of time to load it). Standard drag and drop/command line seems to work fine, though, so it's not a big deal.

The same happens for me, and drag-and-drop is not an option. Command-line *might* be, since I have .smc files set to open with Lunar Magic by default and I could just change the default file association, but...we'll see. p4plus2 actually made something almost identical, but last I knew, his had the same problem.

Originally posted by Kipernal
Also, does anyone know if we can look forward to custom tooltips and sprite collections supporting the extension byte any time soon?

This would be very nice, but I wasn't even going to ask since it seemed like such a remote possibility (and I'm more interested in custom object tooltips). The main problem with that is...how do you make tooltips for something that could potentially have over 4 billion combinations? That would be one heck of a sprite list. (Admittedly, no one would use every possible combination, but enough of them would be used to be troublesome; I, for example, intend to use all 48 possible settings of the Classic Piranha Plant.)

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
> p4plus2 actually made something almost identical, but last I knew, his had the same problem.

The problem's not on our end, it's on your guys' systems. These are *very* common techniques used by dozens of hooking applications. At any rate, it would be good to track it down. But without access to a system where it happens, I can't debug it.

I would really appreciate if a programmer who also has this problem could look into it. Basically, enable and disable each API call until you find out which one causes the problem. Then we'll probably need to dump the kernel32 function entry point code.

It's possible, though unlikely, that a certain version of Windows + service pack does something screwy like an instant JMP to another API call, and the hook is overwriting past the end of the function. This is easy to work around if that's the case.

My system is XP SP3, FWIW. No virus scanner installed, no add-ons loaded that would hook DLLs.

If no programmers can help debug ... then the best I can offer is for you guys to come to my forum and discuss this. I can post builds that enable and disable certain hooks, and we can track down which one is the problem. But you'll have to run a bunch of debug builds for me.

Or just associate SMC with SM, either way =)

-----

EDIT: I renamed the tool to Header Magic, made it generic enough to support any application via configuration files, and started a new thread here:
http://www.smwcentral.net/?p=viewthread&t=48876&page=1#p790569

Please don't discuss Header Magic further in this thread. I do not wish to derail FuSoYa's topic any further. Thanks =)
An easier way of making Screen exits....Yes I know this sound noobish but before I knew how to make Screen exits in Lunar Magic, I was confused out of my mind!!

Maybe something like the screen exit editor of Golden Egg (The Yoshi's Island editor.)

Mickey8715, Please subscribe and comment!
Originally posted by K3fka
Originally posted by Ayosuf
I could always dig it up again if it's been lost. I modified LM to support it back then on request, and the code has been in LM ever since.

It appears it has been lost, so it'd be awesome if you could dig it up for us.


Seems I still had it uploaded at http://fusoya.eludevisibility.org/external/animedit_newest.zip (it's an older tool though, so you may want to backup your ROM just in case).
Yay. I'll make sure to put that tool in my folder for things I'm saving. How does Lunar Magic know that the tool has been used on a ROM, though? I'd like to make a patch version of it.

Also, would it be plausible to support some or all of the unused level modes in SMW? I was reading a wiki page about unused stuff in various Mario games and happened to come across some information about SMW, and there were some interesting things, such as sprite EC originally being an autoscroll sprite that changed the level dimensions partway through. I'd be curious to see what level modes 03, 04, 05, and 06 were supposed to do...and 12-1D, judging by the fact that they all have the same values, could be edited.

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Hey, I just discovered a bug in Lunar Magic. Create a level in a layer 2 level mode, such as 02 and place stuff on layers 1 and 2. Then try to switch to a level mode like 12, which will give you an error. LM then reverts to level mode 00 and merges the layer 2 objects onto layer 1.
Edit: Never mind. You can switch back to level mode 02 and it's fine.

Edit 2: Well, in an attempt to make this post useful, a suggestion: How about the ability to save level screenshots as png files instead of bmp? I don't know how much bloat would be caused by adding png compression code, but it'd help prevent users posting huge images on the forums.
Originally posted by imamelia
I'd be curious to see what level modes 03, 04, 05, and 06 were supposed to do...

To my knowledge, at least one of these makes layer 1 horizontal and layer 2 vertical. I know Smalls had some fun with that a while ago, check the ASM showoff thread.

Originally posted by K3fka
Edit 2: Well, in an attempt to make this post useful, a suggestion: How about the ability to save level screenshots as png files instead of bmp? I don't know how much bloat would be caused by adding png compression code, but it'd help prevent users posting huge images on the forums.

It'd also get rid of a lot of JPGs. Many image hosts convert BMPs to JPG, even though PNG is infinitely much better.
tldr: Yes thanks.
<blm> zsnes users are the flatearthers of emulation
Originally posted by imamelia
Yay. I'll make sure to put that tool in my folder for things I'm saving. How does Lunar Magic know that the tool has been used on a ROM, though? I'd like to make a patch version of it.


LM checks 0x27FE for a byte value of 0x87 to see if it's installed. It then grabs 0xCA8 bytes of tile frame offsets using the pointer at 0x2BBED, and 0x18 bytes of RAM indicators using the pointer at 0x2BB6B.
Originally posted by Ayosuf
LM checks 0x27FE for a byte value of 0x87 to see if it's installed. It then grabs 0xCA8 bytes of tile frame offsets using the pointer at 0x2BBED, and 0x18 bytes of RAM indicators using the pointer at 0x2BB6B.

I see. Why 0xCA8 bytes? If each animation has 8 bytes for the offsets and there are 15 different tilesets...that's only 0x3C0 bytes. Doubling it to account for P-switch and on/off status gives 0x780. Where do the other 0x528 bytes come from? The format must be something different than what I'm thinking. And...RAM indicators? After saving my ROM with the tool, the three bytes at x2BB6B are just "00 00 00".

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
1B animations * F tilesets * 8 for frame offsets = 0xCA8

And sorry, that 0x2BB6B address is the actual RAM indicators, not a pointer. Those are just used to determine the RAM offset to check for with on/off etc blocks.
Originally posted by Ayosuf
1B animations * F tilesets * 8 for frame offsets = 0xCA8

I see.

Originally posted by Ayosuf
And sorry, that 0x2BB6B address is the actual RAM indicators, not a pointer. Those are just used to determine the RAM offset to check for with on/off etc blocks.

But the first 0x18 bytes there still don't seem to have much of a pattern...the first few make sense, presumably 00 for normal animation, 01 for P-switch, and 02 for on/off, but the last 10 bytes aren't like that.

...Well, I'd inquire more into the matter, but...would it be too much to ask for you to support another alternate animation data format? I made another hack for it a while back, and it works fine and would probably be easier to edit if I made it more customizable (which wouldn't be too hard). You could check for a different key byte or bytes, a different pointer.

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by imamelia
But the first 0x18 bytes there still don't seem to have much of a pattern...the first few make sense, presumably 00 for normal animation, 01 for P-switch, and 02 for on/off, but the last 10 bytes aren't like that.


It seems LM is coded to only use entries 6-D. It's possible JW didn't bother making the table a full 0x18 bytes given that not all animations use triggers.


Originally posted by imamelia
...Well, I'd inquire more into the matter, but...would it be too much to ask for you to support another alternate animation data format? I made another hack for it a while back, and it works fine and would probably be easier to edit if I made it more customizable (which wouldn't be too hard). You could check for a different key byte or bytes, a different pointer.


Depends, how different is it from JW's?
I vote for undo buttom, unification with addmusic and spritetool...
... and a crazy idea: Office's ribbon look, that would fit perfectly with the unification of another tools
Check out my levels in SMM2, including a remake of my old hack "Super Mario Epic 2 DX". Maker ID: 1XL-B6V-N5G

Goodbye SMWCentral and happy hacking :)
I'd figured on just having one 0x30-byte table of VRAM addresses, one 0x18-byte table of trigger settings, and one...um...0xB40-byte table of animation data (2 bytes per frame, 4 frames per animation, 2 possible animation states, 0x18 animations, 0xF tilesets). ...Where did you get the 0x1B animations from, anyway? 0x13 would make sense, since SMW ran 3 animations per frame and didn't use the last two on frame 6 or any of the three on frame 7, but..0x1B? In any case, there would just need to be a simple 24-byte pointer to all the data tables, such as $05BB3A, $05B99A, or something.

Speaking of tilesets, would there be any use for tileset F? Maybe for bypassing all original loading routines or something, kind of like how item memory setting 3 disables item memory?

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by mengrid
unification with addmusic and spritetool...


People are never going to give this one up, FuSoYa, so how about a compromise: Have the ability to let the user add buttons to the toolbar that will launch applications at a path they specify (similar to the current method of running an emulator). Something like a text file called "LunarMagic.3pt" that could contain something like the following:

Code
"C:\Users\Name\LunarMagic\SpriteTool\Sprite Tool.exe"
"C:\Users\Name\LunarMagic\SpriteTool\btsd.exe"
"C:\Users\Name\LunarMagic\xkas\xkas.exe" "C:\Users\Name\LunarMagic\xkas\levelASM.asm"</div></div>

You'd also want to allow the .ff4 format to be extended to include icons for these extra buttons.  Quick mock-up:


Unexpected end tag (</div>) at 795, expected </pre>
Unexpected end tag (</div>) at 801, expected </pre>
Tag (pre) was not closed.
Tag (div) was not closed.
I should get a new layout.

Probably won't, though.
Fusoya has on the same day birthday as my dad

Fusoya, you said that you have some "higher" priorities than the rather not-that-important Undo/Zoom Button.

But...what are you priorities? It's so interesting because I don't think that Super Mario World can be improved much more (Except maybe support for Custom Overworld Sprites, but honestly, who uses them? Escepcially since they are only loaded once after you start the game, anyway and other wierd bugs)

And @Kipernal, although the buttons are pretty cool, couldn't they be used to make like 100 different Lunar Magic what is one of Fusoya's intention NOT to happen? Or did I misunderstood you?
Originally posted by Shog
And @Kipernal, although the buttons are pretty cool, couldn't they be used to make like 100 different Lunar Magic what is one of Fusoya's intention NOT to happen? Or did I misunderstood you?


They'd just be links to the tools, not the actual tools themselves. Just like you can run your ROM in an emulator, this would let you run your ROM in a tool of your choice.
I should get a new layout.

Probably won't, though.
I remember suggesting a plugin system but I don't think fusoya liked the idea much.
Originally posted by imamelia
I'd figured on just having one 0x30-byte table of VRAM addresses, one 0x18-byte table of trigger settings, and one...um...0xB40-byte table of animation data (2 bytes per frame, 4 frames per animation, 2 possible animation states, 0x18 animations, 0xF tilesets). ...Where did you get the 0x1B animations from, anyway?


While 2*4*0x18*0xF is indeed 0xB40 bytes, you've forgotten about frames for trigger animations. If you open up JW's editor, you'll notice it includes the trigger animations (8 of them) but does not include the extra 5/18 slots that SMW doesn't make use of, so you have 13+8=0x1B animations.

Assuming you want to go further and allow a full 0x18 animations and also only wish to include trigger states for the ones the game originally did, your table should really be 2*4*(0x18+8)*0xF=0xF00 bytes.

Originally posted by imamelia
Speaking of tilesets, would there be any use for tileset F? Maybe for bypassing all original loading routines or something, kind of like how item memory setting 3 disables item memory?


There are probably better ways to bypass things, where you wouldn't be left wondering what might break in the original game.

Originally posted by mengrid
... and a crazy idea: Office's ribbon look, that would fit perfectly with the unification of another tools


Not really a fan of the ribbon.

Originally posted by Shog
Fusoya, you said that you have some "higher" priorities than the rather not-that-important Undo/Zoom Button. But...what are you priorities?


The most recent priority was replacing the Map16 editor. That's pretty much done though, except for one feature that I might go further on but haven't gotten around to yet.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 143
  • 144
  • 145
Link Thread Closed