Unstable 0.17.0.0

This commit is contained in:
Markus Isberg
2022-02-26 02:43:01 +09:00
parent a83f375681
commit 3974067915
913 changed files with 32472 additions and 32364 deletions
@@ -2,34 +2,34 @@
// /*
// Microsoft Public License (Ms-PL)
// MonoGame - Copyright © 2009 The MonoGame Team
//
//
// All rights reserved.
//
//
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
// accept the license, do not use the software.
//
//
// 1. Definitions
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
// U.S. copyright law.
//
//
// A "contribution" is the original software, or any additions or changes to the software.
// A "contributor" is any person that distributes its contribution under this license.
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
//
//
// 2. Grant of Rights
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
//
//
// 3. Conditions and Limitations
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
// your patent license from such contributor to the software ends automatically.
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
// notices that are present in the software.
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
// code form, you may only do so under a license that complies with this license.
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
@@ -56,7 +56,7 @@ namespace Microsoft.Xna.Framework.Graphics
internal GraphicsResource()
{
}
~GraphicsResource()
@@ -66,7 +66,7 @@ namespace Microsoft.Xna.Framework.Graphics
}
/// <summary>
/// Called before the device is reset. Allows graphics resources to
/// Called before the device is reset. Allows graphics resources to
/// invalidate their state so they can be recreated after the device reset.
/// Warning: This may be called after a call to Dispose() up until
/// the resource is garbage collected.
@@ -117,7 +117,7 @@ namespace Microsoft.Xna.Framework.Graphics
}
public event EventHandler<EventArgs> Disposing;
public GraphicsDevice GraphicsDevice
{
get
@@ -146,7 +146,7 @@ namespace Microsoft.Xna.Framework.Graphics
graphicsDevice.AddResourceReference(_selfReference);
}
}
public bool IsDisposed
{
get
@@ -154,9 +154,9 @@ namespace Microsoft.Xna.Framework.Graphics
return disposed;
}
}
public string Name { get; set; }
public Object Tag { get; set; }
public override string ToString()
@@ -237,9 +237,17 @@ namespace Microsoft.Xna.Framework.Graphics
void CheckValid(Texture2D texture)
{
if (texture == null)
{
throw new ArgumentNullException("texture");
}
if (texture.IsDisposed)
{
throw new InvalidOperationException($"Texture is disposed");
}
if (!_beginCalled)
{
throw new InvalidOperationException("Draw was called, but Begin has not yet been called. Begin must be called successfully before you can call Draw.");
}
}
void CheckValid(SpriteFont spriteFont, string text)
@@ -315,7 +323,7 @@ namespace Microsoft.Xna.Framework.Graphics
}
}
public void Draw(Texture2D texture, VertexPositionColorTexture[] vertices, float layerDepth)
public void Draw(Texture2D texture, VertexPositionColorTexture[] vertices, float layerDepth, int? count = null)
{
CheckValid(texture);
@@ -338,7 +346,7 @@ namespace Microsoft.Xna.Framework.Graphics
break;
}
int iters = vertices.Length / 4;
int iters = count ?? (vertices.Length / 4);
for (int i=0;i<iters;i++)
{
var item = _batcher.CreateBatchItem();
@@ -19,7 +19,7 @@ namespace Microsoft.Xna.Framework.Graphics
_graphicsDevice = graphicsDevice;
_textures = new Texture[maxTextures];
_applyToVertexStage = applyToVertexStage;
for (int i=0;i<maxTextures;i++)
for (int i = 0; i < maxTextures; i++)
{
_dirtyMax |= 1 << i;
}