Skip to content

Commit c807372

Browse files
authored
Merge pull request #158 from rollingrock/v78
V78
2 parents bccc1f8 + 02183ff commit c807372

237 files changed

Lines changed: 2102 additions & 1045 deletions

File tree

Some content is hidden

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

.clang-format

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ AlignTrailingComments: false
1313
AllowAllArgumentsOnNextLine: false
1414
AllowAllConstructorInitializersOnNextLine: false
1515
AllowAllParametersOfDeclarationOnNextLine: false
16-
AllowShortBlocksOnASingleLine: Empty
16+
AllowShortBlocksOnASingleLine: Never
1717
AllowShortCaseLabelsOnASingleLine: false
1818
AllowShortEnumsOnASingleLine: true
19-
AllowShortFunctionsOnASingleLine: All
19+
AllowShortFunctionsOnASingleLine: None
2020
AllowShortIfStatementsOnASingleLine: false
2121
AllowShortLambdasOnASingleLine: All
2222
AllowShortLoopsOnASingleLine: false
2323
AlwaysBreakAfterDefinitionReturnType: false
2424
AlwaysBreakAfterReturnType: None
2525
AlwaysBreakBeforeMultilineStrings: true
2626
AlwaysBreakTemplateDeclarations: Yes
27-
BinPackArguments: true
27+
BinPackArguments: false
2828
BinPackParameters: true
2929
BitFieldColonSpacing: After
3030
BraceWrapping:
@@ -47,14 +47,15 @@ BraceWrapping:
4747
BreakBeforeBinaryOperators: None
4848
BreakBeforeBraces: Custom
4949
BreakBeforeTernaryOperators: true
50-
BreakConstructorInitializers: AfterColon
50+
BreakConstructorInitializers: BeforeColon
5151
BreakInheritanceList: AfterColon
5252
BreakStringLiterals: true
5353
ColumnLimit: 180
5454
CompactNamespaces: false
5555
ConstructorInitializerAllOnOneLineOrOnePerLine: false
5656
ConstructorInitializerIndentWidth: 4
5757
ContinuationIndentWidth: 4
58+
PackConstructorInitializers: Never
5859
Cpp11BracedListStyle: false
5960
DeriveLineEnding: true
6061
DerivePointerAlignment: false

.github/workflows/build.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: build
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
8+
jobs:
9+
windows:
10+
# The "default" CMake preset uses generator "Visual Studio 18 2026" / toolset v145.
11+
runs-on: windows-2025-vs2026
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
with:
16+
submodules: recursive
17+
18+
- name: Bridge VCPKG_ROOT
19+
shell: pwsh
20+
run: |
21+
if (-not $env:VCPKG_INSTALLATION_ROOT) {
22+
throw "VCPKG_INSTALLATION_ROOT is not set on the runner."
23+
}
24+
"VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
25+
26+
- name: Configure CMake
27+
run: cmake --preset default
28+
29+
- name: Build
30+
run: cmake --build build --config Release

.github/workflows/maintenance.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: maintenance
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
maintenance:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout pull request branch
16+
if: github.event_name == 'pull_request'
17+
uses: actions/checkout@v4
18+
with:
19+
repository: ${{ github.event.pull_request.head.repo.full_name }}
20+
ref: ${{ github.event.pull_request.head.ref }}
21+
22+
- name: Checkout
23+
if: github.event_name != 'pull_request'
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Python
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: "3.x"
30+
31+
- name: Install pre-commit
32+
run: python -m pip install pre-commit
33+
34+
# Same-repo branches (push / non-fork PR): auto-fix and commit back.
35+
- name: Run pre-commit
36+
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
37+
continue-on-error: true
38+
run: pre-commit run --all-files --show-diff-on-failure
39+
40+
- name: Commit maintenance fixes
41+
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
42+
uses: stefanzweifel/git-auto-commit-action@v5
43+
with:
44+
commit_message: "chore: maintenance"
45+
46+
- name: Verify pre-commit
47+
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
48+
run: pre-commit run --all-files --show-diff-on-failure
49+
50+
# Fork PRs are read-only: check and fail with diffs, never push back.
51+
- name: Run pre-commit for external pull requests
52+
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
53+
run: pre-commit run --all-files --show-diff-on-failure

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
55

