Commit Graph

55 Commits (master)

Author SHA1 Message Date
Alexei Kotov 9a43ca2d00 Move NiGeometry triangulation to NiGeometry 1 year ago
Alexei Kotov c7d5ea9fbf Improve BulletNifLoader handling of extra data
Only handle extra data for the root node(s)
Properly handle MRK flag editor marker filtering
Fix BSXFlags test
1 year ago
Alexei Kotov 40313019ef BulletNifLoader updates
Refactor root node, visual collision type and filename handling
Only handle BSXFlags for the root, handle BSXFlags collision flag and absence
Properly distinguish collision node and autogenerated flag
1 year ago
Alexei Kotov a7cc4e6ba6 Rename Node->NiAVObject and update everything directly related
Update NiNode
Simplify RootCollisionNode handling in BulletNifLoader
1 year ago
Alexei Dobrohotov 2de8c6b3c0 Don't discard collision for the entire tree if BSXFlags marker flag is set 1 year ago
Alexei Dobrohotov 562461a659 Unify collision shape transformations 2 years ago
Alexei Kotov 7fd9b27b54 Don't combine static node collision geometry (bug #6027) 2 years ago
elsid c338c1e5d3
Add Nif::FileView as read only interface for Nif::NIFFile
To make sure interface is scoped to what users require.
2 years ago
elsid f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
elsid 948e2f5db9
Do not use collision shapes with visual only collision to generate navmesh
These collision shapes are not used for actors movement physics simulation.
2 years ago
Petr Mikheev 8b8c304953 Treat empty `RootCollisionNode` in NIF as NCC flag and generate CameraOnly collision shape 3 years ago
fredzio d05a2facf3 Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
Expose objects with NC flag to be used by Lua mods.
3 years ago
elsid 3f14011087
Support multiple parents for NIF nodes
Choose a parent base on which node is used to iterate over children nodes.
This leads to duplicate handing of child nodes. A node will be handled so many
times how many parents it has.

For example:
p1 p2
 \ /
  c

Will be handled as:
p1 p2
|  |
c  c

If c has children they will be handled X times c is handled.
3 years ago
elsid 4ac83f4c39
Add separate function to handle NiGeometry node
To force use a single source of data. All fields of Nif::Node are available in NiGeometry.
3 years ago
elsid 56eef691a8
Use reference type to pass nif node as argument where nullptr is not handled 3 years ago
elsid a851ac5fea
Use custom deleter for btCompoundShape to delete children shapes 3 years ago
jvoisin aec3c74fa5 Sprinkle some [[noreturn]] where possible 4 years ago
Andrei Kortunov ee2416017e Fix tag mismatch 4 years ago
Alexei Dobrohotov df9667e923 Read NIF bounding volume data correctly 4 years ago
capostrophic 91efdf18a9 Reduce Bullet part code duplication 5 years ago
capostrophic 8efbdeaa57 Load NiTriStrips/NiTriStripsData (don't do anything yet) 5 years ago
Bret Curtis d6c674660a
Merge pull request #1633 from elsid/pathfinder_detour
Use recastnavigation for pathfinding (#2229)
6 years ago
Andrei Kortunov 61da6b6ecf Print warning if the RootCollisionNode is attached to non-root node (bug #4311) 6 years ago
Andrei Kortunov 6d91fe69b2 Revert "Handle RootCollisionNode, attached to non-root node (bug #4311)"
This reverts commit ec9a1b0d05.
6 years ago
elsid f6a60790f8
Create collision shape for all avoided nodes 6 years ago
elsid 330e596c64
Remove useless parameter 6 years ago
Andrei Kortunov 1452684d9e Use new logging system for components 6 years ago
elsid 2de38142e2
Replace raw pointers by unique_ptr 6 years ago
elsid f2a63bcf35
Add unit tests for BulletNifLoader 6 years ago
Andrei Kortunov ec9a1b0d05 Handle RootCollisionNode, attached to non-root node (bug #4311) 6 years ago
scrawl 03554b2f4b Fix some style issues flagged by cppcheck 7 years ago
scrawl 8cf57ef6ac Move BulletShapeManager and BulletShape to resource/ 9 years ago
scrawl cdc47fa874 Remove BulletNifLoader dependency on keyframe manager
This will make threaded loading easier.
10 years ago
scrawl fe439e53ff Bullet include cleanup 10 years ago
scrawl 65f0195c71 Readded animated collision shape support 10 years ago
scrawl 47758c11cd Readded collision objects and movement physics 10 years ago
scrawl c843cfc8e2 Physics stub in preparation for rewrite 10 years ago
scrawl 48ffeab191 Remove old BulletShapeManager 10 years ago
scrawl 604580d75d Move toMatrix to Nif::Node 10 years ago
scrawl e1f4a7f647 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/openmw/engine.cpp
	apps/openmw/mwgui/mainmenu.cpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwrender/animation.cpp
	apps/openmw/mwrender/debugging.cpp
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/renderingmanager.cpp
	apps/openmw/mwrender/sky.cpp
	components/nif/nifkey.hpp
	components/nif/nifstream.hpp
	components/nifbullet/bulletnifloader.cpp
	components/nifogre/ogrenifloader.hpp
	libs/openengine/bullet/physic.cpp
	libs/openengine/gui/manager.cpp
10 years ago
scrawl d9d84bd7b2 Remove bullet raycasting shapes, to be replaced with OSG ray casts 10 years ago
Rohit Nirmal 997347b01e Silence -Wreorder warnings. 10 years ago
dteviot 407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
10 years ago
scrawl f11ec653d0 Add setting for showing MRK nodes to NIF loaders
This makes marker objects show up in OpenCS.
10 years ago
scrawl 883f7ec7ce Move workaround for hiding markers from NIF loader to Scene 10 years ago
scrawl 41b3a9dba9 Rewrite animated collision shape support (Fixes #2123) 10 years ago
scrawl 04d6cead3b Autogenerated collision should only be disabled if RootCollisionNode is a child of the root node (Fixes #2133) 10 years ago
scrawl 0b34d8d2fd Add support for animated collision shapes (Fixes #1549) 11 years ago
scrawl e002acdeae Physics: Create actor shapes outside of BulletNifLoader
This will allow to create a specialised shape instead, such as a capsule, which tends to work better for character controllers.
11 years ago