Commit Graph

399 Commits (8419002393d89bd20222773a1872efb858f7ea32)

Author SHA1 Message Date
scrawl 455ec0996d Shaders & textures are now loaded upon loading the NIF, instead of when the object becomes visible in the camera frustum. Should improve responsiveness. 12 years ago
eduard 2dc0064cc2 more string lowercase 12 years ago
Chris Robinson c4c8295e0b Rename NIFLoader to Loader, and update some comments 12 years ago
Chris Robinson 4b7cc1372f Some cleanup 12 years ago
Chris Robinson a9bcbfd8d3 Use Node::_getFullTransform instead of building the matrix manually 12 years ago
Chris Robinson 015bb0bf1f Use the calculated max time for the "all" animation 12 years ago
Chris Robinson 465fd9c8af Offset animation times to start at 0 12 years ago
Chris Robinson 4054934f16 Store text keys for each animation 12 years ago
Chris Robinson bb98542c5a Build separate animations for each group 12 years ago
Chris Robinson e44729cd43 Make the text keys lower-case when extracting them
I think it's safe to assume all text keys are treated in a case-insensitive
manner. So far the only known NiTextKeyExtraData records are for animation
keys, which effectively are.
12 years ago
Chris Robinson 14d814d1d3 Avoid creating bones for NiTriShape nodes
The offset specified for them can be just as easilly handled by the tag point
they get connected to, and as such it's just needless extra nodes.
12 years ago
Chris Robinson 7ba09ff025 Catch errors from buildBones 12 years ago
Chris Robinson 8ebf49a35b Only lower-case the model name
The skeleton name will already be lower-case
12 years ago
Chris Robinson 18389c7b04 Set non-bone nodes as manually controlled 12 years ago
Chris Robinson e5ce55b6a4 Remove a hack 12 years ago
Chris Robinson 58d35dbfcf Have createEntities' caller retrieve the text keys as needed 12 years ago
Chris Robinson 761914bdaa Use a separate method to build the animation 12 years ago
Chris Robinson 8a086e3afb Cache the mesh names from the mesh/skeleton pairs 12 years ago
Chris Robinson 3131e8dae6 Don't get the text keys if they're not being requested 12 years ago
Chris Robinson 683ced54a0 Store and retrieve the node text keys in the bones' user object bindings 12 years ago
Chris Robinson a3d33db415 Store a NiNode's NiTextKeyExtraData in a user object binding on Ogre::Bone 12 years ago
Chris Robinson 1d4d67f811 Avoid underflows if the texture name doesn't include a '.' 12 years ago
Chris Robinson 3f19b13695 Merge remote-tracking branch 'zini/master' into animation2 12 years ago
Nathan Jeffords 2181393518 change texture renaming logic to increase performance
ResourceGroupManager::resourceExistsInAnyGroup is slow (at least on
windows) if the tested path does not exist, but is fast if it does (due
to finding it in the index). This change tries the '.dds' version of the
name first, and reverts to the original if the '.dds' version was not
found.
12 years ago
Chris Robinson 61ad8bb3dd Use a list of mesh names instead of mesh objects 12 years ago
Chris Robinson 019893b5c6 Get rid of some unnecessary case-insensitive compares 12 years ago
Chris Robinson cd8515396a Use a multimap to store the text keys 12 years ago
Chris Robinson 9b491edbf8 Small cleanup for loading animation keyframes 12 years ago
scrawl 906d290935 Markers are actually hidden now. Inspecting the markers in NifSkope revealed why it didn't work previously: the flag that is being looked for is not present in any of the markers, nor any other flag or extra data to identify them. However, the root node name always starts with "marker", making it possible to do a string search. 12 years ago
Marc Zinnschlag e3d893b001 Merge remote-tracking branch 'jhooks/animationsmooth' 13 years ago
scrawl 4f1bcb749f turned off redundant edge list building 13 years ago
Jason Hooks 5202b11235 just moving a comment 13 years ago
Jason Hooks 4a219404fc Super smooth animations; 100 PERCENT COMPLETE 13 years ago
Jason Hooks f21df64808 changing a few things around 13 years ago
Jason Hooks cc776810e2 smoother animations 13 years ago
Marc Zinnschlag 1da56e2832 removed some unused variables 13 years ago
Jason Hooks d14cc5a435 update master 13 years ago
scrawl 281e15f58e consider all material properties for nif material sharing, instead of just the texture 13 years ago
Chris Robinson 4f46c8a8db Use a functor for the mismatch compare function 13 years ago
Chris Robinson 36be1536d9 Return text keys from NIFs when creating entities 13 years ago
scrawl f8d6a36196 Merge branch 'master' into nif-cleanup
Conflicts:
	apps/openmw/mwrender/sky.cpp
	apps/openmw/mwrender/sky.hpp
	components/nifogre/ogre_nif_loader.cpp
	components/nifogre/ogre_nif_loader.hpp
