Skip to content

Move PupuID helpers to OpenVIII and disable viewports on non-MSVC#236

Open
Sebanisu wants to merge 7 commits into
mainfrom
newdevelop
Open

Move PupuID helpers to OpenVIII and disable viewports on non-MSVC#236
Sebanisu wants to merge 7 commits into
mainfrom
newdevelop

Conversation

@Sebanisu

@Sebanisu Sebanisu commented Jun 18, 2026

Copy link
Copy Markdown
Owner

This PR continues the effort to move duplicated Field Map Editor functionality into OpenVIII and reduce editor-specific maintenance.

PupuID and UniquifyPupu Migration

  • Replace editor-local PupuID and UniquifyPupu implementations with the shared versions from open_viii::graphics::background
  • Update all dependent code paths to use the OpenVIII APIs
  • Remove duplicate source files and CMake entries now that the functionality is provided by OpenVIII

TileOperations Migration

  • Remove duplicated tile_operations implementations from both experimental and main editor code paths
  • Migrate editor code to use open_viii::graphics::background::tile_operations
  • Replace local operation aliases with shared OpenVIII types
  • Update tile filters, predicates, sprite operations, and map operations to use shared implementations
  • Fix tile operation construction by providing explicit tile template parameters where deduction is not possible
  • Remove editor-specific TileOperations maintenance burden

Platform-Specific Viewport Handling

  • Disable ImGui multi-viewports by default on non-MSVC builds
  • Keep viewports enabled on MSVC where support is known to be stable
  • Avoid window management issues observed under Wayland tiling compositors
  • Leave room for a future user-configurable viewport option

Build System

  • Enable the MSVC preview toolset for Visual Studio builds
  • Work around a compiler regression affecting valid std::source_location::current() default-argument usage
  • Temporary measure until the fix is available in a stable MSVC release

Overall, this PR further consolidates shared functionality into OpenVIII, removes duplicated editor code, reduces long-term maintenance costs, and improves build stability across supported platforms.

Replace editor-local PupuID and UniquifyPupu implementations with
the shared versions from open_viii::graphics::background and update
all dependent code paths accordingly.

Remove duplicate source files and CMake entries now that the
functionality is provided by OpenVIII.

Also disable ImGui multi-viewports by default on non-MSVC builds.
Viewports remain enabled on MSVC where support is known to be stable,
avoiding window-management issues seen under Wayland tiling
compositors while leaving room for a future user-configurable option.
@Sebanisu Sebanisu self-assigned this Jun 18, 2026
@Sebanisu Sebanisu added the enhancement New feature or request label Jun 18, 2026
Sebanisu added 6 commits June 18, 2026 15:03
code to use OpenVIII's TileOperations API.

Changes:
- Delete duplicated tile_operations.hpp implementations from
  experimental and main code paths
- Replace local tile_operations references with
  open_viii::graphics::background::tile_operations
- Include TileOperations.hpp directly where needed
- Update tile filters and predicates to use shared OpenVIII types
- Fix MoveTiles operation construction by providing explicit TileT
  template arguments and value casts
- Update swizzle/deswizzle tile function definitions to use shared
  operation types
- Migrate filter, sprite, and map operation code to shared tile
  operation aliases

This consolidates tile operation logic into OpenVIII and removes
duplicate implementations from Field Map Editor.
Use the preview MSVC toolset when building with Visual Studio
to work around a compiler regression affecting
std::source_location::current() default arguments.

This is a temporary workaround until the fix is available in a
stable MSVC release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant