FUCK vscode

This commit is contained in:
wonkyhonky2024
2025-05-11 20:53:44 +01:00
parent 3b36a1f6a7
commit 68dbce9607
20 changed files with 280 additions and 931 deletions

91
.editorconfig Normal file
View File

@ -0,0 +1,91 @@
[*.{cpp,h}]
# Naming convention rules (note: currently need to be ordered from more to less specific)
cpp_naming_rule.aactor_prefixed.symbols = aactor_class
cpp_naming_rule.aactor_prefixed.style = aactor_style
cpp_naming_rule.swidget_prefixed.symbols = swidget_class
cpp_naming_rule.swidget_prefixed.style = swidget_style
cpp_naming_rule.uobject_prefixed.symbols = uobject_class
cpp_naming_rule.uobject_prefixed.style = uobject_style
cpp_naming_rule.booleans_prefixed.symbols = boolean_vars
cpp_naming_rule.booleans_prefixed.style = boolean_style
cpp_naming_rule.structs_prefixed.symbols = structs
cpp_naming_rule.structs_prefixed.style = unreal_engine_structs
cpp_naming_rule.enums_prefixed.symbols = enums
cpp_naming_rule.enums_prefixed.style = unreal_engine_enums
cpp_naming_rule.templates_prefixed.symbols = templates
cpp_naming_rule.templates_prefixed.style = unreal_engine_templates
cpp_naming_rule.general_names.symbols = all_symbols
cpp_naming_rule.general_names.style = unreal_engine_default
# Naming convention symbols
cpp_naming_symbols.aactor_class.applicable_kinds = class
cpp_naming_symbols.aactor_class.applicable_type = AActor
cpp_naming_symbols.swidget_class.applicable_kinds = class
cpp_naming_symbols.swidget_class.applicable_type = SWidget
cpp_naming_symbols.uobject_class.applicable_kinds = class
cpp_naming_symbols.uobject_class.applicable_type = UObject
cpp_naming_symbols.boolean_vars.applicable_kinds = local,parameter,field
cpp_naming_symbols.boolean_vars.applicable_type = bool
cpp_naming_symbols.enums.applicable_kinds = enum
cpp_naming_symbols.templates.applicable_kinds = template_class
cpp_naming_symbols.structs.applicable_kinds = struct
cpp_naming_symbols.all_symbols.applicable_kinds = *
# Naming convention styles
cpp_naming_style.unreal_engine_default.capitalization = pascal_case
cpp_naming_style.unreal_engine_default.required_prefix =
cpp_naming_style.unreal_engine_default.required_suffix =
cpp_naming_style.unreal_engine_default.word_separator =
cpp_naming_style.unreal_engine_enums.capitalization = pascal_case
cpp_naming_style.unreal_engine_enums.required_prefix = E
cpp_naming_style.unreal_engine_enums.required_suffix =
cpp_naming_style.unreal_engine_enums.word_separator =
cpp_naming_style.unreal_engine_templates.capitalization = pascal_case
cpp_naming_style.unreal_engine_templates.required_prefix = T
cpp_naming_style.unreal_engine_templates.required_suffix =
cpp_naming_style.unreal_engine_templates.word_separator =
cpp_naming_style.unreal_engine_structs.capitalization = pascal_case
cpp_naming_style.unreal_engine_structs.required_prefix = F
cpp_naming_style.unreal_engine_structs.required_suffix =
cpp_naming_style.unreal_engine_structs.word_separator =
cpp_naming_style.uobject_style.capitalization = pascal_case
cpp_naming_style.uobject_style.required_prefix = U
cpp_naming_style.uobject_style.required_suffix =
cpp_naming_style.uobject_style.word_separator =
cpp_naming_style.aactor_style.capitalization = pascal_case
cpp_naming_style.aactor_style.required_prefix = A
cpp_naming_style.aactor_style.required_suffix =
cpp_naming_style.aactor_style.word_separator =
cpp_naming_style.swidget_style.capitalization = pascal_case
cpp_naming_style.swidget_style.required_prefix = S
cpp_naming_style.swidget_style.required_suffix =
cpp_naming_style.swidget_style.word_separator =
cpp_naming_style.boolean_style.capitalization = pascal_case
cpp_naming_style.boolean_style.required_prefix = b
cpp_naming_style.boolean_style.required_suffix =
cpp_naming_style.boolean_style.word_separator =

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "Plugins/hstherac25/Source/hstherac-hs"]
path = Plugins/hstherac25/Source/hstherac-hs
url = git@github.com:pillowtrucker/hstherac25.git

