Tool Request: CRM/Sprite File Decompiler and Compiler

Started by Joseph DiPerla, Sat 01/08/2015 14:36:14

Previous topic - Next topic

Monsieur OUXX

Could we stop talking about other IDE's and framework, and focus on how to make CRM format more open, directly in the game engine/Editor?
 

Crimson Wizard

#21
Quote from: Monsieur OUXX on Mon 24/08/2015 13:19:14
Could we stop talking about other IDE's and framework, and focus on how to make CRM format more open, directly in the game engine/Editor?

CRM = room properties + room background images + compiled script.

Open format: room properties as XML (inside Game.agf or in similar separate file), room background and region masks either in XML or located nearby as bmp files, scripts: we already have ones as *.ash / *.asc pair.

Editor should only work with open format all times. CRM only created on user request or game compilation.


Editor already has proper serialization mechanics. I think rooms are serialized in XML too, just not all of the data saves there. One needs to investigate what is remaining to make XML serialization complete.

There is really not much more in here. (Except for importing existing CRMs for backwards compatibility and restoring projects, which monkey0506's code should be doing in theory)

Monsieur OUXX

There is a RoomLoader.cs (I can't remember the exact name right now) class in monkey's multiroom branch, that does 90% of the work. It's not included in the project though, so I don't know if you've noticed it. I'm not sure if it's reliable or not (I can't get monkey to answer at the moment)
 

Crimson Wizard

Quote from: Monsieur OUXX on Mon 31/08/2015 13:13:05
There is a RoomLoader.cs (I can't remember the exact name right now) class in monkey's multiroom branch, that does 90% of the work. It's not included in the project though, so I don't know if you've noticed it. I'm not sure if it's reliable or not (I can't get monkey to answer at the moment)
That could work, although I remember I did not like the way it deals with aligned structs reading.
Regarding the class not being included into solution, it is possible that monkey was testing this class in a stand-alone project.
In any case, it should be extracted and tested in active development branch, not in old "develop" branch; this may require fixing something.

And I suggest to continue this discussion in correct thread; this is Joseph's thread where he wanted to discuss his own tool idea.

Snarky

Now that you're a mod, you can, by the power vested in yourself, split the thread if you think it belongs in a separate topic. ;)

SMF spam blocked by CleanTalk