modernuo/Projects/Server/TileMatrix/TileMatrixLoader.cs
kaczy93 dc118d836f
feat: Cleans up UOP file handling. Adds automatic bounds.bin generation (#1744)
### Summary
* Unifies reading UOP File indexes
* Adds ArtData file reader to get graphic bounds
* Automatically generates Bounds.bin from art file if missing
* Adds [GenBounds command to regenerate the bounds.bin file. Useful for when the art file changes.
2024-05-01 20:02:06 -07:00

59 lines
2.1 KiB
C#

/*************************************************************************
* ModernUO *
* Copyright 2019-2023 - ModernUO Development Team *
* Email: hi@modernuo.com *
* File: TileMatrixLoader.cs *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*************************************************************************/
using System;
using System.Diagnostics;
using Server.Logging;
namespace Server;
internal static class TileMatrixLoader
{
private static readonly ILogger logger = LogFactory.GetLogger(typeof(TileMatrixLoader));
internal static void LoadTileMatrix()
{
logger.Information("Loading maps");
var stopwatch = Stopwatch.StartNew();
Exception exception = null;
try
{
TileMatrix.Force(); // Forces the tile matrix file stream references to load
}
catch (Exception ex)
{
exception = ex;
}
stopwatch.Stop();
if (exception == null)
{
logger.Information("Loading maps {Status} ({Duration:F2} seconds)", "done", stopwatch.Elapsed.TotalSeconds);
}
else
{
logger.Error(
exception,
"Loading maps {Status} ({Duration:F2} seconds)",
"failed",
stopwatch.Elapsed.TotalSeconds
);
throw exception;
}
}
}