-
-
Save mepsteinj/a7a76337a45d80743c903461c31d55b3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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zHMAANRzAADccwAA5nMAAPBzAAD4cwAAAnQAAAx0AAAUdAAAHHQAACR0AAAwdAAAOnQAAER0AABOdAAAWHQAAGJ0AABudAAAenQAAAAAAAC8cQAA1HEAAOxxAAD6cQAADnIAACRyAAA6cgAASnIAAF5yAABwcgAAhnIAAKByAACwcgAAzHIAAORyAAD0cgAABHMAAB5zAAA8cwAARHMAAFhzAABmcwAAgnMAAJRzAAAAAAAApHMAALJzAADAcwAAzHMAANRzAADccwAA5nMAAPBzAAD4cwAAAnQAAAx0AAAUdAAAHHQAACR0AAAwdAAAOnQAAER0AABOdAAAWHQAAGJ0AABudAAAenQAAAAAAADVAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgDxAEVudGVyQ3JpdGljYWxTZWN0aW9uAAAcAUV4aXRQcm9jZXNzAMYBR2V0Q3VycmVudFByb2Nlc3MAxwFHZXRDdXJyZW50UHJvY2Vzc0lkAMsBR2V0Q3VycmVudFRocmVhZElkAAAFAkdldExhc3RFcnJvcgAAFwJHZXRNb2R1bGVIYW5kbGVBAABHAkdldFByb2NBZGRyZXNzAABzAkdldFN5c3RlbURpcmVjdG9yeUEAfQJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQCZAkdldFRpY2tDb3VudAAA7QJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uACgDTGVhdmVDcml0aWNhbFNlY3Rpb24AACsDTG9hZExpYnJhcnlBAAAuA0xvYWRMaWJyYXJ5VwAAmANRdWVyeVBlcmZvcm1hbmNlQ291bnRlcgBtBFNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgB6BFNsZWVwAIgEVGVybWluYXRlUHJvY2VzcwAAjwRUbHNHZXRWYWx1ZQCcBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAvARWaXJ0dWFsUHJvdGVjdAAAvwRWaXJ0dWFsUXVlcnkAADgAX19kbGxvbmV4aXQAlABfYW1zZ19leGl0AABjAV9pbml0dGVybQBnAV9pb2IAAM8BX2xvY2sAdwJfb25leGl0AEwDX3VubG9jawAgBGFib3J0AC8EY2FsbG9jAABKBGZwcmludGYATARmcHV0YwBNBGZwdXRzAFEEZnJlZQAAWwRmd3ByaW50ZgAA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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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aWQqIHRoaXMsIHZvaWQqIGZyYW1lLCB2b2lkKiBjb25zdCByZXN1bHQpIHsKICAgIHVpbnQ4X3QqIGNvZGUgPSAodWludDhfdCopZnJhbWUgKyAweGM7CiAgICB2b2lkKiBvYmplY3QgPSAodWludDhfdCopZnJhbWUgKyAweDg7CgogICAgd2NoYXJfdCogc3QgPSBOVUxMOwogICAgRkZyYW1lX19TdGVwUHRyKGZyYW1lLCBvYmplY3QsICZzdCk7IC8qIFBfR0VUX1NUUiAqLwogICAgLyogUF9GSU5JU0ggKi8KICAgIGlmICgqY29kZSA9PSAweDQyKSAvKiBFWF9EZWJ1Z0luZm8gKi8KICAgICAgICBGRnJhbWVfX1N0ZXBQdHIoZnJhbWUsIG9iamVjdCwgTlVMTCk7CiAgICBjb2RlKys7CgogICAgaWYgKHN0ICYmIGZ3cHJpbnRmKHN0ZGVyciwgTCJFWFRSQTogJXMiLCBzdCkgPiAwKQogICAgICAgIGZwdXRjKCdcbicsIHN0ZGVycik7Cn0KCnN0YXRpYyB1aW50cHRyX3QgbmF0aXZlc1tdID0geyh1aW50cHRyX3QpRXh0cmFfX2V4ZWNOYXRpdmVFY2hvfTsKCnZvaWQgaW5pdCh1aW50cHRyX3QgcmVnaXN0ZXJfbmF0aXZlLCB1aW50cHRyX3QgZmZyYW1lX3N0ZXApIHsKICAgIGlmIChHUmVnaXN0ZXJOYXRpdmVQdHIgfHwgRkZyYW1lX19TdGVwUHRyKQogICAgICAgIHJldHVybjsKICAgIEdSZWdpc3Rlck5hdGl2ZVB0ciA9IChfX3R5cGVvZl9fIChHUmVnaXN0ZXJOYXRpdmVQdHIpKXJlZ2lzdGVyX25hdGl2ZTsKICAgIEZGcmFtZV9fU3RlcFB0ciA9IChfX3R5cGVvZl9fIChGRnJhbWVfX1N0ZXBQdHIpKWZmcmFtZV9zdGVwOwogICAgZm9yIChpbnQzMl90IGkgPSBOQVRJVkVTX1NUQVJUOyBpIDwgc2l6ZW9mKG5hdGl2ZXMpIC8gc2l6ZW9mKCpuYXRpdmVzKTsgaSsrKQogICAgICAgIEdSZWdpc3Rlck5hdGl2ZVB0cihpLCBuYXRpdmVzW2ldKTsKfQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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dGRpby5oPgojaW5jbHVkZSA8d2NoYXIuaD4KI2luY2x1ZGUgPHdpbmRvd3MuaD4KI2luY2x1ZGUgPHdpbm50Lmg+CgojaW5jbHVkZSAicGF0Y2guaCIKCmludDMyX3QgbndpbmRvd19leGVjX2RlYnVnX3JldGFkZHIgPSAwOwppbnQzMl90IG53aW5kb3dfQ29weVN0YXR1c0ljb25JbmZvX3JldGFkZHIgPSAwOwoKX19hdHRyaWJ1dGVfXyAoKGNkZWNsKSkKdm9pZCByZXBsX1hNTFVJTG9nRXJyb3IoY29uc3Qgd2NoYXJfdCogZm10LCAuLi4pIHsKICAgIHZhX2xpc3QoYXJncyk7CiAgICB2YV9zdGFydChhcmdzLCBmbXQpOwogICAgaWYgKHZmd3ByaW50ZihzdGRlcnIsIGZtdCwgYXJncykgPiAwKQogICAgICAgIGZwdXRjKCdcbicsIHN0ZGVycik7CiAgICB2YV9lbmQoYXJncyk7Cn0KCl9fYXR0cmlidXRlX18gKChjZGVjbCkpCnZvaWQgcmVwbF9GU3RyaW5nX1ByaW50Zih2b2lkKiB0aGlzLCBjb25zdCB3Y2hhcl90KiBmbXQsIC4uLikgewogICAgdmFfbGlzdChhcmdzKTsKICAgIHZhX3N0YXJ0KGFyZ3MsIGZtdCk7CiAgICBpZiAodmZ3cHJpbnRmKHN0ZGVyciwgZm10LCBhcmdzKSA+IDApCiAgICAgICAgZnB1dGMoJ1xuJywgc3RkZXJyKTsKICAgIHZhX2VuZChhcmdzKTsKfQoKX19hdHRyaWJ1dGVfXyAoKGNkZWNsKSkKdm9pZCBud2luZG93X2V4ZWNfZGVidWdfcmVwbChjb25zdCB3Y2hhcl90KiBtc2cpIHsKICAgIGlmIChmd3ByaW50ZihzdGRlcnIsIEwiVUkgRGVidWc6ICVzIiwgbXNnKSA+IDApCiAgICAgICAgZnB1dGMoJ1xuJywgc3RkZXJyKTsKfQoKX19hdHRyaWJ1dGVfXyAoKHN0ZGNhbGwpKQppbnQgcmVwbF9OQ29uc29sZVduZF9Jc0RlQnVmZihpbnQgYTAsIGludCBhMSkgewogICAgcmV0dXJuIDA7Cn0KCl9fYXR0cmlidXRlX18gKChjZGVjbCkpCmludCBteV9hdXRob3JpdGEoKSB7CiAgICByZXR1cm4gMTsKfQoKX19hdHRyaWJ1dGVfXyAoKHN0ZGNhbGwpKQppbnQgcmVwbF9Db21waWxlVUlTY3JpcHQodm9pZCogYTApIHsKICAgIHJldHVybiAwOwp9Cgp2b2lkIG53aW5kb3dfZXhlY19kZWJ1Z190cmFtcGwoKTsKdm9pZCBud2luZG93X0NvcHlTdGF0dXNJY29uSW5mb190cmFtcGwoKTsKCnN0YXRpYyB2b2lkIHBhdGNoX253aW5kb3coY29uc3Qgdm9pZCogbndpbmRvdykgewogICAgZnByaW50ZihzdGRlcnIsICJud2luZG93IEAgJXBcbiIsIG53aW5kb3cpOwoKICAgIGludDMyX3QgbndpbmRvd19vZmZzID0gMDsKICAgIHVpbnQzMl90IGJhc2UgPSAweDEwMDAwMDAwOwoKICAgIGlmICgodWludDMyX3QpbndpbmRvd19vZmZzICE9IGJhc2UpIHsKICAgICAgICBud2luZG93X29mZnMgPSAodWludDMyX3QpbndpbmRvdyAtIGJhc2U7CiAgICAgICAgZnByaW50ZihzdGRlcnIsICJud2luZG93IG9mZnNldCAweCV4XG4iLCBud2luZG93X29mZnMpOwogICAgfQoKICAgIG53aW5kb3dfZXhlY19kZWJ1Z19yZXRhZGRyID0gbndpbmRvd19vZmZzICsgMHgxMDM0ZmRhZjsKCiAgICAvKiBNYXJrIGRlYnVmZnMgYXMgYnVmZnMgKi8KICAgIHVpbnQ4X3Qgbm9wczZbXSA9IHsweDkwLCAweDkwLCAweDkwLCAweDkwLCAweDkwLCAweDkwfTsKICAgIHBhdGNoVGV4dCgodm9pZCopKDB4MTAyNGU3NzggKyBud2luZG93X29mZnMpLCBub3BzNiwgTlVMTCwgc2l6ZW9mKG5vcHM2KSk7CgogICAgLyogQ29tcGlsZSBJbnRlcmZhY2UueGRhdCBmcm9tIFVJRWRpdG9yIEludGVyZmFjZSAqLnhtbCAqLwogICAgdWludDhfdCBtb3ZiXzFfZWN4W10gPSB7MHhiMSwgMHgwMX07CiAgICBwYXRjaFRleHQoKHZvaWQqKSgweDEwM2EwODU1ICsgbndpbmRvd19vZmZzKSwgbW92Yl8xX2VjeCwgTlVMTCwgc2l6ZW9mKG1vdmJfMV9lY3gpKTsKCiAgICByZXBsYWNlRnVuY0F0QWRkcigodm9pZCopKDB4MTAzNGZkYTkgKyBud2luZG93X29mZnMpLCBud2luZG93X2V4ZWNfZGVidWdfdHJhbXBsLCBOVUxMKTsKICAgIHJlcGxhY2VGdW5jQXRBZGRyKCh2b2lkKikoMHgxMDM5ZmM4MCArIG53aW5kb3dfb2ZmcyksIHJlcGxfWE1MVUlMb2dFcnJvciwgTlVMTCk7CiAgICByZXBsYWNlRnVuY0F0QWRkcigodm9pZCopKDB4MTA0MDcxZDAgKyBud2luZG93X29mZnMpLCBteV9hdXRob3JpdGEsIE5VTEwpOwogICAgcmVwbGFjZUZ1bmNBdEFkZHIoKHZvaWQqKSgweDEwMzlmYmMwICsgbndpbmRvd19vZmZzKSwgcmVwbF9YTUxVSUxvZ0Vycm9yLCBOVUxMKTsKICAgIC8qIERpc2FibGUgVUlTY3JpcHQgcmVjb21waWxlLi4gKi8KICAgIHJlcGxhY2VGdW5jQXRBZGRyKCh2b2lkKikoMHgxMDNhMDlkMCArIG53aW5kb3dfb2ZmcyksIHJlcGxfQ29tcGlsZVVJU2NyaXB0LCBOVUxMKTsKfQoKX19hdHRyaWJ1dGVfXygoc3RkY2FsbCkpCkhNT0RVTEUgY29yZV9sZF9saWJfcmVwbChjb25zdCB3Y2hhcl90KiBwYXRoKSB7CiAgICBmd3ByaW50ZihzdGRlcnIsIEwiY29yZTogbGQgJXMuZGxsXG4iLCBwYXRoKTsKCiAgICB2b2lkKiByZXQgPSBMb2FkTGlicmFyeVcocGF0aCk7CiAgICBpZiAod2Nzc3RyKHBhdGgsIEwiTldpbmRvdyIpICE9IE5VTEwpCiAgICAgICAgcGF0Y2hfbndpbmRvdyhyZXQpOwoKICAgIHJldHVybiByZXQ7Cn0KCnZvaWQgY29yZV9sZF90cmFtcGwoKTsKCnN0YXRpYyB2b2lkIGluaXQoSEFORExFIGhNb2R1bGUpIHsKICAgIGZwcmludGYoc3RkZXJyLCAiaG9vazogaW5pdFxuIik7CgogICAgdWludDMyX3QgY29yZSA9ICh1aW50MzJfdClHZXRNb2R1bGVIYW5kbGUoImNvcmUuZGxsIik7CiAgICBpZiAoY29yZSA9PSAwKSB7CiAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYXRhbDogY29yZSB3YXMgbm90IGxvYWRlZCIpOwogICAgICAgIGFib3J0KCk7CiAgICB9CiAgICBpbnQzMl90IGNvcmVfb2ZmcyA9IDA7CiAgICB1aW50MzJfdCBjb3JlX2Jhc2UgPSAweDE1MDAwMDAwOwogICAgaWYgKGNvcmUgIT0gY29yZV9iYXNlKSB7CiAgICAgICAgY29yZV9vZmZzID0gY29yZSAtIGNvcmVfYmFzZTsKICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImNvcmUgb2Zmc2V0IDB4JXhcbiIsIGNvcmVfb2Zmcyk7CiAgICB9CgogICAgdWludDMyX3QgRlN0cmluZ19QcmludGYgPSAqKHVpbnQzMl90KikoMHgxNTA1MDZkMCtjb3JlX29mZnMpOwoKICAgIHJlcGxhY2VGdW5jQXRBZGRyKCh2b2lkKilGU3RyaW5nX1ByaW50ZiwgcmVwbF9GU3RyaW5nX1ByaW50ZiwgTlVMTCk7CiAgICByZXBsYWNlRnVuY0F0QWRkcigodm9pZCopKDB4MTUwMzI3YTAgKyBjb3JlX29mZnMpLCBjb3JlX2xkX3RyYW1wbCwgTlVMTCk7Cn0KCkJPT0wgQVBJRU5UUlkgRGxsTWFpbihIQU5ETEUgaE1vZHVsZSwgRFdPUkQgcmVhc29uLCBMUFZPSUQgbHBSZXNlcnZlZCkgewogICAgc3dpdGNoIChyZWFzb24pIHsKICAgICAgICBjYXNlIERMTF9QUk9DRVNTX0FUVEFDSDoKICAgICAgICAgICAgaW5pdChoTW9kdWxlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSBETExfUFJPQ0VTU19ERVRBQ0g6CiAgICAgICAgY2FzZSBETExfVEhSRUFEX0FUVEFDSDoKICAgICAgICBjYXNlIERMTF9USFJFQURfREVUQUNIOgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGJyZWFrOwogICAgfQoKICAgIHJldHVybiBUUlVFOwp9CgojaWZkZWYgV1JBUF9ESU5QVVQKICAgICNkZWZpbmUgV1JBUF9GTl9SRVRfVCBIUkVTVUxUCiAgICAjZGVmaW5lIFdSQVBfRk5fSUZBQ0UgV1JBUF9GTl9SRVRfVCBXSU5BUEkgRGlyZWN0SW5wdXQ4Q3JlYXRlKEhJTlNUQU5DRSBoaW5zdCwgRFdPUkQgZHdWZXJzaW9uLCBSRUZJSUQgcmlpZGx0ZiwgTFBWT0lEKiBwcHZPdXQsIExQVU5LTk9XTiBwdW5rT3V0ZXIpCiAgICAjZGVmaW5lIFdSQVBfRk5fVCBXUkFQX0ZOX1JFVF9UKCopKEhJTlNUQU5DRSwgRFdPUkQsIFJFRklJRCwgTFBWT0lEKiwgTFBVTktOT1dOKQogICAgI2RlZmluZSBXUkFQX0ZOX0FSR1MgaGluc3QsIGR3VmVyc2lvbiwgcmlpZGx0ZiwgcHB2T3V0LCBwdW5rT3V0ZXIKICAgICNkZWZpbmUgV1JBUF9GTl9FWFAgIkRpcmVjdElucHV0OENyZWF0ZSIKICAgICNkZWZpbmUgV1JBUF9ETExfTkFNRSAiZGlucHV0OCIKI2Vsc2UKICAgICNkZWZpbmUgV1JBUF9GTl9SRVRfVCB2b2lkKgogICAgI2RlZmluZSBXUkFQX0ZOX0lGQUNFIFdSQVBfRk5fUkVUX1QgV0lOQVBJIGQzZF9jcmVhdGUobG9uZyBTREtWZXJzaW9uKQogICAgI2RlZmluZSBXUkFQX0ZOX1QgV1JBUF9GTl9SRVRfVCgqKShEV09SRCkKICAgICNkZWZpbmUgV1JBUF9GTl9BUkdTIFNES1ZlcnNpb24KICAgICNkZWZpbmUgV1JBUF9GTl9FWFAgIkRpcmVjdDNEQ3JlYXRlOSIKICAgICNkZWZpbmUgV1JBUF9ETExfTkFNRSAiZDNkOSIKI2VuZGlmCgpXUkFQX0ZOX0lGQUNFIF9fYXNtX18gKCJfIldSQVBfRk5fRVhQKTsKCldSQVBfRk5fSUZBQ0UgewogICAgc3RhdGljIEhJTlNUQU5DRSBvcmlnRExMOwogICAgaWYgKCFvcmlnRExMKSB7CiAgICAgICAgY2hhciBwYXRoW01BWF9QQVRIXTsKCiAgICAgICAgbWVtc2V0KHBhdGgsIDAsIHNpemVvZihwYXRoKSk7CiAgICAgICAgR2V0U3lzdGVtRGlyZWN0b3J5KHBhdGgsIE1BWF9QQVRIKTsKCiAg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ZTsKCiAgICBzdGF0aWMgc2l6ZV90IGk7CiAgICAvKiBObyByb29tIGluIHB0ciB0YWJsZSB0byBzdG9yZSByZXBsICovCiAgICBpZiAoaSA+PSBzaXplb2Yoam1wX3B0cnMpIC8gc2l6ZW9mKCpqbXBfcHRycykpCiAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIGptcF9wdHJzW2ldID0gKHVpbnQzMl90KXJlcGw7CiAgICB1aW50MzJfdCBwdHIgPSAodWludDMyX3QpJmptcF9wdHJzW2ldOwogICAgaSsrOwoKICAgIHVpbnQ4X3QgcGF0Y2hbXSA9IHsweGZmLCAweDI1LCAvKiBqbXAgKnB0ciovCiAgICAgICAgICAgICAgICAgICAgICAgcHRyICYgMHhmZiwKICAgICAgICAgICAgICAgICAgICAgICAocHRyICYgMHhmZjAwKSA+PiAweDgsCiAgICAgICAgICAgICAgICAgICAgICAgKHB0ciAmIDB4ZmYwMDAwKSA+PiAweDEwLAogICAgICAgICAgICAgICAgICAgICAgIChwdHIgJiAweGZmMDAwMDAwKSA+PiAweDE4LAogICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgcGF0Y2hUZXh0KHNyYywgcGF0Y2gsIGJhaywgc2l6ZW9mKHBhdGNoKSk7CgogICAgcmV0dXJuIHRydWU7Cn0KCmJvb2wgcGF0Y2hUZXh0KHZvaWQqIGRzdCwgY29uc3QgdWludDhfdCogcmVwbCwgdWludDhfdCogYmFrLCBzaXplX3QgcmVwbFN6KSB7CiAgICBpZiAoIWRzdCB8fCAhcmVwbCkKICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgRFdPUkQgb2xkX3Byb3QgPSAwOwoKICAgIGlmICghVmlydHVhbFByb3RlY3QoZHN0LCByZXBsU3osIFBBR0VfUkVBRFdSSVRFLCAmb2xkX3Byb3QpKQogICAgICAgIHJldHVybiBmYWxzZTsKCiAgICBpZiAoYmFrKQogICAgICAgIG1lbWNweShiYWssIGRzdCwgcmVwbFN6KTsKICAgIG1lbWNweShkc3QsIHJlcGwsIHJlcGxTeik7CgogICAgVmlydHVhbFByb3RlY3QoZHN0LCByZXBs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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.lineage2.co.kr/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<xs:element name="AbsoluteSize"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:int" name="width" use="required"/> | |
<xs:attribute type="xs:int" name="height" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="BarCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="ForeTexture" use="required"/> | |
<xs:attribute type="xs:string" name="BackTexture" use="required"/> | |
<xs:attribute type="xs:string" name="ForeLeftTexture" use="required"/> | |
<xs:attribute type="xs:string" name="BackLeftTexture" use="required"/> | |
<xs:attribute type="xs:string" name="ForeRightTexture" use="required"/> | |
<xs:attribute type="xs:string" name="BackRightTexture" use="required"/> | |
<xs:attribute type="xs:int" name="USize" use="required"/> | |
<xs:attribute type="xs:int" name="VSize" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="CharacterViewportWindowType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:float" name="CharacterScale" use="required"/> | |
<xs:attribute type="xs:int" name="CharacterOffsetX" use="required"/> | |
<xs:attribute type="xs:int" name="CharacterOffsetY" use="required"/> | |
<xs:attribute type="xs:int" name="CameraDistMax" use="required"/> | |
<xs:attribute type="xs:int" name="CameraDistMin" use="required"/> | |
<xs:attribute type="xs:int" name="DefaultCameraPitch" use="required"/> | |
<xs:attribute type="xs:int" name="DefaultCameraYaw" use="required"/> | |
<xs:attribute type="xs:int" name="ZoomRate" use="required"/> | |
<xs:attribute type="xs:int" name="RotationRate" use="required"/> | |
<xs:attribute type="xs:string" name="MaskTex" use="required"/> | |
<xs:attribute type="xs:int" name="NpcID"/> | |
</xs:complexType> | |
<xs:element name="ChatChannel"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:Color" name="Color" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="Index" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ChatChannelDefinition"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded" minOccurs="0"> | |
<xs:element ref="ui:ChatChannel" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="ChatWindowType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="lineGap" use="required"/> | |
<xs:attribute type="xs:int" name="NextLineOffsetX" use="optional"/> | |
</xs:complexType> | |
<xs:complexType name="CheckBoxType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:boolean" name="checked" use="optional"/> | |
<xs:attribute type="xs:boolean" name="leftAlign" use="optional"/> | |
<xs:attribute type="xs:int" name="maxWidth" use="optional"/> | |
<xs:attribute type="xs:int" name="string" use="required"/> | |
<xs:attribute type="xs:string" name="CheckTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="UnCheckTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="DisableTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="DisableCheckTexture" use="optional"/> | |
<xs:attribute type="xs:int" name="titleIndex" use="optional"/> | |
<xs:attribute type="xs:string" name="TitleText" use="optional"/> | |
</xs:complexType> | |
<xs:complexType name="ComboBoxType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ComboItem" maxOccurs="unbounded" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:element name="ComboItem"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="sysstring" use="optional"/> | |
<xs:attribute type="xs:int" name="systemMsg" use="optional"/> | |
<xs:attribute type="xs:string" name="text" use="optional"/> | |
<xs:attribute type="xs:int" name="reserved" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="DrawPanelType"> | |
<xs:attribute type="xs:boolean" name="AutoSize" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="EditBoxType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="maxLength" use="optional"/> | |
<xs:attribute type="xs:boolean" name="bShowCursor" use="optional"/> | |
<xs:attribute type="xs:boolean" name="ChatMarkOn" use="required"/> | |
<xs:attribute type="xs:int" name="OffsetX" use="optional"/> | |
<xs:attribute type="xs:boolean" name="bCandidateBoxShowUpPos" use="required"/> | |
<xs:attribute type="xs:string" name="AutoCompletionType" use="required"/> | |
<xs:attribute type="xs:string" name="editBoxType" use="required"/> | |
</xs:complexType> | |
<xs:element name="AutoCompletionType"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="NotUsed"/> | |
<xs:enumeration value="Normal"/> | |
<xs:enumeration value="PostBox"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
<xs:complexType name="EffectButtonType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<!-- <xs:element ref="ui:Type" minOccurs="1" xmlns:ui="http://www.lineage2.co.kr/ui"/> --> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="Type" use="required"/> | |
<xs:attribute type="xs:string" name="NormalTex"/> | |
<xs:attribute type="xs:string" name="PushedTex"/> | |
<xs:attribute type="xs:string" name="HighlightTex"/> | |
<xs:attribute type="xs:string" name="EffectTex1"/> | |
<xs:attribute type="xs:string" name="EffectTex2"/> | |
</xs:complexType> | |
<xs:complexType name="FishViewportWindowType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="texBack" use="required"/> | |
<xs:attribute type="xs:string" name="texClock" use="required"/> | |
<xs:attribute type="xs:string" name="texFishHPBar" use="required"/> | |
<xs:attribute type="xs:string" name="texFishHPBarBack" use="required"/> | |
<xs:attribute type="xs:string" name="texFishingEffect" use="required"/> | |
<xs:attribute type="xs:string" name="texIconPumping" use="required"/> | |
<xs:attribute type="xs:string" name="texIconReeling" use="required"/> | |
<xs:attribute type="xs:string" name="texFishFakeHPBarWarning" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="FlashCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="FlashFile"/> | |
</xs:complexType> | |
<xs:complexType name="FontType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element ref="ui:Stroke" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:Shadow" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="name"/> | |
<xs:attribute type="xs:string" name="fileName"/> | |
<xs:attribute type="xs:int" name="size"/> | |
<xs:attribute type="xs:int" name="index"/> | |
<xs:attribute type="xs:int" name="lineGap"/> | |
<xs:attribute type="xs:boolean" name="bIndex"/> <!-- duplicate? --> | |
<xs:attribute type="xs:string" name="location"/> | |
<xs:attribute type="xs:int" name="underlineOffset"/> | |
</xs:complexType> | |
<xs:complexType name="HtmlCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="ViewType"/> | |
</xs:complexType> | |
<xs:element name="Stroke"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded" minOccurs="0"> | |
<xs:element ref="ui:volume" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="volume" use="required" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="volume"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="thick"/> | |
<xs:enumeration value="thin"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
<xs:element name="Shadow"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="offsetX"/> | |
<xs:attribute type="xs:int" name="offsetY"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Type" type="xs:NCName"/> | |
<xs:element name="Size"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element ref="ui:AbsoluteSize" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:RelativeSize" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="RelativeSize"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="widthRate" use="required"/> | |
<xs:attribute type="xs:int" name="heightRate" use="required"/> | |
<xs:attribute type="xs:int" name="offsetWidth" use="required"/> | |
<xs:attribute type="xs:int" name="offsetHeight" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Position"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="relativePoint" use="optional"/> | |
<xs:attribute type="xs:string" name="anchorPoint" use="optional"/> | |
<xs:attribute type="xs:string" name="relativeTo" use="required"/> | |
<xs:attribute type="xs:int" name="offsetX" use="required"/> | |
<xs:attribute type="xs:int" name="offsetY" use="required"/> | |
<xs:attribute type="xs:boolean" name="anchored" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="Color"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:int" name="R"/> | |
<xs:attribute type="xs:int" name="G"/> | |
<xs:attribute type="xs:int" name="B"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:element name="Tooltip"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:string" name="type" use="required"/> | |
<xs:attribute type="xs:int" name="text" use="optional"/> | |
<xs:attribute type="xs:string" name="appearanceTime" use="optional"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="UseFont"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:Color" name="Color" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="styleName" use="required"/> | |
<xs:attribute type="xs:string" name="fontName" use="required"/> | |
<xs:attribute type="xs:int" name="appearanceTime" use="optional"/> | |
<xs:attribute type="xs:string" name="line" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ScrollBarOffset"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:float" name="x" use="required"/> | |
<xs:attribute type="xs:float" name="y" use="required"/> | |
<xs:attribute type="xs:float" name="heightOffset" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="DefaultPropertyType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element ref="ui:Size" minOccurs="0" maxOccurs="1" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:UseFont" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:Position" minOccurs="1" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:Tooltip" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:TabOrder" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ScrollBarOffset" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="name" use="required"/> | |
<xs:attribute type="xs:string" name="extends" use="optional"/> | |
<xs:attribute type="xs:string" name="alwaysOnTop" use="optional"/> | |
<xs:attribute type="xs:string" name="virtual" use="optional"/> | |
<xs:attribute type="xs:string" name="alwaysOnBack" use="optional"/> | |
<xs:attribute type="xs:string" name="superChild" use="optional"/> | |
</xs:complexType> | |
<xs:element name="ButtonItem"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:string" name="OutLineUp"/> | |
<xs:attribute type="xs:string" name="OutLineDown"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="GaugeText"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:string" name="Texture" use="required"/> | |
<xs:attribute type="xs:int" name="FontWidth" use="required"/> | |
<xs:attribute type="xs:int" name="FontHeight" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="TextureCoords"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:float" name="u" use="optional"/> | |
<xs:attribute type="xs:float" name="v" use="optional"/> | |
<xs:attribute type="xs:float" name="usize"/> | |
<xs:attribute type="xs:float" name="vsize"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="frame"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="size" use="required"/> | |
<xs:attribute type="xs:string" name="direction"/> | |
<xs:attribute type="xs:boolean" name="exitbutton" use="optional"/> | |
<xs:attribute type="xs:string" name="LeftTextureName" use="optional"/> | |
<xs:attribute type="xs:string" name="MidTextureName" use="optional"/> | |
<xs:attribute type="xs:string" name="RightTextureName" use="optional"/> | |
<xs:attribute type="xs:string" name="MinimizeBtnTextureNormal" use="optional"/> | |
<xs:attribute type="xs:string" name="MinimizeBtnTexturePushed" use="optional"/> | |
<xs:attribute type="xs:string" name="CloseBtnTextureNormal" use="optional"/> | |
<xs:attribute type="xs:string" name="CloseBtnTexturePushed" use="optional"/> | |
<xs:attribute type="xs:int" name="LeftBackTextureWidth" use="optional"/> | |
<xs:attribute type="xs:int" name="MidBackTextureWidth" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="ItemWindowType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ButtonItem" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:BackgroundItem" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:SelectedItem" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:UnselectedItem" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ExpandItem" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:BlankItem" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="col" use="optional"/> | |
<xs:attribute type="xs:int" name="row" use="optional"/> | |
<xs:attribute type="xs:int" name="maxItem" use="optional"/> | |
<xs:attribute type="xs:int" name="itemWidth" use="optional"/> | |
<xs:attribute type="xs:int" name="itemHeight" use="optional"/> | |
<xs:attribute type="xs:int" name="gapX" use="optional"/> | |
<xs:attribute type="xs:int" name="gapY" use="optional"/> | |
<xs:attribute type="xs:int" name="OffsetX" use="optional"/> | |
<xs:attribute type="xs:int" name="OffsetY" use="optional"/> | |
<xs:attribute type="xs:boolean" name="NoSelectItem" use="optional"/> | |
<xs:attribute type="xs:boolean" name="NoItemDrag" use="optional"/> | |
<xs:attribute type="xs:boolean" name="ButtonClick" use="optional"/> | |
<xs:attribute type="xs:boolean" name="UseCoolTime" use="optional"/> | |
<xs:attribute type="xs:boolean" name="noScroll" use="optional"/> | |
<xs:attribute type="xs:boolean" name="ShowIconFrame" use="optional"/> | |
<xs:attribute type="xs:string" name="ItemWndType" use="optional"/> | |
</xs:complexType> | |
<xs:element name="ItemWindowTypeEnum"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute name="ScrollType"/> | |
<xs:attribute name="SideButtonType"/> | |
<xs:attribute name="UpDownButtonType"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="BackgroundItem"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="width"/> | |
<xs:attribute type="xs:int" name="height"/> | |
<xs:attribute type="xs:string" name="texture"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="SelectedItem"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="width"/> | |
<xs:attribute type="xs:int" name="height"/> | |
<xs:attribute type="xs:string" name="texture"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="UnselectedItem"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="width"/> | |
<xs:attribute type="xs:int" name="height"/> | |
<xs:attribute type="xs:string" name="texture"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="BlankItem"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="width"/> | |
<xs:attribute type="xs:int" name="height"/> | |
<xs:attribute type="xs:string" name="texture"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ExpandItem"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="width"/> | |
<xs:attribute type="xs:int" name="height"/> | |
<xs:attribute type="xs:int" name="num"/> | |
<xs:attribute type="xs:string" name="texture"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="ButtonType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="normalTex" use="optional"/> | |
<xs:attribute type="xs:string" name="pushedTex" use="optional"/> | |
<xs:attribute type="xs:int" name="buttonName" use="optional"/> | |
<xs:attribute type="xs:string" name="buttonNameText" use="optional"/> | |
<xs:attribute type="xs:string" name="highlightTex" use="optional"/> | |
<xs:attribute type="xs:string" name="dropTex" use="optional"/> | |
<xs:attribute type="xs:boolean" name="noHighlight" use="optional"/> | |
<xs:attribute type="xs:boolean" name="defaultSoundOn" use="optional"/> | |
<xs:attribute type="xs:int" name="DisableTime" use="optional"/> | |
</xs:complexType> | |
<xs:complexType name="TextBoxType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:Color" name="TextColor" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="text" use="optional"/> | |
<xs:attribute type="xs:int" name="sysstring" use="optional"/> | |
<xs:attribute type="xs:int" name="systemMsg" use="optional"/> | |
<xs:attribute type="xs:string" name="emoticon" use="required"/> | |
<xs:attribute type="xs:string" name="backTex" use="optional"/> | |
<xs:attribute type="xs:string" name="specialFont" use="optional"/> | |
<xs:attribute type="xs:string" name="valign" use="required"/> | |
<xs:attribute type="xs:string" name="align" use="required"/> | |
<xs:attribute type="xs:boolean" name="autosize" use="optional"/> | |
<xs:attribute type="xs:boolean" name="isShowScroll" use="optional"/> | |
<xs:attribute type="xs:string" name="specialFontType" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="TextListBoxType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="maxRow"/> | |
<xs:attribute type="xs:int" name="showRow"/> | |
<xs:attribute type="xs:int" name="lineGap"/> | |
<xs:attribute type="xs:boolean" name="isShowScroll"/> | |
</xs:complexType> | |
<xs:simpleType name="TextureAutoRotateType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="None"/> | |
<xs:enumeration value="Camera"/> | |
<xs:enumeration value="Pawn"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="TextureLayer"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Background"/> | |
<xs:enumeration value="Normal"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="TextAlignType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Left"/> | |
<xs:enumeration value="Center"/> | |
<xs:enumeration value="Right"/> | |
<xs:enumeration value="MacroIcon"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="TextVAlignType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Top"/> | |
<xs:enumeration value="Middle"/> | |
<xs:enumeration value="Bottom"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="ListBoxType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="maxRow"/> | |
<xs:attribute type="xs:int" name="showRow" use="required"/> | |
<xs:attribute type="xs:boolean" name="showLastLine" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="TreeCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:boolean" name="SaveExpandedNode" use="required"/> | |
<xs:attribute type="xs:boolean" name="MultiExpand" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="ListCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ListColumn" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="maxRow" use="required"/> | |
<xs:attribute type="xs:int" name="showRow" use="required"/> | |
<xs:attribute type="xs:boolean" name="useScroll" use="required"/> | |
<xs:attribute type="xs:int" name="contentsHeight" use="required"/> | |
<xs:attribute type="xs:int" name="headerHeight" use="required"/> | |
</xs:complexType> | |
<xs:element name="ListColumn"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="string" use="required"/> | |
<xs:attribute type="xs:int" name="width" use="required"/> | |
<xs:attribute type="xs:boolean" name="bNumber" use="required"/> | |
<xs:attribute type="xs:boolean" name="bAscend" use="required"/> | |
<xs:attribute type="xs:boolean" name="bClickEnable" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="MinimapCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:boolean" name="showtime" use="required"/> | |
<xs:attribute type="xs:boolean" name="showtown" use="required"/> | |
<xs:attribute type="xs:boolean" name="showgrid" use="required"/> | |
<xs:attribute type="xs:boolean" name="showmylocmark" use="required"/> | |
<xs:attribute type="xs:boolean" name="showmyloctext" use="required"/> | |
<xs:attribute type="xs:boolean" name="showssqtext" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="MoviePlayerCtrlType"> <!-- XMLVideoPlayerCtrlData --> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="FileName" use="required"/> | |
<xs:attribute type="xs:int" name="PlayTime"/> | |
</xs:complexType> | |
<xs:complexType name="MultiEditType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="maxRow"/> | |
<xs:attribute type="xs:int" name="showRow"/> | |
</xs:complexType> | |
<xs:complexType name="MultiSellItemInfoType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:complexType name="MultiSellNeededItemType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:complexType name="ProgressType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="Type" use="required"/> | |
<xs:attribute type="xs:string" name="backLeftTexture" use="required"/> | |
<xs:attribute type="xs:string" name="backRightTexture" use="required"/> | |
<xs:attribute type="xs:string" name="backTexture" use="required"/> | |
<xs:attribute type="xs:string" name="barLeftTexture" use="required"/> | |
<xs:attribute type="xs:string" name="barRightTexture" use="required"/> | |
<xs:attribute type="xs:string" name="barTexture" use="required"/> | |
<xs:attribute type="xs:int" name="USize" use="required"/> | |
<xs:attribute type="xs:int" name="VSize" use="optional"/> | |
<xs:attribute type="xs:int" name="gap" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="PropertyControllerType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:complexType name="RadarType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:complexType name="RadarMapCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:RadarMapCtrlObjectType" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="MapTextureName" use="required"/> | |
<xs:attribute type="xs:float" name="Layer" use="required"/> | |
</xs:complexType> | |
<xs:element name="RadarMapCtrlObjectType"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="TypeName" use="required"/> | |
<xs:attribute type="xs:string" name="NormalTexName" use="required"/> | |
<xs:attribute type="xs:string" name="PushedTexName" use="required"/> | |
<xs:attribute type="xs:string" name="OverTexName" use="required"/> | |
<xs:attribute type="xs:int" name="Width" use="required"/> | |
<xs:attribute type="xs:int" name="Height" use="required"/> | |
<xs:attribute type="xs:boolean" name="Top" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="RadioButtonType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="sysstring"/> | |
<xs:attribute type="xs:boolean" name="isChecked" use="required"/> | |
<xs:attribute type="xs:int" name="radioGroupID" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="ScrollAreaType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" minOccurs="1" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<!-- ScrollArea might contain any UI element. --> | |
<xs:element type="ui:WindowType" name="Window" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ButtonType" name="Button" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextBoxType" name="TextBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:EditBoxType" name="EditBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextureType" name="Texture" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ChatWindowType" name="ChatWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TabType" name="TabCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> <!-- proper name? --> | |
<xs:element type="ui:ItemWindowType" name="ItemWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:CheckBoxType" name="CheckBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ComboBoxType" name="ComboBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ProgressType" name="Progress" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiEditType" name="MultiEdit" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ListCtrlType" name="ListCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ListBoxType" name="ListBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StatusBarType" name="StatusBar" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MinimapCtrlType" name="MinimapCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ShortcutItemWindowType" name="ShortcutItemWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TreeCtrlType" name="TreeCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:SliderCtrlType" name="SliderCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:EffectButtonType" name="EffectButton" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextListBoxType" name="TextListBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadarType" name="Radar" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:HtmlCtrlType" name="HtmlCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadioButtonType" name="RadioButton" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:InvenWeightType" name="InvenWeight" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StatusIconCtrlType" name="StatusIconCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:BarCtrlType" name="BarCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FishViewportWindowType" name="FishViewportWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiSellItemInfoType" name="MultiSellItemInfo" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiSellNeededItemType" name="MultiSellNeededItem" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:DrawPanelType" name="DrawPanel" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadarMapCtrlType" name="RadarMapCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:PropertyControllerType" name="PropertyController" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FlashCtrlType" name="FlashCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:CharacterViewportWindowType" name="CharacterViewportWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="AreaHeight" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="ShortcutType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element ref="ui:ShortcutItem" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ShortcutSpecialItem" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="name" use="required"/> | |
<xs:attribute type="xs:string" name="state" use="required"/> | |
<xs:attribute type="xs:boolean" name="modifiable" use="required"/> | |
</xs:complexType> | |
<xs:element name="ShortcutItem"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="key" use="required"/> | |
<xs:attribute type="xs:string" name="command"/> | |
<xs:attribute type="xs:string" name="subkey1" use="optional"/> | |
<xs:attribute type="xs:string" name="subkey2" use="optional"/> | |
<xs:attribute type="xs:string" name="action" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ShortcutSpecialItem"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="key" use="required"/> | |
<xs:attribute type="xs:string" name="command"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="ShortcutItemWindowType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:boolean" name="alwaysShowOutline"/> | |
<xs:attribute type="xs:boolean" name="useReservedShortcut"/> | |
</xs:complexType> | |
<xs:complexType name="SliderCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:int" name="iCurrTick"/> | |
<xs:attribute type="xs:int" name="iThumbBtnWidth"/> | |
<xs:attribute type="xs:int" name="iThumbBtnHeight"/> | |
<xs:attribute type="xs:int" name="iNumOfTick" use="required"/> | |
<xs:attribute type="xs:boolean" name="thumbBtnInclusive" use="optional"/> | |
<xs:attribute type="xs:string" name="strBackTexture" use="required"/> | |
<xs:attribute type="xs:string" name="strDisableBackTexture"/> | |
<xs:attribute type="xs:string" name="strThumbBtnNormalTexture"/> | |
<xs:attribute type="xs:string" name="strThumbBtnDownTexture" use="required"/> | |
<xs:attribute type="xs:int" name="iPushBtnWidth" use="required"/> | |
<xs:attribute type="xs:int" name="iPushBtnHeight" use="required"/> | |
<xs:attribute type="xs:int" name="iPushBtnAutoHitTime" use="required"/> | |
<xs:attribute type="xs:string" name="strIncreaseBtnDownTexture" use="required"/> | |
<xs:attribute type="xs:string" name="strIncreaseBtnNormalTexture" use="required"/> | |
<xs:attribute type="xs:string" name="strDecreaseBtnNormalTexture" use="required"/> | |
<xs:attribute type="xs:string" name="strDecreaseBtnDownTexture" use="required"/> | |
<xs:attribute type="xs:string" name="strTickTexture" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="StatusBarType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:GaugeText" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="Title" use="optional"/> | |
<xs:attribute type="xs:int" name="TextureWidth" use="optional"/> | |
<xs:attribute type="xs:int" name="TextureHeight" use="optional"/> | |
<xs:attribute type="xs:string" name="ForeTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="ForeLeftTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="ForeRightTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="BackTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="BackLeftTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="BackRightTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="RegenLeftTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="RegenTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="RegenRightTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="WarnTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="WarnLeftTexture" use="optional"/> | |
<xs:attribute type="xs:string" name="WarnRightTexture" use="optional"/> | |
</xs:complexType> | |
<xs:complexType name="StatusIconCtrlType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:boolean" name="NoClip" use="required"/> | |
<xs:attribute type="xs:boolean" name="NoTooltip" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="StyleType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:Color" name="Color" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="Name" use="required"/> | |
<xs:attribute type="xs:string" name="FontName" use="required"/> | |
<xs:attribute type="xs:string" name="Line" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="TabType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:TabButton" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:element name="TabButton"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="buttonName" use="optional"/> | |
<xs:attribute type="xs:string" name="buttonNameText" use="optional"/> | |
<xs:attribute type="xs:string" name="target"/> | |
<xs:attribute type="xs:int" name="width"/> | |
<xs:attribute type="xs:int" name="height"/> | |
<xs:attribute type="xs:string" name="normalTex"/> | |
<xs:attribute type="xs:string" name="pushedTex"/> | |
<xs:attribute type="xs:boolean" name="movable" use="required"/> | |
<xs:attribute type="xs:int" name="gap" use="required"/> | |
<xs:attribute type="xs:int" name="tooltip" use="required"/> | |
<xs:attribute type="xs:boolean" name="noHighlight" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="TabOrder"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="preOrder" use="required"/> | |
<xs:attribute type="xs:string" name="postOrder" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="InvenWeightType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:GaugeText" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="Target"/> | |
<xs:attribute type="xs:int" name="TextureWidth"/> | |
<xs:attribute type="xs:int" name="TextureHeight"/> | |
<xs:attribute type="xs:string" name="TextureStepLeft"/> | |
<xs:attribute type="xs:string" name="TextureStepMid"/> | |
<xs:attribute type="xs:string" name="TextureStepRight"/> | |
<xs:attribute type="xs:string" name="TextureWarnLeft"/> | |
<xs:attribute type="xs:string" name="TextureWarnMid"/> | |
<xs:attribute type="xs:string" name="TextureWarnRight"/> | |
<xs:attribute type="xs:string" name="TextureAddedLeft"/> | |
<xs:attribute type="xs:string" name="TextureAddedMid"/> | |
<xs:attribute type="xs:string" name="TextureAddedRight"/> | |
<xs:attribute type="xs:string" name="TextureBackLeft"/> | |
<xs:attribute type="xs:string" name="TextureBackMid"/> | |
<xs:attribute type="xs:string" name="TextureBackRight"/> | |
</xs:complexType> | |
<xs:complexType name="TextureType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:TextureCoords" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:Color" name="ColorModify" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="file" use="required"/> | |
<xs:attribute type="xs:int" name="alpha" use="optional"/> | |
<xs:attribute type="xs:boolean" name="isAnimTex" use="optional"/> | |
<xs:attribute type="xs:string" name="AutoRotate" use="required"/> | |
<xs:attribute type="xs:string" name="AlphaMask" use="optional"/> | |
<xs:attribute type="xs:float" name="MaskLayer" use="optional"/> | |
<xs:attribute type="xs:string" name="type" use="optional"/> | |
<xs:attribute type="xs:string" name="layer" use="optional"/> | |
</xs:complexType> | |
<xs:complexType name="WindowType"> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element ref="ui:Drawer" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ShowHideAnim" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:frame" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:Iconable" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ResizeFrame" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:AdditionalState" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:WindowType" name="Window" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ButtonType" name="Button" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextBoxType" name="TextBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:EditBoxType" name="EditBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextureType" name="Texture" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ChatWindowType" name="ChatWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TabType" name="Tab" xmlns:ui="http://www.lineage2.co.kr/ui"/> <!-- proper name? --> | |
<xs:element type="ui:ItemWindowType" name="ItemWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:CheckBoxType" name="CheckBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ComboBoxType" name="ComboBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ProgressType" name="Progress" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiEditType" name="MultiEdit" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ListCtrlType" name="ListCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ListBoxType" name="ListBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StatusBarType" name="StatusBar" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MinimapCtrlType" name="MinimapCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ShortcutItemWindowType" name="ShortcutItemWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TreeCtrlType" name="TreeCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:SliderCtrlType" name="SliderCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:EffectButtonType" name="EffectButton" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextListBoxType" name="TextListBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadarType" name="Radar" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:HtmlCtrlType" name="HtmlCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadioButtonType" name="RadioButton" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:InvenWeightType" name="InvenWeight" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StatusIconCtrlType" name="StatusIconCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:BarCtrlType" name="BarCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ScrollAreaType" name="ScrollArea" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FishViewportWindowType" name="FishViewportWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiSellItemInfoType" name="MultiSellItemInfo" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiSellNeededItemType" name="MultiSellNeededItem" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:DrawPanelType" name="DrawPanel" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadarMapCtrlType" name="RadarMapCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:PropertyControllerType" name="PropertyController" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FlashCtrlType" name="FlashCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:CharacterViewportWindowType" name="CharacterViewportWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:NameCtrlType" name="NameCtrl" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MoviePlayerCtrlType" name="MoviePlayerCtrl" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<!-- Does this belong here? --> | |
<!-- Are these actually %sType? --> | |
<xs:element type="ui:ShortcutType" name="Shortcut" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FontType" name="Font" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StyleType" name="Style" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="parent" use="optional"/> | |
<xs:attribute type="xs:string" name="backTex" use="optional"/> | |
<xs:attribute type="xs:string" name="script" use="optional"/> | |
<xs:attribute type="xs:string" name="state" use="optional"/> | |
<xs:attribute type="xs:boolean" name="frame" use="optional"/> | |
<xs:attribute type="xs:boolean" name="resizeframe" use="optional"/> | |
<xs:attribute type="xs:boolean" name="iconable" use="optional"/> | |
<xs:attribute type="xs:boolean" name="hidden" use="optional"/> | |
<xs:attribute type="xs:boolean" name="alwaysFullAlpha" use="optional"/> | |
<xs:attribute type="xs:boolean" name="stuckable" use="optional"/> | |
<xs:attribute type="xs:int" name="title" use="optional"/> | |
<xs:attribute type="xs:boolean" name="savePosition" use="optional"/> | |
<xs:attribute type="xs:boolean" name="saveSize" use="optional"/> | |
<xs:attribute type="xs:boolean" name="draggable" use="optional"/> | |
<xs:attribute type="xs:boolean" name="hookKeyInput" use="optional"/> | |
<xs:attribute type="xs:string" name="WorkingConfiguration" use="required"/> | |
<xs:attribute type="xs:boolean" name="UseParentClipRect" use="optional"/> | |
</xs:complexType> | |
<xs:element name="Drawer"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="direction"/> | |
<xs:attribute type="xs:string" name="ownerWindow"/> | |
<xs:attribute type="xs:int" name="offsetX" use="required"/> | |
<xs:attribute type="xs:int" name="offsetY" use="required"/> | |
<xs:attribute type="xs:boolean" name="directionFixed" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ShowHideAnim"> | |
<xs:complexType> | |
<xs:choice maxOccurs="unbounded"> | |
<xs:element type="ui:Anim" name="ShowAnim" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:Anim" name="HideAnim" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="Anim"> | |
<xs:attribute type="xs:string" name="type"/> | |
<xs:attribute type="xs:float" name="direction" use="optional"/> | |
<xs:attribute type="xs:float" name="seconds" use="optional"/> | |
</xs:complexType> | |
<xs:element name="Iconable"> | |
<xs:complexType> | |
<xs:attribute name="IconName" use="required" xmlns:ui="http://www.lineage2.co.kr/ui" type="xs:string"/> | |
<xs:attribute name="TooltipIdx" use="required" xmlns:ui="http://www.lineage2.co.kr/ui" type="xs:int"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ResizeFrame"> | |
<xs:complexType> | |
<xs:attribute type="xs:int" name="x" use="optional"/> | |
<xs:attribute type="xs:int" name="y" use="optional"/> | |
<xs:attribute type="xs:int" name="width" use="optional"/> | |
<xs:attribute type="xs:int" name="height" use="optional"/> | |
<xs:attribute type="xs:int" name="maxIncrease" use="optional"/> | |
<xs:attribute type="xs:string" name="direction"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="AdditionalState"> | |
<xs:complexType> | |
<xs:attribute type="xs:string" name="stateName" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="NameCtrlType"> | |
<xs:choice minOccurs="1" maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
<xs:complexType name="FontDataType"> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPropertyType" name="DefaultProperty" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:Shadow" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:Stroke" minOccurs="0" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="name" use="required"/> | |
<xs:attribute type="xs:string" name="fileName" use="required"/> | |
<xs:attribute type="xs:string" name="location" use="required"/> | |
<xs:attribute type="xs:int" name="size" use="required"/> | |
<!-- <xs:attribute type="xs:int" name="index" use="required"/> --> | |
<xs:attribute type="xs:int" name="index" use="optional"/> | |
<xs:attribute type="xs:int" name="lineGap" use="optional"/> | |
<xs:attribute type="xs:int" name="underlineOffset" use="required"/> | |
</xs:complexType> | |
<xs:element name="FontDefinition"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element type="ui:Color" name="DefaultColor" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FontDataType" name="FontData" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="defaultFontName" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="DefaultPositionItemPosition"> | |
<xs:attribute type="xs:string" name="relativePoint" use="required"/> | |
<xs:attribute type="xs:int" name="offsetX" use="required"/> | |
<xs:attribute type="xs:int" name="offsetY" use="required"/> | |
<xs:attribute type="xs:boolean" name="anchored" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="DefaultPositionItemSize"> | |
<xs:attribute type="xs:int" name="width" use="required"/> | |
<xs:attribute type="xs:int" name="height" use="optional"/> | |
</xs:complexType> | |
<xs:element name="DefaultPositionItem"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element type="ui:DefaultPositionItemPosition" name="Position" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:DefaultPositionItemSize" name="Size" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
<xs:attribute type="xs:string" name="windowName" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="DefaultPosition"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element ref="ui:DefaultPositionItem" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Constant"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="ConstantInt" type="ui:ConstantIntType" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element name="ConstantFloat" type="ui:ConstantFloatType" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element name="ConstantBool" type="ui:ConstantBoolType" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element name="ConstantString" type="ui:ConstantStringType" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:complexType name="ConstantIntType"> | |
<xs:attribute type="xs:int" name="id" use="required"/> | |
<xs:attribute type="xs:int" name="value" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="ConstantFloatType"> | |
<xs:attribute type="xs:int" name="id" use="required"/> | |
<xs:attribute type="xs:float" name="value" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="ConstantStringType"> | |
<xs:attribute type="xs:int" name="id" use="required"/> | |
<xs:attribute type="xs:string" name="value" use="required"/> | |
</xs:complexType> | |
<xs:complexType name="ConstantBoolType"> | |
<xs:attribute type="xs:int" name="id" use="required"/> | |
<xs:attribute type="xs:boolean" name="value" use="required"/> | |
</xs:complexType> | |
<xs:element name="L2UI"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element type="ui:WindowType" name="Window" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ButtonType" name="Button" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextBoxType" name="TextBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:EditBoxType" name="EditBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextureType" name="Texture" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ChatWindowType" name="ChatWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TabType" name="TabCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> <!-- proper name? --> | |
<xs:element type="ui:ItemWindowType" name="ItemWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:CheckBoxType" name="CheckBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ComboBoxType" name="ComboBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ProgressType" name="Progress" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiEditType" name="MultiEdit" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ListCtrlType" name="ListCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ListBoxType" name="ListBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StatusBarType" name="StatusBar" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MinimapCtrlType" name="MinimapCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ShortcutItemWindowType" name="ShortcutItemWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TreeCtrlType" name="TreeCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:SliderCtrlType" name="SliderCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:EffectButtonType" name="EffectButton" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:TextListBoxType" name="TextListBox" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadarType" name="Radar" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:HtmlCtrlType" name="HtmlCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadioButtonType" name="RadioButton" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:InvenWeightType" name="InvenWeight" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StatusIconCtrlType" name="StatusIconCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:BarCtrlType" name="BarCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ScrollAreaType" name="ScrollArea" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FishViewportWindowType" name="FishViewportWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiSellItemInfoType" name="MultiSellItemInfo" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MultiSellNeededItemType" name="MultiSellNeededItem" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:DrawPanelType" name="DrawPanel" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:RadarMapCtrlType" name="RadarMapCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:PropertyControllerType" name="PropertyController" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FlashCtrlType" name="FlashCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:CharacterViewportWindowType" name="CharacterViewportWindow" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:NameCtrlType" name="NameCtrl" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:MoviePlayerCtrlType" name="MoviePlayerCtrl" minOccurs="0" maxOccurs="unbounded" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<!-- Does this belong here? --> | |
<!-- Are these actually %sType? --> | |
<xs:element type="ui:ShortcutType" name="Shortcut" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:FontType" name="Font" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:StyleType" name="Style" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:FontDefinition" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:ChatChannelDefinition" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:DefaultPosition" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element ref="ui:Constant" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<!-- SceneCtrl, unused? --> | |
<!-- <xs:element type="ui:SceneCameraCtrlType" name="SceneCameraCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:SceneNpcCtrlType" name="SceneNpcCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:ScenePcCtrlType" name="ScenePcCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:SceneScreenCtrlType" name="SceneScreenCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> | |
<xs:element type="ui:SceneMusicCtrlType" name="SceneMusicCtrl" xmlns:ui="http://www.lineage2.co.kr/ui"/> --> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
</xs:schema> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment