diff --git a/d2common/d2fileformats/d2ds1/ds1_test.go b/d2common/d2fileformats/d2ds1/ds1_test.go index 23035a50..d17527f0 100644 --- a/d2common/d2fileformats/d2ds1/ds1_test.go +++ b/d2common/d2fileformats/d2ds1/ds1_test.go @@ -575,6 +575,24 @@ func TestDS1_SetNumberOfFloors(t *testing.T) { if err := testIfRestorable(ds1, test); err != nil { t.Errorf("unable to restore: %v", err) } + + newNumber = 10 + + ds1.SetNumberOfFloorLayers(newNumber) + + test = func(ds1 *DS1) { + if len(ds1.tiles[0][0].Floors) != int(newNumber) { + t.Fatal("unexpected floors length set") + } + + if ds1.numberOfFloorLayers != newNumber { + t.Fatal("unexpected floors length set") + } + } + + if err := testIfRestorable(ds1, test); err != nil { + t.Errorf("unable to restore: %v", err) + } }  func TestDS1_NumberOfShadowLayers(t *testing.T) { diff --git a/d2common/d2fileformats/d2ds1/layers.go b/d2common/d2fileformats/d2ds1/layers.go index f69ef7f1..b0488a34 100644 --- a/d2common/d2fileformats/d2ds1/layers.go +++ b/d2common/d2fileformats/d2ds1/layers.go @@ -1 +1,39 @@ package d2ds1 + +const ( + maxWalls = 4 +) + +type WallLayer [][]*Wall +type FloorLayer [][]*Floor +type ShadowLayer [][]*Shadow + +type layers struct { + Walls []WallLayer + Floors []FloorLayer + Shadows []ShadowLayer +} + +func (l *layers) PushWallLayer() { + +} + +func (l *layers) PopWallLayer() WallLayer { + +} + +func (l *layers) PushFloorLayer() { + +} + +func (l *layers) PopFloorLayer() FloorLayer { + +} + +func (l *layers) PushShadowLayer() { + +} + +func (l *layers) PopShadowLayer() ShadowLayer { + +}