mono/MonoGame — pull request #660 by espes (2012-08-06 03:08:53+00:00)
Title: Develop3d: Big random bag of changes...

Need to make sure I didn't break iOS/Android/Windows too much...

Anyway:

Random things fixed:
-Loading WAVs from WaveBanks
-Resizing on Linux/Windows in some cases
-Reenable TextureCube.GetData on Mac
-VertexBuffer.GetData for struct types, though now it's slower probably
-Calling ApplyChanges in the ctor should work
-Mouse visibility on Mac
-Projects with no content files on Mac
-IndexBufferReader indexes shouldn't be write only

Random new things implemented:
-Fleshed out support for XACT stuff a bit
-parses Xact General Settings files properly thanks to documentation by ShinAli, but doesn't handle them properly yet

-EffectMaterial/EffectMaterialReader
-ExternalReferenceReader

-Mouse.SetPosition on Mac

-OcclusionQuery on Mac only
-Stub Texture3D on Mac only

-Binormal/Tangent attributes (untested)
-SurfaceFormat.Single (still doesn't conform exactly to XNA, see the ShadowMapping sample :/)
-ConstantBuffer sub-elements

-Indexing methods in ModelMeshCollection

-Stub GraphicsDevice.GraphicsDeviceStatus
-Stub FrameworkDispatcher
-Game.RunOneFrame (untested)
-Game.OnActivated/OnDeactivated methods

Random things moved and changed:
-Updated MojoShader build

-Merged Media.MediaLibrary, Media.MediaSource

-Reintroduce runtime support for XNA Effects on Mac and Linux
(in a way that's hopefully sufficiently modular - it 'connects' in only a single line)

-Linked some of the 2MGFX tools classes into MonoGame
(seemed to be the simplest way to do it)

-Renamed and reorganised a bunch of stuff:
-2MGFX.DXEffectObject -> 2MGFX.DXEffectObject.(fxparser, writer)
-2MGFX.DXShader -> 2MGFX.DXShaderData.(mojo, sharpdx, writer)
-2MGFX.ConstantBuffer -> 2MGFX.DXConstantBufferData
-Effect.DXShader -> Effect.Shader.(dx11,ogl), Effect.MGFXShader

-rescue fx parsing into DXEffectObject.fxparser

-Added Effect/FXShader.cs and a few simple methods in Effect.fx.cs