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
Chris Robinson
8361192b64
Use typedefs for some maps and some cleanup
2013-01-15 11:10:41 -08: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
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
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
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
Chris Robinson
6008cf0d15
Remove unneeded video_current_pts field
2012-12-15 05:02:01 -08:00
Chris Robinson
da44141b95
Avoid creating extra texture unit states on the video material
2012-12-15 04:17:28 -08:00
Chris Robinson
d50698d7d1
Clean up the rectangle and scene node used for displaying the video
2012-12-15 04:01:52 -08:00
Chris Robinson
eb0e8d9e37
Simplify PacketQueue::get
2012-12-15 02:50:59 -08:00
Chris Robinson
b41a77648e
Avoid re-reading the source sample to duplicate, to avoid pointer aliasing
2012-12-15 02:33:59 -08:00
Chris Robinson
62a995d492
Calculate audio sync once per read
2012-12-15 00:18:42 -08:00
Chris Robinson
cbdf6ad595
Move more stuff to where it should be, and improve cleanup
2012-12-14 09:07:59 -08:00
Chris Robinson
71ff90aaee
Don't use sub-frame timing for the video clock
2012-12-14 08:42:37 -08:00
Chris Robinson
582efcdb9b
Always try to resync if the clock difference is large
2012-12-14 07:40:19 -08:00
Chris Robinson
f97eaec7ab
Consolidate some code
2012-12-14 07:29:58 -08:00
Chris Robinson
d66d8a3118
Don't assume we can write beyond the end of the sample buffer
2012-12-14 06:43:51 -08:00
Chris Robinson
7332ffb0f8
Let the wanted sample size go down to 0
2012-12-14 06:02:34 -08:00
Chris Robinson
05c6483257
Fix external clock
2012-12-14 04:35:57 -08:00
Chris Robinson
2f37d31108
Move some definitions into the source file they're used in
2012-12-14 04:12:34 -08:00
Chris Robinson
a6e627001a
Avoid a for(;;) construct
2012-12-14 03:23:04 -08:00
Chris Robinson
4d6c05f6cc
Tighten audio skew allowance
2012-12-14 03:19:32 -08:00
Chris Robinson
8db5d10f10
Avoid showing a video picture if we're late
...
Ideally we should skip decoding, or at least YUV->RGB conversion, too.
2012-12-14 03:11:59 -08:00
Chris Robinson
157cb10f56
Fix a 16-bit audio assumption
2012-12-14 02:39:46 -08:00
Chris Robinson
c2b711d195
Move some more methods to the class they're part of
2012-12-14 02:36:29 -08:00
Chris Robinson
26a09ee7ba
Move some methods into their respective class
2012-12-14 01:38:00 -08:00
Chris Robinson
5221298a7f
Move a couple packet queue methods into the struct
2012-12-14 01:14:14 -08:00
Chris Robinson
90294c589b
Use a volatile bool for the refresh
2012-12-13 18:24:57 -08:00
Chris Robinson
f555dc60eb
Reduce some indentation
2012-12-13 18:12:17 -08:00
Chris Robinson
6cedd64509
Fix audio sync correction sizes
2012-12-13 18:05:27 -08:00
Chris Robinson
e291d0943d
Merge remote-tracking branch 'scrawl/videoplayback' into videoplayback
2012-12-13 17:53:50 -08:00
Chris Robinson
606fb982a8
Update to use avcodec_decode_audio4
2012-12-13 17:53:22 -08:00
scrawl
82564e07c7
fix crash when video file doesn't exist
2012-12-14 01:44:00 +01:00
scrawl
27cd9ff732
Revert "Use the decoded frame pts when available"
...
This reverts commit cab68df257
.
2012-12-14 01:03:49 +01:00
scrawl
9d6f656822
fixed ogre resource functions
2012-12-14 00:10:54 +01:00
Chris Robinson
43481ad117
Use the external clock by default
2012-12-13 06:11:32 -08:00
Chris Robinson
0a5ab977b7
Use the decoder's sample offset for calculating the stream offset
2012-12-13 05:04:53 -08:00
Chris Robinson
cab68df257
Use the decoded frame pts when available
2012-12-13 04:25:41 -08:00
Chris Robinson
1ea1407707
Support quad, 5.1, and 7.1 with OpenAL and ffmpeg
...
The other decoders don't guarantee any channel ordering, which makes them
useless.
2012-12-13 04:10:19 -08:00
Chris Robinson
600494eed8
More cleanup of unused code
2012-12-13 03:37:04 -08:00
Chris Robinson
f7ff8b3374
A bit more cleanup
2012-12-13 03:13:44 -08:00
Chris Robinson
7e8b844b2e
Clean up some unused code
2012-12-13 03:05:37 -08:00