Chris Robinson
4ee5857bae
Filter accumulation axis for mLastPosition as needed
2013-02-09 19:09:56 -08:00
Chris Robinson
8d6f017f17
Remove an unneeded Animation field
2013-02-09 13:25:39 -08:00
Chris Robinson
34ddf69a31
Merge remote-tracking branch 'zini/next' into animation2
2013-02-09 09:46:57 -08:00
scrawl
d47090b312
Merge branch 'next' of https://github.com/zinnschlag/openmw into graphics
2013-02-09 16:40:10 +01:00
Mark Siewert
55bd9eef66
Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
2013-02-09 13:03:35 +01:00
Chris Robinson
923d0d6eb4
Fix up some header includes
2013-02-06 21:47:09 -08:00
Chris Robinson
18b7008409
Better fix some scaling issues
2013-02-05 18:25:09 -08:00
Chris Robinson
535cd8360f
Load extra animations for NPCs
2013-02-05 18:09:43 -08:00
Chris Robinson
8b1e7b95ba
Attempt to load the skeleton source if it doesn't yet exist
2013-02-05 17:55:12 -08:00
Chris Robinson
c839502743
Setup base_anim.nif as an initial skeleton source for biped creatures
2013-02-05 17:16:45 -08:00
Chris Robinson
054ef3113a
Check existing skeleton sources if the current one has no animation root
2013-02-05 17:15:40 -08:00
Chris Robinson
16933e3926
Scale the accumulation root translation
2013-02-05 16:59:20 -08:00
Chris Robinson
600fe06f00
Use a vector of skeletons to handle animation sources
2013-02-05 16:29:51 -08:00
scrawl
608c112f34
Supply the new render window to mygui
2013-02-05 20:48:25 +01:00
scrawl
31f760ccce
Fixing issues from last commit: restored input and occlusion queries
2013-02-05 20:26:13 +01:00
scrawl
c4d518132f
With the 1x1 background window trick, we can apply VSync without restart. Some issues left though.
2013-02-05 19:22:08 +01:00
scrawl
499f3ac0d1
Slightly better ripple normal blending. Not physically accurate at all, but looks good.
2013-02-05 16:40:41 +01:00
scrawl
3772cd9257
Refraction can be disabled separately now
2013-02-05 14:29:46 +01:00
Chris Robinson
786cb6e928
Merge remote-tracking branch 'zini/master' into animation2
2013-02-05 02:57:02 -08:00
Chris Robinson
bd4fdf47a3
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
apps/openmw/mwrender/sky.cpp
2013-02-05 02:27:57 -08:00
scrawl
a29919d02d
restored global map
2013-02-05 00:39:56 +01:00
scrawl
35b5fdab5d
Merge branch 'terrainfix' into graphics
2013-02-05 00:28:59 +01:00
scrawl
09180666b2
Merge branch 'master' of git://github.com/zinnschlag/openmw into terrainfix
2013-02-05 00:21:42 +01:00
scrawl
58cf182db2
better place for syncing
2013-02-05 00:21:29 +01:00
scrawl
bb1f23875d
Merge branch 'terrainfix' into graphics
2013-02-04 23:16:11 +01:00
scrawl
596628d339
Fix terrain derived data update (bug 534, bug 544)
2013-02-04 23:13:01 +01:00
scrawl
0f37c24d5f
Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics
2013-02-04 21:55:41 +01:00
scrawl
bf037b7d29
Removed problematic ModVertexAlpha method, now done in shader
2013-02-04 18:03:03 +01:00
scrawl
fa07288b15
tweaked map light color
2013-02-03 20:29:50 +01:00
scrawl
5cc8af0f14
fix map positions
2013-02-03 20:06:03 +01:00
scrawl
a44dfcd2ac
Now that refraction is separated out, we don't have to worry about rendering order. Should fix transparency blending issues around water (eg waterfalls) for good.
2013-02-03 19:28:31 +01:00
scrawl
979a874220
Fixed the custom near clip planes
2013-02-03 19:01:59 +01:00
scrawl
5334934612
Listen to render window updates and properly activate/deactivate occlusion queries pre/post update.
2013-02-03 18:03:09 +01:00
scrawl
15e51b76de
Experimental: Directional shading on local map, separated out refraction render, no longer uses screen depth
2013-02-03 15:46:23 +01:00
Chris Robinson
23acf4b130
Don't break right away when the animation time remaining is 0
2013-02-03 01:38:42 -08:00
Chris Robinson
60a75cb5ee
Make sure to keep the character preview animation updated
2013-02-03 00:54:50 -08:00
Chris Robinson
c23a96d606
Run an aniamtion update after "playing" the inventory idle
...
This is so all the NPC parts get updated correctly.
2013-02-02 06:08:03 -08:00
Chris Robinson
fc7590694d
Revert "Revert "Use a child scene node for the accumulation root""
...
This reverts commit 376dfed15b
.
I was wrong. It's needed at least for NPCs since they're attaching multiple
animated skeletons to an object, and they all need to be offset correctly.
Would be nice to use a Node, Bone, or TagPoint instead of a hefty SceneNode,
though.
2013-02-02 05:43:37 -08:00
Chris Robinson
7f87c1873b
Use an array to store the entity parts
2013-02-02 02:53:22 -08:00
scrawl
a461b282c1
water ripples (experimental)
2013-02-01 23:43:23 +01:00
Chris Robinson
376dfed15b
Revert "Use a child scene node for the accumulation root"
...
This reverts commit d6f923f274
.
We don't need it for any of the NIFs we're currently handling. As long as
there's no NIF files that would break it, we should require a stationary root
if an animation wants to accumulate. If we must, a better idea may be to inject
an extra bone into the skeleton instance and make that the accumulation root.
2013-02-01 08:50:32 -08:00
scrawl
3ec703e6af
Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics
2013-02-01 16:25:54 +01:00
Chris Robinson
d6f923f274
Use a child scene node for the accumulation root
2013-01-30 22:28:18 -08:00
Chris Robinson
b6354c6282
Don't share skeleton instances between bounded parts on an NPC
...
However, a skeleton instance will still be shared between entities in an entity
list.
2013-01-30 09:29:16 -08:00
Chris Robinson
5c3a7f7d52
Avoid handling animation states
...
We don't need them anymore
2013-01-30 07:34:07 -08:00
Chris Robinson
360f7bfac8
Apply animations to bones manually
...
Couple reasons for this:
* This paves the way for allowing animations specified in other skeletons to
be applied to the character (NPCs and certain creatures can have multiple
animation sources, but Ogre is incredibly strict when it comes to sharing
animations between skeletons).
* It will allow for entities to be animated based on the character's skeleton,
without having to duplicate the mesh for each skeleton it can be used on.
This doesn't impact Ogre's ability to efficiently deform skinned meshes, nor
does it get in the way of hardware skinning.
2013-01-30 07:04:18 -08:00
Chris Robinson
600d3bf9eb
Make sure the player node's visibility cascades
2013-01-30 02:38:50 -08:00
Chris Robinson
99efe4e494
Remove an unnecessary class member
2013-01-29 01:02:55 -08:00
Chris Robinson
879359f39d
Set the animation state loop flag as appropriate
2013-01-29 00:50:52 -08:00
Chris Robinson
92d0c55f32
Add a flag to specify if an animation should be playing
2013-01-29 00:43:42 -08:00
Chris Robinson
7df4d0d19f
Remove an unnecessary cast
2013-01-28 21:41:51 -08:00
Chris Robinson
b1ffdf855f
Reset the initial state of animated nodes on the skeleton instances
...
This is so the animation specifies node keyframe data based on the node's
parent. This will also be necessary for applying animations from different
skeleton sources, as they can have different binding positions (even native
.skeleton resources will need to specify animation data this way).
2013-01-26 04:48:53 -08:00
Mark Siewert
dca8dc4fdb
Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
...
Conflicts:
apps/openmw/engine.cpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/store.hpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm/esmreader.hpp
- Quick hack: OMW::Engine::prepareEngine only loads translation data for the first master file.
2013-01-25 18:22:01 +01:00
Chris Robinson
05f8b8c283
Specify the text key to reset animations to
2013-01-22 00:31:45 -08:00
Chris Robinson
37fe1bd3f0
Handle looping in the Animation object
2013-01-21 22:51:13 -08:00
Chris Robinson
536f8104e6
Do not create an 'all' animation.
2013-01-20 17:24:43 -08:00
Chris Robinson
e1e76bde76
Combine a loop into another where it's used
2013-01-20 15:39:43 -08:00
Mark Siewert
713d324eeb
- Minor code cleanup
2013-01-20 19:07:33 +01:00
Chris Robinson
85ca1e993f
Properly check if an animation exists before playing it
2013-01-19 21:55:04 -08:00
Chris Robinson
0b68953f0d
Scale animation speed using the direction length
...
The direction length doesn't currently give a good speed, but it's something.
2013-01-18 21:40:47 -08:00
Chris Robinson
1cdd64cd9b
Return the animation movement from the character controller.
...
Consequently, dead actors don't move anymore. The doPhysics call apparently
isn't moving them.
2013-01-18 17:05:58 -08:00
Chris Robinson
9123f4f2af
Return the movement vector from runAnimation
2013-01-18 16:21:29 -08:00
Chris Robinson
c7684cb979
Pass the key time to markerEvent
2013-01-18 14:50:55 -08:00
Chris Robinson
3e9b0a333c
Allow specifying the accumulation for animations
...
Animations that move a character may do so either visually or physically. An
axis' accumuluation value specifies whether the movement is visual (0) or
physical (1). Idle animations, for instance, typically don't physically move a
character, while death animations may physically move them along the X and Y
planes, but not along Z (the vertical movement is purely visual).
2013-01-18 14:25:32 -08:00
Chris Robinson
00879ab20e
Fix player rendering
2013-01-17 15:48:09 -08:00
Chris Robinson
fef6284f15
Only reset the animation time if a new state was set
2013-01-17 15:47:25 -08:00
Chris Robinson
fc0f9e2159
The animation state tracks the animation time for us
2013-01-17 14:49:42 -08:00
Chris Robinson
7cce44290e
Handle the animation queue in mwmechanics
2013-01-17 13:18:40 -08:00
Chris Robinson
82d549e22f
Don't update the animation if time is the same
2013-01-16 21:39:14 -08:00
Chris Robinson
7ee389f3b2
Handle animation skipping in the character controller
2013-01-16 21:25:50 -08:00
Chris Robinson
852aa214cc
Store the available animation names in the character controller
2013-01-16 21:16:22 -08:00
Chris Robinson
4dd01b81c6
Update mTime when updating or reseting the animation, and refactor the animation loop
2013-01-16 20:14:49 -08:00
Chris Robinson
d2f5a886c7
Handle playgroup and skipanim through mwmechanics
2013-01-16 17:53:18 -08:00
Chris Robinson
46fc61a4c1
Run animations from the character controller
2013-01-16 16:31:09 -08:00
Chris Robinson
3c32385e17
Avoid trying to animate things that don't have animations
2013-01-16 15:00:06 -08:00
Chris Robinson
94b93227d3
Treat activators as actors for rendering and mechanics
...
Kinda hacky, but it's the only way to get animated activators (flags, silt
striders, etc) to work properly.
2013-01-16 14:37:32 -08:00
Chris Robinson
d2fc3c7b33
Add a method to tell the character controller of new text keys
2013-01-16 13:09:21 -08:00
Chris Robinson
0a2f92f679
Keep track of the current text key in the animation
2013-01-16 11:57:08 -08:00
Chris Robinson
f46587c383
Store an character controller in the animation
2013-01-16 11:01:08 -08:00
Chris Robinson
63e685ea39
Add a method to get the Animation from a Ptr
2013-01-16 09:59:19 -08:00
Chris Robinson
1ce8eaf52c
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
apps/openmw/mwrender/actors.cpp
apps/openmw/mwrender/actors.hpp
2013-01-16 07:36:56 -08:00
scrawl
df602553d1
Reworked MWRender::Water to be more OOP-ish and possibly allow other reflection types.
2013-01-16 09:13:36 +01:00
Chris Robinson
8361192b64
Use typedefs for some maps and some cleanup
2013-01-15 11:10:41 -08:00
scrawl
e4f140841e
Make OpenMW work with Ogre 1.9
2013-01-12 08:23:15 +01:00
scrawl
2c3719a6f5
Disabling PSSM feature to make sure we can fit the max. amount of terrain textures in Morrowind.esm in a single pass.
2013-01-12 07:02:12 +01:00
scrawl
30136eb449
Update settings UI
2013-01-12 06:36:48 +01:00
Chris Robinson
97f8c73d91
Remove some useless parameters
...
SceneNode::setVisibility merely passes the value to its attached object, of
which there are none at the point it would be called. Additionally, the method
is always called with enabled=true anyway.
2013-01-10 11:09:33 -08:00
scrawl
6ef85c46fd
Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics
2013-01-10 19:35:40 +01:00
Chris Robinson
e8ac3976b5
Fix some subentity assumptions
2013-01-10 06:35:06 -08:00
Chris Robinson
7f2d71554e
Use the correct offset when building static geometry from an entity
2013-01-10 04:16:18 -08:00
Chris Robinson
23ac1c2de5
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
components/nifogre/ogre_nif_loader.cpp
2013-01-09 20:52:12 -08:00
scrawl
d3c0851aa7
Changed light attenuation back to linear in all cases, this seems to be what MW does.
2013-01-09 22:08:42 +01:00
scrawl
b8c6f6640b
Fixing water <-> waterfall blending issues (Sort of... the second part will follow later)
2013-01-09 21:56:26 +01:00
eduard
2dc0064cc2
more string lowercase
2013-01-09 20:51:52 +01:00
Chris Robinson
a14132b5a0
Merge remote-tracking branch 'zini/master' into animation2
2013-01-09 11:12:26 -08:00
scrawl
bc73c5b1ec
enable directional lighting for character previews
2013-01-09 20:08:59 +01:00
Chris Robinson
c4c8295e0b
Rename NIFLoader to Loader, and update some comments
2013-01-09 09:10:59 -08:00
Chris Robinson
be74859f05
Avoid some unnecessary copying when calling addPartGroup
2013-01-09 08:03:28 -08:00
Chris Robinson
9fedaf18d6
Make some methods private
2013-01-09 07:55:55 -08:00
Chris Robinson
625a538f03
Combine part selection into a single loop
2013-01-09 07:43:10 -08:00
Chris Robinson
1e38e381a4
Use text keys for each animation
2013-01-09 03:30:55 -08:00
Chris Robinson
bb98542c5a
Build separate animations for each group
2013-01-09 01:40:38 -08:00
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.
2013-01-09 00:17:42 -08:00
Jordan Milne
857bb42297
Create a separate scenemanager for each CharacterPreview instance
2013-01-09 01:44:15 -04:00
Chris Robinson
9675a6d04a
Merge remote-tracking branch 'zini/master' into animation2
2013-01-08 02:25:37 -08:00
Marc Zinnschlag
c6ff58d5b5
Merge remote-tracking branch 'scrawl/videoplayback'
...
Conflicts:
apps/openmw/mwscript/docs/vmformat.txt
2013-01-08 11:17:19 +01:00
Chris Robinson
2a9dc5ad94
Ensure mCurGroup always has valid iterators, and only get the animation state when animation keys exist
2013-01-07 21:00:21 -08:00
Chris Robinson
d8dbd5e206
Store text key iterators for the start and stop times
2013-01-07 05:56:03 -08:00
Chris Robinson
d3e949f5c6
Make the animation text keys lower case to help lookup
2013-01-07 05:23:44 -08:00
Chris Robinson
05dfafa777
Avoid an unnecessary lookup when moving the scene node
2013-01-07 05:09:15 -08:00
Chris Robinson
5f668976a8
Improve resetting the animation position
2013-01-07 04:48:59 -08:00
scrawl
c2b75e28e9
Merge branch 'videoplayback' of github.com:scrawl/openmw into videoplayback
2013-01-07 13:20:50 +01:00
scrawl
282601d6e9
support the allowSkipping extra parameter for playBink command.
2013-01-07 13:19:52 +01:00
Marc Zinnschlag
2557ef4d7d
post merge fixes and some misc clean up
2013-01-07 12:17:46 +01:00
Chris Robinson
648e3331f5
Don't try to move objects that aren't in a cell
2013-01-06 23:20:20 -08:00
Chris Robinson
5b3a20ef69
Update the object position as the animation moves
2013-01-06 21:18:48 -08:00
Chris Robinson
910619eb21
Store the NonAccum animation root from the skeleton instance
...
Currently this is assumed to be the node with the animation text keys.
2013-01-06 17:31:53 -08:00
Chris Robinson
b96a979719
Store an MWWorld::Ptr with the Animation
2013-01-06 17:05:48 -08:00
Nathan Jeffords
0f3712f284
change flickering light's brightness pattern
2013-01-06 14:29:22 -08:00
Chris Robinson
2b1fe7dc44
Add part info for weapons and shields
2013-01-06 05:39:39 -08:00
Chris Robinson
976b042cca
Use a list to reduce some repeating code
2013-01-06 02:14:19 -08:00
Chris Robinson
99769879e3
Fix some createEntities calls
2013-01-06 00:32:38 -08:00
Chris Robinson
efca5ded47
Clean up some header includes to reduce nesting
2013-01-05 21:12:08 -08:00
Chris Robinson
58d35dbfcf
Have createEntities' caller retrieve the text keys as needed
2013-01-05 04:01:11 -08:00
Chris Robinson
818a24cdd6
Hold on to the AnimationState being used for animating
2013-01-05 00:03:14 -08:00
Chris Robinson
6e84d4bcdd
Add a helper method to load entity objects
2013-01-04 23:19:48 -08:00
scrawl
ade4ec0453
fix texture edge bleeding due to wrong addressing mode
2012-12-28 19:01:47 +01:00
Chris Robinson
2f8daec379
Allow pausing only certain types of sounds
2012-12-18 04:19:35 -08:00
Chris Robinson
a5356e194e
Allow specifying a type for the playTrack method
2012-12-18 01:35:20 -08:00
Chris Robinson
67485d3454
Store the AVStream in the decoder for easy referencing
2012-12-17 07:15:53 -08:00
Chris Robinson
4373218746
Fix audio stream check
2012-12-17 06:56:30 -08:00
Chris Robinson
58ab3407b7
Constify a couple fields
2012-12-17 04:17:06 -08:00
Chris Robinson
9e842a0bbb
Fix for trying to play videos when not supported
2012-12-17 00:41:04 -08:00
Chris Robinson
26660110e5
Allow building the video player without ffmpeg (playVideo will always throw an exception)
2012-12-17 00:20:56 -08:00
Chris Robinson
06fd66e99d
Move some fields to the class they're used in
2012-12-16 11:49:46 -08:00
Chris Robinson
c92cde2be9
Properly flush packet queues when at EOF
...
Note: the previous flush method was renamed to clear. Flushing a queue allows
consumers to retrieve queued packets, but not expect any more to come in.
2012-12-16 05:50:20 -08:00
Chris Robinson
6bc526b74d
Avoid another loop for decoding audio
2012-12-16 05:30:38 -08:00
Chris Robinson
254a623319
Remove a redundant check
2012-12-16 03:09:24 -08:00
Chris Robinson
dd20db5dc2
Remove the stream indices from the VideoState
2012-12-16 03:05:44 -08:00
Chris Robinson
3f6d36c712
Avoid double-setting the material texture
2012-12-16 02:19:19 -08:00
Chris Robinson
0edc87825d
Move audio_clock to the decoder where it's used
2012-12-16 01:17:58 -08:00
Chris Robinson
4561c22e2b
More fixes for the audio clock
...
The audio_clock for the decoder represents the end of the current packet, so it
needs to be adjusted back to match the position that's actually going to be
read next.
2012-12-16 00:07:56 -08:00
Chris Robinson
c869444dcf
Don't leak the IO context if avformat_open_input fails
2012-12-15 11:31:50 -08:00
scrawl
63e86555b6
use sample_aspect_ratio if available
2012-12-15 19:40:59 +01:00
scrawl
5ed04ae53e
added black bars
2012-12-15 19:23:03 +01:00
Chris Robinson
e6d27cd6d0
Merge remote-tracking branch 'scrawl/videoplayback' into videoplayback
2012-12-15 09:15:47 -08:00
Chris Robinson
9b3cf5c159
Use a looping thread to trigger refreshes
2012-12-15 09:14:58 -08:00
Chris Robinson
fa1ad381da
Make sure packets are cleaned up properly
2012-12-15 08:42:54 -08:00
scrawl
7477345481
fixed video material
2012-12-15 17:10:21 +01:00
Chris Robinson
db23c8152e
Only duplicate AVPackets as needed
...
Packets that don't have a destruct method are using static memory, which will
only be valid until the next av_read_frame call. Otherwise, it's already
dynamically allocated and will remain valid.
2012-12-15 07:47:03 -08:00