daily update on 20241226 by nitload youmu
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"help":"https://go.microsoft.com/fwlink/?linkid=866610"
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
{"CustomColumnOrderings":{"name":0,"file-path":1,"file-name":2,"neutral-value":3,"neutral-comment":4,"type":5},"ShowValidationErrors":true,"SelectedResourceGroups":[],"VisibleColumnKeys":["name","neutral-value"]}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("BenchMark")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("BenchMark")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("BenchMark")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("BenchMark")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("BenchMark")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("BenchMark")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
+149
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"dependencies": {
|
||||
"Terminal.Gui": "2.0.0-v2-develop.2329"
|
||||
},
|
||||
"runtime": {
|
||||
"StgSharpTerminalDialogue.dll": {}
|
||||
}
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/ColorHelper.dll": {
|
||||
"assemblyVersion": "1.8.1.0",
|
||||
"fileVersion": "1.8.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22",
|
||||
"TestableIO.System.IO.Abstractions.Wrappers": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"dependencies": {
|
||||
"System.Text.Encodings.Web": "8.0.0"
|
||||
}
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"dependencies": {
|
||||
"ColorHelper": "1.8.1",
|
||||
"System.IO.Abstractions": "21.0.22",
|
||||
"System.Text.Json": "8.0.4",
|
||||
"Wcwidth": "2.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Terminal.Gui.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.Wrappers.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Wcwidth.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rblWXd/02TfwJjX53xEfQnbnDRKxCm09VtavV8JaIcmIFWt9efNf6xTQ3WeXgy/she5R31eRTtnizFoUoDrs5w==",
|
||||
"path": "colorhelper/1.8.1",
|
||||
"hashPath": "colorhelper.1.8.1.nupkg.sha512"
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DRnFyMIjO1KG9fqUPKV7XDPgECEwrNpsb3OLD0mImViVpRZ5747o7vqrOYbn9AMaQ8eajLeKH0fXQglgH7v42A==",
|
||||
"path": "system.io.abstractions/21.0.22",
|
||||
"hashPath": "system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
|
||||
"path": "system.text.encodings.web/8.0.0",
|
||||
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
|
||||
"path": "system.text.json/8.0.4",
|
||||
"hashPath": "system.text.json.8.0.4.nupkg.sha512"
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-1WRHeZKN5tnF8DUu0vHz5pGZIY9ETwufKbUHCoH3UTcIeOlduhRCpBhTyJWri/fePsUkij2euFMGX2yHfk4h/A==",
|
||||
"path": "terminal.gui/2.0.0-v2-develop.2329",
|
||||
"hashPath": "terminal.gui.2.0.0-v2-develop.2329.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yq3I8rUjNoo4JTOT3jbGfTM5VfowaSYiooDO2bfvQe6XGVyZiSIzaKyCmSnuUEyuktw6zzuVE1lJnUeDhJWtyQ==",
|
||||
"path": "testableio.system.io.abstractions/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ETpw1B6VOsQ5zbfqxqLKjITnMvB9M0K5/bK8qJc6jih+tnlKQmtnnOPSS+OeKCqsZDYeHxPNp4ytQPJS3R+WXA==",
|
||||
"path": "testableio.system.io.abstractions.wrappers/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.wrappers.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eGZYH/V+X1DwEXrPUlUcAp8pU5a38d8IvaQzq4pclJxF1x8bizssIo4uWc3qxmS64BNGK5WnDxyBYJz84+Msqg==",
|
||||
"path": "wcwidth/2.0.0",
|
||||
"hashPath": "wcwidth.2.0.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -88,15 +88,6 @@ namespace StgSharp
|
||||
GLtype.Add( TypeCode.SByte, GLconst.BYTE );
|
||||
GLtype.Add( TypeCode.Byte, GLconst.UNSIGNED_BYTE );
|
||||
|
||||
int statCode;
|
||||
|
||||
fixed( IntrinsicContext* cptr = &_intrinsicContext ) {
|
||||
statCode = LoadIntrinsicFunction( cptr );
|
||||
}
|
||||
if (statCode == -1)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
internal static void InternalAppendLog( string log )
|
||||
|
||||
@@ -42,6 +42,7 @@ namespace StgSharp.Data.Intrinsic
|
||||
[StructLayout( LayoutKind.Sequential )]
|
||||
internal unsafe struct IntrinsicContext
|
||||
{
|
||||
|
||||
public delegate* unmanaged[Cdecl]<ColumnSet2*, ColumnSet2*, ColumnSet2*, void> add_mat_2;
|
||||
public delegate* unmanaged[Cdecl]<ColumnSet3*, ColumnSet3*, ColumnSet3*, void> add_mat_3;
|
||||
public delegate* unmanaged[Cdecl]<ColumnSet4*, ColumnSet4*, ColumnSet4*, void> add_mat_4;
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
using StgSharp.Data.Intrinsic;
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace StgSharp
|
||||
@@ -51,5 +52,25 @@ namespace StgSharp
|
||||
private static extern int LoadIntrinsicFunction(
|
||||
IntrinsicContext* context );
|
||||
|
||||
internal static void InitIntrinsicContext()
|
||||
{
|
||||
int statCode;
|
||||
|
||||
fixed (IntrinsicContext* cptr = &_intrinsicContext)
|
||||
{
|
||||
statCode = LoadIntrinsicFunction(cptr);
|
||||
}
|
||||
|
||||
switch (statCode)
|
||||
{
|
||||
|
||||
case 0:
|
||||
Dialogue.PostError(new PlatformNotSupportedException("No SIMD instructions supported on current hardware platform"));
|
||||
Environment.Exit(-1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
@@ -36,6 +37,9 @@ using System.IO.Pipes;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
using Windows.Win32.UI.WindowsAndMessaging;
|
||||
|
||||
namespace StgSharp
|
||||
{
|
||||
@@ -44,7 +48,58 @@ namespace StgSharp
|
||||
|
||||
private static Process? _dialogueProcess;
|
||||
private static AnonymousPipeServerStream _dialogueClientPipe,_dialogueServerPipe;
|
||||
private static ConcurrentBag<string> msgCache = new ConcurrentBag<string>(
|
||||
);
|
||||
private static int _readAndWriteThreadId;
|
||||
private static ProcessStartInfo _dialogueProcessInfo;
|
||||
private static StreamReader _dr;
|
||||
private static StreamWriter _dw;
|
||||
|
||||
public static bool NeedShowWhenStartup
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public static void SetReadAndWriteThread(Thread thread)
|
||||
{
|
||||
_readAndWriteThreadId = thread.ManagedThreadId;
|
||||
}
|
||||
|
||||
private static void AssertThread()
|
||||
{
|
||||
if (_readAndWriteThreadId != Thread.CurrentThread.ManagedThreadId)
|
||||
{
|
||||
throw new InvalidOperationException("Communication with dialogue can only call from certain thread.");
|
||||
}
|
||||
}
|
||||
|
||||
internal static void CreateDialogueProcessIfNotExist()
|
||||
{
|
||||
if( _dialogueProcess != null ) {
|
||||
return;
|
||||
}
|
||||
if (!File.Exists(_dialogueProcessInfo.FileName))
|
||||
{
|
||||
|
||||
}
|
||||
_dialogueProcess = Process.Start( _dialogueProcessInfo );
|
||||
|
||||
_dr = new StreamReader(_dialogueClientPipe);
|
||||
_dw = new StreamWriter(_dialogueServerPipe);
|
||||
|
||||
_dialogueProcess!.Exited += DialogueProcessExitCallback;
|
||||
|
||||
_dialogueServerPipe.DisposeLocalCopyOfClientHandle();
|
||||
_dialogueClientPipe.DisposeLocalCopyOfClientHandle();
|
||||
}
|
||||
|
||||
private static void DialogueProcessExitCallback(object? sender, EventArgs e)
|
||||
{
|
||||
_dialogueProcess = null;
|
||||
_dr.Close();
|
||||
_dw.Close();
|
||||
}
|
||||
|
||||
internal static void LoadDialogue()
|
||||
{
|
||||
@@ -67,20 +122,36 @@ namespace StgSharp
|
||||
throw new PlatformNotSupportedException( "Unknown OS platform" );
|
||||
}
|
||||
|
||||
string consoleRoute = $"{path}{Path.DirectorySeparatorChar}StgSharpErrorConsole{exeName}";
|
||||
string consoleRoute = $"{path}{Path.DirectorySeparatorChar}StgSharpTerminalDialogue{Path.DirectorySeparatorChar}StgSharpTerminalDialogue{exeName}";
|
||||
|
||||
ProcessStartInfo info = new ProcessStartInfo
|
||||
_dialogueProcessInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = path,
|
||||
Arguments = _dialogueServerPipe.GetClientHandleAsString() + " " + _dialogueClientPipe.GetClientHandleAsString(),
|
||||
FileName = consoleRoute,
|
||||
Arguments = $"{_dialogueServerPipe.GetClientHandleAsString()} {_dialogueClientPipe.GetClientHandleAsString()}",
|
||||
UseShellExecute = true,
|
||||
RedirectStandardOutput = false,
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
internal static void PostMessage(
|
||||
string instruction,
|
||||
params string[] operands ) { }
|
||||
params string[] operands)
|
||||
{
|
||||
CreateDialogueProcessIfNotExist();
|
||||
|
||||
_dw.WriteLine($"{instruction} {operands}");
|
||||
|
||||
}
|
||||
|
||||
public static void PostError(Exception ex)
|
||||
{
|
||||
CreateDialogueProcessIfNotExist();
|
||||
|
||||
_dw.WriteLine($"posterror {ex.Message}");
|
||||
|
||||
_dialogueProcess!.Exited -= DialogueProcessExitCallback;
|
||||
}
|
||||
|
||||
internal static void UnloadDialogue()
|
||||
{
|
||||
@@ -93,20 +164,23 @@ namespace StgSharp
|
||||
_dialogueClientPipe.Dispose();
|
||||
}
|
||||
|
||||
private static void CreateDialogueProcessIfNotExist()
|
||||
internal static string WaitCertainReturn( string target )
|
||||
{
|
||||
if( _dialogueProcess != null ) {
|
||||
return;
|
||||
if( _dialogueProcess == null ) {
|
||||
return string.Empty;
|
||||
}
|
||||
_dialogueProcess = Process.Start( _dialogueProcessInfo );
|
||||
|
||||
_dialogueProcess.Exited += ( sender, e ) => {
|
||||
_dialogueProcess = null;
|
||||
_dialogueProcess = null;
|
||||
};
|
||||
string temp = string .Empty;
|
||||
do {
|
||||
temp = _dr.ReadLine();
|
||||
temp = temp ?? string.Empty;
|
||||
if( !temp!.StartsWith( target ) ) {
|
||||
break;
|
||||
}
|
||||
} while (true);
|
||||
|
||||
_dialogueServerPipe.DisposeLocalCopyOfClientHandle();
|
||||
_dialogueClientPipe.DisposeLocalCopyOfClientHandle();
|
||||
int index = temp.IndexOf( ' ' );
|
||||
return index != -1 ? temp.Substring( index + 1 ) : string.Empty;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
// using StgSharp.Graphics;
|
||||
// using StgSharp.Math;
|
||||
|
||||
using StgSharp.Data.Intrinsic;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
@@ -82,7 +84,7 @@ namespace StgSharp
|
||||
private static uint markCount = 0;
|
||||
internal static GraphicAPI API = default;
|
||||
|
||||
public static void Init()
|
||||
public static unsafe void Init()
|
||||
{
|
||||
mainTimeProvider = new StgSharpTime();
|
||||
MainTimeProvider.StartProvidingTime();
|
||||
@@ -92,6 +94,15 @@ namespace StgSharp
|
||||
$"Program {Assembly.GetEntryAssembly()!.FullName} Started.",
|
||||
LogType.Info );
|
||||
_mainThreadID = Environment.CurrentManagedThreadId;
|
||||
|
||||
|
||||
Dialogue.LoadDialogue();
|
||||
if (Dialogue.NeedShowWhenStartup)
|
||||
{
|
||||
Dialogue.CreateDialogueProcessIfNotExist();
|
||||
}
|
||||
|
||||
InternalIO.InitIntrinsicContext();
|
||||
}
|
||||
|
||||
public static void LogError( Exception ex )
|
||||
|
||||
@@ -50,7 +50,6 @@ namespace StgSharp.Graphics
|
||||
public abstract class RenderStream
|
||||
{
|
||||
|
||||
private protected (int x, int y, int z) _coordStretch;
|
||||
private protected ViewPort primeArgs;
|
||||
private Camera nativeCamera;
|
||||
internal TimeSpanProvider _timeProvider;
|
||||
@@ -86,8 +85,6 @@ namespace StgSharp.Graphics
|
||||
get => primeArgs.Name;
|
||||
}
|
||||
|
||||
public Vec2 GlobalCoordSize => (( Width * 1.0f ) / _coordStretch.x, ( Height * 1.0f ) / _coordStretch.y);
|
||||
|
||||
public ViewPort BindedViewPortContext
|
||||
{
|
||||
get => primeArgs;
|
||||
@@ -152,7 +149,7 @@ namespace StgSharp.Graphics
|
||||
{
|
||||
TTarget target = new TTarget();
|
||||
target.Initialize(
|
||||
source.BindedViewPortContext, source._coordStretch,
|
||||
source.BindedViewPortContext,
|
||||
source._timeProvider );
|
||||
return target;
|
||||
}
|
||||
@@ -204,7 +201,6 @@ namespace StgSharp.Graphics
|
||||
|
||||
public void Initialize(
|
||||
ViewPort v,
|
||||
(int, int, int) unitCubeSize,
|
||||
TimeSpanProvider timeProvider )
|
||||
{
|
||||
if( v == null ) {
|
||||
@@ -212,7 +208,6 @@ namespace StgSharp.Graphics
|
||||
}
|
||||
primeArgs = v;
|
||||
this._timeProvider = timeProvider;
|
||||
_coordStretch = unitCubeSize;
|
||||
nativeCamera = new Camera();
|
||||
PlatformSpecifiedInitialize();
|
||||
CustomizeInit();
|
||||
|
||||
@@ -106,22 +106,20 @@ namespace StgSharp.MVVM.View
|
||||
|
||||
protected ViewResponder<TView> Responder => ( _binding.Responder as ViewResponder<TView> )!;
|
||||
|
||||
public T CreateRenderStream<T>( (int x, int y, int z) unitCubeSize )
|
||||
public T CreateRenderStream<T>()
|
||||
where T: RenderStream, new()
|
||||
{
|
||||
T ret = new T();
|
||||
ret.Initialize(
|
||||
_binding.context, unitCubeSize, Binding.TimeProvider );
|
||||
_binding.context, Binding.TimeProvider );
|
||||
return ret;
|
||||
}
|
||||
|
||||
public T CreateRenderStream<T>(
|
||||
ViewPort vp,
|
||||
(int x, int y, int z) unitCubeSize )
|
||||
public T CreateRenderStream<T>( ViewPort vp )
|
||||
where T: RenderStream, new()
|
||||
{
|
||||
T ret = new T();
|
||||
ret.Initialize( vp, unitCubeSize, Binding.TimeProvider );
|
||||
ret.Initialize( vp, Binding.TimeProvider );
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ namespace StgSharp.MVVM.ViewModel
|
||||
{
|
||||
Interlocked.Exchange( ref _frameSpeed, _frameCount );
|
||||
Interlocked.Exchange( ref _frameCount, 0 );
|
||||
/**/
|
||||
/*
|
||||
Console.Clear();
|
||||
Console.WriteLine( FrameSpeed );
|
||||
/**/
|
||||
|
||||
@@ -70,10 +70,10 @@ namespace StgSharp.MVVM
|
||||
_handleToViewPortIndex.TryAdd( ViewPortID, this );
|
||||
}
|
||||
|
||||
internal ViewPort( Vec2 size, string name, IntPtr monitor )
|
||||
internal ViewPort(int width, int height, string name, IntPtr monitor )
|
||||
{
|
||||
_newWidth = ( int )size.X;
|
||||
_newHeight = ( int )size.Y;
|
||||
_newWidth = width;
|
||||
_newHeight = height;
|
||||
FlushSize();
|
||||
Name = name;
|
||||
Monitor = monitor;
|
||||
|
||||
@@ -52,8 +52,8 @@ namespace StgSharp.Math
|
||||
|
||||
public Matrix22()
|
||||
{
|
||||
Unsafe.SkipInit( out _mat );
|
||||
Unsafe.SkipInit(out _transpose);
|
||||
Unsafe.SkipInit( out this );
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix22( ColumnSet2 mat )
|
||||
@@ -63,12 +63,16 @@ namespace StgSharp.Math
|
||||
|
||||
internal Matrix22( Vector4 c0, Vector4 c1 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
_mat.colum0 = c0;
|
||||
_mat.colum1 = c1;
|
||||
}
|
||||
|
||||
public Matrix22( float a00, float a01, float a10, float a11 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
_mat.colum0 = new Vector4( a00, a10, 0, 0 );
|
||||
_mat.colum1 = new Vector4( a01, a11, 0, 0 );
|
||||
}
|
||||
@@ -163,7 +167,7 @@ namespace StgSharp.Math
|
||||
Vector4.Dot( left._transpose.colum1, right.mat.colum0 ),
|
||||
Vector4.Dot( left._transpose.colum1, right.mat.colum1 ),
|
||||
Vector4.Dot( left._transpose.colum1, right.mat.colum2 ),
|
||||
Vector4.Dot( left._transpose.colum1, right.mat.colum3 ) );
|
||||
Vector4.Dot( left._transpose.colum1, right.mat.colum3 ));
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
|
||||
@@ -43,7 +43,6 @@ namespace StgSharp.Math
|
||||
Pack = 16 )]
|
||||
public struct Matrix24 : IMat
|
||||
{
|
||||
|
||||
[FieldOffset( 6 * 4 * sizeof( float ) )] internal bool isTransposed;
|
||||
[FieldOffset( 4 * 4 * sizeof( float ) )] internal ColumnSet2 transpose;
|
||||
|
||||
@@ -54,8 +53,16 @@ namespace StgSharp.Math
|
||||
[FieldOffset( 32 )] public Vec2 Colum2;
|
||||
[FieldOffset( 48 )] public Vec2 Colum3;
|
||||
|
||||
public Matrix24()
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix24( Vector4 c0, Vector4 c1, Vector4 c2, Vector4 c3 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = c0;
|
||||
mat.colum1 = c1;
|
||||
mat.colum2 = c2;
|
||||
@@ -72,6 +79,8 @@ namespace StgSharp.Math
|
||||
float a12,
|
||||
float a13 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = new Vector4( a00, a10, 0, 0 );
|
||||
mat.colum1 = new Vector4( a01, a11, 0, 0 );
|
||||
mat.colum2 = new Vector4( a02, a12, 0, 0 );
|
||||
@@ -200,13 +209,11 @@ namespace StgSharp.Math
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
public static Matrix24 operator +( Matrix24 left, Matrix24 right )
|
||||
public static unsafe Matrix24 operator +( Matrix24 left, Matrix24 right )
|
||||
{
|
||||
return new Matrix24(
|
||||
left.mat.colum0 + right.mat.colum0,
|
||||
left.mat.colum1 + right.mat.colum1,
|
||||
left.mat.colum2 + right.mat.colum2,
|
||||
left.mat.colum3 + right.mat.colum3 );
|
||||
Matrix24 ret = new Matrix24();
|
||||
InternalIO.Intrinsic.add_mat_4(&left.mat,&right.mat,&ret.mat);
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -52,8 +52,16 @@ namespace StgSharp.Math
|
||||
[FieldOffset( 0 )] internal Vec3 colum0;
|
||||
[FieldOffset( 4 * 4 )] internal Vec3 colum1;
|
||||
|
||||
public Matrix32()
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix32( Vector4 c0, Vector4 c1 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = c0;
|
||||
mat.colum1 = c1;
|
||||
}
|
||||
@@ -66,11 +74,8 @@ namespace StgSharp.Math
|
||||
float a20,
|
||||
float a21 )
|
||||
{
|
||||
#if NET5_0_OR_GREATER
|
||||
Unsafe.SkipInit( out colum0 );
|
||||
Unsafe.SkipInit( out colum1 );
|
||||
Unsafe.SkipInit( out transpose );
|
||||
#endif
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = new Vector4( a00, a10, a20, 0 );
|
||||
mat.colum1 = new Vector4( a01, a11, a21, 0 );
|
||||
}
|
||||
@@ -204,11 +209,11 @@ namespace StgSharp.Math
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
public static Matrix32 operator +( Matrix32 left, Matrix32 right )
|
||||
public static unsafe Matrix32 operator +( Matrix32 left, Matrix32 right )
|
||||
{
|
||||
return new Matrix32(
|
||||
left.mat.colum0 + right.mat.colum0,
|
||||
left.mat.colum1 + right.mat.colum1 );
|
||||
Matrix32 ret = new Matrix32();
|
||||
InternalIO.Intrinsic.add_mat_2(&left.mat, &right.mat, &ret.mat);
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -52,8 +52,16 @@ namespace StgSharp.Math
|
||||
[FieldOffset( 1 * 4 * sizeof( float ) )] public Vec3 Colum1;
|
||||
[FieldOffset( 2 * 4 * sizeof( float ) )] public Vec3 Colum2;
|
||||
|
||||
public Matrix33()
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix33( Vector4 c0, Vector4 c1, Vector4 c2 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = c0;
|
||||
mat.colum1 = c1;
|
||||
mat.colum2 = c2;
|
||||
@@ -70,6 +78,8 @@ namespace StgSharp.Math
|
||||
float a21,
|
||||
float a22 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = new Vector4( a00, a10, a20, 0 );
|
||||
mat.colum1 = new Vector4( a01, a11, a21, 0 );
|
||||
mat.colum2 = new Vector4( a02, a12, a22, 0 );
|
||||
@@ -219,12 +229,11 @@ namespace StgSharp.Math
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
public static Matrix33 operator +( Matrix33 left, Matrix33 right )
|
||||
public static unsafe Matrix33 operator +( Matrix33 left, Matrix33 right )
|
||||
{
|
||||
return new Matrix33(
|
||||
left.mat.colum0 + right.mat.colum0,
|
||||
left.mat.colum1 + right.mat.colum1,
|
||||
left.mat.colum2 + right.mat.colum2 );
|
||||
Matrix33 ret = new Matrix33();
|
||||
InternalIO.Intrinsic.add_mat_3(&left.mat, &right.mat, &ret.mat);
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -55,13 +55,23 @@ namespace StgSharp.Math
|
||||
[FieldOffset( 2 * 4 * sizeof( float ) )] public Vec3 Colum2;
|
||||
[FieldOffset( 3 * 4 * sizeof( float ) )] public Vec3 Colum3;
|
||||
|
||||
public Matrix34()
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix34( ColumnSet4 mat )
|
||||
{
|
||||
Unsafe.SkipInit( out this );
|
||||
isTransposed = false;
|
||||
this.mat = mat;
|
||||
}
|
||||
|
||||
internal Matrix34( Vector4 c0, Vector4 c1, Vector4 c2, Vector4 c3 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = c0;
|
||||
mat.colum1 = c1;
|
||||
mat.colum2 = c2;
|
||||
@@ -82,6 +92,8 @@ namespace StgSharp.Math
|
||||
float a22,
|
||||
float a23 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = new Vector4( a00, a10, a20, 0 );
|
||||
mat.colum0 = new Vector4( a01, a11, a21, 0 );
|
||||
mat.colum0 = new Vector4( a02, a12, a22, 0 );
|
||||
@@ -215,13 +227,12 @@ namespace StgSharp.Math
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
public static Matrix34 operator +( Matrix34 left, Matrix34 right )
|
||||
public static unsafe Matrix34 operator +( Matrix34 left, Matrix34 right )
|
||||
{
|
||||
return new Matrix34(
|
||||
left.mat.colum0 + right.mat.colum0,
|
||||
left.mat.colum1 + right.mat.colum1,
|
||||
left.mat.colum2 + right.mat.colum2,
|
||||
left.mat.colum3 + right.mat.colum3 );
|
||||
Matrix34 ret = new Matrix34();
|
||||
InternalIO.Intrinsic.add_mat_4(&left.mat,&right.mat,&ret.mat);
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -49,13 +49,23 @@ namespace StgSharp.Math
|
||||
[FieldOffset( 0 )] internal ColumnSet2 mat;
|
||||
[FieldOffset( 8 * sizeof( float ) )] internal ColumnSet4 transpose;
|
||||
|
||||
public Matrix42()
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix42( ColumnSet2 mat )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
this.mat = mat;
|
||||
}
|
||||
|
||||
internal Matrix42( Vector4 c0, Vector4 c1 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed= false;
|
||||
mat.colum0 = c0;
|
||||
mat.colum1 = c1;
|
||||
}
|
||||
@@ -70,6 +80,8 @@ namespace StgSharp.Math
|
||||
float a30,
|
||||
float a31 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = new Vector4( a00, a10, a20, a30 );
|
||||
mat.colum1 = new Vector4( a01, a11, a21, a31 );
|
||||
}
|
||||
|
||||
@@ -35,11 +35,12 @@ using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.AccessControl;
|
||||
|
||||
namespace StgSharp.Math
|
||||
{
|
||||
[StructLayout(
|
||||
LayoutKind.Explicit,
|
||||
layoutKind: LayoutKind.Explicit,
|
||||
Size = ( 7 * 4 * sizeof( float ) ) + sizeof( bool ),
|
||||
Pack = 16 )]
|
||||
public struct Matrix43 : IEquatable<Matrix43>, IMat
|
||||
@@ -50,12 +51,19 @@ namespace StgSharp.Math
|
||||
|
||||
[FieldOffset( 0 )]
|
||||
internal ColumnSet3 mat;
|
||||
|
||||
[FieldOffset( 3 * 4 * sizeof( float ) )]
|
||||
internal ColumnSet4 transpose;
|
||||
|
||||
public Matrix43()
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix43( Vector4 c0, Vector4 c1, Vector4 c2 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = c0;
|
||||
mat.colum1 = c1;
|
||||
mat.colum2 = c2;
|
||||
@@ -75,6 +83,8 @@ namespace StgSharp.Math
|
||||
float a31,
|
||||
float a32 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = new Vector4( a00, a10, a20, a30 );
|
||||
mat.colum1 = new Vector4( a01, a11, a21, a31 );
|
||||
mat.colum2 = new Vector4( a02, a12, a22, a32 );
|
||||
@@ -135,12 +145,10 @@ namespace StgSharp.Math
|
||||
internal unsafe void InternalTranspose()
|
||||
{
|
||||
if( !isTransposed ) {
|
||||
fixed( ColumnSet3* source = &this.mat ) {
|
||||
fixed( ColumnSet4* target = &this.transpose ) {
|
||||
InternalIO.Intrinsic.transpose34( source, target );
|
||||
}
|
||||
fixed( ColumnSet3* source = &this.mat )
|
||||
fixed( ColumnSet4* target = &this.transpose ) {
|
||||
InternalIO.Intrinsic.transpose34( source, target );
|
||||
}
|
||||
|
||||
isTransposed = true;
|
||||
}
|
||||
}
|
||||
@@ -160,7 +168,7 @@ namespace StgSharp.Math
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
public static Matrix43 operator *( Matrix43 mat, float value )
|
||||
public static unsafe Matrix43 operator *( Matrix43 mat, float value )
|
||||
{
|
||||
return new Matrix43(
|
||||
mat.mat.colum0 * value, mat.mat.colum1 * value,
|
||||
@@ -242,12 +250,11 @@ namespace StgSharp.Math
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
public static Matrix43 operator +( Matrix43 left, Matrix43 right )
|
||||
public static unsafe Matrix43 operator +( Matrix43 left, Matrix43 right )
|
||||
{
|
||||
return new Matrix43(
|
||||
left.mat.colum0 + right.mat.colum0,
|
||||
left.mat.colum1 + right.mat.colum1,
|
||||
left.mat.colum2 + right.mat.colum2 );
|
||||
Matrix43 ret = new Matrix43();
|
||||
InternalIO.Intrinsic.add_mat_3(&left.mat, &right.mat, &ret.mat);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static bool operator ==( Matrix43 left, Matrix43 right )
|
||||
|
||||
@@ -55,8 +55,16 @@ namespace StgSharp.Math
|
||||
[FieldOffset( 8 * sizeof( float ) )] internal Vec4 colum2;
|
||||
[FieldOffset( 12 * sizeof( float ) )] internal Vec4 colum3;
|
||||
|
||||
public Matrix44()
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
}
|
||||
|
||||
internal Matrix44( ColumnSet4 mat )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
this.mat = mat;
|
||||
}
|
||||
|
||||
@@ -66,6 +74,8 @@ namespace StgSharp.Math
|
||||
Vector4 vec2,
|
||||
Vector4 vec3 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = vec0;
|
||||
mat.colum1 = vec1;
|
||||
mat.colum2 = vec2;
|
||||
@@ -90,6 +100,8 @@ namespace StgSharp.Math
|
||||
float a32,
|
||||
float a33 )
|
||||
{
|
||||
Unsafe.SkipInit(out this);
|
||||
isTransposed = false;
|
||||
mat.colum0 = new Vector4( a00, a10, a20, a30 );
|
||||
mat.colum1 = new Vector4( a01, a11, a21, a31 );
|
||||
mat.colum2 = new Vector4( a02, a12, a22, a32 );
|
||||
@@ -295,15 +307,11 @@ namespace StgSharp.Math
|
||||
}
|
||||
|
||||
[MethodImpl( MethodImplOptions.AggressiveInlining )]
|
||||
public static unsafe Matrix44 operator +(
|
||||
Matrix44 left,
|
||||
Matrix44 right )
|
||||
public static unsafe Matrix44 operator +(Matrix44 left, Matrix44 right )
|
||||
{
|
||||
return new Matrix44(
|
||||
right.mat.colum0 + left.mat.colum0,
|
||||
right.mat.colum1 + left.mat.colum1,
|
||||
right.mat.colum2 + left.mat.colum2,
|
||||
right.mat.colum3 + left.mat.colum3 );
|
||||
Matrix44 ret = new Matrix44();
|
||||
InternalIO.Intrinsic.add_mat_4(&left.mat, &right.mat, &ret.mat);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static bool operator ==( Matrix44 left, Matrix44 right )
|
||||
|
||||
@@ -126,11 +126,9 @@ namespace StgSharp.Stg
|
||||
public void Init( Radius angleStride, string name )
|
||||
{
|
||||
primeArgs = new ViewPort(
|
||||
(1, ( ( new Radius( Scaler.Pi ) ) / angleStride )), name,
|
||||
1, (int)(( new Radius( Scaler.Pi ) ) / angleStride), name,
|
||||
IntPtr.Zero );
|
||||
|
||||
_coordStretch = (1, 1, 1);
|
||||
|
||||
PlatformSpecifiedInitialize();
|
||||
CustomizeInit();
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="copy $(SolutionDir)StgSharpC.dll $(OutDir)StgSharpC.dll
copy $(SolutionDir)StgSharpC.dll $(OutDir) " />
|
||||
<Exec Command="xcopy /E /I /Y $(SolutionDir)build $(OutDir)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
||||
+149
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"dependencies": {
|
||||
"Terminal.Gui": "2.0.0-v2-develop.2329"
|
||||
},
|
||||
"runtime": {
|
||||
"StgSharpTerminalDialogue.dll": {}
|
||||
}
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/ColorHelper.dll": {
|
||||
"assemblyVersion": "1.8.1.0",
|
||||
"fileVersion": "1.8.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22",
|
||||
"TestableIO.System.IO.Abstractions.Wrappers": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"dependencies": {
|
||||
"System.Text.Encodings.Web": "8.0.0"
|
||||
}
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"dependencies": {
|
||||
"ColorHelper": "1.8.1",
|
||||
"System.IO.Abstractions": "21.0.22",
|
||||
"System.Text.Json": "8.0.4",
|
||||
"Wcwidth": "2.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Terminal.Gui.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.Wrappers.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Wcwidth.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rblWXd/02TfwJjX53xEfQnbnDRKxCm09VtavV8JaIcmIFWt9efNf6xTQ3WeXgy/she5R31eRTtnizFoUoDrs5w==",
|
||||
"path": "colorhelper/1.8.1",
|
||||
"hashPath": "colorhelper.1.8.1.nupkg.sha512"
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DRnFyMIjO1KG9fqUPKV7XDPgECEwrNpsb3OLD0mImViVpRZ5747o7vqrOYbn9AMaQ8eajLeKH0fXQglgH7v42A==",
|
||||
"path": "system.io.abstractions/21.0.22",
|
||||
"hashPath": "system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
|
||||
"path": "system.text.encodings.web/8.0.0",
|
||||
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
|
||||
"path": "system.text.json/8.0.4",
|
||||
"hashPath": "system.text.json.8.0.4.nupkg.sha512"
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-1WRHeZKN5tnF8DUu0vHz5pGZIY9ETwufKbUHCoH3UTcIeOlduhRCpBhTyJWri/fePsUkij2euFMGX2yHfk4h/A==",
|
||||
"path": "terminal.gui/2.0.0-v2-develop.2329",
|
||||
"hashPath": "terminal.gui.2.0.0-v2-develop.2329.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yq3I8rUjNoo4JTOT3jbGfTM5VfowaSYiooDO2bfvQe6XGVyZiSIzaKyCmSnuUEyuktw6zzuVE1lJnUeDhJWtyQ==",
|
||||
"path": "testableio.system.io.abstractions/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ETpw1B6VOsQ5zbfqxqLKjITnMvB9M0K5/bK8qJc6jih+tnlKQmtnnOPSS+OeKCqsZDYeHxPNp4ytQPJS3R+WXA==",
|
||||
"path": "testableio.system.io.abstractions.wrappers/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.wrappers.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eGZYH/V+X1DwEXrPUlUcAp8pU5a38d8IvaQzq4pclJxF1x8bizssIo4uWc3qxmS64BNGK5WnDxyBYJz84+Msqg==",
|
||||
"path": "wcwidth/2.0.0",
|
||||
"hashPath": "wcwidth.2.0.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("RealDebug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -41,6 +41,7 @@ extern "C" {
|
||||
|
||||
#define ALIGN(simdVec) _mm_loadu_ps(&simdVec)
|
||||
#define ALIGN256(simdVec) _mm256_loadu_ps(&simdVec)
|
||||
#define ALIGN512(simdVec) _mm512_loadu_ps(&simdVec)
|
||||
|
||||
typedef struct Image {
|
||||
int width;
|
||||
|
||||
@@ -73,10 +73,10 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<OutDir>$(SolutionDir)build</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<OutDir>$(SolutionDir)build</OutDir>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
@@ -119,6 +119,7 @@
|
||||
<ExpandAttributedSource>true</ExpandAttributedSource>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@@ -138,16 +139,17 @@
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AssemblerOutput>AssemblyAndMachineCode</AssemblerOutput>
|
||||
<AssemblerOutput>NoListing</AssemblerOutput>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalDependencies>opengl32.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
// dllmain.cpp : 定义 DLL 应用程序的入口点。
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
#include "ssc_framework.h"
|
||||
#endif // __
|
||||
@@ -35,6 +34,6 @@ attribute((constructor)) void DllMain()
|
||||
{
|
||||
}
|
||||
|
||||
// clang-format on
|
||||
|
||||
#endif // _WIN32
|
||||
|
||||
// clang-format on
|
||||
|
||||
+82
-20
@@ -2,14 +2,42 @@
|
||||
#include "ssc_intrinsic.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#ifdef _MSC_VER
|
||||
#include <intrin.h>
|
||||
#include <isa_availability.h>
|
||||
#else
|
||||
#else
|
||||
#include <cpuid.h>
|
||||
#endif // _MSC_VER
|
||||
|
||||
PRIVATE void load_intrinsic_sse(ssc_intrinsic* context);
|
||||
PRIVATE void load_intrinsic_sse(ssc_intrinsic *context);
|
||||
PRIVATE void load_intrinsic_avx(ssc_intrinsic *context);
|
||||
PRIVATE void load_intrinsic_512(ssc_intrinsic *context);
|
||||
|
||||
PRIVATE int check_isa(most_advanced_instruction instruction_family)
|
||||
{
|
||||
if (instruction_family != NEON) {
|
||||
#if _MSC_VER
|
||||
return __check_isa_support(instruction_family, 0);
|
||||
#else
|
||||
switch (instruction_family) {
|
||||
case SSE:
|
||||
return __builtin_cpu_supports("sse4.2");
|
||||
case AVX256:
|
||||
return __builtin_cpu_supports("avx2");
|
||||
case AVX512:
|
||||
return __builtin_cpu_supports("avx512f");
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
#endif // _MSC_VER
|
||||
}
|
||||
|
||||
#if defined(__ARM_NEON) || defined(__ARM_NEON__)
|
||||
return 1;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
SSCAPI int load_intrinsic_function(void *intrinsic_context)
|
||||
{
|
||||
@@ -17,31 +45,65 @@ SSCAPI int load_intrinsic_function(void *intrinsic_context)
|
||||
|
||||
ssc_intrinsic *context = (ssc_intrinsic *)intrinsic_context;
|
||||
|
||||
if (__check_isa_support(__IA_SUPPORT_VECTOR512,0))
|
||||
{
|
||||
|
||||
}
|
||||
else if (__check_isa_support(__IA_SUPPORT_VECTOR256, 0))
|
||||
{
|
||||
|
||||
}
|
||||
else if (__check_isa_support(__IA_SUPPORT_SSE42, 0))
|
||||
{
|
||||
if (check_isa(AVX512)) {
|
||||
load_intrinsic_512(context);
|
||||
return 3;
|
||||
} else if (check_isa(AVX256)) {
|
||||
load_intrinsic_avx(context);
|
||||
return 2;
|
||||
} else if (check_isa(SSE)) {
|
||||
load_intrinsic_sse(context);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
return 1;
|
||||
} else if (check_isa(NEON)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void load_intrinsic_sse(ssc_intrinsic* context)
|
||||
void load_intrinsic_sse(ssc_intrinsic *context)
|
||||
{
|
||||
context->add_m2 = addmatrix2_sse;
|
||||
context->add_m3 = ;
|
||||
context->add_m4 = ;
|
||||
context->add_m3 = addmatrix3_sse;
|
||||
context->add_m4 = addmatrix4_sse;
|
||||
context->transpose_23 = transpose23;
|
||||
context->transpose_24 = transpose24;
|
||||
context->transpose_32 = transpose32;
|
||||
context->transpose_33 = transpose33;
|
||||
context->transpose_34 = transpose34;
|
||||
context->transpose_42 = transpose42;
|
||||
context->transpose_43 = transpose43;
|
||||
context->transpose_44 = transpose44;
|
||||
context->normalize_3 = normalize;
|
||||
context->det_matrix33 = det_mat3;
|
||||
context->det_matrix44 = det_mat4;
|
||||
context->string_quick_hash = quick_string_hash;
|
||||
}
|
||||
|
||||
void load_intrinsic_avx(ssc_intrinsic *context)
|
||||
{
|
||||
context->add_m2 = addmatrix2_avx;
|
||||
context->add_m3 = addmatrix3_avx;
|
||||
context->add_m4 = addmatrix4_avx;
|
||||
context->transpose_23 = transpose23;
|
||||
context->transpose_24 = transpose24;
|
||||
context->transpose_32 = transpose32;
|
||||
context->transpose_33 = transpose33;
|
||||
context->transpose_34 = transpose34;
|
||||
context->transpose_42 = transpose42;
|
||||
context->transpose_43 = transpose43;
|
||||
context->transpose_44 = transpose44;
|
||||
context->normalize_3 = normalize;
|
||||
context->det_matrix33 = det_mat3;
|
||||
context->det_matrix44 = det_mat4;
|
||||
context->string_quick_hash = quick_string_hash;
|
||||
}
|
||||
|
||||
void load_intrinsic_512(ssc_intrinsic *context)
|
||||
{
|
||||
context->add_m2 = addmatrix2_avx;
|
||||
context->add_m3 = addmatrix3_512;
|
||||
context->add_m4 = addmatrix4_512;
|
||||
context->transpose_23 = transpose23;
|
||||
context->transpose_24 = transpose24;
|
||||
context->transpose_32 = transpose32;
|
||||
|
||||
+15
-28
@@ -1,45 +1,32 @@
|
||||
#include "StgSharpC.h"
|
||||
#include "ssc_intrinsic.h"
|
||||
|
||||
INTERNAL void __cdecl transpose23(__2_columnset *source,
|
||||
__3_columnset *target)
|
||||
INTERNAL void __cdecl transpose23(__2_columnset *source, __3_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] =
|
||||
_mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl transpose24(__2_columnset *source,
|
||||
__4_columnset *target)
|
||||
INTERNAL void __cdecl transpose24(__2_columnset *source, __4_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] =
|
||||
_mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[3] =
|
||||
_mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[3] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix2_sse(__2_columnset* left, __2_columnset* right, __2_columnset* ans)
|
||||
INTERNAL void __cdecl addmatrix2_sse(__2_columnset *left, __2_columnset *right, __2_columnset *ans)
|
||||
{
|
||||
__m128 temp0 = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0]));
|
||||
__m128 temp1 = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1]));
|
||||
@@ -48,7 +35,7 @@ INTERNAL void __cdecl addmatrix2_sse(__2_columnset* left, __2_columnset* right,
|
||||
_mm_storeu_ps(&ans->m[0][1], temp1);
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix2_avx(__2_columnset* left, __2_columnset* right, __2_columnset* ans)
|
||||
INTERNAL void __cdecl addmatrix2_avx(__2_columnset *left, __2_columnset *right, __2_columnset *ans)
|
||||
{
|
||||
__m256 temp = _mm256_add_ps(ALIGN256(left->column[0]), ALIGN256(right->column[0]));
|
||||
_mm256_storeu_ps(&ans->m[0][0], temp);
|
||||
|
||||
+21
-37
@@ -2,51 +2,38 @@
|
||||
#include "ssc_intrinsic.h"
|
||||
#include <stdio.h>
|
||||
|
||||
INTERNAL void _cdecl transpose32(__3_columnset *source,
|
||||
__2_columnset *target)
|
||||
INTERNAL void _cdecl transpose32(__3_columnset *source, __2_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL void _cdecl transpose33(__3_columnset *source,
|
||||
__3_columnset *target)
|
||||
INTERNAL void _cdecl transpose33(__3_columnset *source, __3_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
}
|
||||
|
||||
INTERNAL void _cdecl transpose34(__3_columnset *source,
|
||||
__4_columnset *target)
|
||||
INTERNAL void _cdecl transpose34(__3_columnset *source, __4_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
@@ -54,9 +41,7 @@ INTERNAL void _cdecl transpose34(__3_columnset *source,
|
||||
target->column[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL float _cdecl det_mat3_internal(__m128 const c0,
|
||||
__m128 const c1,
|
||||
__m128 const c2)
|
||||
INTERNAL float _cdecl det_mat3_internal(__m128 const c0, __m128 const c1, __m128 const c2)
|
||||
{
|
||||
//let adding row aligned
|
||||
__m128 addc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 0, 2, 1));
|
||||
@@ -83,16 +68,14 @@ INTERNAL float _cdecl det_mat3_internal(__m128 const c0,
|
||||
return ret.m128_f32[2];
|
||||
}
|
||||
|
||||
INTERNAL float _cdecl det_mat3(__3_columnset *source,
|
||||
__3_columnset *transpose)
|
||||
INTERNAL float _cdecl det_mat3(__3_columnset *source, __3_columnset *transpose)
|
||||
{
|
||||
return det_mat3_internal(source->column[0], source->column[1],
|
||||
source->column[2]);
|
||||
return det_mat3_internal(source->column[0], source->column[1], source->column[2]);
|
||||
}
|
||||
|
||||
#pragma region add
|
||||
|
||||
INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans)
|
||||
INTERNAL void __cdecl addmatrix3_sse(__3_columnset *left, __3_columnset *right, __3_columnset *ans)
|
||||
{
|
||||
__m128 temp0 = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0]));
|
||||
__m128 temp1 = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1]));
|
||||
@@ -103,7 +86,7 @@ INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right,
|
||||
_mm_storeu_ps(&ans->m[0][2], temp2);
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans)
|
||||
INTERNAL void __cdecl addmatrix3_avx(__3_columnset *left, __3_columnset *right, __3_columnset *ans)
|
||||
{
|
||||
__m256 temp0 = _mm256_add_ps(ALIGN256(left->part), ALIGN256(right->part));
|
||||
__m128 temp1 = _mm_add_ps(ALIGN(left->column[2]), ALIGN(right->column[2]));
|
||||
@@ -112,9 +95,10 @@ INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right,
|
||||
_mm_storeu_ps(&ans->m[0][2], temp1);
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans)
|
||||
INTERNAL void __cdecl addmatrix3_512(__3_columnset *left, __3_columnset *right, __3_columnset *ans)
|
||||
{
|
||||
__m512
|
||||
__m512 temp = _mm512_add_ps(_mm512_loadu_ps(left), _mm512_loadu_ps(right));
|
||||
_mm512_mask_store_ps(ans, 0x0fff, temp);
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
@@ -74,3 +74,22 @@ INTERNAL float __cdecl det_mat4(__4_columnset const *mat_ptr, __4_columnset cons
|
||||
retvec = _mm_hadd_ps(retvec, retvec);
|
||||
return -retvec.m128_f32[0];
|
||||
}
|
||||
|
||||
INTERNAL void SSCDECL addmatrix4_sse(__4_columnset *left, __4_columnset *right, __4_columnset *ans)
|
||||
{
|
||||
ans->column[0] = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0]));
|
||||
ans->column[1] = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1]));
|
||||
ans->column[2] = _mm_add_ps(ALIGN(left->column[2]), ALIGN(right->column[2]));
|
||||
ans->column[3] = _mm_add_ps(ALIGN(left->column[3]), ALIGN(right->column[3]));
|
||||
}
|
||||
|
||||
INTERNAL void SSCDECL addmatrix4_avx(__4_columnset *left, __4_columnset *right, __4_columnset *ans)
|
||||
{
|
||||
ans->half[0] = _mm256_add_ps(ALIGN256(left->half[0]), ALIGN256(right->half[0]));
|
||||
ans->half[1] = _mm256_add_ps(ALIGN256(left->half[1]), ALIGN256(right->half[1]));
|
||||
}
|
||||
|
||||
INTERNAL void SSCDECL addmatrix4_512(__4_columnset *left, __4_columnset *right, __4_columnset *ans)
|
||||
{
|
||||
ans->stream = _mm512_add_ps(ALIGN512(left->stream), ALIGN512(right->stream));
|
||||
}
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
#include "StgSharpC.h"
|
||||
#include <immintrin.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <intrin.h>
|
||||
#include <isa_availability.h>
|
||||
#endif
|
||||
|
||||
typedef union column_2 {
|
||||
__m256 stream[1];
|
||||
__m128 column[2];
|
||||
@@ -39,21 +44,24 @@ INTERNAL void normalize(__m128 *source, __m128 *target);
|
||||
|
||||
INTERNAL void SSCDECL addmatrix2_sse(__2_columnset* left, __2_columnset* right, __2_columnset* ans);
|
||||
INTERNAL void SSCDECL addmatrix2_avx(__2_columnset* left, __2_columnset* right, __2_columnset* ans);
|
||||
INTERNAL void SSCDECL transpose23(__2_columnset *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose24(__2_columnset *source, __4_columnset *target);
|
||||
INTERNAL void SSCDECL transpose23(__2_columnset const *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose24(__2_columnset const *source, __4_columnset *target);
|
||||
|
||||
|
||||
INTERNAL void SSCDECL addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans);
|
||||
INTERNAL void SSCDECL addmatrix3_avx(__3_columnset* left, __3_columnset* right, __3_columnset* ans);
|
||||
INTERNAL void SSCDECL addmatrix3_512(__3_columnset* left, __3_columnset* right, __3_columnset* ans);
|
||||
INTERNAL void SSCDECL transpose32(__3_columnset *source, __2_columnset *target);
|
||||
INTERNAL void SSCDECL transpose33(__3_columnset *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose34(__3_columnset *source, __4_columnset *target);
|
||||
INTERNAL void SSCDECL transpose32(__3_columnset const *source, __2_columnset *target);
|
||||
INTERNAL void SSCDECL transpose33(__3_columnset const *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose34(__3_columnset const *source, __4_columnset *target);
|
||||
INTERNAL float SSCDECL det_mat3(__3_columnset *matrix, __3_columnset *tranpose);
|
||||
|
||||
INTERNAL void SSCDECL transpose42(__4_columnset *source, __2_columnset *target);
|
||||
INTERNAL void SSCDECL transpose43(__4_columnset *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose44(__4_columnset *matrix, __4_columnset *target);
|
||||
INTERNAL void SSCDECL addmatrix4_sse(__4_columnset *left, __4_columnset *right, __4_columnset *ans);
|
||||
INTERNAL void SSCDECL addmatrix4_avx(__4_columnset *left, __4_columnset *right, __4_columnset *ans);
|
||||
INTERNAL void SSCDECL addmatrix4_512(__4_columnset *left, __4_columnset *right, __4_columnset *ans);
|
||||
INTERNAL void SSCDECL transpose42(__4_columnset const *source, __2_columnset *target);
|
||||
INTERNAL void SSCDECL transpose43(__4_columnset const *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose44(__4_columnset const *source, __4_columnset *target);
|
||||
INTERNAL float SSCDECL det_mat4(__4_columnset *matrix, __4_columnset *transpose);
|
||||
|
||||
#pragma endregion
|
||||
@@ -82,12 +90,19 @@ typedef struct ssc_intrinsic {
|
||||
MATRIXTRANSPOSEPROC transpose_44;
|
||||
} ssc_intrinsic;
|
||||
|
||||
enum most_advance_instruction
|
||||
typedef enum most_advanced_instruction
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
SSE = __IA_SUPPORT_SSE42,
|
||||
AVX256 = __IA_SUPPORT_VECTOR256,
|
||||
AVX512 = __IA_SUPPORT_VECTOR512,
|
||||
NEON
|
||||
#else
|
||||
SSE,
|
||||
AVX,
|
||||
AVX256,
|
||||
AVX512,
|
||||
NEON
|
||||
};
|
||||
#endif
|
||||
}most_advanced_instruction;
|
||||
|
||||
#endif // !SSC_INTRIN
|
||||
|
||||
@@ -38,6 +38,7 @@ using StgSharp.MVVM;
|
||||
using StgSharp.MVVM.ViewModel;
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.Intrinsics;
|
||||
using System.Runtime.Intrinsics.X86;
|
||||
@@ -52,14 +53,23 @@ namespace StgSharp
|
||||
{
|
||||
try {
|
||||
/**/
|
||||
|
||||
StgSharp.Init();
|
||||
StgSharp.InitGL( 4, 6 );
|
||||
StgSharp.GlobalSetting.VSyncActivated = false;
|
||||
|
||||
Exception ex = new Exception("I just want to call an exception");
|
||||
StgSharp.CallErrorConsoleAsDialogue(ex);
|
||||
|
||||
ViewPort vp = new ViewPort();
|
||||
Matrix44 m1 = new Matrix44(
|
||||
1, 0, 0, 1,
|
||||
0, 2, 0, 0,
|
||||
0, 0, 3, 0,
|
||||
0, 0, 0, 4
|
||||
);
|
||||
Matrix44 m2 = m1.Transpose;
|
||||
var ans = m1 + m2;
|
||||
|
||||
ViewPort vp = new ViewPort(800,600,"Hello StgSharp!",IntPtr.Zero);
|
||||
throw new NotImplementedException();
|
||||
|
||||
ViewModelBase mainModel = new ViewModelMain( vp );
|
||||
mainModel.CreateAndBindView<ViewMain>( "MainView", (1, 1, 1) );
|
||||
@@ -72,9 +82,9 @@ namespace StgSharp
|
||||
catch( Exception ex ) {
|
||||
InternalIO.InternalWriteLog( $"{ex}", LogType.Error );
|
||||
if( true ) { }
|
||||
Environment.FailFast( $"{ex.Message}\n{ex.StackTrace}" );
|
||||
Dialogue.PostError( ex );
|
||||
Environment.Exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -90,9 +90,9 @@ namespace StgSharp
|
||||
{
|
||||
//Console.WriteLine("Render Button Itself");
|
||||
|
||||
GL.BindFrameBuffer( FrameBufferTarget.All, GlHandle.Zero ); //GL.Assert(true);
|
||||
GL.ClearColor( 0.4f, TimePassed % 1.0f, 0f, 1.0f ); //GL.Assert(true);
|
||||
GL.Clear( MaskBufferBit.COLOR /**/ | MaskBufferBit.DEPTH/**/ ); //GL.Assert(true);
|
||||
GL.BindFrameBuffer( FrameBufferTarget.All, GlHandle.Zero ); /*GL.Assert(true);/**/
|
||||
GL.ClearColor( 0.4f, TimePassed % 1.0f, 0f, 1.0f ); /*GL.Assert(true);/**/
|
||||
GL.Clear( MaskBufferBit.COLOR /**/ | MaskBufferBit.DEPTH/**/ ); /*GL.Assert(true);/**/
|
||||
|
||||
f_vao.Bind( 0 ); //GL.Assert(true);
|
||||
|
||||
|
||||
@@ -55,8 +55,7 @@ namespace StgSharp
|
||||
|
||||
public override void CustomizedInitialize()
|
||||
{
|
||||
Binding.Stream = CreateRenderStream<ParticleRenderStream>(
|
||||
(1, 1, 1) );
|
||||
Binding.Stream = CreateRenderStream<ParticleRenderStream>( );
|
||||
Render[ "only".AsLabel() ] = Binding.Stream;
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ namespace StgSharp
|
||||
private Dictionary<string, DataBindingEntry> dataBindingEntryIndexmap;
|
||||
|
||||
public ViewModelMain( ViewPort vp )
|
||||
: base( vp, 0.0f )
|
||||
: base( vp, 60 )
|
||||
{
|
||||
dataBindingEntryIndexmap = new Dictionary<string, DataBindingEntry>(
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<LangVersion>Preview</LangVersion>
|
||||
@@ -134,7 +134,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="copy $(SolutionDir)StgSharpC.dll $(OutDir)StgSharpC.dll
copy " />
|
||||
<Exec Command="xcopy /E /I /Y $(SolutionDir)build $(OutDir)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/6e2f93b053825680d03e27c9acae8ded6bd00dc4/*"}}
|
||||
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/7c8d462ca5da46abdfb0e7278f81d25abe890887/*"}}
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("RealDebug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
+32
-31
@@ -10,6 +10,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharp", "StgSharp\StgSha
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharpDebug", "StgSharpDebug\StgSharpDebug.csproj", "{610B992B-BB34-49C3-9993-676C595FC12E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C} = {10B5819F-2A62-41B6-980A-EB9E76A0E95C}
|
||||
{20CBFF26-6746-402E-992C-7B643E9423EB} = {20CBFF26-6746-402E-992C-7B643E9423EB}
|
||||
{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF} = {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}
|
||||
EndProjectSection
|
||||
@@ -28,7 +29,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
||||
.editorconfig = .editorconfig
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StgSharpTerminalDialogue", "StgSharpTerminalDialogue\StgSharpTerminalDialogue.csproj", "{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StgSharpTerminalDialogue", "StgSharpTerminalDialogue\StgSharpTerminalDialogue.csproj", "{10B5819F-2A62-41B6-980A-EB9E76A0E95C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -155,36 +156,36 @@ Global
|
||||
{20CBFF26-6746-402E-992C-7B643E9423EB}.Toollist|x64.Build.0 = Debug|x64
|
||||
{20CBFF26-6746-402E-992C-7B643E9423EB}.Toollist|x86.ActiveCfg = Debug|Win32
|
||||
{20CBFF26-6746-402E-992C-7B643E9423EB}.Toollist|x86.Build.0 = Debug|Win32
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Benchmark|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Benchmark|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Benchmark|x64.ActiveCfg = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Benchmark|x64.Build.0 = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Benchmark|x86.ActiveCfg = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Benchmark|x86.Build.0 = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Debug|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Debug|Any CPU.Build.0 = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Debug|x64.Build.0 = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Debug|x86.ActiveCfg = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Debug|x86.Build.0 = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.RealDebug|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.RealDebug|Any CPU.Build.0 = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.RealDebug|x64.ActiveCfg = Release|x64
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.RealDebug|x64.Build.0 = Release|x64
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.RealDebug|x86.ActiveCfg = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.RealDebug|x86.Build.0 = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Release|x64.ActiveCfg = Release|x64
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Release|x64.Build.0 = Release|x64
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Toollist|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Toollist|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Toollist|x64.ActiveCfg = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Toollist|x64.Build.0 = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Toollist|x86.ActiveCfg = Debug|Any CPU
|
||||
{0CF84B5A-F4DC-4047-AEE4-23FA4296AF09}.Toollist|x86.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Benchmark|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Benchmark|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Benchmark|x64.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Benchmark|x64.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Benchmark|x86.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Benchmark|x86.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.RealDebug|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.RealDebug|Any CPU.Build.0 = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.RealDebug|x64.ActiveCfg = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.RealDebug|x64.Build.0 = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.RealDebug|x86.ActiveCfg = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.RealDebug|x86.Build.0 = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|x64.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|x64.Build.0 = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|x86.ActiveCfg = Debug|Any CPU
|
||||
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|x86.Build.0 = Debug|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Terminal.Gui;
|
||||
|
||||
namespace StgSharpTerminalDialogue
|
||||
{
|
||||
internal class DialogueView:Window
|
||||
{
|
||||
TextView tittle = new TextView()
|
||||
{
|
||||
Text = """"
|
||||
|
||||
███████╗████████╗ ██████╗ ███████╗██╗ ██╗ █████╗ ██████╗ ██████╗
|
||||
██╔════╝╚══██╔══╝██╔════╝ ██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗
|
||||
███████╗ ██║ ██║ ███╗███████╗███████║███████║██████╔╝██████╔╝
|
||||
╚════██║ ██║ ██║ ██║╚════██║██╔══██║██╔══██║██╔══██╗██╔═══╝
|
||||
███████║ ██║ ╚██████╔╝███████║██║ ██║██║ ██║██║ ██║██║
|
||||
╚══════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝
|
||||
|
||||
"""",
|
||||
//generate from site: https://www.asciiart.eu/text-to-ascii-art
|
||||
//font: ANSI shadow
|
||||
TextAlignment = Alignment.Start,
|
||||
Width = 8 * 9,
|
||||
Height = 1 * 8,
|
||||
X = 0,
|
||||
Y = 0,
|
||||
ColorScheme = common
|
||||
};
|
||||
|
||||
static readonly Terminal.Gui.Attribute
|
||||
commonColor = Application.Driver!.MakeColor(
|
||||
new Color(92, 180, 225), Color.Cyan),
|
||||
errorColor = Application.Driver!.MakeColor(
|
||||
Color.White, Color.BrightRed);
|
||||
|
||||
static ColorScheme common = new ColorScheme(){
|
||||
Focus = commonColor,
|
||||
Normal = commonColor
|
||||
},
|
||||
error = new ColorScheme()
|
||||
{
|
||||
Focus = errorColor,
|
||||
Normal = errorColor
|
||||
};
|
||||
|
||||
public static DialogueView Single
|
||||
{
|
||||
get => new DialogueView();
|
||||
}
|
||||
|
||||
private DialogueView()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
private void Init()
|
||||
{
|
||||
ColorScheme = common;
|
||||
|
||||
this.Width = Dim.Fill(0);
|
||||
this.Height = Dim.Fill(0);
|
||||
this.X = 0;
|
||||
this.Y = 0;
|
||||
this.Title = "StgSharp Framework Dialogue";
|
||||
this.Add(this.tittle);
|
||||
}
|
||||
|
||||
public void ShowError(string message)
|
||||
{
|
||||
this.Remove(this.tittle);
|
||||
this.ColorScheme = error;
|
||||
this.Text =
|
||||
"""
|
||||
|
||||
██╗ ███████╗██████╗ ██████╗ ██████╗ ██████╗
|
||||
██╗ ██╔╝ ██╔════╝██╔══██╗██╔══██╗██╔═══██╗██╔══██╗
|
||||
╚═╝ ██║ █████╗ ██████╔╝██████╔╝██║ ██║██████╔╝
|
||||
██╗ ██║ ██╔══╝ ██╔══██╗██╔══██╗██║ ██║██╔══██╗
|
||||
╚═╝ ╚██╗ ███████╗██║ ██║██║ ██║╚██████╔╝██║ ██║
|
||||
╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
|
||||
|
||||
""" + "\n"+
|
||||
message;
|
||||
|
||||
Button button = new Button()
|
||||
{
|
||||
Text = "Click to quit."
|
||||
};
|
||||
button.Accept += (sender,e) => {
|
||||
Application.RequestStop();
|
||||
};
|
||||
|
||||
this.Add(button);
|
||||
this.SetNeedsDisplay();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,58 @@
|
||||
using System;
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
// file="PostOpration.cs"
|
||||
// Project: StgSharp
|
||||
// AuthorGroup: Nitload Space
|
||||
// Copyright (c) Nitload Space. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the “Software”), to deal in the Software without restriction,
|
||||
// including without limitation the rights to use, copy, modify, merge,
|
||||
// publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
// and to permit persons to whom the Software is furnished to do so,
|
||||
// subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and
|
||||
// this permission notice shall be included in all copies
|
||||
// or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED “AS IS”,
|
||||
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH
|
||||
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Terminal.Gui;
|
||||
|
||||
namespace StgSharpTerminalDialogue
|
||||
{
|
||||
partial class Program
|
||||
internal static partial class Program
|
||||
{
|
||||
internal static void PostOperation(string instruction, string operand)
|
||||
{
|
||||
switch (instruction)
|
||||
{
|
||||
case "posterror":
|
||||
|
||||
private static DialogueView _dv;
|
||||
|
||||
internal static void PostOperation( string instruction, string operand )
|
||||
{
|
||||
switch( instruction ) {
|
||||
case "posterror":
|
||||
_dv.ShowError( operand );
|
||||
using( StreamWriter sw = new StreamWriter(
|
||||
_callerServerPipe ) ) {
|
||||
sw.WriteLine( "ERRORGET" );
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,34 @@
|
||||
using System;
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
// file="Program.cs"
|
||||
// Project: StgSharp
|
||||
// AuthorGroup: Nitload Space
|
||||
// Copyright (c) Nitload Space. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the “Software”), to deal in the Software without restriction,
|
||||
// including without limitation the rights to use, copy, modify, merge,
|
||||
// publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
// and to permit persons to whom the Software is furnished to do so,
|
||||
// subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and
|
||||
// this permission notice shall be included in all copies
|
||||
// or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED “AS IS”,
|
||||
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH
|
||||
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO.Pipes;
|
||||
|
||||
@@ -6,42 +36,65 @@ using Terminal.Gui;
|
||||
|
||||
namespace StgSharpTerminalDialogue
|
||||
{
|
||||
internal partial class Program
|
||||
internal static partial class Program
|
||||
{
|
||||
|
||||
private static AnonymousPipeClientStream _callerClientPipe, _callerServerPipe;
|
||||
|
||||
static void Main(string[] args)
|
||||
private static void Main( string[] args )
|
||||
{
|
||||
if (args.Length != 2) {
|
||||
return;
|
||||
Application.Init();
|
||||
|
||||
Console.CancelKeyPress += ( sender, e ) => {
|
||||
e.Cancel = true;
|
||||
Application.RequestStop();
|
||||
};
|
||||
|
||||
Task renderTask = Task.Factory
|
||||
.StartNew(
|
||||
() => {
|
||||
_dv = DialogueView.Single;
|
||||
Application.Run( view: _dv );
|
||||
} );
|
||||
|
||||
/**/
|
||||
if( args.Length != 2 ) {
|
||||
Console.ReadLine();
|
||||
Application.RequestStop();
|
||||
}
|
||||
/**/
|
||||
|
||||
ConfigurationManager.RuntimeConfig = """{ "Theme": "Light" }""";
|
||||
|
||||
_callerClientPipe = new AnonymousPipeClientStream(PipeDirection.In,args[0]);
|
||||
_callerServerPipe = new AnonymousPipeClientStream(PipeDirection.Out, args[1]);
|
||||
_callerClientPipe = new AnonymousPipeClientStream(
|
||||
PipeDirection.In, args[ 0 ] );
|
||||
_callerServerPipe = new AnonymousPipeClientStream(
|
||||
PipeDirection.Out, args[ 1 ] );
|
||||
|
||||
|
||||
using (StreamReader clientReader = new StreamReader(_callerClientPipe))
|
||||
using (StreamWriter clientSender = new StreamWriter(_callerServerPipe))
|
||||
{
|
||||
clientSender.AutoFlush = true;
|
||||
string temp = string.Empty;
|
||||
while (!temp!.Contains("exit "))
|
||||
{
|
||||
temp = clientReader.ReadLine()!;
|
||||
temp = temp??string.Empty;
|
||||
if (temp == null) continue;
|
||||
using( StreamReader clientReader = new StreamReader(
|
||||
_callerClientPipe ) ) {
|
||||
using( StreamWriter clientSender = new StreamWriter(
|
||||
_callerServerPipe ) ) {
|
||||
clientSender.AutoFlush = true;
|
||||
string temp = string.Empty;
|
||||
while( !temp!.Contains( "exit " ) && !renderTask.IsCompleted ) {
|
||||
temp = clientReader.ReadLine()!;
|
||||
temp = temp ?? string.Empty;
|
||||
if( string.IsNullOrEmpty( temp ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int index = temp.IndexOf(' ');
|
||||
if (index == -1) continue;
|
||||
|
||||
string command = temp.Substring(0, index);
|
||||
string operand = temp.Substring(index + 1);
|
||||
int index = temp.IndexOf( ' ' );
|
||||
if( index == -1 ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
string command = temp.Substring( 0, index );
|
||||
string operand = temp.Substring( index + 1 );
|
||||
|
||||
PostOperation( command, operand );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,41 +6,31 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<BaseOutputPath>build\StgSharpTerminalDialogue</BaseOutputPath>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<OutputPath>$(BaseOutputPath)</OutputPath>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
<ProduceReferenceAssembly>True</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<Platforms>AnyCPU;x64</Platforms>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
|
||||
<Deterministic>False</Deterministic>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
|
||||
<Deterministic>False</Deterministic>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
|
||||
<Deterministic>False</Deterministic>
|
||||
<DebugType>none</DebugType>
|
||||
<SatelliteResourceLanguages>none</SatelliteResourceLanguages>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
|
||||
<Deterministic>False</Deterministic>
|
||||
<DebugType>none</DebugType>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
|
||||
<Exec Command="rd /s /q $(ProjectDir)Build" />
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Terminal.Gui" Version="2.0.0-v2-develop.2329" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="rd /s /q $(SolutionDir)build\StgSharpTerminalDialogue"/>
|
||||
<Exec Command="xcopy /E /I /Y $(ProjectDir)build\StgSharpTerminalDialogue $(SolutionDir)build\StgSharpTerminalDialogue" />
|
||||
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
||||
+149
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"dependencies": {
|
||||
"Terminal.Gui": "2.0.0-v2-develop.2329"
|
||||
},
|
||||
"runtime": {
|
||||
"StgSharpTerminalDialogue.dll": {}
|
||||
}
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/ColorHelper.dll": {
|
||||
"assemblyVersion": "1.8.1.0",
|
||||
"fileVersion": "1.8.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22",
|
||||
"TestableIO.System.IO.Abstractions.Wrappers": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"dependencies": {
|
||||
"System.Text.Encodings.Web": "8.0.0"
|
||||
}
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"dependencies": {
|
||||
"ColorHelper": "1.8.1",
|
||||
"System.IO.Abstractions": "21.0.22",
|
||||
"System.Text.Json": "8.0.4",
|
||||
"Wcwidth": "2.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Terminal.Gui.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.Wrappers.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Wcwidth.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rblWXd/02TfwJjX53xEfQnbnDRKxCm09VtavV8JaIcmIFWt9efNf6xTQ3WeXgy/she5R31eRTtnizFoUoDrs5w==",
|
||||
"path": "colorhelper/1.8.1",
|
||||
"hashPath": "colorhelper.1.8.1.nupkg.sha512"
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DRnFyMIjO1KG9fqUPKV7XDPgECEwrNpsb3OLD0mImViVpRZ5747o7vqrOYbn9AMaQ8eajLeKH0fXQglgH7v42A==",
|
||||
"path": "system.io.abstractions/21.0.22",
|
||||
"hashPath": "system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
|
||||
"path": "system.text.encodings.web/8.0.0",
|
||||
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
|
||||
"path": "system.text.json/8.0.4",
|
||||
"hashPath": "system.text.json.8.0.4.nupkg.sha512"
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-1WRHeZKN5tnF8DUu0vHz5pGZIY9ETwufKbUHCoH3UTcIeOlduhRCpBhTyJWri/fePsUkij2euFMGX2yHfk4h/A==",
|
||||
"path": "terminal.gui/2.0.0-v2-develop.2329",
|
||||
"hashPath": "terminal.gui.2.0.0-v2-develop.2329.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yq3I8rUjNoo4JTOT3jbGfTM5VfowaSYiooDO2bfvQe6XGVyZiSIzaKyCmSnuUEyuktw6zzuVE1lJnUeDhJWtyQ==",
|
||||
"path": "testableio.system.io.abstractions/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ETpw1B6VOsQ5zbfqxqLKjITnMvB9M0K5/bK8qJc6jih+tnlKQmtnnOPSS+OeKCqsZDYeHxPNp4ytQPJS3R+WXA==",
|
||||
"path": "testableio.system.io.abstractions.wrappers/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.wrappers.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eGZYH/V+X1DwEXrPUlUcAp8pU5a38d8IvaQzq4pclJxF1x8bizssIo4uWc3qxmS64BNGK5WnDxyBYJz84+Msqg==",
|
||||
"path": "wcwidth/2.0.0",
|
||||
"hashPath": "wcwidth.2.0.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
-1
@@ -1,4 +1,36 @@
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
// file=".NETCoreApp,Version=v8.0.AssemblyAttributes.cs"
|
||||
// Project: StgSharp
|
||||
// AuthorGroup: Nitload Space
|
||||
// Copyright (c) Nitload Space. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the ¡°Software¡±), to deal in the Software without restriction,
|
||||
// including without limitation the rights to use, copy, modify, merge,
|
||||
// publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
// and to permit persons to whom the Software is furnished to do so,
|
||||
// subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and
|
||||
// this permission notice shall be included in all copies
|
||||
// or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED ¡°AS IS¡±,
|
||||
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH
|
||||
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(
|
||||
".NETCoreApp,Version=v8.0",
|
||||
FrameworkDisplayName = ".NET 8.0" )]
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.exe
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.deps.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.runtimeconfig.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.pdb
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\ColorHelper.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\System.IO.Abstractions.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\Terminal.Gui.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\TestableIO.System.IO.Abstractions.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\TestableIO.System.IO.Abstractions.Wrappers.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\Wcwidth.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.csproj.AssemblyReference.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.GeneratedMSBuildEditorConfig.editorconfig
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.AssemblyInfoInputs.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.AssemblyInfo.cs
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.csproj.CoreCompileInputs.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.sourcelink.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharp.A8FD039C.Up2Date
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\refint\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.pdb
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\StgSharpTerminalDialogue.genruntimeconfig.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Debug\ref\StgSharpTerminalDialogue.dll
|
||||
@@ -0,0 +1 @@
|
||||
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/7c8d462ca5da46abdfb0e7278f81d25abe890887/*"}}
|
||||
+1
-1
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e2f93b053825680d03e27c9acae8ded6bd00dc4")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.csproj.AssemblyReference.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.GeneratedMSBuildEditorConfig.editorconfig
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.AssemblyInfoInputs.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.AssemblyInfo.cs
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.csproj.CoreCompileInputs.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.sourcelink.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharp.A8FD039C.Up2Date
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\refint\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.pdb
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\StgSharpTerminalDialogue.genruntimeconfig.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\ref\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.exe
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.deps.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.runtimeconfig.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\StgSharpTerminalDialogue.pdb
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\ColorHelper.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\System.IO.Abstractions.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\Terminal.Gui.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\TestableIO.System.IO.Abstractions.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\TestableIO.System.IO.Abstractions.Wrappers.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\build\StgSharpTerminalDialogue\Wcwidth.dll
|
||||
@@ -0,0 +1 @@
|
||||
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/7c8d462ca5da46abdfb0e7278f81d25abe890887/*"}}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\StgSharpTerminalDialogue.exe
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\StgSharpTerminalDialogue.deps.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\StgSharpTerminalDialogue.runtimeconfig.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\StgSharpTerminalDialogue.pdb
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\ColorHelper.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\System.IO.Abstractions.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\Terminal.Gui.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\TestableIO.System.IO.Abstractions.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\TestableIO.System.IO.Abstractions.Wrappers.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\Wcwidth.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\fr-FR\Terminal.Gui.resources.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\ja-JP\Terminal.Gui.resources.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\pt-PT\Terminal.Gui.resources.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\bin\Release\net8.0\zh-Hans\Terminal.Gui.resources.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.csproj.AssemblyReference.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.GeneratedMSBuildEditorConfig.editorconfig
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.AssemblyInfoInputs.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.AssemblyInfo.cs
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.csproj.CoreCompileInputs.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.sourcelink.json
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharp.A8FD039C.Up2Date
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\refint\StgSharpTerminalDialogue.dll
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.pdb
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\StgSharpTerminalDialogue.genruntimeconfig.cache
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpTerminalDialogue\obj\Release\net8.0\ref\StgSharpTerminalDialogue.dll
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/7c8d462ca5da46abdfb0e7278f81d25abe890887/*"}}
|
||||
@@ -51,12 +51,6 @@
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"dependencies": {
|
||||
"Microsoft.NET.ILLink.Tasks": {
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[8.0.8, )",
|
||||
"autoReferenced": true
|
||||
},
|
||||
"Terminal.Gui": {
|
||||
"target": "Package",
|
||||
"version": "[2.0.0-v2-develop.2329, )"
|
||||
|
||||
@@ -11,12 +11,6 @@
|
||||
"lib/netstandard2.0/ColorHelper.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.NET.ILLink.Tasks/8.0.8": {
|
||||
"type": "package",
|
||||
"build": {
|
||||
"build/Microsoft.NET.ILLink.Tasks.props": {}
|
||||
}
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
@@ -166,57 +160,6 @@
|
||||
"logo.jpg"
|
||||
]
|
||||
},
|
||||
"Microsoft.NET.ILLink.Tasks/8.0.8": {
|
||||
"sha512": "P8wR6MUWwYXIjPJuBaZgo5zlI/GWI6QEAo6NyVIbPefa9CCkohYu7dP2rD/mrqnjEqfRHyl+h9VZrDoGpELqYg==",
|
||||
"type": "package",
|
||||
"path": "microsoft.net.illink.tasks/8.0.8",
|
||||
"hasTools": true,
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.TXT",
|
||||
"Sdk/Sdk.props",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"analyzers/dotnet/cs/ILLink.CodeFixProvider.dll",
|
||||
"analyzers/dotnet/cs/ILLink.RoslynAnalyzer.dll",
|
||||
"build/Microsoft.NET.ILLink.Analyzers.props",
|
||||
"build/Microsoft.NET.ILLink.Tasks.props",
|
||||
"build/Microsoft.NET.ILLink.targets",
|
||||
"microsoft.net.illink.tasks.8.0.8.nupkg.sha512",
|
||||
"microsoft.net.illink.tasks.nuspec",
|
||||
"tools/net472/ILLink.Tasks.dll",
|
||||
"tools/net472/ILLink.Tasks.dll.config",
|
||||
"tools/net472/Mono.Cecil.Mdb.dll",
|
||||
"tools/net472/Mono.Cecil.Pdb.dll",
|
||||
"tools/net472/Mono.Cecil.Rocks.dll",
|
||||
"tools/net472/Mono.Cecil.dll",
|
||||
"tools/net472/Sdk/Sdk.props",
|
||||
"tools/net472/System.Buffers.dll",
|
||||
"tools/net472/System.Collections.Immutable.dll",
|
||||
"tools/net472/System.Memory.dll",
|
||||
"tools/net472/System.Numerics.Vectors.dll",
|
||||
"tools/net472/System.Reflection.Metadata.dll",
|
||||
"tools/net472/System.Runtime.CompilerServices.Unsafe.dll",
|
||||
"tools/net472/build/Microsoft.NET.ILLink.Analyzers.props",
|
||||
"tools/net472/build/Microsoft.NET.ILLink.Tasks.props",
|
||||
"tools/net472/build/Microsoft.NET.ILLink.targets",
|
||||
"tools/net8.0/ILLink.Tasks.deps.json",
|
||||
"tools/net8.0/ILLink.Tasks.dll",
|
||||
"tools/net8.0/Mono.Cecil.Mdb.dll",
|
||||
"tools/net8.0/Mono.Cecil.Pdb.dll",
|
||||
"tools/net8.0/Mono.Cecil.Rocks.dll",
|
||||
"tools/net8.0/Mono.Cecil.dll",
|
||||
"tools/net8.0/Sdk/Sdk.props",
|
||||
"tools/net8.0/build/Microsoft.NET.ILLink.Analyzers.props",
|
||||
"tools/net8.0/build/Microsoft.NET.ILLink.Tasks.props",
|
||||
"tools/net8.0/build/Microsoft.NET.ILLink.targets",
|
||||
"tools/net8.0/illink.deps.json",
|
||||
"tools/net8.0/illink.dll",
|
||||
"tools/net8.0/illink.runtimeconfig.json",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"sha512": "DRnFyMIjO1KG9fqUPKV7XDPgECEwrNpsb3OLD0mImViVpRZ5747o7vqrOYbn9AMaQ8eajLeKH0fXQglgH7v42A==",
|
||||
"type": "package",
|
||||
@@ -441,7 +384,6 @@
|
||||
},
|
||||
"projectFileDependencyGroups": {
|
||||
"net8.0": [
|
||||
"Microsoft.NET.ILLink.Tasks >= 8.0.8",
|
||||
"Terminal.Gui >= 2.0.0-v2-develop.2329"
|
||||
]
|
||||
},
|
||||
@@ -496,12 +438,6 @@
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"dependencies": {
|
||||
"Microsoft.NET.ILLink.Tasks": {
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[8.0.8, )",
|
||||
"autoReferenced": true
|
||||
},
|
||||
"Terminal.Gui": {
|
||||
"target": "Package",
|
||||
"version": "[2.0.0-v2-develop.2329, )"
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"dependencies": {
|
||||
"Terminal.Gui": "2.0.0-v2-develop.2329"
|
||||
},
|
||||
"runtime": {
|
||||
"StgSharpTerminalDialogue.dll": {}
|
||||
}
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/ColorHelper.dll": {
|
||||
"assemblyVersion": "1.8.1.0",
|
||||
"fileVersion": "1.8.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22",
|
||||
"TestableIO.System.IO.Abstractions.Wrappers": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"dependencies": {
|
||||
"System.Text.Encodings.Web": "8.0.0"
|
||||
}
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"dependencies": {
|
||||
"ColorHelper": "1.8.1",
|
||||
"System.IO.Abstractions": "21.0.22",
|
||||
"System.Text.Json": "8.0.4",
|
||||
"Wcwidth": "2.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Terminal.Gui.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"dependencies": {
|
||||
"TestableIO.System.IO.Abstractions": "21.0.22"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/TestableIO.System.IO.Abstractions.Wrappers.dll": {
|
||||
"assemblyVersion": "21.0.0.0",
|
||||
"fileVersion": "21.0.22.62509"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Wcwidth.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StgSharpTerminalDialogue/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"ColorHelper/1.8.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rblWXd/02TfwJjX53xEfQnbnDRKxCm09VtavV8JaIcmIFWt9efNf6xTQ3WeXgy/she5R31eRTtnizFoUoDrs5w==",
|
||||
"path": "colorhelper/1.8.1",
|
||||
"hashPath": "colorhelper.1.8.1.nupkg.sha512"
|
||||
},
|
||||
"System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DRnFyMIjO1KG9fqUPKV7XDPgECEwrNpsb3OLD0mImViVpRZ5747o7vqrOYbn9AMaQ8eajLeKH0fXQglgH7v42A==",
|
||||
"path": "system.io.abstractions/21.0.22",
|
||||
"hashPath": "system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encodings.Web/8.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
|
||||
"path": "system.text.encodings.web/8.0.0",
|
||||
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Json/8.0.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
|
||||
"path": "system.text.json/8.0.4",
|
||||
"hashPath": "system.text.json.8.0.4.nupkg.sha512"
|
||||
},
|
||||
"Terminal.Gui/2.0.0-v2-develop.2329": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-1WRHeZKN5tnF8DUu0vHz5pGZIY9ETwufKbUHCoH3UTcIeOlduhRCpBhTyJWri/fePsUkij2euFMGX2yHfk4h/A==",
|
||||
"path": "terminal.gui/2.0.0-v2-develop.2329",
|
||||
"hashPath": "terminal.gui.2.0.0-v2-develop.2329.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yq3I8rUjNoo4JTOT3jbGfTM5VfowaSYiooDO2bfvQe6XGVyZiSIzaKyCmSnuUEyuktw6zzuVE1lJnUeDhJWtyQ==",
|
||||
"path": "testableio.system.io.abstractions/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ETpw1B6VOsQ5zbfqxqLKjITnMvB9M0K5/bK8qJc6jih+tnlKQmtnnOPSS+OeKCqsZDYeHxPNp4ytQPJS3R+WXA==",
|
||||
"path": "testableio.system.io.abstractions.wrappers/21.0.22",
|
||||
"hashPath": "testableio.system.io.abstractions.wrappers.21.0.22.nupkg.sha512"
|
||||
},
|
||||
"Wcwidth/2.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eGZYH/V+X1DwEXrPUlUcAp8pU5a38d8IvaQzq4pclJxF1x8bizssIo4uWc3qxmS64BNGK5WnDxyBYJz84+Msqg==",
|
||||
"path": "wcwidth/2.0.0",
|
||||
"hashPath": "wcwidth.2.0.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
||||
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7c8d462ca5da46abdfb0e7278f81d25abe890887")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpTerminalDialogue")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
Reference in New Issue
Block a user