mirror of
https://github.com/riperiperi/FreeSO
synced 2026-08-13 20:26:13 -04:00
* Add FSO.DotNet9 MonoGame project for .NET 9 * Remove tso.client project and update DotNet9 references * Add FSO.Client project file * Migrate FSO.Common to SDK-style project and .NET 9 * Migrate FSO.Common to .NET 9.0 build as Class Libary succeeds in VS2022, I have not tried building game, need to migrate all other first * Add package and project references * Made NET 9.0 project forFSO.UI to SDK-style project * Migrate FSO.Files to .NET 9.0 build as Class Libary succeeds in VS2022, I have not tried building game, need to migrate all other first * Start of migrate FSO.HIT project to .NET 9 * Try converting * Work in progress migration to 9.0 * Wip * SimAntics compiles * Working on FSO.UI and FSO.Client * Start of migrating FSO.Server * Migrate to .NET 9 and update JWT implementation * Migrate FSO.Server.Protocol Need to look at packages later, it somehow compiles * Refactor clients for async/await for RestSharp * Add new project references to FSO.Client.csproj * SimAntics JIT compiles to NET 9.0 * Updated FSO.Server.Api.Core and FSO.Server.Database projects to target .NET 9 * Migrate projects FSO.Server.DataService etc * Migrate FSO.Server.Domain to SDK-style project * Build FSO.Server.Common * Test * Brought back original FSO.Server * using old PortableJWT needs maybe replaced later for .NET 9.0 * Add System.IO.FileSystem.Primitives dependency * FSO.Server build * Remove FSO.Server.Debug references and add PortTransformer * Fix build failing * Remove IsAotCompatible and set PublishAot to False othwerwise it wont compile DynamicCode does not work with AOT * MSFData to .NET 9.0 * MSDFExtension to .NET 9.0 * Remove mp3sharp library replaced with Nuget MP3Sharp * Remove license file and fix solution config * Brought back old tso.client from Archive * TSO client build * FSO Windows, compiles but has Errors with old MonoGame linking * Remove FSO.DotNet9 project and update Windows build * Why does MSDF data not work * Fixed MSDF fonts in content * Refactor content pipeline and update font loading * Working .NET 9.0 build, playable on Windows * Fix image loader * Made some libaries AOT * Update FSO.Windows.csproj * Restore OnExiting override * Made VoronoiLib .Net 9.0 * Remove MIConvexHull no .dll available * Migrate projects to SDK style and remove unused dlls * Migrate FSOFacadeWorker to .NET 9.0 * WindowsDX added as default for windows via MonogameLinker * Fixed not launching GL with -gl argument * Volcanic / FSO.IDE working on .NET 9.0! Currently working, only need to make the buttons in Volcanic fit the frames no they are almost invisible, (E.g at creating new .iff file) * FSO.Debug now compiles and runs but is non functional * Add launchSettings.json for FSO.IDE * Fix crash when Loading job lots in sandbox mode * Remove old TSOClient Network files * Remove unused debug and rendering files Deleted several debug UI and rendering-related source files from TSOClient. Also updated the .mgcb files for the new Fonts /outputDir:../Content * Fix FSO.Server.Core compiling Removed AOT compile from FSO.Server.Core that caused issues with Dynamic Code * Remove Nancy dependency and its Severs\Api files * Update font loading paths in TSOGame.cs to root Content folder * Add ApplicationDefaultFont property to IDE * Remove Admin files from FSO.Server compile The FSO.Server project needs to exclude the Admin folder, as node_modules can contain cs files for build scripts * [Audio] Refactor MP3Player to use async buffer queue (.NET 9.0) Refactors MP3Player to replace old thread-based decoding and buffer management with a .NET 9.0 async/Task-based implementation using ConcurrentQueue and SemaphoreSlim. Improves performance, reduces GC pressure with ArrayPool<byte>, and makes resource management and cancellation more reliable. Simplifies buffer submission logic and adds preload/buffer tuning options. * Ignore .idea/ from Rider Added .idea/ directory to .gitignore to prevent JetBrains Rider IDE files from being tracked in the repository. * Migrate FSO.Watchdog to .NET 9 and made the application work again, because .NET 9 no longer supports AppDomain.CreateDomain. and AppDomainSetup.ConfigurationFile is also removed in .NET Core/.NET 5+ * Migrate FSO.Patcher to .NET 9.0 * Disable nullable in all projects * DatabaseScripts files * Replaced async login in FSOFacadeWorker Refactor FSOFacadeWorker login logic and update project files - Removed config.json from FSO.Server output - Added discord-rpc.dll to FSO.UI - Refactored login logic in FSOFacadeWorker to remove async/await - Updated method calls to use discard (_) for tasks * Refactor login Regulator by removing async/await usage During migration, this method was made async to get the project to build properly. But now it builds succesfuly without async, so restoring the original archive branch implementation. * Exit game fix Fixes that sometimes after closing the game, it not fully closes, it was still running in the background. - It works but is it good to call Environment.Exit(0); ? or are there maybe background processes running that are not finshed yet, and i just kill now? * [Volcanic] Improve Font sizing in IDE Fixes some/most of the scaling issues in Volcanic for dotnet9, and updates default font to modern Segoe UI. * BHAV Editor window, font & sizing consistency * Remove conflicting form closing handler Should prevent the game from accidentally staying open and fix the archive closing dialog --------- Co-authored-by: riperiperi <rhy3756547@hotmail.com>
98 lines
2.3 KiB
C#
98 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using FSO.SimAntics;
|
|
using System.Collections;
|
|
using FSO.SimAntics.Engine;
|
|
|
|
namespace FSO.Debug.Controls
|
|
{
|
|
public partial class VMRoutineDisplay : UserControl
|
|
{
|
|
public VMRoutineDisplay()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void InvalidateRoutine()
|
|
{
|
|
IList<VMInstructionDisplay> items = new List<VMInstructionDisplay>();
|
|
if (_Routine != null)
|
|
{
|
|
foreach (var inst in _Routine.Instructions){
|
|
items.Add(new VMInstructionDisplay(inst));
|
|
}
|
|
}
|
|
grid.DataSource = items;
|
|
}
|
|
|
|
private VMRoutine _Routine;
|
|
|
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
|
public VMRoutine Routine
|
|
{
|
|
get{
|
|
return _Routine;
|
|
}
|
|
set{
|
|
_Routine = value;
|
|
InvalidateRoutine();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class VMInstructionDisplay
|
|
{
|
|
private VMInstruction Instruction;
|
|
private VMPrimitiveRegistration Primitive;
|
|
public VMInstructionDisplay(VMInstruction inst){
|
|
//Routine no longer has an instance of VM.
|
|
//this.Primitive = inst.Function.VM.Context.Primitives[inst.Opcode];
|
|
//vm.Context.GetPrimitive(inst.Opcode)
|
|
this.Instruction = inst;
|
|
}
|
|
|
|
|
|
public string Index {
|
|
get{
|
|
return Instruction.Index.ToString();
|
|
}
|
|
}
|
|
|
|
public object Margin
|
|
{
|
|
get
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public string Opcode
|
|
{
|
|
get {
|
|
if (this.Primitive != null)
|
|
{
|
|
return this.Primitive.Name;
|
|
}
|
|
return this.Instruction.Opcode.ToString();
|
|
}
|
|
}
|
|
|
|
|
|
public string Operand
|
|
{
|
|
get
|
|
{
|
|
if (this.Instruction.Operand != null){
|
|
return this.Instruction.Operand.ToString();
|
|
}
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
}
|