Commit graph

345 commits

Author SHA1 Message Date
garak
6b47d350a0 read multiple incbins and C arrays at once for situations where the same file could be opened many times 2023-01-17 13:15:07 -05:00
garak
9cc55ef2f7 add option to copy mon info from another tab [closes #469] 2023-01-17 13:15:07 -05:00
garak
06948a97b0 fix issue with fileCache invalidating certain changes in files 2023-01-17 13:15:07 -05:00
garak
4df4e6ddd7 fix metatile label reading 2023-01-17 13:15:07 -05:00
garak
f9bb6196e2 do less work reading C defines while loading tileset labels 2023-01-17 13:15:07 -05:00
garak
37fcfba829 use static (And const where applicable) regular expression objects
the speed increase here is noticable since the work of creating a regex object is only done once per session
2023-01-17 13:15:07 -05:00
t
d29506d755
Merge pull request #495 from GriffinRichards/keep-import-path
Preserve import/export path in file dialogs
2023-01-16 14:19:31 -05:00
Marcus Huderle
dcbf62e72f Remove inadvertent save to layouts.json 2023-01-16 11:59:21 -06:00
GriffinR
f507b3e8a3 Preserve import/export path in file dialogs 2022-11-27 21:24:55 -05:00
GriffinR
d475286249
Merge branch 'master' into metatile-attr 2022-11-18 18:13:21 -05:00
GriffinR
97b8bb96cb Remove unused function 2022-11-07 01:02:33 -05:00
GriffinR
567a6d92e5 Enforce indexed tile images 2022-11-04 13:06:50 -04:00
GriffinR
eb80ee86f6
Merge branch 'master' into metatile-attr 2022-10-29 11:43:00 -04:00
GriffinR
c16a6d5d23 Better support for parsing hex values 2022-10-28 13:29:33 -04:00
GriffinR
9cd8777246 Remove last base game version difference 2022-10-26 04:01:01 -04:00
GriffinR
fa2b4d3edb Allow custom metatile attribute layouts 2022-10-25 22:35:26 -04:00
GriffinR
ce6abb0a81 Default to No for file watcher prompt 2022-10-25 17:53:12 -04:00
GriffinR
ea19b3a08c Sort asm tileset lists 2022-10-24 19:55:06 -04:00
GriffinR
8fbcee7f21 Insert new tilesets in sorted order 2022-10-24 09:33:51 -04:00
GriffinR
09ce5b5913 Drop path_ from path config options 2022-10-24 08:03:51 -04:00
GriffinR
5ba3720405 is_secondary to bool 2022-10-24 00:02:27 -04:00
GriffinR
f8a92c071c Add default tileset config options 2022-10-23 19:43:16 -04:00
GriffinR
35da77ca94 Treat tileset lists separately 2022-10-23 18:59:59 -04:00
Marcus Huderle
7b66537d01
Merge pull request #479 from GriffinRichards/fix-json
Better type conversion for JSON data
2022-10-22 12:57:17 -05:00
GriffinR
7bb5eea7fa Use new config filepaths 2022-10-18 17:14:46 -05:00
GriffinR
5f3efdc7a4 Rewrite heal location data writing 2022-10-18 17:14:46 -05:00
GriffinR
3e1d26f0ce Make heal location constants prefix-agnostic 2022-10-18 17:14:46 -05:00
GriffinR
43d0dc1e7b Rewrite heal location data reading 2022-10-18 17:14:46 -05:00
GriffinR
0e0da77c07 NONE_MAP -> DYNAMIC_MAP 2022-10-18 12:39:37 -04:00
GriffinR
75788ed3f9 Convert event JSON values by type 2022-10-18 01:20:53 -04:00
GriffinR
e2a31336c5 Merge branch 'master' of https://github.com/huderlem/porymap into fix-json 2022-10-17 22:20:06 -04:00
GriffinR
a0eff32f36 Remove more internal type conversions 2022-10-16 02:49:42 -04:00
GriffinR
67945cb297 Preserve custom header arrays and objects 2022-10-16 02:30:13 -04:00
GriffinR
463a7e01f6 Save custom header values by type 2022-10-15 18:29:55 -04:00
GriffinR
ec626a59a7 Display custom header values according to type 2022-10-15 11:40:04 -04:00
GriffinR
6ffcb58e5e Convert JSON values by type, except events 2022-10-15 03:22:13 -04:00
GriffinR
239f3935bf Stop treating map header bools as strings 2022-10-14 18:11:11 -04:00
garak
582405d68b change Event class design in favor of polymorphism 2022-10-13 22:30:07 -04:00
GriffinR
c953a15523 Move error logging out of gameStringToBool 2022-10-10 11:38:17 -05:00
GriffinR
c58162be96 Support C tileset data without initializers 2022-10-10 11:38:17 -05:00
GriffinR
374da65b7f Clean up tileset C parsing 2022-10-10 11:38:17 -05:00
GriffinR
9b4c55106b Read tileset graphics paths from C 2022-10-10 11:38:17 -05:00
GriffinR
efd49cd544 Read tileset headers from C data 2022-10-10 11:38:17 -05:00
GriffinR
ebdf22145d Generalize C struct parsing 2022-10-10 11:38:17 -05:00
GriffinR
3181523799 Add convenience functions for triple layer metatiles 2022-10-04 17:50:39 -05:00
GriffinR
d353164244 Suppress errors for unneeded defines 2022-09-27 18:22:41 -05:00
GriffinR
fa76e22508 Add missing project file path usage 2022-09-27 18:22:54 -04:00
Marcus Huderle
54be7a18a9 Merge remote-tracking branch 'tustin/path-in-config'
# Conflicts:
#	docsrc/manual/settings-and-options.rst
#	include/config.h
#	src/config.cpp
#	src/scriptapi/apimap.cpp
#	src/scriptapi/scripting.cpp
2022-09-25 10:02:24 -05:00
tustin2121
e241cdd104 Fixed path composing bug with goto script 2022-09-22 12:05:19 -04:00
GriffinR
7777eac9f4 Silence errors about SECRET_BASE_GROUP 2022-09-12 11:54:44 -04:00
GriffinR
089e214d2e Add new map config options 2022-09-12 11:31:35 -04:00
tustin2121
4c68c3cd77
Merge branch 'master' into path-in-config 2022-09-11 13:56:09 -04:00
Marcus Huderle
a5136849b8
Merge pull request #455 from GriffinRichards/api-border
Add map border to the scripting API
2022-09-03 12:48:35 -05:00
tustin2121
3d9cd2ad0d Moving paths to project config
- Replaced all instances of hardcoded paths with requesting a path from the new project config file properties for "path/".
- As a result, all default paths hardcoded into porymap are now in one place.
- When reading the config file, it now trims out white space around the key and value.
2022-09-01 12:14:47 -04:00
tustin2121
8e83daac84 Split project config
- Project config is now split into project and user config.
- Backwards compatibility with the old project config included, porting old project items over to the new user config.
2022-09-01 00:57:31 -04:00
GriffinR
3e7bfe126a Add edit history for border edits via script 2022-08-29 20:20:09 -04:00
GriffinR
b8636548dc Move function call outside loop 2022-08-20 16:08:53 -04:00
GriffinR
774c60cc88 Clean up loadTilesetMetatiles 2022-08-20 12:14:11 -04:00
Marcus Huderle
02b0bc94c5 Make obj event gfx parsing backwards compatible 2022-07-03 11:28:24 -05:00
Marcus Huderle
0b0c588c64 Read object event gfx info by parsing its C file, rather than relying on regex 2022-07-03 11:28:24 -05:00
GriffinR
096a66067d Automatically disable encounters if JSON is missing 2022-06-28 13:20:02 -04:00
GriffinR
b20df82358 Assume objects with no type field are not clones 2022-06-24 23:47:43 -04:00
GriffinR
b01581dc4d Add clone objects 2022-02-09 18:31:55 -06:00
GriffinR
31f400e2c9 Add event group constants 2022-02-09 18:31:55 -06:00
GriffinR
d531c9407c Separate byte reads for metatile tiles 2022-02-08 16:26:19 -06:00
GriffinR
f92950c46d Move tile value masks to tile.cpp 2022-02-08 16:26:19 -06:00
GriffinR
cf973710c8 Preserve unused metatile attributes 2022-02-08 16:26:19 -06:00
garak
cca762ba94 do nothing with extra encounter groups
(ie. remove unnecessary error checking code that broke sometimes for no apparent reason)
2022-02-08 16:43:10 -05:00
GriffinR
ddc0f01460 Stop repeated parsing of src/data/object_events 2022-01-29 12:26:39 -06:00
GriffinR
366fb5c8a8 Stop repeated parsing of event_objects.h and songs.h 2022-01-29 12:26:39 -06:00
GriffinR
de0a5b526b Don't change frame for inanimate objects 2021-12-27 16:56:31 -06:00
GriffinR
6613318900 Disambiguate tile field names to tileId or metatileId 2021-12-26 11:23:45 -06: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
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
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
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
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
Marcus Huderle
6f394ce39c Code fixes for Qt 6 2021-07-07 18:11:35 -05: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
hjk321
0cebe438b6 Poryscript now generates with newline 2021-03-07 10:16:54 -05: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
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
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
107ef528e2 Fix map resizing (broke from Blockdata refactoring) 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
8187b2d4bb Plug leaks in Metatile 2021-02-16 12:14:27 -05:00
BigBahss
3ccf433d1e Add completion suggestions for global event scripts 2021-01-29 22:05:40 -05:00
GriffinR
e3edb503ed Exclude non-item constants in items.h 2021-01-25 11:15:16 -05:00
GriffinR
b819f82943 Add auto-generated file warning to map_groups.h write 2020-12-30 18:12:51 -06:00
BigBahss
7a4de9f3d9 Add support for finding and opening any event script 2020-12-04 09:29:38 -05:00
BigBahss
3478846b60 Add Project::getMapScriptsFilePath() and rename text editor config members 2020-11-21 17:33:16 -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
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
garakmon
68098b8220 silence deprecation warnings 2020-08-26 20:42:42 -04:00
garakmon
9fb938939f allocate new map lastUpdatedBlockdata 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
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
GriffinR
00ad1ec22a Fix flags being listed out of order 2020-07-14 17:44:33 -05:00
GriffinR
1b832929b2 Enforce limit for object events 2020-07-13 19:08:46 -05:00
ultima-soul
debb1c66ac Implement proper triple metatile layer support. 2020-06-26 16:22:15 -05:00
GriffinR
afb157beb3 Assign editor->map to nullptr after clearing map cache 2020-06-06 11:35:44 -05:00
GriffinR
125a287b9c Add config options for some project-specific features 2020-05-27 18:58:43 -05: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
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
Marcus Huderle
e0afb24002 Merge remote-tracking branch 'origin/master' into scripting 2020-05-08 11:35:58 -05:00
GriffinR
399474c1f2 Fix heal loc duplicates, rename flyableMaps 2020-05-08 11:34:40 -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
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
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
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
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
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
GriffinR
d4cf3edfc7 Use default tileset for invalid tilesets, fix segfault caused by loadMapLayout 2020-04-04 14:14:16 -04:00
GriffinR
76a8c0dc44 Read trainer type constants 2020-03-27 10:51:57 -04:00
GriffinR
1a2e7623ef Prefer oamtable name for sprite dimensions 2020-03-27 09:23:25 -04:00
GriffinR
8e26f4c3f5 Enable readInitialFacingDirections for pokefirered 2020-03-26 14:59:33 -04:00
GriffinR
20b112de52 Support editing heal location respawns 2020-03-20 13:41:40 -04:00
GriffinR
d365ebb664 Support reading/saving pokefirered heal locations 2020-03-20 03:09:48 -04:00