15
.vsconfig Normal file
View File

@ -0,0 +1,15 @@
{
"version": "1.0",
"components": [
"Microsoft.Net.Component.4.6.2.TargetingPack",
"Microsoft.VisualStudio.Component.Unreal.Workspace",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NativeGame"
]
}

View File

@ -1,627 +0,0 @@
{
"folders": [
{
"name": "MyProject",
"path": "."
},
{
"name": "UE5",
"path": "D:\\Epic Games\\UE_5.5"
}
],
"settings": {
"typescript.tsc.autoDetect": "off",
"npm.autoDetect": "off",
"terminal.integrated.env.windows": {
"PATH": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\ThirdParty\\DotNet\\8.0.300\\win-x64;${env:PATH}",
"DOTNET_ROOT": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\ThirdParty\\DotNet\\8.0.300\\win-x64",
"DOTNET_HOST_PATH": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\ThirdParty\\DotNet\\8.0.300\\win-x64\\dotnet.exe",
"DOTNET_MULTILEVEL_LOOKUP": "0",
"DOTNET_ROLL_FORWARD": "LatestMajor"
}
},
"extensions": {
"recommendations": [
"ms-vscode.cpptools",
"ms-dotnettools.csharp"
]
},
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "MyProject Win64 Debug Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Debug",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Debug Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Debug",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProject Win64 Debug Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Debug Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProject",
"Win64",
"Debug",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 DebugGame Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"DebugGame",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 DebugGame Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"DebugGame",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProject Win64 DebugGame Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 DebugGame Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProject",
"Win64",
"DebugGame",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Development Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Development",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Development Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Development",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProject Win64 Development Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Development Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProject",
"Win64",
"Development",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Test Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Test",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Test Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Test",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProject Win64 Test Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Test Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProject",
"Win64",
"Test",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Shipping Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Shipping",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Shipping Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProject",
"Win64",
"Shipping",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProject Win64 Shipping Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProject Win64 Shipping Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProject",
"Win64",
"Shipping",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 Debug Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProjectEditor",
"Win64",
"Debug",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 Debug Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProjectEditor",
"Win64",
"Debug",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProjectEditor Win64 Debug Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 Debug Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProjectEditor",
"Win64",
"Debug",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 DebugGame Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProjectEditor",
"Win64",
"DebugGame",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 DebugGame Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProjectEditor",
"Win64",
"DebugGame",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProjectEditor Win64 DebugGame Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 DebugGame Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProjectEditor",
"Win64",
"DebugGame",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 Development Build",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProjectEditor",
"Win64",
"Development",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 Development Rebuild",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Build.bat",
"args": [
"MyProjectEditor",
"Win64",
"Development",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"dependsOn": [
"MyProjectEditor Win64 Development Clean"
],
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
},
{
"label": "MyProjectEditor Win64 Development Clean",
"group": "build",
"command": "Engine\\Build\\BatchFiles\\Clean.bat",
"args": [
"MyProjectEditor",
"Win64",
"Development",
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-waitmutex"
],
"problemMatcher": "$msCompile",
"type": "shell",
"options": {
"cwd": "D:\\Epic Games\\UE_5.5"
}
}
]
},
"launch": {
"version": "0.2.0",
"configurations": [
{
"name": "Launch MyProject (Debug)",
"request": "launch",
"program": "C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\Binaries\\Win64\\UnrealGame-Win64-Debug.exe",
"preLaunchTask": "MyProject Win64 Debug Build",
"args": [
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Launch MyProject (DebugGame)",
"request": "launch",
"program": "C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\Binaries\\Win64\\UnrealGame-Win64-DebugGame.exe",
"preLaunchTask": "MyProject Win64 DebugGame Build",
"args": [
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Launch MyProject (Development)",
"request": "launch",
"program": "C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\Binaries\\Win64\\UnrealGame.exe",
"preLaunchTask": "MyProject Win64 Development Build",
"args": [
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Launch MyProject (Test)",
"request": "launch",
"program": "C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\Binaries\\Win64\\UnrealGame-Win64-Test.exe",
"preLaunchTask": "MyProject Win64 Test Build",
"args": [
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Launch MyProject (Shipping)",
"request": "launch",
"program": "C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\Binaries\\Win64\\UnrealGame-Win64-Shipping.exe",
"preLaunchTask": "MyProject Win64 Shipping Build",
"args": [
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Launch MyProjectEditor (Debug)",
"request": "launch",
"program": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\Win64\\UnrealEditor-Win64-Debug.exe",
"preLaunchTask": "MyProjectEditor Win64 Debug Build",
"args": [
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject"
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Launch MyProjectEditor (DebugGame)",
"request": "launch",
"program": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\Win64\\UnrealEditor-Win64-DebugGame.exe",
"preLaunchTask": "MyProjectEditor Win64 DebugGame Build",
"args": [
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject"
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Launch MyProjectEditor (Development)",
"request": "launch",
"program": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\Win64\\UnrealEditor.exe",
"preLaunchTask": "MyProjectEditor Win64 Development Build",
"args": [
"C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject"
],
"cwd": "D:\\Epic Games\\UE_5.5",
"stopAtEntry": false,
"console": "integratedTerminal",
"type": "cppvsdbg",
"visualizerFile": "D:\\Epic Games\\UE_5.5\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis",
"sourceFileMap": {
"D:\\build\\++UE5\\Sync": "D:\\Epic Games\\UE_5.5"
}
},
{
"name": "Generate Project Files",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "UnrealBuildTool Win64 Development Build",
"program": "D:\\Epic Games\\UE_5.5\\Engine\\Build\\BatchFiles\\RunUBT.bat",
"args": [
"-projectfiles",
"-vscode",
"-project=C:\\Users\\wonky\\Documents\\Unreal Projects\\MyProject\\MyProject.uproject",
"-game",
"-engine",
"-dotnet"
],
"env": {
"PATH": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\ThirdParty\\DotNet\\8.0.300\\win-x64;${env:PATH}",
"DOTNET_ROOT": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\ThirdParty\\DotNet\\8.0.300\\win-x64",
"DOTNET_HOST_PATH": "D:\\Epic Games\\UE_5.5\\Engine\\Binaries\\ThirdParty\\DotNet\\8.0.300\\win-x64\\dotnet.exe",
"DOTNET_MULTILEVEL_LOOKUP": "0",
"DOTNET_ROLL_FORWARD": "LatestMajor"
},
"console": "integratedTerminal",
"stopAtEntry": false,
"cwd": "D:\\Epic Games\\UE_5.5"
}
]
}
}

View File

@ -7,20 +7,17 @@
{ {
"Name": "MyProject", "Name": "MyProject",
"Type": "Runtime", "Type": "Runtime",
"LoadingPhase": "Default", "LoadingPhase": "Default"
"AdditionalDependencies": [
"UMG",
"Engine"
]
} }
], ],
"Plugins": [ "Plugins": [
{ {
"Name": "ModelingToolsEditorMode", "Name": "ModelingToolsEditorMode",
"Enabled": true, "Enabled": true
"TargetAllowList": [
"Editor"
]
} }
] ],
"TargetPlatforms": [],
"AdditionalRootDirectories": [],
"AdditionalPluginDirectories": [],
"EpicSampleNameHash": ""
} }

View File

@ -1,20 +0,0 @@
#if defined _WIN32 || defined _WIN64
#include <Windows.h>
#define EXAMPLELIBRARY_EXPORT __declspec(dllexport)
#else
#include <stdio.h>
#endif
#ifndef EXAMPLELIBRARY_EXPORT
#define EXAMPLELIBRARY_EXPORT
#endif
EXAMPLELIBRARY_EXPORT void ExampleLibraryFunction()
{
#if defined _WIN32 || defined _WIN64
MessageBox(NULL, TEXT("Loaded ExampleLibrary.dll from Third Party Plugin sample."), TEXT("Third Party Plugin"), MB_OK);
#else
printf("Loaded ExampleLibrary from Third Party Plugin sample");
#endif
}

View File

@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9B50F1F8-0116-442C-A071-F5C3A120A5CB}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ExampleLibrary</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>copy "$(TargetPath)" "$(SolutionDir)..\..\..\Binaries\ThirdParty\hstherac25Library\Win64\"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="ExampleLibrary.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Public\hstherac25Library\ExampleLibrary.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="ExampleLibrary.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Public\PLUGIN_NAMELibrary\ExampleLibrary.h" />
</ItemGroup>
</Project>

View File

@ -1,9 +0,0 @@
#if defined _WIN32 || defined _WIN64
#define EXAMPLELIBRARY_IMPORT __declspec(dllimport)
#elif defined __linux__
#define EXAMPLELIBRARY_IMPORT __attribute__((visibility("default")))
#else
#define EXAMPLELIBRARY_IMPORT
#endif
EXAMPLELIBRARY_IMPORT void ExampleLibraryFunction();

View File

@ -1,37 +0,0 @@
// Fill out your copyright notice in the Description page of Project Settings.
using System.IO;
using UnrealBuildTool;
public class hstherac25Library : ModuleRules
{
public hstherac25Library(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
PublicSystemIncludePaths.Add("$(ModuleDir)/Public");
if (Target.Platform == UnrealTargetPlatform.Win64)
{
// Add the import library
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "x64", "Release", "ExampleLibrary.lib"));
// Delay-load the DLL, so we can load it from the right place first
PublicDelayLoadDLLs.Add("ExampleLibrary.dll");
// Ensure that the DLL is staged along with the executable
RuntimeDependencies.Add("$(PluginDir)/Binaries/ThirdParty/hstherac25Library/Win64/ExampleLibrary.dll");
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
PublicDelayLoadDLLs.Add(Path.Combine(ModuleDirectory, "Mac", "Release", "libExampleLibrary.dylib"));
RuntimeDependencies.Add("$(PluginDir)/Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib");
}
else if (Target.Platform == UnrealTargetPlatform.Linux)
{
string ExampleSoPath = Path.Combine("$(PluginDir)", "Binaries", "ThirdParty", "hstherac25Library", "Linux", "x86_64-unknown-linux-gnu", "libExampleLibrary.so");
PublicAdditionalLibraries.Add(ExampleSoPath);
PublicDelayLoadDLLs.Add(ExampleSoPath);
RuntimeDependencies.Add(ExampleSoPath);
}
}
}

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TpsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Notification>
Notes: This is a sample module and not actually third party.
</Notification>
</TpsData>

