Skip to content

Commit d6d24b7

Browse files
committed
chore: Merge 'doodlum/dev' into 'feature/hdr-output'
May not compile yet, no fixes applied only merge conflict resolution
2 parents 20c6ebe + 3bde6be commit d6d24b7

File tree

172 files changed

+73288
-2080
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

172 files changed

+73288
-2080
lines changed

.clang-format

Lines changed: 68 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,100 @@
11
---
22
AccessModifierOffset: -4
33
AlignAfterOpenBracket: DontAlign
4-
AlignConsecutiveAssignments: 'false'
5-
AlignConsecutiveBitFields: 'false'
6-
AlignConsecutiveDeclarations: 'false'
7-
AlignConsecutiveMacros: 'false'
4+
AlignConsecutiveAssignments: false
5+
AlignConsecutiveBitFields: false
6+
AlignConsecutiveDeclarations: false
7+
AlignConsecutiveMacros: false
88
AlignEscapedNewlines: Left
99
AlignOperands: Align
10-
AlignTrailingComments: 'true'
11-
AllowAllArgumentsOnNextLine: 'false'
12-
AllowAllConstructorInitializersOnNextLine: 'false'
13-
AllowAllParametersOfDeclarationOnNextLine: 'false'
10+
AlignTrailingComments: true
11+
AllowAllArgumentsOnNextLine: false
12+
AllowAllConstructorInitializersOnNextLine: false
13+
AllowAllParametersOfDeclarationOnNextLine: false
1414
AllowShortBlocksOnASingleLine: Empty
15-
AllowShortCaseLabelsOnASingleLine: 'false'
16-
AllowShortEnumsOnASingleLine: 'true'
15+
AllowShortCaseLabelsOnASingleLine: false
16+
AllowShortEnumsOnASingleLine: true
1717
AllowShortFunctionsOnASingleLine: All
1818
AllowShortIfStatementsOnASingleLine: Never
1919
AllowShortLambdasOnASingleLine: All
20-
AllowShortLoopsOnASingleLine: 'true'
20+
AllowShortLoopsOnASingleLine: true
2121
AlwaysBreakAfterReturnType: None
22-
AlwaysBreakBeforeMultilineStrings: 'true'
23-
AlwaysBreakTemplateDeclarations: 'Yes'
24-
BinPackArguments: 'true'
25-
BinPackParameters: 'true'
22+
AlwaysBreakBeforeMultilineStrings: true
23+
AlwaysBreakTemplateDeclarations: Yes
24+
BinPackArguments: true
25+
BinPackParameters: true
2626
BitFieldColonSpacing: After
2727
BraceWrapping:
28-
AfterCaseLabel: 'true'
29-
AfterClass: 'true'
30-
AfterControlStatement: 'false'
31-
AfterEnum: 'true'
32-
AfterFunction: 'true'
33-
AfterNamespace: 'true'
34-
AfterStruct: 'true'
35-
AfterUnion: 'true'
36-
AfterExternBlock: 'true'
37-
BeforeCatch: 'false'
38-
BeforeElse: 'false'
39-
BeforeLambdaBody: 'false'
40-
BeforeWhile: 'false'
41-
IndentBraces: 'false'
42-
SplitEmptyFunction: 'false'
43-
SplitEmptyRecord: 'false'
44-
SplitEmptyNamespace: 'false'
28+
AfterCaseLabel: true
29+
AfterClass: true
30+
AfterControlStatement: false
31+
AfterEnum: true
32+
AfterFunction: true
33+
AfterNamespace: true
34+
AfterStruct: true
35+
AfterUnion: true
36+
AfterExternBlock: true
37+
BeforeCatch: false
38+
BeforeElse: false
39+
BeforeLambdaBody: false
40+
BeforeWhile: false
41+
IndentBraces: false
42+
SplitEmptyFunction: false
43+
SplitEmptyRecord: false
44+
SplitEmptyNamespace: false
4545
BreakBeforeBinaryOperators: None
4646
BreakBeforeBraces: Custom
47-
BreakBeforeTernaryOperators: 'false'
47+
BreakBeforeTernaryOperators: false
4848
BreakConstructorInitializers: AfterColon
4949
BreakInheritanceList: AfterColon
50-
BreakStringLiterals: 'true'
50+
BreakStringLiterals: true
5151
ColumnLimit: 0
52-
CompactNamespaces: 'false'
53-
ConstructorInitializerAllOnOneLineOrOnePerLine: 'false'
52+
CompactNamespaces: false
53+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
5454
ConstructorInitializerIndentWidth: 4
5555
ContinuationIndentWidth: 4
56-
Cpp11BracedListStyle: 'false'
57-
DeriveLineEnding: 'true'
58-
DerivePointerAlignment: 'false'
59-
DisableFormat: 'false'
60-
FixNamespaceComments: 'false'
56+
Cpp11BracedListStyle: false
57+
DeriveLineEnding: true
58+
DerivePointerAlignment: false
59+
DisableFormat: false
60+
FixNamespaceComments: false
6161
IncludeBlocks: Preserve
62-
IndentCaseBlocks: 'true'
63-
IndentCaseLabels: 'false'
62+
IndentCaseBlocks: true
63+
IndentCaseLabels: false
6464
IndentExternBlock: Indent
65-
IndentGotoLabels: 'false'
65+
IndentGotoLabels: false
6666
IndentPPDirectives: AfterHash
6767
IndentWidth: 4
68-
IndentWrappedFunctionNames: 'true'
69-
KeepEmptyLinesAtTheStartOfBlocks: 'false'
68+
IndentWrappedFunctionNames: false
69+
KeepEmptyLinesAtTheStartOfBlocks: false
7070
Language: Cpp
7171
MaxEmptyLinesToKeep: 1
7272
NamespaceIndentation: All
7373
PointerAlignment: Left
74-
ReflowComments : 'false'
75-
SortIncludes: 'true'
76-
SortUsingDeclarations: 'true'
77-
SpaceAfterCStyleCast: 'false'
78-
SpaceAfterLogicalNot: 'false'
79-
SpaceAfterTemplateKeyword: 'true'
80-
SpaceBeforeAssignmentOperators: 'true'
81-
SpaceBeforeCpp11BracedList: 'false'
82-
SpaceBeforeCtorInitializerColon: 'true'
83-
SpaceBeforeInheritanceColon: 'true'
74+
ReflowComments: false
75+
SortIncludes: true
76+
SortUsingDeclarations: true
77+
SpaceAfterCStyleCast: false
78+
SpaceAfterLogicalNot: false
79+
SpaceAfterTemplateKeyword: true
80+
SpaceBeforeAssignmentOperators: true
81+
SpaceBeforeCpp11BracedList: false
82+
SpaceBeforeCtorInitializerColon: true
83+
SpaceBeforeInheritanceColon: true
8484
SpaceBeforeParens: ControlStatements
85-
SpaceBeforeRangeBasedForLoopColon: 'true'
86-
SpaceBeforeSquareBrackets: 'false'
87-
SpaceInEmptyBlock: 'false'
88-
SpaceInEmptyParentheses: 'false'
85+
SpaceBeforeRangeBasedForLoopColon: true
86+
SpaceBeforeSquareBrackets: false
87+
SpaceInEmptyBlock: false
88+
SpaceInEmptyParentheses: false
8989
SpacesBeforeTrailingComments: 2
90-
SpacesInAngles: 'false'
91-
SpacesInCStyleCastParentheses: 'false'
92-
SpacesInConditionalStatement: 'false'
93-
SpacesInContainerLiterals: 'true'
94-
SpacesInParentheses: 'false'
95-
SpacesInSquareBrackets: 'false'
90+
SpacesInAngles: false
91+
SpacesInCStyleCastParentheses: false
92+
SpacesInConditionalStatement: false
93+
SpacesInContainerLiterals: true
94+
SpacesInParentheses: false
95+
SpacesInSquareBrackets: false
9696
Standard: Latest
9797
TabWidth: 4
98-
UseCRLF: 'true'
98+
UseCRLF: true
9999
UseTab: AlignWithSpaces
100+
PenaltyBreakBeforeFirstCallParameter: 1000

