def __init__(self, *args):

        BasePanel.__init__(self, *args)
        # TODO: This needs more research.  Flag definitions seem bogus.
        self.type = self.add_unknown_hex_entry(
            self.entry_page,
            'Type',
            knownValues={
                0x0: 'All attacks miss, complete invulnerability',
                0x2: 'Take damage, but stun-proof (super armor)',
                0x3: 'No damage, stun proof',
                0x4: 'No damage, stun proof',
                0x5: 'Attacks do no damage but can take stamina',
                0x6: 'All attacks are absorbed, Used for Counter Attacks',
                0x7: 'All attacks are absorbed, Used for Counter Attacks',
                0x8: 'No damage, stun proof',
                0x9: 'Stun-proof, damage = damage of the first attack',
                0xa: 'Stun-proof, damage = damage of the first attack',
                0xb: 'Stun-proof, damage = damage of the first attack',
                0xc: 'Stun-proof, damage = damage of the first attack',
                0xd: 'Automatic guard',
                0xe: 'Ki blasts fly through',
                0xf: 'Stun-proof, damage = damage of the first attack'
            })

        self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A')
Example #2
0
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        self.bpe_effect_id = self.add_unknown_num_entry(
            self.entry_page,
            'BPE Effect Id',
            knownValues=ScreenEffect.description)
        self.bone_link = self.add_single_selection_entry(self.entry_page,
                                                         'Bone Link',
                                                         majorDimension=5,
                                                         choices=BONE_TYPES)
        self.screen_effect_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'ScreenEffect Flags',
            majorDimension=2,
            choices=[('ScreenEffect Options #1', [None, None, None,
                                                  None], True),
                     ('ScreenEffect Options #2', [None, None, None,
                                                  None], True),
                     ('Activation Options', {
                         'On': 0x0,
                         'Unknown (0x1)': 0x1,
                         "Off? (0x2)": 0x2,
                         'Off? (0x3)': 0x3
                     }, False)])

        self.u_10 = self.add_hex_entry(self.unknown_page, 'U_10')
        self.u_14 = self.add_float_entry(self.unknown_page, 'f_14')
        self.u_18 = self.add_float_entry(self.unknown_page, 'f_18')
        self.u_1c = self.add_hex_entry(self.unknown_page, 'U_1C')
Example #3
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.tracking = self.add_float_entry(self.entry_page, 'Tracking %')

        self.tracking_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Tracking Flags',
            orient=wx.VERTICAL,
            cols=2,
            majorDimension=2,
            choices=[('Tracking Options #1', {
                'None': 0x0,
                'Unknown (0x1)': 0x1,
                'Unknown (0x2)': 0x2,
                "Unknown (0x3)": 0x3,
                'Unknown (0x4)': 0x4
            }, False),
                     ('Tracking Options #2', [
                         'Unknown (0x1)', 'Unknown (0x2)',
                         "Track Both Forwards and Backwards",
                         'Track Backwards(?)'
                     ], True),
                     ('Tracking Options #3', [None, None, None, None], True),
                     ('Tracking Options #4', [None, None, None, None], True)])
        self.u_0e = self.add_hex_entry(self.unknown_page, 'U_0E')
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        self.u_08 = self.add_hex_entry(self.unknown_page, 'U_08')

        self.next_direction = self.add_single_selection_entry(
            self.entry_page,
            'Next Direction (Move to)',
            majorDimension=5,
            choices=EyeMovement.description_choices())
        self.previous_eye_direction = self.add_single_selection_entry(
            self.entry_page,
            'Previous Eye Direction (Move From)',
            majorDimension=5,
            choices=EyeMovement.description_choices())

        self.left_eye_rotation_percent = self.add_float_entry(
            self.entry_page, 'Left Eye Rotation %')
        self.right_eye_rotation_percent = self.add_float_entry(
            self.entry_page, 'Right Eye Rotation %')

        self.frames_until_eyes_reach_rotation = self.add_num_entry(
            self.entry_page, 'Frames until eyes reach rotation')
        self.eye_movement_duration = self.add_num_entry(
            self.entry_page, 'Eye Movement Duration')
        self.u_16 = self.add_hex_entry(self.unknown_page, 'U_16', max=0xFFFF)