13 years ago
Chris Robinson 4035d7370e Fix name/filter comparison 13 years ago
Chris Robinson d8cb685543 Interpolate keyframes when creating them
Probably not fully correct, but better than nothing.
13 years ago
Chris Robinson c5b9098517 Remove an unused field from EntityList 13 years ago
Chris Robinson 4bc93ecd1a Use the skeleton name for the main animation 13 years ago
Chris Robinson 4210880c06 Load the animation tracks into Ogre 13 years ago
Chris Robinson 0986cd5962 Get the animation controller target names 13 years ago
Chris Robinson c2acf47d88 Store the list of keyframe controllers when building the bones 13 years ago
Chris Robinson f6c837468f Load the proper NIF skeleton 13 years ago
Chris Robinson e760219953 Use a unique loader for each skeleton resource 13 years ago
Chris Robinson c9b1f72d81 Use a case-insensitive compare for the part filter 13 years ago
Chris Robinson bd74ab027a Mirror left-sided parts 13 years ago
Chris Robinson 4af1bce659 Restore and fix some missing parts 13 years ago
Chris Robinson d9b64b77ec Attach skinned parts to the scene node instead of the named bone 13 years ago
Chris Robinson 5154188110 Allow specifying an alternate skeleton for mesh skinning 13 years ago
Chris Robinson 626dcd54dc Store the skeleton name with the mesh resource loader instead of a flag 13 years ago
Chris Robinson 04b244cf9e Use the mesh's skeleton to transform shapes into "bind pose" instead of the NIF nodes 13 years ago
Chris Robinson 2890904fb5 Use lowercase names for the mesh and skeleton resources
To reduce the risk of duplicates due to different capitalizations.
13 years ago
Chris Robinson e8ff304562 Fix the initial normal vector for vertex fixups 13 years ago
Chris Robinson 3b29d280b9 Filter out skinned shapes that don't match the bone name 13 years ago
Chris Robinson db948969c9 Attach NPC parts to the proper bone 13 years ago
Chris Robinson a32740cf5e Remove an unused parameter 13 years ago
Chris Robinson b04c3cbcac Store the entities' root node in the EntityList 13 years ago
Chris Robinson 92546ca18d Move the last bits of code to createEntities 13 years ago
Chris Robinson 1c544682d5 Stub handling for NiTextKeyExtraData to suppress some spam 13 years ago
Chris Robinson 496343b714 Use the proper member for the NIF type string 13 years ago
Chris Robinson 3efd2030e2 Create entities when loading NIFs for creatures 13 years ago
Chris Robinson 3dedac5cb1 Create mesh entities for objects when loading the NIF 13 years ago
Chris Robinson 6047dc6a0c Merge remote branch 'zini/master' into nif-cleanup
Conflicts:
	apps/openmw/mwrender/animation.cpp
	apps/openmw/mwrender/animation.hpp
	apps/openmw/mwrender/creatureanimation.cpp
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/npcanimation.hpp
	components/nifogre/ogre_nif_loader.hpp
13 years ago
scrawl 4434fb640e Merge branch 'master' into shadersystem 13 years ago
Chris Robinson 93f0043afc Set the mesh's attach point as the NiTriShape's node 13 years ago
guidoj 0549e949ba Mostly removal of unnecessary #include's and a little clean up 13 years ago
Chris Robinson 65c20f128f Build bones for non-NiNode nodes (NiTriShapes, etc) 13 years ago
Chris Robinson fefbf86531 Use Ogre's matrix ops to transform normals 13 years ago
Chris Robinson bf26f029f9 Fix some skinning-related transformations 13 years ago
Chris Robinson df76c324a4 Handle the MRK text string marker 13 years ago
Chris Robinson 12f1785882 Use default bone names for duplicate names 13 years ago
Chris Robinson 75ce10c580 Don't load data for hidden meshes 13 years ago
Chris Robinson ad75b47472 Build and set up a skeleton for meshes 13 years ago
Chris Robinson b1f7fd9f7b Pre-transform the mesh vertices when there's no skinning or skeleton 13 years ago
Chris Robinson 441a5c2da2 Load NiTriShapes into Ogre meshes 13 years ago
Chris Robinson 3029c221ef Create materials when creating meshes 13 years ago
scrawl 509e9d7034 Merge branch 'master' into shadersystem 13 years ago
Chris Robinson b4c8375f3c Merge remote branch 'zini/master' into nif-cleanup
Conflicts:
	components/bsa/bsa_archive.cpp
