Adding modding folder with a hacked build.

This commit is contained in:
ml
2026-09-26 08:53:08 +02:00
parent cdb960dc71
commit c91080aba7
755 changed files with 50424 additions and 0 deletions
@@ -0,0 +1,39 @@
package level
import (
"math"
)
var tileHeights = []float64{32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25}
// HeightShift indicates the vertical scale of a level.
type HeightShift int32
// ValueFromTileHeight returns a floating point value in tiles based on a tile height.
func (shift HeightShift) ValueFromTileHeight(raw TileHeightUnit) (float32, error) {
return shift.valueFromScale(float32(raw), float64(TileHeightUnitMax))
}
// ValueFromObjectHeight returns a floating point value in tiles based on an object height.
func (shift HeightShift) ValueFromObjectHeight(raw HeightUnit) (float32, error) {
return shift.valueFromScale(float32(raw), float64(0x100))
}
// ValueToObjectHeight returns an object height value based on given floating point value.
func (shift HeightShift) ValueToObjectHeight(value float32) HeightUnit {
return HeightUnit(math.Min(0xFF, math.Max(0, shift.valueToScale(value, float64(0x100)))))
}
func (shift HeightShift) valueFromScale(raw float32, scale float64) (float32, error) {
if (shift < 0) || (int(shift) >= len(tileHeights)) {
return 0.0, errInvalidHeightShift
}
return float32((float64(raw) * tileHeights[int(shift)]) / scale), nil
}
func (shift HeightShift) valueToScale(value float32, scale float64) float64 {
if (shift < 0) || (int(shift) >= len(tileHeights)) {
return 0.0
}
return (float64(value) * scale) / tileHeights[shift]
}