Example #5
0
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        matrix_page = Page(self.notebook)
        self.notebook.InsertPage(1, matrix_page, 'Matrix')

        self.movement_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Movement Flags',
            orient=wx.VERTICAL,
            cols=2,
            choices=[('', [
                None, 'Teleport to random opponents(?)', None,
                'Orientation Follows Direction'
            ], True),
                     ('', [
                         "Teleport Z Direction Reletive to Opponent's", None,
                         'Up', 'Down'
                     ], True), ('', [None, None, None,
                                     'No Orientation'], True),
                     ('', [
                         'Automatic in direction',
                         'Automatic towards opponent', 'Manual', 'Teleport'
                     ], True)])
        self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A')
        self.x_axis_movement = self.add_float_entry(matrix_page,
                                                    'X Axis Movement')
        self.y_axis_movement = self.add_float_entry(matrix_page,
                                                    'Y Axis Movement')
        self.z_axis_movement = self.add_float_entry(matrix_page,
                                                    'Z Axis Movement')
        self.x_axis_drag = self.add_float_entry(matrix_page, 'X Axis Drag')
        self.y_axis_drag = self.add_float_entry(matrix_page, 'Y Axis Drag')
        self.z_axis_drag = self.add_float_entry(matrix_page, 'Z Axis Drag')
Example #6
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.u_08 = self.add_hex_entry(self.unknown_page, 'U_08')
        self.total_charge_time = self.add_num_entry(self.entry_page,
                                                    'Total Charge Time')
        self.u_0e = self.add_hex_entry(self.unknown_page, 'U_0E', max=0xFFFF)
 def __init__(self, *args):
     BasePanel.__init__(self, *args)
     self.aura_type = self.add_single_selection_entry(self.entry_page, 'Type', majorDimension=2,
                                                      choices=AuraEffect.description_choices())
     self.on_off_switch = self.add_single_selection_entry(
         self.entry_page, 'On/Off switch', choices=['Off'], multiple=True)
     self.u_0c = self.add_hex_entry(self.unknown_page, 'U_0C')
 def __init__(self, *args):
     BasePanel.__init__(self, *args)
     self.transparency_flags = self.add_hex_entry(self.entry_page,
                                                  'Transparency Flags')
     self.transparency_flags2 = self.add_hex_entry(self.entry_page,
                                                   'Transparency Flags 2')
     self.dilution = self.add_num_entry(self.entry_page, 'Dilution')
     self.u_0e = self.add_hex_entry(self.unknown_page, 'U_0E', max=0xFFFF)
     self.u_10 = self.add_hex_entry(self.unknown_page, 'U_10')
     # DummyCtrl()
     # self.red =  self.add_num_entry(self.entry_page, 'r')
     # self.green =self.add_num_entry(self.entry_page, 'g')
     # self.blue = self.add_num_entry(self.entry_page, 'b')
     self.red = DummyCtrl()
     self.green = DummyCtrl()
     self.blue = DummyCtrl()
     self.color = self.add_color_picker(self.entry_page, 'Color')
     self.f_20 = self.add_float_entry(self.unknown_page, 'F_20')
     self.f_24 = self.add_float_entry(self.unknown_page, 'F_24')
     self.f_28 = self.add_float_entry(self.unknown_page, 'F_28')
     self.f_2c = self.add_float_entry(self.unknown_page, 'F_2C')
     self.f_30 = self.add_float_entry(self.unknown_page, 'F_30')
     self.f_34 = self.add_float_entry(self.unknown_page, 'F_34')
     self.f_38 = self.add_float_entry(self.unknown_page, 'F_38')
     self.f_3c = self.add_float_entry(self.unknown_page, 'F_3C')
 def __init__(self, *args):
     BasePanel.__init__(self, *args)
     self.bcm_link_flags = self.add_multiple_selection_entry(self.entry_page, 'BCM Link Flags', choices=[
         ('Link Options #1', ['Ki blast', 'Jump', 'Guard', 'Step dash/fly'], True),
         ('Link Options #2 / Reciver Link ID', ['Combo', 'Supers', 'Ultimates/Evasives', 'Z-Vanish'], True),
         ('Link Options #3', ['Counters', None, None, 'Back-hit'], True),
         ('Link Options #4', ['Attacks', 'Movement', 'Disable Ki blast', 'No links'], True)
     ])
     self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A', max=0xFFFF)
Example #10
0
 def __init__(self, *args):
     BasePanel.__init__(self, *args)
     self.function_type = self.add_unknown_hex_entry(
         self.entry_page,
         'Function Type',
         showKnown=True,
         knownValues=Physics.description)
     self.ean_index = self.add_num_entry(self.entry_page, 'EAN Index')
     self.u_10 = self.add_hex_entry(self.unknown_page, 'U_10')
     self.f_14 = self.add_float_entry(self.unknown_page, 'F_14')
     self.f_18 = self.add_float_entry(self.unknown_page, 'F_18')
     self.u_1c = self.add_hex_entry(self.unknown_page, 'U_1C')
