Originally posted by KaijyuuSpace and organization concerns are pretty valid, I think. Map16 pages take up non-trivial amounts of space, and the map16 editor isn't the most convenient thing to work with (though didn't you mention you're replacing it somehow?).
Quite true. Actually being able to size objects properly and using them compared to the alternative...well, how would you like to build a vanilla level using only Direct Map16 tiles? It probably wouldn't be much fun.
Originally posted by KaijyuuI use conditional map16 for my collectible coins and it works well enough. Problem is I've lost over a full map16 page to said coins since I sometimes need to change their graphics based on the level. Each new coin with unique graphical settings costs me 2 tiles (one for "normal" graphics and one identical to a normal coin on the next page). Close to trivial for mere coins, yes, but if someone were to do something more ambitious than I...
Wait...over a full Map16 page? How many different coins do you have?! Can't you just use ExGFX for GFX33 or overwrite the original animation with ExAnimation on a per-level basis?
Originally posted by KaijyuuThen again all this is about is displaying properly in LM, right? I don't see huge value in support for that so long as custom objects don't screw up LM's display.
The problem isn't
just that they don't show up properly...the problem is that they don't show up properly, but they all look exactly the same (normal objects, at least) and
all look like crap. Just having standardized graphics for them and being able to tell one object from another would be something.
In other news, I have an idea how I'd like to do the alternate animation format. Some of the data that Lunar Magic could use (the patch itself would also use most of it) might look like this:
Codeorg $05B96B
; $05B96B - activation flag
db $42
; $05B96C-$05B98B - VRAM addresses to affect
dw $0400,$0400,$0400 ; animations 00-02
dw $0400,$0400,$0400 ; animations 03-05
dw $0400,$0400,$0400 ; animations 06-08
dw $0400,$0400,$0400 ; animations 09-0B
dw $0400,$0400,$0400 ; animations 0C-0E
dw $0400,$0400,$0400 ; animations 0F-11
dw $0400,$0400,$0400 ; animations 12-14
dw $0400,$0400,$0400 ; animations 15-17
; $05B98C-$05B9D3 - RAM address used for the status of each animation (if the bank byte is FF, then it never changes)
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 00-02
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 03-05
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 06-08
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 09-0B
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 0C-0E
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 0F-11
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 12-14
dl $FFFFFF,$FFFFFF,$FFFFFF ; animations 15-17
; $05B9D4-$05BBA5 - empty (may be used in the future?
padbyte $FF : pad $05BBA6
I still need to find someone who could make a tool for that, though. It wouldn't be hard to edit them manually (and I'd probably do so anyway), but a lot of people might find it tedious. I also still need to find someone to make the aforementioned .dll for the custom object thing; I don't even know C++ myself.
Also, something completely different but equally important: What about adding support for Layer 3 editing (and display, obviously)? I don't know what FuSoYa thinks, but I see literally no disadvantages to being able to do this in Lunar Magic compared to the nightmarish methods we use now (editing the existing images in Terra Stripe, uploading custom stripe images with Roy's stripe image uploader, or uploading tilemaps directly to VRAM with edit1754's generic VRAM uploader). And Layer 3 backgrounds, I think, would be useful to a lot more people than custom objects would; probably the only reason we see so few of them in hacks is because they're such a pain in the butt to use. Then there's all the
other stuff you can do with Layer 3, such as make tides, rising lava, or dark rooms with spotlights like in Yoshi's Island. Even support for the ExGFX Revolution patch (either display only or display and editing) would be nice for some people, although that's more of a niche thing.
Edit: In fact, I'm looking into SMW's Layer 3-related stuff right now. $009FB8 is the big one, the routine that pretty much handles everything (at least, it does in levels, from what I can see). I'm working on a patch for custom Layer 3 images and behaviors; it will use values 04-FF of $1BE3 for this kind of stuff. I also tried to make a patch that uploaded custom stripe images by using uneven values of $12, but that didn't work all that well because of IRQ. (It would be pretty much okay if it weren't for that.)
----------------
I'm working on a hack! Check it out
here. Progress: 64/95 levels.