Problem with video sequence

For porting of the campaign to javascript discussions

Problem with video sequence

Postby Berserk Cyborg » 22 Jun 2017, 06:56

I can not get cam2diif.ogg to play not matter what I try. It's as if it does not exist and is completely skipped altogether. I have not found any documentation on how the message brief files are interpreted other than analyzing the patterns from the other files. Any idea how to make it play? Once it plays I am ready for testing to be done with the new campaign research fix and the difficulty modifiers in my usual branch (after doing some squashing).
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 554
Joined: 26 Sep 2016, 19:56

Re: Problem with video sequence

Postby Per » 16 Jul 2017, 23:35

Did you figure this out?

The message code is some of gnarliest, most horrible we have left now, and the interface to it is pretty horrid, too. It can be pretty hard to figure out what is going wrong in it.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Re: Problem with video sequence

Postby Berserk Cyborg » 19 Jul 2017, 21:54

Unfortunately, I have not found a solution so far. I did try putting it on its own line in base/messages/brief2-dii.txt and modifying the 2-end script to include it, but it just plays the one after it instead.

it plays brfcom4s.ogg and cam2/c2diif2.ogg just fine in:
Code: Select all
MB2_DII_MSG,0,1,3,brfcom4s.ogg,1,TRANS_MSG1,0,0000,cam2/cam2diif.ogg,3,CAM2_DII_MSG1,CAM2_DII_MSG2,CAM2_DII_MSG9,0,0000,cam2/c2diif2.ogg,1,CAM2_DII_MSG1,0,0000


Edit:
I noticed that it might actually be playing for a very brief moment now. It lasts long enough to see the subtitles in the video (nothing else) and then it abruptly ends and moves onto the next sequence.
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 554
Joined: 26 Sep 2016, 19:56

Re: Problem with video sequence

Postby Berserk Cyborg » 25 Jul 2017, 21:55

Here is what I discovered so far:
Code: Select all
error   |02:28:44: [seq_Play:496] starting playback of: sequences/cam2/cam2diif.ogg
error   |02:28:44: [seq_InitOgg:452] seq_InitOgg

error   |02:28:44: [seq_Play:636] Ogg logical stream 987d523 is Theora 320x240 12.50 fps video
error   |02:28:44: [seq_Play:660] Ogg logical stream 28797b16 is Vorbis 1 channel 22050 Hz audio

-----MISSING--------
error   |02:28:40: [audio_write:441] starting source
error   |02:28:41: [audio_write:424] Audio sync
--------------------

error   |02:28:44: [seq_Shutdown:912] seq_Shutdown
error   |02:28:44: [seq_Shutdown:960]  **** frames = 0 dropped = 0 ****

error   |02:28:44: [seq_Update:856] video finished
error   |02:28:44: [seq_Shutdown:912] seq_Shutdown
error   |02:28:44: [seq_Shutdown:916] movie is not playing


The only thing I see not being output is the messages "starting source" and "Audio sync". The other sequences show them so it is probably related to it being skipped.

Edit: Well, I found a way to play it after all. Hate to include another hack into the source, but it does finally play with the diff below.
sequenceFix.diff
(1.36 KiB) Downloaded 34 times
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 554
Joined: 26 Sep 2016, 19:56

Re: Problem with video sequence

Postby Per » 26 Jul 2017, 21:06

Is there some easy way for me to reproduce this issue?

What I'd do is just sprinkle seq_Play() with debug() calls, and see what happens. I guess it is not playing the audio for some reason, and that the video is timed on the audio somehow.

Also, how do you play the video? I notice that the old wzscript has some video play functions that qtscript doesn't.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Re: Problem with video sequence

Postby Berserk Cyborg » 26 Jul 2017, 21:29

Try hackAddMessage("MB2_DII_MSG", MISS_MSG, CAM_HUMAN_PLAYER, true). That is the general form I have seen and been using. I prefer to put all of them in an array and use an index var in conjunction with eventVideoDone() until it reaches the last one.
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 554
Joined: 26 Sep 2016, 19:56

