Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
8080760
Removed LLVM backend
muit Sep 2, 2023
221fc7f
Updated Pipe
muit Sep 3, 2023
fa66fda
Added initial C generation for MIR
muit Sep 10, 2023
23b7886
Added compile settings
muit Oct 18, 2023
fcc52b4
Updated Pipe 1/2
muit Oct 20, 2023
c98d9f9
Pipe format fixes
muit Dec 2, 2023
705f3c7
Fix mir compilation issue
muit Dec 6, 2023
45a44ed
C2MIR Changes
muit Dec 6, 2023
bbb3a4f
Updated Imgui to 1.90
muit Dec 8, 2023
9144b90
Debug tool fixes
muit Dec 9, 2023
8199bea
Improved entity inspectors
muit Dec 9, 2023
d782aa8
AST debugger improvements
muit Dec 10, 2023
5b7bcaf
Fixes for Ubuntu/GCC/Clang
muit Jan 6, 2024
ed216c8
[CICD] Use GCC 13
muit Jan 6, 2024
0454395
Implemented dumping basic pool info
muit Jan 14, 2024
28273b5
Fixed two build crashes
muit Jan 17, 2024
c7aa0ca
Simplified component declarations
muit Jan 31, 2024
d712491
AST namespace is now ast
muit Jan 31, 2024
022acca
Elements panel improvements
muit Feb 1, 2024
f9df66a
Multiple UI and AST fixes
muit Feb 2, 2024
327d898
Watch for changes in project folder
muit Feb 3, 2024
ddd2311
Stop watching project folder on close
muit Feb 3, 2024
369a3ca
Added icons for file types
muit Feb 3, 2024
7924ed5
Many IR generation fixes
muit Feb 4, 2024
af62f96
Fixes to MIR JIT. JIT executes now 🎊
muit Feb 5, 2024
5e96ff3
Added icon to editor window, use new logo in exe files
muit Feb 6, 2024
21d15f7
Added multiple resolution window icons
muit Feb 6, 2024
8beebf1
Improved project manager
muit Feb 7, 2024
0cc63e3
Updated Pipe
muit Feb 24, 2024
a4d6e5d
Small change
muit Feb 24, 2024
99c3517
Updated Pipe
muit Feb 25, 2024
6b5c0da
Fix pipe namespaces
muit Feb 28, 2024
9c6d455
Load User Settings
muit Feb 29, 2024
c7818be
Implemented saving settings
muit Mar 1, 2024
a6c8949
Updated Pipe
muit Apr 28, 2024
34f0fd9
Updated Pipe
muit May 4, 2024
15efa02
Fix IO warning
muit May 5, 2024
bcba573
Updated Pipe
muit May 15, 2024
21f8419
Added ECS & reflection debugging from Pipe
muit May 21, 2024
610c18d
Improved Pipe ECS & Refelction debug
muit May 22, 2024
2940711
Updated Pipe
muit May 22, 2024
114b174
Updated Pipe
muit Jun 30, 2024
910f38d
Updated Pipe
muit Jul 3, 2024
8a4cf1e
Updated Pipe
muit Jul 8, 2024
bb4722e
Updated Pipe
muit Oct 5, 2024
4a0c0e4
Updated Pipe
muit Oct 5, 2024
9d2315e
Renamed modules & updated Pipe
muit Nov 30, 2024
018123b
Updated Pipe
muit Dec 1, 2024
be5ab77
Updated Pipe
muit Dec 1, 2024
241789a
Updated Pipe
muit Dec 5, 2024
cc8bb14
Updated Pipe
muit Dec 6, 2024
d4daf85
Fixed Backend reflection
muit Dec 13, 2024
79ce39f
Updated Pipe and MIR
muit Feb 4, 2026
7858890
Merge branch 'feature/mir-backend' of https://github.com/PipeRift/rif…
muit Feb 4, 2026
07642e1
Updated copyrights to 2026
muit Feb 4, 2026
2caf6ca
Updated CLI11 and Pipe
muit Feb 5, 2026
eabc48a
Updated Pipe
muit Feb 6, 2026
927fae0
Updated Pipe
muit Feb 11, 2026
daf8a21
Updated Pipe
muit Feb 22, 2026
a7a0cd9
Updated Pipe
muit Mar 13, 2026
9286f36
Updated Imgui and Pipe
muit Jun 27, 2026
a85f193
Changed __module__ files to .module, improved project manager, update…
muit Jun 28, 2026
52c0b99
Small layout changes to project manager
muit Jun 28, 2026
c4365c7
Format changes
muit Jun 29, 2026
4c3bdb8
Dark title bar
muit Jun 29, 2026
4e337b7
Updated Pipe
muit Jun 30, 2026
66b2a46
Updated README
muit Jan 8, 2026
d6c16b5
Added linux init submodules
muit Aug 26, 2026
df78120
Update dependencies
muit Aug 26, 2026
ee0281e
Updated Pipe
muit Aug 28, 2026
23bae1c
Merge branch 'feature/mir-backend' of https://github.com/PipeRift/rif…
muit Aug 28, 2026
8e9993d
Updated pipe
muit Sep 1, 2026
6245f4b
Updated Pipe
muit Sep 1, 2026
530b16f
docs: PipeDebug memory timeline graph design spec
muit Sep 2, 2026
596a230
docs: PipeDebug memory timeline implementation plan
muit Sep 2, 2026
fd1309c
Updated Imgui
muit Sep 2, 2026
1a1a841
Updated Pipe
muit Sep 3, 2026
901290f
Removed old plans
muit Sep 4, 2026
b1d209c
Add .worktrees to .gitignore
muit Sep 4, 2026
39edcd1
Updated Pipe
muit Sep 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
203 changes: 80 additions & 123 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,123 +1,80 @@
---
Language: Cpp
DisableFormat: false
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
AlignArrayOfStructures: Left
AlignConsecutiveAssignments: Consecutive
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignEscapedNewlines: Left
AlignOperands: AlignAfterOperator
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: true
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: true
BinPackParameters: true
BitFieldColonSpacing: None
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Custom
BreakBeforeConceptDeclarations: false
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: AfterComma
BreakStringLiterals: true
ColumnLimit: 100
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
EmptyLineAfterAccessModifier: Leave
EmptyLineBeforeAccessModifier: LogicalBlock
FixNamespaceComments: true
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '.*(PCH).*'
Priority: -1
- Regex: '".*"'
Priority: 1
- Regex: '^<.*\.(h)>'
Priority: 3
- Regex: '^<.*>'
Priority: 4
IncludeIsMainRegex: '([-_](test|unittest))?$'
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: true
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: AfterHash
IndentRequires: true
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: false
LambdaBodyIndentation: OuterScope
MaxEmptyLinesToKeep: 2
NamespaceIndentation: All
#PackConstructorInitializers: CurrentLine
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
ReferenceAlignment: Left
ReflowComments: true
SortIncludes: CaseInsensitive
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 4
SpacesInAngles: Never
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 4
UseTab: ForIndentation
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
BeforeLambdaBody: false
BeforeWhile: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
---
---
BasedOnStyle: Microsoft
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
AlignArrayOfStructures: Left
AlignConsecutiveAssignments:
Enabled: true
AlignEscapedNewlines: Left
AlignOperands: AlignAfterOperator
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: Empty
AllowShortLambdasOnASingleLine: Empty
AlwaysBreakBeforeMultilineStrings: true
BinPackParameters: true
BitFieldColonSpacing: None
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
BeforeLambdaBody: true
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeConceptDeclarations: true
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: AfterComma
BreakTemplateDeclarations: Yes
ColumnLimit: 100
EmptyLineAfterAccessModifier: Leave
IncludeBlocks: Regroup
IncludeCategories:
- Regex: .*(PCH).*
Priority: -1
- Regex: '".*"'
Priority: 1
- Regex: ^<.*\.(h)>
Priority: 3
- Regex: ^<.*>
Priority: 4
IncludeIsMainRegex: ([-_](test|unittest))?$
IndentCaseLabels: true
IndentPPDirectives: BeforeHash
InsertBraces: true
LambdaBodyIndentation: OuterScope
MaxEmptyLinesToKeep: 2
NamespaceIndentation: All
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
ReferenceAlignment: Left
ReflowComments: true
RequiresClausePosition: WithPreceding
SortIncludes:
IgnoreCase: true
SpaceAfterTemplateKeyword: false
SpacesBeforeTrailingComments: 4
Standard: Auto
UseTab: ForIndentation
Language: Cpp
AlwaysBreakTemplateDeclarations: Yes
ConstructorInitializerAllOnOneLineOrOnePerLine: true
DeriveLineEnding: true
KeepEmptyLinesAtTheStartOfBlocks: false
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInParentheses: false
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Checks: '-*, readability-identifier-naming, clang-analyzer-*, clang-analyzer-cplusplus*, performance-*, bugprone-*, modernize-*, misc-unused-*,-bugprone-macro-parentheses, -modernize-use-trailing-return-type, -modernize-use-nodiscard, -modernize-use-default-member-init, -modernize-use-equals-default, -performance-unnecessary-value-param, -misc-unused-parameters, -bugprone-branch-clone, -modernize-avoid-c-arrays, -bugprone-easily-swappable-parameters'
Checks: '-*, readability-identifier-naming, clang-analyzer-*, clang-analyzer-cplusplus*, performance-*, bugprone-*, modernize-*, misc-unused-*,-bugprone-macro-parentheses, -modernize-use-trailing-return-type, -modernize-use-nodiscard, -modernize-use-default-member-init, -modernize-use-equals-default, -modernize-raw-string-literal -performance-unnecessary-value-param, -misc-unused-parameters, -bugprone-branch-clone, -modernize-avoid-c-arrays, -bugprone-easily-swappable-parameters'
WarningsAsErrors: ''
HeaderFilterRegex: 'Corresponding Header'
FormatStyle: file
Expand Down
64 changes: 20 additions & 44 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ on:
pull_request:
workflow_call:

