Adding modding folder with a hacked build.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package media
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
|
||||
"github.com/inkyblackness/hacked/ss1/content/movie"
|
||||
"github.com/inkyblackness/hacked/ss1/content/text"
|
||||
"github.com/inkyblackness/hacked/ss1/resource"
|
||||
)
|
||||
|
||||
// MovieBlockSetter modifies storage of raw resource data.
|
||||
type MovieBlockSetter interface {
|
||||
SetResourceBlocks(lang resource.Language, id resource.ID, data [][]byte)
|
||||
DelResource(lang resource.Language, id resource.ID)
|
||||
}
|
||||
|
||||
// MovieSetterService can be used to set movie data.
|
||||
type MovieSetterService struct {
|
||||
cp text.Codepage
|
||||
}
|
||||
|
||||
// NewMovieSetterService returns a new instance.
|
||||
func NewMovieSetterService(cp text.Codepage) MovieSetterService {
|
||||
return MovieSetterService{cp: cp}
|
||||
}
|
||||
|
||||
// Remove deletes any movie resource for given key.
|
||||
func (service MovieSetterService) Remove(setter MovieBlockSetter, key resource.Key) {
|
||||
setter.DelResource(key.Lang, key.ID)
|
||||
}
|
||||
|
||||
// Set exports the given container.
|
||||
func (service MovieSetterService) Set(setter MovieBlockSetter, key resource.Key, container movie.Container) {
|
||||
buf := bytes.NewBuffer(nil)
|
||||
_ = movie.Write(buf, container, service.cp)
|
||||
setter.SetResourceBlocks(key.Lang, key.ID, [][]byte{buf.Bytes()})
|
||||
}
|
||||
Reference in New Issue
Block a user