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

Behavior Trees/Finite State Machine APIs #586

Merged
merged 68 commits into from
Nov 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
91137b9
SDK: Map out more of BHVT (transitions/states, < TDB 69 only)
praydog Jun 27, 2022
056350f
SDK: BHVT work
praydog Jun 27, 2022
56a34ee
SDK: Add direct modification of tree nodes array
praydog Jun 27, 2022
827d905
SDK: More BHVT work (TDB < 69)
praydog Jun 27, 2022
73aa2a7
SDK: Fix bug with emplace/push_back logic
praydog Jun 28, 2022
721753c
SDK: Further BHVT/FSM progress
praydog Jun 28, 2022
127dc10
SDK: Even more BHVT/FSM progress
praydog Jun 28, 2022
2adc884
Merge branch 'master' into behaviortrees-fsm
praydog Jul 1, 2022
a150d87
Merge branch 'master' into behaviortrees-fsm
praydog Jul 3, 2022
df315b5
Merge branch 'master' into behaviortrees-fsm
praydog Jul 5, 2022
510d7f5
SDK: Initial BHVT work on MHRise
praydog Jul 5, 2022
2bb1b15
SDK: Proper BHVT transition event type
praydog Jul 5, 2022
38df88b
Lua: Add imgui.text_colored
praydog Jul 5, 2022
50dca40
snow.PlayerMotionFsm to list of FSM2 derivatives
praydog Jul 6, 2022
cc1cbe1
Merge branch 'master' into behaviortrees-fsm
praydog Jul 7, 2022
51dbbe7
Add imnodes dependency and lua APIs
praydog Jul 7, 2022
75a04d1
Actually add the imnodes files
praydog Jul 7, 2022
9b2d588
Hacky change to make FSM work on all REE versions
praydog Jul 7, 2022
24970df
Merge branch 'master' into behaviortrees-fsm
praydog Jul 7, 2022
9b475f7
Merge branch 'master' into behaviortrees-fsm
praydog Jul 7, 2022
005b5f4
Merge branch 'master' into behaviortrees-fsm
praydog Jul 8, 2022
a08d152
Lua: More imnodes APIs
praydog Jul 8, 2022
01df755
Lua: Fix popup APIs not returning bools
praydog Jul 8, 2022
326d719
Merge branch 'master' into behaviortrees-fsm
praydog Jul 9, 2022
2500178
Merge branch 'master' into behaviortrees-fsm
praydog Jul 9, 2022
30867e9
Lua: Add caching for some of the BHVT types
praydog Jul 9, 2022
691e10d
Lua: Add methods for getting the window size&pos
praydog Jul 9, 2022
7405c5a
Lua: Add a bunch of APIs for the behavior tree editor
praydog Jul 10, 2022
2e83107
Merge branch 'master' into behaviortrees-fsm
praydog Jul 10, 2022
29e3ae1
Lua: Add Imgui flags to hovered
praydog Jul 10, 2022
1816678
Lua: Add imnodes selected nodes/link APIs
praydog Jul 10, 2022
4d0803a
Lua: Cache the rest of the node types
praydog Jul 10, 2022
ec5dacd
Merge branch 'master' into behaviortrees-fsm
praydog Jul 11, 2022
cec24f1
Lua: More imgui APIs
praydog Jul 11, 2022
c78e076
SDK: Initial untested VTable hooking
praydog Jul 12, 2022
eb6e5ee
SDK/Lua: Partially working VTable hooking
praydog Jul 12, 2022
a1d6b05
SDK/Lua: Seemingly completely working vtable hooking
praydog Jul 12, 2022
1cc3189
SDK: Fix is_managed_object returning false for hooked objects
praydog Jul 12, 2022
ee2a266
Lua: Add multiline input text
praydog Jul 12, 2022
4b8d74b
Merge branch 'master' into behaviortrees-fsm
praydog Jul 13, 2022
4eca817
Lua: Fix SystemArray ipairs behavior
praydog Jul 14, 2022
5a26d14
Lua: Cache TDB types
praydog Jul 14, 2022
49d192b
Merge branch 'master' into behaviortrees-fsm
praydog Jul 14, 2022
c6c875c
Lua: Fix pairs on NativeArray types with primitive value_types
praydog Jul 14, 2022
34bf9c7
Merge branch 'master' into behaviortrees-fsm
praydog Jul 15, 2022
1cc8f24
Lua: Revert ipairs change in favor of pairs for consistency
praydog Jul 16, 2022
871bc7a
Lua: Make usertype caching use unique tables to reduce conflicts
praydog Jul 16, 2022
72e481e
HookManager: Fix crashing when result doesn't exist
praydog Jul 16, 2022
d7a4570
Merge branch 'master' into behaviortrees-fsm
praydog Jul 17, 2022
9219662
Merge branch 'master' into behaviortrees-fsm
praydog Jul 19, 2022
cbb93c8
Lua: Expose expression tree conditions
praydog Jul 20, 2022
de6f5ee
Lua/SDK: Add get_uservariable_hub to TreeObject
praydog Jul 20, 2022
09e5d4d
SDK/Utility: Add reusable pointer relocator
praydog Jul 22, 2022
20199c8
SDK/Lua: Utilities for adding new nodes that seemingly works
praydog Jul 22, 2022
3f37db9
Merge branch 'master' into behaviortrees-fsm
praydog Jul 22, 2022
1ce6a4d
Lua: Add wipe utility to MemoryView
praydog Jul 22, 2022
8d3a1de
SDK: Fix incorrect size TreeNodeData in DMC5
praydog Jul 23, 2022
05e722b
Merge branch 'master' into behaviortrees-fsm
praydog Jul 25, 2022
d6fc9f8
Lua: Add id and get_selector to nodes
praydog Jul 25, 2022
85aa343
Merge branch 'master' into behaviortrees-fsm
praydog Jul 26, 2022
c22f1c7
Merge branch 'master' into behaviortrees-fsm
praydog Jul 27, 2022
9730ab0
Merge branch 'master' into behaviortrees-fsm
praydog Jul 29, 2022
ff8f6f6
Merge branch 'master' into behaviortrees-fsm
praydog Aug 9, 2022
50cde80
SDK/Lua: Add functions for setting node names & string values
praydog Aug 13, 2022
3df909d
Merge branch 'master' into behaviortrees-fsm
praydog Aug 22, 2022
b2353fb
Merge branch 'master' into behaviortrees-fsm
praydog Nov 24, 2022
af03318
Fix
praydog Nov 24, 2022
b7e9bc7
Update mhrisetdb71.genny
praydog Nov 24, 2022
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
468 changes: 468 additions & 0 deletions CMakeLists.txt

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions cmake.toml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,13 @@ compile-definitions = [
]
condition = "build-framework"

