diff --git a/Projects/Server/Item.cs b/Projects/Server/Item.cs index d900bfd68..798d67ea3 100644 --- a/Projects/Server/Item.cs +++ b/Projects/Server/Item.cs @@ -2323,20 +2323,11 @@ namespace Server AcquireCompactInfo().m_Weight = weight; } - if (GetSaveFlag(flags, SaveFlag.Map)) - m_Map = reader.ReadMap(); - else - m_Map = Map.Internal; + m_Map = GetSaveFlag(flags, SaveFlag.Map) ? reader.ReadMap() : Map.Internal; - if (GetSaveFlag(flags, SaveFlag.Visible)) - SetFlag(ImplFlag.Visible, reader.ReadBool()); - else - SetFlag(ImplFlag.Visible, true); + SetFlag(ImplFlag.Visible, !GetSaveFlag(flags, SaveFlag.Visible) || reader.ReadBool()); - if (GetSaveFlag(flags, SaveFlag.Movable)) - SetFlag(ImplFlag.Movable, reader.ReadBool()); - else - SetFlag(ImplFlag.Movable, true); + SetFlag(ImplFlag.Movable, !GetSaveFlag(flags, SaveFlag.Movable) || reader.ReadBool()); if (GetSaveFlag(flags, SaveFlag.Stackable)) SetFlag(ImplFlag.Stackable, reader.ReadBool()); @@ -3614,7 +3605,7 @@ namespace Server } [Flags] - private enum SaveFlag + private enum SaveFlag : uint { None = 0x00000000, Direction = 0x00000001, diff --git a/README.md b/README.md index 4b213b8ae..f68aefbe8 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,8 @@ ModernUO [![Discord](https://img.shields.io/discord/458277173208547350?logo=disc #### Requirements - [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet-core/3.1) -#### Cleaning -- `dotnet clean` - #### Publishing -- Linux: `./Tools/publish-linux.sh` or `Tools/publish-linux.cmd` -- OSX: `./Tools/publish-osx.sh` or `Tools/publish-osx.cmd` -- Windows `./Tools/publish-windows.sh` or `Tools/publish-windows.cmd` +`Tools/publish.sh [Release|Debug]` ## Deploying / Running Server - Follow the [publish](https://github.com/modernuo/ModernUO#publishing-a-build) instructions @@ -35,10 +30,6 @@ ModernUO [![Discord](https://img.shields.io/discord/458277173208547350?logo=disc #### Requirements - [.NET Core 3.1 Runtime](https://dotnet.microsoft.com/download/dotnet-core/3.1) -- Zlib - - Linux: `apt get zlib` or equiv for that distribution - - OSX: `brew install zlib` - - Windows: Included during publishing - Optional: compile and install [Intel DRNG](https://github.com/modernuo/libdrng) #### Windows @@ -47,6 +38,9 @@ ModernUO [![Discord](https://img.shields.io/discord/458277173208547350?logo=disc #### OSX and Linux - Run `./ModernUO` or `dotnet ./ModernUO.dll` +#### Cleaning Distribution +- `dotnet clean` + ## Thanks - RunUO Team & Community - ServUO Team & Community diff --git a/Tools/build-native-libraries.cmd b/Tools/build-native-libraries.cmd index aa6b6a79a..3651d8aaf 100755 --- a/Tools/build-native-libraries.cmd +++ b/Tools/build-native-libraries.cmd @@ -1,4 +1,16 @@ -dotnet build -c Release Projects/Argon2/Argon2.csproj -dotnet pack -o ./packages Projects/Argon2/Argon2.csproj -dotnet build -c Release Projects/ZLib/ZLib.csproj -dotnet pack -o ./packages Projects/ZLib/ZLib.csproj +:<<"::SHELLSCRIPT" +@ECHO OFF +GOTO :CMDSCRIPT + +::SHELLSCRIPT +dotnet build -c Release Projects/Argon2/Argon2.csproj +dotnet pack -o packages Projects/Argon2/Argon2.csproj +dotnet build -c Release Projects/ZLib/ZLib.csproj +dotnet pack -o packages Projects/ZLib/ZLib.csproj +exit $? + +:CMDSCRIPT +ECHO dotnet build -c Release Projects\Argon2\Argon2.csproj +ECHO dotnet pack -o packages Projects\Argon2\Argon2.csproj +ECHO dotnet build -c Release Projects\ZLib\ZLib.csproj +ECHO dotnet pack -o packages Projects\ZLib\ZLib.csproj diff --git a/Tools/build-native-libraries.sh b/Tools/build-native-libraries.sh index e5e7c9be7..0eeff638d 100755 --- a/Tools/build-native-libraries.sh +++ b/Tools/build-native-libraries.sh @@ -1,4 +1 @@ -dotnet build -c Release Projects/Argon2/Argon2.csproj -dotnet pack -o ./packages Projects/Argon2/Argon2.csproj -dotnet build -c Release Projects/ZLib/ZLib.csproj -dotnet pack -o ./packages Projects/ZLib/ZLib.csproj +Tools/build-native-libraries.cmd "$@" diff --git a/Tools/clean.cmd b/Tools/clean.cmd deleted file mode 100755 index 6fe481dfa..000000000 --- a/Tools/clean.cmd +++ /dev/null @@ -1,38 +0,0 @@ -del /f .\Projects\*\obj - -del /f .\Distribution\Assemblies\BouncyCastle.Crypto.dll -del /f .\Distribution\Assemblies\MailKit.dll -del /f .\Distribution\Assemblies\Microsoft.AspNetCore.Connections.Abstractions.dll -del /f .\Distribution\Assemblies\Microsoft.AspNetCore.Http.Features.dll -del /f .\Distribution\Assemblies\Microsoft.Extensions.Configuration.Abstractions.dll -del /f .\Distribution\Assemblies\Microsoft.Extensions.DependencyInjection.Abstractions.dll -del /f .\Distribution\Assemblies\Microsoft.Extensions.FileProviders.Abstractions.dll -del /f .\Distribution\Assemblies\Microsoft.Extensions.Hosting.Abstractions.dll -del /f .\Distribution\Assemblies\Microsoft.Extensions.Logging.Abstractions.dll -del /f .\Distribution\Assemblies\Microsoft.Extensions.Primitives.dll -del /f .\Distribution\Assemblies\MimeKit.dll -del /f .\Distribution\Assemblies\System.IO.Pipelines.dll - -del /f .\Distribution\libdrng.dll -del /f .\Distribution\libuv.dll -del /f .\Distribution\libuv.so -del /f .\Distribution\Microsoft.AspNetCore.Connections.Abstractions.dll -del /f .\Distribution\Microsoft.AspNetCore.Http.Features.dll -del /f .\Distribution\Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.dll -del /f .\Distribution\Microsoft.Extensions.Configuration.Abstractions.dll -del /f .\Distribution\Microsoft.Extensions.DependencyInjection.Abstractions.dll -del /f .\Distribution\Microsoft.Extensions.FileProviders.Abstractions.dll -del /f .\Distribution\Microsoft.Extensions.Hosting.Abstractions.dll -del /f .\Distribution\Microsoft.Extensions.Logging.Abstractions.dll -del /f .\Distribution\Microsoft.Extensions.Options.dll -del /f .\Distribution\Microsoft.Extensions.Primitives.dll -del /f .\Distribution\ModernUO -del /f .\Distribution\ModernUO.deps.json -del /f .\Distribution\ModernUO.dll -del /f .\Distribution\ModernUO.dll.config -del /f .\Distribution\ModernUO.exe -del /f .\Distribution\ModernUO.pdb -del /f .\Distribution\ModernUO.runtimeconfig.dev.json -del /f .\Distribution\ModernUO.runtimeconfig.json -del /f .\Distribution\System.IO.Pipelines.dll -del /f .\Distribution\zlib.dll diff --git a/Tools/clean.sh b/Tools/clean.sh deleted file mode 100755 index f8054d000..000000000 --- a/Tools/clean.sh +++ /dev/null @@ -1,44 +0,0 @@ -rm -rf Projects/*/obj -rm -rf Projects/*/bin - -rm -f Distribution/Assemblies/BouncyCastle.Crypto.dll -rm -f Distribution/Assemblies/MailKit.dll -rm -f Distribution/Assemblies/Microsoft.AspNetCore.Connections.Abstractions.dll -rm -f Distribution/Assemblies/Microsoft.AspNetCore.Http.Features.dll -rm -f Distribution/Assemblies/Microsoft.Extensions.Configuration.Abstractions.dll -rm -f Distribution/Assemblies/Microsoft.Extensions.DependencyInjection.Abstractions.dll -rm -f Distribution/Assemblies/Microsoft.Extensions.FileProviders.Abstractions.dll -rm -f Distribution/Assemblies/Microsoft.Extensions.Hosting.Abstractions.dll -rm -f Distribution/Assemblies/Microsoft.Extensions.Logging.Abstractions.dll -rm -f Distribution/Assemblies/Microsoft.Extensions.Primitives.dll -rm -f Distribution/Assemblies/MimeKit.dll -rm -f Distribution/Assemblies/System.IO.Pipelines.dll -rm -f Distribution/Assemblies/Argon2.Bindings.dll -rm -f Distribution/Assemblies/libargon2.so -rm -f Distribution/Assemblies/libargon2.dylib -rm -f Distribution/Assemblies/argon2.dll - -rm -f Distribution/libdrng.dll -rm -f Distribution/libuv.dll -rm -f Distribution/libuv.so -rm -f Distribution/libuv.dylib -rm -f Distribution/Microsoft.AspNetCore.Connections.Abstractions.dll -rm -f Distribution/Microsoft.AspNetCore.Http.Features.dll -rm -f Distribution/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.dll -rm -f Distribution/Microsoft.Extensions.Configuration.Abstractions.dll -rm -f Distribution/Microsoft.Extensions.DependencyInjection.Abstractions.dll -rm -f Distribution/Microsoft.Extensions.FileProviders.Abstractions.dll -rm -f Distribution/Microsoft.Extensions.Hosting.Abstractions.dll -rm -f Distribution/Microsoft.Extensions.Logging.Abstractions.dll -rm -f Distribution/Microsoft.Extensions.Options.dll -rm -f Distribution/Microsoft.Extensions.Primitives.dll -rm -f Distribution/ModernUO -rm -f Distribution/ModernUO.deps.json -rm -f Distribution/ModernUO.dll -rm -f Distribution/ModernUO.dll.config -rm -f Distribution/ModernUO.exe -rm -f Distribution/ModernUO.pdb -rm -f Distribution/ModernUO.runtimeconfig.dev.json -rm -f Distribution/ModernUO.runtimeconfig.json -rm -f Distribution/System.IO.Pipelines.dll -rm -f Distribution/zlib.dll diff --git a/Tools/publish-linux-debug.cmd b/Tools/publish-linux-debug.cmd deleted file mode 100755 index 7d833938c..000000000 --- a/Tools/publish-linux-debug.cmd +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Debug -r linux-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Debug -r linux-x64 --self-contained=false diff --git a/Tools/publish-linux-debug.sh b/Tools/publish-linux-debug.sh deleted file mode 100755 index e121aceb1..000000000 --- a/Tools/publish-linux-debug.sh +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Debug -r linux-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Debug -r linux-x64 --self-contained=false diff --git a/Tools/publish-linux.cmd b/Tools/publish-linux.cmd deleted file mode 100755 index 611f1193a..000000000 --- a/Tools/publish-linux.cmd +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Release -r linux-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Release -r linux-x64 --self-contained=false diff --git a/Tools/publish-linux.sh b/Tools/publish-linux.sh deleted file mode 100755 index f87640036..000000000 --- a/Tools/publish-linux.sh +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Release -r linux-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Release -r linux-x64 --self-contained=false diff --git a/Tools/publish-osx-debug.cmd b/Tools/publish-osx-debug.cmd deleted file mode 100755 index 4566baa3e..000000000 --- a/Tools/publish-osx-debug.cmd +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Debug -r osx-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Debug -r osx-x64 --self-contained=false diff --git a/Tools/publish-osx-debug.sh b/Tools/publish-osx-debug.sh deleted file mode 100755 index e66f2db29..000000000 --- a/Tools/publish-osx-debug.sh +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Debug -r osx-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Debug -r osx-x64 --self-contained=false diff --git a/Tools/publish-osx.cmd b/Tools/publish-osx.cmd deleted file mode 100755 index 9565404f6..000000000 --- a/Tools/publish-osx.cmd +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Release -r osx-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Release -r osx-x64 --self-contained=false diff --git a/Tools/publish-osx.sh b/Tools/publish-osx.sh deleted file mode 100755 index 249fe207a..000000000 --- a/Tools/publish-osx.sh +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Release -r osx-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Release -r osx-x64 --self-contained=false diff --git a/Tools/publish-windows-debug.cmd b/Tools/publish-windows-debug.cmd deleted file mode 100755 index 1398c2e10..000000000 --- a/Tools/publish-windows-debug.cmd +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Debug -r win-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Debug -r win-x64 --self-contained=false diff --git a/Tools/publish-windows-debug.sh b/Tools/publish-windows-debug.sh deleted file mode 100755 index 3b6a9f8b7..000000000 --- a/Tools/publish-windows-debug.sh +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Debug -r win-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Debug -r win-x64 --self-contained=false diff --git a/Tools/publish-windows.cmd b/Tools/publish-windows.cmd deleted file mode 100755 index 6bb720871..000000000 --- a/Tools/publish-windows.cmd +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Release -r win-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Release -r win-x64 --self-contained=false diff --git a/Tools/publish-windows.sh b/Tools/publish-windows.sh deleted file mode 100755 index 1e359fac6..000000000 --- a/Tools/publish-windows.sh +++ /dev/null @@ -1,2 +0,0 @@ -dotnet build -c Release -r win-x64 Projects/Argon2/Argon2.csproj -dotnet publish -c Release -r win-x64 --self-contained=false diff --git a/Tools/publish.cmd b/Tools/publish.cmd new file mode 100755 index 000000000..a59f33e18 --- /dev/null +++ b/Tools/publish.cmd @@ -0,0 +1,36 @@ +dotnet clean +:<<"::SHELLSCRIPT" +@ECHO OFF +GOTO :CMDSCRIPT + +::SHELLSCRIPT +Tools/build-native-libraries.cmd + +if [[ -z $2 ]] +then + c="-c Release" +else + c=-c $2 +fi + +if [[ $2 ]] +then + o=" -r $1-x64" +fi +dotnet publish ${c}${o} --self-contained=false +exit $? + +:CMDSCRIPT +Tools\build-native-libraries.cmd + +IF "%~2" == "" ( + SET c = "-c Release" +) ELSE ( + SET c = "-c %~2" +) + +IF "%~1" != "" ( + SET o = " -r %~1-x64" +) + +dotnet publish %c%%o% --self-contained=false diff --git a/Tools/publish.sh b/Tools/publish.sh new file mode 100755 index 000000000..96c9e4bb9 --- /dev/null +++ b/Tools/publish.sh @@ -0,0 +1 @@ +Tools/publish.cmd "$@"