Example #11
0
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        speed_page = Page(self.notebook)
        flags_page = Page(self.notebook)

        self.notebook.InsertPage(1, speed_page, 'Speed and Transition')
        self.notebook.InsertPage(2, flags_page, 'Flags')

        self.ean_type = self.add_single_selection_entry(
            self.entry_page,
            'EAN Type',
            majorDimension=4,
            choices=Animation.description_choices())

        self.animation_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Animation Flags',
            choices=[('Animation Options #1', [
                'Unknown (0x1)', 'Specific per EAN Type', "Unknown (0x4)",
                'Unknown (0x8)'
            ], True),
                     ('Animation Options #2', [
                         'Unknown (0x1)', 'Continue From Last Entry',
                         "Unknown (0x4)", 'Unknown (0x8)'
                     ], True),
                     ('Animation Options #3', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                         'Unknown (0x8)'
                     ], True),
                     ('Animation Options #4', [
                         'Follow on X Axis', 'Follow on Y Axis',
                         "Follow on Z Axis", 'Unknown (0x8)'
                     ], True)])

        self.play_face_animation_from_skill = self.add_single_selection_entry(
            flags_page,
            'Play Face Animation from Skill / Chara EAN',
            choices={
                'No': 0x0,
                'Yes': 0x1
            })

        self.ean_index = self.add_num_entry(self.entry_page, 'EAN Index')
        self.frame_start = self.add_num_entry(self.entry_page, 'Frame Start')
        self.frame_end = self.add_num_entry(self.entry_page, 'Frame End')
        self.frame_loop_start = self.add_num_entry(self.entry_page,
                                                   'Frame Loop Start')
        self.u_16 = self.add_hex_entry(self.unknown_page, 'U_16', max=0xFFFF)
        self.speed = self.add_float_entry(speed_page, 'Speed')
        self.animation_transition_start_frame = self.add_float_entry(
            speed_page, 'Animation Transition\nStart Frame')
        self.animation_transition_frame_step = self.add_float_entry(
            speed_page, 'Animation Transition\nFrame Step')
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.modification = self.add_multiple_selection_entry(
            self.entry_page,
            'Modification',
            orient=wx.VERTICAL,
            cols=2,
            choices=[
                ('', [], True),
                ('', ['Head', 'Spine Up/Down', 'Spine Left/Right'], True),
            ])
        self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A', max=0xFFFF)
Example #13
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        bone_page = Page(self.notebook)
        self.notebook.InsertPage(1, bone_page, 'Bone')

        self.throw_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Throw Flags',
            majorDimension=2,
            choices=
            [('Throw Options #1', [
                'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                'Unknown (0x8)'
            ], True),
             ('Throw Options #2', [
                 'Move Victim to User',
                 'Move Victim to User (Direction reletive to Animation)',
                 "Unknown (0x4)", 'Unknown (0x8)'
             ], True),
             ('Jump to BAC entry', [
                 'Unknown (0x1)', 'When duration is finished', "Unknown (0x4)",
                 'When ground is reached'
             ], True),
             ('Direction, orientation and connection', [
                 'Direction fixed to animation, Bone Connection Enabled (User Only)',
                 'Direction fixed to animation, Bone Connection Disabled (User Only)',
                 "Victim keeps offset, Bone Connection Enabled (User Only)",
                 'Victim keeps offset, Bone Connection Disabled (User Only) '
             ], True)])

        self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A')
        self.bone_user_connects_to_victim_from = self.add_single_selection_entry(
            bone_page,
            'Bone User Connects\nto Victim From',
            majorDimension=5,
            choices=BONE_TYPES)
        self.bone_victim_connects_to_user_from = self.add_single_selection_entry(
            bone_page,
            'Bone Victim Connects\nto User From',
            majorDimension=5,
            choices=BONE_TYPES)
        self.bac_entry = self.add_num_entry(self.entry_page, 'BAC Entry')
        self.u_12 = self.add_hex_entry(self.unknown_page, 'U_12')
        self.victim_displacement_x = self.add_float_entry(
            bone_page, 'Victim\nDisplacement X')
        self.victim_displacement_y = self.add_float_entry(
            bone_page, 'Victim\nDisplacement Y')
        self.victim_displacement_z = self.add_float_entry(
            bone_page, 'Victim\nDisplacement Z')
