diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..fbec821 --- /dev/null +++ b/.editorconfig @@ -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 = \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..9455c26 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Plugins/hstherac25/Source/hstherac-hs"] + path = Plugins/hstherac25/Source/hstherac-hs + url = git@github.com:pillowtrucker/hstherac25.git diff --git a/.vsconfig b/.vsconfig new file mode 100644 index 0000000..b3c233d --- /dev/null +++ b/.vsconfig @@ -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" + ] +} diff --git a/MyProject.code-workspace b/MyProject.code-workspace deleted file mode 100644 index 22fc170..0000000 --- a/MyProject.code-workspace +++ /dev/null @@ -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" - } - ] - } -} diff --git a/MyProject.uproject b/MyProject.uproject index e2d0733..d3a5014 100644 --- a/MyProject.uproject +++ b/MyProject.uproject @@ -1,26 +1,23 @@ { - "FileVersion": 3, - "EngineAssociation": "5.5", - "Category": "", - "Description": "", - "Modules": [ - { - "Name": "MyProject", - "Type": "Runtime", - "LoadingPhase": "Default", - "AdditionalDependencies": [ - "UMG", - "Engine" - ] - } - ], - "Plugins": [ - { - "Name": "ModelingToolsEditorMode", - "Enabled": true, - "TargetAllowList": [ - "Editor" - ] - } - ] + "FileVersion": 3, + "EngineAssociation": "5.5", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "MyProject", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ], + "Plugins": [ + { + "Name": "ModelingToolsEditorMode", + "Enabled": true + } + ], + "TargetPlatforms": [], + "AdditionalRootDirectories": [], + "AdditionalPluginDirectories": [], + "EpicSampleNameHash": "" } \ No newline at end of file diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.cpp b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.cpp deleted file mode 100644 index 2de2f64..0000000 --- a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#if defined _WIN32 || defined _WIN64 - #include - - #define EXAMPLELIBRARY_EXPORT __declspec(dllexport) -#else - #include -#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 -} \ No newline at end of file diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj deleted file mode 100644 index 432f9dc..0000000 --- a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj +++ /dev/null @@ -1,158 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {9B50F1F8-0116-442C-A071-F5C3A120A5CB} - Win32Proj - ExampleLibrary - - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - $(SolutionDir)$(Platform)\$(Configuration)\ - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - copy "$(TargetPath)" "$(SolutionDir)..\..\..\Binaries\ThirdParty\hstherac25Library\Win64\" - - - - - - - - - - - - \ No newline at end of file diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj.filters b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj.filters deleted file mode 100644 index 29d3ce7..0000000 --- a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj.filters +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib deleted file mode 100644 index 88165a9..0000000 Binary files a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib and /dev/null differ diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Public/hstherac25Library/ExampleLibrary.h b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Public/hstherac25Library/ExampleLibrary.h deleted file mode 100644 index 15422eb..0000000 --- a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Public/hstherac25Library/ExampleLibrary.h +++ /dev/null @@ -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(); diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.Build.cs b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.Build.cs deleted file mode 100644 index e761b74..0000000 --- a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.Build.cs +++ /dev/null @@ -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); - } - } -} diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.tps b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.tps deleted file mode 100644 index 5bfce86..0000000 --- a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.tps +++ /dev/null @@ -1,6 +0,0 @@ - - - -Notes: This is a sample module and not actually third party. - - diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.dll b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.dll deleted file mode 100644 index ccb58d8..0000000 Binary files a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.dll and /dev/null differ diff --git a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.lib b/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.lib deleted file mode 100644 index 3c681c9..0000000 Binary files a/Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.lib and /dev/null differ diff --git a/Plugins/hstherac25/Source/hstherac-hs b/Plugins/hstherac25/Source/hstherac-hs new file mode 160000 index 0000000..2d690cf --- /dev/null +++ b/Plugins/hstherac25/Source/hstherac-hs @@ -0,0 +1 @@ +Subproject commit 2d690cf0febb28aa385770183b2aa8424b6633f1 diff --git a/Plugins/hstherac25/Source/hstherac25/Private/Therac.h b/Plugins/hstherac25/Source/hstherac25/Private/Therac.h new file mode 100644 index 0000000..4cd83d3 --- /dev/null +++ b/Plugins/hstherac25/Source/hstherac25/Private/Therac.h @@ -0,0 +1,68 @@ +#include + +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 diff --git a/Plugins/hstherac25/Source/hstherac25/Private/hstherac25.cpp b/Plugins/hstherac25/Source/hstherac25/Private/hstherac25.cpp index 5d9cf8d..edb9548 100644 --- a/Plugins/hstherac25/Source/hstherac25/Private/hstherac25.cpp +++ b/Plugins/hstherac25/Source/hstherac25/Private/hstherac25.cpp @@ -6,50 +6,71 @@ #include "Interfaces/IPluginManager.h" #include "Misc/Paths.h" #include "HAL/PlatformProcess.h" -#include "hstherac25Library/ExampleLibrary.h" +#include "Therac.h" #define LOCTEXT_NAMESPACE "Fhstherac25Module" -void Fhstherac25Module::StartupModule() -{ - // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module +void Fhstherac25Module::StartupModule() { + // This code will execute after your module is loaded into memory; the exact + // 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 + FString BaseDir = + IPluginManager::Get().FindPlugin("hstherac25")->GetBaseDir(); - // Add on the relative location of the third party dll and load it - FString LibraryPath; + // Add on the relative location of the third party dll and load it + FString LibraryPath; #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 - 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 - 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 - ExampleLibraryHandle = !LibraryPath.IsEmpty() ? FPlatformProcess::GetDllHandle(*LibraryPath) : nullptr; + ExampleLibraryHandle = !LibraryPath.IsEmpty() + ? FPlatformProcess::GetDllHandle(*LibraryPath) + : nullptr; - if (ExampleLibraryHandle) - { - // Call the test function in the third party library that opens a message box - ExampleLibraryFunction(); - } - else - { - FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT("ThirdPartyLibraryError", "Failed to load example third party library")); - } + if (ExampleLibraryHandle) { + // Call the test function in the third party library that opens a message + // box + // ExampleLibraryFunction(); + HsStablePtr wc = start_machine(); + } else { + FMessageDialog::Open( + EAppMsgType::Ok, + LOCTEXT( + "ThirdPartyLibraryError", + "Failed to load example third party library" + ) + ); + } } -void Fhstherac25Module::ShutdownModule() -{ - // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, - // we call this function before unloading the module. +void Fhstherac25Module::ShutdownModule() { + // This function may be called during shutdown to clean up your module. For + // modules that support dynamic reloading, we call this function before + // unloading the module. - // Free the dll handle - FPlatformProcess::FreeDllHandle(ExampleLibraryHandle); - ExampleLibraryHandle = nullptr; + // Free the dll handle + FPlatformProcess::FreeDllHandle(ExampleLibraryHandle); + ExampleLibraryHandle = nullptr; } #undef LOCTEXT_NAMESPACE - + IMPLEMENT_MODULE(Fhstherac25Module, hstherac25) diff --git a/Plugins/hstherac25/Source/hstherac25/hstherac25.Build.cs b/Plugins/hstherac25/Source/hstherac25/hstherac25.Build.cs index fc95785..708e0e3 100644 --- a/Plugins/hstherac25/Source/hstherac25/hstherac25.Build.cs +++ b/Plugins/hstherac25/Source/hstherac25/hstherac25.Build.cs @@ -1,51 +1,62 @@ // Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; +using System; +using System.IO; public class hstherac25 : ModuleRules { public hstherac25(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; - + PublicIncludePaths.AddRange( new string[] { // ... add public include paths required here ... + "C:/ghcup/ghc/9.6.7/include", + + } ); - - + + 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", +// "${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 ... } ); - - + + PublicDependencyModuleNames.AddRange( new string[] { "Core", - "hstherac25Library", "Projects" // ... add other public dependencies that you statically link with here ... } ); - - + + PrivateDependencyModuleNames.AddRange( new string[] { // ... add private dependencies that you statically link with here ... } ); - - + + DynamicallyLoadedModuleNames.AddRange( new string[] { + // ... add any modules that your module loads dynamically here ... } ); + PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "../hstherac-hs", "HSdll.dll.a")); } } diff --git a/Source/MyProject/MyProject.Build.cs b/Source/MyProject/MyProject.Build.cs index 0cb70cc..149295a 100644 --- a/Source/MyProject/MyProject.Build.cs +++ b/Source/MyProject/MyProject.Build.cs @@ -8,12 +8,12 @@ public class MyProject : ModuleRules { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; - PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" }); PrivateDependencyModuleNames.AddRange(new string[] { }); // 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 // PrivateDependencyModuleNames.Add("OnlineSubsystem"); diff --git a/shadertoolsconfig.json b/shadertoolsconfig.json new file mode 100644 index 0000000..9e8ecb4 --- /dev/null +++ b/shadertoolsconfig.json @@ -0,0 +1,8 @@ +{ + "hlsl.preprocessorDefinitions": { + }, + " hlsl.additionalIncludeDirectories": [ + ], + "hlsl.virtualDirectoryMappings": { + } +}