diff --git a/forms/mainwindow.ui b/forms/mainwindow.ui index 4bb93491..42379e44 100644 --- a/forms/mainwindow.ui +++ b/forms/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 1117 - 788 + 1287 + 815 @@ -202,14 +202,14 @@ - + 0 0 - 100 + 200 0 @@ -226,501 +226,469 @@ - - - true - - - - 1 - 0 - - - - 0 - - - false - - - false - - - - - - - - :/icons/map.ico:/icons/map.ico - - - Map - - - <html><head/><body><p>Edit the map layout.</p><p>Select metatiles or collision attributes from the right panel, and paint them onto the map.</p></body></html> - - - - 0 - - - 0 - - - 0 - - - 0 - - - 6 - - - - - Qt::Horizontal + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + true + + + + 1 + 0 + + + + 0 + + + false + + + + - - - - 1 - 0 - + + + 0 - - QFrame::StyledPanel + + 0 - - QFrame::Raised + + 0 - - 1 + + 0 - - - 3 - - - 3 - - - 3 - - - 3 - - - 6 - - - + + 6 + + + + + Qt::Horizontal + + - - 0 + + 1 0 - - - 0 - 32 - - QFrame::StyledPanel QFrame::Raised - + + 1 + + + + 3 + + + 3 + + + 3 + + + 3 + - 4 + 6 - - 4 - - - 4 - - - 4 - - - 4 - - - - - true + + + + QFrame::StyledPanel - - <html><head/><body><p>Pencil</p><p><span style=" font-weight:600;">Click</span> and drag to draw on the map.</p><p><span style=" font-weight:600;">Right-click</span> and drag to select tiles.</p></body></html> - - - Paint - - - - :/icons/pencil.ico:/icons/pencil.ico - - - true - - - true - - - false + + QFrame::Raised + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 1 + 0 + + + + true + + + + + 0 + 0 + 543 + 600 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + 166 + 16 + + + + + + + + Qt::Horizontal + + + + 166 + 16 + + + + + + + + Qt::Vertical + + + + 16 + 166 + + + + + + + + + 0 + 0 + + + + false + + + false + + + QAbstractScrollArea::AdjustIgnored + + + QGraphicsView::NoDrag + + + + + + + Qt::Vertical + + + + 16 + 166 + + + + + + + + + - - - - true - - - <html><head/><body><p>Pointer</p><p>Does nothing</p></body></html> - - - Select - - - - :/icons/cursor.ico:/icons/cursor.ico - - - true - - - - - - - <html><head/><body><p>Bucket Fill</p><p>Fills all similar tiles in a region with the selected metatiles or collision attributes</p></body></html> - - - Fill - - - - :/icons/fill_color.ico:/icons/fill_color.ico - - - true - - - - - - - <html><head/><body><p>Eyedropper</p><p><span style=" font-weight:600;">Click</span> to select a metatile or collision attribute.</p></body></html> - - - Dropper - - - - :/icons/pipette.ico:/icons/pipette.ico - - - true - - - - - - - <html><head/><body><p>Move</p><p>Click to drag map around.</p></body></html> - - - ... - - - - :/icons/move.ico:/icons/move.ico - - - true - - - - - - - <html><head/><body><p>Map Shift</p><p><span style=" font-weight:600;">Click and drag</span> on the map to shift the positions of all metatiles at once. This is useful after resizing a map.</p></body></html> - - - Shift - - - - :/icons/shift.ico:/icons/shift.ico - - - true - - - - - - - <html><head/><body><p>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.</p><p>When smart-path mode is <span style=" font-weight:600;">not</span> enabled, clicking and dragging a selection will tile it in a grid.</p><p>Hold down the <span style=" font-weight:600;">shift</span> key while editing to quickly enable smart-path mode.</p></body></html> - - - margin-left: 10px - - - Smart Paths - - - - - - - <html><head/><body><p>Toggles a grid over the map's metatile boundaries.</p><p><span style=" font-weight:600;">Ctrl + G</span></p></body></html> - - - - - - Grid - - - - - - - Border - - - true - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - <html><head/><body><p>Change a map layout's width and height.</p></body></html> - - - Change Dimensions - - - - - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 0 - - - 0 - - - 0 - - - 0 - - + - - 1 + + 0 0 - - true + + + 0 + 32 + - - - - 0 - 0 - 542 - 628 - + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - false - - - false - - - QAbstractScrollArea::AdjustIgnored - - - QGraphicsView::NoDrag - - - - - - - Qt::Horizontal - - - - 166 - 16 - - - - - - - - Qt::Vertical - - - - 16 - 166 - - - - - - - - Qt::Horizontal - - - - 166 - 16 - - - - - - - - Qt::Vertical - - - - 16 - 166 - - - - - - + + 4 + + + 4 + + + 4 + + + 4 + + + + + true + + + <html><head/><body><p>Pencil</p><p><span style=" font-weight:600;">Click</span> and drag to draw on the map.</p><p><span style=" font-weight:600;">Right-click</span> and drag to select tiles.</p></body></html> + + + Paint + + + + :/icons/pencil.ico:/icons/pencil.ico + + + true + + + true + + + false + + + + + + + true + + + <html><head/><body><p>Pointer</p><p>Does nothing</p></body></html> + + + Select + + + + :/icons/cursor.ico:/icons/cursor.ico + + + true + + + + + + + <html><head/><body><p>Bucket Fill</p><p>Fills all similar tiles in a region with the selected metatiles or collision attributes</p></body></html> + + + Fill + + + + :/icons/fill_color.ico:/icons/fill_color.ico + + + true + + + + + + + <html><head/><body><p>Eyedropper</p><p><span style=" font-weight:600;">Click</span> to select a metatile or collision attribute.</p></body></html> + + + Dropper + + + + :/icons/pipette.ico:/icons/pipette.ico + + + true + + + + + + + <html><head/><body><p>Move</p><p>Click to drag map around.</p></body></html> + + + ... + + + + :/icons/move.ico:/icons/move.ico + + + true + + + + + + + <html><head/><body><p>Map Shift</p><p><span style=" font-weight:600;">Click and drag</span> on the map to shift the positions of all metatiles (Map tab) or events (Events tab) at once. This is useful after resizing a map.</p></body></html> + + + Shift + + + + :/icons/shift.ico:/icons/shift.ico + + + true + + + + + + + <html><head/><body><p>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.</p><p>When smart-path mode is <span style=" font-weight:600;">not</span> enabled, clicking and dragging a selection will tile it in a grid.</p><p>Hold down the <span style=" font-weight:600;">shift</span> key while editing to quickly enable smart-path mode.</p></body></html> + + + margin-left: 10px + + + Smart Paths + + + + + + + <html><head/><body><p>Toggles a grid over the map's metatile boundaries.</p><p><span style=" font-weight:600;">Ctrl + G</span></p></body></html> + + + + + + Grid + + + + + + + Border + + + true + + + + + + + <html><head/><body><p>Change a map layout's width and height.</p></body></html> + + + Change Dimensions + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 3 - - - 3 - - - 3 - - - 3 - - - - - true - + - + 0 0 - - - 156 - 0 - + + QFrame::StyledPanel - - 0 + + QFrame::Raised - - - - 0 - 0 - - - - Metatiles - - + + 3 @@ -733,51 +701,508 @@ 3 - - 3 - - - + + + + true + - + 0 0 - - Qt::ScrollBarAlwaysOn + + + 156 + 0 + - - Qt::ScrollBarAsNeeded + + 0 - - QAbstractScrollArea::AdjustIgnored - - - true - - - Qt::AlignHCenter|Qt::AlignTop - - - - true - - - - 8 - 0 - 224 - 324 - - + - + 0 0 - + + Metatiles + + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Primary Tileset + + + + + + + Qt::StrongFocus + + + <html><head/><body><p>Primary Tileset</p><p>Defines the first 0x200 metatiles available for the map.</p></body></html> + + + true + + + + + + + Secondary Tileset + + + + + + + Qt::StrongFocus + + + <html><head/><body><p>Secondary Tileset</p><p>Defines the second 0x200 metatiles available for the map.</p></body></html> + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 92 + + + + + 16777215 + 92 + + + + QFrame::NoFrame + + + QFrame::Raised + + + + 0 + + + QLayout::SetDefaultConstraint + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Selection + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QFrame::NoFrame + + + QFrame::Plain + + + true + + + + + 0 + 0 + 443 + 74 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + + Border + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 16777215 + 48 + + + + <html><head/><body><p>The border is a 2x2 metatile which is repeated outside of the map layout's boundary. Draw on this border area to modify it.</p></body></html> + + + QFrame::StyledPanel + + + QFrame::Sunken + + + Qt::ScrollBarAsNeeded + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 0 + 0 + + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAsNeeded + + + QAbstractScrollArea::AdjustIgnored + + + true + + + Qt::AlignHCenter|Qt::AlignTop + + + + true + + + + 8 + 0 + 431 + 341 + + + + + 0 + 0 + + + + + QLayout::SetDefaultConstraint + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + true + + + + 0 + 0 + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustIgnored + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 10 + + + 90 + + + 30 + + + Qt::Horizontal + + + + + + + + true + + + + 0 + 0 + + + + Collision + + QLayout::SetDefaultConstraint @@ -793,11 +1218,24 @@ 0 - - 0 - - - + + + + + 0 + 0 + + + + + 64 + 512 + + + + + + Qt::Vertical @@ -809,60 +1247,68 @@ - - - - true + + + + Qt::Horizontal - - - 0 - 0 - + + + 40 + 20 + - - Qt::ScrollBarAlwaysOff + + + + + + Qt::Horizontal - - Qt::ScrollBarAlwaysOff + + + 40 + 20 + - - QAbstractScrollArea::AdjustIgnored + + + + + + 0 + + + 100 + + + 50 + + + Qt::Horizontal - - - - Qt::Horizontal + + + + Opacity - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - + - - + + + + + + + + true + 0 @@ -871,210 +1317,48 @@ - 0 - 92 + 444 + 0 - - - 16777215 - 92 - - - - QFrame::NoFrame - - - QFrame::Raised - - - - 0 - - - QLayout::SetDefaultConstraint - + - 0 + 3 - 0 + 3 - 0 + 3 - 0 + 3 - - - - Selection + + + + There are no events on the current map. + + + Qt::AlignCenter - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - QFrame::NoFrame - - - QFrame::Plain - - - true - - - - - 0 - 0 - 256 - 74 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - true - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - - 0 - 0 - - - - - 0 - 110 - - - - - 16777215 - 110 - - - - Border - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 0 - 0 - + + + + 16777215 + 32 + - - - QLayout::SetMinAndMaxSize - + + QFrame::StyledPanel + + + QFrame::Raised + + 0 @@ -1087,152 +1371,374 @@ 0 - - 0 - - - + + + + + 40 + 32 + + + + <html><head/><body><p>Add a new event to the map.</p></body></html> + + + New Object + + + + :/icons/add.ico:/icons/add.ico + + + Qt::ToolButtonTextBesideIcon + + + + + - + 0 0 - 0 - 0 + 40 + 32 - + + <html><head/><body><p>Delete the selected event from the map.</p></body></html> + + + Delete + + + + :/icons/delete.ico:/icons/delete.ico + + + Qt::ToolButtonTextBesideIcon + + + false + + + + + + + Qt::Horizontal + + - 16777215 - 16777215 + 40 + 20 - - true + + + + + + + 0 + 0 + - - - - 0 - 0 - 234 - 83 - + + Open Map Scripts + + + false + + + + + + + + + + 0 + + + + Objects + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + true + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 0 + 0 + 430 + 521 + + + + + 0 + 0 + + + + + + + + + + Warps + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + true + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 0 + 0 + 430 + 521 + + + + + 0 + 0 + + + + + + + + + + Triggers + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + true + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 0 + 0 + 430 + 521 + + + + + 0 + 0 + + + + + + + + + + BGs + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + true + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 0 + 0 + 430 + 521 + + + + + 0 + 0 + + + + + + + + + + Healspots + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + true + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 0 + 0 + 430 + 521 + + + + + 0 + 0 + + + + + + + + + + Multiple + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 0 - - - - - - 0 - 0 - - - - - 1 - 1 - - - - - 16777215 - 16777215 - - - - <html><head/><body><p>The border is a group of metatiles which are repeated outside of the map layout's boundary. Draw on this border area to modify it.</p></body></html> - - - - + + true + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 0 + 0 + 430 + 521 + + + + + 0 + 0 + + + - - - - - - - - - - - - 10 - - - 90 - - - 30 - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - Primary Tileset - - - - - - - Qt::StrongFocus - - - <html><head/><body><p>Primary Tileset</p><p>Defines the first 0x200 metatiles available for the map.</p></body></html> - - - true - - - - - - - Secondary Tileset - - - - - - - Qt::StrongFocus - - - <html><head/><body><p>Secondary Tileset</p><p>Defines the second 0x200 metatiles available for the map.</p></body></html> - - - true - + + + @@ -1240,1084 +1746,22 @@ - - - true - - - - 0 - 0 - - - - Collision - - - - QLayout::SetDefaultConstraint - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 64 - 512 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - 0 - - - 100 - - - 50 - - - Qt::Horizontal - - - - - - - Opacity - - - - - - - - - - - - - - - true - - - Events - - - <html><head/><body><p>Edit the map's events.</p><p>View and modify objects, warps, signs, etc.</p></body></html> - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - Qt::Horizontal - - - - - 1 - 0 - - - - true - - - - - 0 - 0 - 371 - 684 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Qt::Horizontal - - - - 166 - 16 - - - - - - - - Qt::Horizontal - - - - 166 - 16 - - - - - - - - Qt::Vertical - - - - 16 - 166 - - - - - - - - Qt::Vertical - - - - 16 - 166 - - - - - - - - - 0 - 0 - - - - - - - - - - true - - - - 0 - 0 - - - - - 444 - 0 - - - - - 3 - - - 3 - - - 3 - - - 3 - - - - - There are no events on the current map. - - - Qt::AlignCenter - - - - - - - - 16777215 - 32 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 40 - 32 - - - - <html><head/><body><p>Add a new event to the map.</p></body></html> - - - New Object - - - - :/icons/add.ico:/icons/add.ico - - - Qt::ToolButtonTextBesideIcon - - - - - - - - 0 - 0 - - - - - 40 - 32 - - - - <html><head/><body><p>Delete the selected event from the map.</p></body></html> - - - Delete - - - - :/icons/delete.ico:/icons/delete.ico - - - Qt::ToolButtonTextBesideIcon - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - Open Map Scripts - - - false - - - - - - - - - - 0 - - - - Objects - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - true - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - 0 - 0 - 430 - 575 - - - - - 0 - 0 - - - - - - - - - - Warps - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - true - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - 0 - 0 - 98 - 28 - - - - - 0 - 0 - - - - - - - - - - Triggers - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - true - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - 0 - 0 - 98 - 28 - - - - - 0 - 0 - - - - - - - - - - BGs - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - true - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - 0 - 0 - 98 - 28 - - - - - 0 - 0 - - - - - - - - - - Healspots - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - true - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - 0 - 0 - 98 - 28 - - - - - 0 - 0 - - - - - - - - - - Multiple - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - true - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - 0 - 0 - 98 - 28 - - - - - 0 - 0 - - - - - - - - - - - - - - - - - - - 0 - 0 - - - - Header - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - false - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - QFormLayout::FieldsStayAtSizeHint - - - 12 - - - 9 - - - - - Song - - - - - - - <html><head/><body><p>The default background music for this map.</p></body></html> - - - true - - - - - - - Location - - - - - - - <html><head/><body><p>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.</p></body></html> - - - true - - - - - - - Requires Flash - - - - - - - <html><head/><body><p>Whether or not the map is dark and requires Flash to illuminate.</p></body></html> - - - - - - - - - - Weather - - - - - - - <html><head/><body><p>The default weather for this map.</p></body></html> - - - true - - - - - - - Type - - - - - - - <html><head/><body><p>The map type is a general attribute, which is used for many different things. For example. it determines whether biking or running is allowed.</p></body></html> - - - true - - - - - - - Battle scene - - - - - - - <html><head/><body><p>Determines the type of battle scene graphics to use.</p></body></html> - - - true - - - - - - - Show Location Name - - - - - - - <html><head/><body><p>Whether or not to display the location name when the player enters the map.</p></body></html> - - - - - - - - - - Allow Running - - - - - - - <html><head/><body><p>Allows the player to use Running Shoes</p></body></html> - - - - - - - - - - Allow Biking - - - - - - - <html><head/><body><p>Allows the player to use a Bike</p></body></html> - - - - - - - - - - Allow Dig & Escape Rope - - - - - - - <html><head/><body><p>Allows the player to use Dig or Escape Rope</p></body></html> - - - - - - - - - - Floor Number - - - - - - - <html><head/><body><p>Floor number to be used for maps with elevators.</p></body></html> - - - -128 - - - 127 - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - Custom Fields - - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Add - - - - - - - Delete - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Custom fields will be added to the map.json file for the current map. - - - false - - - false - - - true - - - false - - - true - - - false - - - - Key - - - - - Value - - - - - - - - - - - - Connections - - - - 0 - - - 0 - - - 0 - - - 0 - - - + - + 0 0 - - QFrame::StyledPanel - - - QFrame::Raised - - + + + 0 + 0 @@ -2330,258 +1774,362 @@ 0 - - 0 - - - + + + + false + - + 0 0 - - - 0 - 32 - - QFrame::StyledPanel QFrame::Raised - - - 4 + + + QFormLayout::FieldsStayAtSizeHint - - 4 - - - 4 - - - 4 + + 12 - 4 + 9 - - - - - 0 - 0 - + + + + Song + + + + - <html><head/><body><p>Add a new connection.</p></body></html> - - - - - - - :/icons/add.ico - - - - - - - - <html><head/><body><p>Remove the currently-selected connection.</p></body></html> - - - - - - - :/icons/delete.ico - - - - - - - - Number of Connections: - - - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - <html><head/><body><p>If enabled, connections will automatically be updated on the connected map.</p></body></html> - - - Mirror to Connecting Maps - - - true - - - - - - - - - - - 0 - 0 - - - - - 0 - 32 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 6 - - - 4 - - - 4 - - - 4 - - - 4 - - - - - Map - - - - - - - <html><head/><body><p>The destination map name of the connection.</p></body></html> + <html><head/><body><p>The default background music for this map.</p></body></html> true - - + + - Offset + Location - - + + - <html><head/><body><p>The number of metatiles to offset the connection.</p></body></html> + <html><head/><body><p>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.</p></body></html> + + + true + + + + + + + Requires Flash + + + + + + + <html><head/><body><p>Whether or not the map is dark and requires Flash to illuminate.</p></body></html> + + + + + + + + + + Weather + + + + + + + <html><head/><body><p>The default weather for this map.</p></body></html> + + + true + + + + + + + Type + + + + + + + <html><head/><body><p>The map type is a general attribute, which is used for many different things. For example. it determines whether biking or running is allowed.</p></body></html> + + + true + + + + + + + Battle scene + + + + + + + <html><head/><body><p>Determines the type of battle scene graphics to use.</p></body></html> + + + true + + + + + + + Show Location Name + + + + + + + <html><head/><body><p>Whether or not to display the location name when the player enters the map.</p></body></html> + + + + + + + + + + Allow Running + + + + + + + <html><head/><body><p>Allows the player to use Running Shoes</p></body></html> + + + + + + + + + + Allow Biking + + + + + + + <html><head/><body><p>Allows the player to use a Bike</p></body></html> + + + + + + + + + + Allow Dig & Escape Rope + + + + + + + <html><head/><body><p>Allows the player to use Dig or Escape Rope</p></body></html> + + + + + + + + + + Floor Number + + + + + + + <html><head/><body><p>Floor number to be used for maps with elevators.</p></body></html> - -999 + -128 - 999 + 127 - - - - <html><head/><body><p>The direction of the connection.</p></body></html> - - - - up - - - - - right - - - - - down - - - - - left - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + QFrame::StyledPanel QFrame::Raised - + + + + + Custom Fields + + + + + + + QFrame::NoFrame + + + QFrame::Plain + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Add + + + + + + + Delete + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Custom fields will be added to the map.json file for the current map. + + + false + + + false + + + true + + + false + + + true + + + false + + + + Key + + + + + Value + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + 0 @@ -2598,110 +2146,26 @@ 0 - + - - 1 - 0 - - - - true - - - - - 0 - 0 - 818 - 574 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - 0 - 0 - 0 - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - + 0 0 + + + 0 + 32 + + QFrame::StyledPanel QFrame::Raised - + 4 @@ -2718,16 +2182,140 @@ 4 - + + + + 0 + 0 + + + + <html><head/><body><p>Add a new connection.</p></body></html> + - Dive Map + + + + + :/icons/add.ico + - + - <html><head/><body><p>Destination map name when using <span style=" font-weight:600;">Dive</span>. If empty, no such connection will exist.</p></body></html> + <html><head/><body><p>Remove the currently-selected connection.</p></body></html> + + + + + + + :/icons/delete.ico + + + + + + + + Number of Connections: + + + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + <html><head/><body><p>If enabled, connections will automatically be updated on the connected map.</p></body></html> + + + Mirror to Connecting Maps + + + true + + + + + + + + + + + 0 + 0 + + + + + 0 + 32 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 6 + + + 4 + + + 4 + + + 4 + + + 4 + + + + + Map + + + + + + + <html><head/><body><p>The destination map name of the connection.</p></body></html> true @@ -2735,24 +2323,54 @@ - + - Emerge Map + Offset - + - <html><head/><body><p>Destination map name when emerging using <span style=" font-weight:600;">Dive</span>. If empty, no such connection will exist.</p></body></html> + <html><head/><body><p>The number of metatiles to offset the connection.</p></body></html> - - true + + -999 + + + 999 - + + + <html><head/><body><p>The direction of the connection.</p></body></html> + + + + up + + + + + right + + + + + down + + + + + left + + + + + + Qt::Horizontal @@ -2767,106 +2385,296 @@ + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 1 + 0 + + + + true + + + + + 0 + 0 + 118 + 118 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + 0 + 0 + 0 + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 4 + + + 4 + + + 4 + + + 4 + + + 4 + + + + + Dive Map + + + + + + + <html><head/><body><p>Destination map name when using <span style=" font-weight:600;">Dive</span>. If empty, no such connection will exist.</p></body></html> + + + true + + + + + + + Emerge Map + + + + + + + <html><head/><body><p>Destination map name when emerging using <span style=" font-weight:600;">Dive</span>. If empty, no such connection will exist.</p></body></html> + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + - - - - - - - :/icons/tall_grass.ico:/icons/tall_grass.ico - - - Wild Pokemon - - - - - - QFrame::NoFrame - - - QFrame::Raised - - + + - + QFrame::NoFrame - QFrame::Plain + QFrame::Raised - + - - - Group + + + QFrame::NoFrame + + QFrame::Plain + + + + + + Group + + + + + + + QComboBox::AdjustToContents + + + + + + + <html><head/><body><p>Create a new group for wild pokemon data on this map.</p></body></html> + + + + + + + :/icons/add.ico:/icons/add.ico + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Configure JSON... + + + + - - - QComboBox::AdjustToContents - - - - - - - <html><head/><body><p>Create a new group for wild pokemon data on this map.</p></body></html> - - - - - - - :/icons/add.ico:/icons/add.ico - - - true - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Configure JSON... - + + + - - - - - - - - - + + + @@ -2878,7 +2686,7 @@ 0 0 - 1117 + 1287 22 @@ -2976,6 +2784,11 @@ Ctrl+O + + + Reload Project + + Save @@ -2984,6 +2797,30 @@ Ctrl+S + + + true + + + Show Wild Encounter Tables + + + + + true + + + Monitor Project Files + + + + + true + + + Use PoryScript + + New Map... @@ -3183,35 +3020,6 @@ Themes... - - - Reload Project - - - - - true - - - Show Wild Encounter Tables - - - - - true - - - Monitor Project Files - - - - - true - - - Use PoryScript - - Export Map Stitch Image... @@ -3235,6 +3043,11 @@ QToolButton
neweventtoolbutton.h
+ + QTabBar + QWidget +
qtabbar.h
+
diff --git a/include/config.h b/include/config.h index d5e5e41c..f1b1d91b 100644 --- a/include/config.h +++ b/include/config.h @@ -49,7 +49,7 @@ public: void setRecentMap(QString map); void setMapSortOrder(MapSortOrder order); void setPrettyCursors(bool enabled); - void setGeometry(QByteArray, QByteArray, QByteArray, QByteArray, QByteArray); + void setGeometry(QByteArray, QByteArray, QByteArray, QByteArray); void setCollisionOpacity(int opacity); void setMetatilesZoom(int zoom); void setShowPlayerView(bool enabled); diff --git a/include/mainwindow.h b/include/mainwindow.h index 15182ec7..db42d478 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -78,7 +78,7 @@ private slots: void on_actionMonitor_Project_Files_triggered(bool checked); void on_actionUse_Poryscript_triggered(bool checked); - void on_tabWidget_currentChanged(int index); + void on_mainTabBar_tabBarClicked(int index); void on_actionUndo_triggered(); void on_actionRedo_triggered(); diff --git a/src/config.cpp b/src/config.cpp index de8a2f56..80fcaa83 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -127,8 +127,6 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) { this->windowState = bytesFromString(value); } else if (key == "map_splitter_state") { this->mapSplitterState = bytesFromString(value); - } else if (key == "events_splitter_state") { - this->eventsSlpitterState = bytesFromString(value); } else if (key == "main_splitter_state") { this->mainSplitterState = bytesFromString(value); } else if (key == "collision_opacity") { @@ -190,7 +188,6 @@ QMap PorymapConfig::getKeyValueMap() { map.insert("window_geometry", stringFromByteArray(this->windowGeometry)); map.insert("window_state", stringFromByteArray(this->windowState)); map.insert("map_splitter_state", stringFromByteArray(this->mapSplitterState)); - map.insert("events_splitter_state", stringFromByteArray(this->eventsSlpitterState)); map.insert("main_splitter_state", stringFromByteArray(this->mainSplitterState)); map.insert("collision_opacity", QString("%1").arg(this->collisionOpacity)); map.insert("metatiles_zoom", QString("%1").arg(this->metatilesZoom)); @@ -245,12 +242,11 @@ void PorymapConfig::setMonitorFiles(bool monitor) { this->save(); } -void PorymapConfig::setGeometry(QByteArray windowGeometry_, QByteArray windowState_, QByteArray mapSplitterState_, - QByteArray eventsSlpitterState_, QByteArray mainSplitterState_) { +void PorymapConfig::setGeometry(QByteArray windowGeometry_, QByteArray windowState_, + QByteArray mapSplitterState_, QByteArray mainSplitterState_) { this->windowGeometry = windowGeometry_; this->windowState = windowState_; this->mapSplitterState = mapSplitterState_; - this->eventsSlpitterState = eventsSlpitterState_; this->mainSplitterState = mainSplitterState_; this->save(); } @@ -305,7 +301,6 @@ QMap PorymapConfig::getGeometry() { geometry.insert("window_geometry", this->windowGeometry); geometry.insert("window_state", this->windowState); geometry.insert("map_splitter_state", this->mapSplitterState); - geometry.insert("events_splitter_state", this->eventsSlpitterState); geometry.insert("main_splitter_state", this->mainSplitterState); return geometry; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 732dc0f9..18afecc3 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -79,6 +79,15 @@ void MainWindow::initExtraShortcuts() { } void MainWindow::initCustomUI() { + // Set up the tab bar + ui->mainTabBar->addTab("Map"); // add the icon + ui->mainTabBar->setTabIcon(0, QIcon(QStringLiteral(":/icons/map.ico"))); + ui->mainTabBar->addTab("Events"); + ui->mainTabBar->addTab("Header"); + ui->mainTabBar->addTab("Connections"); + ui->mainTabBar->addTab("Wild Pokemon"); // add the icon + ui->mainTabBar->setTabIcon(4, QIcon(QStringLiteral(":/icons/tall_grass.ico"))); + // Right-clicking on items in the map list tree view brings up a context menu. ui->mapList->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->mapList, SIGNAL(customContextMenuRequested(const QPoint &)), @@ -152,11 +161,14 @@ void MainWindow::initMapSortOrder() { void MainWindow::setProjectSpecificUIVisibility() { - ui->tabWidget->setTabEnabled(4, projectConfig.getEncounterJsonActive()); - ui->actionUse_Encounter_Json->setChecked(projectConfig.getEncounterJsonActive()); ui->actionUse_Poryscript->setChecked(projectConfig.getUsePoryScript()); + if (!projectConfig.getEncounterJsonActive()) { + ui->mainTabBar->removeTab(4); + ui->mainStackedWidget->removeWidget(ui->mainStackedWidget->widget(4)); + } + switch (projectConfig.getBaseGameVersion()) { case BaseGameVersion::pokeruby: @@ -264,7 +276,6 @@ void MainWindow::restoreWindowState() { this->restoreGeometry(geometry.value("window_geometry")); this->restoreState(geometry.value("window_state")); this->ui->splitter_map->restoreState(geometry.value("map_splitter_state")); - this->ui->splitter_events->restoreState(geometry.value("events_splitter_state")); this->ui->splitter_main->restoreState(geometry.value("main_splitter_state")); } @@ -444,7 +455,7 @@ void MainWindow::redrawMapScene() if (!editor->displayMap()) return; - on_tabWidget_currentChanged(ui->tabWidget->currentIndex()); + on_mainTabBar_tabBarClicked(ui->mainStackedWidget->currentIndex()); double base = editor->scale_base; double exp = editor->scale_exp; @@ -455,11 +466,7 @@ void MainWindow::redrawMapScene() ui->graphicsView_Map->setScene(editor->scene); ui->graphicsView_Map->setSceneRect(editor->scene->sceneRect()); ui->graphicsView_Map->setFixedSize(width, height); - - ui->graphicsView_Objects_Map->setScene(editor->scene); - ui->graphicsView_Objects_Map->setSceneRect(editor->scene->sceneRect()); - ui->graphicsView_Objects_Map->setFixedSize(width, height); - ui->graphicsView_Objects_Map->editor = editor; + ui->graphicsView_Map->editor = editor; ui->graphicsView_Connections->setScene(editor->scene); ui->graphicsView_Connections->setSceneRect(editor->scene->sceneRect()); @@ -1203,11 +1210,16 @@ void MainWindow::on_action_Exit_triggered() QApplication::quit(); } -void MainWindow::on_tabWidget_currentChanged(int index) +void MainWindow::on_mainTabBar_tabBarClicked(int index) { + int tabIndexToStackIndex[5] = {0, 0, 1, 2, 3}; + ui->mainStackedWidget->setCurrentIndex(tabIndexToStackIndex[index]); + if (index == 0) { + ui->stackedWidget_MapEvents->setCurrentIndex(0); on_tabWidget_2_currentChanged(ui->tabWidget_2->currentIndex()); } else if (index == 1) { + ui->stackedWidget_MapEvents->setCurrentIndex(1); editor->setEditingObjects(); } else if (index == 3) { editor->setEditingConnections(); @@ -1318,13 +1330,11 @@ void MainWindow::scaleMapView(int s) { double sfactor = pow(base,s); ui->graphicsView_Map->scale(sfactor,sfactor); - ui->graphicsView_Objects_Map->scale(sfactor,sfactor); ui->graphicsView_Connections->scale(sfactor,sfactor); int width = static_cast(ceil((editor->scene->width()) * pow(base,exp))) + 2; int height = static_cast(ceil((editor->scene->height()) * pow(base,exp))) + 2; ui->graphicsView_Map->setFixedSize(width, height); - ui->graphicsView_Objects_Map->setFixedSize(width, height); ui->graphicsView_Connections->setFixedSize(width, height); } } @@ -2512,7 +2522,6 @@ void MainWindow::closeEvent(QCloseEvent *event) { this->saveGeometry(), this->saveState(), this->ui->splitter_map->saveState(), - this->ui->splitter_events->saveState(), this->ui->splitter_main->saveState() ); porymapConfig.save();