Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate Layouts and Maps #515

Merged
merged 79 commits into from
Nov 11, 2024
Merged

Separate Layouts and Maps #515

merged 79 commits into from
Nov 11, 2024

Conversation

garakmon
Copy link
Collaborator

@garakmon garakmon commented Feb 2, 2023

Feature-complete. In need of cleanup and testing.

Internally removes Layout related code from the Map class.
Creates a new layout-only edit mode.
Adds ability to modify map groups.

closes #182
closes #477
closes #181
closes #334

TODO:

  • Edit history in timeplapse replays both layouts and events in order of edits made
  • Add new map group & map section & layout without map + delete all above + [Feature Request] Allow Porymap to create new gMapGroups if the one specified doesn't exist by default #550 +rename
  • ScriptUtility::setMainTab(int index) consider edit mode
  • reassigning layouts silences "Setting Map" message log
  • toggle view on empty folders in mapList (map sections, groups, layouts)
  • number map sections?
  • fix all scripting API functions
  • rearrange map groups?
  • drop gMapGroup_ prefix requirement for map groups
  • use NewMapPopup::initUi where needed
  • [BUG] switching to "Connections" tab disables map edits permanently
  • Fix loading recent map except it's a layout
  • Rearrange and rename map sections?

@garakmon garakmon changed the base branch from master to dev September 24, 2024 16:23
@garakmon garakmon changed the base branch from dev to master October 9, 2024 23:44
@GriffinRichards
Copy link
Collaborator

GriffinRichards commented Nov 6, 2024

Alright I'm nearly done adding to this. The main outstanding thing I'd like to fix is how we're reading/writing the constants_region_map_sections file. If I can update the project repos to generate that file using json_region_map_entries it should be a much simpler process. (EDIT: Finished. This now depends on the changes in pret/pokeemerald#2063)

There's a few bugs I'd like to address after that (mainly that resizing the map with the scripting API doesn't quite work right now), and then the rest of the TODO comments I added I'll leave to be addressed after this PR is merged:

  • I have some quibbles with the New Map/Layout dialogs, but I have a bunch of incoming changes for the New Map dialog so I'll address those then.
  • Changing Location on the Header tab doesn't update the map list. This'll also be easier to do after the incoming changes above, which includes changes to Map so that it will send signals when its header properties are changed.
  • Once the config updates are finished, the state of the new toggleable buttons in the map list tool bar should be saved in the config.
  • I left a bunch of comments related to the lack of support for deleting maps/layouts, that's obviously a bigger thing that can be addressed some other time.
  • Creating a new map automatically saves the project. It should allow users to close and discard the changes instead (this was true before the PR, though the behavior is changed slightly)
  • The API should be updated to have some functionality for the new layout features (e.g. a callback when a layout is opened or swapped)

@garakmon garakmon merged commit c969552 into huderlem:master Nov 11, 2024
3 checks passed
garakmon added a commit that referenced this pull request Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants