initial commit, 4.5 stable
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled

This commit is contained in:
2025-09-16 20:46:46 -04:00
commit 9d30169a8d
13378 changed files with 7050105 additions and 0 deletions

1
misc/dist/document_icons/gdscript.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)"/><path fill="none" d="M0 0H1024V1024H0z"/><text x="184.504" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="184.504" y="878.644" font-size="112">GDSCRIPT</tspan></text><path fill="#478cbf" d="m 481.818,330.713 -17.037,68.149 a 150.92,150.92 0 0 0 -20.81,8.43 l -60.015,-36.021 -42.683,42.683 36.079,60.19 a 150.92,150.92 0 0 0 -8.608,20.693 l -68.031,16.978 v 60.368 l 68.149,17.037 a 150.92,150.92 0 0 0 8.43,20.752 l -36.021,60.072 42.683,42.683 60.19,-36.079 a 150.92,150.92 0 0 0 20.693,8.608 l 16.978,68.031 h 60.368 l 17.037,-68.149 a 150.92,150.92 0 0 0 20.752,-8.43 l 60.072,36.021 42.683,-42.683 -36.079,-60.19 a 150.92,150.92 0 0 0 8.608,-20.693 l 68.031,-16.978 V 511.817 L 655.138,494.78 a 150.92,150.92 0 0 0 -8.43,-20.752 l 36.021,-60.072 -42.683,-42.683 -60.19,36.079 a 150.92,150.92 0 0 0 -20.693,-8.608 l -16.978,-68.031 h -60.368 z m 30.184,150.92 A 60.368,60.368 0 0 1 572.37,542 60.368,60.368 0 0 1 512.002,602.368 60.368,60.368 0 0 1 451.634,542 60.368,60.368 0 0 1 512.002,481.632 Z"/></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.01563)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.01563)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.01563)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.01563)"/><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>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.03125)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.03125)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.03125)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.03125)"/><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>

After

Width:  |  Height:  |  Size: 3.1 KiB

1
misc/dist/document_icons/project.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.6 KiB

1
misc/dist/document_icons/resource.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)"/><path fill="none" d="M0 0H1024V1024H0z"/><text x="172.91" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="172.91" y="878.644" font-size="112">RESOURCE</tspan></text><path fill="#478cbf" fill-rule="evenodd" d="m 510.825,320.281 a 31.683,31.683 0 0 0 -12.994,3.28 L 307.75,418.6 a 31.683,31.683 0 0 0 -17.51,28.339 v 190.08 a 31.683,31.683 0 0 0 17.51,28.338 l 190.08,95.04 a 31.683,31.683 0 0 0 28.338,0 l 190.08,-95.04 a 31.683,31.683 0 0 0 17.51,-28.338 V 446.94 a 31.683,31.683 0 0 0 -17.51,-28.34 l -190.08,-95.04 a 31.683,31.683 0 0 0 -15.345,-3.279 z M 512,387.354 631.234,446.941 587.487,468.845 468.253,409.198 512,387.356 Z m -158.4,110.88 126.72,63.36 V 680.828 L 353.6,617.468 Z m 316.8,0 v 119.234 l -126.72,63.36 V 561.594 Z"/></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.01563)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.01563)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.01563)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.01563)"/><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>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.03125)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.03125)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.03125)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.03125)"/><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>

After

Width:  |  Height:  |  Size: 2.8 KiB

1
misc/dist/document_icons/scene.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)"/><path fill="none" d="M0 0H1024V1024H0z"/><text x="308.398" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="308.398" y="878.644" font-size="112">SCENE</tspan></text><path fill="#478cbf" d="m 714.504,345.805 -67.735,9.904 24.7,57.361 51.76,-7.546 z m -127.458,18.57 -59.719,8.725 24.702,57.419 59.719,-8.725 z m -119.498,17.45 -59.719,8.725 24.701,57.419 59.72,-8.725 z m -119.438,17.45 -51.76,7.546 8.725,59.719 67.736,-9.904 z m -43.036,97.449 v 181.104 c 0,33.34 27.027,60.368 60.368,60.368 H 727.65 V 496.724 Z"/></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.01563)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.01563)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.01563)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.01563)"/><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>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.03125)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.03125)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.03125)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.03125)"/><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>

After

Width:  |  Height:  |  Size: 2.7 KiB

1
misc/dist/document_icons/shader.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)"/><path fill="none" d="M0 0H1024V1024H0z"/><text x="249.719" y="878.644" fill="#333f67" font-family="Montserrat" font-size="16" font-weight="800" letter-spacing="0" word-spacing="0"><tspan x="249.719" y="878.644" font-size="112">SHADER</tspan></text><path fill="#478cbf" d="m 640.44,378.066 c -10.54,0 -21.102,4.097 -29.145,12.276 l -35.64,36.254 -47.725,48.529 h -0.004 l -47.676,48.53 -33.98,34.546 13.744,13.98 h 89.002 l 47.675,-48.529 47.723,-48.527 h 0.006 l 25.12,-25.543 c 6.375,-6.486 10.147,-14.571 11.468,-22.986 h -0.002 c 2.01,-12.81 -1.762,-26.38 -11.469,-36.254 -8.042,-8.18 -18.558,-12.276 -29.098,-12.276 z m -180.427,194.118 44.502,45.257 44.5,-45.257 z m -46.848,13.834 c -9.932,0.124 -18.509,4.228 -24.668,11.236 -5.21,5.927 -8.55,14.024 -9.668,23.459 -0.254,2.153 -0.52,4.295 -0.52,6.588 0,33.842 -55.28,6.971 -28.53,41.94 h 117.626 c 6.64,-15.57 5.836,-33.447 -2.13,-48.528 h -0.003 c -2.48,-4.695 -5.392,-9.213 -9.289,-13.176 -13.348,-13.578 -26.713,-20.143 -38.48,-21.326 h -0.002 a 38.536,38.536 0 0 0 -4.336,-0.193 z m -63.387,83.224 c 4.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.297 H 349.78 Z"/></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.01563)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.01563)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.01563)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.01563)"/><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>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><filter id="a" width="1.076" height="1.057" x="-.041" y="-.026" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".502" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="comp2"/></filter><filter id="b" width="2.262" height="2.261" x="-.68" y="-.582" color-interpolation-filters="sRGB"><feFlood flood-color="#000" flood-opacity=".4" result="flood"/><feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="40"/><feOffset dx="-20" dy="20" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="SourceGraphic" in2="comp1" result="fbSourceGraphic"/><feColorMatrix in="fbSourceGraphic" result="fbSourceGraphicAlpha" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-color="#000" flood-opacity=".2" result="flood"/><feGaussianBlur in="fbSourceGraphic" result="blur" stdDeviation="20"/><feOffset dx="-4" dy="4" in="blur" result="offset"/><feComposite in="flood" in2="offset" operator="in" result="comp1"/><feComposite in="fbSourceGraphic" in2="comp1" result="comp2"/></filter></defs><path fill="#fff" d="m 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.40334 -0.006,-609.40434 -0.0115,-0.5396 -0.48983,-11.63499 -6.79883,-23.10888 L 727.16587,186.28218 607.13658,66.07759 C 600.03311,60.161839 590.4778,58.524457 581.41002,58.0019 Z" filter="url(#a)" transform="scale(.03125)"/><path fill="#fff" d="m 603.10742,63.296875 c -6.47611,-3.68445 -14.251,-4.865809 -21.69726,-5.294922 L 193,58 c -13.85,-6.8e-5 -25,11.15 -25,25 v 858 c 0,13.85 11.15,25 25,25 h 638 c 13.85,0 25,-11.15 25,-25 0,0 -0.004,-609.4033 -0.006,-609.4043 -0.0108,-0.50492 -0.43123,-10.25259 -5.6543,-20.90429 H 628.10742 c -13.85,0 -25,-11.15 -25,-25 z" transform="scale(.03125)"/><path fill="#fff" d="M 603.10742,63.296875 V 285.69141 c 0,13.85 11.15,25 25,25 h 222.23242 c -0.35869,-0.73152 -0.7391,-1.46774 -1.14453,-2.20508 L 727.16602,186.28125 607.13672,66.078125 c -1.27025,-1.057863 -2.61905,-1.978917 -4.0293,-2.78125 z" filter="url(#b)" transform="scale(.03125)"/><path fill="none" d="M0 0H1024V1024H0z" transform="scale(.03125)"/><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>

After

Width:  |  Height:  |  Size: 3.0 KiB

773
misc/dist/html/editor.html vendored Normal file
View File

@@ -0,0 +1,773 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<meta name="author" content="Godot Engine">
<meta name="description" content="Use the Godot Engine editor directly in your web browser, without having to install anything.">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Godot">
<meta name="apple-mobile-web-app-title" content="Godot">
<meta name="theme-color" content="#202531">
<meta name="msapplication-navbutton-color" content="#202531">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="msapplication-starturl" content="/latest">
<meta property="og:site_name" content="Godot Engine Web Editor">
<meta property="og:url" name="twitter:url" content="https://editor.godotengine.org/releases/latest/">
<meta property="og:title" name="twitter:title" content="Free and open source 2D and 3D game engine">
<meta property="og:description" name="twitter:description" content="Use the Godot Engine editor directly in your web browser, without having to install anything.">
<meta property="og:image" name="twitter:image" content="https://godotengine.org/themes/godotengine/assets/og_image.png">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<link id="-gd-engine-icon" rel="icon" type="image/png" href="favicon.png">
<link rel="apple-touch-icon" type="image/png" href="favicon.png">
<link rel="manifest" href="manifest.json">
<title>Godot Engine Web Editor (___GODOT_VERSION___)</title>
<style>
*:focus {
/* More visible outline for better keyboard navigation. */
outline: 0.125rem solid hsl(220, 100%, 62.5%);
/* Make the outline always appear above other elements. */
/* Otherwise, one of its sides can be hidden by tabs in the Download and More layouts. */
position: relative;
}
body {
touch-action: none;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
margin: 0;
border: 0 none;
padding: 0;
text-align: center;
background-color: #333b4f;
overflow: hidden;
}
a {
color: hsl(205, 100%, 75%);
text-decoration-color: hsla(205, 100%, 75%, 0.3);
text-decoration-thickness: 0.125rem;
}
a:hover {
filter: brightness(117.5%);
}
a:active {
filter: brightness(82.5%);
}
.welcome-modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: hsla(0, 0%, 0%, 0.5);
text-align: left;
}
.welcome-modal-title {
text-align: center;
}
.welcome-modal-content {
background-color: #333b4f;
box-shadow: 0 0.25rem 0.25rem hsla(0, 0%, 0%, 0.5);
line-height: 1.5;
max-width: 38rem;
margin: 4rem auto 0 auto;
color: white;
border-radius: 0.5rem;
padding: 1rem 1rem 2rem 1rem;
}
#tabs-buttons {
/* Match the default background color of the editor window for a seamless appearance. */
background-color: #202531;
}
#tab-game {
/* Use a pure black background to better distinguish the running project */
/* from the editor window, and to use a more neutral background color (no tint). */
background-color: black;
/* Make the background span the entire page height. */
min-height: 100vh;
}
#canvas, #gameCanvas {
display: block;
margin: 0;
color: white;
}
/* Don't show distracting focus outlines for the main tabs' contents. */
#tab-editor canvas:focus,
#tab-game canvas:focus,
#canvas:focus,
#gameCanvas:focus {
outline: none;
}
.godot {
color: #e0e0e0;
background-color: #3b3943;
background-image: linear-gradient(to bottom, #403e48, #35333c);
border: 1px solid #45434e;
box-shadow: 0 0 1px 1px #2f2d35;
}
.btn {
appearance: none;
color: #e0e0e0;
background-color: #262c3b;
border: 1px solid #202531;
padding: 0.5rem 1rem;
margin: 0 0.5rem;
}
.btn:not(:disabled):hover {
color: #e0e1e5;
border-color: #666c7b;
}
.btn:active {
border-color: #699ce8;
color: #699ce8;
}
.btn:disabled {
color: #aaa;
border-color: #242937;
}
.btn.tab-btn {
padding: 0.3rem 1rem;
}
.btn.close-btn {
padding: 0.3rem 1rem;
margin-left: -0.75rem;
font-weight: 700;
}
/* Status display */
#status {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
/* don't consume click events - make children visible explicitly */
visibility: hidden;
}
#status-progress {
width: 366px;
height: 7px;
background-color: #38363A;
border: 1px solid #444246;
padding: 1px;
box-shadow: 0 0 2px 1px #1B1C22;
border-radius: 2px;
visibility: visible;
}
@media only screen and (orientation:portrait) {
#status-progress {
width: 61.8%;
}
}
#status-progress-inner {
height: 100%;
width: 0;
box-sizing: border-box;
transition: width 0.5s linear;
background-color: #202020;
border: 1px solid #222223;
box-shadow: 0 0 1px 1px #27282E;
border-radius: 3px;
}
#status-indeterminate {
visibility: visible;
position: relative;
}
#status-indeterminate > div {
width: 4.5px;
height: 0;
border-style: solid;
border-width: 9px 3px 0 3px;
border-color: #2b2b2b transparent transparent transparent;
transform-origin: center 21px;
position: absolute;
}
#status-indeterminate > div:nth-child(1) { transform: rotate( 22.5deg); }
#status-indeterminate > div:nth-child(2) { transform: rotate( 67.5deg); }
#status-indeterminate > div:nth-child(3) { transform: rotate(112.5deg); }
#status-indeterminate > div:nth-child(4) { transform: rotate(157.5deg); }
#status-indeterminate > div:nth-child(5) { transform: rotate(202.5deg); }
#status-indeterminate > div:nth-child(6) { transform: rotate(247.5deg); }
#status-indeterminate > div:nth-child(7) { transform: rotate(292.5deg); }
#status-indeterminate > div:nth-child(8) { transform: rotate(337.5deg); }
#status-notice {
margin: 0 100px;
line-height: 1.3;
visibility: visible;
padding: 4px 6px;
}
</style>
</head>
<body>
<div
id="welcome-modal"
class="welcome-modal"
role="dialog"
aria-labelledby="welcome-modal-title"
aria-describedby="welcome-modal-description"
onclick="if (event.target === this) closeWelcomeModal(false)"
>
<div class="welcome-modal-content">
<h2 id="welcome-modal-title" class="welcome-modal-title">Important - Please read before continuing</h2>
<div id="welcome-modal-description">
<p>
The Godot Web Editor has some limitations compared to the native version.
Its main focus is education and experimentation;
<strong>it is not recommended for production</strong>.
</p>
<p>
Refer to the
<a
href="https://docs.godotengine.org/en/latest/tutorials/editor/using_the_web_editor.html"
target="_blank"
rel="noopener"
>Web editor documentation</a> for usage instructions and limitations.
</p>
</div>
<div id="welcome-modal-missing-description" style="display: none">
<p>
<strong>The following features required by the Godot Web Editor are missing:</strong>
</p>
<ul id="welcome-modal-missing-list">
</ul>
<p>
If you are self-hosting the web editor,
refer to
<a
href="https://docs.godotengine.org/en/latest/tutorials/export/exporting_for_web.html"
target="_blank"
rel="noopener"
>Exporting for the Web</a> for more information.
</p>
</div>
<div style="text-align: center">
<button id="welcome-modal-dismiss" class="btn" type="button" onclick="closeWelcomeModal(true)" style="margin-top: 1rem">
OK, don't show again
</button>
</div>
</div>
</div>
<div id="tabs-buttons">
<button id="btn-tab-loader" class="btn tab-btn" onclick="showTab('loader')">Loader</button>
<button id="btn-tab-editor" class="btn tab-btn" disabled="disabled" onclick="showTab('editor')">Editor</button>
<button id="btn-close-editor" class="btn close-btn" disabled="disabled" onclick="closeEditor()">×</button>
<button id="btn-tab-game" class="btn tab-btn" disabled="disabled" onclick="showTab('game')">Game</button>
<button id="btn-close-game" class="btn close-btn" disabled="disabled" onclick="closeGame()">×</button>
<button id="btn-tab-update" class="btn tab-btn" style="display: none;">Update</button>
</div>
<div id="tabs">
<div id="tab-loader">
<div style="color: #e0e0e0;" id="persistence">
<br >
<img src="logo.svg" alt="Godot Engine logo" width="1024" height="414" style="width: auto; height: auto; max-width: min(85%, 50vh); max-height: 250px">
<br >
___GODOT_VERSION___
<br >
<a href="releases/">Need an old version?</a>
<br >
<br >
<br >
<label for="videoMode" style="margin-right: 1rem">Video driver:</label>
<select id="videoMode">
<option value="" selected="selected">Auto</option>
<option value="opengl3">WebGL 2</option>
</select>
<br >
<br >
<label for="zip-file" style="margin-right: 1rem">Preload project ZIP:</label>
<input id="zip-file" type="file" name="files" style="margin-bottom: 1rem">
<br >
<a href="demo.zip">(Try this for example)</a>
<br >
<br >
<button id="startButton" class="btn" style="margin-bottom: 4rem; font-weight: 700">Start Godot editor</button>
<br >
<button class="btn" onclick="clearPersistence()" style="margin-bottom: 1.5rem">Clear persistent data</button>
<br >
<a href="https://docs.godotengine.org/en/latest/tutorials/editor/using_the_web_editor.html">Web editor documentation</a>
</div>
</div>
<div id="tab-editor" style="display: none;">
<canvas id="editor-canvas" tabindex="1">
HTML5 canvas appears to be unsupported in the current browser.<br >
Please try updating or use a different browser.
</canvas>
</div>
<div id="tab-game" style="display: none;">
<canvas id="game-canvas" tabindex="2">
HTML5 canvas appears to be unsupported in the current browser.<br >
Please try updating or use a different browser.
</canvas>
</div>
<div id="tab-status" style="display: none;">
<div id="status-progress" style="display: none;" oncontextmenu="event.preventDefault();">
<div id="status-progress-inner"></div>
</div>
<div id="status-indeterminate" style="display: none;" oncontextmenu="event.preventDefault();">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="status-notice" class="godot" style="display: none;"></div>
</div>
</div>
<script>
window.addEventListener('load', () => {
function notifyUpdate(sw) {
const btn = document.getElementById('btn-tab-update');
btn.onclick = function () {
if (!window.confirm('Are you sure you want to update?\nClicking "OK" will reload all active instances!')) {
return;
}
sw.postMessage('update');
btn.innerHTML = 'Updating...';
btn.disabled = true;
};
btn.style.display = '';
}
if ('serviceWorker' in navigator) {
try {
navigator.serviceWorker.register('service.worker.js').then(function (reg) {
if (reg.waiting) {
notifyUpdate(reg.waiting);
}
reg.addEventListener('updatefound', function () {
const update = reg.installing;
update.addEventListener('statechange', function () {
if (update.state === 'installed') {
// It's a new install, claim and perform aggressive caching.
if (!reg.active) {
update.postMessage('claim');
} else {
notifyUpdate(update);
}
}
});
});
});
} catch (e) {
console.error('Error while registering service worker:', e);
}
}
const missing = Engine.getMissingFeatures({
threads: ___GODOT_THREADS_ENABLED___,
});
if (missing.length) {
// Display error dialog as threading support is required for the editor.
document.getElementById('startButton').disabled = 'disabled';
document.getElementById('welcome-modal-description').style.display = 'none';
document.getElementById('welcome-modal-missing-description').style.display = 'block';
document.getElementById('welcome-modal-dismiss').style.display = 'none';
const list = document.getElementById('welcome-modal-missing-list');
for (let i = 0; i < missing.length; i++) {
const node = document.createElement('li');
node.innerText = missing[i];
list.appendChild(node);
}
}
if (missing.length || localStorage.getItem('welcomeModalDismissed') !== 'true') {
document.getElementById('welcome-modal').style.display = 'block';
document.getElementById('welcome-modal-dismiss').focus();
}
});
function closeWelcomeModal(dontShowAgain) { // eslint-disable-line no-unused-vars
document.getElementById('welcome-modal').style.display = 'none';
if (dontShowAgain) {
localStorage.setItem('welcomeModalDismissed', 'true');
}
}
</script>
<script src="godot.editor.js"></script>
<script>
let editor = null;
let game = null;
let setStatusMode;
let setStatusNotice;
let video_driver = '';
function clearPersistence() { // eslint-disable-line no-unused-vars
function deleteDB(path) {
return new Promise(function (resolve, reject) {
const req = indexedDB.deleteDatabase(path);
req.onsuccess = function () {
resolve();
};
req.onerror = function (err) {
reject(err);
};
req.onblocked = function (err) {
reject(err);
};
});
}
if (!window.confirm('Are you sure you want to delete all the locally stored files?\nClicking "OK" will permanently remove your projects and editor settings!')) {
return;
}
Promise.all([
deleteDB('/home/web_user'),
]).then(function (results) {
alert('Done.');
}).catch(function (err) {
alert('Error deleting local files. Please retry after reloading the page.');
});
}
function selectVideoMode() {
const select = document.getElementById('videoMode');
video_driver = select.selectedOptions[0].value;
}
const tabs = [
document.getElementById('tab-loader'),
document.getElementById('tab-editor'),
document.getElementById('tab-game'),
];
function showTab(name) {
tabs.forEach(function (elem) {
if (elem.id === `tab-${name}`) {
elem.style.display = 'block';
if (name === 'editor' || name === 'game') {
const canvas = document.getElementById(`${name}-canvas`);
canvas.focus();
}
} else {
elem.style.display = 'none';
}
});
}
function setButtonEnabled(id, enabled) {
if (enabled) {
document.getElementById(id).disabled = '';
} else {
document.getElementById(id).disabled = 'disabled';
}
}
function setLoaderEnabled(enabled) {
setButtonEnabled('btn-tab-loader', enabled);
setButtonEnabled('btn-tab-editor', !enabled);
setButtonEnabled('btn-close-editor', !enabled);
}
function setGameTabEnabled(enabled) {
setButtonEnabled('btn-tab-game', enabled);
setButtonEnabled('btn-close-game', enabled);
}
function closeGame() {
if (game) {
game.requestQuit();
}
}
function closeEditor() { // eslint-disable-line no-unused-vars
closeGame();
if (editor) {
editor.requestQuit();
}
}
function startEditor(zip) {
const INDETERMINATE_STATUS_STEP_MS = 100;
const persistentPaths = ['/home/web_user'];
let editorCanvas = document.getElementById('editor-canvas');
let gameCanvas = document.getElementById('game-canvas');
const statusProgress = document.getElementById('status-progress');
const statusProgressInner = document.getElementById('status-progress-inner');
const statusIndeterminate = document.getElementById('status-indeterminate');
const statusNotice = document.getElementById('status-notice');
const headerDiv = document.getElementById('tabs-buttons');
let initializing = true;
let statusMode = 'hidden';
showTab('status');
let animationCallbacks = [];
function animate(time) {
animationCallbacks.forEach((callback) => callback(time));
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
let lastScale = 0;
let lastWidth = 0;
let lastHeight = 0;
function adjustCanvasDimensions() {
const scale = window.devicePixelRatio || 1;
const headerHeight = headerDiv.offsetHeight + 1;
const width = window.innerWidth;
const height = window.innerHeight - headerHeight;
if (lastScale !== scale || lastWidth !== width || lastHeight !== height) {
editorCanvas.width = width * scale;
editorCanvas.height = height * scale;
editorCanvas.style.width = `${width}px`;
editorCanvas.style.height = `${height}px`;
lastScale = scale;
lastWidth = width;
lastHeight = height;
}
}
animationCallbacks.push(adjustCanvasDimensions);
adjustCanvasDimensions();
function replaceCanvas(from) {
const out = document.createElement('canvas');
out.id = from.id;
out.tabIndex = from.tabIndex;
from.parentNode.replaceChild(out, from);
lastScale = 0;
return out;
}
function animateStatusIndeterminate(ms) {
const i = Math.floor((ms / INDETERMINATE_STATUS_STEP_MS) % 8);
if (statusIndeterminate.children[i].style.borderTopColor === '') {
Array.prototype.slice.call(statusIndeterminate.children).forEach((child) => {
child.style.borderTopColor = '';
});
statusIndeterminate.children[i].style.borderTopColor = '#dfdfdf';
}
}
setStatusMode = function (mode) {
if (statusMode === mode || !initializing) {
return;
}
[statusProgress, statusIndeterminate, statusNotice].forEach((elem) => {
elem.style.display = 'none';
});
animationCallbacks = animationCallbacks.filter(function (value) {
return (value !== animateStatusIndeterminate);
});
switch (mode) {
case 'progress':
statusProgress.style.display = 'block';
break;
case 'indeterminate':
statusIndeterminate.style.display = 'block';
animationCallbacks.push(animateStatusIndeterminate);
break;
case 'notice':
statusNotice.style.display = 'block';
break;
case 'hidden':
break;
default:
throw new Error('Invalid status mode');
}
statusMode = mode;
};
setStatusNotice = function (text) {
while (statusNotice.lastChild) {
statusNotice.removeChild(statusNotice.lastChild);
}
const lines = text.split('\n');
lines.forEach((line) => {
statusNotice.appendChild(document.createTextNode(line));
statusNotice.appendChild(document.createElement('br'));
});
};
const gameConfig = {
'persistentPaths': persistentPaths,
'unloadAfterInit': false,
'canvas': gameCanvas,
'canvasResizePolicy': 1,
'onExit': function () {
gameCanvas = replaceCanvas(gameCanvas);
setGameTabEnabled(false);
showTab('editor');
game = null;
},
};
let OnEditorExit = function () {
showTab('loader');
setLoaderEnabled(true);
};
function Execute(args) {
const is_editor = args.filter(function (v) {
return v === '--editor' || v === '-e';
}).length !== 0;
const is_project_manager = args.filter(function (v) {
return v === '--project-manager';
}).length !== 0;
const is_game = !is_editor && !is_project_manager;
if (video_driver) {
args.push('--rendering-driver', video_driver);
}
if (is_game) {
if (game) {
console.error('A game is already running. Close it first');
return;
}
setGameTabEnabled(true);
game = new Engine(gameConfig);
showTab('game');
game.init().then(function () {
requestAnimationFrame(function () {
game.start({ 'args': args, 'canvas': gameCanvas }).then(function () {
gameCanvas.focus();
});
});
});
} else { // New editor instances will be run in the same canvas. We want to wait for it to exit.
OnEditorExit = function (code) {
setLoaderEnabled(true);
setTimeout(function () {
editor.init().then(function () {
setLoaderEnabled(false);
OnEditorExit = function () {
showTab('loader');
setLoaderEnabled(true);
};
editor.start({ 'args': args, 'persistentDrops': is_project_manager, 'canvas': editorCanvas });
});
}, 0);
OnEditorExit = null;
};
}
}
const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
// We need at least 6 free threads from the pool to start the editor.
// At least 4 more will be reserved for the godot thread pool (3 is the bare minimum with the multithreaded variant of the servers).
const concurrency = clamp(navigator.hardwareConcurrency ?? 1, 12, 24);
const editorConfig = {
'unloadAfterInit': false,
'onProgress': function progressFunction(current, total) {
if (total > 0) {
statusProgressInner.style.width = `${(current / total) * 100}%`;
setStatusMode('progress');
if (current === total) {
// wait for progress bar animation
setTimeout(() => {
setStatusMode('indeterminate');
}, 100);
}
} else {
setStatusMode('indeterminate');
}
},
'canvas': editorCanvas,
'canvasResizePolicy': 0,
'onExit': function () {
editorCanvas = replaceCanvas(editorCanvas);
if (OnEditorExit) {
OnEditorExit();
}
},
'onExecute': Execute,
'persistentPaths': persistentPaths,
'emscriptenPoolSize': concurrency,
'godotPoolSize': Math.floor(concurrency / 3), // Ensures at least 4 threads for the pool (see above).
};
editor = new Engine(editorConfig);
function displayFailureNotice(err) {
console.error(err);
if (err instanceof Error) {
setStatusNotice(err.message);
} else if (typeof err === 'string') {
setStatusNotice(err);
} else {
setStatusNotice('An unknown error occurred.');
}
setStatusMode('notice');
initializing = false;
}
if (!Engine.isWebGLAvailable()) {
displayFailureNotice('WebGL not available');
} else {
setStatusMode('indeterminate');
editor.init('godot.editor').then(function () {
if (zip) {
editor.copyToFS('/tmp/preload.zip', zip);
}
try {
// Avoid user creating project in the persistent root folder.
editor.copyToFS('/home/web_user/keep', new Uint8Array());
} catch (e) {
// File exists
}
selectVideoMode();
showTab('editor');
setLoaderEnabled(false);
const args = ['--project-manager', '--single-window'];
if (video_driver) {
args.push('--rendering-driver', video_driver);
}
editor.start({ 'args': args, 'persistentDrops': true }).then(function () {
setStatusMode('hidden');
initializing = false;
});
}).catch(displayFailureNotice);
}
}
function preloadZip(target) {
return new Promise(function (resolve, reject) {
if (target.files.length > 0) {
target.files[0].arrayBuffer().then(function (data) {
resolve(data);
});
} else {
resolve();
}
});
}
document.getElementById('startButton').onclick = function () {
preloadZip(document.getElementById('zip-file')).then(function (zip) {
startEditor(zip);
});
};
</script>
</body>
</html>

217
misc/dist/html/full-size.html vendored Normal file
View File

@@ -0,0 +1,217 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0">
<title>$GODOT_PROJECT_NAME</title>
<style>
html, body, #canvas {
margin: 0;
padding: 0;
border: 0;
}
body {
color: white;
background-color: black;
overflow: hidden;
touch-action: none;
}
#canvas {
display: block;
}
#canvas:focus {
outline: none;
}
#status, #status-splash, #status-progress {
position: absolute;
left: 0;
right: 0;
}
#status, #status-splash {
top: 0;
bottom: 0;
}
#status {
background-color: $GODOT_SPLASH_COLOR;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
visibility: hidden;
}
#status-splash {
max-height: 100%;
max-width: 100%;
margin: auto;
}
#status-splash.show-image--false {
display: none;
}
#status-splash.fullsize--true {
height: 100%;
width: 100%;
object-fit: contain;
}
#status-splash.use-filter--false {
image-rendering: pixelated;
}
#status-progress, #status-notice {
display: none;
}
#status-progress {
bottom: 10%;
width: 50%;
margin: 0 auto;
}
#status-notice {
background-color: #5b3943;
border-radius: 0.5rem;
border: 1px solid #9b3943;
color: #e0e0e0;
font-family: 'Noto Sans', 'Droid Sans', Arial, sans-serif;
line-height: 1.3;
margin: 0 2rem;
overflow: hidden;
padding: 1rem;
text-align: center;
z-index: 1;
}
</style>
$GODOT_HEAD_INCLUDE
</head>
<body>
<canvas id="canvas">
Your browser does not support the canvas tag.
</canvas>
<noscript>
Your browser does not support JavaScript.
</noscript>
<div id="status">
<img id="status-splash" class="$GODOT_SPLASH_CLASSES" src="$GODOT_SPLASH" alt="">
<progress id="status-progress"></progress>
<div id="status-notice"></div>
</div>
<script src="$GODOT_URL"></script>
<script>
const GODOT_CONFIG = $GODOT_CONFIG;
const GODOT_THREADS_ENABLED = $GODOT_THREADS_ENABLED;
const engine = new Engine(GODOT_CONFIG);
(function () {
const statusOverlay = document.getElementById('status');
const statusProgress = document.getElementById('status-progress');
const statusNotice = document.getElementById('status-notice');
let initializing = true;
let statusMode = '';
function setStatusMode(mode) {
if (statusMode === mode || !initializing) {
return;
}
if (mode === 'hidden') {
statusOverlay.remove();
initializing = false;
return;
}
statusOverlay.style.visibility = 'visible';
statusProgress.style.display = mode === 'progress' ? 'block' : 'none';
statusNotice.style.display = mode === 'notice' ? 'block' : 'none';
statusMode = mode;
}
function setStatusNotice(text) {
while (statusNotice.lastChild) {
statusNotice.removeChild(statusNotice.lastChild);
}
const lines = text.split('\n');
lines.forEach((line) => {
statusNotice.appendChild(document.createTextNode(line));
statusNotice.appendChild(document.createElement('br'));
});
}
function displayFailureNotice(err) {
console.error(err);
if (err instanceof Error) {
setStatusNotice(err.message);
} else if (typeof err === 'string') {
setStatusNotice(err);
} else {
setStatusNotice('An unknown error occurred.');
}
setStatusMode('notice');
initializing = false;
}
const missing = Engine.getMissingFeatures({
threads: GODOT_THREADS_ENABLED,
});
if (missing.length !== 0) {
if (GODOT_CONFIG['serviceWorker'] && GODOT_CONFIG['ensureCrossOriginIsolationHeaders'] && 'serviceWorker' in navigator) {
let serviceWorkerRegistrationPromise;
try {
serviceWorkerRegistrationPromise = navigator.serviceWorker.getRegistration();
} catch (err) {
serviceWorkerRegistrationPromise = Promise.reject(new Error('Service worker registration failed.'));
}
// There's a chance that installing the service worker would fix the issue
Promise.race([
serviceWorkerRegistrationPromise.then((registration) => {
if (registration != null) {
return Promise.reject(new Error('Service worker already exists.'));
}
return registration;
}).then(() => engine.installServiceWorker()),
// For some reason, `getRegistration()` can stall
new Promise((resolve) => {
setTimeout(() => resolve(), 2000);
}),
]).then(() => {
// Reload if there was no error.
window.location.reload();
}).catch((err) => {
console.error('Error while registering service worker:', err);
});
} else {
// Display the message as usual
const missingMsg = 'Error\nThe following features required to run Godot projects on the Web are missing:\n';
displayFailureNotice(missingMsg + missing.join('\n'));
}
} else {
setStatusMode('progress');
engine.startGame({
'onProgress': function (current, total) {
if (current > 0 && total > 0) {
statusProgress.value = current;
statusProgress.max = total;
} else {
statusProgress.removeAttribute('value');
statusProgress.removeAttribute('max');
}
},
}).then(() => {
setStatusMode('hidden');
}, displayFailureNotice);
}
}());
</script>
</body>
</html>

