promotional bannermobile promotional banner

Midnight Viewport

Midnight Viewport Addon

═══════════════════════════════════════════════════════════════════
                           MIDNIGHT VIEWPORT v1.4.2
                        Customizable Viewport Margins Addon
═══════════════════════════════════════════════════════════════════

OVERVIEW
────────────────────────────────────────────────────────────────────────────────
Midnight Viewport is a World of Warcraft addon that allows you to customize your 
viewport margins with colors, textures, and rotation options. Originally inspired 
by the SunnArt Viewport addon (which has not been updated for Midnight), 
Midnight Viewport provides a modern, lightweight solution for viewport 
customization with enhanced features and full localization support.

═══════════════════════════════════════════════════════════════════════════════

QUICK START
────────────────────────────────────────────────────────────────────────────────
1. Open the options panel:
   - Chat: /viewport or /vp
   - Addon Compartment: Midnight Viewport

2. Enable "Enable viewport sizing" checkbox

3. Set margins (in pixels) for:
   - Top margin
   - Bottom margin
   - Left margin
   - Right margin

4. Choose a color for each margin using the color buttons

5. Click "Okay" to apply changes

═══════════════════════════════════════════════════════════════════════════════

CORE FEATURES
────────────────────────────────────────────────────────────────────────────────

VIEWPORT SETTINGS
  • Enable/disable viewport sizing with one toggle
  • Independent margin control for all four sides
  • Per-margin color customization with full alpha support
  • Real-time viewport adjustment as you configure
  • Reset to defaults button

ARTWORK TEXTURES
  • Use textures instead of solid colors for viewport margins
  • Independent texture selection for each margin (top, bottom, left, right)
  • Advanced texture discovery with grouped variant display
  • Opacity slider (0.1 - 1.0) for all artwork layers
  • Support for texture packs and addon libraries

ROTATION SYSTEM
  • Individual rotation control for each viewport edge
  • Rotation options: 0°, 90°, 180°, 270°
  • Works with all display modes (stretch, tile, center)
  • Rotation settings saved per profile

COMPOSITE MODE
  • Merge three textures (Start, Middle, End) for seamless artwork
  • Fixed rotations per side for consistent appearance
  • Automatic scaling to fit viewport dimensions
  • Simplified control - rotation disabled in composite mode

DISPLAY MODES
  • Stretch: Scale texture to fill margin area
  • Tile: Repeat texture to fill margin area
  • Center: Display texture centered without scaling

PROFILE MANAGEMENT
  • Create and save multiple viewport configurations
  • Quick-switch between different setups
  • Rename profiles on the fly
  • Delete custom profiles (default profile is permanent)
  • Profile dropdown selector in options panel
  • All settings per-profile (margins, colors, textures, rotation, modes)

═══════════════════════════════════════════════════════════════════════════════

ADDON PACKS & TEXTURE REGISTRATION
────────────────────────────────────────────────────────────────────────────────

Midnight Viewport can load textures from addon packs. The addon includes an 
advanced pack discovery system that automatically detects and groups texture 
variants.

SUPPORTED TEXTURE PACKS
  • SunnArtPack5
  • SunnArtPackDarkWall
  • MidnightViewportExtra
  • Any custom addon pack following the registration format

REGISTERING A TEXTURE PACK
────────────────────────────────────────────────────────────────────────────────

To register your own texture pack or convert an existing SunnArt pack:

1. Create or update the pack's main Lua file with this template:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-- Example: YourPackName texture pack for MidnightViewport
-- Auto-registers textures when MidnightViewport is loaded

-- SunnArtPack8 Texture Manifest (compact format)
-- This file is automatically discovered and loaded by MidnightViewport
-- Only update counts or add entries below

-- SunnArtPack8 Texture Manifest (compact format)
-- This file is automatically discovered and loaded by MidnightViewport
-- Only update counts or add entries below

TextureManifest = {
    packName = "SunnArtPack8",
    folder = "SunnArtPack8",
    extension = ".tga",
    entries = {
        -- Display and file combo for each texture variant
        { display = "alterachorde", file = "alterachorde", count = 3 },
        { display = "bloodelffemale", file = "bloodelffemale", count = 3 },
        { display = "orcfemale", file = "orcfemale", count = 3 },
        { display = "orcmale", file = "orcmale", count = 3 },
        -- Add more entries as needed, using display/file combo
    }
}

-- Auto-register with MidnightViewport if available
if type(MidnightViewportRegisterPack) == "function" then
    MidnightViewportRegisterPack("SunnArtPack8", TextureManifest)
end

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2. Update your pack's .toc file:
   - Set the game version to: ## Interface: 120000
   - Remove any SunnArt dependencies
   - Add: ## Dependencies: MidnightViewport (optional, for auto-loading)

3. Ensure your texture files (.tga or .blp) match the paths in the registration

4. Install the addon and reload the game (/reload)

5. Open Midnight Viewport options and select your textures from the dropdowns

TEXTURE PACK STRUCTURE EXAMPLE
────────────────────────────────────────────────────────────────────────────────
YourPackName/
├── YourPackName.toc
├── YourPackName.lua          (registration file from template above)
├── texture1.tga
├── texture2.tga
└── texture3.tga

 

LOCALIZATION
────────────────────────────────────────────────────────────────────────────────

Midnight Viewport supports full localization:

  • English (enUS) - Full support
  • German (deDE) - Full support
  • French (frFR) - Full support
  • Spanish (esES/esMX) - Full support

The addon automatically detects your client language. Missing translations fall back to English.

═══════════════════════════════════════════════════════════════════════════════

SLASH COMMANDS
────────────────────────────────────────────────────────────────────────────────

/viewport              - Open the options panel
/viewport on           - Enable viewport sizing
/viewport off          - Disable viewport sizing
/viewport reset        - Reset all settings to defaults

VERSION HISTORY
────────────────────────────────────────────────────────────────────────────────

v1.4.0 (2026-01-29)
  • Texture rotation system with 0/90/180/270 degree options
  • Composite mode for merged textures
  • Enhanced UI with three-column layout
  • Advanced pack discovery system
  • Fixed panel size optimization to 650x680

v1.3.0 (2026-01-27)
  • Full profile management system
  • Create/load/delete/rename profiles
  • Profile dropdown in options panel

v1.2.0 (2026-01-26)
  • Full localization support (EN, DE, FR, ES)
  • Automatic language detection
  • All UI elements fully translated

v1.1.1
  • Removed chat spam during load
  • Added debug option for pack loading verification

v1.1.0 (2026-01-20)
  • Artwork/texture support
  • SunnArt pack compatibility
  • Opacity control for textures

v1.0.0
  • Initial release with basic viewport customization

═══════════════════════════════════════════════════════════════════════════════

SUPPORT & FEEDBACK
────────────────────────────────────────────────────────────────────────────────

Please report issues, suggest features, or provide feedback through:
  • Addon comments section
  • Bug reports with Debug Mode enabled
  • Feature requests

The Midnight Viewport Team

profile avatar
  • 1
    Followers
  • 4
    Projects
  • 5.7K
    Downloads
Donate

More from richbu99