Skip to content

Commit

Permalink
Undo redo (#68)
Browse files Browse the repository at this point in the history
* Remove unnecessary editionmode baseclass

* Rename ObjectsEditionMode to EditManager

* Add undostack to LevelEditorWindow

* Implement undo actions for layer toggles

* Prevent resize object on placement if not selected

* Implement undo for sprite interaction toggle

* Implement undo for path interaction toggle

* Implement undo for entrance interaction toggle

* Implement undo for location interaction toggle

* Cleanup

* Add raise undo command

* Rename commands

* Add lower undo command

* Add raise layer undo command

* Add lower layer undo command

* Add delete undo command

* Implement insertion undo commands

* Implement undo for cloning

* Undo for object movement

* Clear selection on Undo

* Implement Area Editor Undo

* Implement objectswap undo

* Implement undo for tileset swap

* Implement undo for spritedata

* Resolve multiple memory leaks

* Fix bug with tileset picker

* Implement undo for entrance editor

* Implement undo for zone editor

* Implement undo for location editor

* Implement undo for path editor

* Implement undo for progresspath editor

* Cleanup project structure

* Update editor status via edit history

* Implement settings dialog
  • Loading branch information
ExplosBlue committed Aug 4, 2023
1 parent 5763616 commit fb77b9b
Show file tree
Hide file tree
Showing 109 changed files with 6,261 additions and 2,365 deletions.
201 changes: 118 additions & 83 deletions CoinKiller.pro
Original file line number Diff line number Diff line change
Expand Up @@ -48,103 +48,138 @@ isEmpty(CK_VERSION) {

DEFINES += CK_VERSION=\\\"$$CK_VERSION\\\"

SOURCES += main.cpp\
eventeditorwidget.cpp \
mainwindow.cpp \
newleveldialog.cpp \
rg_etc1.cpp \
sarcfilesystem.cpp \
externalfilesystem.cpp \
externalfile.cpp \
memoryfile.cpp \
filebase.cpp \
leveleditorwindow.cpp \
levelview.cpp \
SOURCES += \
filesystem/externalfile.cpp \
filesystem/externalfilesystem.cpp \
filesystem/filebase.cpp \
filedownloader.cpp \
filesystem/memoryfile.cpp \
filesystem/sarcfilesystem.cpp \
leveleditor/commands/bgdatcommands.cpp \
leveleditor/commands/editorcommands.cpp \
leveleditor/commands/entrancecommands.cpp \
leveleditor/commands/levelcommands.cpp \
leveleditor/commands/locationcommands.cpp \
leveleditor/commands/objectcommands.cpp \
leveleditor/commands/pathcommands.cpp \
leveleditor/commands/pathnodecommands.cpp \
leveleditor/commands/progresspathcommands.cpp \
leveleditor/commands/spritecommands.cpp \
leveleditor/commands/zonebgcommands.cpp \
leveleditor/commands/zoneboundingcommands.cpp \
leveleditor/commands/zonecommands.cpp \
leveleditor/areaeditorwidget.cpp \
leveleditor/editmanager.cpp \
leveleditor/entranceeditorwidget.cpp \
leveleditor/eventeditorwidget.cpp \
leveleditor/leveleditorwindow.cpp \
leveleditor/levelminimap.cpp \
leveleditor/levelview.cpp \
leveleditor/locationeditorwidget.cpp \
leveleditor/patheditorwidget.cpp \
leveleditor/progresspatheditorwidget.cpp \
leveleditor/settingsdialog.cpp \
leveleditor/spriteeditorwidget.cpp \
leveleditor/spriteidswidget.cpp \
leveleditor/tilesetpalette.cpp \
leveleditor/zoneeditorwidget.cpp \
tileseteditor/tileseteditorwidgets.cpp \
tileseteditor/tileseteditorwindow.cpp \
clickablelabel.cpp \
ctpk.cpp \
level.cpp \
tileset.cpp \
game.cpp \
objects.cpp \
unitsconvert.cpp \
objectrenderer.cpp \
tileseteditorwindow.cpp \
tileseteditorwidgets.cpp \
spritedata.cpp \
tilesetpalette.cpp \
entranceeditorwidget.cpp \
spriteeditorwidget.cpp \
areaeditorwidget.cpp \
zoneeditorwidget.cpp \
locationeditorwidget.cpp \
imagecache.cpp \
level.cpp \
levelmanager.cpp \
patheditorwidget.cpp \
progresspatheditorwidget.cpp \
settingsmanager.cpp \
filedownloader.cpp \
levelminimap.cpp \
objectseditionmode.cpp \
sarcexplorerwindow.cpp \
main.cpp\
mainwindow.cpp \
newleveldialog.cpp \
newtilesetdialog.cpp \
imagecache.cpp \
spriteidswidget.cpp \
clickablelabel.cpp
objectrenderer.cpp \
objects.cpp \
rg_etc1.cpp \
sarcexplorerwindow.cpp \
settingsmanager.cpp \
spritedata.cpp \
tileset.cpp \
unitsconvert.cpp

HEADERS += mainwindow.h \
HEADERS += \
filesystem/externalfile.h \
filesystem/externalfilesystem.h \
filesystem/filebase.h \
filesystem/filesystem.h \
filesystem/filesystembase.h \
filesystem/memoryfile.h \
filesystem/sarcfilesystem.h \
leveleditor/commands/bgdatcommands.h \
leveleditor/commands/commandids.h \
leveleditor/commands/editorcommands.h \
leveleditor/commands/entrancecommands.h \
leveleditor/commands/levelcommands.h \
leveleditor/commands/locationcommands.h \
leveleditor/commands/objectcommands.h \
leveleditor/commands/pathcommands.h \
leveleditor/commands/pathnodecommands.h \
leveleditor/commands/progresspathcommands.h \
leveleditor/commands/setvalue.h \
leveleditor/commands/spritecommands.h \
leveleditor/commands/zonebgcommands.h \
leveleditor/commands/zoneboundingcommands.h \
leveleditor/commands/zonecommands.h \
leveleditor/areaeditorwidget.h \
leveleditor/editmanager.h \
leveleditor/entranceeditorwidget.h \
leveleditor/eventeditorwidget.h \
leveleditor/layermask.h \
leveleditor/leveleditorwindow.h \
leveleditor/levelminimap.h \
leveleditor/levelview.h \
leveleditor/locationeditorwidget.h \
leveleditor/patheditorwidget.h \
leveleditor/progresspatheditorwidget.h \
leveleditor/settingsdialog.h \
leveleditor/spriteeditorwidget.h \
leveleditor/spriteidswidget.h \
leveleditor/tilesetpalette.h \
leveleditor/zoneeditorwidget.h \
tileseteditor/tileseteditorwidgets.h \
tileseteditor/tileseteditorwindow.h \
clickablelabel.h \
crc32.h \
eventeditorwidget.h \
filesystembase.h \
filebase.h \
newleveldialog.h \
sarcfilesystem.h \
externalfilesystem.h \
externalfile.h \
shit.h \
memoryfile.h \
filesystem.h \
leveleditorwindow.h \
levelview.h \
ctpk.h \
level.h \
tileset.h \
filedownloader.h \
game.h \
objects.h \
unitsconvert.h \
objectrenderer.h \
tileseteditorwindow.h \
tileseteditorwidgets.h \
imagecache.h \
is.h \
editionmode.h \
spritedata.h \
tilesetpalette.h \
entranceeditorwidget.h \
spriteeditorwidget.h \
areaeditorwidget.h \
zoneeditorwidget.h \
level.h \
levelmanager.h \
patheditorwidget.h \
progresspatheditorwidget.h \
locationeditorwidget.h \
settingsmanager.h \
filedownloader.h \
levelminimap.h \
objectseditionmode.h \
sarcexplorerwindow.h \
mainwindow.h \
newleveldialog.h \
newtilesetdialog.h \
imagecache.h \
spriteidswidget.h \
clickablelabel.h \
windowbase.h \
objectrenderer.h \
objects.h \
rg_etc1.h \
sarcexplorerwindow.h \
settingsmanager.h \
shit.h \
spritedata.h \
tileset.h \
unitsconvert.h \
windowbase.h

FORMS += mainwindow.ui \
leveleditorwindow.ui \
FORMS += \
leveleditor/leveleditorwindow.ui \
leveleditor/settingsdialog.ui \
tileseteditor/tileseteditorwindow.ui \
mainwindow.ui \
newleveldialog.ui \
tileseteditorwindow.ui \
sarcexplorerwindow.ui \
newtilesetdialog.ui
newtilesetdialog.ui \
sarcexplorerwindow.ui

TRANSLATIONS += English.ts \
German.ts \
Italian.ts
TRANSLATIONS += \
resource/translations/English.ts \
resource/translations/German.ts \
resource/translations/Italian.ts

CONFIG += c++17
59 changes: 0 additions & 59 deletions areaeditorwidget.h

This file was deleted.

Binary file added coinkiller_data/icons/redo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added coinkiller_data/icons/undo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit fb77b9b

Please sign in to comment.