Adding modding folder with a hacked build.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package media
|
||||
|
||||
import (
|
||||
"github.com/inkyblackness/hacked/ss1/content/audio"
|
||||
"github.com/inkyblackness/hacked/ss1/content/movie"
|
||||
"github.com/inkyblackness/hacked/ss1/resource"
|
||||
)
|
||||
|
||||
// AudioBlockSetter modifies storage of raw resource data.
|
||||
type AudioBlockSetter interface {
|
||||
SetResourceBlocks(lang resource.Language, id resource.ID, data [][]byte)
|
||||
DelResource(lang resource.Language, id resource.ID)
|
||||
}
|
||||
|
||||
// AudioSetterService provides methods to change audio resources.
|
||||
type AudioSetterService struct{}
|
||||
|
||||
// NewAudioSetterService returns a new instance.
|
||||
func NewAudioSetterService() AudioSetterService {
|
||||
return AudioSetterService{}
|
||||
}
|
||||
|
||||
// Remove deletes any audio resource for given key.
|
||||
func (service AudioSetterService) Remove(setter AudioBlockSetter, key resource.Key) {
|
||||
setter.DelResource(key.Lang, key.ID)
|
||||
}
|
||||
|
||||
// Clear resets the identified audio resource to a silent one-sample audio.
|
||||
func (service AudioSetterService) Clear(setter AudioBlockSetter, key resource.Key) {
|
||||
silence := audio.L8{SampleRate: 22050, Samples: []byte{0x80}}
|
||||
service.Set(setter, key, silence)
|
||||
}
|
||||
|
||||
// Set stores the given sound as the identified resource.
|
||||
func (service AudioSetterService) Set(setter AudioBlockSetter, key resource.Key, sound audio.L8) {
|
||||
movieData := movie.ContainSoundData(sound)
|
||||
blockData := [][]byte{movieData}
|
||||
setter.SetResourceBlocks(key.Lang, key.ID, blockData)
|
||||
}
|
||||
Reference in New Issue
Block a user