Commit graph

429 commits

Author SHA1 Message Date
BigBahss
0a15dfbf4c Add preferred text editor to PorymapConfig 2020-11-16 06:46:21 -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
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
garakmon
f791157adc add #pragma once to include files 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
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
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
2f20a5d0b3 Hide connection tiles that cant be seen from current map 2020-10-14 01:57:59 -04:00
BigBahss
5247dd18c0 Refactor map zooming into the Editor 2020-10-13 06:07:31 -04:00
BigBahss
fb5e35bd5f Use Metatile::coordFromPixmapCoord() in all remaining cases 2020-10-02 15:32:22 -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
ultima-soul
38e7951f3e Add Import Map from Advance Map 1.92 feature. 2020-09-19 12:05:27 -07:00
garak
40078888f8 show or hide rects immediately with shortcuts 2020-09-07 14:06:07 -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
5da761ea94 Implement straight paths for map tiles and smart paths 2020-09-07 13:12:15 -04:00
garakmon
68098b8220 silence deprecation warnings 2020-08-26 20:42:42 -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
d671470cb0 fix PaintMetatile subclass issues 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
garak
2e077b45c7 fix scene scaling for metatile selection, replace deprecated setMatrix with setTransform 2020-08-15 19:30:46 -04:00
garak
2c6d8f3d8d enable file menu for OSes with attached menu bars (#281 cont.) 2020-08-03 19:21:35 -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
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
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
GriffinR
8b600fb59c Ignore invalid metatiles in selection calls to metatile selectors 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
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
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
Marcus Huderle
370221a974 Disable map zoom when middle button is pressed 2020-06-27 17:07:34 -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
afb157beb3 Assign editor->map to nullptr after clearing map cache 2020-06-06 11:35:44 -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
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
garakmon
4ee22fa06a decouple map and event edit modes 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
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
GriffinR
53ba6f5ab9 Warn when closing with unsaved encounter changes 2020-05-11 17:11:01 -05: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
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
garakmon
333fe69dd8 keep selected tool when switching tabs 2020-04-26 18:55:18 -04:00
garakmon
9e883a8a2f remember edit mode in map tab 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
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
Marcus Huderle
5b26ba678b Remove qstringhash implementation needed by older versions of Qt 2020-04-24 19:21:09 -05:00
garak
03082e5920
Merge branch 'master' into closeproject 2020-04-20 22:05:28 -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
bb6dbedabf Add ability to export map stitch images. 2020-04-20 20:29:07 -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
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
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
garakmon
7bef1eb1e1 convert to use QVector 2020-04-19 07:55:51 -05:00
garakmon
8cb2e6e2ba add json library, begin modifications 2020-04-19 07:55:51 -05:00
garakmon
ef5ba968b1 do not allow selection of invalid metatiles
- also display invalid metatiles as magenta to stand out more
2020-04-18 15:31:28 -05:00
GriffinR
129db88453 Minor cleanup 2020-04-06 12:09:45 -04:00
GriffinR
d5908c0045 Draw border up to players view 2020-04-05 00:03:36 -04:00
GriffinR
e4a41cf201 Align border blocks 2020-04-03 16:29:40 -04:00
GriffinR
c28730e834 Fix crash with open windows when switching projects 2020-03-31 12:41:15 -04:00
GriffinR
e9210f96aa
Merge branch 'master' into pokefirered 2020-03-29 13:15:23 -04:00
GriffinR
76a8c0dc44 Read trainer type constants 2020-03-27 10:51:57 -04:00
GriffinR
3ff5483267 Correctly initialize palette for palette editor 2020-03-23 21:12:56 -05:00
GriffinR
d365ebb664 Support reading/saving pokefirered heal locations 2020-03-20 03:09:48 -04:00
GriffinR
bf72ecede9 Parse remaining pokefirered metatile attributes, allow editing/saving them 2020-03-16 16:31:08 -04:00
GriffinR
3fa77609c6 Remove hard-coded new map constants 2020-03-16 03:57:39 -04:00
GriffinR
c0a512803e Allow editing border dimensions 2020-03-14 18:06:35 -04:00
GriffinR
5cf0e35ffc Fix border block cache usage 2020-03-13 19:10:40 -05:00
GriffinR
629abd3c06 Support reading/displaying custom border sizes 2020-03-13 02:23:47 -04:00
GriffinR
a5c47b6333 Disable RME(temporarily), secret bases, and weather triggers for pokefirered 2020-03-12 12:30:37 -04:00
GriffinR
a2f38341f5 Save changes to floor_number 2020-03-11 17:06:26 -04:00
GriffinR
3eca227d07 Basic pokefirered empty layout, floor number, version selection support 2020-03-11 02:06:13 -04:00
Marcus Huderle
342bcae174 Add better error handling for region map editor loading 2020-02-12 15:45:21 -06:00
Marcus Huderle
2df0ac7d16 Show alert windows when a fatal map-loading error occurs 2020-02-12 11:23:28 -06:00
Marcus Huderle
cd9b8b12a5 Validate map layout and tileset loading 2020-02-12 10:22:40 -06:00
Marcus Huderle
8a4456f7b0 Validate remaining data loads, and fix duplicating combobox data 2020-02-12 09:13:58 -06:00
Marcus Huderle
a152404ce8 Validate region map sections 2020-02-12 08:12:12 -06:00
Marcus Huderle
79c74b8814 Validate layouts 2020-02-11 18:34:08 -06:00
Marcus Huderle
cfaf23aa3e Copy collision properties when selecting metatiles from the map area 2020-02-02 16:25:37 -06:00
garak
2f21f83217 draw map connections with current map tilesets 2019-11-04 18:44:57 -05:00
Karathan
bc4d9e2276 add a switch for using .pory script files in the project config 2019-10-22 19:41:10 -05:00
garak
55573099b5 keep track of encounter data when navigating porymap 2019-10-16 20:04:19 -05:00
garak
10c99dd0a2 add 'groups' field to encounter json to accomodate fishing 2019-10-16 20:04:19 -05:00
garak
91b498ee62 configuring encounter JSON applies changes to all mon data 2019-10-16 20:04:19 -05:00
garak
911b30089c rename TokenType to TokenClass to fix Windows issues 2019-10-16 20:04:19 -05:00
garak
c816801429 change ComboBox::activated calls to currentTextChanged 2019-10-16 20:04:19 -05:00
garak
b1509cb000 make wild encounter windows obey theme 2019-09-21 12:27:05 -05:00
garak
230b018834 add themes to config so they persist between sessions 2019-09-21 12:27:05 -05:00
garak
376cfbf9c3 add light and dark themes 2019-09-21 12:27:05 -05:00
garak
96020c21dd change encounterRate slider to a spin box 2019-09-09 23:51:37 -04:00
garak
d794dee8c0 add wild encounters to config 2019-09-09 18:26:54 -04:00
garak
7129510aea add read misc project values function 2019-09-09 18:26:54 -04:00
garak
267c71d40e clean wild encounter code 2019-09-09 18:26:54 -04:00
garak
3c2b7a8df7 fix copy from existing encounter group function 2019-09-09 18:26:54 -04:00
garak
f7022fc3d2 allow saving new encounter groups to maps 2019-09-09 18:26:54 -04:00
garak
eb3fb44542 custom table widget for mon data, add new encounter fields to maps 2019-09-09 18:26:54 -04:00
garak
5a62df9f55 add json saving to wild encounter editor 2019-09-09 18:26:54 -04:00
garak
4b0e0b0bff continue work on wild encounter editor 2019-09-09 18:26:54 -04:00
garak
3f9ad3afbb extend wild encounter tab for all fields (dynamic) 2019-09-09 18:26:54 -04:00
garak
0ad71286b1 begin work on wild pokemon editor 2019-09-09 18:26:54 -04:00
garak
22fe92840f
Merge pull request #108 from Phlosioneer/metatile-labels
Add a way to name metatiles, for use in c code
2019-09-08 20:15:00 -04:00
garak
11d6d35b68 fix rme close with unsaved changes 2019-08-19 16:52:39 -05:00
garak
16d25796bf use the custom combobox for all porymap comboboxes 2019-08-19 16:52:39 -05:00
garak
b990e661e3 remove old comment 2019-08-07 11:27:52 -04:00
garak
3e39ebccdf add unsaved changes dialog to mainwindow close 2019-08-07 10:48:07 -04:00
garak
f89804dd16 silence compiler warnings 2019-08-06 23:35:02 -04:00
Marcus Huderle
e501a92c30 Fix exporting tileset images with duplicate-color palettes 2019-06-17 12:00:31 -05:00
garak
f750c56e29 create map image export window 2019-05-23 16:43:07 -05:00
garak
eb71f72b0e move source parsing functions from project to parseutil 2019-05-09 18:08:52 -05:00
garak
675a064df6 readCDefines() - don't crash on invalid expressions, add better debugging info 2019-05-09 18:08:52 -05:00
garak
eb3964bcc3 improve way selected events are rendered on top 2019-05-09 18:06:34 -05:00
garak
c189d2fac8 revert hideArrow() function, fix rme swap window 2019-04-29 19:38:40 -05:00
garak
9098055054 add data qualifiers struct 2019-04-29 19:38:40 -05:00
garak
8c29b00fa4 modify event comboboxes, fix heal location parsing 2019-04-29 19:38:40 -05:00
Marcus Huderle
7b440f38a4 Log error messages when JSON parsing fails 2019-04-20 09:06:59 -05:00
garak
e30ec429ab allow entries to be moved by dragging them around map 2019-04-13 16:24:12 -05:00
garak
92ea089876 insert new map entries when edited 2019-04-13 16:24:12 -05:00
garak
875320ae26 add entries editing tab to rme 2019-04-13 16:24:12 -05:00
Phlosioneer
03186e4591 Fix metatile label bug while saving
The metatile label only saved when the text field lost focus. But
saving doesn't cause the lineEdit to lose focus. This forces a
check whenever the tileset is saved.
2019-04-08 00:13:55 -04:00
huderlem
e91df38714
Merge pull request #77 from garakmon/rme
Region Map Editor
2019-04-06 19:59:08 -05:00
garak
fe22a2fbbc Merge branch 'rme' of https://github.com/garakmon/porymap into rme 2019-04-06 18:12:21 -04:00
garak
5bfc32fb7f write palette of region map image, fix ruby city map render 2019-04-06 18:11:56 -04:00
garak
0a0eaba788 draw sprites based on movement type 2019-04-06 17:04:41 -05:00
garak
da5048a616 use project values for new event defaults 2019-04-06 16:36:48 -05:00