Example #1
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx15a.dat"), 0x134020,
            0x240 // 12, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx15b.dat"), 0x134260,
            0x27c0 // 12, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx15c.dat"), 0x136a20,
            0x630 // 12, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "data1.dat"), 0x131680,
            0X1f80 // 16)

        _, song_metadata = Iidx15thCsHandler.read_songlist(
            exe_filename, 0x16fe60, 0x80bc // 0x134, main_archive_file_entries,
            animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)
        common.extract_files(animation_file_entries, output_folder, raw_mode,
                             len(main_archive_file_entries))

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '15thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder,
                                    None)
Example #2
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_8", "BM2DX8B.BIN"),
            0x19a940, 0x740 // 16, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_8", "BM2DX8C.BIN"),
            0x19b080, 0x2db0 // 16, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_8", "BM2DX8A.BIN"),
            0x19a180, 0x790 // 16, len(main_archive_file_entries))

        _, song_metadata = Iidx8thCsHandler.read_songlist(
            exe_filename, 0x1a4060, 0x36e0 // 0x9c, main_archive_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '8thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(main_archive_file_entries, output_folder, { # 8th
                'base_offset': 0xfff80,
                'palette_table': 0x124a20,
                'animation_table': 0x124ba0,
                'animation_data_table': 0x127480,
                'tile_table': 0x136f10,
                'animation_parts_table': 0x191bd0,
            })
Example #3
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_old(
            exe_filename, os.path.join(input_folder, "DX2_4", "BM2DX4.BIN"),
            0x137450, 0x9d8 // 12, len(main_archive_file_entries))

        _, song_metadata = Iidx4thCsHandler.read_songlist(
            exe_filename, 0x8bc98, 0x2010 // 0x90, main_archive_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '4thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(main_archive_file_entries, output_folder, { # 4th
                'base_offset': 0xff000,
                'palette_table': 0x12b4f0,
                'animation_table': 0x8e108,
                'animation_data_table': 0x91640,
                'tile_table': 0xa6a80,
                'animation_parts_table': 0x11ec50,
            })
Example #4
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "bm2dx13a.dat"), 0x112a00,
            0xc0 // 8, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "bm2dx13b.dat"), 0x112ac0,
            0x1900 // 8, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "bm2dx13c.dat"), 0x1143c0,
            0x4a0 // 8, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "data1.dat"), 0x10d7f8,
            0X1bf0 // 16)

        _, song_metadata = Iidx13thCsHandler.read_songlist(
            exe_filename, 0x1353e0, 0x71c0 // 0x118, main_archive_file_entries,
            animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)
        common.extract_files(animation_file_entries, output_folder, raw_mode,
                             len(main_archive_file_entries))

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '13thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder,
                                    None)
Example #5
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "DATA2.DAT"), 0xcdc90,
            0x1a38 // 8, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "DATA1.DAT"), 0xc8e08,
            0x11b0 // 16)

        _, song_metadata = Iidx10thCsHandler.read_songlist(
            exe_filename, 0x10bae0, 0x7d20 // 0x16c, main_archive_file_entries,
            animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)
        common.extract_files(animation_file_entries, output_folder, raw_mode,
                             len(main_archive_file_entries))

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '10thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder,
                                    None)
Example #6
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_old(
            exe_filename, os.path.join(input_folder, "DX2_3", "BM2DX3.BIN"),
            0x145cd0, 0x1050 // 12, len(main_archive_file_entries))

        _, song_metadata = Iidx3rdCsHandler.read_songlist(
            exe_filename, 0x77fc8, 0x27b8 // 0x7c, main_archive_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '3rdcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(main_archive_file_entries, output_folder, { # 3rd
                'base_offset': 0xff000,
                'palette_table': 0x13d128,
                'animation_table': 0x7ac70,
                'animation_data_table': 0x7df48,
                'tile_table': 0x94ff8,
                'animation_parts_table': 0x130ac8,
            })
Example #7
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries1 = filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_6", "BM2DX6A.BIN"),
            0x180058, 0x1590 // 16, 0)
        main_archive_file_entries2 = filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_6", "BM2DX6B.BIN"),
            0x1815e8, 0x5b0 // 16, len(main_archive_file_entries1))
        main_archive_file_entries = main_archive_file_entries1 + main_archive_file_entries2

        _, song_metadata = Iidx6thCsHandler.read_songlist(
            exe_filename, 0x1885b8, 0x8660 // 0xa0, main_archive_file_entries,
            [
                0,
                len(main_archive_file_entries1),
                len(main_archive_file_entries2)
            ])

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '6thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(main_archive_file_entries, output_folder, { # 6th
                'base_offset': 0xff000,
                'palette_table': 0x171138,
                'animation_table': 0xd1dc4,
                'animation_data_table': 0xd63a8,
                'tile_table': 0xeb3d8,
                'animation_parts_table': 0x15e298,
            })