View File

@ -0,0 +1,68 @@
#include <HsFFI.h>
typedef enum ExtCallType {
CheekyPadding,
ExtCallSendMEOS,
ExtCallToggleDatentComplete,
ExtCallToggleEditingTakingPlace,
ExtCallReset,
ExtCallProceed
} ExtCallType;
typedef enum BeamType {
BTCheekyPadding,
BeamTypeXRay,
BeamTypeElectron,
BeamTypeUndefined
} BeamType;
typedef enum CollimatorPosition {
CPCheekyPadding,
CollimatorPositionXRay,
CollimatorPositionElectronBeam,
CollimatorPositionUndefined
} CollimatorPosition;
typedef enum StateInfoRequest {
SIRCheekyPadding,
RequestTreatmentOutcome,
RequestActiveSubsystem,
RequestTreatmentState,
RequestReason,
RequestBeamMode,
RequestBeamEnergy
} StateInfoRequest;
#ifdef __cplusplus
extern "C" { // only need to export C interface if
// used by C++ source code
#endif
#if mingw32_HOST_OS || _WIN32
__declspec(dllexport) HsStablePtr start_machine();
__declspec(dllexport) void kill_machine();
__declspec(dllexport) void wrap_external_call(
HsStablePtr wrapped_comms,
ExtCallType ext_call_type,
BeamType beam_type,
CollimatorPosition collimator_position,
HsInt beam_energy
);
__declspec(dllexport) HsPtr request_state_info(
HsStablePtr wrapped_comms,
StateInfoRequest state_info_request
);
#else
HsStablePtr start_machine();
void kill_machine();
void wrap_external_call(
HsStablePtr wrapped_comms,
ExtCallType ext_call_type,
BeamType beam_type,
CollimatorPosition collimator_position,
HsInt beam_energy
);
HsPtr request_state_info(
HsStablePtr wrapped_comms,
StateInfoRequest state_info_request
);
#endif
#ifdef __cplusplus
}
#endif

