You are viewing a potentially older version of this package. View all versions.
Ivvty-PortalPreview-1.0.0 icon

PortalPreview

See where a portal leads: a frozen 3D view of the destination inside the frame, with true parallax, a spiral reveal and smoke along the edge. Wooden and stone portals. Client-side.

By Ivvty
Date uploaded a week ago
Version 1.0.0
Download link Ivvty-PortalPreview-1.0.0.zip
Downloads 60
Dependency string Ivvty-PortalPreview-1.0.0

README

PortalPreview

Shows the place a wooden or stone portal leads to inside its frame. The destination is captured once as a frozen 3D scene with its lighting and kept on disk, and the frame becomes a window onto it: the view has true parallax as you move, opens in a spiral as you approach, blends into the frame with a rippling edge and has smoke drifting along the seam.

The scene is frozen by design: its lighting, time of day and particles are those of the moment it was captured. That keeps an open portal at about a millisecond per frame instead of rendering the destination live.

Requirements

  • Valheim with BepInEx 5 on Windows.

Recommended (optional)

  • FastLoading: faster portal travel and dungeon entrances, so stepping through a portal takes a moment rather than a loading screen.
  • ValheimVisuals: water, reflections, materials and ambient occlusion turned up within the game's own ranges, for a better picture everywhere.

Install

  1. Close Valheim.
  2. Put PortalPreview.dll into Valheim/BepInEx/plugins/.

How it captures

  • A portal's destination is captured when the portal is first linked, or with Capture mode DuringTeleport each time you leave through it, under the loading screen.
  • Only loaded places can be captured: walk through a new portal once and both ends get their view.
  • Wooden and stone portals work in any pairing; the game links them to each other by tag.
  • Saved scenes live in BepInEx/cache/PortalPreview/PortalSnapshots. Scenes and data nothing uses any more (a portal torn down, an older game version, what a recapture left behind) are removed automatically once per session.

Settings

BepInEx/config/ru.ivest.portalpreview.cfg, all live with Configuration Manager. The main ones:

Section Setting Default Meaning
General Enabled true Show portal views.
General Hardware profile Auto Resolution, number of views and snapshots kept, from your video memory, RAM and CPU (Auto/Low/Medium/High/Ultra), or the individual settings (Custom).
Portal preview Capture mode OnFirstLink When a destination is captured: when the portal is first linked, or on every teleport (DuringTeleport).
Portal preview Approach radius 15 How close to a portal its view opens, in metres.
Portal preview Always visible false Show views at any distance while in sight.
Portal preview Spiral duration 1.2 Seconds the spiral takes to open or close.
Portal preview Edge style Ripple How the picture meets the frame: Ripple, Vortex, Glow, Smoke or None.
Portal preview Edge smoke true Smoke puffs along the seam between the view and the frame.
Portal preview Hide game flames and fog false Hide the flames and dark swirling fog of the game's own connected-portal effect; its sparks, runes, light and sound stay. The picture then also sits at the front of the opening.

Console (F5): frozenportal status, on, off, refresh (recapture nearby portals), cleanup (remove stale saved scenes now).

Only errors reach the log. To see what the preview does (captures, loads, frame costs, why a view is not drawn), start the game with the launch option -portalpreview-log.

Limits

  • Wooden and stone portals of the base game. Portals added by other mods keep their normal look.
  • A destination nobody has visited in this installation has no view yet.
  • The scene is frozen: no moving creatures, time of day or weather inside the frame.

Multiplayer

Client-side. Each player captures the portals they use; nothing is sent over the network.

CHANGELOG

Changelog

1.3.6

  • Version bump only; mod behavior is unchanged from 1.3.5.

1.3.5

  • With shader reconstruction, portal opening and closing use a fixed mesh and animate the spiral in the shader, avoiding per-frame CPU clipping and mesh uploads. The camera-image fallback clips only the moving boundary and shares vertices in the revealed interior.

  • Deferred teleport captures no longer load their archives while running around a hub, avoiding eviction and repeated loading of scenes needed by visible portals.

  • Cache cleanup preserves all blobs in a revision when a referenced file is locked, missing, corrupt or truncated. A complete scan verifies every reachable blob before deleting unused files.

  • Water masked out by a hull no longer replaces the scene's reconstruction depth, in either central captures or views from the observer.

  • Deferred texture copies survive archive reloads and restarts. Snapshot updates set to Once still request recovery captures for incomplete archives.

  • Portal frames with opaque and transparent materials on the same renderer can be measured correctly; transparent opening effects and their bounds are excluded from the silhouette.

Scene image refreshes still add rendering cost, especially while moving around a portal hub. This release reduces overhead; it does not eliminate the FPS difference between enabled and disabled previews.

1.3.4

  • Fixed a dark cut at the distant panorama boundary with Shader reconstruction enabled: all captured views now apply the same panorama fog.
  • Portal views captured with a texture pack that was later removed (or added) load quickly and show grass properly.
  • Saving a portal scene no longer interrupts the cleanup of old ones, and the cleanup no longer blocks a save.
  • The distant landscape in portal views is hazed like the game's own instead of pale and blue; each portal's scene is captured again on your next visit there.
  • Water in portal views is the game's own water, with reflections of the scene around it.
  • Reflection updates are spread across frames to reduce frame-time spikes; the previous reflection stays visible until its replacement is complete.

