Skip to content

Commit a545dc5

Browse files
committed
Stop!
1 parent 8eb94d5 commit a545dc5

19 files changed

Lines changed: 276 additions & 1 deletion

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
build
2+
.idea
3+
cmake-build*
4+
.vs
5+
*.pdb

.vscode/launch.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "C++ Debugger",
6+
"type": "cppvsdbg",
7+
"request": "attach",
8+
}
9+
]
10+
}

CMakeLists.txt

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
cmake_minimum_required(VERSION 3.21)
2+
3+
project(SkyrimScripting.Stop VERSION 0.0.1 LANGUAGES CXX)
4+
5+
set(CMAKE_CXX_STANDARD 23)
6+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
7+
8+
option(DEPLOY_MOD "Copy mod .dll and resource into %SKYRIM_MODS_DEPLOY_ROOT%\\${PROJECT_NAME}" OFF)
9+
10+
# Override <DEPLOY_ROOT> to set the path of a mod to deploy files to.
11+
# The SKSE plugin files will be writen to <DEPLOY_ROOT>/<PROJECT_NAME>/SKSE/Plugins
12+
# You can use the environment variable SKYRIM_MODS_DEPLOY_ROOT to set a default <DEPLOY_ROOT>
13+
# set(DEPLOY_ROOT "C:/some/path/to/mod/path")
14+
15+
set(POST_LOAD_PROJECT SkyrimScripting.Stop.PostLoad)
16+
find_package(CommonLibSSE CONFIG REQUIRED)
17+
add_commonlibsse_plugin(${POST_LOAD_PROJECT} SOURCES Stop_PostLoad.cpp)
18+
target_compile_features(${POST_LOAD_PROJECT} PRIVATE cxx_std_23)
19+
target_precompile_headers(${POST_LOAD_PROJECT} PUBLIC PCH.h)
20+
set_target_properties(${POST_LOAD_PROJECT} PROPERTIES OUTPUT_NAME "~~~~.SkyrimScripting.Stop.PostLoad")
21+
22+
set(DATA_LOADED_PROJECT SkyrimScripting.Stop.DataLoaded)
23+
find_package(CommonLibSSE CONFIG REQUIRED)
24+
add_commonlibsse_plugin(${DATA_LOADED_PROJECT} SOURCES Stop_DataLoaded.cpp)
25+
target_compile_features(${DATA_LOADED_PROJECT} PRIVATE cxx_std_23)
26+
target_precompile_headers(${DATA_LOADED_PROJECT} PUBLIC PCH.h)
27+
set_target_properties(${DATA_LOADED_PROJECT} PROPERTIES OUTPUT_NAME "~~~~.SkyrimScripting.Stop.DataLoaded")
28+
29+
if(DEPLOY_MOD)
30+
if(EXISTS "${DEPLOY_ROOT}")
31+
32+
set(POST_LOAD_MOD_FOLDER "${DEPLOY_ROOT}/${POST_LOAD_PROJECT}")
33+
set(POST_LOAD_DLL_FOLDER "${POST_LOAD_MOD_FOLDER}/SKSE/Plugins")
34+
message(STATUS "Post Load plugin output directory: ${POST_LOAD_MOD_FOLDER}")
35+
add_custom_command(
36+
TARGET "${POST_LOAD_PROJECT}"
37+
POST_BUILD
38+
COMMAND "${CMAKE_COMMAND}" -E make_directory "${POST_LOAD_DLL_FOLDER}"
39+
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "$<TARGET_FILE:${POST_LOAD_PROJECT}>" "${POST_LOAD_DLL_FOLDER}/$<TARGET_FILE_NAME:${POST_LOAD_PROJECT}>"
40+
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "$<TARGET_PDB_FILE:${POST_LOAD_PROJECT}>" "${POST_LOAD_DLL_FOLDER}/$<TARGET_PDB_FILE_NAME:${POST_LOAD_PROJECT}>"
41+
VERBATIM
42+
)
43+
44+
set(DATA_LOADED_MOD_FOLDER "${DEPLOY_ROOT}/${DATA_LOADED_PROJECT}")
45+
set(DATA_LOADED_DLL_FOLDER "${DATA_LOADED_MOD_FOLDER}/SKSE/Plugins")
46+
message(STATUS "Post Load plugin output directory: ${DATA_LOADED_MOD_FOLDER}")
47+
add_custom_command(
48+
TARGET "${DATA_LOADED_PROJECT}"
49+
POST_BUILD
50+
COMMAND "${CMAKE_COMMAND}" -E make_directory "${DATA_LOADED_DLL_FOLDER}"
51+
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "$<TARGET_FILE:${DATA_LOADED_PROJECT}>" "${DATA_LOADED_DLL_FOLDER}/$<TARGET_FILE_NAME:${DATA_LOADED_PROJECT}>"
52+
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "$<TARGET_PDB_FILE:${DATA_LOADED_PROJECT}>" "${DATA_LOADED_DLL_FOLDER}/$<TARGET_PDB_FILE_NAME:${DATA_LOADED_PROJECT}>"
53+
VERBATIM
54+
)
55+
56+
endif()
57+
endif()