13 years ago
Chris Robinson 9028cfe83c Look for the NiTriShape when the mesh resource wants to load
It's still not loaded yet.
13 years ago
Chris Robinson 69ed73399a Avoid exposing the NIF mesh resource loading class 13 years ago
Chris Robinson 300730a834 Create the skeleton resource from NIFs
Note they are not loaded yet.
13 years ago
Chris Robinson bd68f7bd33 Remove final direct uses of Mangle::Stream 13 years ago
Chris Robinson 6a447c88fb Create meshes from the NiTriShapes in the NIF.
This doesn't actually load them yet. It's also very slow for certain NIFs.
13 years ago
scrawl d41050fb79 merge 13 years ago
scrawl 7d5b94709d Merge branch 'master' into shadersystem
Conflicts:
	components/nifogre/ogre_nif_loader.cpp
13 years ago
Chris Robinson 939d0d2fc5 Return a list of meshes and the skeleton from NIFLoader::load 13 years ago
Chris Robinson fdfe40a55a Use a different loader object for each NIF mesh 13 years ago
Chris Robinson 386ac56bda Remove the NIF loader and code to manually transform the vertices
This currently breaks just about everything. They should come back as it's all
reimplemented, though.
13 years ago
Chris Robinson 3f11b6b1ae Cleanup a couple unneeded misc component references 13 years ago
Chris Robinson 86b37c6c11 Move the velocity out of the transformation object 13 years ago
Chris Robinson 645b507ba0 Return a reference to the RecordPtr from operator[] for consistency
RecordListT is supposed to be a list of RecordPtrT objects.
13 years ago
Chris Robinson 348b5fa207 Merge remote branch 'zini/master' into nif-cleanup
Conflicts:
	components/nifbullet/bullet_nif_loader.cpp
