mirror of
https://github.com/Ale32bit/Capy64.git
synced 2025-01-18 10:36:44 +00:00
Project cleanup, welcome beta version!
This commit is contained in:
parent
8121920ad7
commit
451abe6b86
26 changed files with 48 additions and 72 deletions
|
@ -43,7 +43,7 @@ public enum EngineMode
|
||||||
|
|
||||||
public class Capy64 : Game, IGame
|
public class Capy64 : Game, IGame
|
||||||
{
|
{
|
||||||
public const string Version = "0.0.10-alpha";
|
public const string Version = "1.0.0-beta";
|
||||||
|
|
||||||
public static class DefaultParameters
|
public static class DefaultParameters
|
||||||
{
|
{
|
||||||
|
@ -51,7 +51,7 @@ public class Capy64 : Game, IGame
|
||||||
public const int Height = 240;
|
public const int Height = 240;
|
||||||
public const float Scale = 2f;
|
public const float Scale = 2f;
|
||||||
public const float BorderMultiplier = 1.5f;
|
public const float BorderMultiplier = 1.5f;
|
||||||
public readonly static EngineMode EngineMode = EngineMode.Classic;
|
public static readonly EngineMode EngineMode = EngineMode.Classic;
|
||||||
|
|
||||||
public const int ClassicTickrate = 20;
|
public const int ClassicTickrate = 20;
|
||||||
public const int FreeTickrate = 60;
|
public const int FreeTickrate = 60;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<RollForward>Major</RollForward>
|
<RollForward>Major</RollForward>
|
||||||
<PublishReadyToRun>false</PublishReadyToRun>
|
<PublishReadyToRun>false</PublishReadyToRun>
|
||||||
|
|
|
@ -34,7 +34,7 @@ public class Audio : IDisposable
|
||||||
public const AudioChannels AudioChannel = AudioChannels.Mono;
|
public const AudioChannels AudioChannel = AudioChannels.Mono;
|
||||||
public const int ChannelsCount = 8;
|
public const int ChannelsCount = 8;
|
||||||
public readonly DynamicSoundEffectInstance[] Channels = new DynamicSoundEffectInstance[ChannelsCount];
|
public readonly DynamicSoundEffectInstance[] Channels = new DynamicSoundEffectInstance[ChannelsCount];
|
||||||
private bool[] freeChannels = new bool[ChannelsCount];
|
private readonly bool[] freeChannels = new bool[ChannelsCount];
|
||||||
|
|
||||||
public readonly DynamicSoundEffectInstance HQChannel = new(HQSampleRate, AudioChannel);
|
public readonly DynamicSoundEffectInstance HQChannel = new(HQSampleRate, AudioChannel);
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class Drawing : IDisposable
|
||||||
private Texture2D _whitePixel;
|
private Texture2D _whitePixel;
|
||||||
private RenderTarget2D _canvas;
|
private RenderTarget2D _canvas;
|
||||||
private bool _isDrawing;
|
private bool _isDrawing;
|
||||||
private HashSet<Texture2D> _disposeTextures = new();
|
private readonly HashSet<Texture2D> _disposeTextures = new();
|
||||||
public RenderTarget2D Canvas
|
public RenderTarget2D Canvas
|
||||||
{
|
{
|
||||||
get => _canvas;
|
get => _canvas;
|
||||||
|
|
|
@ -52,7 +52,7 @@ public class InputManager
|
||||||
Ctrl = LCtrl | RCtrl,
|
Ctrl = LCtrl | RCtrl,
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Keys[] IgnoredTextInputKeys =
|
private static readonly Keys[] IgnoredTextInputKeys =
|
||||||
{
|
{
|
||||||
Keys.Enter,
|
Keys.Enter,
|
||||||
Keys.Back,
|
Keys.Back,
|
||||||
|
@ -74,7 +74,7 @@ public class InputManager
|
||||||
};
|
};
|
||||||
|
|
||||||
public Texture2D Texture { get; set; }
|
public Texture2D Texture { get; set; }
|
||||||
public float WindowScale => Capy64.Instance.Scale;
|
public static float WindowScale => Capy64.Instance.Scale;
|
||||||
public const int MouseScrollDelta = 120;
|
public const int MouseScrollDelta = 120;
|
||||||
|
|
||||||
private Point mousePosition;
|
private Point mousePosition;
|
||||||
|
@ -82,7 +82,7 @@ public class InputManager
|
||||||
private int hMouseScroll;
|
private int hMouseScroll;
|
||||||
|
|
||||||
private Modifiers keyboardMods = 0;
|
private Modifiers keyboardMods = 0;
|
||||||
private HashSet<Keys> pressedKeys = new();
|
private readonly HashSet<Keys> pressedKeys = new();
|
||||||
|
|
||||||
private readonly Game _game;
|
private readonly Game _game;
|
||||||
private readonly EventEmitter _eventEmitter;
|
private readonly EventEmitter _eventEmitter;
|
||||||
|
|
|
@ -105,7 +105,7 @@ public partial class SDL2
|
||||||
}
|
}
|
||||||
char* chars = stackalloc char[len];
|
char* chars = stackalloc char[len];
|
||||||
int strLen = System.Text.Encoding.UTF8.GetChars((byte*)s, len, chars, len);
|
int strLen = System.Text.Encoding.UTF8.GetChars((byte*)s, len, chars, len);
|
||||||
string result = new string(chars, 0, strLen);
|
string result = new(chars, 0, strLen);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Some SDL functions will malloc, we have to free! */
|
/* Some SDL functions will malloc, we have to free! */
|
||||||
|
|
|
@ -32,9 +32,10 @@ public class DiscordIntegration : IComponent
|
||||||
_configuration = configuration;
|
_configuration = configuration;
|
||||||
|
|
||||||
var discordConfig = _configuration.GetSection("Integrations:Discord");
|
var discordConfig = _configuration.GetSection("Integrations:Discord");
|
||||||
Client = new(discordConfig["ApplicationId"]);
|
Client = new(discordConfig["ApplicationId"])
|
||||||
|
{
|
||||||
Client.Logger = new ConsoleLogger() { Level = DiscordRPC.Logging.LogLevel.Warning };
|
Logger = new ConsoleLogger() { Level = LogLevel.Warning }
|
||||||
|
};
|
||||||
|
|
||||||
Client.OnReady += OnReady;
|
Client.OnReady += OnReady;
|
||||||
|
|
||||||
|
@ -46,6 +47,7 @@ public class DiscordIntegration : IComponent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#nullable enable
|
||||||
public void SetPresence(string details, string? state = null)
|
public void SetPresence(string details, string? state = null)
|
||||||
{
|
{
|
||||||
Client.SetPresence(new RichPresence()
|
Client.SetPresence(new RichPresence()
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace Capy64.PluginManager
|
||||||
{
|
{
|
||||||
class PluginLoadContext : AssemblyLoadContext
|
class PluginLoadContext : AssemblyLoadContext
|
||||||
{
|
{
|
||||||
private AssemblyDependencyResolver _resolver;
|
private readonly AssemblyDependencyResolver _resolver;
|
||||||
|
|
||||||
public PluginLoadContext(string pluginPath)
|
public PluginLoadContext(string pluginPath)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
using Capy64.Core;
|
|
||||||
using Capy64.Eventing.Events;
|
using Capy64.Eventing.Events;
|
||||||
using Microsoft.Xna.Framework.Input;
|
using Microsoft.Xna.Framework.Input;
|
||||||
using System;
|
using System;
|
||||||
|
@ -24,8 +23,8 @@ namespace Capy64.Runtime;
|
||||||
|
|
||||||
internal class EventEmitter
|
internal class EventEmitter
|
||||||
{
|
{
|
||||||
private Eventing.EventEmitter _eventEmitter;
|
private readonly Eventing.EventEmitter _eventEmitter;
|
||||||
private LuaState _runtime;
|
private readonly LuaState _runtime;
|
||||||
private const int rebootDelay = 30;
|
private const int rebootDelay = 30;
|
||||||
private int heldReboot = 0;
|
private int heldReboot = 0;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class Audio : IComponent
|
||||||
_game.EventEmitter.OnClose += OnClose;
|
_game.EventEmitter.OnClose += OnClose;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LuaRegister[] AudioLib = new LuaRegister[]
|
private static readonly LuaRegister[] AudioLib = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class Event : IComponent
|
||||||
_game = game;
|
_game = game;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LuaRegister[] EventLib = new LuaRegister[]
|
private static readonly LuaRegister[] EventLib = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
@ -196,7 +196,7 @@ public class Event : IComponent
|
||||||
L.CheckAny(2);
|
L.CheckAny(2);
|
||||||
L.ArgumentCheck(!L.IsNil(2), 2, "value cannot be nil");
|
L.ArgumentCheck(!L.IsNil(2), 2, "value cannot be nil");
|
||||||
|
|
||||||
if(!task.UserTask)
|
if (!task.UserTask)
|
||||||
{
|
{
|
||||||
L.Error("attempt to fulfill machine task");
|
L.Error("attempt to fulfill machine task");
|
||||||
}
|
}
|
||||||
|
@ -226,7 +226,7 @@ public class Event : IComponent
|
||||||
L.Error("attempt to reject machine task");
|
L.Error("attempt to reject machine task");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(task.Status != TaskMeta.TaskStatus.Running)
|
if (task.Status != TaskMeta.TaskStatus.Running)
|
||||||
{
|
{
|
||||||
L.Error("attempt to reject a finished task");
|
L.Error("attempt to reject a finished task");
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ public class FileSystem : IComponent
|
||||||
}
|
}
|
||||||
|
|
||||||
// functions to add to the library, always end libraries with null
|
// functions to add to the library, always end libraries with null
|
||||||
private LuaRegister[] FsLib = new LuaRegister[] {
|
private readonly LuaRegister[] FsLib = new LuaRegister[] {
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
name = "list",
|
name = "list",
|
||||||
|
|
|
@ -14,17 +14,14 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
using Capy64.API;
|
using Capy64.API;
|
||||||
using Capy64.Core;
|
|
||||||
using Capy64.Runtime.Objects;
|
using Capy64.Runtime.Objects;
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using Microsoft.Xna.Framework;
|
using Microsoft.Xna.Framework;
|
||||||
using Microsoft.Xna.Framework.Graphics;
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
using Microsoft.Xna.Framework.Input;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Xml.Linq;
|
|
||||||
|
|
||||||
namespace Capy64.Runtime.Libraries;
|
namespace Capy64.Runtime.Libraries;
|
||||||
|
|
||||||
|
@ -37,7 +34,7 @@ public class GPU : IComponent
|
||||||
_game = game;
|
_game = game;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LuaRegister[] gpuLib = new LuaRegister[] {
|
private readonly LuaRegister[] gpuLib = new LuaRegister[] {
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
name = "getSize",
|
name = "getSize",
|
||||||
|
|
|
@ -25,7 +25,6 @@ using System.Net.Http;
|
||||||
using System.Net.WebSockets;
|
using System.Net.WebSockets;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Capy64.Runtime.Libraries;
|
namespace Capy64.Runtime.Libraries;
|
||||||
#nullable enable
|
#nullable enable
|
||||||
|
@ -171,7 +170,7 @@ public class HTTP : IComponent
|
||||||
options["method"] = L.CheckString(-2);
|
options["method"] = L.CheckString(-2);
|
||||||
break;
|
break;
|
||||||
case "binary":
|
case "binary":
|
||||||
options["binary"] = L.IsBoolean(-2) ? L.ToBoolean(-2) : false;
|
options["binary"] = L.ToBoolean(-2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class Machine : IComponent
|
||||||
_game = game;
|
_game = game;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LuaRegister[] MachineLib = new LuaRegister[]
|
private static readonly LuaRegister[] MachineLib = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,9 +14,7 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
using Capy64.API;
|
using Capy64.API;
|
||||||
using Capy64.Runtime.Objects;
|
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using System.IO;
|
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
|
|
||||||
namespace Capy64.Runtime.Libraries;
|
namespace Capy64.Runtime.Libraries;
|
||||||
|
@ -31,7 +29,7 @@ public class TCP : IComponent
|
||||||
Counter = 0;
|
Counter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LuaRegister[] TCPLib = new LuaRegister[]
|
private static readonly LuaRegister[] TCPLib = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
using Capy64.API;
|
using Capy64.API;
|
||||||
using Capy64.Core;
|
|
||||||
using Capy64.Eventing.Events;
|
using Capy64.Eventing.Events;
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using Microsoft.Xna.Framework;
|
using Microsoft.Xna.Framework;
|
||||||
|
@ -73,7 +72,7 @@ internal class Term : IComponent
|
||||||
_game.EventEmitter.OnScreenSizeChange += OnScreenSizeChange;
|
_game.EventEmitter.OnScreenSizeChange += OnScreenSizeChange;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LuaRegister[] TermLib = new LuaRegister[]
|
private readonly LuaRegister[] TermLib = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
@ -217,12 +216,12 @@ internal class Term : IComponent
|
||||||
_game.Drawing.DrawString(charpos, ch.ToString(), fg);
|
_game.Drawing.DrawString(charpos, ch.ToString(), fg);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (ArgumentException ex) // UTF-16 fuckery
|
catch (ArgumentException) // UTF-16 fuckery
|
||||||
{
|
{
|
||||||
_game.Drawing.DrawString(charpos, "\xFFFD", fg);
|
_game.Drawing.DrawString(charpos, "\xFFFD", fg);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(underline)
|
if (underline)
|
||||||
{
|
{
|
||||||
_game.Drawing.DrawLine(charpos + new Vector2(0, CharHeight), charpos + new Vector2(CharWidth, CharHeight), fg);
|
_game.Drawing.DrawLine(charpos + new Vector2(0, CharHeight), charpos + new Vector2(CharWidth, CharHeight), fg);
|
||||||
}
|
}
|
||||||
|
@ -313,7 +312,7 @@ internal class Term : IComponent
|
||||||
if (cursorState)
|
if (cursorState)
|
||||||
{
|
{
|
||||||
var realpos = ToRealPos(CursorPosition - Vector2.One);
|
var realpos = ToRealPos(CursorPosition - Vector2.One);
|
||||||
var charpos = (realpos * _game.Scale) + (CharOffset + new Vector2(0, 2)) * _game.Scale;
|
var charpos = (realpos * _game.Scale) + ((CharOffset + new Vector2(0, 2)) * _game.Scale);
|
||||||
charpos += new Vector2(Capy64.Instance.Borders.Left, Capy64.Instance.Borders.Top);
|
charpos += new Vector2(Capy64.Instance.Borders.Left, Capy64.Instance.Borders.Top);
|
||||||
_game.Game.SpriteBatch.Draw(cursorTexture, charpos, null, ForegroundColor, 0f, Vector2.Zero, _game.Scale, SpriteEffects.None, 0);
|
_game.Game.SpriteBatch.Draw(cursorTexture, charpos, null, ForegroundColor, 0f, Vector2.Zero, _game.Scale, SpriteEffects.None, 0);
|
||||||
}
|
}
|
||||||
|
@ -396,7 +395,7 @@ internal class Term : IComponent
|
||||||
{
|
{
|
||||||
var L = Lua.FromIntPtr(state);
|
var L = Lua.FromIntPtr(state);
|
||||||
|
|
||||||
if(_game.EngineMode == EngineMode.Classic)
|
if (_game.EngineMode == EngineMode.Classic)
|
||||||
{
|
{
|
||||||
L.PushBoolean(false);
|
L.PushBoolean(false);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -538,8 +537,6 @@ internal class Term : IComponent
|
||||||
|
|
||||||
private static int L_Clear(IntPtr state)
|
private static int L_Clear(IntPtr state)
|
||||||
{
|
{
|
||||||
var L = Lua.FromIntPtr(state);
|
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -553,8 +550,6 @@ internal class Term : IComponent
|
||||||
|
|
||||||
private static int L_ClearLine(IntPtr state)
|
private static int L_ClearLine(IntPtr state)
|
||||||
{
|
{
|
||||||
var L = Lua.FromIntPtr(state);
|
|
||||||
|
|
||||||
ClearLine();
|
ClearLine();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace Capy64.Runtime.Libraries;
|
||||||
|
|
||||||
class Timer : IComponent
|
class Timer : IComponent
|
||||||
{
|
{
|
||||||
private LuaRegister[] TimerLib = new LuaRegister[]
|
private readonly LuaRegister[] TimerLib = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ class Timer : IComponent
|
||||||
private static IGame _game;
|
private static IGame _game;
|
||||||
private static uint _timerId = 0;
|
private static uint _timerId = 0;
|
||||||
|
|
||||||
private static ConcurrentDictionary<uint, System.Timers.Timer> timers = new();
|
private static readonly ConcurrentDictionary<uint, System.Timers.Timer> timers = new();
|
||||||
public Timer(IGame game)
|
public Timer(IGame game)
|
||||||
{
|
{
|
||||||
_game = game;
|
_game = game;
|
||||||
|
@ -128,7 +128,8 @@ class Timer : IComponent
|
||||||
|
|
||||||
timer.Elapsed += (o, e) =>
|
timer.Elapsed += (o, e) =>
|
||||||
{
|
{
|
||||||
task.Fulfill(lk => {
|
task.Fulfill(lk =>
|
||||||
|
{
|
||||||
lk.PushInteger(timerId);
|
lk.PushInteger(timerId);
|
||||||
});
|
});
|
||||||
timers.TryRemove(timerId, out _);
|
timers.TryRemove(timerId, out _);
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace Capy64.Runtime;
|
||||||
|
|
||||||
public class ObjectManager : IComponent
|
public class ObjectManager : IComponent
|
||||||
{
|
{
|
||||||
private static ConcurrentDictionary<nint, object> _objects = new();
|
private static readonly ConcurrentDictionary<nint, object> _objects = new();
|
||||||
|
|
||||||
private static IGame _game;
|
private static IGame _game;
|
||||||
public ObjectManager(IGame game)
|
public ObjectManager(IGame game)
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class FileHandle : IComponent
|
||||||
{
|
{
|
||||||
public const string ObjectType = "file";
|
public const string ObjectType = "file";
|
||||||
|
|
||||||
private static LuaRegister[] Methods = new LuaRegister[]
|
private static readonly LuaRegister[] Methods = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
@ -59,7 +59,7 @@ public class FileHandle : IComponent
|
||||||
new(),
|
new(),
|
||||||
};
|
};
|
||||||
|
|
||||||
private static LuaRegister[] MetaMethods = new LuaRegister[]
|
private static readonly LuaRegister[] MetaMethods = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
@ -348,8 +348,7 @@ public class FileHandle : IComponent
|
||||||
var L = Lua.FromIntPtr(state);
|
var L = Lua.FromIntPtr(state);
|
||||||
|
|
||||||
var stream = ToStream(L, true);
|
var stream = ToStream(L, true);
|
||||||
if (stream is not null)
|
stream?.Close();
|
||||||
stream.Close();
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
using Capy64.API;
|
using Capy64.API;
|
||||||
using Capy64.Core;
|
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
@ -31,7 +30,7 @@ public class GPUBufferMeta : IComponent
|
||||||
public int Height { get; set; }
|
public int Height { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LuaRegister[] MetaMethods = new LuaRegister[]
|
private static readonly LuaRegister[] MetaMethods = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,10 +16,6 @@
|
||||||
using Capy64.API;
|
using Capy64.API;
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Capy64.Runtime.Objects;
|
namespace Capy64.Runtime.Objects;
|
||||||
|
|
||||||
|
@ -33,18 +29,18 @@ public class Socket : IDisposable
|
||||||
|
|
||||||
public class SocketLib : IComponent
|
public class SocketLib : IComponent
|
||||||
{
|
{
|
||||||
private static IGame _game;
|
private static readonly IGame _game;
|
||||||
public SocketLib(IGame game)
|
public SocketLib(IGame game)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LuaRegister[] Methods = new LuaRegister[] {
|
private static readonly LuaRegister[] Methods = new LuaRegister[] {
|
||||||
|
|
||||||
new(),
|
new(),
|
||||||
};
|
};
|
||||||
|
|
||||||
private static LuaRegister[] MetaMethods = new LuaRegister[] {
|
private static readonly LuaRegister[] MetaMethods = new LuaRegister[] {
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
name = "__index",
|
name = "__index",
|
||||||
|
|
|
@ -14,15 +14,8 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
using Capy64.API;
|
using Capy64.API;
|
||||||
using Cyotek.Drawing.BitmapFont;
|
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Capy64.Runtime.Objects;
|
namespace Capy64.Runtime.Objects;
|
||||||
|
|
||||||
|
@ -69,7 +62,7 @@ public class TaskMeta : IComponent
|
||||||
|
|
||||||
var container = tasks.NewThread();
|
var container = tasks.NewThread();
|
||||||
lk(container);
|
lk(container);
|
||||||
if(container.IsNoneOrNil(-1))
|
if (container.IsNoneOrNil(-1))
|
||||||
{
|
{
|
||||||
throw new Exception("Task result cannot be nil");
|
throw new Exception("Task result cannot be nil");
|
||||||
}
|
}
|
||||||
|
@ -123,7 +116,7 @@ public class TaskMeta : IComponent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LuaRegister[] Methods = new LuaRegister[]
|
private static readonly LuaRegister[] Methods = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
@ -158,7 +151,7 @@ public class TaskMeta : IComponent
|
||||||
new(),
|
new(),
|
||||||
};
|
};
|
||||||
|
|
||||||
private static LuaRegister[] MetaMethods = new LuaRegister[]
|
private static readonly LuaRegister[] MetaMethods = new LuaRegister[]
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,6 @@ using Capy64.API;
|
||||||
using Capy64.Runtime.Libraries;
|
using Capy64.Runtime.Libraries;
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Net.WebSockets;
|
using System.Net.WebSockets;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace Capy64.Runtime;
|
||||||
public class PanicScreen
|
public class PanicScreen
|
||||||
{
|
{
|
||||||
public static Color ForegroundColor = Color.White;
|
public static Color ForegroundColor = Color.White;
|
||||||
public static Color BackgroundColor = new Color(0, 51, 187);
|
public static Color BackgroundColor = new(0, 51, 187);
|
||||||
|
|
||||||
public static void Render(string error, string details = null)
|
public static void Render(string error, string details = null)
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ public class PanicScreen
|
||||||
{
|
{
|
||||||
Print(details);
|
Print(details);
|
||||||
}
|
}
|
||||||
Term.SetCursorPosition(1, 19);
|
Term.SetCursorPosition(1, 23);
|
||||||
Print("Hold CTRL + ALT + INSERT to reboot.");
|
Print("Hold CTRL + ALT + INSERT to reboot.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
using Capy64.API;
|
using Capy64.API;
|
||||||
using Capy64.Eventing.Events;
|
using Capy64.Eventing.Events;
|
||||||
using Capy64.Extensions;
|
|
||||||
using Capy64.Runtime.Libraries;
|
using Capy64.Runtime.Libraries;
|
||||||
using KeraLua;
|
using KeraLua;
|
||||||
using System;
|
using System;
|
||||||
|
|
Loading…
Reference in a new issue