Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
0-9
 0, 1
 01, 1
A
 Acknowledgements
 are_opposite_directions
 Author
B
 Bugs and Limitations
C
 canonical_direction
 Changelog
 check_ifm
 choose_input_file_name
 choose_output_file_name
 clean_name
 close_output_file
D
 Description
E
 enable_debug
 enable_quiet
 enable_silence
 exiterr
F
 file_exists
 find_direction
 fix_5J39_room_bug
 Functions
G
 get_height
 get_item
 get_link_and_join
 get_link_go
 get_link_oneway
 get_link_position
 get_options
 get_region
 get_room_name
 get_room_number
 get_room_position
 get_task
 get_title
 get_width
 getopt_exception_handler
 Global,internal
 Global,user configurable
H
 handle_empty_links
I
 ifm
 ifm2i7
 ifm2i7(source code)
 ifm2raw
 Includes
 increment_word
 INSTALL
 Installation
 Instructions
 Internal includes
L
 License
 LICENSE
M
 main
N
$NOWARNINGS
O
 open_output_file
 opposite_direction
 Options
P
 Perl
 Perl modules
 populate_links
 populate_regions
 populate_rooms
 print_exits
 print_links
 print_regions
 print_rooms
 printerr
R
 raw2internal
 Requirements
S
 See Also
 Synopsis
T
 Todo
U
 usage
 User configurable includes
V
 Variables
 verbosity_handler
 Versions
Initial release
The people who made this possible.
sub are_opposite_directions
Checks to see if two directions are opposites of one another.
This program was written by Sergey Goldgaber -- Please see http://code.wetash.com for contact information.
Details below.
sub canonical_direction
Standardize direction names
sub check_ifm
Exit with an error if ifm could not be found in the user’s $PATH, or if it isn’t executable.
sub choose_input_file_name
Set the default file name, if there isn’t one, or use the first command line argument, if it’s there.
sub choose_output_file_name
Set the default file name, if there isn’t one, or use the first command line argument, if it’s there.
sub clean_name
Remove illegal characters from the room, region, and item names, converting some of them to spaces as needed.
sub close_output_file
Redirects the output filehandle back to STDOUT and closes the open output file.
Use this program to convert maps created by ifm, ifmapper, or any other application capable of writing ifm format maps to Inform 7 source code.
sub enable_debug
Enable debugging messages.
sub enable_quiet
Disable warnings.
sub enable_silence
Silence almost all errors and warnings by redirecting STDERR to /dev/null
sub exiterr
Print an error on STDERR and exit.
sub file_exists
Complain and exit if the given file does not exist, or is not a “-”.
sub find_direction
Given two positions on the map, find which direction the second is from the first.
sub fix_5J39_room_bug
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.
sub get_height
Get a height, if it exists, from a line
sub get_item
Get a item, if it exists, from a line
sub get_link_and_join
Get a link or join, if it exists, from a line
sub get_link_go
Gets the link’s ‘go:’ direction, if there is one.
sub get_link_oneway
Gets the link’s ‘oneway:’ value, if there is one.
sub get_link_position
Get a link position, if it exists, from a line
sub get_options
Use the Getopt::Lucid module to get and return options.
sub get_region
Get a region (“section” in ifm lingo), if it exists, from a line
sub get_room_name
Get a room name, if it exists, from a line
sub get_room_number
Get a room number, if it exists, from a line
sub get_room_position
Get a room position, if it exists, from a line
sub get_task
Get a task, if it exists, from a line
sub get_title
Get a title, if it exists, from a line
sub get_width
Get a width, if it exists, from a line
sub getopt_exception_handler
Handle exceptions from Getopt::Lucid->getopt() threw
Please do not modify.
sub handle_empty_links
Calculate a path to/from two linked rooms if there is no explicit path in the just ended link/join block.
Interactive Fiction Mapper
Convert map files generated by ifm (Interactive Fiction Mapper) to Inform 7 source code.
Convert raw format files generated by ifm (Interactive Fiction Mapper) to Inform 7 source code.
sub ifm2raw
Calls ifm to convert ifm format files to ifm’s raw format.
sub increment_word
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.
Installing ifm2i7.
Please see the INSTALL file.
Simply install the requirements and copy the “ifm2i7” script to wherever you’d like to run it from.
Please do not modify.
This program is licensed under the The Hacktivismo Enhanced-Source Software License Agreement (please see the LICENSE file for more details), with the additional provision that no part of this software may be used to wage or support war, or by the military or military contractors.
The Hacktivismo Enhanced-Source Software License Agreement
sub main
Main program
my $NOWARNINGS
sub open_output_file
Redirect STDOUT to the output file.
sub opposite_direction
Return the opposite of the given direction.
Details below.
( Tested only with Perl 5.8.8 )
Some of these you may have to install, while others are built in to Perl.
sub populate_links
Populates %links and prints Inform 7 source code for the direction relation(s) between two rooms.
sub populate_regions
Populate %regions if we just exited a region block Then clear temporary region variables.
sub populate_rooms
Populates %rooms and prints Inform 7 source code that creates a room and places it in a region.
sub print_exits
Prints Inform 7 source code for putting all possible exits from a room on to the status line.
sub print_links
Print Inform 7 source code for every link in %links
sub print_regions
Print Inform 7 source code for every region in %regions
sub print_rooms
Print rooms
sub printerr
Print to STDERR.
sub raw2internal
Read raw format in to internal format
Related applications.
ifm2i7 [OPTIONS] [INPUT [OUTPUT]]
Details below.
sub usage
Print usage
sub verbosity_handler
Handle --verbosity options