Add edit history for border edits via script

This commit is contained in:
GriffinR
2022-08-29 14:48:16 -04:00
parent 21ed9bc140
commit 3e7bfe126a
7 changed files with 86 additions and 42 deletions

View File

@@ -343,12 +343,14 @@ public:
/// Implements a command to commit map edits from the scripting API.
/// The scripting api can edit metatiles and map dimensions.
/// The scripting api can edit map/border blocks and dimensions.
class ScriptEditMap : public QUndoCommand {
public:
ScriptEditMap(Map *map,
QSize oldMapDimensions, QSize newMapDimensions,
const Blockdata &oldMetatiles, const Blockdata &newMetatiles,
QSize oldBorderDimensions, QSize newBorderDimensions,
const Blockdata &oldBorder, const Blockdata &newBorder,
QUndoCommand *parent = nullptr);
void undo() override;
@@ -363,10 +365,18 @@ private:
Blockdata newMetatiles;
Blockdata oldMetatiles;
Blockdata newBorder;
Blockdata oldBorder;
int oldMapWidth;
int oldMapHeight;
int newMapWidth;
int newMapHeight;
int oldBorderWidth;
int oldBorderHeight;
int newBorderWidth;
int newBorderHeight;
};
#endif // EDITCOMMANDS_H

View File

@@ -33,8 +33,10 @@ public:
Blockdata cached_border;
struct {
Blockdata blocks;
QSize dimensions;
} lastCommitMapBlocks; // to track map changes
QSize mapDimensions;
Blockdata border;
QSize borderDimensions;
} lastCommitBlocks; // to track map changes
int getWidth();
int getHeight();