Okay seriously, UNI file reverter must exist. by RukarioGyiyg996 at 9:05 PM EDT on June 9, 2014
If MilkyTracker can open MikMod .UNI files and save the result as a .XM file (which obviously ruins stereo panning if the .UNI was of a ScreamTracker 3 or ImpulseTracker module) why the hell are there no tools to be found on the internet to properly convert a UNI file into it's original tracker module it once was?
I've had to use MilkyTracker to convert .UNI MikMod files to something "playable" outside of MikMod, in various games: Uplink, Acid Tetris (of which I actually ripped the version of "costumed" that was really used in that game), and Ravage.
Why must it exist? If MilkyTracker can load and save XM files out of the stuff (of which if it loaded a fasttracker 2 UNI it pretty much saves a perfect file obviously) then why do google searches for such a thing either come up nothing or people saying "it's impossible"?
I also wonder why, for years already now, ModPlug can't even do anything with .UNI files. Has nobody ever contributed code for it or is there some weird thing going on where they absolutely can't? OpenMPT would be the perfect candidate to facilitate .UNI -> original file conversions.
Maybe, maybe not, here's the thing: "MilkyTracker can import a wide range of tracker module formats but since Milky is a FT2 clone, modules are replayed in an FT2 environment which means not all features of different formats are supported." which you've pointed out already. LoaderUNI.cpp may be useful, but I couldn't tell you how much info it just ignores...
But I think kode is looking for more documentation along the lines of what was intended, rather than rewriting some code. The annotated loader source on modland is probably as close to that as exists now, but it isn't much.
The few UNI files I threw into MilkyTracker gave me exactly what I wanted since the files I threw into it were once FastTracker 2 modules to begin with. So it's loader works just fine for converting those cases.
I am fully aware that throwing UNI files into MilkyTracker that were not used to be FT2 modules would result in inproper files but it doesn't *totally* destroy the song. In the case of ST3 it just ruins the stereo panning.
I'm rather confused by the terms the "annotated loader source" is using, specifically using the term "stream", almost is if .UNI is some sort of logged format?