Commit graph

935 commits

Author SHA1 Message Date
GriffinR
03949d45a4 Add paletteId to createImage 2021-12-26 11:23:45 -06:00
GriffinR
eca84beae0 Add basic image cache to scripting API 2021-12-26 11:23:45 -06:00
GriffinR
1adc489bc0 Add transparency to addTileImage 2021-12-26 11:23:45 -06:00
GriffinR
ac988968b3 Add warn and error to script API 2021-12-26 11:23:45 -06:00
GriffinR
6c1e5b516d Add getMaxTilesetMetatiles to API 2021-12-26 11:23:45 -06:00
GriffinR
b5bdac8d36 Add tile/metatile to image functions to API, more tile->tileId/metatileId 2021-12-26 11:23:45 -06:00
GriffinR
6a5e4fe247 Split createImage from addImage 2021-12-26 11:23:45 -06:00
GriffinR
83a7ccac8b Add getNumTilesetMetatiles, getNumTilesInMetatile, and isPrimary/SecondaryTileset to API 2021-12-26 11:23:45 -06:00
GriffinR
6bae415fc1 Add onTilesetUpdated to scripting callbacks 2021-12-26 11:23:45 -06:00
GriffinR
5a5d16bdc6 Add overlay visibility toggle 2021-12-26 11:23:45 -06:00
GriffinR
af4c99537f Add layering to scripting overlay 2021-12-26 11:23:45 -06:00
GriffinR
630febff54 Expand addImage to allow image subsets, transformations, and transparency 2021-12-26 11:23:45 -06:00
GriffinR
ebd7af8846 Add get/setMetatileTiles array functions to API 2021-12-26 11:23:45 -06:00
GriffinR
6613318900 Disambiguate tile field names to tileId or metatileId 2021-12-26 11:23:45 -06:00
GriffinR
ce12a1e017 Add setMetatile functions to API (layerType, encounterType, terrainType, Behavior, Tile) 2021-12-26 11:23:45 -06:00
GriffinR
26f0042ff4 Add getMetatile functions to API (layerType, encounterType, terrainType, Behavior, Tile) 2021-12-26 11:23:45 -06:00
GriffinR
702497c4d8 Add function prototypes for metatile editing API functions 2021-12-26 11:23:45 -06:00
GriffinR
67af7e52da Add get/setMetatileLabel to API 2021-12-26 11:23:45 -06:00
GriffinR
9cf0575914 Log error when addImage API function fails 2021-12-26 11:23:45 -06:00
GriffinR
beb1f6ef27 Log more script errors 2021-12-26 11:23:45 -06:00
GriffinR
c6cec5f848 Preserve invalid metatile selections 2021-12-26 10:18:25 -06:00
GriffinR
a6fb7eaeca Process mod in defines 2021-12-26 10:13:06 -06:00
GriffinR
7368f443f0 Add config options for showing border/grid 2021-11-08 13:11:16 -05:00
garak
f64b03d684
Merge pull request #306 from ultima-soul/import_amap_map
Add Import Map from Advance Map 1.92 feature.
2021-11-08 13:10:44 -05:00
garak
795336f42c fix potential segfault on moveEvent 2021-11-05 15:39:19 -04:00
GriffinR
3197cda157 Fix macOS crash parsing wild encounters 2021-11-01 15:40:03 -04:00
GriffinR
c372d7a01b Sync map group label comment format 2021-10-17 10:58:05 -04:00
garak
7bf07e72c2 better unsaved changes code, only block whitespace in combos 2021-09-08 17:39:38 -04:00
garak
0b63c438dd mark unsaved changes to map for heaeder and event edits
closes #305
closes #337
closes #347
2021-09-08 17:39:38 -04:00
garak
ef78b7957c validate combos to disallow junk characters
closes #362
2021-09-08 17:39:38 -04:00
garak
735a095ced fix pasted event id issue 2021-09-07 13:16:54 -05:00
garak
056b2164a8 draw event frame for pasted events 2021-09-07 13:16:54 -05:00
garak
6c3ee3c46d order wild encounter json reading 2021-08-12 20:24:46 -04:00
ultima-soul
2d87a6222a Merge branch 'master' of github.com:huderlem/porymap into import_amap_map 2021-07-23 23:35:56 -07:00
ultima-soul
cdcf535894 Address review comments. 2021-07-23 16:20:41 -07:00
garak
2ee5676925 fix metatile selector filter draw 2021-07-23 12:11:35 -04:00
garak
fc0c404836 remove some commented old code 2021-07-22 12:23:21 -04:00
garak
df724a4682 find unused tiles 2021-07-22 12:23:21 -04:00
garak
601e671fc8 add options to count metatiles to tileset editor
- count the total number of usages across all maps of specific metatiles
- display the count and/or display unused metatiles
- this does not account for metatiles used in code (most of these are labeled)
2021-07-22 12:23:21 -04:00
garak
353a0b017f silence bad macOS warning 2021-07-07 18:11:35 -05:00
garak
4c4e6dbcbf fix rebase error 2021-07-07 18:11:35 -05:00
Marcus Huderle
28eebbed0a Fix Move tool rendering artifacts by enabling full viewport update during the Move tool 2021-07-07 18:11:35 -05:00
Marcus Huderle
b35e1d9af9 Use more sensible zoom levels, which eliminates zoom rendering artifacts 2021-07-07 18:11:35 -05:00
BigBahss
a7f12f1993 Fix DPI scaling of pixmaps 2021-07-07 18:11:35 -05:00
Marcus Huderle
6f394ce39c Code fixes for Qt 6 2021-07-07 18:11:35 -05:00
garak
39648eed41 add copy paste to edit menu 2021-05-03 15:48:21 -04:00
garak
47887aca4d add edit command for event pastes 2021-05-03 15:48:21 -04:00
garak
296d697df0 add copy paste to some aspects of porymap
- can copy currently selected metatiles
  - can copy currently selected events
  - can copy an image of the current map
  - what is copied depends on the currently focused widget
  - copied objects can be pasted into other instances of porymap
  - copied images live on in the clipboard, cannot be pasted into porymap

