PDA

View Full Version : doing my first button over video DVD: Resident Evil Deluxe Edition R2:


killingspree
27th August 2003, 15:10
hi,
well actually in the guides (both the one by SeYton and the one by Influenza) this thing doesn't really sound too bad... haven't had time to do the matrix though...

anyway, thid DVD seems to have a little different structure, or mechanism and i'm just not really getting it... perhaps you guys can help :)

so as i said, the title is Resident Evil Deluxe Edition Region 2.

some notes to the DVD structure:
in VTS 1 you find the main movie. there's two PGCs that are almost identical except one little vobid at the very end of PGC 2. i suppose, one of the two PGCs is used for normal playback, the other for button over video playback

the extras used for the button over video are all stored in VTS 2. and somehow they're stored more than a little strange.
PGC 1: contains all extras, each one in a seperate vobid 2 to 9.
the following PGCs each contain only one vobid, but one after the another from PGC 1. so PGC 2 contains vobid 2, PGC 3 vobid 3 etc etc...afterwards there are two PGCs that just use vobid 1. those are very short clips, i'd say dummy tracks. then there's one PGC for each vobid from 2 to 9 again.
VTS 3 and 4 are some intros only...

anyway, i've exactly recreated the DVD structure by ripping by vobid and have inserted the buttons at the right place, but i have no clue how i can figure out the values which i have to enter to make the buttons work :)
unlike the fairly clear structure of the ifos in the guides, my ifo contains some kind of a conditional statement.
anyway, here it is... hope you guys can make some sense of it!


[000000f4] 1.Pre Command Set GPreg<0> mov (set-val)<0> [71 00 00 00 00 00 00 00 ]
[000000fc] 2.Pre Command Set GPreg<14> mov SPreg<audio stream number (ASTN)> [61 00 00 0e 00 81 00 00 ]
[00000104] 3.Pre Command If GPreg<14> <= (cmp-val)<3> then Set GPreg<1> mov GPreg<14> [61 e0 0e 01 00 0e 00 03 ]
[0000010c] 4.Pre Command If GPreg<10> == (cmp-val)<0> then Set GPreg<10> mov (set-val)<1> [71 a0 0a 0a 00 01 00 00 ]
[00000114] 5.Pre Command Set GPreg<10> mul (set-val)<1024> [75 00 00 0a 04 00 00 00 ]
[0000011c] 6.Pre Command (SetHL_BTNN) Set Button Nr: GPreg<10> [46 00 00 00 00 0a 00 00 ]
[00000124] 7.Pre Command Set GPreg<10> mov (set-val)<0> [71 00 00 0a 00 00 00 00 ]
[0000012c] 8.Pre Command Set GPreg<5> mov (set-val)<0> [71 00 00 05 00 00 00 00 ]
[00000134] 9.Pre Command Set GPreg<11> mov (set-val)<0> [71 00 00 0b 00 00 00 00 ]
[0000013c] 10.Pre Command Set GPreg<14> mov (set-val)<0> [71 00 00 0e 00 00 00 00 ]
[00000144] 1.Post Command (LinkCN) Link Cell 1, [button=0] [20 07 00 00 00 00 00 01 ]
[0000014c] 1.Cell Command (LinkCN) Link Cell 1, [button=0] [20 07 00 00 00 00 00 01 ]


thanks for any help in advance, if you need any more info, let me know

steVe

influenza
27th August 2003, 15:26
Just a little question here: what exactly did you paste here (and how, still didn't figure out how to paste the content of an ifo file)? Is it from the video_ts.ifo or so? I don't see any jump commands here so please let me know.

As far as the structure: 1 pgc with al vobids and then different pgcs for every seperate vob. I guess that it's also possible to play the content without using the BOV? And that you have the choice between play all and select seperately? Something like that I guess (I don't have this title)

or even better send me the ifo files here (influenza@influenza.speedlinq.nl)

killingspree
27th August 2003, 16:35
hi and thanks for the quick answer!

to your q: yes it is from the video_ts.ifo! or to be more specific from the VMGM_PGCI_UT - LU_1 (Deutsch) PGC1 Menu

