From Wiki

Jump to: navigation, search

SOM_EX (or SOM_EX.exe on Windows) launches Sword of Moonlight and then serves as a communication console from thereon out. Its job is to load the SomEx module into the host application, however what it actually does at start up is simply prepare the environment before loading SomEx (SomEx.dll on Windows) into itself, which in turn launches the host application with another instance of SomEx loaded into it, and so on, as is the normal course of events for the classical school of Sword of Moonlight applications (SOM_MAIN begets SOM_EDIT begets SOM_PRM, SOM_MAP, and SOM_SYS. And so on.)


Whether invoking from the command-line or a Windows Shortcut SOM_EX accepts four kinds of inputs, all optional and in any order, with a fifth kind where inputs begin with dashes (-) being reserved.

  • The address of a project's SOM file recognized by its .som file extension ending. Relative addresses are relative to the initial directory. Also known as the current or starting directory.
  • The address of the host application. The title of the file must be one of SOM_MAIN, SOM_RUN, SOM_EDIT, SOM_PRM, SOM_MAP, MapComp, SOM_SYS, or SOM_DB. Future targets may include a subset of the Sword of Moonlight proprietary file editors that were later released via the Internet by From Software. While this argument can be a complete file system address, SomEx will likely simply discard all but the title at the end of the address.
  • The absolute address of a directory. This address is understood to be the Sword of Moonlight installation directory. If it is not provided the directory is taken from the Windows Registry as installed by the setup disc or script.
  • Any other text that does not begin with a dash (-) and does not include slashes (/ or \). This text is understood to be the name of a map to be opened or playtested. The name is the name of the map's files in the DATA/MAP folder, not the map's descriptive title. The file extension must be excluded. The name does not pertain to any particular kind of map file, but the group of files as a whole.

If no host application is specified and SOM_EX is the name of the application being run (a standalone game may rename the SOM_EX file to the name of its game) then the host application is determined by default according to the following rules. If a SOM file is not provided then SOM_MAIN becomes the host. If a map is not specified then SOM_EDIT becomes the host. If a map is specified then SOM_DB becomes the host.

All of Sword of Moonlight's icons are embedded within the SOM_EX.exe file, so that it is very convenient to select the icon matching the host application of your shortcut. It should be noted that the host applications were never intended to be operated on an individual basis, however there is no harm inherent in doing so. The original inputs vary and tended toward the unconventional, perhaps intentionally so, in addition to being inflexible and offering no more options than were necessary.