66
.vscode
7-
build*
7+
/build*/
8+
build_output.txt
89

910
CMakeUserPresets*.json
1011

.pre-commit-config.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Pre-commit hooks for FRIK.
2+
# Local install (each developer, once): python -m pip install pre-commit && pre-commit install
3+
# GitHub Actions (.github/workflows/maintenance.yml) is the server-side fallback.
4+
ci:
5+
autofix_prs: true
6+
7+
repos:
8+
- repo: https://github.com/pre-commit/mirrors-clang-format
9+
rev: v18.1.8
10+
hooks:
11+
- id: clang-format
12+
types_or: [c++, c]
13+
args: [--style=file]
14+
15+
- repo: https://github.com/pre-commit/pre-commit-hooks
16+
rev: v5.0.0
17+
hooks:
18+
# The repo enforces CRLF (.gitattributes + .editorconfig + clang-format UseCRLF).
19+
# Only use line-ending-safe hooks here; clang-format owns C/C++ whitespace + EOF.
20+
- id: mixed-line-ending
21+
args: [--fix=crlf]
22+
- id: check-yaml
23+
- id: check-merge-conflict
24+
- id: check-added-large-files
25+
args: [--maxkb=5120]

AGENTS.md

Lines changed: 104 additions & 0 deletions

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 4.2)
44
# >>> Project
55
set(NAME "FRIK")
66
set(FRIENDLY_NAME "FRIK")
7-
set(VERSION 0.77.12)
7+
set(VERSION 0.78.0)
88

99
message(">>> Start build for '${NAME}' v${VERSION}")
1010

data/config/FRIK.ini

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,22 @@
1313
# Any change to the file while the game is running will be detected and applied immediately.
1414
# Useful to modify advanced settings and seeing the effects without restarting the game.
1515
#
16-
# -------------------
17-
# Valid Buttons List:
18-
# B / Y = 1
19-
# Grip = 2
20-
# A / X = 7
21-
# Touchpad / Thumbstick Press = 32
22-
# Unbound = 99
16+
# ---------------------
17+
# Input Binding Format:
18+
# Controller bindings are a single, case-insensitive line:
19+
# "<hand> <type> <button> [duration] [+[hand:]modifier]"
20+
#
21+
# hand = primary | offhand | left | right
22+
# type = tap | press | release | longpress | double | hold | touch | axis
23+
# button = trigger | grip | a | b (menu) | thumbstick | system
24+
# duration = optional seconds; meaning depends on type (e.g. longpress hold threshold)
25+
# modifier = optional button held while the binding fires:
26+
# "+grip" on the same hand, or "+offhand:grip" on a specific hand
27+
#
28+
# Examples:
29+
# offhand tap grip -> quick press+release of the offhand grip
30+
# primary longpress a 0.6 -> hold the primary A button for 0.6s
31+
# primary press trigger +grip -> press trigger while holding grip on the same hand
2332

2433

2534

@@ -134,13 +143,13 @@ PipBoyOffDelay = 1000
134143
# Basically it shortens the "PipBoyOffDelay" to quickly close Pipboy by starting to move
135144
AllowMovementWhenNotLookingAtPipboy = true
136145

137-
# Which controller and button will open/close the Pipboy
138-
# 0 if left controller / 1 is right controller
139-
# 33 - trigger, 2 - grip, 7 - A/X, 1 - B/Y
140-
OperatePipboyWithButtonArm = 0
141-
OperatePipboyWithButtonID = 33
142-
OperatePipboyWithButtonOffArm = 0
143-
OperatePipboyWithButtonOffID = 2
146+
# Which controller input opens / closes the Pipboy (see "Input Binding Format" near the top of this file)
147+
sPipboyOpenButton = offhand tap trigger
148+
sPipboyCloseButton = offhand tap grip
149+
# Controller input that must be held to move the holo Pipboy screen in place (see iDampenPipboyScreenMode = 2)
150+
sHoldPipboyScreenButton = offhand holddown grip 0.3
151+
# Controller input that enters the wrist-Pipboy configuration mode (the trailing number is the hold duration in seconds)
152+
sEnterPipboyConfigButton = primary longpress thumbstick 2.0
144153

