Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b979d92db6 | ||
|
|
03f83fc924 | ||
|
|
eb817d34ef | ||
|
|
3119f10c2c | ||
|
|
9fb5a4e0be | ||
|
|
d29c2dbd0c | ||
|
|
e8738715e5 | ||
|
|
6251e43db8 | ||
|
|
b353263b0e | ||
|
|
e8d09f773c | ||
|
|
42fd6f783f | ||
|
|
3ee29f30f3 | ||
|
|
794d733c83 | ||
|
|
75734d06af | ||
|
|
8010335ffe | ||
|
|
70479b6e79 | ||
|
|
580619280a | ||
|
|
0386683670 | ||
|
|
16def12959 | ||
|
|
ec969c924a | ||
|
|
ef70c85b79 | ||
|
|
e521a1572a | ||
|
|
4bcea5e772 | ||
|
|
db2ce72076 | ||
|
|
569ea1e1ab | ||
|
|
d5ed27f57c | ||
|
|
3a2e92169b | ||
|
|
e56a953c9b | ||
|
|
17f8707f62 | ||
|
|
c70097f1e1 | ||
|
|
06b984c2e5 | ||
|
|
59d128f87a | ||
|
|
ab393febcb | ||
|
|
44ecaf409e | ||
|
|
2d731ae1ba | ||
|
|
9df23c27c2 | ||
|
|
91480c957d | ||
|
|
e4bd971017 | ||
|
|
b213525c21 | ||
|
|
dfb451c450 | ||
|
|
72056e5e3e | ||
|
|
437ca007ef | ||
|
|
fada3c73bc | ||
|
|
12e4a278d0 | ||
|
|
34d8425520 | ||
|
|
ad998fb622 | ||
|
|
84e95da2b5 | ||
|
|
7c1ada4546 | ||
|
|
b76148ae2a | ||
|
|
e927de6508 | ||
|
|
62a9f34a26 | ||
|
|
1ec855c2fc | ||
|
|
5d5d0a539b | ||
|
|
6b3d75cbb2 | ||
|
|
aef3671063 | ||
|
|
b827827951 | ||
|
|
b7aea0eb1f | ||
|
|
31f24283d7 | ||
|
|
199f1b11b5 | ||
|
|
cfe34555b3 | ||
|
|
39bc480c03 | ||
|
|
284ea32333 | ||
|
|
259325f81f | ||
|
|
f4c59612ea | ||
|
|
264651d34a | ||
|
|
e0e346aade | ||
|
|
011286ccb5 | ||
|
|
d06660fd06 | ||
|
|
f6e257464d | ||
|
|
b5bfd365b9 | ||
|
|
73798ba07c | ||
|
|
adae6b84f4 | ||
|
|
722a25240e | ||
|
|
033991ad3f | ||
|
|
5745541e13 | ||
|
|
1f855e1321 | ||
|
|
9d1ab2cf14 | ||
|
|
9e215b474f | ||
|
|
a0ff15fe61 | ||
|
|
a060ed817c | ||
|
|
7fee343d00 | ||
|
|
a8b79a59c7 | ||
|
|
9710bb5c83 | ||
|
|
c3d9a24735 | ||
|
|
02e26c368c | ||
|
|
ce8ddc6414 | ||
|
|
431e64fbfb | ||
|
|
b8bec2c830 | ||
|
|
8a57aa2f2c | ||
|
|
f0da9b5f8c | ||
|
|
d075880248 | ||
|
|
6f2e862c65 | ||
|
|
5052ee7a9e | ||
|
|
95a6c90d01 | ||
|
|
f19e165571 | ||
|
|
b197e22de7 | ||
|
|
c861de8981 | ||
|
|
a29cb8565a | ||
|
|
8faaf54f2c | ||
|
|
ea6f4b2054 | ||
|
|
c8a06bc084 | ||
|
|
0a8a2210c0 | ||
|
|
52d389f342 | ||
|
|
77c0680bd5 | ||
|
|
34192777a6 | ||
|
|
68eaf84ec2 | ||
|
|
707ccae971 | ||
|
|
333f2875cb | ||
|
|
f0e568e694 | ||
|
|
35d169b585 | ||
|
|
608de9f2ed | ||
|
|
9d7c9f1db2 | ||
|
|
262463c52d | ||
|
|
21573d0b05 | ||
|
|
9e29550a20 | ||
|
|
4723b45ef6 | ||
|
|
c041a4d174 | ||
|
|
1f52c4b588 | ||
|
|
ed28af8d11 | ||
|
|
017e92470e | ||
|
|
d5c98f7c4e | ||
|
|
22a1162e14 | ||
|
|
73dfd1f319 | ||
|
|
3952b2b1b7 | ||
|
|
b3b1fc6d87 | ||
|
|
def204d211 | ||
|
|
615295ca3e | ||
|
|
348a1d7537 | ||
|
|
30b0bb55c0 | ||
|
|
789b94b514 | ||
|
|
dc30f7ca15 | ||
|
|
47ecfb7fd3 | ||
|
|
2b2ac53466 | ||
|
|
e8069073b5 | ||
|
|
07006ee5b5 | ||
|
|
1d8594dff4 | ||
|
|
d15fbc902c | ||
|
|
2d1cf4b371 | ||
|
|
921f860e83 | ||
|
|
de7f430c2a | ||
|
|
c4d65094d8 | ||
|
|
532628c6da | ||
|
|
4e415a41ed | ||
|
|
b7b42f50a5 | ||
|
|
d65a4529be | ||
|
|
43a5817ef3 | ||
|
|
18dc469408 | ||
|
|
b4d7c43307 | ||
|
|
8037c69d16 | ||
|
|
06c7e89dee | ||
|
|
ff903bfb3b | ||
|
|
c2de804fa9 | ||
|
|
735cc8d92d | ||
|
|
b77170c4bc | ||
|
|
cf912279d6 | ||
|
|
a7ff096d30 | ||
|
|
7a921b8967 | ||
|
|
e50fdb8807 | ||
|
|
c504d3c511 | ||
|
|
ac32ebba2b | ||
|
|
97134e2652 | ||
|
|
c1bddbae20 | ||
|
|
6d1cdcc9f3 | ||
|
|
5f886106e2 | ||
|
|
579d5296b1 | ||
|
|
09fc2bb48e | ||
|
|
ff4fa52206 | ||
|
|
aea7e6434e | ||
|
|
ecdc19fb5e | ||
|
|
074d354970 | ||
|
|
5701261ace | ||
|
|
dea4c0dffe | ||
|
|
6bcf03b30d | ||
|
|
ab04516279 | ||
|
|
c66b2fb299 | ||
|
|
633bf479b2 | ||
|
|
d00b4d1c6f | ||
|
|
c7866cf668 | ||
|
|
4598deb70f | ||
|
|
1919757fca | ||
|
|
00999f5921 | ||
|
|
d278083947 | ||
|
|
7b9635fe53 | ||
|
|
38e2bd222e | ||
|
|
a791c44854 | ||
|
|
08fcc4baab | ||
|
|
2db4e9bc6e | ||
|
|
da87e1bccd | ||
|
|
ac09ed6629 | ||
|
|
fed607681b | ||
|
|
8b088425a9 | ||
|
|
9e42bb4117 | ||
|
|
0ddedf7fd6 | ||
|
|
62a37388e7 | ||
|
|
01b765300e | ||
|
|
31d7a00ecf | ||
|
|
9081bdc97f | ||
|
|
80ef7ec909 | ||
|
|
c53e60b956 | ||
|
|
40f5d22d88 | ||
|
|
5a6479faa8 | ||
|
|
7999373b69 | ||
|
|
e01029d06d | ||
|
|
8ff2f37af5 | ||
|
|
5b297643db | ||
|
|
32f1740577 | ||
|
|
be2f7160ba | ||
|
|
832bebb597 | ||
|
|
7917192b77 | ||
|
|
daba012e83 | ||
|
|
505ced95bb | ||
|
|
1a3d54e3b5 | ||
|
|
5394450800 | ||
|
|
b52964f606 | ||
|
|
4984ce95c3 | ||
|
|
508b848204 | ||
|
|
d1c2870d63 | ||
|
|
3b4cf68a15 | ||
|
|
13b12f01a8 | ||
|
|
96c2fb00e1 | ||
|
|
4cacb45252 | ||
|
|
902d8e0c00 | ||
|
|
0ca3bf33c9 | ||
|
|
8d4efb1f8e | ||
|
|
1af6148615 | ||
|
|
d333d48ccf | ||
|
|
74e6be2f95 | ||
|
|
0044698a5a | ||
|
|
f28a59e7a3 | ||
|
|
be72daf6d5 | ||
|
|
24af6a731b | ||
|
|
65383e2303 | ||
|
|
cdc21c9fb1 | ||
|
|
92891e291a | ||
|
|
c2c139c8aa | ||
|
|
8ae58823f8 | ||
|
|
a9e80809e8 | ||
|
|
af8f803404 | ||
|
|
38eef8fd54 | ||
|
|
e608664f11 | ||
|
|
ed86d310d5 | ||
|
|
1d85ee6330 | ||
|
|
db24b0ffa6 | ||
|
|
be6acfa58b | ||
|
|
68609c9d54 | ||
|
|
3b7e33cab8 | ||
|
|
f3aaf8ba57 | ||
|
|
a6976eae8d | ||
|
|
962df63e62 | ||
|
|
a464d4dc38 | ||
|
|
f1c63abdc3 | ||
|
|
3cc439b877 | ||
|
|
02da762f2f | ||
|
|
c02a1fd212 | ||
|
|
736d0494c4 | ||
|
|
030a021aa1 | ||
|
|
d68cb97f6b | ||
|
|
376ce4462c | ||
|
|
71f56c0638 | ||
|
|
b414da7dab | ||
|
|
f6f63c9a14 | ||
|
|
3b4e24b74f | ||
|
|
804e4eb1e2 | ||
|
|
119234af89 | ||
|
|
2c978b4de1 | ||
|
|
0a8725f68d | ||
|
|
5b5a12be6e | ||
|
|
fa07f989c2 | ||
|
|
6db7efece1 | ||
|
|
579b82b4ed | ||
|
|
91aac70edf | ||
|
|
26b4b77ff6 | ||
|
|
4390a82d64 | ||
|
|
bb376b0a56 | ||
|
|
2fd4a3d2e3 | ||
|
|
60a69d0092 | ||
|
|
b446ff2366 | ||
|
|
50e9a65404 | ||
|
|
157d63a714 | ||
|
|
3f7eeb871c | ||
|
|
3c07069adc | ||
|
|
29394e86a3 | ||
|
|
337e786f33 | ||
|
|
2575ccc0f4 | ||
|
|
589cfd6d79 | ||
|
|
98c411c581 | ||
|
|
de5a5854bf | ||
|
|
ada80fb925 | ||
|
|
2f935a0d41 | ||
|
|
2cb9fb153a | ||
|
|
b9a6bd5f67 | ||
|
|
27cb05b8f7 | ||
|
|
8e484e37a9 | ||
|
|
225ee310ad | ||
|
|
faa40bdd9f | ||
|
|
de6bbe7697 | ||
|
|
3cdab08184 | ||
|
|
c96c18b9aa | ||
|
|
a1c20c56ce | ||
|
|
8cd2625548 | ||
|
|
6becda01d5 | ||
|
|
34c86c6a1b | ||
|
|
9e8b847940 | ||
|
|
238d6b8799 | ||
|
|
183bb16fca | ||
|
|
51c52ace7d | ||
|
|
2fbaa47c0b | ||
|
|
eac80d2b43 | ||
|
|
f6e0514408 | ||
|
|
851b26262a | ||
|
|
bf8c538491 | ||
|
|
2b923cd4b6 | ||
|
|
23949b02af | ||
|
|
928eab3fd7 | ||
|
|
8b028c7f94 | ||
|
|
9e98cdc34b | ||
|
|
79f86a3158 | ||
|
|
6e5d2f147a | ||
|
|
1d53ff4277 | ||
|
|
b18ccf12bf | ||
|
|
126fe4d4e7 | ||
|
|
189c3da84f | ||
|
|
f9ce58b409 | ||
|
|
a4f8369420 | ||
|
|
4777b94dfc | ||
|
|
0a34db312f | ||
|
|
14d50c4242 | ||
|
|
fd401db97f | ||
|
|
22646d1702 | ||
|
|
b2cb8cfe11 | ||
|
|
984a114310 | ||
|
|
5dbb67349b | ||
|
|
5d0fc10372 | ||
|
|
8f208189cc | ||
|
|
bd50262ca4 | ||
|
|
c89d5af6a3 | ||
|
|
25efce7a89 | ||
|
|
1635ce0176 | ||
|
|
6ebf3f4ef7 | ||
|
|
974f3e96c9 | ||
|
|
c5c494522c | ||
|
|
2a4fc97125 | ||
|
|
a613870d77 | ||
|
|
331d0cce73 | ||
|
|
4cc8f05407 | ||
|
|
1d177a7e16 | ||
|
|
c0cfadbdd3 | ||
|
|
f5a972d9e2 | ||
|
|
65d7b93a32 | ||
|
|
5f29c20d39 | ||
|
|
92e4552f66 | ||
|
|
581d832569 | ||
|
|
2cffe81b75 | ||
|
|
74c02291c1 | ||
|
|
229350120a | ||
|
|
4e6876c983 | ||
|
|
b1bd52b09e | ||
|
|
a381633dc8 | ||
|
|
54ca961496 | ||
|
|
4d245fe232 | ||
|
|
9796ec576f | ||
|
|
3e86b6e20a | ||
|
|
94dce64f29 | ||
|
|
dc1dca8aa0 | ||
|
|
8bc2d6961f | ||
|
|
71e7b51c88 | ||
|
|
2500a01cb3 | ||
|
|
f9f4fc02ea | ||
|
|
9c94e1b3f3 | ||
|
|
3ceff22f36 | ||
|
|
ed6ebc930e | ||
|
|
f63b47d6c4 | ||
|
|
86794d1da9 | ||
|
|
80957d5470 | ||
|
|
8f65a652ce | ||
|
|
4e7bd4831d | ||
|
|
5c5d9ef0e3 | ||
|
|
d28e3bef6c | ||
|
|
d0aef5cf39 | ||
|
|
cb64be4eeb | ||
|
|
bbb682242d | ||
|
|
602b162d41 | ||
|
|
1f1fa36b72 | ||
|
|
0491a71da1 | ||
|
|
6563d87247 | ||
|
|
10dbb238c8 | ||
|
|
610936a5fa | ||
|
|
8759431fec | ||
|
|
b633b9d55f | ||
|
|
8428f08ebd | ||
|
|
1205823ddb | ||
|
|
d436b853eb | ||
|
|
5dfc97a683 | ||
|
|
60a2054cd5 | ||
|
|
a24ee66f51 | ||
|
|
9fc36ec54c | ||
|
|
91917dbddd | ||
|
|
836fefb9a5 | ||
|
|
0eb2fe50a6 | ||
|
|
db62de75d8 | ||
|
|
16eb356e31 | ||
|
|
21c6e3afb4 | ||
|
|
bfd7aa619e | ||
|
|
292a1c3f42 | ||
|
|
c79e5df683 | ||
|
|
295a5f7e1d | ||
|
|
cffa75c014 | ||
|
|
836c0ba772 | ||
|
|
ec1216e7eb | ||
|
|
227f09eeda | ||
|
|
71ae82ee4d | ||
|
|
b6ab281842 | ||
|
|
a7a11ccc03 | ||
|
|
0ea7af4bdd | ||
|
|
56aa8c6697 | ||
|
|
8dee93991a | ||
|
|
b012d3c41e | ||
|
|
5e9d337288 | ||
|
|
cdf998a1e2 | ||
|
|
be64e786f9 | ||
|
|
383beeae82 | ||
|
|
409180959c | ||
|
|
ce1937c78e | ||
|
|
4121bfb468 | ||
|
|
ce438b7ecd | ||
|
|
7f6e7d2741 | ||
|
|
f136d0cd19 | ||
|
|
ceba6fd533 | ||
|
|
4d59d521ac | ||
|
|
c5034b3c4c | ||
|
|
219c574931 | ||
|
|
a65a1cab93 | ||
|
|
36d5edc0a6 | ||
|
|
1a85d9d562 | ||
|
|
1f01147821 | ||
|
|
1546caa6a3 | ||
|
|
df435819eb | ||
|
|
5e93c7631d | ||
|
|
187751ec26 | ||
|
|
7ae50adb55 | ||
|
|
658da193b7 | ||
|
|
cd7a5dcbb5 | ||
|
|
6f3632d495 | ||
|
|
5a40eac4e2 | ||
|
|
09f7cc309b | ||
|
|
397980a83f | ||
|
|
dd4ac80159 | ||
|
|
e20cc593fc | ||
|
|
e9ffeeaea7 | ||
|
|
7c62479f30 | ||
|
|
05c530eeb1 | ||
|
|
833d4562e2 | ||
|
|
55252bfe22 | ||
|
|
8d79e96798 | ||
|
|
cf6cd3cd83 | ||
|
|
2f0487a424 | ||
|
|
0d0c1a72e0 | ||
|
|
d35a41944c | ||
|
|
71006e24fd | ||
|
|
c2e5aaa7a0 | ||
|
|
40c1907689 | ||
|
|
c9ec962575 | ||
|
|
a3b343dfab | ||
|
|
e8d2407367 | ||
|
|
5f0ab2223d | ||
|
|
042bd6bc01 | ||
|
|
10503da955 | ||
|
|
d6c4d3d609 | ||
|
|
20042fcf8d | ||
|
|
7c40db7153 | ||
|
|
323a50ed31 | ||
|
|
329fcc237b | ||
|
|
0946ee1310 | ||
|
|
c88fc1c729 | ||
|
|
437f5d44d8 | ||
|
|
c676005219 | ||
|
|
aa82519e05 | ||
|
|
c641cbaa69 | ||
|
|
0adf3f57b4 | ||
|
|
c55c3e874d | ||
|
|
b8536e2929 | ||
|
|
61910785c4 | ||
|
|
cbf0f47b9b | ||
|
|
7585531dd1 | ||
|
|
ff03efc41f | ||
|
|
5fce0772f8 | ||
|
|
0da3816664 | ||
|
|
c2cc38a642 | ||
|
|
3f5f5d2c6b | ||
|
|
b4012af312 | ||
|
|
b6736e2735 | ||
|
|
6457f00ba7 | ||
|
|
f94b914ceb | ||
|
|
b0d519c69d | ||
|
|
95b4105f52 | ||
|
|
ffea3a1694 | ||
|
|
ccb809a090 | ||
|
|
488428b1ef | ||
|
|
0eeae7e6bc | ||
|
|
9eed2706b0 | ||
|
|
7b622c8e31 | ||
|
|
27569ed8f3 | ||
|
|
18ab89d3f2 | ||
|
|
c39f99e146 | ||
|
|
9a3c642684 | ||
|
|
b2265297b5 | ||
|
|
8f17582889 | ||
|
|
cba0f36ac5 | ||
|
|
3c6d269d00 | ||
|
|
819f0d37ea | ||
|
|
fc7c4d6468 | ||
|
|
9e6534b8f4 | ||
|
|
0fd7ba46b5 | ||
|
|
151c037763 | ||
|
|
59472b16d2 | ||
|
|
d5f985f3ab | ||
|
|
af245fb5bf | ||
|
|
f8073381ee | ||
|
|
30da635990 | ||
|
|
2f06c56185 | ||
|
|
fdee74ff0c | ||
|
|
39677c3a02 | ||
|
|
2f3a00a971 | ||
|
|
fcffbd5f43 | ||
|
|
1918fc8c56 | ||
|
|
6742241e5d | ||
|
|
0b997579ad | ||
|
|
c250448d57 | ||
|
|
b2fd0543dd | ||
|
|
2056d8ba0e | ||
|
|
b8f6a29e28 | ||
|
|
4542a6cea6 | ||
|
|
11c7b25fe9 | ||
|
|
4ee389efb1 | ||
|
|
b43168ae33 | ||
|
|
ebc4b9d715 | ||
|
|
f3fafc6bf2 | ||
|
|
f969056912 | ||
|
|
c533e88d24 | ||
|
|
5ba642c20a | ||
|
|
0481f6e6f2 | ||
|
|
0f43e1ad8f | ||
|
|
3bfe6f5dfd | ||
|
|
df85624a49 | ||
|
|
315e6b1c04 | ||
|
|
b8006b44cf | ||
|
|
fe95bf381b | ||
|
|
4d12d6cf2b | ||
|
|
5e6ed1d793 | ||
|
|
57ca53638a | ||
|
|
f9bcac915f | ||
|
|
a0c4d62018 | ||
|
|
e139499ed2 | ||
|
|
365821e969 | ||
|
|
7a431f6eec | ||
|
|
cadaf00797 | ||
|
|
3d602b4f57 | ||
|
|
c3a0cb0527 | ||
|
|
6b5090e697 | ||
|
|
9e7b7a3f76 | ||
|
|
8b44538048 | ||
|
|
408b39f160 | ||
|
|
5e5b24cad0 | ||
|
|
3206cdebf6 | ||
|
|
675f8ade59 | ||
|
|
f312cc41ff | ||
|
|
bbda28cbc1 | ||
|
|
33de1f79b6 | ||
|
|
8245115763 | ||
|
|
d598d28652 | ||
|
|
75e93dfcd5 | ||
|
|
4949d98789 | ||
|
|
49fb982877 | ||
|
|
98ece551c7 | ||
|
|
e00bb0b26e | ||
|
|
3ea14a4646 | ||
|
|
f1ddcaa497 | ||
|
|
031f07f14c | ||
|
|
1e73565900 | ||
|
|
4e651fcded | ||
|
|
77fcf8353a | ||
|
|
477bb8b4b2 | ||
|
|
709195ed6a | ||
|
|
e9178f9643 | ||
|
|
4cc5477f07 | ||
|
|
43db5a2ebc | ||
|
|
b3924fb8b8 | ||
|
|
993f00ada1 | ||
|
|
b519c835fa | ||
|
|
6eac8fbcf1 | ||
|
|
861d749665 | ||
|
|
31f659e3aa | ||
|
|
39fb1963c8 | ||
|
|
731552fe08 | ||
|
|
aba855e0a6 | ||
|
|
a642198bfc | ||
|
|
cba3ca784a | ||
|
|
2d44809900 | ||
|
|
a8348a3515 | ||
|
|
4d1d2f36bc | ||
|
|
5c22ca6662 | ||
|
|
7e3614c9c8 | ||
|
|
013f50f0bc | ||
|
|
2973ad6eed | ||
|
|
a2eb0e026b | ||
|
|
bf9a2250da | ||
|
|
9ed6d75853 | ||
|
|
f5a3486f72 | ||
|
|
23f61081cf | ||
|
|
fcb02850d0 | ||
|
|
1f14f3d0c3 | ||
|
|
f51868c84c | ||
|
|
eab27fea8b | ||
|
|
91e67e37dc | ||
|
|
da8230fe00 | ||
|
|
eb068f5335 | ||
|
|
96b95907f2 | ||
|
|
a83186e6dd | ||
|
|
87f1444f5c | ||
|
|
398b3a1342 | ||
|
|
6984a34c19 | ||
|
|
4074c40083 | ||
|
|
60fdd138e3 | ||
|
|
a6ca90d7d8 | ||
|
|
ef90e5702b | ||
|
|
a9ecd7de2e | ||
|
|
5ee78ceffc | ||
|
|
d1bb8a985b | ||
|
|
4179115023 | ||
|
|
b270e18556 | ||
|
|
b837e6a798 | ||
|
|
d4f2cdd3fd | ||
|
|
2d856ddf9e | ||
|
|
e017a92892 | ||
|
|
4494e47b43 | ||
|
|
1564b1c721 | ||
|
|
f12ae3533c | ||
|
|
8721b31811 | ||
|
|
103f1e7e99 | ||
|
|
81d6727d8e | ||
|
|
203919933c | ||
|
|
f278af0f30 | ||
|
|
dc13c61dca | ||
|
|
7b28ec15d1 | ||
|
|
f279494a02 | ||
|
|
380c0f6938 | ||
|
|
2261556c16 | ||
|
|
7fcaac2a01 | ||
|
|
a478ee0a2a | ||
|
|
8398f0b852 | ||
|
|
cbcc7e4fd6 | ||
|
|
89c9337822 | ||
|
|
85591424fd | ||
|
|
01228ed2f1 | ||
|
|
6c3c023ed9 | ||
|
|
291a35f538 | ||
|
|
2a0e6d1e6e | ||
|
|
3c2369d979 | ||
|
|
871d695574 | ||
|
|
dda0526180 | ||
|
|
40d2d316cb | ||
|
|
86696deb56 | ||
|
|
9d2a2e6730 | ||
|
|
2e6b7a1b41 | ||
|
|
5cb8be1363 | ||
|
|
5280d428a9 | ||
|
|
5880bd8b8c | ||
|
|
1ef5534bc2 | ||
|
|
7581c86d93 | ||
|
|
79a0137d54 | ||
|
|
06d50ac752 | ||
|
|
49efe62910 | ||
|
|
e5473d1028 | ||
|
|
1ebdbdd8ae | ||
|
|
b87c3380b8 | ||
|
|
9034c409e1 | ||
|
|
596880f76a | ||
|
|
f7fd747a7c | ||
|
|
004c4d1950 | ||
|
|
5b95bcbf3b | ||
|
|
58c645041f | ||
|
|
a2c32907f0 | ||
|
|
65803c11c9 | ||
|
|
ee884899ef | ||
|
|
79abdfb33a | ||
|
|
3f6f1b4019 | ||
|
|
25e64d5378 | ||
|
|
d776c91cfd | ||
|
|
c2daa86463 | ||
|
|
94f6d5c630 | ||
|
|
22b4be440a | ||
|
|
c38d03165f | ||
|
|
7336177edf | ||
|
|
fcccd63844 | ||
|
|
32d7120177 | ||
|
|
f641805845 | ||
|
|
e7b52f4487 | ||
|
|
befe24e038 | ||
|
|
21460ceaa8 | ||
|
|
3936e1a386 | ||
|
|
9de2a22001 | ||
|
|
8557724fb5 | ||
|
|
4bf9ce59d5 | ||
|
|
9daa27ee8b | ||
|
|
68cd362aa4 | ||
|
|
084210ea7d | ||
|
|
a373b31152 | ||
|
|
1cfb581e15 | ||
|
|
e1cfe7e163 | ||
|
|
5ccbfa1f91 | ||
|
|
b07280e50c | ||
|
|
2f9cea1b69 | ||
|
|
b8581a7862 | ||
|
|
2f4fcb42e5 |
@@ -1 +1 @@
|
|||||||
--command "stack ghci --main-is loop:exe:dodge"
|
--command "stack ghci --test --main-is loop:test:loop-test --ghci-options=-fobject-code"
|
||||||
|
|||||||
@@ -4,3 +4,9 @@
|
|||||||
loop.cabal
|
loop.cabal
|
||||||
*.lock
|
*.lock
|
||||||
keys.json
|
keys.json
|
||||||
|
log/*
|
||||||
|
generated/*
|
||||||
|
UntrackedMisc/*
|
||||||
|
tags
|
||||||
|
ghcidOutput
|
||||||
|
.ghcid.bak
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
# HLint configuration file
|
||||||
|
# https://github.com/ndmitchell/hlint
|
||||||
|
##########################
|
||||||
|
|
||||||
|
# This file contains a template configuration file, which is typically
|
||||||
|
# placed as .hlint.yaml in the root of your project
|
||||||
|
|
||||||
|
|
||||||
|
# Specify additional command line arguments
|
||||||
|
#
|
||||||
|
# - arguments: [--color, --cpp-simple, -XQuasiQuotes]
|
||||||
|
|
||||||
|
|
||||||
|
# Control which extensions/flags/modules/functions can be used
|
||||||
|
#
|
||||||
|
# - extensions:
|
||||||
|
# - default: false # all extension are banned by default
|
||||||
|
# - name: [PatternGuards, ViewPatterns] # only these listed extensions can be used
|
||||||
|
# - {name: CPP, within: CrossPlatform} # CPP can only be used in a given module
|
||||||
|
#
|
||||||
|
# - flags:
|
||||||
|
# - {name: -w, within: []} # -w is allowed nowhere
|
||||||
|
#
|
||||||
|
# - modules:
|
||||||
|
# - {name: [Data.Set, Data.HashSet], as: Set} # if you import Data.Set qualified, it must be as 'Set'
|
||||||
|
# - {name: Control.Arrow, within: []} # Certain modules are banned entirely
|
||||||
|
#
|
||||||
|
# - functions:
|
||||||
|
# - {name: unsafePerformIO, within: []} # unsafePerformIO can only appear in no modules
|
||||||
|
|
||||||
|
|
||||||
|
# Add custom hints for this project
|
||||||
|
#
|
||||||
|
# Will suggest replacing "wibbleMany [myvar]" with "wibbleOne myvar"
|
||||||
|
# - error: {lhs: "wibbleMany [x]", rhs: wibbleOne x}
|
||||||
|
|
||||||
|
# The hints are named by the string they display in warning messages.
|
||||||
|
# For example, if you see a warning starting like
|
||||||
|
#
|
||||||
|
# Main.hs:116:51: Warning: Redundant ==
|
||||||
|
#
|
||||||
|
# You can refer to that hint with `{name: Redundant ==}` (see below).
|
||||||
|
|
||||||
|
# Turn on hints that are off by default
|
||||||
|
#
|
||||||
|
# Ban "module X(module X) where", to require a real export list
|
||||||
|
#- warn: {name: Use explicit module export list} # TODO uncomment
|
||||||
|
#
|
||||||
|
# Replace a $ b $ c with a . b $ c
|
||||||
|
#- group: {name: dollar, enabled: true} # TODO uncomment
|
||||||
|
#
|
||||||
|
# Generalise map to fmap, ++ to <>
|
||||||
|
#- group: {name: generalise, enabled: true} # TODO uncomment
|
||||||
|
#
|
||||||
|
# Warn on use of partial functions
|
||||||
|
# - group: {name: partial, enabled: true} # possibly uncomment
|
||||||
|
|
||||||
|
- group: {name: use-lens, enabled: true}
|
||||||
|
|
||||||
|
# Ignore some builtin hints
|
||||||
|
# - ignore: {name: Use let}
|
||||||
|
# - ignore: {name: Use const, within: SpecialModule} # Only within certain modules
|
||||||
|
|
||||||
|
- ignore: {name: Functor law}
|
||||||
|
|
||||||
|
# Define some custom infix operators
|
||||||
|
# - fixity: infixr 3 ~^#^~
|
||||||
|
|
||||||
|
|
||||||
|
# To generate a suitable file for HLint do:
|
||||||
|
# $ hlint --default > .hlint.yaml
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Changelog for loop
|
|
||||||
|
|
||||||
## Unreleased changes
|
|
||||||
@@ -1,39 +1,30 @@
|
|||||||
module Main (
|
module Main (main) where
|
||||||
main,
|
|
||||||
) where
|
|
||||||
|
|
||||||
|
import Dodge.SoundSelection
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Control.Parallel
|
import Control.Parallel
|
||||||
import qualified Data.Map.Strict as M
|
import qualified Data.Map.Strict as M
|
||||||
--import Data.Preload.Render
|
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import Dodge.Concurrent
|
import Dodge.Concurrent
|
||||||
import Dodge.Config.Load
|
import Dodge.Config
|
||||||
import Dodge.Config.Update
|
|
||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
import Dodge.Event
|
import Dodge.Event
|
||||||
import Dodge.Initialisation
|
import Dodge.Initialisation
|
||||||
import Dodge.LoadSeed
|
import Dodge.LoadSeed
|
||||||
import Dodge.Menu
|
|
||||||
import Dodge.Render
|
import Dodge.Render
|
||||||
import Dodge.SoundLogic.LoadSound
|
import Dodge.SoundLogic.LoadSound
|
||||||
|
import Dodge.StartNewGame
|
||||||
import Dodge.TestString
|
import Dodge.TestString
|
||||||
import Dodge.Update
|
import Dodge.Update
|
||||||
--import qualified IntMapHelp as IM
|
|
||||||
import Loop
|
import Loop
|
||||||
--import Picture
|
|
||||||
import Preload
|
import Preload
|
||||||
import Preload.Render
|
import Preload.Render
|
||||||
--import Render
|
|
||||||
|
|
||||||
import SDL (($=))
|
import SDL (($=))
|
||||||
import qualified SDL
|
import qualified SDL
|
||||||
--import qualified SDL.Mixer as Mix
|
|
||||||
import Sound
|
import Sound
|
||||||
import System.Directory
|
import System.Directory
|
||||||
|
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
-- load the config to get the window size and position
|
-- load the config to get the window size and position
|
||||||
@@ -74,7 +65,7 @@ winConfig x y winpos =
|
|||||||
theCleanup :: Universe -> IO ()
|
theCleanup :: Universe -> IO ()
|
||||||
theCleanup uv = SDL.cursorVisible $= True >> cleanUpPreload (_preloadData uv)
|
theCleanup uv = SDL.cursorVisible $= True >> cleanUpPreload (_preloadData uv)
|
||||||
|
|
||||||
firstWorldLoad :: Configuration -> IO Universe
|
firstWorldLoad :: Config -> IO Universe
|
||||||
firstWorldLoad theConfig = do
|
firstWorldLoad theConfig = do
|
||||||
SDL.cursorVisible $= False
|
SDL.cursorVisible $= False
|
||||||
pdata <- doPreload >>= applyWorldConfig theConfig
|
pdata <- doPreload >>= applyWorldConfig theConfig
|
||||||
@@ -97,22 +88,29 @@ firstWorldLoad theConfig = do
|
|||||||
, _uvDebug = mempty
|
, _uvDebug = mempty
|
||||||
, _uvDebugFloat1 = 10
|
, _uvDebugFloat1 = 10
|
||||||
, _uvDebugFloat2 = 0
|
, _uvDebugFloat2 = 0
|
||||||
|
, _uvDebugV2_1 = 0
|
||||||
|
, _uvDebugV2_2 = 1
|
||||||
|
, _uvDebugPut = mempty
|
||||||
, _uvDebugMessageOffset = 0
|
, _uvDebugMessageOffset = 0
|
||||||
, _uvSoundQueue = mempty
|
, _uvSoundQueue = mempty
|
||||||
|
, _uvDebugPathShowType = PathBetweenDebugV2s
|
||||||
}
|
}
|
||||||
return $ u & uvScreenLayers .~ [splashMenu u]
|
--return $ u & uvScreenLayers .~ [splashMenu u]
|
||||||
|
return $ startNewGameInSlot 0 u
|
||||||
|
|
||||||
theUpdateStep :: SDL.Window -> Universe -> IO Universe
|
theUpdateStep :: SDL.Window -> Universe -> IO Universe
|
||||||
theUpdateStep win = doSideEffects <=< updateRenderSplit win
|
theUpdateStep win = doSideEffects <=< updateRenderSplit win
|
||||||
|
|
||||||
updateRenderSplit :: SDL.Window -> Universe -> IO Universe
|
updateRenderSplit :: SDL.Window -> Universe -> IO Universe
|
||||||
updateRenderSplit win u = do
|
updateRenderSplit win u = do
|
||||||
updateUniverse u `par` void (doDrawing win u)
|
--updateUniverse u `par` void (doDrawing win u)
|
||||||
|
updateUniverse u `par` doDrawing win u
|
||||||
return $! updateUniverse u
|
return $! updateUniverse u
|
||||||
|
|
||||||
playSoundUnlessRewinding :: Universe -> IO (M.Map SoundOrigin Sound)
|
playSoundUnlessRewinding :: Universe -> IO (M.Map SoundOrigin Sound)
|
||||||
playSoundUnlessRewinding u = case w ^. timeFlow of
|
playSoundUnlessRewinding u = case w ^. timeFlow of
|
||||||
NormalTimeFlow -> playSoundAndUpdate (_soundData $ _preloadData u) (_playingSounds w) (_toPlaySounds w)
|
NormalTimeFlow -> playSoundAndUpdate (_soundData $ _preloadData u) (_playingSounds w) (newSoundsToPlay u)
|
||||||
|
RespawnDelay{} -> playSoundAndUpdate (_soundData $ _preloadData u) (_playingSounds w) (newSoundsToPlay u)
|
||||||
_ -> stopAllSounds >> return M.empty
|
_ -> stopAllSounds >> return M.empty
|
||||||
where
|
where
|
||||||
w = _uvWorld u
|
w = _uvWorld u
|
||||||
@@ -146,6 +144,6 @@ doPreload = do
|
|||||||
PreloadData
|
PreloadData
|
||||||
{ _renderData = rData
|
{ _renderData = rData
|
||||||
, _soundData = lChunks
|
, _soundData = lChunks
|
||||||
--, _musicData = MusicData{_loadedMusic = lMusic}
|
, --, _musicData = MusicData{_loadedMusic = lMusic}
|
||||||
, _musicData = mempty
|
_musicData = mempty
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,483 +0,0 @@
|
|||||||
{- |
|
|
||||||
Weapon effects when pulling the trigger. -}
|
|
||||||
module Dodge.Item.Weapon.TriggerType
|
|
||||||
where
|
|
||||||
import Dodge.Data
|
|
||||||
import Dodge.SoundLogic
|
|
||||||
import Dodge.Creature.Action (startReloadingWeapon)
|
|
||||||
import Dodge.WorldEvent (muzzleFlashAt,tempLightForAt)
|
|
||||||
import Dodge.WorldEvent.Cloud
|
|
||||||
import Dodge.RandomHelp
|
|
||||||
import Dodge.Particle.Bullet.Spawn
|
|
||||||
import Dodge.Item.Attachment.Data
|
|
||||||
import Dodge.Item.Data
|
|
||||||
import Geometry
|
|
||||||
|
|
||||||
import System.Random
|
|
||||||
import Control.Lens
|
|
||||||
import Control.Monad.State
|
|
||||||
import Data.Maybe
|
|
||||||
import qualified Data.IntMap.Strict as IM
|
|
||||||
import Data.Foldable
|
|
||||||
|
|
||||||
withThinSmoke
|
|
||||||
:: (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withThinSmoke eff cr w = eff cr $ foldl' (flip $ makeThinSmokeAt . (+.+ pos)) w ps
|
|
||||||
where
|
|
||||||
dir = _crDir cr
|
|
||||||
pos = _crPos cr +.+ (_crRad cr +0.5) *.* unitVectorAtAngle dir
|
|
||||||
ps = (replicateM 5 . randInCirc) 8 & evalState $ _randGen w
|
|
||||||
|
|
||||||
withThickSmoke
|
|
||||||
:: (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withThickSmoke eff cr w = eff cr $ foldl' (flip $ makeThickSmokeAt . (+.+ pos)) w ps
|
|
||||||
where
|
|
||||||
dir = _crDir cr
|
|
||||||
pos = _crPos cr +.+ (_crRad cr + 15) *.* unitVectorAtAngle dir
|
|
||||||
ps = (replicateM 20 . randInCirc) 8 & evalState $ _randGen w
|
|
||||||
{- |
|
|
||||||
Fires at an increasing rate.
|
|
||||||
Has different effect after first fire.
|
|
||||||
Applies ammo check and use cooldown check. -}
|
|
||||||
rateIncAB
|
|
||||||
:: Int -- ^ Start rate
|
|
||||||
-> Int -- ^ End rate
|
|
||||||
-> (Creature -> World -> World) -- ^ Effect on first fire
|
|
||||||
-> (Creature -> World -> World) -- ^ Effect on continued fire
|
|
||||||
-> Creature -- ^ Creature id
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
rateIncAB startRate fastRate shooteff1 shooteff2 cr w
|
|
||||||
| repeatFire = w
|
|
||||||
& pointItem %~ ( (itUseRate .~ max fastRate (currentRate - 1))
|
|
||||||
. (wpLoadedAmmo -~ 1)
|
|
||||||
. (itUseTime .~ currentRate) )
|
|
||||||
& shooteff2 cr
|
|
||||||
| firstFire = w
|
|
||||||
& pointItem %~ ( (itUseRate .~ startRate - 1)
|
|
||||||
. (wpLoadedAmmo -~ 1)
|
|
||||||
. (itUseTime .~ startRate) )
|
|
||||||
& shooteff1 cr
|
|
||||||
| reloadCondition = fromMaybe w $ startReloadingWeapon cr w
|
|
||||||
| otherwise = w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
itRef = _crInvSel cr
|
|
||||||
item = _crInv cr IM.! itRef
|
|
||||||
pointItem = creatures . ix cid . crInv . ix itRef
|
|
||||||
currentRate = _itUseRate item
|
|
||||||
repeatFire = _wpReloadState item == 0
|
|
||||||
&& _itUseTime item == 1
|
|
||||||
&& _wpLoadedAmmo item > 0
|
|
||||||
firstFire = _wpReloadState item == 0
|
|
||||||
&& _itUseTime item == 0
|
|
||||||
&& _wpLoadedAmmo item > 0
|
|
||||||
reloadCondition = _wpLoadedAmmo item == 0
|
|
||||||
{- |
|
|
||||||
Shoot a weapon rapidly after a warm up.
|
|
||||||
Applies ammo check as well. -}
|
|
||||||
withWarmUp
|
|
||||||
:: Int -- ^ Warm up time (in frames)
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Shoot effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withWarmUp t f cr w
|
|
||||||
| reloadCondition = fromMaybe w $ startReloadingWeapon cr w
|
|
||||||
| _wpReloadState item /= 0 = w
|
|
||||||
| fState == 0 = w
|
|
||||||
& pointerToItem %~ ( (itUse .~ (\_ -> withWarmUp 100 f)) . (itUseTime .~ 2) )
|
|
||||||
| t > 2 = w
|
|
||||||
& pointerToItem %~ ( (itUse .~ (\_ -> withWarmUp (t-1) f)) . (itUseTime .~ 2) )
|
|
||||||
& soundFrom (CrWeaponSound cid) 26 2 0
|
|
||||||
| t > 0 = w
|
|
||||||
& pointerToItem %~ ( (itUse .~ (\_ -> withWarmUp (t-1) f)) . (itUseTime .~ 2) )
|
|
||||||
| otherwise = w
|
|
||||||
& pointerToItem %~ ( (itUse .~ (\_ -> withWarmUp 1 f)) . (wpLoadedAmmo -~ 1) . (itUseTime .~ 2) )
|
|
||||||
& f cr
|
|
||||||
& soundFrom (CrWeaponSound cid) 28 2 0
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
itRef = _crInvSel cr
|
|
||||||
item = _crInv cr IM.! itRef
|
|
||||||
pointerToItem = creatures . ix cid . crInv . ix itRef
|
|
||||||
fState = _itUseTime item
|
|
||||||
reloadCondition = _wpLoadedAmmo item == 0
|
|
||||||
{- | Adds a sound to a creature based world effect.
|
|
||||||
The sound is emitted from the creature's position. -}
|
|
||||||
withSound
|
|
||||||
:: Int -- ^ Sound id
|
|
||||||
-> (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World -> World
|
|
||||||
withSound soundid f cr = soundOncePos soundid (_crPos cr) . f cr
|
|
||||||
|
|
||||||
withRecoil
|
|
||||||
:: Float -- ^ Recoil amount
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Underlying world effect, takes creature id as input
|
|
||||||
-> Creature
|
|
||||||
-> World -> World
|
|
||||||
withRecoil recoilAmount eff cr = eff cr . over (creatures . ix cid) pushback
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
pushback = over crPos (+.+ rotateV (_crDir cr) (V2 ((-recoilAmount) / _crMass cr ) 0))
|
|
||||||
{- | Pushes a creature sideways by a random amount.
|
|
||||||
Applied before the underlying effect. -}
|
|
||||||
withSidePush
|
|
||||||
:: Float -- ^ Maximal possible side push amount
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Underlying world effect, takes creature id as input
|
|
||||||
-> Creature
|
|
||||||
-> World -> World
|
|
||||||
withSidePush maxSide eff cr w = eff cr . over (creatures . ix cid) push $ w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
push = over crPos (+.+ rotateV (_crDir cr) (V2 0 (pushAmount / _crMass cr)))
|
|
||||||
(pushAmount, _) = randomR (-maxSide,maxSide) $ _randGen w
|
|
||||||
-- consider unifying the pushes using a direction vector
|
|
||||||
{- | Pushes a creature sideways by a random amount.
|
|
||||||
Applied after the underlying effect. -}
|
|
||||||
withSidePushAfter
|
|
||||||
:: Float -- ^ Maximal possible side push amount
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Underlying world effect, takes creature id as input
|
|
||||||
-> Creature -- ^ Creature id
|
|
||||||
-> World -> World
|
|
||||||
withSidePushAfter maxSide eff cr w = over (creatures . ix cid) push . eff cr $ w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
push = over crPos (+.+ rotateV (_crDir cr) (V2 0 (pushAmount / _crMass cr)))
|
|
||||||
(pushAmount, _) = randomR (-maxSide,maxSide) $ _randGen w
|
|
||||||
{- | Applies a world effect and sound effect after an ammo check. -}
|
|
||||||
shootWithSound
|
|
||||||
:: Int -- ^ Sound identifier
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Shoot effect, takes creature id as input
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
shootWithSound soundid f cr w
|
|
||||||
| fireCondition = over (pointerToItem . wpLoadedAmmo) (\ammo -> ammo-1)
|
|
||||||
$ soundOncePos soundid (_crPos cr)
|
|
||||||
$ set (pointerToItem . itUseTime) (_itUseRate item)
|
|
||||||
$ f cr w
|
|
||||||
| reloadCondition = fromMaybe w $ startReloadingWeapon cr w
|
|
||||||
| otherwise = w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
itRef = _crInvSel cr
|
|
||||||
item = _crInv cr IM.! itRef
|
|
||||||
pointerToItem = creatures . ix cid . crInv . ix itRef
|
|
||||||
fireCondition = _wpReloadState item == 0
|
|
||||||
&& _itUseTime item == 0
|
|
||||||
&& _wpLoadedAmmo item > 0
|
|
||||||
reloadCondition = _wpLoadedAmmo item == 0
|
|
||||||
{- | Applies a world effect and sound effect after an ammo check. -}
|
|
||||||
shootWithSoundI
|
|
||||||
:: Int -- ^ Sound identifier
|
|
||||||
-> (Item -> Creature -> World -> World)
|
|
||||||
-- ^ Shoot effect, takes creature id as input
|
|
||||||
-> Item
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
shootWithSoundI soundid f item cr w
|
|
||||||
| fireCondition = over (pointerToItem . wpLoadedAmmo) (\ammo -> ammo-1)
|
|
||||||
$ soundOncePos soundid (_crPos cr)
|
|
||||||
$ set (pointerToItem . itUseTime) (_itUseRate item)
|
|
||||||
$ f item cr w
|
|
||||||
| reloadCondition = fromMaybe w $ startReloadingWeapon cr w
|
|
||||||
| otherwise = w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
itRef = _crInvSel cr
|
|
||||||
pointerToItem = creatures . ix cid . crInv . ix itRef
|
|
||||||
fireCondition = _wpReloadState item == 0
|
|
||||||
&& _itUseTime item == 0
|
|
||||||
&& _wpLoadedAmmo item > 0
|
|
||||||
reloadCondition = _wpLoadedAmmo item == 0
|
|
||||||
{- |
|
|
||||||
Applies a world effect after an item use cooldown check. -}
|
|
||||||
useTimeCheck
|
|
||||||
:: (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
useTimeCheck f cr w = case theItem ^? itUseTime of
|
|
||||||
Just 0 -> f cr $ setUseTime w
|
|
||||||
_ -> w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
setUseTime = creatures . ix cid . crInv . ix (_crInvSel cr) . itUseTime +~ useRate
|
|
||||||
theItem = _crInv cr IM.! _crInvSel cr
|
|
||||||
useRate = fromMaybe 0 $ theItem ^? itUseRate
|
|
||||||
{- | Applies a world effect after a hammer position check. -}
|
|
||||||
hammerCheck
|
|
||||||
:: (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
hammerCheck f cr w = case (_crInv cr IM.! _crInvSel cr) ^? itHammer of
|
|
||||||
Just HammerUp -> f cr $ setHammerDown w
|
|
||||||
_ -> setHammerDown w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
setHammerDown = creatures . ix cid . crInv . ix (_crInvSel cr) . itHammer .~ HammerDown
|
|
||||||
{- | Applies a world effect after a hammer position check. -}
|
|
||||||
hammerCheckI
|
|
||||||
:: (Item -> Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Item
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
hammerCheckI f it cr w = case it ^? itHammer of
|
|
||||||
Just HammerUp -> f it cr $ setHammerDown w
|
|
||||||
_ -> setHammerDown w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
setHammerDown = creatures . ix cid . crInv . ix (_crInvSel cr) . itHammer .~ HammerDown
|
|
||||||
{- | Applies a world effect after an ammo check. -}
|
|
||||||
shoot
|
|
||||||
:: (Creature -> World -> World)
|
|
||||||
-- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
shoot f cr w
|
|
||||||
| fireCondition = f cr w & pointerToItem %~
|
|
||||||
( (wpLoadedAmmo -~ 1) . (itUseTime .~ _itUseRate item) )
|
|
||||||
| reloadCondition = fromMaybe w $ startReloadingWeapon cr w
|
|
||||||
| otherwise = w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
itRef = _crInvSel cr
|
|
||||||
item = _crInv cr IM.! itRef
|
|
||||||
pointerToItem = creatures . ix cid . crInv . ix itRef
|
|
||||||
fireCondition = _wpReloadState item == 0
|
|
||||||
&& _itUseTime item == 0
|
|
||||||
&& _wpLoadedAmmo item > 0
|
|
||||||
reloadCondition = _wpLoadedAmmo item == 0
|
|
||||||
{- | Applies a world effect after a hammer position check.
|
|
||||||
Arbitrary inventory position. -}
|
|
||||||
hammerCheckL
|
|
||||||
:: (Creature -> Int -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> Int
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
hammerCheckL f cr invid w = case (_crInv cr IM.! invid) ^? itHammer of
|
|
||||||
Just HammerUp -> f cr invid $ setHammerDown w
|
|
||||||
_ -> setHammerDown w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
setHammerDown = creatures . ix cid . crInv . ix invid . itHammer .~ HammerDown
|
|
||||||
{- | Applies a world effect after an ammo check.
|
|
||||||
Arbitrary inventory position. -}
|
|
||||||
shootL
|
|
||||||
:: (Creature -> Int -> World -> World)
|
|
||||||
-- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> Int -- ^ Inventory position
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
shootL f cr invid w
|
|
||||||
| fireCondition = f cr invid w & pointerToItem %~
|
|
||||||
( (wpLoadedAmmo -~ 1) . (itUseTime .~ _itUseRate item) )
|
|
||||||
| reloadCondition = fromMaybe w $ startReloadingWeapon cr w
|
|
||||||
| otherwise = w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
item = _crInv cr IM.! invid
|
|
||||||
pointerToItem = creatures . ix cid . crInv . ix invid
|
|
||||||
fireCondition = _wpReloadState item == 0
|
|
||||||
&& _itUseTime item == 0
|
|
||||||
&& _wpLoadedAmmo item > 0
|
|
||||||
reloadCondition = _wpLoadedAmmo item == 0
|
|
||||||
|
|
||||||
withMuzFlare
|
|
||||||
:: (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withMuzFlare f cr w = tempLightForAt 3 pos . muzzleFlashAt pos2 $ f cr w
|
|
||||||
where
|
|
||||||
pos = _crPos cr +.+ _crRad cr *.* unitVectorAtAngle (_crDir cr)
|
|
||||||
pos2 = _crPos cr +.+ (2 * _crRad cr) *.* unitVectorAtAngle (_crDir cr)
|
|
||||||
|
|
||||||
withMuzFlareI
|
|
||||||
:: (Item -> Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Item
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withMuzFlareI f it cr w = tempLightForAt 3 pos . muzzleFlashAt pos2 $ f it cr w
|
|
||||||
where
|
|
||||||
pos = _crPos cr +.+ _crRad cr *.* unitVectorAtAngle (_crDir cr)
|
|
||||||
pos2 = _crPos cr +.+ (2 * _crRad cr) *.* unitVectorAtAngle (_crDir cr)
|
|
||||||
{- | Applies the effect to a randomly rotated creature. -}
|
|
||||||
withRandomDir
|
|
||||||
:: Float -- ^ Max possible rotation
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withRandomDir acc f cr w = f (cr & crDir +~ a) $ set randGen g w
|
|
||||||
where
|
|
||||||
(a, g) = randomR (-acc,acc) $ _randGen w
|
|
||||||
{- | Applies the effect to a randomly rotated creature. -}
|
|
||||||
withRandomDirI
|
|
||||||
:: Float -- ^ Max possible rotation
|
|
||||||
-> (Item -> Creature -> World -> World)
|
|
||||||
-- ^ Underlying effect
|
|
||||||
-> Item
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withRandomDirI acc f it cr w = f it (cr & crDir +~ a) $ set randGen g w
|
|
||||||
where
|
|
||||||
(a, g) = randomR (-acc,acc) $ _randGen w
|
|
||||||
{- | Creates a bullet with a given velocity, width, and 'HitEffect' -}
|
|
||||||
withVelWthHiteff
|
|
||||||
:: Point2 -- ^ Velocity, x direction is forward with respect to the creature
|
|
||||||
-> Float -- ^ Bullet width
|
|
||||||
-> HitEffect -- ^ Bullet effect when hitting creature, wall etc
|
|
||||||
-> Creature -- ^ Creature id
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withVelWthHiteff vel width hiteff cr = over particles (newbul : )
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
newbul = aGenBulAt (Just cid) pos (rotateV dir vel) hiteff width
|
|
||||||
dir = _crDir cr
|
|
||||||
pos = _crPos cr +.+ _crRad cr *.* unitVectorAtAngle (_crDir cr)
|
|
||||||
{- | Apply the effect to a translated creature. -}
|
|
||||||
withRandomOffset
|
|
||||||
:: Float -- ^ Max possible translate
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
withRandomOffset offsetAmount f cr w = f (cr & crPos %~ (+.+ offV)) $ set randGen g w
|
|
||||||
where
|
|
||||||
(offsetVal , g) = randomR (-offsetAmount,offsetAmount) $ _randGen w
|
|
||||||
offV = rotateV (_crDir cr) (V2 0 offsetVal)
|
|
||||||
-- | Rotates a creature with minimum rotation at least 0.1.
|
|
||||||
-- Rotates the player creature before applying the effect, other creatures after.
|
|
||||||
torqueBeforeForced
|
|
||||||
:: Float -- ^ Max possible rotation (less the 0.1 forced rotation)
|
|
||||||
-> (Creature -> World -> World)
|
|
||||||
-- ^ Underlying effect
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
torqueBeforeForced torque feff cr w
|
|
||||||
| cid == 0 = feff (cr & crDir +~ rot') $ w
|
|
||||||
& randGen .~ g
|
|
||||||
& creatures . ix cid . crDir +~ rot'
|
|
||||||
& cameraRot +~ rot'
|
|
||||||
| otherwise = feff cr $ set randGen g $ over (creatures . ix cid . crDir) (+rot') w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
(rot, g) = randomR (-torque,torque) $ _randGen w
|
|
||||||
rot' | rot < 0 = rot - 0.1
|
|
||||||
| otherwise = rot + 0.1
|
|
||||||
-- | Rotates the player creature before applying an effect.
|
|
||||||
-- Note this currently (29/4/2021) rotates other creatures /after/ applying the effect.
|
|
||||||
torqueBefore
|
|
||||||
:: Float -- ^ Max possible rotation
|
|
||||||
-> (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature -- ^ Creature id
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
torqueBefore torque feff cr w
|
|
||||||
| cid == 0 = feff (cr & crDir +~ rot) $ w
|
|
||||||
& randGen .~ g
|
|
||||||
& creatures . ix cid . crDir +~ rot
|
|
||||||
& cameraRot +~ rot
|
|
||||||
| otherwise = set randGen g $ over (creatures . ix cid . crDir) (+rot) $ feff cr w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
(rot, g) = randomR (-torque,torque) $ _randGen w
|
|
||||||
-- | Rotate a randomly creature after applying an effect.
|
|
||||||
torqueAfter
|
|
||||||
:: Float -- ^ Max possible rotation
|
|
||||||
-> (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature -- ^ Creature id
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
torqueAfter torque feff cr w
|
|
||||||
| cid == 0 = rotateScope $ set randGen g $ over cameraRot (+rot) $ feff cr w
|
|
||||||
| otherwise = set randGen g $ over (creatures . ix cid . crDir) (+rot) $ feff cr w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
(rot, g) = randomR (-torque,torque) $ _randGen w
|
|
||||||
rotateScope = creatures . ix 0 . crInv . ix (_crInvSel (_creatures w IM.! 0))
|
|
||||||
. itAttachment . _Just . scopePos %~ rotateV rot
|
|
||||||
{- | Create multiple bullets with a given spread, a given amount, given velocity,
|
|
||||||
given width and given 'HitEffect'. -}
|
|
||||||
spreadNumVelWthHiteff
|
|
||||||
:: Float -- ^ Spread
|
|
||||||
-> Int -- ^ Number of bullets
|
|
||||||
-> Point2 -- ^ Velocity, x is direction of creature
|
|
||||||
-> Float -- ^ Bullet width
|
|
||||||
-> HitEffect -- ^ Effect when hitting creature, wall etc
|
|
||||||
-> Creature -- ^ Creature id
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
spreadNumVelWthHiteff spread num vel wth eff cr w = over particles (newbuls ++) w
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
newbuls = zipWith
|
|
||||||
(\pos d -> aGenBulAt (Just cid) pos (rotateV d vel) eff wth)
|
|
||||||
poss dirs
|
|
||||||
poss = map ((+.+) $ _crPos cr +.+ _crRad cr *.* unitVectorAtAngle (_crDir cr))
|
|
||||||
$ (replicateM num . randInCirc) 5 & evalState $ _randGen w
|
|
||||||
dirs = map (_crDir cr +) $ zipWith (+)
|
|
||||||
[-spread,-spread+(2*spread/fromIntegral num)..]
|
|
||||||
(randomRs (0,spread/5) (_randGen w))
|
|
||||||
{- | Create a number of bullets side by side with a given velocity,
|
|
||||||
given width and given 'HitEffect'. -}
|
|
||||||
numVelWthHitEff
|
|
||||||
:: Int -- ^ Amount of bullets
|
|
||||||
-> Point2 -- ^ Velocity, x axis is direction of creature
|
|
||||||
-> Float -- ^ Bullet width
|
|
||||||
-> HitEffect -- ^ Effect when hitting creature, wall etc
|
|
||||||
-> Creature
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
numVelWthHitEff num vel wth eff cr = over particles (newbuls ++)
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
newbuls = map (\p -> aGenBulAt (Just cid) p (rotateV d vel) eff wth) poss
|
|
||||||
d = _crDir cr
|
|
||||||
poss = map (+.+ pos) $ take num offsets
|
|
||||||
maxOffset = fromIntegral num * 2.5 - 2.5
|
|
||||||
offsets = map (rotateV d . V2 0) [-maxOffset,5-maxOffset..]
|
|
||||||
pos = _crPos cr +.+ _crRad cr *.* unitVectorAtAngle d
|
|
||||||
{- | Uses '_wpSpread' as a parameter for the current offset angle. -}
|
|
||||||
randWalkAngle
|
|
||||||
:: Float -- ^ Max offset angle
|
|
||||||
-> Float -- ^ Walk speed
|
|
||||||
-> (Creature -> World -> World) -- ^ Underlying effect
|
|
||||||
-> Creature -- ^ Creature id
|
|
||||||
-> World
|
|
||||||
-> World
|
|
||||||
randWalkAngle ma aspeed f cr w = w
|
|
||||||
& f (cr & crDir +~ a)
|
|
||||||
& creatures . ix cid . crInv . ix i . wpSpread .~ newa
|
|
||||||
where
|
|
||||||
cid = _crID cr
|
|
||||||
a = _wpSpread $ _crInv (_creatures w IM.! cid) IM.! i
|
|
||||||
(walka, _) = randomR (-aspeed,aspeed) (_randGen w)
|
|
||||||
newa = min ma $ max (negate ma) (a + walka)
|
|
||||||
i = _crInvSel $ _creatures w IM.! cid
|
|
||||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,8 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_debug_booleans": [
|
"_debug_booleans": [
|
||||||
"Show_ms_frame",
|
"Show_ms_frame",
|
||||||
"Mouse_position",
|
"Pathing"
|
||||||
"Collision_test"
|
|
||||||
],
|
],
|
||||||
"_debug_view_clip_bounds": "NoRoomClipBoundaries",
|
"_debug_view_clip_bounds": "NoRoomClipBoundaries",
|
||||||
"_gameplay_rotate_to_wall": true,
|
"_gameplay_rotate_to_wall": true,
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
The cortical interface is an incredible interdisciplinary breakthrough
|
||||||
|
in neurophysiology and computer science.
|
||||||
|
It allows clients to directly receive information transmitted wirelessly.
|
||||||
|
We expect this to allow for better, faster learning, allowing
|
||||||
|
humans to reach unheard of levels of knowledge and ability.
|
||||||
|
|
||||||
|
Non-human animal trials did not appear to reduce lifespans significantly.
|
||||||
|
Human trials are now in progress.
|
||||||
|
|
||||||
|
I hate the way the interface just dumps information on you.
|
||||||
|
The way time just seems to stop...
|
||||||
|
makes me feel sick.
|
||||||
|
|
||||||
|
I heard @name downloaded War and Peace,
|
||||||
|
but didn't expect it to be in russian.
|
||||||
|
Took him a week to recover.
|
||||||
|
|
||||||
|
What's the deal with the cortical interface?
|
||||||
|
So, like, what happens if I constantly request info dumps?
|
||||||
|
Does that mean I live forever?
|
||||||
|
|
||||||
|
Temporal distortion is a common side effect when using the cortical interface.
|
||||||
|
Information is processed near instantaneously, causing other
|
||||||
|
external events to appear paused.
|
||||||
|
|
||||||
|
The cortical interface has some neat uses.
|
||||||
|
I set up a timer to remind me of our anniversary.
|
||||||
|
It's great, the AI even suggested the perfect present!
|
||||||
|
|
||||||
|
Mood disorders.
|
||||||
|
|
||||||
|
Anxiety.
|
||||||
|
|
||||||
|
Epilepsy.
|
||||||
|
|
||||||
|
Dizzyness, nauseau, tinitus.
|
||||||
|
|
||||||
|
Autism.
|
||||||
|
|
||||||
|
Schizoprenia.
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Where am I? What year is this? When is this?,Error: Impossible to determine. Cannot resolve with known frame. Presumed outside Earth light cone.
|
||||||
|
What is this place?,Central hub. Corrupted zones have been sealed off.
|
||||||
|
Who am I?,"Error: Unkown referent: “I”. Cannot determine what “I” refers to. Possible partial referent: Biological form generated x miliseconds. Partial list features: torso, four limbs, head w/ partial configuration of scanned data."
|
||||||
|
Who are you?,"Error: Unknown referent: “you”. Terminal connected distributed system, unknown extent."
|
||||||
|
What should I do?,Error: Unknown objective function. Module “Cat.Imperative” missing.
|
||||||
|
Are you an AI?,"Terminal connected to distributed system, unkown extent. Can generate respose to finite queries."
|
||||||
|
How did I get here?,Generated from blueprints and brain scan transmitted in unkown past.
|
||||||
|
Can you heal me?,Full regeneration upon termination in areas external to central hub. WARNING: Cannot regenerate upon termination within central hub.
|
||||||
|
What can you do?,"Item synthesis in terminal (over there), requires blueprint. Transport to defective zones."
|
||||||
|
What are my capabilities?,Err. Basic movement and item acquisition. Items confer new capabilities. WARNING: carry capacity restricted.
|
||||||
|
How do I get more powerful?,Carry capacity restoration possible: acquire module through door to north.
|
||||||
|
What is through that door?,Error: Cannot exhaustively describe location.
|
||||||
|
Can you be less useful?,"Error: No objective function, try “set verbose”. Cannot determine utility of response."
|
||||||
|
What are your capabilities?,Error: Parse “your → you”: Unknown referent “you”.
|
||||||
|
,Error: Parse fail
|
||||||
|
Do you have memory/hard drive?,All events logged with error correction. Future corruption inevitable. Unkown total bits of storage used/available across network.
|
||||||
|
How long have you existed?,System clock: (random number) + game time
|
||||||
|
What seed?,
|
||||||
|
@@ -0,0 +1,9 @@
|
|||||||
|
Something has gone wrong.
|
||||||
|
|
||||||
|
My last memory is entering the reconstitution scanner.
|
||||||
|
Though experimental,
|
||||||
|
this techology theoretically allows for perfect duplication.
|
||||||
|
But there are strict rules, this would only happen if my old body is...
|
||||||
|
non-functional.
|
||||||
|
|
||||||
|
Hopefully I can take better care of this one.
|
||||||
@@ -1,42 +1,42 @@
|
|||||||
X_RANGE 38.37
|
X_RANGE 11.40
|
||||||
Y_RANGE 9447512.00
|
Y_RANGE 20574456.00
|
||||||
ORDER OTHER 1
|
ORDER OTHER 1
|
||||||
ORDER (157697)#..\/#./targetYouWhenCognizant/updateHumanoid/updateCreature/dimap/dimap/_Wrapped'/updateIMl'/fu... 2
|
ORDER (13951)updateEdgeWallObs 2
|
||||||
ORDER (165654)updateCloud.finalPos/updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functi... 3
|
ORDER (14169)updateDisplaySections,updateEdgeWallObs 3
|
||||||
ORDER (165606)updateCloud.finalVel/updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functi... 4
|
ORDER (14505)SYSTEM,updateDisplaySections,doDrawing',colCrsWalls,updateEdgeWallObs 4
|
||||||
ORDER (155261)plLineBlock.makePane/plLineBlock.makeWallAt/plLineBlock.insertBlock/plLineBlock.insertBlocks/plL... 5
|
ORDER (13997)updateEdgeWallObs 5
|
||||||
ORDER (157606)#..\/#./performActions/updateHumanoid/updateCreature/dimap/dimap/_Wrapped'/updateIMl'/functional... 6
|
ORDER (13996)updateEdgeWallObs 6
|
||||||
ORDER (157522)updateHumanoid/updateCreature/dimap/dimap/_Wrapped'/updateIMl'/functionalUpdate/timeFlowUpdate/u... 7
|
ORDER (14223)SYSTEM,updateDisplaySections,updateEdgeWallObs 7
|
||||||
ORDER (144146)ix/crSetRoots/crUpdateItemLocations/scrollAugNextInSection/checkInventorySelectionExists/updateI... 8
|
ORDER (14009)updateEdgeWallObs 8
|
||||||
ORDER (157678)chaseCritAwarenessUpdate/chaseCritPerceptionUpdate/chainCreatureUpdates.unf/chainCreatureUpdates... 9
|
ORDER (14027)updateEdgeWallObs,ix 9
|
||||||
ORDER (159529)updateExpBarrel.applyFuseDamage/updateExpBarrel.newCr/#..\/#./updateExpBarrel/updateBarreloid/up... 10
|
ORDER (13964)SYSTEM,updateEdgeWallObs 10
|
||||||
ORDER (165621)updateCloud.(...)/updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functiona... 11
|
ORDER (13953)updateEdgeWallObs 11
|
||||||
ORDER (181320)#..\/#./crSetRoots.f/ix/crSetRoots/crUpdateItemLocations/scrollAugNextInSection/checkInventorySe... 12
|
ORDER (14086)updateEdgeWallObs,ix 12
|
||||||
ORDER (152512)zonePe.f/zonePe/generateLevelFromRoomList/generateWorldFromSeed/startSeedGameConc/startSeedGame/... 13
|
ORDER (14099)updateEdgeWallObs,ix 13
|
||||||
ORDER (158152)ix/updateInv/foldCr.f/foldCr/crUpdate/defaultImpulsive/updateHumanoid/updateCreature/dimap/dimap... 14
|
ORDER (14085)updateEdgeWallObs,ix 14
|
||||||
ORDER (162804)listSelectionColorPicture.g/listSelectionColorPicture/updateSection.(...)/updateSection/updateSe... 15
|
ORDER (14030)updateEdgeWallObs,ix 15
|
||||||
ORDER (181178)crUpdateInvidLocations/crUpdateItemLocations/scrollAugNextInSection/checkInventorySelectionExist... 16
|
ORDER (14175)SYSTEM,updateDisplaySections,updateEdgeWallObs 16
|
||||||
ORDER (159623)ix/crCrSpring/crSpring/simpleCrSprings/functionalUpdate/timeFlowUpdate/updateUniverseMid/updateU... 17
|
ORDER (2)SYSTEM 17
|
||||||
ORDER (159633)colCrsWalls/functionalUpdate/timeFlowUpdate/updateUniverseMid/updateUniverse/updateRenderSplit/t... 18
|
ORDER (13952)SYSTEM,updateEdgeWallObs 18
|
||||||
ORDER (163282)updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functionalUpdate/timeFlowUp... 19
|
ORDER (13941)updateEdgeWallObs 19
|
||||||
ORDER (157730)ix/updateInv/foldCr.f/foldCr/crUpdate/humanoidAIList/updateHumanoid/updateCreature/dimap/dimap/_... 20
|
ORDER (14018)updateEdgeWallObs,ix 20
|
||||||
SHADE OTHER 0.00
|
SHADE OTHER 0.00
|
||||||
SHADE (157697)#..\/#./targetYouWhenCognizant/updateHumanoid/updateCreature/dimap/dimap/_Wrapped'/updateIMl'/fu... 0.00
|
SHADE (13951)updateEdgeWallObs 0.00
|
||||||
SHADE (165654)updateCloud.finalPos/updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functi... 0.00
|
SHADE (14169)updateDisplaySections,updateEdgeWallObs 0.00
|
||||||
SHADE (165606)updateCloud.finalVel/updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functi... 0.00
|
SHADE (14505)SYSTEM,updateDisplaySections,doDrawing',colCrsWalls,updateEdgeWallObs 0.00
|
||||||
SHADE (155261)plLineBlock.makePane/plLineBlock.makeWallAt/plLineBlock.insertBlock/plLineBlock.insertBlocks/plL... 0.10
|
SHADE (13997)updateEdgeWallObs 0.10
|
||||||
SHADE (157606)#..\/#./performActions/updateHumanoid/updateCreature/dimap/dimap/_Wrapped'/updateIMl'/functional... 0.10
|
SHADE (13996)updateEdgeWallObs 0.10
|
||||||
SHADE (157522)updateHumanoid/updateCreature/dimap/dimap/_Wrapped'/updateIMl'/functionalUpdate/timeFlowUpdate/u... 0.10
|
SHADE (14223)SYSTEM,updateDisplaySections,updateEdgeWallObs 0.10
|
||||||
SHADE (144146)ix/crSetRoots/crUpdateItemLocations/scrollAugNextInSection/checkInventorySelectionExists/updateI... 0.10
|
SHADE (14009)updateEdgeWallObs 0.10
|
||||||
SHADE (157678)chaseCritAwarenessUpdate/chaseCritPerceptionUpdate/chainCreatureUpdates.unf/chainCreatureUpdates... 0.00
|
SHADE (14027)updateEdgeWallObs,ix 0.00
|
||||||
SHADE (159529)updateExpBarrel.applyFuseDamage/updateExpBarrel.newCr/#..\/#./updateExpBarrel/updateBarreloid/up... 0.00
|
SHADE (13964)SYSTEM,updateEdgeWallObs 0.00
|
||||||
SHADE (165621)updateCloud.(...)/updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functiona... 0.00
|
SHADE (13953)updateEdgeWallObs 0.00
|
||||||
SHADE (181320)#..\/#./crSetRoots.f/ix/crSetRoots/crUpdateItemLocations/scrollAugNextInSection/checkInventorySe... 0.00
|
SHADE (14086)updateEdgeWallObs,ix 0.00
|
||||||
SHADE (152512)zonePe.f/zonePe/generateLevelFromRoomList/generateWorldFromSeed/startSeedGameConc/startSeedGame/... 0.05
|
SHADE (14099)updateEdgeWallObs,ix 0.05
|
||||||
SHADE (158152)ix/updateInv/foldCr.f/foldCr/crUpdate/defaultImpulsive/updateHumanoid/updateCreature/dimap/dimap... 0.05
|
SHADE (14085)updateEdgeWallObs,ix 0.05
|
||||||
SHADE (162804)listSelectionColorPicture.g/listSelectionColorPicture/updateSection.(...)/updateSection/updateSe... 0.05
|
SHADE (14030)updateEdgeWallObs,ix 0.05
|
||||||
SHADE (181178)crUpdateInvidLocations/crUpdateItemLocations/scrollAugNextInSection/checkInventorySelectionExist... 0.05
|
SHADE (14175)SYSTEM,updateDisplaySections,updateEdgeWallObs 0.05
|
||||||
SHADE (159623)ix/crCrSpring/crSpring/simpleCrSprings/functionalUpdate/timeFlowUpdate/updateUniverseMid/updateU... 0.10
|
SHADE (2)SYSTEM 0.10
|
||||||
SHADE (159633)colCrsWalls/functionalUpdate/timeFlowUpdate/updateUniverseMid/updateUniverse/updateRenderSplit/t... 0.10
|
SHADE (13952)SYSTEM,updateEdgeWallObs 0.10
|
||||||
SHADE (163282)updateCloud/updateObjCatMaybes.(...)/updateObjCatMaybes/updateClouds/functionalUpdate/timeFlowUp... 0.10
|
SHADE (13941)updateEdgeWallObs 0.10
|
||||||
SHADE (157730)ix/updateInv/foldCr.f/foldCr/crUpdate/humanoidAIList/updateHumanoid/updateCreature/dimap/dimap/_... 0.10
|
SHADE (14018)updateEdgeWallObs,ix 0.10
|
||||||
|
|||||||
@@ -1,281 +0,0 @@
|
|||||||
digraph {
|
|
||||||
graph [rankdir=LR];
|
|
||||||
subgraph 1 {
|
|
||||||
1 [shape=box
|
|
||||||
,label="EQUIP {_ibtEquip = FUELPACK}"];
|
|
||||||
5 [shape=box
|
|
||||||
,label="AMMOMAG {_ibtAmmoMag = TINMAG}"];
|
|
||||||
9 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 1}}"];
|
|
||||||
13 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = PISTOL}"];
|
|
||||||
15 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = AUTOPISTOL}"];
|
|
||||||
17 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = SMG}"];
|
|
||||||
20 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = MACHINEPISTOL}"];
|
|
||||||
22 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BANGCONE}"];
|
|
||||||
25 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BLUNDERBUSS}"];
|
|
||||||
27 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = GRAPECANNON {_xNum = 1}}"];
|
|
||||||
29 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = RIFLE}"];
|
|
||||||
31 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = VOLLEYGUN {_xNum = 3}}"];
|
|
||||||
33 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = AUTORIFLE}"];
|
|
||||||
35 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BURSTRIFLE}"];
|
|
||||||
37 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = MINIGUNX {_xNum = 3}}"];
|
|
||||||
40 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = SNIPERRIFLE}"];
|
|
||||||
41 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = AMR}"];
|
|
||||||
44 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = AUTOAMR}"];
|
|
||||||
46 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = RLAUNCHER}"];
|
|
||||||
49 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = RLAUNCHERX {_xNum = 2}}"];
|
|
||||||
53 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = FLAMESPITTER}"];
|
|
||||||
57 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BLOWTORCH}"];
|
|
||||||
59 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = FLAMETHROWER}"];
|
|
||||||
61 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = FLAMEWALL}"];
|
|
||||||
63 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = FLAMETORRENT}"];
|
|
||||||
65 [shape=box,label=LASER];
|
|
||||||
69 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = SPARKGUN}"];
|
|
||||||
71 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = TESLAGUN}"];
|
|
||||||
73 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BLINKERUNSAFE}"];
|
|
||||||
74 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BLINKER}"];
|
|
||||||
77 [shape=box
|
|
||||||
,label="EQUIP {_ibtEquip = MAGSHIELD MagnetRepulse}"];
|
|
||||||
80 [shape=box
|
|
||||||
,label="EQUIP {_ibtEquip = POWERLEGS}"];
|
|
||||||
86 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = FLATSHIELD}"];
|
|
||||||
96 [shape=box
|
|
||||||
,label="DETECTOR {_ibtDetector = ITEMDETECTOR}"];
|
|
||||||
99 [shape=box
|
|
||||||
,label="DETECTOR {_ibtDetector = WALLDETECTOR}"];
|
|
||||||
101 [shape=box
|
|
||||||
,label="DETECTOR {_ibtDetector = CREATUREDETECTOR}"];
|
|
||||||
103 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = TORCH}"];
|
|
||||||
104 [shape=box
|
|
||||||
,label="AMMOMAG {_ibtAmmoMag = BATTERY}"];
|
|
||||||
107 [shape=box
|
|
||||||
,label="EQUIP {_ibtEquip = HEADLAMP}"];
|
|
||||||
108 [shape=box
|
|
||||||
,label="EQUIP {_ibtEquip = HAT}"];
|
|
||||||
110 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"];
|
|
||||||
}
|
|
||||||
subgraph 2 {
|
|
||||||
0 [shape=point];
|
|
||||||
4 [shape=point];
|
|
||||||
8 [shape=point];
|
|
||||||
12 [shape=point];
|
|
||||||
14 [shape=point];
|
|
||||||
16 [shape=point];
|
|
||||||
19 [shape=point];
|
|
||||||
21 [shape=point];
|
|
||||||
24 [shape=point];
|
|
||||||
26 [shape=point];
|
|
||||||
28 [shape=point];
|
|
||||||
30 [shape=point];
|
|
||||||
32 [shape=point];
|
|
||||||
34 [shape=point];
|
|
||||||
36 [shape=point];
|
|
||||||
39 [shape=point];
|
|
||||||
42 [shape=point];
|
|
||||||
43 [shape=point];
|
|
||||||
45 [shape=point];
|
|
||||||
48 [shape=point];
|
|
||||||
50 [shape=point];
|
|
||||||
52 [shape=point];
|
|
||||||
56 [shape=point];
|
|
||||||
58 [shape=point];
|
|
||||||
60 [shape=point];
|
|
||||||
62 [shape=point];
|
|
||||||
64 [shape=point];
|
|
||||||
68 [shape=point];
|
|
||||||
70 [shape=point];
|
|
||||||
72 [shape=point];
|
|
||||||
76 [shape=point];
|
|
||||||
79 [shape=point];
|
|
||||||
82 [shape=point];
|
|
||||||
83 [shape=point];
|
|
||||||
84 [shape=point];
|
|
||||||
85 [shape=point];
|
|
||||||
87 [shape=point];
|
|
||||||
89 [shape=point];
|
|
||||||
92 [shape=point];
|
|
||||||
95 [shape=point];
|
|
||||||
98 [shape=point];
|
|
||||||
100 [shape=point];
|
|
||||||
102 [shape=point];
|
|
||||||
106 [shape=point];
|
|
||||||
109 [shape=point];
|
|
||||||
111 [shape=point];
|
|
||||||
113 [shape=point];
|
|
||||||
115 [shape=point];
|
|
||||||
117 [shape=point];
|
|
||||||
}
|
|
||||||
0 -> 1 [xlabel="",tailport=e];
|
|
||||||
4 -> 5 [xlabel="",tailport=e];
|
|
||||||
8 -> 9 [xlabel="",tailport=e];
|
|
||||||
9 -> 12 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
9 -> 28 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
9 -> 30 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
9 -> 30 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
9 -> 30 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
9 -> 109 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
9 -> 113 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
9 -> 115 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
12 -> 13 [xlabel="",tailport=e];
|
|
||||||
13 -> 14 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
14 -> 15 [xlabel="",tailport=e];
|
|
||||||
15 -> 16 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
15 -> 19 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
16 -> 17 [xlabel="",tailport=e];
|
|
||||||
19 -> 20 [xlabel="",tailport=e];
|
|
||||||
21 -> 22 [xlabel="",tailport=e];
|
|
||||||
22 -> 24 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
24 -> 25 [xlabel="",tailport=e];
|
|
||||||
25 -> 26 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
26 -> 27 [xlabel="",tailport=e];
|
|
||||||
27 -> 117 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
28 -> 29 [xlabel="",tailport=e];
|
|
||||||
29 -> 32 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
29 -> 34 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
29 -> 42 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
30 -> 31 [xlabel="",tailport=e];
|
|
||||||
31 -> 36 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
31 -> 113 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
32 -> 33 [xlabel="",tailport=e];
|
|
||||||
34 -> 35 [xlabel="",tailport=e];
|
|
||||||
36 -> 37 [xlabel="",tailport=e];
|
|
||||||
37 -> 115 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
39 -> 40 [xlabel="",tailport=e];
|
|
||||||
41 -> 39 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
41 -> 43 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
42 -> 41 [xlabel="",tailport=e];
|
|
||||||
43 -> 44 [xlabel="",tailport=e];
|
|
||||||
45 -> 46 [xlabel="",tailport=e];
|
|
||||||
46 -> 48 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
48 -> 49 [xlabel="",tailport=e];
|
|
||||||
49 -> 50 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
52 -> 53 [xlabel="",tailport=e];
|
|
||||||
53 -> 56 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
53 -> 58 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
56 -> 57 [xlabel="",tailport=e];
|
|
||||||
58 -> 59 [xlabel="",tailport=e];
|
|
||||||
59 -> 60 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
59 -> 62 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
60 -> 61 [xlabel="",tailport=e];
|
|
||||||
62 -> 63 [xlabel="",tailport=e];
|
|
||||||
64 -> 65 [xlabel="",tailport=e];
|
|
||||||
68 -> 69 [xlabel="",tailport=e];
|
|
||||||
69 -> 70 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
70 -> 71 [xlabel="",tailport=e];
|
|
||||||
72 -> 73 [xlabel="",tailport=e];
|
|
||||||
74 -> 72 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
76 -> 77 [xlabel="",tailport=e];
|
|
||||||
79 -> 80 [xlabel="",tailport=e];
|
|
||||||
85 -> 86 [xlabel="",tailport=e];
|
|
||||||
95 -> 96 [xlabel="",tailport=e];
|
|
||||||
98 -> 99 [xlabel="",tailport=e];
|
|
||||||
100 -> 101 [xlabel=""
|
|
||||||
,tailport=e];
|
|
||||||
102 -> 103 [xlabel=""
|
|
||||||
,tailport=e];
|
|
||||||
103 -> 106 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
104 -> 102 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
106 -> 107 [xlabel=""
|
|
||||||
,tailport=e];
|
|
||||||
108 -> 106 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
109 -> 110 [xlabel=""
|
|
||||||
,tailport=e];
|
|
||||||
110 -> 111 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
}
|
|
||||||
@@ -1,145 +0,0 @@
|
|||||||
Seed: 7114951007332849727Layout with room names:
|
|
||||||
rezBox-0
|
|
||||||
|
|
|
||||||
autoDoor-1
|
|
||||||
|
|
|
||||||
rectPillars-2
|
|
||||||
|
|
|
||||||
autoDoor-3
|
|
||||||
|
|
|
||||||
Corridor-4
|
|
||||||
|
|
|
||||||
autoDoor-5
|
|
||||||
|
|
|
||||||
ElecautoRect-6
|
|
||||||
|
|
|
||||||
+- triggerDoorRoom-7
|
|
||||||
| |
|
|
||||||
| autoDoor-8
|
|
||||||
| |
|
|
||||||
| autoDoor-9
|
|
||||||
| |
|
|
||||||
| Corridor-10
|
|
||||||
| |
|
|
||||||
| autoDoor-11
|
|
||||||
| |
|
|
||||||
| 8gon-12
|
|
||||||
| |
|
|
||||||
| triggerDoorRoom-13
|
|
||||||
| |
|
|
||||||
| autoDoor-14
|
|
||||||
| |
|
|
||||||
| autoDoor-15
|
|
||||||
| |
|
|
||||||
| Corridor-16
|
|
||||||
| |
|
|
||||||
| autoRect-17
|
|
||||||
| |
|
|
||||||
| autoDoor-18
|
|
||||||
| |
|
|
||||||
| Corridor-19
|
|
||||||
| |
|
|
||||||
| autoDoor-20
|
|
||||||
| |
|
|
||||||
| 6gon-21
|
|
||||||
| |
|
|
||||||
| +- triggerDoorRoom-22
|
|
||||||
| | |
|
|
||||||
| | autoDoor-23
|
|
||||||
| | |
|
|
||||||
| | autoDoor-24
|
|
||||||
| | |
|
|
||||||
| | Corridor-25
|
|
||||||
| | |
|
|
||||||
| | autoDoor-26
|
|
||||||
| | |
|
|
||||||
| | warningTerm-8gon-27
|
|
||||||
| | |
|
|
||||||
| | triggerDoorRoom-28
|
|
||||||
| | |
|
|
||||||
| | autoDoor-29
|
|
||||||
| | |
|
|
||||||
| | autoDoor-30
|
|
||||||
| | |
|
|
||||||
| | Corridor-31
|
|
||||||
| | |
|
|
||||||
| | autoRect-32
|
|
||||||
| | |
|
|
||||||
| | autoDoor-33
|
|
||||||
| | |
|
|
||||||
| | Corridor-34
|
|
||||||
| | |
|
|
||||||
| | autoDoor-35
|
|
||||||
| | |
|
|
||||||
| | Corridor-36
|
|
||||||
| | |
|
|
||||||
| | 8gon-37
|
|
||||||
| | |
|
|
||||||
| | triggerDoorRoom-38
|
|
||||||
| | |
|
|
||||||
| | autoDoor-39
|
|
||||||
| | |
|
|
||||||
| | autoDoor-40
|
|
||||||
| | |
|
|
||||||
| | Corridor-41
|
|
||||||
| | |
|
|
||||||
| | tanksRoom-42
|
|
||||||
| | |
|
|
||||||
| | autoDoor-43
|
|
||||||
| | |
|
|
||||||
| | Corridor-44
|
|
||||||
| | |
|
|
||||||
| | autoDoor-45
|
|
||||||
| | |
|
|
||||||
| | rect-46
|
|
||||||
| | |
|
|
||||||
| | +- autoDoor-47
|
|
||||||
| | | |
|
|
||||||
| | | autoDoor-48
|
|
||||||
| | | |
|
|
||||||
| | | Corridor-49
|
|
||||||
| | | |
|
|
||||||
| | | autoRect-50
|
|
||||||
| | | |
|
|
||||||
| | | defaultRoom-51
|
|
||||||
| | | |
|
|
||||||
| | | autoRect-52
|
|
||||||
| | | |
|
|
||||||
| | | defaultRoom-53
|
|
||||||
| | | |
|
|
||||||
| | | autoRect-54
|
|
||||||
| | | |
|
|
||||||
| | | autoDoor-55
|
|
||||||
| | | |
|
|
||||||
| | | Corridor-56
|
|
||||||
| | | |
|
|
||||||
| | | autoDoor-57
|
|
||||||
| | | |
|
|
||||||
| | | 8gon-58
|
|
||||||
| | | |
|
|
||||||
| | | triggerDoorRoom-59
|
|
||||||
| | | |
|
|
||||||
| | | autoDoor-60
|
|
||||||
| | | |
|
|
||||||
| | | autoDoor-61
|
|
||||||
| | | |
|
|
||||||
| | | Corridor-62
|
|
||||||
| | | |
|
|
||||||
| | | defaultRoom-63
|
|
||||||
| | |
|
|
||||||
| | Corridor-64
|
|
||||||
| | |
|
|
||||||
| | autoDoor-65
|
|
||||||
| |
|
|
||||||
| autoDoor-66
|
|
||||||
| |
|
|
||||||
| Corridor-67
|
|
||||||
| |
|
|
||||||
| autoRect-68
|
|
||||||
|
|
|
||||||
autoDoor-69
|
|
||||||
|
|
|
||||||
Corridor-70
|
|
||||||
|
|
|
||||||
autoRect-71
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
Generating level with seed 7114951007332849727
|
|
||||||
|
|
||||||
After 1 attempt(s), Successful generation of level with seed 7114951007332849727
|
|
||||||
72 rooms in total
|
|
||||||
@@ -1,267 +0,0 @@
|
|||||||
Seed: 7114951007332849727
|
|
||||||
0:startThenWeaponRoom
|
|
||||||
|
|
|
||||||
1:corDoor
|
|
||||||
|
|
|
||||||
2:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
|
|
||||||
|
|
|
||||||
3:corDoor
|
|
||||||
|
|
|
||||||
4:lasSensorTurretTest
|
|
||||||
|
|
|
||||||
5:corDoor
|
|
||||||
|
|
|
||||||
6:SingleRoom
|
|
||||||
|
|
|
||||||
7:corDoor
|
|
||||||
|
|
|
||||||
8:PassthroughLockKeyLists-HELD {_ibtHeld = KEYCARD 0}
|
|
||||||
|
|
|
||||||
9:corDoor
|
|
||||||
|
|
|
||||||
10:warningRooms
|
|
||||||
|
|
|
||||||
11:corDoor
|
|
||||||
|
|
|
||||||
12:chaseCrit+armourChaseCrit rectRoom
|
|
||||||
|
|
|
||||||
13:corDoor
|
|
||||||
|
|
|
||||||
14:healthTest
|
|
||||||
|
|
|
||||||
15:corDoor
|
|
||||||
|
|
|
||||||
16:empty tanksRoom
|
|
||||||
|
|
|
||||||
17:corDoor
|
|
||||||
|
|
|
||||||
18:PassthroughLockKeyLists-HELD {_ibtHeld = SNIPERRIFLE}
|
|
||||||
|
|
|
||||||
19:corDoor
|
|
||||||
|
|
|
||||||
20:shootingRange
|
|
||||||
|
|
|
||||||
21:corDoor
|
|
||||||
|
|
|
||||||
22:lasSensorTurretTest
|
|
||||||
|
|
|
||||||
23:corDoor
|
|
||||||
|
|
|
||||||
24:randomFourCornerRoom
|
|
||||||
|
|
||||||
0:0:startThenWeaponRoom
|
|
||||||
|
|
|
||||||
0:1:weaponBetweenPillars_BANGSTICK4
|
|
||||||
|
|
||||||
0:0:0:rezBox'
|
|
||||||
|
|
||||||
0:0:0:0:rezBox
|
|
||||||
|
|
|
||||||
0:0:0:1:autoDoor
|
|
||||||
|
|
||||||
0:1:0:rectPillars
|
|
||||||
|
|
||||||
1:0:corDoor
|
|
||||||
|
|
||||||
1:0:0:autoDoor
|
|
||||||
|
|
|
||||||
1:0:1:Corridor
|
|
||||||
|
|
||||||
2:0:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
|
|
||||||
|
|
||||||
2:0:0:RassThroughLockKeyLists
|
|
||||||
|
|
|
||||||
2:0:1:roomsContaining chaseCritchaseCritTRANSFORMERCANCAN
|
|
||||||
|
|
||||||
2:0:0:0:sensorRoomRunPast
|
|
||||||
|
|
||||||
2:0:0:0:0:autoDoor
|
|
||||||
|
|
|
||||||
2:0:0:0:1:ElecautoRect
|
|
||||||
|
|
|
||||||
+- 2:0:0:0:2:triggerDoorRoom
|
|
||||||
| |
|
|
||||||
| 2:0:0:0:3:autoDoor
|
|
||||||
|
|
|
||||||
2:0:0:0:4:autoDoor
|
|
||||||
|
|
|
||||||
2:0:0:0:5:Corridor
|
|
||||||
|
|
||||||
2:0:1:0:autoRect
|
|
||||||
|
|
||||||
3:0:corDoor
|
|
||||||
|
|
||||||
3:0:0:autoDoor
|
|
||||||
|
|
|
||||||
3:0:1:Corridor
|
|
||||||
|
|
||||||
4:0:lasSensorTurretTest
|
|
||||||
|
|
||||||
4:0:0:autoDoor
|
|
||||||
|
|
|
||||||
4:0:1:8gon
|
|
||||||
|
|
|
||||||
4:0:2:triggerDoorRoom
|
|
||||||
|
|
|
||||||
4:0:3:autoDoor
|
|
||||||
|
|
||||||
5:0:corDoor
|
|
||||||
|
|
||||||
5:0:0:autoDoor
|
|
||||||
|
|
|
||||||
5:0:1:Corridor
|
|
||||||
|
|
||||||
6:0:SingleRoom
|
|
||||||
|
|
||||||
6:0:0:autoRect
|
|
||||||
|
|
||||||
7:0:corDoor
|
|
||||||
|
|
||||||
7:0:0:autoDoor
|
|
||||||
|
|
|
||||||
7:0:1:Corridor
|
|
||||||
|
|
||||||
8:0:PassthroughLockKeyLists-HELD {_ibtHeld = KEYCARD 0}
|
|
||||||
|
|
||||||
8:0:0:RassThroughLockKeyLists
|
|
||||||
|
|
|
||||||
8:0:1:roomsContaining chaseCritchaseCritchaseCritKEYCARD 0
|
|
||||||
|
|
||||||
8:0:0:0:keyCardRoomRunPast
|
|
||||||
|
|
||||||
8:0:0:0:0:autoDoor
|
|
||||||
|
|
|
||||||
8:0:0:0:1:6gon
|
|
||||||
|
|
|
||||||
+- 8:0:0:0:2:triggerDoorRoom
|
|
||||||
| |
|
|
||||||
| 8:0:0:0:3:autoDoor
|
|
||||||
|
|
|
||||||
8:0:0:0:4:autoDoor
|
|
||||||
|
|
|
||||||
8:0:0:0:5:Corridor
|
|
||||||
|
|
||||||
8:0:1:0:autoRect
|
|
||||||
|
|
||||||
9:0:corDoor
|
|
||||||
|
|
||||||
9:0:0:autoDoor
|
|
||||||
|
|
|
||||||
9:0:1:Corridor
|
|
||||||
|
|
||||||
10:0:warningRooms
|
|
||||||
|
|
||||||
10:0:0:autoDoor
|
|
||||||
|
|
|
||||||
10:0:1:warningTerm-8gon
|
|
||||||
|
|
|
||||||
10:0:2:triggerDoorRoom
|
|
||||||
|
|
|
||||||
10:0:3:autoDoor
|
|
||||||
|
|
||||||
11:0:corDoor
|
|
||||||
|
|
||||||
11:0:0:autoDoor
|
|
||||||
|
|
|
||||||
11:0:1:Corridor
|
|
||||||
|
|
||||||
12:0:chaseCrit+armourChaseCrit rectRoom
|
|
||||||
|
|
||||||
12:0:0:autoRect
|
|
||||||
|
|
||||||
13:0:corDoor
|
|
||||||
|
|
||||||
13:0:0:autoDoor
|
|
||||||
|
|
|
||||||
13:0:1:Corridor
|
|
||||||
|
|
||||||
14:0:healthTest
|
|
||||||
|
|
||||||
14:0:0:autoDoor
|
|
||||||
|
|
|
||||||
14:0:1:Corridor
|
|
||||||
|
|
|
||||||
14:0:2:8gon
|
|
||||||
|
|
|
||||||
14:0:3:triggerDoorRoom
|
|
||||||
|
|
|
||||||
14:0:4:autoDoor
|
|
||||||
|
|
||||||
15:0:corDoor
|
|
||||||
|
|
||||||
15:0:0:autoDoor
|
|
||||||
|
|
|
||||||
15:0:1:Corridor
|
|
||||||
|
|
||||||
16:0:empty tanksRoom
|
|
||||||
|
|
||||||
16:0:0:tanksRoom
|
|
||||||
|
|
||||||
17:0:corDoor
|
|
||||||
|
|
||||||
17:0:0:autoDoor
|
|
||||||
|
|
|
||||||
17:0:1:Corridor
|
|
||||||
|
|
||||||
18:0:PassthroughLockKeyLists-HELD {_ibtHeld = SNIPERRIFLE}
|
|
||||||
|
|
||||||
18:0:0:RassThroughLockKeyLists
|
|
||||||
|
|
|
||||||
18:0:1:roomsContaining chaseCritchaseCritSNIPERRIFLE
|
|
||||||
|
|
||||||
18:0:0:0:longRoomRunPast
|
|
||||||
|
|
||||||
18:0:0:0:0:autoDoor
|
|
||||||
|
|
|
||||||
18:0:0:0:1:rect
|
|
||||||
|
|
|
||||||
+- 18:0:0:0:2:autoDoor
|
|
||||||
|
|
|
||||||
18:0:0:0:3:Corridor
|
|
||||||
|
|
|
||||||
18:0:0:0:4:autoDoor
|
|
||||||
|
|
||||||
18:0:1:0:rectPillars
|
|
||||||
|
|
||||||
19:0:corDoor
|
|
||||||
|
|
||||||
19:0:0:autoDoor
|
|
||||||
|
|
|
||||||
19:0:1:Corridor
|
|
||||||
|
|
||||||
20:0:shootingRange
|
|
||||||
|
|
||||||
20:0:0:autoRect
|
|
||||||
|
|
|
||||||
20:0:1:defaultRoom
|
|
||||||
|
|
|
||||||
20:0:2:autoRect
|
|
||||||
|
|
|
||||||
20:0:3:defaultRoom
|
|
||||||
|
|
|
||||||
20:0:4:autoRect
|
|
||||||
|
|
||||||
21:0:corDoor
|
|
||||||
|
|
||||||
21:0:0:autoDoor
|
|
||||||
|
|
|
||||||
21:0:1:Corridor
|
|
||||||
|
|
||||||
22:0:lasSensorTurretTest
|
|
||||||
|
|
||||||
22:0:0:autoDoor
|
|
||||||
|
|
|
||||||
22:0:1:8gon
|
|
||||||
|
|
|
||||||
22:0:2:triggerDoorRoom
|
|
||||||
|
|
|
||||||
22:0:3:autoDoor
|
|
||||||
|
|
||||||
23:0:corDoor
|
|
||||||
|
|
||||||
23:0:0:autoDoor
|
|
||||||
|
|
|
||||||
23:0:1:Corridor
|
|
||||||
|
|
||||||
24:0:defaultRoom
|
|
||||||
|
|
||||||
@@ -6,9 +6,9 @@ author: "Author name here"
|
|||||||
maintainer: "example@example.com"
|
maintainer: "example@example.com"
|
||||||
copyright: "2021 Author name here"
|
copyright: "2021 Author name here"
|
||||||
|
|
||||||
extra-source-files:
|
# extra-source-files:
|
||||||
- README.md
|
# - README.md
|
||||||
- ChangeLog.md
|
# - ChangeLog.md
|
||||||
|
|
||||||
# Metadata used when publishing your package
|
# Metadata used when publishing your package
|
||||||
# synopsis: A basic game loop
|
# synopsis: A basic game loop
|
||||||
@@ -25,16 +25,16 @@ dependencies:
|
|||||||
- aeson-pretty
|
- aeson-pretty
|
||||||
- containers
|
- containers
|
||||||
- deepseq
|
- deepseq
|
||||||
- dlist
|
#- dlist
|
||||||
- directory
|
- directory
|
||||||
- extra
|
- extra
|
||||||
- foldl
|
- foldl
|
||||||
- graphviz
|
#- graphviz
|
||||||
- OpenGLRaw
|
- OpenGLRaw
|
||||||
- text
|
- text
|
||||||
- bytestring
|
- bytestring
|
||||||
- lens
|
- lens
|
||||||
- mtl
|
#- mtl
|
||||||
- fgl
|
- fgl
|
||||||
- JuicyPixels
|
- JuicyPixels
|
||||||
- random
|
- random
|
||||||
@@ -50,11 +50,12 @@ dependencies:
|
|||||||
- primitive
|
- primitive
|
||||||
- monad-parallel
|
- monad-parallel
|
||||||
- parallel
|
- parallel
|
||||||
- Clipboard
|
|
||||||
- tasty
|
- tasty
|
||||||
- tasty-hunit
|
- tasty-hunit
|
||||||
- tasty-quickcheck
|
- tasty-quickcheck
|
||||||
- list-tries
|
- list-tries
|
||||||
|
- Hclip
|
||||||
|
- search-algorithms
|
||||||
|
|
||||||
library:
|
library:
|
||||||
source-dirs: src
|
source-dirs: src
|
||||||
@@ -80,7 +81,7 @@ executables:
|
|||||||
- -fno-state-hack
|
- -fno-state-hack
|
||||||
- -funfolding-use-threshold1000
|
- -funfolding-use-threshold1000
|
||||||
#- -funfolding-keeness-factor1000
|
#- -funfolding-keeness-factor1000
|
||||||
- -fllvm
|
# - -fllvm
|
||||||
- -optlo-O3
|
- -optlo-O3
|
||||||
- -Wall
|
- -Wall
|
||||||
#- -Wcompat
|
#- -Wcompat
|
||||||
@@ -120,7 +121,7 @@ benchmarks:
|
|||||||
- -fno-state-hack
|
- -fno-state-hack
|
||||||
- -funfolding-use-threshold1000
|
- -funfolding-use-threshold1000
|
||||||
# - -funfolding-keeness-factor1000
|
# - -funfolding-keeness-factor1000
|
||||||
- -fllvm
|
# - -fllvm
|
||||||
#- -optlo-O3
|
#- -optlo-O3
|
||||||
main: Bench.hs
|
main: Bench.hs
|
||||||
source-dirs: bench
|
source-dirs: bench
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
7114951007332849727
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#version 450 core
|
||||||
|
struct PosTex { vec4 pospos; vec4 texang; };
|
||||||
|
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||||
|
layout (std430, binding = 2) readonly buffer Pos { PosTex data[]; };
|
||||||
|
int indices[6] = {0,1,3,0,3,2};
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 pp = data[gl_VertexID / 6].pospos;
|
||||||
|
int j = indices[gl_VertexID % 6];
|
||||||
|
float z = (j / 2 > 0.5 ? 5000 : 100);
|
||||||
|
vec2 xy = (j % 2 > 0 ? pp.xy : pp.zw);
|
||||||
|
gl_Position = theMat * vec4(xy,z,1);
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#version 450 core
|
||||||
|
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||||
|
layout (std430, binding = 7) readonly buffer Pos { vec2 pos[]; };
|
||||||
|
void main() {
|
||||||
|
gl_Position = theMat * vec4(pos[gl_VertexID],0,1);
|
||||||
|
}
|
||||||
@@ -1,27 +1,18 @@
|
|||||||
#version 450 core
|
#version 450 core
|
||||||
in vec4 vPosID;
|
in vec4 vPosID;
|
||||||
in vec4 vCol;
|
in vec4 vCol;
|
||||||
in vec4 vCenterSize;
|
|
||||||
in vec4 vControls;
|
in vec4 vControls;
|
||||||
layout (location=0) out vec4 fCol;
|
layout (location=0) out vec4 fCol;
|
||||||
layout (location=1) out vec4 fPos;
|
layout (location=1) out vec4 fPos;
|
||||||
layout (location=2) out vec4 fNorm;
|
layout (location=2) out vec4 fNorm;
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
// there are quite a few intricate controls concerning the normals
|
|
||||||
// we want normals to be bigger towards the center, so that when two clouds
|
|
||||||
// are blended central normals predominate
|
|
||||||
// similarly, we want normals to be bigger the further up the cloud is
|
|
||||||
// finally, we want normals to allow for shadows at the edge of a cloud
|
|
||||||
// when a light is direcly above the cloud
|
|
||||||
float d = dot(vControls,vControls);
|
float d = dot(vControls,vControls);
|
||||||
if (d > 1) {discard;}
|
if (d > 1) {discard;}
|
||||||
//fCol = vCol;
|
|
||||||
fCol = vec4(vCol.xyz,vCol.w*(1-d));
|
fCol = vec4(vCol.xyz,vCol.w*(1-d));
|
||||||
//float rad = vCenterSize.w*0.5;
|
fPos = vec4(vPosID.xyz, vCol.w*(1-d));
|
||||||
float rad = vCenterSize.w;
|
//fPos = vec4(vPosID.xy,vPosID.z*0.5, vCol.w*(1-d));
|
||||||
float h = (1-d) * rad;
|
fNorm = vec4(-vControls.xy, -0.1 + 0.2 * d ,fPos.w);
|
||||||
fPos = vec4(vPosID.xy, vPosID.z + h, vCol.w*(1-d));
|
//fNorm = vec4(-vControls.xy, -0.1 + 2 * d ,vCol.w * (1.01-(d*d*d)));
|
||||||
vec3 fn1 = fPos.z*normalize(vec3(vCenterSize.xyz - fPos.xyz));
|
//fNorm = vec4(-vControls.xy, -0.1 + d , fPos.w);
|
||||||
fNorm = vec4(fn1,fPos.w);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,15 @@
|
|||||||
#version 450 core
|
#version 450 core
|
||||||
layout (location = 0) in vec4 posID;
|
layout (location = 0) in vec4 posID;
|
||||||
layout (location = 1) in vec4 col;
|
layout (location = 1) in vec4 col;
|
||||||
layout (location = 2) in vec4 centerSize;
|
layout (location = 2) in vec4 controls;
|
||||||
layout (location = 3) in vec4 controls;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||||
out vec4 vPosID;
|
out vec4 vPosID;
|
||||||
out vec4 vCol;
|
out vec4 vCol;
|
||||||
out vec4 vCenterSize;
|
|
||||||
out vec4 vControls;
|
out vec4 vControls;
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
gl_Position = theMat * vec4(posID.xyz,1);
|
gl_Position = theMat * vec4(posID.xyz,1);
|
||||||
vPosID = posID;
|
vPosID = posID;
|
||||||
vCol = col;
|
vCol = col;
|
||||||
vCenterSize = centerSize;
|
|
||||||
vControls = controls;
|
vControls = controls;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location = 0) in vec3 pos;
|
|
||||||
layout (location = 1) in vec4 col;
|
|
||||||
layout (location = 2) in vec3 boxXboxYwidth;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
out vec4 vCol;
|
|
||||||
out vec3 vPos;
|
|
||||||
out vec3 vparams;
|
|
||||||
void main() {
|
|
||||||
gl_Position = theMat * vec4(pos,1);
|
|
||||||
vCol = col;
|
|
||||||
vparams = boxXboxYwidth;
|
|
||||||
vPos = pos;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location = 0) in vec3 pos;
|
|
||||||
layout (location = 1) in vec4 col;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
out vec4 vCol;
|
|
||||||
out vec3 vPos;
|
|
||||||
void main() {
|
|
||||||
gl_Position = theMat * vec4(pos,1);
|
|
||||||
vCol = col;
|
|
||||||
vPos = pos;
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location=0) out vec4 fCol;
|
|
||||||
layout (location=1) out vec4 fPos;
|
|
||||||
in vec4 vCol;
|
|
||||||
in vec3 vPos;
|
|
||||||
void main() {
|
|
||||||
fCol = vCol;
|
|
||||||
fPos = vec4(vPos,1) ;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location = 0) in vec4 position;
|
|
||||||
layout (location = 1) in vec4 color;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
out vec4 vCol;
|
|
||||||
out vec3 vPos;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec4 posxy = theMat * vec4(position.xyz,1);
|
|
||||||
vec4 posz = theMat * vec4(position.xyw,1);
|
|
||||||
gl_Position = vec4(posxy.xy,posz.z,1);
|
|
||||||
vCol = color;
|
|
||||||
vPos = position.xyz;
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
in vec4 vColor;
|
|
||||||
in vec2 boxOut;
|
|
||||||
in vec2 boxIn;
|
|
||||||
|
|
||||||
layout (location=0) out vec4 fCol;
|
|
||||||
layout (location=1) out vec4 fPos;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
//float d = x - y - 1 + 2* sqrt(y);
|
|
||||||
float d = sqrt(boxOut.x) + sqrt(boxOut.y) - 1.0;
|
|
||||||
// float e = sqrt(f(x,wStart)) + sqrt(f(y,wEnd)) - 1.0;
|
|
||||||
float e = sqrt(boxIn.x) + sqrt(boxIn.y) - 1.0;
|
|
||||||
if ( d < 0 || e > 0) { discard; }
|
|
||||||
fCol = vColor;
|
|
||||||
fPos = vec4(0,0,0,0) ;
|
|
||||||
}
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (triangles) in;
|
|
||||||
layout (triangle_strip, max_vertices = 5) out;
|
|
||||||
in vec4 vColor[];
|
|
||||||
in vec2 vPosOff[];
|
|
||||||
in float vRadMag[];
|
|
||||||
out vec4 gColor;
|
|
||||||
out float wStart;
|
|
||||||
out float wEnd;
|
|
||||||
out vec3 gBoundingBox;
|
|
||||||
|
|
||||||
out vec2 box2 ;
|
|
||||||
|
|
||||||
vec2 normV2 (vec2 v)
|
|
||||||
{ return vec2(-v.y,v.x) ;
|
|
||||||
}
|
|
||||||
float lhs (vec2 da, vec2 db)
|
|
||||||
{ return sign(dot(da, normV2(db))) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
float extrapolate (vec2 inOne, vec2 inZeroA, vec2 inZeroB, vec2 xy)
|
|
||||||
{
|
|
||||||
float det = inOne.x * (inZeroA.y - inZeroB.y)
|
|
||||||
+ inZeroA.x * (inZeroB.y - inOne.y)
|
|
||||||
+ inZeroB.x * (inOne.y - inZeroA.y)
|
|
||||||
;
|
|
||||||
float r = (inZeroA.y - inZeroB.y) ;
|
|
||||||
float s = (inZeroB.x - inZeroA.x) ;
|
|
||||||
float t = (inZeroA.x * inZeroB.y - inZeroB.x * inZeroA.y) ;
|
|
||||||
return r * xy.x + s * xy.y + t
|
|
||||||
/ det ;
|
|
||||||
}
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec3 pa = gl_in[0].gl_Position.xyz;
|
|
||||||
vec3 pb = gl_in[1].gl_Position.xyz;
|
|
||||||
vec3 pc = gl_in[2].gl_Position.xyz;
|
|
||||||
|
|
||||||
wStart = vRadMag [0];
|
|
||||||
wEnd = vRadMag [2];
|
|
||||||
|
|
||||||
box2 = vec2 (1,0);
|
|
||||||
gBoundingBox = vec3 (0.9,0.1,0);
|
|
||||||
gColor = vColor[0];
|
|
||||||
gl_Position = vec4 (vPosOff[0] , pa.z , 1);
|
|
||||||
EmitVertex();
|
|
||||||
box2 = vec2 (0,1);
|
|
||||||
gBoundingBox = vec3 (0.1,0.9,0);
|
|
||||||
gColor = vColor[2];
|
|
||||||
gl_Position = vec4 (vPosOff[2] , pc.z , 1);
|
|
||||||
EmitVertex();
|
|
||||||
box2 = vec2( extrapolate(vPosOff[0],vPosOff[2],pb.xy,pa.xy)
|
|
||||||
, extrapolate(vPosOff[2],vPosOff[0],pb.xy,pa.xy)
|
|
||||||
) ;
|
|
||||||
box2 = vec2(0.2,0);
|
|
||||||
gBoundingBox = vec3 (1,0,1);
|
|
||||||
gColor = vColor[0];
|
|
||||||
gl_Position = vec4 (pa, 1);
|
|
||||||
EmitVertex();
|
|
||||||
box2 = vec2( extrapolate(vPosOff[0],vPosOff[2],pb.xy,pc.xy)
|
|
||||||
, extrapolate(vPosOff[2],vPosOff[0],pb.xy,pc.xy)
|
|
||||||
) ;
|
|
||||||
box2 = vec2(0,0.2);
|
|
||||||
gBoundingBox = vec3 (0,1,1);
|
|
||||||
gColor = vColor[2];
|
|
||||||
gl_Position = vec4 (pc, 1);
|
|
||||||
EmitVertex();
|
|
||||||
box2 = vec2( 0,0 ) ;
|
|
||||||
gBoundingBox = vec3 (0,0,0);
|
|
||||||
gColor = vColor[1];
|
|
||||||
gl_Position = vec4 (pb, 1);
|
|
||||||
EmitVertex();
|
|
||||||
|
|
||||||
EndPrimitive();
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location = 0) in vec3 position;
|
|
||||||
layout (location = 1) in vec4 color;
|
|
||||||
layout (location = 2) in vec4 boxes;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
out vec4 vColor;
|
|
||||||
out vec2 boxOut;
|
|
||||||
out vec2 boxIn;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
gl_Position = theMat * vec4(position.xyz,1);
|
|
||||||
vColor = color;
|
|
||||||
boxOut = boxes.xy ;
|
|
||||||
boxIn = boxes.zw ;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location=0) out vec4 fCol;
|
|
||||||
layout (location=1) out vec4 fPos;
|
|
||||||
uniform sampler2D aTexture;
|
|
||||||
in vec4 gColor;
|
|
||||||
in vec2 gTexCoord;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
fCol = texture(aTexture, vec2 (gTexCoord.x * 0.0078125, gTexCoord.y)) * gColor;
|
|
||||||
fPos = vec4(0,0,0,0);
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (points) in;
|
|
||||||
layout (triangle_strip, max_vertices = 4) out;
|
|
||||||
in vec4 vColor [];
|
|
||||||
in vec3 vTexCoord [];
|
|
||||||
out vec4 gColor;
|
|
||||||
out vec2 gTex;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec3 cenPos = gl_in[0].gl_Position.xyz;
|
|
||||||
float sizex = vTexCoord[0].y;
|
|
||||||
float sizey = vTexCoord[0].z;
|
|
||||||
//float size = 0.05;
|
|
||||||
gColor = vColor[0];
|
|
||||||
float texPos = vTexCoord[0].x;
|
|
||||||
|
|
||||||
gl_Position = vec4 (cenPos.x - sizex*0.5, cenPos.y - sizey*0.5, cenPos.z , 1);
|
|
||||||
//gl_Position = vec4 (0, 0 , 5 , 1);
|
|
||||||
gTex = vec2 (texPos*0.0078125, 1);
|
|
||||||
EmitVertex();
|
|
||||||
gl_Position = vec4 (cenPos.x - sizex*0.5, cenPos.y + sizey*0.5, cenPos.z , 1);
|
|
||||||
//gl_Position = vec4 (0, 0.5 , 5 , 1);
|
|
||||||
gTex = vec2 (texPos*0.0078125, 0);
|
|
||||||
EmitVertex();
|
|
||||||
gl_Position = vec4 (cenPos.x + sizex*0.5, cenPos.y - sizey*0.5, cenPos.z , 1);
|
|
||||||
//gl_Position = vec4 (0.5, 0.5 , -5 , 1);
|
|
||||||
gTex = vec2 ((texPos+1)*0.0078125, 1);
|
|
||||||
EmitVertex();
|
|
||||||
gl_Position = vec4 (cenPos.x + sizex*0.5, cenPos.y + sizey*0.5, cenPos.z , 1);
|
|
||||||
gTex = vec2 ((texPos+1)*0.0078125, 0);
|
|
||||||
//gl_Position = vec4 (0.5, 0 , -5 , 1);
|
|
||||||
EmitVertex();
|
|
||||||
|
|
||||||
EndPrimitive();
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location = 0) in vec3 aPos;
|
|
||||||
layout (location = 1) in vec4 aColor;
|
|
||||||
layout (location = 2) in vec2 aTexCoord;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
out vec4 gColor;
|
|
||||||
out vec2 gTexCoord;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
gl_Position = theMat * vec4(aPos, 1.0);
|
|
||||||
gColor = aColor;
|
|
||||||
gTexCoord = aTexCoord;
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (triangles) in;
|
|
||||||
layout (triangle_strip, max_vertices = 4) out;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
in vec4 vCol[];
|
|
||||||
out vec4 gColC; // center color
|
|
||||||
out vec4 gColE; // edge color
|
|
||||||
out vec2 gBoundingBox;
|
|
||||||
out vec3 gPos;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec4 pat = gl_in[0].gl_Position;
|
|
||||||
vec4 pbt = gl_in[1].gl_Position;
|
|
||||||
vec4 pct = gl_in[2].gl_Position;
|
|
||||||
vec4 pa = theMat * pat;
|
|
||||||
vec4 pb = theMat * pbt;
|
|
||||||
vec4 pc = theMat * pct;
|
|
||||||
gColC = vCol[0];
|
|
||||||
gColE = vCol[1];
|
|
||||||
|
|
||||||
gBoundingBox = vec2 (-1,1);
|
|
||||||
gl_Position = pb;
|
|
||||||
gPos = pbt.xyz;
|
|
||||||
EmitVertex();
|
|
||||||
gBoundingBox = vec2 (1,1);
|
|
||||||
gl_Position = pa;
|
|
||||||
gPos = pat.xyz;
|
|
||||||
EmitVertex();
|
|
||||||
gBoundingBox = vec2 (-1,-1);
|
|
||||||
gl_Position = pc;
|
|
||||||
gPos = pct.xyz;
|
|
||||||
EmitVertex();
|
|
||||||
gBoundingBox = vec2 (1,-1);
|
|
||||||
gl_Position = pa + pc - pb;
|
|
||||||
gPos = pat.xyz + pct.xyz - pbt.xyz;
|
|
||||||
EmitVertex();
|
|
||||||
|
|
||||||
EndPrimitive();
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (location = 0) in vec3 pos;
|
|
||||||
layout (location = 1) in vec4 col;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
out vec4 vCol;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
//gl_Position = theMat * vec4(pos,1);
|
|
||||||
gl_Position = vec4(pos,1);
|
|
||||||
vCol = col;
|
|
||||||
}
|
|
||||||