Browse Source

Provide populated comboboxes and tooltips for (mostly) everything

Marcus Huderle 6 years ago
parent
commit
fba2ade2bb
8 changed files with 328 additions and 263 deletions
  1. 3
    3
      event.cpp
  2. 65
    14
      mainwindow.cpp
  3. 2
    0
      mainwindow.h
  4. 202
    198
      mainwindow.ui
  5. 1
    1
      map.h
  6. 12
    0
      objectpropertiesframe.ui
  7. 35
    43
      project.cpp
  8. 8
    4
      project.h

+ 3
- 3
event.cpp View File

@@ -42,14 +42,14 @@ Event* Event::createNewObjectEvent()
42 42
     Event *event = new Event;
43 43
     event->put("event_group_type", "object_event_group");
44 44
     event->put("event_type", EventType::Object);
45
-    event->put("sprite", "EVENT_OBJ_GFX_BOY_1");
45
+    event->put("sprite", "MOVEMENT_TYPE_LOOK_AROUND");
46 46
     event->put("movement_type", "1");
47 47
     event->put("radius_x", 0);
48 48
     event->put("radius_y", 0);
49 49
     event->put("script_label", "NULL");
50 50
     event->put("event_flag", "0");
51 51
     event->put("replacement", "0");
52
-    event->put("trainer_see_type", "0");
52
+    event->put("is_trainer", "FALSE");
53 53
     event->put("sight_radius_tree_id", 0);
54 54
     return event;
55 55
 }
@@ -130,7 +130,7 @@ QString Event::buildObjectEventMacro(int item_index)
130 130
     text += QString(", %1").arg(this->get("movement_type"));
131 131
     text += QString(", %1").arg(radius_x);
132 132
     text += QString(", %1").arg(radius_y);
133
-    text += QString(", %1").arg(this->get("trainer_see_type"));
133
+    text += QString(", %1").arg(this->get("is_trainer"));
134 134
     text += QString(", %1").arg(this->get("sight_radius_tree_id"));
135 135
     text += QString(", %1").arg(this->get("script_label"));
136 136
     text += QString(", %1").arg(this->get("event_flag"));

+ 65
- 14
mainwindow.cpp View File

@@ -244,7 +244,7 @@ void MainWindow::setRecentMap(QString map_name) {
244 244
 void MainWindow::displayMapProperties() {
245 245
     ui->comboBox_Song->clear();
246 246
     ui->comboBox_Location->clear();
247
-    ui->comboBox_Visibility->clear();
247
+    ui->checkBox_Visibility->setChecked(false);
248 248
     ui->comboBox_Weather->clear();
249 249
     ui->comboBox_Type->clear();
250 250
     ui->comboBox_BattleScene->clear();
@@ -263,7 +263,7 @@ void MainWindow::displayMapProperties() {
263 263
     ui->comboBox_Song->addItems(songs);
264 264
     ui->comboBox_Song->setCurrentText(map->song);
265 265
 
266
-    ui->comboBox_Location->addItems(project->getLocations());
266
+    ui->comboBox_Location->addItems(*project->regionMapSections);
267 267
     ui->comboBox_Location->setCurrentText(map->location);
268 268
 
269 269
     QMap<QString, QStringList> tilesets = project->getTilesets();
@@ -272,16 +272,15 @@ void MainWindow::displayMapProperties() {
272 272
     ui->comboBox_SecondaryTileset->addItems(tilesets.value("secondary"));
273 273
     ui->comboBox_SecondaryTileset->setCurrentText(map->layout->tileset_secondary_label);
274 274
 
275
-    ui->comboBox_Visibility->addItems(project->getVisibilities());
276
-    ui->comboBox_Visibility->setCurrentText(map->visibility);
275
+    ui->checkBox_Visibility->setChecked(map->requiresFlash.toInt() > 0 || map->requiresFlash == "TRUE");
277 276
 
278
-    ui->comboBox_Weather->addItems(project->getWeathers());
277
+    ui->comboBox_Weather->addItems(*project->weatherNames);
279 278
     ui->comboBox_Weather->setCurrentText(map->weather);
280 279
 
281
-    ui->comboBox_Type->addItems(project->getMapTypes());
280
+    ui->comboBox_Type->addItems(*project->mapTypes);
282 281
     ui->comboBox_Type->setCurrentText(map->type);
283 282
 
284
-    ui->comboBox_BattleScene->addItems(project->getBattleScenes());
283
+    ui->comboBox_BattleScene->addItems(*project->mapBattleScenes);
285 284
     ui->comboBox_BattleScene->setCurrentText(map->battle_scene);
286 285
 
287 286
     ui->checkBox_ShowLocation->setChecked(map->show_location.toInt() > 0 || map->show_location == "TRUE");
@@ -301,10 +300,10 @@ void MainWindow::on_comboBox_Location_activated(const QString &location)
301 300
     }
302 301
 }
303 302
 
304
-void MainWindow::on_comboBox_Visibility_activated(const QString &visibility)
303
+void MainWindow::on_comboBox_Visibility_activated(const QString &requiresFlash)
305 304
 {
306 305
     if (editor && editor->map) {
307
-        editor->map->visibility = visibility;
306
+        editor->map->requiresFlash = requiresFlash;
308 307
     }
309 308
 }
310 309
 
@@ -329,6 +328,17 @@ void MainWindow::on_comboBox_BattleScene_activated(const QString &battle_scene)
329 328
     }
330 329
 }
331 330
 
331
+void MainWindow::on_checkBox_Visibility_clicked(bool checked)
332
+{
333
+    if (editor && editor->map) {
334
+        if (checked) {
335
+            editor->map->requiresFlash = "TRUE";
336
+        } else {
337
+            editor->map->requiresFlash = "FALSE";
338
+        }
339
+    }
340
+}
341
+
332 342
 void MainWindow::on_checkBox_ShowLocation_clicked(bool checked)