1
misc/dist/html/logo.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

17
misc/dist/html/manifest.json vendored Normal file
View File

@@ -0,0 +1,17 @@
{
"name": "Godot Engine Web Editor",
"short_name": "Godot",
"description": "Multi-platform 2D and 3D game engine with a feature-rich editor (Web edition)",
"lang": "en",
"start_url": "./godot.editor.html",
"display": "standalone",
"theme_color": "#202531",
"icons": [
{
"src": "favicon.png",
"sizes": "256x256",
"type": "image/png"
}
],
"background_color": "#333b4f"
}

41
misc/dist/html/offline-export.html vendored Normal file
View File

@@ -0,0 +1,41 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>You are offline</title>
<style>
html {
background-color: #000000;
color: #ffffff;
}
body {
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
margin: 2rem;
}
p {
margin-block: 1rem;
}
button {
display: block;
padding: 1rem 2rem;
margin: 3rem auto 0;
}
</style>
</head>
<body>
<h1>You are offline</h1>
<p>This application requires an Internet connection to run for the first time.</p>
<p>Press the button below to try reloading:</p>
<button type="button">Reload</button>
<script>
document.querySelector('button').addEventListener('click', () => {
window.location.reload();
});
</script>
</body>
</html>

44
misc/dist/html/offline.html vendored Normal file
View File

