- Drop `os` in Eluant config as it's only used on Linux
- Make generic to help BSDs and Solaris
- Update OpenAL-CS and SDL2-CS to get the same
Exception of type `System.DllNotFoundException`: lua51.dll
TypeName=``
at (wrapper managed-to-native) Eluant.LuaApi.lua_newstate(Eluant.LuaRuntime/LuaAllocator,intptr)
at Eluant.LuaRuntime..ctor ()
at Eluant.MemoryConstrainedLuaRuntime..ctor ()
at OpenRA.Scripting.ScriptContext..ctor (OpenRA.World world, OpenRA.Graphics.WorldRenderer worldRenderer, System.Collections.Generic.IEnumerable`1[T] scripts)
at OpenRA.Mods.Common.Scripting.LuaScript.OpenRA.Traits.IWorldLoaded.WorldLoaded (OpenRA.World world, OpenRA.Graphics.WorldRenderer worldRenderer)
at OpenRA.World.LoadComplete (OpenRA.Graphics.WorldRenderer wr)
at OpenRA.Game.StartGame (System.String mapUID, OpenRA.WorldType type)
at OpenRA.Game.LoadShellMap ()
at OpenRA.Mods.Common.LoadScreens.BlankLoadScreen.StartGame (OpenRA.Arguments args)
at OpenRA.Game.InitializeMod (System.String mod, OpenRA.Arguments args)
at OpenRA.Game.Initialize (OpenRA.Arguments args)
at OpenRA.Game.InitializeAndRun (System.String[] args)
at OpenRA.Program.Main (System.String[] args)
The Makefile behaviour is recreated using the new and significantly
cleaner .NET Core csproj format.
fixheader.exe is promoted to OpenRA.PostProcess.exe and now runs
on all platforms.
We can allocate a much smaller zeroed buffer and copy that multiple times in order to zero the memory. When creating large VertexBuffers, this caps our temporary allocation size significantly.
- Where it is accessible, use the length of the stream to presize the MemoryStream to the correct size.
- Instead of copying out the result via ToArray, grab the underlying buffer via GetBuffer and use that to create the sound source.
This avoids extraneous copying of the array containing the audio.