# HG changeset patch # User alys # Date 2021-04-29 02:13:57 # Node ID 8c6bbc430a37439c89c8a867d75b56f48a15545e # Parent 2d5718a76f95cb06cc406c72f1485bd4f7a913f7 Switch to a probability-based system. diff --git a/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.assets.cache b/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.assets.cache index 7dcce0e548e46b90764d6354561e1e2dd771f572..fa583116edf1dfeb60f3c50d140933201a36585a GIT binary patch literal 237 zc$^FHc6a1rU|`6Y`Lft-vc#^t2G_eM*SatqnQarhm({N558oPxa1XnEFB$LyCLq@G z%}g%JFV0UZ(erZ+aVtv9O)bwa%GL`?O-n6G%}Y*oEG|yXP0GnkEe2^ZAYQp%UTTSn pDM%9|5XnG+^7VGQfm8Peb=ocg=XD6no7VG14BmgyEJ>~!a diff --git a/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache b/SpriteFontPlus/src/obj/Debug/net45/SpriteFontPlus.FNA.csprojAssemblyReference.cache index 00a338d9631230bd6574030244ab779131dbfc79..05873cc92109300c3b02ac64753b169217aa3ba2 GIT binary patch literal 11415 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 SF0BAQCjf>7K*NQ~CG-DqFN;zD diff --git a/SpriteFontPlus/src/obj/project.assets.json b/SpriteFontPlus/src/obj/project.assets.json --- a/SpriteFontPlus/src/obj/project.assets.json +++ b/SpriteFontPlus/src/obj/project.assets.json @@ -2,8 +2,57 @@ "version": 3, "targets": { ".NETFramework,Version=v4.5": { + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0": { + "type": "package", + "dependencies": { + "Microsoft.NETFramework.ReferenceAssemblies.net45": "1.0.0" + } + }, + "Microsoft.NETFramework.ReferenceAssemblies.net45/1.0.0": { + "type": "package", + "build": { + "build/Microsoft.NETFramework.ReferenceAssemblies.net45.targets": {} + } + }, "FNA/1.0.0": { "type": "project", + "framework": ".NETFramework,Version=v4.0", + "compile": { + "bin/placeholder/FNA.dll": {} + }, + "runtime": { + "bin/placeholder/FNA.dll": {} + } + } + }, + ".NETStandard,Version=v2.0": { + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + }, + "build": { + "build/netstandard2.0/NETStandard.Library.targets": {} + } + }, + "FNA/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", "compile": { "bin/placeholder/FNA.dll": {} }, @@ -14,15 +63,493 @@ } }, "libraries": { + "Microsoft.NETCore.Platforms/1.1.0": { + "sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "type": "package", + "path": "microsoft.netcore.platforms/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "microsoft.netcore.platforms.1.1.0.nupkg.sha512", + "microsoft.netcore.platforms.nuspec", + "runtime.json" + ] + }, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0": { + "sha512": "7D2TMufjGiowmt0E941kVoTIS+GTNzaPopuzM1/1LSaJAdJdBrVP0SkZW7AgDd0a2U1DjsIeaKG1wxGVBNLDMw==", + "type": "package", + "path": "microsoft.netframework.referenceassemblies/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "microsoft.netframework.referenceassemblies.1.0.0.nupkg.sha512", + "microsoft.netframework.referenceassemblies.nuspec" + ] + }, + "Microsoft.NETFramework.ReferenceAssemblies.net45/1.0.0": { + "sha512": "f7XMQsZFaoc3w8Vg3VQ3FHuU2C9vf0Ng5EAV4gzdNWDerPM/OmrzccLj15eI1wCLLXj4jk8+lKsbonzJeyXgQQ==", + "type": "package", + "path": "microsoft.netframework.referenceassemblies.net45/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/.NETFramework/v4.5/Accessibility.dll", + "build/.NETFramework/v4.5/Accessibility.xml", + "build/.NETFramework/v4.5/CustomMarshalers.dll", + "build/.NETFramework/v4.5/CustomMarshalers.xml", + "build/.NETFramework/v4.5/Facades/System.Collections.Concurrent.dll", + "build/.NETFramework/v4.5/Facades/System.Collections.dll", + "build/.NETFramework/v4.5/Facades/System.ComponentModel.Annotations.dll", + "build/.NETFramework/v4.5/Facades/System.ComponentModel.EventBasedAsync.dll", + "build/.NETFramework/v4.5/Facades/System.ComponentModel.dll", + "build/.NETFramework/v4.5/Facades/System.Diagnostics.Contracts.dll", + "build/.NETFramework/v4.5/Facades/System.Diagnostics.Debug.dll", + "build/.NETFramework/v4.5/Facades/System.Diagnostics.Tools.dll", + "build/.NETFramework/v4.5/Facades/System.Diagnostics.Tracing.dll", + "build/.NETFramework/v4.5/Facades/System.Dynamic.Runtime.dll", + "build/.NETFramework/v4.5/Facades/System.Globalization.dll", + "build/.NETFramework/v4.5/Facades/System.IO.dll", + "build/.NETFramework/v4.5/Facades/System.Linq.Expressions.dll", + "build/.NETFramework/v4.5/Facades/System.Linq.Parallel.dll", + "build/.NETFramework/v4.5/Facades/System.Linq.Queryable.dll", + "build/.NETFramework/v4.5/Facades/System.Linq.dll", + "build/.NETFramework/v4.5/Facades/System.Net.NetworkInformation.dll", + "build/.NETFramework/v4.5/Facades/System.Net.Primitives.dll", + "build/.NETFramework/v4.5/Facades/System.Net.Requests.dll", + "build/.NETFramework/v4.5/Facades/System.ObjectModel.dll", + "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.ILGeneration.dll", + "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.Lightweight.dll", + "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.dll", + "build/.NETFramework/v4.5/Facades/System.Reflection.Extensions.dll", + "build/.NETFramework/v4.5/Facades/System.Reflection.Primitives.dll", + "build/.NETFramework/v4.5/Facades/System.Reflection.dll", + "build/.NETFramework/v4.5/Facades/System.Resources.ResourceManager.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.Extensions.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.InteropServices.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.Numerics.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Json.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Primitives.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Xml.dll", + "build/.NETFramework/v4.5/Facades/System.Runtime.dll", + "build/.NETFramework/v4.5/Facades/System.Security.Principal.dll", + "build/.NETFramework/v4.5/Facades/System.ServiceModel.Duplex.dll", + "build/.NETFramework/v4.5/Facades/System.ServiceModel.Http.dll", + "build/.NETFramework/v4.5/Facades/System.ServiceModel.NetTcp.dll", + "build/.NETFramework/v4.5/Facades/System.ServiceModel.Primitives.dll", + "build/.NETFramework/v4.5/Facades/System.ServiceModel.Security.dll", + "build/.NETFramework/v4.5/Facades/System.Text.Encoding.Extensions.dll", + "build/.NETFramework/v4.5/Facades/System.Text.Encoding.dll", + "build/.NETFramework/v4.5/Facades/System.Text.RegularExpressions.dll", + "build/.NETFramework/v4.5/Facades/System.Threading.Tasks.Parallel.dll", + "build/.NETFramework/v4.5/Facades/System.Threading.Tasks.dll", + "build/.NETFramework/v4.5/Facades/System.Threading.dll", + "build/.NETFramework/v4.5/Facades/System.Xml.ReaderWriter.dll", + "build/.NETFramework/v4.5/Facades/System.Xml.XDocument.dll", + "build/.NETFramework/v4.5/Facades/System.Xml.XmlSerializer.dll", + "build/.NETFramework/v4.5/ISymWrapper.dll", + "build/.NETFramework/v4.5/ISymWrapper.xml", + "build/.NETFramework/v4.5/Microsoft.Activities.Build.dll", + "build/.NETFramework/v4.5/Microsoft.Activities.Build.xml", + "build/.NETFramework/v4.5/Microsoft.Build.Conversion.v4.0.dll", + "build/.NETFramework/v4.5/Microsoft.Build.Conversion.v4.0.xml", + "build/.NETFramework/v4.5/Microsoft.Build.Engine.dll", + "build/.NETFramework/v4.5/Microsoft.Build.Engine.xml", + "build/.NETFramework/v4.5/Microsoft.Build.Framework.dll", + "build/.NETFramework/v4.5/Microsoft.Build.Framework.xml", + "build/.NETFramework/v4.5/Microsoft.Build.Tasks.v4.0.dll", + "build/.NETFramework/v4.5/Microsoft.Build.Tasks.v4.0.xml", + "build/.NETFramework/v4.5/Microsoft.Build.Utilities.v4.0.dll", + "build/.NETFramework/v4.5/Microsoft.Build.Utilities.v4.0.xml", + "build/.NETFramework/v4.5/Microsoft.Build.dll", + "build/.NETFramework/v4.5/Microsoft.Build.xml", + "build/.NETFramework/v4.5/Microsoft.CSharp.dll", + "build/.NETFramework/v4.5/Microsoft.CSharp.xml", + "build/.NETFramework/v4.5/Microsoft.JScript.dll", + "build/.NETFramework/v4.5/Microsoft.JScript.xml", + "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.Data.dll", + "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.Data.xml", + "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.dll", + "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.xml", + "build/.NETFramework/v4.5/Microsoft.VisualBasic.dll", + "build/.NETFramework/v4.5/Microsoft.VisualBasic.xml", + "build/.NETFramework/v4.5/Microsoft.VisualC.STLCLR.dll", + "build/.NETFramework/v4.5/Microsoft.VisualC.STLCLR.xml", + "build/.NETFramework/v4.5/Microsoft.VisualC.dll", + "build/.NETFramework/v4.5/Microsoft.VisualC.xml", + "build/.NETFramework/v4.5/PermissionSets/FullTrust.xml", + "build/.NETFramework/v4.5/PermissionSets/Internet.xml", + "build/.NETFramework/v4.5/PermissionSets/LocalIntranet.xml", + "build/.NETFramework/v4.5/PresentationBuildTasks.dll", + "build/.NETFramework/v4.5/PresentationBuildTasks.xml", + "build/.NETFramework/v4.5/PresentationCore.dll", + "build/.NETFramework/v4.5/PresentationCore.xml", + "build/.NETFramework/v4.5/PresentationFramework.Aero.dll", + "build/.NETFramework/v4.5/PresentationFramework.Aero.xml", + "build/.NETFramework/v4.5/PresentationFramework.Aero2.dll", + "build/.NETFramework/v4.5/PresentationFramework.AeroLite.dll", + "build/.NETFramework/v4.5/PresentationFramework.Classic.dll", + "build/.NETFramework/v4.5/PresentationFramework.Classic.xml", + "build/.NETFramework/v4.5/PresentationFramework.Luna.dll", + "build/.NETFramework/v4.5/PresentationFramework.Luna.xml", + "build/.NETFramework/v4.5/PresentationFramework.Royale.dll", + "build/.NETFramework/v4.5/PresentationFramework.Royale.xml", + "build/.NETFramework/v4.5/PresentationFramework.dll", + "build/.NETFramework/v4.5/PresentationFramework.xml", + "build/.NETFramework/v4.5/ReachFramework.dll", + "build/.NETFramework/v4.5/ReachFramework.xml", + "build/.NETFramework/v4.5/RedistList/FrameworkList.xml", + "build/.NETFramework/v4.5/System.Activities.Core.Presentation.dll", + "build/.NETFramework/v4.5/System.Activities.Core.Presentation.xml", + "build/.NETFramework/v4.5/System.Activities.DurableInstancing.dll", + "build/.NETFramework/v4.5/System.Activities.DurableInstancing.xml", + "build/.NETFramework/v4.5/System.Activities.Presentation.dll", + "build/.NETFramework/v4.5/System.Activities.Presentation.xml", + "build/.NETFramework/v4.5/System.Activities.dll", + "build/.NETFramework/v4.5/System.Activities.xml", + "build/.NETFramework/v4.5/System.AddIn.Contract.dll", + "build/.NETFramework/v4.5/System.AddIn.Contract.xml", + "build/.NETFramework/v4.5/System.AddIn.dll", + "build/.NETFramework/v4.5/System.AddIn.xml", + "build/.NETFramework/v4.5/System.ComponentModel.Composition.Registration.dll", + "build/.NETFramework/v4.5/System.ComponentModel.Composition.dll", + "build/.NETFramework/v4.5/System.ComponentModel.Composition.xml", + "build/.NETFramework/v4.5/System.ComponentModel.DataAnnotations.dll", + "build/.NETFramework/v4.5/System.ComponentModel.DataAnnotations.xml", + "build/.NETFramework/v4.5/System.Configuration.Install.dll", + "build/.NETFramework/v4.5/System.Configuration.Install.xml", + "build/.NETFramework/v4.5/System.Configuration.dll", + "build/.NETFramework/v4.5/System.Configuration.xml", + "build/.NETFramework/v4.5/System.Core.dll", + "build/.NETFramework/v4.5/System.Core.xml", + "build/.NETFramework/v4.5/System.Data.DataSetExtensions.dll", + "build/.NETFramework/v4.5/System.Data.DataSetExtensions.xml", + "build/.NETFramework/v4.5/System.Data.Entity.Design.dll", + "build/.NETFramework/v4.5/System.Data.Entity.Design.xml", + "build/.NETFramework/v4.5/System.Data.Entity.dll", + "build/.NETFramework/v4.5/System.Data.Entity.xml", + "build/.NETFramework/v4.5/System.Data.Linq.dll", + "build/.NETFramework/v4.5/System.Data.Linq.xml", + "build/.NETFramework/v4.5/System.Data.OracleClient.dll", + "build/.NETFramework/v4.5/System.Data.OracleClient.xml", + "build/.NETFramework/v4.5/System.Data.Services.Client.dll", + "build/.NETFramework/v4.5/System.Data.Services.Client.xml", + "build/.NETFramework/v4.5/System.Data.Services.Design.dll", + "build/.NETFramework/v4.5/System.Data.Services.Design.xml", + "build/.NETFramework/v4.5/System.Data.Services.dll", + "build/.NETFramework/v4.5/System.Data.Services.xml", + "build/.NETFramework/v4.5/System.Data.SqlXml.dll", + "build/.NETFramework/v4.5/System.Data.SqlXml.xml", + "build/.NETFramework/v4.5/System.Data.dll", + "build/.NETFramework/v4.5/System.Data.xml", + "build/.NETFramework/v4.5/System.Deployment.dll", + "build/.NETFramework/v4.5/System.Deployment.xml", + "build/.NETFramework/v4.5/System.Design.dll", + "build/.NETFramework/v4.5/System.Design.xml", + "build/.NETFramework/v4.5/System.Device.dll", + "build/.NETFramework/v4.5/System.Device.xml", + "build/.NETFramework/v4.5/System.DirectoryServices.AccountManagement.dll", + "build/.NETFramework/v4.5/System.DirectoryServices.AccountManagement.xml", + "build/.NETFramework/v4.5/System.DirectoryServices.Protocols.dll", + "build/.NETFramework/v4.5/System.DirectoryServices.Protocols.xml", + "build/.NETFramework/v4.5/System.DirectoryServices.dll", + "build/.NETFramework/v4.5/System.DirectoryServices.xml", + "build/.NETFramework/v4.5/System.Drawing.Design.dll", + "build/.NETFramework/v4.5/System.Drawing.Design.xml", + "build/.NETFramework/v4.5/System.Drawing.dll", + "build/.NETFramework/v4.5/System.Drawing.xml", + "build/.NETFramework/v4.5/System.EnterpriseServices.Thunk.dll", + "build/.NETFramework/v4.5/System.EnterpriseServices.Wrapper.dll", + "build/.NETFramework/v4.5/System.EnterpriseServices.dll", + "build/.NETFramework/v4.5/System.EnterpriseServices.xml", + "build/.NETFramework/v4.5/System.IO.Compression.FileSystem.dll", + "build/.NETFramework/v4.5/System.IO.Compression.FileSystem.xml", + "build/.NETFramework/v4.5/System.IO.Compression.dll", + "build/.NETFramework/v4.5/System.IO.Compression.xml", + "build/.NETFramework/v4.5/System.IO.Log.dll", + "build/.NETFramework/v4.5/System.IO.Log.xml", + "build/.NETFramework/v4.5/System.IdentityModel.Selectors.dll", + "build/.NETFramework/v4.5/System.IdentityModel.Selectors.xml", + "build/.NETFramework/v4.5/System.IdentityModel.Services.dll", + "build/.NETFramework/v4.5/System.IdentityModel.Services.xml", + "build/.NETFramework/v4.5/System.IdentityModel.dll", + "build/.NETFramework/v4.5/System.IdentityModel.xml", + "build/.NETFramework/v4.5/System.Management.Instrumentation.dll", + "build/.NETFramework/v4.5/System.Management.Instrumentation.xml", + "build/.NETFramework/v4.5/System.Management.dll", + "build/.NETFramework/v4.5/System.Management.xml", + "build/.NETFramework/v4.5/System.Messaging.dll", + "build/.NETFramework/v4.5/System.Messaging.xml", + "build/.NETFramework/v4.5/System.Net.Http.WebRequest.dll", + "build/.NETFramework/v4.5/System.Net.Http.WebRequest.xml", + "build/.NETFramework/v4.5/System.Net.Http.dll", + "build/.NETFramework/v4.5/System.Net.Http.xml", + "build/.NETFramework/v4.5/System.Net.dll", + "build/.NETFramework/v4.5/System.Net.xml", + "build/.NETFramework/v4.5/System.Numerics.dll", + "build/.NETFramework/v4.5/System.Numerics.xml", + "build/.NETFramework/v4.5/System.Printing.dll", + "build/.NETFramework/v4.5/System.Printing.xml", + "build/.NETFramework/v4.5/System.Reflection.Context.dll", + "build/.NETFramework/v4.5/System.Reflection.Context.xml", + "build/.NETFramework/v4.5/System.Runtime.Caching.dll", + "build/.NETFramework/v4.5/System.Runtime.Caching.xml", + "build/.NETFramework/v4.5/System.Runtime.DurableInstancing.dll", + "build/.NETFramework/v4.5/System.Runtime.DurableInstancing.xml", + "build/.NETFramework/v4.5/System.Runtime.Remoting.dll", + "build/.NETFramework/v4.5/System.Runtime.Remoting.xml", + "build/.NETFramework/v4.5/System.Runtime.Serialization.Formatters.Soap.dll", + "build/.NETFramework/v4.5/System.Runtime.Serialization.Formatters.Soap.xml", + "build/.NETFramework/v4.5/System.Runtime.Serialization.dll", + "build/.NETFramework/v4.5/System.Runtime.Serialization.xml", + "build/.NETFramework/v4.5/System.Security.dll", + "build/.NETFramework/v4.5/System.Security.xml", + "build/.NETFramework/v4.5/System.ServiceModel.Activation.dll", + "build/.NETFramework/v4.5/System.ServiceModel.Activation.xml", + "build/.NETFramework/v4.5/System.ServiceModel.Activities.dll", + "build/.NETFramework/v4.5/System.ServiceModel.Activities.xml", + "build/.NETFramework/v4.5/System.ServiceModel.Channels.dll", + "build/.NETFramework/v4.5/System.ServiceModel.Channels.xml", + "build/.NETFramework/v4.5/System.ServiceModel.Discovery.dll", + "build/.NETFramework/v4.5/System.ServiceModel.Discovery.xml", + "build/.NETFramework/v4.5/System.ServiceModel.Routing.dll", + "build/.NETFramework/v4.5/System.ServiceModel.Routing.xml", + "build/.NETFramework/v4.5/System.ServiceModel.Web.dll", + "build/.NETFramework/v4.5/System.ServiceModel.Web.xml", + "build/.NETFramework/v4.5/System.ServiceModel.dll", + "build/.NETFramework/v4.5/System.ServiceModel.xml", + "build/.NETFramework/v4.5/System.ServiceProcess.dll", + "build/.NETFramework/v4.5/System.ServiceProcess.xml", + "build/.NETFramework/v4.5/System.Speech.dll", + "build/.NETFramework/v4.5/System.Speech.xml", + "build/.NETFramework/v4.5/System.Threading.Tasks.Dataflow.xml", + "build/.NETFramework/v4.5/System.Transactions.dll", + "build/.NETFramework/v4.5/System.Transactions.xml", + "build/.NETFramework/v4.5/System.Web.Abstractions.dll", + "build/.NETFramework/v4.5/System.Web.ApplicationServices.dll", + "build/.NETFramework/v4.5/System.Web.ApplicationServices.xml", + "build/.NETFramework/v4.5/System.Web.DataVisualization.Design.dll", + "build/.NETFramework/v4.5/System.Web.DataVisualization.dll", + "build/.NETFramework/v4.5/System.Web.DataVisualization.xml", + "build/.NETFramework/v4.5/System.Web.DynamicData.Design.dll", + "build/.NETFramework/v4.5/System.Web.DynamicData.Design.xml", + "build/.NETFramework/v4.5/System.Web.DynamicData.dll", + "build/.NETFramework/v4.5/System.Web.DynamicData.xml", + "build/.NETFramework/v4.5/System.Web.Entity.Design.dll", + "build/.NETFramework/v4.5/System.Web.Entity.Design.xml", + "build/.NETFramework/v4.5/System.Web.Entity.dll", + "build/.NETFramework/v4.5/System.Web.Entity.xml", + "build/.NETFramework/v4.5/System.Web.Extensions.Design.dll", + "build/.NETFramework/v4.5/System.Web.Extensions.Design.xml", + "build/.NETFramework/v4.5/System.Web.Extensions.dll", + "build/.NETFramework/v4.5/System.Web.Extensions.xml", + "build/.NETFramework/v4.5/System.Web.Mobile.dll", + "build/.NETFramework/v4.5/System.Web.Mobile.xml", + "build/.NETFramework/v4.5/System.Web.RegularExpressions.dll", + "build/.NETFramework/v4.5/System.Web.RegularExpressions.xml", + "build/.NETFramework/v4.5/System.Web.Routing.dll", + "build/.NETFramework/v4.5/System.Web.Services.dll", + "build/.NETFramework/v4.5/System.Web.Services.xml", + "build/.NETFramework/v4.5/System.Web.dll", + "build/.NETFramework/v4.5/System.Web.xml", + "build/.NETFramework/v4.5/System.Windows.Controls.Ribbon.dll", + "build/.NETFramework/v4.5/System.Windows.Controls.Ribbon.xml", + "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.Design.dll", + "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.dll", + "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.xml", + "build/.NETFramework/v4.5/System.Windows.Forms.dll", + "build/.NETFramework/v4.5/System.Windows.Forms.xml", + "build/.NETFramework/v4.5/System.Windows.Input.Manipulations.dll", + "build/.NETFramework/v4.5/System.Windows.Input.Manipulations.xml", + "build/.NETFramework/v4.5/System.Windows.Presentation.dll", + "build/.NETFramework/v4.5/System.Windows.Presentation.xml", + "build/.NETFramework/v4.5/System.Windows.dll", + "build/.NETFramework/v4.5/System.Workflow.Activities.dll", + "build/.NETFramework/v4.5/System.Workflow.Activities.xml", + "build/.NETFramework/v4.5/System.Workflow.ComponentModel.dll", + "build/.NETFramework/v4.5/System.Workflow.ComponentModel.xml", + "build/.NETFramework/v4.5/System.Workflow.Runtime.dll", + "build/.NETFramework/v4.5/System.Workflow.Runtime.xml", + "build/.NETFramework/v4.5/System.WorkflowServices.dll", + "build/.NETFramework/v4.5/System.WorkflowServices.xml", + "build/.NETFramework/v4.5/System.Xaml.dll", + "build/.NETFramework/v4.5/System.Xaml.xml", + "build/.NETFramework/v4.5/System.Xml.Linq.dll", + "build/.NETFramework/v4.5/System.Xml.Linq.xml", + "build/.NETFramework/v4.5/System.Xml.Serialization.dll", + "build/.NETFramework/v4.5/System.Xml.dll", + "build/.NETFramework/v4.5/System.Xml.xml", + "build/.NETFramework/v4.5/System.dll", + "build/.NETFramework/v4.5/System.xml", + "build/.NETFramework/v4.5/UIAutomationClient.dll", + "build/.NETFramework/v4.5/UIAutomationClient.xml", + "build/.NETFramework/v4.5/UIAutomationClientsideProviders.dll", + "build/.NETFramework/v4.5/UIAutomationClientsideProviders.xml", + "build/.NETFramework/v4.5/UIAutomationProvider.dll", + "build/.NETFramework/v4.5/UIAutomationProvider.xml", + "build/.NETFramework/v4.5/UIAutomationTypes.dll", + "build/.NETFramework/v4.5/UIAutomationTypes.xml", + "build/.NETFramework/v4.5/WindowsBase.dll", + "build/.NETFramework/v4.5/WindowsBase.xml", + "build/.NETFramework/v4.5/WindowsFormsIntegration.dll", + "build/.NETFramework/v4.5/WindowsFormsIntegration.xml", + "build/.NETFramework/v4.5/XamlBuildTask.dll", + "build/.NETFramework/v4.5/XamlBuildTask.xml", + "build/.NETFramework/v4.5/mscorlib.dll", + "build/.NETFramework/v4.5/mscorlib.xml", + "build/.NETFramework/v4.5/sysglobl.dll", + "build/.NETFramework/v4.5/sysglobl.xml", + "build/Microsoft.NETFramework.ReferenceAssemblies.net45.targets", + "microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg.sha512", + "microsoft.netframework.referenceassemblies.net45.nuspec" + ] + }, + "NETStandard.Library/2.0.3": { + "sha512": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "type": "package", + "path": "netstandard.library/2.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "build/netstandard2.0/NETStandard.Library.targets", + "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll", + "build/netstandard2.0/ref/System.AppContext.dll", + "build/netstandard2.0/ref/System.Collections.Concurrent.dll", + "build/netstandard2.0/ref/System.Collections.NonGeneric.dll", + "build/netstandard2.0/ref/System.Collections.Specialized.dll", + "build/netstandard2.0/ref/System.Collections.dll", + "build/netstandard2.0/ref/System.ComponentModel.Composition.dll", + "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll", + "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll", + "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll", + "build/netstandard2.0/ref/System.ComponentModel.dll", + "build/netstandard2.0/ref/System.Console.dll", + "build/netstandard2.0/ref/System.Core.dll", + "build/netstandard2.0/ref/System.Data.Common.dll", + "build/netstandard2.0/ref/System.Data.dll", + "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll", + "build/netstandard2.0/ref/System.Diagnostics.Debug.dll", + "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll", + "build/netstandard2.0/ref/System.Diagnostics.Process.dll", + "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll", + "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll", + "build/netstandard2.0/ref/System.Diagnostics.Tools.dll", + "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll", + "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll", + "build/netstandard2.0/ref/System.Drawing.Primitives.dll", + "build/netstandard2.0/ref/System.Drawing.dll", + "build/netstandard2.0/ref/System.Dynamic.Runtime.dll", + "build/netstandard2.0/ref/System.Globalization.Calendars.dll", + "build/netstandard2.0/ref/System.Globalization.Extensions.dll", + "build/netstandard2.0/ref/System.Globalization.dll", + "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll", + "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll", + "build/netstandard2.0/ref/System.IO.Compression.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.dll", + "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll", + "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll", + "build/netstandard2.0/ref/System.IO.Pipes.dll", + "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll", + "build/netstandard2.0/ref/System.IO.dll", + "build/netstandard2.0/ref/System.Linq.Expressions.dll", + "build/netstandard2.0/ref/System.Linq.Parallel.dll", + "build/netstandard2.0/ref/System.Linq.Queryable.dll", + "build/netstandard2.0/ref/System.Linq.dll", + "build/netstandard2.0/ref/System.Net.Http.dll", + "build/netstandard2.0/ref/System.Net.NameResolution.dll", + "build/netstandard2.0/ref/System.Net.NetworkInformation.dll", + "build/netstandard2.0/ref/System.Net.Ping.dll", + "build/netstandard2.0/ref/System.Net.Primitives.dll", + "build/netstandard2.0/ref/System.Net.Requests.dll", + "build/netstandard2.0/ref/System.Net.Security.dll", + "build/netstandard2.0/ref/System.Net.Sockets.dll", + "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll", + "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll", + "build/netstandard2.0/ref/System.Net.WebSockets.dll", + "build/netstandard2.0/ref/System.Net.dll", + "build/netstandard2.0/ref/System.Numerics.dll", + "build/netstandard2.0/ref/System.ObjectModel.dll", + "build/netstandard2.0/ref/System.Reflection.Extensions.dll", + "build/netstandard2.0/ref/System.Reflection.Primitives.dll", + "build/netstandard2.0/ref/System.Reflection.dll", + "build/netstandard2.0/ref/System.Resources.Reader.dll", + "build/netstandard2.0/ref/System.Resources.ResourceManager.dll", + "build/netstandard2.0/ref/System.Resources.Writer.dll", + "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll", + "build/netstandard2.0/ref/System.Runtime.Extensions.dll", + "build/netstandard2.0/ref/System.Runtime.Handles.dll", + "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll", + "build/netstandard2.0/ref/System.Runtime.InteropServices.dll", + "build/netstandard2.0/ref/System.Runtime.Numerics.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.dll", + "build/netstandard2.0/ref/System.Runtime.dll", + "build/netstandard2.0/ref/System.Security.Claims.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll", + "build/netstandard2.0/ref/System.Security.Principal.dll", + "build/netstandard2.0/ref/System.Security.SecureString.dll", + "build/netstandard2.0/ref/System.ServiceModel.Web.dll", + "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll", + "build/netstandard2.0/ref/System.Text.Encoding.dll", + "build/netstandard2.0/ref/System.Text.RegularExpressions.dll", + "build/netstandard2.0/ref/System.Threading.Overlapped.dll", + "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll", + "build/netstandard2.0/ref/System.Threading.Tasks.dll", + "build/netstandard2.0/ref/System.Threading.Thread.dll", + "build/netstandard2.0/ref/System.Threading.ThreadPool.dll", + "build/netstandard2.0/ref/System.Threading.Timer.dll", + "build/netstandard2.0/ref/System.Threading.dll", + "build/netstandard2.0/ref/System.Transactions.dll", + "build/netstandard2.0/ref/System.ValueTuple.dll", + "build/netstandard2.0/ref/System.Web.dll", + "build/netstandard2.0/ref/System.Windows.dll", + "build/netstandard2.0/ref/System.Xml.Linq.dll", + "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll", + "build/netstandard2.0/ref/System.Xml.Serialization.dll", + "build/netstandard2.0/ref/System.Xml.XDocument.dll", + "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll", + "build/netstandard2.0/ref/System.Xml.XPath.dll", + "build/netstandard2.0/ref/System.Xml.XmlDocument.dll", + "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll", + "build/netstandard2.0/ref/System.Xml.dll", + "build/netstandard2.0/ref/System.dll", + "build/netstandard2.0/ref/mscorlib.dll", + "build/netstandard2.0/ref/netstandard.dll", + "build/netstandard2.0/ref/netstandard.xml", + "lib/netstandard1.0/_._", + "netstandard.library.2.0.3.nupkg.sha512", + "netstandard.library.nuspec" + ] + }, "FNA/1.0.0": { "type": "project", - "path": "../../FNA/FNA.csproj", - "msbuildProject": "../../FNA/FNA.csproj" + "path": "../../FNA/FNA.Core.csproj", + "msbuildProject": "../../FNA/FNA.Core.csproj" } }, "projectFileDependencyGroups": { ".NETFramework,Version=v4.5": [ - "FNA >= 1.0.0" + "FNA >= 1.0.0", + "Microsoft.NETFramework.ReferenceAssemblies >= 1.0.0" + ], + ".NETStandard,Version=v2.0": [ + "FNA >= 1.0.0", + "NETStandard.Library >= 2.0.3" ] }, "packageFolders": { @@ -31,26 +558,37 @@ "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj", + "projectUniqueName": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj", "projectName": "SpriteFontPlus", - "projectPath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj", + "projectPath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj", "packagesPath": "/Users/alys/.nuget/packages/", "outputPath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/", "projectStyle": "PackageReference", + "crossTargeting": true, "configFilePaths": [ - "/Users/alys/.config/NuGet/NuGet.Config" + "/Users/alys/.nuget/NuGet/NuGet.Config" ], "originalTargetFrameworks": [ - "net45" + "net45", + "netstandard2.0" ], "sources": { "https://api.nuget.org/v3/index.json": {} }, "frameworks": { "net45": { + "targetAlias": "net45", "projectReferences": { - "/Users/alys/repos/isometric-park-fna/FNA/FNA.csproj": { - "projectPath": "/Users/alys/repos/isometric-park-fna/FNA/FNA.csproj" + "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj": { + "projectPath": "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj" + } + } + }, + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": { + "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj": { + "projectPath": "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj" } } } @@ -63,7 +601,38 @@ }, "frameworks": { "net45": { - "runtimeIdentifierGraphPath": "/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin/RuntimeIdentifierGraph.json" + "targetAlias": "net45", + "dependencies": { + "Microsoft.NETFramework.ReferenceAssemblies": { + "suppressParent": "All", + "target": "Package", + "version": "[1.0.0, )", + "autoReferenced": true + } + }, + "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/5.0.202/RuntimeIdentifierGraph.json" + }, + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/5.0.202/RuntimeIdentifierGraph.json" } } } diff --git a/SpriteFontPlus/src/obj/project.nuget.cache b/SpriteFontPlus/src/obj/project.nuget.cache --- a/SpriteFontPlus/src/obj/project.nuget.cache +++ b/SpriteFontPlus/src/obj/project.nuget.cache @@ -1,8 +1,13 @@ { "version": 2, - "dgSpecHash": "kUPsWi+W/I8KOuiF0fQ9nWh1vVsW3b0wAQVjldBK6JNRF3usvNENwsXcLXddNG6Wh/129HHhkfaanQmLUK7wcA==", + "dgSpecHash": "3R9WDhpmDP/ybl/9zAzE/8D8e7oHOYnPI6vqSMFXlQArdzsXsOcO+zrPKGiDeMip0lN4Lm30Wumk1II5bYeXkA==", "success": true, - "projectFilePath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj", - "expectedPackageFiles": [], + "projectFilePath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj", + "expectedPackageFiles": [ + "/Users/alys/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512", + "/Users/alys/.nuget/packages/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg.sha512", + "/Users/alys/.nuget/packages/microsoft.netframework.referenceassemblies.net45/1.0.0/microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg.sha512", + "/Users/alys/.nuget/packages/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg.sha512" + ], "logs": [] } \ No newline at end of file diff --git a/isometric-park-fna/Engines/SimulationBridgeEngine.cs b/isometric-park-fna/Engines/SimulationBridgeEngine.cs --- a/isometric-park-fna/Engines/SimulationBridgeEngine.cs +++ b/isometric-park-fna/Engines/SimulationBridgeEngine.cs @@ -1,5 +1,5 @@ - -using Microsoft.Xna.Framework.Input; +using System; +using System.Linq; using Encompass; @@ -20,10 +20,12 @@ { public Simulation simulation; private int ticksToSend; + private Random random_generator; public SimulationBridgeEngine(Simulation simulation) { this.simulation = simulation; + this.random_generator = new Random(); } public int addTick() { @@ -99,24 +101,29 @@ if (status == ContractStatus.Accepted) { var removed = 0; - foreach (var square in area.squares) + var tree_squares = area.squares.Where((square) => simulation.map.cells[(int)square.X][(int)square.Y].hasTree); + var to_remove = -delta.deltaTrees; + + //calculate the probability in order to get the expected number of removed trees + var expected = to_remove; + var trials = tree_squares.Count(); + double probability = ((double)expected / (double)trials); + + foreach (var square in tree_squares) { var cell = simulation.map.cells[(int)square.X][(int)square.Y]; - if (cell.hasTree) + if (cell.hasTree + && random_generator.NextDouble() < probability) { cell.removeTree(); removed++; } - if (-removed <= delta.deltaTrees) + if (removed >= to_remove) { break; } - } - } - - } } this.ticksToSend = 0; diff --git a/isometric-park-fna/Messages/SpawnContractMessage.cs b/isometric-park-fna/Messages/SpawnContractMessage.cs --- a/isometric-park-fna/Messages/SpawnContractMessage.cs +++ b/isometric-park-fna/Messages/SpawnContractMessage.cs @@ -10,5 +10,6 @@ public int max_squares; public int? min_squares; + } }