.coderabbit.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# CodeRabbit AI Configuration
2+
3+
# Only adding custom instructions for conventional commit suggestions
4+
instructions: |
5+
When reviewing PRs, please provide suggestions for:
6+
7+
1. **Conventional Commit Titles** (if not following https://www.conventionalcommits.org/ or
8+
if the existing title does not describe the code changes):
9+
Format: type(scope): description
10+
Length: 50 characters limit for title, 72 for body
11+
Style: lowercase description, no ending period
12+
Examples:
13+
- feat(vr): add cross-eye sampling
14+
- fix(water): resolve flowmap bug
15+
- docs: update shader documentation
16+
17+
2. **Issue References** (if PR fixes bugs or implements features):
18+
Suggest adding appropriate GitHub keywords:
19+
- "Fixes #123" or "Closes #123" for bug fixes
20+
- "Implements #123" or "Addresses #123" for features
21+
- "Related to #123" for partial implementations
22+
23+
Otherwise, use your standard review approach focusing on code quality.

.github/configs/README.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Build Configuration Files
2+
3+
This directory contains configuration files used by the CI/CD pipeline for build validation and testing.
4+
5+
## Files
6+
7+
- `shader-validation.yaml`: Configuration for shader compilation validation using hlslkit (Skyrim SE)
8+
- `shader-validation-vr.yaml`: VR Configuration for shader compilation validation using hlslkit (Skyrim VR)
9+
10+
## Generating Configuration Files
11+
12+
These configuration files can be regenerated using the `generate-shader-configs.ps1` script in this directory. This script requires:
13+
14+
1. A valid Skyrim installation (SE and/or VR)
15+
2. The [hlslkit](https://github.com/alandtse/hlslkit) package installed (`pip install hlslkit`)
16+
3. Community Shaders to be run once with specific settings to generate the required log data
17+
18+
### Prerequisites
19+
20+
Before running the generation script, you must run each version of Skyrim (SE and VR) **once** with the following Community Shaders settings:
21+
22+
1. **Set Debug Log Level**: In the Community Shaders menu, set the log level to "Debug" or "Trace"
23+
2. **Clear Disk Cache**: Clear the shader disk cache before running
24+
3. **Enable Disk Cache**: Ensure disk cache is enabled and will be saved
25+
4. **Run the Game**: Launch and wait for compilation to complete to generate shader compilation logs
26+
27+
The required log files will be created at:
28+
29+
- **Skyrim SE**: `%USERPROFILE%\Documents\My Games\Skyrim Special Edition\SKSE\CommunityShaders.log`
30+
- **Skyrim VR**: `%USERPROFILE%\Documents\My Games\Skyrim VR\SKSE\CommunityShaders.log`
31+
32+
### Running the Script
33+
34+
```powershell
35+
# From the repository root
36+
.\.github\configs\generate-shader-configs.ps1
37+
38+
# Or from the configs directory
39+
cd .github\configs
40+
.\generate-shader-configs.ps1
41+
```
42+
43+
The script will:
44+
45+
1. Detect available Skyrim installations
46+
2. Check for required log files
47+
3. Generate configuration files using hlslkit
48+
4. Update the files in `.github\configs\`
49+
50+
### Manual Generation
51+
52+
You can also generate the files manually using hlslkit:
53+
54+
```bash
55+
# For Skyrim SE
56+
hlslkit-generate --log "%USERPROFILE%\Documents\My Games\Skyrim Special Edition\SKSE\CommunityShaders.log" --output .\.github\configs\shader-validation.yaml
57+
58+
# For Skyrim VR
59+
hlslkit-generate --log "%USERPROFILE%\Documents\My Games\Skyrim VR\SKSE\CommunityShaders.log" --output .\.github\configs\shader-validation-vr.yaml
60+
```
61+
62+
## Usage in CI/CD
63+
64+
These files are automatically used by the GitHub Actions workflows during shader validation. They define:
65+
66+
- Common shader compilation defines
67+
- Expected warnings (with suppression)
68+
- Shader file configurations
69+
- Compilation parameters
70+
71+
The files should be regenerated when:
72+
73+
- New shaders are added to the project
74+
- Shader compilation behavior changes
75+
- New warnings need to be suppressed
76+
- Build configurations are modified

0 commit comments

Comments
 (0)