Compare commits
993 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 | ||
|
|
ce8f120e48 | ||
|
|
048fd2349a | ||
|
|
2627957e5a | ||
|
|
16b0ca0fc7 | ||
|
|
e3189ba38a | ||
|
|
ad48622f68 | ||
|
|
0a9439ad22 | ||
|
|
a7577d5054 | ||
|
|
668cdcb4db | ||
|
|
46da5b6697 | ||
|
|
4ec3e87473 | ||
|
|
90b4f38223 | ||
|
|
c1918e5c38 | ||
|
|
34baaa9447 | ||
|
|
817938593a | ||
|
|
b944f9d01d | ||
|
|
5d4b2395b5 | ||
|
|
80f83d781e | ||
|
|
f9ab1546ff | ||
|
|
971e7c8316 | ||
|
|
60a89b8f32 | ||
|
|
7275f0d11a | ||
|
|
35213d7d3b | ||
|
|
cde26253e3 | ||
|
|
b45c0600c7 | ||
|
|
5784dea99a | ||
|
|
e880fdde60 | ||
|
|
b7d8512b7b | ||
|
|
a7a8f32c91 | ||
|
|
9fc4ab5e9b | ||
|
|
37434534cc | ||
|
|
fc03c2843b | ||
|
|
2abbad04ac | ||
|
|
dbb392e009 | ||
|
|
65947ff924 | ||
|
|
d8324b269d | ||
|
|
ac9c2e9a84 | ||
|
|
3b2fcfd1f9 | ||
|
|
14fe7af771 | ||
|
|
7b0405bc79 | ||
|
|
fc6b0c176d | ||
|
|
5c50a2645b | ||
|
|
11cfbfa68d | ||
|
|
e6b318c643 | ||
|
|
1351db6114 | ||
|
|
b58e931409 | ||
|
|
e0eb05b122 | ||
|
|
8ecd8dfa6b | ||
|
|
c1961e5c4b | ||
|
|
3ead2966d8 | ||
|
|
0bcf590f45 | ||
|
|
e8f308ca08 | ||
|
|
ecb59ceb9e | ||
|
|
a317f986e1 | ||
|
|
623905c81c | ||
|
|
11b702ac6e | ||
|
|
f926aef2f8 | ||
|
|
3754406e85 | ||
|
|
981bccbe27 | ||
|
|
047a9e8ac5 | ||
|
|
d1f2e8450a | ||
|
|
21cfba9cb6 | ||
|
|
3f711373ed | ||
|
|
00fe05e89f | ||
|
|
3bcd54bd46 | ||
|
|
8de9e41fd6 | ||
|
|
29b6755a9b | ||
|
|
7d6be282f1 | ||
|
|
f89fd4d752 | ||
|
|
03adda1cef | ||
|
|
2992424e87 | ||
|
|
e302a97682 | ||
|
|
7b5d37d595 | ||
|
|
01ae85dc5a | ||
|
|
f650d8f64f | ||
|
|
602f8ef223 | ||
|
|
6afc999b75 | ||
|
|
2ccd214a1f | ||
|
|
8efde0ec1f | ||
|
|
1c5b14870c | ||
|
|
2c87909920 | ||
|
|
2a2a3bed96 | ||
|
|
e2f65bced5 | ||
|
|
c979d60d28 | ||
|
|
7954ff1f64 | ||
|
|
a3a5c75694 | ||
|
|
d6f3b4052b | ||
|
|
7bc64d90c7 | ||
|
|
56d262b753 | ||
|
|
a368f0acf9 | ||
|
|
d4a53733e7 | ||
|
|
1117e9df9a | ||
|
|
230de3450f | ||
|
|
0ae48ce6de | ||
|
|
6a90c5e850 | ||
|
|
f1ac72b265 | ||
|
|
79fd90c986 | ||
|
|
4dcf470c09 | ||
|
|
fcdbd456de | ||
|
|
e92127d6c8 | ||
|
|
0d8e6b0581 | ||
|
|
16d72396b1 | ||
|
|
6c7e289f71 | ||
|
|
deb99ec084 | ||
|
|
12f84d3509 | ||
|
|
3a18136076 | ||
|
|
1b057988bc | ||
|
|
92001a4a78 | ||
|
|
906c70248b | ||
|
|
4554c67c3e | ||
|
|
cb7ee575c7 | ||
|
|
c758d4c62a | ||
|
|
8c1c06bb16 | ||
|
|
99ca5fe952 | ||
|
|
1f064655cc | ||
|
|
9a05cc3678 | ||
|
|
6da3cb2c32 | ||
|
|
d2cb7cb1c2 | ||
|
|
0ac769ffba | ||
|
|
ef60786e48 | ||
|
|
f9c15faab8 | ||
|
|
59b28ef35c | ||
|
|
9db7d4ec8a | ||
|
|
40eaace714 | ||
|
|
fe000bb59e | ||
|
|
9aa220df41 | ||
|
|
97c52f15f3 | ||
|
|
54f578790b | ||
|
|
a51a08c1b8 | ||
|
|
7620e758a0 | ||
|
|
80da9253dd | ||
|
|
a133fa900e | ||
|
|
0fa62e544a | ||
|
|
601dbef6e5 | ||
|
|
01b3a4fd09 | ||
|
|
ed0df13acb | ||
|
|
642fd63724 | ||
|
|
a1586cd530 | ||
|
|
291cba2d79 | ||
|
|
96bffc1322 | ||
|
|
e88710fbbc | ||
|
|
99da8be0f8 | ||
|
|
c8c654cb2b | ||
|
|
cf68a42547 | ||
|
|
5c0d4cccdd | ||
|
|
b979b41688 | ||
|
|
b807fa9a99 | ||
|
|
ef5b1b0e09 | ||
|
|
04a038da45 | ||
|
|
bc0e3190d4 | ||
|
|
16dcd084e1 | ||
|
|
15f8c15039 | ||
|
|
bff0da36dc | ||
|
|
1e933a6b75 | ||
|
|
c9bb3e01ca |
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)
|
||||
120
LICENSE
120
LICENSE
@@ -2,7 +2,7 @@
|
||||
|
||||
ZeroBrane Studio sources are released under the MIT License
|
||||
|
||||
Copyright (c) 2011 Paul Kulchenko (paul@kulchenko.com)
|
||||
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
|
||||
@@ -26,9 +26,9 @@ THE SOFTWARE.
|
||||
|
||||
Estrela Editor sources are released under the MIT License
|
||||
|
||||
Copyright (c) 2008-2011
|
||||
Copyright (c) 2008-2012
|
||||
Luxinia DevTeam:
|
||||
Eike Decker & Christoph Kubisch
|
||||
Christoph Kubisch & Eike Decker
|
||||
info at luxinia.de
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
@@ -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
|
||||
|
||||
54
README
54
README
@@ -1,54 +0,0 @@
|
||||
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.
|
||||
|
||||
--[[ 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)
|
||||
|
||||
--[[ INSTALLATION ]]-------------------------------------------------------
|
||||
|
||||
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>...]
|
||||
any non-option will be treated as filename
|
||||
|
||||
Overriding Config:
|
||||
<exe> [...] -cfg "<luacode overriding config>" [...]
|
||||
e.g.: zbstudio.exe -cfg "singleinstance=false;" somefile.lua
|
||||
|
||||
--[[ AUTHOR ]]-------------------------------------------------------------
|
||||
|
||||
Estrela Editor
|
||||
|
||||
Luxinia DevTeam: Eike Decker & Christoph Kubisch (info at luxinia.de)
|
||||
|
||||
ZeroBrane Studio and MobDebug
|
||||
|
||||
ZeroBrane LLC: Paul Kulchenko (paul@kulchenko.com)
|
||||
|
||||
--[[ LICENSE ]]------------------------------------------------------------
|
||||
|
||||
See LICENSE file
|
||||
75
README.md
Normal file
75
README.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Project Description
|
||||
|
||||
[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.
|
||||
* 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...).
|
||||
|
||||
## Documentation
|
||||
|
||||
* 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.
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
Open file(s):
|
||||
zbstudio <filename> [<filename>...]
|
||||
any non-option will be treated as filename
|
||||
|
||||
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
|
||||
|
||||
### 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
930
api/lua/glfw.lua
Normal file
930
api/lua/glfw.lua
Normal file
@@ -0,0 +1,930 @@
|
||||
--[[// glfw | GLFW window manager
|
||||
enum {
|
||||
/*************************************************************************
|
||||
* GLFW version
|
||||
*************************************************************************/
|
||||
|
||||
GLFW_VERSION_MAJOR =2,
|
||||
GLFW_VERSION_MINOR =7,
|
||||
GLFW_VERSION_REVISION =2,
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Input handling definitions
|
||||
*************************************************************************/
|
||||
|
||||
/* Key and button state/action definitions */
|
||||
GLFW_RELEASE =0,
|
||||
GLFW_PRESS =1,
|
||||
|
||||
GLFW_TRUE = 1,
|
||||
GLFW_FALSE = 0,
|
||||
|
||||
/* Keyboard key definitions: 8-bit ISO-8859-1 (Latin 1) encoding is used
|
||||
* for printable keys (such as A-Z, 0-9 etc), and values above 256
|
||||
* represent special (non-printable) keys (e.g. F1, Page Up etc).
|
||||
*/
|
||||
GLFW_KEY_UNKNOWN =-1,
|
||||
GLFW_KEY_SPACE =32,
|
||||
GLFW_KEY_APOSTROPHE = 39,
|
||||
GLFW_KEY_COMMA = 44,
|
||||
GLFW_KEY_MINUS = 45,
|
||||
GLFW_KEY_PERIOD = 46,
|
||||
GLFW_KEY_SLASH = 47,
|
||||
GLFW_KEY_0 = 48,
|
||||
GLFW_KEY_1 = 49,
|
||||
GLFW_KEY_2 = 50,
|
||||
GLFW_KEY_3 = 51,
|
||||
GLFW_KEY_4 = 52,
|
||||
GLFW_KEY_5 = 53,
|
||||
GLFW_KEY_6 = 54,
|
||||
GLFW_KEY_7 = 55,
|
||||
GLFW_KEY_8 = 56,
|
||||
GLFW_KEY_9 = 57,
|
||||
GLFW_KEY_SEMICOLON = 59,
|
||||
GLFW_KEY_EQUAL = 61,
|
||||
GLFW_KEY_A = 65,
|
||||
GLFW_KEY_B = 66,
|
||||
GLFW_KEY_C = 67,
|
||||
GLFW_KEY_D = 68,
|
||||
GLFW_KEY_E = 69,
|
||||
GLFW_KEY_F = 70,
|
||||
GLFW_KEY_G = 71,
|
||||
GLFW_KEY_H = 72,
|
||||
GLFW_KEY_I = 73,
|
||||
GLFW_KEY_J = 74,
|
||||
GLFW_KEY_K = 75,
|
||||
GLFW_KEY_L = 76,
|
||||
GLFW_KEY_M = 77,
|
||||
GLFW_KEY_N = 78,
|
||||
GLFW_KEY_O = 79,
|
||||
GLFW_KEY_P = 80,
|
||||
GLFW_KEY_Q = 81,
|
||||
GLFW_KEY_R = 82,
|
||||
GLFW_KEY_S = 83,
|
||||
GLFW_KEY_T = 84,
|
||||
GLFW_KEY_U = 85,
|
||||
GLFW_KEY_V = 86,
|
||||
GLFW_KEY_W = 87,
|
||||
GLFW_KEY_X = 88,
|
||||
GLFW_KEY_Y = 89,
|
||||
GLFW_KEY_Z = 90,
|
||||
GLFW_KEY_LEFT_BRACKET = 91,
|
||||
GLFW_KEY_BACKSLASH = 92,
|
||||
GLFW_KEY_RIGHT_BRACKET = 93,
|
||||
GLFW_KEY_GRAVE_ACCENT = 96,
|
||||
GLFW_KEY_WORLD_1 = 161,
|
||||
GLFW_KEY_WORLD_2 = 162,
|
||||
|
||||
GLFW_KEY_SPECIAL =256,
|
||||
GLFW_KEY_ESC =(GLFW_KEY_SPECIAL+1),
|
||||
GLFW_KEY_F1 =(GLFW_KEY_SPECIAL+2),
|
||||
GLFW_KEY_F2 =(GLFW_KEY_SPECIAL+3),
|
||||
GLFW_KEY_F3 =(GLFW_KEY_SPECIAL+4),
|
||||
GLFW_KEY_F4 =(GLFW_KEY_SPECIAL+5),
|
||||
GLFW_KEY_F5 =(GLFW_KEY_SPECIAL+6),
|
||||
GLFW_KEY_F6 =(GLFW_KEY_SPECIAL+7),
|
||||
GLFW_KEY_F7 =(GLFW_KEY_SPECIAL+8),
|
||||
GLFW_KEY_F8 =(GLFW_KEY_SPECIAL+9),
|
||||
GLFW_KEY_F9 =(GLFW_KEY_SPECIAL+10),
|
||||
GLFW_KEY_F10 =(GLFW_KEY_SPECIAL+11),
|
||||
GLFW_KEY_F11 =(GLFW_KEY_SPECIAL+12),
|
||||
GLFW_KEY_F12 =(GLFW_KEY_SPECIAL+13),
|
||||
GLFW_KEY_F13 =(GLFW_KEY_SPECIAL+14),
|
||||
GLFW_KEY_F14 =(GLFW_KEY_SPECIAL+15),
|
||||
GLFW_KEY_F15 =(GLFW_KEY_SPECIAL+16),
|
||||
GLFW_KEY_F16 =(GLFW_KEY_SPECIAL+17),
|
||||
GLFW_KEY_F17 =(GLFW_KEY_SPECIAL+18),
|
||||
GLFW_KEY_F18 =(GLFW_KEY_SPECIAL+19),
|
||||
GLFW_KEY_F19 =(GLFW_KEY_SPECIAL+20),
|
||||
GLFW_KEY_F20 =(GLFW_KEY_SPECIAL+21),
|
||||
GLFW_KEY_F21 =(GLFW_KEY_SPECIAL+22),
|
||||
GLFW_KEY_F22 =(GLFW_KEY_SPECIAL+23),
|
||||
GLFW_KEY_F23 =(GLFW_KEY_SPECIAL+24),
|
||||
GLFW_KEY_F24 =(GLFW_KEY_SPECIAL+25),
|
||||
GLFW_KEY_F25 =(GLFW_KEY_SPECIAL+26),
|
||||
GLFW_KEY_UP =(GLFW_KEY_SPECIAL+27),
|
||||
GLFW_KEY_DOWN =(GLFW_KEY_SPECIAL+28),
|
||||
GLFW_KEY_LEFT =(GLFW_KEY_SPECIAL+29),
|
||||
GLFW_KEY_RIGHT =(GLFW_KEY_SPECIAL+30),
|
||||
GLFW_KEY_LSHIFT =(GLFW_KEY_SPECIAL+31),
|
||||
GLFW_KEY_RSHIFT =(GLFW_KEY_SPECIAL+32),
|
||||
GLFW_KEY_LCTRL =(GLFW_KEY_SPECIAL+33),
|
||||
GLFW_KEY_RCTRL =(GLFW_KEY_SPECIAL+34),
|
||||
GLFW_KEY_LALT =(GLFW_KEY_SPECIAL+35),
|
||||
GLFW_KEY_RALT =(GLFW_KEY_SPECIAL+36),
|
||||
GLFW_KEY_TAB =(GLFW_KEY_SPECIAL+37),
|
||||
GLFW_KEY_ENTER =(GLFW_KEY_SPECIAL+38),
|
||||
GLFW_KEY_BACKSPACE =(GLFW_KEY_SPECIAL+39),
|
||||
GLFW_KEY_INSERT =(GLFW_KEY_SPECIAL+40),
|
||||
GLFW_KEY_DEL =(GLFW_KEY_SPECIAL+41),
|
||||
GLFW_KEY_PAGEUP =(GLFW_KEY_SPECIAL+42),
|
||||
GLFW_KEY_PAGEDOWN =(GLFW_KEY_SPECIAL+43),
|
||||
GLFW_KEY_HOME =(GLFW_KEY_SPECIAL+44),
|
||||
GLFW_KEY_END =(GLFW_KEY_SPECIAL+45),
|
||||
GLFW_KEY_KP_0 =(GLFW_KEY_SPECIAL+46),
|
||||
GLFW_KEY_KP_1 =(GLFW_KEY_SPECIAL+47),
|
||||
GLFW_KEY_KP_2 =(GLFW_KEY_SPECIAL+48),
|
||||
GLFW_KEY_KP_3 =(GLFW_KEY_SPECIAL+49),
|
||||
GLFW_KEY_KP_4 =(GLFW_KEY_SPECIAL+50),
|
||||
GLFW_KEY_KP_5 =(GLFW_KEY_SPECIAL+51),
|
||||
GLFW_KEY_KP_6 =(GLFW_KEY_SPECIAL+52),
|
||||
GLFW_KEY_KP_7 =(GLFW_KEY_SPECIAL+53),
|
||||
GLFW_KEY_KP_8 =(GLFW_KEY_SPECIAL+54),
|
||||
GLFW_KEY_KP_9 =(GLFW_KEY_SPECIAL+55),
|
||||
GLFW_KEY_KP_DIVIDE =(GLFW_KEY_SPECIAL+56),
|
||||
GLFW_KEY_KP_MULTIPLY =(GLFW_KEY_SPECIAL+57),
|
||||
GLFW_KEY_KP_SUBTRACT =(GLFW_KEY_SPECIAL+58),
|
||||
GLFW_KEY_KP_ADD =(GLFW_KEY_SPECIAL+59),
|
||||
GLFW_KEY_KP_DECIMAL =(GLFW_KEY_SPECIAL+60),
|
||||
GLFW_KEY_KP_EQUAL =(GLFW_KEY_SPECIAL+61),
|
||||
GLFW_KEY_KP_ENTER =(GLFW_KEY_SPECIAL+62),
|
||||
GLFW_KEY_KP_NUM_LOCK =(GLFW_KEY_SPECIAL+63),
|
||||
GLFW_KEY_CAPS_LOCK =(GLFW_KEY_SPECIAL+64),
|
||||
GLFW_KEY_SCROLL_LOCK =(GLFW_KEY_SPECIAL+65),
|
||||
GLFW_KEY_PAUSE =(GLFW_KEY_SPECIAL+66),
|
||||
GLFW_KEY_LSUPER =(GLFW_KEY_SPECIAL+67),
|
||||
GLFW_KEY_RSUPER =(GLFW_KEY_SPECIAL+68),
|
||||
GLFW_KEY_MENU =(GLFW_KEY_SPECIAL+69),
|
||||
GLFW_KEY_LAST =GLFW_KEY_MENU,
|
||||
|
||||
/* Mouse button definitions */
|
||||
GLFW_MOUSE_BUTTON_1 =0,
|
||||
GLFW_MOUSE_BUTTON_2 =1,
|
||||
GLFW_MOUSE_BUTTON_3 =2,
|
||||
GLFW_MOUSE_BUTTON_4 =3,
|
||||
GLFW_MOUSE_BUTTON_5 =4,
|
||||
GLFW_MOUSE_BUTTON_6 =5,
|
||||
GLFW_MOUSE_BUTTON_7 =6,
|
||||
GLFW_MOUSE_BUTTON_8 =7,
|
||||
GLFW_MOUSE_BUTTON_LAST =GLFW_MOUSE_BUTTON_8,
|
||||
|
||||
/* Mouse button aliases */
|
||||
GLFW_MOUSE_BUTTON_LEFT =GLFW_MOUSE_BUTTON_1,
|
||||
GLFW_MOUSE_BUTTON_RIGHT =GLFW_MOUSE_BUTTON_2,
|
||||
GLFW_MOUSE_BUTTON_MIDDLE =GLFW_MOUSE_BUTTON_3,
|
||||
|
||||
|
||||
/* Joystick identifiers */
|
||||
GLFW_JOYSTICK_1 =0,
|
||||
GLFW_JOYSTICK_2 =1,
|
||||
GLFW_JOYSTICK_3 =2,
|
||||
GLFW_JOYSTICK_4 =3,
|
||||
GLFW_JOYSTICK_5 =4,
|
||||
GLFW_JOYSTICK_6 =5,
|
||||
GLFW_JOYSTICK_7 =6,
|
||||
GLFW_JOYSTICK_8 =7,
|
||||
GLFW_JOYSTICK_9 =8,
|
||||
GLFW_JOYSTICK_10 =9,
|
||||
GLFW_JOYSTICK_11 =10,
|
||||
GLFW_JOYSTICK_12 =11,
|
||||
GLFW_JOYSTICK_13 =12,
|
||||
GLFW_JOYSTICK_14 =13,
|
||||
GLFW_JOYSTICK_15 =14,
|
||||
GLFW_JOYSTICK_16 =15,
|
||||
GLFW_JOYSTICK_LAST =GLFW_JOYSTICK_16,
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Other definitions
|
||||
*************************************************************************/
|
||||
|
||||
/* glfwOpenWindow modes */
|
||||
GLFW_WINDOW =0x00010001,
|
||||
GLFW_FULLSCREEN =0x00010002,
|
||||
|
||||
/* glfwGetWindowParam tokens */
|
||||
GLFW_OPENED =0x00020001,
|
||||
GLFW_ACTIVE =0x00020002,
|
||||
GLFW_ICONIFIED =0x00020003,
|
||||
GLFW_ACCELERATED =0x00020004,
|
||||
GLFW_RED_BITS =0x00020005,
|
||||
GLFW_GREEN_BITS =0x00020006,
|
||||
GLFW_BLUE_BITS =0x00020007,
|
||||
GLFW_ALPHA_BITS =0x00020008,
|
||||
GLFW_DEPTH_BITS =0x00020009,
|
||||
GLFW_STENCIL_BITS =0x0002000A,
|
||||
|
||||
/* The following constants are used for both glfwGetWindowParam
|
||||
* and glfwOpenWindowHint
|
||||
*/
|
||||
GLFW_REFRESH_RATE =0x0002000B,
|
||||
GLFW_ACCUM_RED_BITS =0x0002000C,
|
||||
GLFW_ACCUM_GREEN_BITS =0x0002000D,
|
||||
GLFW_ACCUM_BLUE_BITS =0x0002000E,
|
||||
GLFW_ACCUM_ALPHA_BITS =0x0002000F,
|
||||
GLFW_AUX_BUFFERS =0x00020010,
|
||||
GLFW_STEREO =0x00020011,
|
||||
GLFW_WINDOW_NO_RESIZE =0x00020012,
|
||||
GLFW_FSAA_SAMPLES =0x00020013,
|
||||
GLFW_OPENGL_VERSION_MAJOR =0x00020014,
|
||||
GLFW_OPENGL_VERSION_MINOR =0x00020015,
|
||||
GLFW_OPENGL_FORWARD_COMPAT =0x00020016,
|
||||
GLFW_OPENGL_DEBUG_CONTEXT =0x00020017,
|
||||
GLFW_OPENGL_PROFILE =0x00020018,
|
||||
|
||||
/* GLFW_OPENGL_PROFILE tokens */
|
||||
GLFW_OPENGL_CORE_PROFILE =0x00050001,
|
||||
GLFW_OPENGL_COMPAT_PROFILE =0x00050002,
|
||||
|
||||
/* glfwEnable/glfwDisable tokens */
|
||||
GLFW_MOUSE_CURSOR =0x00030001,
|
||||
GLFW_STICKY_KEYS =0x00030002,
|
||||
GLFW_STICKY_MOUSE_BUTTONS =0x00030003,
|
||||
GLFW_SYSTEM_KEYS =0x00030004,
|
||||
GLFW_KEY_REPEAT =0x00030005,
|
||||
GLFW_AUTO_POLL_EVENTS =0x00030006,
|
||||
|
||||
/* glfwWaitThread wait modes */
|
||||
GLFW_WAIT =0x00040001,
|
||||
GLFW_NOWAIT =0x00040002,
|
||||
|
||||
/* glfwGetJoystickParam tokens */
|
||||
GLFW_PRESENT =0x00050001,
|
||||
GLFW_AXES =0x00050002,
|
||||
GLFW_BUTTONS =0x00050003,
|
||||
|
||||
/* glfwReadImage/glfwLoadTexture2D flags */
|
||||
GLFW_NO_RESCALE_BIT =0x00000001 /* Only for glfwReadImage */,
|
||||
GLFW_ORIGIN_UL_BIT =0x00000002,
|
||||
GLFW_BUILD_MIPMAPS_BIT =0x00000004 /* Only for glfwLoadTexture2D */,
|
||||
GLFW_ALPHA_MAP_BIT =0x00000008,
|
||||
|
||||
/* Time spans longer than this (seconds) are considered to be infinity */
|
||||
};
|
||||
|
||||
const float GLFW_INFINITY =100000.0;
|
||||
|
||||
/* The video mode structure used by glfwGetVideoModes() */
|
||||
typedef struct {
|
||||
int Width, Height;
|
||||
int RedBits, BlueBits, GreenBits;
|
||||
} GLFWvidmode;
|
||||
|
||||
/* Image/texture information */
|
||||
typedef struct {
|
||||
int Width, Height;
|
||||
int Format;
|
||||
int BytesPerPixel;
|
||||
unsigned char *Data;
|
||||
} GLFWimage;
|
||||
|
||||
/* Thread ID */
|
||||
typedef int GLFWthread;
|
||||
|
||||
/* Mutex object */
|
||||
typedef void * GLFWmutex;
|
||||
|
||||
/* Condition variable object */
|
||||
typedef void * GLFWcond;
|
||||
|
||||
/* Function pointer types */
|
||||
typedef void (GLFWCALL * GLFWwindowsizefun)(int,int);
|
||||
typedef int (GLFWCALL * GLFWwindowclosefun)(void);
|
||||
typedef void (GLFWCALL * GLFWwindowrefreshfun)(void);
|
||||
typedef void (GLFWCALL * GLFWmousebuttonfun)(int,int);
|
||||
typedef void (GLFWCALL * GLFWmouseposfun)(int,int);
|
||||
typedef void (GLFWCALL * GLFWmousewheelfun)(int);
|
||||
typedef void (GLFWCALL * GLFWkeyfun)(int,int);
|
||||
typedef void (GLFWCALL * GLFWcharfun)(int,int);
|
||||
typedef void (GLFWCALL * GLFWthreadfun)(void *);
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Prototypes
|
||||
*************************************************************************/
|
||||
|
||||
/* GLFW initialization, termination and version querying */
|
||||
int glfwInit( void );
|
||||
void glfwTerminate( void );
|
||||
void glfwGetVersion( int *major, int *minor, int *rev );
|
||||
|
||||
/* Window handling */
|
||||
int glfwOpenWindow( int width, int height, int redbits, int greenbits, int bluebits, int alphabits, int depthbits, int stencilbits, int mode );
|
||||
void glfwOpenWindowHint( int target, int hint );
|
||||
void glfwCloseWindow( void );
|
||||
void glfwSetWindowTitle( const char *title );
|
||||
void glfwGetWindowSize( int *width, int *height );
|
||||
void glfwSetWindowSize( int width, int height );
|
||||
void glfwSetWindowPos( int x, int y );
|
||||
void glfwIconifyWindow( void );
|
||||
void glfwRestoreWindow( void );
|
||||
void glfwSwapBuffers( void );
|
||||
void glfwSwapInterval( int interval );
|
||||
int glfwGetWindowParam( int param );
|
||||
void glfwSetWindowSizeCallback( GLFWwindowsizefun cbfun );
|
||||
void glfwSetWindowCloseCallback( GLFWwindowclosefun cbfun );
|
||||
void glfwSetWindowRefreshCallback( GLFWwindowrefreshfun cbfun );
|
||||
|
||||
/* Video mode functions */
|
||||
int glfwGetVideoModes( GLFWvidmode *list, int maxcount );
|
||||
void glfwGetDesktopMode( GLFWvidmode *mode );
|
||||
|
||||
/* Input handling */
|
||||
void glfwPollEvents( void );
|
||||
void glfwWaitEvents( void );
|
||||
int glfwGetKey( int key );
|
||||
int glfwGetMouseButton( int button );
|
||||
void glfwGetMousePos( int *xpos, int *ypos );
|
||||
void glfwSetMousePos( int xpos, int ypos );
|
||||
int glfwGetMouseWheel( void );
|
||||
void glfwSetMouseWheel( int pos );
|
||||
void glfwSetKeyCallback( GLFWkeyfun cbfun );
|
||||
void glfwSetCharCallback( GLFWcharfun cbfun );
|
||||
void glfwSetMouseButtonCallback( GLFWmousebuttonfun cbfun );
|
||||
void glfwSetMousePosCallback( GLFWmouseposfun cbfun );
|
||||
void glfwSetMouseWheelCallback( GLFWmousewheelfun cbfun );
|
||||
|
||||
/* Joystick input */
|
||||
int glfwGetJoystickParam( int joy, int param );
|
||||
int glfwGetJoystickPos( int joy, float *pos, int numaxes );
|
||||
int glfwGetJoystickButtons( int joy, unsigned char *buttons, int numbuttons );
|
||||
|
||||
/* Time */
|
||||
double glfwGetTime( void );
|
||||
void glfwSetTime( double time );
|
||||
void glfwSleep( double time );
|
||||
|
||||
/* Extension support */
|
||||
int glfwExtensionSupported( const char *extension );
|
||||
void* glfwGetProcAddress( const char *procname );
|
||||
void glfwGetGLVersion( int *major, int *minor, int *rev );
|
||||
|
||||
/* Threading support */
|
||||
GLFWthread glfwCreateThread( GLFWthreadfun fun, void *arg );
|
||||
void glfwDestroyThread( GLFWthread ID );
|
||||
int glfwWaitThread( GLFWthread ID, int waitmode );
|
||||
GLFWthread glfwGetThreadID( void );
|
||||
GLFWmutex glfwCreateMutex( void );
|
||||
void glfwDestroyMutex( GLFWmutex mutex );
|
||||
void glfwLockMutex( GLFWmutex mutex );
|
||||
void glfwUnlockMutex( GLFWmutex mutex );
|
||||
GLFWcond glfwCreateCond( void );
|
||||
void glfwDestroyCond( GLFWcond cond );
|
||||
void glfwWaitCond( GLFWcond cond, GLFWmutex mutex, double timeout );
|
||||
void glfwSignalCond( GLFWcond cond );
|
||||
void glfwBroadcastCond( GLFWcond cond );
|
||||
int glfwGetNumberOfProcessors( void );
|
||||
|
||||
/* Enable/disable functions */
|
||||
void glfwEnable( int token );
|
||||
void glfwDisable( int token );
|
||||
|
||||
/* Image/texture I/O support */
|
||||
int glfwReadImage( const char *name, GLFWimage *img, int flags );
|
||||
int glfwReadMemoryImage( const void *data, long size, GLFWimage *img, int flags );
|
||||
void glfwFreeImage( GLFWimage *img );
|
||||
int glfwLoadTexture2D( const char *name, int flags );
|
||||
int glfwLoadMemoryTexture2D( const void *data, long size, int flags );
|
||||
int glfwLoadTextureImage2D( GLFWimage *img, int flags );
|
||||
]]
|
||||
--auto-generated api from ffi headers
|
||||
local api =
|
||||
{
|
||||
["GLFW_VERSION_MAJOR"] = { type ='value', },
|
||||
["GLFW_VERSION_MINOR"] = { type ='value', },
|
||||
["GLFW_VERSION_REVISION"] = { type ='value', },
|
||||
["GLFW_RELEASE"] = { type ='value', },
|
||||
["GLFW_PRESS"] = { type ='value', },
|
||||
["GLFW_KEY_UNKNOWN"] = { type ='value', },
|
||||
["GLFW_KEY_SPACE"] = { type ='value', },
|
||||
["GLFW_KEY_APOSTROPHE"] = { type ='value', },
|
||||
["GLFW_KEY_COMMA"] = { type ='value', },
|
||||
["GLFW_KEY_MINUS"] = { type ='value', },
|
||||
["GLFW_KEY_PERIOD"] = { type ='value', },
|
||||
["GLFW_KEY_SLASH"] = { type ='value', },
|
||||
["GLFW_KEY_0"] = { type ='value', },
|
||||
["GLFW_KEY_1"] = { type ='value', },
|
||||
["GLFW_KEY_2"] = { type ='value', },
|
||||
["GLFW_KEY_3"] = { type ='value', },
|
||||
["GLFW_KEY_4"] = { type ='value', },
|
||||
["GLFW_KEY_5"] = { type ='value', },
|
||||
["GLFW_KEY_6"] = { type ='value', },
|
||||
["GLFW_KEY_7"] = { type ='value', },
|
||||
["GLFW_KEY_8"] = { type ='value', },
|
||||
["GLFW_KEY_9"] = { type ='value', },
|
||||
["GLFW_KEY_SEMICOLON"] = { type ='value', },
|
||||
["GLFW_KEY_EQUAL"] = { type ='value', },
|
||||
["GLFW_KEY_A"] = { type ='value', },
|
||||
["GLFW_KEY_B"] = { type ='value', },
|
||||
["GLFW_KEY_C"] = { type ='value', },
|
||||
["GLFW_KEY_D"] = { type ='value', },
|
||||
["GLFW_KEY_E"] = { type ='value', },
|
||||
["GLFW_KEY_F"] = { type ='value', },
|
||||
["GLFW_KEY_G"] = { type ='value', },
|
||||
["GLFW_KEY_H"] = { type ='value', },
|
||||
["GLFW_KEY_I"] = { type ='value', },
|
||||
["GLFW_KEY_J"] = { type ='value', },
|
||||
["GLFW_KEY_K"] = { type ='value', },
|
||||
["GLFW_KEY_L"] = { type ='value', },
|
||||
["GLFW_KEY_M"] = { type ='value', },
|
||||
["GLFW_KEY_N"] = { type ='value', },
|
||||
["GLFW_KEY_O"] = { type ='value', },
|
||||
["GLFW_KEY_P"] = { type ='value', },
|
||||
["GLFW_KEY_Q"] = { type ='value', },
|
||||
["GLFW_KEY_R"] = { type ='value', },
|
||||
["GLFW_KEY_S"] = { type ='value', },
|
||||
["GLFW_KEY_T"] = { type ='value', },
|
||||
["GLFW_KEY_U"] = { type ='value', },
|
||||
["GLFW_KEY_V"] = { type ='value', },
|
||||
["GLFW_KEY_W"] = { type ='value', },
|
||||
["GLFW_KEY_X"] = { type ='value', },
|
||||
["GLFW_KEY_Y"] = { type ='value', },
|
||||
["GLFW_KEY_Z"] = { type ='value', },
|
||||
["GLFW_KEY_LEFT_BRACKET"] = { type ='value', },
|
||||
["GLFW_KEY_BACKSLASH"] = { type ='value', },
|
||||
["GLFW_KEY_RIGHT_BRACKET"] = { type ='value', },
|
||||
["GLFW_KEY_GRAVE_ACCENT"] = { type ='value', },
|
||||
["GLFW_KEY_WORLD_1"] = { type ='value', },
|
||||
["GLFW_KEY_WORLD_2"] = { type ='value', },
|
||||
["GLFW_KEY_SPECIAL"] = { type ='value', },
|
||||
["GLFW_KEY_ESC"] = { type ='value', },
|
||||
["GLFW_KEY_F1"] = { type ='value', },
|
||||
["GLFW_KEY_F2"] = { type ='value', },
|
||||
["GLFW_KEY_F3"] = { type ='value', },
|
||||
["GLFW_KEY_F4"] = { type ='value', },
|
||||
["GLFW_KEY_F5"] = { type ='value', },
|
||||
["GLFW_KEY_F6"] = { type ='value', },
|
||||
["GLFW_KEY_F7"] = { type ='value', },
|
||||
["GLFW_KEY_F8"] = { type ='value', },
|
||||
["GLFW_KEY_F9"] = { type ='value', },
|
||||
["GLFW_KEY_F10"] = { type ='value', },
|
||||
["GLFW_KEY_F11"] = { type ='value', },
|
||||
["GLFW_KEY_F12"] = { type ='value', },
|
||||
["GLFW_KEY_F13"] = { type ='value', },
|
||||
["GLFW_KEY_F14"] = { type ='value', },
|
||||
["GLFW_KEY_F15"] = { type ='value', },
|
||||
["GLFW_KEY_F16"] = { type ='value', },
|
||||
["GLFW_KEY_F17"] = { type ='value', },
|
||||
["GLFW_KEY_F18"] = { type ='value', },
|
||||
["GLFW_KEY_F19"] = { type ='value', },
|
||||
["GLFW_KEY_F20"] = { type ='value', },
|
||||
["GLFW_KEY_F21"] = { type ='value', },
|
||||
["GLFW_KEY_F22"] = { type ='value', },
|
||||
["GLFW_KEY_F23"] = { type ='value', },
|
||||
["GLFW_KEY_F24"] = { type ='value', },
|
||||
["GLFW_KEY_F25"] = { type ='value', },
|
||||
["GLFW_KEY_UP"] = { type ='value', },
|
||||
["GLFW_KEY_DOWN"] = { type ='value', },
|
||||
["GLFW_KEY_LEFT"] = { type ='value', },
|
||||
["GLFW_KEY_RIGHT"] = { type ='value', },
|
||||
["GLFW_KEY_LSHIFT"] = { type ='value', },
|
||||
["GLFW_KEY_RSHIFT"] = { type ='value', },
|
||||
["GLFW_KEY_LCTRL"] = { type ='value', },
|
||||
["GLFW_KEY_RCTRL"] = { type ='value', },
|
||||
["GLFW_KEY_LALT"] = { type ='value', },
|
||||
["GLFW_KEY_RALT"] = { type ='value', },
|
||||
["GLFW_KEY_TAB"] = { type ='value', },
|
||||
["GLFW_KEY_ENTER"] = { type ='value', },
|
||||
["GLFW_KEY_BACKSPACE"] = { type ='value', },
|
||||
["GLFW_KEY_INSERT"] = { type ='value', },
|
||||
["GLFW_KEY_DEL"] = { type ='value', },
|
||||
["GLFW_KEY_PAGEUP"] = { type ='value', },
|
||||
["GLFW_KEY_PAGEDOWN"] = { type ='value', },
|
||||
["GLFW_KEY_HOME"] = { type ='value', },
|
||||
["GLFW_KEY_END"] = { type ='value', },
|
||||
["GLFW_KEY_KP_0"] = { type ='value', },
|
||||
["GLFW_KEY_KP_1"] = { type ='value', },
|
||||
["GLFW_KEY_KP_2"] = { type ='value', },
|
||||
["GLFW_KEY_KP_3"] = { type ='value', },
|
||||
["GLFW_KEY_KP_4"] = { type ='value', },
|
||||
["GLFW_KEY_KP_5"] = { type ='value', },
|
||||
["GLFW_KEY_KP_6"] = { type ='value', },
|
||||
["GLFW_KEY_KP_7"] = { type ='value', },
|
||||
["GLFW_KEY_KP_8"] = { type ='value', },
|
||||
["GLFW_KEY_KP_9"] = { type ='value', },
|
||||
["GLFW_KEY_KP_DIVIDE"] = { type ='value', },
|
||||
["GLFW_KEY_KP_MULTIPLY"] = { type ='value', },
|
||||
["GLFW_KEY_KP_SUBTRACT"] = { type ='value', },
|
||||
["GLFW_KEY_KP_ADD"] = { type ='value', },
|
||||
["GLFW_KEY_KP_DECIMAL"] = { type ='value', },
|
||||
["GLFW_KEY_KP_EQUAL"] = { type ='value', },
|
||||
["GLFW_KEY_KP_ENTER"] = { type ='value', },
|
||||
["GLFW_KEY_KP_NUM_LOCK"] = { type ='value', },
|
||||
["GLFW_KEY_CAPS_LOCK"] = { type ='value', },
|
||||
["GLFW_KEY_SCROLL_LOCK"] = { type ='value', },
|
||||
["GLFW_KEY_PAUSE"] = { type ='value', },
|
||||
["GLFW_KEY_LSUPER"] = { type ='value', },
|
||||
["GLFW_KEY_RSUPER"] = { type ='value', },
|
||||
["GLFW_KEY_MENU"] = { type ='value', },
|
||||
["GLFW_KEY_LAST"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_1"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_2"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_3"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_4"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_5"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_6"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_7"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_8"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_LAST"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_LEFT"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_RIGHT"] = { type ='value', },
|
||||
["GLFW_MOUSE_BUTTON_MIDDLE"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_1"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_2"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_3"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_4"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_5"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_6"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_7"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_8"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_9"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_10"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_11"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_12"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_13"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_14"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_15"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_16"] = { type ='value', },
|
||||
["GLFW_JOYSTICK_LAST"] = { type ='value', },
|
||||
["GLFW_WINDOW"] = { type ='value', },
|
||||
["GLFW_FULLSCREEN"] = { type ='value', },
|
||||
["GLFW_OPENED"] = { type ='value', },
|
||||
["GLFW_ACTIVE"] = { type ='value', },
|
||||
["GLFW_ICONIFIED"] = { type ='value', },
|
||||
["GLFW_ACCELERATED"] = { type ='value', },
|
||||
["GLFW_RED_BITS"] = { type ='value', },
|
||||
["GLFW_GREEN_BITS"] = { type ='value', },
|
||||
["GLFW_BLUE_BITS"] = { type ='value', },
|
||||
["GLFW_ALPHA_BITS"] = { type ='value', },
|
||||
["GLFW_DEPTH_BITS"] = { type ='value', },
|
||||
["GLFW_STENCIL_BITS"] = { type ='value', },
|
||||
["GLFW_REFRESH_RATE"] = { type ='value', },
|
||||
["GLFW_ACCUM_RED_BITS"] = { type ='value', },
|
||||
["GLFW_ACCUM_GREEN_BITS"] = { type ='value', },
|
||||
["GLFW_ACCUM_BLUE_BITS"] = { type ='value', },
|
||||
["GLFW_ACCUM_ALPHA_BITS"] = { type ='value', },
|
||||
["GLFW_AUX_BUFFERS"] = { type ='value', },
|
||||
["GLFW_STEREO"] = { type ='value', },
|
||||
["GLFW_WINDOW_NO_RESIZE"] = { type ='value', },
|
||||
["GLFW_FSAA_SAMPLES"] = { type ='value', },
|
||||
["GLFW_OPENGL_VERSION_MAJOR"] = { type ='value', },
|
||||
["GLFW_OPENGL_VERSION_MINOR"] = { type ='value', },
|
||||
["GLFW_OPENGL_FORWARD_COMPAT"] = { type ='value', },
|
||||
["GLFW_OPENGL_DEBUG_CONTEXT"] = { type ='value', },
|
||||
["GLFW_OPENGL_PROFILE"] = { type ='value', },
|
||||
["GLFW_OPENGL_CORE_PROFILE"] = { type ='value', },
|
||||
["GLFW_OPENGL_COMPAT_PROFILE"] = { type ='value', },
|
||||
["GLFW_MOUSE_CURSOR"] = { type ='value', },
|
||||
["GLFW_STICKY_KEYS"] = { type ='value', },
|
||||
["GLFW_STICKY_MOUSE_BUTTONS"] = { type ='value', },
|
||||
["GLFW_SYSTEM_KEYS"] = { type ='value', },
|
||||
["GLFW_KEY_REPEAT"] = { type ='value', },
|
||||
["GLFW_AUTO_POLL_EVENTS"] = { type ='value', },
|
||||
["GLFW_WAIT"] = { type ='value', },
|
||||
["GLFW_NOWAIT"] = { type ='value', },
|
||||
["GLFW_PRESENT"] = { type ='value', },
|
||||
["GLFW_AXES"] = { type ='value', },
|
||||
["GLFW_BUTTONS"] = { type ='value', },
|
||||
["GLFW_NO_RESCALE_BIT"] = { type ='value', },
|
||||
["GLFW_ORIGIN_UL_BIT"] = { type ='value', },
|
||||
["GLFW_BUILD_MIPMAPS_BIT"] = { type ='value', },
|
||||
["GLFW_ALPHA_MAP_BIT"] = { type ='value', },
|
||||
["glfwInit"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwTerminate"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwGetVersion"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int *major, int *minor, int *rev)", },
|
||||
["glfwOpenWindow"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int width, int height, int redbits, int greenbits, int bluebits, int alphabits, int depthbits, int stencilbits, int mode)", },
|
||||
["glfwOpenWindowHint"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int target, int hint)", },
|
||||
["glfwCloseWindow"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwSetWindowTitle"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(const char *title)", },
|
||||
["glfwGetWindowSize"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int *width, int *height)", },
|
||||
["glfwSetWindowSize"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int width, int height)", },
|
||||
["glfwSetWindowPos"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int x, int y)", },
|
||||
["glfwIconifyWindow"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwRestoreWindow"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwSwapBuffers"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwSwapInterval"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int interval)", },
|
||||
["glfwGetWindowParam"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int param)", },
|
||||
["glfwSetWindowSizeCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWwindowsizefun cbfun)", },
|
||||
["glfwSetWindowCloseCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWwindowclosefun cbfun)", },
|
||||
["glfwSetWindowRefreshCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWwindowrefreshfun cbfun)", },
|
||||
["glfwGetVideoModes"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(GLFWvidmode *list, int maxcount)", },
|
||||
["glfwGetDesktopMode"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWvidmode *mode)", },
|
||||
["glfwPollEvents"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwWaitEvents"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwGetKey"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int key)", },
|
||||
["glfwGetMouseButton"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int button)", },
|
||||
["glfwGetMousePos"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int *xpos, int *ypos)", },
|
||||
["glfwSetMousePos"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int xpos, int ypos)", },
|
||||
["glfwGetMouseWheel"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwSetMouseWheel"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int pos)", },
|
||||
["glfwSetKeyCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWkeyfun cbfun)", },
|
||||
["glfwSetCharCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWcharfun cbfun)", },
|
||||
["glfwSetMouseButtonCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWmousebuttonfun cbfun)", },
|
||||
["glfwSetMousePosCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWmouseposfun cbfun)", },
|
||||
["glfwSetMouseWheelCallback"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWmousewheelfun cbfun)", },
|
||||
["glfwGetJoystickParam"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int joy, int param)", },
|
||||
["glfwGetJoystickPos"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int joy, float *pos, int numaxes)", },
|
||||
["glfwGetJoystickButtons"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(int joy, unsigned char *buttons, int numbuttons)", },
|
||||
["glfwGetTime"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(double)",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwSetTime"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(double time)", },
|
||||
["glfwSleep"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(double time)", },
|
||||
["glfwExtensionSupported"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const char *extension)", },
|
||||
["glfwGetProcAddress"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void*)",
|
||||
valuetype = nil,
|
||||
args = "(const char *procname)", },
|
||||
["glfwGetGLVersion"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(void)",
|
||||
valuetype = nil,
|
||||
args = "(int *major, int *minor, int *rev)", },
|
||||
["glfwCreateThread"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLFWthread)",
|
||||
valuetype = nil,
|
||||
args = "(GLFWthreadfun fun, void *arg)", },
|
||||
["glfwDestroyThread"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWthread ID)", },
|
||||
["glfwWaitThread"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(GLFWthread ID, int waitmode)", },
|
||||
["glfwGetThreadID"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLFWthread)",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwCreateMutex"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLFWmutex)",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwDestroyMutex"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWmutex mutex)", },
|
||||
["glfwLockMutex"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWmutex mutex)", },
|
||||
["glfwUnlockMutex"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWmutex mutex)", },
|
||||
["glfwCreateCond"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(GLFWcond)",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwDestroyCond"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWcond cond)", },
|
||||
["glfwWaitCond"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWcond cond, GLFWmutex mutex, double timeout)", },
|
||||
["glfwSignalCond"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWcond cond)", },
|
||||
["glfwBroadcastCond"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWcond cond)", },
|
||||
["glfwGetNumberOfProcessors"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(void)", },
|
||||
["glfwEnable"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int token)", },
|
||||
["glfwDisable"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(int token)", },
|
||||
["glfwReadImage"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const char *name, GLFWimage *img, int flags)", },
|
||||
["glfwReadMemoryImage"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const void *data, long size, GLFWimage *img, int flags)", },
|
||||
["glfwFreeImage"] = { type ='function',
|
||||
description = "",
|
||||
returns = "()",
|
||||
valuetype = nil,
|
||||
args = "(GLFWimage *img)", },
|
||||
["glfwLoadTexture2D"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const char *name, int flags)", },
|
||||
["glfwLoadMemoryTexture2D"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(const void *data, long size, int flags)", },
|
||||
["glfwLoadTextureImage2D"] = { type ='function',
|
||||
description = "",
|
||||
returns = "(int)",
|
||||
valuetype = nil,
|
||||
args = "(GLFWimage *img, int flags)", },
|
||||
["GLFWvidmode"] = { type ='class',
|
||||
description = "",
|
||||
childs = {
|
||||
["Width"] = { type ='value', description = "int", valuetype = nil, },
|
||||
["Height"] = { type ='value', description = "int", valuetype = nil, },
|
||||
["RedBits"] = { type ='value', description = "int", valuetype = nil, },
|
||||
["BlueBits"] = { type ='value', description = "int", valuetype = nil, },
|
||||
["GreenBits"] = { type ='value', description = "int", valuetype = nil, },
|
||||
}
|
||||
},
|
||||
["GLFWimage"] = { type ='class',
|
||||
description = "",
|
||||
childs = {
|
||||
["Width"] = { type ='value', description = "int", valuetype = nil, },
|
||||
["Height"] = { type ='value', description = "int", valuetype = nil, },
|
||||
["Format"] = { type ='value', description = "int", valuetype = nil, },
|
||||
["BytesPerPixel"] = { type ='value', description = "int", valuetype = nil, },
|
||||
}
|
||||
},
|
||||
}
|
||||
return {
|
||||
glfw = {
|
||||
type = 'lib',
|
||||
description = "GLFW window manager",
|
||||
childs = api,
|
||||
},
|
||||
}
|
||||
|
||||
4624
api/lua/love2d.lua
Normal file
4624
api/lua/love2d.lua
Normal file
File diff suppressed because it is too large
Load Diff
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.
BIN
bin/clibs/mime/core.dll
Normal file
BIN
bin/clibs/mime/core.dll
Normal file
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.
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/"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user