env:
cache-version: 0

jobs:
Build:
name: ${{ matrix.os-name }} (${{ matrix.compiler }}, ${{ matrix.config }})
Expand All @@ -32,84 +29,63 @@ jobs:
- name: windows-clang
os: windows-latest
os-name: windows
compiler: clang
compiler: clang-16
cxx: clang-cl
cc: clang-cl
- name: linux-clang
os: ubuntu-latest
os-name: linux
compiler: clang
compiler: clang-16
cxx: clang++
cc: clang
- name: linux-gcc
os: ubuntu-latest
os-name: linux
compiler: gcc
cxx: g++-10
cc: gcc-10
compiler: gcc-13
cxx: g++
cc: gcc
- name: macos-clang
os: macos-latest
os: macos-14
os-name: macos
compiler: clang
compiler: clang-16
cxx: clang++
cc: clang

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Init Submodules
uses: snickerbockers/submodules-init@v4
uses: actions/checkout@v3
with:
submodules: 'recursive'

- name: Install dependencies
if: ${{ matrix.os-name == 'linux'}}
run: |
sudo apt-get update
sudo apt-get install -y build-essential xz-utils curl libx11-dev xorg-dev libglu1-mesa-dev

- uses: ilammy/msvc-dev-cmd@v1
if: ${{ matrix.compiler == 'msvc' }}