View File

@ -6,44 +6,65 @@
#include "Interfaces/IPluginManager.h" #include "Interfaces/IPluginManager.h"
#include "Misc/Paths.h" #include "Misc/Paths.h"
#include "HAL/PlatformProcess.h" #include "HAL/PlatformProcess.h"
#include "hstherac25Library/ExampleLibrary.h" #include "Therac.h"
#define LOCTEXT_NAMESPACE "Fhstherac25Module" #define LOCTEXT_NAMESPACE "Fhstherac25Module"
void Fhstherac25Module::StartupModule() void Fhstherac25Module::StartupModule() {
{ // This code will execute after your module is loaded into memory; the exact
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module // timing is specified in the .uplugin file per-module
// Get the base directory of this plugin // Get the base directory of this plugin
FString BaseDir = IPluginManager::Get().FindPlugin("hstherac25")->GetBaseDir(); FString BaseDir =
IPluginManager::Get().FindPlugin("hstherac25")->GetBaseDir();
// Add on the relative location of the third party dll and load it // Add on the relative location of the third party dll and load it
FString LibraryPath; FString LibraryPath;
#if PLATFORM_WINDOWS #if PLATFORM_WINDOWS
LibraryPath = FPaths::Combine(*BaseDir, TEXT("Binaries/ThirdParty/hstherac25Library/Win64/ExampleLibrary.dll")); LibraryPath = FPaths::Combine(*BaseDir, TEXT("Source/hstherac-hs/HSdll.dll"));
#elif PLATFORM_MAC #elif PLATFORM_MAC
LibraryPath = FPaths::Combine(*BaseDir, TEXT("Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib")); LibraryPath = FPaths::Combine(
*BaseDir,
TEXT(
"Source/ThirdParty/hstherac25Library/Mac/Release/"
"libExampleLibrary.dylib"
)
);
#elif PLATFORM_LINUX #elif PLATFORM_LINUX
LibraryPath = FPaths::Combine(*BaseDir, TEXT("Binaries/ThirdParty/hstherac25Library/Linux/x86_64-unknown-linux-gnu/libExampleLibrary.so")); LibraryPath = FPaths::Combine(
*BaseDir,
TEXT(
"Binaries/ThirdParty/hstherac25Library/Linux/"
"x86_64-unknown-linux-gnu/libExampleLibrary.so"
)
);
#endif // PLATFORM_WINDOWS #endif // PLATFORM_WINDOWS
ExampleLibraryHandle = !LibraryPath.IsEmpty() ? FPlatformProcess::GetDllHandle(*LibraryPath) : nullptr; ExampleLibraryHandle = !LibraryPath.IsEmpty()
? FPlatformProcess::GetDllHandle(*LibraryPath)
: nullptr;
if (ExampleLibraryHandle) if (ExampleLibraryHandle) {
{ // Call the test function in the third party library that opens a message
// Call the test function in the third party library that opens a message box // box
ExampleLibraryFunction(); // ExampleLibraryFunction();
} HsStablePtr wc = start_machine();
else } else {
{ FMessageDialog::Open(
FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT("ThirdPartyLibraryError", "Failed to load example third party library")); EAppMsgType::Ok,
LOCTEXT(
"ThirdPartyLibraryError",
"Failed to load example third party library"
)
);
} }
} }
void Fhstherac25Module::ShutdownModule() void Fhstherac25Module::ShutdownModule() {
{ // This function may be called during shutdown to clean up your module. For
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, // modules that support dynamic reloading, we call this function before
// we call this function before unloading the module. // unloading the module.
// Free the dll handle // Free the dll handle
FPlatformProcess::FreeDllHandle(ExampleLibraryHandle); FPlatformProcess::FreeDllHandle(ExampleLibraryHandle);

View File

@ -1,6 +1,8 @@
// Copyright Epic Games, Inc. All Rights Reserved. // Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool; using UnrealBuildTool;
using System;
using System.IO;
public class hstherac25 : ModuleRules public class hstherac25 : ModuleRules
{ {
@ -11,12 +13,20 @@ public class hstherac25 : ModuleRules
PublicIncludePaths.AddRange( PublicIncludePaths.AddRange(
new string[] { new string[] {
// ... add public include paths required here ... // ... add public include paths required here ...
"C:/ghcup/ghc/9.6.7/include",
} }
); );
PrivateIncludePaths.AddRange( PrivateIncludePaths.AddRange(
new string[] { new string[] {
"C:/ghcup/ghc/9.6.7/include",
// "C:/ghcup/ghc/9.6.7/include",
// "${workspaceFolder}/Plugins/hstherac25/Source/hstherac-hs/csrc",
// "${workspaceFolder}/Plugins/hstherac25/Source/hstherac-hs/dist-newstyle/build/x86_64-windows/ghc-9.6.7/hstherac25-0.1.0.0/build"
// ... add other private include paths required here ... // ... add other private include paths required here ...
} }
); );
@ -26,7 +36,6 @@ public class hstherac25 : ModuleRules
new string[] new string[]
{ {
"Core", "Core",
"hstherac25Library",
"Projects" "Projects"
// ... add other public dependencies that you statically link with here ... // ... add other public dependencies that you statically link with here ...
} }
@ -44,8 +53,10 @@ public class hstherac25 : ModuleRules
DynamicallyLoadedModuleNames.AddRange( DynamicallyLoadedModuleNames.AddRange(
new string[] new string[]
{ {
// ... add any modules that your module loads dynamically here ... // ... add any modules that your module loads dynamically here ...
} }
); );
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "../hstherac-hs", "HSdll.dll.a"));
} }
} }

View File

@ -8,12 +8,12 @@ public class MyProject : ModuleRules
{ {
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" });
PrivateDependencyModuleNames.AddRange(new string[] { }); PrivateDependencyModuleNames.AddRange(new string[] { });
// Uncomment if you are using Slate UI // Uncomment if you are using Slate UI
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
// Uncomment if you are using online features // Uncomment if you are using online features
// PrivateDependencyModuleNames.Add("OnlineSubsystem"); // PrivateDependencyModuleNames.Add("OnlineSubsystem");

8
shadertoolsconfig.json Normal file
View File

@ -0,0 +1,8 @@
{
"hlsl.preprocessorDefinitions": {
},
" hlsl.additionalIncludeDirectories": [
],
"hlsl.virtualDirectoryMappings": {
}
}