Example #8
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_7", "BM2DX7B.BIN"),
            0x1b7460, 0x8a0 // 16, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_7", "BM2DX7C.BIN"),
            0x1b9a30, 0x2bc0 // 16, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_old2(
            exe_filename, os.path.join(input_folder, "DX2_7", "BM2DX7A.BIN"),
            0x1b6a50, 0xa10 // 16, len(main_archive_file_entries))

        _, song_metadata = Iidx7thCsHandler.read_songlist(
            exe_filename, 0x1c1af0, 0x3840 // 0xa0, main_archive_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '7thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(main_archive_file_entries, output_folder, { # 7th
                'base_offset': 0xfff80,
                'palette_table': 0xf66b0,
                'animation_table': 0xf68d0,
                'animation_data_table': 0xfa9a0,
                'tile_table': 0x111610,
                'animation_parts_table': 0x1aec50,
            })
Example #9
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "DATA2.DAT"), 0xee440,
            0x1b40 // 8, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "DATA1.DAT"), 0xe83e8,
            0x19c0 // 16)

        _, song_metadata = Iidx11thCsHandler.read_songlist(
            exe_filename, 0x1c21f0, 0x6f40 // 0x140, main_archive_file_entries,
            animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)
        common.extract_files(animation_file_entries, output_folder, raw_mode,
                             len(main_archive_file_entries))

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '11thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder,
                                    None)
Example #10
0
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx14a.dat"), 0x11ad60,
            0x248 // 12, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx14b.dat"), 0x11afa0,
            0x26ac // 12, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx14c.dat"), 0x11d64c,
            0x72c // 12, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "data1.dat"), 0x118500,
            0X1e80 // 16)

        _, song_metadata = Iidx14thCsHandler.read_songlist(
            exe_filename, 0x156300, 0x76b4 // 0x11c, main_archive_file_entries,
            animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)
        common.extract_files(animation_file_entries, output_folder, raw_mode,
                             len(main_archive_file_entries))

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '14thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder,
                                    None)
    def extract(exe_filename, input_folder, output_folder, raw_mode,
                conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx16a.dat"), 0x140e90,
            0x2a0 // 12, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx16b.dat"), 0x141130,
            0x28f8 // 12, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern2(
            exe_filename, os.path.join(input_folder, "bm2dx16c.dat"), 0x143a28,
            0x660 // 12, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(
            exe_filename, os.path.join(input_folder, "data1.dat"), 0x139980,
            0x5bd0 // 16)

        _, song_metadata = Iidx16thEmpressCsHandler.read_songlist(
            exe_filename, 0x17e0f0, 0x7850 // 0x134, main_archive_file_entries,
            animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder,
                             raw_mode)
        common.extract_files(animation_file_entries, output_folder, raw_mode,
                             len(main_archive_file_entries))

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder,
                                 '16thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder,
                                    None)
Example #12
0
    def extract(exe_filename, input_folder, output_folder, raw_mode, conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern(exe_filename, os.path.join(input_folder, "DATA2.DAT"), 0xba710, 0x1230 // 8, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(exe_filename, os.path.join(input_folder, "DATA1.DAT"), 0xb6ef0, 0x790 // 16)

        BeatmaniaUsCsHandler.read_songlist(exe_filename, 0xbf510, 0x6a14 // 0x174, main_archive_file_entries, animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder, raw_mode)
        common.extract_files(animation_file_entries, output_folder)

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder, '9thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder, None)
Example #13
0
    def extract(exe_filename, input_folder, output_folder, raw_mode, conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_modern(exe_filename, os.path.join(input_folder, "bm2dx12a.dat"), 0x105260, 0xe0 // 8, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern(exe_filename, os.path.join(input_folder, "bm2dx12b.dat"), 0x105340, 0x1700 // 8, len(main_archive_file_entries))
        main_archive_file_entries += filetable_readers.filetable_reader_modern(exe_filename, os.path.join(input_folder, "bm2dx12c.dat"), 0x106a40, 0x458 // 8, len(main_archive_file_entries))

        animation_file_entries = filetable_readers.dat_filetable_reader_modern(exe_filename, os.path.join(input_folder, "data1.dat"), 0x100108, 0x1be0 // 16)

        _, song_metadata = Iidx12thCsHandler.read_songlist(exe_filename, 0x115f10, 0x7470 // 0x144, main_archive_file_entries, animation_file_entries)

        common.extract_files(main_archive_file_entries, output_folder, raw_mode)
        common.extract_files(animation_file_entries, output_folder, raw_mode, len(main_archive_file_entries))

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder, '12thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(animation_file_entries, output_folder, None)
Example #14
0
    def extract(exe_filename, input_folder, output_folder, raw_mode, conversion_mode):
        main_archive_file_entries = []
        main_archive_file_entries += filetable_readers.filetable_reader_old2(exe_filename, os.path.join(input_folder, "DX2_5", "BM2DX5.BIN"), 0x1837d8, 0x1230 // 16, len(main_archive_file_entries))

        _, song_metadata = Iidx5thCsHandler.read_songlist(exe_filename, 0xae520, 0x5af6 // 0xa4, main_archive_file_entries)

        common.extract_files(main_archive_file_entries, output_folder, raw_mode)

        if 'song' in conversion_mode and not raw_mode:
            common.extract_songs(main_archive_file_entries, output_folder, '5thcs', song_metadata)

        if 'overlay' in conversion_mode and not raw_mode:
            common.extract_overlays(main_archive_file_entries, output_folder, { # 5th
                'base_offset': 0xff000,
                'palette_table': 0x174828,
                'animation_table': 0xb44a8,
                'animation_data_table': 0xb9608,
                'tile_table': 0xd2c70,
                'animation_parts_table': 0x163190,
            })