Ejemplo n.º 1
0
    def __init__(self):

        print('Initializing...')
        self.games = {}
        for game in self.gamelist:
            self.games[game.lower()] = Data(game)
        print('Done.')
Ejemplo n.º 2
0
#!/usr/bin/env python
# vim: set expandtab tabstop=4 shiftwidth=4:

import sys
from ftexplorer.data import Data

data = Data('TPS')
bpd_name = 'GD_DahlFanatic.Character.AIDef_DahlFanatic:AIBehaviorProviderDefinition_0'


def compliment(number):
    """
    Returns a two's-compliment tuple for the given number.
    """
    number = int(number)
    one = (number >> 16)
    two = (number & 0xFF)
    return (one, two)


def follow(link, cold_data, behavior_data, prefix=''):
    (link_index, link_length) = compliment(link)
    print('{}Links at {}, length {}'.format(prefix, link_index, link_length))
    for cold_index in range(link_index, link_index + link_length):
        cold = cold_data[cold_index]
        (link_id, bindex) = compliment(cold['LinkIdAndLinkedBehavior'])
        behavior = behavior_data[bindex]
        print('{}* (delay {}) Behavior {}: {}'.format(
            prefix, round(float(cold['ActivateDelay'])), bindex,
            behavior['Behavior']))
        follow(behavior['OutputLinks']['ArrayIndexAndLength'],
Ejemplo n.º 3
0
        for namepart_full in partdef[attr_name]:
            namepart_name = Data.get_attr_obj(namepart_full)
            namepart = data.get_struct_by_full_object(namepart_name)
            if 'PartName' in namepart and namepart['PartName'] != '':
                names.add(namepart['PartName'])
            if get_customs:
                customs |= get_presentations(data, namepart)
    if get_customs:
        return (list(names), list(customs))
    else:
        return list(names)


for game in games:

    data = Data(game)

    # Weapons
    if True:
        for baldef_name in sorted(
                data.get_all_by_type('WeaponBalanceDefinition')):

            # Don't process anything in the blacklist
            if baldef_name in blacklist[game]:
                continue

            baldef_struct = data.get_struct_by_full_object(baldef_name)
            try:
                partlist = data.get_struct_attr_obj_real(
                    baldef_struct, 'RuntimePartListCollection')
            except KeyError:
Ejemplo n.º 4
0
    print('they exist here as well, and actually you\'ll also need data for')
    print(
        'FastTravelStationDefinition objects imported into FT/BLCMM Explorer')
    print('as well, which will be a hassle if you\'re Not Me.  Sorry for the')
    print('bother!')
    print(
        '********************************************************************')
    print('')
    sys.exit(1)

# Control Vars
mod_name = 'BL2 Sorted Fast Travel'
mod_version = '1.0.1'
output_filename = '{}.blcm'.format(mod_name)

data = Data('BL2')
ftdefs = data.get_all_by_type('FastTravelStationDefinition')
if len(ftdefs) == 0:
    raise Exception(
        'No FastTravelStationDefinitions found!  FT/BLCMM Explorer does not have those by default...'
    )

# Construct the mod
lines = []
lines.append('BL2')
lines.append('#<{}>'.format(mod_name))
lines.append('')
lines.append('    # {} v{}'.format(mod_name, mod_version))
lines.append('    # by Apocalyptech')
lines.append('    # Licensed under Public Domain / CC0 1.0 Universal')
lines.append('    #')
Ejemplo n.º 5
0
#!/usr/bin/env python
# vim: set expandtab tabstop=4 shiftwidth=4:

import sys
from ftexplorer.data import Data

game = sys.argv[1]
obj = sys.argv[2]

data = Data(game.upper())
val = data.get_struct_by_full_object(obj)
print(val)