how just click into one line of the ifo 'page' you want to copy and hit 'copy2clipboard' in ifoedit... to keep most of the formating i pasted it as [ code ]. afaik you can only copy the whole content of the currently displayed page... but you can always delte the rest after pasting anyway!

anyway, no you cannot play them seperately as this is one of this two disc sets where disc one (the one i'm currently doing) just contains the main movie. oh well not really a reason i guess. but all you can change in the main menu is subs, langs, BOV on/off, commentary and chapters

oh and i sent the ifo files to your mail adress!!

thanks again
steVe

influenza
27th August 2003, 16:45
If you press the button only a single piece (vobid) will be played I assume?

killingspree
27th August 2003, 16:46
true

influenza
27th August 2003, 17:01
Ok this is what happens:

The buttons functionality is based in PGC two of your mani movie:

PGC Command Table:
[000000ec] Number of Pre Commands 14 [000e]
[000000ee] Number of Post Commands 5 [0005]
[000000f0] Number of Cell Commands 1 [0001]
[000000f2] Size of Command table in bytes 167 [00a7]
[000000f4] 1.Pre Command If GPreg<10> != (cmp-val)<2> then Set GPreg<10> mov (set-val)<1> [71 b0 0a 0a 00 01 00 02 ]
[000000fc] 2.Pre Command Set GPreg<9> mov (set-val)<2> [71 00 00 09 00 02 00 00 ]
[00000104] 3.Pre Command Set GPreg<14> mov (set-val)<9> [71 00 00 0e 00 09 00 00 ]
[0000010c] 4.Pre Command If GPreg<5> == GPreg<14> then (SetSTN) Set Audio Stream: GPreg<3> Subpicture Stream: GPreg<2> [41 20 00 83 82 00 05 0e ]
[00000114] 5.Pre Command Set GPreg<5> mov (set-val)<0> [71 00 00 05 00 00 00 00 ]
[0000011c] 6.Pre Command If GPreg<4> == (cmp-val)<8> then (LinkCN) Link Cell 46, [button=0] [20 a7 00 04 00 08 00 2e ]
[00000124] 7.Pre Command If GPreg<4> == (cmp-val)<7> then (LinkCN) Link Cell 42, [button=0] [20 a7 00 04 00 07 00 2a ]
[0000012c] 8.Pre Command If GPreg<4> == (cmp-val)<6> then (LinkCN) Link Cell 36, [button=0] [20 a7 00 04 00 06 00 24 ]
[00000134] 9.Pre Command If GPreg<4> == (cmp-val)<5> then (LinkCN) Link Cell 28, [button=0] [20 a7 00 04 00 05 00 1c ]
[0000013c] 10.Pre Command If GPreg<4> == (cmp-val)<4> then (LinkCN) Link Cell 22, [button=0] [20 a7 00 04 00 04 00 16 ]
[00000144] 11.Pre Command If GPreg<4> == (cmp-val)<3> then (LinkCN) Link Cell 17, [button=0] [20 a7 00 04 00 03 00 11 ]
[0000014c] 12.Pre Command If GPreg<4> == (cmp-val)<2> then (LinkCN) Link Cell 11, [button=0] [20 a7 00 04 00 02 00 0b ]
[00000154] 13.Pre Command If GPreg<4> == (cmp-val)<1> then (LinkCN) Link Cell 3, [button=0] [20 a7 00 04 00 01 00 03 ]
[0000015c] 14.Pre Command Set GPreg<4> mov (set-val)<0> [71 00 00 04 00 00 00 00 ]
[00000164] 1.Post Command Set GPreg<9> mov (set-val)<2> [71 00 00 09 00 02 00 00 ]
[0000016c] 2.Post Command Set GPreg<14> mov (set-val)<0> [71 00 00 0e 00 00 00 00 ]
[00000174] 3.Post Command If GPreg<4> != GPreg<14> then (CallSS VMGM) Call VMG PGC: 5 [Resume Cell: 1] [30 38 00 05 01 c0 04 0e ]
[0000017c] 4.Post Command Set GPreg<10> mov (set-val)<1> [71 00 00 0a 00 01 00 00 ]
[00000184] 5.Post Command (CallSS VMGM) Call VMG PGC: 1 [Resume Cell: 1] [30 08 00 01 01 c0 00 00 ]
[0000018c] 1.Cell Command Set GPreg<4> mov (set-val)<0>(Link subset) LinkTailPGC [71 01 00 04 00 00 04 0d ]

You see that GPRM 4 is compared to a certain value to make sure the movie continues at the correct position.

Besides that You see that if GPRM 4 and 14 are the same a jump will be made to VMG PGC 5:

3.Post Command If GPreg<4> != GPreg<14> then (CallSS VMGM) Call VMG PGC: 5 [Resume Cell: 1] [30 38 00 05 01 c0 04 0e ]

In This PGC5 of the VMG you can see that there's a jump to title 12, wich is VTS_02.X -> now that's nice, because that's the extra you're mentioning.


PGC Command Table:
[000000ec] Number of Pre Commands 1 [0001]
[000000ee] Number of Post Commands 0 [0000]
[000000f0] Number of Cell Commands 0 [0000]
[000000f2] Size of Command table in bytes 15 [000f]
[000000f4] 1.Pre Command (JumpTT) Jump to Title: 12 [30 02 00 00 00 0c 00 00 ]

The only thing I don't get this quickly is how it then is decided wich extra will play.

I would try setting GPRM 4 to the values from the ifo (1,2,3,4 etc) (set to GPRM 4,1 linktailpgc etc) And see what happens, from there we'll have to see.

So try 1 or two butons and let me know the result ok?

influenza
27th August 2003, 17:11
Ok I found it, if you take a look at VTS_02_0.ifo the commands fro pgc 10:


PGC Command Table:
[000000ec] Number of Pre Commands 10 [000a]
[000000ee] Number of Post Commands 1 [0001]
[000000f0] Number of Cell Commands 0 [0000]
[000000f2] Size of Command table in bytes 95 [005f]
[000000f4] 1.Pre Command Set GPreg<9> mov (set-val)<4> [71 00 00 09 00 04 00 00 ]
[000000fc] 2.Pre Command If GPreg<4> == (cmp-val)<8> then (LinkPGCN) Link PGC 19 [20 a4 00 04 00 08 00 13 ]
[00000104] 3.Pre Command If GPreg<4> == (cmp-val)<7> then (LinkPGCN) Link PGC 18 [20 a4 00 04 00 07 00 12 ]
[0000010c] 4.Pre Command If GPreg<4> == (cmp-val)<6> then (LinkPGCN) Link PGC 17 [20 a4 00 04 00 06 00 11 ]
[00000114] 5.Pre Command If GPreg<4> == (cmp-val)<5> then (LinkPGCN) Link PGC 16 [20 a4 00 04 00 05 00 10 ]
[0000011c] 6.Pre Command If GPreg<4> == (cmp-val)<4> then (LinkPGCN) Link PGC 15 [20 a4 00 04 00 04 00 0f ]
[00000124] 7.Pre Command If GPreg<4> == (cmp-val)<3> then (LinkPGCN) Link PGC 14 [20 a4 00 04 00 03 00 0e ]
[0000012c] 8.Pre Command If GPreg<4> == (cmp-val)<2> then (LinkPGCN) Link PGC 13 [20 a4 00 04 00 02 00 0d ]
[00000134] 9.Pre Command If GPreg<4> == (cmp-val)<1> then (LinkPGCN) Link PGC 12 [20 a4 00 04 00 01 00 0c ]
[0000013c] 10.Pre Command (CallSS VMGM) Call VMG PGC: 1 [Resume Cell: 1] [30 08 00 01 01 c0 00 00 ]
[00000144] 1.Post Command (CallSS VMGM) Call VMG PGC: 1 [Resume Cell: 1] [30 08 00 01 01 c0 00 00 ]

So here you see again that GPRM 4 is compared to the same values and according to the value a certain PGC is played.

So I would say set GPRM 4 to 1,2,3,4 etc and then use the post command of the pgc.

Hope it's a little bit clear and helps you out!

killingspree
27th August 2003, 17:33
oh man...
i can tell you this is getting horrifyingly timeintensive ;)

