def __init__(self): print('Initializing...') self.games = {} for game in self.gamelist: self.games[game.lower()] = Data(game) print('Done.')
#!/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'],
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:
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(' #')
#!/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)