Help us shape the future of Go! Take the 2026 Go Developer Survey

panorama

package
v0.1.64 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package panorama compiles Panorama layouts, scripts and style sheets into the resources the game loads, without Valve's resource compiler, and decompiles layouts back to XML and style sheets back to CSS. The output follows what the resource compiler writes, so the game reads it the same way on every platform.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Compile

func Compile(addon, path string, source []byte) ([]byte, error)

Compile builds the source at path, such as panorama/layout/hud.xml, panorama/scripts/hud.js or panorama/styles/hud.css inside the addon named addon, into its compiled resource. A layout is parsed into the tree the game reads, a style sheet is minified with its paths rewritten, and a script is stored as it is.

func CompileTree

func CompileTree(addon string, tree fs.FS) (fstest.MapFS, error)

CompileTree compiles the addon content directory tree, such as content/citadel_addons/<addon>, into the addon's game files: each layout, script and style sheet under panorama/ becomes its compiled resource, and every other file is kept as it is, so already compiled resources, such as images, ship beside them. Each style sheet under panorama/styles/<dir>/ also gets its sheet layout (see SheetLayout).

func Compiled

func Compiled(source string) (string, bool)

Compiled returns the path of the resource the game loads for a source path, such as panorama/layout/hud.vxml_c for panorama/layout/hud.xml, and whether Compile builds that kind of source.

func Decompile

func Decompile(compiled []byte) (string, error)

Decompile prints a compiled .vxml_c layout as XML that Compile builds back to the same tree, apart from source positions. A layout is the only Panorama resource that needs it; a compiled script's DATA block is its source.

func DecompileStyle added in v0.1.59

func DecompileStyle(compiled []byte) (string, error)

DecompileStyle prints a compiled .vcss_c style sheet with one declaration per line, which Compile builds back to the same text.

func SheetLayout added in v0.1.63

func SheetLayout(name string) (string, []byte, bool)

SheetLayout returns the layout the build writes beside the style sheet at name, such as panorama/layout/<dir>/hud.css.xml for panorama/styles/<dir>/hud.css, with its source, and whether name is such a sheet. The layout includes the sheet and draws nothing, so loading it into a panel styles the panels a script adds beneath it; Modlock's interface renderer loads a mod's sheets this way.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL