Commit graph

683 commits

Author SHA1 Message Date
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
garak
2ee3731ed8
Merge branch 'master' into rme 2019-04-06 10:20:35 -04:00
Phlosioneer
01c6d09bc2 Add a way to name metatiles, for use in c code
Metatiles can be given a name. The name becomes a constant in
includes/contstants/metatile_labels.h.

The plan is to be able to reference metatiles in code using a macro
like `METATILE(Building, TV_ON, Primary)`, which will evaluate to the
value 0x003, or `METATILE(BrendansMaysHouse, MOVING_BOX_OPEN, Secondary)`,
which will evaluate to the value 0x270.
2019-04-04 01:44:31 -04:00
garak
a475823fee further refine region map editor 2019-03-31 14:57:24 -04:00
Karathan
e305e42e61 rename getTilesets->getTilesetLabels 2019-03-24 15:55:40 -05:00
Karathan
1b62c15ba4 add dialog to add tilesets 2019-03-24 15:55:40 -05:00
garak
545e2134d8 remember changes to region map layout between saves 2019-03-23 16:56:30 -04:00
Marcus Huderle
8af714a681 Rename 'Reset' actions to 'Clear', and add 'Clear Background Map' to edit history 2019-03-17 11:37:13 -05:00
garak
34cc6fe5c7 fix map icons in mapList 2019-02-26 15:56:45 -06:00
garak
5b6f658e29 add new convenience features to rme and fix typos 2019-02-25 13:31:34 -05:00
garak
3cef77a174 add map section swap feature and smooth zooming 2019-02-18 13:45:45 -05:00
garak
38cb97793d fix outstanding rme bugs and history 2019-02-16 19:58:13 -05:00
garak
a951fc85da region map ui updates and other fixes 2019-02-16 19:58:13 -05:00
garak
41f3780c8a add region map data to config, fix some bugs 2019-02-16 19:58:13 -05:00
garak
c75ce5db1d resize region map, move map squares 2019-02-16 19:58:13 -05:00
garak
83f3cef52e clean rme UI, undo / redo history, new city maps 2019-02-16 19:58:13 -05:00
garak
d3a16d34df move region map editor to its own window 2019-02-16 19:58:13 -05:00
garak
62009373f7 city map editor 2019-02-16 19:55:58 -05:00
garak
a9098cfd7a add layout view to region map editor 2019-02-16 19:55:58 -05:00
garak
7cffe07579 add region map image editor with basic functionality 2019-02-16 19:54:54 -05:00
Marcus Huderle
b2742498d1 Save metatile zoom in config 2019-02-16 14:32:46 -06:00
garak
f587e03a49 add slider to scale metatiles view 2019-02-16 14:32:46 -06:00
Marcus Huderle
c4ad0971d0 Support custom fields for all event types 2019-02-04 20:53:35 -06:00
Marcus Huderle
a894bea71b Support custom fields for top-level map attributes 2019-02-04 20:53:35 -06:00
Marcus Huderle
d70145d89a Respect shared_events_map and shared_scripts_map 2019-02-04 20:53:35 -06:00
Marcus Huderle
94686e6f0a Support map JSON data 2019-02-04 20:53:35 -06:00
garak
596216d5fb remove first map tile outline on project open 2019-01-20 10:46:15 -06:00
Marcus Huderle
228b646b0e Change trainer checkbox to a combobox 2019-01-20 10:43:32 -06:00
Marcus Huderle
9412057f6a Export tileset images as proper 4-bit-depth .png files 2019-01-11 08:52:47 -06:00
Marcus Huderle
a3ecbecd20 Don't show cursor tile outline in event or connection editing tabs 2019-01-11 08:52:44 -06:00
Marcus Huderle
16bbfcb654 Make map tile cursor more responsive according to metatile selection 2019-01-11 08:52:35 -06:00
Diegoisawesome
a04db82c2b Make events (besides objects with valid sprites) partially transparent (#86)
* Make events transparent

* Change which events are transparent
2019-01-10 19:59:41 -06:00
Marcus Huderle
61b919566a Add option to show an outline around the currently-hovered map tile 2019-01-09 09:35:34 -06:00
Marcus Huderle
4d088766a0 Add player view rectangle option 2019-01-08 18:04:48 -06:00
Marcus Huderle
3f88072981 Add ability to import metatiles from Advance Map (.bvd files) 2019-01-08 18:04:41 -06:00
Marcus Huderle
b469cc047f Add 'About Porymap' window that contains useful information about the program 2019-01-08 10:28:20 -06:00
Marcus Huderle
8317dc2276 Add expand-all and collapse-all buttons for map list 2019-01-08 09:30:36 -06:00
garak
d13a4da50a Remember window sizes, add new map popup window (#54)
* save window state on app close

* new map popup window

* window title, groupItem fix

* fix new map heal location generation

* fix newmappopup form size

* empty map name check, increase max dimensions

* tool tips

* delete new window

* fix mainwindow.ui new map action

* use new config for window state

* clean window restore config settings

* extend "Add New Map" to different MapSortOrders

* fix crash when creating new map from unloaded layout

* fix new map from layout extra files
2019-01-07 17:14:44 -06:00
Diegoisawesome
aa0709243d Fix crash if layout blockdata size mismatches layout dimensions 2019-01-07 12:28:31 -06:00
Marcus Huderle
022dc899da Add transparency slider for overlayed collision tiles on the map 2019-01-06 12:53:36 -06:00
Marcus Huderle
cd37192657 Fix palette editor crash 2019-01-06 09:43:54 -06:00
Marcus Huderle
f1caa03c6c Add ability to export tileset tiles image 2019-01-05 15:52:55 -06:00
Marcus Huderle
851f8ec813 Add ability to import JASC and A-Map palettes into the tileset palette editor. 2019-01-05 12:06:22 -06:00
Diegoisawesome
060a3e359a Magic fill collision and elevation (#76) 2019-01-04 20:49:21 -06:00
Diegoisawesome
c6e0d017ea Add magic fill functionality 2019-01-04 18:21:41 -06:00
Marcus Huderle
8b843855f0 Fix tileset editor crash caused by the TilesetEditor instance being destroyed while still running 2018-12-26 16:49:43 -06:00
Marcus Huderle
08ff21e415 Properly create new emerald map headers. Use 'trigger' instead of coord script, trap, etc. 2018-12-26 15:36:44 -06:00
Marcus Huderle
ebdab421cb Pivot map header experience based on base_game_version 2018-12-26 12:20:51 -06:00
Marcus Huderle
6b01d5a942 Add project-specific configuration file. Only contains base_game_version right now. 2018-12-25 15:26:13 -06:00
Marcus Huderle
525ef8c67c Refactor config into generic key-value base class and settings-specific child class 2018-12-25 14:41:57 -06:00
Marcus Huderle
99a21ccf29 Add porymap config file 2018-12-21 09:25:28 -06:00
Marcus Huderle
b2053e593f Merge remote-tracking branch 'diego/tabbed_events' 2018-12-20 17:35:59 -06:00
Marcus Huderle
40257193a4 Don't crash on startup if recent map can't be loaded. Write logs to porymap.log file 2018-12-20 17:30:35 -06:00
Diegoisawesome
68905aae1c Tabbed events mostly working 2018-11-29 21:59:03 -06:00
Diegoisawesome
f0b74ada93 Tabs working 2018-11-27 19:39:57 -06:00
Diegoisawesome
41a0c1d2d2 Change 2x2 limit to 4x2 on tileset editor selection 2018-10-08 21:10:57 -05:00
Diegoisawesome
c102a2b7d0 Scroll to selected tile and metatile 2018-10-08 14:46:46 -05:00
Marcus Huderle
e42c2e1a81 Add edit-undo history to tileset metatile editing 2018-10-06 17:07:36 -05:00
Marcus Huderle
888270f3ef Add right-click selection to tileset editor metatile layer item 2018-10-06 15:49:26 -05:00
Marcus Huderle
bbfecba1ba Add edit-undo history for tileset palette changes 2018-10-05 18:38:11 -05:00
Marcus Huderle
7a47c64509 Display RGB values in tileset palette editor 2018-10-05 17:57:55 -05:00
Marcus Huderle
74ce9c9a45 Misc cleanup, and 'Sort by Name' -> 'Sort by Area' 2018-10-05 17:42:14 -05:00
Diegoisawesome
0e58fed23b Add map list sorting and filtering 2018-10-05 01:02:40 -05:00
Diegoisawesome
54a9d8b23b Merge branch 'master' of github.com:huderlem/porymap 2018-10-04 11:03:33 -05:00
Diegoisawesome
6269d4822a Add filter to UI 2018-10-02 21:46:08 -05:00
Marcus Huderle
61ec1af0fb Add tileset palette editor 2018-10-02 19:01:41 -05:00
Marcus Huderle
303f31f3d4 Add ability to change tileset metatile counts 2018-10-02 19:01:37 -05:00
Marcus Huderle
cf150f3ce9 Ask user about unsaved changes when closing tileset editor window 2018-10-02 19:01:31 -05:00
Marcus Huderle
da13b8ea5e Enable multi-tile selections in tileset editor 2018-10-02 19:01:27 -05:00
Marcus Huderle
3ca284d5f3 Add ability to import new tiles 2018-10-02 19:01:24 -05:00
Marcus Huderle
0c7ecebe0b Keep tileset editor in sync with currently opened map 2018-10-02 19:01:18 -05:00
Marcus Huderle
8d38783833 Add ability to save tileset changes 2018-10-02 19:01:15 -05:00
Marcus Huderle
428548b7e1 Add metatile attribute editing, and add tileset saving 2018-10-02 19:01:09 -05:00
Marcus Huderle
322238c7b8 Add metatile layer item 2018-09-30 16:15:04 -05:00
Marcus Huderle
ffd769f7ed Add palette and flip selectors to tileset editor 2018-09-30 14:54:38 -05:00
Marcus Huderle
0bc3513b15 Add tile selector to Tileset Editor window 2018-09-30 12:33:58 -05:00
Marcus Huderle
990a4aafb7 Add metatile selector in tileset editor window 2018-09-29 15:24:35 -05:00
Marcus Huderle
9abda07c48 Add Tileset Editor window 2018-09-29 14:13:07 -05:00
Marcus Huderle
fe12e0bde5 Scroll map list to current map 2018-09-29 09:22:50 -05:00
Marcus Huderle
497f069d20 Restructure source tree 2018-09-29 09:10:23 -05:00