@@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#202531">
<meta name="msapplication-navbutton-color" content="#202531">
<title>You are offline</title>
<style>
html {
background-color: #333b4f;
color: #e0e0e0;
}
body {
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
margin: 2rem;
}
p {
margin-block: 1rem;
}
button {
display: block;
padding: 1rem 2rem;
margin: 3rem auto 0;
}
</style>
</head>
<body>
<h1>You are offline</h1>
<p>This application requires an Internet connection to run for the first time.</p>
<p>Press the button below to try reloading:</p>
<button type="button">Reload</button>
<script>
document.querySelector('button').addEventListener('click', () => {
window.location.reload();
});
</script>
</body>
</html>

165
misc/dist/html/service-worker.js vendored Normal file
View File

@@ -0,0 +1,165 @@
// This service worker is required to expose an exported Godot project as a
// Progressive Web App. It provides an offline fallback page telling the user
// that they need an Internet connection to run the project if desired.
// Incrementing CACHE_VERSION will kick off the install event and force
// previously cached resources to be updated from the network.
/** @type {string} */
const CACHE_VERSION = '___GODOT_VERSION___';
/** @type {string} */
const CACHE_PREFIX = '___GODOT_NAME___-sw-cache-';
const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION;
/** @type {string} */
const OFFLINE_URL = '___GODOT_OFFLINE_PAGE___';
/** @type {boolean} */
const ENSURE_CROSSORIGIN_ISOLATION_HEADERS = ___GODOT_ENSURE_CROSSORIGIN_ISOLATION_HEADERS___;
// Files that will be cached on load.
/** @type {string[]} */
const CACHED_FILES = ___GODOT_CACHE___;
// Files that we might not want the user to preload, and will only be cached on first load.
/** @type {string[]} */
const CACHEABLE_FILES = ___GODOT_OPT_CACHE___;
const FULL_CACHE = CACHED_FILES.concat(CACHEABLE_FILES);
self.addEventListener('install', (event) => {
event.waitUntil(caches.open(CACHE_NAME).then((cache) => cache.addAll(CACHED_FILES)));
});
self.addEventListener('activate', (event) => {
event.waitUntil(caches.keys().then(
function (keys) {
// Remove old caches.
return Promise.all(keys.filter((key) => key.startsWith(CACHE_PREFIX) && key !== CACHE_NAME).map((key) => caches.delete(key)));
}
).then(function () {
// Enable navigation preload if available.
return ('navigationPreload' in self.registration) ? self.registration.navigationPreload.enable() : Promise.resolve();
}));
});
/**
* Ensures that the response has the correct COEP/COOP headers
* @param {Response} response
* @returns {Response}
*/
function ensureCrossOriginIsolationHeaders(response) {
if (response.headers.get('Cross-Origin-Embedder-Policy') === 'require-corp'
&& response.headers.get('Cross-Origin-Opener-Policy') === 'same-origin') {
return response;
}
const crossOriginIsolatedHeaders = new Headers(response.headers);
crossOriginIsolatedHeaders.set('Cross-Origin-Embedder-Policy', 'require-corp');
crossOriginIsolatedHeaders.set('Cross-Origin-Opener-Policy', 'same-origin');
const newResponse = new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: crossOriginIsolatedHeaders,
});
return newResponse;
}
/**
* Calls fetch and cache the result if it is cacheable
* @param {FetchEvent} event
* @param {Cache} cache
* @param {boolean} isCacheable
* @returns {Response}
*/
async function fetchAndCache(event, cache, isCacheable) {
// Use the preloaded response, if it's there
/** @type { Response } */
let response = await event.preloadResponse;
if (response == null) {
// Or, go over network.
response = await self.fetch(event.request);
}
if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) {
response = ensureCrossOriginIsolationHeaders(response);
}
if (isCacheable) {
// And update the cache
cache.put(event.request, response.clone());
}
return response;
}
self.addEventListener(
'fetch',
/**
* Triggered on fetch
* @param {FetchEvent} event
*/
(event) => {
const isNavigate = event.request.mode === 'navigate';
const url = event.request.url || '';
const referrer = event.request.referrer || '';
const base = referrer.slice(0, referrer.lastIndexOf('/') + 1);
const local = url.startsWith(base) ? url.replace(base, '') : '';
const isCacheable = FULL_CACHE.some((v) => v === local) || (base === referrer && base.endsWith(CACHED_FILES[0]));
if (isNavigate || isCacheable) {
event.respondWith((async () => {
// Try to use cache first
const cache = await caches.open(CACHE_NAME);
if (isNavigate) {
// Check if we have full cache during HTML page request.
/** @type {Response[]} */
const fullCache = await Promise.all(FULL_CACHE.map((name) => cache.match(name)));
const missing = fullCache.some((v) => v === undefined);
if (missing) {
try {
// Try network if some cached file is missing (so we can display offline page in case).
const response = await fetchAndCache(event, cache, isCacheable);
return response;
} catch (e) {
// And return the hopefully always cached offline page in case of network failure.
console.error('Network error: ', e); // eslint-disable-line no-console
return caches.match(OFFLINE_URL);
}
}
}
let cached = await cache.match(event.request);
if (cached != null) {
if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) {
cached = ensureCrossOriginIsolationHeaders(cached);
}
return cached;
}
// Try network if don't have it in cache.
const response = await fetchAndCache(event, cache, isCacheable);
return response;
})());
} else if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) {
event.respondWith((async () => {
let response = await fetch(event.request);
response = ensureCrossOriginIsolationHeaders(response);
return response;
})());
}
}
);
self.addEventListener('message', (event) => {
// No cross origin
if (event.origin !== self.origin) {
return;
}
const id = event.source.id || '';
const msg = event.data || '';
// Ensure it's one of our clients.
self.clients.get(id).then(function (client) {
if (!client) {
return; // Not a valid client.
}
if (msg === 'claim') {
self.skipWaiting().then(() => self.clients.claim());
} else if (msg === 'clear') {
caches.delete(CACHE_NAME);
} else if (msg === 'update') {
self.skipWaiting().then(() => self.clients.claim()).then(() => self.clients.matchAll()).then((all) => all.forEach((c) => c.navigate(c.url)));
}
});
});

