Code-only Proto Model

Reporter: RobertBColton  |  Status: open  |  Last Modified: December 28, 2018, 12:40:14 AM
This is a recreation of #1379 which got stale and has too many conflicts.

Alright, fundies asked me to do this. Simple change here to convert the old drag and drop actions to code as soon as they are read by the GMK or GMX readers. He also wanted Event message to not have integer ids and subids but instead use a string name like the SOG format.

  • Proto2ES does NOT do the actions->gml conversion now
  • GMK/GMX converts the actions->gml with some special handling (they are emplaced at the back of a vector that is passed to Actions2Code)
  • Actions2Code logic was moved from emake/Proto2ES.cpp to its own source in libEGM/action.cpp and libEGM/action.h
  • A header CommandLine/Util.h was created so that we don't keep copying and pasting string_replace_all everywhere
  • Event no longer has integer based ids and has only a string name based on the same one used by SOG
  • GMK/GMX use the shared event parser to convert their integer event ids into a string name
  • Proto2ES builds a map like SOG in order to convert the event string names back into ids that are usable by EnigmaStruct

The idea here is that we do not plan on serializing or implementing the old drag and drop format anywhere in the UI. We still want people to be able to run games, so we keep the converted code for them. The new action format, if we get around to doing it, will use JDI to parse the GML and comments into a UI like GMS2.

Please sign in to post comments, or you can view this issue on GitHub.