- name: Cache LLVM
if: ${{ matrix.compiler == 'clang' }}
id: cache-llvm
uses: actions/cache@v2
with:
path: ${{ runner.temp }}/llvm
key: llvm-15.0-${{ matrix.os-name }}
- name: Install LLVM
if: ${{ matrix.compiler == 'clang' }}
uses: KyleMayes/install-llvm-action@v1
- name: Setup Cpp
uses: aminya/setup-cpp@v1
with:
version: "15.0"
directory: ${{ runner.temp }}/llvm
cached: ${{ steps.cache-llvm.outputs.cache-hit }}


- name: Download pre-built development LLVM for Rift
run: |
curl -L -o "${{ runner.temp }}/rift-llvm.zip" https://github.com/piperift/rift-llvm/releases/download/v14.0.5/llvm-${{ matrix.os-name }}-${{ matrix.config }}.zip
7z x -o"${{ runner.temp }}/rift" "${{ runner.temp }}/rift-llvm.zip"

- name: Get CMake
uses: lukka/get-cmake@latest

compiler: ${{ matrix.compiler }}
vcvarsall: ${{ matrix.os-name == 'windows' }}
cmake: true
ninja: true

- name: Cache Build
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: Build
key: ${{ matrix.os-name }}-${{ matrix.compiler }}-${{ matrix.config }}-build-${{ secrets.VCACHE}}

- name: Configure
run: cmake -S . -B Build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} -DRIFT_LLVM_PATH='${{ runner.temp }}/rift/llvm'
run: cmake -GNinja -S . -B Build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} -DRIFT_LLVM_PATH='${{ runner.temp }}/rift/llvm'

- name: Build
run: cmake --build Build --config ${{ matrix.config }}

- name: Upload binaries as artifacts
uses: actions/upload-artifact@v2
if: ${{ matrix.config == 'Release' && matrix.compiler == 'clang' }} # Only clang artifacts are stored
uses: actions/upload-artifact@v3
if: ${{ matrix.config == 'Release' && contains(matrix.compiler, 'clang') }} # Only clang artifacts are stored
with:
name: rift-${{ matrix.os-name }}
path: Build/Bin
Expand Down
24 changes: 12 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.vs
.cache
Build
Saved
Testing
Extern/rift-llvm
.vscode/c_cpp_properties.json
/compile_commands.json
compile_commands.json
Tools/remedybg.exe
*.rdbg
.vs
.cache
Build
Saved
Testing

.vscode/c_cpp_properties.json
/compile_commands.json
compile_commands.json
Tools/remedybg.exe
*.rdbg
.worktrees
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@
[submodule "Extern/mir"]
path = Extern/mir
url = https://github.com/vnmakarov/mir.git
[submodule "Extern/implot"]
path = Extern/implot
url = https://github.com/epezent/implot.git
Loading
Loading