Skip to content

ifo

Classes:

Functions:

IFO0 dataclass

IFO0(reader: SectorReadHelper)

Attributes:

Source code
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
def __init__(self, reader: SectorReadHelper):
    reader.ifo.seek(0x3E, os.SEEK_SET)
    self.num_vts, = reader._unpack_byte(2)

    # tt_srpt
    reader._goto_sector_ptr(0x00C4)
    num_title, *_ = reader._unpack_byte(2, 2, 4)

    tt_srpt = []
    for _ in range(num_title):
        _, nr_of_angles, nr_of_ptts, _, title_set_nr, vts_ttn, sector = reader._unpack_byte(1, 1, 2, 2, 1, 1, 4)

        tt_srpt += [
            IFO0Title(title_set_nr, sector, nr_of_angles, nr_of_ptts, vts_ttn)
        ]
    self.tt_srpt = tt_srpt

num_vts instance-attribute

num_vts: int

tt_srpt instance-attribute

tt_srpt: list[IFO0Title] = tt_srpt

IFO0Title dataclass

IFO0Title(
    title_set_nr: int,
    title_set_sector: int,
    nr_of_angles: int,
    nr_of_ptts: int,
    vts_ttn: int,
)

Attributes:

nr_of_angles instance-attribute

nr_of_angles: int

nr_of_ptts instance-attribute

nr_of_ptts: int

title_set_nr instance-attribute

title_set_nr: int

title_set_sector instance-attribute

title_set_sector: int

vts_ttn instance-attribute

vts_ttn: int

IFOX dataclass

IFOX(reader: SectorReadHelper)

Attributes:

Source code
67
68
69
70
71
72
def __init__(self, reader: SectorReadHelper) -> None:
    self._vobu_admap(reader)
    self._vts_ptt_srpt(reader)
    self.vts_c_adt = CADT(reader)
    self.vtsi_mat = VTSIMat(reader)
    self.vts_pgci = VTSPgci(reader)

vts_c_adt instance-attribute

vts_c_adt: CADT = CADT(reader)

vts_pgci instance-attribute

vts_pgci: VTSPgci = VTSPgci(reader)

vts_ptt_srpt instance-attribute

vts_ptt_srpt: list[list[PTTInfo]]

vts_vobu_admap instance-attribute

vts_vobu_admap: list[int]

vtsi_mat instance-attribute

vtsi_mat: VTSIMat = VTSIMat(reader)

PTTInfo dataclass

PTTInfo(pgn: int, pgcn: int)

Attributes:

pgcn instance-attribute

pgcn: int

pgn instance-attribute

pgn: int

to_json

to_json(ifo0: IFO0, vts: list[IFOX]) -> dict[str, list[dict[str, Any]]]
Source code
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
def to_json(ifo0: IFO0, vts: list[IFOX]) -> dict[str, list[dict[str, Any]]]:
    crnt = dict[str, list[dict[str, Any]]]()

    # ifo0
    i0 = dict[str, list[dict[str, Any]]]()
    i0['tt_srpt'] = [asdict(a) for a in ifo0.tt_srpt]
    i0['pgci_ut'] = []
    i0['vts_c_adt'] = []
    i0['vts_pgcit'] = []
    i0['vts_ptt_srpt'] = []
    jj = [asdict(a) for a in vts]
    for ad in jj:
        cadt = ad['vts_c_adt']
        ad['vts_c_adt'] = cadt['cell_adr_table']
        ad['vts_pgcit'] = ad['vts_pgci']['pgcs']
        del ad['vts_pgci']
        ad['pgci_ut'] = []
        ad['tt_srpt'] = []

    crnt['ifos'] = [i0, *jj]

    return crnt