Adding modding folder with a hacked build.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package object
|
||||
|
||||
// DestroyEffect is a packed type describing effects during object destruction.
|
||||
type DestroyEffect byte
|
||||
|
||||
const (
|
||||
destroyEffectValueMask byte = 0x1F
|
||||
destroyEffectSoundMask byte = 0x60
|
||||
destroyEffectExplosionMask byte = 0x80
|
||||
|
||||
// DestroyEffectValueLimit is the maximum the value can take.
|
||||
DestroyEffectValueLimit = destroyEffectValueMask
|
||||
)
|
||||
|
||||
// WithValue returns a new destroy effect with given value.
|
||||
func (effect DestroyEffect) WithValue(value byte) DestroyEffect {
|
||||
return DestroyEffect((byte(effect) & ^destroyEffectValueMask) | value)
|
||||
}
|
||||
|
||||
// Value returns the effect value.
|
||||
func (effect DestroyEffect) Value() byte {
|
||||
return byte(effect) & destroyEffectValueMask
|
||||
}
|
||||
|
||||
// WithSound returns a new destroy effect that has sound playback marked.
|
||||
func (effect DestroyEffect) WithSound(value bool) DestroyEffect {
|
||||
soundValue := byte(0)
|
||||
if value {
|
||||
soundValue = 0x20
|
||||
}
|
||||
return DestroyEffect((byte(effect) & ^destroyEffectSoundMask) | soundValue)
|
||||
}
|
||||
|
||||
// PlaySound returns true if a sound shall be played.
|
||||
func (effect DestroyEffect) PlaySound() bool {
|
||||
return (byte(effect) & destroyEffectSoundMask) != 0
|
||||
}
|
||||
|
||||
// WithExplosion returns a new destroy effect that has explosion display marked.
|
||||
func (effect DestroyEffect) WithExplosion(value bool) DestroyEffect {
|
||||
explosionValue := byte(0)
|
||||
if value {
|
||||
explosionValue = 0x80
|
||||
}
|
||||
return DestroyEffect((byte(effect) & ^destroyEffectExplosionMask) | explosionValue)
|
||||
}
|
||||
|
||||
// ShowExplosion returns true if an explosion shall be shown.
|
||||
func (effect DestroyEffect) ShowExplosion() bool {
|
||||
return (byte(effect) & destroyEffectExplosionMask) != 0
|
||||
}
|
||||
Reference in New Issue
Block a user