swf

package module
v0.0.0-...-0793f5b Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2023 License: MIT Imports: 8 Imported by: 1

README

swf-go

Modular Shockwave Flash reader, parser and decoder in Go.

Compared to kelvyne/swf, it also decodes types and Tag contents, including sprites.

Example
package example

import (
    "errors"
    "git.gammaspectra.live/WeebDataHoarder/swf-go"
    "git.gammaspectra.live/WeebDataHoarder/swf-go/tag"
    "io"
    "os"
)

func main() {
    f, err := os.Open("flash.swf")
    if err != nil {
        panic(err)
    }
    defer f.Close()

    reader, err := swf.NewReader(f)
    if err != nil {
        panic(err)
    }
    defer reader.Close()

    for {
        t, err := reader.Tag()
        if err != nil {
            if errors.Is(err, tag.ErrUnknownTag) {
                //unknown tag, cannot decode
                continue
            }
            if errors.Is(err, io.EOF) {
                //file is completely read
                panic("EOF reached without End tag")
            }
            panic(err)
        }

        //Handle tags
        switch t.(type) {
            case *tag.End:
            //end of file
            break
        }
    }
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Reader

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

func NewReader

func NewReader(reader io.Reader) (*Reader, error)

func (*Reader) Close

func (r *Reader) Close() error

func (*Reader) Header

func (r *Reader) Header() types.Header

func (*Reader) Record

func (r *Reader) Record() (record *tag.Record, err error)

Record Reads a tag.Record, which must be handled and/or parsed

func (*Reader) Tag

func (r *Reader) Tag() (readTag tag.Tag, err error)

Tag Reads a tag.Tag, which has been pre-parsed

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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