Evil Eye
a95b6e050a
Replace new with make_unique in components
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
psi29a
6f7a067e0c
Merge branch 'esmrename' into 'master'
...
esm refactor work
See merge request OpenMW/openmw!1575
3 years ago
Bret Curtis
74e7cfc023
remove unused includes: part1
...
remove unused imports: part2
revert one tidy we will keep for c++20
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
d7041613ef
Store BulletShape source file name and content hash
3 years ago
elsid
2b057f5c15
Expect nif node children to have parent
3 years ago
elsid
19843af704
Combine data check with data handling logic
3 years ago
elsid
4e8e8304aa
Avoid mesh allocation when data is invalid
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
4631d95739
Add more tests for BulletNifLoader
3 years ago
elsid
a851ac5fea
Use custom deleter for btCompoundShape to delete children shapes
3 years ago
elsid
b905dd17c3
Use unique_ptr to store btCollisionShape in BulletShape
3 years ago
elsid
29a772c33f
Rename Resource::BulletShape::CollisionBox fields according to styleguide
3 years ago
jvoisin
aec3c74fa5
Sprinkle some [[noreturn]] where possible
4 years ago
Dobrohotov Alexei
19f0b80983
Improve null root handling
4 years ago
Andrei Kortunov
6d351b2bdd
Fix MSVC 4706 warnings
4 years ago
Andrei Kortunov
ee2416017e
Fix tag mismatch
4 years ago
Alexei Dobrohotov
53e1e57eef
Formatting
4 years ago
Alexei Dobrohotov
42226533d8
Handle BSLODTriShape
...
Its levels of detail are currently not handled
4 years ago
Alexei Dobrohotov
8fd45d85ec
Unify NiGeometry/NiGeometryData handling
4 years ago
Alexei Dobrohotov
15291f15d3
Make actor collision box components a struct
4 years ago
Alexei Dobrohotov
5b6377b061
Handle multiple root nodes (bug #5604 )
4 years ago
Alexei Dobrohotov
df9667e923
Read NIF bounding volume data correctly
4 years ago
Alexei Dobrohotov
c79f509652
Misc NIF loader improvements
...
Bullet NIF loader cleanup
Collect all extra records of a node
Remove code duplication in geometry type detection in OSG-side NIF loader
4 years ago
Capostrophic
30558c2434
Try to resolve CI concerns
5 years ago
Capostrophic
915ffe2241
Handle non-node roots more gracefully (bug #5416 )
5 years ago
Andrei Kortunov
77d6fe46ca
Handle NiCollisionSwitch node
5 years ago
Alexei Dobrohotov
822b20ef46
Fix invalid strips-based collision shape transformation
5 years ago
Capostrophic
8baddefdbd
Refactor extra data and particle modifier handling
...
Objects no longer inherit from extra data class
"Controlled" harmful abstraction no longer exists
Introduced NiParticleModifier/NiParticleCollider abstractions
Extra data size reading moved into the base read() method
5 years ago
capostrophic
9e93c9ecd2
Fix multiple-strip NiTriStrips loading
5 years ago
capostrophic
7fc3153f62
Reduce code duplication further
5 years ago
capostrophic
91efdf18a9
Reduce Bullet part code duplication
5 years ago
capostrophic
b4f54651f8
Make sure strips have valid size
5 years ago
capostrophic
6599a28ecf
Generate collision shape based on NiTriStrips
5 years ago
capostrophic
8efbdeaa57
Load NiTriStrips/NiTriStripsData (don't do anything yet)
5 years ago
Alexei Dobrohotov
5965aa991b
Improve grammar in a warning
6 years ago
Bret Curtis
2ab7f903d7
make use of std::make_unique to test that MSVC2015 can handle that
6 years ago
Andrei Kortunov
3032b177a1
Remove redundant includes
6 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
ed73d130f9
Cache navmesh tiles
...
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.
Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
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
e06f0b797a
Replace all NULLs to nullptr
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
elsid
3f21c49479
Put check for nif file name into separate function
7 years ago
elsid
2599aba196
Fix check whether file name starts with x or X
...
If path doens't contains / or \, then slashpos will be 0.
Therefore slashpos + 1 = 1 doesn't point to first symbol.
xmesh.nif
^
slashpos + 1
7 years ago
uramer
5502790ed9
removed the unnecessary comment
7 years ago
uramer
86c25f5dba
Removed NIF flag handling to replicate vanilla engine behaviour
7 years ago
scrawl
03554b2f4b
Fix some style issues flagged by cppcheck
7 years ago
scrawl
54bb1b13cb
Change NCO/NCC flags to NC* ( Fixes #3915 )
8 years ago
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
8 years ago
scrawl
aa8459b5c7
Revert "Remove redundant allocations for NIF meshes"
...
This reverts commit a7c5beb7c5
.
Conflicts:
components/nif/data.cpp
components/nifbullet/bulletnifloader.cpp
components/nifosg/nifloader.cpp
8 years ago
scrawl
6a37909ee7
Revert "Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580 )"
...
This reverts commit 115e563a7a
.
8 years ago
scrawl
115e563a7a
Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580 )
...
The first part of the fix is to assign VBO/EBO's upon loading the array in the Nif reader. This avoids triggering the 'addVertexBufferObjectIfRequired' code path in osg::Geometry which has the race condition when two threads add the same Array at the same time. Essentially, we want the Arrays to be 'const' when they come out of the Nif reader.
The second part of the fix is to make sure not to create empty arrays in the Nif reader (importantly, not assigning a VBO to the empty array). This empty array would be deleted when the NIFFile is cleaned up, and the detachment of the VBO assigned to it (which is still in use by other arrays) would cause threading issues.
This rare crash bug was first introduced with commit a7c5beb7c5
. When using OSG dev version 3.5 the crashes were a little more prevalent, because 'addVertexBufferObjectIfRequired' in osg::Geometry is now used even when VBO's are disabled (as part of the VAO support changes).
8 years ago
scrawl
4e5462bc19
Don't attempt to create a collision shape for an empty TriShape
9 years ago
scrawl
eb92b853fe
BulletNifLoader: preallocate the btTriangleMesh's vertices/indices
9 years ago
Arthur Moore
4c0c20b1a0
Changed relative includes to library header format
9 years ago
scrawl
8cf57ef6ac
Move BulletShapeManager and BulletShape to resource/
9 years ago
scrawl
eb2f16d682
Support for loading .osg mesh format
9 years ago
scrawl
b3f5ac5dbb
Include cleanup
10 years ago
scrawl
a7c5beb7c5
Remove redundant allocations for NIF meshes
10 years ago
scrawl
712cef36b0
Minor cleanup
10 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
82316105de
BulletShapeManager kf loading fix
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
Marc Zinnschlag
83a7eea2a9
Merge remote-tracking branch 'scrawl/master'
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
scrawl
7bc0d41bb0
Marker collision fix ( Fixes #2461 )
10 years ago
dteviot
407cd50890
fixed warning C4099:
...
type name first seen using 'class' now seen using 'struct'
10 years ago
scrawl
0ad514b29b
Fix collision for nodes with MRK extra data ( Fixes #2415 )
10 years ago
scrawl
d387c207d1
Fix initial scaling for btCompoundShape children ( Fixes #2234 )
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
5fa7536427
Fix incorrect box shape translation reset
...
Fixes incorrect placement of collision box for "azura spirit_trib"
10 years ago
scrawl
6b82e3665b
Remove old nifbullet test
10 years ago
Rohit Nirmal
b5eb16b663
Silence some scan-build warnings.
10 years ago
scrawl
2b407a9995
Refactor NIF cache
...
- Remove broken cache locking mechanism
This was supposed to unload NIFFiles after a cell transition completes, but it was never working due to a mistake on the line if (--sLockLevel), should have been if (--sLockLevel == 0). Repairing this would increase load times (NIF files would have to be reloaded more frequently), so just removed it for now.
- Decouple cache from NIFFile (now a new nifcache component)
- Add API for future background loading
- Provide a reliable way (SharedPtr) to hold on to loaded NIFFiles. This will be useful to avoid deep copies of keyframe and text key data, which is currently a performance bottleneck.
10 years ago
scrawl
1ab02d8072
Fix exception for box shapes ( Fixes #1580 )
11 years ago
scrawl
2bcbc6ab7d
Potential crash fix, either way should have a better error message now
11 years ago
scrawl
0b34d8d2fd
Add support for animated collision shapes ( Fixes #1549 )
11 years ago
scrawl
0bed6d9d56
Physics: Recognize BBoxCollision flag, but don't use it for raycasting ( Fixes #1349 )
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
scrawl
0a8c61a7fe
Bug #1107 : Reverted previous fix, which caused problems with some actors not using a box shape as expected. Instead, do not create a bounding box collision shape for hidden nodes.
11 years ago
scrawl
79a6ffd216
Closes #1107 : Do not create box shapes unless the box collision flag is enabled
11 years ago