TODO:
  - shortcut in Edit menu
  - other things can be copied?
2021-05-03 15:48:21 -04:00
BigBahss
e310732169 Make eventScriptLabelModel and eventScriptLabelCompleter into values rather than pointers 2021-04-16 09:04:38 -04:00
BigBahss
f72d4bda50 Fix duplicate event script label completions 2021-04-16 08:22:05 -04:00
BigBahss
61ffcc3259 Merge branch 'master' into script-editing 2021-04-16 07:28:09 -04:00
BigBahss
a9c7691a2e Rename DraggablePixmapItem::move() overload as moveTo to avoid confusion 2021-03-24 19:11:49 -04:00
BigBahss
5f292ea3cc Place new events in the center of the map 2021-03-24 19:11:49 -04:00
Tyler Dennis
1c0001504d
Merge pull request #359 from hjk321:mus-new-map
Song Option in New Map Popup
2021-03-14 11:56:25 -04:00
GriffinR
29493f94da Add details to script api error messages 2021-03-09 19:54:10 -06:00
BigBahss
a68a9baf2e Fix Tileset copy construction/assignment 2021-03-07 19:17:17 -05:00
hjk321
0cebe438b6 Poryscript now generates with newline 2021-03-07 10:16:54 -05:00
hjk321
09cfde8280 Song Option in New Map Popup 2021-03-06 22:19:38 -05:00
BigBahss
f166652ccc Revert 80c5f74368 and validate map group 2021-02-21 08:47:03 -06:00
BigBahss
a4fc2bcb30 Fix crash when creating new map 2021-02-21 08:44:41 -06:00
BigBahss
b0e3b862e1 Remove unused addNewMapToGroup() overload 2021-02-21 08:44:41 -06:00
BigBahss
0d3e2d90e6 Fix memory leaks in addNewMapToGroup() 2021-02-21 08:44:41 -06:00
GriffinR
02af128913 Add setting to disable/enable map text file creation 2021-02-19 07:29:26 -06:00
BigBahss
d5270df3b6 Remove unnecessary QObject inheritance 2021-02-18 16:27:32 -06:00
huderlem
6ebf1b54a8
Merge pull request #352 from BigBahss/convert-to-namespace
Convert stateless classes into namespaces
2021-02-18 16:26:32 -06:00
BigBahss
3bcdb1d728 Fix memory leak when creating new tileset 2021-02-18 15:02:25 -05:00
BigBahss
c3718e28be Convert MetatileParser into a namespace 2021-02-18 03:38:34 -05:00
BigBahss
bc2cc7d089 Convert PaletteUtil into a namespace 2021-02-18 03:25:26 -05:00
Marcus Huderle
c351f069ff Merge remote-tracking branch 'origin/master' into metatile-leaks 2021-02-17 16:56:15 -06:00
BigBahss
fdd12cde25 Refactor ParseUtil to stop using pointers and output-parameters 2021-02-17 16:34:46 -06:00
BigBahss
fa8b387120 Fix some more memory leaks related to parseAsm() 2021-02-17 16:34:46 -06:00
BigBahss
f65b6a047e Fix a memory leak in parseAsm() 2021-02-17 16:34:46 -06:00
BigBahss
d9340d3b73 Add parentWidget() to Project to avoid name-shadowing the parent member 2021-02-17 16:34:46 -06:00
BigBahss
9a9143500f Convert remaing pointers in Project to values 2021-02-17 16:34:46 -06:00
BigBahss
820b514f26 Change many pointer members in Project to values 2021-02-17 16:34:46 -06:00
BigBahss
cc7a5f5819 Fix memory leaks in Tileset 2021-02-16 21:45:54 -05:00
BigBahss
c1303d98c3 Scriptapi: fix segfault in shift(), add missing flag to the caller of shift() 2021-02-16 16:51:00 -06:00
BigBahss
107ef528e2 Fix map resizing (broke from Blockdata refactoring) 2021-02-16 16:51:00 -06:00
BigBahss
a3326a764b Simplify some usages of Blockdata 2021-02-16 16:51:00 -06:00
BigBahss
f09e28f06c Convert usages of Blockdata pointers 2021-02-16 16:51:00 -06:00
BigBahss
42b56edc9d Begin refactoring Blockdata to simply inherit QVector<Block> 2021-02-16 16:51:00 -06:00
BigBahss
6a825d0b39 Use implicit copy constructor/assignment for Metatile 2021-02-16 13:22:41 -05:00
BigBahss
8187b2d4bb Plug leaks in Metatile 2021-02-16 12:14:27 -05:00
BigBahss
8e2388cf62 Correct UB in Event constructors; use member initializer lists 2021-02-16 10:49:14 -05:00
BigBahss
fe5d4982f7 Use QPointer when we need to set a nullptr on destruction 2021-02-16 08:26:09 -05:00
BigBahss
c103142c65 Silence deprecated-copy warning 2021-02-14 12:39:14 -05:00
BigBahss
7937c3fe98 Upgrade signal/slot connections in all other files 2021-02-14 11:09:39 -06:00
BigBahss
51dccf7773 Upgrade signal/slot connections in Editor 2021-02-14 11:09:39 -06:00
BigBahss
ef449f6f8d Upgrade signal/slot connections in MainWindow 2021-02-14 11:09:39 -06:00
Marcus Huderle
e9c4d5b73f Fix getBlock() memory leak 2021-02-13 15:16:52 -06:00
Marcus Huderle
3c2aa5d2e9 Fix out-of-bounds array access in bucket fill 2021-02-12 17:23:45 -06:00
BigBahss
36a6212af6 Store recent map in ProjectConfig instead of PorymapConfig 2021-02-03 16:13:36 -06:00
BigBahss
3d394bc4bb Add option to open config folder 2021-02-03 16:01:54 -06:00
BigBahss
2c065ae5b6 Dont disable option to open log when project open fails 2021-02-03 16:01:54 -06:00
BigBahss
6335151c39 Add option to open log file 2021-02-03 16:01:54 -06:00
BigBahss
3ccf433d1e Add completion suggestions for global event scripts 2021-01-29 22:05:40 -05:00
BigBahss
d2386fac9b Add functions to parse all global event scripts labels in the project 2021-01-29 22:05:08 -05:00
GriffinR
e3edb503ed Exclude non-item constants in items.h 2021-01-25 11:15:16 -05:00
Marcus Huderle
9439dc76d2 Only include relevant frames in the timelapse animation 2021-01-20 19:27:50 -06:00
Marcus Huderle
c354142f1b Add ability to export map timelapse GIFs 2021-01-20 19:27:50 -06:00
garak
3bf4aaf964 fix palette editor crash 2021-01-16 10:34:09 -06:00
BigBahss
a924938b9b Fix text editor commands for file-paths containing spaces 2020-12-30 18:13:12 -06:00
GriffinR
b819f82943 Add auto-generated file warning to map_groups.h write 2020-12-30 18:12:51 -06:00
BigBahss
5ca30c70dd Fix merge of #302 2020-12-14 18:53:46 -06:00
Marcus Huderle
9c0876e4c0 Fix disabling of UI when failing to open project 2020-12-14 18:06:38 -06:00
Marcus Huderle
d63bebee69 Merge remote-tracking branch 'origin/master' into fix827
# Conflicts:
#	src/mainwindow.cpp
2020-12-14 17:57:30 -06:00
huderlem
e16ec480e6
Merge pull request #325 from BigBahss/script-editing
Open map scripts directly to the script of the selected event
2020-12-13 17:22:47 -06:00
Marcus Huderle
583ee23a15 Fix regex in readNamedIndexCArray() that disallowed 0 in the name 2020-12-13 17:05:28 -06:00
BigBahss
3a04f59cb0 Fix QProcess::splitCommand() dependency on Qt 5.15.
Fix shortcut for Open Map Scripts (Due to merge).
2020-12-13 04:00:00 -05:00
BigBahss
1d29a53237 Merge remote-tracking branch 'origin/master' into script-editing 2020-12-13 00:30:22 -05:00
BigBahss
520bd7e6c8 Fix external processes on Windows 2020-12-13 00:06:50 -05:00
GriffinR
6b6ad558b6 Remove unnecessary assignment 2020-12-11 16:24:18 -06:00
GriffinR
8261ad5bea Strip leading digits from new map names 2020-12-11 16:24:18 -06:00
BigBahss
c0eb0503e2 Update CHANGELOG and docs.
Merge remote-tracking branch 'origin/master' into shortcuts-editor
2020-12-05 20:33:45 -05:00
BigBahss
7a4de9f3d9 Add support for finding and opening any event script 2020-12-04 09:29:38 -05:00
BigBahss
afc0c0c501 Add button next to script combo-box to open file to that script.
Revert the behavior of Open Map Scripts button.
2020-12-02 03:39:08 -05:00
BigBahss
789fe7d00c Merge remote-tracking branch 'origin/master' into script-editing 2020-12-01 16:43:53 -05:00
BigBahss
62f73bee04 Populate scripts comboboxes with scripts found in map.json 2020-12-01 16:32:08 -05:00
BigBahss
e97b50a249 Refine regexes for script parsing 2020-12-01 12:02:02 -05:00
BigBahss
e704793350 Disable actionOpen_Project_in_Text_Editor when no command is set 2020-12-01 10:13:56 -05:00
BigBahss
dbafb99fd4 Add action to open the project root in a text editor 2020-12-01 07:12:32 -05:00
BigBahss
a4528fb0d9 Add support for opening .pory scripts to the selected event script 2020-11-26 06:09:58 -05:00
Ashley Coleman
7ea3dd6468 Fix formatting variables 2020-11-22 16:34:30 -06:00
Ashley Coleman
8567d161b5 Add defensive checks on index and iterators 2020-11-22 16:34:30 -06:00
Ashley Coleman
49737d16cc Implement delete for wild encounter table 2020-11-22 16:34:30 -06:00
BigBahss
b9aaef24c6 MapRuler: Fix artifacting, fix centering for other thickness values 2020-11-22 08:37:16 -06:00
BigBahss
6ca4802948 Use QGraphicsObject's signalling to enable/disable MapRuler 2020-11-22 08:37:16 -06:00
BigBahss
bc0127430b Fix MapRuler dimensions tooltip and refactor 2020-11-22 08:37:16 -06:00
BigBahss
4aaae1a264 Add support for opening .inc scripts to the selected event script 2020-11-22 01:04:46 -05:00
BigBahss
3478846b60 Add Project::getMapScriptsFilePath() and rename text editor config members 2020-11-21 17:33:16 -05:00
BigBahss
662fb2a367 Move themes to PreferenceEditor 2020-11-16 09:35:55 -05:00
BigBahss
ea9cfa47e5 Add basic prefences window with text editor command field 2020-11-16 07:39:42 -05:00
BigBahss
0a15dfbf4c Add preferred text editor to PorymapConfig 2020-11-16 06:46:21 -05:00
BigBahss
b310ccba79 Fix map sorting via shortcut 2020-11-13 09:06:03 -05:00
BigBahss
300a41c149 Add clear button to MultiKeyEdit 2020-11-13 02:52:37 -05:00
BigBahss
bb6786f24e Add extra shortcuts to main window and sub-editors 2020-11-12 23:48:03 -05:00
BigBahss
f044672d2e Add support for sub-editor shortcut customization 2020-11-09 05:50:15 -05:00
BigBahss
9a3609ee6d Fix MultiKeyEdit clear action not re-aligning key sequences 2020-11-09 02:56:22 -05:00
BigBahss
2fb3bf4e26 Redesign ShortcutsEditor to take an obj list and refactor config to reflect that 2020-11-08 12:03:44 -05:00
BigBahss
f5964fbe7f Refactor ActionShortcutEdit into MultiKeyEdit 2020-11-06 10:20:31 -05:00
BigBahss
43d3257d89 Extract functions in ShortcutsConfig 2020-11-05 06:32:31 -05:00
BigBahss
eabd2d6618 Convert QShortcut's to Shortcut's and add them to config 2020-11-03 05:58:10 -05:00
BigBahss
ed2f8bf180 Add custom Shortcut class 2020-11-03 03:18:34 -05:00
BigBahss
88fbf9f28b Add ShortcutsEditor to customize shortcuts for QAction's 2020-11-01 09:16:27 -05:00
BigBahss
ebb17476a7 Prevent capturing '=' in config key 2020-11-01 09:16:27 -05:00
BigBahss
5927f3dd7b Fix bug preventing map zoom resetting 2020-11-01 08:11:46 -06:00
BigBahss
174f66c35b Fix crash caused by shortcuts when no project is loaded 2020-10-30 19:33:14 -05:00
Blampharos
b371860eb1 Fix extraneous header flags being saved
Fixes a bug where the program would put map header flags from
firered and emerald to ruby-based projects.
2020-10-25 17:16:04 -05:00
garakmon
19633253f8 update objects when adding new event with button, closes #297 2020-10-24 15:51:10 -04:00
garakmon
d1af93f3b5 do not call initWindow() on failed load 2020-10-24 15:51:10 -04:00
BigBahss
9c57a5bc46 Refactor MapRuler event handling 2020-10-24 07:45:08 -04:00
BigBahss
40a155329e Merge branch 'master' into ruler-tool 2020-10-24 03:28:29 -04:00
Marcus Huderle
8ab5bfcdbd Merge remote-tracking branch 'origin/master' into better-map-zoom 2020-10-23 18:38:05 -05:00
BigBahss
2a37c18612 Fix connection mask palette color 2020-10-23 00:43:25 -04:00
Tyler
de43c64118
Merge branch 'master' into fix-window-size-issue 2020-10-22 19:59:11 -04:00
BigBahss
f47e8b1903 Refactor TilesetEditor 2020-10-22 18:44:22 -05:00
BigBahss
e4095130c5 Fix closing tileset editor not closing palette editor 2020-10-22 18:44:22 -05:00
BigBahss
8b7f4069cd Save & restore palette editor geometry & state from config 2020-10-22 18:44:22 -05:00
BigBahss
daae6fe52b Save & restore region map editor geometry & state from config 2020-10-22 18:44:22 -05:00
BigBahss
5624de750b Save & restore tileset editor geometry & state from config 2020-10-22 18:44:22 -05:00
BigBahss
f449f370a0 Implement FlowLayout for frame_mapTools 2020-10-20 15:02:06 -04:00
BigBahss
bb61dc9b51 Add dynamic FlowLayout class 2020-10-20 14:41:51 -04:00
BigBahss
1ea50d7955 Cleanup large log file on startup 2020-10-14 19:21:41 -05:00
BigBahss
89e3ef16b4 Fix crash when setting map connection to "None" 2020-10-14 19:18:24 -05:00
BigBahss
2f20a5d0b3 Hide connection tiles that cant be seen from current map 2020-10-14 01:57:59 -04:00
BigBahss
f404f8c11f Remove scrollArea surrounding graphicsView_Connections 2020-10-13 12:23:13 -04:00
BigBahss
ef9c4c73c3 Remove scrollArea surrounding graphicsView_Map 2020-10-13 10:14:16 -04:00
BigBahss
5247dd18c0 Refactor map zooming into the Editor 2020-10-13 06:07:31 -04:00
BigBahss
db20d01f3c Focus map zoom on currently hovered metatile 2020-10-11 12:07:11 -04:00
ExpoSeed
18cb48f806 Fix typo
editing from github is poggers
2020-10-04 21:47:57 -04:00
BigBahss
273dbaa94f Prevent ruler activation when right-clicking event in paint mode 2020-10-02 22:31:44 -04:00
BigBahss
fb5e35bd5f Use Metatile::coordFromPixmapCoord() in all remaining cases 2020-10-02 15:32:22 -04:00
BigBahss
e2dd4fb76b Disable MapRuler when switching tool buttons 2020-10-02 14:06:58 -04:00
BigBahss
39aa420265 Turn MapRuler dimensions into a mouse-tracking tooltip, and show in status bar 2020-10-02 12:12:19 -04:00
BigBahss
84f920bb03 Add static Metatile::coordFromPixmapCoord() 2020-09-27 12:17:12 -04:00
BigBahss
9565b677d2 Add tick marks to MapRuler 2020-09-25 11:56:02 -04:00
BigBahss
ca6969564f Add MapRuler (right-click & drag in events view) 2020-09-25 11:53:07 -04:00
BigBahss
502ebd449f Use correct function for setting cursorMapTileRect visibility 2020-09-24 19:40:02 -05:00
ultima-soul
8575b83212 Add support for FRLG .map files and border importing for pokefirered and custom border size supporting projects. 2020-09-21 14:26:58 -07:00
ultima-soul
38e7951f3e Add Import Map from Advance Map 1.92 feature. 2020-09-19 12:05:27 -07:00
BigBahss
698e4e38e7 Add clear buttons to all QLineEdit text boxes 2020-09-13 08:34:36 -05:00
BigBahss
bc788b6caa Fix reintroduction of issue fixed by 79e384ef76 2020-09-07 14:54:34 -04:00
BigBahss
6251da65b2 Retain external selection on map change (closes #291) 2020-09-07 14:54:34 -04:00
GriffinR
4b5b84ed36 Fix status bar not updating while dragging events 2020-09-07 14:12:26 -04:00
garak
40078888f8 show or hide rects immediately with shortcuts 2020-09-07 14:06:07 -04:00
BigBahss
939ec2520d Simplify lockNondominantAxis() and add comment 2020-09-07 13:12:15 -04:00
BigBahss
2fd3df9734 Remove straight paths checkbox and refactor 2020-09-07 13:12:15 -04:00
BigBahss
de2246e2fd Simplify some straight paths logic 2020-09-07 13:12:15 -04:00
BigBahss
27c9fec0b4 Fix collision straight paths and general improvement 2020-09-07 13:12:15 -04:00
BigBahss
b8bbfe60e8 Add straight paths to script api 2020-09-07 13:12:15 -04:00
BigBahss
5e09d7b965 Create ui checkbox for enabling straight paths 2020-09-07 13:12:15 -04:00
BigBahss
713ded1754 Add straight paths for map shifting 2020-09-07 13:12:15 -04:00
BigBahss
a59e695907 Add straight paths for collision tiles 2020-09-07 13:12:15 -04:00
BigBahss
5da761ea94 Implement straight paths for map tiles and smart paths 2020-09-07 13:12:15 -04:00
BigBahss
e597192cc0 Temporarily disable smart paths when checked and shift held (closes #294) 2020-09-07 12:16:45 -04:00
BigBahss
cfbcb8b623 Add 'Show Location Name' to newmappopup 2020-09-07 12:06:41 -04:00
garakmon
68098b8220 silence deprecation warnings 2020-08-26 20:42:42 -04:00
garak
34b88c97c7 change new event default action when tab is changed 2020-08-26 20:04:14 -04:00
garakmon
2b55e49933 fix bucket fills for CollisionPixmapItem 2020-08-26 20:03:47 -04:00
garakmon
9fb938939f allocate new map lastUpdatedBlockdata 2020-08-26 20:03:47 -04:00
garakmon
3c5401551d add Map class destructor to manage Event memory 2020-08-26 20:03:47 -04:00
garakmon
1151f9fc26 make some performance improvements to event rendering 2020-08-26 20:03:47 -04:00
garakmon
2a11760afd fix error in script edit command 2020-08-26 20:03:47 -04:00
garakmon
24f970628e do not push new EventDelete if there was no deletion 2020-08-26 20:03:47 -04:00
garakmon
5e4cc9a182 do not add no-ops to edit history for map painting 2020-08-26 20:03:47 -04:00
garakmon
d671470cb0 fix PaintMetatile subclass issues 2020-08-26 20:03:47 -04:00
garakmon
d121701da0 expose undoview with ctrl+E, fix redo shortcut 2020-08-26 20:03:47 -04:00
garakmon
392e595a03 fix the scripting api and many other changes
- remove obsolete Map::commit()
- add ScriptEditMap command
- reorganize metatile history
- fix next selected event for multi event deletion
2020-08-26 20:03:47 -04:00
garakmon
6c2d035dfa more undo commands
- add edit command for duplicating map events
- add edit commands for painting map collision
- edit commands that delete events now select
  the proper next event
2020-08-26 20:03:47 -04:00
garakmon
98c3298805 add edit command for duplicating events
- also select next event when performing redo actions on deletion
2020-08-26 20:03:47 -04:00
garakmon
c3defd6887 small fixes
- connect DEL key to event deletion action
- update checks for unsaved changes to map
- add an asterisk next to the map name in the
  window title when a map has unsaved changes
2020-08-26 20:03:47 -04:00
garakmon
4c154501f1 fix multi event deletion crash, allow spinboxes to commit move history 2020-08-26 20:03:47 -04:00
garakmon
2598ca2277 edit commands for creating and deleting events 2020-08-26 20:03:47 -04:00
garakmon
a0dc347ad3 add EventMove command, fix extra signal call in map border resize 2020-08-26 20:03:47 -04:00
garakmon
fb1eec1755 begin refactoring undo history 2020-08-26 20:03:47 -04:00
garakmon
90aba5e433 define a setMap for current_metatile_selection_item to prevent crash on project transition 2020-08-19 19:31:13 -04:00
GriffinR
79e384ef76 Fix metatile selection not updating properly when changing tilesets 2020-08-19 15:13:37 -04:00
garak
2e077b45c7 fix scene scaling for metatile selection, replace deprecated setMatrix with setTransform 2020-08-15 19:30:46 -04:00
BigBahss
62e86b3c94 Toggle menuFile actions and menuHelp when no project is open 2020-08-04 18:31:35 -04:00
garak
55bd16db40 actually use new function to disable ui 2020-08-03 19:28:26 -04:00
garak
2c6d8f3d8d enable file menu for OSes with attached menu bars (#281 cont.) 2020-08-03 19:21:35 -04:00
garak
1575d3f799 disable ui when no project is open (closes #281) 2020-08-03 15:35:14 -04:00
GriffinR
3312280287 Fix 1x1 layer tile selection not highlighting 2020-07-23 19:30:48 -05:00
Marcus Huderle
7d70505b90 Fix crash when opening new project 2020-07-14 18:10:55 -05:00
Marcus Huderle
45cfb3aabd Allow 6-wide selections in tileset editor when triple layer is enabled 2020-07-14 17:54:56 -05:00
GriffinR
00ad1ec22a Fix flags being listed out of order 2020-07-14 17:44:33 -05:00
GriffinR
70b8806737 Fix layer flip to work on all incomplete metatile selections 2020-07-14 17:40:53 -05:00
GriffinR
cf9314eaa6 Reflect palette changes in TE metatile selection 2020-07-14 17:40:53 -05:00
GriffinR
5798ef7fda Apply xflip to layers individually, fix palette in selection 2020-07-14 17:40:53 -05:00
GriffinR
b5b227a6a0 Respect x/y flip for selections with different flip states 2020-07-14 17:40:53 -05:00
GriffinR
023be7f541 Respect x/y flip and palette for external tileset editor tile selections 2020-07-14 17:40:53 -05:00
GriffinR
c68e352bb1 Fix deleted events persisting after all events deleted 2020-07-13 19:11:51 -05:00
GriffinR
e518e2c554 Prevent heal locations from being duplicated 2020-07-13 19:08:46 -05:00
GriffinR
1b832929b2 Enforce limit for object events 2020-07-13 19:08:46 -05:00
GriffinR
ea2bfa7274 Add duplicate shortcut for events 2020-07-13 19:08:46 -05:00
ultima-soul
a5bd797914 Dropdown indexes for Event tab now properly set upon loading an event. 2020-07-13 18:58:45 -05:00
GriffinR
d20f4a5c83 Fix metatile selection rect disappearing during map selection 2020-07-10 01:15:22 -04:00
ultima-soul
38bbb2c4c8 Fix increasing metatileset size in tileset editor crashing when triple layer is enabled. 2020-07-09 13:07:48 -04:00
GriffinR
8b600fb59c Ignore invalid metatiles in selection calls to metatile selectors 2020-07-08 17:35:59 -04:00
GriffinR
35af5557d3 Remove unnecessary check in metatileIsValid 2020-07-08 17:35:59 -04:00
GriffinR
0e04d2250b Ignore invalid metatiles in tileset editor when syncing 2020-07-08 17:35:59 -04:00
GriffinR
b04638b4cf Validate metatile selection when changing tilesets 2020-07-08 17:35:59 -04:00
GriffinR
c4cdc47e20 Fix tileset editor syncing selection on save 2020-07-06 12:45:10 -05:00
GriffinR
257405f451 Unsaved changes prompt for tileset editor when switching tilesets or maps 2020-07-02 16:01:07 -05:00
GriffinR
b16703a397 Update tileset editor when current tileset is changed 2020-07-02 16:01:07 -05:00
GriffinR
016c65448e Track unsaved changes to metatile attributes and labels 2020-07-02 16:01:07 -05:00
GriffinR
a92d0eb006 Sync metatile selection from the map to the tileset editor 2020-07-02 16:01:07 -05:00
Marcus Huderle
b06070df5f Update docs 2020-07-02 15:28:17 -05:00
SBird
7bece548fb layer-scripting: fix layer transparency for reordered layers 2020-07-02 15:16:44 -05:00
Marcus Huderle
4557e22115 Fix wrong opacity layer assignment 2020-07-01 20:59:01 -05:00
Marcus Huderle
96ca895daa Add scripting api for metatile layer opacity 2020-07-01 20:43:19 -05:00
Marcus Huderle
dac4a0e8f7 Add scripting api for metatile layer draw order 2020-07-01 20:19:08 -05:00
GriffinR
08bc85dde0 Open tileset editor with selected metatile 2020-07-01 13:38:27 -05:00
Marcus Huderle
cc16440336 Allow Ctrl+Shift+Z to redo in the tileset editor 2020-06-30 18:55:13 -05:00
Marcus Huderle
64f9976d81 Fix bug where newly-created tileset couldn't be used 2020-06-30 18:20:07 -05:00
GriffinR
16f7373816 Fix crash when reducing tileset metatiles past current selection 2020-06-30 10:24:03 -05:00
GriffinR
1747a4bf2e Disable invalid metatile selection in tileset editor 2020-06-30 10:24:03 -05:00
GriffinR
2e29e19605 Fix sprite transparency not updating when changing object event graphics 2020-06-30 10:12:04 -05:00
SBird
18b9e5fbee triple-layer: fix creating tilesets 2020-06-30 10:10:44 -05:00
Marcus Huderle
b7d1db61a8 Remove pointless check on metatile layer mouse event 2020-06-28 16:36:55 -05:00
Marcus Huderle
7392105297 Early exit magic fill if it would be a no-op 2020-06-27 17:14:37 -05:00
Marcus Huderle
370221a974 Disable map zoom when middle button is pressed 2020-06-27 17:07:34 -05:00
ultima-soul
9183a297d4 Change layer slot labels when Triple Metatile Layers is enabled. 2020-06-26 16:22:15 -05:00
ultima-soul
4cc3d60dc4 Revert unecessary changes and hide Layer Type for Triple Metatile Layers. 2020-06-26 16:22:15 -05:00
ultima-soul
8ceb783056 Remove checkbox for enabling triple metatile layers. 2020-06-26 16:22:15 -05:00
ultima-soul
debb1c66ac Implement proper triple metatile layer support. 2020-06-26 16:22:15 -05:00
Marcus Huderle
b58ec89854 Properly filter the map search results when switching sort types 2020-06-25 18:34:46 -05:00
GriffinR
dd91e29e85 Fix exported tileset images using x/y flip 2020-06-15 16:43:21 -05:00
GriffinR
ee7978ea2d Open scripts.inc when scripts.pory doesn't exist 2020-06-15 16:42:00 -05:00
GriffinR
afb157beb3 Assign editor->map to nullptr after clearing map cache 2020-06-06 11:35:44 -05:00
GriffinR
c382190e8b Fix crash parsing C defines from unknown token 2020-06-04 19:11:15 -05:00
GriffinR
32726d4a6a Show mouse coords in map event editor 2020-06-02 18:21:23 -05:00
GriffinR
6cb1c532a4 Show metatile label names in map editor 2020-06-02 18:21:23 -05:00
GriffinR
90aa26197d Set project-specific config defaults 2020-05-27 18:58:43 -05:00
GriffinR
125a287b9c Add config options for some project-specific features 2020-05-27 18:58:43 -05:00
garak
aa2ce13551
Merge pull request #232 from GriffinRichards/monitor-labels
Monitor metatile_labels.h
2020-05-22 16:07:05 -04:00
GriffinR
febc788097 Ignore metatile_labels when saving 2020-05-22 16:02:11 -04:00
GriffinR
ed2777c397 Monitor metatile_labels.h 2020-05-22 15:52:34 -04:00
Marcus Huderle
2f533a86b2 Optimize displayMapEvents() 2020-05-21 19:11:37 -05:00
Marcus Huderle
81cd43933b Eliminate unnecessary expensive map redraws when saving or changing tilesets 2020-05-20 19:21:18 -05:00
Marcus Huderle
f6c86e0eed Eliminate unnecessary expensive map redraw when opening a map 2020-05-20 18:30:17 -05:00
Marcus Huderle
93661bbe1b Fix crash when painting an event when no existing events exist for the map 2020-05-18 17:25:53 -05:00
garakmon
4ee22fa06a decouple map and event edit modes 2020-05-18 17:25:53 -05:00
garakmon
9f5b13c287 use a more descriptive warning message for the new map dimensions 2020-05-18 17:25:53 -05:00
garakmon
482d3cd8fb fix map dimension checks in new map window 2020-05-18 17:25:53 -05:00
GriffinR
638ce5370f Typo fix 2020-05-16 18:26:39 -05:00
GriffinR
374020f94d Split readMaxMapDataSize, move mapDimensionsValid to project 2020-05-16 18:26:39 -05:00
GriffinR
731fbce6af Read MAX_MAP_DATA_SIZE 2020-05-16 18:26:39 -05:00
GriffinR
99b95882fe Object event coords from unsigned to signed 2020-05-15 15:57:27 -05:00
Marcus Huderle
23a20dd736 Clear scripting map overlay when closing project 2020-05-13 16:16:51 -05:00
GriffinR
a860f3f110 Support importing FRLG Advance Map metatilesets 2020-05-13 16:00:08 -05:00
GriffinR
53ba6f5ab9 Warn when closing with unsaved encounter changes 2020-05-11 17:11:01 -05:00
garakmon
fcb320bd79 fix crash when attempting to close project that is never opened 2020-05-11 17:12:37 -04:00
Marcus Huderle
2161312122 Add optional args to dictate map refresh and commit 2020-05-09 11:31:14 -05:00
Marcus Huderle
e0afb24002 Merge remote-tracking branch 'origin/master' into scripting 2020-05-08 11:35:58 -05:00
garakmon
37c849f9b5 allow current widget to dictate size of stacked widget for metatile/collision and events pages 2020-05-08 11:35:14 -05:00
GriffinR
ac92534576 Disallow drawing heal locations 2020-05-08 11:34:40 -05:00
GriffinR
399474c1f2 Fix heal loc duplicates, rename flyableMaps 2020-05-08 11:34:40 -05:00
Marcus Huderle
f139365faf Add log() to api 2020-05-08 11:29:39 -05:00
Marcus Huderle
998ea1fcc8 Add custom_scripts project config, and cleanup scripts when switching projects 2020-05-08 11:26:23 -05:00
Marcus Huderle
b8d0268d5d Move script api into separate file 2020-05-08 09:59:01 -05:00
Marcus Huderle
3c1549cc93 Add setTimeout to script api, and properly refresh scene when overlay is changed 2020-05-08 09:46:26 -05:00
Marcus Huderle
71242e5714 Add ability to set keyboard shortcuts for custom actions 2020-05-08 08:49:29 -05:00
Marcus Huderle
7072c001af Implement api for checkboxes 2020-05-07 20:13:56 -05:00
Marcus Huderle
bf64764103 Implement the rest of the palette api 2020-05-07 20:00:14 -05:00
Marcus Huderle
09a892f525 Add ability to register custom actions 2020-05-03 11:28:02 -05:00
Marcus Huderle
434bafe0b2 Call on_block_changed from more places 2020-05-03 10:48:48 -05:00
Marcus Huderle
0ef3c6a898 Add palette preview scripting commands 2020-05-03 10:31:44 -05:00
Marcus Huderle
8697adf186 Add true tileset scripting functions 2020-05-03 10:00:56 -05:00
Marcus Huderle
567a45b7e4 Implement some overlay functions and on_map_opened callback 2020-05-02 16:25:35 -05:00
Marcus Huderle
95012838fd Implement more map api functions 2020-04-30 18:30:24 -05:00
Marcus Huderle
d685718f8d Implement three map scripting functions 2020-04-29 20:41:19 -05:00
Marcus Huderle
267cd5e2cb Implement proof of concept for scripting capabilities 2020-04-29 19:46:01 -05:00
Marcus Huderle
16b451ab19 Extend min/max connection offsets to player's view 2020-04-28 19:38:40 -05:00
Marcus Huderle
6a27536cbb Automatically select the newly-created event via the Pencil tool 2020-04-26 19:47:57 -05:00
garakmon
333fe69dd8 keep selected tool when switching tabs 2020-04-26 18:55:18 -04:00
garakmon
f57ef7a819 change main tab for every click 2020-04-26 16:18:25 -04:00
garakmon
9e883a8a2f remember edit mode in map tab 2020-04-26 16:18:25 -04:00
garakmon
7e039121bb fix mainwindow ui conflicts 2020-04-26 16:18:25 -04:00
garak
ccccb7cec0 fix bug with adding new widget to event frame outside of a paint event 2020-04-26 16:17:51 -04:00
garak
b5adbe782d extend most toolbuttons for use in event editing 2020-04-26 16:17:51 -04:00
garak
bf58549666 update midnight theme disabled widgets, disable some ui in event tab 2020-04-26 16:17:51 -04:00
garak
fa42beac1d update ui so that map and events tabs share widgets
- use a programmatically created QTabBar to switch between pages of stacked widget
- use stacked widget to display selected objects and metatiles frames
- remove unique map events tab

this gives access to the toolbuttons while editing events (not functional yet)
2020-04-26 16:17:51 -04:00
huderlem
c0674d9676
Merge pull request #200 from garakmon/closeproject
Fix Open Project & Monitor Changed Project Files
2020-04-25 16:28:02 -05:00
GriffinR
a3d10ef306 Set border visibility after redo/undo 2020-04-25 16:15:34 -05:00
Marcus Huderle
b9522c24f5 Centralize file-changed logic in the callback. Ignore watched files for 5 seconds, when saving them. On Windows, there is a fuzzy delay between the time a file is written and when the signal fires in Qt, and we can't rely on blocking signals or temporarily removing the watched filepaths. It also fires three or four duplicate times for a single file. 2020-04-25 16:11:14 -05:00
GriffinR
d1853a576b Use first trainer type constant for new objects 2020-04-21 19:03:00 -04:00
GriffinR
1bd1db2a7d Re-enable RSE-specific events when switching projects 2020-04-21 16:31:24 -04:00
garak
03082e5920
Merge branch 'master' into closeproject 2020-04-20 22:05:28 -04:00
garakmon
4d2fa5ee38 show file changed warning once at a time 2020-04-20 22:02:14 -04:00
garakmon
401d2e4884 let user change some config settings
- use encounter json
    - use poryscript
    - monitor files
2020-04-20 21:54:20 -04:00
Marcus Huderle
f07422585b Fix typo 2020-04-20 20:29:07 -05:00
Marcus Huderle
bb6dbedabf Add ability to export map stitch images. 2020-04-20 20:29:07 -05:00
GriffinR
141f0fa773 Fix adding new mapsec regression 2020-04-20 17:45:34 -05:00
GriffinR
1b3d4a44e0 Forbid . and - in new tileset names 2020-04-20 17:39:31 -05:00
garak
4a23c90695
Merge pull request #205 from garakmon/encord
use ordered map for wild encounter json
2020-04-20 14:27:47 -04:00
garakmon
df8dac965f move fileWatcher signals to project class, block when saving 2020-04-20 14:08:32 -04:00
garakmon
96a870552e monitor files for changes
- add fileWatcher to project that monitors changes to most files
      (except map and layout json files)
    - add config setting whether to monitor files for changes (monitor_files)
2020-04-20 14:07:06 -04:00
garakmon
6026266afd add File>Reload Project 2020-04-20 14:07:06 -04:00
garakmon
ca5a0247f7 delete project with editor 2020-04-20 14:07:06 -04:00
garakmon
0e9deff4bc clear config data between loads 2020-04-20 14:07:06 -04:00
garakmon
c0bffa0107 add some destructors, prevent value set on combobox update
- add destructors to Project and Editor
    - properly close project when opening a new one
    - when reloading comboboxes, do not set map values
      with the new first item
2020-04-20 14:07:06 -04:00
garakmon
e5122ef94f use ordered map for wild encounter json 2020-04-20 14:04:34 -04:00
GriffinR
0c92dc05da Save metatile attributes label in new order for FRLG 2020-04-20 13:29:01 -04:00
GriffinR
d91107a07d Read callback_label for FRLG 2020-04-19 18:23:37 -04:00
GriffinR
f2ae83b33e Use metatile attributes path from header 2020-04-19 18:11:45 -04:00
GriffinR
5f16ae7dd0 Use value() instead of at() for defaults 2020-04-19 10:16:49 -04:00
GriffinR
8c428c578b
Merge branch 'master' into pokefirered 2020-04-19 09:48:21 -04:00
garakmon
799e5537f9 add tsl::ordered_map for json objects,
update project code to save json files with new ordered object
2020-04-19 07:55:51 -05:00
garakmon
12614a174a modify Json::dump to preserve our format 2020-04-19 07:55:51 -05:00