13 years ago
Chris Robinson ca37706b34 Use Ogre types for Matrix and Vector objects 13 years ago
Chris Robinson 98ae7168b1 Fix double-incrementing a pointer 13 years ago
Chris Robinson b3aa453f9a Use Ogre data streams for loading NIFs 13 years ago
Chris Robinson 0143cacd2b Avoid returning pointers from NIFFile 13 years ago
Chris Robinson d3a31a24ce Use proper strings and vectors instead of slice arrays for NIF files
Slice arrays use pre-allocated pointers whose memory is managed externally. This is
unnecessary and ultimately detrimental since it prevents any kind of data fixup
(e.g. little endian to big endian, p[adding handling), and it also makes it difficult
to use Ogre data streams.
13 years ago
scrawl b803d0e949 converted shadow caster shader 13 years ago
scrawl 81d30ff63a temp commit 13 years ago
gugus 03f7740474 Merge branch 'master' of https://github.com/zinnschlag/openmw.git into objectRotationScaling
Conflicts:
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwscript/docs/vmformat.txt
	apps/openmw/mwworld/worldimp.hpp
13 years ago
scrawl e517e75d09 update 13 years ago
scrawl a095572205 fixed some textures, started with sky 13 years ago
scrawl 33c48b9481 update 13 years ago
scrawl 8e683c2e05 vertex colors 13 years ago
scrawl 9bd888d9a1 transparency 13 years ago
scrawl 19ecc7f890 fix performance 13 years ago
scrawl 4ea6530772 hello world. 13 years ago
Marc Zinnschlag c85aaafac2 more include cleanup (most removing Ogre.h) 13 years ago
Jason Hooks fbde798968 merge 13 years ago
Jason Hooks 5028f9926d Bullet scale solution 13 years ago
scrawl c85c794c86 fixed some cppcheck issues 13 years ago
scrawl ddb0a91994 addition to last commit 13 years ago
Marc Zinnschlag afa859a6a6 Merge remote branch 'jhooks/clothingarmor'
Conflicts:
	apps/openmw/mwrender/npcanimation.cpp
13 years ago
scrawl 95f87a8abf more or less complete list for morrowind.bsa (thanks to artorius) 13 years ago
scrawl a727bcd4a4 override nif transparency settings (part 1) 13 years ago
scrawl 2a4fcf42a3 basic shadows 13 years ago
Jason Hooks 74deb5588d Post merge 13 years ago
scrawl cdea19206c Revert "more accurate fog, TODO: apply this to the terrain"
This reverts commit 96c37d3e7c.
13 years ago
scrawl 96911ada95 restored render queue of transparent objects, they are now part of the mrt textures
this fixes some issues with transparent objects not visible in the refraction
13 years ago
scrawl 96c37d3e7c more accurate fog, TODO: apply this to the terrain 13 years ago
scrawl 622fb568cf removed MRT setting and figure it out automatically 13 years ago
scrawl 006970fd79 add MRT code to shaders 13 years ago
Jason Hooks 57299571d5 Preparing for clothes/armor 13 years ago
scrawl 6091a0504d first settings test (config file has to be created manually) 13 years ago
Alexander "Ace" Olofsson 4a9a416d46 Can find files even if no .bsa file exists now 13 years ago
Lukasz Gromanowski f8afc22f04 Issue #225: Corrected wrong delete operator introduced by one of previous commit. 13 years ago
Lukasz Gromanowski 2b9845a5b6 Issue #225: Free memory allocated for sending into HardwareVertexBuffer.
Free memory allocated for sending into HardwareVertexBuffer in NIFLoader class.
13 years ago
scrawl 118250171d Merge branch 'master' of https://github.com/zinnschlag/openmw into shaders
Conflicts:
	apps/openmw/mwrender/objects.cpp
13 years ago
Marc Zinnschlag 3d1cbcd4e7 Merge remote branch 'jhooks/animperform' 13 years ago
Jason Hooks 9848b67174 Fixing errors 13 years ago
scrawl f7b706d24e use the vertex colours that morrowind supplies for a lot of meshes 13 years ago
scrawl ff8f95fcca fix batch lighting, removed the "bumping number of lights" hack 13 years ago
scrawl 332671b43d lighting fix 13 years ago
scrawl b2109a1302 make the vertex colours only affect diffuse, this caused some areas to
be darker than they should be
13 years ago
scrawl 8910b0d471 use shaders for all NIF materials. this has numerous advantages:
- vertex colours are now working as they should (and they have a huge impact on the look)
 - the lighting is per pixel and looks a lot better
 - by using shaders, we can use more lights at a time (fixed function has max of 8)
13 years ago
Jason Hooks 8d7a5f469b a few changes 13 years ago
Jason Hooks 38a0d1d1c5 Merging in master 13 years ago
Jason Hooks e58f2f5363 Eliminating unnecessary data from skeletons and shape saving 13 years ago
Jason Hooks 2217847c57 Fixing a crash 13 years ago
Marc Zinnschlag 1a6a49b9b8 Merge remote branch 'lgro/fix_warnings' 13 years ago
Lukasz Gromanowski 8829d46bda Clean up compilation warnings.
Clan up compilation warnings like "variable ... set but not used" introduced
in some older and recent commits.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
13 years ago
Marc Zinnschlag 273eac12a1 Merge remote branch 'jhooks/animation2' into animation2
Conflicts:
	apps/openmw/mwrender/npcanimation.cpp
	components/nifogre/ogre_nif_loader.cpp
13 years ago
Jason Hooks 1da519a914 Some cleanup 13 years ago
Jason Hooks 6de0847b86 Slightly better performance on animation 13 years ago
Nikolay Kasyanov ec6243dd77 fixed compilation problem with llvm clang: constant type explicitly set to float 13 years ago
Jason Hooks bcf3e45ff6 Proper buffer designation 13 years ago
Marc Zinnschlag 9b910dda94 clean up 13 years ago
Jason Hooks d1793bc4bd Animation files in the correct directory 13 years ago
Jason Hooks 0712bba49b Changing a few things around with handleshapes 13 years ago
Jason Hooks eab69f18ac File output switch 13 years ago
Jason Hooks 295eb27c2d Better Text Indices; Better file output 13 years ago
Jason Hooks 859ac1153e Basic Text Indices Working 13 years ago
Jason Hooks 0715f9b6ab Preparing to use text indices 13 years ago
Jason Hooks 595d0b1192 Cleanup; warnings 13 years ago
Jason Hooks 45c57721ff Turning off hardware skinning2 13 years ago
Jason Hooks 762727308e Hardware skinning working (YESgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --all) 13 years ago
Jason Hooks baa3f51886 Trying to fix errors 13 years ago
Jason Hooks cef2f5e927 Trying to get code to conform with older c++ 13 years ago
Jason Hooks d855bb4fc6 physics reenabled 13 years ago
Jason Hooks 6d10c76b06 Unique Identifiers for Creatures and NPC Free Parts 13 years ago
Jason Hooks d51dfebde1 NPCs fully rendered 13 years ago
Jason Hooks 47112ad7f9 Changing a lot of things 13 years ago
Jason Hooks 0902a3db89 Filled out NpcAnimation and CreatureAnimation classes 13 years ago
Jason Hooks 39338f4be1 NPC bounded parts 13 years ago
Jason Hooks 5c48d8fc1e more stuff 13 years ago
Jason Hooks 835c3f2603 Working towards npc rendering 13 years ago
Jason Hooks 7bd911b401 Problems with handles 13 years ago
Jason Hooks e8ec9093f8 More NIFLoader code 13 years ago
Jason Hooks 828a3904a5 BSAArchive done and some change to NIFLoader 13 years ago
Marc Zinnschlag 8446619ac4 Merge branch 'components_namespaces' into next
Conflicts:
	apps/openmw/mwrender/interior.cpp
	components/bsa/bsa_archive.cpp
14 years ago
Lukasz Gromanowski e9ff9a446b Mantis: #18 - Move components from global namespace into their own namespace.
Moving classes from components/nifogre into NifOgre namespace.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
14 years ago
Lukasz Gromanowski 90985e849e Mantis: #18 - Move components from global namespace into their own namespace.
Moving classes from components/misc into Misc namespace.

Note: Misc namespace introduced conflict with ESM::Misc and MWClass::Misc
classes, so both of them are renamed to ESM::Miscellaneous
and MWClass::Miscellaneous.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
14 years ago
Marc Zinnschlag bc92b7b1fa Merge branch 'directories' into next
Conflicts:
	components/files/multidircollection.hpp
	components/nifogre/ogre_nif_loader.hpp
14 years ago
Marc Zinnschlag 0f2df4e2b8 more cleanup 14 years ago
Jason Hooks a719a6b468 Getting rid of animation code in nif loader 14 years ago
gugus 0d9dde0fcf experimental: each material with the same texture is loaded only once. Problem: it doesn't take into account other material properties (which seems to be always the same anyway) 14 years ago
Jason Hooks 2ac1cc8aee Trying to animate creatures 14 years ago
Jason Hooks d035441876 Reintroducing animation 14 years ago
Jan-Peter Nilsson 229a91a625 Remove unused code/dependencies 14 years ago
Jan-Peter Nilsson d68141d203 Remove unused variables 14 years ago
Jan-Peter Nilsson 9ee83caaa2 Avoid crash when no bones are available 14 years ago
Jan-Peter Nilsson 696861349e Rename skel to mSkel 14 years ago
Pieter van der Kloet dd4d022301 Converted all tabs to four spaces 14 years ago
Jason Hooks 11406ae6f3 cleanupandupdate 14 years ago
Jason Hooks 60601682cd Beast races fixed 14 years ago
Jason Hooks 1896a6a2e8 Preliminary npcs4 14 years ago
Jason Hooks 467988455c Preliminary npcs3 14 years ago
Nicolay Korslund d32563063b Alternative fix to mesh crash bug 15 years ago
Armin Preiml 27166b4ee4 added bone assignment, skeleton is disabled for meshes
Skeleton isn't assigned to the meshes for now, because it crashes on some.
15 years ago
Armin Preiml 47a28fe02b If nif has a skeleton vertices are placed on the right position. 15 years ago
Armin Preiml d8f8bd12d3 Disabled loading skins.nif. NifLoader builds now a skeleton (if available) 15 years ago
Armin Preiml 181b538e4a restructured ogre nif code (struct -> class with singleton), formated code 15 years ago
Marc Zinnschlag e4f85cb3e6 directory structure reorganisation (still missing the mangle stuff) 15 years ago