333 343
 {
334 344
     if (editor && editor->map) {
@@ -344,10 +354,14 @@ void MainWindow::loadDataStructures() {
344 354
     Project *project = editor->project;
345 355
     project->readMapLayoutsTable();
346 356
     project->readAllMapLayouts();
357
+    project->readRegionMapSections();
347 358
     project->readItemNames();
348 359
     project->readFlagNames();
349 360
     project->readVarNames();
350 361
     project->readMovementTypes();
362
+    project->readMapTypes();
363
+    project->readMapBattleScenes();
364
+    project->readWeatherNames();
351 365
     project->readCoordEventWeatherNames();
352 366
     project->readSecretBaseIds();
353 367
     project->readBgEventFacingDirections();
@@ -642,11 +656,10 @@ void MainWindow::updateSelectedObjects() {
642 656
         QMap<QString, QString> field_labels;
643 657
         field_labels["script_label"] = "Script";
644 658
         field_labels["event_flag"] = "Event Flag";
645
-        field_labels["replacement"] = "Replacement";
646 659
         field_labels["movement_type"] = "Movement";
647 660
         field_labels["radius_x"] = "Movement Radius X";
648 661
         field_labels["radius_y"] = "Movement Radius Y";
649
-        field_labels["trainer_see_type"] = "Trainer See Type";
662
+        field_labels["is_trainer"] = "Trainer";
650 663
         field_labels["sight_radius_tree_id"] = "Sight Radius / Berry Tree ID";
651 664
         field_labels["destination_warp"] = "Destination Warp";
652 665
         field_labels["destination_map_name"] = "Destination Map";
@@ -684,8 +697,7 @@ void MainWindow::updateSelectedObjects() {
684 697
             fields << "radius_y";
685 698
             fields << "script_label";
686 699
             fields << "event_flag";
687
-            fields << "replacement";
688
-            fields << "trainer_see_type";
700
+            fields << "is_trainer";
689 701
             fields << "sight_radius_tree_id";
690 702
         }
691 703
         else if (event_type == EventType::Warp) {
@@ -713,18 +725,38 @@ void MainWindow::updateSelectedObjects() {
713 725
         }
714 726
 
715 727
         for (QString key : fields) {
728
+            QString value = item->event->get(key);
716 729
             QWidget *widget = new QWidget(frame);
717 730
             QFormLayout *fl = new QFormLayout(widget);
718 731
             fl->setContentsMargins(9, 0, 9, 0);
732
+
733
+            // is_trainer is the only non-combobox item.
734
+            if (key == "is_trainer") {
735
+                QCheckBox *checkbox = new QCheckBox(widget);
736
+                checkbox->setEnabled(true);
737
+                checkbox->setChecked(value.toInt() != 0 && value != "FALSE");
738
+                checkbox->setToolTip("Whether or not this object is trainer.");
739
+                fl->addRow(new QLabel(field_labels[key], widget), checkbox);
740
+                widget->setLayout(fl);
741
+                frame->layout()->addWidget(widget);
742
+                connect(checkbox, &QCheckBox::stateChanged, [=](int state) {
743
+                    QString isTrainer = state == Qt::Checked ? "TRUE" : "FALSE";
744
+                    item->event->put("is_trainer", isTrainer);
745
+                });
746
+                continue;
747
+            }
748
+
719 749
             NoScrollComboBox *combo = new NoScrollComboBox(widget);
720 750
             combo->setEditable(true);
721 751
 
722
-            QString value = item->event->get(key);
723 752
             if (key == "destination_map_name") {
724 753
                 if (!editor->project->mapNames->contains(value)) {
725 754
                     combo->addItem(value);
726 755
                 }
727 756
                 combo->addItems(*editor->project->mapNames);
757
+                combo->setToolTip("The destination map name of the warp.");
758
+            } else if (key == "destination_warp") {
759
+                combo->setToolTip("The warp id on the destination map.");
728 760
             } else if (key == "item") {
729 761
                 if (!editor->project->itemNames->contains(value)) {
730 762
                     combo->addItem(value);
@@ -735,31 +767,50 @@ void MainWindow::updateSelectedObjects() {
735 767
                     combo->addItem(value);
736 768
                 }
737 769
                 combo->addItems(*editor->project->flagNames);
770
+                if (key == "flag")
771
+                    combo->setToolTip("The flag which is set when the hidden item is picked up.");
772
+                else if (key == "event_flag")
773
+                    combo->setToolTip("The flag which hides the object when set.");
738 774
             } else if (key == "script_var") {
739 775
                 if (!editor->project->varNames->contains(value)) {
740 776
                     combo->addItem(value);
741 777
                 }
742 778
                 combo->addItems(*editor->project->varNames);
779
+                combo->setToolTip("The variable by which the script is triggered. The script is triggered when this variable's value matches 'Var Value'.");
780
+            } else if (key == "script_var_value")  {
781
+                combo->setToolTip("The variable's value which triggers the script.");
743 782
             } else if (key == "movement_type") {
744 783
                 if (!editor->project->movementTypes->contains(value)) {
745 784
                     combo->addItem(value);
746 785
                 }
747 786
                 combo->addItems(*editor->project->movementTypes);
787
+                combo->setToolTip("The object's natural movement behavior when the player is not interacting with it.");
748 788
             } else if (key == "weather") {
749 789
                 if (!editor->project->coordEventWeatherNames->contains(value)) {
750 790
                     combo->addItem(value);
751 791
                 }
752 792
                 combo->addItems(*editor->project->coordEventWeatherNames);
793
+                combo->setToolTip("The weather that starts when the player steps on this spot.");
753 794
             } else if (key == "secret_base_id") {
754 795
                 if (!editor->project->secretBaseIds->contains(value)) {
755 796
                     combo->addItem(value);
756 797
                 }
757 798
                 combo->addItems(*editor->project->secretBaseIds);
799
+                combo->setToolTip("The secret base id which is inside this secret base entrance. Secret base ids are meant to be unique to each and every secret base entrance.");
758 800
             } else if (key == "player_facing_direction") {
759 801
                 if (!editor->project->bgEventFacingDirections->contains(value)) {
760 802
                     combo->addItem(value);
761 803
                 }
762 804
                 combo->addItems(*editor->project->bgEventFacingDirections);
805
+                combo->setToolTip("The direction which the player must be facing to be able to interact with this event.");
806
+            } else if (key == "radius_x") {
807
+                combo->setToolTip("The maximum number of metatiles this object is allowed to move left or right during its normal movement behavior actions.");
808
+            } else if (key == "radius_y") {
809
+                combo->setToolTip("The maximum number of metatiles this object is allowed to move up or down during its normal movement behavior actions.");
810
+            } else if (key == "script_label") {
811
+                combo->setToolTip("The script which is executed with this event.");
812
+            } else if (key == "sight_radius_tree_id") {
813
+                combo->setToolTip("The maximum sight range of a trainer, OR the unique id of the berry tree.");
763 814
             } else {
764 815
                 combo->addItem(value);
765 816
             }

+ 2
- 0
mainwindow.h View File

@@ -99,6 +99,8 @@ private slots:
99 99
 
100 100
     void on_checkBox_smartPaths_stateChanged(int selected);
101 101
 
102
+    void on_checkBox_Visibility_clicked(bool checked);
103
+
102 104
 private:
103 105
     Ui::MainWindow *ui;
104 106
     QStandardItemModel *mapListModel;

+ 202
- 198
mainwindow.ui View File

@@ -69,6 +69,9 @@
69 69
         <bool>false</bool>
70 70
        </property>
71 71
        <widget class="QWidget" name="tab_Map">
72
+        <property name="toolTip">
73
+         <string/>
74
+        </property>
72 75
         <attribute name="icon">
73 76
          <iconset resource="resources/images.qrc">
74 77
           <normaloff>:/icons/map.ico</normaloff>:/icons/map.ico</iconset>
@@ -76,6 +79,9 @@
76 79
         <attribute name="title">
77 80
          <string>Map</string>
78 81
         </attribute>
82
+        <attribute name="toolTip">
83
+         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Edit the map layout.&lt;/p&gt;&lt;p&gt;Select metatiles or collision attributes from the right panel, and paint them onto the map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
84
+        </attribute>
79 85
         <layout class="QGridLayout" name="gridLayout_9">
80 86
          <property name="leftMargin">
81 87
           <number>0</number>
@@ -164,6 +170,9 @@
164 170
                   <property name="enabled">
165 171
                    <bool>true</bool>
166 172
                   </property>
173
+                  <property name="toolTip">
174
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pencil&lt;/p&gt;&lt;p&gt;Click and drag to draw on the map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
175
+                  </property>
167 176
                   <property name="text">
168 177
                    <string>Paint</string>
169 178
                   </property>
@@ -187,6 +196,9 @@
187 196
                   <property name="enabled">
188 197
                    <bool>true</bool>
189 198
                   </property>
199
+                  <property name="toolTip">
200
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pointer&lt;/p&gt;&lt;p&gt;Does nothing&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
201
+                  </property>
190 202
                   <property name="text">
191 203
                    <string>Select</string>
192 204
                   </property>
@@ -201,6 +213,9 @@
201 213
                 </item>
202 214
                 <item>
203 215
                  <widget class="QToolButton" name="toolButton_Fill">
216
+                  <property name="toolTip">
217
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Flood Fill&lt;/p&gt;&lt;p&gt;Fills all similar tiles in a region with the selected metatiles or collision attributes&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
218
+                  </property>
204 219
                   <property name="text">
205 220
                    <string>Fill</string>
206 221
                   </property>
@@ -215,6 +230,9 @@
215 230
                 </item>
216 231
                 <item>
217 232
                  <widget class="QToolButton" name="toolButton_Dropper">
233
+                  <property name="toolTip">
234
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Eye Dropper&lt;/p&gt;&lt;p&gt;Click to select a metatile or collision attribute.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
235
+                  </property>
218 236
                   <property name="text">
219 237
                    <string>Dropper</string>
220 238
                   </property>
@@ -229,6 +247,9 @@
229 247
                 </item>
230 248
                 <item>
231 249
                  <widget class="QCheckBox" name="checkBox_smartPaths">
250
+                  <property name="toolTip">
251
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Smart-path mode allows easier drawing of paths. If a 3x3 metatile block is selcted in the right panel, then smart path mode will automatically form a pathway using those selected blocks.&lt;/p&gt;&lt;p&gt;When smart-path mode is &lt;span style=&quot; font-weight:600;&quot;&gt;not&lt;/span&gt; enabled, clicking and dragging a selection will tile it in a grid.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
252
+                  </property>
232 253
                   <property name="styleSheet">
233 254
                    <string notr="true">margin-left: 10px</string>
234 255
                   </property>
@@ -239,6 +260,9 @@
239 260
                 </item>
240 261
                 <item>
241 262
                  <widget class="QCheckBox" name="checkBox_ToggleGrid">
263
+                  <property name="toolTip">
264
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Toggles a grid over the map's metatile boundaries.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
265
+                  </property>
242 266
                   <property name="styleSheet">
243 267
                    <string notr="true"/>
244 268
                   </property>
@@ -262,6 +286,9 @@
262 286
                 </item>
263 287
                 <item>
264 288
                  <widget class="QPushButton" name="pushButton">
289
+                  <property name="toolTip">
290
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Change a map layout's width and height.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
291
+                  </property>
265 292
                   <property name="text">
266 293
                    <string>Change Dimensions</string>
267 294
                   </property>
@@ -494,6 +521,9 @@
494 521
                       <property name="focusPolicy">
495 522
                        <enum>Qt::StrongFocus</enum>
496 523
                       </property>
524
+                      <property name="toolTip">
525
+                       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Primary Tileset&lt;/p&gt;&lt;p&gt;Defines the first 0x200 metatiles available for the map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
526
+                      </property>
497 527
                       <property name="editable">
498 528
                        <bool>true</bool>
499 529
                       </property>
@@ -511,6 +541,9 @@
511 541
                       <property name="focusPolicy">
512 542
                        <enum>Qt::StrongFocus</enum>
513 543
                       </property>
544
+                      <property name="toolTip">
545
+                       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Secondary Tileset&lt;/p&gt;&lt;p&gt;Defines the second 0x200 metatiles available for the map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
546
+                      </property>
514 547
                       <property name="editable">
515 548
                        <bool>true</bool>
516 549
                       </property>
@@ -580,6 +613,9 @@
580 613
                         <height>48</height>
581 614
                        </size>
582 615
                       </property>
616
+                      <property name="toolTip">
617
+                       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The border is a 2x2 metatile which is repeated outside of the map layout's boundary. Draw on this border area to modify it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
618
+                      </property>
583 619
                       <property name="frameShape">
584 620
                        <enum>QFrame::StyledPanel</enum>
585 621
                       </property>
@@ -852,7 +888,10 @@
852 888
          <bool>true</bool>
853 889
         </property>
854 890
         <attribute name="title">
855
-         <string>Objects</string>
891
+         <string>Events</string>
892
+        </attribute>
893
+        <attribute name="toolTip">
894
+         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Edit the map's events.&lt;/p&gt;&lt;p&gt;View and modify objects, warps, signs, etc.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
856 895
         </attribute>
857 896
         <layout class="QGridLayout" name="gridLayout_10">
858 897
          <property name="leftMargin">
@@ -1113,6 +1152,9 @@
1113 1152
                     <height>32</height>
1114 1153
                    </size>
1115 1154
                   </property>
1155
+                  <property name="toolTip">
1156
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Add a new event to the map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1157
+                  </property>
1116 1158
                   <property name="text">
1117 1159
                    <string>New Object</string>
1118 1160
                   </property>
@@ -1139,6 +1181,9 @@
1139 1181
                     <height>32</height>
1140 1182
                    </size>
1141 1183
                   </property>
1184
+                  <property name="toolTip">
1185
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Delete the selected event from the map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1186
+                  </property>
1142 1187
                   <property name="text">
1143 1188
                    <string>Delete</string>
1144 1189
                   </property>
@@ -1178,7 +1223,7 @@
1178 1223
        </widget>
1179 1224
        <widget class="QWidget" name="tab_Attributes">
1180 1225
         <attribute name="title">
1181
-         <string>Attributes</string>
1226
+         <string>Header</string>
1182 1227
         </attribute>
1183 1228
         <widget class="QFrame" name="frame_3">
1184 1229
          <property name="enabled">
@@ -1188,211 +1233,146 @@
1188 1233
           <rect>
1189 1234
            <x>10</x>
1190 1235
            <y>10</y>
1191
-           <width>301</width>
1192
-           <height>251</height>
1236
+           <width>381</width>
1237
+           <height>311</height>
1193 1238
           </rect>
1194 1239
          </property>
1240
+         <property name="sizePolicy">
1241
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
1242
+           <horstretch>0</horstretch>
1243
+           <verstretch>0</verstretch>
1244
+          </sizepolicy>
1245
+         </property>
1195 1246
          <property name="frameShape">
1196 1247
           <enum>QFrame::StyledPanel</enum>
1197 1248
          </property>
1198 1249
          <property name="frameShadow">
1199 1250
           <enum>QFrame::Raised</enum>
1200 1251
          </property>
1201
-         <widget class="QLabel" name="label_3">
1202
-          <property name="geometry">
1203
-           <rect>
1204
-            <x>20</x>
1205
-            <y>30</y>
1206
-            <width>47</width>
1207
-            <height>21</height>
1208
-           </rect>
1209
-          </property>
1210
-          <property name="text">
1211
-           <string>Song</string>
1212
-          </property>
1213
-         </widget>
1214
-         <widget class="QLabel" name="label_4">
1215
-          <property name="geometry">
1216
-           <rect>
1217
-            <x>20</x>
1218
-            <y>60</y>
1219
-            <width>47</width>
1220
-            <height>21</height>
1221
-           </rect>
1222
-          </property>
1223
-          <property name="text">
1224
-           <string>Location</string>
1225
-          </property>
1226
-         </widget>
1227
-         <widget class="QLabel" name="label_5">
1228
-          <property name="geometry">
1229
-           <rect>
1230
-            <x>20</x>
1231
-            <y>90</y>
1232
-            <width>47</width>
1233
-            <height>21</height>
1234
-           </rect>
1235
-          </property>
1236
-          <property name="text">
1237
-           <string>Visibility</string>
1238
-          </property>
1239
-         </widget>
1240
-         <widget class="QLabel" name="label_6">
1241
-          <property name="geometry">
1242
-           <rect>
1243
-            <x>20</x>
1244
-            <y>120</y>
1245
-            <width>47</width>
1246
-            <height>21</height>
1247
-           </rect>
1248
-          </property>
1249
-          <property name="text">
1250
-           <string>Weather</string>
1251
-          </property>
1252
-         </widget>
1253
-         <widget class="QLabel" name="label_7">
1254
-          <property name="geometry">
1255
-           <rect>
1256
-            <x>20</x>
1257
-            <y>150</y>
1258
-            <width>47</width>
1259
-            <height>21</height>
1260
-           </rect>
1252
+         <layout class="QFormLayout" name="formLayout_2">
1253
+          <property name="verticalSpacing">
1254
+           <number>12</number>
1261 1255
           </property>
1262
-          <property name="text">
1263
-           <string>Type</string>
1264
-          </property>
1265
-         </widget>
1266
-         <widget class="QLabel" name="label_8">
1267
-          <property name="geometry">
1268
-           <rect>
1269
-            <x>20</x>
1270
-            <y>180</y>
1271
-            <width>101</width>
1272
-            <height>21</height>
1273
-           </rect>
1274
-          </property>
1275
-          <property name="text">
1276
-           <string>Show location name</string>
1277
-          </property>
1278
-         </widget>
1279
-         <widget class="QLabel" name="label_9">
1280
-          <property name="geometry">
1281
-           <rect>
1282
-            <x>20</x>
1283
-            <y>210</y>
1284
-            <width>81</width>
1285
-            <height>21</height>
1286
-           </rect>
1287
-          </property>
1288
-          <property name="text">
1289
-           <string>Battle scene</string>
1290
-          </property>
1291
-         </widget>
1292
-         <widget class="QComboBox" name="comboBox_Location">
1293
-          <property name="geometry">
1294
-           <rect>
1295
-            <x>80</x>
1296
-            <y>60</y>
1297
-            <width>211</width>
1298
-            <height>22</height>
1299
-           </rect>
1300
-          </property>
1301
-          <property name="editable">
1302
-           <bool>true</bool>
1303
-          </property>
1304
-         </widget>
1305
-         <widget class="QComboBox" name="comboBox_Visibility">
1306
-          <property name="geometry">
1307
-           <rect>
1308
-            <x>80</x>
1309
-            <y>90</y>
1310
-            <width>211</width>
1311
-            <height>22</height>
1312
-           </rect>
1313
-          </property>
1314
-          <property name="editable">
1315
-           <bool>true</bool>
1316
-          </property>
1317
-         </widget>
1318
-         <widget class="QComboBox" name="comboBox_Song">
1319
-          <property name="geometry">
1320
-           <rect>
1321
-            <x>80</x>
1322
-            <y>30</y>
1323
-            <width>211</width>
1324
-            <height>22</height>
1325
-           </rect>
1326
-          </property>
1327
-          <property name="editable">
1328
-           <bool>true</bool>
1329
-          </property>
1330
-         </widget>
1331
-         <widget class="QComboBox" name="comboBox_Weather">
1332
-          <property name="geometry">
1333
-           <rect>
1334
-            <x>80</x>
1335
-            <y>120</y>
1336
-            <width>211</width>
1337
-            <height>22</height>
1338
-           </rect>
1339
-          </property>
1340
-          <property name="editable">
1341
-           <bool>true</bool>
1342
-          </property>
1343
-         </widget>
1344
-         <widget class="QComboBox" name="comboBox_Type">
1345
-          <property name="geometry">
1346
-           <rect>
1347
-            <x>80</x>
1348
-            <y>150</y>
1349
-            <width>211</width>
1350
-            <height>22</height>
1351
-           </rect>
1352
-          </property>
1353
-          <property name="editable">
1354
-           <bool>true</bool>
1355
-          </property>
1356
-         </widget>
1357
-         <widget class="QComboBox" name="comboBox_BattleScene">
1358
-          <property name="geometry">
1359
-           <rect>
1360
-            <x>90</x>
1361
-            <y>210</y>
1362
-            <width>201</width>
1363
-            <height>22</height>
1364
-           </rect>
1365
-          </property>
1366
-          <property name="editable">
1367
-           <bool>true</bool>
1368
-          </property>
1369
-         </widget>
1370
-         <widget class="QCheckBox" name="checkBox_ShowLocation">
1371
-          <property name="geometry">
1372
-           <rect>
1373
-            <x>130</x>
1374
-            <y>180</y>
1375
-            <width>161</width>
1376
-            <height>21</height>
1377
-           </rect>
1378
-          </property>
1379
-          <property name="text">
1380
-           <string/>
1381
-          </property>
1382
-         </widget>
1383
-         <widget class="QLabel" name="label_10">
1384
-          <property name="geometry">
1385
-           <rect>
1386
-            <x>0</x>
1387
-            <y>0</y>
1388
-            <width>47</width>
1389
-            <height>13</height>
1390
-           </rect>
1391
-          </property>
1392
-          <property name="text">
1393
-           <string>Header</string>
1394
-          </property>
1395
-         </widget>
1256
+          <item row="0" column="0">
1257
+           <widget class="QLabel" name="label_3">
1258
+            <property name="text">
1259
+             <string>Song</string>
1260
+            </property>
1261
+           </widget>
1262
+          </item>
1263
+          <item row="0" column="1">
1264
+           <widget class="QComboBox" name="comboBox_Song">
1265
+            <property name="toolTip">
1266
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The default background music for this map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1267
+            </property>
1268
+            <property name="editable">
1269
+             <bool>true</bool>
1270
+            </property>
1271
+           </widget>
1272
+          </item>
1273
+          <item row="1" column="0">
1274
+           <widget class="QLabel" name="label_4">
1275
+            <property name="text">
1276
+             <string>Location</string>
1277
+            </property>
1278
+           </widget>
1279
+          </item>
1280
+          <item row="1" column="1">
1281
+           <widget class="QComboBox" name="comboBox_Location">
1282
+            <property name="toolTip">
1283
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The section of the region map which the map is grouped under. This also determines the name of the map that is display when the player enters it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1284
+            </property>
1285
+            <property name="editable">
1286
+             <bool>true</bool>
1287
+            </property>
1288
+           </widget>
1289
+          </item>
1290
+          <item row="2" column="0">
1291
+           <widget class="QLabel" name="label_5">
1292
+            <property name="text">
1293
+             <string>Requires Flash</string>
1294
+            </property>
1295
+           </widget>
1296
+          </item>
1297
+          <item row="3" column="0">
1298
+           <widget class="QLabel" name="label_6">
1299
+            <property name="text">
1300
+             <string>Weather</string>
1301
+            </property>
1302
+           </widget>
1303
+          </item>
1304
+          <item row="3" column="1">
1305
+           <widget class="QComboBox" name="comboBox_Weather">
1306
+            <property name="toolTip">
1307
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The default weather for this map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1308
+            </property>
1309
+            <property name="editable">
1310
+             <bool>true</bool>
1311
+            </property>
1312
+           </widget>
1313
+          </item>
1314
+          <item row="4" column="0">
1315
+           <widget class="QLabel" name="label_7">
1316
+            <property name="text">
1317
+             <string>Type</string>
1318
+            </property>
1319
+           </widget>
1320
+          </item>
1321
+          <item row="4" column="1">
1322
+           <widget class="QComboBox" name="comboBox_Type">
1323
+            <property name="toolTip">
1324
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The map type is a general attribute, which is used for many different things. For example. it determines whether biking or running is allowed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1325
+            </property>
1326
+            <property name="editable">
1327
+             <bool>true</bool>
1328
+            </property>
1329
+           </widget>
1330
+          </item>
1331
+          <item row="5" column="0">
1332
+           <widget class="QLabel" name="label_8">
1333
+            <property name="text">
1334
+             <string>Show Location Name</string>
1335
+            </property>
1336
+           </widget>
1337
+          </item>
1338
+          <item row="5" column="1">
1339
+           <widget class="QCheckBox" name="checkBox_ShowLocation">
1340
+            <property name="toolTip">
1341
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Whether or not to display the location name when the player enters the map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1342
+            </property>
1343
+            <property name="text">
1344
+             <string/>
1345
+            </property>
1346
+           </widget>
1347
+          </item>
1348
+          <item row="6" column="0">
1349
+           <widget class="QLabel" name="label_9">
1350
+            <property name="text">
1351
+             <string>Battle scene</string>
1352
+            </property>
1353
+           </widget>
1354
+          </item>
1355
+          <item row="6" column="1">
1356
+           <widget class="QComboBox" name="comboBox_BattleScene">
1357
+            <property name="toolTip">
1358
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Determines the type of battle scene graphics to use.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1359
+            </property>
1360
+            <property name="editable">
1361
+             <bool>true</bool>
1362
+            </property>
1363
+           </widget>
1364
+          </item>
1365
+          <item row="2" column="1">
1366
+           <widget class="QCheckBox" name="checkBox_Visibility">
1367
+            <property name="toolTip">
1368
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Whether or not the map is dark and requires Flash to illuminate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1369
+            </property>
1370
+            <property name="text">
1371
+             <string/>
1372
+            </property>
1373
+           </widget>
1374
+          </item>
1375
+         </layout>
1396 1376
         </widget>
1397 1377
        </widget>
1398 1378
        <widget class="QWidget" name="tab_Connections">
@@ -1486,6 +1466,9 @@
1486 1466
                    <verstretch>0</verstretch>
1487 1467
                   </sizepolicy>
1488 1468
                  </property>
1469
+                 <property name="toolTip">
1470
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Add a new connection.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1471
+                 </property>
1489 1472
                  <property name="text">
1490 1473
                   <string/>
1491 1474
                  </property>
@@ -1498,6 +1481,9 @@
1498 1481
                </item>
1499 1482
                <item>
1500 1483
                 <widget class="QPushButton" name="pushButton_RemoveConnection">
1484
+                 <property name="toolTip">
1485
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Remove the currently-selected connection.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1486
+                 </property>
1501 1487
                  <property name="text">
1502 1488
                   <string/>
1503 1489
                  </property>
@@ -1546,6 +1532,9 @@
1546 1532
                    <verstretch>0</verstretch>
1547 1533
                   </sizepolicy>
1548 1534
                  </property>
1535
+                 <property name="toolTip">
1536
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If enabled, connections will automatically be updated on the connected map.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1537
+                 </property>
1549 1538
                  <property name="text">
1550 1539
                   <string>Mirror</string>
1551 1540
                  </property>
@@ -1608,6 +1597,9 @@
1608 1597
                </property>
1609 1598
                <item>
1610 1599
                 <widget class="QComboBox" name="comboBox_ConnectionDirection">
1600
+                 <property name="toolTip">
1601
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The direction of the connection.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1602
+                 </property>
1611 1603
                  <item>
1612 1604
                   <property name="text">
1613 1605
                    <string>up</string>
@@ -1655,6 +1647,9 @@
1655 1647
                </item>
1656 1648
                <item>
1657 1649
                 <widget class="QComboBox" name="comboBox_ConnectedMap">
1650
+                 <property name="toolTip">
1651
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The destination map name of the connection.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1652
+                 </property>
1658 1653
                  <property name="editable">
1659 1654
                   <bool>true</bool>
1660 1655
                  </property>
@@ -1669,6 +1664,9 @@
1669 1664
                </item>
1670 1665
                <item>
1671 1666
                 <widget class="QSpinBox" name="spinBox_ConnectionOffset">
1667
+                 <property name="toolTip">
1668
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The number of metatiles to offset the connection.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1669
+                 </property>
1672 1670
                  <property name="minimum">
1673 1671
                   <number>-999</number>
1674 1672
                  </property>
@@ -1846,6 +1844,9 @@
1846 1844
                   </item>
1847 1845
                   <item>
1848 1846
                    <widget class="QComboBox" name="comboBox_DiveMap">
1847
+                    <property name="toolTip">
1848
+                     <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Destination map name when using &lt;span style=&quot; font-weight:600;&quot;&gt;Dive&lt;/span&gt;. If empty, no such connection will exist.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1849
+                    </property>
1849 1850
                     <property name="editable">
1850 1851
                      <bool>true</bool>
1851 1852
                     </property>
@@ -1860,6 +1861,9 @@
1860 1861
                   </item>
1861 1862
                   <item>
1862 1863
                    <widget class="QComboBox" name="comboBox_EmergeMap">
1864
+                    <property name="toolTip">
1865
+                     <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Destination map name when emerging using &lt;span style=&quot; font-weight:600;&quot;&gt;Dive&lt;/span&gt;. If empty, no such connection will exist.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1866
+                    </property>
1863 1867
                     <property name="editable">
1864 1868
                      <bool>true</bool>
1865 1869
                     </property>

+ 1
- 1
map.h View File

@@ -127,7 +127,7 @@ public:
127 127
     QString song;
128 128
     QString layout_id;
129 129
     QString location;
130
-    QString visibility;
130
+    QString requiresFlash;
131 131
     QString weather;
132 132
     QString type;
133 133
     QString unknown;

+ 12
- 0
objectpropertiesframe.ui View File

@@ -109,6 +109,9 @@
109 109
               <property name="focusPolicy">
110 110
                <enum>Qt::StrongFocus</enum>
111 111
               </property>
112
+              <property name="toolTip">
113
+               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The X coordinate of this object.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
114
+              </property>
112 115
               <property name="minimum">
113 116
                <number>-32768</number>
114 117
               </property>
@@ -136,6 +139,9 @@
136 139
               <property name="focusPolicy">
137 140
                <enum>Qt::StrongFocus</enum>
138 141
               </property>
142
+              <property name="toolTip">
143
+               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The Y coordinate of this object.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
144
+              </property>
139 145
               <property name="minimum">
140 146
                <number>-32768</number>
141 147
               </property>
@@ -163,6 +169,9 @@
163 169
               <property name="focusPolicy">
164 170
                <enum>Qt::StrongFocus</enum>
165 171
               </property>
172
+              <property name="toolTip">
173
+               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The elevation of this object.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
174
+              </property>
166 175
               <property name="maximum">
167 176
                <number>15</number>
168 177
               </property>
@@ -232,6 +241,9 @@
232 241
         <property name="focusPolicy">
233 242
          <enum>Qt::StrongFocus</enum>
234 243
         </property>
244
+        <property name="toolTip">
245
+         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The sprite graphics to use for this object.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
246
+        </property>
235 247
         <property name="editable">
236 248
          <bool>true</bool>
237 249
         </property>

+ 35
- 43
project.cpp View File

@@ -17,10 +17,14 @@ Project::Project()
17 17
     groupNames = new QStringList;
18 18
     map_groups = new QMap<QString, int>;
19 19
     mapNames = new QStringList;
20
+    regionMapSections = new QStringList;
20 21
     itemNames = new QStringList;
21 22
     flagNames = new QStringList;
22 23
     varNames = new QStringList;
23 24
     movementTypes = new QStringList;
25
+    mapTypes = new QStringList;
26
+    mapBattleScenes = new QStringList;
27
+    weatherNames = new QStringList;
24 28
     coordEventWeatherNames = new QStringList;
25 29
     secretBaseIds = new QStringList;
26 30
     bgEventFacingDirections = new QStringList;
@@ -168,7 +172,7 @@ void Project::readMapHeader(Map* map) {
168 172
     map->song = header->value(4);
169 173
     map->layout_id = header->value(5);
170 174
     map->location = header->value(6);
171
-    map->visibility = header->value(7);
175
+    map->requiresFlash = header->value(7);
172 176
     map->weather = header->value(8);
173 177
     map->type = header->value(9);
174 178
     map->unknown = header->value(10);
@@ -183,13 +187,13 @@ void Project::setNewMapHeader(Map* map, int mapIndex) {
183 187
     map->connections_label = "0x0";
184 188
     map->song = "MUS_DAN02";
185 189
     map->layout_id = QString("%1").arg(mapIndex);
186
-    map->location = "0";
187
-    map->visibility = "0";
188
-    map->weather = "2";
189
-    map->type = "1";
190
+    map->location = "MAPSEC_LITTLEROOT_TOWN";
191
+    map->requiresFlash = "FALSE";
192
+    map->weather = "WEATHER_SUNNY";
193
+    map->type = "MAP_TYPE_TOWN";
190 194
     map->unknown = "0";
191
-    map->show_location = "1";
192
-    map->battle_scene = "0";
195
+    map->show_location = "TRUE";
196
+    map->battle_scene = "MAP_BATTLE_SCENE_NORMAL";
193 197
 }
194 198
 
195 199
 void Project::saveMapHeader(Map *map) {
@@ -211,7 +215,7 @@ void Project::saveMapHeader(Map *map) {
211 215
     text += QString("\t.2byte %1\n").arg(map->song);
212 216
     text += QString("\t.2byte %1\n").arg(map->layout_id);
213 217
     text += QString("\t.byte %1\n").arg(map->location);
214
-    text += QString("\t.byte %1\n").arg(map->visibility);
218
+    text += QString("\t.byte %1\n").arg(map->requiresFlash);
215 219
     text += QString("\t.byte %1\n").arg(map->weather);
216 220
     text += QString("\t.byte %1\n").arg(map->type);
217 221
     text += QString("\t.2byte %1\n").arg(map->unknown);
@@ -986,15 +990,6 @@ QList<QStringList>* Project::parseAsm(QString text) {
986 990
     return parser->parseAsm(text);
987 991
 }
988 992
 
989
-QStringList Project::getLocations() {
990
-    // TODO
991
-    QStringList names;
992
-    for (int i = 0; i < 88; i++) {
993
-        names.append(QString("%1").arg(i));
994
-    }
995
-    return names;
996
-}
997
-
998 993
 QStringList Project::getVisibilities() {
999 994
     // TODO
1000 995
     QStringList names;
@@ -1045,31 +1040,10 @@ QMap<QString, QStringList> Project::getTilesets() {
1045 1040
     return allTilesets;
1046 1041
 }
1047 1042
 
1048
-QStringList Project::getWeathers() {
1049
-    // TODO
1050
-    QStringList names;
1051
-    for (int i = 0; i < 16; i++) {
1052
-        names.append(QString("%1").arg(i));
1053
-    }
1054
-    return names;
1055
-}
1056
-
1057
-QStringList Project::getMapTypes() {
1058
-    // TODO
1059
-    QStringList names;
1060
-    for (int i = 0; i < 16; i++) {
1061
-        names.append(QString("%1").arg(i));
1062
-    }
1063
-    return names;
1064
-}
1065
-
1066
-QStringList Project::getBattleScenes() {
1067
-    // TODO
1068
-    QStringList names;
1069
-    for (int i = 0; i < 16; i++) {
1070
-        names.append(QString("%1").arg(i));
1071
-    }
1072
-    return names;
1043
+void Project::readRegionMapSections() {
1044
+    QString filepath = root + "/include/constants/region_map_sections.h";
1045
+    QStringList prefixes = (QStringList() << "MAPSEC_");
1046
+    readCDefinesSorted(filepath, prefixes, regionMapSections);
1073 1047
 }
1074 1048
 
1075 1049
 void Project::readItemNames() {
@@ -1096,6 +1070,24 @@ void Project::readMovementTypes() {
1096 1070
     readCDefinesSorted(filepath, prefixes, movementTypes);
1097 1071
 }
1098 1072
 
1073
+void Project::readMapTypes() {
1074
+    QString filepath = root + "/include/constants/map_types.h";
1075
+    QStringList prefixes = (QStringList() << "MAP_TYPE_");
1076
+    readCDefinesSorted(filepath, prefixes, mapTypes);
1077
+}
1078
+
1079
+void Project::readMapBattleScenes() {
1080
+    QString filepath = root + "/include/constants/map_types.h";
1081
+    QStringList prefixes = (QStringList() << "MAP_BATTLE_SCENE_");
1082
+    readCDefinesSorted(filepath, prefixes, mapBattleScenes);
1083
+}
1084
+
1085
+void Project::readWeatherNames() {
1086
+    QString filepath = root + "/include/constants/weather.h";
1087
+    QStringList prefixes = (QStringList() << "WEATHER_");
1088
+    readCDefinesSorted(filepath, prefixes, weatherNames);
1089
+}
1090
+
1099 1091
 void Project::readCoordEventWeatherNames() {
1100 1092
     QString filepath = root + "/include/constants/weather.h";
1101 1093
     QStringList prefixes = (QStringList() << "COORD_EVENT_WEATHER_");
@@ -1352,7 +1344,7 @@ void Project::readMapEvents(Map *map) {
1352 1344
             object->put("movement_type", command.value(i++));
1353 1345
             object->put("radius_x", command.value(i++).toInt(nullptr, 0));
1354 1346
             object->put("radius_y", command.value(i++).toInt(nullptr, 0));
1355
-            object->put("trainer_see_type", command.value(i++));
1347
+            object->put("is_trainer", command.value(i++));
1356 1348
             object->put("sight_radius_tree_id", command.value(i++));
1357 1349
             object->put("script_label", command.value(i++));
1358 1350
             object->put("event_flag", command.value(i++));

+ 8
- 4
project.h View File

@@ -23,10 +23,14 @@ public:
23 23
     QList<QString> mapLayoutsTableMaster;
24 24
     QMap<QString, MapLayout*> mapLayouts;
25 25
     QMap<QString, MapLayout*> mapLayoutsMaster;
26
+    QStringList *regionMapSections = NULL;
26 27
     QStringList *itemNames = NULL;
27 28
     QStringList *flagNames = NULL;
28 29
     QStringList *varNames = NULL;
29 30
     QStringList *movementTypes = NULL;
31
+    QStringList *mapTypes = NULL;
32
+    QStringList *mapBattleScenes = NULL;
33
+    QStringList *weatherNames = NULL;
30 34
     QStringList *coordEventWeatherNames = NULL;
31 35
     QStringList *secretBaseIds = NULL;
32 36
     QStringList *bgEventFacingDirections = NULL;
@@ -76,16 +80,16 @@ public:
76 80
 
77 81
     QList<QStringList>* parseAsm(QString text);
78 82
     QStringList getSongNames();
79
-    QStringList getLocations();
80 83
     QStringList getVisibilities();
81 84
     QMap<QString, QStringList> getTilesets();
82
-    QStringList getWeathers();
83
-    QStringList getMapTypes();
84
-    QStringList getBattleScenes();
85
+    void readRegionMapSections();
85 86
     void readItemNames();
86 87
     void readFlagNames();
87 88
     void readVarNames();
88 89
     void readMovementTypes();
90
+    void readMapTypes();
91
+    void readMapBattleScenes();
92
+    void readWeatherNames();
89 93
     void readCoordEventWeatherNames();
90 94
     void readSecretBaseIds();
91 95
     void readBgEventFacingDirections();