Example #14
0
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        self.bcs_part_id = self.add_single_selection_entry(
            self.entry_page,
            'BCS Part ID',
            majorDimension=3,
            choices=PartInvisibility.description_choices())

        self.on_off_switch = self.add_single_selection_entry(self.entry_page,
                                                             'On/Off Switch',
                                                             choices={
                                                                 'Yes': 0x0,
                                                                 'No': 0x1
                                                             })
Example #15
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        bone_link_page = Page(self.notebook)
        self.notebook.InsertPage(1, bone_link_page, 'Bone Link')

        # UNLEASHED: the showKnown buttons don't work, the value set does not save
        self.homing_movement_type = self.add_unknown_hex_entry(
            self.entry_page,
            'Type',
            showKnown=False,
            knownValues=HomingMovement.description)
        self.properties = self.add_multiple_selection_entry(
            self.entry_page,
            'Properties',
            choices=[
                ('Options #2', [
                    'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                    'Unknown (0x8)'
                ], True),
                ('Conditions', [
                    'Unknown (0x1)', 'Enable Float Parameter', "Unknown (0x4)",
                    'Enable Bone Link'
                ], True),
            ])

        self.u_20 = self.add_single_selection_entry(bone_link_page,
                                                    'User Bone',
                                                    majorDimension=5,
                                                    choices=BONE_TYPES)
        self.u_24 = self.add_single_selection_entry(bone_link_page,
                                                    'Target Bone',
                                                    majorDimension=5,
                                                    choices=BONE_TYPES)

        self.speed_modifier = self.add_float_entry(
            self.entry_page, 'Speed Modifier / Frame Duration')
        self.frame_threshold = self.add_num_entry(self.entry_page,
                                                  'Frame Threshold')
        self.horizontal_direction_modifier = self.add_float_entry(
            self.entry_page, 'Horizontal Direction\nModifier')
        self.vertical_direction_modifier = self.add_float_entry(
            self.entry_page, 'Vertical Direction\nModifier')
        self.z_direction_modifier = self.add_float_entry(
            self.entry_page, 'Z Direction\nModifier')

        self.u_28 = self.add_hex_entry(self.unknown_page, 'U_28')
        self.u_2c = self.add_hex_entry(self.unknown_page, 'U_2C')
Example #16
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.dual_skill_handler_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'DualSkillHandler Flags',
            choices=[('DualSkillHandler Options #1', [
                'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                'Unknown (0x8)'
            ], True),
                     ('DualSkillHandler Options #2', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                         'Unknown (0x8)'
                     ], True),
                     ('DualSkillHandler Options #3', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                         'Unknown (0x8)'
                     ], True),
                     ('DualSkillHandler Options #4', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                         'Unknown (0x8)'
                     ], True)])

        self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A')
        self.u_0c = self.add_hex_entry(self.unknown_page, 'U_0C')
        self.u_0e = self.add_hex_entry(self.unknown_page, 'U_0E')
        self.u_10 = self.add_hex_entry(self.unknown_page, 'U_10')

        self.position_initiator_x = self.add_float_entry(
            self.entry_page, 'Position Initiator X')
        self.position_initiator_y = self.add_float_entry(
            self.entry_page, 'Position Initiator Y')
        self.position_initiator_z = self.add_float_entry(
            self.entry_page, 'Position Initiator Z')

        self.u_20 = self.add_hex_entry(self.unknown_page, 'U_20')
        self.u_22 = self.add_hex_entry(self.unknown_page, 'U_22')
        self.u_24 = self.add_hex_entry(self.unknown_page, 'U_24')

        self.position_partner_x = self.add_float_entry(self.entry_page,
                                                       'Position Partner X')
        self.position_partner_y = self.add_float_entry(self.entry_page,
                                                       'Position Partner Y')
        self.position_partner_z = self.add_float_entry(self.entry_page,
                                                       'Position Partner Z')

        self.u_34 = self.add_hex_entry(self.unknown_page, 'U_34')
        self.u_36 = self.add_hex_entry(self.unknown_page, 'U_36')
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A')
        # TODO: Make this into a hex control
        self.function_type = self.add_unknown_hex_entry(
            self.entry_page,
            'Function',
            max=0xFF,
            knownValues=System.description)
        self.f_0c_label, self.f_0c = self.add_nameable_float_entry(
            self.entry_page, name='F_0C')
        self.f_10_label, self.f_10 = self.add_nameable_float_entry(
            self.entry_page, name='F_10')
        self.f_14_label, self.f_14 = self.add_nameable_float_entry(
            self.entry_page, name='F_14')
        self.f_18_label, self.f_18 = self.add_nameable_float_entry(
            self.entry_page, name='F_18')
        self.f_1c_label, self.f_1c = self.add_nameable_float_entry(
            self.entry_page, name='F_1C')
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.u_08 = self.add_hex_entry(self.unknown_page, 'U_08')
        self.u_0c = self.add_hex_entry(self.unknown_page, 'U_0C')
        self.u_10 = self.add_hex_entry(self.unknown_page, 'U_10')
        self.u_14 = self.add_hex_entry(self.unknown_page, 'U_14')
        self.u_18 = self.add_hex_entry(self.unknown_page, 'U_18')
        self.u_1c = self.add_hex_entry(self.unknown_page, 'U_1C')
        self.u_20 = self.add_hex_entry(self.unknown_page, 'U_20')
        self.u_24 = self.add_hex_entry(self.unknown_page, 'U_24')
        self.u_28 = self.add_hex_entry(self.unknown_page, 'U_28')
        self.u_2c = self.add_hex_entry(self.unknown_page, 'U_2C')
        self.u_30 = self.add_hex_entry(self.unknown_page, 'U_30')
        self.u_34 = self.add_hex_entry(self.unknown_page, 'U_34')
        self.u_38 = self.add_hex_entry(self.unknown_page, 'U_38')
        self.u_3c = self.add_hex_entry(self.unknown_page, 'U_3C')
        self.u_40 = self.add_hex_entry(self.unknown_page, 'U_40')
        self.u_44 = self.add_hex_entry(self.unknown_page, 'U_44')
        self.u_48 = self.add_hex_entry(self.unknown_page, 'U_48')
        self.u_4c = self.add_hex_entry(self.unknown_page, 'U_4C')
Example #19
0
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        self.acb_type = self.add_single_selection_entry(
            self.entry_page,
            'ACB Type',
            majorDimension=4,
            choices=Sound.description_choices())

        self.cue_id = self.add_num_entry(self.entry_page, 'Cue ID')

        # TODO: Needs more research
        # self.sound_properties = self.add_single_selection_entry(
        #     self.entry_page, 'Properties', majorDimension=2, choices={
        #         'None': 0x0,
        #         'Play until finished': 0x1,
        #         "Don't play": 0x2,
        #         'Enable Pitch/reverb effects': 0x4,
        #         'Stop when BAC entry ends': 0x8
        # })
        self.sound_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Sound Flags',
            choices=[('Sound Options #1', [
                'Mark sound for fade out', 'Unknown (0x2)',
                "Fade out marked sound", 'Fade out when skill ends'
            ], True),
                     ('Sound Options #2', [
                         'Unknown (0x1)', 'Unknown (0x2)',
                         "Fade out when BAC entry ends", 'Unknown (0x8)'
                     ], True),
                     ('Sound Options #3', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Pitch and Reverb",
                         'Stop when BAC entry is exited'
                     ], True)])

        self.u_0e = self.add_hex_entry(self.unknown_page, 'U_0E', max=0xFFFF)
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        eepk_page = Page(self.notebook)

        self.notebook.InsertPage(1, eepk_page, 'Spawn/Bone')
        self.eepk_type = self.add_single_selection_entry(self.entry_page, 'EEPK Type', majorDimension=3,
                                                         choices=Effect.description_choices())

        self.bone_link = self.add_single_selection_entry(eepk_page, 'Bone Link', majorDimension=5, choices=BONE_TYPES)

        self.skill_id = self.add_num_entry(self.entry_page, 'Skill Id')
        self.use_skill_id = self.add_single_selection_entry(self.entry_page, 'Use Skill Id', choices={
            'Yes': 0x0,
            'No': 0xffff
        })

        self.effect_id = self.add_num_entry(self.entry_page, 'Effect Id')
        self.position_x = self.add_float_entry(eepk_page, 'Position X')
        self.position_y = self.add_float_entry(eepk_page, 'Position Y')
        self.position_z = self.add_float_entry(eepk_page, 'Position Z')
        self.rotation_x = self.add_float_entry(eepk_page, 'Rotation X')
        self.rotation_y = self.add_float_entry(eepk_page, 'Rotation Y')
        self.rotation_z = self.add_float_entry(eepk_page, 'Rotation Z')
        self.on_off_switch = self.add_unknown_hex_entry(
            self.entry_page, 'On/Off switch', knownValues={
                0x0: 'On',
                0x1: 'Off',
                0x2: 'On',
                0x3: 'Off',
                0x4: 'On (Spawn on target)',
                0x8: 'On (Loop)',
                0x9: 'Off',
                0x10: 'On (Show only to user)',
                0x14: 'On (Spawn on target)',
                0x15: 'Off (used with 0x14)'
            })
Example #21
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.skill_id = self.add_num_entry(self.entry_page, 'Skill Type')
        self.skill_type = self.add_unknown_hex_entry(self.entry_page,
                                                     'Skill Type',
                                                     showKnown=True,
                                                     cols=3,
                                                     knownValues={
                                                         0x0: 'CMN',
                                                         0x3: 'Awoken',
                                                         0x5: 'Super',
                                                         0x6: 'Ultimate',
                                                         0x7: 'Evasive',
                                                         0x8: 'Blast',
                                                     })
        self.effect_id = self.add_num_entry(self.entry_page, "Effect ID")
        self.effect_duration = self.add_num_entry(self.entry_page,
                                                  "Effect Duration")
        self.flags = self.add_unknown_hex_entry(self.entry_page, "Flags")

        self.u_12 = self.add_hex_entry(self.unknown_page, 'U_12')
        self.u_14 = self.add_hex_entry(self.unknown_page, 'U_14')
        self.u_16 = self.add_hex_entry(self.unknown_page, 'U_16')
Example #22
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        bsa_page = Page(self.notebook)
        spawn_page = Page(self.notebook)

        self.notebook.InsertPage(1, bsa_page, 'Bone')
        self.notebook.InsertPage(2, spawn_page, 'Spawn')

        # UNLEASHED: skill type includes extra props
        self.skill_bsa_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Skill/BSA Flags',
            majorDimension=2,
            choices=[('Skill/BSA Options #1', {
                'None': 0x0,
                'Terminate Previous Projectile': 0x1,
                "Unknown (0x2)": 0x2,
                "Unknown (0x4)": 0x4,
                "Unknown (0x8)": 0x8
            }, False), ('Skill/BSA Options #2', None, True),
                     ('Skill Type', {
                         'CMN': 0x0,
                         'Awoken': 0x3,
                         'Super': 0x5,
                         'Ultimate': 0x6,
                         'Evasive': 0x7,
                         'Blast': 0x8
                     }, False)])
        self.skill_id = self.add_num_entry(self.entry_page, 'Skill Id')
        self.use_cmn_bsa = self.add_single_selection_entry(self.entry_page,
                                                           'Use CMN BSA',
                                                           choices={
                                                               'No': 0x0,
                                                               'Yes': 0xffff
                                                           })
        self.bsa_id = self.add_num_entry(self.entry_page, 'BSA ID')
        self.bone_to_spawn_from = self.add_single_selection_entry(
            bsa_page,
            'Bone to Spawn From',
            majorDimension=5,
            choices=BONE_TYPES)

        self.spawn_source = self.add_multiple_selection_entry(
            spawn_page,
            'Spawn Source',
            cols=1,
            majorDimension=3,
            choices=[('Spawn', {
                'Spawn source': 0x0,
                'Unknown (0x1)': 0x1,
                'Unknown (0x2)': 0x2,
                'User direction': 0x3
            }, False), (None, None, False),
                     ('Location', {
                         'User': 0x0,
                         'Spawn source (Target) (0x1)': 0x1,
                         'Unknown (0x2)': 0x2,
                         'Unknown (0x3)': 0x3,
                         'User direction (Target)': 0x4,
                         'Target (0x5)': 0x5,
                         'Unknown (0x6)': 0x6,
                         'Map (0x7)': 0x7,
                     }, False)])
        self.position_x = self.add_float_entry(spawn_page, 'Position X')
        self.position_y = self.add_float_entry(spawn_page, 'Position Y')
        self.position_z = self.add_float_entry(spawn_page, 'Position Z')
        self.rotation_x = self.add_float_entry(spawn_page, 'Rotation X')
        self.rotation_y = self.add_float_entry(spawn_page, 'Rotation Y')
        self.rotation_z = self.add_float_entry(spawn_page, 'Rotation Z')

        # self.spawn_properties = self.add_multiple_selection_entry(spawn_page, 'Spawn Properties', cols=1, choices=[
        #     ('Duplicate', {
        #         'None': 0x0,
        #         'One per player': 0x1,
        #         'Unknown (0x2)': 0x2
        #     }, False),
        #     ('Looping', {
        #         'Disable': 0x0,
        #         'Unknown (0x7)': 0x7,
        #         'Enable': 0x8
        #     }, False)
        # ])
        self.projectile_health = self.add_num_entry(self.entry_page,
                                                    'Projectile Health',
                                                    max=0xFFFFFFFF)
        self.projectile_flags = self.add_multiple_selection_entry(
            spawn_page,
            'Projectile Flags',
            majorDimension=2,
            choices=[('Projectile Options #1', [
                'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                'Unknown (0x8)'
            ], True),
                     ('Marking', {
                         'None': 0x0,
                         'Dupilcate Projectile For Every Opponent': 0x1,
                         'Unknown (0x2)': 0x2,
                         'Mark Projectile with Random ID': 0x4,
                         'Mark Projectile Unique ID (Roster)': 0x8,
                         'Mark Projectile Unique ID (CaC)': 0xC
                     }, False),
                     ('Conditions', [
                         'Announce to BCM', 'Unknown (0x2)', "Unknown (0x4)",
                         'Enable Loop'
                     ], True)])
        self.unique_id = self.add_num_entry(spawn_page,
                                            'Unique ID',
                                            max=0xFFFF)
        self.u_38 = self.add_hex_entry(self.unknown_page, 'U_38')
        self.u_3c = self.add_hex_entry(self.unknown_page, 'U_3C')
Example #24
0
    def __init__(self, *args):
        BasePanel.__init__(self, *args)
        ean_page = Page(self.notebook)
        info_page = Page(self.notebook)
        interpolation_page = Page(self.notebook)
        self.notebook.InsertPage(1, ean_page, 'EAN/Bone')
        self.notebook.InsertPage(2, info_page, 'Offsets')
        self.notebook.InsertPage(3, interpolation_page, 'Interpolation')

        self.ean_type = self.add_single_selection_entry(
            ean_page,
            'EAN Type',
            majorDimension=3,
            choices=Camera.description_choices())

        self.bone_to_focus_on = self.add_single_selection_entry(
            ean_page, 'Bone to Focus On', majorDimension=5, choices=BONE_TYPES)
        self.ean_index = self.add_num_entry(ean_page, 'EAN Index')
        self.frame_start = self.add_num_entry(self.entry_page, 'Frame Start')
        self.u_10 = self.add_hex_entry(self.unknown_page, 'U_10', max=0xFFFF)

        self.x_position = self.add_float_entry(info_page, 'X Position')
        self.y_position = self.add_float_entry(info_page, 'Y Position')
        self.z_position = self.add_float_entry(info_page, 'Z Position')
        self.x_rotation = self.add_float_entry(info_page, 'X Rotation')
        self.y_rotation = self.add_float_entry(info_page, 'Y Rotation')
        self.z_rotation = self.add_float_entry(info_page, 'Z Rotation')
        self.x_z_disposition = self.add_float_entry(info_page,
                                                    'X/Z Disposition')
        self.y_z_disposition = self.add_float_entry(info_page,
                                                    'Y/Z Disposition')
        self.zoom = self.add_float_entry(info_page, 'Zoom')

        self.x_position_duration = self.add_num_entry(interpolation_page,
                                                      'X Position Duration')
        self.y_position_duration = self.add_num_entry(interpolation_page,
                                                      'Y Position Duration')
        self.z_position_duration = self.add_num_entry(interpolation_page,
                                                      'Z Position Duration')

        self.x_rotation_duration = self.add_num_entry(interpolation_page,
                                                      'X Rotation Duration')
        self.y_rotation_duration = self.add_num_entry(interpolation_page,
                                                      'Y Rotation Duration')
        self.z_rotation_duration = self.add_num_entry(interpolation_page,
                                                      'Z Rotation Duration')

        self.zoom_duration = self.add_num_entry(interpolation_page,
                                                'Zoom Duration')
        self.displacement_xz_duration = self.add_num_entry(
            interpolation_page, 'Displacement X/Z Duration')
        self.displacement_yz_duration = self.add_num_entry(
            interpolation_page, 'Displacement Y/Z Duration')
        self.duration_all = self.add_num_entry(interpolation_page,
                                               'Duration ALL')
        self.camera_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Camera Flags',
            choices=[('ECC Options', None, True),
                     ('View', [
                         'Disable Photo Mode', 'Snap to View', "Move to View",
                         'Unknown (0x8)'
                     ], True),
                     ('Conditons', [
                         'Unknown (0x1)', 'Unknown (0x2)',
                         "Only play on Knockback", 'Enable offset changes'
                     ], True),
                     ('Camera Playback', [
                         'Force all players to watch', 'Unknown (0x2)',
                         'Play relative to target', 'Force character cam.ean'
                     ], True)])
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.time_scale = self.add_float_entry(self.entry_page, 'Time Scale')
    def __init__(self, *args):
        BasePanel.__init__(self, *args)

        damage_page = Page(self.notebook)
        matrix_page = Page(self.notebook)
        self.notebook.InsertPage(1, damage_page, 'BDM/Damage')
        self.notebook.InsertPage(2, matrix_page, 'Matrix')
        self.bdm_entry = self.add_num_entry(damage_page, 'BDM Entry')
        self.hitbox_flags = self.add_multiple_selection_entry(
            self.entry_page,
            'Hitbox Flags',
            orient=wx.VERTICAL,
            cols=2,
            majorDimension=2,
            choices=[('Impact Type', {
                'Continuous / None': 0x0,
                'Unknown (0x1)': 0x1,
                'Single': 0x2,
                'Unknown (0x4)': 0x4,
            }, False),
                     ('Damage Type', {
                         'Health': 0x0,
                         'No impact (0x1)': 0x1,
                         'No damage': 0x2,
                         'Ki': 0x4,
                         'No impact (0x8)': 0x8
                     }, False),
                     ('Hitbox Spawn Source', {
                         'User': 0x0,
                         'Unknown (0x1)': 0x1,
                         'Unknown (0x2)': 0x2,
                         'Unknown (0x4)': 0x4,
                         'Target': 0x8
                     }, False), ('Unknown', None, True)])

        self.hitbox_properties_1 = self.add_multiple_selection_entry(
            self.entry_page,
            'Hitbox Properties 1',
            majorDimension=2,
            choices=[('Hitbox Options #1', [
                'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                'Unknown (0x8)'
            ], True),
                     ('Hitbox Options #2', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                         'Unknown (0x8)'
                     ], True),
                     ('Hitbox Options #3', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                         'Unknown (0x8)'
                     ], True),
                     ('Hitbox Options #4', [
                         'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                         'Unknown (0x8)'
                     ], True)])

        self.hitbox_properties_2 = self.add_multiple_selection_entry(
            self.entry_page,
            'Hitbox Properties 2',
            majorDimension=2,
            choices=[
                ('Hitbox Options #2', [
                    'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                    'Unknown (0x8)'
                ], True),
                ('Hitbox Options #1', {
                    'None': 0x0,
                    'Unknown (0x1)': 0x1,
                    'Unknown (0x2)': 0x2,
                    "Treat Hitbox as a Sphere": 0x4,
                    'Unknown (0x7)': 0x7
                }, False),
            ])

        self.damage = self.add_num_entry(damage_page, 'Damage')
        self.damage_when_blocked = self.add_num_entry(damage_page,
                                                      'Damage When Blocked')
        self.stamina_taken_when_blocked = self.add_num_entry(
            damage_page, 'Stamina Taken When Blocked', True)
        self.matrix_flags = self.add_multiple_selection_entry(
            matrix_page,
            'Matrix Flags',
            choices=[('Matrix Options #1', [
                'Unknown (0x1)', 'Unknown (0x2)', "Unknown (0x4)",
                'Unknown (0x8)'
            ], True),
                     ('Matrix Options #2', [
                         'Enable Scale and Rotation', 'Unknown (0x2)',
                         "Unknown (0x4)", 'Unknown (0x8)'
                     ], True)])
        self.bdm_type = self.add_single_selection_entry(
            damage_page, 'BDM Type', choices=Hitbox.description_choices())

        self.f_18 = self.add_float_entry(self.unknown_page, 'F_18')
        self.position_x = self.add_float_entry(matrix_page, 'Position X')
        self.position_y = self.add_float_entry(matrix_page, 'Position Y')
        self.position_z = self.add_float_entry(matrix_page, 'Position Z')
        self.size_x = self.add_float_entry(matrix_page, 'Size X')
        self.size_y = self.add_float_entry(matrix_page, 'Size Y')
        self.size_z = self.add_float_entry(matrix_page, 'Size Z')
        self.rotation_x = self.add_float_entry(matrix_page, 'Rotation X')
        self.rotation_y = self.add_float_entry(matrix_page, 'Rotation Y')
        self.rotation_z = self.add_float_entry(matrix_page, 'Rotation Z')
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.u_08 = self.add_hex_entry(self.unknown_page, 'U_08')
        self.f_0c = self.add_float_entry(self.unknown_page, 'F_0C')
        self.name = self.add_text_entry(self.entry_page, 'Name')
Example #28
0
    def __init__(self, *args):

        BasePanel.__init__(self, *args)
        self.rotation_axis = self.add_single_selection_entry(
            self.entry_page, 'Rotation Axis', majorDimension=4, choices=TargetingAssistance.description_choices())
        self.u_0a = self.add_hex_entry(self.unknown_page, 'U_0A', max=0xFFFF)