filesystem

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2019 License: Unlicense Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExtensionVmt Material file extension
	ExtensionVmt = ".vmt"
	// ExtensionVtf Texture file extension
	ExtensionVtf = ".vtf"
)

File Extensions

View Source
const (
	// BasePathMaterial is path prefix for all materials/textures
	BasePathMaterial = "materials/"
	// BasePathModels is path prefix for all models/props
	BasePathModels = "models/"
)

FilePath prefixes

Variables

This section is empty.

Functions

func NormalisePath

func NormalisePath(filePath string) string

NormalisePath ensures that the same filepath format is used for paths, regardless of platform.

Types

type FileNotFoundError added in v0.4.0

type FileNotFoundError struct {
	// contains filtered or unexported fields
}

func NewFileNotFoundError added in v0.4.0

func NewFileNotFoundError(filename string) *FileNotFoundError

func (FileNotFoundError) Error added in v0.4.0

func (err FileNotFoundError) Error() string

type FileSystem added in v0.2.0

type FileSystem struct {
	// contains filtered or unexported fields
}

FileSystem

func NewFileSystem added in v0.2.0

func NewFileSystem() *FileSystem

NewFileSystem returns a new filesystem

func (*FileSystem) EnumerateResourcePaths added in v0.2.1

func (fs *FileSystem) EnumerateResourcePaths() []string

EnumerateResourcePaths returns all registered resource paths. PakFile is excluded.

func (*FileSystem) GetFile added in v0.2.0

func (fs *FileSystem) GetFile(filename string) (io.Reader, error)

GetFile attempts to get stream for filename. Search order is Pak->FileSystem->VPK

func (*FileSystem) PakFile added in v0.2.1

func (fs *FileSystem) PakFile() *lumps.Pakfile

PakFile returns loaded pakfile There can only be 1 registered pakfile at once.

func (*FileSystem) RegisterLocalDirectory added in v0.2.0

func (fs *FileSystem) RegisterLocalDirectory(directory string)

RegisterLocalDirectory register a filesystem path as a valid asset directory

func (*FileSystem) RegisterPakFile added in v0.2.0

func (fs *FileSystem) RegisterPakFile(pakFile *lumps.Pakfile)

RegisterPakFile Set a pakfile to be used as an asset directory. This would normally be called during each map load

func (*FileSystem) RegisterVpk added in v0.2.0

func (fs *FileSystem) RegisterVpk(path string, vpkFile *vpk.VPK)

RegisterVpk registers a vpk package as a valid asset directory

func (*FileSystem) UnregisterLocalDirectory added in v0.2.0

func (fs *FileSystem) UnregisterLocalDirectory(directory string)

func (*FileSystem) UnregisterPakFile added in v0.2.0

func (fs *FileSystem) UnregisterPakFile()

UnregisterPakFile removes the current pakfile from available search locations

func (*FileSystem) UnregisterVpk added in v0.2.0

func (fs *FileSystem) UnregisterVpk(path string)

type IFileSystem added in v0.4.0

type IFileSystem interface {
	// PakFile returns a loaded map pakfile
	PakFile() *lumps.Pakfile
	// RegisterPakFile adds a maps pakfile.
	RegisterPakFile(pakfile *lumps.Pakfile)
	// RegisterVpk adds a VPK to this filesystem
	RegisterVpk(path string, vpkFile *vpk.VPK)
	// RegisterLocalDirectory adds a local directory
	RegisterLocalDirectory(directory string)
	// UnregisterLocalDirectory removes a registered local directory
	UnregisterLocalDirectory(directory string)
	// UnregisterPakFile removed a loaded pakfile
	UnregisterPakFile()
	// EnumerateResourcePaths returns all loaded paths (local, vpk locations). Does not include pakfile.
	EnumerateResourcePaths() []string
	// GetFile returns a file, or error if not found
	GetFile(filename string) (io.Reader, error)
}

IFileSystem represents a Source Engine filesystem

func CreateFilesystemFromGameInfoDefinitions added in v0.2.0

func CreateFilesystemFromGameInfoDefinitions(basePath string, gameInfo *keyvalues.KeyValue) IFileSystem

CreateFilesystemFromGameInfoDefinitions Reads game resource data paths from gameinfo.txt All games should ship with a gameinfo.txt, but it isn't actually mandatory.

type Path added in v0.2.1

type Path string

Path

Jump to

Keyboard shortcuts

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