Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update and improve containers #179

Closed
wants to merge 969 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
969 commits
Select commit Hold shift + click to select a range
a3100db
Merge pull request #110 from psiberx/master
wopss Feb 29, 2024
7a3aa85
Fix addresses
psiberx Mar 13, 2024
9c31f6b
Merge pull request #111 from psiberx/master
wopss Mar 13, 2024
ad825bb
Fix DynArray
psiberx Mar 17, 2024
c8faf5e
Fix DynArray
psiberx Mar 17, 2024
bfd13c0
Merge pull request #112 from psiberx/master
wopss Mar 18, 2024
e4510bc
Update runtime version
psiberx Mar 20, 2024
7f5d8c9
Merge pull request #113 from psiberx/master
wopss Mar 20, 2024
dce4173
Add static cast for RED4EXT_V0_RUNTIME_INDEPENDENT macro
wopss Mar 20, 2024
e839511
Fix callbacks
psiberx Apr 10, 2024
2348475
Decode more widget classes
psiberx Apr 10, 2024
e2ad72e
Decode DeferredDataBuffer
psiberx Apr 10, 2024
936e236
Fix formatting
psiberx Apr 10, 2024
fe9494b
Merge pull request #115 from psiberx/master
wopss Apr 10, 2024
7e6d102
Decode more widget classes
psiberx Apr 20, 2024
b1100f6
Fix variant
psiberx Apr 20, 2024
74a2be1
Fix warning
psiberx Apr 21, 2024
19ece78
Merge pull request #116 from psiberx/master
wopss Apr 23, 2024
0d1008b
Make ResourcePath trivially copyable
psiberx Apr 23, 2024
77e3857
Decode RawBuffer
psiberx Apr 23, 2024
45d771d
Add ISerializable counter
psiberx Apr 23, 2024
e2a4603
Merge pull request #117 from psiberx/master
wopss Apr 24, 2024
064319b
Fix "default" keyword used as identifier
psiberx Apr 24, 2024
291606e
Add alternative DeferredDataBuffer loader
psiberx Apr 24, 2024
ee99b05
Fix callback
psiberx Apr 26, 2024
0f2ae41
Add alternative WorldPosition ctor
psiberx Apr 26, 2024
5a37aa1
Decode mesh related types
psiberx Apr 28, 2024
0205581
Fix job handle issues
psiberx Apr 28, 2024
83a8014
Move buffers to a separate header
psiberx May 1, 2024
d7309dd
Merge pull request #118 from psiberx/master
wopss May 2, 2024
8e2a00d
Add red package reading
psiberx May 2, 2024
49ebb0f
Decode entity related types
psiberx May 2, 2024
8ad7ce6
Merge pull request #119 from psiberx/master
wopss May 3, 2024
67ee5cf
Fixed job handles
psiberx May 3, 2024
eab6aaf
Merge pull request #120 from psiberx/master
wopss May 4, 2024
d2a0d2b
Add base package reader
psiberx May 4, 2024
9eed7b7
Make GlobalNodeRef an alias of NodeRef
psiberx May 5, 2024
05cfd82
Allow construction of ResourceToken
psiberx May 5, 2024
f914808
Make GlobalNodeRef an alias of NodeRef
psiberx May 8, 2024
6f71cf3
Merge pull request #121 from psiberx/master
wopss May 9, 2024
166d0b3
Decoded Rig.hpp properties (#114)
Mozz3d May 11, 2024
685e930
Rename animRig.hpp to AnimRig.hpp
Mozz3d May 14, 2024
ff85e7f
Update Rig.hpp header
Mozz3d May 14, 2024
442b626
Create AnimBufferState.hpp
Mozz3d May 14, 2024
ce7a3b7
Add `dataState` property to AnimRig.hpp and create generated stub
Mozz3d May 14, 2024
e9469bf
Create Generated AnimSet.hpp stub
Mozz3d May 14, 2024
c28bcd0
Update AnimSet.hpp
Mozz3d May 14, 2024
ab263fd
Update Reflection-inl.hpp
Mozz3d May 14, 2024
bc98c19
Create AnimKeyFrames.hpp
Mozz3d May 14, 2024
34965fc
Create AnimationBufferCompressed.hpp stub
Mozz3d May 14, 2024
e1af5f5
Update AnimationBufferCompressed.hpp stub
Mozz3d May 14, 2024
1331d63
Create AnimationBufferCompressed.hpp with decoded properties
Mozz3d May 14, 2024
a8696af
Update Reflection-inl.hpp
Mozz3d May 14, 2024
c916408
Update AnimKeyFrames.hpp
Mozz3d May 14, 2024
148198f
Update AnimSet.hpp
Mozz3d May 14, 2024
8eb7da9
Update AnimSet.hpp
Mozz3d May 14, 2024
cf6420a
Update AnimRig.hpp
Mozz3d May 14, 2024
b5e2d0e
Update include/RED4ext/Scripting/Natives/AnimSet.hpp
Mozz3d May 14, 2024
6fa204e
Update include/RED4ext/Scripting/Natives/AnimSet.hpp
Mozz3d May 14, 2024
4b0ae70
Update include/RED4ext/Scripting/Natives/AnimationBufferCompressed.hpp
Mozz3d May 14, 2024
a272661
Update include/RED4ext/Scripting/Natives/AnimationBufferCompressed.hpp
Mozz3d May 14, 2024
7d68ea9
Update include/RED4ext/Scripting/Natives/AnimKeyFrames.hpp
Mozz3d May 14, 2024
0e772ff
Update include/RED4ext/Scripting/Natives/AnimKeyFrames.hpp
Mozz3d May 14, 2024
068683d
Update AnimKeyFrames.hpp
Mozz3d May 14, 2024
c3972db
Update AnimSet.hpp
Mozz3d May 14, 2024
9f6e91e
Update AnimationBufferCompressed.hpp stub
Mozz3d May 14, 2024
be631f0
Update generated AnimSet.hpp
Mozz3d May 14, 2024
c80997c
Update generated AnimationBufferCompressed.hpp
Mozz3d May 14, 2024
780f357
Rename AnimSet.hpp to animAnimSet.hpp
Mozz3d May 14, 2024
8b77517
Remove Reflection-inl.hpp mappings
Mozz3d May 14, 2024
b9a5e8d
Update and rename AnimationBufferCompressed.hpp to animAnimationBuffe…
Mozz3d May 14, 2024
1e48117
Rename AnimRig.hpp to animRig.hpp
Mozz3d May 15, 2024
77523b9
Update AnimationBufferCompressed.hpp
Mozz3d May 15, 2024
a49746c
Update AnimationBufferCompressed.hpp
Mozz3d May 15, 2024
1f52f15
Update AnimSet.hpp
Mozz3d May 15, 2024
79ca593
Remove KeyFrameHeader asserts
Mozz3d May 15, 2024
784e23d
Decode CurveData<T> with RawBuffer.
poirierlouis May 17, 2024
a6a0e25
Merge pull request #124 from rayshader/curvedata
psiberx May 22, 2024
3773656
Fix implementation of CurveData<T> with RawBuffer. (#125)
poirierlouis May 23, 2024
a550137
Fix animRig override
psiberx May 26, 2024
1414747
Pre-allocate memory when copying DynArray
psiberx May 26, 2024
9faee81
Allow address resolver override
psiberx May 26, 2024
1e6d724
fix AnimBufferState.hpp formatting
Mozz3d May 26, 2024
73bb73b
Merge branch 'master' into master
Mozz3d May 26, 2024
83d9761
fixed AnimKeyFrames.hpp formatting
Mozz3d May 26, 2024
9cb4648
fixed animAnimSet.hpp formatting
Mozz3d May 26, 2024
31b7713
fixed animAnimationBufferCompressed.hpp formatting
Mozz3d May 26, 2024
834e3e7
fixed animAnimSet.hpp formatting (again)
Mozz3d May 26, 2024
a40fe24
idk whats wrong with the formatting here, just experimenting to under…
Mozz3d May 26, 2024
a4fee58
same thing as before
Mozz3d May 26, 2024
1c32dc9
fixed animAnimSet.hpp formatting
Mozz3d May 27, 2024
2fa8708
fixed animRig.hpp formatting
Mozz3d May 27, 2024
8396029
fixed animAnimSet.hpp formatting (again)
Mozz3d May 27, 2024
1aa4834
Fix formatting
psiberx May 27, 2024
3b421e7
Merge pull request #126 from psiberx/master
wopss May 28, 2024
efa3845
Merge branch 'master' into master
Mozz3d May 28, 2024
63469a6
Merge pull request #122 from Mozz3d/master
psiberx May 28, 2024
09fa6d4
Fix DynArray
psiberx May 28, 2024
58c164e
Fix DynArray
psiberx May 28, 2024
d99dc23
Merge pull request #127 from psiberx/master
wopss May 28, 2024
3f1adbb
Fix DynArray
psiberx May 28, 2024
1765c08
Merge pull request #128 from psiberx/master
psiberx May 29, 2024
6dadc5a
Decoded AnimationControllerComponent properties and related structs (…
Mozz3d Jun 7, 2024
2932ef4
fix: fix clang compat
jac3km4 Jun 10, 2024
bcaaebe
Merge pull request #130 from jac3km4/clang-compat
wopss Jun 10, 2024
89120a0
Fix animAnimationBufferCompressed.hpp include
Mozz3d Jul 3, 2024
83534d6
Fix formatting
Mozz3d Jul 3, 2024
b0c8c5a
Update KeyFrameConst bitfield in AnimKeyFrames.hpp
Mozz3d Jul 3, 2024
b4650c1
Merge pull request #131 from Mozz3d/patch-2
psiberx Jul 3, 2024
54553f6
Rename SharedMutex and introduce Mutex
jac3km4 Jul 7, 2024
0d218e1
Review changes
jac3km4 Jul 7, 2024
973793f
Merge pull request #132 from jac3km4/mutex-spin-lock
wopss Jul 8, 2024
b3d36d8
Add buffer resize method
psiberx Jul 10, 2024
6de1f6a
Add ctors for non-null-terminated strings
psiberx Jul 10, 2024
0635450
Update and rename Range.hpp to Span.hpp (#133)
Mozz3d Jul 10, 2024
278abc8
Merge pull request #134 from psiberx/master
wopss Jul 10, 2024
306da1a
Add Span.hpp Ctors
Mozz3d Jul 14, 2024
298ed2e
Add DynArray.hpp Resize and ShrinkToSize methods
Mozz3d Jul 14, 2024
63a696b
Fix DynArray.hpp formatting
Mozz3d Jul 14, 2024
3f53603
Fix DynArray.hpp formatting... again
Mozz3d Jul 14, 2024
8755f0e
whitespace is dumb
Mozz3d Jul 14, 2024
a094bfb
Update DynArray.hpp Resize with ctor and dtor of entries
Mozz3d Jul 14, 2024
0a7765c
fucking whitespace again
Mozz3d Jul 14, 2024
08edf2b
Fix dumb mistake in DynArray.hpp
Mozz3d Jul 14, 2024
ee3a92a
Update Span.hpp ctor for clarity
Mozz3d Jul 14, 2024
52be14d
Final commit I swear
Mozz3d Jul 14, 2024
3f4eafe
I lied
Mozz3d Jul 14, 2024
cf33c9c
Update DynArray.hpp
Mozz3d Jul 14, 2024
01dea00
Remove duplicate default Span.hpp ctor lol
Mozz3d Jul 14, 2024
ac9feb2
Incorporate Psi's suggestions
Mozz3d Jul 14, 2024
eda0333
Update Span.hpp constructor for clarity
Mozz3d Jul 14, 2024
ee56d8b
Make `SetCapacity()` in DynArray.hpp private
Mozz3d Jul 14, 2024
92fae02
Fix typo in animRig.hpp
Mozz3d Jul 16, 2024
f1f60fd
Update Span.hpp ctors for consistency
Mozz3d Jul 16, 2024
5dedd35
Merge pull request #135 from Mozz3d/patch-2
psiberx Jul 16, 2024
f1e39e4
style: fix format with generated dump.
poirierlouis Jul 19, 2024
fc154f9
feat: add IPlacedComponent::worldTransform and generate stub.
poirierlouis Jul 19, 2024
2f92d13
Merge pull request #138 from rayshader/master
psiberx Jul 21, 2024
532df91
Fix unnecessary explicit move
psiberx Jul 21, 2024
cf1ab9d
Fix ISerializable so it can be used in RED4ext loader
psiberx Jul 21, 2024
bf001f8
Decoded AnimationSystem properties & related structs (#139)
Mozz3d Jul 22, 2024
119dba7
Merge pull request #141 from psiberx/master
wopss Jul 22, 2024
c9c6e2c
feat: add vehicleBaseObject::isOnGround and generate stub.
poirierlouis Jul 24, 2024
6b6280c
Merge pull request #142 from rayshader/master
wopss Jul 27, 2024
813a5a2
fix: compilation error when including WorldPosition
poirierlouis Jul 28, 2024
00ccc2c
Merge pull request #144 from rayshader/master
psiberx Jul 28, 2024
247e59a
docs: fix typos in CONTRIBUTING.
poirierlouis Jul 27, 2024
cc67b99
docs: add steps to declare new fields in CONTRIBUTING.
poirierlouis Jul 27, 2024
dc13b6a
docs: fix typo in CONTRIBUTING.
poirierlouis Jul 28, 2024
cd6a134
docs: improve steps to declare new fields in CONTRIBUTING.
poirierlouis Jul 28, 2024
4b3bfcd
Merge pull request #143 from rayshader/update_docs
psiberx Jul 30, 2024
d9fc239
feat: add more properties on vehicleBaseObject.
poirierlouis Aug 6, 2024
8a0d990
Merge pull request #145 from rayshader/master
psiberx Aug 7, 2024
6ae4800
Fix animAnimSet.hpp include header
Mozz3d Aug 7, 2024
bf68ff7
Fix header formatting in animAnimSet.hpp
Mozz3d Aug 7, 2024
cda946c
Merge pull request #146 from Mozz3d/patch-2
psiberx Aug 7, 2024
43f2d3f
Add naive vector operators and methods (#140)
Mozz3d Aug 8, 2024
eaa735c
fix DynArray.hpp for clang/linux compile (#147)
wbourne0 Sep 5, 2024
902255a
Update CString.hpp
maximegmd Sep 7, 2024
0c75e6c
Merge pull request #148 from maximegmd/patch-3
wopss Sep 8, 2024
0fda014
Update runtime version and types
psiberx Sep 12, 2024
c751bd4
Merge pull request #149 from psiberx/master
wopss Sep 12, 2024
9d12724
Fix offsets for entAnimationControllerComponent
wopss Sep 20, 2024
72d3da7
String view class + launch param access
Oct 13, 2024
b2605e2
Update include/RED4ext/StringView.hpp
alphanin9 Oct 13, 2024
14b4e32
Update include/RED4ext/StringView.hpp
alphanin9 Oct 13, 2024
f404be5
Fixed issues for merge
Oct 13, 2024
ad45fc7
Fixes after review
Oct 14, 2024
9b4f1f9
Implemented HashMapHash for CString
Oct 15, 2024
8be7ff4
Decoded CommandLine
Oct 15, 2024
195b042
clang-format pass
Oct 15, 2024
e813f1a
Removed useless hash
Oct 19, 2024
f1bf3b7
Fixes for review:
Oct 19, 2024
cee9a8c
Decoded WorldID and GameSessionDesc
alphanin9 Oct 28, 2024
5e1e176
Updated generated RTTI definitions
alphanin9 Oct 28, 2024
0dc7d05
Merge pull request #151 from alphanin9/exe-command-line-patch
psiberx Oct 28, 2024
b936a3d
Merge branch 'master' into session-desc-decoded
psiberx Oct 28, 2024
8fef3f6
Merge pull request #152 from alphanin9/session-desc-decoded
psiberx Oct 28, 2024
a542ade
Add more cpp keywords to dumper
psiberx Oct 28, 2024
4d6dd85
Make allocators const
psiberx Oct 28, 2024
ed0507f
Fix formatting
psiberx Oct 28, 2024
8353454
Merge pull request #153 from psiberx/master
psiberx Oct 28, 2024
a01a102
Updated game::GameSessionDesc with ctor + more decoding
Nov 5, 2024
348c7d0
feat: add CurveData::Resize
poirierlouis Nov 8, 2024
930a197
Merge pull request #154 from alphanin9/session-desc-updates
wopss Nov 11, 2024
227c7b6
Small decode additions to GameEngine
Nov 14, 2024
9926fd6
Merge pull request #156 from alphanin9/more-game-engine-decoding
wopss Nov 15, 2024
49d53f1
Decoded weightEntries in MorphTargetManagerComponent
Mozz3d Nov 26, 2024
2445242
Merge pull request #158 from Mozz3d/MorphTargetManager
wopss Nov 27, 2024
f39564d
Merge branch 'WopsS:master' into master
poirierlouis Nov 27, 2024
bed912c
fix: Resize implementation of CurveData
poirierlouis Nov 27, 2024
1122702
Merge pull request #155 from rayshader/master
psiberx Nov 27, 2024
303031c
Implement buffer initialization
psiberx Nov 27, 2024
3cfc541
Implement curve data initialization
psiberx Nov 27, 2024
287138e
Define allocator for object package extractor
psiberx Nov 27, 2024
c658a58
Fix typo
psiberx Nov 27, 2024
a13304d
Check if inner allocator is set
psiberx Nov 29, 2024
085bde9
Merge pull request #159 from psiberx/master
wopss Dec 4, 2024
22f0877
Initialize shared self reference
psiberx Dec 9, 2024
d99feb8
Fix formatting
psiberx Dec 9, 2024
e259624
Merge pull request #160 from psiberx/master
psiberx Dec 11, 2024
bc5f7b7
Updated version and RTTI types for 2.2
alphanin9 Dec 10, 2024
2e42e4d
Added latest runtime into Runtime.hpp
alphanin9 Dec 10, 2024
2b8132b
Merge pull request #161 from alphanin9/patch-2.2-compatibility
psiberx Dec 11, 2024
2eb87f1
Override questICharacterConditionType
psiberx Dec 11, 2024
a68e3af
Move cpp files to src
wopss Dec 11, 2024
ad69ffd
Fix formatting
psiberx Dec 11, 2024
fb26616
Merge pull request #162 from psiberx/master
wopss Dec 11, 2024
00e43d3
Improve error reporting for UniversalReloc class (#163)
wopss Dec 17, 2024
de925cb
Add allocator getter to raw buffer
psiberx Jan 2, 2025
e7dd530
Add method to load resource with loader params
psiberx Jan 2, 2025
c32fd5e
Fix formatting
psiberx Jan 2, 2025
6f49a05
Add null check to CurveData
psiberx Jan 3, 2025
a8b1f66
Decode EngineTime
psiberx Jan 3, 2025
bf061f1
Merge pull request #165 from psiberx/master
psiberx Jan 3, 2025
b08440e
Fix HashMap for uint64 keys
psiberx Jan 6, 2025
ff28e95
Merge pull request #166 from psiberx/master
wopss Jan 6, 2025
fc96044
Update clang-format to version 18
wopss Jan 11, 2025
9d22ddd
Add GpuApi (#164)
Mozz3d Jan 11, 2025
d7ee7e6
Fix Allocator issues reported by ReSharper
WSSDude Jan 11, 2025
fb7211b
Merge pull request #168 from WSSDude/feature/allocator-changes
psiberx Jan 14, 2025
d56f84e
Add SSwapChainData and fix mistakes in former PR (#167)
WSSDude Jan 14, 2025
5ee78cd
feat: add move/position properties in move::Component (#169)
poirierlouis Jan 16, 2025
25ac717
Add pre-commit hook configuration
WSSDude Jan 18, 2025
6491a0b
Run pre-commit hook on all existing files for initial clean-up
WSSDude Jan 18, 2025
65f9b7a
Review changes
WSSDude Jan 18, 2025
d156b4a
Add info to CONTRIBUTING.md where it mentions clang-format
WSSDude Jan 19, 2025
931a07a
Fix extra trailing whitespace after namespaces in `generated` headers
WSSDude Jan 18, 2025
33f9983
Regenerate with RTTIDumper to test the changes
WSSDude Jan 18, 2025
4d4fff5
Do not use pre-commit in `vendor` folder
WSSDude Jan 18, 2025
9b7a086
Merge pull request #172 from WSSDude/feature/pre-commit-hook
wopss Jan 20, 2025
6a3c488
Decoded Several Rendering Structs & Small Adjustments (#170)
Mozz3d Jan 22, 2025
7187fa0
Fix typo
psiberx Jan 22, 2025
2e58faf
Add UniquePtr
psiberx Jan 22, 2025
95ad67f
Use UniquePtr for CommandListContext
psiberx Jan 22, 2025
eabcf8a
Fix typo
psiberx Jan 22, 2025
229fb95
Merge pull request #175 from psiberx/master
psiberx Jan 23, 2025
d198de8
Add runtime version for patch 2.21
wopss Jan 23, 2025
481326a
Merge pull request #176 from wopss/feature/patch-2.21
psiberx Jan 23, 2025
1812177
Add Dumper namespace exceptionality (#174)
Mozz3d Jan 28, 2025
2a91a99
Update and improve containers
Mozz3d Feb 5, 2025
89cec27
Update includes and Fix mistakes
Mozz3d Feb 5, 2025
e3469a0
Fix formatting
Mozz3d Feb 5, 2025
2b541ed
More improvements
Mozz3d Feb 6, 2025
d4b0ffd
Restore include/RED4ext/DynArray.hpp
Mozz3d Feb 7, 2025
ddf3dc7
Move DynArray.hpp to Containers
Mozz3d Feb 7, 2025
42a5f88
Restore include/RED4ext/Span.hpp
Mozz3d Feb 7, 2025
fcdbc71
Move Span.hpp to Containers/
Mozz3d Feb 7, 2025
67bfa28
Update Span.hpp & DynArray.hpp
Mozz3d Feb 7, 2025
8141996
Create `include/RED4ext/Containers/StaticArray.hpp`
Mozz3d Feb 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
21 changes: 2 additions & 19 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,10 @@ Language: Cpp

AccessModifierOffset: -4
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBraces: Allman
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
KeepEmptyLinesAtTheStartOfBlocks: false
NamespaceIndentation: Inner
PointerAlignment: Left
SpaceAfterTemplateKeyword: false

BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
IndentRequires: false
5 changes: 4 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@ trim_trailing_whitespace = true
[*.{c,h,cpp,hpp}]
indent_size = 4

[*.yml]
[*.{md,yml}]
indent_size = 2

[{CMakeLists.txt,*.cmake}]
indent_size = 2
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Bug report
about: Create a bug report to help us improve
title: ''
labels: 'bug'
assignees: ''
---
<!-- This is just a template - feel free to delete any and all of it and replace as appropriate. -->

<!--
Before filing a bug:
- Ensure the bug reproduces on the latest version of the library.
- Search existing issues and make sure this issue is not already filed.
-->

**Description**
<!-- A clear and concise description of what the bug is. -->

**Steps to reproduce**
<!--
Steps to reproduce the problem:
1. Get '...' class builder
2. Get '...' property
3. Access the property value
4. Crash
-->

**Expected behavior**
<!-- clear and concise description of what you expected to happen. -->

**Examples**
<!-- If applicable, add screenshots or code examples to help explain your problem. -->

**Game details (please complete the following information):**
- Platform: [e.g. GOG]
- Version [e.g. 1.06]

**Additional context**
<!-- Add any other context about the problem here. -->
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for the project
title: ''
labels: 'enhancement'
assignees: ''
---

**Is your feature request related to a problem? Please describe.**
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->

**Describe the solution you'd like**
<!-- A clear and concise description of what you want to happen. -->

**Describe alternatives you've considered**
<!-- A clear and concise description of any alternative solutions or features you've considered. -->

**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->
41 changes: 22 additions & 19 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,39 @@
name: Build Workflow
on: push
on: [ push, pull_request ]

jobs:
build:
name: Build (${{ matrix.config }})
name: Build (C++${{ matrix.cpp_standard }}, Header Only ${{ matrix.use_header_only }}, ${{ matrix.config }})
runs-on: windows-latest

strategy:
matrix:
config: [ Debug, Release ]
cpp_standard: [ 20 ]
use_header_only: [ NO, YES ]
config: [ Debug, Release, MinSizeRel, RelWithDebInfo ]

steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
uses: actions/checkout@v4

- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Create build directory
run: mkdir build

- name: Generate project
- name: Configure
working-directory: build
run: |
cd premake
./generate_project.bat
cmake `
-DCMAKE_CXX_STANDARD=${{ matrix.cpp_standard }} `
-DRED4EXT_HEADER_ONLY=${{ matrix.use_header_only }} `
-DRED4EXT_USE_PCH=ON `
-DRED4EXT_BUILD_EXAMPLES=ON `
-DRED4EXT_EXTRA_WARNINGS=ON `
-DRED4EXT_TREAT_WARNINGS_AS_ERRORS=ON `
${{ github.workspace }}

- name: Build
working-directory: build
run: |
cd premake/project
MSBuild.exe RED4ext.SDK.sln -v:minimal -m -property:Configuration=${{ matrix.config }}

- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: RED4ext-${{ matrix.config }}
path: build/${{ matrix.config }}/
cmake `
--build . `
--config ${{ matrix.config }}
38 changes: 38 additions & 0 deletions .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Clang-Format Workflow

on:
push:
branches: '**'
pull_request:

env:
LLVM_VERSION: 18

jobs:
format:
name: Check the formatting
runs-on: windows-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Pin to a specific version
run: |
$latestChocoVersion = (Resolve-ChocoPackageVersion -PackageName "llvm" -TargetVersion $env:LLVM_VERSION)
Install-ChocoPackage -PackageName llvm -ArgumentList '--allow-downgrade', '--version', $latestChocoVersion

- name: Run clang-format
env:
RED4EXT_COMMIT_BEFORE: ${{ github.event.pull_request.base.sha || github.event.before }}
RED4EXT_COMMIT_AFTER: ${{ github.sha }}
run: |
git `
-c core.autocrlf=false `
-c core.eol=lf `
-c color.ui=always `
clang-format `
--style file `
--diff $env:RED4EXT_COMMIT_BEFORE $env:RED4EXT_COMMIT_AFTER `
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -363,4 +363,8 @@ FodyWeavers.xsd

### Custom ###
build
premake/project
premake/projects
premake/premake5.exe

# Some generated types are excluded by Git because of their names, it should not happen.
!include/RED4ext/Scripting/Natives/Generated/**
17 changes: 17 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
exclude: ^vendor/
- id: end-of-file-fixer
exclude: ^vendor/
- id: check-added-large-files
exclude: ^vendor/
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v19.1.7
hooks:
- id: clang-format
exclude: ^vendor/
Loading