1
misc/dist/icon_console.svg vendored Normal file
View File

@@ -0,0 +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>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
$priv_api_types
$priv_tracking
$priv_collection
</dict>
</plist>

0
misc/dist/ios_xcode/data.pck vendored Normal file
View File

View File

@@ -0,0 +1,410 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1F1575721F582BE20003B888 /* dylibs in Resources */ = {isa = PBXBuildFile; fileRef = 1F1575711F582BE20003B888 /* dylibs */; };
DEADBEEF2F582BE20003B888 /* $binary.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEADBEEF1F582BE20003B888 /* $binary.xcframework */; };
$modules_buildfile
$swift_runtime_buildfile
1FF8DBB11FBA9DE1009DE660 /* dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1FF8DBB01FBA9DE1009DE660 /* dummy.cpp */; };
D07CD44E1C5D589C00B7FB28 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D07CD44D1C5D589C00B7FB28 /* Images.xcassets */; };
9039D3BE24C093AC0020482C /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9039D3BD24C093AC0020482C /* MoltenVK.xcframework */; };
D0BCFE4618AEBDA2004A7AAE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D0BCFE4418AEBDA2004A7AAE /* InfoPlist.strings */; };
D0BCFE7818AEBFEB004A7AAE /* $binary.pck in Resources */ = {isa = PBXBuildFile; fileRef = D0BCFE7718AEBFEB004A7AAE /* $binary.pck */; };
F965960D2BC2C3A800579C7E /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = F965960C2BC2C3A800579C7E /* PrivacyInfo.xcprivacy */; };
$pbx_launch_screen_build_reference
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
90A13CD024AA68E500E8464F /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
$pbx_embeded_frameworks
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1F1575711F582BE20003B888 /* dylibs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dylibs; path = "$binary/dylibs"; sourceTree = "<group>"; };
DEADBEEF1F582BE20003B888 /* $binary.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = godot; path = "$binary.xcframework"; sourceTree = "<group>"; };
$modules_fileref
$swift_runtime_fileref
1FF4C1881F584E6300A41E41 /* $binary.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "$binary.entitlements"; sourceTree = "<group>"; };
1FF8DBB01FBA9DE1009DE660 /* dummy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dummy.cpp; sourceTree = "<group>"; };
9039D3BD24C093AC0020482C /* MoltenVK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MoltenVK; path = MoltenVK.xcframework; sourceTree = "<group>"; };
D07CD44D1C5D589C00B7FB28 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
D0BCFE3418AEBDA2004A7AAE /* $binary.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "$binary.app"; sourceTree = BUILT_PRODUCTS_DIR; };
D0BCFE4318AEBDA2004A7AAE /* $binary-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "$binary-Info.plist"; sourceTree = "<group>"; };
D0BCFE4518AEBDA2004A7AAE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
$pbx_locale_file_reference
D0BCFE7718AEBFEB004A7AAE /* $binary.pck */ = {isa = PBXFileReference; lastKnownFileType = file; path = "$binary.pck"; sourceTree = "<group>"; };
F965960C2BC2C3A800579C7E /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
$pbx_launch_screen_file_reference
/* End PBXFileReference section */
$additional_pbx_files
/* Begin PBXFrameworksBuildPhase section */
D0BCFE3118AEBDA2004A7AAE /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9039D3BE24C093AC0020482C /* MoltenVK.xcframework in Frameworks */,
DEADBEEF2F582BE20003B888 /* $binary.xcframework */,
$modules_buildphase
$additional_pbx_frameworks_build
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
D0BCFE2B18AEBDA2004A7AAE = {
isa = PBXGroup;
children = (
1F1575711F582BE20003B888 /* dylibs */,
D0BCFE7718AEBFEB004A7AAE /* $binary.pck */,
D0BCFE4118AEBDA2004A7AAE /* $binary */,
D0BCFE3618AEBDA2004A7AAE /* Frameworks */,
D0BCFE3518AEBDA2004A7AAE /* Products */,
F965960C2BC2C3A800579C7E /* PrivacyInfo.xcprivacy */,
$additional_pbx_resources_refs
);
sourceTree = "<group>";
};
D0BCFE3518AEBDA2004A7AAE /* Products */ = {
isa = PBXGroup;
children = (
D0BCFE3418AEBDA2004A7AAE /* $binary.app */,
);
name = Products;
sourceTree = "<group>";
};
D0BCFE3618AEBDA2004A7AAE /* Frameworks */ = {
isa = PBXGroup;
children = (
9039D3BD24C093AC0020482C /* MoltenVK.xcframework */,
DEADBEEF1F582BE20003B888 /* $binary.xcframework */,
$modules_buildgrp
$additional_pbx_frameworks_refs
);
name = Frameworks;
sourceTree = "<group>";
};
D0BCFE4118AEBDA2004A7AAE /* $binary */ = {
isa = PBXGroup;
children = (
$pbx_launch_screen_copy_files
1FF4C1881F584E6300A41E41 /* $binary.entitlements */,
D07CD44D1C5D589C00B7FB28 /* Images.xcassets */,
D0BCFE4218AEBDA2004A7AAE /* Supporting Files */,
1FF8DBB01FBA9DE1009DE660 /* dummy.cpp */,
$swift_runtime_binary_files
);
path = "$binary";
sourceTree = "<group>";
};
D0BCFE4218AEBDA2004A7AAE /* Supporting Files */ = {
isa = PBXGroup;
children = (
D0BCFE4318AEBDA2004A7AAE /* $binary-Info.plist */,
D0BCFE4418AEBDA2004A7AAE /* InfoPlist.strings */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
D0BCFE3318AEBDA2004A7AAE /* $binary */ = {
isa = PBXNativeTarget;
buildConfigurationList = D0BCFE7118AEBDA3004A7AAE /* Build configuration list for PBXNativeTarget "$binary" */;
buildPhases = (
D0BCFE3018AEBDA2004A7AAE /* Sources */,
D0BCFE3118AEBDA2004A7AAE /* Frameworks */,
D0BCFE3218AEBDA2004A7AAE /* Resources */,
90A13CD024AA68E500E8464F /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "$binary";
productName = "$name";
productReference = D0BCFE3418AEBDA2004A7AAE /* $binary.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
D0BCFE2C18AEBDA2004A7AAE /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0500;
ORGANIZATIONNAME = GodotEngine;
TargetAttributes = {
D0BCFE3318AEBDA2004A7AAE = {
DevelopmentTeam = $team_id;
$swift_runtime_migration
ProvisioningStyle = Automatic;
SystemCapabilities = {
};
};
};
};
buildConfigurationList = D0BCFE2F18AEBDA2004A7AAE /* Build configuration list for PBXProject "$binary" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = D0BCFE2B18AEBDA2004A7AAE;
productRefGroup = D0BCFE3518AEBDA2004A7AAE /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
D0BCFE3318AEBDA2004A7AAE /* $binary */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
D0BCFE3218AEBDA2004A7AAE /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D07CD44E1C5D589C00B7FB28 /* Images.xcassets in Resources */,
D0BCFE7818AEBFEB004A7AAE /* $binary.pck in Resources */,
$pbx_launch_screen_build_phase
D0BCFE4618AEBDA2004A7AAE /* InfoPlist.strings in Resources */,
F965960D2BC2C3A800579C7E /* PrivacyInfo.xcprivacy in Resources */,
$additional_pbx_resources_build
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
D0BCFE3018AEBDA2004A7AAE /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1FF8DBB11FBA9DE1009DE660 /* dummy.cpp in Sources */,
$swift_runtime_build_phase
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
D0BCFE4418AEBDA2004A7AAE /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
D0BCFE4518AEBDA2004A7AAE /* en */,
$pbx_locale_build_reference
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
D0BCFE6F18AEBDA3004A7AAE /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$godot_archs";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "$code_sign_identity_debug";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "$code_sign_identity_debug";
COPY_PHASE_STRIP = NO;
ENABLE_BITCODE = NO;
"FRAMEWORK_SEARCH_PATHS[arch=*]" = (
"$(PROJECT_DIR)/**",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = $min_version;
"LD_CLASSIC_1500" = "-ld_classic";
"LD_CLASSIC_1501" = "-ld_classic";
"LD_CLASSIC_1510" = "-ld_classic";
OTHER_LDFLAGS = "$(LD_CLASSIC_$(XCODE_VERSION_ACTUAL)) $linker_flags";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "$targeted_device_family";
};
name = Debug;
};
D0BCFE7018AEBDA3004A7AAE /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$godot_archs";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "$code_sign_identity_release";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "$code_sign_identity_release";
COPY_PHASE_STRIP = YES;
ENABLE_BITCODE = NO;
"FRAMEWORK_SEARCH_PATHS[arch=*]" = (
"$(PROJECT_DIR)/**",
);
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = $min_version;
"LD_CLASSIC_1500" = "-ld_classic";
"LD_CLASSIC_1501" = "-ld_classic";
"LD_CLASSIC_1510" = "-ld_classic";
OTHER_LDFLAGS = "$(LD_CLASSIC_$(XCODE_VERSION_ACTUAL)) $linker_flags";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "$targeted_device_family";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
D0BCFE7218AEBDA3004A7AAE /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$godot_archs";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "$binary/$binary.entitlements";
CODE_SIGN_IDENTITY = "$code_sign_identity_debug";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "$code_sign_identity_debug";
CODE_SIGN_STYLE = "$code_sign_style_debug";
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)";
DEVELOPMENT_TEAM = $team_id;
INFOPLIST_FILE = "$binary/$binary-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = $min_version;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/**",
);
PRODUCT_BUNDLE_IDENTIFIER = $bundle_identifier;
INFOPLIST_KEY_CFBundleDisplayName = "$name";
PRODUCT_NAME = "$binary";
EXECUTABLE_NAME = "$binary";
MARKETING_VERSION = $short_version;
CURRENT_PROJECT_VERSION = $version;
PROVISIONING_PROFILE = "$provisioning_profile_uuid_debug";
PROVISIONING_PROFILE_SPECIFIER = "$provisioning_profile_specifier_debug";
TARGETED_DEVICE_FAMILY = "$targeted_device_family";
VALID_ARCHS = "arm64 x86_64";
WRAPPER_EXTENSION = app;
$swift_runtime_build_settings
};
name = Debug;
};
D0BCFE7318AEBDA3004A7AAE /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$godot_archs";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "$binary/$binary.entitlements";
CODE_SIGN_IDENTITY = "$code_sign_identity_release";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "$code_sign_identity_release";
CODE_SIGN_STYLE = "$code_sign_style_release";
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)";
DEVELOPMENT_TEAM = $team_id;
INFOPLIST_FILE = "$binary/$binary-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = $min_version;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/**",
);
PRODUCT_BUNDLE_IDENTIFIER = $bundle_identifier;
INFOPLIST_KEY_CFBundleDisplayName = "$name";
PRODUCT_NAME = "$binary";
EXECUTABLE_NAME = "$binary";
MARKETING_VERSION = $short_version;
CURRENT_PROJECT_VERSION = $version;
PROVISIONING_PROFILE = "$provisioning_profile_uuid_release";
PROVISIONING_PROFILE_SPECIFIER = "$provisioning_profile_specifier_release";
TARGETED_DEVICE_FAMILY = "$targeted_device_family";
VALID_ARCHS = "arm64 x86_64";
WRAPPER_EXTENSION = app;
$swift_runtime_build_settings
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
D0BCFE2F18AEBDA2004A7AAE /* Build configuration list for PBXProject "$binary" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D0BCFE6F18AEBDA3004A7AAE /* Debug */,
D0BCFE7018AEBDA3004A7AAE /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
D0BCFE7118AEBDA3004A7AAE /* Build configuration list for PBXNativeTarget "$binary" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D0BCFE7218AEBDA3004A7AAE /* Debug */,
D0BCFE7318AEBDA3004A7AAE /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = D0BCFE2C18AEBDA2004A7AAE /* Project object */;
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:$binary.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0710"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A340BDFEBCA49239A941883D"
BuildableName = "$binary.app"
BlueprintName = "$binary"
ReferencedContainer = "container:$binary.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "$default_build_config"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A340BDFEBCA49239A941883D"
BuildableName = "$binary.app"
BlueprintName = "$binary"
ReferencedContainer = "container:$binary.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "$default_build_config"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A340BDFEBCA49239A941883D"
BuildableName = "$binary.app"
BlueprintName = "$binary"
ReferencedContainer = "container:$binary.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
</CommandLineArguments>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "$default_build_config"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A340BDFEBCA49239A941883D"
BuildableName = "$binary.app"
BlueprintName = "$binary"
ReferencedContainer = "container:$binary.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "$default_build_config">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "$default_build_config"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "splash@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "splash@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16097" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="$launch_screen_image_mode" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="SplashImage" translatesAutoresizingMaskIntoConstraints="NO" id="tjZ-vn-Lsv">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
</imageView>
</subviews>
<color key="backgroundColor" $launch_screen_background_color colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="tjZ-vn-Lsv" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="Ak7-I4-yrQ"/>
<constraint firstAttribute="trailing" secondItem="tjZ-vn-Lsv" secondAttribute="trailing" id="Fon-JO-5cz"/>
<constraint firstItem="tjZ-vn-Lsv" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="bkx-rj-PKc"/>
<constraint firstAttribute="bottom" secondItem="tjZ-vn-Lsv" secondAttribute="bottom" id="yjq-MJ-tym"/>
</constraints>
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="52.173913043478265" y="375"/>
</scene>
</scenes>
<resources>
<image name="SplashImage" width="266.66665649414062" height="200"/>
</resources>
</document>

31
misc/dist/ios_xcode/godot_ios/dummy.cpp vendored Normal file
View File

@@ -0,0 +1,31 @@
/**************************************************************************/
/* dummy.cpp */
/**************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
$cpp_code

33
misc/dist/ios_xcode/godot_ios/dummy.h vendored Normal file
View File

@@ -0,0 +1,33 @@
/**************************************************************************/
/* dummy.h */
/**************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
#pragma once
// #import <Foundation/Foundation.h>

View File

@@ -0,0 +1,31 @@
/**************************************************************************/
/* dummy.swift */
/**************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
import Foundation

View File

@@ -0,0 +1 @@
Dummy file to make dylibs folder exported

View File

@@ -0,0 +1 @@
/* Localized versions of Info.plist keys */

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>$export_method</string>
<key>teamID</key>
<string>$team_id</string>
<key>provisioningProfiles</key>
<dict>
<key>$bundle_identifier</key>
<string>$provisioning_profile_uuid</string>
</dict>
<key>compileBitcode</key>
<false/>
</dict>
</plist>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>$(INFOPLIST_KEY_CFBundleDisplayName)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIcons</key>
<dict/>
<key>CFBundleIcons~ipad</key>
<dict/>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleSignature</key>
<string>$signature</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false />
<key>LSRequiresIPhoneOS</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
$docs_in_place
<key>UIFileSharingEnabled</key>
$docs_sharing
<key>UIRequiredDeviceCapabilities</key>
<array>
$required_device_capabilities
</array>
<key>NSCameraUsageDescription</key>
<string>$camera_usage_description</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>$photolibrary_usage_description</string>
<key>NSMicrophoneUsageDescription</key>
<string>$microphone_usage_description</string>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
$interface_orientations
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
$ipad_interface_orientations
</array>
$additional_plist_content
$plist_launch_screen_name
<key>CADisableMinimumFrameDurationOnPhone</key><true/>
</dict>
</plist>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
$entitlements_full
</dict>
</plist>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>libgodot.a</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>libgodot.a</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

View File

@@ -0,0 +1 @@
Dummy file to make dylibs folder exported

View File

@@ -0,0 +1 @@
Dummy file to make dylibs folder exported

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>libgodot.a</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>libgodot.a</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

View File

@@ -0,0 +1 @@
Dummy file to make dylibs folder exported

View File

@@ -0,0 +1 @@
Dummy file to make dylibs folder exported

203
misc/dist/linux/godot.6 vendored Normal file
View File

