Skip to content

ifo

Classes:

Functions:

IFO0 dataclass

IFO0(reader: SectorReadHelper)

Attributes:

Source code
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
59
60
61
62
63
64
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
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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