Documentation
¶
Index ¶
- Variables
- type AboutXML
- type AboutXMLModDependency
- type ConstraintCatalog
- func (c *ConstraintCatalog) Add() *ConstraintRule
- func (c *ConstraintCatalog) Compare(a, b string) int
- func (c *ConstraintCatalog) Del(idx int)
- func (c *ConstraintCatalog) Get(packageID string) *ConstraintRule
- func (c *ConstraintCatalog) Load() error
- func (c *ConstraintCatalog) LoadFrom(f string) error
- func (c *ConstraintCatalog) Save() error
- type ConstraintRule
- type Mod
- type ModsConfig
- type ModsConfigData
- type RimWorldVersion
- type SavedModList
- type SortFlag
- type URL
Constants ¶
This section is empty.
Variables ¶
View Source
var DEFAULT_CONSTRAINTS = [...]*ConstraintRule{ {PackageID: "brrainz.harmony", Name: "Harmony", LoadFirst: true}, {PackageID: "ludeon.rimworld", Name: "RimWorld", LoadFirst: true, LoadAfter: []string{"brrainz.harmony"}}, {PackageID: "ludeon.rimworld.royalty", Name: "Royalty", LoadFirst: true, LoadAfter: []string{"ludeon.rimworld"}}, {PackageID: "ludeon.rimworld.ideology", Name: "Ideology", LoadFirst: true, LoadAfter: []string{"ludeon.rimworld.royalty"}}, {PackageID: "ludeon.rimworld.biotech", Name: "Biotech", LoadFirst: true, LoadAfter: []string{"ludeon.rimworld.ideology"}}, {PackageID: "ludeon.rimworld.anomaly", Name: "Anomaly", LoadFirst: true, LoadAfter: []string{"ludeon.rimworld.biotech"}}, {PackageID: "ludeon.rimworld.odissey", Name: "Odissey", LoadFirst: true, LoadAfter: []string{"ludeon.rimworld.anomaly"}}, }
View Source
var (
XML_PREAMBLE []byte = []byte(`<?xml version="1.0" encoding="utf-8"?>`)
)
Functions ¶
This section is empty.
Types ¶
type AboutXML ¶
type AboutXML struct {
XMLName xml.Name `xml:"ModMetaData"`
Name string `xml:"name"`
Author string `xml:"author"`
PackageID string `xml:"packageId"`
SupportedVersions []string `xml:"supportedVersions>li"`
ModDependencies []AboutXMLModDependency `xml:"modDependencies>li"`
ForceLoadBefore []string `xml:"forceLoadBefore>li"`
ForceLoadAfter []string `xml:"forceLoadAfter>li"`
LoadAfter []string `xml:"loadAfter>li"`
LoadBefore []string `xml:"loadBefore>li"`
Description string `xml:"description"`
}
AboutXML file structure
func NewAboutXMLFromFilename ¶
type AboutXMLModDependency ¶
type AboutXMLModDependency struct {
PackageID string `xml:"packageId"`
DisplayName string `xml:"displayName"`
SteamWorkshopURL URL `xml:"steamWorkshopUrl"`
DownloadURL URL `xml:"downloadUrl"`
}
AboutXMLModDependency about.xml' hard dependency block
func (*AboutXMLModDependency) String ¶
func (dep *AboutXMLModDependency) String() string
type ConstraintCatalog ¶
type ConstraintCatalog struct {
Rules []*ConstraintRule `toml:"rule"`
// contains filtered or unexported fields
}
func NewConstraintCatalog ¶
func NewConstraintCatalog(filename string) *ConstraintCatalog
func NewConstraintCatalogFromDefaults ¶
func NewConstraintCatalogFromDefaults() *ConstraintCatalog
func NewConstraintCatalogFromFile ¶
func NewConstraintCatalogFromFile(filename string) (*ConstraintCatalog, error)
func (*ConstraintCatalog) Add ¶
func (c *ConstraintCatalog) Add() *ConstraintRule
func (*ConstraintCatalog) Compare ¶
func (c *ConstraintCatalog) Compare(a, b string) int
func (*ConstraintCatalog) Del ¶
func (c *ConstraintCatalog) Del(idx int)
func (*ConstraintCatalog) Get ¶
func (c *ConstraintCatalog) Get(packageID string) *ConstraintRule
func (*ConstraintCatalog) Load ¶
func (c *ConstraintCatalog) Load() error
func (*ConstraintCatalog) LoadFrom ¶
func (c *ConstraintCatalog) LoadFrom(f string) error
func (*ConstraintCatalog) Save ¶
func (c *ConstraintCatalog) Save() error
type ConstraintRule ¶
type ConstraintRule struct {
PackageID string `toml:"package_id"`
Name string `toml:"name"`
LoadAfter []string `toml:"load_after"`
LoadBefore []string `toml:"load_before"`
LoadLast bool `toml:"load_last"`
LoadFirst bool `toml:"load_first"`
LoadWeight int32 `toml:"load_weight"`
}
ModMetaDataConstraints
func NewConstraintRule ¶
func NewConstraintRule(packageID string) *ConstraintRule
func (*ConstraintRule) AddDependency ¶
func (m *ConstraintRule) AddDependency(dep string) *ConstraintRule
func (*ConstraintRule) DependsOn ¶
func (m *ConstraintRule) DependsOn(pid string) bool
type Mod ¶
type Mod struct {
AboutXML *AboutXML
ID string
Name string
Dependencies []string
LoadBefore []string
LoadAfter []string
SupportedVersions []string
// metadata
ModPath string
AboutPath string
ImagePath string
SteamID string
IsSteam bool
}
func DiscoverMods ¶
Walk the workshop folder and parse mods' About.xml
func LoadModFile ¶
type ModsConfig ¶
type ModsConfig struct {
ModsConfigData ModsConfigData
Filename string
}
func NewModsConfig ¶
func NewModsConfig(filename string) (*ModsConfig, error)
func (*ModsConfig) Load ¶
func (m *ModsConfig) Load() error
func (*ModsConfig) Save ¶
func (m *ModsConfig) Save() error
func (*ModsConfig) String ¶
func (m *ModsConfig) String() string
type ModsConfigData ¶
type RimWorldVersion ¶
type RimWorldVersion string
const ( RIMWORLD_VERSION_1_5 RimWorldVersion = `1.5.4409 rev1120` RIMWORLD_VERSION_1_6 = `1.6.4490 rev871` )
type SavedModList ¶
type SavedModList struct {
XMLName xml.Name `xml:"savedModList"`
Meta struct {
GameVersion RimWorldVersion `xml:"gameVersion"`
ModIds []string `xml:"modIds>li"`
ModSteamIds []string `xml:"modSteamIds>li"`
ModNames []string `xml:"modNames>li"`
} `xml:"meta"`
ModList struct {
IDs []string `xml:"ids>li"`
Names []string `xml:"names>li"`
} `xml:"modList"`
}
func LoadModList ¶
func LoadModList(filename string) (*SavedModList, error)
func NewSavedModList ¶
func NewSavedModList(version RimWorldVersion, orderedModList []*Mod) *SavedModList
func (*SavedModList) SaveToFile ¶
func (s *SavedModList) SaveToFile(filename string) error
Click to show internal directories.
Click to hide internal directories.