CMakePresets.json

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
{
2+
"version": 2,
3+
"cmakeMinimumRequired": { "major": 3, "minor": 21, "patch": 0 },
4+
"configurePresets": [
5+
{
6+
"name": "flags",
7+
"hidden": true,
8+
"cacheVariables": {
9+
"CMAKE_CXX_FLAGS": "/permissive- /Zc:preprocessor /EHsc /MP /W4 -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DUNICODE -D_UNICODE"
10+
}
11+
},
12+
{
13+
"name": "vcpkg",
14+
"hidden": true,
15+
"cacheVariables": {
16+
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
17+
"VCPKG_TARGET_TRIPLET": "x64-windows-static-md",
18+
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/cmake",
19+
"CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL"
20+
}
21+
},
22+
{
23+
"name": "x64",
24+
"hidden": true,
25+
"architecture": { "value": "x64", "strategy": "external" }
26+
},
27+
{
28+
"name": "msvc",
29+
"hidden": true,
30+
"generator": "Visual Studio 17 2022",
31+
"vendor": {
32+
"microsoft.com/VisualStudioSettings/CMake/1.0": {
33+
"intelliSenseMode": "windows-msvc-x64",
34+
"enableMicrosoftCodeAnalysis": true,
35+
"enableClangTidyCodeAnalysis": true
36+
}
37+
}
38+
},
39+
{
40+
"name": "mod-deploy",
41+
"hidden": true,
42+
"cacheVariables": {
43+
"DEPLOY_MOD": { "type": "BOOL", "value": "ON" },
44+
"DEPLOY_ROOT": { "type": "STRING", "value": "$env{SKYRIM_MODS_DEPLOY_ROOT}" }
45+
}
46+
},
47+
{
48+
"name": "base-configuration",
49+
"hidden": true,
50+
"inherits": [ "flags", "vcpkg", "x64", "msvc" ]
51+
},
52+
{
53+
"name": "debug-configuration",
54+
"inherits": [ "base-configuration" ],
55+
"displayName": "Debug",
56+
"description": "Debug build",
57+
"binaryDir": "${sourceDir}/build/Debug",
58+
"cacheVariables": { "CMAKE_BUILD_TYPE": { "type": "STRING", "value": "Debug" }}
59+
},
60+
{
61+
"name": "debug-configuration-deploy",
62+
"inherits": ["debug-configuration", "mod-deploy"],
63+
"displayName": "Debug + Deploy",
64+
"description": "Debug and copy .dll and mod resources to SKYRIM_MODS"
65+
},
66+
{
67+
"name": "release-configuration",
68+
"inherits": [ "base-configuration" ],
69+
"displayName": "Release",
70+
"description": "Release build",
71+
"binaryDir": "${sourceDir}/build/Release",
72+
"cacheVariables": { "CMAKE_BUILD_TYPE": { "type": "STRING", "value": "Release" }}
73+
},
74+
{
75+
"name": "release-configuration-deploy",
76+
"inherits": ["release-configuration", "mod-deploy"],
77+
"displayName": "Release + Deploy",
78+
"description": "Release and copy .dll and mod resources to SKYRIM_MODS"
79+
}
80+
],
81+
"buildPresets": [
82+
{ "name": "build-debug", "displayName": "Debug", "configurePreset": "debug-configuration" },
83+
{ "name": "build-debug-deploy", "displayName": "Debug Deploy", "configurePreset": "debug-configuration-deploy" },
84+
{ "name": "build-release", "displayName": "Release", "configurePreset": "release-configuration" },
85+
{ "name": "build-release-deploy", "displayName": "Release Deploy", "configurePreset": "release-configuration-deploy" }
86+
]
87+
}

Fonts/Attribution.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://www.1001fonts.com/sign-language-font.html

Fonts/NOT_FOR_DISTRIBUTION

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
The fonts found in this folder are
2+
**NOT FOR DISTRIBUTION**
3+
4+
> They are here so that I don't lose them and can edit this mod's logo as needed.

Fonts/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
The fonts found in this folder are
2+
**NOT FOR DISTRIBUTION**
3+
4+
> They are here so that I don't lose them and can edit this mod's logo as needed.

Fonts/sign-language.regular.ttf

54.7 KB
Binary file not shown.

Images/Attribution.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://pixabay.com/vectors/bodyguard-police-detective-agent-145447/

Images/Logo.png

88.1 KB
Loading

0 commit comments

Comments
 (0)