Compare commits

...

10 Commits

Author SHA1 Message Date
c40a76cc10 Awperative V1.1 2026-02-22 21:49:18 -05:00
31304e9361 haha gittea die 2026-02-19 16:51:49 -05:00
ba515502f9 Unversioned Files 2026-02-17 20:29:02 -05:00
3c2ad05cab Moved to OpenTK 2026-02-17 20:27:18 -05:00
abbfe285b6 Renamed To Kernel 2026-02-16 18:00:08 -05:00
c81b942f2b Moving to mac 2026-02-15 22:37:39 -05:00
283cadc490 Awperative Beta Complete! V1.0 2026-02-15 20:38:50 -05:00
1f96b653ad Awperative Beta! 2026-02-15 20:34:29 -05:00
de8e9aca44 Awperative Beta 1.0 Complete! 2026-02-15 16:12:25 -05:00
0e21432ffb Closing in on beta 2026-02-15 15:42:22 -05:00
93 changed files with 1814 additions and 777 deletions

306
.idea/.idea.Awperative/.idea/workspace.xml generated Normal file
View File

@@ -0,0 +1,306 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="a0780d2b-c545-4e94-9f04-a86ef3682e61" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.dll" beforeDir="false" afterPath="$PROJECT_DIR$/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.dll" afterDir="false" />
<change beforePath="$PROJECT_DIR$/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.pdb" beforeDir="false" afterPath="$PROJECT_DIR$/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.pdb" afterDir="false" />
<change beforePath="$PROJECT_DIR$/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs" beforeDir="false" afterPath="$PROJECT_DIR$/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache" beforeDir="false" afterPath="$PROJECT_DIR$/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="RESET_MODE" value="HARD" />
</component>
<component name="GitHubPullRequestSearchHistory">{
&quot;lastFilter&quot;: {
&quot;state&quot;: &quot;OPEN&quot;,
&quot;assignee&quot;: &quot;BlazeyDotOrg&quot;
}
}</component>
<component name="GithubPullRequestsUISettings">{
&quot;selectedUrlAndAccountId&quot;: {
&quot;url&quot;: &quot;https://github.com/BlazeyDotOrg/Awperative.git&quot;,
&quot;accountId&quot;: &quot;344e2461-798d-4d88-a9cb-8af344064ac4&quot;
}
}</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/AwperativeKernel/.config/dotnet-tools.json" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/AwperativeKernel/Kernel/Component/Component.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/AwperativeKernel/Kernel/ComponentDocker/ComponentDocker.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/AwperativeKernel/Kernel/Debug/Debug.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/AwperativeKernel/Kernel/Overhead/Base/Base.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/AwperativeKernel/Kernel/Scene/Scene.cs" root0="FORCE_HIGHLIGHTING" />
</component>
<component name="MetaFilesCheckinStateConfiguration" checkMetaFiles="true" />
<component name="ProblemsViewState">
<option name="selectedTabId" value="CurrentFile" />
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 2
}</component>
<component name="ProjectId" id="38ULMW7J55snE1NrOYpCSyseES9" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
&quot;com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1&quot;: &quot;true&quot;,
&quot;git-widget-placeholder&quot;: &quot;main&quot;,
&quot;junie.onboarding.icon.badge.shown&quot;: &quot;true&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
&quot;to.speed.mode.migration.done&quot;: &quot;true&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
}
}</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="a0780d2b-c545-4e94-9f04-a86ef3682e61" name="Changes" comment="" />
<created>1768849154932</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1768849154932</updated>
<workItem from="1768849155978" duration="441000" />
<workItem from="1768849620634" duration="6151000" />
<workItem from="1768861303093" duration="3811000" />
<workItem from="1768872615185" duration="711000" />
<workItem from="1768886562898" duration="7000" />
<workItem from="1768886596003" duration="316000" />
<workItem from="1768927033736" duration="244000" />
<workItem from="1768934765323" duration="2244000" />
<workItem from="1769097334164" duration="30000" />
<workItem from="1769098276943" duration="14000" />
<workItem from="1769098781841" duration="1162000" />
<workItem from="1769795388086" duration="489000" />
<workItem from="1769821910140" duration="55000" />
<workItem from="1769821972103" duration="3036000" />
<workItem from="1769883377911" duration="132000" />
<workItem from="1769962701776" duration="4162000" />
<workItem from="1769997445805" duration="5322000" />
<workItem from="1770004954148" duration="524000" />
<workItem from="1770065212824" duration="1444000" />
<workItem from="1770164825511" duration="1170000" />
<workItem from="1770326257383" duration="2548000" />
<workItem from="1770508284646" duration="1792000" />
<workItem from="1770573413396" duration="12078000" />
<workItem from="1771107787272" duration="423000" />
<workItem from="1771108231868" duration="10705000" />
<workItem from="1771178686137" duration="6030000" />
<workItem from="1771184740961" duration="118000" />
<workItem from="1771184893794" duration="11065000" />
<workItem from="1771210274167" duration="133000" />
<workItem from="1771263045596" duration="650000" />
<workItem from="1771265712703" duration="2201000" />
<workItem from="1771268603392" duration="4948000" />
</task>
<task id="LOCAL-00001" summary="Pre initialize removal">
<option name="closed" value="true" />
<created>1769822570538</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1769822570538</updated>
</task>
<task id="LOCAL-00002" summary="Removed Initialize()">
<option name="closed" value="true" />
<created>1769823457825</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1769823457825</updated>
</task>
<task id="LOCAL-00003" summary="Changed terminate into unload">
<option name="closed" value="true" />
<created>1769823754859</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1769823754859</updated>
</task>
<task id="LOCAL-00004" summary="Going to bed but i wanna show off my cool debugging system">
<option name="closed" value="true" />
<created>1770004973461</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1770004973461</updated>
</task>
<task id="LOCAL-00005" summary="Near V1.0">
<option name="closed" value="true" />
<created>1770573442920</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1770573442920</updated>
</task>
<task id="LOCAL-00006" summary="Merging Components And Behaviors">
<option name="closed" value="true" />
<created>1770584193348</created>
<option name="number" value="00006" />
<option name="presentableId" value="LOCAL-00006" />
<option name="project" value="LOCAL" />
<updated>1770584193348</updated>
</task>
<task id="LOCAL-00007" summary="Testing gittea">
<option name="closed" value="true" />
<created>1770585216828</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1770585216828</updated>
</task>
<task id="LOCAL-00008" summary="Messing with stuff idk if i like">
<option name="closed" value="true" />
<created>1770593582353</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1770593582354</updated>
</task>
<task id="LOCAL-00009" summary="Messing with stuff idk if i like">
<option name="closed" value="true" />
<created>1770593737356</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1770593737356</updated>
</task>
<task id="LOCAL-00010" summary="Big work">
<option name="closed" value="true" />
<created>1771167742821</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1771167742821</updated>
</task>
<task id="LOCAL-00011" summary="COOKING">
<option name="closed" value="true" />
<created>1771181234503</created>
<option name="number" value="00011" />
<option name="presentableId" value="LOCAL-00011" />
<option name="project" value="LOCAL" />
<updated>1771181234503</updated>
</task>
<task id="LOCAL-00012" summary="Finished component docker mostly!">
<option name="closed" value="true" />
<created>1771184252214</created>
<option name="number" value="00012" />
<option name="presentableId" value="LOCAL-00012" />
<option name="project" value="LOCAL" />
<updated>1771184252214</updated>
</task>
<task id="LOCAL-00013" summary="Closing in on beta">
<option name="closed" value="true" />
<created>1771188148264</created>
<option name="number" value="00013" />
<option name="presentableId" value="LOCAL-00013" />
<option name="project" value="LOCAL" />
<updated>1771188148264</updated>
</task>
<task id="LOCAL-00014" summary="Awperative Beta 1.0 Complete!">
<option name="closed" value="true" />
<created>1771189947056</created>
<option name="number" value="00014" />
<option name="presentableId" value="LOCAL-00014" />
<option name="project" value="LOCAL" />
<updated>1771189947056</updated>
</task>
<task id="LOCAL-00015" summary="Awperative Beta!">
<option name="closed" value="true" />
<created>1771205670552</created>
<option name="number" value="00015" />
<option name="presentableId" value="LOCAL-00015" />
<option name="project" value="LOCAL" />
<updated>1771205670552</updated>
</task>
<task id="LOCAL-00016" summary="Awperative Beta Complete! V1.0">
<option name="closed" value="true" />
<created>1771205931449</created>
<option name="number" value="00016" />
<option name="presentableId" value="LOCAL-00016" />
<option name="project" value="LOCAL" />
<updated>1771205931449</updated>
</task>
<task id="LOCAL-00017" summary="Renamed To Kernel">
<option name="closed" value="true" />
<created>1771282809574</created>
<option name="number" value="00017" />
<option name="presentableId" value="LOCAL-00017" />
<option name="project" value="LOCAL" />
<updated>1771282809574</updated>
</task>
<option name="localTasksCounter" value="18" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="UnityCheckinConfiguration" checkUnsavedScenes="true" />
<component name="UnityProjectConfiguration" hasMinimizedUI="false" />
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
<MESSAGE value="Pre initialize removal" />
<MESSAGE value="Removed Initialize()" />
<MESSAGE value="Changed terminate into unload" />
<MESSAGE value="Going to bed but i wanna show off my cool debugging system" />
<MESSAGE value="Near V1.0" />
<MESSAGE value="Merging Components And Behaviors" />
<MESSAGE value="Testing gittea" />
<MESSAGE value="Not happy with changes" />
<MESSAGE value="Messing with stuff idk if i like" />
<MESSAGE value="Big work" />
<MESSAGE value="COOKING" />
<MESSAGE value="Finished component docker mostly!" />
<MESSAGE value="Closing in on beta" />
<MESSAGE value="Awperative Beta 1.0 Complete!" />
<MESSAGE value="Awperative Beta!" />
<MESSAGE value="Awperative Beta Complete! V1.0" />
<MESSAGE value="Renamed To Kernel" />
<option name="LAST_COMMIT_MESSAGE" value="Renamed To Kernel" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
<option name="timeStamp" value="1" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
<option name="timeStamp" value="2" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
<option name="timeStamp" value="3" />
</breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>

View File

