diff --git a/README.md b/README.md
index 7d20faa5d..343d0dfb6 100644
--- a/README.md
+++ b/README.md
@@ -26,16 +26,30 @@ Run `_winrelease.bat` for production environment.
#### Other Platforms
-Run `_makedebug` for development, attaching a debugger and/or extended output.
+Run `make debug` for development, attaching a debugger and/or extended output.
-Run `_makerelease` for production environment.
+Run `make' or 'make release` for production environment. Writing release is optinal by default
+### Linux Dependencies
+
+#### Ubuntu / Debian
+```
+sudo add-apt-repository ppa:dotnet/backports
+sudo apt-get update
+sudo apt-get -y install zlib1g mono-complete dotnet-sdk-10.0 dotnet-runtime-10.0
+```
+
+#### Arch-based
+```
+sudo pacman -S make mono dotnet-sdk dotnet-runtime
+```
+
### Summary
-1. Starting with the `/Config` directory, find and edit `Server.cfg` to set up the essentials.
+1. Starting with the `/Config` directory, make sure to read the readme first, then find and edit `Server.cfg` to set up the essentials.
2. Go through the remaining `*.cfg` files to ensure they suit your needs.
-3. For Windows, run `_winrelease.bat` to produce `ServUO.exe`, OSX/Linux users may run `_makerelease`.
+3. For Windows, run `_winrelease.bat` to produce `ServUO.exe`, OSX/Linux users may run `make`.
4. Run `ServUO`
5. ???
6. Profit!
diff --git a/Scripts/Scripts.csproj b/Scripts/Scripts.csproj
index e6f2d0906..23f0bee51 100644
--- a/Scripts/Scripts.csproj
+++ b/Scripts/Scripts.csproj
@@ -8,7 +8,7 @@
False
False
True
- True
+ false
x64
diff --git a/Scripts/Services/Reports/Rendering/BarGraphRenderer.cs b/Scripts/Services/Reports/Rendering/BarGraphRenderer.cs
index 2d206e6e2..4609a426e 100644
--- a/Scripts/Services/Reports/Rendering/BarGraphRenderer.cs
+++ b/Scripts/Services/Reports/Rendering/BarGraphRenderer.cs
@@ -396,10 +396,10 @@ namespace Server.Engines.Reports
graph.FillPolygon(barBrush, new PointF[] { pts[2], pts[3], pts[6], pts[5] });
- using (SolidBrush ltBrsh = new SolidBrush(System.Windows.Forms.ControlPaint.Light(item.ItemColor, 0.1f)))
+ using (SolidBrush ltBrsh = new SolidBrush(item.ItemColor.Lighten(0.1f)))
graph.FillPolygon(ltBrsh, new PointF[] { pts[0], pts[2], pts[5], pts[4] });
- using (SolidBrush drkBrush = new SolidBrush(System.Windows.Forms.ControlPaint.Dark(item.ItemColor, 0.05f)))
+ using (SolidBrush drkBrush = new SolidBrush(item.ItemColor.Darken(0.05f)))
graph.FillPolygon(drkBrush, new PointF[] { pts[0], pts[1], pts[3], pts[2] });
graph.DrawLine(pen, pts[0], pts[1]);
diff --git a/Server/Utility.cs b/Server/Utility.cs
index 48a777609..1f1efa41b 100644
--- a/Server/Utility.cs
+++ b/Server/Utility.cs
@@ -10,6 +10,7 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using System.Linq;
+using System.Drawing;
#endregion
namespace Server
@@ -1696,4 +1697,22 @@ namespace Server
}
}
}
+ public static class ColorExtensions
+ {
+ public static Color Darken(this Color c, float level)
+ {
+ if(level <= 0.0f) return c;
+ return Color.FromArgb(c.A,(int)(c.R/level),(int)(c.G/level),(int)(c.B/level));
+ }
+
+ public static Color Lighten(this Color c, float level)
+ {
+ level = Math.Max(0, Math.Min(1, level));
+
+ return Color.FromArgb(c.A,
+ (int)(c.R + (255 - c.R) * level),
+ (int)(c.G + (255 - c.G) * level),
+ (int)(c.B + (255 - c.B) * level));
+ }
+ }
}
diff --git a/_makedebug b/_makedebug
deleted file mode 100644
index efd9c4261..000000000
--- a/_makedebug
+++ /dev/null
@@ -1,27 +0,0 @@
-
-EXENAME=ServUO
-BUILD_DIR='pwd'
-EXE=$(BUILD_DIR)/$(EXENAME)
-
-.PHONY: all build run clean
-
-all: build run
-
-build:
- @echo "Compile $(EXENAME) for Linux"
- @dotnet build -c Debug
- @echo "Done!"
-
-run: build
- @if [ -f "$(EXE)" ]; then \
- clear; \
- echo "Running $(EXENAME)..."; \
- $(EXE) -debug; \
- else \
- echo "Executable not found. Did the build succeed?"; \
- exit 1; \
- fi
-
-clean:
- @dotnet clean
- @echo "Cleaned build files."
diff --git a/_makerelease b/_makerelease
deleted file mode 100644
index 4e7aaa39c..000000000
--- a/_makerelease
+++ /dev/null
@@ -1,27 +0,0 @@
-
-EXENAME=ServUO
-BUILD_DIR='pwd'
-EXE=$(BUILD_DIR)/$(EXENAME)
-
-.PHONY: all build run clean
-
-all: build run
-
-build:
- @echo "Compile $(EXENAME) for Linux"
- @dotnet build -c Release
- @echo "Done!"
-
-run: build
- @if [ -f "$(EXE)" ]; then \
- clear; \
- echo "Running $(EXENAME)..."; \
- $(EXE) -release; \
- else \
- echo "Executable not found. Did the build succeed?"; \
- exit 1; \
- fi
-
-clean:
- @dotnet clean
- @echo "Cleaned build files."
diff --git a/makefile b/makefile
new file mode 100644
index 000000000..d717c8a05
--- /dev/null
+++ b/makefile
@@ -0,0 +1,33 @@
+EXENAME=ServUO
+CONFIG=release
+BUILD_DIR=${CURDIR}
+EXE=$(BUILD_DIR)/$(EXENAME).exe
+
+.PHONY: all build run clean release debug
+
+all: build run
+
+release: CONFIG = release
+release: run
+
+debug: CONFIG = debug
+debug: run
+
+build:
+ @echo "Compile $(EXENAME) for Linux ($(CONFIG))"
+ @dotnet build -c $(CONFIG)
+ @echo "Done!"
+
+run: build
+ @if [ -f "$(EXE)" ]; then \
+ clear; \
+ echo "Running $(EXENAME) in $(CONFIG) mode..."; \
+ mono $(EXE) -$(CONFIG); \
+ else \
+ echo "Executable not found. Did the build succeed?"; \
+ exit 1; \
+ fi
+
+clean:
+ @dotnet clean
+ @echo "Cleaned build files."