some code cleanup

This commit is contained in:
garak 2023-04-07 21:50:46 -04:00
parent 2d2b7f723b
commit f4cd57c988
16 changed files with 187 additions and 213 deletions

View file

@ -22,9 +22,9 @@ enum CommandId {
ID_PaintCollision, ID_PaintCollision,
ID_BucketFillCollision, ID_BucketFillCollision,
ID_MagicFillCollision, ID_MagicFillCollision,
ID_ResizeMap, ID_ResizeLayout,
ID_PaintBorder, ID_PaintBorder,
ID_ScriptEditMap, ID_ScriptEditLayout,
ID_EventMove, ID_EventMove,
ID_EventShift, ID_EventShift,
ID_EventCreate, ID_EventCreate,
@ -194,9 +194,9 @@ private:
/// Implements a command to commit a map or border resize action. /// Implements a command to commit a map or border resize action.
class ResizeMap : public QUndoCommand { class ResizeLayout : public QUndoCommand {
public: public:
ResizeMap(Layout *layout, QSize oldMapDimensions, QSize newMapDimensions, ResizeLayout(Layout *layout, QSize oldLayoutDimensions, QSize newLayoutDimensions,
const Blockdata &oldMetatiles, const Blockdata &newMetatiles, const Blockdata &oldMetatiles, const Blockdata &newMetatiles,
QSize oldBorderDimensions, QSize newBorderDimensions, QSize oldBorderDimensions, QSize newBorderDimensions,
const Blockdata &oldBorder, const Blockdata &newBorder, const Blockdata &oldBorder, const Blockdata &newBorder,
@ -206,15 +206,15 @@ public:
void redo() override; void redo() override;
bool mergeWith(const QUndoCommand *) override { return false; } bool mergeWith(const QUndoCommand *) override { return false; }
int id() const override { return CommandId::ID_ResizeMap; } int id() const override { return CommandId::ID_ResizeLayout; }
private: private:
Layout *layout = nullptr; Layout *layout = nullptr;
int oldMapWidth; int oldLayoutWidth;
int oldMapHeight; int oldLayoutHeight;
int newMapWidth; int newLayoutWidth;
int newMapHeight; int newLayoutHeight;
int oldBorderWidth; int oldBorderWidth;
int oldBorderHeight; int oldBorderHeight;
@ -342,13 +342,12 @@ public:
// !TODO: rename map vars to layout
/// Implements a command to commit map edits from the scripting API. /// Implements a command to commit map edits from the scripting API.
/// The scripting api can edit map/border blocks and dimensions. /// The scripting api can edit map/border blocks and dimensions.
class ScriptEditMap : public QUndoCommand { class ScriptEditLayout : public QUndoCommand {
public: public:
ScriptEditMap(Layout *layout, ScriptEditLayout(Layout *layout,
QSize oldMapDimensions, QSize newMapDimensions, QSize oldLayoutDimensions, QSize newLayoutDimensions,
const Blockdata &oldMetatiles, const Blockdata &newMetatiles, const Blockdata &oldMetatiles, const Blockdata &newMetatiles,
QSize oldBorderDimensions, QSize newBorderDimensions, QSize oldBorderDimensions, QSize newBorderDimensions,
const Blockdata &oldBorder, const Blockdata &newBorder, const Blockdata &oldBorder, const Blockdata &newBorder,
@ -358,7 +357,7 @@ public:
void redo() override; void redo() override;
bool mergeWith(const QUndoCommand *) override { return false; } bool mergeWith(const QUndoCommand *) override { return false; }
int id() const override { return CommandId::ID_ScriptEditMap; } int id() const override { return CommandId::ID_ScriptEditLayout; }
private: private:
Layout *layout = nullptr; Layout *layout = nullptr;
@ -369,10 +368,10 @@ private:
Blockdata newBorder; Blockdata newBorder;
Blockdata oldBorder; Blockdata oldBorder;
int oldMapWidth; int oldLayoutWidth;
int oldMapHeight; int oldLayoutHeight;
int newMapWidth; int newLayoutWidth;
int newMapHeight; int newLayoutHeight;
int oldBorderWidth; int oldBorderWidth;
int oldBorderHeight; int oldBorderHeight;

View file

@ -55,7 +55,7 @@ public:
Blockdata cached_border; Blockdata cached_border;
struct { struct {
Blockdata blocks; Blockdata blocks;
QSize mapDimensions; QSize layoutDimensions;
Blockdata border; Blockdata border;
QSize borderDimensions; QSize borderDimensions;
} lastCommitBlocks; // to track map changes } lastCommitBlocks; // to track map changes

View file

@ -64,9 +64,9 @@ private:
/// Edit Layout Dimensions /// Edit Layout Dimensions
class ResizeLayout : public QUndoCommand { class ResizeRMLayout : public QUndoCommand {
public: public:
ResizeLayout(RegionMap *map, int oldWidth, int oldHeight, int newWidth, int newHeight, ResizeRMLayout(RegionMap *map, int oldWidth, int oldHeight, int newWidth, int newHeight,
QMap<QString, QList<LayoutSquare>> oldLayouts, QMap<QString, QList<LayoutSquare>> newLayouts, QUndoCommand *parent = nullptr); QMap<QString, QList<LayoutSquare>> oldLayouts, QMap<QString, QList<LayoutSquare>> newLayouts, QUndoCommand *parent = nullptr);
void undo() override; void undo() override;

View file

@ -46,8 +46,8 @@ public:
QObject *parent = nullptr; QObject *parent = nullptr;
Project *project = nullptr; Project *project = nullptr;
QPointer<Map> map = nullptr; // !TODO: since removed onMapCacheCleared, make sure this works as intended QPointer<Map> map = nullptr;
QPointer<Layout> layout = nullptr; /* NEW */ QPointer<Layout> layout = nullptr;
QUndoGroup editGroup; // Manages the undo history for each map QUndoGroup editGroup; // Manages the undo history for each map
@ -118,8 +118,6 @@ public:
void updateCursorRectPos(int x, int y); void updateCursorRectPos(int x, int y);
void setCursorRectVisible(bool visible); void setCursorRectVisible(bool visible);
QGraphicsScene *scene = nullptr; QGraphicsScene *scene = nullptr;
QGraphicsPixmapItem *current_view = nullptr; QGraphicsPixmapItem *current_view = nullptr;
LayoutPixmapItem *map_item = nullptr; LayoutPixmapItem *map_item = nullptr;
@ -154,15 +152,18 @@ public:
EditAction mapEditAction = EditAction::Paint; EditAction mapEditAction = EditAction::Paint;
EditAction objectEditAction = EditAction::Select; EditAction objectEditAction = EditAction::Select;
/// !TODO this enum class EditMode { None, Disabled, Metatiles, Collision, Header, Events, Connections, Encounters };
enum class EditMode { None, Disabled, Map, Layout, Objects, Connections, Encounters }; EditMode editMode = EditMode::None;
EditMode editMode = EditMode::Map;
void setEditMode(EditMode mode) { this->editMode = mode; } void setEditMode(EditMode mode) { this->editMode = mode; }
EditMode getEditMode() { return this->editMode; } EditMode getEditMode() { return this->editMode; }
void setEditingMap(); bool getEditingLayout();
void setEditorView();
void setEditingMetatiles();
void setEditingCollision(); void setEditingCollision();
void setEditingLayout(); void setEditingHeader();
void setEditingObjects(); void setEditingObjects();
void setEditingConnections(); void setEditingConnections();
void setEditingEncounters(); void setEditingEncounters();

View file

@ -14,25 +14,16 @@ private:
using QGraphicsPixmapItem::paint; using QGraphicsPixmapItem::paint;
public: public:
enum class PaintMode {
Disabled,
Metatiles,
EventObjects
};
LayoutPixmapItem(Layout *layout, MetatileSelector *metatileSelector, Settings *settings) { LayoutPixmapItem(Layout *layout, MetatileSelector *metatileSelector, Settings *settings) {
this->layout = layout; this->layout = layout;
// this->map->setMapItem(this); // this->map->setMapItem(this);
this->metatileSelector = metatileSelector; this->metatileSelector = metatileSelector;
this->settings = settings; this->settings = settings;
this->paintingMode = PaintMode::Metatiles;
this->lockedAxis = LayoutPixmapItem::Axis::None; this->lockedAxis = LayoutPixmapItem::Axis::None;
this->prevStraightPathState = false; this->prevStraightPathState = false;
setAcceptHoverEvents(true); setAcceptHoverEvents(true);
} }
LayoutPixmapItem::PaintMode paintingMode;
Layout *layout; Layout *layout;
MetatileSelector *metatileSelector; MetatileSelector *metatileSelector;
@ -95,12 +86,17 @@ public:
void lockNondominantAxis(QGraphicsSceneMouseEvent *event); void lockNondominantAxis(QGraphicsSceneMouseEvent *event);
QPoint adjustCoords(QPoint pos); QPoint adjustCoords(QPoint pos);
void setEditsEnabled(bool enabled) { this->editsEnabled = enabled; }
bool getEditsEnabled() { return this->editsEnabled; }
private: private:
void paintSmartPath(int x, int y, bool fromScriptCall = false); void paintSmartPath(int x, int y, bool fromScriptCall = false);
static QList<int> smartPathTable; static QList<int> smartPathTable;
unsigned actionId_ = 0; unsigned actionId_ = 0;
bool editsEnabled = true;
signals: signals:
void startPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *); void startPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *);
void endPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *); void endPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *);

View file

@ -24,7 +24,6 @@ int getEventTypeMask(QList<Event *> events) {
return eventTypeMask; return eventTypeMask;
} }
/// !TODO:
void renderBlocks(Layout *layout, bool ignoreCache = false) { void renderBlocks(Layout *layout, bool ignoreCache = false) {
layout->layoutItem->draw(ignoreCache); layout->layoutItem->draw(ignoreCache);
layout->collisionItem->draw(ignoreCache); layout->collisionItem->draw(ignoreCache);
@ -178,7 +177,7 @@ bool ShiftMetatiles::mergeWith(const QUndoCommand *command) {
************************************************************************ ************************************************************************
******************************************************************************/ ******************************************************************************/
ResizeMap::ResizeMap(Layout *layout, QSize oldMapDimensions, QSize newMapDimensions, ResizeLayout::ResizeLayout(Layout *layout, QSize oldLayoutDimensions, QSize newLayoutDimensions,
const Blockdata &oldMetatiles, const Blockdata &newMetatiles, const Blockdata &oldMetatiles, const Blockdata &newMetatiles,
QSize oldBorderDimensions, QSize newBorderDimensions, QSize oldBorderDimensions, QSize newBorderDimensions,
const Blockdata &oldBorder, const Blockdata &newBorder, const Blockdata &oldBorder, const Blockdata &newBorder,
@ -187,11 +186,11 @@ ResizeMap::ResizeMap(Layout *layout, QSize oldMapDimensions, QSize newMapDimensi
this->layout = layout; this->layout = layout;
this->oldMapWidth = oldMapDimensions.width(); this->oldLayoutWidth = oldLayoutDimensions.width();
this->oldMapHeight = oldMapDimensions.height(); this->oldLayoutHeight = oldLayoutDimensions.height();
this->newMapWidth = newMapDimensions.width(); this->newLayoutWidth = newLayoutDimensions.width();
this->newMapHeight = newMapDimensions.height(); this->newLayoutHeight = newLayoutDimensions.height();
this->oldMetatiles = oldMetatiles; this->oldMetatiles = oldMetatiles;
this->newMetatiles = newMetatiles; this->newMetatiles = newMetatiles;
@ -206,33 +205,33 @@ ResizeMap::ResizeMap(Layout *layout, QSize oldMapDimensions, QSize newMapDimensi
this->newBorder = newBorder; this->newBorder = newBorder;
} }
void ResizeMap::redo() { void ResizeLayout::redo() {
QUndoCommand::redo(); QUndoCommand::redo();
if (!layout) return; if (!layout) return;
layout->blockdata = newMetatiles; layout->blockdata = newMetatiles;
layout->setDimensions(newMapWidth, newMapHeight, false, true); layout->setDimensions(newLayoutWidth, newLayoutHeight, false, true);
layout->border = newBorder; layout->border = newBorder;
layout->setBorderDimensions(newBorderWidth, newBorderHeight, false, true); layout->setBorderDimensions(newBorderWidth, newBorderHeight, false, true);
layout->lastCommitBlocks.mapDimensions = QSize(layout->getWidth(), layout->getHeight()); layout->lastCommitBlocks.layoutDimensions = QSize(layout->getWidth(), layout->getHeight());
layout->lastCommitBlocks.borderDimensions = QSize(layout->getBorderWidth(), layout->getBorderHeight()); layout->lastCommitBlocks.borderDimensions = QSize(layout->getBorderWidth(), layout->getBorderHeight());
layout->needsRedrawing(); layout->needsRedrawing();
} }
void ResizeMap::undo() { void ResizeLayout::undo() {
if (!layout) return; if (!layout) return;
layout->blockdata = oldMetatiles; layout->blockdata = oldMetatiles;
layout->setDimensions(oldMapWidth, oldMapHeight, false, true); layout->setDimensions(oldLayoutWidth, oldLayoutHeight, false, true);
layout->border = oldBorder; layout->border = oldBorder;
layout->setBorderDimensions(oldBorderWidth, oldBorderHeight, false, true); layout->setBorderDimensions(oldBorderWidth, oldBorderHeight, false, true);
layout->lastCommitBlocks.mapDimensions = QSize(layout->getWidth(), layout->getHeight()); layout->lastCommitBlocks.layoutDimensions = QSize(layout->getWidth(), layout->getHeight());
layout->lastCommitBlocks.borderDimensions = QSize(layout->getBorderWidth(), layout->getBorderHeight()); layout->lastCommitBlocks.borderDimensions = QSize(layout->getBorderWidth(), layout->getBorderHeight());
layout->needsRedrawing(); layout->needsRedrawing();
@ -487,23 +486,23 @@ int EventPaste::id() const {
************************************************************************ ************************************************************************
******************************************************************************/ ******************************************************************************/
ScriptEditMap::ScriptEditMap(Layout *layout, ScriptEditLayout::ScriptEditLayout(Layout *layout,
QSize oldMapDimensions, QSize newMapDimensions, QSize oldLayoutDimensions, QSize newLayoutDimensions,
const Blockdata &oldMetatiles, const Blockdata &newMetatiles, const Blockdata &oldMetatiles, const Blockdata &newMetatiles,
QSize oldBorderDimensions, QSize newBorderDimensions, QSize oldBorderDimensions, QSize newBorderDimensions,
const Blockdata &oldBorder, const Blockdata &newBorder, const Blockdata &oldBorder, const Blockdata &newBorder,
QUndoCommand *parent) : QUndoCommand(parent) { QUndoCommand *parent) : QUndoCommand(parent) {
setText("Script Edit Map"); setText("Script Edit Layout");
this->layout = layout; this->layout = layout;
this->newMetatiles = newMetatiles; this->newMetatiles = newMetatiles;
this->oldMetatiles = oldMetatiles; this->oldMetatiles = oldMetatiles;
this->oldMapWidth = oldMapDimensions.width(); this->oldLayoutWidth = oldLayoutDimensions.width();
this->oldMapHeight = oldMapDimensions.height(); this->oldLayoutHeight = oldLayoutDimensions.height();
this->newMapWidth = newMapDimensions.width(); this->newLayoutWidth = newLayoutDimensions.width();
this->newMapHeight = newMapDimensions.height(); this->newLayoutHeight = newLayoutDimensions.height();
this->oldBorder = oldBorder; this->oldBorder = oldBorder;
this->newBorder = newBorder; this->newBorder = newBorder;
@ -514,14 +513,14 @@ ScriptEditMap::ScriptEditMap(Layout *layout,
this->newBorderHeight = newBorderDimensions.height(); this->newBorderHeight = newBorderDimensions.height();
} }
void ScriptEditMap::redo() { void ScriptEditLayout::redo() {
QUndoCommand::redo(); QUndoCommand::redo();
if (!layout) return; if (!layout) return;
if (newMapWidth != layout->getWidth() || newMapHeight != layout->getHeight()) { if (newLayoutWidth != layout->getWidth() || newLayoutHeight != layout->getHeight()) {
layout->blockdata = newMetatiles; layout->blockdata = newMetatiles;
layout->setDimensions(newMapWidth, newMapHeight, false); layout->setDimensions(newLayoutWidth, newLayoutHeight, false);
} else { } else {
layout->setBlockdata(newMetatiles); layout->setBlockdata(newMetatiles);
} }
@ -534,21 +533,20 @@ void ScriptEditMap::redo() {
} }
layout->lastCommitBlocks.blocks = newMetatiles; layout->lastCommitBlocks.blocks = newMetatiles;
layout->lastCommitBlocks.mapDimensions = QSize(newMapWidth, newMapHeight); layout->lastCommitBlocks.layoutDimensions = QSize(newLayoutWidth, newLayoutHeight);
layout->lastCommitBlocks.border = newBorder; layout->lastCommitBlocks.border = newBorder;
layout->lastCommitBlocks.borderDimensions = QSize(newBorderWidth, newBorderHeight); layout->lastCommitBlocks.borderDimensions = QSize(newBorderWidth, newBorderHeight);
// !TODO
renderBlocks(layout); renderBlocks(layout);
layout->borderItem->draw(); layout->borderItem->draw();
} }
void ScriptEditMap::undo() { void ScriptEditLayout::undo() {
if (!layout) return; if (!layout) return;
if (oldMapWidth != layout->getWidth() || oldMapHeight != layout->getHeight()) { if (oldLayoutWidth != layout->getWidth() || oldLayoutHeight != layout->getHeight()) {
layout->blockdata = oldMetatiles; layout->blockdata = oldMetatiles;
layout->setDimensions(oldMapWidth, oldMapHeight, false); layout->setDimensions(oldLayoutWidth, oldLayoutHeight, false);
} else { } else {
layout->setBlockdata(oldMetatiles); layout->setBlockdata(oldMetatiles);
} }
@ -561,11 +559,10 @@ void ScriptEditMap::undo() {
} }
layout->lastCommitBlocks.blocks = oldMetatiles; layout->lastCommitBlocks.blocks = oldMetatiles;
layout->lastCommitBlocks.mapDimensions = QSize(oldMapWidth, oldMapHeight); layout->lastCommitBlocks.layoutDimensions = QSize(oldLayoutWidth, oldLayoutHeight);
layout->lastCommitBlocks.border = oldBorder; layout->lastCommitBlocks.border = oldBorder;
layout->lastCommitBlocks.borderDimensions = QSize(oldBorderWidth, oldBorderHeight); layout->lastCommitBlocks.borderDimensions = QSize(oldBorderWidth, oldBorderHeight);
// !TODO
renderBlocks(layout); renderBlocks(layout);
layout->borderItem->draw(); layout->borderItem->draw();

View file

@ -90,7 +90,7 @@ bool EditLayout::mergeWith(const QUndoCommand *command) {
/// ///
ResizeLayout::ResizeLayout(RegionMap *map, int oldWidth, int oldHeight, int newWidth, int newHeight, ResizeRMLayout::ResizeRMLayout(RegionMap *map, int oldWidth, int oldHeight, int newWidth, int newHeight,
QMap<QString, QList<LayoutSquare>> oldLayouts, QMap<QString, QList<LayoutSquare>> newLayouts, QUndoCommand *parent) QMap<QString, QList<LayoutSquare>> oldLayouts, QMap<QString, QList<LayoutSquare>> newLayouts, QUndoCommand *parent)
: QUndoCommand(parent) { : QUndoCommand(parent) {
setText("Change Layout Dimensions"); setText("Change Layout Dimensions");
@ -104,7 +104,7 @@ ResizeLayout::ResizeLayout(RegionMap *map, int oldWidth, int oldHeight, int newW
this->newLayouts = newLayouts; this->newLayouts = newLayouts;
} }
void ResizeLayout::redo() { void ResizeRMLayout::redo() {
QUndoCommand::redo(); QUndoCommand::redo();
if (!map) return; if (!map) return;
@ -113,7 +113,7 @@ void ResizeLayout::redo() {
map->setAllLayouts(this->newLayouts); map->setAllLayouts(this->newLayouts);
} }
void ResizeLayout::undo() { void ResizeRMLayout::undo() {
if (!map) return; if (!map) return;
map->setLayoutDimensions(oldWidth, oldHeight, false); map->setLayoutDimensions(oldWidth, oldHeight, false);
@ -122,8 +122,8 @@ void ResizeLayout::undo() {
QUndoCommand::undo(); QUndoCommand::undo();
} }
bool ResizeLayout::mergeWith(const QUndoCommand *command) { bool ResizeRMLayout::mergeWith(const QUndoCommand *command) {
const ResizeLayout *other = static_cast<const ResizeLayout *>(command); const ResizeRMLayout *other = static_cast<const ResizeRMLayout *>(command);
if (this->map != other->map) if (this->map != other->map)
return false; return false;

View file

@ -83,130 +83,119 @@ void Editor::closeProject() {
} }
} }
void Editor::setEditingMap() { bool Editor::getEditingLayout() {
current_view = map_item; return this->editMode == EditMode::Metatiles || this->editMode == EditMode::Collision;
if (map_item) {
map_item->paintingMode = LayoutPixmapItem::PaintMode::Metatiles;
displayMapConnections();
map_item->draw();
map_item->setVisible(true);
} }
if (collision_item) {
void Editor::setEditorView() {
// based on editMode
if (!map_item || !collision_item) return;
if (!this->layout) return;
map_item->setVisible(true); // is map item ever not visible
collision_item->setVisible(false); collision_item->setVisible(false);
}
if (events_group) {
events_group->setVisible(false);
}
setBorderItemsVisible(ui->checkBox_ToggleBorder->isChecked());
setConnectionItemsVisible(ui->checkBox_ToggleBorder->isChecked());
setConnectionsEditable(false);
this->cursorMapTileRect->stopSingleTileMode();
this->cursorMapTileRect->setActive(true);
if (this->layout) { switch (this->editMode) {
this->editGroup.setActiveStack(&this->layout->editHistory); case EditMode::Metatiles:
} case EditMode::Connections:
case EditMode::Events:
setMapEditingButtonsEnabled(true); current_view = map_item;
} break;
case EditMode::Collision:
void Editor::setEditingLayout() {
//
}
void Editor::setEditingCollision() {
current_view = collision_item; current_view = collision_item;
if (collision_item) { break;
displayMapConnections(); default:
collision_item->draw(); current_view = nullptr;
collision_item->setVisible(true); return;
} }
if (map_item) {
map_item->paintingMode = LayoutPixmapItem::PaintMode::Metatiles;
map_item->draw(); map_item->draw();
map_item->setVisible(true); collision_item->draw();
} displayMapConnections();
if (events_group) {
events_group->setVisible(false); current_view->setVisible(true);
}
setBorderItemsVisible(ui->checkBox_ToggleBorder->isChecked()); setBorderItemsVisible(ui->checkBox_ToggleBorder->isChecked());
setConnectionItemsVisible(ui->checkBox_ToggleBorder->isChecked()); setConnectionItemsVisible(ui->checkBox_ToggleBorder->isChecked());
setConnectionsEditable(false); setConnectionsEditable(false);
this->cursorMapTileRect->setSingleTileMode(); this->cursorMapTileRect->setSingleTileMode();
this->cursorMapTileRect->setActive(true); this->cursorMapTileRect->setActive(true);
if (this->layout) { switch (this->editMode) {
case EditMode::Metatiles:
case EditMode::Collision:
this->editGroup.setActiveStack(&this->layout->editHistory); this->editGroup.setActiveStack(&this->layout->editHistory);
} break;
case EditMode::Events:
setMapEditingButtonsEnabled(true);
}
void Editor::setEditingObjects() {
current_view = map_item;
if (events_group) {
events_group->setVisible(true);
}
if (map_item) {
// !TODO: change this pixmapitem paintmode
map_item->paintingMode = LayoutPixmapItem::PaintMode::EventObjects;
displayMapConnections();
map_item->draw();
map_item->setVisible(true);
}
if (collision_item) {
collision_item->setVisible(false);
}
setBorderItemsVisible(ui->checkBox_ToggleBorder->isChecked());
setConnectionItemsVisible(ui->checkBox_ToggleBorder->isChecked());
setConnectionsEditable(false);
this->cursorMapTileRect->setSingleTileMode();
this->cursorMapTileRect->setActive(false);
if (this->map) { if (this->map) {
this->editGroup.setActiveStack(&this->map->editHistory); this->editGroup.setActiveStack(&this->map->editHistory);
} }
break;
setMapEditingButtonsEnabled(false); case EditMode::Connections:
} populateConnectionMapPickers(); // !TODO: move to setmap or sumn/ displaymapconnections type ish
void Editor::setEditingConnections() {
current_view = map_item;
if (map_item) {
map_item->paintingMode = LayoutPixmapItem::PaintMode::Disabled;
map_item->draw();
map_item->setVisible(true);
populateConnectionMapPickers();
ui->label_NumConnections->setText(QString::number(map->connections.length())); ui->label_NumConnections->setText(QString::number(map->connections.length()));
setDiveEmergeControls(); setDiveEmergeControls();
bool controlsEnabled = selected_connection_item != nullptr;
setConnectionEditControlsEnabled(controlsEnabled); setConnectionEditControlsEnabled(selected_connection_item != nullptr);
if (selected_connection_item) { if (selected_connection_item) {
onConnectionOffsetChanged(selected_connection_item->connection->offset); onConnectionOffsetChanged(selected_connection_item->connection->offset);
setConnectionMap(selected_connection_item->connection->map_name); setConnectionMap(selected_connection_item->connection->map_name);
setCurrentConnectionDirection(selected_connection_item->connection->direction); setCurrentConnectionDirection(selected_connection_item->connection->direction);
} }
maskNonVisibleConnectionTiles(); maskNonVisibleConnectionTiles();
}
if (collision_item) {
collision_item->setVisible(false);
}
if (events_group) {
events_group->setVisible(false);
}
setBorderItemsVisible(true, 0.4); setBorderItemsVisible(true, 0.4);
setConnectionItemsVisible(true); setConnectionItemsVisible(true);
setConnectionsEditable(true); setConnectionsEditable(true);
this->cursorMapTileRect->setSingleTileMode();
this->cursorMapTileRect->setActive(false); this->cursorMapTileRect->setActive(false);
map_item->setEditsEnabled(false); // !TODO
if (this->map) { case EditMode::Header:
this->editGroup.setActiveStack(&this->map->editHistory); case EditMode::Encounters:
default:
this->editGroup.setActiveStack(nullptr);
break;
} }
if (this->events_group) {
this->events_group->setVisible(this->editMode == EditMode::Events);
}
setMapEditingButtonsEnabled(this->editMode != EditMode::Events);
}
void Editor::setEditingMetatiles() {
this->editMode = EditMode::Metatiles;
setEditorView();
}
void Editor::setEditingCollision() {
this->editMode = EditMode::Collision;
setEditorView();
}
void Editor::setEditingHeader() {
this->editMode = EditMode::Header;
setEditorView();
}
void Editor::setEditingObjects() {
this->editMode = EditMode::Events;
setEditorView();
}
void Editor::setEditingConnections() {
this->editMode = EditMode::Connections;
setEditorView();
} }
void Editor::setEditingEncounters() { void Editor::setEditingEncounters() {
// this->editMode = EditMode::Encounters;
setEditorView();
} }
void Editor::setMapEditingButtonsEnabled(bool enabled) { void Editor::setMapEditingButtonsEnabled(bool enabled) {
@ -1048,7 +1037,7 @@ void Editor::onHoveredMapMetatileChanged(const QPoint &pos) {
return; return;
this->updateCursorRectPos(x, y); this->updateCursorRectPos(x, y);
if (map_item->paintingMode == LayoutPixmapItem::PaintMode::Metatiles) { if (this->getEditingLayout()) {
int blockIndex = y * layout->getWidth() + x; int blockIndex = y * layout->getWidth() + x;
int metatileId = layout->blockdata.at(blockIndex).metatileId; int metatileId = layout->blockdata.at(blockIndex).metatileId;
this->ui->statusBar->showMessage(QString("X: %1, Y: %2, %3, Scale = %4x") this->ui->statusBar->showMessage(QString("X: %1, Y: %2, %3, Scale = %4x")
@ -1057,19 +1046,19 @@ void Editor::onHoveredMapMetatileChanged(const QPoint &pos) {
.arg(getMetatileDisplayMessage(metatileId)) .arg(getMetatileDisplayMessage(metatileId))
.arg(QString::number(zoomLevels[this->scaleIndex], 'g', 2))); .arg(QString::number(zoomLevels[this->scaleIndex], 'g', 2)));
} }
else if (map_item->paintingMode == LayoutPixmapItem::PaintMode::EventObjects) { else if (this->editMode == EditMode::Events) {
this->ui->statusBar->showMessage(QString("X: %1, Y: %2, Scale = %3x") this->ui->statusBar->showMessage(QString("X: %1, Y: %2, Scale = %3x")
.arg(x) .arg(x)
.arg(y) .arg(y)
.arg(QString::number(zoomLevels[this->scaleIndex], 'g', 2))); .arg(QString::number(zoomLevels[this->scaleIndex], 'g', 2)));
} }
Scripting::cb_BlockHoverChanged(x, y); Scripting::cb_BlockHoverChanged(x, y);
} }
void Editor::onHoveredMapMetatileCleared() { void Editor::onHoveredMapMetatileCleared() {
this->setCursorRectVisible(false); this->setCursorRectVisible(false);
if (map_item->paintingMode == LayoutPixmapItem::PaintMode::Metatiles if (!map_item->getEditsEnabled()) {
|| map_item->paintingMode == LayoutPixmapItem::PaintMode::EventObjects) {
this->ui->statusBar->clearMessage(); this->ui->statusBar->clearMessage();
} }
Scripting::cb_BlockHoverCleared(); Scripting::cb_BlockHoverCleared();
@ -1080,7 +1069,7 @@ void Editor::onHoveredMapMovementPermissionChanged(int x, int y) {
return; return;
this->updateCursorRectPos(x, y); this->updateCursorRectPos(x, y);
if (map_item->paintingMode == LayoutPixmapItem::PaintMode::Metatiles) { if (this->getEditingLayout()) {
int blockIndex = y * layout->getWidth() + x; int blockIndex = y * layout->getWidth() + x;
uint16_t collision = layout->blockdata.at(blockIndex).collision; uint16_t collision = layout->blockdata.at(blockIndex).collision;
uint16_t elevation = layout->blockdata.at(blockIndex).elevation; uint16_t elevation = layout->blockdata.at(blockIndex).elevation;
@ -1095,7 +1084,7 @@ void Editor::onHoveredMapMovementPermissionChanged(int x, int y) {
void Editor::onHoveredMapMovementPermissionCleared() { void Editor::onHoveredMapMovementPermissionCleared() {
this->setCursorRectVisible(false); this->setCursorRectVisible(false);
if (map_item->paintingMode == LayoutPixmapItem::PaintMode::Metatiles) { if (this->getEditingLayout()) {
this->ui->statusBar->clearMessage(); this->ui->statusBar->clearMessage();
} }
Scripting::cb_BlockHoverCleared(); Scripting::cb_BlockHoverCleared();
@ -1142,14 +1131,11 @@ bool Editor::setMap(QString map_name) {
this->map = loadedMap; this->map = loadedMap;
// remove this
//this->layout = this->map->layout;
setLayout(map->layout->id); setLayout(map->layout->id);
editGroup.addStack(&map->editHistory); editGroup.addStack(&map->editHistory);
// !TODO: determine which stack is active based on edit mode too since layout will have something different
editGroup.setActiveStack(&map->editHistory); editGroup.setActiveStack(&map->editHistory);
selected_events->clear(); selected_events->clear();
if (!displayMap()) { if (!displayMap()) {
return false; return false;
@ -1163,7 +1149,6 @@ bool Editor::setMap(QString map_name) {
} }
bool Editor::setLayout(QString layoutId) { bool Editor::setLayout(QString layoutId) {
//
if (layoutId.isEmpty()) return false; if (layoutId.isEmpty()) return false;
this->layout = this->project->loadLayout(layoutId); this->layout = this->project->loadLayout(layoutId);
@ -1172,8 +1157,6 @@ bool Editor::setLayout(QString layoutId) {
return false; return false;
} }
// !TODO: editGroup addStack
editGroup.addStack(&layout->editHistory); editGroup.addStack(&layout->editHistory);
map_ruler->setMapDimensions(QSize(this->layout->getWidth(), this->layout->getHeight())); map_ruler->setMapDimensions(QSize(this->layout->getWidth(), this->layout->getHeight()));
@ -1195,7 +1178,7 @@ bool Editor::setLayout(QString layoutId) {
} }
void Editor::onMapStartPaint(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item) { void Editor::onMapStartPaint(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item) {
if (item->paintingMode != LayoutPixmapItem::PaintMode::Metatiles) { if (!this->getEditingLayout()) {
return; return;
} }
@ -1208,7 +1191,7 @@ void Editor::onMapStartPaint(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *
} }
void Editor::onMapEndPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *item) { void Editor::onMapEndPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *item) {
if (!(item->paintingMode == LayoutPixmapItem::PaintMode::Metatiles)) { if (!this->getEditingLayout()) {
return; return;
} }
this->cursorMapTileRect->stopRightClickSelectionAnchor(); this->cursorMapTileRect->stopRightClickSelectionAnchor();
@ -1243,13 +1226,13 @@ void Editor::setStraightPathCursorMode(QGraphicsSceneMouseEvent *event) {
void Editor::mouseEvent_map(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item) { void Editor::mouseEvent_map(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item) {
// TODO: add event tab object painting tool buttons stuff here // TODO: add event tab object painting tool buttons stuff here
if (item->paintingMode == LayoutPixmapItem::PaintMode::Disabled) { if (!item->getEditsEnabled()) {
return; return;
} }
QPoint pos = Metatile::coordFromPixmapCoord(event->pos()); QPoint pos = Metatile::coordFromPixmapCoord(event->pos());
if (item->paintingMode == LayoutPixmapItem::PaintMode::Metatiles) { if (this->getEditingLayout()) {
if (mapEditAction == EditAction::Paint) { if (mapEditAction == EditAction::Paint) {
if (event->buttons() & Qt::RightButton) { if (event->buttons() & Qt::RightButton) {
item->updateMetatileSelection(event); item->updateMetatileSelection(event);
@ -1296,7 +1279,7 @@ void Editor::mouseEvent_map(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *i
} }
item->shift(event); item->shift(event);
} }
} else if (item->paintingMode == LayoutPixmapItem::PaintMode::EventObjects) { } else if (this->editMode == EditMode::Events) {
if (objectEditAction == EditAction::Paint && event->type() == QEvent::GraphicsSceneMousePress) { if (objectEditAction == EditAction::Paint && event->type() == QEvent::GraphicsSceneMousePress) {
// Right-clicking while in paint mode will change mode to select. // Right-clicking while in paint mode will change mode to select.
if (event->buttons() & Qt::RightButton) { if (event->buttons() & Qt::RightButton) {
@ -1354,7 +1337,7 @@ void Editor::mouseEvent_map(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *i
} }
void Editor::mouseEvent_collision(QGraphicsSceneMouseEvent *event, CollisionPixmapItem *item) { void Editor::mouseEvent_collision(QGraphicsSceneMouseEvent *event, CollisionPixmapItem *item) {
if (item->paintingMode != LayoutPixmapItem::PaintMode::Metatiles) { if (!item->getEditsEnabled()) {
return; return;
} }
@ -1426,7 +1409,6 @@ bool Editor::displayLayout() {
scene->removeItem(this->map_ruler); scene->removeItem(this->map_ruler);
} }
// !TODO: disassociate these functions from Map
displayMetatileSelector(); displayMetatileSelector();
displayMapMetatiles(); displayMapMetatiles();
displayMovementPermissionSelector(); displayMovementPermissionSelector();
@ -2116,7 +2098,7 @@ void Editor::selectedEventIndexChanged(int index, Event::Group eventGroup) {
} }
void Editor::duplicateSelectedEvents() { void Editor::duplicateSelectedEvents() {
if (!selected_events || !selected_events->length() || !map || !current_view || map_item->paintingMode != LayoutPixmapItem::PaintMode::EventObjects) if (!selected_events || !selected_events->length() || !map || !current_view || this->getEditingLayout())
return; return;
QList<Event *> selectedEvents; QList<Event *> selectedEvents;
@ -2288,7 +2270,7 @@ bool Editor::startDetachedProcess(const QString &command, const QString &working
// is clicking on the background instead of an event. // is clicking on the background instead of an event.
void Editor::objectsView_onMousePress(QMouseEvent *event) { void Editor::objectsView_onMousePress(QMouseEvent *event) {
// make sure we are in object editing mode // make sure we are in object editing mode
if (map_item && map_item->paintingMode != LayoutPixmapItem::PaintMode::EventObjects) { if (map_item && this->editMode != EditMode::Events) {
return; return;
} }
if (this->objectEditAction == EditAction::Paint && event->buttons() & Qt::RightButton) { if (this->objectEditAction == EditAction::Paint && event->buttons() & Qt::RightButton) {

View file

@ -1780,11 +1780,11 @@ void MainWindow::on_mapViewTab_tabBarClicked(int index)
Scripting::cb_MapViewTabChanged(oldIndex, index); Scripting::cb_MapViewTabChanged(oldIndex, index);
if (index == 0) { if (index == 0) {
editor->setEditingMap(); editor->setEditingMetatiles();
} else if (index == 1) { } else if (index == 1) {
editor->setEditingCollision(); editor->setEditingCollision();
} else if (index == 2) { } else if (index == 2) {
editor->setEditingMap(); editor->setEditingMetatiles();
if (projectConfig.getPrefabFilepath().isEmpty() && !projectConfig.getPrefabImportPrompted()) { if (projectConfig.getPrefabFilepath().isEmpty() && !projectConfig.getPrefabImportPrompted()) {
// User hasn't set up prefabs and hasn't been prompted before. // User hasn't set up prefabs and hasn't been prompted before.
// Ask if they'd like to import the default prefabs file. // Ask if they'd like to import the default prefabs file.
@ -1802,8 +1802,6 @@ void MainWindow::on_action_Exit_triggered()
void MainWindow::on_mainTabBar_tabBarClicked(int index) void MainWindow::on_mainTabBar_tabBarClicked(int index)
{ {
//if (!editor->map) return;
int oldIndex = ui->mainTabBar->currentIndex(); int oldIndex = ui->mainTabBar->currentIndex();
ui->mainTabBar->setCurrentIndex(index); ui->mainTabBar->setCurrentIndex(index);
if (index != oldIndex) if (index != oldIndex)
@ -1822,6 +1820,8 @@ void MainWindow::on_mainTabBar_tabBarClicked(int index)
clickToolButtonFromEditAction(editor->objectEditAction); clickToolButtonFromEditAction(editor->objectEditAction);
} else if (index == 3) { } else if (index == 3) {
editor->setEditingConnections(); editor->setEditingConnections();
} else if (index == 4) {
editor->setEditingEncounters();
} }
if (!editor->map) return; if (!editor->map) return;
@ -2727,7 +2727,7 @@ void MainWindow::on_pushButton_ChangeDimensions_clicked() {
if (oldMapDimensions != newMapDimensions || oldBorderDimensions != newBorderDimensions) { if (oldMapDimensions != newMapDimensions || oldBorderDimensions != newBorderDimensions) {
layout->setDimensions(newMapDimensions.width(), newMapDimensions.height(), true, true); layout->setDimensions(newMapDimensions.width(), newMapDimensions.height(), true, true);
layout->setBorderDimensions(newBorderDimensions.width(), newBorderDimensions.height(), true, true); layout->setBorderDimensions(newBorderDimensions.width(), newBorderDimensions.height(), true, true);
editor->layout->editHistory.push(new ResizeMap(layout, editor->layout->editHistory.push(new ResizeLayout(layout,
oldMapDimensions, newMapDimensions, oldMapDimensions, newMapDimensions,
oldMetatiles, layout->blockdata, oldMetatiles, layout->blockdata,
oldBorderDimensions, newBorderDimensions, oldBorderDimensions, newBorderDimensions,

View file

@ -1126,7 +1126,7 @@ bool Project::loadBlockdata(Layout *layout) {
QString path = QString("%1/%2").arg(root).arg(layout->blockdata_path); QString path = QString("%1/%2").arg(root).arg(layout->blockdata_path);
layout->blockdata = readBlockdata(path); layout->blockdata = readBlockdata(path);
layout->lastCommitBlocks.blocks = layout->blockdata; layout->lastCommitBlocks.blocks = layout->blockdata;
layout->lastCommitBlocks.mapDimensions = QSize(layout->getWidth(), layout->getHeight()); layout->lastCommitBlocks.layoutDimensions = QSize(layout->getWidth(), layout->getHeight());
if (layout->blockdata.count() != layout->getWidth() * layout->getHeight()) { if (layout->blockdata.count() != layout->getWidth() * layout->getHeight()) {
logWarn(QString("Layout blockdata length %1 does not match dimensions %2x%3 (should be %4). Resizing blockdata.") logWarn(QString("Layout blockdata length %1 does not match dimensions %2x%3 (should be %4). Resizing blockdata.")
@ -1148,7 +1148,7 @@ void Project::setNewMapBlockdata(Map *map) {
map->layout->blockdata.append(block); map->layout->blockdata.append(block);
} }
map->layout->lastCommitBlocks.blocks = map->layout->blockdata; map->layout->lastCommitBlocks.blocks = map->layout->blockdata;
map->layout->lastCommitBlocks.mapDimensions = QSize(width, height); map->layout->lastCommitBlocks.layoutDimensions = QSize(width, height);
} }
bool Project::loadLayoutBorder(Layout *layout) { bool Project::loadLayoutBorder(Layout *layout) {

View file

@ -44,8 +44,8 @@ void MainWindow::tryCommitMapChanges(bool commitChanges) {
if (commitChanges) { if (commitChanges) {
Layout *layout = this->editor->layout; Layout *layout = this->editor->layout;
if (layout) { if (layout) {
layout->editHistory.push(new ScriptEditMap(layout, layout->editHistory.push(new ScriptEditLayout(layout,
layout->lastCommitBlocks.mapDimensions, QSize(layout->getWidth(), layout->getHeight()), layout->lastCommitBlocks.layoutDimensions, QSize(layout->getWidth(), layout->getHeight()),
layout->lastCommitBlocks.blocks, layout->blockdata, layout->lastCommitBlocks.blocks, layout->blockdata,
layout->lastCommitBlocks.borderDimensions, QSize(layout->getBorderWidth(), layout->getBorderHeight()), layout->lastCommitBlocks.borderDimensions, QSize(layout->getBorderWidth(), layout->getBorderHeight()),
layout->lastCommitBlocks.border, layout->border layout->lastCommitBlocks.border, layout->border

View file

@ -8,7 +8,7 @@ void CollisionPixmapItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event) {
this->previousPos = pos; this->previousPos = pos;
emit this->hoveredMapMovementPermissionChanged(pos.x(), pos.y()); emit this->hoveredMapMovementPermissionChanged(pos.x(), pos.y());
} }
if (this->settings->betterCursors && this->paintingMode == LayoutPixmapItem::PaintMode::Metatiles) { if (this->settings->betterCursors && this->getEditsEnabled()) {
setCursor(this->settings->mapCursor); setCursor(this->settings->mapCursor);
} }
} }
@ -21,7 +21,7 @@ void CollisionPixmapItem::hoverEnterEvent(QGraphicsSceneHoverEvent * event) {
void CollisionPixmapItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *) { void CollisionPixmapItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *) {
emit this->hoveredMapMovementPermissionCleared(); emit this->hoveredMapMovementPermissionCleared();
if (this->settings->betterCursors && this->paintingMode == LayoutPixmapItem::PaintMode::Metatiles){ if (this->settings->betterCursors && this->getEditsEnabled()){
unsetCursor(); unsetCursor();
} }
this->has_mouse = false; this->has_mouse = false;

View file

@ -694,7 +694,7 @@ void LayoutPixmapItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event) {
this->metatilePos = pos; this->metatilePos = pos;
emit this->hoveredMapMetatileChanged(pos); emit this->hoveredMapMetatileChanged(pos);
} }
if (this->settings->betterCursors && this->paintingMode != LayoutPixmapItem::PaintMode::Disabled) { if (this->settings->betterCursors && this->editsEnabled) {
setCursor(this->settings->mapCursor); setCursor(this->settings->mapCursor);
} }
} }
@ -707,7 +707,7 @@ void LayoutPixmapItem::hoverEnterEvent(QGraphicsSceneHoverEvent * event) {
void LayoutPixmapItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *) { void LayoutPixmapItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *) {
emit this->hoveredMapMetatileCleared(); emit this->hoveredMapMetatileCleared();
if (this->settings->betterCursors && this->paintingMode != LayoutPixmapItem::PaintMode::Disabled) { if (this->settings->betterCursors && this->editsEnabled) {
unsetCursor(); unsetCursor();
} }
this->has_mouse = false; this->has_mouse = false;

View file

@ -183,8 +183,8 @@ bool MapImageExporter::historyItemAppliesToFrame(const QUndoCommand *command) {
case CommandId::ID_BucketFillMetatile: case CommandId::ID_BucketFillMetatile:
case CommandId::ID_MagicFillMetatile: case CommandId::ID_MagicFillMetatile:
case CommandId::ID_ShiftMetatiles: case CommandId::ID_ShiftMetatiles:
case CommandId::ID_ResizeMap: case CommandId::ID_ResizeLayout:
case CommandId::ID_ScriptEditMap: case CommandId::ID_ScriptEditLayout:
return true; return true;
case CommandId::ID_PaintCollision: case CommandId::ID_PaintCollision:
case CommandId::ID_BucketFillCollision: case CommandId::ID_BucketFillCollision:

View file

@ -94,7 +94,6 @@ void NewMapPopup::init() {
ui->spinBox_NewMap_Floor_Number->setValue(settings.floorNumber); ui->spinBox_NewMap_Floor_Number->setValue(settings.floorNumber);
// Connect signals // Connect signals
// !TODO: make sure this doesnt reconnect a million times
connect(ui->spinBox_NewMap_Width, QOverload<int>::of(&QSpinBox::valueChanged), [=](int){checkNewMapDimensions();}); connect(ui->spinBox_NewMap_Width, QOverload<int>::of(&QSpinBox::valueChanged), [=](int){checkNewMapDimensions();});
connect(ui->spinBox_NewMap_Height, QOverload<int>::of(&QSpinBox::valueChanged), [=](int){checkNewMapDimensions();}); connect(ui->spinBox_NewMap_Height, QOverload<int>::of(&QSpinBox::valueChanged), [=](int){checkNewMapDimensions();});

View file

@ -1101,7 +1101,7 @@ void RegionMapEditor::on_spinBox_RM_LayoutWidth_valueChanged(int value) {
int newHeight = this->region_map->layoutHeight(); int newHeight = this->region_map->layoutHeight();
QMap<QString, QList<LayoutSquare>> newLayouts = this->region_map->getAllLayouts(); QMap<QString, QList<LayoutSquare>> newLayouts = this->region_map->getAllLayouts();
ResizeLayout *commit = new ResizeLayout(this->region_map, oldWidth, oldHeight, newWidth, newHeight, oldLayouts, newLayouts); ResizeRMLayout *commit = new ResizeRMLayout(this->region_map, oldWidth, oldHeight, newWidth, newHeight, oldLayouts, newLayouts);
this->region_map->editHistory.push(commit); this->region_map->editHistory.push(commit);
} }
} }
@ -1118,7 +1118,7 @@ void RegionMapEditor::on_spinBox_RM_LayoutHeight_valueChanged(int value) {
int newHeight = this->region_map->layoutHeight(); int newHeight = this->region_map->layoutHeight();
QMap<QString, QList<LayoutSquare>> newLayouts = this->region_map->getAllLayouts(); QMap<QString, QList<LayoutSquare>> newLayouts = this->region_map->getAllLayouts();
ResizeLayout *commit = new ResizeLayout(this->region_map, oldWidth, oldHeight, newWidth, newHeight, oldLayouts, newLayouts); ResizeRMLayout *commit = new ResizeRMLayout(this->region_map, oldWidth, oldHeight, newWidth, newHeight, oldLayouts, newLayouts);
this->region_map->editHistory.push(commit); this->region_map->editHistory.push(commit);
} }
} }