added mixed building generation

This commit is contained in:
Grimsace
2026-02-06 09:01:09 -06:00
parent 1641360da9
commit 6eb4dad5c8
3 changed files with 188 additions and 4 deletions
+19 -2
View File
@@ -45,6 +45,9 @@ type Settings struct {
BuildingDistribution float64 `json:"building_distribution"`
BuildingShape string `json:"building_shape"`
// Ratios for mixed building shapes
BuildingShapeRatios map[string]float64 `json:"building_shape_ratios"`
// General settings
Seed int64 `json:"seed"`
LastExportPath string `json:"last_export_path"`
@@ -123,8 +126,13 @@ func LoadSettings() (*Settings, error) {
MinBuildingSize: 10,
MaxBuildingSize: 30,
BuildingDistribution: 20,
BuildingShape: "squares",
LastExportPath: homeDir,
BuildingShape: "mixed",
BuildingShapeRatios: map[string]float64{
"squares": 40,
"circles": 30,
"rectangles": 30,
},
LastExportPath: homeDir,
}, nil
}
return nil, err
@@ -138,6 +146,15 @@ func LoadSettings() (*Settings, error) {
return nil, err
}
// Ensure BuildingShapeRatios is initialized
if settings.BuildingShapeRatios == nil {
settings.BuildingShapeRatios = map[string]float64{
"squares": 40,
"circles": 30,
"rectangles": 30,
}
}
// Ensure LastExportPath is set to a default value if it's empty
if settings.LastExportPath == "" {
homeDir, err := os.UserHomeDir()