You are viewing a potentially older version of this package. View all versions.
NAinfini-ForgeVisual-0.1.0 icon

ForgeVisual

Public GTFO world-visuals library: effects by name, particle pools, ground markers, glow materials and model loading.

Date uploaded 2 days ago
Version 0.1.0
Download link NAinfini-ForgeVisual-0.1.0.zip
Downloads 47
Dependency string NAinfini-ForgeVisual-0.1.0

This mod requires the following mods to function

BepInEx-BepInExPack_GTFO-3.2.4 icon
BepInEx-BepInExPack_GTFO

BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.

Preferred version: 3.2.4
NAinfini-ForgeCore-0.1.0 icon
NAinfini-ForgeCore

Public GTFO mod foundation: asset bundles, logging, settings, pools, networking, input leases, local saves and calls into the game's own systems.

Preferred version: 0.1.0

README

ForgeVisual

A shared visuals library for GTFO mods: new models, glow, effects, particles, decals, camera shake, outlines round enemies and objects, ground markers, beams and trails.

ForgeVisual does nothing on its own. You normally install it because another mod needs it.

An enemy outlined, with arcs beside the crosshair

Report bugs on GitHub, or find me on the GTFO Modding Discord as nainfini.

Settings

After the first launch, BepInEx/config/NAinfini.ForgeVisual.cfg has:

  • Effects / FlashLights (default on). Turn it off to stop blasts, hits and muzzles from flashing light on the room around them.
  • Camera / ShakeStrength (default 1). How strongly blasts, landings and hits shake your view, from 0 (off) to 1, for every mod that uses ForgeVisual.
  • Outlines / Enabled (default on). Draws the outlines mods put round enemies and objects, including any a mod shows through walls. Off hides them in every mod.

Installation

Install with r2modman or the Thunderstore Mod Manager. It also installs BepInExPack_GTFO and ForgeCore.

For mod authors

The public types and an example are in the developer guide.

License

MIT.

CHANGELOG

Changelog

0.1.0

First release.

  • Model bundles registered by pack and loaded through ForgeCore; materials rebuilt with the game's gear shader from the bundle's profile.
  • Vanilla objects dressed in a model, fitted to their bounds, with the vanilla meshes hidden and an undo.
  • Rigged models on players: worn on the first-person body (skeletons matched through their bind poses, scaled by the shoulder span or a limb, cut to the worn bones), the third-person pose copied onto a skeleton of other proportions (chosen limbs bent so their ends land where the body's do, hands staying on grips), a copy of the held item in the model's hand, and clips played on the player's own body with its IK paused. The bone map, proportions, covered bones, hidden parts and IK handling come from the calling mod.
  • Glow materials with HDR colours, restorable; pulsing glow spots.
  • The game's own effects by name (Game:): impacts, blood, sparks, tripmine, tracers, flyer and bulb deaths, muzzle flashes. One-shot, held, line and attached playback.
  • Particle systems built in Unity, one shared instance per pack, with capacity and priority; code-configured sprite particles shared by every mod, with priority, pinned sprites and an overdraw budget.
  • Decals on any surface with a life and a fade-out, in sets that recycle their oldest mark; one shared set built ahead of use; Decals.Stick finds the surface a shot hits.
  • Impact presets: an effect by name, a pooled prefab, a light flash, a decal and a camera shake.
  • Camera shake and directional kicks through the game's own camera, falling off with distance, capped when several run together, scaled by the player's Camera / ShakeStrength.
  • One particle shader (alpha and additive), built-in soft dot and soft line textures.
  • Ground markers that follow floors, slopes and steps and stop at walls, in five base styles.
  • Beams and trails, with every colour and timing given by the mod that uses them.
  • FxInstancePool and FxInstance: pooled copies of a prefab effect that the caller places, holds, switches by layer or state child and releases itself.
  • PointLights: the one shared pool of effect lights (32, the game's own light objects, no shadows), flashed, held or blinking; flashes can be turned off (Effects / FlashLights).
  • A bundle built with addressable names registers its prefabs without a model profile.
  • Failures are explicit and logged once with the mod and the name; the log holds real failures only. Nothing allocates per frame. Updates run as ForgeCore frame callbacks.