[target.imnodes]
type = "static"
sources = ["dependencies/imnodes/*.cpp"]
include-directories = ["dependencies/imnodes"]
condition = "build-framework"
link-libraries = ["imgui"]

[target.openvr]
type = "interface"
include-directories = ["dependencies/openvr/headers"]
Expand Down Expand Up @@ -193,6 +200,7 @@ link-libraries = [
"sol2",
"imgui",
"imguizmo",
"imnodes",
"minhook",
"d3d11",
"glm_static",
Expand Down
39 changes: 39 additions & 0 deletions dependencies/imnodes/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
AccessModifierOffset: -4
AlignAfterOpenBracket: 'AlwaysBreak'
AlignConsecutiveDeclarations: 'true'
AllowAllParametersOfDeclarationOnNextLine: 'false'
AllowShortFunctionsOnASingleLine: 'true'
AlwaysBreakBeforeMultilineStrings: 'true'
AlwaysBreakTemplateDeclarations: 'true'
BinPackArguments: 'false'
BinPackParameters: 'false'
BraceWrapping: {
AfterCaseLabel: 'true'
AfterClass: 'true'
AfterControlStatement: 'true'
AfterEnum: 'true'
AfterFunction: 'true'
AfterNamespace: 'true'
AfterStruct: 'true'
AfterUnion: 'true'
BeforeCatch: 'true'
BeforeElse: 'true'
IndentBraces: 'false'
}
BreakBeforeBraces: Custom
ColumnLimit: 100
Cpp11BracedListStyle: 'true'
DerivePointerAlignment: 'false'
IndentCaseLabels: 'false'
IndentWidth: 4
PenaltyExcessCharacter: 100000000
PenaltyReturnTypeOnItsOwnLine: 100000000
PointerAlignment: Left
PointerBindsToType: 'true'
SortIncludes: 'false'
SpaceAfterTemplateKeyword: 'false'
SpaceBeforeParens: ControlStatements
TabWidth: 8
UseTab: Never
...
33 changes: 33 additions & 0 deletions dependencies/imnodes/.clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Apply this style by doing
#
# clang-tidy -fix-errors -config= <source-files>
#
# Running the command without -fix-errors will generate warnings about each
# style violation but won't change them.

Checks: '-*,readability-identifier-naming'
CheckOptions:
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.EnumCase
value: CamelCase
- key: readability-identifier-naming.FunctionCase
value: CamelCase
- key: readability-identifier-naming.MemberCase
value: CamelCase
- key: readability-identifier-naming.MethodCase
value: CamelCase
- key: readability-identifier-naming.NamespaceCase
value: CamelCase
- key: readability-identifier-naming.ParameterCase
value: lower_case
- key: readability-identifier-naming.PrivateMemberCase
value: CamelCase
- key: readability-identifier-naming.PrivateMemberPrefix
value: '_'
- key: readability-identifier-naming.StaticConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.StructCase
value: CamelCase
- key: readability-identifier-naming.VariableCase
value: lower_case
23 changes: 23 additions & 0 deletions dependencies/imnodes/.github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Build
on: [push, pull_request]

jobs:
build:
strategy:
matrix:
platform: [macos-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Setup vcpkg
uses: lukka/[email protected]
with:
vcpkgDirectory: ${{ github.workspace}}/vcpkg
runVcpkgInstall: true
- name: CMake generate
run: cmake -B build-release/ -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake
- name: CMake build
run: cmake --build build-release/ -j
Loading