ifmapper 0.9.9 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.txt +36 -1
- data/IFMapper.gemspec +28 -0
- data/TODO.txt +1 -0
- data/docs/{index.html → en/index.html} +1 -1
- data/docs/{start.html → en/start.html} +6 -6
- data/docs/es/index.html +120 -0
- data/docs/es/start.html +1282 -0
- data/lib/IFMapper/FXConnection.rb +2 -2
- data/lib/IFMapper/FXConnectionDialogBox.rb +8 -26
- data/lib/IFMapper/FXMap.rb +36 -33
- data/lib/IFMapper/FXMapColorBox.rb +13 -16
- data/lib/IFMapper/FXMapDialogBox.rb +7 -7
- data/lib/IFMapper/FXMapFileDialog.rb +9 -4
- data/lib/IFMapper/FXMapperSettings.rb +162 -32
- data/lib/IFMapper/FXMapperWindow.rb +197 -202
- data/lib/IFMapper/FXRoomDialogBox.rb +12 -9
- data/lib/IFMapper/FXRoomList.rb +3 -3
- data/lib/IFMapper/FXSection.rb +1 -1
- data/lib/IFMapper/Inform7Writer.rb +103 -26
- data/lib/IFMapper/InformWriter.rb +15 -3
- data/lib/IFMapper/Room.rb +0 -11
- data/lib/IFMapper/TADSWriter.rb +15 -2
- data/lib/IFMapper/TranscriptDialogBox.rb +15 -103
- data/lib/IFMapper/locales/en/Messages.rb +435 -0
- data/lib/IFMapper/locales/es/Messages.rb +440 -0
- data/lib/IFMapper/locales/es/Messages_iso-8859-1.rb +440 -0
- data/lib/IFMapper/locales/es/runme.sh +3 -0
- data/maps/CityOfSecrets.map +0 -0
- data/maps/Janitor.map +0 -0
- metadata +28 -21
@@ -1,112 +1,24 @@
|
|
1
1
|
|
2
2
|
class TranscriptDialogBox < FXDialogBox
|
3
3
|
|
4
|
-
|
5
|
-
"Classic Mode expects a short name description for all
|
6
|
-
locations, where all words of 5 or more characters to are
|
7
|
-
capitalized and where there is no period.
|
8
|
-
Commands always begin with a > prompt.",
|
9
|
-
"Capitalized Mode expects a short name description for all
|
10
|
-
locations, where only the first word needs to be capitalized
|
11
|
-
and there is no period.
|
12
|
-
Commands always begin with a > prompt.",
|
13
|
-
"Moonmist mode describes locations in parenthesis, with 'You
|
14
|
-
are...' prefixed and a period at the end, inside the parenthesis.
|
15
|
-
Commands always begin with a > prompt.",
|
16
|
-
"Witness mode expects locations described as normal prose, using
|
17
|
-
'You are...' as an introductory paragraph. When in brief mode,
|
18
|
-
locations are expected to be in parenthesis.
|
19
|
-
Commands always begin with a > prompt.",
|
20
|
-
"ADRIFT mode expects locations to be like in Classic Mode (short
|
21
|
-
names where all words of 5 or more characters are capitalized).
|
22
|
-
However, commands do not begin with any type of prompt but start
|
23
|
-
with a lowercase word without any margin.",
|
24
|
-
]
|
25
|
-
|
26
|
-
LOCATION_TEXT = [
|
27
|
-
"
|
28
|
-
> look
|
29
|
-
West of House
|
30
|
-
You are standing in an open field west of a white house, with a boarded
|
31
|
-
front door.
|
32
|
-
",
|
33
|
-
"
|
34
|
-
> look
|
35
|
-
Women's change room
|
36
|
-
Your heels click loudly on the tiles, echoing down the banks of lockers
|
37
|
-
that line the sides of the room.
|
38
|
-
",
|
39
|
-
"
|
40
|
-
> look
|
41
|
-
(You are now in the driveway.)
|
42
|
-
(You're sitting in the sports car.)
|
43
|
-
You are by the front gate of the Tresyllian Castle. You can hear the ocean
|
44
|
-
beating urgently against the rocks far below.
|
45
|
-
",
|
46
|
-
"
|
47
|
-
> look
|
48
|
-
You are now in the driveway entrance.
|
49
|
-
You are standing at the foot of the driveway, the entrance to the
|
50
|
-
Linder property. The entire lot is screened from the street and the
|
51
|
-
neighbors by a wooden fence, except on the east side, which fronts on
|
52
|
-
dense bamboo woods.
|
53
|
-
",
|
54
|
-
"
|
55
|
-
look
|
56
|
-
Front of Mall
|
57
|
-
Although four-wheeled vehicles do pass through, this autonomous
|
58
|
-
spot of pavement is too narrow a place for them to stall. It is just
|
59
|
-
right for bicycles and motorbikes such as yours.
|
60
|
-
",
|
61
|
-
]
|
62
|
-
|
63
|
-
LOCATION2_TEXT = [
|
64
|
-
"
|
65
|
-
West of House
|
66
|
-
",
|
67
|
-
"
|
68
|
-
Women's change room
|
69
|
-
",
|
70
|
-
"
|
71
|
-
(You are in the driveway.)
|
72
|
-
",
|
73
|
-
"
|
74
|
-
(driveway entrance)
|
75
|
-
",
|
76
|
-
"
|
77
|
-
Front of Mall
|
78
|
-
",
|
79
|
-
]
|
80
|
-
|
81
|
-
IDENTIFY_TYPE = [
|
82
|
-
'By Descriptions',
|
83
|
-
'By Short Name',
|
84
|
-
]
|
85
|
-
|
86
|
-
SHORTNAME_TYPE = [
|
87
|
-
'Classic',
|
88
|
-
'Capitalized',
|
89
|
-
'Moonmist',
|
90
|
-
'Witness',
|
91
|
-
'ADRIFT',
|
92
|
-
]
|
4
|
+
|
93
5
|
|
94
6
|
def copy_from(transcript)
|
95
7
|
@transcript = transcript
|
96
8
|
@type.currentNo = transcript.identify
|
97
9
|
@short.currentNo = transcript.shortName
|
98
|
-
@exp.text =
|
99
|
-
@show.text =
|
100
|
-
@show2.text =
|
10
|
+
@exp.text = TRANSCRIPT_EXPLANATION_TEXT[@short.currentNo]
|
11
|
+
@show.text = TRANSCRIPT_LOCATION_TEXT[@short.currentNo]
|
12
|
+
@show2.text = TRANSCRIPT_LOCATION2_TEXT[@short.currentNo]
|
101
13
|
parent = transcript.map.window
|
102
14
|
end
|
103
15
|
|
104
16
|
def copy_to()
|
105
17
|
@transcript.identify = @type.currentNo
|
106
18
|
@transcript.shortName = @short.currentNo
|
107
|
-
@exp.text =
|
108
|
-
@show.text =
|
109
|
-
@show2.text =
|
19
|
+
@exp.text = TRANSCRIPT_EXPLANATION_TEXT[@short.currentNo]
|
20
|
+
@show.text = TRANSCRIPT_LOCATION_TEXT[@short.currentNo]
|
21
|
+
@show2.text = TRANSCRIPT_LOCATION2_TEXT[@short.currentNo]
|
110
22
|
end
|
111
23
|
|
112
24
|
def initialize(transcript)
|
@@ -118,16 +30,16 @@ Front of Mall
|
|
118
30
|
pos[1] = maxH if pos[1] > maxH
|
119
31
|
|
120
32
|
decor = DECOR_TITLE|DECOR_BORDER|DECOR_CLOSE
|
121
|
-
super( map.window,
|
33
|
+
super( map.window, BOX_TRANSCRIPT, decor, pos[0], pos[1], 0, 0 )
|
122
34
|
|
123
35
|
mainFrame = FXVerticalFrame.new(self,
|
124
36
|
FRAME_SUNKEN|FRAME_THICK|
|
125
37
|
LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
126
38
|
|
127
39
|
frame = FXHorizontalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
|
128
|
-
FXLabel.new(frame,
|
40
|
+
FXLabel.new(frame, BOX_TRANSCRIPT_STYLE, nil, 0, LAYOUT_FILL_X)
|
129
41
|
pane = FXPopup.new(self)
|
130
|
-
|
42
|
+
TRANSCRIPT_SHORTNAME_TYPE.each { |t|
|
131
43
|
FXOption.new(pane, t, nil, nil, 0, JUSTIFY_HZ_APART|ICON_AFTER_TEXT)
|
132
44
|
}
|
133
45
|
@short = FXOptionMenu.new(frame, pane, FRAME_RAISED|FRAME_THICK|
|
@@ -136,9 +48,9 @@ Front of Mall
|
|
136
48
|
|
137
49
|
|
138
50
|
frame = FXHorizontalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
|
139
|
-
FXLabel.new(frame,
|
51
|
+
FXLabel.new(frame, BOX_TRANSCRIPT_IDENTIFY, nil, 0, LAYOUT_FILL_X)
|
140
52
|
pane = FXPopup.new(self)
|
141
|
-
|
53
|
+
TRANSCRIPT_IDENTIFY_TYPE.each { |t|
|
142
54
|
FXOption.new(pane, t, nil, nil, 0, JUSTIFY_HZ_APART|ICON_AFTER_TEXT)
|
143
55
|
}
|
144
56
|
@type = FXOptionMenu.new(frame, pane, FRAME_RAISED|FRAME_THICK|
|
@@ -148,7 +60,7 @@ Front of Mall
|
|
148
60
|
|
149
61
|
|
150
62
|
frame = FXVerticalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
|
151
|
-
FXLabel.new(frame,
|
63
|
+
FXLabel.new(frame, BOX_TRANSCRIPT_EXPLANATION, nil, 0, LAYOUT_FILL_X)
|
152
64
|
@exp = FXText.new(frame, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
153
65
|
@exp.visibleRows = 4
|
154
66
|
@exp.visibleColumns = 60
|
@@ -156,12 +68,12 @@ Front of Mall
|
|
156
68
|
@exp.disable
|
157
69
|
|
158
70
|
frame = FXVerticalFrame.new(mainFrame, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
|
159
|
-
FXLabel.new(frame,
|
71
|
+
FXLabel.new(frame, BOX_TRANSCRIPT_VERBOSE, nil, 0, LAYOUT_FILL_X)
|
160
72
|
@show = FXText.new(frame, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
161
73
|
@show.visibleRows = 9
|
162
74
|
@show.visibleColumns = 60
|
163
75
|
@show.disable
|
164
|
-
FXLabel.new(frame,
|
76
|
+
FXLabel.new(frame, BOX_TRANSCRIPT_BRIEF, nil, 0, LAYOUT_FILL_X)
|
165
77
|
@show2 = FXText.new(frame, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
|
166
78
|
@show2.visibleRows = 3
|
167
79
|
@show2.visibleColumns = 60
|
@@ -0,0 +1,435 @@
|
|
1
|
+
################
|
2
|
+
TITLE = '#{PROGRAM_NAME} v#{VERSION} - Written by #{AUTHOR}'
|
3
|
+
|
4
|
+
################ Errors
|
5
|
+
ERR_NO_YAML =<<'EOF'
|
6
|
+
EOF
|
7
|
+
ERR_COULD_NOT_SAVE = 'Could not save'
|
8
|
+
ERR_COULD_NOT_LOAD = 'Could not load'
|
9
|
+
ERR_NO_ICON = 'Could not load icon: '
|
10
|
+
ERR_NO_PRINTING = <<'EOF'
|
11
|
+
Sorry, but printing is not yet implemented
|
12
|
+
in this version.
|
13
|
+
EOF
|
14
|
+
ERR_NO_FREE_ROOM = 'Sorry. No free room in map to paste the nodes.'
|
15
|
+
ERR_NO_MATCHES = 'No matches for regex'
|
16
|
+
ERR_CANNOT_AUTOMAP = 'Cannot automap.'
|
17
|
+
ERR_READ_ONLY_MAP = "Map is in Read Only Mode. Go to Map Information to change this."
|
18
|
+
ERR_CANNOT_MOVE_SELECTION = 'Cannot move selection'
|
19
|
+
ERR_CANNOT_OPEN_TRANSCRIPT = 'Cannot open transcript'
|
20
|
+
ERR_PARSE_TRANSCRIPT = "Internal error parsing transcript\nPlease report as a bug"
|
21
|
+
ERR_COULD_NOT_OPEN_WEB_BROWSER = 'Could not open any web browser'
|
22
|
+
ERR_PATH_FOR_CONNECTION = 'Path for connection'
|
23
|
+
ERR_IS_BLOCKED = 'is blocked'
|
24
|
+
|
25
|
+
################ Messages
|
26
|
+
MSG_LOAD_MAP = 'Load New Map'
|
27
|
+
MSG_SAVING = 'Saving'
|
28
|
+
MSG_SAVED = 'Saved'
|
29
|
+
MSG_LOADING = 'Loading'
|
30
|
+
MSG_LOADED = 'Loaded'
|
31
|
+
MSG_EMPTY_MAP = 'Empty Map'
|
32
|
+
MSG_PRINT_MAP = 'Print Map'
|
33
|
+
MSG_PRINT_LOC = 'Print Locations'
|
34
|
+
MSG_MATCHES = 'matches'
|
35
|
+
MSG_MATCHES_IN_MAP = 'matches in map'
|
36
|
+
MSG_MATCHES_IN_SECTION = 'in section'
|
37
|
+
MSG_FIND_LOCATION_IN_MAP = 'Find Location in Map'
|
38
|
+
MSG_FIND_LOCATION_IN_SECTION = 'Find Location in this Section'
|
39
|
+
MSG_FIND_OBJECT_IN_MAP = 'Find Object in Map'
|
40
|
+
MSG_FIND_TASK_IN_MAP = 'Find Task in Map'
|
41
|
+
MSG_FIND_DESCRIPTION_IN_MAP = 'Find in Description in Map'
|
42
|
+
MSG_ABOUT_SOFTWARE = 'About This Software...'
|
43
|
+
MSG_ABOUT = <<'EOF'
|
44
|
+
#{PROGRAM_NAME} - #{VERSION}
|
45
|
+
Written by #{AUTHOR}.
|
46
|
+
|
47
|
+
FXRuby Version: #{Fox::fxrubyversion}
|
48
|
+
|
49
|
+
A WYSIWYG mapping tool for interactive fiction.
|
50
|
+
|
51
|
+
ggarra@advancedsl.com.ar
|
52
|
+
EOF
|
53
|
+
|
54
|
+
MSG_SAVE_MAP = 'Save Map'
|
55
|
+
|
56
|
+
MSG_SAVE_MAP_AS_IFM = 'Save Map as IFM File'
|
57
|
+
FMT_IFM = 'IFM Map (*.ifm)'
|
58
|
+
|
59
|
+
MSG_SAVE_MAP_AS_INFORM = 'Save Map as Inform Files'
|
60
|
+
FMT_INFORM = 'Inform Source Code (*.inf,*.inform)'
|
61
|
+
|
62
|
+
MSG_SAVE_MAP_AS_TADS = 'Save Map as TADS Files'
|
63
|
+
FMT_TADS = 'TADS Source Code (*.t)'
|
64
|
+
|
65
|
+
MSG_SAVE_MAP_AS_PDF = 'Save Map as Acrobat PDF'
|
66
|
+
FMT_PDF = 'Acrobat PDF (*.pdf)'
|
67
|
+
|
68
|
+
MSG_HOTKEYS = <<'EOF'
|
69
|
+
|
70
|
+
LMB - Left Mouse Button
|
71
|
+
MMB - Middle Mouse Button
|
72
|
+
RMB - Right Mouse Button
|
73
|
+
|
74
|
+
Mouse controls
|
75
|
+
--------------
|
76
|
+
|
77
|
+
Use LMB to add new locations or connections among rooms.
|
78
|
+
|
79
|
+
Click with LMB on any room or connection to select it.
|
80
|
+
|
81
|
+
Double click on rooms or connections to access their properties.
|
82
|
+
|
83
|
+
Click several times on an existing connecion to establish a one-way
|
84
|
+
connection.
|
85
|
+
|
86
|
+
Drag with MMB or ALT + LMB to scroll around the page.
|
87
|
+
|
88
|
+
Use mousewheel to zoom in and out.
|
89
|
+
|
90
|
+
Use RMB after selecting a connection to bring a menu to allow you
|
91
|
+
to flip its direction or to attach it to some other exit in one
|
92
|
+
of the rooms.
|
93
|
+
|
94
|
+
Keyboard controls
|
95
|
+
-----------------
|
96
|
+
|
97
|
+
Use 'x' to start a new complex connection (ie. a connection across
|
98
|
+
rooms that are not neighbors), then click on each exit of each room.
|
99
|
+
|
100
|
+
Use 'Delete' or 'Backspace' to remove any selected connection or room.
|
101
|
+
|
102
|
+
Use arrow keys or numeric keypad to move selected rooms around
|
103
|
+
the page, one unit at a time.
|
104
|
+
|
105
|
+
Use CTRL + LMB when adding a connection to create a dead-end
|
106
|
+
connection (one that loops onto itself)
|
107
|
+
|
108
|
+
EOF
|
109
|
+
|
110
|
+
MSG_LOAD_TRANSCRIPT = 'Load Transcript'
|
111
|
+
MSG_NEW_LOCATION = 'New Location'
|
112
|
+
MSG_OPENING_WEB_PAGE = 'Opening web page'
|
113
|
+
|
114
|
+
TRANSCRIPT_EXPLANATION_TEXT = [
|
115
|
+
"Classic Mode expects a short name description for all
|
116
|
+
locations, where all words of 5 or more characters to are
|
117
|
+
capitalized and where there is no period.
|
118
|
+
Commands always begin with a > prompt.",
|
119
|
+
"Capitalized Mode expects a short name description for all
|
120
|
+
locations, where only the first word needs to be capitalized
|
121
|
+
and there is no period.
|
122
|
+
Commands always begin with a > prompt.",
|
123
|
+
"Moonmist mode describes locations in parenthesis, with 'You
|
124
|
+
are...' prefixed and a period at the end, inside the parenthesis.
|
125
|
+
Commands always begin with a > prompt.",
|
126
|
+
"Witness mode expects locations described as normal prose, using
|
127
|
+
'You are...' as an introductory paragraph. When in brief mode,
|
128
|
+
locations are expected to be in parenthesis.
|
129
|
+
Commands always begin with a > prompt.",
|
130
|
+
"ADRIFT mode expects locations to be like in Classic Mode (short
|
131
|
+
names where all words of 5 or more characters are capitalized).
|
132
|
+
However, commands do not begin with any type of prompt but start
|
133
|
+
with a lowercase word without any margin.",
|
134
|
+
]
|
135
|
+
|
136
|
+
|
137
|
+
TRANSCRIPT_LOCATION_TEXT = [
|
138
|
+
"
|
139
|
+
> look
|
140
|
+
West of House
|
141
|
+
You are standing in an open field west of a white house, with a boarded
|
142
|
+
front door.
|
143
|
+
",
|
144
|
+
"
|
145
|
+
> look
|
146
|
+
Women's change room
|
147
|
+
Your heels click loudly on the tiles, echoing down the banks of lockers
|
148
|
+
that line the sides of the room.
|
149
|
+
",
|
150
|
+
"
|
151
|
+
> look
|
152
|
+
(You are now in the driveway.)
|
153
|
+
(You're sitting in the sports car.)
|
154
|
+
You are by the front gate of the Tresyllian Castle. You can hear the ocean
|
155
|
+
beating urgently against the rocks far below.
|
156
|
+
",
|
157
|
+
"
|
158
|
+
> look
|
159
|
+
You are now in the driveway entrance.
|
160
|
+
You are standing at the foot of the driveway, the entrance to the
|
161
|
+
Linder property. The entire lot is screened from the street and the
|
162
|
+
neighbors by a wooden fence, except on the east side, which fronts on
|
163
|
+
dense bamboo woods.
|
164
|
+
",
|
165
|
+
"
|
166
|
+
look
|
167
|
+
Front of Mall
|
168
|
+
Although four-wheeled vehicles do pass through, this autonomous
|
169
|
+
spot of pavement is too narrow a place for them to stall. It is just
|
170
|
+
right for bicycles and motorbikes such as yours.
|
171
|
+
",
|
172
|
+
]
|
173
|
+
|
174
|
+
TRANSCRIPT_LOCATION2_TEXT = [
|
175
|
+
"
|
176
|
+
West of House
|
177
|
+
",
|
178
|
+
"
|
179
|
+
Women's change room
|
180
|
+
",
|
181
|
+
"
|
182
|
+
(You are in the driveway.)
|
183
|
+
",
|
184
|
+
"
|
185
|
+
(driveway entrance)
|
186
|
+
",
|
187
|
+
"
|
188
|
+
Front of Mall
|
189
|
+
",
|
190
|
+
]
|
191
|
+
|
192
|
+
|
193
|
+
TRANSCRIPT_IDENTIFY_TYPE = [
|
194
|
+
'By Descriptions',
|
195
|
+
'By Short Name',
|
196
|
+
]
|
197
|
+
|
198
|
+
TRANSCRIPT_SHORTNAME_TYPE = [
|
199
|
+
'Classic',
|
200
|
+
'Capitalized',
|
201
|
+
'Moonmist',
|
202
|
+
'Witness',
|
203
|
+
'ADRIFT',
|
204
|
+
]
|
205
|
+
|
206
|
+
############ Window Titles
|
207
|
+
TITLE_READ_ONLY = '[Read Only]'
|
208
|
+
TITLE_AUTOMAP = '[Automap]'
|
209
|
+
TITLE_ZOOM = 'Zoom:'
|
210
|
+
TITLE_SECTION = 'Section'
|
211
|
+
TITLE_OF = 'of'
|
212
|
+
|
213
|
+
|
214
|
+
############ Extensions
|
215
|
+
EXT_TRANSCRIPT = 'Transcript File (*.log,*.scr,*.txt)'
|
216
|
+
EXT_ALL_FILES = 'All Files (*)'
|
217
|
+
EXT_MAP_FILES = 'Archivos de Mapas'
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
############ Status messages
|
222
|
+
MSG_COMPLEX_CONNECTION = 'Click on first room exit in complex connection.'
|
223
|
+
MSG_COMPLEX_CONNECTION_OTHER_EXIT = 'Click on other room exit in complex connection.'
|
224
|
+
MSG_COMPLEX_CONNECTION_STOPPED = 'Complex connection interrupted.'
|
225
|
+
MSG_COMPLEX_CONNECTION_DONE = 'Complex connection done.'
|
226
|
+
|
227
|
+
MSG_CLICK_TO_SELECT_AND_MOVE = 'Click to select and move. Double click to edit.'
|
228
|
+
MSG_CLICK_CHANGE_DIR = 'Click to change direction of connection.'
|
229
|
+
MSG_CLICK_CREATE_ROOM = 'Click to create new room.'
|
230
|
+
MSG_CLICK_CREATE_LINK = 'Click to create new connection.'
|
231
|
+
|
232
|
+
############ Warnings
|
233
|
+
WARN_DELETE_SECTION = 'Are you sure you want to delete this section?'
|
234
|
+
WARN_OVERWRITE_MAP = 'already exists. Are you sure you want to overwrite it?'
|
235
|
+
WARN_MAP_SMALL = "When changing map size,\nsome rooms will be left outside of map.\nThese rooms will be deleted.\nAre you sure you want to do this?"
|
236
|
+
|
237
|
+
############ Menus
|
238
|
+
MENU_FILE = "&File"
|
239
|
+
MENU_NEW = "&New...\tCtl-N\tCreate new document."
|
240
|
+
MENU_OPEN = "&Open...\tCtl-O\tOpen document file."
|
241
|
+
MENU_SAVE = "&Save\tCtl-S\tSave document."
|
242
|
+
MENU_SAVE_AS = "Save &As...\t\tSave document to another file."
|
243
|
+
|
244
|
+
MENU_EXPORT = 'Export'
|
245
|
+
MENU_EXPORT_PDF = "&Export as PDF...\t\tExport map as Acrobat PDF document."
|
246
|
+
MENU_EXPORT_IFM = "&Export as IFM...\t\tExport map as an IFM map."
|
247
|
+
MENU_EXPORT_INFORM = "&Export as Inform Source...\t\tExport map as an Inform source code file."
|
248
|
+
MENU_EXPORT_TADS = "&Export as TADS3 Source...\t\tExport map as a TADS3 source code file."
|
249
|
+
|
250
|
+
MENU_PRINT = 'Print'
|
251
|
+
MENU_PRINT_MAP = "&Map...\t\tPrint map (as graph)."
|
252
|
+
MENU_PRINT_LOCATIONS = "&Locations...\t\tPrint map locations as text list."
|
253
|
+
|
254
|
+
MENU_QUIT = "&Quit\tCtl-Q\tQuit the application."
|
255
|
+
|
256
|
+
|
257
|
+
MENU_EDIT = '&Edit'
|
258
|
+
MENU_COPY = "&Copy\tCtl-C\tCopy Location Data"
|
259
|
+
MENU_CUT = "Cu&t\tCtl-X\tCut Location"
|
260
|
+
MENU_PASTE = "&Paste\tCtl-V\tPaste Location Data"
|
261
|
+
|
262
|
+
MENU_MAP = '&Map'
|
263
|
+
MENU_SELECT = 'Select'
|
264
|
+
MENU_SELECT_ALL = "&All Locations\tAlt-A\tSelect all locations in section"
|
265
|
+
MENU_SELECT_NONE = "&None\tAlt-N\tClear selection in section."
|
266
|
+
|
267
|
+
MENU_SEARCH = 'Search'
|
268
|
+
MENU_SEARCH_MAP = "&Location in Map\tCtl-F\tFind a Location Name in Map"
|
269
|
+
MENU_SEARCH_SECTION = "Location in &Section\tAlt-F\tFind a Location Name in Current Section"
|
270
|
+
MENU_SEARCH_OBJECT = "&Object in Map\tAlt-O\tFind Location with an Object in the Map"
|
271
|
+
MENU_SEARCH_TASK = "&Task in Map\tAlt-T\tFind Location with a Task in the Map"
|
272
|
+
MENU_SEARCH_DESCRIPTION = "&Keyword in Descriptions\tAlt-D\tFind Location with Description Keyword in the Map"
|
273
|
+
|
274
|
+
MENU_COMPLEX_CONNECTION = "Comple&x Connection\tx\tCreate a complex connection."
|
275
|
+
MENU_DELETE = "Delete\tDel\tDelete selected locations or connections."
|
276
|
+
|
277
|
+
MENU_MAP_INFO = "Map Information\t\tChange map information."
|
278
|
+
MENU_ROOM_LIST = "Room List\t\tList all rooms in map."
|
279
|
+
|
280
|
+
|
281
|
+
MENU_AUTOMAP = 'Automap'
|
282
|
+
MENU_AUTOMAP_START = "&Start...\tCtl-T\tStart creating map from transcript file."
|
283
|
+
MENU_AUTOMAP_STOP = "S&top...\tCtl-P\tStop autocreating map."
|
284
|
+
MENU_AUTOMAP_PROPERTIES = "&Properties...\tCtl-H\tTranscript properties."
|
285
|
+
|
286
|
+
|
287
|
+
MENU_SECTIONS = 'Sections'
|
288
|
+
MENU_NEXT_SECTION = "Next Section\t\tGo to Next Map Section."
|
289
|
+
MENU_PREVIOUS_SECTION = "Previous Section\t\tGo to Previous Map Section."
|
290
|
+
MENU_ADD_SECTION = "Add Section\t\tAdd a New Section to Map."
|
291
|
+
MENU_RENAME_SECTION = "Rename Section\t\tRename Current Section."
|
292
|
+
MENU_DELETE_SECTION = "Delete Section\t\tDelete Current Section from Map."
|
293
|
+
|
294
|
+
|
295
|
+
MENU_ZOOM_PERCENT = '#{v}%\t\tZoom page to #{v}%.'
|
296
|
+
MENU_ZOOM = 'Zoom'
|
297
|
+
|
298
|
+
|
299
|
+
MENU_OPTIONS = 'Options'
|
300
|
+
MENU_EDIT_ON_CREATION = "Edit on Creation\t\tEdit locations on creation."
|
301
|
+
MENU_AUTOMATIC_CONNECTION = "Automatic Connection\t\tConnect new location to adjacent one."
|
302
|
+
MENU_CREATE_ON_CONNECTION = "Create on Connectionn\t\tCreate missing locations when creating a connection."
|
303
|
+
|
304
|
+
|
305
|
+
MENU_DISPLAY = 'Display'
|
306
|
+
MENU_USE_ROOM_CURSOR = "Use Room Cursor\t\tMake your mouse cursor a room showing the direction of exit."
|
307
|
+
MENU_PATHS_AS_CURVES = "Paths as Curves\t\tDraw complex paths as curves."
|
308
|
+
MENU_LOCATION_NUMBERS = "Location Numbers\t\tShow Location Numbers."
|
309
|
+
MENU_LOCATION_TASKS = "Location Tasks\t\tShow Tasks in Location Edit Box."
|
310
|
+
MENU_LOCATION_DESC = "Location Description\t\tShow Description in Location Edit Box."
|
311
|
+
MENU_BOXES = "Boxes\t\tDraw dashed box guidelines."
|
312
|
+
MENU_STRAIGHT_CONN = "Straight Connections\t\tDraw dashed N/S/E/W guidelines"
|
313
|
+
MENU_DIAGONAL_CONN = "Diagonal Connections\t\tDraw dashed NW/NE/SW/SE guidelines"
|
314
|
+
|
315
|
+
MENU_PREFS = 'Preferences'
|
316
|
+
MENU_LANGUAGE = "Language\t\tChange the default lenguage of the application."
|
317
|
+
MENU_COLORS = "Colors\t\tChange map colors."
|
318
|
+
MENU_SAVE_PREFS = "Save Preferences\t\tSave Preferences for Startup"
|
319
|
+
|
320
|
+
MENU_WINDOW = '&Window'
|
321
|
+
MENU_TILE_HORIZONTALLY = "Tile &Horizontally"
|
322
|
+
MENU_TILE_VERTICALLY = "Tile &Vertically"
|
323
|
+
MENU_CASCADE = 'C&ascade'
|
324
|
+
MENU_CLOSE = '&Close'
|
325
|
+
MENU_OTHERS = '&Others...'
|
326
|
+
|
327
|
+
MENU_HELP = '&Help'
|
328
|
+
MENU_HOTKEYS = '&Hotkeys'
|
329
|
+
MENU_INSTRUCTIONS = '&Instructions'
|
330
|
+
MENU_ABOUT = '&About'
|
331
|
+
MENU_RESOURCE = "&Resource Code"
|
332
|
+
|
333
|
+
############ Edit Boxes
|
334
|
+
|
335
|
+
BOX_INSTRUCTIONS = 'Instructions'
|
336
|
+
BOX_HOTKEYS = 'Hotkeys'
|
337
|
+
|
338
|
+
BOX_ROOM_INFORMATION = 'Room Information'
|
339
|
+
BOX_LOCATION = 'Location: '
|
340
|
+
BOX_OBJECTS = 'Objects: '
|
341
|
+
BOX_DARKNESS = 'Darkness'
|
342
|
+
BOX_TASKS = 'Tasks: '
|
343
|
+
BOX_DESCRIPTION = 'Description: '
|
344
|
+
|
345
|
+
BOX_CONNECTION_TYPE = 'Connection Type: '
|
346
|
+
BOX_CONNECTION_TYPE_TEXT = [
|
347
|
+
'Free',
|
348
|
+
'Door',
|
349
|
+
'Locked',
|
350
|
+
'Special',
|
351
|
+
]
|
352
|
+
BOX_DIRECTION = 'Direction: '
|
353
|
+
BOX_DIR_TEXT = [
|
354
|
+
'Both',
|
355
|
+
'One Way',
|
356
|
+
]
|
357
|
+
BOX_EXIT_A_TEXT = 'Exit A Text:'
|
358
|
+
BOX_EXIT_B_TEXT = 'Exit B Text:'
|
359
|
+
BOX_EXIT_TEXT = [
|
360
|
+
'None',
|
361
|
+
'Up',
|
362
|
+
'Down',
|
363
|
+
'In',
|
364
|
+
'Out',
|
365
|
+
]
|
366
|
+
|
367
|
+
BOX_LOCATIONS = 'Locations'
|
368
|
+
BOX_SECTION = 'Section'
|
369
|
+
BOX_NAME = 'Name'
|
370
|
+
|
371
|
+
BOX_MAP_INFORMATION = 'Map Information'
|
372
|
+
BOX_MAP_READ_ONLY = 'Read Only Map'
|
373
|
+
BOX_MAP_CREATOR = 'Creator:'
|
374
|
+
BOX_MAP_WIDTH = 'Map Width'
|
375
|
+
BOX_MAP_HEIGHT = 'Map Height'
|
376
|
+
|
377
|
+
BOX_TRANSCRIPT = 'Transcript Options'
|
378
|
+
BOX_TRANSCRIPT_STYLE = 'Transcript Style: '
|
379
|
+
BOX_TRANSCRIPT_IDENTIFY = 'Identify Locations: '
|
380
|
+
BOX_TRANSCRIPT_EXPLANATION = 'Explanation: '
|
381
|
+
BOX_TRANSCRIPT_VERBOSE = 'Sample Verbose Mode: '
|
382
|
+
BOX_TRANSCRIPT_BRIEF = 'Sample Brief Mode: '
|
383
|
+
|
384
|
+
BOX_COLOR = 'Color Preferences'
|
385
|
+
BOX_BG_COLOR = '&Background Color'
|
386
|
+
BOX_ARROWS_COLOR = '&Arrows Color'
|
387
|
+
BOX_BOX_BG_COLOR = '&Box Background Color'
|
388
|
+
BOX_BOX_DARK_COLOR = '&Box Darkness Color'
|
389
|
+
BOX_BOX_BORDER_COLOR = '&Box Border Color'
|
390
|
+
BOX_BOX_NUMBER_COLOR = '&Box Number Color'
|
391
|
+
|
392
|
+
########### Buttons
|
393
|
+
BUTTON_YES = '&Yes'
|
394
|
+
BUTTON_NO = '&No'
|
395
|
+
BUTTON_CANCEL = '&Cancel'
|
396
|
+
BUTTON_ACCEPT = '&Accept'
|
397
|
+
|
398
|
+
########### Icons
|
399
|
+
ICON_NEW = "\tNew\tCreate new document."
|
400
|
+
ICON_OPEN = "\tOpen\tOpen document file."
|
401
|
+
ICON_SAVE = "\tSave\tSave document."
|
402
|
+
ICON_SAVE_AS = "\tSaveAs\tSave document to another file."
|
403
|
+
ICON_PRINT = "\tPrint Map\tPrint map (as graph)."
|
404
|
+
ICON_CUT = "\tCut"
|
405
|
+
ICON_COPY = "\tCopy"
|
406
|
+
ICON_PASTE = "\tPaste"
|
407
|
+
ICON_ZOOM_IN = "+\tZoom In"
|
408
|
+
ICON_ZOOM_OUT = "-\tZoom Out"
|
409
|
+
ICON_PREV_SECTION = "\tPrevious Section"
|
410
|
+
ICON_NEXT_SECTION = "\tNext Section"
|
411
|
+
|
412
|
+
|
413
|
+
########### Drawings
|
414
|
+
|
415
|
+
# Text near connection (to indicate other dir)
|
416
|
+
DRAW_EXIT_TEXT = [
|
417
|
+
'',
|
418
|
+
'U',
|
419
|
+
'D',
|
420
|
+
'I',
|
421
|
+
'O'
|
422
|
+
]
|
423
|
+
|
424
|
+
class Room
|
425
|
+
DIRECTIONS = [
|
426
|
+
'n',
|
427
|
+
'ne',
|
428
|
+
'e',
|
429
|
+
'se',
|
430
|
+
's',
|
431
|
+
'sw',
|
432
|
+
'w',
|
433
|
+
'nw',
|
434
|
+
]
|
435
|
+
end
|