Commit graph

1030 commits

Author SHA1 Message Date
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
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
Chris Robinson
d2fbae9760 Init and deinit the VideoState synchronously, and re-enable audio playback 2012-12-13 02:52:37 -08:00
Chris Robinson
1ffaf6625a Remove SDL for playing movie audio and prepare for using an audio track
This breaks audio playback on movies
2012-12-13 01:42:20 -08:00
Chris Robinson
1fb9eef27b Detach the thread used for frame timing 2012-12-12 22:02:33 -08:00
scrawl
7fd9e1d212 Merge branch 'videoplayback' of https://github.com/ChrisKCat/openmw into videoplayback
Conflicts:
	apps/openmw/mwrender/videoplayer.cpp
2012-12-12 22:24:38 +01:00
scrawl
18d8c767bd fix a bunch of warnings, improved error handling, initialize texture to black 2012-12-12 15:15:55 +01:00
Chris Robinson
2c1eceb9f0 Add methods to pause and stop all playing sounds (and music) 2012-12-12 02:33:12 -08:00
Chris Robinson
e82c4afd50 close SDL when closing the video, not after the video loop is finished 2012-12-12 00:36:52 -08:00
Chris Robinson
a62d5bbfe4 Sleep using the absolute time, so the thread creation doesn't add to the wait 2012-12-11 23:54:41 -08:00
Chris Robinson
2efdafecd9 Indentation fixes 2012-12-11 20:11:48 -08:00
Chris Robinson
277248cdcb Fix some "comparison between signed and unsigned" warnings 2012-12-11 19:43:07 -08:00
Chris Robinson
3519934f27 Add a missing return value 2012-12-11 19:36:04 -08:00
Chris Robinson
9e2d4f8b7c Avoid potential NULL dereference 2012-12-11 19:32:10 -08:00
scrawl
fe384a1600 pause 3d rendering while the video plays 2012-12-12 01:30:34 +01:00
scrawl
faad64b254 Esc cancels the video 2012-12-12 01:13:53 +01:00
scrawl
0ce5ade6d8 DataStreamPtr fix, indentation fixes 2012-12-11 23:06:06 +01:00
scrawl
c49966dd29 started over 2012-12-11 22:49:31 +01:00
scrawl
5f676f9c6b Merge branch 'master' of https://github.com/zinnschlag/openmw into videoplayback
Conflicts:
	apps/openmw/mwrender/renderingmanager.cpp
	apps/openmw/mwscript/miscextensions.cpp
2012-12-11 22:28:23 +01:00
scrawl
3106db0379 commented out debug output 2012-12-03 17:41:38 +01:00
scrawl
bc90c75176 more clean up, video played with correct speed, videos without sound working too (mw_credits.bik) 2012-12-03 17:33:02 +01:00
scrawl
a77d910aaf audio codec is opened, some cleanup 2012-12-03 16:44:41 +01:00
scrawl
c4facc233e Merge branch 'master' into videoplayback
Conflicts:
	apps/openmw/mwrender/renderingmanager.cpp
2012-12-01 11:30:51 +01:00
Mark Siewert
896ab44d1e - Add some updated files missing from last commit.
- Move plugin dependency test from esmreader.cpp to esmstpre.cpp; fixes crash in omwlauncher.
2012-11-25 17:19:29 +01:00
Mark Siewert
8ea9f00e6f Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
Conflicts:
	apps/openmw/mwrender/terrain.cpp
	apps/openmw/mwworld/cells.cpp
	apps/openmw/mwworld/cells.hpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/cellstore.hpp
	apps/openmw/mwworld/containerstore.cpp
	apps/openmw/mwworld/localscripts.cpp
	apps/openmw/mwworld/scene.cpp
	apps/openmw/mwworld/worldimp.cpp
	apps/openmw/mwworld/worldimp.hpp
	components/esm_store/reclists.hpp
	components/esm_store/store.cpp
	extern/shiny

- Re-implement some patches that were broken by the removal of reclists.hpp and store.cpp/.hpp.
- NOTE: Not everything works as before, I'll have to test some more stuff before we are back to where we were.
2012-11-25 14:12:44 +01:00
scrawl
064cb80c0a fix wait dialog fading 2012-11-23 20:48:53 +01:00
scrawl
c8562d8442 toggleCollisionBoxes actually does something useful now 2012-11-20 02:20:54 +01:00
scrawl
f5355e3e92 512x512 map, slightly faster 2012-11-16 22:26:00 +01:00
scrawl
dc67a547b0 global map explored overlay 2012-11-16 19:34:09 +01:00
scrawl
aefde3f5bc Merge branch 'master' into globalmap 2012-11-15 13:21:24 +01:00
scrawl
7c22690116 Merge branch 'next' into globalmap 2012-11-10 21:19:10 +01:00
greye
50867e8d87 fix gender selection update, main model visibility and couple of crashes 2012-11-10 19:57:50 +04:00
greye
235b565bb7 update main character model 2012-11-10 11:51:48 +04:00
greye
b1ef0026a9 race selection/inventory preview character model update 2012-11-10 11:41:12 +04:00
greye
c3f0dc0dfb m prefix for NpcAnimation members 2012-11-08 23:11:43 +04:00
Marc Zinnschlag
918316168f Merge remote-tracking branch 'greye/store' into next
Conflicts:
	apps/openmw/mwclass/light.cpp
	apps/openmw/mwworld/worldimp.cpp
2012-11-07 19:34:28 +01:00
Mark Siewert
64c08eada4 Merge remote-tracking branch 'upstream/next' into multiple_esm_esp 2012-11-06 20:37:29 +01:00
Marc Zinnschlag
6d5333be05 some code cleanup 2012-11-06 13:08:25 +01:00
greye
e74b2c060d disable createRecord(), Land constness hack, various fixes with Store<T> interface 2012-11-06 13:14:03 +04:00
greye
932a9dc6f9 applying new interface vol.8, inconsistent 2012-11-06 11:53:00 +04:00
emoose
5c1b3fc043 Fixed: scene: adjust rotation/scale when creating objects 2012-11-05 20:45:04 +00:00
emoose
e8e3c211a4 Changed: MWRender::player: make camera rotation functions public; world: fix/clean scaleObject and rotateObject; rendering: add scaleObject code, fix rotateObject so it stores correct rotation 2012-11-05 19:56:20 +00:00
greye
d205723a17 resolving m prefix/ESMStore movement 2012-11-05 18:02:47 +04:00
greye
2057f5619e move ESMStore to MWWorld 2012-11-05 17:18:01 +04:00
greye
3c2ce25f5f m prefix for mwworld/cellstore.hpp 2012-11-05 16:07:59 +04:00
scrawl
38828acac9 transparent overlay 2012-11-04 12:13:04 +01:00
scrawl
b7aa7e4cef pause all animations 2012-11-04 11:57:51 +01:00
emoose
cadc753216 Fixed: engine: Bug #437 Stop animations when paused better fix; scene: Bug #430 Teleporting and using loading doors linking within the same cell reloads the cell
Bug #437 fix only pauses the RenderingManager, and still updates the mOcclusionQuery
Bug #430 fix is only tested in interiors (ToddTest)
2012-11-03 19:29:55 +00:00
greye
9f923e7963 fix crashing if /home/greye/.cache not exist 2012-10-25 15:14:34 +04:00