Compare commits
840 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb6aa586af | ||
|
|
04d2ef75dc | ||
|
|
46e4704b07 | ||
|
|
eb614b5ea6 | ||
|
|
87d3e4abcd | ||
|
|
428572cf7c | ||
|
|
1b65580088 | ||
|
|
be16e47a36 | ||
|
|
b76a58cb8c | ||
|
|
19f4ebed6f | ||
|
|
4ab661bb8b | ||
|
|
1729aa25b8 | ||
|
|
687ccb3256 | ||
|
|
baad9cf946 | ||
|
|
e662970cc8 | ||
|
|
ea927292f8 | ||
|
|
e90d403bc6 | ||
|
|
01afd985df | ||
|
|
1ef2b3e0e9 | ||
|
|
7f80f36486 | ||
|
|
91ccdd9679 | ||
|
|
4da379693c | ||
|
|
c1cbd949e7 | ||
|
|
10b1e34504 | ||
|
|
df0824d274 | ||
|
|
33b1f79bb8 | ||
|
|
7f2744c4f5 | ||
|
|
1c4de98f98 | ||
|
|
9f392382a7 | ||
|
|
f704baa004 | ||
|
|
762babaaba | ||
|
|
7ae515e6db | ||
|
|
456347e371 | ||
|
|
b82b2782d7 | ||
|
|
933aacc2c9 | ||
|
|
c94b5e9e2e | ||
|
|
61976d2a25 | ||
|
|
996a706c97 | ||
|
|
371dd269b0 | ||
|
|
c16f26a7d9 | ||
|
|
18757f393b | ||
|
|
ca3b2de447 | ||
|
|
929615a7b8 | ||
|
|
689cd8cf85 | ||
|
|
80eab46c3e | ||
|
|
7a40fb8f7f | ||
|
|
813844d052 | ||
|
|
06620745f3 | ||
|
|
1f51d803db | ||
|
|
b7d9c7d2b0 | ||
|
|
d3ce3fb93d | ||
|
|
85418cce0f | ||
|
|
87594dc7e5 | ||
|
|
c68d60a6e9 | ||
|
|
4993b3c20e | ||
|
|
e7ddadedb1 | ||
|
|
b4987b74ab | ||
|
|
52c1133c42 | ||
|
|
e9b345476b | ||
|
|
2594a679f3 | ||
|
|
446dec6768 | ||
|
|
cd926d617e | ||
|
|
d40427155f | ||
|
|
d52a6c155f | ||
|
|
6c300cda97 | ||
|
|
f28d4da053 | ||
|
|
3b4f5c4c0a | ||
|
|
858742bf05 | ||
|
|
d559afd9e2 | ||
|
|
9acec71c7a | ||
|
|
8568f61ba4 | ||
|
|
19133b5a03 | ||
|
|
9a2c161328 | ||
|
|
5c6f2ffae3 | ||
|
|
6714f29302 | ||
|
|
f0b7cff06a | ||
|
|
25589fc45a | ||
|
|
6a7c8e78c0 | ||
|
|
443f936ac6 | ||
|
|
12525ad189 | ||
|
|
69fae9a36c | ||
|
|
725a38b182 | ||
|
|
13c4ca1a2f | ||
|
|
3e68447415 | ||
|
|
63e1e56c28 | ||
|
|
3ace5133bf | ||
|
|
f8491464bd | ||
|
|
01b8eea47b | ||
|
|
e9a42f724a | ||
|
|
63861614c7 | ||
|
|
4bd5b5d329 | ||
|
|
91455261c9 | ||
|
|
3a7df5f5af | ||
|
|
0419e6812b | ||
|
|
cd1b9d7cd2 | ||
|
|
d63dda5e6a | ||
|
|
32f4b8694b | ||
|
|
2dbb6644cb | ||
|
|
649e3c620a | ||
|
|
0e7bb32024 | ||
|
|
96f0f876bf | ||
|
|
58a494931c | ||
|
|
f04160fad1 | ||
|
|
671c62871a | ||
|
|
6a6e7ec770 | ||
|
|
eff4eb8b05 | ||
|
|
2781c0ea00 | ||
|
|
fa507450e4 | ||
|
|
a4f069afc0 | ||
|
|
f3b84edc24 | ||
|
|
ba1c1a678e | ||
|
|
267deea3df | ||
|
|
1089f2619e | ||
|
|
e8c5e7fd78 | ||
|
|
ff6deedf79 | ||
|
|
52c7150e51 | ||
|
|
24555a3b3d | ||
|
|
cc432b65b0 | ||
|
|
8d1cca26a3 | ||
|
|
c077c94371 | ||
|
|
1ba300213d | ||
|
|
3fbf0ef81b | ||
|
|
aced5d1bc3 | ||
|
|
bf072c1685 | ||
|
|
4215054b87 | ||
|
|
cd85d6f2e8 | ||
|
|
6fc448b87c | ||
|
|
d6cda0d677 | ||
|
|
5355234b85 | ||
|
|
700dfe1765 | ||
|
|
1c068c221f | ||
|
|
5679d90bcd | ||
|
|
9b5f6fa67f | ||
|
|
a8060b63cd | ||
|
|
7324afb8e3 | ||
|
|
e209f3f440 | ||
|
|
08ef16a42d | ||
|
|
4fafcff592 | ||
|
|
6e0e3d07e3 | ||
|
|
fb9c0ba0a6 | ||
|
|
1b4f707232 | ||
|
|
1749c54f71 | ||
|
|
e4201b745c | ||
|
|
9c810b3520 | ||
|
|
93d3b69335 | ||
|
|
35617caa0e | ||
|
|
e07ed0a817 | ||
|
|
aeb35ebf6f | ||
|
|
c84bd3222b | ||
|
|
e398a216a8 | ||
|
|
4137b9d88d | ||
|
|
a630dd95c7 | ||
|
|
0b748d6389 | ||
|
|
790f9d5b45 | ||
|
|
43513c9153 | ||
|
|
f58f185850 | ||
|
|
ebbeb107a7 | ||
|
|
e0674f9c9a | ||
|
|
89cafbec45 | ||
|
|
e0f543c262 | ||
|
|
b73526586c | ||
|
|
cc177264f6 | ||
|
|
2f98bc30a6 | ||
|
|
b9374894c9 | ||
|
|
17a995a810 | ||
|
|
35d1bc0f03 | ||
|
|
6f044d8b2e | ||
|
|
735f8492e2 | ||
|
|
4eb57fcbda | ||
|
|
c882b8d0e0 | ||
|
|
ce8552f044 | ||
|
|
6968364c58 | ||
|
|
9ab72209c2 | ||
|
|
c872934157 | ||
|
|
ea2d7c289a | ||
|
|
19ab4df922 | ||
|
|
7dda2c00fd | ||
|
|
3d3ae5ca00 | ||
|
|
28c3b79b8b | ||
|
|
a91bba8bd0 | ||
|
|
ed874063ea | ||
|
|
6259918648 | ||
|
|
0995c5a061 | ||
|
|
f07e42c4b4 | ||
|
|
7e62939df6 | ||
|
|
b57bf55ef0 | ||
|
|
8ed91f76cc | ||
|
|
9e6ec10be9 | ||
|
|
115924d567 | ||
|
|
cc9f9bb49d | ||
|
|
418aef7065 | ||
|
|
0f2e74a098 | ||
|
|
2bc125e616 | ||
|
|
6b349bbef0 | ||
|
|
7fbcb0b6c7 | ||
|
|
adb49b8007 | ||
|
|
fb381eaadb | ||
|
|
8ad9e83b92 | ||
|
|
b8d331b8a9 | ||
|
|
76f6fdade6 | ||
|
|
2fd08a751a | ||
|
|
d5d6247286 | ||
|
|
1af5b5e10c | ||
|
|
4eda473d9f | ||
|
|
58c416e148 | ||
|
|
5787dae35c | ||
|
|
ec1a87f219 | ||
|
|
e9728b2a4a | ||
|
|
a9c7e247fe | ||
|
|
0b0d95b2bf | ||
|
|
32c3723bcc | ||
|
|
9d11df3ebe | ||
|
|
14b6568eb5 | ||
|
|
4d8e5647a6 | ||
|
|
6a3aafc6fa | ||
|
|
8ee608c761 | ||
|
|
120bc5b48b | ||
|
|
f23ca203ca | ||
|
|
a390825676 | ||
|
|
baa76790e5 | ||
|
|
344835bf28 | ||
|
|
b9ecfd9284 | ||
|
|
9175bdd3ed | ||
|
|
e07ac2109a | ||
|
|
77588aa757 | ||
|
|
065a6f933c | ||
|
|
dee316094f | ||
|
|
30bb8c29a6 | ||
|
|
4e66f20078 | ||
|
|
a4c503027a | ||
|
|
3a5ef4b5e4 | ||
|
|
666024a77a | ||
|
|
501ba761a9 | ||
|
|
66cc79a3fe | ||
|
|
a5d5fd729a | ||
|
|
6ad74e09a9 | ||
|
|
87dd7edf61 | ||
|
|
06356f6940 | ||
|
|
a4d423c685 | ||
|
|
32e828088b | ||
|
|
dcfc212bf4 | ||
|
|
790d1a6516 | ||
|
|
bc660522d5 | ||
|
|
3cc29e1301 | ||
|
|
7b87bc3d88 | ||
|
|
837a242bbd | ||
|
|
c2ddc72829 | ||
|
|
045b9ad932 | ||
|
|
f0b007ff75 | ||
|
|
c2022a2d33 | ||
|
|
0c1ef8870e | ||
|
|
22716e9d20 | ||
|
|
34f4564ec0 | ||
|
|
e26db06ede | ||
|
|
7384afa325 | ||
|
|
209756349c | ||
|
|
294d19806b | ||
|
|
2dc5f85dbb | ||
|
|
f2aeebb8f6 | ||
|
|
63cc789959 | ||
|
|
bf19bf7e39 | ||
|
|
776888838b | ||
|
|
29738092e7 | ||
|
|
c8b669bb80 | ||
|
|
398f3dee55 | ||
|
|
54db8d28f0 | ||
|
|
6531ff3c66 | ||
|
|
cd27b14152 | ||
|
|
3da05c2a7e | ||
|
|
df58fadd15 | ||
|
|
48b596af01 | ||
|
|
dc36a0f6da | ||
|
|
a9488870b3 | ||
|
|
924f1ad89a | ||
|
|
bcf0b2ee7b | ||
|
|
74572a9765 | ||
|
|
b445ab7810 | ||
|
|
52e9b1764b | ||
|
|
bcabcc7ea6 | ||
|
|
e0dcf5448a | ||
|
|
f6877667bf | ||
|
|
de491e1876 | ||
|
|
103fdb553c | ||
|
|
575107c2ae | ||
|
|
7dc69a8959 | ||
|
|
3fce412df1 | ||
|
|
d6e1a2f8dd | ||
|
|
b21864a974 | ||
|
|
6108865ed2 | ||
|
|
cb2cb9ff3c | ||
|
|
099f9f92fa | ||
|
|
5449ed237a | ||
|
|
fae664ac0d | ||
|
|
71b4f47159 | ||
|
|
347b53659c | ||
|
|
16f32e0df5 | ||
|
|
171287fac6 | ||
|
|
9d05cd6931 | ||
|
|
a9e847372a | ||
|
|
1eba53cc0e | ||
|
|
c5a0077a01 | ||
|
|
2b07dd1db4 | ||
|
|
28b3380a45 | ||
|
|
564338656d | ||
|
|
29b2e4f5ec | ||
|
|
c7ab3aeb32 | ||
|
|
4b771dafe4 | ||
|
|
71393bd35a | ||
|
|
f7e2697e56 | ||
|
|
608644bd83 | ||
|
|
7563e52aba | ||
|
|
039dde0ccb | ||
|
|
abbde79ab0 | ||
|
|
ead958e603 | ||
|
|
6b7f310cd7 | ||
|
|
451186ac4e | ||
|
|
b8b3b7f0af | ||
|
|
5ee71feac4 | ||
|
|
a2e65e2bbd | ||
|
|
e8ad508021 | ||
|
|
aa2a4fac2b | ||
|
|
d5fda558c1 | ||
|
|
171b98717a | ||
|
|
da07ef0e2c | ||
|
|
6c9e226d67 | ||
|
|
d3884358be | ||
|
|
0ebeee3641 | ||
|
|
bd190d5a4e | ||
|
|
b1f09b9ef0 | ||
|
|
ac556aea34 | ||
|
|
87ab3702fe | ||
|
|
83556f9ab2 | ||
|
|
43c18552c1 | ||
|
|
dc54c76435 | ||
|
|
9a16cd026f | ||
|
|
e4710a16b0 | ||
|
|
ae2e99f6d3 | ||
|
|
c182a19fa5 | ||
|
|
2ddeaf4eb8 | ||
|
|
b4fd071efb | ||
|
|
9344280d5b | ||
|
|
ad037536cd | ||
|
|
d8e8af00b6 | ||
|
|
1e651a97b7 | ||
|
|
c2e49e169f | ||
|
|
6662cb0f5e | ||
|
|
c00d85890a | ||
|
|
c42c9ffb3d | ||
|
|
b5661976eb | ||
|
|
c1e66f8fc2 | ||
|
|
c2715040fe | ||
|
|
fc17dac2a5 | ||
|
|
0dfd8e3ba1 | ||
|
|
acbfd6d81d | ||
|
|
0d268a01e1 | ||
|
|
1e9cbb4633 | ||
|
|
7d3683df98 | ||
|
|
3b10bbbcd2 | ||
|
|
3ea40683c9 | ||
|
|
e6b789131a | ||
|
|
613dec0571 | ||
|
|
36b3692e9e | ||
|
|
59cde2fc8c | ||
|
|
e8027b3b95 | ||
|
|
579ab4c831 | ||
|
|
f54322c1f7 | ||
|
|
a5b85c533a | ||
|
|
149340669a | ||
|
|
5165bf5b29 | ||
|
|
fbc04ba199 | ||
|
|
e33f2d40dd | ||
|
|
bad62f0a16 | ||
|
|
b393b58cc1 | ||
|
|
4480825408 | ||
|
|
10fb31f1e5 | ||
|
|
789a2d8a88 | ||
|
|
b9ebd44c30 | ||
|
|
a65edf8fd5 | ||
|
|
89f33160bc | ||
|
|
e96a7657cd | ||
|
|
492270a3bf | ||
|
|
1cd34e3853 | ||
|
|
3ad7b389da | ||
|
|
bc58913272 | ||
|
|
415ba2bd17 | ||
|
|
a338f4c436 | ||
|
|
24507e22bb | ||
|
|
8e208b7dd3 | ||
|
|
d5c585b118 | ||
|
|
56b63b3b4c | ||
|
|
8c64d77276 | ||
|
|
406056bf52 | ||
|
|
f960d65e08 | ||
|
|
a3fc62a7c0 | ||
|
|
5a4e996b37 | ||
|
|
200647f0c5 | ||
|
|
99d6395845 | ||
|
|
fc0d5083e6 | ||
|
|
478a87c8d0 | ||
|
|
d3a8b37cf3 | ||
|
|
0f99cb20b0 | ||
|
|
df54864e43 | ||
|
|
9beae1f9c4 | ||
|
|
0761ee2f4a | ||
|
|
314dc5ba9e | ||
|
|
02a086e083 | ||
|
|
3a616f5e37 | ||
|
|
3f12ce28d8 | ||
|
|
a913c1fa55 | ||
|
|
363803ea9b | ||
|
|
1bbb9f432c | ||
|
|
4854afeb32 | ||
|
|
507832ac2b | ||
|
|
146b36d9ce | ||
|
|
77276d48ae | ||
|
|
c3f253ef64 | ||
|
|
93e51a6d43 | ||
|
|
a26d72f99d | ||
|
|
cd8b714ea6 | ||
|
|
909e9b3ee9 | ||
|
|
d10bcda693 | ||
|
|
7ddb673624 | ||
|
|
bbd11b90eb | ||
|
|
4fee737981 | ||
|
|
14143bf0ce | ||
|
|
0e8a9b078c | ||
|
|
c2ca459882 | ||
|
|
f80a11a982 | ||
|
|
29650cef8c | ||
|
|
4cf8017d7b | ||
|
|
f807b1f48c | ||
|
|
dc7e040087 | ||
|
|
4262716043 | ||
|
|
5f25238ba6 | ||
|
|
cf95129fc6 | ||
|
|
f8b6654cd6 | ||
|
|
cf001082e2 | ||
|
|
c8e2890f60 | ||
|
|
9075736cf1 | ||
|
|
e1cba702f7 | ||
|
|
9ffc4cf9dd | ||
|
|
94647152fc | ||
|
|
e4a69a63c0 | ||
|
|
05e2b483a8 | ||
|
|
f2e8c0c213 | ||
|
|
43c6be0859 | ||
|
|
fb5ef928fd | ||
|
|
3f9be575fd | ||
|
|
9985cfc50a | ||
|
|
be018b39fc | ||
|
|
da15c46429 | ||
|
|
0eb71f44d4 | ||
|
|
aa6618f002 | ||
|
|
e55e28e852 | ||
|
|
0e1c937892 | ||
|
|
65a112a4e9 | ||
|
|
0448ebb0e0 | ||
|
|
fec7d21ca4 | ||
|
|
2d29aa3666 | ||
|
|
23a4f5fa04 | ||
|
|
80bcc21562 | ||
|
|
5dcf0a6622 | ||
|
|
99c1be49a6 | ||
|
|
2a46b4ece7 | ||
|
|
1d77bbdf5a | ||
|
|
943517f07e | ||
|
|
93b664de45 | ||
|
|
695fed709e | ||
|
|
51735ac89d | ||
|
|
5a49699098 | ||
|
|
b2b6e82735 | ||
|
|
fd3ed2b7da | ||
|
|
4da018b8ce | ||
|
|
99ad315832 | ||
|
|
4bd20406a2 | ||
|
|
48b51c549a | ||
|
|
af0a95ddb8 | ||
|
|
5db9b6b9b5 | ||
|
|
e1bee48834 | ||
|
|
704f6fed89 | ||
|
|
c05962c6a6 | ||
|
|
7111494545 | ||
|
|
2833a6cfb1 | ||
|
|
e9dc3ff867 | ||
|
|
ca8856d77c | ||
|
|
17948e06d8 | ||
|
|
51777d47c9 | ||
|
|
1714cf6109 | ||
|
|
2a4cc75f0a | ||
|
|
486cccd1da | ||
|
|
4a93f3e147 | ||
|
|
64871efe6d | ||
|
|
3e382a42e1 | ||
|
|
ff973beb32 | ||
|
|
ced9908da5 | ||
|
|
ea52f821c5 | ||
|
|
cf2b32c66d | ||
|
|
462da5b99b | ||
|
|
9b481ba8ef | ||
|
|
557bb9cc6a | ||
|
|
2cc06be317 | ||
|
|
0afd2b4b8c | ||
|
|
818e5cf255 | ||
|
|
1978274686 | ||
|
|
9c95e154c1 | ||
|
|
4f912a7063 | ||
|
|
45cc57058c | ||
|
|
d222ed2dd1 | ||
|
|
fba53984eb | ||
|
|
b810c4b0bf | ||
|
|
6d5a4ad759 | ||
|
|
802521b364 | ||
|
|
466aecb4b8 | ||
|
|
c34f31c869 | ||
|
|
5a1348868e | ||
|
|
45e244f10c | ||
|
|
9b38dd7d74 | ||
|
|
7d1098740b | ||
|
|
b3ff824806 | ||
|
|
db889f217d | ||
|
|
e60ca05e64 | ||
|
|
1831a9b286 | ||
|
|
f3939938b4 | ||
|
|
2c8b07b1cb | ||
|
|
2ef11d5eea | ||
|
|
5d2c618553 | ||
|
|
917c2d82c7 | ||
|
|
8590d8243c | ||
|
|
bc1ddca4f0 | ||
|
|
d4bda0a45d | ||
|
|
6a49176c0e | ||
|
|
bfd44ada12 | ||
|
|
5172135014 | ||
|
|
1881493b56 | ||
|
|
04599ea184 | ||
|
|
067ae87dc6 | ||
|
|
622db1313b | ||
|
|
89bb289c6a | ||
|
|
465ed72d51 | ||
|
|
62530ba937 | ||
|
|
1e4be39c29 | ||
|
|
bc69e56e07 | ||
|
|
8f7aa92de6 | ||
|
|
6b1407f8b3 | ||
|
|
78bd7c6b79 | ||
|
|
0890179044 | ||
|
|
57af369b66 | ||
|
|
ca758c03d1 | ||
|
|
77602703be | ||
|
|
097740d0ef | ||
|
|
585177f79f | ||
|
|
6aa3683823 | ||
|
|
cf272ca733 | ||
|
|
35199d5d98 | ||
|
|
c394cb7dec | ||
|
|
28490b1c78 | ||
|
|
4f30271665 | ||
|
|
3abddc50a1 | ||
|
|
614c43795a | ||
|
|
b734e8d34e | ||
|
|
01aa5d39b7 | ||
|
|
ed30948f7f | ||
|
|
ac8c5bbe53 | ||
|
|
67ac18af04 | ||
|
|
6dbf56f984 | ||
|
|
c7a66bb68b | ||
|
|
08d8630147 | ||
|
|
93abd740d8 | ||
|
|
8780a3b656 | ||
|
|
780d23f111 | ||
|
|
78736a94e5 | ||
|
|
249554a77c | ||
|
|
bc55f6a72d | ||
|
|
5af9d4d487 | ||
|
|
31e21d2e6a | ||
|
|
74e8021306 | ||
|
|
01a48dcfcc | ||
|
|
18005ea0c2 | ||
|
|
dce5f99130 | ||
|
|
af9d01727f | ||
|
|
8d09cc9c09 | ||
|
|
1bc9b287df | ||
|
|
1cc2fc1bf2 | ||
|
|
5c7beb0079 | ||
|
|
71d1ea13a8 | ||
|
|
9879660522 | ||
|
|
ae75c9823f | ||
|
|
bfbc5d2000 | ||
|
|
841beb31ce | ||
|
|
119a5eb2ae | ||
|
|
0729da3403 | ||
|
|
29e56be459 | ||
|
|
17bdb480c9 | ||
|
|
4da3dde68d | ||
|
|
9b330c26ca | ||
|
|
9bdb1d016b | ||
|
|
4a881cf855 | ||
|
|
411eb2d338 | ||
|
|
7fea9b4ec7 | ||
|
|
f0f9a37c7d | ||
|
|
e7c374c39f | ||
|
|
ba7a7c470d | ||
|
|
67b3e3fe5b | ||
|
|
32299a29b2 | ||
|
|
896e9f7c75 | ||
|
|
ab3caee258 | ||
|
|
3f1d617c8f | ||
|
|
b549f807bb | ||
|
|
d36dbc005c | ||
|
|
95fce2cdc8 | ||
|
|
a897472f05 | ||
|
|
23decac1de | ||
|
|
60994d0da8 | ||
|
|
af02cb2c24 | ||
|
|
c7d6f9726a | ||
|
|
655f3811de | ||
|
|
22f1540a5c | ||
|
|
f576e9000d | ||
|
|
589f7d94d2 | ||
|
|
16bb3cb6cb | ||
|
|
6da6153053 | ||
|
|
a7797f9d9a | ||
|
|
78e1f176a5 | ||
|
|
a592893b4d | ||
|
|
1a1f25c135 | ||
|
|
00692634a8 | ||
|
|
1037389ce0 | ||
|
|
cc645ebb69 | ||
|
|
544ada09e2 | ||
|
|
85d14ca6fd | ||
|
|
1d33dd6482 | ||
|
|
faa0e0e16d | ||
|
|
bb60b9421c | ||
|
|
ab44438859 | ||
|
|
a463b5fd28 | ||
|
|
d021bfa986 | ||
|
|
beeee9e32f | ||
|
|
dd682791e1 | ||
|
|
dddcd96755 | ||
|
|
cb56311090 | ||
|
|
952f8325c0 | ||
|
|
238a407a2c | ||
|
|
0526fd4069 | ||
|
|
c0e369b175 | ||
|
|
8e1d823eea | ||
|
|
b73ef167bc | ||
|
|
7c889880d8 | ||
|
|
0387e32072 | ||
|
|
e0c18c189a | ||
|
|
489aaa3e8e | ||
|
|
fd92861998 | ||
|
|
bba9790a2a | ||
|
|
d68985c4a9 | ||
|
|
4463cbd327 | ||
|
|
0d619b1326 | ||
|
|
8c2a4792f6 | ||
|
|
0f71d4b9a0 | ||
|
|
30863a3dcc | ||
|
|
f74f56b917 | ||
|
|
a236d299de | ||
|
|
be54763f7e | ||
|
|
663b7cab8b | ||
|
|
c68d45d697 | ||
|
|
8b7407c3f2 | ||
|
|
1b29f2e05f | ||
|
|
8d4ce56619 | ||
|
|
67da97f32f | ||
|
|
46aa3575cf | ||
|
|
acc635b9b5 | ||
|
|
99e64f51cd | ||
|
|
9002286bcf | ||
|
|
72b5690689 | ||
|
|
e488ed095c | ||
|
|
9c54fb6507 | ||
|
|
065422fa2d | ||
|
|
0c2d6b6d48 | ||
|
|
89cc631a58 | ||
|
|
83e725ef97 | ||
|
|
76ec0de7ab | ||
|
|
38a176d84f | ||
|
|
3bb22f4c48 | ||
|
|
7b60461787 | ||
|
|
843024ec1d | ||
|
|
b4e1dda0d9 | ||
|
|
394c93e9e6 | ||
|
|
ded66391ac | ||
|
|
d81de133a9 | ||
|
|
0f6316619f | ||
|
|
ab8a38fd79 | ||
|
|
c91d287025 | ||
|
|
9fa8c7a972 | ||
|
|
ce90e7898f | ||
|
|
4cafb3c201 | ||
|
|
60bc64283d | ||
|
|
83dc1c5065 | ||
|
|
124f70d342 | ||
|
|
1400bf6b3d | ||
|
|
8f26e2df17 | ||
|
|
49b9b66394 | ||
|
|
ee9fe71657 | ||
|
|
ba0efe224a | ||
|
|
96516c9454 | ||
|
|
e6b8533cf9 | ||
|
|
185ebb5bbf | ||
|
|
f8b447425e | ||
|
|
7330ac21ad | ||
|
|
e6bd7af1d7 | ||
|
|
979b318647 | ||
|
|
16a5934c52 | ||
|
|
2d22060e2c | ||
|
|
82071e6ce1 | ||
|
|
6a23d09821 | ||
|
|
c4b9d3e31c | ||
|
|
9b50cb3525 | ||
|
|
49e56f8f3c | ||
|
|
a84f362c1f | ||
|
|
cfe5b37041 | ||
|
|
e9351c7fde | ||
|
|
305f48ef6f | ||
|
|
5ccafe93a8 | ||
|
|
0f14a54843 | ||
|
|
ac4a2598a3 | ||
|
|
66fdef6088 | ||
|
|
4685fed4bb | ||
|
|
c4a3036794 | ||
|
|
fa5c31a7ec | ||
|
|
985b2c288b | ||
|
|
722378debb | ||
|
|
4c37b51ae1 | ||
|
|
3e5f0ebf4d | ||
|
|
fa522ae36b | ||
|
|
6b85e36fd6 | ||
|
|
fc420943b2 | ||
|
|
989603655a | ||
|
|
543c0d7fad | ||
|
|
cfd0d98270 | ||
|
|
e802e38dc2 | ||
|
|
ac566de0ba | ||
|
|
8419287316 | ||
|
|
27d1d159f6 | ||
|
|
491d37038a | ||
|
|
67eee4f9ef | ||
|
|
552a7373ca | ||
|
|
376a25dfdd | ||
|
|
7945a09811 | ||
|
|
327f650121 | ||
|
|
9bceb449e8 | ||
|
|
4278c25c60 | ||
|
|
7f47506eae | ||
|
|
b0b137eaf1 | ||
|
|
d1d29ced43 | ||
|
|
2795d4d9ce | ||
|
|
02845f2e87 | ||
|
|
ec46531c55 | ||
|
|
9895f06f97 | ||
|
|
a67feb86aa | ||
|
|
6b990b652c | ||
|
|
7a2326cc9e | ||
|
|
e129f486d9 | ||
|
|
c09d9fc143 | ||
|
|
52ef014941 | ||
|
|
e79fedf764 | ||
|
|
b7544577df | ||
|
|
53110b3b2f | ||
|
|
d6ee3d1278 | ||
|
|
c0109a26d1 | ||
|
|
2a706f5bf3 | ||
|
|
1f266e04ab | ||
|
|
f45d6f84a3 | ||
|
|
76b8b7b07b | ||
|
|
d45f893943 | ||
|
|
53e725cf03 | ||
|
|
8a66df19fa | ||
|
|
13be57ae39 | ||
|
|
684150714f | ||
|
|
01e23f448e | ||
|
|
036ec3534a | ||
|
|
af57806c69 | ||
|
|
a4773563e9 | ||
|
|
195c463a60 | ||
|
|
8cbf20ae42 | ||
|
|
a11bd6f0d3 | ||
|
|
1fc12a8a76 | ||
|
|
9a1e681569 | ||
|
|
43083742e6 | ||
|
|
9a5b481189 | ||
|
|
565f8e74fb | ||
|
|
b1b87e9013 | ||
|
|
539eddbf9d | ||
|
|
0abcff015e | ||
|
|
7bb74b5fb4 | ||
|
|
b9bc6454b4 | ||
|
|
5734455818 | ||
|
|
e6e0870a11 | ||
|
|
2c45207436 | ||
|
|
bf09d3748c | ||
|
|
452f99826e | ||
|
|
bbfc1c3624 | ||
|
|
429bb24cb4 | ||
|
|
2a8e7fe423 | ||
|
|
cf1a657b80 | ||
|
|
cf6b328a52 | ||
|
|
b0f98f30dc | ||
|
|
5c0bf93d9c | ||
|
|
7b2241085d | ||
|
|
c9cfd42d34 | ||
|
|
c25c56069d | ||
|
|
a68e8f7bd3 | ||
|
|
fc6de036e0 | ||
|
|
08d42a2501 | ||
|
|
da32878984 | ||
|
|
3fd5d88656 | ||
|
|
7d9ad5100c | ||
|
|
6bff634446 | ||
|
|
b0de487bf0 | ||
|
|
560d56835a | ||
|
|
3c6a06f537 | ||
|
|
b1f3bf0bd9 | ||
|
|
6ea3a4708d | ||
|
|
4de0eb1dc0 | ||
|
|
c2f6ed6338 | ||
|
|
fad7ff0cc3 | ||
|
|
9afa35f9b2 | ||
|
|
3a5b46f65e | ||
|
|
26d0908c89 | ||
|
|
770db579d9 | ||
|
|
8e09ed1658 | ||
|
|
25ac96d39a | ||
|
|
22fda661ec | ||
|
|
529a0e8c9e | ||
|
|
7cc061e18d | ||
|
|
5f2226bac2 | ||
|
|
37795c2480 | ||
|
|
5e934dfd69 | ||
|
|
f970ba38a0 | ||
|
|
8af6c1b5b6 | ||
|
|
0777a5fbd8 | ||
|
|
942681e246 | ||
|
|
46da5b6697 | ||
|
|
80f83d781e |
925
CHANGELOG.md
Normal file
925
CHANGELOG.md
Normal file
@@ -0,0 +1,925 @@
|
||||
# ZeroBrane Studio Changelog
|
||||
|
||||
## v0.39 (Oct 06 2013)
|
||||
|
||||
### Highlights
|
||||
- Added Lua 5.2 support out of the box.
|
||||
- Added suggesting dynamic words as fields in auto-complete.
|
||||
- Added 'go to definition' (Ctrl/Cmd+Alt+Click) and 'jump to previous location' (Alt+Left).
|
||||
- Added abbreviation of project directories to keep unique parts visible.
|
||||
- Fixed breakpoints with Marmalade Quick.
|
||||
- Switched to using LuaJIT interpreter by default.
|
||||
- Upgraded Luasocket (3.0-rc1), copas, and coxpcall libraries.
|
||||
|
||||
### Special thanks
|
||||
- To Chow CheeWen for Chinese translation.
|
||||
- To [Enrique García](https://github.com/kikito) for fixing `fixutf8` function.
|
||||
- To [Riidom](https://github.com/Riidom) for German translation.
|
||||
- To [ardente](https://github.com/ardente) for user home patch for Windows and separating Lua 5.1 and 5.2 paths in user config.
|
||||
- To [Mika Attila](https://github.com/crumblingstatue) for code folding patch.
|
||||
- To [Tim Mensch](https://github.com/TimMensch) for auto-save, auto-reload, and debugger improvements.
|
||||
- To [Florian](https://github.com/SiENcE) for Notepad++ color scheme.
|
||||
- To [Michal Kottman](https://github.com/mkottman) for 'go to definition' and Alt+Left navigation patch.
|
||||
- To [Christoph Kubisch](https://github.com/CrazyButcher) for dx11 and glslc updates.
|
||||
- To [jpoag](https://github.com/jpoag) for improved activation during debugging on Windows.
|
||||
|
||||
### Improvements
|
||||
- Added setting project directory when passed as a parameter.
|
||||
- Added activation of windows with SDL_app class name (Moai support).
|
||||
- Added support for joining/splitting Watch/Stack with Output/Console tabs.
|
||||
- Added package GetSetting method (ref #166).
|
||||
- Added selected index to package onMenuEditorTab event (ref #166).
|
||||
- Added activation of windows with FREEGLUT class name (Moai support).
|
||||
- Added hiding console window for Corona (2013.8.28+) applications (Windows).
|
||||
- Added suggesting dynamic words as fields in auto-complete.
|
||||
- Added socket.connect for compatibility with socket.core <3.0 (fixes #208).
|
||||
- Added recalculating line number margin width after zooming (fixes #207).
|
||||
- Added margin constants and removed unused variables.
|
||||
- Added reporting of socket error for initial debugger calls (Mobdebug 0.5403).
|
||||
- Added error handling/reporting for `debugger.outputfilter`.
|
||||
- Added 'debug' option to OSX build script.
|
||||
- Added ability to modify exe path in base interpreter (ref #197).
|
||||
- Added package GetEditorNotebook method (ref #166).
|
||||
- Added 'molokai' color scheme (ref #200).
|
||||
- added hlsl spec and basic api (note: currently autocomplete doesn't work on object functions, need fix). also fixed cg syntax lexer settings
|
||||
- Added file activation for abbreviated file names in error messages.
|
||||
- Added abbreviation of project directories to keep unique parts visible.
|
||||
- Added `debugger.redirect` configuration option.
|
||||
- Added `editor.saveallonrun` configuration option.
|
||||
- Added package GetOutput method (ref #166).
|
||||
- Added package onAppLoad/onAppClose events (ref #166).
|
||||
- Added package onIdleOnce event (ref #166).
|
||||
- Added manifest to the Windows executable and re-signed.
|
||||
- Added Notepad++ color scheme (thanks to Florian/SiENcE; closes #193).
|
||||
- Added clearing document styles after saving file with a different extension.
|
||||
- Added workaround to avoid crash on OSX after `Close All Pages` (closes #190).
|
||||
- Added return type for string.* functions to assist in auto-complete (ref #189).
|
||||
- Added handling of string literals in type assignments (closes #189).
|
||||
- Added support for captures in regexp replacement (\1-\9).
|
||||
- Added ability to cancel FindInFiles search by closing search dialog (ref #162).
|
||||
- Added activating Output window before showing search results (ref #162).
|
||||
- Added support for packages from different platforms to co-exist (ref #166).
|
||||
- Added ability to save complex data in package settings (ref #166).
|
||||
- Added support for multiple inheritance in auto-complete (ref #101).
|
||||
- Added ability to add/remove API descriptions from plugins (ref #166).
|
||||
- Added package GetSettings/SetSettings methods (ref #166).
|
||||
- Added methods to save/restore package settings (ref #166).
|
||||
- Added ability to add/remove specs from plugins (ref #166).
|
||||
- Added ability to add/remove interpreters from plugins (ref #166).
|
||||
- Added wxlua patch for twoface compatibility.
|
||||
- Added `setfenv` for Lua 5.2 compatibility.
|
||||
- Added links to project page and documentation (closes #180).
|
||||
- Added German translation (thanks to Riidom; ref #70).
|
||||
- Added default value to package config (ref #176).
|
||||
- Added handling of ?51.dll and required DLLs for LuaForWindows interpreter.
|
||||
- Added plugin::GetConfig method (ref #166).
|
||||
- Added erasing current line in Console (ref #173).
|
||||
- Added search/completion in the local and remote console (closes #173).
|
||||
- Added package onAppFocus* events (ref #166; ref #172).
|
||||
- Added Chinese translation (thanks to Chow CheeWen; ref #70).
|
||||
- Added `editor.autoreload` to enable reload of updated files (ref #172).
|
||||
- Added creating (missing) folders when saving a file (fixes #171).
|
||||
- Added an example of styling individual keywords.
|
||||
- Added fold indication of a current block (ref #168).
|
||||
- Added reporting of process id for a conflicting process.
|
||||
- allow to define separate lua 5.1 and 5.2 paths in user config
|
||||
- Changed 'go to definition' to Ctrl/Cmd+Alt+Click (ref #203).
|
||||
- Changed `un/comment` to act from the beginning of the line for multi-line selection.
|
||||
- Disabled refreshing Watch/Stack windows when they get focus.
|
||||
- Disabled markup styling for specs without comment styles.
|
||||
- Disabled showing tooltip when auto-complete suggestions are shown.
|
||||
- Disabled error reporting after debugging has been terminated.
|
||||
- Disabled 'Fold' menu instead of removing when no folding is allowed (ref #169).
|
||||
- dx11 and glslc updates
|
||||
- Enabled editing watches with doubleclick or Enter.
|
||||
- Enable Ctrl+Click and Alt+Left navigation on local variables
|
||||
- Enabled support for xml/html folding.
|
||||
- Enabled path remapping for local debugging.
|
||||
- Enabled slower and more thorough static analysis (ref #149; ref #168).
|
||||
- Improved file/debugger activation on Windows (ref #199).
|
||||
- Improved IDE activation during debugging on Windows (closes #199); thanks to jpoag.
|
||||
- Improved logic to jump to file/line indicated in error messages.
|
||||
- Limited activation of code fragments to the beginning of debugging session.
|
||||
- Make code folding optional (thanks to [Mika Attila](https://github.com/crumblingstatue))
|
||||
- Moved 'Sort' menu to 'Edit'.
|
||||
- OpenGL 4.4 and ARB extensions added as well as NV_gpu_shader5 functions
|
||||
- Optimized handling of large tables in stack results.
|
||||
- Optimized line count calculation for dynamic words when text is deleted.
|
||||
- Optimized dynamic word processing for large files.
|
||||
- Reduced CPU usage while idle (ref #204, #206).
|
||||
- Renamed package onEditorPostSave event to onEditorSave for consistency (ref #166).
|
||||
- Removed comment from default spec as it forces undesired markup styling.
|
||||
- Removed auto-complete suggestion when it is already typed (ref #101).
|
||||
- Reorganized auto-complete handling; should fix #164.
|
||||
- Reorganized path separator handling to minimize use of global variables.
|
||||
- Reorganized API processing to allow loading API description from a plugin.
|
||||
- Replaced package onEditorActivated event with onEditorFocus* events (ref #166).
|
||||
- Set search in subdirectories as default in Find in Files dialog (ref #162).
|
||||
- Switched to using POSIX compatible regexp with '()' used for captures.
|
||||
- Updated LICENSE information.
|
||||
- Updated Windows build file for wxwidgets 3.0.
|
||||
- Updated support for MOAI coroutine debugging (Mobdebug 0.541).
|
||||
- Updated type assignment logic to remove spurious types.
|
||||
- Updated Windows build script to enable gdb debugging.
|
||||
- Updated OSX build script to not strip debug builds.
|
||||
- Updated Corona interpreter to handle failure to copy debugger to Resources/ folder.
|
||||
- Updated build scripts with proper INSTALL_PREFIX option.
|
||||
- Updated CFBundleIdentifier in plist files to allow references from OSX programs.
|
||||
- Updated un/comment to toggle selection as a group rather than line by line.
|
||||
- Updated `NewFile` to accept a file name.
|
||||
- Updated 'get hostname' logic to avoid using non-resolvable names (mostly on OSX).
|
||||
- Updated tooltip to use the same type inference as auto-complete (ref #101).
|
||||
- Updated Estrela reference in README.
|
||||
- Updated build script on Windows to enable debugging (ref #164).
|
||||
- Updated build script with a (temporary) fix for wxlua issue (mingw32).
|
||||
- updated glewgl api for OpenGL4.4 and removed non-core duplicate functions/enums
|
||||
- Updated static analyzer to report only first instance of 'unknown field'.
|
||||
- Updated filename/source code heuristic in the debugger (Mobdebug 0.5362).
|
||||
- Updated `SaveAll` to allow saving (only) files with filenames (ref #172).
|
||||
- Upgraded copas and coxpcall libraries (closes #144).
|
||||
- windows: adopt native user home (thanks to [ardente](https://github.com/ardente))
|
||||
|
||||
### Fixes
|
||||
- Fixed Lua 5.2 crash on OSX (added -O1).
|
||||
- Fixed onInterpreterLoad to only be called when interpreter changes.
|
||||
- fix the fixutf8 function (thanks to Enrique García).
|
||||
- Fixed handling of source code fragments in the Stack view.
|
||||
- Fixed Watch/Stack windows to refresh when shown.
|
||||
- Fixed incorrect editor tab acted upon in split notebook situations.
|
||||
- Fixed auto-complete suggestions for indentifiers matching partial function names.
|
||||
- Fixed hiding launched windows when running/debugging (Windows).
|
||||
- Fixed showing known functions in auto-complete.
|
||||
- Fixed showing output with invalid UTF8 characters in Stack and Console windows.
|
||||
- Fixed debugging on/off handling in 'main' thread for LuaJIT (MobDebug 0.5402).
|
||||
- Fixed having duplicate tabs after SaveAs with existing file name.
|
||||
- Fixed showing redirected 'print' messages after debugging is terminated.
|
||||
- Fixed using default interpreter when no interpreter is selected.
|
||||
- Fixed stepping through blocks with undefined variables when 'strict' is in effect (upgraded Mobdebug to 0.5401).
|
||||
- Fixed loading of files with incorrect UTF-8 encoding and control characters (fixes #198).
|
||||
- Fixed package sample to take into account new documents.
|
||||
- Fixed crash on OSX after opening 'application' in 'Open File' dialog.
|
||||
- Fixed windows resource file to properly reference the manifest.
|
||||
- Fixed missing default api for files with unknown extensions.
|
||||
- Fix spurious replacement after 'search, clear selection, replace' actions.
|
||||
- Fixed using auto-complete with multiple selections (fixes #188).
|
||||
- Fixed looping in auto-complete with array references (ref #143).
|
||||
- Fixed showing auto-complete after comma.
|
||||
- Fixed 'cannot get official hostname' message on low privilege accounts (fixes #183).
|
||||
- Fixed displaying variable instances when code has invalid blocks (fixes #182).
|
||||
- Fixed tooltip to ignore string parameters (ref #101).
|
||||
- Fixed tooltip display between empty brackets (ref #101).
|
||||
- Fixed indentation after lines with brackets in strings.
|
||||
- Fixed indentation after lines with anonymous functions.
|
||||
- Fixed indicator showing at the end of not terminated long comment.
|
||||
- Fixed an issue with LUA_DEV including files instead of directories.
|
||||
- Fixed project switching to close all files when switching to a subdirectory.
|
||||
- Fixed saving projects that do not have any open files.
|
||||
- Fixed debugger to accept filenames without '@'; thanks to Tim Mensch (closes #174).
|
||||
- Fixed sorting when the sorted fragment ends with a newline.
|
||||
|
||||
## v0.38 (Jun 21 2013)
|
||||
|
||||
### Highlights
|
||||
- Added source code debugging (to support LuaJava and other engines).
|
||||
- Added scope-aware global/local/masked/masking variable highlighting.
|
||||
- Added 'Go To Definition' and 'Rename All Instances'.
|
||||
- Added package/plugin API.
|
||||
- Added Retina display support (can be enabled with `hidpi` option).
|
||||
- Improved auto-complete API with inheritance and table index support.
|
||||
|
||||
### Special thanks
|
||||
- To George Pimm for line of code navigation in the Stack Window.
|
||||
- To Fringale for updated French translation.
|
||||
- To Tom Burgel for LuaForWindows interpreter.
|
||||
|
||||
### Improvements
|
||||
- Added sorting of file lists on Linux (used in the filetree and file search).
|
||||
- Added LuaForWindows interpreter (thanks to Tom Burgel).
|
||||
- Added package onEditorCharAdded/onEditorKeyDown events (ref #166).
|
||||
- Added support for changing the Corona simulator skin (closes #151).
|
||||
- Added inheritance support for auto-complete API.
|
||||
- Added package onEditor* events (closes #166).
|
||||
- Added package onInterpreterLoad/onInterpreterClose events (ref #166).
|
||||
- Added package onProjectLoad/onProjectClose events (ref #166).
|
||||
- Added package onMenu* events (ref #166).
|
||||
- Added package onRegister/onUnRegister events (ref #166).
|
||||
- Added 'Show Location' to the Project/Filetree menu.
|
||||
- Added `hidpi` option to enable HiDPI/Retina display support (closes #160).
|
||||
- Added breakpoint support for unnamed code fragments.
|
||||
- Added support for debugging (stepping through) unnamed code fragments.
|
||||
- Added LuaSec to win32 build script.
|
||||
- Added package/plugin processing.
|
||||
- Added support for 'silent' execution of shell commands in markup.
|
||||
- Added `Find Next/Previous` over selected variable instances (ref #163).
|
||||
- Added `debugger.allowediting` option to allow editing while debugging.
|
||||
- Added skiping binary files during file search (ref #162).
|
||||
- Added yield to update search results during file search (ref #162).
|
||||
- Added showing default extensions in the file search (ref #162).
|
||||
- Added support for multiple file extensions in the file search (ref #162).
|
||||
- Added saving folder to search files in (ref #162).
|
||||
- Added selecting all instances with a double-click on a variable.
|
||||
- Added `autoanalizer` option for dynamic static analysis.
|
||||
- Added 'Go To Definition' and 'Rename All Instances'.
|
||||
- Added initial support for indicating local/global variables.
|
||||
- Added showing tooltip in any position over a term and showing 'values' (ref #101).
|
||||
- Added disabling tooltip when context menu is shown.
|
||||
- Added 'fixing' path returned by wxDirDialog; may be incorrect in 2.9.x.
|
||||
- Added constant initialization missing on ArchLinux with wxlua 2.8.12.2 (fixes #155; ref #128).
|
||||
- Added support for table valuetypes in auto-complete for `foo[index]:` (ref #101).
|
||||
- Added navigation to the line of code in the Stack Window (thanks to George Pimm; closes #134).
|
||||
- Added `Show Location` to the editor tab menu.
|
||||
- Added support for absolute filenames in Markdown links.
|
||||
- Allowed tab width and indentation to be set independently.
|
||||
- Allowed closing editor tabs while debugger is running.
|
||||
- Disabled following symlinks during directory scanning to avoid infinite loops.
|
||||
- Disabled showing tooltip when the app is in the background (fixes #158).
|
||||
- Disabled 'value' tooltip over variables that match known function names (ref #101).
|
||||
- Improved error reporting in interpreters on failures to copy the debugger.
|
||||
- Improved focus on the debugger when a breakpoint hits on OSX (fixes #141).
|
||||
- Removed sorting in the Stack view to keep the order of table elements.
|
||||
- Set default directory for Find in Files opened from a new file (#ref 162).
|
||||
- Updated configuration example for variable indicators.
|
||||
- Updated Stack view navigation to use clicked on instead of active item.
|
||||
- Updated Gideros API/auto-complete reference.
|
||||
- Updated markup to allow opening files from new buffers ('untitled').
|
||||
- Updated build scripts to use luasocket 2.0.3.
|
||||
- Updated linux build files to use latest zlib/libpng to fix png load on Gentoo.
|
||||
- Updated 'Find in Files' to start in the project folder by default.
|
||||
- Updated French translation with latest string changes (mostly for find/replace dialogs).
|
||||
- Updated Marmalade Quick auto-complete API to use class inheritance.
|
||||
- Updated Gideros auto-complete API to use class inheritance.
|
||||
- Upgraded Mobdebug to 0.534 for debugging of source code fragments.
|
||||
|
||||
### Fixes
|
||||
- Fixed looping in auto-complete when indexes are used (fixes #143).
|
||||
- Fixed possible duplicate paths in the filetree.
|
||||
- Fixed missing numerical keys in serialized tables (upgraded Mobdebug to 0.535).
|
||||
- Fixed styling of markup that can be affected by folded lines.
|
||||
- Fixed value selection with multiple active selections.
|
||||
- Fixed style compatibility with wxwidgets 2.8 (ref #128).
|
||||
- Fixed error reporting by (internal) file operations.
|
||||
- Fixed styling comments that start with markup symbols.
|
||||
- Fixed restoring a session with one of the files deleted on disk (fixes #161).
|
||||
- Fixed reporting variable instances for comment/string fragments.
|
||||
- Fixed 'Rename Instances' to always reset previous selection.
|
||||
- Fixed auto-complete error for '%dddd' strings (fixes #156).
|
||||
- Fixed an issue with showing filenames that include '"?*:<>' on OSX/Linux.
|
||||
- Fixed current line marker being shown using 'Run as Scratchpad' with 'runonstart' option.
|
||||
- Fixed looping in auto-complete (fixes #151).
|
||||
- Fixed incorrect localization that led to an error in 'Save' from tab menu.
|
||||
|
||||
## v0.37 (May 09 2013)
|
||||
|
||||
### Highlights
|
||||
- Added Marmalade Quick auto-complete support and API documentation.
|
||||
- Added full Marmalade Quick debugging support (requires Quick 1.1+).
|
||||
- Improved Find/Replace behavior and functionality.
|
||||
- Added Recent File history navigation.
|
||||
- Added Preferences menu to simplify access to system/user settings.
|
||||
|
||||
### Special thanks
|
||||
- To Samuel Dionne-Riel for wxwidgets 2.8 compatibility updates.
|
||||
- To Mat Hopwood for assistance with Marmalade Quick integration.
|
||||
|
||||
### Improvements
|
||||
- Added Preferences menu to simplify access to system/user settings.
|
||||
- Added Russian translation for Find/Replace dialog and (ref #70).
|
||||
- Added Russian translation for the Preferences menu (ref #70).
|
||||
- Added 'shaking' Find/Replace window when text is not found (closes #146).
|
||||
- Added 'wlua' to the list of recognized Lua extensions.
|
||||
- Added disabling Recent Files menu if the list is empty.
|
||||
- Added TomorrowContrast color scheme (thanks to Sergey Lerg).
|
||||
- Added detaching a child process to avoid crash when exiting during debugging.
|
||||
- Added Recent File history navigation (closes #66).
|
||||
- Added Marmalade auto-complete support and API documentation.
|
||||
- Added processing of `runonstart` when using remote debugging (closes #138).
|
||||
- Added suggesting proper extension after 'Save/Save As' based on current spec.
|
||||
- Added translation setup for Find/Replace dialog (closes #133).
|
||||
- Added `nomousezoom` option to disable zoom with mouse wheel in the editor.
|
||||
- Added selecting text and Cmd-F shortcut in Find dialog on OSX (ref #127).
|
||||
- Improved file activation when debugging is started (closes #137).
|
||||
- Reduced the minimum size of the Output/Console panel.
|
||||
- Refactored Recent Files history to make it faster and simpler.
|
||||
- Refactored and optimized directory scanning when loading IDE files.
|
||||
- Separated settings for function dropdown and project tree fonts (fixes #148).
|
||||
- Updated documentation about default EOL on OSX (ref #102).
|
||||
- Updated highlighting in Watch windows to not use editor styles.
|
||||
- Updated documentation for user settings (ref #113, #55).
|
||||
- Updated Monokai color scheme to fix current line color.
|
||||
|
||||
### Incompatibilities
|
||||
- (dev) `FileSysGet` has been replaced with `FileSysGetRecursive` with a different signature.
|
||||
|
||||
### Fixes
|
||||
- Fixed hiding all panels when switching to Full Screen mode.
|
||||
- Fixed loading a non-existing file.
|
||||
- Fixed activation of non-existing files/folders in the Project tree.
|
||||
- Fixed search results for lines without newline.
|
||||
- Fixed Find/Replace in folders with Unicode names (fixes #147); improved performance.
|
||||
- Fixed Un/Comment commands executed for empty lines.
|
||||
- Fixed fold/unfold for files starting with block/comment.
|
||||
- Fixed history after activating non-existing file in Recent Files.
|
||||
- Fixed scrolling to restored cursor position on OSX (when `usewrap` = false).
|
||||
- Fixed Find/Replace dialog to take Enter on OSX (fixes #140).
|
||||
- Fixed 'breaking' after executing OUT command that never reaches the target level.
|
||||
- Fixed stopping at a breakpoint at the initial line when `startwith` option is specified.
|
||||
- Fixed activation of a file loaded into active tab.
|
||||
- Fixed incorrect tab activation on OSX after using 'Open File'.
|
||||
- Fixed editor activation when file is loaded into an existing tab.
|
||||
- Fixed an error after opening non-existing file from 'Recent Files'.
|
||||
- Fixed blocking on reading app output without processing other events.
|
||||
- Fixed an issue with duplicate lines shown in the editor.
|
||||
- Fixed 'Replace All' to take 'Wrap Around' into account (fixes #132).
|
||||
- Fixed off-by-one error in searching consecutive matches.
|
||||
- Fixed 'Quick Find' not working without current selection (fixes #131).
|
||||
- Fixed looping in auto-complete on mistyped class (fixes #130).
|
||||
- Fixed compatibility with wx2.8 (thanks to Samuel Dionne-Riel; closes #128).
|
||||
- Fixed replacement logic in Find/Replace that could replace selected fragment (ref #127).
|
||||
- Fixed an error caused by allowing multiple Search/Replace windows (fixes #127).
|
||||
|
||||
## v0.361 (Apr 12 2013)
|
||||
|
||||
### Improvements
|
||||
- Added handling of Ctrl-Home and Ctrl-End on OSX (ref #89).
|
||||
- Added line copy/cut for Ctrl-C/Ctrl-X with no selection.
|
||||
- Updated About screen to be more configurable and flexible.
|
||||
- Updated Russian translation (thanks to toiffel).
|
||||
|
||||
### Fixes
|
||||
- Fixed launch command for Corona debugging on Windows.
|
||||
- Fixed 'control' check on OSX that changed with wx2.9.2+ (ref #89).
|
||||
- Fixed wrong tab activated on OSX after using New file in some cases.
|
||||
- Fixed cursor not being visible in some cases after file is loaded (ref #116).
|
||||
|
||||
## v0.36 (Apr 08 2013)
|
||||
|
||||
### Highlights
|
||||
- Added 32bit and 64bit **Linux binaries**.
|
||||
- Enabled **full debugging for Corona on OSX**.
|
||||
- Improved **debugger performance**.
|
||||
- Improved **performance of tab and project switching**.
|
||||
- Added **multiple selection and multi-cursor editing**.
|
||||
- Made Stack and Watch windows dockable and toggleable.
|
||||
|
||||
### Special thanks
|
||||
- To toiffel for build improvements and continuous work on wxwidgets 2.9 and Linux support.
|
||||
- To Marcel van Herk for testing and feedback on Stack and Watch windows behavior.
|
||||
- To Leo Bartoloni for Italian translation update.
|
||||
- To Fringale for updated French translation.
|
||||
- To neomantra for adding cdata processing in the serializer.
|
||||
|
||||
### Improvements
|
||||
- Added handling of case-insensitive filenames on OSX.
|
||||
- Added cdata processing (thanks to neomantra).
|
||||
- Added universal binaries for luasocket on OSX to allow debugging of 64bit applications (for example, LuaJIT) on OSX.
|
||||
- Added update of Stack and Watch windows after 'Debugging suspended' message.
|
||||
- Added toggling for View menu items.
|
||||
- Added auto-show/hide Stack and Watch windows during debugging (closes #110).
|
||||
- Added ignoring `-psn...` parameter on OSX when reading file names from command line.
|
||||
- Added migration of configuration file on Windows (helps #89).
|
||||
- Added check for different spellings of the same folder in the project tree.
|
||||
- Added scripts to install build prerequisites on Linux (helps #89).
|
||||
- Added linux binaries with support for x86 and x64 (helps #89).
|
||||
- Added window list button to the notepad with editor tabs.
|
||||
- Added centering of current line during debugging.
|
||||
- Added multiple selection and multi-cursor editing (wx2.9.5+).
|
||||
- Added dll proxy to make LfW libraries to work with the IDE.
|
||||
- Disabled showing 'value' in auto-complete after 'a:' (helps #101).
|
||||
- Enabled full debugging for Corona on OSX.
|
||||
- Improved debugging performance.
|
||||
- Improved performance of tab switching and project tree population.
|
||||
- Improved handling of upvalues with __tostring method in the Stack window.
|
||||
- Increased default font size for OSX; set 'Monaco' as default font (helps #89).
|
||||
- Made stack and watch windows dockable (closes #103).
|
||||
- Optimized project switching and added notebook freezing where possible (ref #89).
|
||||
- Reduced flicker in the project tree when a file is opened (ref #89).
|
||||
- Removed binary libraries not currently used.
|
||||
- Set 'Courier New' as the default font on Linux (ref #89).
|
||||
- Switched to 'native' menu on OSX and added 24x24 icons required (helps #89).
|
||||
- Updated Italian translation (thanks to Leo Bartoloni)
|
||||
- Updated 'method' type in auto-complete to only allow a:b syntax (closes #101).
|
||||
- Updated language files (es, it, ru) with new messages (ref #70).
|
||||
- Updated French translation with latest string changes, fixed a few typos (thanks to Fringale).
|
||||
- Updated Stack and Watch window to not refresh when not visible.
|
||||
- Upgraded Mobdebug (0.5222) to add serialization with metamethods and notification on incomplete output (closes #109).
|
||||
- Updated error messages from loading configuration files.
|
||||
- Updated Linux binaries to use libpng 1.6 with wxwidgets (helps #89).
|
||||
- Updated Windows/OSX build files to only build components needed (helps #89).
|
||||
- Updated windows executable to show properly scaled icons in the Explorer.
|
||||
- Updated status bar to use no border around fields.
|
||||
- Updated large icons for "native" toolbar on OSX (helps #89).
|
||||
- Updated function call indicator to use round box with wxwidgets upgrade (helps #89).
|
||||
- Updated handling of markdown styles to make it more robust (fixes #59).
|
||||
- Updated README with Marmalade Quick support and Corona tutorial.
|
||||
|
||||
### Incompatibilities
|
||||
- Configuration file (.ini) location has changed on Windows. The current file will be copied to the new location.
|
||||
- The debugger now stops on the next executable line after `.start()` call.
|
||||
|
||||
### Fixes
|
||||
- Fixed activating files in the project tree on a case insensitive system.
|
||||
- Fixed the Stack view being partially hidden when the root item is too wide (ref #110).
|
||||
- Fixed left side of the project panel being hidden when a file is activated (fixes #122).
|
||||
- Fixed breakpoint not firing on the first executable line in debugging (helps #121).
|
||||
- Fixed terminating debugging of an empty script.
|
||||
- Fixed reporting of initial line during debugging.
|
||||
- Fixed editor tab activation after closing another tab on Linux (ref #89).
|
||||
- Fixed 'Show tooltip' shortcut not working on Linux (fixes #118; ref #89).
|
||||
- Fixed cursor position being incorrectly restored (fixes #116; ref #89).
|
||||
- Fixed a warning about empty project directory in local console.
|
||||
- Fixed an issue with Enter used to select an item in project dropdown (ref #89).
|
||||
- Fixed an issue with the Project tree when project and app directories are the same.
|
||||
- Fixed debugger output not being suppressed on Linux and using wlua.
|
||||
- Fixed a static analyzer issue with anonymous functions defined in expressions (fixes #3).
|
||||
|
||||
## v0.35 (Feb 10 2013)
|
||||
|
||||
### Highlights
|
||||
- Added support for **debugging Lua 5.2 scripts**.
|
||||
- Added support for **cross-platform remote debugging**.
|
||||
- Added support for starting Gideros **on-device debugging**.
|
||||
- Added support for live coding, script reloading, and coroutine debugging under LuaJIT.
|
||||
- Added **Marmalade Quick** support.
|
||||
- Added **live-coding for Corona** interpreter.
|
||||
- Added editor tab popup menu with 'Close All', 'Close Other', and other items.
|
||||
|
||||
### Special thanks
|
||||
- To Roland Yonaba and Fringale for updates to French translation.
|
||||
- To Fringale for enhanced line-endings handling.
|
||||
- To toiffel for build improvements, continuous work on wxwidgets 2.9 support, and several patches.
|
||||
- To Andy Bower for the stream of feedback on live coding and on-device debugging.
|
||||
|
||||
### Improvements
|
||||
- Added `debugger.runonstart` option to configure if debugging should run immediately after starting.
|
||||
- Added `editor.checkeol` option to configure checking for eol encoding in loaded files.
|
||||
- Added Marmalade Quick support.
|
||||
- Added support for starting Gideros on-device debugging.
|
||||
- Added requesting user attention when stopped during debugging.
|
||||
- Added example for `defaulteol` configuration option.
|
||||
- Added configuration option for compact folding (`editor.`).
|
||||
- Added support for cross-platform remote debugging.
|
||||
- Added support for script reloading and coroutine debugging under LuaJIT (MobDebug 0.514).
|
||||
- Added Russian translation for new messages.
|
||||
- Added handling of malformed UTF8 characters in files (fixes #97).
|
||||
- Added support for debugging Lua 5.2 scripts.
|
||||
- Added workaround for Moai require path issue (fixes #96; fixes #87).
|
||||
- Added editor tab popup menu with 'Close All', 'Close Other', and other items.
|
||||
- Added C/CPP specification file and a configuration example.
|
||||
- Added XCode-like key mapping.
|
||||
- Added removing of file: prefix and url decoding of filepaths (helps #89).
|
||||
- Added a workaround for returning incorrect project folder (helps #89).
|
||||
- Adjusted handling of filepath to work with relative and absolute paths (helps #89).
|
||||
- Enabled live-coding for Corona interpreter.
|
||||
- Improved line-endings handling (Fringale).
|
||||
- Improved reporting of stack and serialization run-time errors.
|
||||
- Updated Gideros interpreter to run debugging immediately after starting; Use `debugger.runonstart = false` to disable.
|
||||
- Updated Linux startup script to use online versions of wxlua packages (deb files).
|
||||
- Updated handling of file: prefix as it's different on Windows and OSX (helps #89).
|
||||
- Updated messages in the starter script.
|
||||
- Updated function call parsing to recognize "func{}" and "func''" syntax.
|
||||
- Updated os.exit() call in local console to exit gracefully.
|
||||
- Updated French translation with various fixes and tweaks (Fringale).
|
||||
- Updated French translation with newly added strings (Fringale).
|
||||
- Updated 'Close page' and its translations.
|
||||
- Updated configuration examples and documentation (helps #55).
|
||||
- Updated the size of the function list dropdown on Windows (helps #89).
|
||||
- Typos fixes, small changes in French translation (Roland Yonaba).
|
||||
|
||||
### Incompatibilities
|
||||
- Gideros debugging is changed to start immediately; use `debugger.runonstart = false` to disable.
|
||||
- Removed mosync support from the debugger into a separate module.
|
||||
- Added mixed end-of-line reporting; use `editor.checkeol = false` to disable.
|
||||
- Added reporting of malformed UTF-8.
|
||||
|
||||
### Fixes
|
||||
- Fixed a rare crash on OSX when closing IDE with an application running under debugger.
|
||||
- Fixed path handling for metalua to avoid conflicts with other modules that may include lexer.lua file.
|
||||
- Fixed executing commands in the Remote console immediately after `mobdebug.start()` (closes #100).
|
||||
- Fixed invalid escape sequence that fails under LuaJIT.
|
||||
- Fixed an issue with spec files when a separator (sep) is not specified.
|
||||
|
||||
## v0.34 (Dec 12 2012)
|
||||
|
||||
### Highlights
|
||||
- Added **internationalization** support (with Russian, Italian, Spanish, and French translations).
|
||||
- Added **key binding** configuration for menu and toolbar items.
|
||||
- Added **Corona SDK integration** with debugging and auto-complete.
|
||||
- Added **Moai scratchpad support**.
|
||||
- Added **color scheme support** with several schemes included.
|
||||
- Added **GSL-shell support**.
|
||||
- Added ability to pause and resume scratchpad.
|
||||
|
||||
### Special thanks
|
||||
- To Srdjan Markovic for Corona auto-complete support and Zenburn color scheme.
|
||||
- To Roland Yonaba for French translation.
|
||||
- To Leo Bartoloni for Italian translation.
|
||||
- To Inigo Sola for Spanish translation.
|
||||
- To toiffel for Russian translation and several patches.
|
||||
- To Fringale for spec and API files cleanup and update for Lua 5.2.
|
||||
- To Marcel van Herk for assistance with scratchpad break/resume functionality.
|
||||
|
||||
### Improvements
|
||||
- Added an option to specify the width of the calltip.
|
||||
- Added showing short descriptions in tooltip for functions without lib/package.
|
||||
- Added 'Project Directory' menu.
|
||||
- Added ability to pause scratchpad when the script is completed (closes #83).
|
||||
- Added ability to pause and resume scratchpad.
|
||||
- Added GSL-shell support (closes #72).
|
||||
- Added more color schemes (Solarized and Monokai).
|
||||
- Added customized yield function for debugging (MobDebug v0.508; closes #81).
|
||||
- Added proper hiding of current line marker during debugging (except when tracing).
|
||||
- Added Corona auto-complete support (thanks to Srdjan Markovic).
|
||||
- Added logic to show application windows without explicitly listing their class (closes #80); Windows only.
|
||||
- Added Moai scratchpad support.
|
||||
- Added missing constants to Moai API.
|
||||
- Added setting focus on the window when a file is loaded in the existing instance.
|
||||
- Added two more wxwindow window classes to the list of windows to show (Windows).
|
||||
- Added scheme picker script to test color schemes from the IDE.
|
||||
- Added Zenburn as a color scheme.
|
||||
- Added styling for markers and Output/Console windows.
|
||||
- Added Italian translation (thanks to Leo Bartoloni).
|
||||
- Added Spanish translation (thanks to Inigo Sola).
|
||||
- Added reporting of run-time errors from remote processes (helps #73).
|
||||
- Added 'tomorrow' color theme.
|
||||
- Added redirect of remote 'print' commands for Gideros applications.
|
||||
- Added check for 'main.lua' in Corona projects.
|
||||
- Added ability to suspend a running application even when there is no editor tab or file to activate.
|
||||
- Added serialization of remote 'print' results and an output filter for debugging (helps #73).
|
||||
- Added redirect of remote 'print' commands to the Output window in the IDE (helps #73).
|
||||
- Added Corona SDK support (closes #73).
|
||||
- Added French translation (thanks to Roland Yonaba).
|
||||
- Added (more) verbose output to debugger to assist in troubleshooting.
|
||||
- Added handling of LUA_DEV to make loading Lua for Windows libraries working out of the box (fixes #71).
|
||||
- Added internationalization support (closes #70).
|
||||
- Added notes about estrela being gone and compatibility.
|
||||
- Added multi-tab support for scratchpad.
|
||||
- Added documentation on accelerator/shortcut syntax.
|
||||
- Added key map to change key binding for menu and toolbar items from a config file (closes #64).
|
||||
- Added hiding IDE while closing and saving configuration.
|
||||
- Completed reorganization of front-end processing (closes #67 and #5).
|
||||
- Disabled editor autoactivation during debugging when tracing is on.
|
||||
- Disabled functions that are not available under Corona on OSX (helps #73).
|
||||
- Disabled showing auto-complete when the only option is already typed.
|
||||
- Disabled showing a calltip on mouse over when it's already active.
|
||||
- Extended list of default folders for interpreters where executables are searched for.
|
||||
- Finished Russian translation.
|
||||
- Limited auto-showing windows to Lua interpreter only (related to #80).
|
||||
- Removed window types from config as they are no longer needed to be listed.
|
||||
- Switched to showing short tooltips by default as some of the updated Lua API descriptions are very long.
|
||||
- Updated descriptions for io.* functions; moved file:* functions to a pseudo library (f); helps #84.
|
||||
- Updated LICENSE to add remdebug license information.
|
||||
- Updated tooltip to show shortened descriptions on mouse-over.
|
||||
- Updated spec and API files for Lua 5.2 (thanks to Fringale).
|
||||
- Updated MobDebug to v0.507 to fix serialization issues (closes #77).
|
||||
- Updated style processing to support styling of markup and allow dynamic switching of color schemes.
|
||||
- Updated Lua keyword definitions to improve grouping for styling (closes #79).
|
||||
- Updated love2d api to an updated version as of 11/1/2012 (fixes #78).
|
||||
|
||||
### Incompatibilities
|
||||
- The default port in the debugger has been changed from 8171 to 8172 to avoid conflicts with existing RemDebug implementations.
|
||||
|
||||
### Fixes
|
||||
- Fixed an issue with overlapping auto-complete suggestions.
|
||||
- Fixed auto-complete not working after closed brackets.
|
||||
- Fixed tooltip being shown when mouse moving outside of the editor area.
|
||||
- Fixed a font zooming bug with Ctrl+MouseWheel.
|
||||
- Fixed file marking in the project tree after opening a new file.
|
||||
- Fixed an issue with breakpoints not available after aborting tracing on Linux/OSX.
|
||||
- Fixed an issue with running scratchpad when entry points are configured.
|
||||
- Fixed Linux launcher to pass filename parameter to the IDE.
|
||||
- Fixed fold style to properly set background color.
|
||||
- Fixed an issue with a config file being loaded into the editor when specified in the command line.
|
||||
- Fixed an issue with markdown formatting not working after setting styles from a config file (fixes #74).
|
||||
|
||||
## v0.33 (Oct 22 2012)
|
||||
|
||||
### Highlights
|
||||
- Added **Linux support**.
|
||||
- Added **Moai auto-complete**.
|
||||
- Added **Gideros debugging, auto-complete, and live coding**.
|
||||
- Added **syntax aware indentation**.
|
||||
- Added **re/storing open files and interpreter** when switching project folders.
|
||||
|
||||
### Special thanks
|
||||
- To Andy Bower and Atilim Cetin for their assistance with Gideros integration and live coding.
|
||||
- To toiffel for Linux/OSX/Windows CMake-based launcher build.
|
||||
- To [Christoph Kubisch](https://github.com/CrazyButcher) for help with Estrela merge.
|
||||
|
||||
### Improvements
|
||||
- Added configuration option to specify hostname when the default one is not reachable (fixes #68).
|
||||
- Added search for Moai and Love2d executables in default locations on OSX and Windows.
|
||||
- Added handling of command line parameters on OSX and Linux; updated documentation.
|
||||
- Added auto-recovery to save/restore editor content (fixes #23).
|
||||
- Added syntax aware indentation.
|
||||
- Added re/storing open files and interpreter when switching project folders.
|
||||
- Added auto-activation of files requested during debugging.
|
||||
- Added editor.autoactivate parameter (false by default) to enable activation.
|
||||
- Added zbstudio.sh script to run on OSX/Linux; updated permissions (closes #15).
|
||||
- Added variable ratio for sliders in scratchpad.
|
||||
- Added Linux/OSX/Windows CMake-based launcher build (thanks to toiffel).
|
||||
- Added configuration parameter for the number of characters typed before displaying auto-complete suggestions for dynamic words.
|
||||
- Added proper closing of the application after Shutdown/Logoff events (fixes #57).
|
||||
- Added Moai auto-complete (closes #52).
|
||||
- Added hiding auto-complete suggestions on losing focus in the editor.
|
||||
- Added proper reporting of errors in the stack window.
|
||||
- Added wxlua.deb file and install script that pull and build all required dependencies on Linux (covers most of #15).
|
||||
- Added osx executables and build files.
|
||||
- Added disabling full screen mode when the last editor tab is closed.
|
||||
- Added proper reporting of errors in config files.
|
||||
- Added toggling folders in project pane by single click (fixes #41).
|
||||
- Added examples for configuring tabs and moai entry points.
|
||||
- Added reporting compilation success rate (fixes #39)
|
||||
- Added shortcuts for adding and removing watches.
|
||||
- Added highlighting rows with updated values in the Watch window.
|
||||
- Added 'Add Watch Expression' and 'Evaluate in Console' context menu items in the editor.
|
||||
- Added handling of canceling editing in adding a watch.
|
||||
- Added Gideros auto-complete and live coding support (closes #62).
|
||||
- Added Gideros integration on OSX; added search for gideros in default locations on Windows and OSX.
|
||||
- Added Gideros integration and debugging support.
|
||||
- Added debugging-related buttons to the toolbar.
|
||||
- Improved reporting of compilation and run-time errors when running as scratchpad.
|
||||
- Made debugger strict.lua and LuaJIT friendly (upgraded to MobDebug v0.502).
|
||||
- Updated configuration example to avoid using ide.spec that is not available (fixes #67).
|
||||
- Updated CMake build script to handle wildcards in the MANIFEST.
|
||||
- Updated configuring toolbar size to improve Linux compatibility.
|
||||
- Updated MobDebug to v0.497 to fix issues and improve performance.
|
||||
- Updated a warning message about single instance communication.
|
||||
- Updated cpath processing to allow Linux version to run side-by-side with Windows and Mac.
|
||||
- Updated licensing information.
|
||||
- Enabled scratchpad support in the debugger when interpreter is capable of providing it.
|
||||
- Disabled auto-complete in comments and strings.
|
||||
- Disabled toggling breakpoints while debugger is running (as they wouldn't be changed anyway).
|
||||
- Disabled 'not activated file for debugging' message when auto-activation is disabled.
|
||||
- Disabled tooltip when scratchpad is on (fixes #51).
|
||||
- Disabled showing calltip when the editor is not in focus.
|
||||
- Disabled showing calltip over markup in comments.
|
||||
- Disabled 'Run as Scratchpad' in the menu for those intepreters that don't support scratchpad.
|
||||
- Updated configuration examples to add editor settings and fix user.lua path.
|
||||
- Moved all Estrela features into a separate bundle that can be loaded using cfg/estrela.lua config.
|
||||
- Removed multiple file types offered in Save As dialog.
|
||||
|
||||
### Incompatibilities
|
||||
- Changed searching for user config in '$HOME/.zbstudio' from '$HOME/.zbs'.
|
||||
- Temporarily removed the ability to modify spec-related configuration parameters from configuration files.
|
||||
|
||||
### Fixes
|
||||
- Fixed opening a non-existing file from the Recent Files list.
|
||||
- Fixed Find/Replace dialog checkboxes that didn't react to clicks on OSX (fixes #63).
|
||||
- Fixed an auto-complete issue with mixed case dynamic words (fixes #60).
|
||||
- Fixed 'Trying to solve a NULL hostname' warning message.
|
||||
- Fixed a typo that prevented a corner case in autocomplete from working.
|
||||
- Fixed inconsistent error messages about various config files.
|
||||
- Fixed an issue with auto-complete when dot or colon is used (fixes #56).
|
||||
- Fixed an issue with debugging scripts started using absolute file path.
|
||||
- Fixed setting working directory for interpreters to the file path when the project directory is not set.
|
||||
- Fixed an issue with Backspace not closing auto-complete suggestions.
|
||||
- Fixed enabling items in the Edit menu (fixes #56).
|
||||
- Fixed function list in the toolbar on Mac (helps #14).
|
||||
- Fixed deleting of comment blocks with hidden markup (fixes #40).
|
||||
- Fixed an issue with function list when all editor tabs are closed.
|
||||
- Fixed multiple calltips shown on Linux (helps #15).
|
||||
- Fixed an issue with mouse cursor in scratchpad not properly updated on Linux (fixes #49; helps #15).
|
||||
- Fixed an issue with static analyzer that failes on function names like a.b.c (fixes #50).
|
||||
- Fixed disabling Paste menu on Linux when needed (fixes #46; helps #15).
|
||||
- Fixed an issue with context menu on Linux (fixes #47; helps #15).
|
||||
- Fixed debugger failure when debugging is initiated externally and there is an unsaved file in one of editor tabs.
|
||||
- Fixed stopping the debugger when an editor tab where debugging happens is closed.
|
||||
- Fixed enabling of several menu items with no editor tab (fixes #42).
|
||||
- Fixed an issue with loading stock icons on Linux.
|
||||
- Fixed Cut/Copy menu items to reflect proper status in the editor.
|
||||
- Fixed typo in the static analyzer output.
|
||||
- Resolved conflict between lua executable names on Windows and Mac.
|
||||
|
||||
## v0.32 (Sep 03 2012)
|
||||
|
||||
### Highlights
|
||||
- Added **Unicode support** for file encoding and file paths on Windows (fixes #30).
|
||||
- Added **Moai integration and debugging** (including debugging of Moai threads and callbacks).
|
||||
- Added refresh of Stack and Watch windows after executing a statement in remote shell.
|
||||
- Added **display of complex values** on multiple lines in shell with '='.
|
||||
- Added calltip on mouseover for functions during editing and for variables/expressions during debugging.
|
||||
- Added configuration options to set paths to lua and love2d executables.
|
||||
- Added support for **coroutine debugging** with stepping through coroutine.resume/.yield calls.
|
||||
- Updated wx.dll to wxlua 2.8.12.2 and wxwidgets 2.8.12.
|
||||
- Signed zbstudio app and executable to avoid issues with files not being saved without admin privileges and to remove warning about 'unknown publisher' on windows (fixes #25).
|
||||
|
||||
### Improvements
|
||||
- Added calltip on mouseover for functions during editing and for variables/expressions during debugging.
|
||||
- Added an IO filter to fix an issue with 0d0d0a line endings on Windows.
|
||||
- Added support for debugging moai callbacks (upgraded to mobdebug v0.489).
|
||||
- Added refresh of Stack and Watch windows to show updated values after executing a statement in remote shell.
|
||||
- Added display of complex values on multiple lines in shell with '='.
|
||||
- Added rockspec to the list of extensions for lua (fixes #37).
|
||||
- Added a check to avoid evaluating keywords in tooltip.
|
||||
- Added current interpreter to the status bar; adding closing debugger when the interpreter is changed.
|
||||
- Added aborting scratchpad processing when an interpreter can't start or report a fatal error.
|
||||
- Added support for unicode path files on Windows (fixes #30).
|
||||
- Added an option to set path to lua executable.
|
||||
- Added error handler to trap and display debugger errors.
|
||||
- Added search in PATH for love2d executable.
|
||||
- Added a workaround for GetExecutablePath() reporting 'wx.dll' instead of a proper exe name with wxlua 2.8.12.2 on Windows.
|
||||
- Added reporting of function name of the form a.b and a:b in static analysis (fixes #27).
|
||||
- Added ability for user to keep their settings file in their home directory.
|
||||
- Added per user settings file. Users can now move their settings file to ~/.zbs/user.lua.
|
||||
- Added ignoring Cmd-key combinations on Mac as this should be handled by wxwidgets, but is not (fixes #19).
|
||||
- Added support for coroutine debugging with stepping through coroutine.resume/.yield calls.
|
||||
- Changed reporting of program execution time from CPU time to user time.
|
||||
- Changed the call to unhide windows to the async version (ShowWindowAsync) to avoid blocking the IDE when the application doesn't respond.
|
||||
- Upgraded to wxlua 2.8.12.2 (wxwidgets 2.8.12; unicode version); added lua51.dll proxy (fixes #10 and #7).
|
||||
- Updated love2d interpreter to use the project folder to check for main.lua.
|
||||
- Updated test module to use stringified values for comparison.
|
||||
- Updated status bar style to make it consistent across platforms.
|
||||
- Removed .bak files from being replaced in when backup copies are saved.
|
||||
- Removed explicit path conversions and comparisons.
|
||||
- Refactored LUA_PATH/CPATH processing to set it for all interpreters.
|
||||
- Signed zbstudio app and executable to avoid issues with files not being saved without admin privileges and to remove warning about 'unknown publisher' on windows (fixes #25).
|
||||
|
||||
### Incompatibilities
|
||||
- Reassigned hotkeys in the Project menu to minimize conflicts on Mac (reassigned Shift-F12 and F11).
|
||||
|
||||
### Fixes
|
||||
- Fixed an issue with double click on analylsis results being out-of-sync when the editor switched to another file (fixes #38)
|
||||
- Fixed an issue with debugger not activating files with relative path information.
|
||||
- Fixed 'break' command to work after coming from debugger calls (like on()).
|
||||
- Fixed an issue with highlighting selected item in the project tree.
|
||||
- Fixed evaluation of foo:bar in tooltip (now evaluates as foo.bar).
|
||||
- Fixed debugger termination after internal errors.
|
||||
- Fixed activating current file in the project tree on Mac (closes #29).
|
||||
- Fixed running scripts with single quotes in path names.
|
||||
- Fixed an issue with Run/Debug commands when IDE path includes exclamation mark ('!').
|
||||
- Fixed an issue with the app not starting on those systems that don't have HOME environment variable; fixes #28.
|
||||
- Fixed an issue with showing/hiding GUI windows that was occasionally causing a runtime error when the window disappears before it is manipulated.
|
||||
- Fixed returning proper name for unsaved files in reporting compilation and static analysis results; moved default names to ide.config (fixes #26).
|
||||
- Fixed pasting text into the Find dialog and project path box on Mac (fixes #22).
|
||||
- Fixed handling of dashes in paths (upgraded to mobdebug 0.479).
|
||||
- Reorganized handling of automcomplete event (to use AddPendingEvent instead of PostEvent) to avoid runtime application error.
|
||||
|
||||
## v0.31 (Jul 14 2012)
|
||||
|
||||
### Highlights
|
||||
- Added **scratchpad support for love2d**.
|
||||
- Added tooltip to display variable/expression values during debugging.
|
||||
- Added **MacOS support**.
|
||||
|
||||
### Improvements
|
||||
- Added handling of balanced brackets in markup links.
|
||||
- Added unit test module.
|
||||
- Added reporting the number of traced lines during debugging.
|
||||
- Added setting of PATH and CPATH to find proper libs on windows and mac os platforms.
|
||||
- Added scratchpad support for love2d.
|
||||
- Added reset of 'modified' status to keep tab names and their config settings correct upon exit.
|
||||
- Added window title update and filetree refresh after SaveAs command.
|
||||
- Added tooltip to display variable/expression values during debugging.
|
||||
- Made 'View Stack Window' and 'View Watch Window' refresh window content if it's already shown.
|
||||
- Removed setting the editor font in the config as the default font is different on different platforms.
|
||||
- Removed extension from the template to match folders to make it more portable.
|
||||
- Reorganized handling of font configuration and added font config for filetree (with a different size default on MacOS).
|
||||
- Updated matching logic for function definitions to allow for a.b.c() definitions (fixes #17).
|
||||
|
||||
### Fixes
|
||||
- Fixed markup styling and file tree drawing on MacOS.
|
||||
- Fixed detecting executable name in commands with spaces.
|
||||
- Fixed incorrect folders reported in the file tree when no project directory is set and a file is open.
|
||||
- Fixed incorrect filename reported in compile errors when the file is not saved.
|
||||
- Fixed refresh of filetree on MacOS to get it displayed correctly when the app is started.
|
||||
- Fixed an error thrown when a window with debugging is closed before the application being debugged is terminated.
|
||||
- Fixed incorrect storing of settings for editor tabs with the same text (filename). This was causing only one tab displayed for multiple StyledText controls with interesting effects.
|
||||
- Fixed an issue with launching a process when its output is not redirected to the IDE (fixes #16).
|
||||
- Fixed console to evaluate 'function a() ... end' without errors.
|
||||
- Fixed a compilation error caused by shebang in scripts.
|
||||
- Fixed an issue with love2d path with spaces.
|
||||
- Corrected resetting of project directory when it's already set and doesn't need to be changed.
|
||||
- Added checks around ShowFullScreen() calls to avoid failures on those systems that don't provide it (linux/GTK).
|
||||
- Added check for debugger calls to avoid errors when debugger is not loaded.
|
||||
- Updated matching of links to make them less greedy (to avoid capturing link terminators).
|
||||
- Upgraded deprecated constants and logic for compatibility with wxwidgets 2.9.x.
|
||||
- Reset project directory if the current one doesn't exist.
|
||||
- Removed styling of function calls and capturing definitions in strings and comments (fixed #18).
|
||||
- Removed setting focus to the Output window when output is processed as it interfered with Run as Scratchpad.
|
||||
|
||||
## v0.30 (Jun 27 2012)
|
||||
|
||||
### Highlights
|
||||
- Added **love2d support**.
|
||||
- Added auto complete for love2d API.
|
||||
- Added support for debugging processes running under LuaJIT.
|
||||
- Added display of **hierarchical data in Stack window**.
|
||||
- Added **pretty printing in Watch and Console** (local and remote) windows and handling of multiple results in Console.
|
||||
- Added **Stack window to display stack information** and local/upvalue values for each stack frame.
|
||||
- Added ability to **interact with scripts** by allowing text to be entered in the 'Output' window.
|
||||
|
||||
### Improvements
|
||||
- Added love2d support.
|
||||
- Added auto complete for love2d API.
|
||||
- Added support for debugging processes running under LuaJIT.
|
||||
- Added display of hierarchical data in Stack window.
|
||||
- Added execution time and updated messages in the Output window to be more consistent.
|
||||
- Added displaying 'nil' values in local console when no result is returned by an expression.
|
||||
- Added a check to refuse starting a new debugging session if there is one in progress already.
|
||||
- Added handling of tail calls in the Stack window.
|
||||
- Added pretty printing in Watch and Console (local and remote) windows and handling of multiple results in Console.
|
||||
- Added Stack window to display stack information and local/upvalue values for each stack frame.
|
||||
- Added ability to set font encoding in the config.
|
||||
- Added restoring cursor position when a modified file is reloaded in the editor.
|
||||
- Added ability to interact with scripts by allowing text to be entered in the 'Output' window.
|
||||
- Improved logic in love2d integration to distinguish Debug and Run commands (closes #13).
|
||||
- Improved reporting in static analysis for functions and global variables.
|
||||
- Updated menus to avoid conflicts with MacOS shortcuts.
|
||||
- Updated logic creating menubar to make it work correctly on MacOS with special Help/About items.
|
||||
- Updated path handling to better detect how the app is started and to avoid loading dlls on non-windows platforms.
|
||||
- Updated logic for detecting hostname (used in the debugger) to make sure it is resolvable.
|
||||
- Changed order of lualibs/ and bin/ directories in package.path and package.cpath to load included modules first.
|
||||
- Removed extensions from launch commands and updated display logic in the Output window.
|
||||
|
||||
### Fixes
|
||||
- Fixed aborting running/debugged programs on MacOS by adding MAKE_GROUP_LEADER option to wxExecute.
|
||||
- Fixed an issue in the logic for setting breakpoints, which ignored breakpoints in luxinia2 debug sessions.
|
||||
- Fixed logic in the local/remote console that returned incorrect error message on executing code like '%s':format(1).
|
||||
- Fixed IDs for Project menu items to allow them to be removed from the menu if needed.
|
||||
- Fixed an issue with remote application not terminating when IDE is closed while debugging is in progress.
|
||||
- Fixed refreshing a modified file when the editor is set to read-only mode.
|
||||
- Fixed saving/restoring configuration of 'Output'/'Console' tabs when IDE is closed while debugging is in progress.
|
||||
- Fixed removing variable name in Watch window after escaping editing.
|
||||
- Fixed #9 as it had incorrect logic in one of UTF filters.
|
||||
- Fixed edit menu shortcuts to work in the 'Output' window (when allowed).
|
||||
- Fixed reporting of processes that failed to start after 'Run' or 'Debug' commands.
|
||||
- Fixed executable path matching to work on systems that don't have file extensions.
|
||||
- Fixed #3 'unused parameter...' check not to fail on anonymous functions that are part of an expression.
|
||||
- Moved processing of `user.lua` to a later phase after tools and specs are already loaded to allow modification of IDE configuration from `user.lua`. Closes #5.
|
||||
- Added checks to prevent text modification in 'Output' and 'Console' windows. Fixes #8.
|
||||
- Disabled 'Run as Scratchpad' if there is no debugger registered capable of running it.
|
||||
- Disabled Stack and Watch updates when scratchpad is active as they interfere with application execution.
|
||||
|
||||
## v0.29 (May 31 2012)
|
||||
|
||||
### Highlights
|
||||
- Added **scratchpad** (running live) functionality.
|
||||
- Added **code analyzer** based on lua-inspect.
|
||||
- Updated **comment styling** to follow markdown syntax.
|
||||
|
||||
### Improvements
|
||||
- Added scratchpad (running live) functionality.
|
||||
- Added code analyzer based on lua-inspect.
|
||||
- Added Ctrl(-Shift)-TAB navigation between tabs in the editor.
|
||||
- Added navigation between editor tabs using Ctrl-PgUp and Ctrl-PgDn.
|
||||
- Added reporting of assignment to global variables in the code analyzer.
|
||||
- Added ability to turn external processes that connect to debugger into a scratchpad.
|
||||
- Added exit from full screen mode using ESC key.
|
||||
- Added reporting of compilation errors during debugging sessions.
|
||||
- Added handling of more errors in the shell to allow calculations like '(1+2)' to be executed correctly.
|
||||
- Added moving focus back to the notebook after unhiding/activating a wx window.
|
||||
- Added missing mime/code.dll and reorganized socket module files (socket.*) to load correctly with require.
|
||||
- Added stopping the debugger when a debugged program exits.
|
||||
- Added to static analysis reporting of unused parameters in functions.
|
||||
- Disabled warning in static analysis about unused 'self' in methods.
|
||||
- Removed 'error during pre-compilation' message from compile errors.
|
||||
- Updated comment styling to follow markdown syntax.
|
||||
|
||||
### Fixes
|
||||
- Fixed handling of scripts with comments in the remote shell.
|
||||
- Fixed an issue with Analyze process when the analyzed script has compilation errors.
|
||||
- Fixed an issue with scratchpad being on after Save dialog is canceled.
|
||||
- Fixed about screen.
|
||||
|
||||
## v0.28 (Mar 21 2012)
|
||||
|
||||
### Highlights
|
||||
- Added full screen mode.
|
||||
|
||||
### Improvements
|
||||
- Added option to activate output/console when Run/Debug/Compile commands are executed.
|
||||
- Added full screen mode.
|
||||
- Added killing a running process on IDE exit.
|
||||
- Added killing a running process with Shift-F12.
|
||||
- Disabled buffering of the output for scripts run from IDE.
|
||||
|
||||
### Fixes
|
||||
- Fixed 'Trace' command to continue working when a debugged file is not activated.
|
||||
- Fixed an issue with saving a file when no project directory is set.
|
||||
- Fixed missing semicolon in lualibs path; added path for debugger to search under lualibs.
|
||||
- Fixed an issue with a missing path separator, which prevented debugging from executing step commands in some cases.
|
||||
- Fixed missing slash on SaveAs by enforcing trailing slash for the project path.
|
||||
|
||||
## v0.27 (Feb 14 2012)
|
||||
|
||||
### Highlights
|
||||
- Added markup formatting in the comments.
|
||||
|
||||
### Improvements
|
||||
- Added markup formatting in the comments.
|
||||
- Added Debug and Run methods to simulate menu commands.
|
||||
- Added setting a project folder on initial start.
|
||||
- Added style processing for font name, font size, visibility and hotspot attributes.
|
||||
- Added setting the current project directory for the shell to allow 'require' commands to work with local modules.
|
||||
- Updated markup processing with run and debug commands, http link processing, and opening local files in a new window.
|
||||
- Enforced visibility for shell prompt.
|
||||
|
||||
### Fixes
|
||||
- Fixed activation of a correct tab when one of the editor tabs is closed.
|
||||
- Fixed an issue with file activation from a debugger.
|
||||
- Fixed the issue of ClosePage method being called with two different parameters.
|
||||
- Fixed the issue of the project dir being returned with two trailing slashes.
|
||||
- Fixed an issue with activating the currenly edited file in the file tree.
|
||||
- Wrapped DragAcceptFiles into a protected call to make it not fail on MacOS (compiled with wxwidgets 2.8.12).
|
||||
|
||||
## v0.26 (Jan 18 2012)
|
||||
114
LICENSE
114
LICENSE
@@ -49,7 +49,7 @@ 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.
|
||||
|
||||
--[[ wxLua License License ]]----------------------------------------------
|
||||
--[[ wxLua License ]]------------------------------------------------------
|
||||
|
||||
http://wxlua.sourceforge.net/
|
||||
|
||||
@@ -61,7 +61,7 @@ Original wxLua Lua sample IDE:
|
||||
luascript at thersgb.net
|
||||
|
||||
wxLua is based on
|
||||
wxWindows Library Licence, Version 3
|
||||
wxWindows Library License, Version 3
|
||||
|
||||
Copyright (c) 1998 Julian Smart, Robert Roebling et al
|
||||
|
||||
@@ -136,49 +136,87 @@ 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.
|
||||
|
||||
--[[ LuaFileSystem License ]]----------------------------------------------
|
||||
|
||||
LuaFileSystem was designed by Roberto Ierusalimschy, André Carregal and Tomás
|
||||
Guisasola as part of the Kepler Project, which holds its copyright.
|
||||
Homepage: http://www.keplerproject.org/luafilesystem/index.html
|
||||
License: http://www.keplerproject.org/luafilesystem/license.html
|
||||
|
||||
--[[ LuaSockets License ]]-------------------------------------------------
|
||||
|
||||
Copyright: © 2004-2006 Diego Nehab. All rights reserved.
|
||||
Homepage: http://www.cs.princeton.edu/~diego/professional/luasocket/
|
||||
License: http://www.lua.org/copyright.html (same as LUA)
|
||||
|
||||
--[[ ZMQ License ]]--------------------------------------------------------
|
||||
--[[ Serpent License ]]----------------------------------------------------
|
||||
|
||||
Copyright: © 2007-2011 iMatix Corporation and Contributors
|
||||
Homepage: http://www.zeromq.org/
|
||||
License: http://www.zeromq.org/area:licensing
|
||||
|
||||
LuaZMQ
|
||||
Copyright: © 2011 by Robert G. Jakabosky
|
||||
Homepage: https://github.com/Neopallium/lua-zmq
|
||||
|
||||
--[[ MojoShader License ]]-------------------------------------------------
|
||||
|
||||
Copyright: © 2008-2010 Ryan C. Gordon
|
||||
Homepage: http://icculus.org/mojoshader/
|
||||
License: http://hg.icculus.org/icculus/mojoshader/raw-file/tip/LICENSE.txt
|
||||
|
||||
--[[ CLCC License ]]-------------------------------------------------------
|
||||
|
||||
Copyright: © 2009 Organic Vectory B.V.
|
||||
Homepage: http://clcc.sourceforge.net/
|
||||
License: boost
|
||||
|
||||
CLCC was modified by Christoph Kubisch to support multiple platforms and
|
||||
output file generation.
|
||||
|
||||
--[[ MobDebug License ]]---------------------------------------------------
|
||||
|
||||
MobDebug sources are released under the MIT License
|
||||
|
||||
Copyright (c) 2011 Paul Kulchenko (paul@kulchenko.com)
|
||||
Copyright (c) 2011-2013 Paul Kulchenko (paul@kulchenko.com)
|
||||
|
||||
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.
|
||||
|
||||
--[[ LuaJIT License ]]-----------------------------------------------------
|
||||
|
||||
Copyright © 2005-2013 Mike Pall, released under the MIT open source license.
|
||||
|
||||
--[[ WinAPI License ]]-----------------------------------------------------
|
||||
|
||||
Copyright (C) 2011 Steve Donovan.
|
||||
|
||||
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.
|
||||
|
||||
--[[ MobDebug License ]]---------------------------------------------------
|
||||
|
||||
MobDebug sources are released under the MIT License
|
||||
|
||||
Copyright (c) 2011-2012 Paul Kulchenko (paul@kulchenko.com)
|
||||
|
||||
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.
|
||||
|
||||
--[[ RemDebug License ]]---------------------------------------------------
|
||||
|
||||
Copyright (c) 2006 The Kepler Project.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
93
README.md
93
README.md
@@ -1,70 +1,75 @@
|
||||
# Project Description
|
||||
|
||||
A simple and extensible Lua IDE and debugger. It supports multiple file
|
||||
formats, "api" for autocompletion and tooltips, and custom command-line
|
||||
tools. Its main focus is extensibility for target applications using Lua.
|
||||
[ZeroBrane Studio](http://studio.zerobrane.com/) is a lightweight Lua IDE with code completion, syntax
|
||||
highlighting, remote debugger, code analyzer, live coding, and debugging
|
||||
support for several Lua engines (LuaJIT, Löve 2D, Moai, Gideros, Corona, Marmalade Quick,
|
||||
MobileLua, GSL-shell, and others). It originated from the [Estrela Editor](http://www.luxinia.de/index.php/Estrela/).
|
||||
|
||||
## Features
|
||||
|
||||
* Written in Lua, so easily customizable
|
||||
* Automatically loads several 'plugin' like classes
|
||||
- applications: overall control of applications settings
|
||||
- specs (spec/): file syntax, lexer, keywords
|
||||
- apis (api/): for code-completion and tool-tips
|
||||
- interpreters (interpreters/): how a project is run
|
||||
- config (cfg/): contains style and basic editor settings
|
||||
- tools (tools/): additional tools, e.g. cg compiler, dx fxc compiler
|
||||
* Auto-completion for functions, keywords...
|
||||
* Function tips
|
||||
* Function list in file (quick jump to)
|
||||
* Function call highlighting
|
||||
* Bracket matching/highlighting
|
||||
* Project file browser
|
||||
* Experimental type/class guessing for auto-completion
|
||||
* Support for different editor styles
|
||||
* Console to directly test code snippets with local and remote execution
|
||||
* Integrated debugger (with support for local and remote debugging)
|
||||
* Written in Lua, so easily customizable.
|
||||
* Small, portable, and cross-platform (Windows, Mac OSX, and Linux).
|
||||
* Auto-completion for functions, keywords, and custom APIs.
|
||||
* Interactive console to directly test code snippets with local and remote execution.
|
||||
* Integrated debugger (with support for local and remote debugging).
|
||||
* Live coding with Lua ([demo](http://notebook.kulchenko.com/zerobrane/live-coding-in-lua-bret-victor-style)), Löve 2D ([demo](http://notebook.kulchenko.com/zerobrane/live-coding-with-love)), Gideros ([demo](http://notebook.kulchenko.com/zerobrane/gideros-live-coding-with-zerobrane-studio-ide)), Moai ([demo](http://notebook.kulchenko.com/zerobrane/live-coding-with-moai-and-zerobrane-studio)), and Corona SDK ([demo](http://notebook.kulchenko.com/zerobrane/debugging-and-live-coding-with-corona-sdk-applications-and-zerobrane-studio)).
|
||||
* Support for plugin-like components:
|
||||
- specs (spec/): file syntax, lexer, keywords (e.g. glsl);
|
||||
- apis (api/): for code-completion and tool-tips;
|
||||
- interpreters (interpreters/): how a project is run;
|
||||
- config (cfg/): contains style and basic editor settings;
|
||||
- tools (tools/): additional tools (e.g. DirectX/Cg shader compiler...).
|
||||
|
||||
## Frontends
|
||||
## Documentation
|
||||
|
||||
There is currently two front-ends using the same editor engine. The original
|
||||
one is `Estrela`, which has a focus on 3d graphics related usage of Lua,
|
||||
especially in combination with the luxinia engine or luxinia2 framework.
|
||||
The second front-end is `ZeroBrane Studio` (zbstudio) which has a focus
|
||||
on using Lua in education, mobile development, and robotics.
|
||||
* A [short and simple overview](http://studio.zerobrane.com/doc-getting-started.html) for those who are new to this development environment.
|
||||
* A list of [frequently asked questions](http://studio.zerobrane.com/doc-faq.html) about the IDE.
|
||||
* [Tutorials and demos](http://studio.zerobrane.com/tutorials.html) that cover debugging and live coding for different environments.
|
||||
|
||||
Both are part of the standard distribution.
|
||||
## Screenshot
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
$ git clone git://github.com/pkulchenko/ZeroBraneStudio.git zbstudio
|
||||
or
|
||||
$ git clone git://estrelaeditor.git.sourceforge.net/gitroot/estrelaeditor/estrelaeditor estrelaeditor
|
||||
```
|
||||

|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
Open File(s):
|
||||
<exe> <filename> [<filename>...]
|
||||
Open file(s):
|
||||
zbstudio <filename> [<filename>...]
|
||||
any non-option will be treated as filename
|
||||
|
||||
Overriding Config:
|
||||
<exe> [...] -cfg "<luacode overriding config>" [...]
|
||||
e.g.: zbstudio.exe -cfg "singleinstance=false;" somefile.lua
|
||||
Set project directory:
|
||||
zbstudio <project directory> [<filename>...]
|
||||
(0.39+) a directory passed as a parameter will be set as the project directory
|
||||
|
||||
Overriding default configuration:
|
||||
zbstudio -cfg "<luacode overriding config>" [<filename>]
|
||||
e.g.: zbstudio -cfg "editor.fontsize=12" somefile.lua
|
||||
|
||||
Loading custom configuration:
|
||||
zbstudio -cfg path/file.lua [<filename>]
|
||||
e.g.: zbstudio -cfg cfg/estrela.lua
|
||||
```
|
||||
|
||||
## Author
|
||||
|
||||
### Estrela Editor
|
||||
|
||||
**Luxinia Dev:** Christoph Kubisch (crazybutcher@luxinia.de)
|
||||
|
||||
### ZeroBrane Studio and MobDebug
|
||||
|
||||
**ZeroBrane LLC:** Paul Kulchenko (paul@kulchenko.com)
|
||||
|
||||
### Estrela Editor
|
||||
|
||||
**Luxinia Dev:** Christoph Kubisch (crazybutcher@luxinia.de)
|
||||
|
||||
## Where is Estrela?
|
||||
|
||||
The projects have been merged and ZeroBrane Studio will lead the future.
|
||||
Please reassociate files with ZeroBrane Studio. To keep your history of files
|
||||
and projects copy the contents of the `EstrelaEditor.ini` in your HOME
|
||||
directory to `ZeroBraneStudio.ini`. If you have used Estrela for graphics
|
||||
shader authoring or luxinia, create/modify the `cfg/user.lua` to include the
|
||||
content of `cfg/estrela.lua` to load all tools and specifications by default
|
||||
again.
|
||||
|
||||
## License
|
||||
|
||||
See LICENSE file.
|
||||
|
||||
111
api/glsl/std.lua
111
api/glsl/std.lua
@@ -64,6 +64,11 @@ smoothstep = fn "clip and smooth blend [a,b]. - (vecN)(vecN a, b, x)",
|
||||
floatBitsToInt = fn "returns the 32-bit integer representation of an IEEE 754 floating-point scalar or vector - (uintN/intN)(floatN)",
|
||||
intBitsToFloat = fn "returns the float value corresponding to a given bit represention.of a scalar int value or vector of int values. - (floatN)(intN)",
|
||||
uintBitsToFloat = fn "returns the float value corresponding to a given bit represention.of a scalar int value or vector of int values. - (floatN)(uintN)",
|
||||
doubleBitsToInt64 = fn "returns the 64-bit integer representation of an IEEE 754 double precision floating-point scalar or vector - (int64N)(doubleN)",
|
||||
doubleBitsToUint64 = fn "returns the 64-bit integer representation of an IEEE 754 double precision floating-point scalar or vector - (uint64N)(doubleN)",
|
||||
int64BitsToDouble = fn "returns the double value corresponding to a given bit represention.of a scalar int value or vector of int values. - (doubleN)(uint64N)",
|
||||
uint64BitsToDouble = fn "returns the double value corresponding to a given bit represention.of a scalar int value or vector of int values. - (doubleN)(uint64N)",
|
||||
|
||||
fma = fn "return a*b + c, treated as single operation when using precise - (vecN a, vecN b, vecN c)",
|
||||
frexp = fn "splits scalars and vectors into normalized fraction [0.5,1.0) and a power of 2. - (vecN)(vecN x, out vecN e)",
|
||||
ldexp = fn "build floating point number from x and the corresponding integral exponen of 2 in exp. - (vecN)(vecN x, exp)",
|
||||
@@ -71,13 +76,21 @@ ldexp = fn "build floating point number from x and the corresponding integral ex
|
||||
packUnorm2x16 = fn "Converts each comp. of v into 16-bit ints, packs results into the returned 32-bit uint. - (uint)(vec2 v)",
|
||||
packUnorm4x8 = fn "Converts each comp. of v into 8-bit ints, packs results into the returned 32-bit uint. - (uint)(vec4 v)",
|
||||
packSnorm4x8 = fn "Converts each comp. of v into 8-bit ints, packs results into the returned 32-bit uint. - (uint)(vec4 v)",
|
||||
packDouble2x32 = fn "Packs components of v into a 64-bit value and returns a double-prec value. - (double)(uvec2 v)",
|
||||
packHalf2x16 = fn "Converts each comp. of v into 16-bit half float, packs results into the returned 32-bit uint. - (uint)(vec2 v)",
|
||||
packInt2x32 = fn "Packs two 32 bit into one 64-bit value. - (int64_t)(ivec2)",
|
||||
packUint2x32 = fn "Packs two 32 bit into one 64-bit value. - (uint64_t)(uvec2)",
|
||||
packFloat2x16 = fn "returns an unsigned integer obtained by interpreting the components of a two-component 16-bit floating-point as integers and packing them into 32 bit. - (uint)(f16vec2 v)",
|
||||
|
||||
unpackUnorm2x16 = fn "Unpacks 32-bit p into two 16-bit uints and converts them to normalized float. - (vec2)(uint p)",
|
||||
unpackUnorm4x8 = fn "Unpacks 32-bit p into four 8-bit uints and converts them to normalized float. - (vec4)(uint p)",
|
||||
unpackSnorm4x8 = fn "Unpacks 32-bit p into four 8-bit uints and converts them to normalized float. - (vec4)(uint p)",
|
||||
|
||||
packDouble2x32 = fn "Packs components of v into a 64-bit value and returns a double-prec value. - (double)(uvec2 v)",
|
||||
unpackDouble2x32 = fn "Returns a 2 component vector representation of v. - (uvec2)(double v)",
|
||||
unpackHalf2x16 = fn "Interprets p as two 16-bit half floats and returns them as vector. - (vec2)(uint p)",
|
||||
unpackInt2x32 = fn "Unpacks 64-bit into two 32-bit values. - (ivec2)(int64_t)",
|
||||
unpackUint2x32 = fn "Unpacks 64-bit into two 32-bit values. - (uvec2)(uint64_t)",
|
||||
unpackFloat2x16 = fn "returns a two-component vector with 16-bit floating-point components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values. - (f16vec2)(uint)",
|
||||
|
||||
|
||||
length = fn "return scalar Euclidean length of a vector. - (type)(vecN)",
|
||||
distance = fn "return the Euclidean distance between two points. - (vecN)(vecN a, b)",
|
||||
@@ -135,6 +148,11 @@ EndPrimitive = fn "Completes current output primitive and starts a new one. - ()
|
||||
barrier = fn "Synchronizes across shader invocations. - ()()",
|
||||
|
||||
memoryBarrier = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
memoryBarrierAtomicCounter = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
memoryBarrierShared = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
memoryBarrierBuffer = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
memoryBarrierImage = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
groupMemoryBarrier = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
imageAtomicAdd = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicMin = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicMax = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
@@ -164,44 +182,71 @@ textureGather = fn "gather lookup (pixel quad of 4 single channel samples at onc
|
||||
textureGatherOffset = fn "gather lookup (pixel quad of 4 single channel samples at once) with offset. Component 0: x, 1: y ... is ignored for shadow samplers instead reference value must be passed. Only 2D/Cube. Illegal for MS. - (vec4)(samplerN, vecN coord, [float shadowRefZ], intN offset / intN offset[4] , [int comp])",
|
||||
texelFetch = fn "integer coordinate lookup for a single texel. No lod parameter for Buffer, MS, Rect. Illegal for Cube - (vec4)(samplerN, intN coord, [int lod/sample])",
|
||||
texelFetchOffset = fn "integer coordinate lookup for a single texel with offset. No lod parameter for Buffer, MS, Rect. Illegal for Cube, Buffer, MS. - (vec4)(samplerN, intN coord, [int lod/sample], intN offset)",
|
||||
|
||||
anyInvocationARB = fn "returns true if and only if <value> is true for at least one active invocation in the group. - (bool)(bool value)",
|
||||
allInvocationsARB = fn "returns true if and only if <value> is true for all active invocations in the group - (bool)(bool value)",
|
||||
allInvocationsEqualARB = fn "returns true if <value> is the same for all active invocation in the group. - (bool)(bool value)",
|
||||
}
|
||||
|
||||
local keyw =
|
||||
[[int uint half float bool double
|
||||
vec2 vec3 vec4 dvec2 dvec3 dvec4
|
||||
ivec2 ivec3 ivec4 uvec2 uvec3 uvec4 bvec2 bvec3 bvec4
|
||||
mat2 mat3 mat4 mat2x2 mat3x3 mat4x4 mat2x3 mat3x2 mat4x2 mat2x4 mat4x3 mat3x4
|
||||
dmat2 dmat3 dmat4 dmat2x2 dmat3x3 dmat4x4 dmat2x3 dmat3x2 dmat4x2 dmat2x4 dmat4x3 dmat3x4
|
||||
struct typedef void
|
||||
usampler1D usampler2D usampler3D usampler2DRect usamplerCube isampler1DArray usampler2DARRAY usamplerCubeArray usampler2DMS usampler2DMSArray
|
||||
isampler1D isampler2D isampler3D isampler2DRect isamplerCube isampler1DArray isampler2DARRAY isamplerCubeArray isampler2DMS isampler2DMSArray
|
||||
sampler1D sampler2D sampler3D sampler2DRect samplerCube sampler1DArray sampler2DArray samplerCubeArray sampler2DMS sampler2DMSArray
|
||||
sampler1DShadow sampler2DShadow sampler2DRectShadow sampler1DArrayShadow sampler2DArrayShadow samplerCubeArrayShadow
|
||||
usamplerBuffer isamplerBuffer samplerBuffer
|
||||
in out inout uniform const centroid sample attribute varying patch
|
||||
return switch case for do while if else break continue
|
||||
layout location vertices line_strip triangle_strip max_vertices stream
|
||||
triangles quads equal_spacing isolines fractional_even_spacing
|
||||
fractional_odd_spacing cw ccw point_mode lines_adjacency triangles_adjacency
|
||||
invocations
|
||||
origin_upper_left pixel_center_integer
|
||||
smooth flat noperspective highp mediump lowp shared packed std140 row_major column_major
|
||||
gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_Color gl_SecondaryColor
|
||||
subroutine gl_Position
|
||||
gl_VertexID gl_InstanceID gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1
|
||||
gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6
|
||||
gl_MultiTexCoord7 gl_FogCoord gl_PointSize gl_ClipDistance
|
||||
gl_TexCoord gl_FogFragCoord gl_ClipVertex gl_in
|
||||
gl_PatchVerticesIn
|
||||
gl_PrimitiveID gl_InvocationID gl_TessLevelOuter gl_TessLevelInner gl_TessCoord
|
||||
gl_InvocationID gl_PrimitiveIDIn gl_Layer gl_ViewportIndex gl_FrontFacing
|
||||
gl_PointCoord gl_SampleID gl_SamplePosition gl_FragColor
|
||||
gl_FragData gl_FragDepth gl_SampleMask
|
||||
[[ int uint half float bool double atomic_uint binding offset
|
||||
vec2 vec3 vec4 dvec2 dvec3 dvec4
|
||||
ivec2 ivec3 ivec4 uvec2 uvec3 uvec4 bvec2 bvec3 bvec4
|
||||
mat2 mat3 mat4 mat2x2 mat3x3 mat4x4 mat2x3 mat3x2 mat4x2 mat2x4 mat4x3 mat3x4
|
||||
dmat2 dmat3 dmat4 dmat2x2 dmat3x3 dmat4x4 dmat2x3 dmat3x2 dmat4x2 dmat2x4 dmat4x3 dmat3x4
|
||||
float16_t f16vec2 f16vec3 f16vec4
|
||||
float32_t f32vec2 f32vec3 f32vec4
|
||||
float64_t f64vec2 f64vec3 f64vec4
|
||||
int8_t i8vec2 i8vec3 i8vec4
|
||||
int8_t i8vec2 i8vec3 i8vec4
|
||||
int16_t i16vec2 i16vec3 i16vec4
|
||||
int32_t i32vec2 i32vec3 i32vec4
|
||||
int64_t i64vec2 i64vec3 i64vec4
|
||||
uint8_t u8vec2 u8vec3 u8vec4
|
||||
uint16_t u16vec2 u16vec3 u16vec4
|
||||
uint32_t u32vec2 u32vec3 u32vec4
|
||||
uint64_t u64vec2 u64vec3 u64vec4
|
||||
struct typedef void
|
||||
usampler1D usampler2D usampler3D usampler2DRect usamplerCube isampler1DArray usampler2DARRAY usamplerCubeArray usampler2DMS usampler2DMSArray
|
||||
isampler1D isampler2D isampler3D isampler2DRect isamplerCube isampler1DArray isampler2DARRAY isamplerCubeArray isampler2DMS isampler2DMSArray
|
||||
sampler1D sampler2D sampler3D sampler2DRect samplerCube sampler1DArray sampler2DArray samplerCubeArray sampler2DMS sampler2DMSArray
|
||||
sampler1DShadow sampler2DShadow sampler2DRectShadow sampler1DArrayShadow sampler2DArrayShadow samplerCubeArrayShadow
|
||||
usamplerBuffer isamplerBuffer samplerBuffer samplerRenderbuffer isamplerRenderbuffer usamplerRenderbuffer
|
||||
in out inout uniform const centroid sample attribute varying patch index true false
|
||||
return switch case for do while if else break continue main inline
|
||||
layout location vertices line_strip triangle_strip max_vertices stream
|
||||
triangles quads equal_spacing isolines fractional_even_spacing lines points
|
||||
fractional_odd_spacing cw ccw point_mode lines_adjacency triangles_adjacency
|
||||
invocations offset align xfb_offset xfb_buffer
|
||||
origin_upper_left pixel_center_integer depth_greater depth_greater depth_greater depth_unchanged
|
||||
smooth flat noperspective highp mediump lowp shared packed std140 std430 row_major column_major buffer
|
||||
gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_Color gl_SecondaryColor
|
||||
subroutine gl_Position gl_FragCoord
|
||||
gl_VertexID gl_InstanceID gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1
|
||||
gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6
|
||||
gl_MultiTexCoord7 gl_FogCoord gl_PointSize gl_ClipDistance
|
||||
gl_TexCoord gl_FogFragCoord gl_ClipVertex gl_in
|
||||
gl_PatchVerticesIn
|
||||
gl_PrimitiveID gl_InvocationID gl_TessLevelOuter gl_TessLevelInner gl_TessCoord
|
||||
gl_InvocationID gl_PrimitiveIDIn gl_Layer gl_ViewportIndex gl_FrontFacing
|
||||
gl_PointCoord gl_SampleID gl_SamplePosition gl_FragColor
|
||||
gl_FragData gl_FragDepth gl_SampleMask
|
||||
gl_NumWorkGroups gl_WorkGroupSize gl_WorkGroupID gl_LocalInvocationID gl_GlobalInvocationID gl_LocalInvocationIndex
|
||||
local_size_x local_size_y local_size_z
|
||||
gl_BaseVertexARB gl_BaseInstanceARB gl_DrawIDARB
|
||||
|
||||
coherent volatile restrict readonly writeonly
|
||||
image1D image2D image3D image2DRect imageCube imageBuffer image1DArray image2DArray imageCubeArray image2DMS image2DMSArray
|
||||
uimage1D uimage2D uimage3D uimage2DRect uimageCube uimageBuffer uimage1DArray uimage2DArray uimageCubeArray uimage2DMS uimage2DMSArray
|
||||
iimage1D iimage2D iimage3D iimage2DRect iimageCube iimageBuffer iimage1DArray iimage2DArray iimageCubeArray iimage2DMS iimage2DMSArray
|
||||
size1x8 size1x16 size1x32 size2x32 size4x32 rgba32f rgba16f rg32f rg16f r32f r16f rgba8 rgba16 r11f_g11f_b10f rgb10_a2ui
|
||||
rgb10_a2i rg16 rg8 r16 r8 rgba32i rgba16i rgba8i rg32i rg16i rg8i r32i r16i r8i rgba32ui rgba16ui rgba8ui rg32ui rg16ui rg8ui
|
||||
r32ui r16ui r8ui rgba16_snorm rgba8_snorm rg16_snorm rg8_snorm r16_snorm r8_snorm
|
||||
]]
|
||||
|
||||
-- keywords - shouldn't be left out
|
||||
for w in keyw:gmatch("([a-zA-Z_0-9]+)") do
|
||||
api[w] = {type="keyword"}
|
||||
api[w] = {type="keyword"}
|
||||
end
|
||||
|
||||
return api
|
||||
|
||||
60
api/hlsl/dx11.lua
Normal file
60
api/hlsl/dx11.lua
Normal file
@@ -0,0 +1,60 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local function fn (description)
|
||||
local description2,returns,args = description:match("(.+)%-%s*(%b())%s*(%b())")
|
||||
if not description2 then
|
||||
return {type="function",description=description,
|
||||
returns="(?)"}
|
||||
end
|
||||
return {type="function",description=description2,
|
||||
returns=returns:gsub("^%s+",""):gsub("%s+$",""), args = args}
|
||||
end
|
||||
|
||||
local api = {}
|
||||
|
||||
local funcs = [[
|
||||
abs acos all AllMemoryBarrier AllMemoryBarrierWithGroupSync any asdouble asfloat asin asint asuint atan atan2 ceil clamp clip cos cosh countbits cross ddx ddx_coarse ddx_fine ddy ddy_coards ddy_fine degrees determinant DeviceMemoryBarrier DeviceMemoryBarrierWithGroupSync distance dot dst EvaluateAttributeAtCentroid EvaluateAttributeAtSample EvaluateAttributeSnapped exp exp2 f16tof32 f32tof16 faceforward firstbithigh firstbitlow floor fmod frac frexp fwidth GetRenderTargetSampleCount GetRenderTargetSamplePosition GroupMemoryBarrier GroupMemoryBarrierWithGroupSync InterlockedAdd InterlockedAnd InterlockedCompareExchange InterlockedExchange InterlockedMax InterlockedMin IntterlockedOr InterlockedXor isfinite isinf isnan ldexp length lerp lit log log10 log2 mad max min modf mul normalize pow Process2DQuadTessFactorsAvg Process2DQuadTessFactorsMax Process2DQuadTessFactorsMin ProcessIsolineTessFactors ProcessQuadTessFactorsAvg ProcessQuadTessFactorsMax ProcessQuadTessFactorsMin ProcessTriTessFactorsAvg ProcessTriTessFactorsMax ProcessTriTessFactorsMin radians rcp reflect refract reversebits round rsqrt saturate sign sin sincos sinh smoothstep sqrt step tan tanh transpose trunc
|
||||
]]
|
||||
|
||||
for w in funcs:gmatch("([_%w]+)") do
|
||||
api[w] = {type="function",returns="(?)"}
|
||||
end
|
||||
|
||||
local objfuncs = [[
|
||||
Append RestartStrip CalculateLevelOfDetail CalculateLevelOfDetailUnclamped GetDimensions GetSamplePosition Load Sample SampleBias SampleCmp SampleCmpLevelZero SampleGrad SampleLevel Load2 Load3 Load4 Consume Store Store2 Store3 Store4 DecrementCounter IncrementCounter mips Gather GatherRed GatherGreen GatherBlue GatherAlpha GatherCmp GatherCmpRed GatherCmpGreen GatherCmpBlue GatherCmpAlpha
|
||||
]]
|
||||
|
||||
for w in objfuncs:gmatch("([_%w]+)") do
|
||||
api[w] = {type="function",returns="(?)"}
|
||||
end
|
||||
|
||||
local keyw =
|
||||
[[break continue if else switch return for while do typedef namespace true false compile
|
||||
const void struct static extern register volatile inline target nointerpolation shared uniform row_major column_major snorm unorm
|
||||
bool bool1 bool2 bool3 bool4 int int1 int2 int3 int4 uint uint1 uint2 uint3 uint4 half half1 half2 half3 half4 float float1 float2 float3 float4 double double1 double2 double3 double4
|
||||
matrix bool1x1 bool1x2 bool1x3 bool1x4 bool2x1 bool2x2 bool2x3 bool2x4 bool3x1 bool3x2 bool3x3 bool3x4 bool4x1 bool4x2 bool4x3 bool4x4
|
||||
int1x1 int1x2 int1x3 int1x4 int2x1 int2x2 int2x3 int2x4 int3x1 int3x2 int3x3 int3x4 int4x1 int4x2 int4x3 int4x4 uint1x1 uint1x2 uint1x3 uint1x4
|
||||
uint2x1 uint2x2 uint2x3 uint2x4 uint3x1 uint3x2 uint3x3 uint3x4 uint4x1 uint4x2 uint4x3 uint4x4 half1x1 half1x2 half1x3 half1x4 half2x1 half2x2
|
||||
half2x3 half2x4 half3x1 half3x2 half3x3 half3x4 half4x1 half4x2 half4x3 half4x4 float1x1 float1x2 float1x3 float1x4 float2x1 float2x2 float2x3
|
||||
float2x4 float3x1 float3x2 float3x3 float3x4 float4x1 float4x2 float4x3 float4x4 double1x1 double1x2 double1x3 double1x4 double2x1 double2x2
|
||||
double2x3 double2x4 double3x1 double3x2 double3x3 double3x4 double4x1 double4x2 double4x3 double4x4 cbuffer groupshared SamplerState
|
||||
in out inout vector matrix interface class point triangle line lineadj triangleadj
|
||||
|
||||
Texture Texture1D Texture1DArray Texture2D Texture2DArray Texture2DMS Texture2DMSArray Texture3D TextureCube RWTexture1D RWTexture1DArray RWTexture2D RWTexture2DArray RWTexture3D
|
||||
Buffer StructuredBuffer AppendStructuredBuffer ConsumeStructuredBuffer RWBuffer RWStructuredBuffer ByteAddressBuffer RWByteAddressBuffer PointStream TriangleStream LineStream InputPatch OutputPatch
|
||||
unroll loop flatten branch earlydepthstencil allow_uav_condition domain instance maxtessfactor outputcontrolpoints outputtopology partitioning patchconstantfunc numthreads maxvertexcount precise
|
||||
|
||||
SV_DispatchThreadID SV_DomainLocation SV_GroupID SV_GroupIndex SV_GroupThreadID SV_GSInstanceID SV_InsideTessFactor SV_OutputControlPointID SV_Coverage SV_Depth SV_Position SV_IsFrontFace SV_RenderTargetArrayIndex SV_SampleIndex SV_ViewportArrayIndex SV_InstanceID SV_PrimitiveID SV_VertexID
|
||||
SV_ClipDistance SV_CullDistance SV_Target
|
||||
|
||||
]]
|
||||
|
||||
-- keywords - shouldn't be left out
|
||||
for w in keyw:gmatch("([_%w]+)") do
|
||||
api[w] = {type="keyword"}
|
||||
end
|
||||
|
||||
return api
|
||||
|
||||
|
||||
553
api/lua/anttweakbar.lua
Normal file
553
api/lua/anttweakbar.lua
Normal file
@@ -0,0 +1,553 @@
|
||||
--[[// tw tweakbar | AntTweakBar UI
|
||||
enum { TW_VERSION = 114 }
|
||||
|
||||
typedef enum ETwType {
|
||||
TW_TYPE_UNDEF,
|
||||
TW_TYPE_BOOLCPP,
|
||||
TW_TYPE_BOOL8,
|
||||
TW_TYPE_BOOL16,
|
||||
TW_TYPE_BOOL32,
|
||||
TW_TYPE_CHAR,
|
||||
TW_TYPE_INT8,
|
||||
TW_TYPE_UINT8,
|
||||
TW_TYPE_INT16,
|
||||
TW_TYPE_UINT16,
|
||||
TW_TYPE_INT32,
|
||||
TW_TYPE_UINT32,
|
||||
TW_TYPE_FLOAT,
|
||||
TW_TYPE_DOUBLE,
|
||||
TW_TYPE_COLOR32, // 32 bits color. Order is RGBA if API is OpenGL or Direct3D10, and inversed if API is Direct3D9 (can be modified by defining 'colorOrder=...', see doc)
|
||||
TW_TYPE_COLOR3F, // 3 floats color. Order is RGB.
|
||||
TW_TYPE_COLOR4F, // 4 floats color. Order is RGBA.
|
||||
TW_TYPE_CDSTRING, // Null-terminated C Dynamic String (pointer to an array of char dynamically allocated with malloc/realloc/strdup)
|
||||
TW_TYPE__TEMP1, //
|
||||
TW_TYPE_QUAT4F, // 4 floats encoding a quaternion {qx,qy,qz,qs}
|
||||
TW_TYPE_QUAT4D, // 4 doubles encoding a quaternion {qx,qy,qz,qs}
|
||||
TW_TYPE_DIR3F, // direction vector represented by 3 floats
|
||||
TW_TYPE_DIR3D, // direction vector represented by 3 doubles
|
||||
TW_TYPE_CSSTRING_LEN0 = 0x30000000,
|
||||
TW_TYPE_CSSTRING_LEN256 = 0x30000000 + 256,
|
||||
} TwType;
|
||||
|
||||
typedef struct CTwEnumVal {
|
||||
int Value;
|
||||
const char * Label;
|
||||
} TwEnumVal;
|
||||
|
||||
typedef struct CTwStructMember {
|
||||
const char * Name;
|
||||
TwType Type;
|
||||
size_t Offset;
|
||||
const char * DefString;
|
||||
} TwStructMember;
|
||||
|
||||
typedef enum ETwParamValueType {
|
||||
TW_PARAM_INT32,
|
||||
TW_PARAM_FLOAT,
|
||||
TW_PARAM_DOUBLE,
|
||||
TW_PARAM_CSTRING // Null-terminated array of char (ie, c-string)
|
||||
} TwParamValueType;
|
||||
|
||||
typedef enum ETwGraphAPI {
|
||||
TW_OPENGL = 1,
|
||||
TW_DIRECT3D9 = 2,
|
||||
TW_DIRECT3D10 = 3,
|
||||
TW_DIRECT3D11 = 4
|
||||
} TwGraphAPI;
|
||||
|
||||
typedef enum ETwKeyModifier {
|
||||
TW_KMOD_NONE = 0x0000, // same codes as SDL keysym.mod
|
||||
TW_KMOD_SHIFT = 0x0003,
|
||||
TW_KMOD_CTRL = 0x00c0,
|
||||
TW_KMOD_ALT = 0x0100,
|
||||
TW_KMOD_META = 0x0c00
|
||||
} TwKeyModifier;
|
||||
|
||||
typedef enum EKeySpecial {
|
||||
TW_KEY_BACKSPACE = '\b',
|
||||
TW_KEY_TAB = '\t',
|
||||
TW_KEY_CLEAR = 0x0c,
|
||||
TW_KEY_RETURN = '\r',
|
||||
TW_KEY_PAUSE = 0x13,
|
||||
TW_KEY_ESCAPE = 0x1b,
|
||||
TW_KEY_SPACE = ' ',
|
||||
TW_KEY_DELETE = 0x7f,
|
||||
TW_KEY_UP = 273,
|
||||
TW_KEY_DOWN,
|
||||
TW_KEY_RIGHT,
|
||||
TW_KEY_LEFT,
|
||||
TW_KEY_INSERT,
|
||||
TW_KEY_HOME,
|
||||
TW_KEY_END,
|
||||
TW_KEY_PAGE_UP,
|
||||
TW_KEY_PAGE_DOWN,
|
||||
TW_KEY_F1,
|
||||
TW_KEY_F2,
|
||||
TW_KEY_F3,
|
||||
TW_KEY_F4,
|
||||
TW_KEY_F5,
|
||||
TW_KEY_F6,
|
||||
TW_KEY_F7,
|
||||
TW_KEY_F8,
|
||||
TW_KEY_F9,
|
||||
TW_KEY_F10,
|
||||
TW_KEY_F11,
|
||||
TW_KEY_F12,
|
||||
TW_KEY_F13,
|
||||
TW_KEY_F14,
|
||||
TW_KEY_F15,
|
||||
TW_KEY_LAST
|
||||
} TwKeySpecial;
|
||||
|
||||
typedef enum ETwMouseAction {
|
||||
TW_MOUSE_RELEASED,
|
||||
TW_MOUSE_PRESSED
|
||||
} TwMouseAction;
|
||||
|
||||
typedef enum ETwMouseButtonID {
|
||||
TW_MOUSE_LEFT = 1,
|
||||
TW_MOUSE_MIDDLE = 2,
|
||||
TW_MOUSE_RIGHT = 3
|
||||
} TwMouseButtonID;
|
||||
|
||||
typedef void (*TwSetVarCallback) ( const void *value, void *clientData );
|
||||
typedef void (*TwGetVarCallback) ( void *value, void *clientData );
|
||||
typedef void (*TwButtonCallback) ( void *clientData );
|
||||
typedef void (*TwSummaryCallback) ( char *summaryString, size_t summaryMaxLength, const void *value, void *clientData );
|
||||
typedef void (*TwCopyCDStringToClient) ( char **destinationClientStringPtr, const char *sourceString );
|
||||
typedef void (*TwErrorHandler) ( const char *errorMessage );
|
||||
typedef void (*TwGLUTmousebuttonfun) ( int glutButton, int glutState, int mouseX, int mouseY );
|
||||
typedef void (*TwGLUTmousemotionfun) ( int mouseX, int mouseY );
|
||||
typedef void (*TwGLUTkeyboardfun) ( unsigned char glutKey, int mouseX, int mouseY );
|
||||
typedef void (*TwGLUTspecialfun) ( int glutKey, int mouseX, int mouseY );
|
||||
|
||||
typedef struct CTwBar TwBar;
|
||||
|
||||
TwBar* TwNewBar( const char *barName );
|
||||
int TwDeleteBar( TwBar *bar );
|
||||
int TwDeleteAllBars( );
|
||||
int TwSetTopBar( const TwBar *bar );
|
||||
TwBar* TwGetTopBar( );
|
||||
int TwSetBottomBar( const TwBar *bar );
|
||||
TwBar* TwGetBottomBar( );
|
||||
const char* TwGetBarName( TwBar *bar );
|
||||
int TwGetBarCount( );
|
||||
TwBar* TwGetBarByIndex( int barIndex );
|
||||
TwBar* TwGetBarByName( const char *barName );
|
||||
int TwRefreshBar( TwBar *bar );
|
||||
int TwAddVarRW( TwBar *bar, const char *name, TwType type, void *var, const char *def );
|
||||
int TwAddVarRO( TwBar *bar, const char *name, TwType type, const void *var, const char *def );
|
||||
int TwAddVarCB( TwBar *bar, const char *name, TwType type, TwSetVarCallback setCallback, TwGetVarCallback getCallback, void *clientData, const char *def );
|
||||
int TwAddButton( TwBar *bar, const char *name, TwButtonCallback callback, void *clientData, const char *def );
|
||||
int TwAddSeparator( TwBar *bar, const char *name, const char *def );
|
||||
int TwRemoveVar( TwBar *bar, const char *name );
|
||||
int TwRemoveAllVars( TwBar *bar );
|
||||
int TwDefine( const char *def );
|
||||
TwType TwDefineEnum( const char *name, const TwEnumVal *enumValues, unsigned int nbValues );
|
||||
TwType TwDefineEnumFromString( const char *name, const char *enumString );
|
||||
TwType TwDefineStruct( const char *name, const TwStructMember *structMembers, unsigned int nbMembers, size_t structSize, TwSummaryCallback summaryCallback, void *summaryClientData );
|
||||
void TwCopyCDStringToClientFunc( TwCopyCDStringToClient copyCDStringFunc );
|
||||
void TwCopyCDStringToLibrary( char **destinationLibraryStringPtr, const char *sourceClientString );
|
||||
int TwGetParam( TwBar *bar, const char *varName, const char *paramName, TwParamValueType paramValueType, unsigned int outValueMaxCount, void *outValues );
|
||||
int TwSetParam( TwBar *bar, const char *varName, const char *paramName, TwParamValueType paramValueType, unsigned int inValueCount, const void *inValues );
|
||||
int TwInit( TwGraphAPI graphAPI, void *device );
|
||||
int TwTerminate();
|
||||
int TwDraw();
|
||||
int TwWindowSize( int width, int height);
|
||||
int TwSetCurrentWindow( int windowID); // multi-windows support
|
||||
int TwGetCurrentWindow();
|
||||
int TwWindowExists( int windowID);
|
||||
int TwKeyPressed( int key, int modifiers);
|
||||
int TwKeyTest( int key, int modifiers);
|
||||
int TwMouseButton( TwMouseAction action, TwMouseButtonID button);
|
||||
int TwMouseMotion( int mouseX, int mouseY);
|
||||
int TwMouseWheel( int pos);
|
||||
const char* TwGetLastError( );
|
||||
void TwHandleErrors( TwErrorHandler errorHandler);
|
||||
int TwEventSDL( const void *sdlEvent, unsigned char sdlMajorVersion, unsigned char sdlMinorVersion);
|
||||
int TwEventSDL12( const void *sdlEvent);
|
||||
int TwEventSDL13( const void *sdlEvent);
|
||||
int TwEventMouseButtonGLFW( int glfwButton, int glfwAction );
|
||||
int TwEventKeyGLFW( int glfwKey, int glfwAction );
|
||||
int TwEventCharGLFW( int glfwChar, int glfwAction );
|
||||
int TwEventMouseButtonGLUT( int glutButton, int glutState, int mouseX, int mouseY);
|
||||
int TwEventMouseMotionGLUT( int mouseX, int mouseY);
|
||||
int TwEventKeyboardGLUT( unsigned char glutKey, int mouseX, int mouseY );
|
||||
int TwEventSpecialGLUT( int glutKey, int mouseX, int mouseY );
|
||||
int TwGLUTModifiersFunc( int (*glutGetModifiersFunc)(void) );
|
||||
int TwEventSFML( const void *sfmlEvent, unsigned char sfmlMajorVersion, unsigned char sfmlMinorVersion);
|
||||
]]
|
||||
--auto-generated api from ffi headers
|
||||
local api =
|
||||
{
|
||||
["TW_TYPE_UNDEF"] = { type ='value', },
|
||||
["TW_TYPE_BOOLCPP"] = { type ='value', },
|
||||
["TW_TYPE_BOOL8"] = { type ='value', },
|
||||
["TW_TYPE_BOOL16"] = { type ='value', },
|
||||
["TW_TYPE_BOOL32"] = { type ='value', },
|
||||
["TW_TYPE_CHAR"] = { type ='value', },
|
||||
["TW_TYPE_INT8"] = { type ='value', },
|
||||
["TW_TYPE_UINT8"] = { type ='value', },
|
||||
["TW_TYPE_INT16"] = { type ='value', },
|
||||
["TW_TYPE_UINT16"] = { type ='value', },
|
||||
["TW_TYPE_INT32"] = { type ='value', },
|
||||
["TW_TYPE_UINT32"] = { type ='value', },
|
||||
["TW_TYPE_FLOAT"] = { type ='value', },
|
||||
["TW_TYPE_DOUBLE"] = { type ='value', },
|
||||
["TW_TYPE_COLOR32"] = { type ='value', },
|
||||
["TW_TYPE_COLOR3F"] = { type ='value', },
|
||||
["TW_TYPE_COLOR4F"] = { type ='value', },
|
||||
["TW_TYPE_CDSTRING"] = { type ='value', },
|
||||
["TW_TYPE__TEMP1"] = { type ='value', },
|
||||
["TW_TYPE_QUAT4F"] = { type ='value', },
|
||||
["TW_TYPE_QUAT4D"] = { type ='value', },
|
||||
["TW_TYPE_DIR3F"] = { type ='value', },
|
||||
["TW_TYPE_DIR3D"] = { type ='value', },
|
||||
["TW_TYPE_CSSTRING_LEN0"] = { type ='value', },
|
||||
["TW_TYPE_CSSTRING_LEN256"] = { type ='value', },
|
||||
["TW_PARAM_INT32"] = { type ='value', },
|
||||
["TW_PARAM_FLOAT"] = { type ='value', },
|
||||
["TW_PARAM_DOUBLE"] = { type ='value', },
|
||||
["TW_PARAM_CSTRING"] = { type ='value', },
|
||||
["TW_OPENGL"] = { type ='value', },
|
||||
["TW_DIRECT3D9"] = { type ='value', },
|
||||
["TW_DIRECT3D10"] = { type ='value', },
|
||||
["TW_DIRECT3D11"] = { type ='value', },
|
||||
["TW_KMOD_NONE"] = { type ='value', },
|
||||
["TW_KMOD_SHIFT"] = { type ='value', },
|
||||
["TW_KMOD_CTRL"] = { type ='value', },
|
||||
["TW_KMOD_ALT"] = { type ='value', },
|
||||
["TW_KMOD_META"] = { type ='value', },
|
||||
["TW_KEY_BACKSPACE"] = { type ='value', },
|
||||
["TW_KEY_TAB"] = { type ='value', },
|
||||
["TW_KEY_CLEAR"] = { type ='value', },
|
||||
["TW_KEY_RETURN"] = { type ='value', },
|
||||
["TW_KEY_PAUSE"] = { type ='value', },
|
||||
["TW_KEY_ESCAPE"] = { type ='value', },
|
||||
["TW_KEY_SPACE"] = { type ='value', },
|
||||
["TW_KEY_DELETE"] = { type ='value', },
|
||||
["TW_KEY_UP"] = { type ='value', },
|
||||
["TW_KEY_DOWN"] = { type ='value', },
|
||||
["TW_KEY_RIGHT"] = { type ='value', },
|
||||
["TW_KEY_LEFT"] = { type ='value', },
|
||||
["TW_KEY_INSERT"] = { type ='value', },
|
||||
["TW_KEY_HOME"] = { type ='value', },
|
||||
["TW_KEY_END"] = { type ='value', },
|
||||
["TW_KEY_PAGE_UP"] = { type ='value', },
|
||||
["TW_KEY_PAGE_DOWN"] = { type ='value', },
|
||||
["TW_KEY_F1"] = { type ='value', },
|
||||
["TW_KEY_F2"] = { type ='value', },
|
||||
["TW_KEY_F3"] = { type ='value', },
|
||||
["TW_KEY_F4"] = { type ='value', },
|
||||
["TW_KEY_F5"] = { type ='value', },
|
||||
["TW_KEY_F6"] = { type ='value', },
|
||||
["TW_KEY_F7"] = { type ='value', },
|
||||
["TW_KEY_F8"] = { type ='value', },
|
||||
["TW_KEY_F9"] = { type ='value', },
|
||||
["TW_KEY_F10"] = { type ='value', },
|
||||
["TW_KEY_F11"] = { type ='value', },
|
||||
["TW_KEY_F12"] = { type ='value', },
|
||||
["TW_KEY_F13"] = { type ='value', },
|
||||
["TW_KEY_F14"] = { type ='value', },
|
||||
["TW_KEY_F15"] = { type ='value', },
|
||||
["TW_KEY_LAST"] = { type ='value', },
|
||||
["TW_MOUSE_RELEASED"] = { type ='value', },
|
||||
["TW_MOUSE_PRESSED"] = { type ='value', },
|
||||
["TW_MOUSE_LEFT"] = { type ='value', },
|
||||
["TW_MOUSE_MIDDLE"] = { type ='value', },
|
||||
["TW_MOUSE_RIGHT"] = { type ='value', },
|
||||
["TwNewBar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwBar*)",
|
||||
valuetype = nil,
|
||||
args = "(const char *barName)", },
|
||||
["TwDeleteBar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar)", },
|
||||
["TwDeleteAllBars"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "()", },
|
||||
["TwSetTopBar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const TwBar *bar)", },
|
||||
["TwGetTopBar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwBar*)",
|
||||
valuetype = nil,
|
||||
args = "()", },
|
||||
["TwSetBottomBar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const TwBar *bar)", },
|
||||
["TwGetBottomBar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwBar*)",
|
||||
valuetype = nil,
|
||||
args = "()", },
|
||||
["TwGetBarName"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(const char*)",
|
||||
valuetype = "string",
|
||||
args = "(TwBar *bar)", },
|
||||
["TwGetBarCount"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "()", },
|
||||
["TwGetBarByIndex"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwBar*)",
|
||||
valuetype = nil,
|
||||
args = "(int barIndex)", },
|
||||
["TwGetBarByName"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwBar*)",
|
||||
valuetype = nil,
|
||||
args = "(const char *barName)", },
|
||||
["TwRefreshBar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar)", },
|
||||
["TwAddVarRW"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *name, TwType type, void *var, const char *def)", },
|
||||
["TwAddVarRO"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *name, TwType type, const void *var, const char *def)", },
|
||||
["TwAddVarCB"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *name, TwType type, TwSetVarCallback setCallback, TwGetVarCallback getCallback, void *clientData, const char *def)", },
|
||||
["TwAddButton"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *name, TwButtonCallback callback, void *clientData, const char *def)", },
|
||||
["TwAddSeparator"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *name, const char *def)", },
|
||||
["TwRemoveVar"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *name)", },
|
||||
["TwRemoveAllVars"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar)", },
|
||||
["TwDefine"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const char *def)", },
|
||||
["TwDefineEnum"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwType)",
|
||||
valuetype = nil,
|
||||
args = "(const char *name, const TwEnumVal *enumValues, unsigned int nbValues)", },
|
||||
["TwDefineEnumFromString"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwType)",
|
||||
valuetype = nil,
|
||||
args = "(const char *name, const char *enumString)", },
|
||||
["TwDefineStruct"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(TwType)",
|
||||
valuetype = nil,
|
||||
args = "(const char *name, const TwStructMember *structMembers, unsigned int nbMembers, size_t structSize, TwSummaryCallback summaryCallback, void *summaryClientData)", },
|
||||
["TwCopyCDStringToClientFunc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(TwCopyCDStringToClient copyCDStringFunc)", },
|
||||
["TwCopyCDStringToLibrary"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(char **destinationLibraryStringPtr, const char *sourceClientString)", },
|
||||
["TwGetParam"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *varName, const char *paramName, TwParamValueType paramValueType, unsigned int outValueMaxCount, void *outValues)", },
|
||||
["TwSetParam"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwBar *bar, const char *varName, const char *paramName, TwParamValueType paramValueType, unsigned int inValueCount, const void *inValues)", },
|
||||
["TwInit"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwGraphAPI graphAPI, void *device)", },
|
||||
["TwTerminate"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "()", },
|
||||
["TwDraw"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "()", },
|
||||
["TwWindowSize"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int width, int height)", },
|
||||
["TwSetCurrentWindow"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int windowID)", },
|
||||
["TwGetCurrentWindow"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "()", },
|
||||
["TwWindowExists"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int windowID)", },
|
||||
["TwKeyPressed"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int key, int modifiers)", },
|
||||
["TwKeyTest"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int key, int modifiers)", },
|
||||
["TwMouseButton"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(TwMouseAction action, TwMouseButtonID button)", },
|
||||
["TwMouseMotion"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int mouseX, int mouseY)", },
|
||||
["TwMouseWheel"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int pos)", },
|
||||
["TwGetLastError"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(const char*)",
|
||||
valuetype = "string",
|
||||
args = "()", },
|
||||
["TwHandleErrors"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(TwErrorHandler errorHandler)", },
|
||||
["TwEventSDL"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const void *sdlEvent, unsigned char sdlMajorVersion, unsigned char sdlMinorVersion)", },
|
||||
["TwEventSDL12"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const void *sdlEvent)", },
|
||||
["TwEventSDL13"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const void *sdlEvent)", },
|
||||
["TwEventMouseButtonGLFW"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int glfwButton, int glfwAction)", },
|
||||
["TwEventKeyGLFW"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int glfwKey, int glfwAction)", },
|
||||
["TwEventCharGLFW"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int glfwChar, int glfwAction)", },
|
||||
["TwEventMouseButtonGLUT"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int glutButton, int glutState, int mouseX, int mouseY)", },
|
||||
["TwEventMouseMotionGLUT"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int mouseX, int mouseY)", },
|
||||
["TwEventKeyboardGLUT"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(unsigned char glutKey, int mouseX, int mouseY)", },
|
||||
["TwEventSpecialGLUT"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int glutKey, int mouseX, int mouseY)", },
|
||||
["glutGetModifiersFunc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(void))", },
|
||||
["TwEventSFML"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const void *sfmlEvent, unsigned char sfmlMajorVersion, unsigned char sfmlMinorVersion)", },
|
||||
["TwEnumVal"] = { type ='class',
|
||||
description = "",
|
||||
childs = {
|
||||
["Value"] = { type ='value', description = "int ", valuetype = nil, },
|
||||
["Label"] = { type ='value', description = "const char * ", valuetype = "string", },
|
||||
}
|
||||
},
|
||||
["TwStructMember"] = { type ='class',
|
||||
description = "",
|
||||
childs = {
|
||||
["Name"] = { type ='value', description = "const char * ", valuetype = "string", },
|
||||
["Type"] = { type ='value', description = "TwType ", valuetype = nil, },
|
||||
["Offset"] = { type ='value', description = "size_t ", valuetype = nil, },
|
||||
["DefString"] = { type ='value', description = "const char * ", valuetype = "string", },
|
||||
}
|
||||
},
|
||||
}
|
||||
return {
|
||||
tw = {
|
||||
type = 'lib',
|
||||
description = "AntTweakBar UI",
|
||||
childs = api,
|
||||
},
|
||||
tweakbar = {
|
||||
type = 'lib',
|
||||
description = "AntTweakBar UI",
|
||||
childs = api,
|
||||
},
|
||||
}
|
||||
|
||||
1222
api/lua/baselib.lua
1222
api/lua/baselib.lua
File diff suppressed because it is too large
Load Diff
3795
api/lua/cg30.lua
3795
api/lua/cg30.lua
File diff suppressed because it is too large
Load Diff
@@ -1,572 +0,0 @@
|
||||
--[[// cggl cgGL | Cg OpenGL runtime
|
||||
typedef unsigned int GLuint;
|
||||
typedef unsigned int GLenum;
|
||||
typedef void GLvoid;
|
||||
typedef int GLsizei;
|
||||
typedef int GLint;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_GL_MATRIX_IDENTITY = 0,
|
||||
CG_GL_MATRIX_TRANSPOSE = 1,
|
||||
CG_GL_MATRIX_INVERSE = 2,
|
||||
CG_GL_MATRIX_INVERSE_TRANSPOSE = 3,
|
||||
CG_GL_MODELVIEW_MATRIX = 4,
|
||||
CG_GL_PROJECTION_MATRIX = 5,
|
||||
CG_GL_TEXTURE_MATRIX = 6,
|
||||
CG_GL_MODELVIEW_PROJECTION_MATRIX = 7,
|
||||
CG_GL_VERTEX = 8,
|
||||
CG_GL_FRAGMENT = 9,
|
||||
CG_GL_GEOMETRY = 10,
|
||||
CG_GL_TESSELLATION_CONTROL = 11,
|
||||
CG_GL_TESSELLATION_EVALUATION = 12
|
||||
} CGGLenum;
|
||||
|
||||
CGbool cgGLIsProfileSupported(CGprofile profile);
|
||||
void cgGLEnableProfile(CGprofile profile);
|
||||
void cgGLDisableProfile(CGprofile profile);
|
||||
CGprofile cgGLGetLatestProfile(CGGLenum profile_type);
|
||||
void cgGLSetOptimalOptions(CGprofile profile);
|
||||
char const ** cgGLGetOptimalOptions(CGprofile profile);
|
||||
void cgGLLoadProgram(CGprogram program);
|
||||
void cgGLUnloadProgram(CGprogram program);
|
||||
CGbool cgGLIsProgramLoaded(CGprogram program);
|
||||
void cgGLBindProgram(CGprogram program);
|
||||
void cgGLUnbindProgram(CGprofile profile);
|
||||
GLuint cgGLGetProgramID(CGprogram program);
|
||||
void cgGLSetParameter1f(CGparameter param, float x);
|
||||
void cgGLSetParameter2f(CGparameter param, float x, float y);
|
||||
void cgGLSetParameter3f(CGparameter param, float x, float y, float z);
|
||||
void cgGLSetParameter4f(CGparameter param, float x, float y, float z, float w);
|
||||
void cgGLSetParameter1fv(CGparameter param, const float *v);
|
||||
void cgGLSetParameter2fv(CGparameter param, const float *v);
|
||||
void cgGLSetParameter3fv(CGparameter param, const float *v);
|
||||
void cgGLSetParameter4fv(CGparameter param, const float *v);
|
||||
void cgGLSetParameter1d(CGparameter param, double x);
|
||||
void cgGLSetParameter2d(CGparameter param, double x, double y);
|
||||
void cgGLSetParameter3d(CGparameter param, double x, double y, double z);
|
||||
void cgGLSetParameter4d(CGparameter param, double x, double y, double z, double w);
|
||||
void cgGLSetParameter1dv(CGparameter param, const double *v);
|
||||
void cgGLSetParameter2dv(CGparameter param, const double *v);
|
||||
void cgGLSetParameter3dv(CGparameter param, const double *v);
|
||||
void cgGLSetParameter4dv(CGparameter param, const double *v);
|
||||
void cgGLGetParameter1f(CGparameter param, float *v);
|
||||
void cgGLGetParameter2f(CGparameter param, float *v);
|
||||
void cgGLGetParameter3f(CGparameter param, float *v);
|
||||
void cgGLGetParameter4f(CGparameter param, float *v);
|
||||
void cgGLGetParameter1d(CGparameter param, double *v);
|
||||
void cgGLGetParameter2d(CGparameter param, double *v);
|
||||
void cgGLGetParameter3d(CGparameter param, double *v);
|
||||
void cgGLGetParameter4d(CGparameter param, double *v);
|
||||
void cgGLSetParameterArray1f(CGparameter param, long offset, long nelements, const float *v);
|
||||
void cgGLSetParameterArray2f(CGparameter param, long offset, long nelements, const float *v);
|
||||
void cgGLSetParameterArray3f(CGparameter param, long offset, long nelements, const float *v);
|
||||
void cgGLSetParameterArray4f(CGparameter param, long offset, long nelements, const float *v);
|
||||
void cgGLSetParameterArray1d(CGparameter param, long offset, long nelements, const double *v);
|
||||
void cgGLSetParameterArray2d(CGparameter param, long offset, long nelements, const double *v);
|
||||
void cgGLSetParameterArray3d(CGparameter param, long offset, long nelements, const double *v);
|
||||
void cgGLSetParameterArray4d(CGparameter param, long offset, long nelements, const double *v);
|
||||
void cgGLGetParameterArray1f(CGparameter param, long offset, long nelements, float *v);
|
||||
void cgGLGetParameterArray2f(CGparameter param, long offset, long nelements, float *v);
|
||||
void cgGLGetParameterArray3f(CGparameter param, long offset, long nelements, float *v);
|
||||
void cgGLGetParameterArray4f(CGparameter param, long offset, long nelements, float *v);
|
||||
void cgGLGetParameterArray1d(CGparameter param, long offset, long nelements, double *v);
|
||||
void cgGLGetParameterArray2d(CGparameter param, long offset, long nelements, double *v);
|
||||
void cgGLGetParameterArray3d(CGparameter param, long offset, long nelements, double *v);
|
||||
void cgGLGetParameterArray4d(CGparameter param, long offset, long nelements, double *v);
|
||||
void cgGLSetParameterPointer(CGparameter param, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
|
||||
void cgGLEnableClientState(CGparameter param);
|
||||
void cgGLDisableClientState(CGparameter param);
|
||||
void cgGLSetMatrixParameterdr(CGparameter param, const double *matrix);
|
||||
void cgGLSetMatrixParameterfr(CGparameter param, const float *matrix);
|
||||
void cgGLSetMatrixParameterdc(CGparameter param, const double *matrix);
|
||||
void cgGLSetMatrixParameterfc(CGparameter param, const float *matrix);
|
||||
void cgGLGetMatrixParameterdr(CGparameter param, double *matrix);
|
||||
void cgGLGetMatrixParameterfr(CGparameter param, float *matrix);
|
||||
void cgGLGetMatrixParameterdc(CGparameter param, double *matrix);
|
||||
void cgGLGetMatrixParameterfc(CGparameter param, float *matrix);
|
||||
void cgGLSetStateMatrixParameter(CGparameter param, CGGLenum matrix, CGGLenum transform);
|
||||
void cgGLSetMatrixParameterArrayfc(CGparameter param, long offset, long nelements, const float *matrices);
|
||||
void cgGLSetMatrixParameterArrayfr(CGparameter param, long offset, long nelements, const float *matrices);
|
||||
void cgGLSetMatrixParameterArraydc(CGparameter param, long offset, long nelements, const double *matrices);
|
||||
void cgGLSetMatrixParameterArraydr(CGparameter param, long offset, long nelements, const double *matrices);
|
||||
void cgGLGetMatrixParameterArrayfc(CGparameter param, long offset, long nelements, float *matrices);
|
||||
void cgGLGetMatrixParameterArrayfr(CGparameter param, long offset, long nelements, float *matrices);
|
||||
void cgGLGetMatrixParameterArraydc(CGparameter param, long offset, long nelements, double *matrices);
|
||||
void cgGLGetMatrixParameterArraydr(CGparameter param, long offset, long nelements, double *matrices);
|
||||
void cgGLSetTextureParameter(CGparameter param, GLuint texobj);
|
||||
GLuint cgGLGetTextureParameter(CGparameter param);
|
||||
void cgGLEnableTextureParameter(CGparameter param);
|
||||
void cgGLDisableTextureParameter(CGparameter param);
|
||||
GLenum cgGLGetTextureEnum(CGparameter param);
|
||||
void cgGLSetManageTextureParameters(CGcontext ctx, CGbool flag);
|
||||
CGbool cgGLGetManageTextureParameters(CGcontext ctx);
|
||||
void cgGLSetupSampler(CGparameter param, GLuint texobj);
|
||||
void cgGLRegisterStates(CGcontext ctx);
|
||||
void cgGLEnableProgramProfiles(CGprogram program);
|
||||
void cgGLDisableProgramProfiles(CGprogram program);
|
||||
void cgGLSetDebugMode(CGbool debug);
|
||||
CGbuffer cgGLCreateBuffer(CGcontext context, int size, const void *data, GLenum bufferUsage);
|
||||
GLuint cgGLGetBufferObject(CGbuffer buffer);
|
||||
|
||||
]]
|
||||
--auto-generated api from ffi headers
|
||||
local api =
|
||||
{
|
||||
["CGGLenum"] = { type ='value', description = "", valuetype = nil, },
|
||||
["CG_GL_MATRIX_IDENTITY"] = { type ='value', },
|
||||
["CG_GL_MATRIX_TRANSPOSE"] = { type ='value', },
|
||||
["CG_GL_MATRIX_INVERSE"] = { type ='value', },
|
||||
["CG_GL_MATRIX_INVERSE_TRANSPOSE"] = { type ='value', },
|
||||
["CG_GL_MODELVIEW_MATRIX"] = { type ='value', },
|
||||
["CG_GL_PROJECTION_MATRIX"] = { type ='value', },
|
||||
["CG_GL_TEXTURE_MATRIX"] = { type ='value', },
|
||||
["CG_GL_MODELVIEW_PROJECTION_MATRIX"] = { type ='value', },
|
||||
["CG_GL_VERTEX"] = { type ='value', },
|
||||
["CG_GL_FRAGMENT"] = { type ='value', },
|
||||
["CG_GL_GEOMETRY"] = { type ='value', },
|
||||
["CG_GL_TESSELLATION_CONTROL"] = { type ='value', },
|
||||
["CG_GL_TESSELLATION_EVALUATION"] = { type ='value', },
|
||||
["cgGLIsProfileSupported"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CGbool)",
|
||||
valuetype = nil,
|
||||
args = "(CGprofile profile)", },
|
||||
["cgGLEnableProfile"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprofile profile)", },
|
||||
["cgGLDisableProfile"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprofile profile)", },
|
||||
["cgGLGetLatestProfile"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CGprofile)",
|
||||
valuetype = nil,
|
||||
args = "(CGGLenum profile_type)", },
|
||||
["cgGLSetOptimalOptions"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprofile profile)", },
|
||||
["cgGLGetOptimalOptions"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(char const **)",
|
||||
valuetype = nil,
|
||||
args = "(CGprofile profile)", },
|
||||
["cgGLLoadProgram"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprogram program)", },
|
||||
["cgGLUnloadProgram"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprogram program)", },
|
||||
["cgGLIsProgramLoaded"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CGbool)",
|
||||
valuetype = nil,
|
||||
args = "(CGprogram program)", },
|
||||
["cgGLBindProgram"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprogram program)", },
|
||||
["cgGLUnbindProgram"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprofile profile)", },
|
||||
["cgGLGetProgramID"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLuint)",
|
||||
valuetype = nil,
|
||||
args = "(CGprogram program)", },
|
||||
["cgGLSetParameter1f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float x)", },
|
||||
["cgGLSetParameter2f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float x, float y)", },
|
||||
["cgGLSetParameter3f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float x, float y, float z)", },
|
||||
["cgGLSetParameter4f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float x, float y, float z, float w)", },
|
||||
["cgGLSetParameter1fv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const float *v)", },
|
||||
["cgGLSetParameter2fv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const float *v)", },
|
||||
["cgGLSetParameter3fv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const float *v)", },
|
||||
["cgGLSetParameter4fv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const float *v)", },
|
||||
["cgGLSetParameter1d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double x)", },
|
||||
["cgGLSetParameter2d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double x, double y)", },
|
||||
["cgGLSetParameter3d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double x, double y, double z)", },
|
||||
["cgGLSetParameter4d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double x, double y, double z, double w)", },
|
||||
["cgGLSetParameter1dv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const double *v)", },
|
||||
["cgGLSetParameter2dv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const double *v)", },
|
||||
["cgGLSetParameter3dv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const double *v)", },
|
||||
["cgGLSetParameter4dv"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const double *v)", },
|
||||
["cgGLGetParameter1f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float *v)", },
|
||||
["cgGLGetParameter2f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float *v)", },
|
||||
["cgGLGetParameter3f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float *v)", },
|
||||
["cgGLGetParameter4f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float *v)", },
|
||||
["cgGLGetParameter1d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double *v)", },
|
||||
["cgGLGetParameter2d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double *v)", },
|
||||
["cgGLGetParameter3d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double *v)", },
|
||||
["cgGLGetParameter4d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double *v)", },
|
||||
["cgGLSetParameterArray1f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const float *v)", },
|
||||
["cgGLSetParameterArray2f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const float *v)", },
|
||||
["cgGLSetParameterArray3f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const float *v)", },
|
||||
["cgGLSetParameterArray4f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const float *v)", },
|
||||
["cgGLSetParameterArray1d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const double *v)", },
|
||||
["cgGLSetParameterArray2d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const double *v)", },
|
||||
["cgGLSetParameterArray3d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const double *v)", },
|
||||
["cgGLSetParameterArray4d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const double *v)", },
|
||||
["cgGLGetParameterArray1f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, float *v)", },
|
||||
["cgGLGetParameterArray2f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, float *v)", },
|
||||
["cgGLGetParameterArray3f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, float *v)", },
|
||||
["cgGLGetParameterArray4f"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, float *v)", },
|
||||
["cgGLGetParameterArray1d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, double *v)", },
|
||||
["cgGLGetParameterArray2d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, double *v)", },
|
||||
["cgGLGetParameterArray3d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, double *v)", },
|
||||
["cgGLGetParameterArray4d"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, double *v)", },
|
||||
["cgGLSetParameterPointer"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer)", },
|
||||
["cgGLEnableClientState"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param)", },
|
||||
["cgGLDisableClientState"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param)", },
|
||||
["cgGLSetMatrixParameterdr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const double *matrix)", },
|
||||
["cgGLSetMatrixParameterfr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const float *matrix)", },
|
||||
["cgGLSetMatrixParameterdc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const double *matrix)", },
|
||||
["cgGLSetMatrixParameterfc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, const float *matrix)", },
|
||||
["cgGLGetMatrixParameterdr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double *matrix)", },
|
||||
["cgGLGetMatrixParameterfr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float *matrix)", },
|
||||
["cgGLGetMatrixParameterdc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, double *matrix)", },
|
||||
["cgGLGetMatrixParameterfc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, float *matrix)", },
|
||||
["cgGLSetStateMatrixParameter"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, CGGLenum matrix, CGGLenum transform)", },
|
||||
["cgGLSetMatrixParameterArrayfc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const float *matrices)", },
|
||||
["cgGLSetMatrixParameterArrayfr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const float *matrices)", },
|
||||
["cgGLSetMatrixParameterArraydc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const double *matrices)", },
|
||||
["cgGLSetMatrixParameterArraydr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, const double *matrices)", },
|
||||
["cgGLGetMatrixParameterArrayfc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, float *matrices)", },
|
||||
["cgGLGetMatrixParameterArrayfr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, float *matrices)", },
|
||||
["cgGLGetMatrixParameterArraydc"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, double *matrices)", },
|
||||
["cgGLGetMatrixParameterArraydr"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, long offset, long nelements, double *matrices)", },
|
||||
["cgGLSetTextureParameter"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, GLuint texobj)", },
|
||||
["cgGLGetTextureParameter"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLuint)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param)", },
|
||||
["cgGLEnableTextureParameter"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param)", },
|
||||
["cgGLDisableTextureParameter"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param)", },
|
||||
["cgGLGetTextureEnum"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLenum)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param)", },
|
||||
["cgGLSetManageTextureParameters"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGcontext ctx, CGbool flag)", },
|
||||
["cgGLGetManageTextureParameters"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CGbool)",
|
||||
valuetype = nil,
|
||||
args = "(CGcontext ctx)", },
|
||||
["cgGLSetupSampler"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGparameter param, GLuint texobj)", },
|
||||
["cgGLRegisterStates"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGcontext ctx)", },
|
||||
["cgGLEnableProgramProfiles"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprogram program)", },
|
||||
["cgGLDisableProgramProfiles"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGprogram program)", },
|
||||
["cgGLSetDebugMode"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(CGbool debug)", },
|
||||
["cgGLCreateBuffer"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CGbuffer)",
|
||||
valuetype = nil,
|
||||
args = "(CGcontext context, int size, const void *data, GLenum bufferUsage)", },
|
||||
["cgGLGetBufferObject"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLuint)",
|
||||
valuetype = nil,
|
||||
args = "(CGbuffer buffer)", },
|
||||
}
|
||||
return {
|
||||
cggl = {
|
||||
type = 'lib',
|
||||
description = "Cg OpenGL runtime",
|
||||
childs = api,
|
||||
},
|
||||
cgGL = {
|
||||
type = 'lib',
|
||||
description = "Cg OpenGL runtime",
|
||||
childs = api,
|
||||
},
|
||||
}
|
||||
1510
api/lua/corona.lua
Normal file
1510
api/lua/corona.lua
Normal file
File diff suppressed because it is too large
Load Diff
1422
api/lua/cuda32.lua
1422
api/lua/cuda32.lua
File diff suppressed because it is too large
Load Diff
@@ -1,79 +0,0 @@
|
||||
--[[// cugl cuGL | Cuda GL Interop
|
||||
/*
|
||||
* Copyright 1993-2010 NVIDIA Corporation. All rights reserved.
|
||||
*
|
||||
* NOTICE TO USER:
|
||||
*
|
||||
* This source code is subject to NVIDIA ownership rights under U.S. and
|
||||
* international Copyright laws. Users and possessors of this source code
|
||||
* are hereby granted a nonexclusive, royalty-free license to use this code
|
||||
* in individual and commercial software.
|
||||
*
|
||||
* NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
|
||||
* CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR
|
||||
* IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
|
||||
* OR PERFORMANCE OF THIS SOURCE CODE.
|
||||
*
|
||||
* U.S. Government End Users. This source code is a "commercial item" as
|
||||
* that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting of
|
||||
* "commercial computer software" and "commercial computer software
|
||||
* documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995)
|
||||
* and is provided to the U.S. Government only as a commercial end item.
|
||||
* Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through
|
||||
* 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the
|
||||
* source code with only those rights set forth herein.
|
||||
*
|
||||
* Any use of this source code in individual and commercial software must
|
||||
* include, in the user documentation and internal comments to the code,
|
||||
* the above Disclaimer and U.S. Government End Users Notice.
|
||||
*/
|
||||
|
||||
CUresult cuGLCtxCreate_v2(CUcontext *pCtx, unsigned int Flags, CUdevice device );
|
||||
CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource *pCudaResource, GLuint buffer, unsigned int Flags);
|
||||
CUresult cuGraphicsGLRegisterImage(CUgraphicsResource *pCudaResource, GLuint image, GLenum target, unsigned int Flags);
|
||||
|
||||
typedef void* HGPUNV;
|
||||
CUresult cuWGLGetDevice(CUdevice *pDevice, HGPUNV hGpu);
|
||||
]]
|
||||
--auto-generated api from ffi headers
|
||||
local api =
|
||||
{
|
||||
["cuGLCtxCreate_v2"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CUresult)",
|
||||
valuetype = nil,
|
||||
args = "(CUcontext *pCtx, unsigned int Flags, CUdevice device)", },
|
||||
["cuGraphicsGLRegisterBuffer"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CUresult)",
|
||||
valuetype = nil,
|
||||
args = "(CUgraphicsResource *pCudaResource, GLuint buffer, unsigned int Flags)", },
|
||||
["cuGraphicsGLRegisterImage"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CUresult)",
|
||||
valuetype = nil,
|
||||
args = "(CUgraphicsResource *pCudaResource, GLuint image, GLenum target, unsigned int Flags)", },
|
||||
["cuWGLGetDevice"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(CUresult)",
|
||||
valuetype = nil,
|
||||
args = "(CUdevice *pDevice, HGPUNV hGpu)", },
|
||||
}
|
||||
return {
|
||||
cugl = {
|
||||
type = 'lib',
|
||||
description = "Cuda GL Interop",
|
||||
childs = api,
|
||||
},
|
||||
cuGL = {
|
||||
type = 'lib',
|
||||
description = "Cuda GL Interop",
|
||||
childs = api,
|
||||
},
|
||||
}
|
||||
3607
api/lua/gideros.lua
Normal file
3607
api/lua/gideros.lua
Normal file
File diff suppressed because it is too large
Load Diff
26597
api/lua/glewgl.lua
26597
api/lua/glewgl.lua
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,37 @@
|
||||
-- Copyright 2011-12 Paul Kulchenko, ZeroBrane LLC
|
||||
|
||||
-- converted from love_api.lua (https://love2d.org/forums/viewtopic.php?f=3&t=1796&start=30)
|
||||
-- (as of Nov 1, 2012)
|
||||
-- the conversion script is at the bottom of this file
|
||||
-- there were several manual changes done to the "thread" methods that had
|
||||
-- incorrect structure (demand, set, and few others)
|
||||
-- manually removed "linear clamped", "exponent clamped", and "inverse clamped"
|
||||
-- values as those can't be entered through auto-complete.
|
||||
|
||||
local love = {
|
||||
childs = {
|
||||
audio = {
|
||||
childs = {
|
||||
DistanceModel = {
|
||||
childs = {
|
||||
exponent = {
|
||||
description = "Exponential attenuation.",
|
||||
type = "value"
|
||||
},
|
||||
inverse = {
|
||||
description = "Inverse distance attenuation.",
|
||||
type = "value"
|
||||
},
|
||||
linear = {
|
||||
description = "Linear attenuation.",
|
||||
type = "value"
|
||||
},
|
||||
none = {
|
||||
description = "Sources do not get attenuated.",
|
||||
type = "value"
|
||||
}
|
||||
},
|
||||
description = "class constants",
|
||||
type = "class"
|
||||
},
|
||||
Source = {
|
||||
childs = {
|
||||
getDirection = {
|
||||
@@ -18,7 +43,7 @@ local love = {
|
||||
getDistance = {
|
||||
args = "()",
|
||||
description = "Returns the reference and maximum distance of the source.",
|
||||
returns = "(ref: string, max: string)",
|
||||
returns = "(ref: number, max: number)",
|
||||
type = "function"
|
||||
},
|
||||
getPitch = {
|
||||
@@ -33,6 +58,12 @@ local love = {
|
||||
returns = "(x: number, y: number, z: number)",
|
||||
type = "function"
|
||||
},
|
||||
getRolloff = {
|
||||
args = "()",
|
||||
description = "Returns the rolloff factor of the source.",
|
||||
returns = "(rolloff: number)",
|
||||
type = "function"
|
||||
},
|
||||
getVelocity = {
|
||||
args = "()",
|
||||
description = "Gets the velocity of the Source.",
|
||||
@@ -45,6 +76,12 @@ local love = {
|
||||
returns = "(volume: number)",
|
||||
type = "function"
|
||||
},
|
||||
getVolumeLimits = {
|
||||
args = "()",
|
||||
description = "Returns the volume limits of the source.",
|
||||
returns = "(min: number, max: number)",
|
||||
type = "function"
|
||||
},
|
||||
isLooping = {
|
||||
args = "()",
|
||||
description = "Returns whether the Source will loop.",
|
||||
@@ -105,6 +142,12 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setDistance = {
|
||||
args = "(ref: number, max: number)",
|
||||
description = "Sets the reference and maximum distance of the source.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setLooping = {
|
||||
args = "(loop: boolean)",
|
||||
description = "Sets whether the Source should loop.",
|
||||
@@ -123,6 +166,12 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setRolloff = {
|
||||
args = "(rolloff: number)",
|
||||
description = "Sets the rolloff factor.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setVelocity = {
|
||||
args = "(x: number, y: number, z: number)",
|
||||
description = "Sets the velocity of the Source.\n\nThis does not change the position of the Source, but lets the application know how it has to calculate the doppler effect.",
|
||||
@@ -135,6 +184,12 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setVolumeLimits = {
|
||||
args = "(min: number, max: number)",
|
||||
description = "Sets the volume limits of the source. The limits have to be numbers from 0 to 1.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
stop = {
|
||||
args = "()",
|
||||
description = "Stops a Source.",
|
||||
@@ -143,7 +198,7 @@ local love = {
|
||||
},
|
||||
tell = {
|
||||
args = "(unit: TimeUnit)",
|
||||
description = "Stops a Source.",
|
||||
description = "Gets the currently playing position of the Source.",
|
||||
returns = "(position: number)",
|
||||
type = "function"
|
||||
}
|
||||
@@ -182,7 +237,7 @@ local love = {
|
||||
getDistanceModel = {
|
||||
args = "()",
|
||||
description = "Returns the distance attenuation model.",
|
||||
returns = "(model: string)",
|
||||
returns = "(model: DistanceModel)",
|
||||
type = "function"
|
||||
},
|
||||
getNumSources = {
|
||||
@@ -216,7 +271,7 @@ local love = {
|
||||
type = "function"
|
||||
},
|
||||
newSource = {
|
||||
args = "(file: string, type: SourceType)",
|
||||
args = "(filename: string, type: SourceType)",
|
||||
description = "Creates a new Source from a file, SoundData, or Decoder. Sources created from SoundData are always static.",
|
||||
returns = "(source: Source)",
|
||||
type = "function"
|
||||
@@ -246,7 +301,7 @@ local love = {
|
||||
type = "function"
|
||||
},
|
||||
setDistanceModel = {
|
||||
args = "(model: string)",
|
||||
args = "(model: DistanceModel)",
|
||||
description = "Sets the distance attenuation model.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
@@ -312,7 +367,7 @@ local love = {
|
||||
type = "value"
|
||||
},
|
||||
keyreleased = {
|
||||
description = "Key releaed",
|
||||
description = "Key released",
|
||||
type = "value"
|
||||
},
|
||||
mousepressed = {
|
||||
@@ -364,7 +419,7 @@ local love = {
|
||||
wait = {
|
||||
args = "()",
|
||||
description = "Like love.event.poll(), but blocks until there is an event in the queue.",
|
||||
returns = "(e: Event, a: mixed, b: mixed, c: mixed)",
|
||||
returns = "(e: Event, a: mixed, b: mixed, c: mixed, d: mixed)",
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
@@ -412,7 +467,7 @@ local love = {
|
||||
type = "function"
|
||||
},
|
||||
seek = {
|
||||
args = "(pos: number)",
|
||||
args = "(position: number)",
|
||||
description = "Seek to a position in a file.",
|
||||
returns = "(success: boolean)",
|
||||
type = "function"
|
||||
@@ -575,7 +630,7 @@ local love = {
|
||||
},
|
||||
remove = {
|
||||
args = "(name: string)",
|
||||
description = "Removes a file (or directory).",
|
||||
description = "Removes a file or directory.",
|
||||
returns = "(ok: boolean)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -618,7 +673,7 @@ local love = {
|
||||
type = "value"
|
||||
},
|
||||
Rasterizer = {
|
||||
description = "A Rasterizer handles font rendering, containing the font data (image or true-type font) and drawable glyphs.",
|
||||
description = "A Rasterizer handles font rendering, containing the font data (image or TrueType font font) and drawable glyphs.",
|
||||
type = "value"
|
||||
},
|
||||
newFontData = {
|
||||
@@ -665,20 +720,24 @@ local love = {
|
||||
},
|
||||
BlendMode = {
|
||||
childs = {
|
||||
canvas = {
|
||||
description = "Support for Canvas.",
|
||||
additive = {
|
||||
description = "Additive blend mode.",
|
||||
type = "value"
|
||||
},
|
||||
npot = {
|
||||
description = "Support for textures with non-power-of-two textures. See PO2 Syndrome.",
|
||||
alpha = {
|
||||
description = "Alpha blend mode (\"normal\").",
|
||||
type = "value"
|
||||
},
|
||||
pixeleffect = {
|
||||
description = "Support for PixelEffect.",
|
||||
multiplicative = {
|
||||
description = "Multiply blend mode.",
|
||||
type = "value"
|
||||
},
|
||||
premultiplied = {
|
||||
description = "Premultiplied blend mode.",
|
||||
type = "value"
|
||||
},
|
||||
subtractive = {
|
||||
description = "Support for the subtractive blend mode.",
|
||||
description = "Subtractive blend mode.",
|
||||
type = "value"
|
||||
}
|
||||
},
|
||||
@@ -693,6 +752,12 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
getFilter = {
|
||||
args = "()",
|
||||
description = "Gets the filter mode of the Canvas.",
|
||||
returns = "(min: FilterMode, mag: FilterMode)",
|
||||
type = "function"
|
||||
},
|
||||
getImageData = {
|
||||
args = "()",
|
||||
description = "Returns the image data stored in the Canvas. Think of it as taking a screenshot of the hidden screen that is the Canvas.",
|
||||
@@ -711,6 +776,12 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setFilter = {
|
||||
args = "(min: FilterMode, mag: FilterMode)",
|
||||
description = "Sets the filter of the Canvas.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setWrap = {
|
||||
args = "(horiz: WrapMode, vert: WrapMode)",
|
||||
description = "Sets the wrapping properties of a Canvas.\n\n This function sets the way the edges of a Canvas are treated if it is scaled or rotated. If the WrapMode is set to \"clamp\", the edge will not be interpolated. If set to \"repeat\", the edge will be interpolated with the pixels on the opposing side of the framebuffer.",
|
||||
@@ -799,6 +870,28 @@ local love = {
|
||||
description = "Defines the shape of characters than can be drawn onto the screen.",
|
||||
type = "lib"
|
||||
},
|
||||
GraphicsFeature = {
|
||||
childs = {
|
||||
canvas = {
|
||||
description = "Support for Canvas.",
|
||||
type = "value"
|
||||
},
|
||||
npot = {
|
||||
description = "Support for textures with non-power-of-two textures.",
|
||||
type = "value"
|
||||
},
|
||||
pixeleffect = {
|
||||
description = "Support for PixelEffect.",
|
||||
type = "value"
|
||||
},
|
||||
subtractive = {
|
||||
description = "Support for the subtractive blend mode.",
|
||||
type = "value"
|
||||
}
|
||||
},
|
||||
description = "class constants",
|
||||
type = "class"
|
||||
},
|
||||
Image = {
|
||||
childs = {
|
||||
getFilter = {
|
||||
@@ -1118,21 +1211,21 @@ local love = {
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
description = "A quadrilateral with texture coordinate information.\n\nQuads can be used to select part of a texture to draw. In this way, one large Texture Atlas can be loaded, and then split up into sub-images.",
|
||||
description = "A quadrilateral with texture coordinate information.\n\nQuads can be used to select part of a texture to draw. In this way, one large texture atlas can be loaded, and then split up into sub-images.",
|
||||
type = "lib"
|
||||
},
|
||||
SpriteBatch = {
|
||||
childs = {
|
||||
add = {
|
||||
args = "(x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number)",
|
||||
args = "(x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)",
|
||||
description = "Add a sprite to the batch.",
|
||||
returns = "()",
|
||||
returns = "(id: number)",
|
||||
type = "function"
|
||||
},
|
||||
addq = {
|
||||
args = "()",
|
||||
description = "Add a Quad to the batch.",
|
||||
returns = "(quad: Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number)",
|
||||
returns = "(id: number)",
|
||||
type = "function"
|
||||
},
|
||||
bind = {
|
||||
@@ -1147,12 +1240,36 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
getImage = {
|
||||
args = "()",
|
||||
description = "Returns the image used by the SpriteBatch.",
|
||||
returns = "(image: Image)",
|
||||
type = "function"
|
||||
},
|
||||
set = {
|
||||
args = "()",
|
||||
description = "Changes a sprite in the batch. This requires the identifier returned by add and addq.",
|
||||
returns = "(id: number, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)",
|
||||
type = "function"
|
||||
},
|
||||
setColor = {
|
||||
args = "(r: number, g: number, b: number, a: number)",
|
||||
description = "Sets the color that will be used for the next add and set operations. Calling the function without arguments will clear the color.\n\nThe global color set with love.graphics.setColor will not work on the SpriteBatch if any of the sprites has its own color.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setImage = {
|
||||
args = "(image: Image)",
|
||||
description = "Replaces the image used for the sprites.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setq = {
|
||||
args = "()",
|
||||
description = "Changes a sprite with a quad in the batch. This requires the identifier returned by add and addq.",
|
||||
returns = "(id: number)",
|
||||
type = "function"
|
||||
},
|
||||
unbind = {
|
||||
args = "()",
|
||||
description = "Unbinds the SpriteBatch.",
|
||||
@@ -1267,12 +1384,6 @@ local love = {
|
||||
returns = "(height: number)",
|
||||
type = "function"
|
||||
},
|
||||
getLineStipple = {
|
||||
args = "()",
|
||||
description = "Gets the current line stipple.",
|
||||
returns = "(pattern: number, repeat: number)",
|
||||
type = "function"
|
||||
},
|
||||
getLineStyle = {
|
||||
args = "()",
|
||||
description = "Gets the line style.",
|
||||
@@ -1357,12 +1468,6 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
["love.graphics.newStencil"] = {
|
||||
args = "(stencilFunction: function)",
|
||||
description = "Creates a new stencil.",
|
||||
returns = "(myStencil: function)",
|
||||
type = "function"
|
||||
},
|
||||
newCanvas = {
|
||||
args = "()",
|
||||
description = "Creates a new Canvas object for offscreen rendering.",
|
||||
@@ -1383,7 +1488,7 @@ local love = {
|
||||
},
|
||||
newImageFont = {
|
||||
args = "(image: Image, glyphs: string)",
|
||||
description = "Creates a new font by loading a specifically formatted image. There can be up to 256 glyphs.",
|
||||
description = "Creates a new font by loading a specifically formatted image. There can be up to 256 glyphs.\n\nExpects ISO 8859-1 encoding for the glyphs string.",
|
||||
returns = "(font: Font)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -1395,7 +1500,7 @@ local love = {
|
||||
},
|
||||
newPixelEffect = {
|
||||
args = "(code: string)",
|
||||
description = "Creates a new PixelEffect object for hardware-accelerated pixel level effects.\n\nA PixelEffect contains at least one function, named effect, which is the effect itself, but it can contain additional functions.\n\nvec4 effect( vec4 color, sampler2D texture, vec2 texture_coords, vec2 pixel_coords )",
|
||||
description = "Creates a new PixelEffect object for hardware-accelerated pixel level effects.\n\nA PixelEffect contains at least one function, named effect, which is the effect itself, but it can contain additional functions.\n\nvec4 effect( vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords )",
|
||||
returns = "(pixeleffect: PixelEffect)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -1417,6 +1522,12 @@ local love = {
|
||||
returns = "(spriteBatch: SpriteBatch)",
|
||||
type = "function"
|
||||
},
|
||||
newStencil = {
|
||||
args = "(stencilFunction: function)",
|
||||
description = "Creates a new stencil.",
|
||||
returns = "(myStencil: function)",
|
||||
type = "function"
|
||||
},
|
||||
point = {
|
||||
args = "(x: number, y: number)",
|
||||
description = "Draws a point.\n\nThe pixel grid is actually offset to the center of each pixel. So to get clean pixels drawn use 0.5 + integer increments.",
|
||||
@@ -1443,7 +1554,7 @@ local love = {
|
||||
},
|
||||
print = {
|
||||
args = "(text: string, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)",
|
||||
description = "Draws text on screen. If no Font is set, one will be created and set (once) if needed.\n\nAs of LÖVE 0.7.1, when using translation and scaling functions while drawing text, this function assumes the scale occurs first. If you don't script with this in mind, the text won't be in the right position, or possibly even on screen.\n\nDrawing uses the current color, but only if the ColorMode is \"modulate\" (which is the default). If your text is displayed as white, it is probably because the color mode is \"replace\" (which is useful when drawing sprites). Change the color model to \"modulate\" before drawing.\n\nlove.graphics.print stops at the first '\000' (null) character. This can bite you if you are appending keystrokes to form your string, as some of those are multi-byte unicode characters which will likely contain null bytes.",
|
||||
description = "Draws text on screen. If no Font is set, one will be created and set (once) if needed.\n\nWhen using translation and scaling functions while drawing text, this function assumes the scale occurs first. If you don't script with this in mind, the text won't be in the right position, or possibly even on screen.\n\nDrawing uses the current color, but only if the ColorMode is \"modulate\" (which is the default). If your text is displayed as white, it is probably because the color mode is \"replace\" (which is useful when drawing sprites). Change the color model to \"modulate\" before drawing.\n\nlove.graphics.print stops at the first '\000' (null) character. This can bite you if you are appending keystrokes to form your string, as some of those are multi-byte unicode characters which will likely contain null bytes.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
@@ -1473,24 +1584,24 @@ local love = {
|
||||
},
|
||||
reset = {
|
||||
args = "()",
|
||||
description = "Resets the current graphics settings.\n\nCalling reset makes the current drawing color white, the current background color black, the window title empty and removes any scissor settings. It sets the BlendMode to alpha and ColorMode to modulate. It also sets both the point and line drawing modes to smooth and their sizes to 1.0 . Finally, it removes any stipple settings.",
|
||||
description = "Resets the current graphics settings.\n\nCalling reset makes the current drawing color white, the current background color black, the window title empty and removes any scissor settings. It sets the BlendMode to alpha and ColorMode to modulate. It also sets both the point and line drawing modes to smooth and their sizes to 1.0.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
rotate = {
|
||||
args = "(angle: number)",
|
||||
description = "Rotates the coordinate system in two dimensions.\n\nCalling this function affects all future drawing operations by rotating the coordinate system around the origin by the given amount of radians. This change lasts until love.draw() exits.",
|
||||
description = "Rotates the coordinate system in two dimensions.\n\nCalling this function affects all future drawing operations by rotating the coordinate system around the origin by the given amount of radians. This change lasts until love.draw exits.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
scale = {
|
||||
args = "(sx: number, sy: number)",
|
||||
description = "Scales the coordinate system in two dimensions.\n\nBy default the coordinate system in LÖVE corresponds to the display pixels in horizontal and vertical directions one-to-one, and the x-axis increases towards the right while the y-axis increases downwards. Scaling the coordinate system changes this relation.\n\nAfter scaling by sx and sy, all coordinates are treated as if they were multiplied by sx and sy. Every result of a drawing operation is also correspondingly scaled, so scaling by (2, 2) for example would mean making everything twice as large in both x- and y-directions. Scaling by a negative value flips the coordinate system in the corresponding direction, which also means everything will be drawn flipped or upside down, or both. Scaling by zero is not a useful operation.\n\nScale and translate are not commutative operations, therefore, calling them in different orders will change the outcome.\n\nScaling lasts until love.draw() exits.",
|
||||
description = "Scales the coordinate system in two dimensions.\n\nBy default the coordinate system in LÖVE corresponds to the display pixels in horizontal and vertical directions one-to-one, and the x-axis increases towards the right while the y-axis increases downwards. Scaling the coordinate system changes this relation.\n\nAfter scaling by sx and sy, all coordinates are treated as if they were multiplied by sx and sy. Every result of a drawing operation is also correspondingly scaled, so scaling by (2, 2) for example would mean making everything twice as large in both x- and y-directions. Scaling by a negative value flips the coordinate system in the corresponding direction, which also means everything will be drawn flipped or upside down, or both. Scaling by zero is not a useful operation.\n\nScale and translate are not commutative operations, therefore, calling them in different orders will change the outcome.\n\nScaling lasts until love.draw exits.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setBackgroundColor = {
|
||||
args = "(r: number, g: number, b: number)",
|
||||
args = "(r: number, g: number, b: number, a: number)",
|
||||
description = "Sets the background color.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
@@ -1545,7 +1656,7 @@ local love = {
|
||||
},
|
||||
setInvertedStencil = {
|
||||
args = "(stencilFunction: function)",
|
||||
description = "Defines an inverted stencil for the drawing operations or releases the active one.\n\nIt's the same as love.graphics.setStencil with the mask inverted.",
|
||||
description = "Defines an inverted stencil for the drawing operations or releases the active one.\n\nIt's the same as love.graphics.setStencil with the mask inverted.\n\nCalling the function without arguments releases the active stencil.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
@@ -1555,12 +1666,6 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setLineStipple = {
|
||||
args = "(pattern: number, repeat: number)",
|
||||
description = "Sets the line stipple pattern.\n\nA stipple pattern is made up of a 16bit sequence of 0s and 1s, Just like binary.\n\nThe pattern is repeated to complete the line. Using the repeat will stretch the pattern and multiplies each 1 and 0. For example if three 1s are consecutively placed they are stretched to six if the repeat is 2. The maximum repeat is 255, and the minimum repeat is 1.\n\nA 1 is a a cue to draw a pixel whereas 0 is the opposite and does not draw a pixel, This is done per pixel for the given line.\n\nA pattern is read from back to front.\n\n0x3F07 would equal to 0011111100000111 in binary.\n\nYou can visualise the pattern by reading the binary sequence backwards.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setLineStyle = {
|
||||
args = "(style: LineStyle)",
|
||||
description = "Sets the line style.",
|
||||
@@ -1580,7 +1685,7 @@ local love = {
|
||||
type = "function"
|
||||
},
|
||||
setNewFont = {
|
||||
args = "(filename: string, size: number)",
|
||||
args = "(size: number)",
|
||||
description = "Creates and sets a new font.",
|
||||
returns = "(font: Font)",
|
||||
type = "function"
|
||||
@@ -1617,7 +1722,7 @@ local love = {
|
||||
},
|
||||
setStencil = {
|
||||
args = "(stencilFunction: function)",
|
||||
description = "Defines or releases a stencil for the drawing operations.\n\nThe passed function draws to the stencil instead of the screen, creating an image with transparent and opaque pixel. While active, it is used to test where pixel will be drawn or discarded.\n\nCalling the function without arguments releases the active stencil.",
|
||||
description = "Defines or releases a stencil for the drawing operations.\n\nThe passed function draws to the stencil instead of the screen, creating an image with transparent and opaque pixels. While active, it is used to test where pixels will be drawn or discarded.\n\nCalling the function without arguments releases the active stencil.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
@@ -1635,7 +1740,7 @@ local love = {
|
||||
},
|
||||
translate = {
|
||||
args = "(dx: number, dy: number)",
|
||||
description = "Translates the coordinate system in two dimensions.\n\nWhen this function is called with two numbers, dx, and dy, all the following drawing operations take effect as if their x and y coordinates were x+dx and y+dy.\n\nScale and translate are not commutative operations, therefore, calling them in different orders will change the outcome.\n\nThis change lasts until love.draw() exits or else a love.graphics.pop reverts to a previous love.graphics.push.\n\nTranslating using whole numbers will prevent tearing/blurring of images and fonts draw after translating.",
|
||||
description = "Translates the coordinate system in two dimensions.\n\nWhen this function is called with two numbers, dx, and dy, all the following drawing operations take effect as if their x and y coordinates were x+dx and y+dy.\n\nScale and translate are not commutative operations, therefore, calling them in different orders will change the outcome.\n\nThis change lasts until love.draw exits or else a love.graphics.pop reverts to a previous love.graphics.push.\n\nTranslating using whole numbers will prevent tearing/blurring of images and fonts draw after translating.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
@@ -1646,12 +1751,66 @@ local love = {
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
description = "The primary responsibility for the love.graphics module is the drawing of lines, shapes, text, Images and other Drawable objects onto the screen. Its secondary responsibilities include loading external files (including Images and Fonts) into memory, creating specialized objects (such as ParticleSystems or Framebuffers) and managing screen geometry.\n\nLÖVE's coordinate system is rooted in the upper-left corner of the screen, which is at location (0, 0). The x axis is horizontal: larger values are further to the right. The y axis is vertical: larger values are further towards the bottom.\n\nIn many cases, you draw images or shapes in terms of their upper-left corner (See the picture above).\n\nMany of the functions are used to manipulate the graphics coordinate system, which is essentially the the way coordinates are mapped to the display. You can change the position, scale, and even rotation in this way.",
|
||||
description = "The primary responsibility for the love.graphics module is the drawing of lines, shapes, text, Images and other Drawable objects onto the screen. Its secondary responsibilities include loading external files (including Images and Fonts) into memory, creating specialized objects (such as ParticleSystems or Framebuffers) and managing screen geometry.\n\nLÖVE's coordinate system is rooted in the upper-left corner of the screen, which is at location (0, 0). The x-axis is horizontal: larger values are further to the right. The y-axis is vertical: larger values are further towards the bottom.\n\nIn many cases, you draw images or shapes in terms of their upper-left corner (See the picture above).\n\nMany of the functions are used to manipulate the graphics coordinate system, which is essentially the the way coordinates are mapped to the display. You can change the position, scale, and even rotation in this way.",
|
||||
type = "class"
|
||||
},
|
||||
image = {
|
||||
childs = {
|
||||
ImageData = {
|
||||
childs = {
|
||||
encode = {
|
||||
args = "(outFile: string)",
|
||||
description = "Encodes the ImageData and writes it to the save directory.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
getHeight = {
|
||||
args = "()",
|
||||
description = "Gets the height of the ImageData.",
|
||||
returns = "(height: number)",
|
||||
type = "function"
|
||||
},
|
||||
getPixel = {
|
||||
args = "(x: number, y: number)",
|
||||
description = "Gets the pixel at the specified position.\n\nValid x and y values start at 0 and go up to image width and height minus 1.",
|
||||
returns = "(r: number, g: number, b: number, a: number)",
|
||||
type = "function"
|
||||
},
|
||||
getString = {
|
||||
args = "()",
|
||||
description = "Gets the full ImageData as a string.",
|
||||
returns = "(pixels: string)",
|
||||
type = "function"
|
||||
},
|
||||
getWidth = {
|
||||
args = "()",
|
||||
description = "Gets the width of the ImageData.",
|
||||
returns = "(width: number)",
|
||||
type = "function"
|
||||
},
|
||||
mapPixel = {
|
||||
args = "(pixelFunction: function)",
|
||||
description = "Transform an image by applying a function to every pixel.\n\nThis function is a higher order function. It takes another function as a parameter, and calls it once for each pixel in the ImageData.\n\nThe function parameter is called with six parameters for each pixel in turn. The parameters are numbers that represent the x and y coordinates of the pixel and its red, green, blue and alpha values. The function parameter can return up to four number values, which become the new r, g, b and a values of the pixel. If the function returns fewer values, the remaining components are set to 0.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
paste = {
|
||||
args = "(source: ImageData, dx: number, dy: number, sx: number, sy: number, sw: number, sh: number)",
|
||||
description = "Paste into ImageData from another source ImageData.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setPixel = {
|
||||
args = "(x: number, y: number, r: number, g: number, b: number, a: number)",
|
||||
description = "Sets the color of a pixel.\n\nValid x and y values start at 0 and go up to image width and height minus 1.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
description = "Raw (decoded) image data.\n\nYou can't draw ImageData directly to screen. See Image for that.",
|
||||
type = "lib"
|
||||
},
|
||||
ImageFormat = {
|
||||
childs = {
|
||||
bmp = {
|
||||
description = "BMP image format.",
|
||||
@@ -1677,12 +1836,6 @@ local love = {
|
||||
description = "class constants",
|
||||
type = "class"
|
||||
},
|
||||
newEncodedImageData = {
|
||||
args = "(imageData: ImageData, format: ImageFormat)",
|
||||
description = "Encodes ImageData.",
|
||||
returns = "(data: Data)",
|
||||
type = "function"
|
||||
},
|
||||
newImageData = {
|
||||
args = "(width: number, height: number)",
|
||||
description = "Create a new ImageData object.",
|
||||
@@ -1757,7 +1910,7 @@ local love = {
|
||||
},
|
||||
getBall = {
|
||||
args = "(joystick: number, ball: number)",
|
||||
description = "Returns the change in Ball position.",
|
||||
description = "Returns the change in ball position.",
|
||||
returns = "(dx: number, dy: number)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -2053,7 +2206,7 @@ local love = {
|
||||
type = "value"
|
||||
},
|
||||
euro = {
|
||||
description = "Euro (€) key",
|
||||
description = "Euro (€) key",
|
||||
type = "value"
|
||||
},
|
||||
f = {
|
||||
@@ -2473,19 +2626,19 @@ local love = {
|
||||
},
|
||||
getX = {
|
||||
args = "()",
|
||||
description = "Returns the current x-position of the mouse.",
|
||||
description = "Returns the current x position of the mouse.",
|
||||
returns = "(x: number)",
|
||||
type = "function"
|
||||
},
|
||||
getY = {
|
||||
args = "()",
|
||||
description = "Returns the current y-position of the mouse.",
|
||||
description = "Returns the current y position of the mouse.",
|
||||
returns = "(y: number)",
|
||||
type = "function"
|
||||
},
|
||||
isDown = {
|
||||
args = "(button: MouseConstant)",
|
||||
description = "Checks whether a certain mouse button is down.",
|
||||
description = "Checks whether a certain mouse button is down. This function does not detect mousewheel scrolling; you must use the love.mousepressed callback for that.",
|
||||
returns = "(down: boolean)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -2577,7 +2730,7 @@ local love = {
|
||||
},
|
||||
getAngle = {
|
||||
args = "()",
|
||||
description = "Get the angle of the body.\n\nThe angle is measured in radians. If you need to transform it to degrees, use math.deg.\n\nA value of 0 radians will mean \"looking to the right\". Although radians increase counter-clockwise, the y axis points down so it becomes clockwise from our point of view.",
|
||||
description = "Get the angle of the body.\n\nThe angle is measured in radians. If you need to transform it to degrees, use math.deg.\n\nA value of 0 radians will mean \"looking to the right\". Although radians increase counter-clockwise, the y-axis points down so it becomes clockwise from our point of view.",
|
||||
returns = "(angle: number)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -2599,6 +2752,12 @@ local love = {
|
||||
returns = "(fixtures: table)",
|
||||
type = "function"
|
||||
},
|
||||
getGravityScale = {
|
||||
args = "()",
|
||||
description = "Returns the gravity scale factor.",
|
||||
returns = "(scale: number)",
|
||||
type = "function"
|
||||
},
|
||||
getInertia = {
|
||||
args = "()",
|
||||
description = "Gets the rotational inertia of the body.\n\nThe rotational inertia is how hard is it to make the body spin. It is set with the 4th argument to Body:setMass, or automatically with Body:setMassFromShapes.",
|
||||
@@ -2773,6 +2932,12 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setActive = {
|
||||
args = "(active: boolean)",
|
||||
description = "Sets whether the body is active in the world.\n\nAn inactive body does not take part in the simulation. It will not move or cause any collisions.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setAllowSleeping = {
|
||||
args = "(permission: boolean)",
|
||||
description = "Set the sleep behaviour of a body.\n\nA sleeping body is much more efficient to simulate than when awake.\n\nIf sleeping is allowed, a body that has come to rest will sleep.",
|
||||
@@ -2781,7 +2946,7 @@ local love = {
|
||||
},
|
||||
setAngle = {
|
||||
args = "(angle: number)",
|
||||
description = "Set the angle of the body.\n\nThe angle is measured in radians. If you need to transform it from degrees, use math.rad.\n\nA value of 0 radians will mean \"looking to the right\". .Although radians increase counter-clockwise, the y axis points down so it becomes clockwise from our point of view.\n\nIt is possible to cause a collision with another body by changing its angle.",
|
||||
description = "Set the angle of the body.\n\nThe angle is measured in radians. If you need to transform it from degrees, use math.rad.\n\nA value of 0 radians will mean \"looking to the right\". .Although radians increase counter-clockwise, the y-axis points down so it becomes clockwise from our point of view.\n\nIt is possible to cause a collision with another body by changing its angle.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
@@ -2915,6 +3080,48 @@ local love = {
|
||||
description = "class constants",
|
||||
type = "class"
|
||||
},
|
||||
ChainShape = {
|
||||
childs = {
|
||||
getChildEdge = {
|
||||
args = "(index: number)",
|
||||
description = "Returns a child of the shape as an EdgeShape.",
|
||||
returns = "(EdgeShape: number)",
|
||||
type = "function"
|
||||
},
|
||||
getPoint = {
|
||||
args = "(index: number)",
|
||||
description = "Returns a point of the shape.",
|
||||
returns = "(x: number, y: number)",
|
||||
type = "function"
|
||||
},
|
||||
getPoints = {
|
||||
args = "()",
|
||||
description = "Returns all points of the shape.",
|
||||
returns = "(x1: number, y1: number, x2: number, y2: number, ...: number)",
|
||||
type = "function"
|
||||
},
|
||||
getVertexCount = {
|
||||
args = "()",
|
||||
description = "Returns the number of vertices the shape has.",
|
||||
returns = "(count: number)",
|
||||
type = "function"
|
||||
},
|
||||
setNextVertex = {
|
||||
args = "(x: number, y: number)",
|
||||
description = "Sets a vertex that establishes a connection to the next shape.\n\nThis can help prevent unwanted collisions when a flat shape slides along the edge and moves over to the new shape.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setPrevVertex = {
|
||||
args = "(x: number, y: number)",
|
||||
description = "Sets a vertex that establishes a connection to the previous shape.\n\nThis can help prevent unwanted collisions when a flat shape slides along the edge and moves over to the new shape.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
description = "A ChainShape consists of multiple line segments. It can be used to create the boundaries of your terrain. The shape does not have volume and can only collide with PolygonShape and CircleShape.\n\nUnlike the PolygonShape, the ChainShape does not have a vertices limit or has to form a convex shape, but self intersections are not supported. ",
|
||||
type = "lib"
|
||||
},
|
||||
CircleShape = {
|
||||
childs = {
|
||||
getLocalCenter = {
|
||||
@@ -2934,6 +3141,12 @@ local love = {
|
||||
description = "Get the center of the circle in world coordinates.",
|
||||
returns = "(wx: number, wy: number)",
|
||||
type = "function"
|
||||
},
|
||||
setRadius = {
|
||||
args = "(radius: number)",
|
||||
description = "Sets the radius of the circle.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
description = "Circle extends Shape and adds a radius and a local position.",
|
||||
@@ -2953,10 +3166,10 @@ local love = {
|
||||
returns = "(nx: number, ny: number)",
|
||||
type = "function"
|
||||
},
|
||||
getPosition = {
|
||||
getPositions = {
|
||||
args = "()",
|
||||
description = "Get the location of the contact point between two shapes.",
|
||||
returns = "(cx: number, cy: number)",
|
||||
description = "Returns the contact points of the two colliding fixtures. There can be one or two points.",
|
||||
returns = "(x1: number, y1: number, x2: number, y2: number)",
|
||||
type = "function"
|
||||
},
|
||||
getRestitution = {
|
||||
@@ -2971,10 +3184,46 @@ local love = {
|
||||
returns = "(distance: number)",
|
||||
type = "function"
|
||||
},
|
||||
getVelocity = {
|
||||
isEnabled = {
|
||||
args = "()",
|
||||
description = "Get the linear impact velocity of a contact.",
|
||||
returns = "(vx: number, vy: number)",
|
||||
description = "Returns whether the contact is enabled. The collision will be ignored if a contact gets disabled in the post solve callback.",
|
||||
returns = "(enabled: boolean)",
|
||||
type = "function"
|
||||
},
|
||||
isTouching = {
|
||||
args = "()",
|
||||
description = "Returns whether the two colliding fixtures are touching each other.",
|
||||
returns = "(touching: boolean)",
|
||||
type = "function"
|
||||
},
|
||||
resetFriction = {
|
||||
args = "()",
|
||||
description = "Resets the contact friction to the mixture value of both fixtures.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
resetRestitution = {
|
||||
args = "()",
|
||||
description = "Resets the contact restitution to the mixture value of both fixtures.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setEnabled = {
|
||||
args = "(enabled: boolean)",
|
||||
description = "Enables or disables the contact.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setFriction = {
|
||||
args = "(friction: number)",
|
||||
description = "Sets the contact friction.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setRestitution = {
|
||||
args = "(restitution: number)",
|
||||
description = "Sets the contact restitution.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
@@ -3023,6 +3272,12 @@ local love = {
|
||||
description = "Keeps two bodies at the same distance.",
|
||||
type = "lib"
|
||||
},
|
||||
EdgeShape = {
|
||||
args = "()",
|
||||
description = "A EdgeShape is a line segment. They can be used to create the boundaries of your terrain. The shape does not have volume and can only collide with PolygonShape and CircleShape.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
Fixture = {
|
||||
childs = {
|
||||
destroy = {
|
||||
@@ -3254,8 +3509,8 @@ local love = {
|
||||
type = "function"
|
||||
},
|
||||
getReactionTorque = {
|
||||
args = "()",
|
||||
description = "Gets the reaction torque on Body 2.",
|
||||
args = "(invdt: number)",
|
||||
description = "Returns the reaction torque on the second body.",
|
||||
returns = "(torque: number)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -3307,6 +3562,18 @@ local love = {
|
||||
},
|
||||
MouseJoint = {
|
||||
childs = {
|
||||
getDampingRatio = {
|
||||
args = "()",
|
||||
description = "Returns the damping ratio.",
|
||||
returns = "(ratio: number)",
|
||||
type = "function"
|
||||
},
|
||||
getFrequency = {
|
||||
args = "()",
|
||||
description = "Returns the frequency.",
|
||||
returns = "(freq: number)",
|
||||
type = "function"
|
||||
},
|
||||
getMaxForce = {
|
||||
args = "()",
|
||||
description = "Gets the highest allowed force.",
|
||||
@@ -3319,6 +3586,18 @@ local love = {
|
||||
returns = "(x: number, y: number)",
|
||||
type = "function"
|
||||
},
|
||||
setDampingRatio = {
|
||||
args = "(ratio: number)",
|
||||
description = "Sets a new damping ratio.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setFrequency = {
|
||||
args = "(freq: number)",
|
||||
description = "Sets a new frequency.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setMaxForce = {
|
||||
args = "(f: number)",
|
||||
description = "Sets the highest allowed force.",
|
||||
@@ -3343,6 +3622,18 @@ local love = {
|
||||
},
|
||||
PrismaticJoint = {
|
||||
childs = {
|
||||
enableLimit = {
|
||||
args = "(enable: boolean)",
|
||||
description = "Enables or disables the limits of the joint.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
enableMotor = {
|
||||
args = "(enable: boolean)",
|
||||
description = "Starts or stops the joint motor.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
getJointSpeed = {
|
||||
args = "()",
|
||||
description = "Get the current joint angle speed.",
|
||||
@@ -3391,9 +3682,9 @@ local love = {
|
||||
returns = "(upper: number)",
|
||||
type = "function"
|
||||
},
|
||||
isLimitsEnabled = {
|
||||
isLimitEnabled = {
|
||||
args = "()",
|
||||
description = "Checks whether limits are enabled.",
|
||||
description = "Checks whether the limits are enabled.",
|
||||
returns = "(enabled: boolean)",
|
||||
type = "function"
|
||||
},
|
||||
@@ -3409,12 +3700,6 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setLimitsEnabled = {
|
||||
args = "(enable: boolean)",
|
||||
description = "Enables/disables the joint limit.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setLowerLimit = {
|
||||
args = "(lower: number)",
|
||||
description = "Sets the lower limit.",
|
||||
@@ -3427,12 +3712,6 @@ local love = {
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setMotorEnabled = {
|
||||
args = "(enable: boolean)",
|
||||
description = "Enables/disables the joint motor.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setMotorSpeed = {
|
||||
args = "(s: number)",
|
||||
description = "Sets the motor speed.",
|
||||
@@ -3463,13 +3742,13 @@ local love = {
|
||||
returns = "(a1x: number, a1y: number, a2x: number, a2y: number)",
|
||||
type = "function"
|
||||
},
|
||||
getLength1 = {
|
||||
getLengthA = {
|
||||
args = "()",
|
||||
description = "Get the current length of the rope segment attached to the first body.",
|
||||
returns = "(length: number)",
|
||||
type = "function"
|
||||
},
|
||||
getLength2 = {
|
||||
getLengthB = {
|
||||
args = "()",
|
||||
description = "Get the current length of the rope segment attached to the second body.",
|
||||
returns = "(length: number)",
|
||||
@@ -3511,9 +3790,15 @@ local love = {
|
||||
},
|
||||
RevoluteJoint = {
|
||||
childs = {
|
||||
enableLimits = {
|
||||
args = "(enable: boolean)",
|
||||
description = "Enables or disables the joint limits.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
enableMotor = {
|
||||
args = "(enable: boolean)",
|
||||
description = "Enables/disables the joint motor.",
|
||||
description = "Starts or stops the joint motor.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
@@ -3766,8 +4051,34 @@ local love = {
|
||||
type = "class"
|
||||
},
|
||||
WeldJoint = {
|
||||
childs = {
|
||||
getDampingRatio = {
|
||||
args = "()",
|
||||
description = "Returns the damping ratio of the joint.",
|
||||
returns = "(ratio: number)",
|
||||
type = "function"
|
||||
},
|
||||
getFrequency = {
|
||||
args = "()",
|
||||
description = "Returns the frequency.",
|
||||
returns = "(freq: number)",
|
||||
type = "function"
|
||||
},
|
||||
setDampingRatio = {
|
||||
args = "(ratio: number)",
|
||||
description = "The new damping ratio.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
},
|
||||
setFrequency = {
|
||||
args = "()",
|
||||
description = "Sets a new frequency.",
|
||||
returns = "(freq: number)",
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
description = "A WeldJoint essentially glues two bodies together.",
|
||||
type = "value"
|
||||
type = "lib"
|
||||
},
|
||||
World = {
|
||||
childs = {
|
||||
@@ -3797,8 +4108,8 @@ local love = {
|
||||
},
|
||||
getCallbacks = {
|
||||
args = "()",
|
||||
description = "Get functions to be called when two shapes collide.",
|
||||
returns = "(add: function, persist: function, remove: function, result: function)",
|
||||
description = "Returns functions for the callbacks during the world update.",
|
||||
returns = "(beginContact: function, endContact: function, preSolve: function, postSolve: function)",
|
||||
type = "function"
|
||||
},
|
||||
getContactCount = {
|
||||
@@ -3926,7 +4237,7 @@ local love = {
|
||||
type = "function"
|
||||
},
|
||||
newEdgeShape = {
|
||||
args = "(body1: Body, body2: Body, x: number, y: number)",
|
||||
args = "(x1: number, y1: number, x2: number, y2: number)",
|
||||
description = "Creates a edge shape.",
|
||||
returns = "(shape: EdgeShape)",
|
||||
type = "function"
|
||||
@@ -4008,6 +4319,12 @@ local love = {
|
||||
description = "Creates a new World.",
|
||||
returns = "(world: World)",
|
||||
type = "function"
|
||||
},
|
||||
setMeter = {
|
||||
args = "(scale: number)",
|
||||
description = "Sets the meter scale factor.\n\nAll coordinates in the physics module are divided by this number, creating a convenient way to draw the objects directly to the screen without the need for graphics transformations.\n\nIt is recommended to create shapes no larger than 10 times the scale. This is important because Box2D is tuned to work well with shape sizes from 0.1 to 10 meters.",
|
||||
returns = "()",
|
||||
type = "function"
|
||||
}
|
||||
},
|
||||
description = "Can simulate 2D rigid body physics in a realistic manner. This module is based on Box2D, and this API corresponds to the Box2D API as closely as possible.",
|
||||
@@ -4119,6 +4436,12 @@ local love = {
|
||||
returns = "(value: mixed)",
|
||||
type = "function"
|
||||
},
|
||||
getKeys = {
|
||||
args = "()",
|
||||
description = "Returns the names of all messages in a table.",
|
||||
returns = "(msgNames: table)",
|
||||
type = "function"
|
||||
},
|
||||
getName = {
|
||||
args = "()",
|
||||
description = "Get the name of a thread.",
|
||||
@@ -4167,7 +4490,7 @@ local love = {
|
||||
},
|
||||
newThread = {
|
||||
args = "(name: string, filename: string)",
|
||||
description = "Creates a new Thread from a File or Data Object.",
|
||||
description = "Creates a new Thread from a File or Data object.",
|
||||
returns = "(thread: Thread)",
|
||||
type = "function"
|
||||
}
|
||||
|
||||
2506
api/lua/marmalade.lua
Normal file
2506
api/lua/marmalade.lua
Normal file
File diff suppressed because it is too large
Load Diff
7546
api/lua/moai.lua
Normal file
7546
api/lua/moai.lua
Normal file
File diff suppressed because it is too large
Load Diff
BIN
bin/clcc.exe
BIN
bin/clcc.exe
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/wxmsw28_gl_vc_custom.dll → bin/clibs/mime/core.dylib
Normal file → Executable file
BIN
bin/wxmsw28_gl_vc_custom.dll → bin/clibs/mime/core.dylib
Normal file → Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/clibs/socket/core.dylib
Executable file
BIN
bin/clibs/socket/core.dylib
Executable file
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.
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/clibs52/mime/core.dll
Normal file
BIN
bin/clibs52/mime/core.dll
Normal file
Binary file not shown.
BIN
bin/clibs52/mime/core.dylib
Normal file
BIN
bin/clibs52/mime/core.dylib
Normal file
Binary file not shown.
BIN
bin/clibs52/socket/core.dll
Normal file
BIN
bin/clibs52/socket/core.dll
Normal file
Binary file not shown.
BIN
bin/clibs52/socket/core.dylib
Normal file
BIN
bin/clibs52/socket/core.dylib
Normal file
Binary file not shown.
BIN
bin/liblua.dylib
Executable file
BIN
bin/liblua.dylib
Executable file
Binary file not shown.
BIN
bin/liblua52.dylib
Normal file
BIN
bin/liblua52.dylib
Normal file
Binary file not shown.
BIN
bin/libwx.dylib
Executable file
BIN
bin/libwx.dylib
Executable file
Binary file not shown.
BIN
bin/libzmq.dll
BIN
bin/libzmq.dll
Binary file not shown.
BIN
bin/linux/x64/clibs/mime/core.so
Normal file
BIN
bin/linux/x64/clibs/mime/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x64/clibs/socket/core.so
Normal file
BIN
bin/linux/x64/clibs/socket/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x64/clibs52/mime/core.so
Normal file
BIN
bin/linux/x64/clibs52/mime/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x64/clibs52/socket/core.so
Normal file
BIN
bin/linux/x64/clibs52/socket/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x64/libwx.so
Normal file
BIN
bin/linux/x64/libwx.so
Normal file
Binary file not shown.
BIN
bin/linux/x64/lua
Executable file
BIN
bin/linux/x64/lua
Executable file
Binary file not shown.
BIN
bin/linux/x64/lua52
Executable file
BIN
bin/linux/x64/lua52
Executable file
Binary file not shown.
BIN
bin/linux/x86/clibs/mime/core.so
Normal file
BIN
bin/linux/x86/clibs/mime/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x86/clibs/socket/core.so
Normal file
BIN
bin/linux/x86/clibs/socket/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x86/clibs52/mime/core.so
Normal file
BIN
bin/linux/x86/clibs52/mime/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x86/clibs52/socket/core.so
Normal file
BIN
bin/linux/x86/clibs52/socket/core.so
Normal file
Binary file not shown.
BIN
bin/linux/x86/libwx.so
Normal file
BIN
bin/linux/x86/libwx.so
Normal file
Binary file not shown.
BIN
bin/linux/x86/lua
Executable file
BIN
bin/linux/x86/lua
Executable file
Binary file not shown.
BIN
bin/linux/x86/lua52
Executable file
BIN
bin/linux/x86/lua52
Executable file
Binary file not shown.
38
bin/lua.app/Contents/Info.plist
Normal file
38
bin/lua.app/Contents/Info.plist
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//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>lua</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Lua</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string></string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.Lua.LuaInterpreter</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
<string></string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Lua</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string></string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string></string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
bin/lua.app/Contents/MacOS/lua
Executable file
BIN
bin/lua.app/Contents/MacOS/lua
Executable file
Binary file not shown.
BIN
bin/lua.app/Contents/MacOS/lua52
Executable file
BIN
bin/lua.app/Contents/MacOS/lua52
Executable file
Binary file not shown.
BIN
bin/lua.exe
BIN
bin/lua.exe
Binary file not shown.
BIN
bin/lua5.1.dll
BIN
bin/lua5.1.dll
Binary file not shown.
BIN
bin/lua51.dll
Normal file
BIN
bin/lua51.dll
Normal file
Binary file not shown.
BIN
bin/lua52.dll
Normal file
BIN
bin/lua52.dll
Normal file
Binary file not shown.
BIN
bin/lua52.exe
Normal file
BIN
bin/lua52.exe
Normal file
Binary file not shown.
BIN
bin/winapi.dll
BIN
bin/winapi.dll
Binary file not shown.
BIN
bin/wx.dll
BIN
bin/wx.dll
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
142
build/CMakeLists.txt
Normal file
142
build/CMakeLists.txt
Normal file
@@ -0,0 +1,142 @@
|
||||
# setup the minimum allowed CMake version
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
# set the default build type (this needs to be done *before* project command)
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo" "MinSizeRel")
|
||||
endif()
|
||||
|
||||
# restrict configuration types to the selected build type
|
||||
set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE INTERNAL "" FORCE)
|
||||
|
||||
# set the project name
|
||||
project("zbstudio")
|
||||
|
||||
# set the top-level project directory relative to CMakeLists.txt location
|
||||
set(TOPDIR ..)
|
||||
|
||||
# checks if the Lua module is available
|
||||
function(check_lua_module MODULE)
|
||||
if(NOT ${MODULE}_FOUND)
|
||||
# find Lua executable at first
|
||||
find_program(LUA_EXECUTABLE "lua")
|
||||
if(NOT LUA_EXECUTABLE)
|
||||
message(FATAL_ERROR "Lua executable is not found")
|
||||
endif()
|
||||
|
||||
# run a short script with "require" statement to determine if the Lua module is available
|
||||
execute_process(COMMAND "${LUA_EXECUTABLE}" -e "require(\"${MODULE}\")"
|
||||
RESULT_VARIABLE EXIT_CODE OUTPUT_QUIET ERROR_QUIET)
|
||||
if(EXIT_CODE EQUAL 0)
|
||||
set(${MODULE}_FOUND TRUE CACHE INTERNAL "")
|
||||
message(STATUS "Found Lua module: ${MODULE}")
|
||||
elseif(ARGV1)
|
||||
message(FATAL_ERROR "Lua module \"${MODULE}\" is not found")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# adds an user option to select between system-wide and bundled Lua module
|
||||
function(add_system_lua_module_option MODULE)
|
||||
string(TOUPPER ${MODULE} UPPERCASE_MODULE)
|
||||
if(NOT DEFINED USE_SYSTEM_${UPPERCASE_MODULE})
|
||||
option(USE_SYSTEM_${UPPERCASE_MODULE}
|
||||
"Use a system-wide \"${MODULE}\" Lua module instead of the bundled one." ${${MODULE}_FOUND})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# installs all files listed in the manifest
|
||||
function(install_from_manifest TYPE MANIFEST DESTDIR EXCLUDE_REGEX)
|
||||
file(STRINGS ${MANIFEST} PATTERN_LIST)
|
||||
foreach(PATTERN ${PATTERN_LIST})
|
||||
string(STRIP ${PATTERN} PATTERN)
|
||||
if(NOT PATTERN MATCHES ${EXCLUDE_REGEX})
|
||||
file(GLOB FILELIST RELATIVE "${CMAKE_SOURCE_DIR}/${TOPDIR}" "${CMAKE_SOURCE_DIR}/${TOPDIR}/${PATTERN}")
|
||||
foreach(FILENAME ${FILELIST})
|
||||
get_filename_component(FILEPATH ${FILENAME} PATH)
|
||||
install(${TYPE} ${TOPDIR}/${FILENAME} DESTINATION ${DESTDIR}/${FILEPATH})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
if(WIN32)
|
||||
# add the executable file to our project
|
||||
add_executable(zbstudio WIN32 ${TOPDIR}/build/win32_starter.c ${TOPDIR}/zbstudio/res/zbstudio.rc)
|
||||
|
||||
# link to the static multi-threaded CRT under MSVC
|
||||
if(MSVC)
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
|
||||
foreach(FLAGS_VAR CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_C_FLAGS_${BUILD_TYPE} CMAKE_CXX_FLAGS_${BUILD_TYPE})
|
||||
string(REGEX REPLACE "/MD" "/MT" ${FLAGS_VAR} ${${FLAGS_VAR}})
|
||||
string(REGEX REPLACE "/MDd" "/MTd" ${FLAGS_VAR} ${${FLAGS_VAR}})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# setup the data directory
|
||||
set(DATADIR .)
|
||||
|
||||
# install IDE executable
|
||||
install(TARGETS zbstudio DESTINATION ${DATADIR})
|
||||
|
||||
# install files from manifest
|
||||
install_from_manifest(FILES ${TOPDIR}/zbstudio/MANIFEST ${DATADIR} "^$")
|
||||
install_from_manifest(FILES ${TOPDIR}/zbstudio/MANIFEST-bin-win32 ${DATADIR} "^zbstudio.exe$")
|
||||
elseif(APPLE)
|
||||
# setup the data directory
|
||||
set(ROOTDIR ZeroBraneStudio.app/Contents)
|
||||
set(DATADIR ${ROOTDIR}/ZeroBraneStudio)
|
||||
|
||||
# install IDE shell script
|
||||
install(PROGRAMS ${TOPDIR}/zbstudio/ZeroBraneStudio.app/Contents/MacOS/ZeroBraneStudio DESTINATION ${ROOTDIR}/MacOS)
|
||||
|
||||
# install icon pack and .plist file
|
||||
install(DIRECTORY ${TOPDIR}/zbstudio/ZeroBraneStudio.app/Contents/Resources DESTINATION ${ROOTDIR})
|
||||
install(FILES ${TOPDIR}/zbstudio/ZeroBraneStudio.app/Contents/Info.plist DESTINATION ${ROOTDIR})
|
||||
|
||||
# install files from manifest
|
||||
install_from_manifest(FILES ${TOPDIR}/zbstudio/MANIFEST ${DATADIR} "^$")
|
||||
install_from_manifest(PROGRAMS ${TOPDIR}/zbstudio/MANIFEST-bin-macos ${DATADIR} "^$")
|
||||
else()
|
||||
# check the available Lua modules
|
||||
check_lua_module(wx TRUE)
|
||||
check_lua_module(socket TRUE)
|
||||
check_lua_module(copas ${USE_SYSTEM_COPAS})
|
||||
check_lua_module(luainspect ${USE_SYSTEM_LUAINSPECT})
|
||||
#check_lua_module(mobdebug ${USE_SYSTEM_MOBDEBUG})
|
||||
|
||||
# add user options to select between system-wide and bundled Lua modules
|
||||
add_system_lua_module_option(copas)
|
||||
add_system_lua_module_option(luainspect)
|
||||
#add_system_lua_module_option(mobdebug)
|
||||
|
||||
# setup the data directory
|
||||
set(DATADIR share/zbstudio)
|
||||
|
||||
# install IDE shell script
|
||||
set(IDE_DATADIR "${CMAKE_INSTALL_PREFIX}/${DATADIR}")
|
||||
configure_file(${TOPDIR}/zbstudio/zbstudio.in "${CMAKE_BINARY_DIR}/zbstudio")
|
||||
install(PROGRAMS "${CMAKE_BINARY_DIR}/zbstudio" DESTINATION bin)
|
||||
|
||||
# install bundled Lua modules
|
||||
if(NOT USE_SYSTEM_COPAS)
|
||||
install(DIRECTORY ${TOPDIR}/lualibs/copas ${TOPDIR}/lualibs/coxpcall DESTINATION ${DATADIR}/lualibs)
|
||||
endif()
|
||||
if(NOT USE_SYSTEM_LUAINSPECT)
|
||||
install(DIRECTORY ${TOPDIR}/lualibs/luainspect ${TOPDIR}/lualibs/metalua DESTINATION ${DATADIR}/lualibs)
|
||||
endif()
|
||||
if(NOT USE_SYSTEM_MOBDEBUG)
|
||||
install(DIRECTORY ${TOPDIR}/lualibs/mobdebug DESTINATION ${DATADIR}/lualibs)
|
||||
endif()
|
||||
|
||||
# install .desktop file and hicolor icon theme
|
||||
install(DIRECTORY ${TOPDIR}/zbstudio/res/icons/ DESTINATION share/icons/hicolor)
|
||||
install(FILES ${TOPDIR}/zbstudio/res/zbstudio.desktop DESTINATION share/applications)
|
||||
|
||||
# install miscellaneous documentation files
|
||||
install(FILES ${TOPDIR}/CHANGELOG.md ${TOPDIR}/LICENSE ${TOPDIR}/README.md DESTINATION share/doc/zbstudio)
|
||||
|
||||
# install files from manifest
|
||||
install_from_manifest(FILES ${TOPDIR}/zbstudio/MANIFEST ${DATADIR} "^(CHANGELOG.md|LICENSE|README.md)$|^lualibs/")
|
||||
endif()
|
||||
22
build/build-linux-prep-deb.sh
Executable file
22
build/build-linux-prep-deb.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
# this script installs prerequisites to build binary files on Linux with deb
|
||||
|
||||
sudo apt-get install git-core
|
||||
sudo apt-get install g++
|
||||
sudo apt-get install subversion
|
||||
sudo apt-get install libgtk2.0-dev
|
||||
|
||||
# install cmake as wxwidgets needs 2.8.4+ but "sudo apt-get install cmake"
|
||||
# only installs 2.8.0 on some systems (like Ubuntu 10.4)
|
||||
mkdir build-cmake
|
||||
cd build-cmake
|
||||
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
|
||||
gunzip cmake-2.8.10.2.tar.gz
|
||||
tar xvf cmake-2.8.10.2.tar
|
||||
cd cmake-2.8.10.2
|
||||
./bootstrap
|
||||
make
|
||||
sudo make install
|
||||
cd ../..
|
||||
rm -rf build-cmake
|
||||
9
build/build-linux-prep-rpm.sh
Normal file
9
build/build-linux-prep-rpm.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# this script installs prerequisites to build binary files on Linux with rpm
|
||||
|
||||
sudo yum install gcc-c++
|
||||
sudo yum install git
|
||||
sudo yum install svn
|
||||
sudo yum install cmake
|
||||
sudo yum install gtk2-devel
|
||||
235
build/build-linux.sh
Executable file
235
build/build-linux.sh
Executable file
@@ -0,0 +1,235 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$(uname -m)" = "x86_64" ]; then
|
||||
FPIC="-fpic"
|
||||
ARCH="x64"
|
||||
else
|
||||
FPIC=""
|
||||
ARCH="x86"
|
||||
fi
|
||||
|
||||
# ZBS binary directory
|
||||
BIN_DIR="$(dirname "$PWD")/bin/linux/$ARCH"
|
||||
|
||||
# temporary installation directory for dependencies
|
||||
INSTALL_DIR="$PWD/deps"
|
||||
|
||||
# number of parallel jobs used for building
|
||||
MAKEFLAGS="-j4"
|
||||
|
||||
# flags for manual building with gcc
|
||||
BUILD_FLAGS="-O2 -shared -s -I $INSTALL_DIR/include -L $INSTALL_DIR/lib $FPIC"
|
||||
|
||||
# paths configuration
|
||||
WXWIDGETS_BASENAME="wxWidgets"
|
||||
WXWIDGETS_URL="http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk"
|
||||
|
||||
LIBPNG_BASENAME="libpng-1.6.2"
|
||||
LIBPNG_FILENAME="$LIBPNG_BASENAME.tar.gz"
|
||||
LIBPNG_URL="http://sourceforge.net/projects/libpng/files/libpng16/1.6.2/libpng-1.6.2.tar.gz/download"
|
||||
|
||||
ZLIB_BASENAME="zlib-1.2.8"
|
||||
ZLIB_FILENAME="$ZLIB_BASENAME.tar.gz"
|
||||
ZLIB_URL="https://github.com/madler/zlib/archive/v1.2.8.tar.gz"
|
||||
|
||||
WXLUA_BASENAME="wxlua"
|
||||
WXLUA_URL="https://svn.code.sf.net/p/wxlua/svn/trunk"
|
||||
|
||||
LUASOCKET_BASENAME="luasocket-3.0-rc1"
|
||||
LUASOCKET_FILENAME="v3.0-rc1.zip"
|
||||
LUASOCKET_URL="https://github.com/diegonehab/luasocket/archive/$LUASOCKET_FILENAME"
|
||||
|
||||
# exit if the command line is empty
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: $0 LIBRARY..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# iterate through the command line arguments
|
||||
for ARG in "$@"; do
|
||||
case $ARG in
|
||||
5.2)
|
||||
BUILD_52=true
|
||||
;;
|
||||
jit)
|
||||
BUILD_JIT=true
|
||||
;;
|
||||
wxwidgets)
|
||||
BUILD_WXWIDGETS=true
|
||||
;;
|
||||
lua)
|
||||
BUILD_LUA=true
|
||||
;;
|
||||
wxlua)
|
||||
BUILD_WXLUA=true
|
||||
;;
|
||||
luasocket)
|
||||
BUILD_LUASOCKET=true
|
||||
;;
|
||||
all)
|
||||
BUILD_WXWIDGETS=true
|
||||
BUILD_LUA=true
|
||||
BUILD_WXLUA=true
|
||||
BUILD_LUASOCKET=true
|
||||
;;
|
||||
*)
|
||||
echo "Error: invalid argument $ARG"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# check for g++
|
||||
if [ ! "$(which g++)" ]; then
|
||||
echo "Error: g++ isn't found. Please install GNU C++ compiler."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for cmake
|
||||
if [ ! "$(which cmake)" ]; then
|
||||
echo "Error: cmake isn't found. Please install CMake and add it to PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for svn
|
||||
if [ ! "$(which svn)" ]; then
|
||||
echo "Error: svn isn't found. Please install console SVN client."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for wget
|
||||
if [ ! "$(which wget)" ]; then
|
||||
echo "Error: wget isn't found. Please install GNU Wget."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# create the installation directory
|
||||
mkdir -p "$INSTALL_DIR" || { echo "Error: cannot create directory $INSTALL_DIR"; exit 1; }
|
||||
|
||||
LUAV="51"
|
||||
LUAS=""
|
||||
LUA_BASENAME="lua-5.1.5"
|
||||
|
||||
if [ $BUILD_52 ]; then
|
||||
LUAV="52"
|
||||
LUAS=$LUAV
|
||||
LUA_BASENAME="lua-5.2.2"
|
||||
fi
|
||||
|
||||
LUA_FILENAME="$LUA_BASENAME.tar.gz"
|
||||
LUA_URL="http://www.lua.org/ftp/$LUA_FILENAME"
|
||||
|
||||
if [ $BUILD_JIT ]; then
|
||||
LUA_BASENAME="LuaJIT-2.0.2"
|
||||
LUA_FILENAME="$LUA_BASENAME.tar.gz"
|
||||
LUA_URL="http://luajit.org/download/$LUA_FILENAME"
|
||||
fi
|
||||
|
||||
# build wxWidgets
|
||||
if [ $BUILD_WXWIDGETS ]; then
|
||||
# first build get/configure libpng as v1.6 is needed
|
||||
wget -c "$LIBPNG_URL" -O "$LIBPNG_FILENAME" || { echo "Error: failed to download libpng"; exit 1; }
|
||||
tar -xzf "$LIBPNG_FILENAME"
|
||||
(cd "$LIBPNG_BASENAME"; ./configure --with-libpng-prefix=wxpng_; make $MAKEFLAGS)
|
||||
|
||||
wget -c "$ZLIB_URL" -O "$ZLIB_FILENAME" || { echo "Error: failed to download zlib"; exit 1; }
|
||||
tar -xzf "$ZLIB_FILENAME"
|
||||
(cd "$ZLIB_BASENAME"; ./configure; make $MAKEFLAGS)
|
||||
|
||||
svn co "$WXWIDGETS_URL" "$WXWIDGETS_BASENAME" || { echo "Error: failed to checkout wxWidgets"; exit 1; }
|
||||
# replace src/png with the libpng folder
|
||||
rm -rf "$WXWIDGETS_BASENAME/src/png"
|
||||
mv "$LIBPNG_BASENAME" "$WXWIDGETS_BASENAME/src/png"
|
||||
|
||||
# replace src/zlib with the zlib folder
|
||||
rm -rf "$WXWIDGETS_BASENAME/src/zlib"
|
||||
mv "$ZLIB_BASENAME" "$WXWIDGETS_BASENAME/src/zlib"
|
||||
|
||||
cd "$WXWIDGETS_BASENAME"
|
||||
./configure --prefix="$INSTALL_DIR" --disable-debug --disable-shared --enable-unicode \
|
||||
--with-libjpeg=builtin --with-libpng=builtin --with-libtiff=no --with-expat=no \
|
||||
--with-zlib=builtin --disable-richtext --with-gtk=2 \
|
||||
CFLAGS="-Os -fPIC" CXXFLAGS="-Os -fPIC"
|
||||
# update gzio to gzlib as this has changed between zlib 1.2.3 to 1.2.8
|
||||
sed -i 's/gzio.c/gzlib.c/' Makefile
|
||||
make $MAKEFLAGS || { echo "Error: failed to build wxWidgets"; exit 1; }
|
||||
make install
|
||||
cd ..
|
||||
rm -rf "$WXWIDGETS_BASENAME" "$LIBPNG_FILENAME"
|
||||
fi
|
||||
|
||||
# build Lua
|
||||
if [ $BUILD_LUA ]; then
|
||||
wget -c "$LUA_URL" -O "$LUA_FILENAME" || { echo "Error: failed to download Lua"; exit 1; }
|
||||
tar -xzf "$LUA_FILENAME"
|
||||
cd "$LUA_BASENAME"
|
||||
|
||||
if [ $BUILD_JIT ]; then
|
||||
make CCOPT="-DLUAJIT_ENABLE_LUA52COMPAT" || { echo "Error: failed to build Lua"; exit 1; }
|
||||
make install PREFIX="$INSTALL_DIR"
|
||||
cp "$INSTALL_DIR/bin/luajit" "$INSTALL_DIR/bin/lua"
|
||||
# move luajit to lua as it's expected by luasocket and other components
|
||||
cp "$INSTALL_DIR"/include/luajit*/* "$INSTALL_DIR/include/"
|
||||
else
|
||||
# use POSIX as it has minimum dependencies (no readline and no ncurses required)
|
||||
# LUA_USE_DLOPEN is required for loading libraries
|
||||
(cd src; make all MYCFLAGS="$FPIC -DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E -ldl") || { echo "Error: failed to build Lua"; exit 1; }
|
||||
make install INSTALL_TOP="$INSTALL_DIR"
|
||||
fi
|
||||
cp "$INSTALL_DIR/bin/lua" "$INSTALL_DIR/bin/lua$LUAV"
|
||||
|
||||
cd ..
|
||||
rm -rf "$LUA_FILENAME" "$LUA_BASENAME"
|
||||
fi
|
||||
|
||||
# build wxLua
|
||||
if [ $BUILD_WXLUA ]; then
|
||||
svn co "$WXLUA_URL" "$WXLUA_BASENAME" || { echo "Error: failed to checkout wxLua"; exit 1; }
|
||||
cd "$WXLUA_BASENAME/wxLua"
|
||||
# the following patches wxlua source to fix live coding support in wxlua apps
|
||||
# http://www.mail-archive.com/wxlua-users@lists.sourceforge.net/msg03225.html
|
||||
sed -i 's/\(m_wxlState = wxLuaState(wxlState.GetLuaState(), wxLUASTATE_GETSTATE|wxLUASTATE_ROOTSTATE);\)/\/\/ removed by ZBS build process \/\/ \1/' modules/wxlua/wxlcallb.cpp
|
||||
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=FALSE \
|
||||
-DwxWidgets_CONFIG_EXECUTABLE="$INSTALL_DIR/bin/wx-config" \
|
||||
-DwxWidgets_COMPONENTS="stc;html;aui;adv;core;net;base" \
|
||||
-DwxLuaBind_COMPONENTS="stc;html;aui;adv;core;net;base" -DwxLua_LUA_LIBRARY_USE_BUILTIN=FALSE \
|
||||
-DwxLua_LUA_INCLUDE_DIR="$INSTALL_DIR/include" -DwxLua_LUA_LIBRARY="$INSTALL_DIR/lib/liblua.a" .
|
||||
(cd modules/luamodule; make $MAKEFLAGS) || { echo "Error: failed to build wxLua"; exit 1; }
|
||||
(cd modules/luamodule; make install/strip)
|
||||
[ -f "$INSTALL_DIR/lib/libwx.so" ] || { echo "Error: libwx.so isn't found"; exit 1; }
|
||||
cd ../..
|
||||
rm -rf "$WXLUA_BASENAME"
|
||||
fi
|
||||
|
||||
# build LuaSocket
|
||||
if [ $BUILD_LUASOCKET ]; then
|
||||
wget --no-check-certificate -c "$LUASOCKET_URL" -O "$LUASOCKET_FILENAME" || { echo "Error: failed to download LuaSocket"; exit 1; }
|
||||
unzip "$LUASOCKET_FILENAME"
|
||||
cd "$LUASOCKET_BASENAME"
|
||||
mkdir -p "$INSTALL_DIR/lib/lua/$LUAV/"{mime,socket}
|
||||
gcc $BUILD_FLAGS -o "$INSTALL_DIR/lib/lua/$LUAV/mime/core.so" src/mime.c -llua \
|
||||
|| { echo "Error: failed to build LuaSocket"; exit 1; }
|
||||
gcc $BUILD_FLAGS -o "$INSTALL_DIR/lib/lua/$LUAV/socket/core.so" \
|
||||
src/{auxiliar.c,buffer.c,except.c,inet.c,io.c,luasocket.c,options.c,select.c,tcp.c,timeout.c,udp.c,usocket.c} -llua \
|
||||
|| { echo "Error: failed to build LuaSocket"; exit 1; }
|
||||
mkdir -p "$INSTALL_DIR/share/lua/$LUAV/socket"
|
||||
cp src/{ftp.lua,http.lua,smtp.lua,tp.lua,url.lua} "$INSTALL_DIR/share/lua/$LUAV/socket"
|
||||
cp src/{ltn12.lua,mime.lua,socket.lua} "$INSTALL_DIR/share/lua/$LUAV"
|
||||
[ -f "$INSTALL_DIR/lib/lua/$LUAV/mime/core.so" ] || { echo "Error: mime/core.so isn't found"; exit 1; }
|
||||
[ -f "$INSTALL_DIR/lib/lua/$LUAV/socket/core.so" ] || { echo "Error: socket/core.so isn't found"; exit 1; }
|
||||
cd ..
|
||||
rm -rf "$LUASOCKET_FILENAME" "$LUASOCKET_BASENAME"
|
||||
fi
|
||||
|
||||
# now copy the compiled dependencies to ZBS binary directory
|
||||
mkdir -p "$BIN_DIR" || { echo "Error: cannot create directory $BIN_DIR"; exit 1; }
|
||||
[ $BUILD_LUA ] && cp "$INSTALL_DIR/bin/lua$LUAS" "$BIN_DIR"
|
||||
[ $BUILD_WXLUA ] && cp "$INSTALL_DIR/lib/libwx.so" "$BIN_DIR"
|
||||
if [ $BUILD_LUASOCKET ]; then
|
||||
mkdir -p "$BIN_DIR/clibs$LUAS/"{mime,socket}
|
||||
cp "$INSTALL_DIR/lib/lua/$LUAV/mime/core.so" "$BIN_DIR/clibs$LUAS/mime"
|
||||
cp "$INSTALL_DIR/lib/lua/$LUAV/socket/core.so" "$BIN_DIR/clibs$LUAS/socket"
|
||||
fi
|
||||
|
||||
echo "*** Build has been successfully completed ***"
|
||||
exit 0
|
||||
234
build/build-macosx.sh
Executable file
234
build/build-macosx.sh
Executable file
@@ -0,0 +1,234 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ZBS binary directory
|
||||
BIN_DIR="$(dirname "$PWD")/bin"
|
||||
|
||||
# temporary installation directory for dependencies
|
||||
INSTALL_DIR="$PWD/deps"
|
||||
|
||||
# Mac OS X global settings
|
||||
MACOSX_ARCH="i386"
|
||||
MACOSX_VERSION="10.6"
|
||||
MACOSX_SDK_PATH="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"
|
||||
|
||||
# number of parallel jobs used for building
|
||||
MAKEFLAGS="-j4"
|
||||
|
||||
# flags for manual building with gcc; build universal binaries for luasocket
|
||||
MACOSX_FLAGS="-arch $MACOSX_ARCH -mmacosx-version-min=$MACOSX_VERSION -isysroot $MACOSX_SDK_PATH"
|
||||
BUILD_FLAGS="-O2 -arch x86_64 -dynamiclib -undefined dynamic_lookup $MACOSX_FLAGS -I $INSTALL_DIR/include -L $INSTALL_DIR/lib"
|
||||
|
||||
# paths configuration
|
||||
WXWIDGETS_BASENAME="wxWidgets"
|
||||
WXWIDGETS_URL="http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk"
|
||||
|
||||
WXLUA_BASENAME="wxlua"
|
||||
WXLUA_URL="https://svn.code.sf.net/p/wxlua/svn/trunk"
|
||||
|
||||
LUASOCKET_BASENAME="luasocket-3.0-rc1"
|
||||
LUASOCKET_FILENAME="v3.0-rc1.zip"
|
||||
LUASOCKET_URL="https://github.com/diegonehab/luasocket/archive/$LUASOCKET_FILENAME"
|
||||
|
||||
# exit if the command line is empty
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: $0 LIBRARY..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
WXLUASTRIP="/strip"
|
||||
WXWIDGETSDEBUG="--disable-debug"
|
||||
WXLUABUILD="MinSizeRel"
|
||||
|
||||
# iterate through the command line arguments
|
||||
for ARG in "$@"; do
|
||||
case $ARG in
|
||||
5.2)
|
||||
BUILD_52=true
|
||||
;;
|
||||
jit)
|
||||
BUILD_JIT=true
|
||||
;;
|
||||
wxwidgets)
|
||||
BUILD_WXWIDGETS=true
|
||||
;;
|
||||
lua)
|
||||
BUILD_LUA=true
|
||||
;;
|
||||
wxlua)
|
||||
BUILD_WXLUA=true
|
||||
;;
|
||||
luasocket)
|
||||
BUILD_LUASOCKET=true
|
||||
;;
|
||||
debug)
|
||||
WXLUASTRIP=""
|
||||
WXWIDGETSDEBUG="--enable-debug=max"
|
||||
WXLUABUILD="Debug"
|
||||
;;
|
||||
all)
|
||||
BUILD_WXWIDGETS=true
|
||||
BUILD_LUA=true
|
||||
BUILD_WXLUA=true
|
||||
BUILD_LUASOCKET=true
|
||||
;;
|
||||
*)
|
||||
echo "Error: invalid argument $ARG"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# check for g++
|
||||
if [ ! "$(which g++)" ]; then
|
||||
echo "Error: g++ isn't found. Please install GNU C++ compiler."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for cmake
|
||||
if [ ! "$(which cmake)" ]; then
|
||||
echo "Error: cmake isn't found. Please install CMake and add it to PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for svn
|
||||
if [ ! "$(which svn)" ]; then
|
||||
echo "Error: svn isn't found. Please install console SVN client."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for wget
|
||||
if [ ! "$(which wget)" ]; then
|
||||
echo "Error: wget isn't found. Please install GNU Wget."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# create the installation directory
|
||||
mkdir -p "$INSTALL_DIR" || { echo "Error: cannot create directory $INSTALL_DIR"; exit 1; }
|
||||
|
||||
LUAV="51"
|
||||
LUAS=""
|
||||
LUA_BASENAME="lua-5.1.5"
|
||||
|
||||
if [ $BUILD_52 ]; then
|
||||
LUAV="52"
|
||||
LUAS=$LUAV
|
||||
LUA_BASENAME="lua-5.2.2"
|
||||
fi
|
||||
|
||||
LUA_FILENAME="$LUA_BASENAME.tar.gz"
|
||||
LUA_URL="http://www.lua.org/ftp/$LUA_FILENAME"
|
||||
|
||||
if [ $BUILD_JIT ]; then
|
||||
LUA_BASENAME="LuaJIT-2.0.2"
|
||||
LUA_FILENAME="$LUA_BASENAME.tar.gz"
|
||||
LUA_URL="http://luajit.org/download/$LUA_FILENAME"
|
||||
fi
|
||||
|
||||
# build wxWidgets
|
||||
if [ $BUILD_WXWIDGETS ]; then
|
||||
svn co "$WXWIDGETS_URL" "$WXWIDGETS_BASENAME" || { echo "Error: failed to checkout wxWidgets"; exit 1; }
|
||||
cd "$WXWIDGETS_BASENAME"
|
||||
./configure --prefix="$INSTALL_DIR" $WXWIDGETSDEBUG --disable-shared --enable-unicode \
|
||||
--with-libjpeg=builtin --with-libpng=builtin --with-libtiff=no --with-expat=no \
|
||||
--with-zlib=builtin --disable-richtext \
|
||||
--enable-macosx_arch=$MACOSX_ARCH --with-macosx-version-min=$MACOSX_VERSION --with-macosx-sdk="$MACOSX_SDK_PATH" \
|
||||
--with-osx_cocoa CFLAGS="-Os" CXXFLAGS="-Os"
|
||||
make $MAKEFLAGS || { echo "Error: failed to build wxWidgets"; exit 1; }
|
||||
make install
|
||||
cd ..
|
||||
rm -rf "$WXWIDGETS_BASENAME"
|
||||
fi
|
||||
|
||||
# build Lua
|
||||
if [ $BUILD_LUA ]; then
|
||||
wget -c "$LUA_URL" -O "$LUA_FILENAME" || { echo "Error: failed to download Lua"; exit 1; }
|
||||
tar -xzf "$LUA_FILENAME"
|
||||
cd "$LUA_BASENAME"
|
||||
|
||||
if [ $BUILD_JIT ]; then
|
||||
make BUILDMODE=dynamic LUAJIT_SO=liblua.dylib TARGET_DYLIBPATH=liblua.dylib CC="gcc -m32" CCOPT="$MACOSX_FLAGS -DLUAJIT_ENABLE_LUA52COMPAT" || { echo "Error: failed to build Lua"; exit 1; }
|
||||
make install PREFIX="$INSTALL_DIR"
|
||||
cp "src/luajit" "$INSTALL_DIR/bin/lua"
|
||||
cp "src/liblua.dylib" "$INSTALL_DIR/lib"
|
||||
# move luajit to lua as it's expected by luasocket and other components
|
||||
cp "$INSTALL_DIR"/include/luajit*/* "$INSTALL_DIR/include/"
|
||||
else
|
||||
sed -i "" 's/PLATS=/& macosx_dylib/' Makefile
|
||||
|
||||
# -O1 fixes this issue with for Lua 5.2 with i386: http://lua-users.org/lists/lua-l/2013-05/msg00070.html
|
||||
printf "macosx_dylib:\n" >> src/Makefile
|
||||
printf "\t\$(MAKE) LUA_A=\"liblua$LUAS.dylib\" AR=\"\$(CC) -dynamiclib $MACOSX_FLAGS -o\" RANLIB=\"strip -u -r\" \\\\\n" >> src/Makefile
|
||||
printf "\tMYCFLAGS=\"-O1 -DLUA_USE_LINUX $MACOSX_FLAGS\" MYLDFLAGS=\"$MACOSX_FLAGS\" MYLIBS=\"-lreadline\" lua\n" >> src/Makefile
|
||||
printf "\t\$(MAKE) MYCFLAGS=\"-DLUA_USE_LINUX $MACOSX_FLAGS\" MYLDFLAGS=\"$MACOSX_FLAGS\" luac\n" >> src/Makefile
|
||||
make macosx_dylib || { echo "Error: failed to build Lua"; exit 1; }
|
||||
make install INSTALL_TOP="$INSTALL_DIR"
|
||||
mv "$INSTALL_DIR/bin/lua" "$INSTALL_DIR/bin/lua$LUAS"
|
||||
cp src/liblua$LUAS.dylib "$INSTALL_DIR/lib"
|
||||
fi
|
||||
strip -u -r "$INSTALL_DIR/bin/lua$LUAS"
|
||||
[ -f "$INSTALL_DIR/lib/liblua$LUAS.dylib" ] || { echo "Error: liblua$LUAS.dylib isn't found"; exit 1; }
|
||||
cd ..
|
||||
rm -rf "$LUA_FILENAME" "$LUA_BASENAME"
|
||||
fi
|
||||
|
||||
# build wxLua
|
||||
if [ $BUILD_WXLUA ]; then
|
||||
svn co "$WXLUA_URL" "$WXLUA_BASENAME" || { echo "Error: failed to checkout wxLua"; exit 1; }
|
||||
cd "$WXLUA_BASENAME/wxLua"
|
||||
# the following patches wxlua source to fix live coding support in wxlua apps
|
||||
# http://www.mail-archive.com/wxlua-users@lists.sourceforge.net/msg03225.html
|
||||
sed -i "" 's/\(m_wxlState = wxLuaState(wxlState.GetLuaState(), wxLUASTATE_GETSTATE|wxLUASTATE_ROOTSTATE);\)/\/\/ removed by ZBS build process \/\/ \1/' modules/wxlua/wxlcallb.cpp
|
||||
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" -DCMAKE_BUILD_TYPE=$WXLUABUILD -DBUILD_SHARED_LIBS=FALSE \
|
||||
-DCMAKE_OSX_ARCHITECTURES=$MACOSX_ARCH -DCMAKE_OSX_DEPLOYMENT_TARGET=$MACOSX_VERSION CMAKE_OSX_SYSROOT="$MACOSX_SDK_PATH" \
|
||||
-DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DwxWidgets_CONFIG_EXECUTABLE="$INSTALL_DIR/bin/wx-config" \
|
||||
-DwxWidgets_COMPONENTS="stc;html;aui;adv;core;net;base" \
|
||||
-DwxLuaBind_COMPONENTS="stc;html;aui;adv;core;net;base" -DwxLua_LUA_LIBRARY_USE_BUILTIN=FALSE \
|
||||
-DwxLua_LUA_INCLUDE_DIR="$INSTALL_DIR/include" -DwxLua_LUA_LIBRARY="$INSTALL_DIR/lib/liblua.dylib" .
|
||||
(cd modules/luamodule; make $MAKEFLAGS) || { echo "Error: failed to build wxLua"; exit 1; }
|
||||
(cd modules/luamodule; make install$WXLUASTRIP)
|
||||
if [ $WXLUASTRIP ]; then strip -u -r "$INSTALL_DIR/lib/libwx.dylib"; fi
|
||||
[ -f "$INSTALL_DIR/lib/libwx.dylib" ] || { echo "Error: libwx.dylib isn't found"; exit 1; }
|
||||
cd ../..
|
||||
rm -rf "$WXLUA_BASENAME"
|
||||
fi
|
||||
|
||||
# build LuaSocket
|
||||
if [ $BUILD_LUASOCKET ]; then
|
||||
wget --no-check-certificate -c "$LUASOCKET_URL" -O "$LUASOCKET_FILENAME" || { echo "Error: failed to download LuaSocket"; exit 1; }
|
||||
unzip "$LUASOCKET_FILENAME"
|
||||
cd "$LUASOCKET_BASENAME"
|
||||
mkdir -p "$INSTALL_DIR/lib/lua/$LUAV/"{mime,socket}
|
||||
gcc $BUILD_FLAGS -o "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dylib" src/mime.c \
|
||||
|| { echo "Error: failed to build LuaSocket"; exit 1; }
|
||||
gcc $BUILD_FLAGS -o "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dylib" \
|
||||
src/{auxiliar.c,buffer.c,except.c,inet.c,io.c,luasocket.c,options.c,select.c,tcp.c,timeout.c,udp.c,usocket.c} \
|
||||
|| { echo "Error: failed to build LuaSocket"; exit 1; }
|
||||
strip -u -r "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dylib" "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dylib"
|
||||
install_name_tool -id core.dylib "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dylib"
|
||||
install_name_tool -id core.dylib "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dylib"
|
||||
mkdir -p "$INSTALL_DIR/share/lua/$LUAV/socket"
|
||||
cp src/{ftp.lua,http.lua,smtp.lua,tp.lua,url.lua} "$INSTALL_DIR/share/lua/$LUAV/socket"
|
||||
cp src/{ltn12.lua,mime.lua,socket.lua} "$INSTALL_DIR/share/lua/$LUAV"
|
||||
[ -f "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dylib" ] || { echo "Error: mime/core.dylib isn't found"; exit 1; }
|
||||
[ -f "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dylib" ] || { echo "Error: socket/core.dylib isn't found"; exit 1; }
|
||||
cd ..
|
||||
rm -rf "$LUASOCKET_FILENAME" "$LUASOCKET_BASENAME"
|
||||
fi
|
||||
|
||||
# now copy the compiled dependencies to ZBS binary directory
|
||||
mkdir -p "$BIN_DIR" || { echo "Error: cannot create directory $BIN_DIR"; exit 1; }
|
||||
|
||||
if [ $BUILD_LUA ]; then
|
||||
mkdir -p "$BIN_DIR/lua.app/Contents/MacOS"
|
||||
cp "$INSTALL_DIR/bin/lua$LUAS" "$BIN_DIR/lua.app/Contents/MacOS"
|
||||
cp "$INSTALL_DIR/bin/lua$LUAS" "$INSTALL_DIR/lib/liblua$LUAS.dylib" "$BIN_DIR"
|
||||
fi
|
||||
[ $BUILD_WXLUA ] && cp "$INSTALL_DIR/lib/libwx.dylib" "$BIN_DIR"
|
||||
if [ $BUILD_LUASOCKET ]; then
|
||||
mkdir -p "$BIN_DIR/clibs$LUAS/"{mime,socket}
|
||||
cp "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dylib" "$BIN_DIR/clibs$LUAS/mime"
|
||||
cp "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dylib" "$BIN_DIR/clibs$LUAS/socket"
|
||||
fi
|
||||
|
||||
echo "*** Build has been successfully completed ***"
|
||||
exit 0
|
||||
305
build/build-win32.sh
Normal file
305
build/build-win32.sh
Normal file
@@ -0,0 +1,305 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ZBS binary directory
|
||||
BIN_DIR="$(dirname "$PWD")/bin"
|
||||
|
||||
# temporary installation directory for dependencies
|
||||
INSTALL_DIR="$PWD/deps"
|
||||
|
||||
# number of parallel jobs used for building
|
||||
MAKEFLAGS="-j1" # some make may hang on Windows with j4 or j7
|
||||
|
||||
# flags for manual building with gcc
|
||||
BUILD_FLAGS="-O2 -shared -s -I $INSTALL_DIR/include -L $INSTALL_DIR/lib"
|
||||
|
||||
# paths configuration
|
||||
WXWIDGETS_BASENAME="wxWidgets"
|
||||
WXWIDGETS_URL="http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk"
|
||||
|
||||
WXLUA_BASENAME="wxlua"
|
||||
WXLUA_URL="https://svn.code.sf.net/p/wxlua/svn/trunk"
|
||||
|
||||
LUASOCKET_BASENAME="luasocket-3.0-rc1"
|
||||
LUASOCKET_FILENAME="v3.0-rc1.zip"
|
||||
LUASOCKET_URL="https://github.com/diegonehab/luasocket/archive/$LUASOCKET_FILENAME"
|
||||
|
||||
OPENSSL_BASENAME="openssl-1.0.1e"
|
||||
OPENSSL_FILENAME="$OPENSSL_BASENAME.tar.gz"
|
||||
OPENSSL_URL="http://www.openssl.org/source/$OPENSSL_FILENAME"
|
||||
|
||||
LUASEC_BASENAME="luasec-0.4.1"
|
||||
LUASEC_FILENAME="$LUASEC_BASENAME.zip"
|
||||
LUASEC_URL="https://github.com/brunoos/luasec/archive/$LUASEC_FILENAME"
|
||||
|
||||
WINAPI_BASENAME="winapi"
|
||||
WINAPI_URL="https://github.com/stevedonovan/winapi.git"
|
||||
|
||||
# exit if the command line is empty
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: $0 LIBRARY..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
WXLUASTRIP="/strip"
|
||||
WXWIDGETSDEBUG="--disable-debug"
|
||||
WXLUABUILD="MinSizeRel"
|
||||
|
||||
# iterate through the command line arguments
|
||||
for ARG in "$@"; do
|
||||
case $ARG in
|
||||
5.2)
|
||||
BUILD_52=true
|
||||
;;
|
||||
jit)
|
||||
BUILD_JIT=true
|
||||
;;
|
||||
wxwidgets)
|
||||
BUILD_WXWIDGETS=true
|
||||
;;
|
||||
lua)
|
||||
BUILD_LUA=true
|
||||
;;
|
||||
wxlua)
|
||||
BUILD_WXLUA=true
|
||||
;;
|
||||
luasocket)
|
||||
BUILD_LUASOCKET=true
|
||||
;;
|
||||
luasec)
|
||||
BUILD_LUASEC=true
|
||||
;;
|
||||
winapi)
|
||||
BUILD_WINAPI=true
|
||||
;;
|
||||
zbstudio)
|
||||
BUILD_ZBSTUDIO=true
|
||||
;;
|
||||
debug)
|
||||
WXLUASTRIP=""
|
||||
WXWIDGETSDEBUG="--enable-debug=max --enable-debug_gdb"
|
||||
WXLUABUILD="Debug"
|
||||
;;
|
||||
all)
|
||||
BUILD_WXWIDGETS=true
|
||||
BUILD_LUA=true
|
||||
BUILD_WXLUA=true
|
||||
BUILD_LUASOCKET=true
|
||||
BUILD_WINAPI=true
|
||||
BUILD_ZBSTUDIO=true
|
||||
;;
|
||||
*)
|
||||
echo "Error: invalid argument $ARG"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# check for g++
|
||||
if [ ! "$(which g++)" ]; then
|
||||
echo "Error: g++ isn't found. Please install MinGW C++ compiler."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for cmake
|
||||
if [ ! "$(which cmake)" ]; then
|
||||
echo "Error: cmake isn't found. Please install CMake and add it to PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for svn
|
||||
if [[ ($BUILD_WXWIDGETS || $BUILD_LUA) && ! "$(which svn)" ]]; then
|
||||
echo "Error: svn isn't found. Please install console SVN client."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for git
|
||||
if [[ $BUILD_WINAPI && ! "$(which git)" ]]; then
|
||||
echo "Error: git isn't found. Please install console GIT client."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for wget
|
||||
if [ ! "$(which wget)" ]; then
|
||||
# NOTE: can't check the return status since mingw-get always returns 0 even in the case of errors :(
|
||||
mingw-get install msys-wget
|
||||
fi
|
||||
|
||||
# create the installation directory
|
||||
mkdir -p "$INSTALL_DIR" || { echo "Error: cannot create directory $INSTALL_DIR"; exit 1; }
|
||||
|
||||
LUAV="51"
|
||||
LUAS=""
|
||||
LUA_BASENAME="lua-5.1.5"
|
||||
|
||||
if [ $BUILD_52 ]; then
|
||||
LUAV="52"
|
||||
LUAS=$LUAV
|
||||
LUA_BASENAME="lua-5.2.2"
|
||||
fi
|
||||
|
||||
LUA_FILENAME="$LUA_BASENAME.tar.gz"
|
||||
LUA_URL="http://www.lua.org/ftp/$LUA_FILENAME"
|
||||
|
||||
if [ $BUILD_JIT ]; then
|
||||
LUA_BASENAME="LuaJIT-2.0.2"
|
||||
LUA_FILENAME="$LUA_BASENAME.tar.gz"
|
||||
LUA_URL="http://luajit.org/download/$LUA_FILENAME"
|
||||
fi
|
||||
|
||||
# build wxWidgets
|
||||
if [ $BUILD_WXWIDGETS ]; then
|
||||
svn co "$WXWIDGETS_URL" "$WXWIDGETS_BASENAME" || { echo "Error: failed to checkout wxWidgets"; exit 1; }
|
||||
svn revert -R "$WXWIDGETS_BASENAME"
|
||||
cd "$WXWIDGETS_BASENAME"
|
||||
./configure --prefix="$INSTALL_DIR" $WXWIDGETSDEBUG --disable-shared --enable-unicode \
|
||||
--with-libjpeg=builtin --with-libpng=builtin --with-libtiff=no --with-expat=no \
|
||||
--with-zlib=builtin --disable-richtext \
|
||||
CFLAGS="-Os -fno-keep-inline-dllexport" CXXFLAGS="-Os -fno-keep-inline-dllexport"
|
||||
make $MAKEFLAGS || { echo "Error: failed to build wxWidgets"; exit 1; }
|
||||
make install
|
||||
cd ..
|
||||
rm -rf "$WXWIDGETS_BASENAME"
|
||||
fi
|
||||
|
||||
# build Lua
|
||||
if [ $BUILD_LUA ]; then
|
||||
wget -c "$LUA_URL" -O "$LUA_FILENAME" || { echo "Error: failed to download Lua"; exit 1; }
|
||||
tar -xzf "$LUA_FILENAME"
|
||||
cd "$LUA_BASENAME"
|
||||
if [ $BUILD_JIT ]; then
|
||||
make CCOPT="-DLUAJIT_ENABLE_LUA52COMPAT" || { echo "Error: failed to build Lua"; exit 1; }
|
||||
make install PREFIX="$INSTALL_DIR"
|
||||
cp "$INSTALL_DIR/bin/luajit.exe" "$INSTALL_DIR/bin/lua.exe"
|
||||
# move luajit to lua as it's expected by luasocket and other components
|
||||
cp "$INSTALL_DIR"/include/luajit*/* "$INSTALL_DIR/include/"
|
||||
else
|
||||
make mingw || { echo "Error: failed to build Lua"; exit 1; }
|
||||
make install INSTALL_TOP="$INSTALL_DIR"
|
||||
fi
|
||||
cp src/lua$LUAV.dll "$INSTALL_DIR/lib"
|
||||
cp "$INSTALL_DIR/bin/lua.exe" "$INSTALL_DIR/bin/lua$LUAV.exe"
|
||||
[ -f "$INSTALL_DIR/lib/lua$LUAV.dll" ] || { echo "Error: lua$LUAV.dll isn't found"; exit 1; }
|
||||
cd ..
|
||||
rm -rf "$LUA_FILENAME" "$LUA_BASENAME"
|
||||
fi
|
||||
|
||||
# build wxLua
|
||||
if [ $BUILD_WXLUA ]; then
|
||||
svn co "$WXLUA_URL" "$WXLUA_BASENAME" || { echo "Error: failed to checkout wxLua"; exit 1; }
|
||||
svn revert -R "$WXLUA_BASENAME"
|
||||
cd "$WXLUA_BASENAME/wxLua"
|
||||
sed -i 's|:-/\(.\)/|:-\1:/|' "$INSTALL_DIR/bin/wx-config"
|
||||
sed -i 's/execute_process(COMMAND/& sh/' build/CMakewxAppLib.cmake modules/wxstedit/build/CMakewxAppLib.cmake
|
||||
|
||||
# the following patches wxlua source to fix live coding support in wxlua apps
|
||||
# http://www.mail-archive.com/wxlua-users@lists.sourceforge.net/msg03225.html
|
||||
sed -i 's/\(m_wxlState = wxLuaState(wxlState.GetLuaState(), wxLUASTATE_GETSTATE|wxLUASTATE_ROOTSTATE);\)/\/\/ removed by ZBS build process \/\/ \1/' modules/wxlua/wxlcallb.cpp
|
||||
|
||||
# remove check for Lua 5.2 as it doesn't work with Twoface ABI mapper
|
||||
sed -i 's/LUA_VERSION_NUM < 502/0/' modules/wxlua/wxlcallb.cpp
|
||||
|
||||
# (temporary) fix for compilation issue in wxlua in Windows using mingw (r184)
|
||||
sed -i 's/defined(__MINGW32__) || defined(__GNUWIN32__)/0/' modules/wxbind/src/wxcore_bind.cpp
|
||||
|
||||
[ -f "$INSTALL_DIR/lib/libwxscintilla-2.9.a" ] && cp "$INSTALL_DIR/lib/libwxscintilla-2.9.a" "$INSTALL_DIR/lib/libwx_mswu_scintilla-2.9.a"
|
||||
[ -f "$INSTALL_DIR/lib/libwxscintilla-3.0.a" ] && cp "$INSTALL_DIR/lib/libwxscintilla-3.0.a" "$INSTALL_DIR/lib/libwx_mswu_scintilla-3.0.a"
|
||||
|
||||
echo "set_target_properties(wxLuaModule PROPERTIES LINK_FLAGS -static)" >> modules/luamodule/CMakeLists.txt
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" -DCMAKE_BUILD_TYPE=$WXLUABUILD -DBUILD_SHARED_LIBS=FALSE \
|
||||
-DwxWidgets_CONFIG_EXECUTABLE="$INSTALL_DIR/bin/wx-config" \
|
||||
-DwxWidgets_COMPONENTS="stc;html;aui;adv;core;net;base" \
|
||||
-DwxLuaBind_COMPONENTS="stc;html;aui;adv;core;net;base" -DwxLua_LUA_LIBRARY_USE_BUILTIN=FALSE \
|
||||
-DwxLua_LUA_INCLUDE_DIR="$INSTALL_DIR/include" -DwxLua_LUA_LIBRARY="$INSTALL_DIR/lib/lua51.dll" .
|
||||
(cd modules/luamodule; make $MAKEFLAGS) || { echo "Error: failed to build wxLua"; exit 1; }
|
||||
(cd modules/luamodule; make install$WXLUASTRIP)
|
||||
[ -f "$INSTALL_DIR/bin/libwx.dll" ] || { echo "Error: libwx.dll isn't found"; exit 1; }
|
||||
cd ../..
|
||||
rm -rf "$WXLUA_BASENAME"
|
||||
fi
|
||||
|
||||
# build LuaSocket
|
||||
if [ $BUILD_LUASOCKET ]; then
|
||||
wget --no-check-certificate -c "$LUASOCKET_URL" -O "$LUASOCKET_FILENAME" || { echo "Error: failed to download LuaSocket"; exit 1; }
|
||||
unzip "$LUASOCKET_FILENAME"
|
||||
cd "$LUASOCKET_BASENAME"
|
||||
mkdir -p "$INSTALL_DIR/lib/lua/$LUAV/"{mime,socket}
|
||||
gcc $BUILD_FLAGS -o "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dll" src/mime.c -llua$LUAV \
|
||||
|| { echo "Error: failed to build LuaSocket"; exit 1; }
|
||||
gcc $BUILD_FLAGS -DLUASOCKET_INET_PTON -D_WIN32_WINNT=0x0501 -o "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dll" \
|
||||
src/{auxiliar.c,buffer.c,except.c,inet.c,io.c,luasocket.c,options.c,select.c,tcp.c,timeout.c,udp.c,wsocket.c} -lwsock32 -lws2_32 -llua$LUAV \
|
||||
|| { echo "Error: failed to build LuaSocket"; exit 1; }
|
||||
mkdir -p "$INSTALL_DIR/share/lua/$LUAV/socket"
|
||||
cp src/{ftp.lua,http.lua,smtp.lua,tp.lua,url.lua} "$INSTALL_DIR/share/lua/$LUAV/socket"
|
||||
cp src/{ltn12.lua,mime.lua,socket.lua} "$INSTALL_DIR/share/lua/$LUAV"
|
||||
[ -f "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dll" ] || { echo "Error: mime/core.dll isn't found"; exit 1; }
|
||||
[ -f "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dll" ] || { echo "Error: socket/core.dll isn't found"; exit 1; }
|
||||
cd ..
|
||||
rm -rf "$LUASOCKET_FILENAME" "$LUASOCKET_BASENAME"
|
||||
fi
|
||||
|
||||
# build LuaSec
|
||||
if [ $BUILD_LUASEC ]; then
|
||||
# build openSSL
|
||||
wget --no-check-certificate -c "$OPENSSL_URL" -O "$OPENSSL_FILENAME" || { echo "Error: failed to download OpenSSL"; exit 1; }
|
||||
tar -xzf "$OPENSSL_FILENAME"
|
||||
cd "$OPENSSL_BASENAME"
|
||||
bash Configure mingw
|
||||
make
|
||||
make install_sw INSTALLTOP="$INSTALL_DIR"
|
||||
cd ..
|
||||
rm -rf "$OPENSSL_FILENAME" "$OPENSSL_BASENAME"
|
||||
|
||||
# build LuaSec
|
||||
wget --no-check-certificate -c "$LUASEC_URL" -O "$LUASEC_FILENAME" || { echo "Error: failed to download LuaSec"; exit 1; }
|
||||
unzip "$LUASEC_FILENAME"
|
||||
# the folder in the archive is "luasec-luasec-....", so need to fix
|
||||
mv "luasec-$LUASEC_BASENAME" $LUASEC_BASENAME
|
||||
cd "$LUASEC_BASENAME"
|
||||
gcc $BUILD_FLAGS -o "$INSTALL_DIR/lib/lua/5.1/ssl.dll" \
|
||||
src/{timeout.c,buffer.c,io.c,context.c,ssl.c,wsocket.c} -lssl -lcrypto -lws2_32 -lgdi32 -llua51 \
|
||||
|| { echo "Error: failed to build LuaSec"; exit 1; }
|
||||
cp src/{ssl.lua,https.lua} "$INSTALL_DIR/share/lua/5.1"
|
||||
[ -f "$INSTALL_DIR/lib/lua/5.1/ssl.dll" ] || { echo "Error: luasec.dll isn't found"; exit 1; }
|
||||
cd ..
|
||||
rm -rf "$LUASEC_FILENAME" "$LUASEC_BASENAME"
|
||||
fi
|
||||
|
||||
# build winapi
|
||||
if [ $BUILD_WINAPI ]; then
|
||||
git clone "$WINAPI_URL" "$WINAPI_BASENAME"
|
||||
cd "$WINAPI_BASENAME"
|
||||
gcc $BUILD_FLAGS -DPSAPI_VERSION=1 -o "$INSTALL_DIR/lib/lua/5.1/winapi.dll" winapi.c wutils.c -lpsapi -lmpr -llua51 \
|
||||
|| { echo "Error: failed to build winapi"; exit 1; }
|
||||
[ -f "$INSTALL_DIR/lib/lua/5.1/winapi.dll" ] || { echo "Error: winapi.dll isn't found"; exit 1; }
|
||||
cd ..
|
||||
rm -rf "$WINAPI_BASENAME"
|
||||
fi
|
||||
|
||||
# build ZBS launcher
|
||||
if [ $BUILD_ZBSTUDIO ]; then
|
||||
windres ../zbstudio/res/zbstudio.rc zbstudio.rc.o
|
||||
gcc -O2 -s -mwindows -o ../zbstudio.exe win32_starter.c zbstudio.rc.o
|
||||
rm zbstudio.rc.o
|
||||
[ -f ../zbstudio.exe ] || { echo "Error: zbstudio.exe isn't found"; exit 1; }
|
||||
fi
|
||||
|
||||
# now copy the compiled dependencies to ZBS binary directory
|
||||
mkdir -p "$BIN_DIR" || { echo "Error: cannot create directory $BIN_DIR"; exit 1; }
|
||||
|
||||
[ $BUILD_LUA ] && cp "$INSTALL_DIR/bin/lua$LUAS.exe" "$INSTALL_DIR/lib/lua$LUAV.dll" "$BIN_DIR"
|
||||
[ $BUILD_WXLUA ] && cp "$INSTALL_DIR/bin/libwx.dll" "$BIN_DIR/wx.dll"
|
||||
[ $BUILD_WINAPI ] && cp "$INSTALL_DIR/lib/lua/5.1/winapi.dll" "$BIN_DIR"
|
||||
[ $BUILD_LUASEC ] && cp "$INSTALL_DIR/lib/lua/5.1/ssl.dll" "$BIN_DIR"
|
||||
|
||||
if [ $BUILD_LUASOCKET ]; then
|
||||
mkdir -p "$BIN_DIR/clibs$LUAS/"{mime,socket}
|
||||
cp "$INSTALL_DIR/lib/lua/$LUAV/mime/core.dll" "$BIN_DIR/clibs$LUAS/mime"
|
||||
cp "$INSTALL_DIR/lib/lua/$LUAV/socket/core.dll" "$BIN_DIR/clibs$LUAS/socket"
|
||||
fi
|
||||
|
||||
# To build lua5.1.dll proxy:
|
||||
# (1) get mkforwardlib-gcc.lua from http://lua-users.org/wiki/LuaProxyDllThree
|
||||
# (2) run it as "lua mkforwardlib-gcc.lua lua51 lua5.1 X86"
|
||||
|
||||
echo "*** Build has been successfully completed ***"
|
||||
exit 0
|
||||
92
build/messages.lua
Normal file
92
build/messages.lua
Normal file
@@ -0,0 +1,92 @@
|
||||
-- This scrips extracts all text messages for ZeroBrane Studio and generates
|
||||
-- a file that can be used to provide translation to a particular language.
|
||||
-- The name of the file -- ll-cc.lua -- has two segments:
|
||||
-- ll (mandatory) -- two letter [language code](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes);
|
||||
-- cc (optional) -- two letter [country code](http://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements).
|
||||
|
||||
-- You can generate an empty file with all messages by running:
|
||||
-- > bin\lua.exe build/messages.lua
|
||||
-- You can also update an existing file with new messages by running:
|
||||
-- > bin\lua.exe build/messages.lua cfg/i18n/ru.lua
|
||||
|
||||
local iswindows = os.getenv('WINDIR') or (os.getenv('OS') or ''):match('[Ww]indows')
|
||||
if iswindows or not pcall(require, "wx") then
|
||||
package.cpath = (iswindows and 'bin/?.dll;' or 'bin/lib?.dylib;') .. package.cpath
|
||||
end
|
||||
|
||||
require "wx"
|
||||
|
||||
function FileSysGet(dir,spec)
|
||||
local content = {}
|
||||
local browse = wx.wxFileSystem()
|
||||
local cwd = wx.wxGetCwd()
|
||||
if not wx.wxFileName(dir):DirExists() then return content end
|
||||
local f = browse:FindFirst(dir,spec)
|
||||
while #f>0 do
|
||||
if f:match("^file:") then -- remove file: protocol (wx2.9+)
|
||||
f = f:gsub(iswindows and "^file:/?" or "^file:","")
|
||||
:gsub('%%(%x%x)', function(n) return string.char(tonumber(n, 16)) end)
|
||||
end
|
||||
-- wx2.9+ return absolute path here instead of expected relative; fix it
|
||||
if wx.wxIsAbsolutePath(f) then
|
||||
local relative = wx.wxFileName(f)
|
||||
relative:MakeRelativeTo(cwd)
|
||||
f = relative:GetFullPath()
|
||||
end
|
||||
table.insert(content, f)
|
||||
f = browse:FindNext()
|
||||
end
|
||||
return content
|
||||
end
|
||||
|
||||
function FileRead(file)
|
||||
local f = wx.wxFile(file, wx.wxFile.read)
|
||||
if not f:IsOpened() then
|
||||
error("Can't open file '"..file.."': "..wx.wxSysErrorMsg()) end
|
||||
local _, content = f:Read(f:Length())
|
||||
f:Close()
|
||||
return content
|
||||
end
|
||||
|
||||
local file = ... -- pass an existing file name as a parameter
|
||||
local messages = {}
|
||||
for _, mask in ipairs({"zbstudio/*.lua", "src/main.lua", "src/editor/*.lua"}) do
|
||||
for _, file in ipairs(FileSysGet(mask, wx.wxFILE)) do
|
||||
local content = FileRead(file)
|
||||
for msg in content:gmatch("[^%w]TR(%b())") do
|
||||
-- remove brackets aroung ("foo")
|
||||
-- extract message from ("foo", count)
|
||||
msg = msg:gsub("^%(", ""):gsub("%)$", ""):gsub([[(["']), .+]], "%1")
|
||||
messages[msg] = messages[msg] or {}
|
||||
messages[msg][file] = (messages[msg][file] or 0) + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local existing = {}
|
||||
if file then
|
||||
local content = FileRead(file)
|
||||
for msg, translation in content:gmatch("%s*%[([^%]]+)%]%s*=%s*([^\010\013]+)") do
|
||||
if not translation:find('^nil') then existing[tonumber(msg) or msg] = translation end
|
||||
end
|
||||
end
|
||||
|
||||
local plural = existing[0] and (" [0] = "..existing[0].."\n") or ""
|
||||
existing[0] = nil
|
||||
|
||||
local msgs = {}
|
||||
for m, files in pairs(messages) do
|
||||
local str = " ["..m.."] = "..(existing[m] or 'nil, --')
|
||||
str = str:gsub(" %-%-.*$", "").." -- "
|
||||
for f in pairs(files) do str = str .. f .. ", " end
|
||||
msgs[#msgs+1] = str:gsub(", $", "")
|
||||
existing[m] = nil -- remove from the list of existing elements
|
||||
end
|
||||
|
||||
table.sort(msgs)
|
||||
print("return {\n"..plural..table.concat(msgs, "\n").."\n}")
|
||||
if next(existing) then
|
||||
local str = "-- no match found for the following elements: "
|
||||
for msg in pairs(existing) do str = str .. msg .. ", " end
|
||||
print((str:gsub(", $", "")))
|
||||
end
|
||||
@@ -4,7 +4,7 @@
|
||||
// (providing a single exe file in our main directory without
|
||||
// polluting it with all these dlls located in the /bin folder)
|
||||
|
||||
#ifdef __MINGW__ /* not sure if this is the *official* define */
|
||||
#ifdef __MINGW32__
|
||||
#define _WIN32_WINNT 0x0502
|
||||
#endif
|
||||
|
||||
@@ -24,7 +24,6 @@ typedef void varfuncvoid (void *L,...);
|
||||
// from lua.h
|
||||
#define LUA_GLOBALSINDEX (-10002)
|
||||
|
||||
|
||||
static voidfunc *luaL_newstate;
|
||||
static varfunc *luaL_loadbuffer;
|
||||
static varfunc *luaL_openlibs;
|
||||
@@ -146,13 +145,12 @@ int main (int argc, char *argv[])
|
||||
#endif
|
||||
HINSTANCE hinstLib;
|
||||
|
||||
|
||||
char buffer[MAX_PATH],*file;
|
||||
|
||||
if (!GetFullPathName(argv[0],MAX_PATH,buffer,&file)) {
|
||||
MessageBox(NULL,
|
||||
TEXT("Couldn't find the correct working directory"),
|
||||
TEXT("Failed to start estrela"),
|
||||
TEXT("Failed to start editor"),
|
||||
MB_OK|MB_ICONERROR);
|
||||
return 0;
|
||||
}
|
||||
@@ -166,7 +164,7 @@ int main (int argc, char *argv[])
|
||||
|
||||
|
||||
SetDllDirectory(".\\bin\\");
|
||||
hinstLib = LoadLibrary("lua5.1.dll");
|
||||
hinstLib = LoadLibrary("lua51.dll");
|
||||
if (hinstLib != NULL)
|
||||
{
|
||||
luaL_newstate = (voidfunc*) GetProcAddress(hinstLib, "luaL_newstate");
|
||||
@@ -207,18 +205,18 @@ int main (int argc, char *argv[])
|
||||
else
|
||||
MessageBox(NULL,
|
||||
TEXT("An unexpected error occured while loading the lua chunk."),
|
||||
TEXT("Failed to start estrela"),
|
||||
TEXT("Failed to start editor"),
|
||||
MB_OK|MB_ICONERROR);
|
||||
} else
|
||||
MessageBox(NULL,
|
||||
TEXT("Couldn't initialize a luastate"),
|
||||
TEXT("Failed to start estrela"),
|
||||
TEXT("Failed to start editor"),
|
||||
MB_OK|MB_ICONERROR);
|
||||
} else {
|
||||
MessageBox(NULL,
|
||||
TEXT("Could not load all functions that are supposed to be located in the lua5.1.dll\n"
|
||||
TEXT("Could not load all functions that are supposed to be located in the lua51.dll\n"
|
||||
"This is not supposed to be happening..."),
|
||||
TEXT("Failed to start estrela"),
|
||||
TEXT("Failed to start editor"),
|
||||
MB_OK|MB_ICONERROR);
|
||||
}
|
||||
|
||||
@@ -226,11 +224,10 @@ int main (int argc, char *argv[])
|
||||
FreeLibrary(hinstLib);
|
||||
} else {
|
||||
MessageBox(NULL,
|
||||
TEXT("The lua5.1.dll could not be found or loaded, please check the working directory of the application.\n"),
|
||||
TEXT("Failed to initialize estrela"),
|
||||
TEXT("The lua51.dll could not be found or loaded, please check the working directory of the application.\n"),
|
||||
TEXT("Failed to initialize editor"),
|
||||
MB_OK|MB_ICONERROR);
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
styles = {
|
||||
-- lexer specific (inherit fg/bg from text)
|
||||
lexerdef = {fg = {128, 128, 128},},
|
||||
comment = {fg = {0, 127, 0 },bg = {240, 240, 220}, fill= true,},
|
||||
stringtxt = {fg = {127, 0, 127},},
|
||||
stringeol = {fg = {0, 0, 0 },bg = {224, 192, 224}, fill = true, },
|
||||
preprocessor = {fg = {127, 127, 0 },},
|
||||
operator = {fg = {0, 0, 0 },},
|
||||
number = {fg = {90, 100, 0 },},
|
||||
|
||||
keywords0 = {fg = {0, 0, 127}, b = true,},
|
||||
keywords1 = {fg = {127, 0, 0}, b = true,},
|
||||
keywords2 = {fg = {0, 127, 0}, b = true,},
|
||||
keywords3 = {fg = {0, 0, 127}, b = true,},
|
||||
keywords4 = {fg = {127, 0, 95}, b = true,},
|
||||
keywords5 = {fg = {35, 95, 175}, b = true,},
|
||||
keywords6 = {fg = {0, 127, 127}, b = true,},
|
||||
keywords7 = {fg = {240, 255, 255}, b = true,},
|
||||
|
||||
-- common (inherit fg/bg from text)
|
||||
text = nil, -- let os pick
|
||||
linenumber = {fg = {90, 90, 80},},
|
||||
bracematch = {fg = {0, 0, 255}, b = true},
|
||||
bracemiss = {fg = {255, 0, 0 }, b = true},
|
||||
ctrlchar = nil,
|
||||
indent = {fg = {192, 192, 192},bg = {255, 255, 255},},
|
||||
calltip = nil,
|
||||
|
||||
-- common special (need custom fg & bg)
|
||||
calltipbg = nil,
|
||||
sel = nil,
|
||||
caret = nil,
|
||||
caretlinebg = nil,
|
||||
fold = nil,
|
||||
whitespace = {fg = {180, 180, 180,},},
|
||||
|
||||
fncall = {fg = {175,175,255}, st= wxstc.wxSTC_INDIC_BOX},
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
styles = {
|
||||
-- lexer specific (inherit fg/bg from text)
|
||||
lexerdef = {fg = {128, 128, 128},},
|
||||
comment = {fg = {200, 230, 120 },bg = {30, 40, 30 }, fill= true,},
|
||||
stringtxt = {fg = {240,128,240},},
|
||||
stringeol = {fg = {240,128,200},bg = {48, 24, 24}, fill = true,},
|
||||
preprocessor = {fg = {220,175,140},},
|
||||
operator = {fg = {210, 230, 240 },},
|
||||
number = {fg = {210, 230, 255, },},
|
||||
|
||||
keywords0 = {fg = {240,240,0}},
|
||||
keywords1 = {fg = {255,64,64},},
|
||||
keywords2 = {fg = {0,240,240},},
|
||||
keywords3 = {fg = {140,140,240},},
|
||||
keywords4 = {fg = {255, 128, 0},},
|
||||
keywords5 = {fg = {200,200,240},},
|
||||
keywords6 = {fg = {64, 250, 64},},
|
||||
keywords7 = {fg = {255, 128, 128},},
|
||||
|
||||
-- common (inherit fg/bg from text)
|
||||
text = {fg = {240,240,240},bg = {24,24,24},},
|
||||
linenumber = {fg = {30, 30, 40},bg = {230, 230, 230},},
|
||||
bracematch = {fg = {255, 127, 0}, b = true},
|
||||
bracemiss = {fg = {255, 0,0}, b = true},
|
||||
ctrlchar = nil,
|
||||
indent = {fg = {80, 80, 80},bg = {24,24,24},},
|
||||
calltip = {fg = {255,255,255},bg = {10,10,10},},
|
||||
|
||||
-- common special (need custom fg & bg)
|
||||
calltipbg = {fg = {240,240,240},bg = {10,10,10},},
|
||||
sel = {fg = {180,220,140},bg = {70,105,100},},
|
||||
caret = {fg = {250,250,250},},
|
||||
caretlinebg = {fg = {180,220,140},bg = {24,44,44},},
|
||||
fold = nil,
|
||||
whitespace = {fg = {54,54,54},},
|
||||
|
||||
fncall = {fg = {140,140,0}, st = wxstc.wxSTC_INDIC_BOX},
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
styles = {
|
||||
-- lexer specific (inherit fg/bg from text)
|
||||
lexerdef = {fg = {128, 128, 128},},
|
||||
comment = {fg = {100, 155, 65}, bg = {30, 35, 30 }, fill= true,},
|
||||
stringtxt = {fg = {200, 145, 145},},
|
||||
stringeol = {fg = {200, 145, 145},bg = {48, 24, 24}, fill = true,},
|
||||
preprocessor = {fg = {220, 175, 140},},
|
||||
operator = {fg = {210, 230, 240 },},
|
||||
number = {fg = {210, 230, 255, },},
|
||||
|
||||
keywords0 = {fg = {128,128,255},},
|
||||
keywords1 = {fg = {210,90,90},},
|
||||
keywords2 = {fg = {0,220,220},},
|
||||
keywords3 = {fg = {220,220,0},},
|
||||
keywords4 = {fg = {240, 128,0},},
|
||||
keywords5 = {fg = {200,200,240},},
|
||||
keywords6 = {fg = {64, 240, 64},},
|
||||
keywords7 = {fg = {255, 128, 128},},
|
||||
|
||||
-- common (inherit fg/bg from text)
|
||||
text = {fg = {200,200,200},bg = {18,24,26},},
|
||||
linenumber = {fg = {30, 30, 40},bg = {230, 230, 230},},
|
||||
bracematch = {fg = {255, 127, 0}, b = true},
|
||||
bracemiss = {fg = {255, 0,0}, b = true},
|
||||
ctrlchar = nil,
|
||||
indent = {fg = {80, 80, 80},bg = {24,24,24},},
|
||||
calltip = {fg = {255,255,255},bg = {10,10,10},},
|
||||
|
||||
-- common special (need custom fg & bg)
|
||||
calltipbg = {fg = {240,240,240},bg = {10,10,10},},
|
||||
sel = {fg = {180,220,140},bg = {70,105,100},},
|
||||
caret = {fg = {250,250,250},},
|
||||
caretlinebg = {fg = {180,220,140},bg = {24,44,44},},
|
||||
fold = nil,
|
||||
whitespace = {fg = {54,54,54},},
|
||||
|
||||
fncall = {fg = {75,75,150}, st= wxstc.wxSTC_INDIC_BOX},
|
||||
}
|
||||
20
cfg/estrela.lua
Normal file
20
cfg/estrela.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- If you have used Estrela before, please copy this content
|
||||
-- to your user.lua file in the cfg/ directory
|
||||
|
||||
-- load all tools, specs, and interpreters
|
||||
local all = function() return true end
|
||||
load.tools(all)
|
||||
load.specs(all)
|
||||
load.interpreters(all)
|
||||
|
||||
-- this flag means that toggling between projects, will not affect the
|
||||
-- list of opened files (old estrela default).
|
||||
-- zbstudio defaults here to true, meaning that you get
|
||||
-- per-project list of openend files
|
||||
projectautoopen = false
|
||||
|
||||
-- default search paths for luxinia
|
||||
local luxpath = os.getenv("LUXINIA")
|
||||
path.luxinia = luxpath and luxpath.."/" or "../luxinia/engine/"
|
||||
local luxpath2 = os.getenv("LUXINIA2")
|
||||
path.luxinia2 = luxpath2 and luxpath2.."/" or "../luxinia2/runtime/bin_Windows_x86/"
|
||||
231
cfg/i18n/cn.lua
Normal file
231
cfg/i18n/cn.lua
Normal file
@@ -0,0 +1,231 @@
|
||||
return {
|
||||
["%d instance"] = "%d 个体", -- src\editor\findreplace.lua
|
||||
["&About"] = "关于(&A)", -- src\editor\menu_help.lua
|
||||
["&Add Watch"] = "添加监视(&A)", -- src\editor\debugger.lua
|
||||
["&Break"] = "中断", -- src\editor\menu_project.lua
|
||||
["&Close Page"] = "关闭页面", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Compile"] = "编译", -- src\editor\menu_project.lua
|
||||
["&Copy"] = "复制", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Default Layout"] = "布局", -- src\editor\menu_view.lua
|
||||
["&Delete Watch"] = "删除监视", -- src\editor\debugger.lua
|
||||
["&Down"] = "往下", -- src\editor\findreplace.lua
|
||||
["&Edit Watch"] = "编辑监视", -- src\editor\debugger.lua
|
||||
["&Edit"] = "编辑", -- src\editor\menu_edit.lua
|
||||
["&File"] = "文件", -- src\editor\menu_file.lua
|
||||
["&Find All"] = "查找全部", -- src\editor\findreplace.lua
|
||||
["&Find Next"] = "查找下一个", -- src\editor\findreplace.lua
|
||||
["&Find"] = "查找", -- src\editor\menu_search.lua
|
||||
["&Fold/Unfold All"] = "全 折叠/展开", -- src\editor\menu_edit.lua
|
||||
["&Goto Line"] = "到...行", -- src\editor\menu_search.lua
|
||||
["&Help"] = "帮助", -- src\editor\menu_help.lua
|
||||
["&New"] = "新建", -- src\editor\menu_file.lua
|
||||
["&Open..."] = "打开...", -- src\editor\menu_file.lua
|
||||
["&Output/Console Window"] = "输出/主控台视窗", -- src\editor\menu_view.lua
|
||||
["&Paste"] = "粘贴", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Project"] = "项目", -- src\editor\menu_project.lua, src\editor\inspect.lua
|
||||
["&Redo"] = "重做", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Replace All"] = "全替换", -- src\editor\findreplace.lua
|
||||
["&Replace"] = "替换", -- src\editor\findreplace.lua, src\editor\menu_search.lua
|
||||
["&Run"] = "执行", -- src\editor\menu_project.lua
|
||||
["&Save"] = "保存", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Search"] = "搜索", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "分类", -- src\editor\menu_search.lua
|
||||
["&Stack Window"] = "叠视窗/堆栈视窗", -- src\editor\menu_view.lua
|
||||
["&Start Debugger Server"] = "开启除错器伺服机", -- src\editor\menu_project.lua
|
||||
["&Subdirectories"] = "子文件夹", -- src\editor\findreplace.lua
|
||||
["&Undo"] = "撤消", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Up"] = "往上", -- src\editor\findreplace.lua
|
||||
["&View"] = "视图", -- src\editor\menu_view.lua
|
||||
["&Watch Window"] = "监视视窗", -- src\editor\menu_view.lua
|
||||
["About %s"] = "关于 %s", -- src\editor\menu_help.lua
|
||||
["Add Watch Expression"] = "添加监视表达式", -- src\editor\editor.lua
|
||||
["Add to Scratchpad"] = "添加至暂存器", -- src\editor\editor.lua
|
||||
["All files"] = "全部文件", -- src\editor\commands.lua
|
||||
["Allow external process to start debugging"] = "允许外部进程开启除错", -- src\editor\menu_project.lua
|
||||
["Analyze the source code"] = "分析源代码", -- src\editor\inspect.lua
|
||||
["Analyze"] = "分析", -- src\editor\inspect.lua
|
||||
["Auto Complete Identifiers"] = "自动补全标识符", -- src\editor\menu_edit.lua
|
||||
["Auto complete while typing"] = "当输入时自动补全", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "执行下一语句之后中断执行", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["C&lear Output Window"] = "清除输出视窗", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "注释/消除注释", -- src\editor\menu_edit.lua
|
||||
["Can't debug the script in the active editor window."] = "不能在现行编辑视窗对脚本进行除错", -- src\editor\debugger.lua
|
||||
["Can't find file '%s' in the current project to activate for debugging. Update the project or open the file in the editor before debugging."] = "在当前项目中寻找不到文件 '%s' 以进行激活然后除错, 更新项目或是在编辑器里开启文件后再除错", -- src\editor\debugger.lua
|
||||
["Can't process auto-recovery record; invalid format: %s."] = "不能处理自动恢复存档: %s", -- src\editor\commands.lua
|
||||
["Can't run the entry point script ('%s')."] = "不能执行entry point脚本 ('%s')", -- src\editor\debugger.lua
|
||||
["Can't start debugging session due to internal error '%s'."] = "除错动作失败 '%s'.", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "不能启动除错,没有文档被开启或当前更改过的文档还没保存('%s')", -- src\editor\debugger.lua
|
||||
["Cancel"] = "取消", -- src\editor\findreplace.lua
|
||||
["Choose ..."] = "请选 ...", -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "选择项目文件夹", -- src\editor\findreplace.lua, src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "清除动态词汇", -- src\editor\menu_edit.lua
|
||||
["Clear the output window before compiling or debugging"] = "编译或除错前清除输出视窗", -- src\editor\menu_project.lua
|
||||
["Close &Other Pages"] = "关闭其他页面", -- src\editor\gui.lua
|
||||
["Close A&ll Pages"] = "关闭全部页面", -- src\editor\gui.lua
|
||||
["Close the current editor window"] = "关闭当前编译视窗", -- src\editor\menu_file.lua
|
||||
["Co&ntinue"] = "继续", -- src\editor\menu_project.lua
|
||||
["Col: %d"] = "列: %d", -- src\editor\editor.lua
|
||||
["Comment or uncomment current or selected lines"] = "注释/消除注释 当前或被选的语句", -- src\editor\menu_edit.lua
|
||||
["Compilation error"] = "编译错误", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["Compilation successful; %.0f%% success rate (%d/%d)."] = "编译成功; 成功率: %.0f%% (%d/%d).", -- src\editor\commands.lua
|
||||
["Compile the current file"] = "编译当前的文档", -- src\editor\menu_project.lua
|
||||
["Complete &Identifier"] = "补全标识符", -- src\editor\menu_edit.lua
|
||||
["Complete the current identifier"] = "补全当前标识符", -- src\editor\menu_edit.lua
|
||||
["Copy selected text to clipboard"] = "复制被选的text到clipboard", -- src\editor\menu_edit.lua
|
||||
["Couldn't activate file '%s' for debugging; continuing without it."] = "不能激活 '%s' 以除错; 省略后继续进行", -- src\editor\debugger.lua
|
||||
["Create an empty document"] = "新建空文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Cu&t"] = "剪切", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Cut selected text to clipboard"] = "剪切被选的text到clipboard", -- src\editor\menu_edit.lua
|
||||
["Debugger server started at %s:%d."] = "除错伺服器起始于 %s:%d.", -- src\editor\debugger.lua
|
||||
["Debugging session completed (%s)."] = "除错会话完成 (%s)", -- src\editor\debugger.lua
|
||||
["Debugging session started in '%s'."] = "除错会话于 '%s' 起始", -- src\editor\debugger.lua
|
||||
["Debugging suspended at %s:%s (couldn't activate the file)."] = "除错挂起于 %s:%s (不能激活文档).", -- src\editor\debugger.lua
|
||||
["Directory"] = "文件夹", -- src\editor\findreplace.lua
|
||||
["Do you want to reload it?"] = "需要重新导入吗?", -- src\editor\editor.lua
|
||||
["Do you want to save the changes to '%s'?"] = "需要把更改保存于 '%s'?", -- src\editor\commands.lua
|
||||
["E&xit"] = "离开", -- src\editor\menu_file.lua
|
||||
["Enter Lua code and press Enter to run it."] = "输入Lua代码然后按 <Enter> 以执行", -- src\editor\shellbox.lua
|
||||
["Enter line number"] = "输入行号码", -- src\editor\menu_search.lua
|
||||
["Error while loading API file: %s"] = "导入API档时出错误: %s", -- src\editor\autocomplete.lua
|
||||
["Error while loading configuration file: %s"] = "导入configuration档时出错误: %s", -- src\editor\style.lua
|
||||
["Error while processing API file: %s"] = "处理API档时出错误: %s", -- src\editor\autocomplete.lua
|
||||
["Error while processing configuration file: %s"] = "处理configuration档时出错误: %s", -- src\editor\style.lua
|
||||
["Error"] = "错误", -- src\editor\commands.lua
|
||||
["Evaluate in Console"] = "在主控台中估值", -- src\editor\editor.lua
|
||||
["Execute the current project/file and keep updating the code to see immediate results"] = "执行当前项目/文档和更新代码以便得到执行结果", -- src\editor\menu_project.lua
|
||||
["Execute the current project/file"] = "执行当前项目/文档", -- src\editor\menu_project.lua
|
||||
["Execution error"] = "执行出错误", -- src\editor\debugger.lua
|
||||
["Exit program"] = "离开程式", -- src\editor\menu_file.lua
|
||||
["Expr"] = "表达式", -- src\editor\debugger.lua
|
||||
["Expression"] = "表达式", -- src\editor\debugger.lua
|
||||
["File '%s' has been modified on disk."] = "磁碟上的文档 '%s' 已被更改", -- src\editor\editor.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] =
|
||||
"文档 '%s' 的时间戳比 '%s' 更新近; 请检验后再保存", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "文档 '%s' 已不存在", -- src\editor\editor.lua, src\editor\menu_file.lua
|
||||
["File Type"] = "文档类", -- src\editor\findreplace.lua
|
||||
["File history"] = "文档历史", -- src\editor\menu_file.lua
|
||||
["Find &In Files"] = "在文档中查找", -- src\editor\menu_search.lua
|
||||
["Find &Next"] = "查找下一个", -- src\editor\menu_search.lua
|
||||
["Find &Previous"] = "查找上一个", -- src\editor\menu_search.lua
|
||||
["Find In Files"] = "在文档中查找", -- src\editor\findreplace.lua
|
||||
["Find and replace text in files"] = "在文档中查找text然后更换", -- src\editor\menu_search.lua
|
||||
["Find and replace text"] = "查找text然后更换", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find text in files"] = "在文档中查找text", -- src\editor\menu_search.lua
|
||||
["Find text"] = "查找text", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find the earlier text occurence"] = "查找之前出现的text", -- src\editor\menu_search.lua
|
||||
["Find the next text occurrence"] = "查找之後将出现的text", -- src\editor\menu_search.lua
|
||||
["Find"] = "查找", -- src\editor\findreplace.lua
|
||||
["Fold or unfold all code folds"] = "折叠/展开所有代码折叠", -- src\editor\menu_edit.lua
|
||||
["Found auto-recovery record and restored saved session."] = "找到自动恢复存档和恢复已存对话", -- src\editor\commands.lua
|
||||
["Found"] = "找到", -- src\editor\findreplace.lua
|
||||
["Full &Screen"] = "全屏", -- src\editor\menu_view.lua
|
||||
["Go to a selected line"] = "到所选的行", -- src\editor\menu_search.lua
|
||||
["Goto Line"] = "到...行", -- src\editor\menu_search.lua
|
||||
["INS"] = "INS", -- src\editor\editor.lua
|
||||
["In Files"] = "在档案里", -- src\editor\findreplace.lua
|
||||
["Jump to a function definition..."] = "跳到函数定义", -- src\editor\editor.lua
|
||||
["Known Files"] = "所知的文档", -- src\editor\commands.lua
|
||||
["Ln: %d"] = "行: %d", -- src\editor\editor.lua
|
||||
["Local console"] = "本地主控台", -- src\editor\shellbox.lua, src\editor\gui.lua
|
||||
["Lua &Interpreter"] = "Lua 解释器", -- src\editor\menu_project.lua
|
||||
["Mapped remote request for '%s' to '%s'."] = "映射远程请求 '%s' 至 '%s'", -- src\editor\debugger.lua
|
||||
["Match &case"] = "case匹配", -- src\editor\findreplace.lua
|
||||
["Match &whole word"] = "全句匹配", -- src\editor\findreplace.lua
|
||||
["Mixed end-of-line encodings detected."] = "发现混杂的EOL编码", -- src\editor\commands.lua
|
||||
["OVR"] = "OVR", -- src\editor\editor.lua
|
||||
["Open an existing document"] = "打开现存文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Open file"] = "打开文档", -- src\editor\commands.lua
|
||||
["Options"] = "选项", -- src\editor\findreplace.lua
|
||||
["Output (running)"] = "输出 (进行中)", -- src\editor\output.lua
|
||||
["Output"] = "输出", -- src\editor\output.lua, src\editor\settings.lua, src\editor\gui.lua
|
||||
["Paste text from the clipboard"] = "从clipboard粘贴text", -- src\editor\menu_edit.lua
|
||||
["Preferences"] = "首选项", -- src\editor\menu_edit.lua
|
||||
["Prepend '=' to show complex values on multiple lines."] = "在多行展现复杂值请前置 '='", -- src\editor\shellbox.lua
|
||||
["Press cancel to abort."] = "按 <cancel> 以退出", -- src\editor\commands.lua
|
||||
["Program '%s' started in '%s' (pid: %d)."] = "程式 '%s' 执行于 '%s' (pid: %d).", -- src\editor\output.lua
|
||||
["Program can't start because conflicting process is running as '%s'."] = "程序不能启动因为有名为 '%s' 的冲突进程", -- src\editor\output.lua
|
||||
["Program completed in %.2f seconds (pid: %d)."] = "程序于 %.2f 秒完成 (pid: %d).", -- src\editor\output.lua
|
||||
["Program starting as '%s'."] = "程式以 '%s' 执行", -- src\editor\output.lua
|
||||
["Program stopped (pid: %d)."] = "程式停止 (pid: %d).", -- src\editor\debugger.lua
|
||||
["Program unable to run as '%s'."] = "程式不能以 '%s' 执行", -- src\editor\output.lua
|
||||
["Project Directory"] = "项目文件夹", -- src\editor\menu_project.lua
|
||||
["Project"] = "项目", -- src\editor\settings.lua, src\editor\gui.lua
|
||||
["Project/&FileTree Window"] = "项目/文档树 视窗", -- src\editor\menu_view.lua
|
||||
["R/O"] = "唯读", -- src\editor\editor.lua
|
||||
["R/W"] = "读写", -- src\editor\editor.lua
|
||||
["Re&place In Files"] = "在文档中替换", -- src\editor\menu_search.lua
|
||||
["Recent Files"] = "最近的文档", -- src\editor\menu_file.lua
|
||||
["Redo last edit undone"] = "重做最后被取消的编辑", -- src\editor\menu_edit.lua
|
||||
["Refused a request to start a new debugging session as there is one in progress already."] = "因为有另一个除错在进行,拒绝开启新的除错对话", -- src\editor\debugger.lua
|
||||
["Regular &expression"] = "正则表达式", -- src\editor\findreplace.lua
|
||||
["Remote console"] = "远程主控台", -- src\editor\shellbox.lua
|
||||
["Replace &All"] = "更换全部", -- src\editor\findreplace.lua
|
||||
["Replace"] = "更换", -- src\editor\findreplace.lua
|
||||
["Replaced an invalid UTF8 character with %s."] = "以%s更换无效的UTF8字元", -- src\editor\commands.lua
|
||||
["Replaced"] = "更换", -- src\editor\findreplace.lua
|
||||
["Replacing"] = "更换中", -- src\editor\findreplace.lua
|
||||
["Reset to default layout"] = "重置缺省布局", -- src\editor\menu_view.lua
|
||||
["Resets the dynamic word list for autocompletion"] = "为自动补全重置动态word list", -- src\editor\menu_edit.lua
|
||||
["Run as Scratchpad"] = "以Scratchpad执行", -- src\editor\menu_project.lua
|
||||
["S&top Debugging"] = "停止除错", -- src\editor\menu_project.lua
|
||||
["S&top Process"] = "停止进程", -- src\editor\menu_project.lua
|
||||
["Save &As..."] = "另存为...", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save A&ll"] = "全部存档", -- src\editor\menu_file.lua
|
||||
["Save Changes?"] = "存档更新?", -- src\editor\commands.lua
|
||||
["Save all open documents"] = "保存所有开启的文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save file as"] = "文档另存为", -- src\editor\commands.lua
|
||||
["Save file?"] = "保存文档?", -- src\editor\commands.lua
|
||||
["Save the current document to a file with a new name"] = "用新档案名称保存当前文档", -- src\editor\menu_file.lua
|
||||
["Save the current document"] = "保存当前文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Saved auto-recover at %s."] = "在 %s 存档自动恢复", -- src\editor\commands.lua
|
||||
["Scope"] = "范围", -- src\editor\findreplace.lua
|
||||
["Scratchpad error"] = "暂存器错误", -- src\editor\debugger.lua
|
||||
["Searching for"] = "搜索", -- src\editor\findreplace.lua
|
||||
["Select &All"] = "选全部", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Select all text in the editor"] = "选编辑器内的所有text", -- src\editor\menu_edit.lua
|
||||
["Set From Current File"] = "从当前文档设置", -- src\editor\menu_project.lua
|
||||
["Set project directory from current file"] = "从当前文档设置项目文件夹", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Set the interpreter to be used"] = "设置解释器", -- src\editor\menu_project.lua
|
||||
["Set the project directory to be used"] = "设置项目文件夹", -- src\editor\menu_project.lua
|
||||
["Settings: System"] = "设置: 系统", -- src\editor\menu_edit.lua
|
||||
["Settings: User"] = "设置: 用户", -- src\editor\menu_edit.lua
|
||||
["Show &Tooltip"] = "展现tooltip", -- src\editor\menu_edit.lua
|
||||
["Show tooltip for current position; place cursor after opening bracket of function"] = "在当前的位置展现tooltip; 把游标放置于函数的开括号之后", -- src\editor\menu_edit.lua
|
||||
["Sort selected lines"] = "对被选的行进行排列", -- src\editor\menu_search.lua
|
||||
["Stack"] = "堆栈", -- src\editor\debugger.lua
|
||||
["Start &Debugging"] = "开始除错", -- src\editor\menu_project.lua
|
||||
["Start debugging"] = "开始除错", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step &Into"] = "除错运行 进入子程序/函数", -- src\editor\menu_project.lua
|
||||
["Step &Over"] = "除错运行 掠过子程序/函数", -- src\editor\menu_project.lua
|
||||
["Step O&ut"] = "除错运行 离开子程序/函数", -- src\editor\menu_project.lua
|
||||
["Step into"] = "除错运行 进入子程序/函数", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step out of the current function"] = "除错运行 离开当前的函数", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step over"] = "除错运行 掠过子程序/函数", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Stop the currently running process"] = "终止目前进行着的进程", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Switch to or from full screen mode"] = "切换全屏模式", -- src\editor\menu_view.lua
|
||||
["Text not found."] = "寻找不到text", -- src\editor\findreplace.lua
|
||||
["The API file must be located in a subdirectory of the API directory."] = "API file必须存放在API文件夹中的子文件夹", -- src\editor\autocomplete.lua
|
||||
["Toggle Break&point"] = "切换中断点", -- src\editor\menu_project.lua
|
||||
["Toggle breakpoint"] = "切换中断点", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Tr&ace"] = "追踪", -- src\editor\menu_project.lua
|
||||
["Trace execution showing each executed line"] = "执行追踪展示每一执行过的语句", -- src\editor\menu_project.lua
|
||||
["Unable to load file '%s'."] = "导出文件失败 '%s'.", -- src\editor\commands.lua
|
||||
["Unable to save file '%s': %s"] = "保存文件失败 '%s': %s", -- src\editor\commands.lua
|
||||
["Unable to stop program (pid: %d), code %d."] = "停止程序失败 (pid: %d), 代码 %d.", -- src\editor\debugger.lua
|
||||
["Undo last edit"] = "清除前编辑动作", -- src\editor\menu_edit.lua
|
||||
["Use '%s' to see full description."] = "用 '%s' 来看全解析", -- src\editor\editor.lua
|
||||
["Use '%s' to show line endings and '%s' to convert them."] = "用 '%s' 来显示语句的终结和 '%s' 来进行转换", -- src\editor\commands.lua
|
||||
["Use 'clear' to clear the shell output and the history."] = "用 'clear' 来清除shell的输出和历史", -- src\editor\shellbox.lua
|
||||
["Use Shift-Enter for multiline code."] = "用 <Shift-Enter> 来处理多行代码", -- src\editor\shellbox.lua
|
||||
["Value"] = "数值", -- src\editor\debugger.lua
|
||||
["View the output/console window"] = "查看输出/主控台视窗", -- src\editor\menu_view.lua
|
||||
["View the project/filetree window"] = "查看项目/文件树视窗", -- src\editor\menu_view.lua
|
||||
["View the stack window"] = "查看堆栈视窗", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["View the watch window"] = "查看监视视窗", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["Watch"] = "监视", -- src\editor\debugger.lua
|
||||
["Welcome to the interactive Lua interpreter."] = "欢迎来到互动 Lua interpreter.", -- src\editor\shellbox.lua
|
||||
["Wrap ar&ound"] = "卷绕", -- src\editor\findreplace.lua
|
||||
["You must save the program first."] = "必须先保存程序", -- src\editor\commands.lua
|
||||
["on line %d"] = "在 %d 行", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = "追踪 %d 指令", -- src\editor\debugger.lua
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user