Compare commits
5 Commits
3b36a1f6a7
...
master
Author | SHA1 | Date | |
---|---|---|---|
23691e77c2 | |||
1b44322325 | |||
1ae087703d | |||
042fa652b7 | |||
68dbce9607 |
@ -23,3 +23,4 @@ PackConstructorInitializers: Never
|
|||||||
PointerAlignment: Middle
|
PointerAlignment: Middle
|
||||||
QualifierAlignment: Right
|
QualifierAlignment: Right
|
||||||
ShortNamespaceLines: 0
|
ShortNamespaceLines: 0
|
||||||
|
SortIncludes: Never
|
||||||
|
91
.editorconfig
Normal file
91
.editorconfig
Normal 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
3
.gitmodules
vendored
Normal 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
15
.vsconfig
Normal 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"
|
||||||
|
]
|
||||||
|
}
|
BIN
Content/LinacLab/MyMyUserWidget.uasset
(Stored with Git LFS)
BIN
Content/LinacLab/MyMyUserWidget.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/LinacLab/vt100_Blueprint.uasset
(Stored with Git LFS)
BIN
Content/LinacLab/vt100_Blueprint.uasset
(Stored with Git LFS)
Binary file not shown.
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@ -7,20 +7,13 @@
|
|||||||
{
|
{
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -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
|
|
||||||
}
|
|
@ -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>
|
|
@ -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>
|
|
Binary file not shown.
@ -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();
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -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>
|
|
Binary file not shown.
Binary file not shown.
1
Plugins/hstherac25/Source/hstherac-hs
Submodule
1
Plugins/hstherac25/Source/hstherac-hs
Submodule
Submodule Plugins/hstherac25/Source/hstherac-hs added at 2d690cf0fe
69
Plugins/hstherac25/Source/hstherac25/Private/Therac.h
Normal file
69
Plugins/hstherac25/Source/hstherac25/Private/Therac.h
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
|
||||||
|
#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
|
@ -0,0 +1,113 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
#include "TheracAdapterComponent.h"
|
||||||
|
#include "HAL/PlatformProcess.h"
|
||||||
|
#include "Interfaces/IPluginManager.h"
|
||||||
|
#include "Misc/Paths.h"
|
||||||
|
#include <Internationalization/Internationalization.h>
|
||||||
|
#include <Internationalization/Text.h>
|
||||||
|
#include <Misc/MessageDialog.h>
|
||||||
|
#include <map>
|
||||||
|
#include <Logging/StructuredLog.h>
|
||||||
|
|
||||||
|
// Sets default values for this component's properties
|
||||||
|
UTheracAdapterComponent::UTheracAdapterComponent() {
|
||||||
|
// Set this component to be initialized when the game starts, and to be ticked
|
||||||
|
// every frame. You can turn these features off to improve performance if you
|
||||||
|
// don't need them.
|
||||||
|
PrimaryComponentTick.bCanEverTick = true;
|
||||||
|
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
|
||||||
|
void UTheracAdapterComponent::UpdateSimulator(
|
||||||
|
ExtCallType ect,
|
||||||
|
HsStablePtr wrapped_comms,
|
||||||
|
BeamType beam_type,
|
||||||
|
CollimatorPosition collimator_position,
|
||||||
|
HsInt beam_energy
|
||||||
|
) {
|
||||||
|
if (wrapped_comms == nullptr)
|
||||||
|
wrapped_comms = wrappedComms;
|
||||||
|
wrap_external_call(
|
||||||
|
wrapped_comms,
|
||||||
|
ect,
|
||||||
|
beam_type,
|
||||||
|
collimator_position,
|
||||||
|
beam_energy
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UTheracAdapterComponent::WrapSimulatorCall(
|
||||||
|
EExtCallType ext_call_type,
|
||||||
|
EBeamType beam_type,
|
||||||
|
ECollimatorPosition collimator_position,
|
||||||
|
int32 beam_energy
|
||||||
|
) {}
|
||||||
|
|
||||||
|
// Called when the game starts
|
||||||
|
void UTheracAdapterComponent::BeginPlay() {
|
||||||
|
|
||||||
|
FString BaseDir =
|
||||||
|
IPluginManager::Get().FindPlugin("hstherac25")->GetBaseDir();
|
||||||
|
FString LibraryPath =
|
||||||
|
FPaths::Combine(*BaseDir, TEXT("Source/hstherac-hs/hstherac25.dll"));
|
||||||
|
|
||||||
|
simulatorLibraryHandle = !LibraryPath.IsEmpty()
|
||||||
|
? FPlatformProcess::GetDllHandle(*LibraryPath)
|
||||||
|
: nullptr;
|
||||||
|
|
||||||
|
Super::BeginPlay();
|
||||||
|
wrappedComms = start_machine();
|
||||||
|
std::map<FText *, StateInfoRequest> hng = {
|
||||||
|
{&TreatmentOutcome, RequestTreatmentOutcome},
|
||||||
|
{&ActiveSubsystem, RequestActiveSubsystem},
|
||||||
|
{&TreatmentState, RequestTreatmentState},
|
||||||
|
{&Reason, RequestReason},
|
||||||
|
{&BeamMode, RequestBeamMode},
|
||||||
|
{&BeamEnergy, RequestBeamEnergy}
|
||||||
|
};
|
||||||
|
for (auto & [hnng, hnnng] : hng) {
|
||||||
|
compMap.Add(hnng, hnnng);
|
||||||
|
}
|
||||||
|
ExtCallTypeMap.Add("R", EExtCallType::ExtCallReset);
|
||||||
|
ExtCallTypeMap.Add("P", EExtCallType::ExtCallProceed);
|
||||||
|
|
||||||
|
BeamTypeMap.Add("X", EBeamType::BeamTypeXRay);
|
||||||
|
BeamTypeMap.Add("E", EBeamType::BeamTypeElectron);
|
||||||
|
|
||||||
|
CollimatorPositionMap.Add("X", ECollimatorPosition::CollimatorPositionXRay);
|
||||||
|
CollimatorPositionMap.Add(
|
||||||
|
"E",
|
||||||
|
ECollimatorPosition::CollimatorPositionElectronBeam
|
||||||
|
);
|
||||||
|
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
|
||||||
|
void UTheracAdapterComponent::shutdownSimulator() {
|
||||||
|
kill_machine();
|
||||||
|
FPlatformProcess::FreeDllHandle(simulatorLibraryHandle);
|
||||||
|
simulatorLibraryHandle = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called every frame
|
||||||
|
void UTheracAdapterComponent::TickComponent(
|
||||||
|
float DeltaTime,
|
||||||
|
ELevelTick TickType,
|
||||||
|
FActorComponentTickFunction * ThisTickFunction
|
||||||
|
) {
|
||||||
|
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
|
||||||
|
|
||||||
|
auto rsi = [&](FText * f) {
|
||||||
|
return FText::FromString(
|
||||||
|
StaticCast<char *>(request_state_info(wrappedComms, *compMap.Find(f)))
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
for (auto & [f, _] : compMap) {
|
||||||
|
// UE_LOGFMT(LogTemp, Warning, "what {dildo}", rsi(f).ToString());
|
||||||
|
*f = rsi(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,53 +1,71 @@
|
|||||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||||
|
|
||||||
#include "hstherac25.h"
|
#include "hstherac25.h"
|
||||||
#include "Misc/MessageDialog.h"
|
|
||||||
#include "Modules/ModuleManager.h"
|
|
||||||
#include "Interfaces/IPluginManager.h"
|
|
||||||
#include "Misc/Paths.h"
|
|
||||||
#include "HAL/PlatformProcess.h"
|
#include "HAL/PlatformProcess.h"
|
||||||
#include "hstherac25Library/ExampleLibrary.h"
|
#include "Interfaces/IPluginManager.h"
|
||||||
|
#include "Misc/MessageDialog.h"
|
||||||
|
#include "Misc/Paths.h"
|
||||||
|
#include "Modules/ModuleManager.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
|
||||||
|
FString BaseDir =
|
||||||
|
IPluginManager::Get().FindPlugin("hstherac25")->GetBaseDir();
|
||||||
|
|
||||||
// Get the base directory of this plugin
|
// Add on the relative location of the third party dll and load it
|
||||||
FString BaseDir = IPluginManager::Get().FindPlugin("hstherac25")->GetBaseDir();
|
/ FString LibraryPath;
|
||||||
|
|
||||||
// Add on the relative location of the third party dll and load it
|
|
||||||
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;
|
simulatorLibraryHandle = !LibraryPath.IsEmpty()
|
||||||
|
? FPlatformProcess::GetDllHandle(*LibraryPath)
|
||||||
|
: nullptr;
|
||||||
|
|
||||||
if (ExampleLibraryHandle)
|
if (simulatorLibraryHandle) {
|
||||||
{
|
// 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(simulatorLibraryHandle);
|
||||||
ExampleLibraryHandle = nullptr;
|
// simulatorLibraryHandle = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef LOCTEXT_NAMESPACE
|
#undef LOCTEXT_NAMESPACE
|
||||||
|
@ -0,0 +1,112 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Components/ActorComponent.h"
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include <HsFFI.h>
|
||||||
|
// #include
|
||||||
|
// <hstherac-hs/dist-newstyle/build/x86_64-windows/ghc-9.6.7/hstherac25-0.1.0.0/build/HsTherac25_stub.h>
|
||||||
|
#include <Therac.h>
|
||||||
|
#include <Internationalization/Text.h>
|
||||||
|
#include "TheracAdapterComponent.generated.h"
|
||||||
|
|
||||||
|
UENUM()
|
||||||
|
enum class EBeamType : uint8 {
|
||||||
|
BeamTypeXRay = 1,
|
||||||
|
BeamTypeElectron,
|
||||||
|
};
|
||||||
|
|
||||||
|
UENUM()
|
||||||
|
enum class ECollimatorPosition : uint8 {
|
||||||
|
CollimatorPositionXRay = 1,
|
||||||
|
CollimatorPositionElectronBeam,
|
||||||
|
};
|
||||||
|
|
||||||
|
UENUM()
|
||||||
|
enum class EExtCallType : uint8 {
|
||||||
|
ExtCallSendMEOS = 1,
|
||||||
|
ExtCallToggleDatentComplete,
|
||||||
|
ExtCallToggleEditingTakingPlace,
|
||||||
|
ExtCallReset,
|
||||||
|
ExtCallProceed
|
||||||
|
};
|
||||||
|
|
||||||
|
UCLASS(
|
||||||
|
BlueprintType,
|
||||||
|
ClassGroup = (Custom),
|
||||||
|
meta = (BlueprintSpawnableComponent)
|
||||||
|
)
|
||||||
|
class HSTHERAC25_API UTheracAdapterComponent : public UActorComponent {
|
||||||
|
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
HsStablePtr wrappedComms;
|
||||||
|
|
||||||
|
TMap<FText *, StateInfoRequest> compMap;
|
||||||
|
|
||||||
|
void * simulatorLibraryHandle;
|
||||||
|
|
||||||
|
void UpdateSimulator(
|
||||||
|
ExtCallType ect,
|
||||||
|
HsStablePtr wrapped_comms = nullptr,
|
||||||
|
BeamType beam_type = BeamTypeUndefined,
|
||||||
|
CollimatorPosition collimator_position = CollimatorPositionUndefined,
|
||||||
|
HsInt beam_energy = 25000
|
||||||
|
);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Sets default values for this component's properties
|
||||||
|
UTheracAdapterComponent();
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
FText TreatmentOutcome;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
FText ActiveSubsystem;
|
||||||
|
|
||||||
|
// TPhase
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
FText TreatmentState;
|
||||||
|
|
||||||
|
// TreatmentOutcome
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
FText Reason;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
FText BeamMode;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
FText BeamEnergy;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
TMap<FString, EBeamType> BeamTypeMap;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
TMap<FString, EExtCallType> ExtCallTypeMap;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
|
||||||
|
TMap<FString, ECollimatorPosition> CollimatorPositionMap;
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable)
|
||||||
|
void WrapSimulatorCall(
|
||||||
|
EExtCallType ext_call_type,
|
||||||
|
EBeamType beam_type = EBeamType::BeamTypeXRay,
|
||||||
|
ECollimatorPosition collimator_position =
|
||||||
|
ECollimatorPosition::CollimatorPositionXRay,
|
||||||
|
int32 beam_energy = 25000
|
||||||
|
);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// Called when the game starts
|
||||||
|
virtual void BeginPlay() override;
|
||||||
|
void shutdownSimulator();
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Called every frame
|
||||||
|
virtual void TickComponent(
|
||||||
|
float DeltaTime,
|
||||||
|
ELevelTick TickType,
|
||||||
|
FActorComponentTickFunction * ThisTickFunction
|
||||||
|
) override;
|
||||||
|
};
|
@ -4,15 +4,13 @@
|
|||||||
|
|
||||||
#include "Modules/ModuleManager.h"
|
#include "Modules/ModuleManager.h"
|
||||||
|
|
||||||
class Fhstherac25Module : public IModuleInterface
|
class Fhstherac25Module : public IModuleInterface {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
|
/** IModuleInterface implementation */
|
||||||
/** IModuleInterface implementation */
|
virtual void StartupModule() override;
|
||||||
virtual void StartupModule() override;
|
virtual void ShutdownModule() override;
|
||||||
virtual void ShutdownModule() override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** Handle to the test dll we will load */
|
/** Handle to the test dll we will load */
|
||||||
void* ExampleLibraryHandle;
|
// void * simulatorLibraryHandle;
|
||||||
};
|
};
|
||||||
|
@ -1,51 +1,69 @@
|
|||||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||||
|
|
||||||
using UnrealBuildTool;
|
using UnrealBuildTool;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
public class hstherac25 : ModuleRules
|
public class hstherac25 : ModuleRules
|
||||||
{
|
{
|
||||||
public hstherac25(ReadOnlyTargetRules Target) : base(Target)
|
public hstherac25(ReadOnlyTargetRules Target) : base(Target)
|
||||||
{
|
{
|
||||||
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||||
|
|
||||||
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(
|
}
|
||||||
new string[] {
|
);
|
||||||
|
|
||||||
|
|
||||||
|
PrivateIncludePaths.AddRange(
|
||||||
|
new string[] {
|
||||||
|
"C:/ghcup/ghc/9.6.7/include",
|
||||||
|
|
||||||
|
// "C:/ghcup/ghc/9.6.7/include",
|
||||||
|
// "${workspaceFolder}/Plugins/hstherac25/Source/hstherac-hs/csrc",
|
||||||
|
// Path.Combine(ModuleDirectory,"../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 ...
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
PublicDependencyModuleNames.AddRange(
|
PublicDependencyModuleNames.AddRange(
|
||||||
new string[]
|
new string[]
|
||||||
{
|
{
|
||||||
"Core",
|
"Core",
|
||||||
"hstherac25Library",
|
"MathCore",
|
||||||
"Projects"
|
"Projects",
|
||||||
|
"CoreUObject",
|
||||||
|
"Engine",
|
||||||
|
"UMG",
|
||||||
|
"AudioMixerCore",
|
||||||
|
"InputCore"
|
||||||
// ... add other public dependencies that you statically link with here ...
|
// ... add other public dependencies that you statically link with here ...
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
PrivateDependencyModuleNames.AddRange(
|
PrivateDependencyModuleNames.AddRange(
|
||||||
new string[]
|
new string[]
|
||||||
{
|
{
|
||||||
|
"Slate", "SlateCore"
|
||||||
// ... add private dependencies that you statically link with here ...
|
// ... add private dependencies that you statically link with here ...
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
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", "hstherac25.dll.a"));
|
||||||
|
RuntimeDependencies.Add(Path.Combine(ModuleDirectory, "../hstherac-hs/hstherac25.dll"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
// Fill out your copyright notice in the Description page of Project Settings.
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
using UnrealBuildTool;
|
using UnrealBuildTool;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
public class MyProjectTarget : TargetRules
|
public class MyProjectTarget : TargetRules
|
||||||
{
|
{
|
||||||
public MyProjectTarget(TargetInfo Target) : base(Target)
|
public MyProjectTarget(TargetInfo Target) : base(Target)
|
||||||
{
|
{
|
||||||
Type = TargetType.Game;
|
Type = TargetType.Game;
|
||||||
DefaultBuildSettings = BuildSettingsVersion.V5;
|
DefaultBuildSettings = BuildSettingsVersion.V5;
|
||||||
|
|
||||||
ExtraModuleNames.AddRange( new string[] { "MyProject" } );
|
ExtraModuleNames.AddRange(new string[] { "MyProject", "hstherac25" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,20 +4,20 @@ using UnrealBuildTool;
|
|||||||
|
|
||||||
public class MyProject : ModuleRules
|
public class MyProject : ModuleRules
|
||||||
{
|
{
|
||||||
public MyProject(ReadOnlyTargetRules Target) : base(Target)
|
public MyProject(ReadOnlyTargetRules Target) : base(Target)
|
||||||
{
|
{
|
||||||
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", "hstherac25" });
|
||||||
|
|
||||||
// Uncomment if you are using online features
|
// Uncomment if you are using online features
|
||||||
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
|
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
|
||||||
|
|
||||||
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
|
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ void UMyUserWidget::NativeOnInitialized() {
|
|||||||
CR_TextBlock,
|
CR_TextBlock,
|
||||||
ColX_TextBlock,
|
ColX_TextBlock,
|
||||||
ColY_TextBlock,
|
ColY_TextBlock,
|
||||||
WR_TextBlock,
|
WN_TextBlock,
|
||||||
AN_TextBlock
|
AN_TextBlock
|
||||||
};
|
};
|
||||||
for (auto * n : arcaneNumbers) {
|
for (auto * n : arcaneNumbers) {
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
// Fill out your copyright notice in the Description page of Project Settings.
|
|
||||||
|
|
||||||
#include "TheracAdapter.h"
|
|
||||||
|
|
||||||
TheracAdapter::TheracAdapter() {}
|
|
||||||
|
|
||||||
TheracAdapter::~TheracAdapter() {}
|
|
@ -1,34 +0,0 @@
|
|||||||
// Fill out your copyright notice in the Description page of Project Settings.
|
|
||||||
|
|
||||||
|
|
||||||
#include "TheracSimComponent.h"
|
|
||||||
|
|
||||||
// Sets default values for this component's properties
|
|
||||||
UTheracSimComponent::UTheracSimComponent()
|
|
||||||
{
|
|
||||||
// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features
|
|
||||||
// off to improve performance if you don't need them.
|
|
||||||
PrimaryComponentTick.bCanEverTick = true;
|
|
||||||
|
|
||||||
// ...
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Called when the game starts
|
|
||||||
void UTheracSimComponent::BeginPlay()
|
|
||||||
{
|
|
||||||
Super::BeginPlay();
|
|
||||||
|
|
||||||
// ...
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Called every frame
|
|
||||||
void UTheracSimComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
|
|
||||||
{
|
|
||||||
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
|
|
||||||
|
|
||||||
// ...
|
|
||||||
}
|
|
||||||
|
|
@ -40,10 +40,10 @@ class MYPROJECT_API UMyUserWidget : public UUserWidget {
|
|||||||
UTextBlock * ColY_TextBlock;
|
UTextBlock * ColY_TextBlock;
|
||||||
|
|
||||||
UPROPERTY(meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
UTextBlock * WR_TextBlock;
|
UTextBlock * WN_TextBlock;
|
||||||
|
|
||||||
UPROPERTY(meta = (BindWidget))
|
UPROPERTY(meta = (BindWidget))
|
||||||
UTextBlock * AN_TextBlock;
|
UTextBlock * AN_TextBlock;
|
||||||
|
|
||||||
void NativeOnInitialized() override;
|
void NativeOnInitialized() override;
|
||||||
};
|
};
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
// Fill out your copyright notice in the Description page of Project Settings.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "CoreMinimal.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class MYPROJECT_API TheracAdapter
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
TheracAdapter();
|
|
||||||
~TheracAdapter();
|
|
||||||
};
|
|
@ -1,28 +0,0 @@
|
|||||||
// Fill out your copyright notice in the Description page of Project Settings.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "CoreMinimal.h"
|
|
||||||
#include "Components/ActorComponent.h"
|
|
||||||
#include "TheracSimComponent.generated.h"
|
|
||||||
|
|
||||||
|
|
||||||
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
|
|
||||||
class MYPROJECT_API UTheracSimComponent : public UActorComponent
|
|
||||||
{
|
|
||||||
GENERATED_BODY()
|
|
||||||
|
|
||||||
public:
|
|
||||||
// Sets default values for this component's properties
|
|
||||||
UTheracSimComponent();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
// Called when the game starts
|
|
||||||
virtual void BeginPlay() override;
|
|
||||||
|
|
||||||
public:
|
|
||||||
// Called every frame
|
|
||||||
virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
@ -1,15 +1,14 @@
|
|||||||
// Fill out your copyright notice in the Description page of Project Settings.
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
using UnrealBuildTool;
|
using UnrealBuildTool;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
public class MyProjectEditorTarget : TargetRules
|
public class MyProjectEditorTarget : TargetRules
|
||||||
{
|
{
|
||||||
public MyProjectEditorTarget(TargetInfo Target) : base(Target)
|
public MyProjectEditorTarget(TargetInfo Target) : base(Target)
|
||||||
{
|
{
|
||||||
Type = TargetType.Editor;
|
Type = TargetType.Editor;
|
||||||
DefaultBuildSettings = BuildSettingsVersion.V5;
|
DefaultBuildSettings = BuildSettingsVersion.V5;
|
||||||
|
|
||||||
ExtraModuleNames.AddRange( new string[] { "MyProject" } );
|
ExtraModuleNames.AddRange(new string[] { "MyProject", "hstherac25" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
8
shadertoolsconfig.json
Normal file
8
shadertoolsconfig.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"hlsl.preprocessorDefinitions": {
|
||||||
|
},
|
||||||
|
" hlsl.additionalIncludeDirectories": [
|
||||||
|
],
|
||||||
|
"hlsl.virtualDirectoryMappings": {
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user