@@ -2,6 +2,8 @@
<dictionary name="project">
<words>
<w>awlf</w>
<w>awperative</w>
<w>awperative's</w>
</words>
</dictionary>
</component>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="PROJECT" />
<option name="description" value="" />
<option name="applicationTheme" value="default" />
<option name="iconsTheme" value="default" />
<option name="button1Title" value="" />
<option name="button1Url" value="" />
<option name="button2Title" value="" />
<option name="button2Url" value="" />
<option name="customApplicationId" value="" />
</component>
</project>

View File

@@ -1,11 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Library</OutputType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MonoGame.Framework.DesktopGL" Version="3.8.*">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
</Project>

View File

@@ -1,10 +0,0 @@
namespace Awperative.Kernel.Communication.Config;
//TEMPORARY LIST OF VARIABLES, CONFIG DOESNT EXIST YET SO IM MAKING A VARIABLE LIST TO SEE WHAT I NEED TO REPLACE
public static class Config
{
public static string logFileName = "log";
}

View File

@@ -1 +0,0 @@
todo: make a yaml file for the kernel config and this can find it outside of the kernel

View File

@@ -1,37 +0,0 @@
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using Awperative.Kernel.Communication.Config;
namespace Awperative;
public static partial class Debug
{
/// <summary>
/// True path of the log file Awperative dumps to.
/// </summary>
public static string LogFilePath { get; private set; }
/// <summary>
/// Sets up the Awperative debugger and finds the log file.
/// </summary>
internal static void Initiate() {
string directoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
if(directoryPath == null) throw new Exception("Failed to get directory path!");
if(!Directory.GetFiles(directoryPath).Contains(Config.logFileName + ".awlf")) throw new Exception("Failed to find log file!");
LogFilePath = Path.Join(directoryPath, Config.logFileName + ".awlf");
}
}

View File

@@ -1,3 +0,0 @@
ESSENTIAL TO THE FUNCTION OF THE GAME,
Component entity system!

View File

@@ -1,25 +0,0 @@
namespace Awperative;
/// <summary>
/// Awperative hooks are the source of entry for scripts using Awperative. Create a hook and send into Start() to be recognized by the engine.
/// </summary>
/// <author> Avery Norris </author>
public interface AwperativeHook
{
/// <summary>
/// Called when the program starts; It is not recommended you load assets here.
/// </summary>
public void Load() {}
/// <summary>
/// Called when the program closes.
/// </summary>
public void Unload() {}
}

View File

