예제 #1
0
def monkeyPatchOpen(full_replace=False):
    TRACE_MSG('BWUtil.monkeyPatchOpen: Patching open()', full_replace)
    if full_replace:
        new_open = bwResReplaceOpen
    else:
        new_open = bwResRelativeOpen
    _open_accessor.set(new_open)
def _buildReverseKeysLookup():
    preferredSynonyms = ('NONE', 'LEFTMOUSE', 'RIGHTMOUSE', 'MIDDLEMOUSE')
    for name in preferredSynonyms:
        value = BigWorld.stringToKey(name)
        if value != 0 or name == 'NONE':
            _reverseKeysLookup[value] = name
        TRACE_MSG('Synonym "%s" is missing from BigWorlds key list' % (name, ))

    for name in Keys.__dict__.keys():
        value = BigWorld.stringToKey(name[4:])
        if value == 0:
            continue
        if _reverseKeysLookup.has_key(value):
            if _reverseKeysLookup[value] not in preferredSynonyms:
                TRACE_MSG(
                    'Unexpected synonym for "%s": "%s"' %
                    (_reverseKeysLookup[value], BigWorld.keyToString(value)))
        _reverseKeysLookup[value] = BigWorld.keyToString(value)

    for aliasName, aliasKeys in keyAliases.iteritems():
        _reverseKeysLookup[aliasKeys] = aliasName
예제 #3
0
def revertPatchedOpen():
    TRACE_MSG('BWUtil.revertPatchedOpen: Reverting open()')
    _open_accessor.revert()
예제 #4
0
def monkeyPatchOpen():
    TRACE_MSG('BWUtil.monkeyPatchOpen: Patching open()')
    try:
        __builtins__['open'] = bwResRelativeOpen
    except TypeErorr as e:
        __builtins__.open = bwResRelativeOpen