feat: modules moved and engine moved to submodule
2
engine/misc/dist/document_icons/gdscript.svg
vendored
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.543-141.93-39.865-197.505-34.983 2.17-68.048 31.457-117.656-37.966-177.026m-415.32-32.623h302.11c77.128-2.02 126.554 37.835 178.444 84.881l123.665 109.83c63.819 56.94 89.13 110.625 96 188.174v542.886h-700.219z"/><text x="207.666" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="207.666" y="878.644" font-size="112">GDSCRIPT</tspan></text><path fill="#478cbf" d="m481.818 300.713-17.037 68.149a150.92 150.92 0 0 0 -20.81 8.43l-60.015-36.021-42.683 42.683 36.079 60.19a150.92 150.92 0 0 0 -8.608 20.693l-68.031 16.978v60.368l68.149 17.037a150.92 150.92 0 0 0 8.43 20.752l-36.021 60.072 42.683 42.683 60.19-36.079a150.92 150.92 0 0 0 20.693 8.608l16.978 68.031h60.368l17.037-68.149a150.92 150.92 0 0 0 20.752-8.43l60.072 36.021 42.683-42.683-36.079-60.19a150.92 150.92 0 0 0 8.608-20.693l68.031-16.978v-60.368l-68.149-17.037a150.92 150.92 0 0 0 -8.43-20.752l36.021-60.072-42.683-42.683-60.19 36.079a150.92 150.92 0 0 0 -20.693-8.608l-16.978-68.031h-60.368zm30.184 150.92a60.368 60.368 0 0 1 60.368 60.367 60.368 60.368 0 0 1 -60.368 60.368 60.368 60.368 0 0 1 -60.368-60.368 60.368 60.368 0 0 1 60.368-60.368z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.543-141.93-39.865-197.505-34.983 2.17-68.048 31.457-117.656-37.966-177.026m-415.32-32.623h302.11c77.128-2.02 126.554 37.835 178.444 84.881l123.665 109.83c63.819 56.94 89.13 110.625 96 188.174v542.886h-700.219z"/><text x="207.666" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="207.666" y="878.644" font-size="112">GDSCRIPT</tspan></text><path fill="#478cbf" d="m481.818 300.713-17.037 68.149a150.92 150.92 0 0 0 -20.81 8.43l-60.015-36.021-42.683 42.683 36.079 60.19a150.92 150.92 0 0 0 -8.608 20.693l-68.031 16.978v60.368l68.149 17.037a150.92 150.92 0 0 0 8.43 20.752l-36.021 60.072 42.683 42.683 60.19-36.079a150.92 150.92 0 0 0 20.693 8.608l16.978 68.031h60.368l17.037-68.149a150.92 150.92 0 0 0 20.752-8.43l60.072 36.021 42.683-42.683-36.079-60.19a150.92 150.92 0 0 0 8.608-20.693l68.031-16.978v-60.368l-68.149-17.037a150.92 150.92 0 0 0 -8.43-20.752l36.021-60.072-42.683-42.683-60.19 36.079a150.92 150.92 0 0 0 -20.693-8.608l-16.978-68.031h-60.368zm30.184 150.92a60.368 60.368 0 0 1 60.368 60.367 60.368 60.368 0 0 1 -60.368 60.368 60.368 60.368 0 0 1 -60.368-60.368 60.368 60.368 0 0 1 60.368-60.368z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51H7.25c1.205-.032 1.977.591 2.788 1.326L11.97 3.81c.998.89 1.393 1.729 1.5 2.94v8.483H2.53z"/><path fill="#478cbf" d="M7.39 4.721l-.346 1.38a3.056 3.056 0 0 0-.421.171l-1.216-.73-.864.865.73 1.219a3.056 3.056 0 0 0-.174.419l-1.377.344V9.61l1.38.345a3.056 3.056 0 0 0 .17.42l-.729 1.217.864.864 1.22-.73a3.056 3.056 0 0 0 .418.174l.344 1.377h1.222l.345-1.38a3.056 3.056 0 0 0 .42-.17l1.217.73.864-.865-.73-1.219a3.056 3.056 0 0 0 .174-.42l1.378-.343V8.39l-1.38-.345a3.056 3.056 0 0 0-.17-.42l.729-1.217-.865-.864-1.219.73a3.056 3.056 0 0 0-.419-.174L8.611 4.72H7.39zM8 7.777A1.222 1.222 0 0 1 9.223 9 1.222 1.222 0 0 1 8 10.222 1.222 1.222 0 0 1 6.778 9 1.222 1.222 0 0 1 8 7.777z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51H7.25c1.205-.032 1.977.591 2.788 1.326L11.97 3.81c.998.89 1.393 1.729 1.5 2.94v8.483H2.53z"/><path fill="#478cbf" d="M7.39 4.721l-.346 1.38a3.056 3.056 0 0 0-.421.171l-1.216-.73-.864.865.73 1.219a3.056 3.056 0 0 0-.174.419l-1.377.344V9.61l1.38.345a3.056 3.056 0 0 0 .17.42l-.729 1.217.864.864 1.22-.73a3.056 3.056 0 0 0 .418.174l.344 1.377h1.222l.345-1.38a3.056 3.056 0 0 0 .42-.17l1.217.73.864-.865-.73-1.219a3.056 3.056 0 0 0 .174-.42l1.378-.343V8.39l-1.38-.345a3.056 3.056 0 0 0-.17-.42l.729-1.217-.865-.864-1.219.73a3.056 3.056 0 0 0-.419-.174L8.611 4.72H7.39zM8 7.777A1.222 1.222 0 0 1 9.223 9 1.222 1.222 0 0 1 8 10.222 1.222 1.222 0 0 1 6.778 9 1.222 1.222 0 0 1 8 7.777z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 924 B After Width: | Height: | Size: 925 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"/><path fill="#478cbf" d="M15.057 11.397l-.532 2.13a4.716 4.716 0 0 0-.65.263l-1.876-1.126-1.334 1.334 1.128 1.881a4.716 4.716 0 0 0-.27.647l-2.125.53v1.887l2.13.532a4.716 4.716 0 0 0 .263.649L10.665 22 12 23.335l1.881-1.127a4.716 4.716 0 0 0 .647.269l.53 2.125h1.887l.532-2.13a4.716 4.716 0 0 0 .649-.263l1.877 1.126 1.334-1.334-1.128-1.88a4.716 4.716 0 0 0 .27-.647l2.125-.531v-1.886l-2.13-.533a4.716 4.716 0 0 0-.263-.648l1.126-1.878-1.334-1.333-1.881 1.127a4.716 4.716 0 0 0-.647-.269l-.53-2.126h-1.887zm.944 4.716A1.887 1.887 0 0 1 17.887 18a1.887 1.887 0 0 1-1.886 1.886A1.887 1.887 0 0 1 14.114 18a1.887 1.887 0 0 1 1.887-1.887z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"/><path fill="#478cbf" d="M15.057 11.397l-.532 2.13a4.716 4.716 0 0 0-.65.263l-1.876-1.126-1.334 1.334 1.128 1.881a4.716 4.716 0 0 0-.27.647l-2.125.53v1.887l2.13.532a4.716 4.716 0 0 0 .263.649L10.665 22 12 23.335l1.881-1.127a4.716 4.716 0 0 0 .647.269l.53 2.125h1.887l.532-2.13a4.716 4.716 0 0 0 .649-.263l1.877 1.126 1.334-1.334-1.128-1.88a4.716 4.716 0 0 0 .27-.647l2.125-.531v-1.886l-2.13-.533a4.716 4.716 0 0 0-.263-.648l1.126-1.878-1.334-1.333-1.881 1.127a4.716 4.716 0 0 0-.647-.269l-.53-2.126h-1.887zm.944 4.716A1.887 1.887 0 0 1 17.887 18a1.887 1.887 0 0 1-1.886 1.886A1.887 1.887 0 0 1 14.114 18a1.887 1.887 0 0 1 1.887-1.887z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 984 B After Width: | Height: | Size: 985 B |
2
engine/misc/dist/document_icons/project.svg
vendored
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.542-141.93-39.864-197.505-34.983 2.17-68.048 31.457-117.655-37.966-177.025m-415.32-32.625h302.11c77.128-2.02 126.554 37.836 178.444 84.882l123.665 109.83c63.819 56.94 89.13 110.624 96 188.174v542.885h-700.219z"/><g stroke-width=".32"><path fill="#fff" d="m712.572 590.17s-.666-4.089-1.056-4.052l-74.179 7.157a12.056 12.056 0 0 0 -10.9 11.191l-2.038 29.21-57.387 4.094-3.905-26.472c-.868-5.888-6.01-10.327-11.961-10.327h-78.292c-5.95 0-11.09 4.439-11.96 10.327l-3.906 26.472-57.387-4.095-2.038-29.208a12.057 12.057 0 0 0 -10.901-11.194l-74.214-7.155c-.384-.037-.665 4.056-1.049 4.056l-.1 16.052 62.853 10.136 2.059 29.47c.416 5.965 5.23 10.788 11.2 11.217l79.035 5.638c.299.021.594.033.89.033 5.94 0 11.072-4.44 11.941-10.329l4.017-27.237h57.414l4.017 27.237c.867 5.886 6.006 10.326 11.953 10.326.292 0 .583-.009.868-.03l79.046-5.638c5.967-.428 10.783-5.252 11.2-11.218l2.056-29.469 62.826-10.18z"/><path fill="#478cbf" d="m311.398 469.127v121.042c.221.003.443.01.662.031l74.207 7.155c3.88703.37478 6.93367 3.50431 7.204 7.4l2.289 32.756 64.731 4.619 4.46-30.234c.57822-3.91981 3.94178-6.82377 7.904-6.824h78.292c3.96222.00023 7.32578 2.90419 7.904 6.824l4.458 30.234 64.733-4.619 2.287-32.757c.27147-3.89481 3.31693-7.02357 7.203-7.4l74.178-7.154c.22-.02.44-.028.66-.031v-9.658l.032-.01v-111.373c10.4496-13.15476 20.3441-27.66594 27.925-39.874-11.586-19.722-25.78-37.347-40.954-53.677-14.073 7.083-27.74 15.108-40.65 23.647-6.46-6.421-13.736-11.674-20.883-17.164-7.022-5.64-14.936-9.775-22.44-14.593 2.234-16.641 3.339-33.024 3.783-50.122-19.366-9.747-40.017-16.209-60.905-20.85-8.34 14.017-15.967 29.196-22.61 44.035-7.876-1.316-15.79-1.804-23.713-1.898v-.013c-.055 0-.107.013-.154.013-.05 0-.1-.013-.15-.013v.013c-7.937.095-15.845.582-23.724 1.898-6.638-14.84-14.261-30.018-22.613-44.035-20.879 4.641-41.532 11.104-60.895 20.85.442 17.098 1.548 33.48 3.788 50.122-7.52 4.818-15.423 8.953-22.447 14.592-7.137 5.491-14.425 10.745-20.887 17.165-12.91-8.539-26.573-16.564-40.65-23.646-15.173 16.329-29.36 33.953-40.95 53.676 9.10746 14.29708 18.8786 28.66782 27.925 39.873z"/><path fill="#478cbf" d="m646 612.615-2.3 32.93a7.992 7.992 0 0 1 -7.402 7.413l-79.044 5.64a7.991 7.991 0 0 1 -8.474-6.806l-4.531-30.74h-64.496l-4.533 30.74c-.608 4.137-4.308 7.112-8.474 6.806l-79.043-5.64a7.992 7.992 0 0 1 -7.402-7.413l-2.3-32.931-66.726-6.434c.032 7.173.124 15.028.124 16.592 0 70.472 89.397 104.344 200.465 104.734h.273c111.07-.39 200.435-34.262 200.435-104.734 0-1.592.096-9.416.129-16.592z"/><path fill="#fff" d="m451.527 518.261c0 24.71-20.02 44.725-44.72 44.725-24.688 0-44.714-20.016-44.714-44.725 0-24.691 20.026-44.697 44.713-44.697 24.7 0 44.72 20.006 44.72 44.697"/><path fill="#414042" d="m440.766 520.915c0 16.388-13.283 29.671-29.684 29.671-16.393 0-29.684-13.283-29.684-29.671 0-16.39 13.29-29.685 29.684-29.685 16.401 0 29.684 13.295 29.684 29.685"/><path fill="#fff" d="m511.997 567.054c-7.951 0-14.394-5.86-14.394-13.081v-41.17c0-7.216 6.444-13.08 14.394-13.08s14.408 5.864 14.408 13.08v41.17c0 7.222-6.458 13.081-14.408 13.081m60.477-48.793c0 24.71 20.02 44.725 44.724 44.725 24.686 0 44.71-20.016 44.71-44.725 0-24.691-20.024-44.697-44.71-44.697-24.704 0-44.724 20.006-44.724 44.697"/><path fill="#414042" d="m583.238 520.915c0 16.388 13.279 29.671 29.668 29.671 16.405 0 29.683-13.283 29.683-29.671 0-16.39-13.278-29.685-29.684-29.685-16.388 0-29.668 13.295-29.668 29.685"/></g><text x="234.416" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="234.416" y="878.644" font-size="112">PROJECT</tspan></text></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.542-141.93-39.864-197.505-34.983 2.17-68.048 31.457-117.655-37.966-177.025m-415.32-32.625h302.11c77.128-2.02 126.554 37.836 178.444 84.882l123.665 109.83c63.819 56.94 89.13 110.624 96 188.174v542.885h-700.219z"/><g stroke-width=".32"><path fill="#fff" d="m712.572 590.17s-.666-4.089-1.056-4.052l-74.179 7.157a12.056 12.056 0 0 0 -10.9 11.191l-2.038 29.21-57.387 4.094-3.905-26.472c-.868-5.888-6.01-10.327-11.961-10.327h-78.292c-5.95 0-11.09 4.439-11.96 10.327l-3.906 26.472-57.387-4.095-2.038-29.208a12.057 12.057 0 0 0 -10.901-11.194l-74.214-7.155c-.384-.037-.665 4.056-1.049 4.056l-.1 16.052 62.853 10.136 2.059 29.47c.416 5.965 5.23 10.788 11.2 11.217l79.035 5.638c.299.021.594.033.89.033 5.94 0 11.072-4.44 11.941-10.329l4.017-27.237h57.414l4.017 27.237c.867 5.886 6.006 10.326 11.953 10.326.292 0 .583-.009.868-.03l79.046-5.638c5.967-.428 10.783-5.252 11.2-11.218l2.056-29.469 62.826-10.18z"/><path fill="#478cbf" d="m311.398 469.127v121.042c.221.003.443.01.662.031l74.207 7.155c3.88703.37478 6.93367 3.50431 7.204 7.4l2.289 32.756 64.731 4.619 4.46-30.234c.57822-3.91981 3.94178-6.82377 7.904-6.824h78.292c3.96222.00023 7.32578 2.90419 7.904 6.824l4.458 30.234 64.733-4.619 2.287-32.757c.27147-3.89481 3.31693-7.02357 7.203-7.4l74.178-7.154c.22-.02.44-.028.66-.031v-9.658l.032-.01v-111.373c10.4496-13.15476 20.3441-27.66594 27.925-39.874-11.586-19.722-25.78-37.347-40.954-53.677-14.073 7.083-27.74 15.108-40.65 23.647-6.46-6.421-13.736-11.674-20.883-17.164-7.022-5.64-14.936-9.775-22.44-14.593 2.234-16.641 3.339-33.024 3.783-50.122-19.366-9.747-40.017-16.209-60.905-20.85-8.34 14.017-15.967 29.196-22.61 44.035-7.876-1.316-15.79-1.804-23.713-1.898v-.013c-.055 0-.107.013-.154.013-.05 0-.1-.013-.15-.013v.013c-7.937.095-15.845.582-23.724 1.898-6.638-14.84-14.261-30.018-22.613-44.035-20.879 4.641-41.532 11.104-60.895 20.85.442 17.098 1.548 33.48 3.788 50.122-7.52 4.818-15.423 8.953-22.447 14.592-7.137 5.491-14.425 10.745-20.887 17.165-12.91-8.539-26.573-16.564-40.65-23.646-15.173 16.329-29.36 33.953-40.95 53.676 9.10746 14.29708 18.8786 28.66782 27.925 39.873z"/><path fill="#478cbf" d="m646 612.615-2.3 32.93a7.992 7.992 0 0 1 -7.402 7.413l-79.044 5.64a7.991 7.991 0 0 1 -8.474-6.806l-4.531-30.74h-64.496l-4.533 30.74c-.608 4.137-4.308 7.112-8.474 6.806l-79.043-5.64a7.992 7.992 0 0 1 -7.402-7.413l-2.3-32.931-66.726-6.434c.032 7.173.124 15.028.124 16.592 0 70.472 89.397 104.344 200.465 104.734h.273c111.07-.39 200.435-34.262 200.435-104.734 0-1.592.096-9.416.129-16.592z"/><path fill="#fff" d="m451.527 518.261c0 24.71-20.02 44.725-44.72 44.725-24.688 0-44.714-20.016-44.714-44.725 0-24.691 20.026-44.697 44.713-44.697 24.7 0 44.72 20.006 44.72 44.697"/><path fill="#414042" d="m440.766 520.915c0 16.388-13.283 29.671-29.684 29.671-16.393 0-29.684-13.283-29.684-29.671 0-16.39 13.29-29.685 29.684-29.685 16.401 0 29.684 13.295 29.684 29.685"/><path fill="#fff" d="m511.997 567.054c-7.951 0-14.394-5.86-14.394-13.081v-41.17c0-7.216 6.444-13.08 14.394-13.08s14.408 5.864 14.408 13.08v41.17c0 7.222-6.458 13.081-14.408 13.081m60.477-48.793c0 24.71 20.02 44.725 44.724 44.725 24.686 0 44.71-20.016 44.71-44.725 0-24.691-20.024-44.697-44.71-44.697-24.704 0-44.724 20.006-44.724 44.697"/><path fill="#414042" d="m583.238 520.915c0 16.388 13.279 29.671 29.668 29.671 16.405 0 29.683-13.283 29.683-29.671 0-16.39-13.278-29.685-29.684-29.685-16.388 0-29.668 13.295-29.668 29.685"/></g><text x="234.416" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="234.416" y="878.644" font-size="112">PROJECT</tspan></text></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51h4.721c1.205-.032 1.977.591 2.788 1.326l1.932 1.716c.998.89 1.393 1.729 1.5 2.94v8.483h-10.94z"/><g stroke-width=".32"><path fill="#fff" d="m12.062 10.583s-.014-.083-.022-.082l-1.502.145a.244.244 0 0 0 -.22.226l-.042.592-1.162.083-.079-.536a.246.246 0 0 0 -.242-.21h-1.585c-.12 0-.225.09-.243.21l-.079.536-1.162-.083-.041-.592a.244.244 0 0 0 -.22-.226l-1.505-.146c-.007-.001-.013.082-.02.082l-.003.325 1.273.205.042.597c.008.12.105.218.226.227l1.6.114h.019c.12 0 .224-.089.242-.208l.081-.552h1.163l.08.552a.246.246 0 0 0 .26.208l1.601-.114a.246.246 0 0 0 .227-.227l.042-.597 1.272-.206z"/><path fill="#478cbf" d="m3.938 8.132v2.45l.013.001 1.503.145c.078773.0076.1405059.07105.146.15l.046.663 1.311.094.09-.612c.01187-.07924.079879-.137895.16-.138h1.586c.080121.000105.1481303.05876.16.138l.09.612 1.311-.094.046-.663c.0055-.07895.06723-.142375.146-.15l1.502-.145h.014v-2.451c.22118-.2597567.402804-.5673567.566-.808-.236303-.3914463-.514617-.7559371-.83-1.087-.283508.1437236-.558316.3040004-.823.48-.13-.13-.278-.237-.422-.348-.143-.115-.303-.198-.455-.296.044019-.3366902.069724-.6755224.077-1.015-.392294-.1911688-.8067944-.3329185-1.234-.422-.1691916.2883902-.3217734.5862085-.457.892-.158761-.0253078-.3192359-.0383464-.48-.039h-.004-.003c-.16.002-.32.012-.48.039-.135411-.3058816-.288331-.6037083-.458-.892-.4268603.0891708-.841019.2309186-1.233.422.009.346.031.678.076 1.015-.152.098-.312.181-.454.296-.145.11-.292.217-.423.347-.264694-.1756817-.5395029-.3356251-.823-.479-.307.331-.595.688-.83 1.087.1718588.2982703.3967405.5717122.566.808z"/><path fill="#478cbf" d="m10.714 11.037-.047.667a.162.162 0 0 1 -.15.15l-1.6.114a.162.162 0 0 1 -.172-.137l-.092-.623h-1.306l-.092.623a.162.162 0 0 1 -.171.137l-1.6-.114a.162.162 0 0 1 -.15-.15l-.047-.667-1.351-.13.002.336c0 1.427 1.81 2.113 4.06 2.12h.005c2.25-.007 4.059-.693 4.059-2.12l.002-.336z"/><path fill="#fff" d="m6.776 9.127a.905.905 0 1 1 -1.811 0 .905.905 0 0 1 1.81 0"/><path fill="#414042" d="m6.558 9.18a.6.6 0 1 1 -1.202 0 .6.6 0 0 1 1.202 0"/><path fill="#fff" d="m8 10.115c-.16 0-.291-.119-.291-.265v-.834c0-.146.13-.265.291-.265s.292.119.292.265v.834c0 .146-.13.265-.292.265m1.225-.988a.906.906 0 1 0 1.81 0 .906.906 0 0 0 -1.81 0"/><path fill="#414042" d="m9.443 9.18a.6.6 0 1 0 1.201 0 .6.6 0 0 0 -1.201 0"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51h4.721c1.205-.032 1.977.591 2.788 1.326l1.932 1.716c.998.89 1.393 1.729 1.5 2.94v8.483h-10.94z"/><g stroke-width=".32"><path fill="#fff" d="m12.062 10.583s-.014-.083-.022-.082l-1.502.145a.244.244 0 0 0 -.22.226l-.042.592-1.162.083-.079-.536a.246.246 0 0 0 -.242-.21h-1.585c-.12 0-.225.09-.243.21l-.079.536-1.162-.083-.041-.592a.244.244 0 0 0 -.22-.226l-1.505-.146c-.007-.001-.013.082-.02.082l-.003.325 1.273.205.042.597c.008.12.105.218.226.227l1.6.114h.019c.12 0 .224-.089.242-.208l.081-.552h1.163l.08.552a.246.246 0 0 0 .26.208l1.601-.114a.246.246 0 0 0 .227-.227l.042-.597 1.272-.206z"/><path fill="#478cbf" d="m3.938 8.132v2.45l.013.001 1.503.145c.078773.0076.1405059.07105.146.15l.046.663 1.311.094.09-.612c.01187-.07924.079879-.137895.16-.138h1.586c.080121.000105.1481303.05876.16.138l.09.612 1.311-.094.046-.663c.0055-.07895.06723-.142375.146-.15l1.502-.145h.014v-2.451c.22118-.2597567.402804-.5673567.566-.808-.236303-.3914463-.514617-.7559371-.83-1.087-.283508.1437236-.558316.3040004-.823.48-.13-.13-.278-.237-.422-.348-.143-.115-.303-.198-.455-.296.044019-.3366902.069724-.6755224.077-1.015-.392294-.1911688-.8067944-.3329185-1.234-.422-.1691916.2883902-.3217734.5862085-.457.892-.158761-.0253078-.3192359-.0383464-.48-.039h-.004-.003c-.16.002-.32.012-.48.039-.135411-.3058816-.288331-.6037083-.458-.892-.4268603.0891708-.841019.2309186-1.233.422.009.346.031.678.076 1.015-.152.098-.312.181-.454.296-.145.11-.292.217-.423.347-.264694-.1756817-.5395029-.3356251-.823-.479-.307.331-.595.688-.83 1.087.1718588.2982703.3967405.5717122.566.808z"/><path fill="#478cbf" d="m10.714 11.037-.047.667a.162.162 0 0 1 -.15.15l-1.6.114a.162.162 0 0 1 -.172-.137l-.092-.623h-1.306l-.092.623a.162.162 0 0 1 -.171.137l-1.6-.114a.162.162 0 0 1 -.15-.15l-.047-.667-1.351-.13.002.336c0 1.427 1.81 2.113 4.06 2.12h.005c2.25-.007 4.059-.693 4.059-2.12l.002-.336z"/><path fill="#fff" d="m6.776 9.127a.905.905 0 1 1 -1.811 0 .905.905 0 0 1 1.81 0"/><path fill="#414042" d="m6.558 9.18a.6.6 0 1 1 -1.202 0 .6.6 0 0 1 1.202 0"/><path fill="#fff" d="m8 10.115c-.16 0-.291-.119-.291-.265v-.834c0-.146.13-.265.291-.265s.292.119.292.265v.834c0 .146-.13.265-.292.265m1.225-.988a.906.906 0 1 0 1.81 0 .906.906 0 0 0 -1.81 0"/><path fill="#414042" d="m9.443 9.18a.6.6 0 1 0 1.201 0 .6.6 0 0 0 -1.201 0"/></g></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532m-12.979-1.019h9.441c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965h-21.882z"/><g stroke-width=".32"><path fill="#fff" d="m22.268 20.443s-.02-.128-.033-.127l-2.318.224a.377.377 0 0 0 -.34.35l-.064.912-1.793.128-.122-.827a.38.38 0 0 0 -.374-.323h-2.447a.38.38 0 0 0 -.374.323l-.122.827-1.793-.128-.064-.913a.377.377 0 0 0 -.34-.35l-2.32-.223c-.011-.001-.02.127-.032.127l-.003.501 1.964.317.064.921a.38.38 0 0 0 .35.35l2.47.177h.028a.38.38 0 0 0 .373-.322l.125-.851h1.795l.125.851a.38.38 0 0 0 .4.322l2.471-.176a.38.38 0 0 0 .35-.351l.064-.92 1.964-.32z"/><path fill="#478cbf" d="m9.732 16.66v3.783h.02l2.32.224c.120882.01233.215393.109796.224.231l.072 1.024 2.023.144.14-.945c.01825-.121952.122691-.212385.246-.213h2.447c.123688.000122.228694.09067.247.213l.14.945 2.022-.144.072-1.024c.0091-.121156.104074-.218195.225-.23l2.318-.225h.02v-.302h.001v-3.481c.337369-.403598.623887-.872775.873-1.246-.364428-.603874-.793632-1.166199-1.28-1.677-.44.22-.867.472-1.27.738-.202-.2-.43-.364-.653-.536-.22-.176-.466-.305-.701-.456.07-.52.104-1.032.118-1.566-.604936-.295179-1.244149-.514184-1.903-.652-.26.438-.499.913-.707 1.376-.244789-.03861-.492185-.05834-.74-.059h-.01c-.248507.00091-.496575.02097-.742.06-.208692-.472178-.444416-.93194-.706-1.377-.658846.137836-1.298056.35684-1.903.652.014.534.048 1.046.118 1.566-.235.15-.482.28-.701.456-.223.172-.451.336-.653.536-.403-.266-.83-.517-1.27-.738-.4863434.510822-.9155458 1.073144-1.28 1.677.2695251.457258.6077461.88389.873 1.246z"/><path fill="#478cbf" d="m20.188 21.144-.072 1.029a.25.25 0 0 1 -.231.232l-2.47.176a.25.25 0 0 1 -.265-.213l-.142-.96h-2.015l-.142.96a.25.25 0 0 1 -.265.213l-2.47-.176a.25.25 0 0 1 -.231-.232l-.072-1.03-2.085-.2c0 .224.004.47.004.518 0 2.203 2.793 3.261 6.264 3.273h.009c3.47-.012 6.263-1.07 6.263-3.273l.004-.518z"/><path fill="#fff" d="m14.11 18.195a1.397 1.397 0 1 1 -2.794.001 1.397 1.397 0 0 1 2.795 0"/><path fill="#414042" d="m13.774 18.278a.927.927 0 1 1 -1.854 0 .927.927 0 0 1 1.854 0"/><path fill="#fff" d="m16 19.72c-.248 0-.45-.183-.45-.409v-1.286c0-.226.202-.409.45-.409.249 0 .45.183.45.409v1.286c0 .226-.201.41-.45.41m1.89-1.526a1.397 1.397 0 1 0 2.795 0 1.397 1.397 0 0 0 -2.795 0"/><path fill="#414042" d="m18.227 18.278a.927.927 0 1 0 1.854 0 .927.927 0 0 0 -1.854 0"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532m-12.979-1.019h9.441c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965h-21.882z"/><g stroke-width=".32"><path fill="#fff" d="m22.268 20.443s-.02-.128-.033-.127l-2.318.224a.377.377 0 0 0 -.34.35l-.064.912-1.793.128-.122-.827a.38.38 0 0 0 -.374-.323h-2.447a.38.38 0 0 0 -.374.323l-.122.827-1.793-.128-.064-.913a.377.377 0 0 0 -.34-.35l-2.32-.223c-.011-.001-.02.127-.032.127l-.003.501 1.964.317.064.921a.38.38 0 0 0 .35.35l2.47.177h.028a.38.38 0 0 0 .373-.322l.125-.851h1.795l.125.851a.38.38 0 0 0 .4.322l2.471-.176a.38.38 0 0 0 .35-.351l.064-.92 1.964-.32z"/><path fill="#478cbf" d="m9.732 16.66v3.783h.02l2.32.224c.120882.01233.215393.109796.224.231l.072 1.024 2.023.144.14-.945c.01825-.121952.122691-.212385.246-.213h2.447c.123688.000122.228694.09067.247.213l.14.945 2.022-.144.072-1.024c.0091-.121156.104074-.218195.225-.23l2.318-.225h.02v-.302h.001v-3.481c.337369-.403598.623887-.872775.873-1.246-.364428-.603874-.793632-1.166199-1.28-1.677-.44.22-.867.472-1.27.738-.202-.2-.43-.364-.653-.536-.22-.176-.466-.305-.701-.456.07-.52.104-1.032.118-1.566-.604936-.295179-1.244149-.514184-1.903-.652-.26.438-.499.913-.707 1.376-.244789-.03861-.492185-.05834-.74-.059h-.01c-.248507.00091-.496575.02097-.742.06-.208692-.472178-.444416-.93194-.706-1.377-.658846.137836-1.298056.35684-1.903.652.014.534.048 1.046.118 1.566-.235.15-.482.28-.701.456-.223.172-.451.336-.653.536-.403-.266-.83-.517-1.27-.738-.4863434.510822-.9155458 1.073144-1.28 1.677.2695251.457258.6077461.88389.873 1.246z"/><path fill="#478cbf" d="m20.188 21.144-.072 1.029a.25.25 0 0 1 -.231.232l-2.47.176a.25.25 0 0 1 -.265-.213l-.142-.96h-2.015l-.142.96a.25.25 0 0 1 -.265.213l-2.47-.176a.25.25 0 0 1 -.231-.232l-.072-1.03-2.085-.2c0 .224.004.47.004.518 0 2.203 2.793 3.261 6.264 3.273h.009c3.47-.012 6.263-1.07 6.263-3.273l.004-.518z"/><path fill="#fff" d="m14.11 18.195a1.397 1.397 0 1 1 -2.794.001 1.397 1.397 0 0 1 2.795 0"/><path fill="#414042" d="m13.774 18.278a.927.927 0 1 1 -1.854 0 .927.927 0 0 1 1.854 0"/><path fill="#fff" d="m16 19.72c-.248 0-.45-.183-.45-.409v-1.286c0-.226.202-.409.45-.409.249 0 .45.183.45.409v1.286c0 .226-.201.41-.45.41m1.89-1.526a1.397 1.397 0 1 0 2.795 0 1.397 1.397 0 0 0 -2.795 0"/><path fill="#414042" d="m18.227 18.278a.927.927 0 1 0 1.854 0 .927.927 0 0 0 -1.854 0"/></g></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
2
engine/misc/dist/document_icons/resource.svg
vendored
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.543-141.93-39.865-197.505-34.983 2.17-68.048 31.457-117.656-37.966-177.026m-415.32-32.623h302.11c77.128-2.02 126.554 37.835 178.444 84.881l123.665 109.83c63.819 56.94 89.13 110.625 96 188.174v542.886h-700.219z"/><text x="183.282" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="183.282" y="878.644" font-size="112">RESOURCE</tspan></text><path fill="#478cbf" fill-rule="evenodd" d="m510.825 290.281a31.683 31.683 0 0 0 -12.994 3.28l-190.081 95.039a31.683 31.683 0 0 0 -17.51 28.339v190.08a31.683 31.683 0 0 0 17.51 28.338l190.08 95.04a31.683 31.683 0 0 0 28.338 0l190.08-95.04a31.683 31.683 0 0 0 17.51-28.338v-190.079a31.683 31.683 0 0 0 -17.51-28.34l-190.08-95.04a31.683 31.683 0 0 0 -15.345-3.279zm1.175 67.073 119.234 59.587-43.747 21.904-119.234-59.647 43.747-21.842zm-158.4 110.88 126.72 63.36v119.234l-126.72-63.36zm316.8 0v119.234l-126.72 63.36v-119.234z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.543-141.93-39.865-197.505-34.983 2.17-68.048 31.457-117.656-37.966-177.026m-415.32-32.623h302.11c77.128-2.02 126.554 37.835 178.444 84.881l123.665 109.83c63.819 56.94 89.13 110.625 96 188.174v542.886h-700.219z"/><text x="183.282" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="183.282" y="878.644" font-size="112">RESOURCE</tspan></text><path fill="#478cbf" fill-rule="evenodd" d="m510.825 290.281a31.683 31.683 0 0 0 -12.994 3.28l-190.081 95.039a31.683 31.683 0 0 0 -17.51 28.339v190.08a31.683 31.683 0 0 0 17.51 28.338l190.08 95.04a31.683 31.683 0 0 0 28.338 0l190.08-95.04a31.683 31.683 0 0 0 17.51-28.338v-190.079a31.683 31.683 0 0 0 -17.51-28.34l-190.08-95.04a31.683 31.683 0 0 0 -15.345-3.279zm1.175 67.073 119.234 59.587-43.747 21.904-119.234-59.647 43.747-21.842zm-158.4 110.88 126.72 63.36v119.234l-126.72-63.36zm316.8 0v119.234l-126.72 63.36v-119.234z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51h4.721c1.205-.032 1.977.591 2.788 1.326l1.932 1.716c.998.89 1.393 1.729 1.5 2.94v8.483h-10.94z"/><path fill="#478cbf" fill-rule="evenodd" d="m7.976 4.51a.642.642 0 0 0 -.263.067l-3.849 1.923a.642.642 0 0 0 -.354.574v3.849a.642.642 0 0 0 .354.574l3.85 1.924a.642.642 0 0 0 .573 0l3.85-1.924a.642.642 0 0 0 .354-.574v-3.85a.642.642 0 0 0 -.355-.573l-3.849-1.924a.642.642 0 0 0 -.31-.066zm.024 1.358 2.415 1.207-.886.444-2.415-1.209zm-3.207 2.246 2.566 1.283v2.414l-2.566-1.283zm6.415 0v2.414l-2.566 1.283v-2.414z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51h4.721c1.205-.032 1.977.591 2.788 1.326l1.932 1.716c.998.89 1.393 1.729 1.5 2.94v8.483h-10.94z"/><path fill="#478cbf" fill-rule="evenodd" d="m7.976 4.51a.642.642 0 0 0 -.263.067l-3.849 1.923a.642.642 0 0 0 -.354.574v3.849a.642.642 0 0 0 .354.574l3.85 1.924a.642.642 0 0 0 .573 0l3.85-1.924a.642.642 0 0 0 .354-.574v-3.85a.642.642 0 0 0 -.355-.573l-3.849-1.924a.642.642 0 0 0 -.31-.066zm.024 1.358 2.415 1.207-.886.444-2.415-1.209zm-3.207 2.246 2.566 1.283v2.414l-2.566-1.283zm6.415 0v2.414l-2.566 1.283v-2.414z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 756 B After Width: | Height: | Size: 757 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532m-12.979-1.019h9.441c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965h-21.882z"/><path fill="#478cbf" fill-rule="evenodd" d="m15.964 11.071a.99.99 0 0 0 -.406.103l-5.94 2.97a.99.99 0 0 0 -.547.885v5.94a.99.99 0 0 0 .547.886l5.94 2.97a.99.99 0 0 0 .885 0l5.94-2.97a.99.99 0 0 0 .547-.886v-5.94a.99.99 0 0 0 -.547-.885l-5.94-2.97a.99.99 0 0 0 -.48-.103zm.036 2.096 3.726 1.862-1.367.685-3.727-1.864zm-4.95 3.465 3.96 1.98v3.726l-3.96-1.98zm9.9 0v3.726l-3.96 1.98v-3.726z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532m-12.979-1.019h9.441c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965h-21.882z"/><path fill="#478cbf" fill-rule="evenodd" d="m15.964 11.071a.99.99 0 0 0 -.406.103l-5.94 2.97a.99.99 0 0 0 -.547.885v5.94a.99.99 0 0 0 .547.886l5.94 2.97a.99.99 0 0 0 .885 0l5.94-2.97a.99.99 0 0 0 .547-.886v-5.94a.99.99 0 0 0 -.547-.885l-5.94-2.97a.99.99 0 0 0 -.48-.103zm.036 2.096 3.726 1.862-1.367.685-3.727-1.864zm-4.95 3.465 3.96 1.98v3.726l-3.96-1.98zm9.9 0v3.726l-3.96 1.98v-3.726z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 743 B After Width: | Height: | Size: 744 B |
2
engine/misc/dist/document_icons/scene.svg
vendored
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.542-141.93-39.864-197.505-34.983 2.17-68.048 31.457-117.655-37.966-177.025m-415.32-32.625h302.11c77.128-2.02 126.554 37.836 178.444 84.882l123.665 109.83c63.819 56.94 89.13 110.624 96 188.174v542.885h-700.219z"/><text x="315.088" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="315.088" y="878.644" font-size="112">SCENE</tspan></text><path fill="#478cbf" d="m714.504 315.805-67.735 9.904 24.7 57.361 51.76-7.546zm-127.458 18.57-59.719 8.725 24.702 57.419 59.719-8.725zm-119.498 17.45-59.719 8.725 24.701 57.419 59.72-8.725zm-119.438 17.45-51.76 7.546 8.725 59.719 67.736-9.904zm-43.036 97.449v181.104c0 33.34 27.027 60.368 60.368 60.368h362.208v-241.472z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="m812.681 293.783c-23.575-32.542-141.93-39.864-197.505-34.983 2.17-68.048 31.457-117.655-37.966-177.025m-415.32-32.625h302.11c77.128-2.02 126.554 37.836 178.444 84.882l123.665 109.83c63.819 56.94 89.13 110.624 96 188.174v542.885h-700.219z"/><text x="315.088" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="315.088" y="878.644" font-size="112">SCENE</tspan></text><path fill="#478cbf" d="m714.504 315.805-67.735 9.904 24.7 57.361 51.76-7.546zm-127.458 18.57-59.719 8.725 24.702 57.419 59.719-8.725zm-119.498 17.45-59.719 8.725 24.701 57.419 59.72-8.725zm-119.438 17.45-51.76 7.546 8.725 59.719 67.736-9.904zm-43.036 97.449v181.104c0 33.34 27.027 60.368 60.368 60.368h362.208v-241.472z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 952 B After Width: | Height: | Size: 953 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51h4.721c1.205-.032 1.977.591 2.788 1.326l1.932 1.716c.998.89 1.393 1.729 1.5 2.94v8.483h-10.94z"/><path fill="#478cbf" d="m12.101 5.027-1.372.2.5 1.162 1.049-.153zm-2.581.376-1.21.177.5 1.162 1.21-.176zm-2.42.353-1.21.177.501 1.163 1.21-.177zm-2.419.354-1.048.152.177 1.21 1.372-.2zm-.871 1.973v3.667c0 .676.547 1.223 1.222 1.223h7.335v-4.89z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="m12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51h4.721c1.205-.032 1.977.591 2.788 1.326l1.932 1.716c.998.89 1.393 1.729 1.5 2.94v8.483h-10.94z"/><path fill="#478cbf" d="m12.101 5.027-1.372.2.5 1.162 1.049-.153zm-2.581.376-1.21.177.5 1.162 1.21-.176zm-2.42.353-1.21.177.501 1.163 1.21-.177zm-2.419.354-1.048.152.177 1.21 1.372-.2zm-.871 1.973v3.667c0 .676.547 1.223 1.222 1.223h7.335v-4.89z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 587 B After Width: | Height: | Size: 588 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"/><path fill="#478cbf" d="M22.329 11.869l-2.117.31.772 1.792 1.617-.236zm-3.983.58l-1.867.273.772 1.794 1.867-.273zm-3.735.545l-1.866.273.772 1.794 1.866-.272zm-3.732.546l-1.618.235.273 1.867 2.117-.31zm-1.345 3.045v5.66c0 1.041.845 1.886 1.887 1.886H22.74v-7.546z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"/><path fill="#478cbf" d="M22.329 11.869l-2.117.31.772 1.792 1.617-.236zm-3.983.58l-1.867.273.772 1.794 1.867-.273zm-3.735.545l-1.866.273.772 1.794 1.866-.272zm-3.732.546l-1.618.235.273 1.867 2.117-.31zm-1.345 3.045v5.66c0 1.041.845 1.886 1.887 1.886H22.74v-7.546z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 614 B |
2
engine/misc/dist/document_icons/shader.svg
vendored
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="M812.681 293.783c-23.575-32.543-141.93-39.865-197.505-34.983 2.17-68.048 31.457-117.656-37.966-177.026M161.89 49.151H464c77.128-2.02 126.554 37.835 178.444 84.881l123.665 109.83c63.819 56.94 89.13 110.625 96 188.174v542.886H161.89z"/><text x="249.582" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="249.582" y="878.644" font-size="112">SHADER</tspan></text><path fill="#478cbf" d="M640.44 348.066c-10.54 0-21.102 4.097-29.145 12.276l-35.64 36.254-47.725 48.529h-.004l-47.676 48.53-33.98 34.546 13.744 13.98h89.002l47.675-48.529 47.723-48.527h.006l25.12-25.543c6.375-6.486 10.147-14.571 11.468-22.986h-.002c2.01-12.81-1.762-26.38-11.469-36.254-8.042-8.18-18.558-12.276-29.098-12.276zM460.013 542.184l44.502 45.257 44.5-45.257h-89.002zm-46.848 13.834c-9.932.124-18.509 4.228-24.668 11.236-5.21 5.927-8.55 14.024-9.668 23.459-.254 2.153-.52 4.295-.52 6.588 0 33.842-55.28 6.971-28.53 41.94h117.626c6.64-15.57 5.836-33.447-2.13-48.528h-.003c-2.48-4.695-5.392-9.213-9.289-13.176-13.348-13.578-26.713-20.143-38.48-21.326h-.002a38.536 38.536 0 0 0-4.336-.193zm-63.387 83.224c4.467 5.84 10.605 12.952 20.33 22.844 21.446 21.814 64.428 16.264 85.875-5.547 5.035-5.12 8.751-11.034 11.422-17.297H349.78z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" stroke-width="19.603" d="M812.681 293.783c-23.575-32.543-141.93-39.865-197.505-34.983 2.17-68.048 31.457-117.656-37.966-177.026M161.89 49.151H464c77.128-2.02 126.554 37.835 178.444 84.881l123.665 109.83c63.819 56.94 89.13 110.625 96 188.174v542.886H161.89z"/><text x="249.582" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="249.582" y="878.644" font-size="112">SHADER</tspan></text><path fill="#478cbf" d="M640.44 348.066c-10.54 0-21.102 4.097-29.145 12.276l-35.64 36.254-47.725 48.529h-.004l-47.676 48.53-33.98 34.546 13.744 13.98h89.002l47.675-48.529 47.723-48.527h.006l25.12-25.543c6.375-6.486 10.147-14.571 11.468-22.986h-.002c2.01-12.81-1.762-26.38-11.469-36.254-8.042-8.18-18.558-12.276-29.098-12.276zM460.013 542.184l44.502 45.257 44.5-45.257h-89.002zm-46.848 13.834c-9.932.124-18.509 4.228-24.668 11.236-5.21 5.927-8.55 14.024-9.668 23.459-.254 2.153-.52 4.295-.52 6.588 0 33.842-55.28 6.971-28.53 41.94h117.626c6.64-15.57 5.836-33.447-2.13-48.528h-.003c-2.48-4.695-5.392-9.213-9.289-13.176-13.348-13.578-26.713-20.143-38.48-21.326h-.002a38.536 38.536 0 0 0-4.336-.193zm-63.387 83.224c4.467 5.84 10.605 12.952 20.33 22.844 21.446 21.814 64.428 16.264 85.875-5.547 5.035-5.12 8.751-11.034 11.422-17.297H349.78z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51H7.25c1.205-.032 1.977.591 2.788 1.326L11.97 3.81c.998.89 1.393 1.729 1.5 2.94v8.483H2.53z"/><path fill="#478cbf" d="M10.77 5.465a.88.88 0 0 0-.627.264l-.77.78-1.03 1.048-1.027 1.047-.734.744.299.3h1.918l1.027-1.044 1.03-1.047.54-.551a.902.902 0 0 0 .249-.496.91.91 0 0 0-.249-.781.877.877 0 0 0-.626-.264zM8.799 9.648 6.88 9.65l.959.975.959-.977zm-2.975.301a.715.715 0 0 0-.486.24.922.922 0 0 0-.21.506h.003c-.006.046-.014.093-.014.143 0 .73-1.19.15-.613.904.096.126.227.28.437.492.462.47 1.39.351 1.852-.119a1.21 1.21 0 0 0 .246-.373 1.22 1.22 0 0 0-.047-1.047 1.19 1.19 0 0 0-.199-.283c-.288-.293-.576-.436-.83-.46a.715.715 0 0 0-.139-.003z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M12.698 4.59c-.368-.508-2.218-.623-3.086-.546.034-1.064.492-1.839-.593-2.766m-6.49-.51H7.25c1.205-.032 1.977.591 2.788 1.326L11.97 3.81c.998.89 1.393 1.729 1.5 2.94v8.483H2.53z"/><path fill="#478cbf" d="M10.77 5.465a.88.88 0 0 0-.627.264l-.77.78-1.03 1.048-1.027 1.047-.734.744.299.3h1.918l1.027-1.044 1.03-1.047.54-.551a.902.902 0 0 0 .249-.496.91.91 0 0 0-.249-.781.877.877 0 0 0-.626-.264zM8.799 9.648 6.88 9.65l.959.975.959-.977zm-2.975.301a.715.715 0 0 0-.486.24.922.922 0 0 0-.21.506h.003c-.006.046-.014.093-.014.143 0 .73-1.19.15-.613.904.096.126.227.28.437.492.462.47 1.39.351 1.852-.119a1.21 1.21 0 0 0 .246-.373 1.22 1.22 0 0 0-.047-1.047 1.19 1.19 0 0 0-.199-.283c-.288-.293-.576-.436-.83-.46a.715.715 0 0 0-.139-.003z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 889 B After Width: | Height: | Size: 890 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"/><path fill="#478cbf" d="M21.295 11.242c-.434 0-.871.17-1.201.506l-1.471 1.494-1.965 2h-.002l-1.963 2-1.4 1.426.566.574 1.834 1.867 1.834-1.867 1.963-2 1.967-2 1.037-1.05a1.73 1.73 0 0 0 .473-.95 1.74 1.74 0 0 0-.475-1.494 1.676 1.676 0 0 0-1.197-.506zm-9.453 8.572a1.367 1.367 0 0 0-.932.463c-.215.244-.35.577-.396.965-.01.09-.024.179-.024.274 0 1.395-2.277.285-1.174 1.726.184.241.436.536.836.944.884.899 2.657.668 3.541-.23.207-.21.36-.455.47-.714a2.33 2.33 0 0 0-.089-2 2.273 2.273 0 0 0-.383-.543c-.55-.56-1.099-.829-1.584-.877a1.367 1.367 0 0 0-.265-.008z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#eff1f5" stroke="#9f9fa1" stroke-linecap="round" stroke-linejoin="round" d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"/><path fill="#478cbf" d="M21.295 11.242c-.434 0-.871.17-1.201.506l-1.471 1.494-1.965 2h-.002l-1.963 2-1.4 1.426.566.574 1.834 1.867 1.834-1.867 1.963-2 1.967-2 1.037-1.05a1.73 1.73 0 0 0 .473-.95 1.74 1.74 0 0 0-.475-1.494 1.676 1.676 0 0 0-1.197-.506zm-9.453 8.572a1.367 1.367 0 0 0-.932.463c-.215.244-.35.577-.396.965-.01.09-.024.179-.024.274 0 1.395-2.277.285-1.174 1.726.184.241.436.536.836.944.884.899 2.657.668 3.541-.23.207-.21.36-.455.47-.714a2.33 2.33 0 0 0-.089-2 2.273 2.273 0 0 0-.383-.543c-.55-.56-1.099-.829-1.584-.877a1.367 1.367 0 0 0-.265-.008z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 911 B After Width: | Height: | Size: 912 B |
2
engine/misc/dist/html/logo.svg
vendored
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
2
engine/misc/dist/icon_console.svg
vendored
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g><rect width="430" height="330" x="550" y="650" fill="#414042" stroke="#fff" stroke-width="20" rx="20"/><path fill="#fff" d="M590 750a10 10 0 0 0 0 14.142l70 70-70 70a10 10 0 0 0 0 14.142l20 20a10 10 0 0 0 14.142 0l97.071-97.071a10 10 0 0 0 0-14.142L624.142 730A10 10 0 0 0 610 730zm180 145a10 10 0 0 0-10 10v25a10 10 0 0 0 10 10h160a10 10 0 0 0 10-10v-25a10 10 0 0 0-10-10z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g><rect width="430" height="330" x="550" y="650" fill="#414042" stroke="#fff" stroke-width="20" rx="20"/><path fill="#fff" d="M590 750a10 10 0 0 0 0 14.142l70 70-70 70a10 10 0 0 0 0 14.142l20 20a10 10 0 0 0 14.142 0l97.071-97.071a10 10 0 0 0 0-14.142L624.142 730A10 10 0 0 0 610 730zm180 145a10 10 0 0 0-10 10v25a10 10 0 0 0 10 10h160a10 10 0 0 0 10-10v-25a10 10 0 0 0-10-10z"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
2
engine/misc/dist/ios_xcode/godot_ios/dummy.h
vendored
|
|
@ -28,4 +28,6 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
// #import <Foundation/Foundation.h>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ Comment[zh_CN]=多平台 2D 和 3D 游戏引擎,带有功能丰富的编辑器
|
|||
Exec=godot %f
|
||||
Icon=godot
|
||||
Terminal=false
|
||||
PrefersNonDefaultGPU=true
|
||||
Type=Application
|
||||
MimeType=application/x-godot-project;
|
||||
Categories=Development;IDE;
|
||||
|
|
|
|||
|
|
@ -17,11 +17,11 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.4</string>
|
||||
<string>4.5</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>GODO</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>4.4</string>
|
||||
<string>4.5</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>Microphone access is required to capture audio.</string>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
|
|
|
|||
2
engine/misc/dist/windows/godot.iss
vendored
|
|
@ -1,5 +1,5 @@
|
|||
#define MyAppName "Godot Engine"
|
||||
#define MyAppVersion "4.4"
|
||||
#define MyAppVersion "4.5"
|
||||
#define MyAppPublisher "Godot Engine contributors"
|
||||
#define MyAppURL "https://godotengine.org/"
|
||||
#define MyAppExeName "godot.exe"
|
||||
|
|
|
|||
|
|
@ -4,4 +4,5 @@
|
|||
deadlock:tests/core/templates/test_command_queue.h
|
||||
deadlock:modules/text_server_adv/text_server_adv.cpp
|
||||
deadlock:modules/text_server_fb/text_server_fb.cpp
|
||||
race:modules/navigation/nav_map.cpp
|
||||
race:modules/navigation_2d/nav_map_2d.cpp
|
||||
race:modules/navigation_3d/nav_map_3d.cpp
|
||||
|
|
|
|||
|
|
@ -1,12 +1,8 @@
|
|||
This file contains the expected output of --validate-extension-api when run against the extension_api.json of the
|
||||
4.3-stable tag (the basename of this file).
|
||||
|
||||
Only lines that start with "Validate extension JSON:" matter, everything else is considered a comment and ignored. They
|
||||
should instead be used to justify these changes and describe how users should work around these changes.
|
||||
|
||||
Add new entries at the end of the file.
|
||||
This file contains, when concatenated to the expected output since 4.4, the expected output of --validate-extension-api
|
||||
when run against the extension_api.json of the 4.3-stable tag (first part of the basename of this file).
|
||||
|
||||
## Changes between 4.3-stable and 4.4-stable
|
||||
|
||||
GH-95374
|
||||
--------
|
||||
Validate extension JSON: Error: Field 'classes/ShapeCast2D/properties/collision_result': getter changed value in new API, from "_get_collision_result" to &"get_collision_result".
|
||||
50
engine/misc/extension_api_validation/4.4-stable.expected
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
This file contains the expected output of --validate-extension-api when run against the extension_api.json of the
|
||||
4.4-stable tag (the basename of this file).
|
||||
|
||||
Only lines that start with "Validate extension JSON:" matter, everything else is considered a comment and ignored. They
|
||||
should instead be used to justify these changes and describe how users should work around these changes.
|
||||
|
||||
Add new entries at the end of the file.
|
||||
|
||||
## Changes between 4.4-stable and 4.5-stable
|
||||
|
||||
GH-98194
|
||||
--------
|
||||
Validate extension JSON: Error: Field 'classes/DisplayServer/methods/file_dialog_show/arguments': size changed value in new API, from 7 to 8.
|
||||
Validate extension JSON: Error: Field 'classes/DisplayServer/methods/file_dialog_with_options_show/arguments': size changed value in new API, from 9 to 10.
|
||||
|
||||
Optional argument added. Compatibility methods registered.
|
||||
|
||||
|
||||
GH-104087
|
||||
---------
|
||||
Validate extension JSON: Error: Field 'classes/OpenXRAPIExtension/methods/register_composition_layer_provider/arguments/0': type changed value in new API, from "OpenXRExtensionWrapperExtension" to "OpenXRExtensionWrapper".
|
||||
Validate extension JSON: Error: Field 'classes/OpenXRAPIExtension/methods/unregister_composition_layer_provider/arguments/0': type changed value in new API, from "OpenXRExtensionWrapperExtension" to "OpenXRExtensionWrapper".
|
||||
Validate extension JSON: Error: Field 'classes/OpenXRAPIExtension/methods/register_projection_views_extension/arguments/0': type changed value in new API, from "OpenXRExtensionWrapperExtension" to "OpenXRExtensionWrapper".
|
||||
Validate extension JSON: Error: Field 'classes/OpenXRAPIExtension/methods/unregister_projection_views_extension/arguments/0': type changed value in new API, from "OpenXRExtensionWrapperExtension" to "OpenXRExtensionWrapper".
|
||||
|
||||
Switched from `OpenXRExtensionWrapperExtension` to parent `OpenXRExtensionWrapper`. Compatibility methods registered.
|
||||
|
||||
|
||||
GH-104890
|
||||
---------
|
||||
Validate extension JSON: API was removed: classes/JSONRPC/methods/set_scope
|
||||
|
||||
Replaced `set_scope` with `set_method`. Compatibility method registered for binary compatibility. Manual upgrade required by users to retain functionality.
|
||||
|
||||
|
||||
GH-76829
|
||||
--------
|
||||
Validate extension JSON: Error: Field 'classes/RichTextLabel/methods/add_image/arguments': size changed value in new API, from 6 to 11.
|
||||
Validate extension JSON: Error: Field 'classes/RichTextLabel/methods/add_image/arguments': size changed value in new API, from 10 to 11.
|
||||
Validate extension JSON: Error: Field 'classes/RichTextLabel/methods/push_table/arguments': size changed value in new API, from 3 to 4.
|
||||
Validate extension JSON: Error: Field 'classes/TreeItem/methods/add_button/arguments': size changed value in new API, from 5 to 6.
|
||||
|
||||
Added optional arguments. Compatibility methods registered.
|
||||
|
||||
|
||||
GH-71542
|
||||
--------
|
||||
Validate extension JSON: JSON file: Field was added in a way that breaks compatibility 'classes/EditorExportPlatform/methods/get_forced_export_files': arguments
|
||||
|
||||
Optional argument added. Compatibility methods registered.
|
||||
19
engine/misc/msvs/nmake.substitution.props
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<!-- override the PlatformToolset, which is set in the godot.vcxproj-->
|
||||
<!-- Unknown matches to a set of conservative rules for the code analysis-->
|
||||
<PlatformToolset>Unknown</PlatformToolset>
|
||||
<LocalDebuggerCommand Condition="'$(LocalDebuggerCommand)' == ''">$(NMakeOutput)</LocalDebuggerCommand>
|
||||
</PropertyGroup>
|
||||
<!-- Build/Rebuild/Clean targets for NMake are defined in MSVC, so we need to provide them, when using MSBuild without MSVC targets -->
|
||||
<Target Name="Build">
|
||||
<Exec Command="$(NMakeBuildCommandLine)"/>
|
||||
</Target>
|
||||
<Target Name="Rebuild">
|
||||
<Exec Command="$(NMakeReBuildCommandLine)"/>
|
||||
</Target>
|
||||
<Target Name="Clean">
|
||||
<Exec Command="$(NMakeCleanCommandLine)"/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(GodotConfiguration)|$(GodotPlatform)'=='%%VSCONF%%'">
|
||||
<PropertyGroup Condition="%%CONDITION%%">
|
||||
<NMakeBuildCommandLine>%%BUILD%%</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>%%REBUILD%%</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>%%CLEAN%%</NMakeCleanCommandLine>
|
||||
|
|
@ -18,6 +18,9 @@
|
|||
<ItemGroup Condition="%%CONDITION%%">
|
||||
%%EXTRA_ITEMS%%
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Build/Rebuild/Clean targets for NMake are defined in MSVC, so we need to provide them, when using MSBuild without MSVC targets -->
|
||||
<Import Project="$(MSBuildProjectDirectory)\misc\msvs\nmake.substitution.props" Condition="%%CONDITION%% And !Exists('$(VCTargetsPath)\Microsoft.Cpp.targets')" />
|
||||
</Project>
|
||||
<!-- CHECKSUM
|
||||
%%HASH%%
|
||||
|
|
|
|||
|
|
@ -10,31 +10,32 @@
|
|||
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
|
||||
</PropertyGroup>
|
||||
%%PROPERTIES%%
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.Default.props') "/>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset> <!--Might be overridden in the platform specific import or Microsoft.Cpp.$(GodotPlatform).user.props -->
|
||||
<DefaultPlatformToolset Condition="'$(DefaultPlatformToolset)'==''"/> <!--Workaround until https://youtrack.jetbrains.com/issue/RIDER-123783 is resolved. -->
|
||||
<OutDir>$(SolutionDir)\bin\$(GodotPlatform)\$(GodotConfiguration)\</OutDir>
|
||||
<IntDir>obj\$(GodotPlatform)\$(GodotConfiguration)\</IntDir>
|
||||
<LayoutDir>$(OutDir)\Layout</LayoutDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.props') "/>
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).user.props" Condition="Exists('$(UserRootDir)\Microsoft.Cpp.$(GodotPlatform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
%%IMPORTS%%
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<ActiveProjectItemList></ActiveProjectItemList>
|
||||
</PropertyGroup>
|
||||
%%IMPORTS%%
|
||||
<ItemGroup Condition="'$(IncludeListImported)'==''">
|
||||
%%DEFAULT_ITEMS%%
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.targets') "/>
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
|
|
|
|||
135
engine/misc/scripts/char_range_fetch.py
Executable file
|
|
@ -0,0 +1,135 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# Script used to dump char ranges for specific properties from
|
||||
# the Unicode Character Database to the `char_range.inc` file.
|
||||
# NOTE: This script is deliberately not integrated into the build system;
|
||||
# you should run it manually whenever you want to update the data.
|
||||
|
||||
import os
|
||||
import sys
|
||||
from typing import Final, List, Tuple
|
||||
from urllib.request import urlopen
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.path.insert(1, os.path.join(os.path.dirname(__file__), "../../"))
|
||||
|
||||
from methods import generate_copyright_header
|
||||
|
||||
URL: Final[str] = "https://www.unicode.org/Public/16.0.0/ucd/DerivedCoreProperties.txt"
|
||||
|
||||
|
||||
xid_start: List[Tuple[int, int]] = []
|
||||
xid_continue: List[Tuple[int, int]] = []
|
||||
uppercase_letter: List[Tuple[int, int]] = []
|
||||
lowercase_letter: List[Tuple[int, int]] = []
|
||||
unicode_letter: List[Tuple[int, int]] = []
|
||||
|
||||
|
||||
def merge_ranges(ranges: List[Tuple[int, int]]) -> None:
|
||||
if len(ranges) < 2:
|
||||
return
|
||||
|
||||
last_start: int = ranges[0][0]
|
||||
last_end: int = ranges[0][1]
|
||||
original_ranges: List[Tuple[int, int]] = ranges[1:]
|
||||
|
||||
ranges.clear()
|
||||
|
||||
for curr_range in original_ranges:
|
||||
curr_start: int = curr_range[0]
|
||||
curr_end: int = curr_range[1]
|
||||
if last_end + 1 != curr_start:
|
||||
ranges.append((last_start, last_end))
|
||||
last_start = curr_start
|
||||
last_end = curr_end
|
||||
|
||||
ranges.append((last_start, last_end))
|
||||
|
||||
|
||||
def parse_unicode_data() -> None:
|
||||
lines: List[str] = [line.decode("utf-8") for line in urlopen(URL)]
|
||||
|
||||
for line in lines:
|
||||
if line.startswith("#") or not line.strip():
|
||||
continue
|
||||
|
||||
split_line: List[str] = line.split(";")
|
||||
|
||||
char_range: str = split_line[0].strip()
|
||||
char_property: str = split_line[1].strip().split("#")[0].strip()
|
||||
|
||||
range_start: str = char_range
|
||||
range_end: str = char_range
|
||||
if ".." in char_range:
|
||||
range_start, range_end = char_range.split("..")
|
||||
|
||||
range_tuple: Tuple[int, int] = (int(range_start, 16), int(range_end, 16))
|
||||
|
||||
if char_property == "XID_Start":
|
||||
xid_start.append(range_tuple)
|
||||
elif char_property == "XID_Continue":
|
||||
xid_continue.append(range_tuple)
|
||||
elif char_property == "Uppercase":
|
||||
uppercase_letter.append(range_tuple)
|
||||
elif char_property == "Lowercase":
|
||||
lowercase_letter.append(range_tuple)
|
||||
elif char_property == "Alphabetic":
|
||||
unicode_letter.append(range_tuple)
|
||||
|
||||
# Underscore technically isn't in XID_Start, but for our purposes it's included.
|
||||
xid_start.append((0x005F, 0x005F))
|
||||
xid_start.sort(key=lambda x: x[0])
|
||||
|
||||
merge_ranges(xid_start)
|
||||
merge_ranges(xid_continue)
|
||||
merge_ranges(uppercase_letter)
|
||||
merge_ranges(lowercase_letter)
|
||||
merge_ranges(unicode_letter)
|
||||
|
||||
|
||||
def make_array(array_name: str, range_list: List[Tuple[int, int]]) -> str:
|
||||
result: str = f"constexpr inline CharRange {array_name}[] = {{\n"
|
||||
|
||||
for start, end in range_list:
|
||||
result += f"\t{{ 0x{start:x}, 0x{end:x} }},\n"
|
||||
|
||||
result += "};\n\n"
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def generate_char_range_inc() -> None:
|
||||
parse_unicode_data()
|
||||
|
||||
source: str = generate_copyright_header("char_range.inc")
|
||||
|
||||
source += f"""
|
||||
// This file was generated using the `misc/scripts/char_range_fetch.py` script.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/typedefs.h"
|
||||
|
||||
// Unicode Derived Core Properties
|
||||
// Source: {URL}
|
||||
|
||||
struct CharRange {{
|
||||
\tchar32_t start;
|
||||
\tchar32_t end;
|
||||
}};\n\n"""
|
||||
|
||||
source += make_array("xid_start", xid_start)
|
||||
source += make_array("xid_continue", xid_continue)
|
||||
source += make_array("uppercase_letter", uppercase_letter)
|
||||
source += make_array("lowercase_letter", lowercase_letter)
|
||||
source += make_array("unicode_letter", unicode_letter)
|
||||
|
||||
char_range_path: str = os.path.join(os.path.dirname(__file__), "../../core/string/char_range.inc")
|
||||
with open(char_range_path, "w", newline="\n") as f:
|
||||
f.write(source)
|
||||
|
||||
print("`char_range.inc` generated successfully.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
generate_char_range_inc()
|
||||
|
|
@ -2,7 +2,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
print("Invalid usage of header_guards.py, it should be called with a path to one or multiple files.")
|
||||
|
|
@ -13,7 +12,7 @@ invalid = []
|
|||
|
||||
for file in sys.argv[1:]:
|
||||
header_start = -1
|
||||
HEADER_CHECK_OFFSET = -1
|
||||
header_end = -1
|
||||
|
||||
with open(file.strip(), "rt", encoding="utf-8", newline="\n") as f:
|
||||
lines = f.readlines()
|
||||
|
|
@ -28,17 +27,21 @@ for file in sys.argv[1:]:
|
|||
if sline.startswith("/**********"): # Godot header starts this way.
|
||||
header_start = idx
|
||||
else:
|
||||
HEADER_CHECK_OFFSET = 0 # There is no Godot header.
|
||||
header_end = 0 # There is no Godot header.
|
||||
break
|
||||
else:
|
||||
if not sline.startswith("*") and not sline.startswith("/*"): # Not in the Godot header anymore.
|
||||
HEADER_CHECK_OFFSET = idx + 1 # The include should be two lines below the Godot header.
|
||||
if not sline.startswith(("*", "/*")): # Not in the Godot header anymore.
|
||||
header_end = idx + 1 # The guard should be two lines below the Godot header.
|
||||
break
|
||||
|
||||
if HEADER_CHECK_OFFSET < 0:
|
||||
if (HEADER_CHECK_OFFSET := header_end) < 0 or HEADER_CHECK_OFFSET >= len(lines):
|
||||
invalid.append(file)
|
||||
continue
|
||||
|
||||
if lines[HEADER_CHECK_OFFSET].startswith("#pragma once"):
|
||||
continue
|
||||
|
||||
# Might be using legacy header guards.
|
||||
HEADER_BEGIN_OFFSET = HEADER_CHECK_OFFSET + 1
|
||||
HEADER_END_OFFSET = len(lines) - 1
|
||||
|
||||
|
|
@ -46,124 +49,35 @@ for file in sys.argv[1:]:
|
|||
invalid.append(file)
|
||||
continue
|
||||
|
||||
split = file.split("/") # Already in posix-format.
|
||||
|
||||
prefix = ""
|
||||
if split[0] == "modules" and split[-1] == "register_types.h":
|
||||
prefix = f"{split[1]}_" # Name of module.
|
||||
elif split[0] == "platform" and (file.endswith("api/api.h") or "/export/" in file):
|
||||
prefix = f"{split[1]}_" # Name of platform.
|
||||
elif file.startswith("modules/mono/utils") and "mono" not in split[-1]:
|
||||
prefix = "MONO_"
|
||||
elif file == "servers/rendering/storage/utilities.h":
|
||||
prefix = "RENDERER_"
|
||||
|
||||
suffix = ""
|
||||
if "dummy" in file and "dummy" not in split[-1]:
|
||||
suffix = "_DUMMY"
|
||||
elif "gles3" in file and "gles3" not in split[-1]:
|
||||
suffix = "_GLES3"
|
||||
elif "renderer_rd" in file and "rd" not in split[-1]:
|
||||
suffix = "_RD"
|
||||
elif split[-1] == "ustring.h":
|
||||
suffix = "_GODOT"
|
||||
|
||||
name = (f"{prefix}{Path(file).stem}{suffix}{Path(file).suffix}".upper()
|
||||
.replace(".", "_").replace("-", "_").replace(" ", "_")) # fmt: skip
|
||||
|
||||
HEADER_CHECK = f"#ifndef {name}\n"
|
||||
HEADER_BEGIN = f"#define {name}\n"
|
||||
HEADER_END = f"#endif // {name}\n"
|
||||
|
||||
if (
|
||||
lines[HEADER_CHECK_OFFSET] == HEADER_CHECK
|
||||
and lines[HEADER_BEGIN_OFFSET] == HEADER_BEGIN
|
||||
and lines[HEADER_END_OFFSET] == HEADER_END
|
||||
):
|
||||
continue
|
||||
|
||||
# Guards might exist but with the wrong names.
|
||||
if (
|
||||
lines[HEADER_CHECK_OFFSET].startswith("#ifndef")
|
||||
and lines[HEADER_BEGIN_OFFSET].startswith("#define")
|
||||
and lines[HEADER_END_OFFSET].startswith("#endif")
|
||||
):
|
||||
lines[HEADER_CHECK_OFFSET] = HEADER_CHECK
|
||||
lines[HEADER_BEGIN_OFFSET] = HEADER_BEGIN
|
||||
lines[HEADER_END_OFFSET] = HEADER_END
|
||||
lines[HEADER_CHECK_OFFSET] = "#pragma once"
|
||||
lines[HEADER_BEGIN_OFFSET] = "\n"
|
||||
lines.pop()
|
||||
with open(file, "wt", encoding="utf-8", newline="\n") as f:
|
||||
f.writelines(lines)
|
||||
changed.append(file)
|
||||
continue
|
||||
|
||||
header_check = -1
|
||||
header_begin = -1
|
||||
header_end = -1
|
||||
pragma_once = -1
|
||||
objc = False
|
||||
|
||||
for idx, line in enumerate(lines):
|
||||
if line.startswith("// #import"): # Some dummy obj-c files only have commented out import lines.
|
||||
objc = True
|
||||
break
|
||||
if not line.startswith("#"):
|
||||
continue
|
||||
elif line.startswith("#ifndef") and header_check == -1:
|
||||
header_check = idx
|
||||
elif line.startswith("#define") and header_begin == -1:
|
||||
header_begin = idx
|
||||
elif line.startswith("#endif") and header_end == -1:
|
||||
header_end = idx
|
||||
elif line.startswith("#pragma once"):
|
||||
pragma_once = idx
|
||||
break
|
||||
elif line.startswith("#import"):
|
||||
objc = True
|
||||
# Verify `#pragma once` doesn't exist at invalid location.
|
||||
misplaced = False
|
||||
for line in lines:
|
||||
if line.startswith("#pragma once"):
|
||||
misplaced = True
|
||||
break
|
||||
|
||||
if objc:
|
||||
if misplaced:
|
||||
invalid.append(file)
|
||||
continue
|
||||
|
||||
if pragma_once != -1:
|
||||
lines.pop(pragma_once)
|
||||
lines.insert(HEADER_CHECK_OFFSET, HEADER_CHECK)
|
||||
lines.insert(HEADER_BEGIN_OFFSET, HEADER_BEGIN)
|
||||
lines.append("\n")
|
||||
lines.append(HEADER_END)
|
||||
with open(file, "wt", encoding="utf-8", newline="\n") as f:
|
||||
f.writelines(lines)
|
||||
changed.append(file)
|
||||
continue
|
||||
|
||||
if header_check == -1 and header_begin == -1 and header_end == -1:
|
||||
# Guards simply didn't exist
|
||||
lines.insert(HEADER_CHECK_OFFSET, HEADER_CHECK)
|
||||
lines.insert(HEADER_BEGIN_OFFSET, HEADER_BEGIN)
|
||||
lines.append("\n")
|
||||
lines.append(HEADER_END)
|
||||
with open(file, "wt", encoding="utf-8", newline="\n") as f:
|
||||
f.writelines(lines)
|
||||
changed.append(file)
|
||||
continue
|
||||
|
||||
if header_check != -1 and header_begin != -1 and header_end != -1:
|
||||
# All prepends "found", see if we can salvage this.
|
||||
if header_check == header_begin - 1 and header_begin < header_end:
|
||||
lines.pop(header_check)
|
||||
lines.pop(header_begin - 1)
|
||||
lines.pop(header_end - 2)
|
||||
if lines[header_end - 3] == "\n":
|
||||
lines.pop(header_end - 3)
|
||||
lines.insert(HEADER_CHECK_OFFSET, HEADER_CHECK)
|
||||
lines.insert(HEADER_BEGIN_OFFSET, HEADER_BEGIN)
|
||||
lines.append("\n")
|
||||
lines.append(HEADER_END)
|
||||
with open(file, "wt", encoding="utf-8", newline="\n") as f:
|
||||
f.writelines(lines)
|
||||
changed.append(file)
|
||||
continue
|
||||
|
||||
invalid.append(file)
|
||||
# Assume that we're simply missing a guard entirely.
|
||||
lines.insert(HEADER_CHECK_OFFSET, "#pragma once\n\n")
|
||||
with open(file, "wt", encoding="utf-8", newline="\n") as f:
|
||||
f.writelines(lines)
|
||||
changed.append(file)
|
||||
|
||||
if changed:
|
||||
for file in changed:
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import urllib.request
|
|||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../"))
|
||||
|
||||
from misc.utility.color import Ansi
|
||||
from misc.utility.color import Ansi, color_print
|
||||
|
||||
# Base Godot dependencies path
|
||||
# If cross-compiling (no LOCALAPPDATA), we install in `bin`
|
||||
|
|
@ -42,7 +42,7 @@ if not os.path.exists(deps_folder):
|
|||
os.makedirs(deps_folder)
|
||||
|
||||
# Mesa NIR
|
||||
print(f"{Ansi.BOLD}[1/3] Mesa NIR{Ansi.RESET}")
|
||||
color_print(f"{Ansi.BOLD}[1/3] Mesa NIR")
|
||||
if os.path.isfile(mesa_archive):
|
||||
os.remove(mesa_archive)
|
||||
print(f"Downloading Mesa NIR {mesa_filename} ...")
|
||||
|
|
@ -69,7 +69,7 @@ if dlltool == "":
|
|||
dlltool = shutil.which("x86_64-w64-mingw32-dlltool") or ""
|
||||
has_mingw = gendef != "" and dlltool != ""
|
||||
|
||||
print(f"{Ansi.BOLD}[2/3] WinPixEventRuntime{Ansi.RESET}")
|
||||
color_print(f"{Ansi.BOLD}[2/3] WinPixEventRuntime")
|
||||
if os.path.isfile(pix_archive):
|
||||
os.remove(pix_archive)
|
||||
print(f"Downloading WinPixEventRuntime {pix_version} ...")
|
||||
|
|
@ -100,7 +100,7 @@ else:
|
|||
print(f"WinPixEventRuntime {pix_version} installed successfully.\n")
|
||||
|
||||
# DirectX 12 Agility SDK
|
||||
print(f"{Ansi.BOLD}[3/3] DirectX 12 Agility SDK{Ansi.RESET}")
|
||||
color_print(f"{Ansi.BOLD}[3/3] DirectX 12 Agility SDK")
|
||||
if os.path.isfile(agility_sdk_archive):
|
||||
os.remove(agility_sdk_archive)
|
||||
print(f"Downloading DirectX 12 Agility SDK {agility_sdk_version} ...")
|
||||
|
|
@ -116,5 +116,5 @@ os.remove(agility_sdk_archive)
|
|||
print(f"DirectX 12 Agility SDK {agility_sdk_version} installed successfully.\n")
|
||||
|
||||
# Complete message
|
||||
print(f'{Ansi.GREEN}All Direct3D 12 SDK components were installed to "{deps_folder}" successfully!{Ansi.RESET}')
|
||||
print(f'{Ansi.GREEN}You can now build Godot with Direct3D 12 support enabled by running "scons d3d12=yes".{Ansi.RESET}')
|
||||
color_print(f'{Ansi.GREEN}All Direct3D 12 SDK components were installed to "{deps_folder}" successfully!')
|
||||
color_print(f'{Ansi.GREEN}You can now build Godot with Direct3D 12 support enabled by running "scons d3d12=yes".')
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ echo " $(dirname $CURDIR)/$NAME.tar.gz"
|
|||
|
||||
git archive $HEAD --prefix=$NAME/ -o $TMPDIR/$NAME.tar
|
||||
|
||||
# Adding custom .git/HEAD to tarball so that we can generate VERSION_HASH.
|
||||
# Adding custom .git/HEAD to tarball so that we can generate GODOT_VERSION_HASH.
|
||||
cd $TMPDIR
|
||||
mkdir -p $NAME/.git
|
||||
echo $HEAD > $NAME/.git/HEAD
|
||||
|
|
|
|||
47
engine/misc/scripts/purge_cache.py
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import glob
|
||||
import os
|
||||
|
||||
if __name__ != "__main__":
|
||||
raise ImportError(f"{__name__} should not be used as a module.")
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Cleanup old cache files")
|
||||
parser.add_argument("timestamp", type=int, help="Unix timestamp cutoff")
|
||||
parser.add_argument("directory", help="Path to cache directory")
|
||||
args = parser.parse_args()
|
||||
|
||||
ret = 0
|
||||
|
||||
# TODO: Convert to non-hardcoded path
|
||||
if os.path.exists("redundant.txt"):
|
||||
with open("redundant.txt") as redundant:
|
||||
for item in map(str.strip, redundant):
|
||||
if os.path.isfile(item):
|
||||
try:
|
||||
os.remove(item)
|
||||
except OSError:
|
||||
print(f'Failed to handle "{item}"; skipping.')
|
||||
ret += 1
|
||||
|
||||
for file in glob.glob(os.path.join(args.directory, "*", "*")):
|
||||
try:
|
||||
if os.path.getatime(file) < args.timestamp:
|
||||
os.remove(file)
|
||||
except OSError:
|
||||
print(f'Failed to handle "{file}"; skipping.')
|
||||
ret += 1
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
try:
|
||||
raise SystemExit(main())
|
||||
except KeyboardInterrupt:
|
||||
import signal
|
||||
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
os.kill(os.getpid(), signal.SIGINT)
|
||||
|
|
@ -55,8 +55,7 @@ def generate_ucaps_fetch() -> None:
|
|||
source: str = generate_copyright_header("ucaps.h")
|
||||
|
||||
source += f"""
|
||||
#ifndef UCAPS_H
|
||||
#define UCAPS_H
|
||||
#pragma once
|
||||
|
||||
// This file was generated using the `misc/scripts/ucaps_fetch.py` script.
|
||||
|
||||
|
|
@ -105,8 +104,6 @@ static int _find_lower(int ch) {
|
|||
|
||||
\treturn ch;
|
||||
}
|
||||
|
||||
#endif // UCAPS_H
|
||||
"""
|
||||
|
||||
ucaps_path: str = os.path.join(os.path.dirname(__file__), "../../core/string/ucaps.h")
|
||||
|
|
|
|||
|
|
@ -1,85 +1,58 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
from enum import Enum
|
||||
from typing import Final
|
||||
|
||||
# Colors are disabled in non-TTY environments such as pipes. This means if output is redirected
|
||||
# to a file, it won't contain color codes. Colors are always enabled on continuous integration.
|
||||
# to a file, it won't contain color codes. Colors are enabled by default on continuous integration.
|
||||
|
||||
IS_CI: Final[bool] = bool(os.environ.get("CI"))
|
||||
NO_COLOR: Final[bool] = bool(os.environ.get("NO_COLOR"))
|
||||
CLICOLOR_FORCE: Final[bool] = bool(os.environ.get("CLICOLOR_FORCE"))
|
||||
STDOUT_TTY: Final[bool] = bool(sys.stdout.isatty())
|
||||
STDERR_TTY: Final[bool] = bool(sys.stderr.isatty())
|
||||
|
||||
|
||||
def _color_supported(stdout: bool) -> bool:
|
||||
_STDOUT_ORIGINAL: Final[bool] = False if NO_COLOR else CLICOLOR_FORCE or IS_CI or STDOUT_TTY
|
||||
_STDERR_ORIGINAL: Final[bool] = False if NO_COLOR else CLICOLOR_FORCE or IS_CI or STDERR_TTY
|
||||
_stdout_override: bool = _STDOUT_ORIGINAL
|
||||
_stderr_override: bool = _STDERR_ORIGINAL
|
||||
|
||||
|
||||
def is_stdout_color() -> bool:
|
||||
return _stdout_override
|
||||
|
||||
|
||||
def is_stderr_color() -> bool:
|
||||
return _stderr_override
|
||||
|
||||
|
||||
def force_stdout_color(value: bool) -> None:
|
||||
"""
|
||||
Validates if the current environment supports colored output. Attempts to enable ANSI escape
|
||||
code support on Windows 10 and later.
|
||||
Explicitly set `stdout` support for ANSI escape codes.
|
||||
If environment overrides exist, does nothing.
|
||||
"""
|
||||
if IS_CI:
|
||||
return True
|
||||
|
||||
if sys.platform != "win32":
|
||||
return STDOUT_TTY if stdout else STDERR_TTY
|
||||
else:
|
||||
from ctypes import POINTER, WINFUNCTYPE, WinError, windll
|
||||
from ctypes.wintypes import BOOL, DWORD, HANDLE
|
||||
|
||||
STD_HANDLE = -11 if stdout else -12
|
||||
ENABLE_VIRTUAL_TERMINAL_PROCESSING = 4
|
||||
|
||||
def err_handler(result, func, args):
|
||||
if not result:
|
||||
raise WinError()
|
||||
return args
|
||||
|
||||
GetStdHandle = WINFUNCTYPE(HANDLE, DWORD)(("GetStdHandle", windll.kernel32), ((1, "nStdHandle"),))
|
||||
GetConsoleMode = WINFUNCTYPE(BOOL, HANDLE, POINTER(DWORD))(
|
||||
("GetConsoleMode", windll.kernel32),
|
||||
((1, "hConsoleHandle"), (2, "lpMode")),
|
||||
)
|
||||
GetConsoleMode.errcheck = err_handler
|
||||
SetConsoleMode = WINFUNCTYPE(BOOL, HANDLE, DWORD)(
|
||||
("SetConsoleMode", windll.kernel32),
|
||||
((1, "hConsoleHandle"), (1, "dwMode")),
|
||||
)
|
||||
SetConsoleMode.errcheck = err_handler
|
||||
|
||||
try:
|
||||
handle = GetStdHandle(STD_HANDLE)
|
||||
flags = GetConsoleMode(handle)
|
||||
SetConsoleMode(handle, flags | ENABLE_VIRTUAL_TERMINAL_PROCESSING)
|
||||
return True
|
||||
except OSError:
|
||||
return False
|
||||
|
||||
|
||||
STDOUT_COLOR: Final[bool] = _color_supported(True)
|
||||
STDERR_COLOR: Final[bool] = _color_supported(False)
|
||||
_stdout_override: bool = STDOUT_COLOR
|
||||
_stderr_override: bool = STDERR_COLOR
|
||||
|
||||
|
||||
def toggle_color(stdout: bool, value: bool | None = None) -> None:
|
||||
"""
|
||||
Explicitly toggle color codes, regardless of support.
|
||||
|
||||
- `stdout`: A boolean to choose the output stream. `True` for stdout, `False` for stderr.
|
||||
- `value`: An optional boolean to explicitly set the color state instead of toggling.
|
||||
"""
|
||||
if stdout:
|
||||
if not NO_COLOR or not CLICOLOR_FORCE:
|
||||
global _stdout_override
|
||||
_stdout_override = value if value is not None else not _stdout_override
|
||||
else:
|
||||
_stdout_override = value
|
||||
|
||||
|
||||
def force_stderr_color(value: bool) -> None:
|
||||
"""
|
||||
Explicitly set `stderr` support for ANSI escape codes.
|
||||
If environment overrides exist, does nothing.
|
||||
"""
|
||||
if not NO_COLOR or not CLICOLOR_FORCE:
|
||||
global _stderr_override
|
||||
_stderr_override = value if value is not None else not _stderr_override
|
||||
_stderr_override = value
|
||||
|
||||
|
||||
class Ansi(Enum):
|
||||
"""
|
||||
Enum class for adding ansi codepoints directly into strings. Automatically converts values to
|
||||
Enum class for adding ANSI codepoints directly into strings. Automatically converts values to
|
||||
strings representing their internal value.
|
||||
"""
|
||||
|
||||
|
|
@ -106,25 +79,74 @@ class Ansi(Enum):
|
|||
return self.value
|
||||
|
||||
|
||||
RE_ANSI = re.compile(r"\x1b\[[=\?]?[;\d]+[a-zA-Z]")
|
||||
|
||||
|
||||
def color_print(*values: object, sep: str | None = " ", end: str | None = "\n", flush: bool = False) -> None:
|
||||
"""Prints a colored message to `stdout`. If disabled, ANSI codes are automatically stripped."""
|
||||
if is_stdout_color():
|
||||
print(*values, sep=sep, end=f"{Ansi.RESET}{end}", flush=flush)
|
||||
else:
|
||||
print(RE_ANSI.sub("", (sep or " ").join(map(str, values))), sep="", end=end, flush=flush)
|
||||
|
||||
|
||||
def color_printerr(*values: object, sep: str | None = " ", end: str | None = "\n", flush: bool = False) -> None:
|
||||
"""Prints a colored message to `stderr`. If disabled, ANSI codes are automatically stripped."""
|
||||
if is_stderr_color():
|
||||
print(*values, sep=sep, end=f"{Ansi.RESET}{end}", flush=flush, file=sys.stderr)
|
||||
else:
|
||||
print(RE_ANSI.sub("", (sep or " ").join(map(str, values))), sep="", end=end, flush=flush, file=sys.stderr)
|
||||
|
||||
|
||||
def print_info(*values: object) -> None:
|
||||
"""Prints a informational message with formatting."""
|
||||
if _stdout_override:
|
||||
print(f"{Ansi.GRAY}{Ansi.BOLD}INFO:{Ansi.REGULAR}", *values, Ansi.RESET)
|
||||
else:
|
||||
print("INFO:", *values)
|
||||
color_print(f"{Ansi.GRAY}{Ansi.BOLD}INFO:{Ansi.REGULAR}", *values)
|
||||
|
||||
|
||||
def print_warning(*values: object) -> None:
|
||||
"""Prints a warning message with formatting."""
|
||||
if _stderr_override:
|
||||
print(f"{Ansi.YELLOW}{Ansi.BOLD}WARNING:{Ansi.REGULAR}", *values, Ansi.RESET, file=sys.stderr)
|
||||
else:
|
||||
print("WARNING:", *values, file=sys.stderr)
|
||||
color_printerr(f"{Ansi.YELLOW}{Ansi.BOLD}WARNING:{Ansi.REGULAR}", *values)
|
||||
|
||||
|
||||
def print_error(*values: object) -> None:
|
||||
"""Prints an error message with formatting."""
|
||||
if _stderr_override:
|
||||
print(f"{Ansi.RED}{Ansi.BOLD}ERROR:{Ansi.REGULAR}", *values, Ansi.RESET, file=sys.stderr)
|
||||
else:
|
||||
print("ERROR:", *values, file=sys.stderr)
|
||||
color_printerr(f"{Ansi.RED}{Ansi.BOLD}ERROR:{Ansi.REGULAR}", *values)
|
||||
|
||||
|
||||
if sys.platform == "win32":
|
||||
|
||||
def _win_color_fix():
|
||||
"""Attempts to enable ANSI escape code support on Windows 10 and later."""
|
||||
from ctypes import POINTER, WINFUNCTYPE, WinError, windll
|
||||
from ctypes.wintypes import BOOL, DWORD, HANDLE
|
||||
|
||||
STDOUT_HANDLE = -11
|
||||
STDERR_HANDLE = -12
|
||||
ENABLE_VIRTUAL_TERMINAL_PROCESSING = 4
|
||||
|
||||
def err_handler(result, func, args):
|
||||
if not result:
|
||||
raise WinError()
|
||||
return args
|
||||
|
||||
GetStdHandle = WINFUNCTYPE(HANDLE, DWORD)(("GetStdHandle", windll.kernel32), ((1, "nStdHandle"),))
|
||||
GetConsoleMode = WINFUNCTYPE(BOOL, HANDLE, POINTER(DWORD))(
|
||||
("GetConsoleMode", windll.kernel32),
|
||||
((1, "hConsoleHandle"), (2, "lpMode")),
|
||||
)
|
||||
GetConsoleMode.errcheck = err_handler
|
||||
SetConsoleMode = WINFUNCTYPE(BOOL, HANDLE, DWORD)(
|
||||
("SetConsoleMode", windll.kernel32),
|
||||
((1, "hConsoleHandle"), (1, "dwMode")),
|
||||
)
|
||||
SetConsoleMode.errcheck = err_handler
|
||||
|
||||
for handle_id in [STDOUT_HANDLE, STDERR_HANDLE]:
|
||||
try:
|
||||
handle = GetStdHandle(handle_id)
|
||||
flags = GetConsoleMode(handle)
|
||||
SetConsoleMode(handle, flags | ENABLE_VIRTUAL_TERMINAL_PROCESSING)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
_win_color_fix()
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
export default {
|
||||
multipass: true,
|
||||
precision: 2,
|
||||
js2svg: {
|
||||
eol: "lf",
|
||||
finalNewline: true,
|
||||
},
|
||||
plugins: [
|
||||
{
|
||||
name: "preset-default",
|
||||
|
|
|
|||