anyway, while doing the above suggested (after trying to make sense out of it for quite some time) i set my first button as you suggested to

GPRM 4; 1; LinktailPGC; button=1

unfortunately the compile fails with the following message:

No valid Sub-Picture exists for highlight 00:48:13;01 in Track(VTS__01_V01.I-TFF.16~9_1-) Sub-Picture stream 6.

but i guess that's a problem i'm going to have to deal with by myself...

anyway, two more troubles that have arisen (besides the fact that i cannot even compile my little prject :)

1) all of my buttons seems to be button 1... in the rectangle i've drawn when i did the buttons a small "1" is displayed in the upper left corner. :confuseD:

2) i think i fu**ed up when reauthoring my little gem... somehow i did it by vobid, but i guess i should have done it by cellid, as now not all cells that have been present before are here right now. [swears]
anyway, do you know by any chance if and if yes how i can manually add all the cellpoints i need to the existing project? i'd hate to have to start allover again :/

once again thanks for your time &help

steVe
edit: i saw your reply only after typing this... but i guess it doesn't help me over the barriers i'm facing right now, although the info is worth a lot for my later work :) thanks again

influenza
27th August 2003, 20:25
When you get the no valid subpicture message, sometimes all you need to do is right mouseclick on the highlight and choose align highlight.

