Example #1
0
def exportAll(parent, tekkenVersion, key_match):
    game_addresses.reloadValues()
    player_addresses = [
        game_addresses.addr[key] for key in game_addresses.addr
        if match(key_match, key)
    ]
    TekkenExporter = exportLib.Exporter(tekkenVersion)

    exportedMovesets = []

    for playerAddr in player_addresses:
        moveset_name = TekkenExporter.getPlayerMovesetName(playerAddr)
        if moveset_name not in exportedMovesets:
            print("Requesting export for %s..." % (moveset_name))
            moveset = TekkenExporter.exportMoveset(playerAddr)
            exportedMovesets.append(moveset_name)
            print()
        else:
            print('Player', moveset_name,
                  'already exported, not exporting again.')

    print('\nSuccessfully exported:')
    for name in exportedMovesets:
        print(name)

    parent.updateCharacterlist()
Example #2
0
def exportAll(parent, TekkenVersion):
    game_addresses.reloadValues()

    TekkenExporter = exportLib.Exporter(TekkenVersion,
                                        folder_destination=charactersPath)
    playerAddr = TekkenExporter.getP1Addr()

    exportedMovesets = []
    playerSize = game_addresses.addr[TekkenVersion + '_playerstruct_size']

    playerCount = 2
    if TekkenVersion + '_player_count' in game_addresses.addr:
        playerCount = game_addresses.addr[TekkenVersion + '_player_count']

    for i in range(playerCount):
        moveset_name = TekkenExporter.getPlayerMovesetName(playerAddr)
        if moveset_name not in exportedMovesets:
            print("Requesting export for %s..." % (moveset_name))
            moveset = TekkenExporter.exportMoveset(playerAddr)
            exportedMovesets.append(moveset_name)
            print()
        else:
            print('Player', moveset_name,
                  'already exported, not exporting again.')
        playerAddr += playerSize

    print('\nSuccessfully exported:')
    for name in exportedMovesets:
        print(name)

    parent.updateCharacterlist()
Example #3
0
def exportAllTag2(parent, tekkenVersion, playerSize):
    game_addresses.reloadValues()

    TekkenExporter = exportLib.Exporter(tekkenVersion,
                                        folder_destination=charactersPath)
    playerAddr = TekkenExporter.getCemuP1Addr()

    exportedMovesets = []

    for i in range(4):
        addr = playerAddr + (i * playerSize)
        moveset_name = TekkenExporter.getPlayerMovesetName(addr)
        if moveset_name not in exportedMovesets:
            print("Requesting export for %s..." % (moveset_name))
            moveset = TekkenExporter.exportMoveset(addr)
            exportedMovesets.append(moveset_name)
            print()
        else:
            print('Player', moveset_name,
                  'already exported, not exporting again.')

    print('\nSuccessfully exported:')
    for name in exportedMovesets:
        print(name)

    parent.updateCharacterlist()
Example #4
0
def exportTag2Character(parent, tekkenVersion, playerAddr, name=''):
    game_addresses.reloadValues()
    TekkenExporter = exportLib.Exporter(tekkenVersion,
                                        folder_destination=charactersPath)
    playerAddr += TekkenExporter.getCemuP1Addr()
    TekkenExporter.exportMoveset(playerAddr, name)

    parent.updateCharacterlist()
Example #5
0
def exportCharacter(parent, tekkenVersion, playerid, name=''):
    game_addresses.reloadValues()
    TekkenExporter = exportLib.Exporter(tekkenVersion,
                                        folder_destination=charactersPath)
    playerAddr = TekkenExporter.getP1Addr() + (
        playerid * game_addresses.addr[tekkenVersion + '_playerstruct_size'])
    TekkenExporter.exportMoveset(playerAddr, name)

    parent.updateCharacterlist()
Example #6
0
 def __init__(self, TekkenVersion, folder_destination='./extracted_chars/'):
     game_addresses.reloadValues()
     
     self.T = GameClass("TekkenGame-Win64-Shipping.exe" if TekkenVersion == 7 else "Cemu.exe")
     self.TekkenVersion = TekkenVersion
     self.ptr_size = 8 if TekkenVersion == 7 else 4
     self.base = 0x0 if TekkenVersion == 7 else game_addresses.addr['cemu_base']
     self.endian = 'little' if TekkenVersion == 7 else 'big'
     self.folder_destination = folder_destination
     
     if not os.path.isdir(folder_destination):
         os.mkdir(folder_destination)
Example #7
0
    def __init__(self, TekkenVersion, folder_destination='./extracted_chars/'):
        game_addresses.reloadValues()

        self.T = GameClass("TekkenGame-Win64-Shipping.exe" if TekkenVersion == 7 else "Cemu.exe")
        self.TekkenVersion = TekkenVersion
        self.ptr_size = 8 if TekkenVersion == 7 else 4
        self.base = 0x0 if TekkenVersion == 7 else game_addresses.addr['cemu_base']
        self.endian = 'little' if TekkenVersion == 7 else 'big'
        self.folder_destination = folder_destination
            
        if self.base == 0x9999999999999999:
            raise Exception("Cemu base address has not been modified yet, please insert the correct cemu_base address in game_address.txt")
        
        
        if not os.path.isdir(folder_destination):
            os.mkdir(folder_destination)
Example #8
0
    def updateAddressFile(self):
        filedata = getFileFromRepo(game_addresses['repo_link'],
                                   'game_addresses.txt')
        newAddresses = AddressFile(data=filedata)

        if newAddresses['version'] != game_addresses['version']:
            with open("game_addresses.txt", "w") as f:
                f.write(filedata)
            game_addresses.reloadValues()
            messagebox.showinfo(
                "Updated",
                "Addresses successfully updated.\nRestart this software for the effect to take place.",
                parent=self)
        else:
            messagebox.showinfo("Not updating",
                                "Nothing to update, file is up to date.",
                                parent=self)