folks I should probably point out that these are copyrighted materials and I'm not going to kick up a huge stink over it or anything but it would be preferable if someone would release tools/procedures for extracting them rather than distributing the files themselves
lol, I just wrote one too. Guess it wasn't necessary but I guess here it is if anyone wants it.
Just specify a folder on mine and it'll automatically convert all CSMP files in the folder, plus stick dspadpcm and its required DLLs in the same folder and it'll also convert them to wav for you.
It's technically not even an editor yet :P Need to add an interface for viewing/editing object properties and some move gizmos, among other things...
I ended up rewriting it since the version I was showing before because the backend was terrible. I think with the way it's structured now though, hopefully I can get this stuff implemented fairly easily.
If you have 3DS Max you can use the CMDL import script linked in the first post. Aside from that, no.
hmm, I could probably use some input on the editor + interface though. There's obviously going to be a need to edit a lot of different formats, aside from just rooms - models, sounds, textures, fonts, strings, whatever. I kind of like the idea of having all this stuff in one package. So say you're editing a HUD Memo and there's a field to select what STRG displays onscreen... you could click a button that automatically switches to a STRG-editing interface with the selected STRG loaded, or create a new one from scratch. Or you could click just about any object, and quickly switch into a CMDL editor to tweak materials. Stuff like that. It doesn't really seem that hard to do this stuff from a technical perspective - I'm going to end up making all these tools anyway, not that much harder to put them all in one application - but I can't really wrap my head around how it should work with the UI. Has anyone got any ideas, or am I being too ambitious/is this a bad idea/this stuff should be handled by other external tools or what?
Opening an MLVL file to open up an entire world and then accessing individual rooms from there is also definitely gonna be a necessity at some point instead of loading MREAs directly, because the MLVL contains a lot of stuff that's extremely relevant to an individual room, like layer names, file lists, connected rooms, and aether box coordinates. So basically there's a good chance the MLVL will need to be updated whenever a room file is saved, and if the program has easy access to the MLVL then it can handle all this stuff automatically so the developer doesn't need to think about it. It would also make it simple to automatically generate file dependency lists and repack.
I'm also wondering if we might end up needing our own formats for maintaining project files. I'm not sure if anyone wants to work with "384fb1ed.CMDL" or "12a811ee.TXTR" or "2328wlglkgageheahle;lhe;r.STRG". Hashing the names would make converting actual filenames to file IDs and saving game-compatible formats easy, but the reverse process - looking the files back up based on the IDs - would probably be rather difficult. Custom formats could keep track of the filepaths, though, and then they could simply be converted to the game's formats when you repack.
Also trying to think of what would be the best way to lay out the object-editing interface. An instance list like Retro World Editor had is pretty much necessary, because a lot of objects don't even have position coordinates, and can't be displayed in the viewport; so there's not really any way to access them other than from a list. It'll also make it easy to add lots of options to toggle visibility on layers/objects/individual object instances, which are pretty necessary because otherwise you get scenes that look like this.
Anyhow, I'm probably thinking too far ahead, but all the same, any input on any of this stuff appreciated.