Re: Problem with video sequence

Postby Per » 28 Jul 2017, 21:48

I started looking at the message code, and had to clean it up a bit to avoid going insane. Please consider reviewing and/or testing my changes before I push them:https://github.com/perim/warzone2100/commit/72db557b47a8f4299a0de667b688bc5787064c8a

With this commit, there will be a tab in the debug menu to see all currently defined messages.

Next step, I'm thinking of adding a qtscript function to load message files, that way we don't need them in the resource system, and you can more easily test stuff (don't need to be in the correct level to just load up a video using the debug menu, for example).
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Re: Problem with video sequence

Postby Berserk Cyborg » 29 Jul 2017, 20:12

By defined does that mean only the ones that have played so far? I see that CAM2_OUT is missing in the debug tab in the final Beta mission.

Regarding Beta-end: In transport.cpp line 1129 there is a possibility to break any mission with the safety flag being true. It keeps firing the transport exit event and will prevent an idle transport from exiting the map should the player have no droids on map... leaving the mission unbeatable. Is that whole if block necessary anymore?
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 554
Joined: 26 Sep 2016, 19:56

Re: Problem with video sequence

Postby Per » 30 Jul 2017, 13:51

Berserk Cyborg wrote:By defined does that mean only the ones that have played so far?

Yes. I just pushed another tab to the debug menu, that shows the loaded 'viewdata', which is what you typically use to create new messages.

I'll have a look at the transport code.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Re: Problem with video sequence

Postby Per » 30 Jul 2017, 16:13

Berserk Cyborg wrote:Regarding Beta-end: In transport.cpp line 1129 there is a possibility to break any mission with the safety flag being true. It keeps firing the transport exit event and will prevent an idle transport from exiting the map should the player have no droids on map... leaving the mission unbeatable. Is that whole if block necessary anymore?

I've no idea how that code works, but it has been like that since forever. I think much of this logic should just be moved into scripts.

If the campaign works fine without this code, then feel free to remove it.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Re: Problem with video sequence

Postby Per » 01 Aug 2017, 17:57

Berserk Cyborg wrote:Try hackAddMessage("MB2_DII_MSG", MISS_MSG, CAM_HUMAN_PLAYER, true). That is the general form I have seen and been using. I prefer to put all of them in an array and use an index var in conjunction with eventVideoDone() until it reaches the last one.

This is what works for me:

I add

file SMSG "brief2-dii.txt"

to the bottom of data/base/wrf/cam1.wrf, then start CAM1A. In the debug menu, tab Contexts, subtab cam1a:0 tab, I type in

hackAddMessage("MB2_DII_MSG", MISS_MSG, 0, true)

then hit 'Run'. It runs fine.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Re: Problem with video sequence

Postby Berserk Cyborg » 01 Aug 2017, 19:54

Does not work as it should... at least for me. It still skips the video showing Alpha base destroyed without the diff I uploaded a few posts above. There must be some initial delay that this sequence has that is longer than most other sequences when reading in data.
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 554
Joined: 26 Sep 2016, 19:56

Re: Problem with video sequence

Postby Per » 11 Feb 2018, 16:38

Is this still a problem?
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Re: Problem with video sequence

Postby Berserk Cyborg » 11 Feb 2018, 16:42

It appears to only affect the low res video sequences (only two sequences). #4726.
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 554
Joined: 26 Sep 2016, 19:56

Re: Problem with video sequence

Postby Per » 11 Feb 2018, 17:19

Berserk Cyborg wrote:It appears to only affect the low res video sequences (only two sequences). #4726.

Oh, broken sequences? That's not good. I wonder if we can get away with having only high-res these days?
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3744
Joined: 03 Aug 2006, 19:39

Next

Return to Campaign

cron