ifm2i7 | Function Index Checks to see if two directions are opposites of one another. Standardize direction names Exit with an error if ifm could not be found in the user’s $PATH, or if it isn’t executable. Set the default file name, if there isn’t one, or use the first command line argument, if it’s there. Set the default file name, if there isn’t one, or use the first command line argument, if it’s there. Remove illegal characters from the room, region, and item names, converting some of them to spaces as needed. Redirects the output filehandle back to STDOUT and closes the open output file. Enable debugging messages. Disable warnings. Silence almost all errors and warnings by redirecting STDERR to /dev/null Print an error on STDERR and exit. Complain and exit if the given file does not exist, or is not a “-”. Given two positions on the map, find which direction the second is from the first. Inform 7 build 5J39 has a bug where using the “called” directive can cause rooms to not be connected to one another, in certain cases. Get a height, if it exists, from a line Get a item, if it exists, from a line Get a link or join, if it exists, from a line Gets the link’s ‘go:’ direction, if there is one. Gets the link’s ‘oneway:’ value, if there is one. Get a link position, if it exists, from a line Use the Getopt::Lucid module to get and return options. Get a region (“section” in ifm lingo), if it exists, from a line Get a room name, if it exists, from a line Get a room number, if it exists, from a line Get a room position, if it exists, from a line Get a task, if it exists, from a line Get a title, if it exists, from a line Get a width, if it exists, from a line Handle exceptions from Getopt::Lucid->getopt() threw Calculate a path to/from two linked rooms if there is no explicit path in the just ended link/join block. Calls ifm to convert ifm format files to ifm’s raw format. Increment the number at the end of a word, or add “2” at the end if there is no existing number at the end of that word. Main program Redirect STDOUT to the output file. Return the opposite of the given direction. Populates %links and prints Inform 7 source code for the direction relation(s) between two rooms. Populate %regions if we just exited a region block Then clear temporary region variables. Populates %rooms and prints Inform 7 source code that creates a room and places it in a region. Prints Inform 7 source code for putting all possible exits from a room on to the status line. Print Inform 7 source code for every link in %links Print Inform 7 source code for every region in %regions Print rooms Print to STDERR. Read raw format in to internal format Print usage Handle --verbosity options |