datagutten / ShockwaveParser

A python class to parse and extract data from Shockwave/Macromedia director movies
GNU General Public License v3.0
4 stars 0 forks source link

Problem with extract assets #1

Open ldejna opened 3 years ago

ldejna commented 3 years ago

When running ShockwaveExtractor.py, in each dir file regardless of the version of Macromedia Director I get:

File "/Users/Desktop/Python/SE/ShockwaveExtractor.py", line 393, in <module>
    main(sys.argv[1:])
  File "/Users/Desktop/Python/SE/ShockwaveExtractor.py", line 73, in main
    rd.read()
  File "/Users/Desktop/Python/SE/ShockwaveParser.py", line 421, in read
    entry = self.readEntry(i)
  File "/Users/Desktop/Python/SE/ShockwaveParser.py", line 805, in readEntry
    self.castLibraries[ castNum ]['libSlot'] = castFileSlot
IndexError: list index out of range
example_1 example_2
markhughes commented 1 year ago

I get a similar issue


...
b'Cast libraries: 7'
b' Internal: 80'
b' people: 512'
b' amecode\x00\x00\x01\x00\x01\x00<\x00\x03\x04\x00\nencryption\x00\x00\x02\x00\x01\x00\x08\x00\x04\x04\x00\x07display\x00\x00\x01\x00\x01\x00;\x00\x06\x04\x00\tisoengine\x00\x00\x01\x00\x01\x00q\x00\x07\x04\x00\x06sounds\x00\x00\x00\x00\x01\x00\x10\x00\x08\x04\x00droS\xb4: 0'
b' : 5120'
b' \x00\x05\x00\x01\x00\x01\x00\r\x00\x01\x00\x19\x00\x01\x00\x0e\x00\x01\x00\x10\x00\x01\x00\x11\x00\x01\x00\x1a\x00\x01\x00D\x00\x01\x00\x16\x00\x01\x00\x17\x00\x05\x00\x1a\x00\x05: 5'
b' : 1'
b' : 1'
b'[UNHANDLED KEY 12] Link file entry #12673 (DRCF) to cast library 0 (1024)'
b'[UNHANDLED KEY 14] Link file entry #12674 (FXmp) to cast library 0 (1024)'
b'[UNHANDLED KEY 16] Link file entry #12675 (MCsL) to cast library 0 (1024)'
b'[UNHANDLED KEY 18] Link file entry #12689 (SCRF) to cast library 0 (1024)'
b'[UNHANDLED KEY 19] Link file entry #12676 (Sord) to cast library 0 (1024)'
b'[UNHANDLED KEY 21] Link file entry #12677 (VWFI) to cast library 0 (1024)'
b'[UNHANDLED KEY 22] Link file entry #12680 (VWLB) to cast library 0 (1024)'
b'[UNHANDLED KEY 23] Link file entry #12678 (VWSC) to cast library 0 (1024)'
b'[UNHANDLED KEY 25] Link file entry #12690 (SCRF) to cast library 1 (1025)'
b'[UNHANDLED KEY 26] Link file entry #12691 (SCRF) to cast library 2 (1026)'
b'[UNHANDLED KEY 27] Link file entry #12692 (SCRF) to cast library 3 (1027)'
b'[UNHANDLED KEY 28] Link file entry #12693 (SCRF) to cast library 4 (1028)'
b'[UNHANDLED KEY 29] Link file entry #12694 (SCRF) to cast library 5 (1029)'
b'[UNHANDLED KEY 30] Link file entry #12695 (SCRF) to cast library 6 (1030)'
b'[UNHANDLED KEY 31] Link file entry #12696 (SCRF) to cast library 7 (1031)'
Traceback (most recent call last):
  File "/Users/markhughes/ShockwaveParser/ShockwaveExtractor.py", line 393, in <module>
    main(sys.argv[1:])
  File "/Users/markhughes/ShockwaveParser/ShockwaveExtractor.py", line 73, in main
    rd.read()
  File "/Users/markhughes/ShockwaveParser/ShockwaveParser.py", line 425, in read
    entry = self.readEntry(i)
            ^^^^^^^^^^^^^^^^^
  File "/Users/markhughes/ShockwaveParser/ShockwaveParser.py", line 793, in readEntry
    if not 'linkedEntries' in self.castLibraries[castNum]:
                              ~~~~~~~~~~~~~~~~~~^^^^^^^^^
IndexError: list index out of range```