1.3.3

  • Fixed about a minute of stutter two minutes after entering a world with many saved portal scenes.

1.3.2

  • HD texture packs: teleporting could freeze the game for minutes and get you disconnected from the server. Saved scenes are also several times smaller.

1.3.1

  • Download is about a megabyte smaller: unused shader variants removed. Nothing else changes.

1.3.0

New

  • Portals of other mods show their view too; the mod measures each one's opening from its frame.
  • Portal atmosphere: a little of the far side's mist, snow, embers or dust drifts out of an open portal.
  • Moving weather: rain and snow move inside outdoor views.
  • Dry under roofs: floors inside houses no longer look wet in rain.
  • Sharper at an angle: better texture detail in oblique views.

Smoother

  • Torch and fire shadows in a view are drawn once instead of on every update: up to 41% faster near bases.
  • Optionally, what the portal's opening cannot show is not captured (Hidden geometry; on for Low and Medium).
  • Cheaper reconstruction, better capture coverage and smarter refresh order at the same quality.

Settings

  • Sorted into sections: General, Portal views, Effects, Quality, Snapshots. Your values are moved automatically.
  • Portal atmosphere, Moving weather and Hide game flames and fog are on by default; the latter now also hides the sparks drawn into the opening.
  • New: Portal atmosphere density, Hidden geometry, Limit archive blob size.

Fixed

  • HD texture packs (8K textures): portals showing one got no view.
  • Some repeated objects gained shadows they should not have.

Updating

  • Replace the DLL with the game closed. Each view is captured once more on your next trip through its portal.

1.2.0

Views look more like the real place

  • Water now looks like the game's water: its own colours from the shore to deep sea, reflections of the trees, shore and sky around it, and lighting for the time of day. It used to be a pale grey sheet.
  • Ambient occlusion: views get the game's soft shading in corners and under foliage (with SSAO on), so they no longer look brighter and flatter than the place itself.
  • Mistlands: trees, Yggdrasil roots and logs, and anything built of Yggdrasil wood near a portal now appear in the view instead of as a flat picture far behind.
  • Stepping out of a portal: it already shows its view when the loading screen lifts, instead of opening a few seconds later.

Smoother

  • Much less stutter: views are captured under the teleport loading screen instead of while you walk around, and captures are about twice as fast. The first visit to a portal can keep the loading screen up a little longer.
  • Lighter on the GPU: less work and video memory while you move near portals, especially on the Low and Medium hardware profiles.

New settings

  • Snapshot updates (replaces Capture mode): WhenChanged (default) updates a view when you leave through the portal and something around it was built, removed, grown or dug; EveryTrip updates it on every trip; Once keeps it until frozenportal refresh. Your old choice is carried over.
  • Preview quality (High / Medium / Low / Auto): how often a view is redrawn as you move. Medium and Low cost less on weaker graphics cards; the picture stays sharp.
  • One-sided view: show the view only from the side travellers come out of.
  • Portal hubs: hardware profiles show more views at once (Low 2, Medium 4, High 6, Ultra 8).
  • Resolution, Max visible portals and Max resident snapshots can now be set one by one on top of any hardware profile (0 follows the profile). Custom is no longer needed; if you used it, your values are kept.

Fixed

  • The barrier of a shield generator at your base showed inside portal views.
  • A wooden portal seen from behind had a gap between the view and the frame.
  • The inside of ships in a view was filled with the colour of water, and the sea bottom looked dark.
  • Walking through a portal while its saved view was still loading could leave the old view in place.
  • Portals that lead to a portal with another name work with XPortal and XPortalNetworks.
  • Safer after game updates: a change in the game no longer stops every capture or leaves the mod half-working.

Updating

  • Replace the DLL while the game is closed. Settings and saved views carry over; each view is captured once more on your next trip through it (or right away with frozenportal refresh next to the portal).
  • A new pair of portals shows its views after your first trip through it; two linked portals standing next to each other show them right after linking.

1.1.4

  • Fixed: textures and surface lighting in portal views could look flat or wrong after restarting the game.
  • Fixed: portals near each other could flicker between which one shows its view.
  • Fixed: a closing portal view could disappear before its spiral finished.
  • Nearby water is now part of the portal view instead of being hidden behind the terrain.
  • Full-resolution textures are kept, including texture packs (these can use more disk space).
  • New console command frozenportal log on|off for detailed timings.
  • Saved scenes from this version cannot be read by older versions of the mod. No cache reset is needed.

1.1.3

  • Fixed: building ghosts and your own lights no longer appear in portal views.
  • Fixed: texture-pack changes are picked up correctly by new captures.
  • Fixed: some flickering and mismatched lighting while a portal view was being rebuilt.
  • Lower memory use while saving a capture.
  • Capturing during teleport waits for a fully black screen and gives up after three seconds, keeping the old view.
  • Use frozenportal refresh next to a portal to remove ghosts or lights already baked into an older view.

1.1.2

  • The distant landscape and clouds behind a portal view are twice as sharp on the High and Ultra hardware profiles and no longer shimmer from afar.
  • New setting Panorama resolution (0 = by hardware profile, 512, 1024 or 2048). Higher values are sharper but make each capture longer and use more video memory.
  • Existing views keep their panorama until the portal is captured again.