diff options
Diffstat (limited to 'OpenSim.RegionServer/OpenSimMain.cs')
-rw-r--r-- | OpenSim.RegionServer/OpenSimMain.cs | 78 |
1 files changed, 75 insertions, 3 deletions
diff --git a/OpenSim.RegionServer/OpenSimMain.cs b/OpenSim.RegionServer/OpenSimMain.cs index 48eff1b..b2ee3b6 100644 --- a/OpenSim.RegionServer/OpenSimMain.cs +++ b/OpenSim.RegionServer/OpenSimMain.cs | |||
@@ -505,20 +505,92 @@ namespace OpenSim | |||
505 | case "help": | 505 | case "help": |
506 | m_console.WriteLine("show users - show info about connected users"); | 506 | m_console.WriteLine("show users - show info about connected users"); |
507 | m_console.WriteLine("shutdown - disconnect all clients and shutdown"); | 507 | m_console.WriteLine("shutdown - disconnect all clients and shutdown"); |
508 | m_console.WriteLine("regenerate - regenerate the sim's terrain"); | ||
509 | break; | 508 | break; |
510 | 509 | ||
511 | case "show": | 510 | case "show": |
512 | Show(cmdparams[0]); | 511 | Show(cmdparams[0]); |
513 | break; | 512 | break; |
514 | 513 | ||
515 | case "regenerate": | 514 | case "terrain": |
516 | LocalWorld.RegenerateTerrain(); | 515 | RunTerrainCmd(cmdparams); |
517 | break; | 516 | break; |
518 | 517 | ||
519 | case "shutdown": | 518 | case "shutdown": |
520 | Shutdown(); | 519 | Shutdown(); |
521 | break; | 520 | break; |
521 | |||
522 | default: | ||
523 | m_console.WriteLine("Unknown command"); | ||
524 | break; | ||
525 | } | ||
526 | } | ||
527 | |||
528 | /// <summary> | ||
529 | /// Processes a terrain-specific command | ||
530 | /// </summary> | ||
531 | /// <remarks>TODO: Move this into BasicTerrain directly (no need to hard limit what each terrain engine can support)</remarks> | ||
532 | /// <param name="args"></param> | ||
533 | public void RunTerrainCmd(string[] args) | ||
534 | { | ||
535 | string command = args[0]; | ||
536 | switch (command) | ||
537 | { | ||
538 | case "help": | ||
539 | m_console.WriteLine("terrain regenerate - rebuilds the sims terrain using a default algorithm"); | ||
540 | m_console.WriteLine("terrain seed <seed> - sets the random seed value to <seed>"); | ||
541 | m_console.WriteLine("terrain load <type> <filename> - loads a terrain from disk, type can be 'F32', 'F64' or 'IMG'"); | ||
542 | m_console.WriteLine("terrain save <type> <filename> - saves a terrain to disk, type can be 'F32' or 'F64'"); | ||
543 | break; | ||
544 | |||
545 | case "seed": | ||
546 | LocalWorld.Terrain.setSeed(Convert.ToInt32(args[1])); | ||
547 | break; | ||
548 | |||
549 | case "regenerate": | ||
550 | LocalWorld.Terrain.hills(); | ||
551 | break; | ||
552 | |||
553 | case "load": | ||
554 | switch (args[1].ToLower()) | ||
555 | { | ||
556 | case "f32": | ||
557 | LocalWorld.Terrain.loadFromFileF32(args[2]); | ||
558 | break; | ||
559 | |||
560 | case "f64": | ||
561 | LocalWorld.Terrain.loadFromFileF64(args[2]); | ||
562 | break; | ||
563 | |||
564 | case "img": | ||
565 | m_console.WriteLine("Error - IMG mode is presently unsupported."); | ||
566 | break; | ||
567 | |||
568 | default: | ||
569 | m_console.WriteLine("Unknown image or data format"); | ||
570 | break; | ||
571 | } | ||
572 | break; | ||
573 | |||
574 | case "save": | ||
575 | switch (args[1].ToLower()) | ||
576 | { | ||
577 | case "f32": | ||
578 | LocalWorld.Terrain.writeToFileF32(args[2]); | ||
579 | break; | ||
580 | |||
581 | case "f64": | ||
582 | LocalWorld.Terrain.writeToFileF64(args[2]); | ||
583 | break; | ||
584 | |||
585 | default: | ||
586 | m_console.WriteLine("Unknown image or data format"); | ||
587 | break; | ||
588 | } | ||
589 | break; | ||
590 | |||
591 | default: | ||
592 | m_console.WriteLine("Unknown terrain command"); | ||
593 | break; | ||
522 | } | 594 | } |
523 | } | 595 | } |
524 | 596 | ||