View Full Version : For r0IZ!
maksa
6th October 2004, 21:34
Hey r0IZ, look at the Parental Level post. Do you think it could be implemented in PGCEdit as a macro. Can you search for certain commands like:
gprm(whatever)=mov sprm(13)
and replace them with:
gprm(whatever)=mov 8?
Also all TmpPLCmd should be set to 15.
What is your opinion?
jeanl
6th October 2004, 23:34
r0IZ
look, maksa trying to wriggle out of writing a guide! ;)
No, but no kidding, I second maksa's idea of a macro (if we can verify that the trick works in lots of cases).
In fact, what would be really neat (hang on r0IZ!) would be if we could add macros to Pgcedit! (would that require for us to learn tck? or would that require you to come up with a "scripting language" ARGH!)
Then we could share our little tricks in the form of "add-ons" instead of guides!
Jean
r0lZ
7th October 2004, 00:53
@maksa
Yes, in theory, it's not difficult. Although here in zone 2 we don't have much PML protected DVDs :) I don't have any :(
So, testing will be hard!
In addition to what you suggest to do, I think it's better to reset the title's Parental Managment Masks in the VMG_TT_SRPT table to 0, too.
So, the macro will do:
- Change all instances of SPRM(13) by constant 15.
- Change all SetTmpPML to Goto (to same line).
- Erase the VMG_PTL_MAIT table.
- Reset all PM Masks in VMG_TT_SRPT to 0.
- Reset the Category Parental ID mask in all VTS_PGCITI to 0.
Maybe in next release...
2COOL
7th October 2004, 00:55
Originally posted by r0lZ
So, the macro will do:
- Change all instances of SPRM(13) by constant 15.
- Change all SetTmpPML to Goto (to same line).
- Erase the VMG_PTL_MAIT table.
- Reset all PM Masks in VMG_TT_SRPT to 0.
Don't forget this mask in VTS_*_0.IFO / VTS_PGCITI.
VTS_PGC_1: Category Parental ID mask 0
r0lZ
7th October 2004, 00:59
@jeanl
Macros in PgcEdit should require a specific organization, and I'm affraid I have to rewrote a big part of the program to be able to do that.
But remember PgcEdit is open source, so if you want to write extensions or patches, it is 'theorically' possible (if you are crazy enough to learn Tcl/Tk and the code I wrote :p)
r0lZ
7th October 2004, 01:01
Thanks, 2COOL!
(prev post updated)
2COOL
7th October 2004, 01:02
Originally posted by r0lZ
if you are crazy enough to learn Tcl/Tk and the code I wrote :p Can you say "Job Security"? :p:p
maksa
7th October 2004, 14:04
I noticed this: If you erase MAIT TAble and replace all commands in all PGCs all those instances of Parental ID masks go to 0 anyway.
I could write a guide, but I'd rather sent couple of protected DVDs to ROIZ for practice.
r0lZ
7th October 2004, 14:16
I could write a guide, but I'd rather sent couple of protected DVDs to ROIZ for practice.Good idea! :)
maksa
7th October 2004, 14:20
for training purposes only, you can NOT watch the movie...:) :D ;)
They are all NTSC Regon 0.
r0lZ
7th October 2004, 14:26
Of course! :p Don't send me any VOB, please!
r0lZ
7th October 2004, 15:46
Huston, we have a problem! :eek:
[B1 21 00 02 00 8D 00 01] 1 if ( gprm(0) == sprm(13:Parental level) ) then { (CSetCLnk) Set gprm(1) =(mov) 2 ; LinkTopCell }
and
[A1 A1 8D 00 00 03 00 01] 1 if ( gprm(0) == 3 ) then { (CSetCLnk) Set gprm(1) =(mov) sprm(13:Parental level) ; LinkTopCell }
It is not possible to replace the SPRM 13 by the constant 15 in thoses precise cases. CSetCLnk may only use ONE constant value, either in the IF check, OR in the Set part. We must keep the constant value in the Set part (here 2 and 3), so I think there is no solution.
Any suggestion?
maksa
7th October 2004, 16:27
CsetLnk works, maybe that is why 8 worked for me, but I am no expert.
Could we replace those with unconditional jumpTT or LinkCell?
jeanl
7th October 2004, 17:30
code:[B1 21 00 02 00 8D 00 01] 1 if ( gprm(0) == sprm(13:Parental level) ) then { (CSetCLnk) Set gprm(1) =(mov) 2 ; LinkTopCell }
and
[A1 A1 8D 00 00 03 00 01] 1 if ( gprm(0) == 3 ) then { (CSetCLnk) Set gprm(1) =(mov) sprm(13:Parental level) ; LinkTopCell }
It is not possible to replace the SPRM 13 by the constant 15 in thoses precise cases. CSetCLnk may only use ONE constant value, either in the IF check, OR in the Set part. We must keep the constant value in the Set part (here 2 and 3), so I think there is no solution.
Well, there are many other commands that use gprm/sprm lookup but cannot use a constant value. These have to be replaced by a block of commands. In the example above what's wrong with:
1 if(gprm(0) != 15) goto 3
2 Set gprm(1) =(mov) 2 ; LinkTopCell }
3 ...
Of course you can't do that in a button command or a cell command so in these cases you'd be really screwed.
Am I missing something?
Jean
r0lZ
7th October 2004, 19:06
No jeanl, you're right.
Replacing the SPRM 13 with 15 may be impossible in several cases.
So, if I wrote the macro, I will only do:
- Change all SetTmpPML to Goto (to same line).
- Erase the VMG_PTL_MAIT table.
- Reset all PM Masks in VMG_TT_SRPT to 0.
- Reset the Category Parental ID mask in all VTS_PGCITI to 0.
- and set "sprm(13:" in the search field. The user will need to change the commands manually... Sorry, but it's too complex to do automatically.
jeanl
7th October 2004, 19:21
- and set "sprm(13:" in the search field. The user will need to change the commands manually... Sorry, but it's too complex to do automatically.
yep, it looks that way to me...
Jeanl
maksa
7th October 2004, 21:10
You make button: 1. Clear MAIT Table!
2. Write short info how to replace sprm(13) and SetTmpPml commands.
For reseting Parental ID masks, I think it's not necessary. They are 0 (zero) after step 1.
r0lZ
8th October 2004, 00:46
For reseting Parental ID masks, I think it's not necessary. They are 0 (zero) after step 1.Seems strange. Deleting the table do not change anything in the other tables... I must test that!
2COOL
8th October 2004, 01:14
Originally posted by maksa
For reseting Parental ID masks, I think it's not necessary. They are 0 (zero) after step 1. I was going to comment on this matter earlier and request for confirmation but I had priorities to tend to.
maksa
8th October 2004, 03:05
and was tired last night when doing it. In Predator I did reset them via IfoEdit. In love actually I didn't touch them, in all honesty, didn't even check them, but DVD was working OK.
maksa
8th October 2004, 03:08
I have checked now. They are not changed, Parental ID Field and parental ID mask are there 01 and 0001 values, but it seems that doesn't matter.
But, again, I am relly just no expert! You guys decide, I guess it wouldn't harm to reset them to 0.
Regards....
2COOL
8th October 2004, 03:12
So you are saying that in your second movie, Love Actually, it still worked without resetting the masks? IMHO, if I had to make a decision to reset or not reset, I'd opt for resetting. Won't hurt to do it anyways. That way, it'll hopefully work for stubborn DVD Players and it cleans up the IFO a little.
maksa
8th October 2004, 04:46
Did The Big Fisheterday...
Just removed ptl_Mait table and protection is gone. Good enough, no TmpPM commands or calls for SPRM(13).
Shipping News - reset Table;
- Set sprm(4) =mov 15 ""
-Replaced SetTmpPML with "Goto 3". Works fine!
Situation not so dark.
maksa
8th October 2004, 04:50
Shipping News:
VMG_PTT_SRPT
Parental ID Field "nonzero"
VTS_PGCITI
Parental ID Mask "nonzero".
And it works fine!
2COOL
8th October 2004, 05:07
Again, it wouldn't hurt to reset them anyway if a macro was written. Just cleans up the residue. ;)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.