well, just as a proof of concept I made a superlimited eventsheet xml to ConstructClassic plugin c++ code converter.
It's too limited to be useful, but I did it in about 3 hours, part of which was making an xml reader from TinyXML++ library. It's completely plausible that someone could write a more complete one to convert limited caps with a greater number of ACE entries, that can include the needed objects, etc for any given target platform.
for this example, we're assuming I've written code to include the objects, and they are stored in here:
map<CString,CRunObject*> objs;
this method would only store one of each type, but that's due to me rushing not to any limit of the parsing technique.
so, the only supported ACE as of now are:
Conditions:
--Every Tick:
Actions:
--Set Position
--Set Angle
as an example, I took the eventsheet from this file here:
http://dl.dropbox.com/u/1013446/forumhelp/exampleoftranslation.capx
and it creates the following c++ cc plugin code:
objs["rar"]->info.angle=360;
objs["rar"]->UpdateBoundingBox();
objs["rar"]->info.x=0;
objs["rar"]->info.y=0;
objs["rar"]->UpdateBoundingBox();
objs["rar"]->info.x=65;
objs["rar"]->info.y=80;
objs["rar"]->UpdateBoundingBox();
objs["rar"]->info.x=45;
objs["rar"]->info.y=80;
objs["rar"]->UpdateBoundingBox();
objs["rar"]->info.x=44;
objs["rar"]->info.y=55;
objs["rar"]->UpdateBoundingBox();
objs["twi"]->info.angle=45;
objs["twi"]->UpdateBoundingBox();
objs["twi"]->info.x=14;
objs["twi"]->info.y=255;
objs["twi"]->UpdateBoundingBox();
you'll notice it skipped the start of layout, which also proves it is reading and interpreting the conditions.
As I stated previously, with a little time, someone could make a barebones runtime, with system conditions, and sprite objects, and text objects. An android or iphone native runtime with even those limited features would be a godsend with c2's awesomeness. if it was developed correctly, it could be extended by community members, by having all objects derived from a base type. It's a perfectly viable alternative to waiting for an EDK for anyone who wants to do something like this.