@@ -0,0 +1,203 @@
.TH GODOT "6" "January 2020" "godot 4.0" "Games"
.SH NAME
godot \- multi\-platform 2D and 3D game engine with a feature\-rich editor
.SH SYNOPSIS
.B godot
[\fI\,options\/\fR] [path to scene or 'project.godot' file]
.SH DESCRIPTION
Godot Engine is an advanced, feature\-packed, multi\-platform 2D and 3D game
engine.
.br
It provides a huge set of common tools, so you can just focus on making
your game without reinventing the wheel.
.SS "General options:"
.TP
\fB\-h\fR, \fB\-\-help\fR
Display this help message.
.TP
\fB\-\-version\fR
Display the version string.
.TP
\fB\-v\fR, \fB\-\-verbose\fR
Use verbose stdout mode.
.TP
\fB\-\-quiet\fR
Quiet mode, silences stdout messages. Errors are still displayed.
.SS "Run options:"
.TP
\fB\-e\fR, \fB\-\-editor\fR
Start the editor instead of running the scene.
.TP
\fB\-p\fR, \fB\-\-project\-manager\fR
Start the project manager, even if a project is auto\-detected.
.TP
\fB\-q\fR, \fB\-\-quit\fR
Quit after the first iteration.
.TP
\fB\-l\fR, \fB\-\-language\fR <locale>
Use a specific locale (<locale> being a two\-letter code).
.TP
\fB\-\-path\fR <directory>
Path to a project (<directory> must contain a 'project.godot' file).
.TP
\fB\-u\fR, \fB\-\-upwards\fR
Scan folders upwards for project.godot file.
.TP
\fB\-\-main\-pack\fR <file>
Path to a pack (.pck) file to load.
.TP
\fB\-\-render\-thread\fR <mode>
Render thread mode ('unsafe', 'safe', 'separate').
.TP
\fB\-\-remote\-fs\fR <address>
Remote filesystem (<host/IP>[:<port>] address).
.TP
\fB\-\-remote\-fs\-password\fR <password>
Password for remote filesystem.
.TP
\fB\-\-audio\-driver\fR <driver>
Audio driver ('PulseAudio', 'ALSA', 'Dummy').
.TP
\fB\-\-audio\-output\-latency\fR <ms>
Override audio output latency in milliseconds (default is 15 ms). Lower values make sound playback more reactive but increase CPU usage, and may result in audio cracking if the CPU can't keep up.
.TP
\fB\-\-video\-driver\fR <driver>
Video driver ('Vulkan', 'GLES2').
.SS "Display options:"
.TP
\fB\-f\fR, \fB\-\-fullscreen\fR
Request fullscreen mode.
.TP
\fB\-m\fR, \fB\-\-maximized\fR
Request a maximized window.
.TP
\fB\-w\fR, \fB\-\-windowed\fR
Request windowed mode.
.TP
\fB\-t\fR, \fB\-\-always\-on\-top\fR
Request an always\-on\-top window.
.TP
\fB\-\-resolution\fR <W>x<H>
Request window resolution.
.TP
\fB\-\-position\fR <X>,<Y>
Request window position.
.TP
\fB\-\-low\-dpi\fR
Force low\-DPI mode (macOS and Windows only).
.TP
\fB\-\-no\-window\fR
Disable window creation (Windows only). Useful together with \fB\-\-script\fR.
.SS "Debug options:"
.TP
\fB\-d\fR, \fB\-\-debug\fR
Debug (local stdout debugger).
.TP
\fB\-b\fR, \fB\-\-breakpoints\fR
Breakpoint list as source::line comma\-separated pairs, no spaces (use %20 instead).
.TP
\fB\-\-profiling\fR
Enable profiling in the script debugger.
.TP
\fB\-\-remote\-debug\fR <address>
Remote debug (<host/IP>:<port> address).
.TP
\fB\-\-debug\-collisions\fR
Show collisions shapes when running the scene.
.TP
\fB\-\-debug\-navigation\fR
Show navigation polygons when running the scene.
.TP
\fB\-\-max\-fps\fR <fps>
Set a maximum number of frames per second rendered (can be used to limit power usage). A value of 0 results in unlimited framerate.
.TP
\fB\-\-frame\-delay\fR <ms>
Simulate high CPU load (delay each frame by <ms> milliseconds). Do not use as a FPS limiter; use --max-fps instead.
.TP
\fB\-\-time\-scale\fR <scale>
Force time scale (higher values are faster, 1.0 is normal speed).
.TP
\fB\-\-disable\-render\-loop\fR
Disable render loop so rendering only occurs when called explicitly from script.
.TP
\fB\-\-disable\-crash\-handler\fR
Disable crash handler when supported by the platform code.
.TP
\fB\-\-fixed\-fps\fR <fps>
Force a fixed number of frames per second. This setting disables real\-time synchronization.
.TP
\fB\-\-print\-fps\fR
Print the frames per second to the stdout.
.SS "Standalone tools:"
.TP
\fB\-s\fR, \fB\-\-script\fR <script>
Run a script.
.TP
\fB\-\-check\-only\fR
Only parse for errors and quit (use with --script).
.TP
\fB\-\-export\-release\fR <preset> <path>
Export the project in release mode using the given preset and output path. The preset name should match one defined in export_presets.cfg.
.br
<path> should be absolute or relative to the project directory, and include the filename for the binary (e.g. 'builds/game.exe').
.br
The target directory must exist.
.TP
\fB\-\-export\-debug\fR <preset> <path>
Export the project in debug mode using the given preset and output path. The preset name should match one defined in export_presets.cfg.
.br
<path> should be absolute or relative to the project directory, and include the filename for the binary (e.g. 'builds/game.exe').
.br
The target directory must exist.
.TP
\fB\-\-export\-pack\fR <preset> <path>
Export the project data only using the given preset and output path. The <path> extension determines whether it will be in PCK or ZIP format.
.TP
\fB\-\-doctool\fR <path>
Dump the engine API reference to the given <path> in XML format, merging if existing files are found.
.TP
\fB\-\-no\-docbase\fR
Disallow dumping the base types (used with \fB\-\-doctool\fR).
.TP
\fB\-\-build\-solutions\fR
Build the scripting solutions (e.g. for C# projects). Implies \-\-editor and requires a valid project to edit.
.TP
\fB\-\-dump\-gdextension\-interface\fR
Generate GDExtension header file 'gdextension_interface.h' in the current folder. This file is the base file required to implement a GDExtension.
.TP
\fB\-\-dump\-extension\-api\fR
Generate JSON dump of the Godot API for GDExtension bindings named 'extension_api.json' in the current folder.
.TP
\fB\-\-test\fR <test>
Run a unit test ('string', 'math', 'physics', 'physics_2d', 'render', 'oa_hash_map', 'gui', 'shaderlang', 'gd_tokenizer', 'gd_parser', 'gd_compiler', 'gd_bytecode', 'ordered_hash_map', 'astar').
.SH FILES
XDG_DATA_CONFIG/godot/ or ~/.config/godot/
.RS
User\-specific configuration folder, contains persistent editor settings, script and text editor templates and projects metadata.
.RE
XDG_DATA_HOME/godot/ or ~/.local/share/godot/
.RS
Contains the default configuration and user data folders for Godot\-made games (\fIuser://\fR path), as well as export templates.
.RE
XDG_DATA_CACHE/godot/ or ~/.cache/godot/
.RS
Cache folder for generated thumbnails and scene previews, as well as temporary location for downloads.
.RE
/usr/share/doc/godot/
.RS
Additional documentation files.
.RE
/usr/share/licenses/godot/
.RS
Detailed licensing information.
.RE
.SH "SEE ALSO"
See the project website at \fIhttps://godotengine.org\fR and the source
code repository at \fIhttps://github.com/godotengine/godot\fR for more details.
.SH BUGS
Godot Engine is a free and open source project and welcomes any kind of
contributions. In particular, you can report issues or make suggestions on
Godot's issue tracker at \fIhttps://github.com/godotengine/godot/issues\fR.
.SH AUTHOR
Man page written by Rémi Verschelde <remi@godotengine.org> on behalf of the
Godot Engine development team.

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017-2022 Rémi Verschelde <remi@godotengine.org> -->
<component type="desktop">
<id>org.godotengine.Godot</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<name>Godot Engine</name>
<summary>Multi-platform 2D and 3D game engine with a feature-rich editor</summary>
<launchable type="desktop-id">org.godotengine.Godot.desktop</launchable>
<description>
<p>
Godot is an advanced, feature-packed, multi-platform 2D and 3D game
engine. It provides a huge set of common tools, so you can just focus on
making your game without reinventing the wheel.
</p>
<p>
Godot is completely free and open source under the very permissive MIT
license. No strings attached, no royalties, nothing. Your game is yours,
down to the last line of engine code.
</p>
</description>
<screenshots>
<screenshot type="default" width="1330" height="720">
<caption>3D project loaded in the Godot Engine editor</caption>
<image>https://download.tuxfamily.org/godotengine/media/screenshots/editor_3d_fracteed-720p.jpg</image>
</screenshot>
</screenshots>
<url type="homepage">https://godotengine.org</url>
<url type="bugtracker">https://github.com/godotengine/godot/issues</url>
<url type="faq">https://docs.godotengine.org/en/latest/about/faq.html</url>
<url type="help">https://docs.godotengine.org</url>
<url type="donation">https://fund.godotengine.org</url>
<url type="translate">https://hosted.weblate.org/projects/godot-engine/godot</url>
<developer_name>The Godot Engine Community</developer_name>
<update_contact>akien_at_godotengine_dot_org</update_contact>
</component>

View File

@@ -0,0 +1,27 @@
[Desktop Entry]
Name=Godot Engine
GenericName=Libre game engine
GenericName[el]=Ελεύθερη μηχανή παιχνιδιού
GenericName[fr]=Moteur de jeu libre
GenericName[ja]=自由なゲームエンジン
GenericName[nl]=Libre game-engine
GenericName[pl]=Darmowy silnik gier
GenericName[ru]=Свободный игровой движок
GenericName[uk]=Вільний ігровий рушій
GenericName[zh_CN]=自由的游戏引擎
Comment=Multi-platform 2D and 3D game engine with a feature-rich editor
Comment[el]=2D και 3D μηχανή παιχνιδιού πολλαπλών πλατφορμών με επεξεργαστή πλούσιο σε χαρακτηριστικά
Comment[fr]=Moteur de jeu 2D et 3D multiplateforme avec un éditeur riche en fonctionnalités
Comment[ja]=多機能なエディタを備えたマルチプラットフォーム対応の2D・3Dゲームエンジン
Comment[nl]=Multi-platform 2D- en 3D-game-engine met een veelzijdige editor
Comment[pl]=Wieloplatformowy silnik gier 2D i 3D z wielofunkcyjnym edytorem
Comment[ru]=Кроссплатформенный движок с многофункциональным редактором для 2D- и 3D-игр
Comment[uk]=Багатофункціональний кросплатформний рушій для створення 2D та 3D ігор
Comment[zh_CN]=多平台 2D 和 3D 游戏引擎,带有功能丰富的编辑器
Exec=godot %f
Icon=godot
Terminal=false
Type=Application
MimeType=application/x-godot-project;
Categories=Development;IDE;
StartupWMClass=Godot

View File

@@ -0,0 +1,38 @@
<?xml version="1.0"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-godot-project">
<comment>Godot Engine project</comment>
<sub-class-of type="text/plain"/>
<icon name="x-godot-project"/>
<glob pattern="project.godot"/>
</mime-type>
<mime-type type="application/x-godot-resource">
<comment>Godot Engine resource</comment>
<icon name="x-godot-resource"/>
<glob pattern="*.res"/>
<glob pattern="*.tres"/>
</mime-type>
<mime-type type="application/x-godot-scene">
<comment>Godot Engine scene</comment>
<icon name="x-godot-scene"/>
<glob pattern="*.scn"/>
<glob pattern="*.tscn"/>
<glob pattern="*.escn"/>
</mime-type>
<mime-type type="application/x-godot-shader">
<comment>Godot Engine shader</comment>
<sub-class-of type="text/plain"/>
<icon name="x-godot-shader"/>
<glob pattern="*.gdshader"/>
</mime-type>
<mime-type type="application/x-gdscript">
<comment>GDScript script</comment>
<sub-class-of type="text/plain"/>
<icon name="x-gdscript"/>
<glob pattern="*.gd"/>
</mime-type>
</mime-info>

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#fff" d="M104.743,673.152C104.728,673.152 104.714,673.152 104.699,673.152L104.699,427.387C86.329,404.634 66.493,375.457 48,346.429C71.531,306.384 100.337,270.598 131.144,237.443C159.724,251.825 187.468,268.117 213.68,285.455C226.801,272.417 241.599,261.753 256.089,250.605C270.35,239.154 286.397,230.758 301.665,220.976C297.116,187.188 294.872,153.925 293.973,119.208C333.289,99.419 375.223,86.299 417.615,76.875C434.573,105.334 450.05,136.154 463.528,166.283C479.525,163.611 495.581,162.62 511.698,162.429L511.698,162.404C511.798,162.404 511.902,162.429 512.002,162.429C512.098,162.429 512.202,162.404 512.314,162.404L512.314,162.429C528.403,162.62 544.47,163.611 560.463,166.283C573.95,136.154 589.435,105.334 606.368,76.875C648.781,86.299 690.711,99.419 730.031,119.208C729.128,153.925 726.884,187.188 722.347,220.976C737.586,230.758 753.654,239.154 767.911,250.605C782.422,261.753 797.195,272.417 810.311,285.455C836.523,268.117 864.276,251.825 892.848,237.443C923.655,270.598 952.477,306.384 976,346.429C960.608,371.216 940.518,400.678 919.301,427.387L919.301,653.521L919.239,653.542L919.239,673.14C919.24,673.148 919.241,673.152 919.241,673.152L919.449,705.662L919.39,705.672L919.502,705.661C919.435,720.23 919.24,736.115 919.24,739.349C919.24,882.434 737.792,951.209 512.278,952L511.724,952C286.211,951.209 104.7,882.434 104.7,739.349C104.7,736.173 104.513,720.222 104.45,705.661L104.497,705.665L104.701,673.16C104.715,673.16 104.729,673.158 104.743,673.152Z"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#478cbf" d="M784.071,718.723L919.502,705.661C919.435,720.23 919.24,736.115 919.24,739.349C919.24,882.434 737.792,951.209 512.278,952L511.724,952C286.211,951.209 104.7,882.434 104.7,739.349C104.7,736.173 104.513,720.222 104.45,705.661L239.931,718.723L244.597,785.587C245.159,793.646 251.569,800.061 259.628,800.639L420.118,812.09C428.576,812.711 436.085,806.671 437.322,798.271L446.525,735.856L577.477,735.856L586.68,798.271C587.858,806.279 594.739,812.132 602.715,812.132C603.102,812.132 603.493,812.12 603.884,812.09L764.374,800.639C772.433,800.061 778.843,793.646 779.405,785.587L784.071,718.723ZM104.699,427.387C86.329,404.634 66.493,375.457 48,346.429C71.531,306.384 100.337,270.598 131.144,237.443C159.724,251.825 187.468,268.117 213.68,285.455C226.801,272.417 241.599,261.753 256.089,250.605C270.35,239.154 286.397,230.758 301.665,220.976C297.116,187.188 294.872,153.925 293.973,119.208C333.289,99.419 375.223,86.299 417.615,76.875C434.573,105.334 450.05,136.154 463.528,166.283C479.525,163.611 495.581,162.62 511.698,162.429L511.698,162.404C511.798,162.404 511.902,162.429 512.002,162.429C512.098,162.429 512.202,162.404 512.314,162.404L512.314,162.429C528.403,162.62 544.47,163.611 560.463,166.283C573.95,136.154 589.435,105.334 606.368,76.875C648.781,86.299 690.711,99.419 730.031,119.208C729.128,153.925 726.884,187.188 722.347,220.976C737.586,230.758 753.654,239.154 767.911,250.605C782.422,261.753 797.195,272.417 810.311,285.455C836.523,268.117 864.276,251.825 892.848,237.443C923.655,270.598 952.477,306.384 976,346.429C960.608,371.216 940.518,400.678 919.301,427.387L919.301,653.521L919.239,653.542L919.239,673.152C918.789,673.156 918.344,673.173 917.898,673.214L767.287,687.742C759.394,688.508 753.213,694.856 752.659,702.765L748.018,769.275L616.584,778.653L607.53,717.267C606.356,709.308 599.529,703.41 591.483,703.41L432.521,703.41C424.471,703.41 417.644,709.308 416.47,717.267L407.416,778.653L275.986,769.275L271.341,702.765C270.791,694.856 264.606,688.504 256.713,687.742L106.043,673.214C105.598,673.173 105.148,673.156 104.699,673.152L104.699,427.387ZM511.993,626.22C528.136,626.22 541.248,614.323 541.248,599.658L541.248,516.069C541.248,501.416 528.136,489.507 511.993,489.507C495.851,489.507 482.768,501.416 482.768,516.069L482.768,599.658C482.768,614.323 495.851,626.22 511.993,626.22ZM389.215,527.151C389.215,477.017 348.567,436.398 298.416,436.398C248.29,436.398 207.629,477.017 207.629,527.151C207.629,577.319 248.29,617.959 298.416,617.959C348.567,617.959 389.215,577.319 389.215,527.151ZM634.787,527.151C634.787,577.319 675.435,617.959 725.594,617.959C775.716,617.959 816.373,577.319 816.373,527.151C816.373,477.017 775.716,436.398 725.594,436.398C675.435,436.398 634.787,477.017 634.787,527.151Z"/></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#414042" fill-rule="nonzero" d="M0,0C0,-7.994 -6.479,-14.473 -14.479,-14.473C-22.475,-14.473 -28.958,-7.994 -28.958,0C-28.958,7.994 -22.475,14.479 -14.479,14.479C-6.479,14.479 0,7.994 0,0" transform="matrix(4.16261 0 0 -4.16261 367.367 532.537)"/><path fill="#414042" fill-rule="nonzero" d="M0,0C0,-7.994 6.477,-14.473 14.471,-14.473C22.473,-14.473 28.95,-7.994 28.95,0C28.95,7.994 22.473,14.479 14.471,14.479C6.477,14.479 0,7.994 0,0" transform="matrix(4.16261 0 0 -4.16261 656.641 532.537)"/></svg>

After

Width:  |  Height:  |  Size: 684 B

77
misc/dist/macos/GodotLG.icon/icon.json vendored Normal file
View File

@@ -0,0 +1,77 @@
{
"fill-specializations" : [
{
"value" : {
"automatic-gradient" : "display-p3:0.84784,0.92489,1.00000,1.00000"
}
},
{
"appearance" : "dark",
"value" : "automatic"
}
],
"groups" : [
{
"blur-material-specializations" : [
{
"value" : 0.5
},
{
"appearance" : "tinted",
"value" : 1
}
],
"layers" : [
{
"image-name" : "layer_2.svg",
"name" : "layer_2"
},
{
"fill" : {
"automatic-gradient" : "srgb:0.00000,0.50588,1.00000,1.00000"
},
"image-name" : "layer_1.svg",
"name" : "layer_1"
},
{
"fill" : {
"automatic-gradient" : "extended-gray:1.00000,1.00000"
},
"image-name" : "layer_0.svg",
"name" : "layer_0"
}
],
"lighting-specializations" : [
{
"value" : "individual"
},
{
"appearance" : "tinted",
"value" : "individual"
}
],
"position" : {
"scale" : 0.92,
"translation-in-points" : [
0,
0
]
},
"shadow" : {
"kind" : "layer-color",
"opacity" : 0.5
},
"specular" : true,
"translucency" : {
"enabled" : true,
"value" : 0.2
}
}
],
"supported-platforms" : {
"circles" : [
"watchOS"
],
"squares" : "shared"
}
}

20
misc/dist/macos/editor.entitlements vendored Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.get-task-allow</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,201 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>Godot</string>
<key>CFBundleName</key>
<string>Godot</string>
<key>CFBundleIconFile</key>
<string>GodotLG.icns</string>
<key>CFBundleIconName</key>
<string>GodotLG</string>
<key>CFBundleIdentifier</key>
<string>org.godotengine.godot</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$short_version</string>
<key>CFBundleSignature</key>
<string>godot</string>
<key>CFBundleVersion</key>
<string>$version</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone access is required to capture audio.</string>
<key>NSCameraUsageDescription</key>
<string>Camera access is required to capture video.</string>
<key>NSRequiresAquaSystemAppearance</key>
<false/>
<key>NSHumanReadableCopyright</key>
<string>© 2007-present Juan Linietsky, Ariel Manzur &amp; Godot Engine contributors</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
<key>LSMinimumSystemVersion</key>
<string>10.12</string>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>x86_64</key>
<string>10.12</string>
</dict>
<key>NSHighResolutionCapable</key>
<true/>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>public.tscn</string>
</array>
<key>NSExportableTypes</key>
<array>
<string>public.tscn</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>public.godot</string>
</array>
<key>NSExportableTypes</key>
<array>
<string>public.godot</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>public.tscn</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine scene</string>
<key>UTTypeIconFile</key>
<string>Scene.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>scn</string>
<string>tscn</string>
<string>escn</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-scene</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.gd</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>GDScript script</string>
<key>UTTypeIconFile</key>
<string>GDScript.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.script</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gd</string>
</array>
<key>public.mime-type</key>
<string>application/x-gdscript</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.res</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine resource</string>
<key>UTTypeIconFile</key>
<string>Resource.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>res</string>
<string>tres</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-resource</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.gdshader</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine shader</string>
<key>UTTypeIconFile</key>
<string>Shader.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.script</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gdshader</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-shader</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.godot</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine project</string>
<key>UTTypeIconFile</key>
<string>Project.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>godot</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-project</string>
</dict>
</dict>
</array>
</dict>
</plist>

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>$binary</string>
<key>CFBundleName</key>
<string>$name</string>
<key>CFBundleDisplayName</key>
<string>$name</string>
<key>CFBundleIconFile</key>
<string>icon.icns</string>
<key>CFBundleIdentifier</key>
<string>$bundle_identifier</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$short_version</string>
<key>CFBundleSignature</key>
<string>$signature</string>
<key>CFBundleVersion</key>
<string>$version</string>
<key>DTPlatformBuild</key>
<string>$platfbuild</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>$sdkver</string>
<key>DTSDKBuild</key>
<string>$sdkbuild</string>
<key>DTSDKName</key>
<string>$sdkname</string>
<key>DTXcode</key>
<string>$xcodever</string>
<key>DTXcodeBuild</key>
<string>$xcodebuild</string>
$usage_descriptions
<key>NSHumanReadableCopyright</key>
<string>$copyright</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.$app_category</string>
<key>LSArchitecturePriority</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>arm64</key>
<string>$min_version_arm64</string>
<key>x86_64</key>
<string>$min_version_x86_64</string>
</dict>
<key>NSHighResolutionCapable</key>
$highres
$additional_plist_content
</dict>
</plist>

View File

@@ -0,0 +1 @@
APPL????

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
$priv_tracking
$priv_collection
</dict>
</plist>

Binary file not shown.

View File

@@ -0,0 +1,208 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>Godot</string>
<key>CFBundleName</key>
<string>Godot</string>
<key>CFBundleIconFile</key>
<string>GodotLG.icns</string>
<key>CFBundleIconName</key>
<string>GodotLG</string>
<key>CFBundleIdentifier</key>
<string>org.godotengine.godot</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>4.5</string>
<key>CFBundleSignature</key>
<string>GODO</string>
<key>CFBundleVersion</key>
<string>4.5</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone access is required to capture audio.</string>
<key>NSCameraUsageDescription</key>
<string>Camera access is required to capture video.</string>
<key>NSRequiresAquaSystemAppearance</key>
<false/>
<key>NSCameraUseContinuityCameraDeviceType</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>© 2007-present Juan Linietsky, Ariel Manzur &amp; Godot Engine contributors</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
<key>LSArchitecturePriority</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>arm64</key>
<string>11.0</string>
<key>x86_64</key>
<string>10.12</string>
</dict>
<key>NSHighResolutionCapable</key>
<true/>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>public.tscn</string>
</array>
<key>NSExportableTypes</key>
<array>
<string>public.tscn</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>public.godot</string>
</array>
<key>NSExportableTypes</key>
<array>
<string>public.godot</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>public.tscn</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine scene</string>
<key>UTTypeIconFile</key>
<string>Scene.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>scn</string>
<string>tscn</string>
<string>escn</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-scene</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.gd</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>GDScript script</string>
<key>UTTypeIconFile</key>
<string>GDScript.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.script</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gd</string>
</array>
<key>public.mime-type</key>
<string>application/x-gdscript</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.res</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine resource</string>
<key>UTTypeIconFile</key>
<string>Resource.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>res</string>
<string>tres</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-resource</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.gdshader</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine shader</string>
<key>UTTypeIconFile</key>
<string>Shader.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.script</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gdshader</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-shader</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.godot</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeDescription</key>
<string>Godot Engine project</string>
<key>UTTypeIconFile</key>
<string>Project.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>godot</string>
</array>
<key>public.mime-type</key>
<string>application/x-godot-project</string>
</dict>
</dict>
</array>
</dict>
</plist>

View File

@@ -0,0 +1 @@
APPL????

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More