145154
# When using touch method to operate Pipboy it's the distance of the primary hand from
146155
# Pipboy that will change hand pose to pointing. Set to 0 to disable. (default: 12)
@@ -176,8 +185,10 @@ bRemoveFlashlight = false
176185
# Controlled in-game by grabbing the flashlight near the top of the head when it's on on
177186
iFlashlightLocation = 0
178187

179-
# Button used to switch between torch on head or hand
180-
SwitchTorchButton = 2
188+
# Input used to switch the torch between head and hand (tapped on whichever hand is near the head)
189+
# One binding per hand (see "Input Binding Format" near the top of this file)
190+
sSwitchTorchLeftButton = left tap grip
191+
sSwitchTorchRightButton = right tap grip
181192

182193

183194
### Fallout London VR
@@ -187,9 +198,8 @@ SwitchTorchButton = 2
187198
# Set to 0 to disable and use regular Pipboy setting (OperatePipboyWithButtonXXX above)
188199
fAttaboyGrabActivationDistance = 15.0
189200

190-
# The controller button id to use to open/close (grab and return) the Attaboy
191-
# 32 - thumbstick press, 2 - grip, 7 - A/X, 1 - B/Y
192-
iAttaboyGrabButtonId = 2
201+
# The controller input to open/close (grab and return) the Attaboy (see "Input Binding Format" near the top)
202+
sAttaboyGrabButton = left tap grip
193203

194204

195205
### Weapons and Hands
@@ -207,7 +217,10 @@ EnableGripButton = true
207217
EnableGripButtonOnePress = true
208218
EnableGripButtonToLetGo = false
209219
GripLetGoThreshold = 2.5
210-
GripButtonID = 2
220+
# Offhand input to grip / release a two-handed weapon (press to grab, and to let go in modes 2/4)
221+
sGripButton = offhand press grip
222+
# Offhand input that must stay held to keep gripping (mode 3 lets go when this is released)
223+
sGripHoldButton = offhand hold grip
211224

212225
# Dampen hands settings - set strength from 0 to 0.95
213226
DampenHands = true
@@ -230,15 +243,19 @@ ScopeAdjustDistance = 15.0
230243
# How far out in front the selfie mode body is.
231244
selfieOutFrontDistance = 120.000000
232245

246+
# Controller input that toggles selfie mode, only when the Pipboy is off (see "Input Binding Format" near the top of this file)
247+
sToggleSelfieButton = primary tap a
248+
233249
# If to show the HUD in powerarmor
234250
showPAHUD = true
235251

236252
# Special flag to allow using Pipboy in Fallout London VR
237253
bIgnoreFalloutLondonVR = false
238254

239-
# How long to hold both controller sticks to open the configuration menu (in seconds)
255+
# Controller input that opens the configuration menu (see "Input Binding Format" near the top of this file)
256+
# Default: long-press both thumbsticks (the trailing number is the hold duration in seconds)
240257
# HTC Vive Pro 2 issue: https://www.nexusmods.com/fallout4/mods/53464?tab=posts&comment_id=163662949
241-
fOpenConfigurationModePressDelay = 1.5
258+
sOpenConfigButton = primary longpress thumbstick 1.5 +offhand:thumbstick
242259

243260

244261
[SmoothMovementVR]
@@ -297,4 +314,4 @@ sDebugFlowText2 =
297314
sDebugDumpDataOnceNames =
298315

299316
# Internal use for versioning
300-
iVersion = 16
317+
iVersion = 17

data/config/file_names.txt

-6.09 KB
Binary file not shown.
-3.21 KB
Binary file not shown.

0 commit comments

Comments
 (0)