Happy early Christmas from the ghost of past-perfect Christmas.
So yeah, I decided to finally pull through on this. Fun fact, I was actually done for a while on most pixi related stuff and only had the CFG-Editor left to worry about. Well, some other pixi stuff did come up eventually so meh.
Anyway, here's v1.02 which is also, most likely, the last version I actively worked on.
That is to say, I've kinda lost motivation for SMW as a whole and working on this tool doesn't really help. I'll do any important bug fix patches or so but other than that I guess this is now free for everyone.
If you want to keep a common source, you can either just file pull-request on github or I could try adding you as editor or whatever it's called, just fire me an email (see profile, not a PM as I likely won't check them).
So yeah, let's get over whats new.
Biggest change is the introduction of json instead of the old cfg files for sprites. The old cfg files will remain compatible but I'd recommend switching over to json. You can use the included CFG-Editor for that. Just note that when opening files, you need to select *.cfg files otherwise it will only show .json.
Json now presents a much more humanly readable and manageable format (except for the base64 encoded stuff).
The new json files can now also contain information on how to display the sprite within Lunar Magic. I tried to replicate the LM editor but it ended up having some shortcomings, it get's the job done though (note to self, use streams next time instead of arrays).
Basically this means that pixi will now create the .ssc, .mwt, .mw2, .s16 files for you:

I added an option to disable the per level sprites feature, since it still causes problems with "freedata align" (a bug within asar). Running the tool with the option -npl (no per level) will have it insert things like normal sprite tool.
You should pay attention though to not use this feature if you have any sprites B0-BF already inserted in levels. Pixi sets the sprites B0-BF to be 7 bytes long by default (3+4 extra bytes as we don't know the per-level needed amount) where as in normal mode it will insert with the actual number selected in the cfg/json file. As such, it could corrupt levels due to sprite size changes.
I've added the option to change the asm path for all you lunatics who throw everything in one huge directory and somehow expect things not to crash...
The tool should now also handle situations where the rom is not in the same folder as the tool better by actually converting the paths to a relative point (either the exe or the rom).
That is to say, paths like sprites, routines, asm, etz. (even when changed via command line) will always use the location of pixi as a reference. Whereas the list file will always use the location of the rom as a reference. Suppose you have:
CodeC:\user\tools\pixi\pixi.exe
C:\user\roms\my_latest_hack\rom.smc
Then when executing, the tool will use:
CodeC:\user\tools\pixi\asm\...
C:\user\tools\pixi\sprites\...
C:\user\tools\pixi\routines\...
C:\user\roms\my_latest_hack\list.txt
C:\user\tools\pixi\shooters\...
and so on.
Couldn't really get to include OW sprites since converting Lui's patch to work with pixi defines is a nightmare. Including the actual functionality within pixi would be no trouble at all (is mostly done and commented out already).
If someone were to pick it up in the future, I'm sure you can just copy-paste most of it. Have it also use .json for ow sprites so that it's possible to create the display files for the OW like for levels now.
Download: SMWC
(under moderation) (accepted),
GitHub
Anime statistic on
MyAnimeList:
400 animes completed ✓
6000 episodes completed ✓
100 Days completed ✓
... what even am I doing with my life?