@@ -1,94 +0,0 @@
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace Awperative;
/// <summary>
/// Base class of Awperative. Carries events from MonoGame into scenes and hooks.
/// </summary>
/// <author> Avery Norris </author>
public sealed class Base : Game
{
/// <summary>
/// Start of Awperative. Please do not try to call this.
/// </summary>
internal Base() {
Awperative.GraphicsDeviceManager = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
/// <summary>
/// Initialize() is called when the program starts. Goes before LoadContent(). And prepares the kernel for use.
/// </summary>
/// <remarks> It is recommended not to load content in Initialize()</remarks>
protected override void Initialize() {
Awperative.ContentManager = Content;
Awperative.SpriteBatch = new SpriteBatch(GraphicsDevice);
base.Initialize();
}
/// <summary>
/// LoadContent() is called when the program starts; right after Initialize(). Override Load() in scripting tools or use hooks to call from this event.
/// </summary>
/// <remarks> It is recommended to load content during LoadContent()</remarks>
protected override void LoadContent() {
foreach (AwperativeHook hook in Awperative.EventHooks.ToList()) hook.Load();
foreach(Scene scene in Awperative.LoadedScenes.ToList()) scene.ChainLoad();
}
/// <summary>
/// Update() is called every frame; before Draw(). Override Update() in scripting tools to call from this event.
/// </summary>
/// <remarks> Hooks are unable to receive both Update() and Draw()</remarks>
protected override void Update(GameTime __gameTime) {
foreach(Scene scene in Awperative.LoadedScenes.ToList()) scene.ChainUpdate();
base.Update(__gameTime);
}
/// <summary>
/// Draw() is called every frame; after Update(). Override Draw() in scripting tools to call from this event.
/// </summary>
/// <remarks> Hooks are unable to receive both Update() and Draw()</remarks>
protected override void Draw(GameTime __gameTime) {
foreach(Scene scene in Awperative.LoadedScenes.ToList()) scene.ChainDraw();
base.Draw(__gameTime);
}
/// <summary>
/// EndRun() is called if the program closes. Override Terminate() in scripting tools or use hooks to call from this event.
/// </summary>
/// <remarks> This event may not trigger if the program is force closed.</remarks>
protected override void EndRun() {
foreach (AwperativeHook hook in Awperative.EventHooks.ToList()) hook.Unload();
foreach (Scene scene in Awperative.LoadedScenes.ToList()) scene.ChainUnload();
}
}

View File

@@ -1,87 +0,0 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
namespace Awperative;
/// <summary>
/// Initiating class of Awperative. Call Start() to start the kernel.
/// </summary>
/// <author> Avery Norris </author>
public static class Awperative
{
/// <summary>
/// Bottom class of Awperative. Contains the MonoGame instance.
/// </summary>
public static Base Base { get; internal set; }
/// <summary>
/// Handles graphics settings through MonoGame.
/// </summary>
public static GraphicsDeviceManager GraphicsDeviceManager { get; internal set; }
/// <summary>
/// Handles drawing sprites to the screen through MonoGame.
/// </summary>
public static SpriteBatch SpriteBatch { get; internal set; }
/// <summary>
/// Handles loading content through MonoGame.
/// </summary>
public static ContentManager ContentManager { get; internal set; }
/// <summary>
/// List of all scenes currently loaded in the kernel.
/// </summary>
public static List<Scene> LoadedScenes => _loadedScenes.ToList();
internal static HashSet<Scene> _loadedScenes { get; private set; }= [];
/// <summary>
/// List of all event hooks currently loaded in the kernel.
/// </summary>
public static List<AwperativeHook> EventHooks => _eventHooks.ToList();
internal static HashSet<AwperativeHook> _eventHooks { get; private set; } = [];
/// <summary>
/// Start() begins the game; and begins communication with all event hooks.
/// </summary>
/// <param name="__hooks"> List of all event hooks you wish to use. </param>
/// <remarks> You cannot add new hooks later; so make sure to register all of them in the Start() method.</remarks>
public static void Start(List<AwperativeHook> __hooks) {
_eventHooks = new HashSet<AwperativeHook>(__hooks);
Base = new Base();
Base.Run();
}
}

View File

@@ -1,12 +0,0 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
namespace Awperative;
public sealed partial class Scene : ComponentDocker
{
//todo: make useful lolol
}

View File

@@ -1,24 +0,0 @@
events system
json parser
cool lossless compressor to make my files look more complex
name save files something like ansf
//todo: spinny loady wheel, error graphic and make it so multiple scenes can be loaded and modularized, make it so Components can be enabled and disabled and merging scenes loading
body tags, Component and component tags search methods add a way to enforce one component between all scenes, Components and components upgrade base script
show colliders option
streamline asset registries
make the grass go in blocks kinda
and add a fading border to the edge of grass
add multiple languages
add collision layers and triggers
add aabb change events

View File

@@ -1 +0,0 @@
0d2f3ccf3836278a524ccd7dcffa2d6d6f413b7714423dadd8fea63d443d5de6

View File

@@ -1 +0,0 @@
95848c046b9b32c14cf563754dd778d9bd1782510c1ef05d43cd25a8dc421370

View File

@@ -1 +0,0 @@
{"documents":{"/Users/averynorris/RiderProjects/Awperative/*":"https://raw.githubusercontent.com/BlazeyDotOrg/Awperative/67fca0c271ce945c612999f54223bca0718349dc/*"}}

View File

@@ -1,338 +0,0 @@
{
"version": 3,
"targets": {
"net8.0": {
"MonoGame.Framework.DesktopGL/3.8.4.1": {
"type": "package",
"dependencies": {
"MonoGame.Library.OpenAL": "1.24.3.2",
"MonoGame.Library.SDL": "2.32.2.1",
"NVorbis": "0.10.4"
},
"compile": {
"lib/net8.0/MonoGame.Framework.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/MonoGame.Framework.dll": {
"related": ".xml"
}
},
"build": {
"build/MonoGame.Framework.DesktopGL.targets": {}
}
},
"MonoGame.Library.OpenAL/1.24.3.2": {
"type": "package",
"runtimeTargets": {
"runtimes/android-arm/native/libopenal.so": {
"assetType": "native",
"rid": "android-arm"
},
"runtimes/android-arm64/native/libopenal.so": {
"assetType": "native",
"rid": "android-arm64"
},
"runtimes/android-x64/native/libopenal.so": {
"assetType": "native",
"rid": "android-x64"
},
"runtimes/android-x86/native/libopenal.so": {
"assetType": "native",
"rid": "android-x86"
},
"runtimes/ios-arm64/native/libopenal.a": {
"assetType": "native",
"rid": "ios-arm64"
},
"runtimes/iossimulator-arm64/native/libopenal.a": {
"assetType": "native",
"rid": "iossimulator-arm64"
},
"runtimes/iossimulator-x64/native/libopenal.a": {
"assetType": "native",
"rid": "iossimulator-x64"
},
"runtimes/linux-arm64/native/libopenal.so": {
"assetType": "native",
"rid": "linux-arm64"
},
"runtimes/linux-x64/native/libopenal.so": {
"assetType": "native",
"rid": "linux-x64"
},
"runtimes/osx/native/libopenal.dylib": {
"assetType": "native",
"rid": "osx"
},
"runtimes/win-x64/native/openal.dll": {
"assetType": "native",
"rid": "win-x64"
}
}
},
"MonoGame.Library.SDL/2.32.2.1": {
"type": "package",
"runtimeTargets": {
"runtimes/linux-x64/native/libSDL2-2.0.so.0": {
"assetType": "native",
"rid": "linux-x64"
},
"runtimes/osx/native/libSDL2-2.0.0.dylib": {
"assetType": "native",
"rid": "osx"
},
"runtimes/win-x64/native/SDL2.dll": {
"assetType": "native",
"rid": "win-x64"
}
}
},
"NVorbis/0.10.4": {
"type": "package",
"dependencies": {
"System.Memory": "4.5.3",
"System.ValueTuple": "4.5.0"
},
"compile": {
"lib/netstandard2.0/NVorbis.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/NVorbis.dll": {
"related": ".xml"
}
}
},
"System.Memory/4.5.3": {
"type": "package",
"compile": {
"ref/netcoreapp2.1/_._": {}
},
"runtime": {
"lib/netcoreapp2.1/_._": {}
}
},
"System.ValueTuple/4.5.0": {
"type": "package",
"compile": {
"ref/netcoreapp2.0/_._": {}
},
"runtime": {
"lib/netcoreapp2.0/_._": {}
}
}
}
},
"libraries": {
"MonoGame.Framework.DesktopGL/3.8.4.1": {
"sha512": "YybxIIT5+Ky78E/XdkS0glyluMr2EeDZwx2LqXULAOCqiKt1+aDrjPZaqLL5qpNgBcMEHUeZJ4YjWe4TAZlWLw==",
"type": "package",
"path": "monogame.framework.desktopgl/3.8.4.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"README-packages.md",
"build/MonoGame.Framework.DesktopGL.targets",
"lib/net8.0/MonoGame.Framework.dll",
"lib/net8.0/MonoGame.Framework.xml",
"monogame.framework.desktopgl.3.8.4.1.nupkg.sha512",
"monogame.framework.desktopgl.nuspec"
]
},
"MonoGame.Library.OpenAL/1.24.3.2": {
"sha512": "nGRsXQXs+NSUC3C5w90hFQfyKdZPpBnHnyg2w+Dw/2pUH7s+CoRWTJNYbzzdJf3+aeUvfvG4rTbFvMKDDj5olA==",
"type": "package",
"path": "monogame.library.openal/1.24.3.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE",
"README.md",
"monogame.library.openal.1.24.3.2.nupkg.sha512",
"monogame.library.openal.nuspec",
"runtimes/android-arm/native/libopenal.so",
"runtimes/android-arm64/native/libopenal.so",
"runtimes/android-x64/native/libopenal.so",
"runtimes/android-x86/native/libopenal.so",
"runtimes/ios-arm64/native/libopenal.a",
"runtimes/iossimulator-arm64/native/libopenal.a",
"runtimes/iossimulator-x64/native/libopenal.a",
"runtimes/linux-arm64/native/libopenal.so",
"runtimes/linux-x64/native/libopenal.so",
"runtimes/osx/native/libopenal.dylib",
"runtimes/win-x64/native/openal.dll"
]
},
"MonoGame.Library.SDL/2.32.2.1": {
"sha512": "T4E2ppGlSTC2L9US1rxtdg3qTbarRzNId31xZoumUW9cf9Nq8nRQPMu9GzvZGrhfSySf0+UWPEj1rlicps+P/w==",
"type": "package",
"path": "monogame.library.sdl/2.32.2.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.txt",
"README.md",
"monogame.library.sdl.2.32.2.1.nupkg.sha512",
"monogame.library.sdl.nuspec",
"runtimes/linux-x64/native/libSDL2-2.0.so.0",
"runtimes/osx/native/libSDL2-2.0.0.dylib",
"runtimes/win-x64/native/SDL2.dll"
]
},
"NVorbis/0.10.4": {
"sha512": "WYnil3DhQHzjCY0dM9I2B3r1vWip90AOuQd25KE4NrjPQBg0tBJFluRLm5YPnO5ZLDmwrfosY8jCQGQRmWI/Pg==",
"type": "package",
"path": "nvorbis/0.10.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE",
"lib/net45/NVorbis.dll",
"lib/net45/NVorbis.xml",
"lib/netstandard2.0/NVorbis.dll",
"lib/netstandard2.0/NVorbis.xml",
"nvorbis.0.10.4.nupkg.sha512",
"nvorbis.nuspec"
]
},
"System.Memory/4.5.3": {
"sha512": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
"type": "package",
"path": "system.memory/4.5.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/netcoreapp2.1/_._",
"lib/netstandard1.1/System.Memory.dll",
"lib/netstandard1.1/System.Memory.xml",
"lib/netstandard2.0/System.Memory.dll",
"lib/netstandard2.0/System.Memory.xml",
"ref/netcoreapp2.1/_._",
"system.memory.4.5.3.nupkg.sha512",
"system.memory.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.ValueTuple/4.5.0": {
"sha512": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==",
"type": "package",
"path": "system.valuetuple/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net461/System.ValueTuple.dll",
"lib/net461/System.ValueTuple.xml",
"lib/net47/System.ValueTuple.dll",
"lib/net47/System.ValueTuple.xml",
"lib/netcoreapp2.0/_._",
"lib/netstandard1.0/System.ValueTuple.dll",
"lib/netstandard1.0/System.ValueTuple.xml",
"lib/netstandard2.0/_._",
"lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll",
"lib/portable-net40+sl4+win8+wp8/System.ValueTuple.xml",
"lib/uap10.0.16299/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net461/System.ValueTuple.dll",
"ref/net47/System.ValueTuple.dll",
"ref/netcoreapp2.0/_._",
"ref/netstandard2.0/_._",
"ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll",
"ref/uap10.0.16299/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"system.valuetuple.4.5.0.nupkg.sha512",
"system.valuetuple.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
}
},
"projectFileDependencyGroups": {
"net8.0": [
"MonoGame.Framework.DesktopGL >= 3.8.*"
]
},
"packageFolders": {
"/home/avery/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/avery/Programming/Awperative/Awperative/Awperative.csproj",
"projectName": "Awperative",
"projectPath": "/home/avery/Programming/Awperative/Awperative/Awperative.csproj",
"packagesPath": "/home/avery/.nuget/packages/",
"outputPath": "/home/avery/Programming/Awperative/Awperative/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/avery/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"MonoGame.Framework.DesktopGL": {
"suppressParent": "All",
"target": "Package",
"version": "[3.8.*, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/8.0.123/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@@ -1,15 +0,0 @@
{
"version": 2,
"dgSpecHash": "oHHZKOBBLTE=",
"success": true,
"projectFilePath": "/home/avery/Programming/Awperative/Awperative/Awperative.csproj",
"expectedPackageFiles": [
"/home/avery/.nuget/packages/monogame.framework.desktopgl/3.8.4.1/monogame.framework.desktopgl.3.8.4.1.nupkg.sha512",
"/home/avery/.nuget/packages/monogame.library.openal/1.24.3.2/monogame.library.openal.1.24.3.2.nupkg.sha512",
"/home/avery/.nuget/packages/monogame.library.sdl/2.32.2.1/monogame.library.sdl.2.32.2.1.nupkg.sha512",
"/home/avery/.nuget/packages/nvorbis/0.10.4/nvorbis.0.10.4.nupkg.sha512",
"/home/avery/.nuget/packages/system.memory/4.5.3/system.memory.4.5.3.nupkg.sha512",
"/home/avery/.nuget/packages/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg.sha512"
],
"logs": []
}

View File

@@ -1 +0,0 @@
"restore":{"projectUniqueName":"/home/avery/Programming/Awperative/Awperative/Awperative.csproj","projectName":"Awperative","projectPath":"/home/avery/Programming/Awperative/Awperative/Awperative.csproj","outputPath":"/home/avery/Programming/Awperative/Awperative/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"MonoGame.Framework.DesktopGL":{"suppressParent":"All","target":"Package","version":"[3.8.*, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/lib/dotnet/sdk/8.0.123/PortableRuntimeIdentifierGraph.json"}}

View File

@@ -1 +0,0 @@
17711080279752479

View File

@@ -1 +0,0 @@
17711080279752479

View File

@@ -1,6 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Awperative", "Awperative\Awperative.csproj", "{0130E4FD-B03B-4A9F-8431-B602C98BE466}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AwperativeKernel", "AwperativeKernel\AwperativeKernel.csproj", "{0130E4FD-B03B-4A9F-8431-B602C98BE466}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -0,0 +1,4 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/Environment/AssemblyExplorer/XmlDocument/@EntryValue">&lt;AssemblyExplorer&gt;
&lt;Assembly Path="/Users/averynorris/Programming/Test/Awperative/Awperative/bin/Debug/net8.0/Awperative.dll" /&gt;
&lt;/AssemblyExplorer&gt;</s:String></wpf:ResourceDictionary>

View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Library</OutputType>
<RootNamespace>Awperative</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>/home/avery/Projects/Awperative/Build/Kernel/</OutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="OpenTK" Version="5.0.0-pre.15" />
</ItemGroup>
</Project>

View File

@@ -1,18 +1,13 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using Microsoft.Xna.Framework;
namespace Awperative;
/// <summary>
/// The lowest level scripting class in Awperative. Components are scene level and provide access to all scene level methods, can be applied to any docker and inherited
/// Sadly component does not have excessive access to specific types.
/// Anything that inherits Component is built to work in any DockerEntity, which leads to generic
/// Assumptions. If you want to make a body specific or scene specific component both classes are available.
/// </summary>
namespace AwperativeKernel;
public abstract partial class Component : ComponentDocker
{
@@ -25,6 +20,20 @@ public abstract partial class Component : ComponentDocker
/// <summary>
/// If the component receives time events or not.
/// </summary>
public bool Enabled = true;
/// <summary>
/// Component name
/// </summary>
public string Name;
/// <summary>
/// Order for when Components are called on. Only applies between Components on the same Docker.
/// </summary>
@@ -40,8 +49,11 @@ public abstract partial class Component : ComponentDocker
/// To be called when the Component is created.
/// </summary>
/// <param name="__parent"> Docker that this spawned in this Component</param>
internal void Initiate(ComponentDocker __parent) {
/// <param name="__name"> Name of the component</param>
internal void Initiate(ComponentDocker __parent, string __name, string[] __tags) {
ComponentDocker = __parent;
Name = __name;
_tags = [..__tags];
Create();
}
@@ -109,7 +121,7 @@ public abstract partial class Component : ComponentDocker
/// Identifiers for Components.
/// </summary>
public ImmutableArray<string> Tags => [.._tags];
internal HashSet<string> _tags;
internal HashSet<string> _tags = [];
@@ -132,9 +144,9 @@ public abstract partial class Component : ComponentDocker
public void RemoveTag(string __tag) => ComponentDocker.UnhashTaggedComponent(this, __tag);
/// <summary>
/// All parent Dockers and the parents of the parents up until the Scene. Will only list parents of parents, not uncle dockers.
/// </summary>
@@ -148,6 +160,9 @@ public abstract partial class Component : ComponentDocker
if (currentComponentDocker is Component Component) {
returnValue.Add(currentComponentDocker);
currentComponentDocker = Component.ComponentDocker;
} else {
Debug.LogError("Component has a Parent that is not a Scene or Component, Please do not use the Docker class unless you know what you are doing!", ["Component", "Type", "Docker"],
[GetHashCode().ToString(), GetType().ToString(), ComponentDocker.GetHashCode().ToString()]);
}
}
@@ -189,4 +204,37 @@ public abstract partial class Component : ComponentDocker
}
return [..returnValue];
}
/// <summary>
/// Creates a new Scene
/// </summary>
/// <param name="__name">Name of the Scene</param>
public Scene CreateScene(string __name) => Awperative.CreateScene(__name);
/// <summary>
/// Finds a scene.
/// </summary>
/// <param name="__name">Name of the Scene</param>
/// <returns></returns>
public Scene GetScene(string __name) => Awperative.GetScene(__name);
/// <summary>
/// Destroys a Scene forever
/// </summary>
/// <param name="__scene"> Target scene</param>
public void RemoveScene(Scene __scene) => Awperative.CloseScene(__scene);
/// <summary>
/// Destroys a Scene forever
/// </summary>
/// <param name="__name">Name of the Scene</param>
public void RemoveScene(string __name) => Awperative.CloseScene(__name);
}

View File

@@ -1,5 +1,7 @@
# Awperative Components
### Code and Documentation by Avery Norris
---
@@ -15,7 +17,7 @@ an Entity Component system involves 2/3 types of data.
- **Components** are what we actually care about, shockingly, they are the
"Component" in Entity Component System, and you can think about them as the actual
scripts or program in your Game, but a little more object oriented.
scripts or program in your Game, but a little more object-oriented.
- **GameObjects** are the parents components are glued to, in most Game Libraries and Engines
@@ -45,7 +47,7 @@ As of this current version, Awperative's **ECS** has taken on a different form t
One of the main **Awperative Principles** is **Generalization**; and during development it became clear
GameObjects are unnecessary, which caused them to be replaced by: the **Component**.
**Components** are a combination of the **GameObjects** and **Components** we discussed earlier. Awperative
While they are still called **Components**, Awperative's Components are actually a combination of the **GameObjects** and **Components** we discussed earlier. Awperative
does not implement many fancy features out of the box; because of that the traditionally useful GameObjects became
obsolete. Objects are also not built to be flexible like Components, leaving empty, nearly static objects floating in
our Scenes.
@@ -93,7 +95,7 @@ For any further documentation, please refer to the API section of our glorious w
## Examples and Good Practice
First let's see how we can recreate typical GameObject Component. I would most recommend using **Nested Components** to acheive this.
First let's see how we can recreate typical GameObject Component. I would most recommend using **Nested Components** to achieve this.
If we pretend we have implemented a few modules for basic transform profiles and sprite management, then we can easily make a basic movable sprite object.
Like so :
@@ -232,4 +234,4 @@ will cause logged errors, and possibly a runtime error/halt.
---
# End Of Documentation
### Written By Avery Norris
### Code and Documentation by Avery Norris

View File

@@ -1,18 +1,19 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using System.Reflection;
namespace Awperative;
namespace AwperativeKernel;
/// <summary>
/// Base class for all Awperative Entities. Responsible for Managing hierarchy between Components and Scenes, has Extensive Component Manipulation Available.
/// Also transfers Time and Carries most of the responsibilities akin to the Component.
/// </summary>
/// <remarks> Please don't inherit this I don't know why you would</remarks>
/// <remarks> Please don't inherit this. I don't know why you would</remarks>
/// <author> Avery Norris </author>
public abstract partial class ComponentDocker
public abstract class ComponentDocker
{
@@ -28,19 +29,24 @@ public abstract partial class ComponentDocker
/// Amount of all Components in the Docker
/// </summary>
public int Count => _Components.Count;
/// <summary>
/// Core of Docker, contains all of our precious Components. Sorts them by their priorities with highest going first.
/// If they are equal it defaults to hash codes to ensure consistent Behavior
/// </summary>
internal SortedSet<Component> _Components = new(Comparer<Component>.Create((a, b) => {
internal SortedSet<Component> _Components = new(_componentSorter);
/// <summary>
/// How Priority is sorted.
/// </summary>
private readonly static Comparer<Component> _componentSorter = Comparer<Component>.Create((a, b) => {
int result = b.Priority.CompareTo(a.Priority);
return (result != 0) ? result : a.GetHashCode().CompareTo(b.GetHashCode());
}));
});
@@ -76,38 +82,38 @@ public abstract partial class ComponentDocker
/// Called by Awperative when the game is Closed, sends the event to all children; and they send it to their children.
/// </summary>
/// <remarks> Will not always trigger if the program is force closed </remarks>
internal virtual void ChainUnload() { foreach (Component component in (Component[])[.._Components]) { component.Unload(); component.ChainUnload(); } }
internal virtual void ChainUnload() { foreach (Component component in (Component[])[.._Components]) { if(component.Enabled) { component.Unload(); component.ChainUnload(); } } }
/// <summary>
/// Called by Awperative when the game is Opened, sends the event to all children; and they send it to their children.
/// </summary>
internal virtual void ChainLoad() { foreach (Component component in (Component[])[.._Components]) { component.Load(); component.ChainLoad(); } }
internal virtual void ChainLoad() { foreach (Component component in (Component[])[.._Components]) { if(component.Enabled) { component.Load(); component.ChainLoad(); } } }
/// <summary>
/// Called by Awperative when the game is Updated sends the event to all children; and they send it to their children.
/// </summary>
internal virtual void ChainUpdate() { foreach (Component component in (Component[])[.._Components]) { component.Update(); component.ChainUpdate(); } }
internal virtual void ChainUpdate() { foreach (Component component in (Component[])[.._Components]) { if(component.Enabled) { component.Update(); component.ChainUpdate(); } } }
/// <summary>
/// Called by Awperative when the game is Drawn, sends the event to all children; and they send it to their children.
/// </summary>
/// <remarks> Only use this method for drawing methods</remarks>
internal virtual void ChainDraw() { foreach (Component component in (Component[])[.._Components]) { component.Draw(); component.ChainDraw(); } }
internal virtual void ChainDraw() { foreach (Component component in (Component[])[.._Components]) { if(component.Enabled) { component.Draw(); component.ChainDraw(); } } }
/// <summary>
/// Called by Awperative when this is Created, sends the event to all children; and they send it to their children.
/// </summary>
internal virtual void ChainCreate() { foreach (Component component in (Component[])[.._Components]) { if(component.Enabled) { component.Create(); component.ChainCreate(); } } }
/// <summary>
/// Called by Awperative when this Component is destroyed, sends the event to all children; since they will be Destroyed too. And they send it to their children.
/// </summary>
/// <remarks> Not called when the game is closed</remarks>
internal virtual void ChainDestroy() { foreach(Component component in (Component[])[.._Components]) { component.Destroy(); component.ChainDestroy(); } }
/// <summary>
/// Called by Awperative when this is Created, sends the event to all children; and they send it to their children.
/// </summary>
internal virtual void ChainCreate() { foreach (Component component in (Component[])[.._Components]) { component.Create(); component.ChainCreate(); } }
internal virtual void ChainDestroy() { foreach(Component component in (Component[])[.._Components]) { if(component.Enabled) { component.Destroy(); component.ChainDestroy(); } } }
@@ -124,11 +130,11 @@ public abstract partial class ComponentDocker
/// <param name="__args"> Arguments to construct the Component with</param>
/// <typeparam name="__Type"> Type of Component to instantiate</typeparam>
/// <returns></returns>
public __Type Add<__Type>(object[] __args) where __Type : Component {
public __Type Add<__Type>(object[] __args, string name = "", string[] tags = null) where __Type : Component {
if(name == "") { name = typeof(__Type).Name; }
if (tags == null) tags = [];
//Log Action
Debug.LogAction("Adding Component to Docker", ["Type", "Args", "Docker"],
[typeof(__Type).ToString(), "[" + string.Join(", ", __args.Select(x => x.ToString())) + "]", GetHashCode().ToString()]);
@@ -160,12 +166,7 @@ public abstract partial class ComponentDocker
//Add to docker and initialize the new Component
_Components.Add(newComponent);
newComponent.Initiate(this);
//Logs successful action!
Debug.LogState("Successfully Created Component and Attached it to Docker", ["Type", "Args", "Docker", "Component"],
[typeof(__Type).ToString(), "[" + string.Join(", ", __args.Select(x => x.ToString())) + "]", GetHashCode().ToString(), newComponent.GetHashCode().ToString()]);
newComponent.Initiate(this, name, tags);
return (__Type) newComponent;
@@ -178,7 +179,7 @@ public abstract partial class ComponentDocker
/// </summary>
/// <typeparam name="__Type"></typeparam>
/// <returns></returns>
public __Type Add<__Type>() where __Type : Component => Add<__Type>([]);
public __Type Add<__Type>(string name = "", string[] tags = null) where __Type : Component => Add<__Type>([], name: name, tags: tags);
@@ -197,21 +198,16 @@ public abstract partial class ComponentDocker
/// <remarks> Components cannot transfer themselves with this Method!</remarks>
public void Move(Component __component, ComponentDocker __componentDocker) {
//This allows self transfer behavior while preserving Docker's actual job, Before all other statements to prevent Double-Debugging.
if (__component == this) { __component.ComponentDocker.Move(__component, __componentDocker); return; }
Debug.LogAction("Transferring Component to Different Docker", ["Component", "Type", "CurrentDocker", "NewDocker"],
[__component.GetHashCode().ToString(), __component.GetType().ToString(), GetHashCode().ToString(), __componentDocker.GetHashCode().ToString()]);
if (__component == null) {
Debug.LogError("Component is null!", ["Component", "Type", "CurrentDocker", "NewDocker"],
[__component.GetHashCode().ToString(), __component.GetType().ToString(), GetHashCode().ToString(), __componentDocker.GetHashCode().ToString()]); return; }
Debug.LogError("Component is null!", ["CurrentDocker", "NewDocker"],
[GetHashCode().ToString(), __componentDocker.GetHashCode().ToString()]); return; }
@@ -229,11 +225,6 @@ public abstract partial class ComponentDocker
//Update components parent
__component.ComponentDocker = __componentDocker;
Debug.LogState("Successfully Transferred Component to a new Docker" , ["Component", "Type", "CurrentDocker", "NewDocker"],
[__component.GetHashCode().ToString(), __component.GetType().ToString(), GetHashCode().ToString(), __componentDocker.GetHashCode().ToString()]);
}
@@ -252,7 +243,7 @@ public abstract partial class ComponentDocker
/// </summary>
/// <param name="__Components"> List of Components to transfer</param>
/// <param name="__componentDocker"> Docker to move Component to</param>
public void MoveAll(IEnumerable<Component> __Components, ComponentDocker __componentDocker) { foreach (Component Component in (Component[])[.._Components]) Move(Component, __componentDocker); }
public void MoveAll(IEnumerable<Component> __Components, ComponentDocker __componentDocker) { foreach (Component Component in (Component[])[..__Components]) Move(Component, __componentDocker); }
@@ -288,17 +279,15 @@ public abstract partial class ComponentDocker
/// <param name="__tag"> Value to try and hash</param>
internal void HashTaggedComponent(Component __component, string __tag) {
if (!__component._tags.Add(__tag))
//already has tag
return;
if (!__component._tags.Add(__tag)) {
Debug.LogError("Component already has tag!", ["Component", "Type", "Tag", "Docker"],
[__component.GetHashCode().ToString(), __component.GetType().ToString(), __tag, GetHashCode().ToString()]); return;
}
if (_taggedComponents.TryGetValue(__tag, out SortedSet<Component> components)) {
components.Add(__component);
} else _taggedComponents.Add(__tag, new SortedSet<Component>(Comparer<Component>.Create((a, b) => {
int result = b.Priority.CompareTo(a.Priority);
return (result != 0) ? result : a.GetHashCode().CompareTo(b.GetHashCode());
})));
} else { _taggedComponents.Add(__tag, new SortedSet<Component>(_componentSorter)); _taggedComponents[__tag].Add(__component); }
}
@@ -310,9 +299,10 @@ public abstract partial class ComponentDocker
/// <param name="__tag"></param>
internal void UnhashTaggedComponent(Component __component, string __tag) {
if (!__component._tags.Remove(__tag))
//doesnt have tag
return;
if (!__component._tags.Remove(__tag)) {
Debug.LogError("Component already doesn't have that tag!", ["Component", "Type", "Tag", "Docker"],
[__component.GetHashCode().ToString(), __component.GetType().ToString(), __tag, GetHashCode().ToString()]); return;
}
if (_taggedComponents.TryGetValue(__tag, out SortedSet<Component> components)) {
@@ -330,7 +320,7 @@ public abstract partial class ComponentDocker
/// <summary>
/// Finds the first instance of a component with a given tag
/// </summary>
/// <param name="__tag"></param>
/// <param name="__tag"> Tag to search for</param>
/// <returns></returns>
internal Component Get(string __tag) {
if (_taggedComponents.TryGetValue(__tag, out SortedSet<Component> components))
@@ -339,7 +329,17 @@ public abstract partial class ComponentDocker
return null;
}
/// <summary>
/// Finds the first instance of a component with a given tag
/// </summary>
/// <param name="__tag"> Tag to search for</param>
/// <param name="__component">Component that has been found</param>
/// <returns></returns>
internal bool TryGet(string __tag, out Component __component) { __component = Get(__tag); return __component != null; }
/// <summary>
/// Finds all Components with a given tag
@@ -354,13 +354,32 @@ public abstract partial class ComponentDocker
}
/// <summary>
/// Searches for all Components with a given tag
/// </summary>
/// <param name="__tag"></param>
/// <param name="__components"></param>
/// <returns></returns>
internal bool TryGetAll(string __tag, out ImmutableArray<Component> __components) { __components = GetAll(__tag); return __components.Length > 0; }
/// <summary>
/// Finds the first Component that has all the given tags
/// </summary>
/// <param name="__tags"></param>
/// <returns></returns>
internal Component Get(List<string> __tags) => GetAll(__tags)[0];
internal Component Get(List<string> __tags) { ImmutableArray<Component> returnValue = GetAll(__tags); return returnValue.Length > 0 ? returnValue[0] : null; }
/// <summary>
/// Finds the first Component that has all the given tags
/// </summary>
/// <param name="__tags"></param>
/// <returns></returns>
internal bool TryGet(List<string> __tags, out Component __component) { __component = Get(__tags); return __component != null; }
@@ -370,6 +389,10 @@ public abstract partial class ComponentDocker
/// <param name="__tags"></param>
/// <returns></returns>
internal ImmutableArray<Component> GetAll(List<string> __tags) {
if (__tags.Count == 0)
return [];
SortedSet<Component> foundComponents = _taggedComponents[__tags[0]];
for (int i = 1; i < __tags.Count; i++) {
@@ -380,6 +403,16 @@ public abstract partial class ComponentDocker
return [..foundComponents];
}
/// <summary>
/// Tries to get all components with the given tags
/// </summary>
/// <param name="__tags"></param>
/// <param name="__components"></param>
/// <returns></returns>
internal bool TryGetAll(List<string> __tags, out ImmutableArray<Component> __components) { __components = GetAll(__tags); return __components.Length > 0; }
@@ -392,25 +425,28 @@ public abstract partial class ComponentDocker
/// <returns></returns>
public __Type Get<__Type>() where __Type : Component {
Debug.LogAction("Searching for Component", ["Type", "Docker"],
[typeof(__Type).ToString(), GetHashCode().ToString()]);
//Iterates through the loop and returns if a match is found
foreach (Component component in (Component[])[.._Components]) {
if (component is __Type foundComponent) {
Debug.LogState("Found Component", ["Type", "Component", "Docker"],
[typeof(__Type).ToString(), foundComponent.GetHashCode().ToString(), GetHashCode().ToString()]);
return foundComponent;
}
}
foreach (Component component in (Component[])[.._Components])
if (component is __Type foundComponent) return foundComponent;
//Throws error if there is no Component found
Debug.LogError("Docker does not have target Component", ["Type", "Docker"],
[typeof(__Type).ToString(), GetHashCode().ToString()]); return null;
}
/// <summary>
///
/// </summary>
/// <param name="__component"></param>
/// <typeparam name="__Type"></typeparam>
/// <returns></returns>
public bool TryGet<__Type>(out __Type __component) where __Type : Component { __component = Get<__Type>(); return __component != null; }
@@ -422,11 +458,9 @@ public abstract partial class ComponentDocker
/// <typeparam name="__Type"> The Type of Components to search for</typeparam>
/// <returns></returns>
public ImmutableArray<__Type> GetAll<__Type>() where __Type : Component {
Debug.LogAction("Searching for all Components on Docker", ["Type", "Docker"],
[typeof(__Type).ToString(), GetHashCode().ToString()]);
List<__Type> foundComponents = [];
@@ -445,18 +479,34 @@ public abstract partial class ComponentDocker
return [];
}
Debug.LogState("Found Components on Docker", ["Components", "Type", "Docker"],
[(foundComponents.Select(x => x.GetHashCode().ToString()) + "]").ToString(), typeof(__Type).ToString(), GetHashCode().ToString()]);
return [..foundComponents];
}
/// <summary>
///
/// </summary>
/// <param name="__components"></param>
/// <typeparam name="__Type"></typeparam>
/// <returns></returns>
public bool TryGetAll<__Type>(out ImmutableArray<__Type> __components) where __Type : Component { __components = GetAll<__Type>(); return __components.Length > 0; }
/// <summary>
/// Returns a bool based on if the Docker contains a Component with the given tag or not
/// </summary>
/// <param name="__tag"></param>
/// <returns></returns>
public bool Contains(string __tag) => _taggedComponents.ContainsKey(__tag);
/// <summary>
/// Returns a bool based on if the Docker contains a Component of that type or not
/// </summary>
@@ -466,8 +516,6 @@ public abstract partial class ComponentDocker
/// <summary>
/// Returns a bool based on if the current __Component is owned by this Docker
/// </summary>
@@ -498,17 +546,13 @@ public abstract partial class ComponentDocker
Debug.LogError("Docker does not have ownership of Component", ["Component", "Type", "CurrentDocker"],
[__component.GetHashCode().ToString(), __component.GetType().ToString(), GetHashCode().ToString()]); return;
}
__component.Destroy();
__component.ChainDestroy();
foreach (string tag in __component._tags) UnhashTaggedComponent(__component, tag);
__component.ComponentDocker = null;
_Components.Remove(__component);
Debug.LogState("Successfully Destroyed Component", ["Component", "Type", "CurrentDocker"],
[__component.GetHashCode().ToString(), __component.GetType().ToString(), GetHashCode().ToString()]);
}
@@ -525,7 +569,7 @@ public abstract partial class ComponentDocker
/// Destroys all Components from a given collection.
/// </summary>
/// <param name="__Components"></param>
public void RemoveAll(IEnumerable<Component> __Components) { foreach (Component component in (Component[])[.._Components]) { Remove(component); } }
public void RemoveAll(IEnumerable<Component> __Components) { foreach (Component component in (Component[])[..__Components]) { Remove(component); } }
@@ -540,7 +584,7 @@ public abstract partial class ComponentDocker
/// <summary>
/// Destroys all Components attached to Docker
/// </summary>
public void Clear() { foreach (Component component in (Component[])[.._Components]) { Remove(component); } }
public void RemoveAll() { foreach (Component component in (Component[])[.._Components]) { Remove(component); } }

View File

@@ -1,12 +1,46 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
namespace Awperative;
namespace AwperativeKernel;
public static partial class Debug
public static class Debug
{
/// <summary>
/// True path of the log file Awperative dumps to.
/// </summary>
public static string LogFilePath { get; private set; }
public static string LogFileName { get; private set; } = "Log";
/// <summary>
/// Sets up the Awperative debugger and finds the log file.
/// </summary>
internal static void Initiate() {
string directoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
if(directoryPath == null) throw new Exception("Failed to get directory path!");
LogFilePath = Path.Join(directoryPath, LogFileName + ".awlf");
if(!Directory.GetFiles(directoryPath).Contains(LogFileName + ".awlf")) { File.Create(LogFilePath).Close(); }
}
/// <summary>
/// Writes the current message to the log file.
/// </summary>

View File

@@ -1,5 +1,5 @@
Awperative debugger writes errors to file while staying within runtime.
Searches for a file with any specifiable name in config. that must end in .awlf
Searches for a file with any specifiable name in config. that must end in .awlf
stands for awperative logging format.

View File

@@ -0,0 +1,11 @@
using System;
namespace AwperativeKernel;
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
public class Show : Attribute
{
public bool UseInspectorDefaults = true;
}

View File

@@ -0,0 +1,106 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
namespace AwperativeKernel;
/// <summary>
/// Initiating class of Awperative. Call Start() to start the kernel.
/// </summary>
/// <author> Avery Norris </author>
public static class Awperative
{
/// <summary>
/// Bottom class of Awperative. Contains the MonoGame instance.
/// </summary>
public static Base Base { get; internal set; }
/// <summary>
/// List of all scenes currently loaded in the kernel.
/// </summary>
public static ImmutableArray<Scene> Scenes => [.._scenes];
internal static HashSet<Scene> _scenes { get; private set; } = [];
/// <summary>
/// Creates a new Scene
/// </summary>
public static Scene CreateScene(string __name) {
if (!ContainsScene(__name)) {
Scene newScene = new Scene(__name);
_scenes.Add(newScene);
return newScene;
} else Debug.LogError("Awperative already has a Scene with that name!", ["Scene", "Name"], [GetScene(__name).GetHashCode().ToString(), __name]); return null;
}
/// <summary>
/// Finds a Scene from a given name
/// </summary>
/// <param name="__name"> Name to search for</param>
/// <returns></returns>
public static Scene GetScene(string __name) => _scenes.FirstOrDefault(scene => scene.Name == __name, null);
/// <summary>
/// Returns bool based on whether there a scene with the given name or not.
/// </summary>
/// <param name="__name"> Name of the Scene</param>
/// <returns></returns>
public static bool ContainsScene(string __name) => _scenes.Any(scene => scene.Name == __name);
/// <summary>
/// Closes a Scene
/// </summary>
/// <param name="__scene"> Scene to close</param>
public static void CloseScene(Scene __scene) => Scenes.Remove(__scene);
/// <summary>
/// Closes a Scene
/// </summary>
/// <param name="__name"> Name of the scene</param>
public static void CloseScene(string __name) => Scenes.Remove(GetScene(__name));
/// <summary>
/// Gets Awperative ready to roll!
/// </summary>
/// <param name="__hooks"> List of all event hooks you wish to use. </param>
/// <remarks> You cannot add new hooks later; so make sure to register all of them in the Start() method.</remarks>
public static void Start() {
Debug.Initiate();
}
/// <summary>
/// Starts Awperative up! This method runs forever.
/// </summary>
public static void Run() {
Base = new Base();
Base.Run();
}
}

View File

@@ -0,0 +1,60 @@
using System.ComponentModel;
using System.Linq;
using OpenTK;
using OpenTK.Windowing.Common;
using OpenTK.Windowing.Desktop;
namespace AwperativeKernel;
/// <summary>
/// Base class of Awperative. Carries events from MonoGame into scenes and hooks.
/// </summary>
/// <author> Avery Norris </author>
public sealed class Base() : GameWindow(GameWindowSettings.Default, new NativeWindowSettings() { })
{
/// <summary>
/// LoadContent() is called when the program starts; right after Initialize(). Override Load() in scripting tools or use hooks to call from this event.
/// </summary>
/// <remarks> It is recommended to load content during LoadContent()</remarks>
protected override void OnLoad() { foreach(Scene scene in Awperative.Scenes.ToList()) if(scene.Enabled) scene.ChainLoad(); }
/// <summary>
/// Update() is called every frame; before Draw(). Override Update() in scripting tools to call from this event.
/// </summary>
/// <remarks> Hooks are unable to receive both Update() and Draw()</remarks>
protected override void OnUpdateFrame(FrameEventArgs __args) { foreach(Scene scene in Awperative.Scenes.ToList()) if(scene.Enabled) scene.ChainUpdate(); base.OnUpdateFrame(__args); }
/// <summary>
/// Draw() is called every frame; after Update(). Override Draw() in scripting tools to call from this event.
/// </summary>
/// <remarks> Hooks are unable to receive both Update() and Draw()</remarks>
protected override void OnRenderFrame(FrameEventArgs __args) { foreach(Scene scene in Awperative.Scenes.ToList()) if(scene.Enabled) scene.ChainDraw(); base.OnRenderFrame(__args); }
/// <summary>
/// EndRun() is called if the program closes. Override Terminate() in scripting tools or use hooks to call from this event.
/// </summary>
/// <remarks> This event may not trigger if the program is force closed.</remarks>
protected override void OnClosing(CancelEventArgs __args) { foreach (Scene scene in Awperative.Scenes.ToList()) if(scene.Enabled) scene.ChainUnload(); base.OnClosing(__args); }
}

View File

@@ -0,0 +1,25 @@
namespace AwperativeKernel;
public sealed partial class Scene : ComponentDocker
{
/// <summary>
/// Whether the scene is enabled or not.
/// </summary>
public bool Enabled = true;
/// <summary>
/// Unique Name of the Scene
/// </summary>
public string Name;
internal Scene() {}
internal Scene(string __name) { Name = __name; }
}

View File

View File

@@ -0,0 +1,30 @@
# Awperative V1.0!
### Made by Avery Norris!
---
This is the very **first official** development version of Awperative! Out of the box Awperative has come with the following :
* Entity Component System using Components, Scenes and Dockers!
* Dynamic Debugging System which is used in multiple modules already
* Simple Overhead Modules
Current plans are to finish some unit tests, check Awperative up and down for naming consistency,
syntax, and bugs and begin building a Game Engine on top of it.
A few modules have been given documentation and the website is currently underway.
---
# Awperative V1.1
### Feb 17th 2026
---
Awperative is officially moved to Open TK!

View File

@@ -0,0 +1,266 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"AwperativeKernel/1.0.0": {
"dependencies": {
"OpenTK": "5.0.0-pre.15"
},
"runtime": {
"AwperativeKernel.dll": {}
}
},
"OpenTK/5.0.0-pre.15": {
"dependencies": {
"OpenTK.Audio": "5.0.0-pre.15",
"OpenTK.Compute": "5.0.0-pre.15",
"OpenTK.Core": "5.0.0-pre.15",
"OpenTK.Graphics": "5.0.0-pre.15",
"OpenTK.Input": "5.0.0-pre.15",
"OpenTK.Mathematics": "5.0.0-pre.15",
"OpenTK.Platform": "5.0.0-pre.15",
"OpenTK.Windowing.Common": "5.0.0-pre.15",
"OpenTK.Windowing.Desktop": "5.0.0-pre.15",
"OpenTK.Windowing.GraphicsLibraryFramework": "5.0.0-pre.15"
}
},
"OpenTK.Audio/5.0.0-pre.15": {
"dependencies": {
"OpenTK.Core": "5.0.0-pre.15",
"OpenTK.Mathematics": "5.0.0-pre.15"
},
"runtime": {
"lib/net8.0/OpenTK.Audio.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Compute/5.0.0-pre.15": {
"runtime": {
"lib/net8.0/OpenTK.Compute.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Core/5.0.0-pre.15": {
"runtime": {
"lib/net8.0/OpenTK.Core.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Graphics/5.0.0-pre.15": {
"dependencies": {
"OpenTK.Core": "5.0.0-pre.15",
"OpenTK.Mathematics": "5.0.0-pre.15"
},
"runtime": {
"lib/net8.0/OpenTK.Graphics.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Input/5.0.0-pre.15": {
"runtime": {
"lib/net8.0/OpenTK.Input.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Mathematics/5.0.0-pre.15": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"runtime": {
"lib/net8.0/OpenTK.Mathematics.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Platform/5.0.0-pre.15": {
"runtime": {
"lib/net8.0/OpenTK.Platform.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.redist.glfw/3.4.0.44": {
"runtimeTargets": {
"runtimes/linux-x64/native/libglfw.so.3": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libglfw.3.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libglfw.3.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/glfw3.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/glfw3.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"OpenTK.Windowing.Common/5.0.0-pre.15": {
"dependencies": {
"OpenTK.Core": "5.0.0-pre.15",
"OpenTK.Mathematics": "5.0.0-pre.15"
},
"runtime": {
"lib/net8.0/OpenTK.Windowing.Common.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Windowing.Desktop/5.0.0-pre.15": {
"dependencies": {
"OpenTK.Core": "5.0.0-pre.15",
"OpenTK.Mathematics": "5.0.0-pre.15",
"OpenTK.Windowing.Common": "5.0.0-pre.15",
"OpenTK.Windowing.GraphicsLibraryFramework": "5.0.0-pre.15"
},
"runtime": {
"lib/net8.0/OpenTK.Windowing.Desktop.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": {
"dependencies": {
"OpenTK.Core": "5.0.0-pre.15",
"OpenTK.redist.glfw": "3.4.0.44"
},
"runtime": {
"lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {}
}
},
"libraries": {
"AwperativeKernel/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"OpenTK/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CDGbelIIaGCBNPekNqh/zQsy63q+PTrVOWWWi7A3d/QrHVd0T5nDhSqqJpD77Xs/qHFRDhL1C3+Qh5CDYJyzig==",
"path": "opentk/5.0.0-pre.15",
"hashPath": "opentk.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Audio/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lX3FR1RvXz+xjEGl5MFvGWQg7M/z4qdeHB6vdI5F1K1ODyjeuDlSnEc7hjA9fSdmKKEq3K1yCcU4kGgs4UC0ZQ==",
"path": "opentk.audio/5.0.0-pre.15",
"hashPath": "opentk.audio.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Compute/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-uaT2JJGUEvlLYwKga5/cxAm7LiFdRKPjpWPE6tnhg2fYzHwX/6WfVCXU9xvYRLUqYHZIU7dYzJOzlXFZuDZNAw==",
"path": "opentk.compute/5.0.0-pre.15",
"hashPath": "opentk.compute.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Core/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Y/sir5MXEoGB9b4bmCSXknEtjbBIoqaRaeW5XnhIvY8FWBEsxT21jqq5zF1/TXjyCdcNkcfzPq70T6P4FYE5uQ==",
"path": "opentk.core/5.0.0-pre.15",
"hashPath": "opentk.core.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Graphics/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0oobd6dbdmKazMiBtiExv8hzlcJIxkEAD/ozyGX2T0WYPCMv0iZXRqqFl/qJ+18tfhIGoQ7USIp5Sw9ZxhDgjA==",
"path": "opentk.graphics/5.0.0-pre.15",
"hashPath": "opentk.graphics.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Input/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-O30U9gMveJW6bYPxxC7nYZVoViwlxpImMnIuWywcd1JnUfvScgDlWFwhPO7xBdaPu8FYa29N0yBRsl5eJufPcg==",
"path": "opentk.input/5.0.0-pre.15",
"hashPath": "opentk.input.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Mathematics/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JFflFJNMLV0E/08bqsnzNXU/aUJJwy8xCZVU1ECMFvi1lKoCXi/FHSLJKW+s+p+bbTZ6HpPzdc+o4TBerecrjQ==",
"path": "opentk.mathematics/5.0.0-pre.15",
"hashPath": "opentk.mathematics.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Platform/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5GCXACJm8ybTrumj2jb7c5oGNQyb/LwWCNbJsl72IeY/miBTMBPXM0RD8oXBXd/oH36pKz5EwzaRl/MT6/WajA==",
"path": "opentk.platform/5.0.0-pre.15",
"hashPath": "opentk.platform.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.redist.glfw/3.4.0.44": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HEjbdk0wWxSRrXHl3DSmrA8trecndgJpAHHloJJ1vPseNfeu/ynmrH/LturU1KguRn4r3IzZ81UIp5xRjnyahg==",
"path": "opentk.redist.glfw/3.4.0.44",
"hashPath": "opentk.redist.glfw.3.4.0.44.nupkg.sha512"
},
"OpenTK.Windowing.Common/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-wPoz4uW8f3/zNHFVSWgMQPx5yhzUBKlpwdJp5PDiemZyO63tBJKaaty3TIJakDDdG/TioSIjnQb0YY1tEBkjuA==",
"path": "opentk.windowing.common/5.0.0-pre.15",
"hashPath": "opentk.windowing.common.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Windowing.Desktop/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Er5s+lSp5VwJ5NzrSjRMmhBpZdVGEFswuIE+joGtTUtIzznws6/Owi30tBaAC/byHHPrgH5hGegwlvEP5rDKRA==",
"path": "opentk.windowing.desktop/5.0.0-pre.15",
"hashPath": "opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512"
},
"OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": {
"type": "package",
"serviceable": true,
"sha512": "sha512-o+t3c2tFiNpqkvTZ1tKw+Anjm76t+OvkiBVHUuSQ5WMBI/O+uzpZYEl0pdSRDpL3UT3udJkM8iefIqK2+YzAxA==",
"path": "opentk.windowing.graphicslibraryframework/5.0.0-pre.15",
"hashPath": "opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512"
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -32,7 +32,13 @@
"warnAsError": [
"NU1605"
]
}
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"net8.0": {
@@ -55,12 +61,22 @@
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[8.0.24, 8.0.24]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[8.0.24, 8.0.24]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/8.0.123/PortableRuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"
}
}
}

View File

@@ -0,0 +1,83 @@
{
"format": 1,
"restore": {
"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {}
},
"projects": {
"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"projectName": "AwperativeKernel",
"projectPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"packagesPath": "/home/avery/.nuget/packages/",
"outputPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/avery/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"OpenTK": {
"target": "Package",
"version": "[5.0.0-pre.15, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[8.0.24, 8.0.24]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[8.0.24, 8.0.24]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/avery/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/avery/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.14.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/avery/.nuget/packages/" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Awperative")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4ac4c39d2fc8924d66189393fd676df2cbb69079")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c81b942f2b46144917d85dfd8159eaa5d9120941")]
[assembly: System.Reflection.AssemblyProductAttribute("Awperative")]
[assembly: System.Reflection.AssemblyTitleAttribute("Awperative")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@@ -0,0 +1 @@
953f3f98ae3da4f892b118b7b9915819e49a4cb67f398f505cf730550f31333e

View File

@@ -11,3 +11,5 @@ build_property.RootNamespace = Awperative
build_property.ProjectDir = /home/avery/Programming/Awperative/Awperative/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1 @@
c7dc8b93be48955f50d651d9fc41697472d7005471fa74c204470fc68053332a

View File

@@ -18,7 +18,6 @@
/home/avery/Programming/Awperative/Awperative/obj/Debug/net8.0/Awperative.AssemblyInfoInputs.cache
/home/avery/Programming/Awperative/Awperative/obj/Debug/net8.0/Awperative.AssemblyInfo.cs
/home/avery/Programming/Awperative/Awperative/obj/Debug/net8.0/Awperative.csproj.CoreCompileInputs.cache
/home/avery/Programming/Awperative/Awperative/obj/Debug/net8.0/Awperative.sourcelink.json
/home/avery/Programming/Awperative/Awperative/obj/Debug/net8.0/Awperative.dll
/home/avery/Programming/Awperative/Awperative/obj/Debug/net8.0/refint/Awperative.dll
/home/avery/Programming/Awperative/Awperative/obj/Debug/net8.0/Awperative.pdb

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("AwperativeKernel")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+31304e9361e9cb2c8a96c5b71df5898a3a6da2a5")]
[assembly: System.Reflection.AssemblyProductAttribute("AwperativeKernel")]
[assembly: System.Reflection.AssemblyTitleAttribute("AwperativeKernel")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@@ -0,0 +1 @@
35c328d3af30548ed777d71d5913f389ba8fda839eeb8f7de7916868a456c94c

View File

@@ -0,0 +1,15 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Awperative
build_property.ProjectDir = /home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -0,0 +1 @@
1492481e4eae3b80db2d149ab088600d21214f29161b6bc87c6dbab466600b9b

View File

@@ -0,0 +1,28 @@
/home/avery/Programming/Awperative/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.deps.json
/home/avery/Programming/Awperative/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.dll
/home/avery/Programming/Awperative/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.pdb
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.AssemblyReference.cache
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.GeneratedMSBuildEditorConfig.editorconfig
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.CoreCompileInputs.cache
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb
/home/avery/Programming/Awperative/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.deps.json
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.dll
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/bin/Debug/net8.0/AwperativeKernel.pdb
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.AssemblyReference.cache
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.GeneratedMSBuildEditorConfig.editorconfig
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.CoreCompileInputs.cache
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll
/home/avery/Projects/Awperative/Build/Kernel/net8.0/AwperativeKernel.deps.json
/home/avery/Projects/Awperative/Build/Kernel/net8.0/AwperativeKernel.dll
/home/avery/Projects/Awperative/Build/Kernel/net8.0/AwperativeKernel.pdb
/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.sourcelink.json

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,522 @@
{
"version": 3,
"targets": {
"net8.0": {
"OpenTK/5.0.0-pre.15": {
"type": "package",
"dependencies": {
"OpenTK.Audio": "5.0.0-pre.15",
"OpenTK.Compute": "5.0.0-pre.15",
"OpenTK.Core": "5.0.0-pre.15",
"OpenTK.Graphics": "5.0.0-pre.15",
"OpenTK.Input": "5.0.0-pre.15",
"OpenTK.Mathematics": "5.0.0-pre.15",
"OpenTK.Platform": "5.0.0-pre.15",
"OpenTK.Windowing.Common": "5.0.0-pre.15",
"OpenTK.Windowing.Desktop": "5.0.0-pre.15",
"OpenTK.Windowing.GraphicsLibraryFramework": "5.0.0-pre.15"
}
},
"OpenTK.Audio/5.0.0-pre.15": {
"type": "package",
"dependencies": {
"OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)",
"OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)"
},
"compile": {
"lib/net8.0/OpenTK.Audio.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Audio.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.Compute/5.0.0-pre.15": {
"type": "package",
"compile": {
"lib/net8.0/OpenTK.Compute.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Compute.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.Core/5.0.0-pre.15": {
"type": "package",
"compile": {
"lib/net8.0/OpenTK.Core.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Core.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.Graphics/5.0.0-pre.15": {
"type": "package",
"dependencies": {
"OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)",
"OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)"
},
"compile": {
"lib/net8.0/OpenTK.Graphics.dll": {
"related": ".pdb"
}
},
"runtime": {
"lib/net8.0/OpenTK.Graphics.dll": {
"related": ".pdb"
}
}
},
"OpenTK.Input/5.0.0-pre.15": {
"type": "package",
"compile": {
"lib/net8.0/OpenTK.Input.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Input.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.Mathematics/5.0.0-pre.15": {
"type": "package",
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"compile": {
"lib/net8.0/OpenTK.Mathematics.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Mathematics.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.Platform/5.0.0-pre.15": {
"type": "package",
"compile": {
"lib/net8.0/OpenTK.Platform.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Platform.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.redist.glfw/3.4.0.44": {
"type": "package",
"compile": {
"lib/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/_._": {}
},
"runtimeTargets": {
"runtimes/linux-x64/native/libglfw.so.3": {
"assetType": "native",
"rid": "linux-x64"
},
"runtimes/osx-arm64/native/libglfw.3.dylib": {
"assetType": "native",
"rid": "osx-arm64"
},
"runtimes/osx-x64/native/libglfw.3.dylib": {
"assetType": "native",
"rid": "osx-x64"
},
"runtimes/win-x64/native/glfw3.dll": {
"assetType": "native",
"rid": "win-x64"
},
"runtimes/win-x86/native/glfw3.dll": {
"assetType": "native",
"rid": "win-x86"
}
}
},
"OpenTK.Windowing.Common/5.0.0-pre.15": {
"type": "package",
"dependencies": {
"OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)",
"OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)"
},
"compile": {
"lib/net8.0/OpenTK.Windowing.Common.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Windowing.Common.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.Windowing.Desktop/5.0.0-pre.15": {
"type": "package",
"dependencies": {
"OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)",
"OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)",
"OpenTK.Windowing.Common": "[5.0.0-pre.15, 6.0.0-pre)",
"OpenTK.Windowing.GraphicsLibraryFramework": "[5.0.0-pre.15, 6.0.0-pre)"
},
"compile": {
"lib/net8.0/OpenTK.Windowing.Desktop.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Windowing.Desktop.dll": {
"related": ".pdb;.xml"
}
}
},
"OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": {
"type": "package",
"dependencies": {
"OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)",
"OpenTK.redist.glfw": "3.4.0.44"
},
"compile": {
"lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll": {
"related": ".pdb;.xml"
}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
}
}
},
"libraries": {
"OpenTK/5.0.0-pre.15": {
"sha512": "CDGbelIIaGCBNPekNqh/zQsy63q+PTrVOWWWi7A3d/QrHVd0T5nDhSqqJpD77Xs/qHFRDhL1C3+Qh5CDYJyzig==",
"type": "package",
"path": "opentk/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"icon.png",
"opentk.5.0.0-pre.15.nupkg.sha512",
"opentk.nuspec"
]
},
"OpenTK.Audio/5.0.0-pre.15": {
"sha512": "lX3FR1RvXz+xjEGl5MFvGWQg7M/z4qdeHB6vdI5F1K1ODyjeuDlSnEc7hjA9fSdmKKEq3K1yCcU4kGgs4UC0ZQ==",
"type": "package",
"path": "opentk.audio/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Audio.dll",
"lib/net8.0/OpenTK.Audio.pdb",
"lib/net8.0/OpenTK.Audio.xml",
"opentk.audio.5.0.0-pre.15.nupkg.sha512",
"opentk.audio.nuspec"
]
},
"OpenTK.Compute/5.0.0-pre.15": {
"sha512": "uaT2JJGUEvlLYwKga5/cxAm7LiFdRKPjpWPE6tnhg2fYzHwX/6WfVCXU9xvYRLUqYHZIU7dYzJOzlXFZuDZNAw==",
"type": "package",
"path": "opentk.compute/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Compute.dll",
"lib/net8.0/OpenTK.Compute.pdb",
"lib/net8.0/OpenTK.Compute.xml",
"opentk.compute.5.0.0-pre.15.nupkg.sha512",
"opentk.compute.nuspec"
]
},
"OpenTK.Core/5.0.0-pre.15": {
"sha512": "Y/sir5MXEoGB9b4bmCSXknEtjbBIoqaRaeW5XnhIvY8FWBEsxT21jqq5zF1/TXjyCdcNkcfzPq70T6P4FYE5uQ==",
"type": "package",
"path": "opentk.core/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Core.dll",
"lib/net8.0/OpenTK.Core.pdb",
"lib/net8.0/OpenTK.Core.xml",
"opentk.core.5.0.0-pre.15.nupkg.sha512",
"opentk.core.nuspec"
]
},
"OpenTK.Graphics/5.0.0-pre.15": {
"sha512": "0oobd6dbdmKazMiBtiExv8hzlcJIxkEAD/ozyGX2T0WYPCMv0iZXRqqFl/qJ+18tfhIGoQ7USIp5Sw9ZxhDgjA==",
"type": "package",
"path": "opentk.graphics/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Graphics.dll",
"lib/net8.0/OpenTK.Graphics.pdb",
"opentk.graphics.5.0.0-pre.15.nupkg.sha512",
"opentk.graphics.nuspec"
]
},
"OpenTK.Input/5.0.0-pre.15": {
"sha512": "O30U9gMveJW6bYPxxC7nYZVoViwlxpImMnIuWywcd1JnUfvScgDlWFwhPO7xBdaPu8FYa29N0yBRsl5eJufPcg==",
"type": "package",
"path": "opentk.input/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Input.dll",
"lib/net8.0/OpenTK.Input.pdb",
"lib/net8.0/OpenTK.Input.xml",
"opentk.input.5.0.0-pre.15.nupkg.sha512",
"opentk.input.nuspec"
]
},
"OpenTK.Mathematics/5.0.0-pre.15": {
"sha512": "JFflFJNMLV0E/08bqsnzNXU/aUJJwy8xCZVU1ECMFvi1lKoCXi/FHSLJKW+s+p+bbTZ6HpPzdc+o4TBerecrjQ==",
"type": "package",
"path": "opentk.mathematics/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Mathematics.dll",
"lib/net8.0/OpenTK.Mathematics.pdb",
"lib/net8.0/OpenTK.Mathematics.xml",
"opentk.mathematics.5.0.0-pre.15.nupkg.sha512",
"opentk.mathematics.nuspec"
]
},
"OpenTK.Platform/5.0.0-pre.15": {
"sha512": "5GCXACJm8ybTrumj2jb7c5oGNQyb/LwWCNbJsl72IeY/miBTMBPXM0RD8oXBXd/oH36pKz5EwzaRl/MT6/WajA==",
"type": "package",
"path": "opentk.platform/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net8.0/OpenTK.Platform.dll",
"lib/net8.0/OpenTK.Platform.pdb",
"lib/net8.0/OpenTK.Platform.xml",
"opentk.platform.5.0.0-pre.15.nupkg.sha512",
"opentk.platform.nuspec"
]
},
"OpenTK.redist.glfw/3.4.0.44": {
"sha512": "HEjbdk0wWxSRrXHl3DSmrA8trecndgJpAHHloJJ1vPseNfeu/ynmrH/LturU1KguRn4r3IzZ81UIp5xRjnyahg==",
"type": "package",
"path": "opentk.redist.glfw/3.4.0.44",
"files": [
".nupkg.metadata",
".signature.p7s",
"COPYING.md",
"lib/netstandard2.0/_._",
"opentk.png",
"opentk.redist.glfw.3.4.0.44.nupkg.sha512",
"opentk.redist.glfw.nuspec",
"runtimes/linux-x64/native/libglfw.so.3",
"runtimes/osx-arm64/native/libglfw.3.dylib",
"runtimes/osx-x64/native/libglfw.3.dylib",
"runtimes/win-x64/native/glfw3.dll",
"runtimes/win-x86/native/glfw3.dll"
]
},
"OpenTK.Windowing.Common/5.0.0-pre.15": {
"sha512": "wPoz4uW8f3/zNHFVSWgMQPx5yhzUBKlpwdJp5PDiemZyO63tBJKaaty3TIJakDDdG/TioSIjnQb0YY1tEBkjuA==",
"type": "package",
"path": "opentk.windowing.common/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Windowing.Common.dll",
"lib/net8.0/OpenTK.Windowing.Common.pdb",
"lib/net8.0/OpenTK.Windowing.Common.xml",
"opentk.windowing.common.5.0.0-pre.15.nupkg.sha512",
"opentk.windowing.common.nuspec"
]
},
"OpenTK.Windowing.Desktop/5.0.0-pre.15": {
"sha512": "Er5s+lSp5VwJ5NzrSjRMmhBpZdVGEFswuIE+joGtTUtIzznws6/Owi30tBaAC/byHHPrgH5hGegwlvEP5rDKRA==",
"type": "package",
"path": "opentk.windowing.desktop/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Windowing.Desktop.dll",
"lib/net8.0/OpenTK.Windowing.Desktop.pdb",
"lib/net8.0/OpenTK.Windowing.Desktop.xml",
"opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512",
"opentk.windowing.desktop.nuspec"
]
},
"OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": {
"sha512": "o+t3c2tFiNpqkvTZ1tKw+Anjm76t+OvkiBVHUuSQ5WMBI/O+uzpZYEl0pdSRDpL3UT3udJkM8iefIqK2+YzAxA==",
"type": "package",
"path": "opentk.windowing.graphicslibraryframework/5.0.0-pre.15",
"files": [
".nupkg.metadata",
".signature.p7s",
"docs/README.md",
"images/opentk-blue-hexagon.png",
"lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll",
"lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.pdb",
"lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.xml",
"opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512",
"opentk.windowing.graphicslibraryframework.nuspec"
]
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"type": "package",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net461/System.Runtime.CompilerServices.Unsafe.xml",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml",
"system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"system.runtime.compilerservices.unsafe.nuspec",
"useSharedDesignerContext.txt"
]
}
},
"projectFileDependencyGroups": {
"net8.0": [
"OpenTK >= 5.0.0-pre.15"
]
},
"packageFolders": {
"/home/avery/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"projectName": "AwperativeKernel",
"projectPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"packagesPath": "/home/avery/.nuget/packages/",
"outputPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/avery/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.300"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"OpenTK": {
"target": "Package",
"version": "[5.0.0-pre.15, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[8.0.24, 8.0.24]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[8.0.24, 8.0.24]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@@ -0,0 +1,24 @@
{
"version": 2,
"dgSpecHash": "nvLY3cNblzg=",
"success": true,
"projectFilePath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"expectedPackageFiles": [
"/home/avery/.nuget/packages/opentk/5.0.0-pre.15/opentk.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.audio/5.0.0-pre.15/opentk.audio.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.compute/5.0.0-pre.15/opentk.compute.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.core/5.0.0-pre.15/opentk.core.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.graphics/5.0.0-pre.15/opentk.graphics.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.input/5.0.0-pre.15/opentk.input.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.mathematics/5.0.0-pre.15/opentk.mathematics.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.platform/5.0.0-pre.15/opentk.platform.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.redist.glfw/3.4.0.44/opentk.redist.glfw.3.4.0.44.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.windowing.common/5.0.0-pre.15/opentk.windowing.common.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.windowing.desktop/5.0.0-pre.15/opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.windowing.graphicslibraryframework/5.0.0-pre.15/opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"/home/avery/.nuget/packages/microsoft.netcore.app.ref/8.0.24/microsoft.netcore.app.ref.8.0.24.nupkg.sha512",
"/home/avery/.nuget/packages/microsoft.aspnetcore.app.ref/8.0.24/microsoft.aspnetcore.app.ref.8.0.24.nupkg.sha512"
],
"logs": []
}

View File

@@ -0,0 +1 @@
"restore":{"projectUniqueName":"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj","projectName":"AwperativeKernel","projectPath":"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj","outputPath":"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"},"SdkAnalysisLevel":"9.0.300"}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"OpenTK":{"target":"Package","version":"[5.0.0-pre.15, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"downloadDependencies":[{"name":"Microsoft.AspNetCore.App.Ref","version":"[8.0.24, 8.0.24]"},{"name":"Microsoft.NETCore.App.Ref","version":"[8.0.24, 8.0.24]"}],"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"}}

View File

@@ -0,0 +1 @@
17713784696110717

View File

@@ -0,0 +1 @@
17713784696110717