I guess adding cellpoints is going to be very difficult.

I'm also sure you can do this by vobid, I've never done anything by celliod since it's not necessary.

influenza
27th August 2003, 20:28
addition: export your script and load in into scenchap. Use ifoedit to save the chapter points (vobid for scenarist).

Then create script and import into scenarist. I'm afraid you'll have to recreate your buttons, but just give it a try.

and don't worry about the button numbering either, jsut leave them to the default value.

influenza
28th August 2003, 08:59
So do you still like BOV, hehe? The first couple of time it's very time consuming, but when you get the hang of it, you'll get faster (I hope).

Some tips:

- Make sure you add the BOV subpicture stream to EVERY subpicture track you have. (use blanks in your 'normal' subpicture streams, just as explained in SeYton's guide)
- Make sure the BOV subpicture streams are set to have a forced start.

Short summary of what happens for example button 1:

- When button is pressed GPRM 4 is assigned with value 1 and through the post commands of PGC2 of title 1 VMG PGC5 is called.
- In this PGC there's a direct jump to title 12. In the video_ts.ifo we see that title 12 is VTS_02_x PGC 10.
In the pre-commands of this PGC the value of GPRM4 is checked. If it's one then a jump will be made to PGC12. Your extra is played then and the post command of PGC12 jumps back to the VMG. PGC 6 this time.
- In PGC 6 there's a jump to title2 (which is VTS_01_x PGC2). So we're back where we started, the main movie. As you can see in the pre commands of this PGC the value of GPRM4 is checked again. In our case it's one, which means the movie shall continue at cell 3.

killingspree
28th August 2003, 11:05
hi
"So do you still like BOV, hehe?"
yes i definitely do. the feature is really neat and i just want it on my backup DVD. if i wouldn't like it that much i'd just say screw it, rip the main movie only, leave in a DTS track instead of the extras and have a perfectly looking DVD backup...
but you know i guess it's also doing something new, something i've never done before :) so at least equally important to having it in the final result is doing it in the first place :D

anyway, thanks for the time you invest in this... it's really amazing how much you know in this area! i'll check everything in the next few hours, but first i got some other work to do :)

i'm sure i'm gonna come back with more questions afterwards ;)

steVe

influenza
28th August 2003, 11:09
I've seen more then enough BOV titles to encounter all possible problems I guess (at least hope). At the moment i'm trying to guide two people (including you) through the proces. Not having the title make it somewhat challenging. But I like doing it. :D