ofs | hex dump | ascii |
---|
0000 | 42 42 33 44 0e 9c 00 00 01 00 00 00 42 52 55 53 2e 00 00 00 01 00 00 00 42 72 75 73 68 2e 30 30 | BB3D........BRUS........Brush.00 |
0020 | 31 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 01 00 00 00 00 00 00 00 ff ff | 1....?...?...?...?.............. |
0040 | ff ff 4e 4f 44 45 cc 9b 00 00 64 74 72 61 63 6b 5f 73 77 72 73 74 5f 36 30 00 00 00 00 00 00 00 | ..NODE....dtrack_swrst_60....... |
0060 | 00 bf 00 00 00 00 fd ff 7f 3f 00 00 80 3f fd ff 7f 3f af b0 59 3f 00 00 00 00 f7 b5 06 3f 00 00 | .........?...?...?..Y?.......?.. |
0080 | 00 00 4d 45 53 48 8c 9b 00 00 ff ff ff ff 56 52 54 53 8c 83 00 00 01 00 00 00 01 00 00 00 02 00 | ..MESH........VRTS.............. |
00a0 | 00 00 b6 da db 3e 28 5c 0f 3e f2 96 8b 3e e8 3d f4 3e 6d 79 36 3f 07 9d 03 3f a5 ff 00 3e 24 e4 | .....>(\.>...>.=.>my6?...?...>$. |
00c0 | 04 3f 0e 70 b8 3e 28 5c 0f 3e f6 24 ae 3e fc e9 fd 3e 6b 5f 35 3f 01 89 00 3f a4 ff 00 3e 2e 13 | .?.p.>(\.>.$.>...>k_5?...?...>.. |
00e0 | dd 3e bc aa ac 3e 28 5c 0f 3e 06 e4 93 3e a6 25 d3 be 6b 89 35 3f 25 67 12 bf 4c 1f 37 3e 34 13 | .>...>(\.>...>.%..k.5?%g..L.7>4. |
0100 | dd 3e ee 80 d1 3e 28 5c 0f 3e 90 a4 71 3e a4 35 d2 be 68 f7 33 3f 29 a5 14 bf 4b 1f 37 3e 27 e4 | .>...>(\.>..q>.5..h.3?)...K.7>'. |
0120 | 04 3f ee 80 d1 3e 28 5c 0f 3e 90 a4 71 3e a4 35 d2 be 68 f7 33 3f 29 a5 14 bf 4b 1f 37 3e 27 e4 | .?...>(\.>..q>.5..h.3?)...K.7>'. |
0140 | 04 3f db 3c fa 3e 28 5c 0f 3e a4 3d 3a 3e 86 29 c3 be 66 09 33 3f 36 c5 1a bf 4a 1f 37 3e b3 3e | .?.<.>(\.>.=:>.)..f.3?6...J.7>.> |
0160 | 1b 3f d3 ca 01 3f 28 5c 0f 3e b0 13 51 3e de 41 ef 3e 6a 0f 35 3f 10 cb 07 3f a7 ff 00 3e b1 3e | .?...?(\.>..Q>.A.>j.5?...?...>.> |
0180 | 1b 3f b6 da db 3e 28 5c 0f 3e f2 96 8b 3e e8 3d f4 3e 6d 79 36 3f 07 9d 03 3f a5 ff 00 3e 24 e4 | .?...>(\.>...>.=.>my6?...?...>$. |
01a0 | 04 3f d0 12 1a 3f c8 ba 22 3d 04 49 f7 3d a5 4d 52 3f 24 f5 11 bf a6 01 d3 bb ca 00 96 3e 3c 99 | .?...?.."=.I.=.MR?$..........><. |
01c0 | 31 3f e2 36 19 3f c8 ba 22 3d bc 6d f1 3d 24 e1 91 3d 32 df 18 bf 99 85 4c bf e0 e1 75 3e 40 99 | 1?.6.?.."=.m.=$..=2.....L...u>@. |
01e0 | 31 3f db 3c fa 3e c8 ba 22 3d a4 3d 3a 3e 86 29 c3 be 66 09 33 bf 36 c5 1a bf e4 e1 75 3e b3 3e | 1?.<.>.."=.=:>.)..f.3.6.....u>.> |
0200 | 1b 3f d3 ca 01 3f c8 ba 22 3d b0 13 51 3e de 41 ef 3e 6a 0f 35 bf 10 cb 07 3f cb 00 96 3e af 3e | .?...?.."=..Q>.A.>j.5....?...>.> |
0220 | 1b 3f db 3c fa 3e 28 5c 0f 3e a4 3d 3a 3e 86 29 c3 be 66 09 33 3f 36 c5 1a bf 4a 1f 37 3e b3 3e | .?.<.>(\.>.=:>.)..f.3?6...J.7>.> |
0240 | 1b 3f e2 36 19 3f 28 5c 0f 3e bc 6d f1 3d 24 e1 91 3d 32 df 18 3f 99 85 4c bf 4a 1f 37 3e 40 99 | .?.6.?(\.>.m.=$..=2..?..L.J.7>@. |
0260 | 31 3f d0 12 1a 3f 28 5c 0f 3e 04 49 f7 3d a5 4d 52 3f 24 f5 11 3f a6 01 d3 bb a9 ff 00 3e 3e 99 | 1?...?(\.>.I.=.MR?$..?.......>>. |
0280 | 31 3f d3 ca 01 3f 28 5c 0f 3e b0 13 51 3e de 41 ef 3e 6a 0f 35 3f 10 cb 07 3f a7 ff 00 3e b1 3e | 1?...?(\.>..Q>.A.>j.5?...?...>.> |
02a0 | 1b 3f 34 5d 6c 3e c8 ba 22 3d 43 59 ef 3e f1 8d f8 3e 68 f7 33 bf 0a 0b 05 3f ce 00 96 3e fe a8 | .?4]l>.."=CY.>...>h.3....?...>.. |
02c0 | 83 3e ca ab 38 3e c8 ba 22 3d 78 ef cf 3e c4 19 e2 be 69 ad 34 bf 1c cd 0d bf f5 e1 75 3e 02 a9 | .>..8>.."=x..>....i.4.......u>.. |
02e0 | 83 3e c8 4a a4 3d c8 ba 22 3d 80 4c f9 3e c5 79 e2 be 6a 27 35 bf 1a 0b 0d bf f9 e1 75 3e d0 e7 | .>.J.=.."=.L.>.y..j'5.......u>.. |
0300 | 2d 3e e4 69 09 3e c8 ba 22 3d ef f1 0d 3f d9 59 ec 3e 67 55 33 bf 17 4f 0b 3f cf 00 96 3e cc e7 | ->.i.>.."=...?.Y.>gU3..O.?...>.. |
0320 | 2d 3e 7e 21 98 3e c8 ba 22 3d fb 72 ce 3e fd 99 fe 3e 69 91 34 bf 03 51 01 3f ce 00 96 3e 16 5e | ->~!.>.."=.r.>...>i.4..Q.?...>.^ |
0340 | b0 3e 1d 50 84 3e c8 ba 22 3d b0 71 b0 3e b5 61 da be 67 8b 33 bf 24 33 12 bf f1 e1 75 3e 1c 5e | .>.P.>.."=.q.>.a..g.3.$3....u>.^ |
0360 | b0 3e ca ab 38 3e c8 ba 22 3d 78 ef cf 3e c4 19 e2 be 69 ad 34 bf 1c cd 0d bf f5 e1 75 3e 02 a9 | .>..8>.."=x..>....i.4.......u>.. |
0380 | 83 3e 34 5d 6c 3e c8 ba 22 3d 43 59 ef 3e f1 8d f8 3e 68 f7 33 bf 0a 0b 05 3f ce 00 96 3e fe a8 | .>4]l>.."=CY.>...>h.3....?...>.. |
03a0 | 83 3e 0e 70 b8 3e c8 ba 22 3d f6 24 ae 3e fc e9 fd 3e 6b 5f 35 bf 01 89 00 3f cd 00 96 3e 2e 13 | .>.p.>.."=.$.>...>k_5....?...>.. |
03c0 | dd 3e bc aa ac 3e c8 ba 22 3d 06 e4 93 3e a6 25 d3 be 6b 89 35 bf 25 67 12 bf ed e1 75 3e 34 13 | .>...>.."=...>.%..k.5.%g....u>4. |
03e0 | dd 3e 1d 50 84 3e c8 ba 22 3d b0 71 b0 3e b5 61 da be 67 8b 33 bf 24 33 12 bf f1 e1 75 3e 1c 5e | .>.P.>.."=.q.>.a..g.3.$3....u>.^ |
0400 | b0 3e 7e 21 98 3e c8 ba 22 3d fb 72 ce 3e fd 99 fe 3e 69 91 34 bf 03 51 01 3f ce 00 96 3e 16 5e | .>~!.>.."=.r.>...>i.4..Q.?...>.^ |
0420 | b0 3e b6 da db 3e c8 ba 22 3d f2 96 8b 3e e8 3d f4 3e 6d 79 36 bf 07 9d 03 3f cc 00 96 3e 23 e4 | .>...>.."=...>.=.>my6....?...>#. |
0440 | 04 3f ee 80 d1 3e c8 ba 22 3d 90 a4 71 3e a4 35 d2 be 68 f7 33 bf 29 a5 14 bf e8 e1 75 3e 27 e4 | .?...>.."=..q>.5..h.3.).....u>'. |
0460 | 04 3f bc aa ac 3e c8 ba 22 3d 06 e4 93 3e a6 25 d3 be 6b 89 35 bf 25 67 12 bf ed e1 75 3e 34 13 | .?...>.."=...>.%..k.5.%g....u>4. |
0480 | dd 3e 0e 70 b8 3e c8 ba 22 3d f6 24 ae 3e fc e9 fd 3e 6b 5f 35 bf 01 89 00 3f cd 00 96 3e 2e 13 | .>.p.>.."=.$.>...>k_5....?...>.. |
04a0 | dd 3e d3 ca 01 3f c8 ba 22 3d b0 13 51 3e de 41 ef 3e 6a 0f 35 bf 10 cb 07 3f cb 00 96 3e af 3e | .>...?.."=..Q>.A.>j.5....?...>.> |
04c0 | 1b 3f db 3c fa 3e c8 ba 22 3d a4 3d 3a 3e 86 29 c3 be 66 09 33 bf 36 c5 1a bf e4 e1 75 3e b3 3e | .?.<.>.."=.=:>.)..f.3.6.....u>.> |
04e0 | 1b 3f ee 80 d1 3e c8 ba 22 3d 90 a4 71 3e a4 35 d2 be 68 f7 33 bf 29 a5 14 bf e8 e1 75 3e 27 e4 | .?...>.."=..q>.5..h.3.).....u>'. |
0500 | 04 3f b6 da db 3e c8 ba 22 3d f2 96 8b 3e e8 3d f4 3e 6d 79 36 bf 07 9d 03 3f cc 00 96 3e 23 e4 | .?...>.."=...>.=.>my6....?...>#. |
0520 | 04 3f d3 ca 01 3f 28 5c 0f 3e b0 13 51 3e de 41 ef 3e 6a 0f 35 3f 10 cb 07 3f a7 ff 00 3e b1 3e | .?...?(\.>..Q>.A.>j.5?...?...>.> |
0540 | 1b 3f d0 12 1a 3f 28 5c 0f 3e 04 49 f7 3d a5 4d 52 3f 24 f5 11 3f a6 01 d3 bb a9 ff 00 3e 3e 99 | .?...?(\.>.I.=.MR?$..?.......>>. |
0560 | 31 3f d0 12 1a 3f c8 ba 22 3d 04 49 f7 3d a5 4d 52 3f 24 f5 11 bf a6 01 d3 bb f1 79 84 3d 3c 99 | 1?...?.."=.I.=.MR?$........y.=<. |
0580 | 31 3f d3 ca 01 3f c8 ba 22 3d b0 13 51 3e de 41 ef 3e 6a 0f 35 bf 10 cb 07 3f f6 79 84 3d af 3e | 1?...?.."=..Q>.A.>j.5....?.y.=.> |
05a0 | 1b 3f c8 4a a4 3d 28 5c 0f 3e 80 4c f9 3e c5 79 e2 be 6a 27 35 3f 1a 0b 0d bf 4d 1f 37 3e d0 e7 | .?.J.=(\.>.L.>.y..j'5?....M.7>.. |
05c0 | 2d 3e 88 96 00 bd 28 5c 0f 3e c6 79 13 3f 9f b9 4f bf 28 cd 13 3f 74 c1 b9 bd 4d 1f 37 3e 38 fb | ->....(\.>.y.?..O.(..?t...M.7>8. |
05e0 | a8 3d 88 96 00 bd c8 ba 22 3d c6 79 13 3f 9f b9 4f bf 28 cd 13 bf 74 c1 b9 bd fd e1 75 3e 38 fb | .=......"=.y.?..O.(...t.....u>8. |
0600 | a8 3d c8 4a a4 3d c8 ba 22 3d 80 4c f9 3e c5 79 e2 be 6a 27 35 bf 1a 0b 0d bf f9 e1 75 3e d0 e7 | .=.J.=.."=.L.>.y..j'5.......u>.. |
0620 | 2d 3e d0 12 1a 3f 28 5c 0f 3e 04 49 f7 3d a5 4d 52 3f 24 f5 11 3f a6 01 d3 bb a9 ff 00 3e 3e 99 | ->...?(\.>.I.=.MR?$..?.......>>. |
0640 | 31 3f e2 36 19 3f 28 5c 0f 3e bc 6d f1 3d 24 e1 91 3d 32 df 18 3f 99 85 4c bf ac ff 00 3e 2a 21 | 1?.6.?(\.>.m.=$..=2..?..L....>*! |
0660 | 3f 3f e2 36 19 3f c8 ba 22 3d bc 6d f1 3d 24 e1 91 3d 32 df 18 bf 99 85 4c bf f1 79 84 3d 2a 21 | ??.6.?.."=.m.=$..=2.....L..y.=*! |
0680 | 3f 3f d0 12 1a 3f c8 ba 22 3d 04 49 f7 3d a5 4d 52 3f 24 f5 11 bf a6 01 d3 bb f1 79 84 3d 3c 99 | ??...?.."=.I.=.MR?$........y.=<. |
06a0 | 31 3f e4 69 09 3e 28 5c 0f 3e ef f1 0d 3f d9 59 ec 3e 67 55 33 3f 17 4f 0b 3f 9f ff 00 3e c8 e7 | 1?.i.>(\.>...?.Y.>gU3?.O.?...>.. |
06c0 | 2d 3e 20 f7 b8 3c 28 5c 0f 3e 78 c5 24 3f 74 c1 b9 bd 28 cd 13 3f 9f b9 4f 3f 9e ff 00 3e 28 fb | ->...<(\.>x.$?t...(..?..O?...>(. |
06e0 | a8 3d 88 96 00 bd 28 5c 0f 3e c6 79 13 3f 9f b9 4f bf 28 cd 13 3f 74 c1 b9 bd 4d 1f 37 3e 38 fb | .=....(\.>.y.?..O.(..?t...M.7>8. |
0700 | a8 3d c8 4a a4 3d 28 5c 0f 3e 80 4c f9 3e c5 79 e2 be 6a 27 35 3f 1a 0b 0d bf 4d 1f 37 3e d0 e7 | .=.J.=(\.>.L.>.y..j'5?....M.7>.. |
0720 | 2d 3e 88 96 00 bd 28 5c 0f 3e c6 79 13 3f 9f b9 4f bf 28 cd 13 3f 74 c1 b9 bd 9a ff 00 3e e0 ef | ->....(\.>.y.?..O.(..?t......>.. |
0740 | f2 3c 20 f7 b8 3c 28 5c 0f 3e 78 c5 24 3f 74 c1 b9 bd 28 cd 13 3f 9f b9 4f 3f 9e ff 00 3e 28 fb | .<...<(\.>x.$?t...(..?..O?...>(. |
0760 | a8 3d 20 f7 b8 3c c8 ba 22 3d 78 c5 24 3f 74 c1 b9 bd 28 cd 13 bf 9f b9 4f 3f 15 7a 84 3d 28 fb | .=...<.."=x.$?t...(.....O?.z.=(. |
0780 | a8 3d 88 96 00 bd c8 ba 22 3d c6 79 13 3f 9f b9 4f bf 28 cd 13 bf 74 c1 b9 bd 0e 7a 84 3d e0 ef | .=......"=.y.?..O.(...t....z.=.. |
07a0 | f2 3c e4 69 09 3e c8 ba 22 3d ef f1 0d 3f d9 59 ec 3e 67 55 33 bf 17 4f 0b 3f cf 00 96 3e cc e7 | .<.i.>.."=...?.Y.>gU3..O.?...>.. |
07c0 | 2d 3e c8 4a a4 3d c8 ba 22 3d 80 4c f9 3e c5 79 e2 be 6a 27 35 bf 1a 0b 0d bf f9 e1 75 3e d0 e7 | ->.J.=.."=.L.>.y..j'5.......u>.. |
07e0 | 2d 3e 88 96 00 bd c8 ba 22 3d c6 79 13 3f 9f b9 4f bf 28 cd 13 bf 74 c1 b9 bd fd e1 75 3e 38 fb | ->......"=.y.?..O.(...t.....u>8. |
0800 | a8 3d 20 f7 b8 3c c8 ba 22 3d 78 c5 24 3f 74 c1 b9 bd 28 cd 13 bf 9f b9 4f 3f d0 00 96 3e 38 fb | .=...<.."=x.$?t...(.....O?...>8. |
0820 | a8 3d 0e 70 b8 3e 28 5c 0f 3e f6 24 ae 3e fc e9 fd 3e 6b 5f 35 3f 01 89 00 3f a4 ff 00 3e 2e 13 | .=.p.>(\.>.$.>...>k_5?...?...>.. |
0840 | dd 3e 7e 21 98 3e 28 5c 0f 3e fb 72 ce 3e fd 99 fe 3e 69 91 34 3f 03 51 01 3f a2 ff 00 3e 14 5e | .>~!.>(\.>.r.>...>i.4?.Q.?...>.^ |
0860 | b0 3e 1d 50 84 3e 28 5c 0f 3e b0 71 b0 3e b5 61 da be 67 8b 33 3f 24 33 12 bf 4c 1f 37 3e 1c 5e | .>.P.>(\.>.q.>.a..g.3?$3..L.7>.^ |
0880 | b0 3e bc aa ac 3e 28 5c 0f 3e 06 e4 93 3e a6 25 d3 be 6b 89 35 3f 25 67 12 bf 4c 1f 37 3e 34 13 | .>...>(\.>...>.%..k.5?%g..L.7>4. |
08a0 | dd 3e 7e 21 98 3e 28 5c 0f 3e fb 72 ce 3e fd 99 fe 3e 69 91 34 3f 03 51 01 3f a2 ff 00 3e 14 5e | .>~!.>(\.>.r.>...>i.4?.Q.?...>.^ |
08c0 | b0 3e 34 5d 6c 3e 28 5c 0f 3e 43 59 ef 3e f1 8d f8 3e 68 f7 33 3f 0a 0b 05 3f a0 ff 00 3e fc a8 | .>4]l>(\.>CY.>...>h.3?...?...>.. |
08e0 | 83 3e ca ab 38 3e 28 5c 0f 3e 78 ef cf 3e c4 19 e2 be 69 ad 34 3f 1c cd 0d bf 4c 1f 37 3e 02 a9 | .>..8>(\.>x..>....i.4?....L.7>.. |
0900 | 83 3e 1d 50 84 3e 28 5c 0f 3e b0 71 b0 3e b5 61 da be 67 8b 33 3f 24 33 12 bf 4c 1f 37 3e 1c 5e | .>.P.>(\.>.q.>.a..g.3?$3..L.7>.^ |
0920 | b0 3e 34 5d 6c 3e 28 5c 0f 3e 43 59 ef 3e f1 8d f8 3e 68 f7 33 3f 0a 0b 05 3f a0 ff 00 3e fc a8 | .>4]l>(\.>CY.>...>h.3?...?...>.. |
0940 | 83 3e e4 69 09 3e 28 5c 0f 3e ef f1 0d 3f d9 59 ec 3e 67 55 33 3f 17 4f 0b 3f 9f ff 00 3e c8 e7 | .>.i.>(\.>...?.Y.>gU3?.O.?...>.. |
0960 | 2d 3e c8 4a a4 3d 28 5c 0f 3e 80 4c f9 3e c5 79 e2 be 6a 27 35 3f 1a 0b 0d bf 4d 1f 37 3e d0 e7 | ->.J.=(\.>.L.>.y..j'5?....M.7>.. |
0980 | 2d 3e ca ab 38 3e 28 5c 0f 3e 78 ef cf 3e c4 19 e2 be 69 ad 34 3f 1c cd 0d bf 4c 1f 37 3e 02 a9 | ->..8>(\.>x..>....i.4?....L.7>.. |
09a0 | 83 3e e2 36 19 3f 28 5c 0f 3e bc 6d f1 3d 24 e1 91 3d 32 df 18 3f 99 85 4c bf 4a 1f 37 3e 40 99 | .>.6.?(\.>.m.=$..=2..?..L.J.7>@. |
09c0 | 31 3f db 3c fa 3e 28 5c 0f 3e a4 3d 3a 3e 86 29 c3 be 66 09 33 3f 36 c5 1a bf 4a 1f 37 3e b3 3e | 1?.<.>(\.>.=:>.)..f.3?6...J.7>.> |
09e0 | 1b 3f db 3c fa 3e c8 ba 22 3d a4 3d 3a 3e 86 29 c3 be 66 09 33 bf 36 c5 1a bf e4 e1 75 3e b3 3e | .?.<.>.."=.=:>.)..f.3.6.....u>.> |
0a00 | 1b 3f e2 36 19 3f c8 ba 22 3d bc 6d f1 3d 24 e1 91 3d 32 df 18 bf 99 85 4c bf e0 e1 75 3e 40 99 | .?.6.?.."=.m.=$..=2.....L...u>@. |
0a20 | 31 3f db 3c fa 3e 28 5c 0f 3e a4 3d 3a 3e 86 29 c3 be 66 09 33 3f 36 c5 1a bf 4a 1f 37 3e b3 3e | 1?.<.>(\.>.=:>.)..f.3?6...J.7>.> |
0a40 | 1b 3f ee 80 d1 3e 28 5c 0f 3e 90 a4 71 3e a4 35 d2 be 68 f7 33 3f 29 a5 14 bf 4b 1f 37 3e 27 e4 | .?...>(\.>..q>.5..h.3?)...K.7>'. |
0a60 | 04 3f ee 80 d1 3e c8 ba 22 3d 90 a4 71 3e a4 35 d2 be 68 f7 33 bf 29 a5 14 bf e8 e1 75 3e 27 e4 | .?...>.."=..q>.5..h.3.).....u>'. |
0a80 | 04 3f db 3c fa 3e c8 ba 22 3d a4 3d 3a 3e 86 29 c3 be 66 09 33 bf 36 c5 1a bf e4 e1 75 3e b3 3e | .?.<.>.."=.=:>.)..f.3.6.....u>.> |
0aa0 | 1b 3f ee 80 d1 3e 28 5c 0f 3e 90 a4 71 3e a4 35 d2 be 68 f7 33 3f 29 a5 14 bf 4b 1f 37 3e 27 e4 | .?...>(\.>..q>.5..h.3?)...K.7>'. |
0ac0 | 04 3f bc aa ac 3e 28 5c 0f 3e 06 e4 93 3e a6 25 d3 be 6b 89 35 3f 25 67 12 bf 4c 1f 37 3e 34 13 | .?...>(\.>...>.%..k.5?%g..L.7>4. |
0ae0 | dd 3e bc aa ac 3e c8 ba 22 3d 06 e4 93 3e a6 25 d3 be 6b 89 35 bf 25 67 12 bf ed e1 75 3e 34 13 | .>...>.."=...>.%..k.5.%g....u>4. |
0b00 | dd 3e ee 80 d1 3e c8 ba 22 3d 90 a4 71 3e a4 35 d2 be 68 f7 33 bf 29 a5 14 bf e8 e1 75 3e 27 e4 | .>...>.."=..q>.5..h.3.).....u>'. |
0b20 | 04 3f bc aa ac 3e 28 5c 0f 3e 06 e4 93 3e a6 25 d3 be 6b 89 35 3f 25 67 12 bf 4c 1f 37 3e 34 13 | .?...>(\.>...>.%..k.5?%g..L.7>4. |
0b40 | dd 3e 1d 50 84 3e 28 5c 0f 3e b0 71 b0 3e b5 61 da be 67 8b 33 3f 24 33 12 bf 4c 1f 37 3e 1c 5e | .>.P.>(\.>.q.>.a..g.3?$3..L.7>.^ |
0b60 | b0 3e 1d 50 84 3e c8 ba 22 3d b0 71 b0 3e b5 61 da be 67 8b 33 bf 24 33 12 bf f1 e1 75 3e 1c 5e | .>.P.>.."=.q.>.a..g.3.$3....u>.^ |
0b80 | b0 3e bc aa ac 3e c8 ba 22 3d 06 e4 93 3e a6 25 d3 be 6b 89 35 bf 25 67 12 bf ed e1 75 3e 34 13 | .>...>.."=...>.%..k.5.%g....u>4. |
0ba0 | dd 3e 1d 50 84 3e 28 5c 0f 3e b0 71 b0 3e b5 61 da be 67 8b 33 3f 24 33 12 bf 4c 1f 37 3e 1c 5e | .>.P.>(\.>.q.>.a..g.3?$3..L.7>.^ |
0bc0 | b0 3e ca ab 38 3e 28 5c 0f 3e 78 ef cf 3e c4 19 e2 be 69 ad 34 3f 1c cd 0d bf 4c 1f 37 3e 02 a9 | .>..8>(\.>x..>....i.4?....L.7>.. |
0be0 | 83 3e ca ab 38 3e c8 ba 22 3d 78 ef cf 3e c4 19 e2 be 69 ad 34 bf 1c cd 0d bf f5 e1 75 3e 02 a9 | .>..8>.."=x..>....i.4.......u>.. |
0c00 | 83 3e 1d 50 84 3e c8 ba 22 3d b0 71 b0 3e b5 61 da be 67 8b 33 bf 24 33 12 bf f1 e1 75 3e 1c 5e | .>.P.>.."=.q.>.a..g.3.$3....u>.^ |
0c20 | b0 3e ca ab 38 3e 28 5c 0f 3e 78 ef cf 3e c4 19 e2 be 69 ad 34 3f 1c cd 0d bf 4c 1f 37 3e 02 a9 | .>..8>(\.>x..>....i.4?....L.7>.. |
0c40 | 83 3e c8 4a a4 3d 28 5c 0f 3e 80 4c f9 3e c5 79 e2 be 6a 27 35 3f 1a 0b 0d bf 4d 1f 37 3e d0 e7 | .>.J.=(\.>.L.>.y..j'5?....M.7>.. |
0c60 | 2d 3e c8 4a a4 3d c8 ba 22 3d 80 4c f9 3e c5 79 e2 be 6a 27 35 bf 1a 0b 0d bf f9 e1 75 3e d0 e7 | ->.J.=.."=.L.>.y..j'5.......u>.. |
0c80 | 2d 3e ca ab 38 3e c8 ba 22 3d 78 ef cf 3e c4 19 e2 be 69 ad 34 bf 1c cd 0d bf f5 e1 75 3e 02 a9 | ->..8>.."=x..>....i.4.......u>.. |
0ca0 | 83 3e 20 f7 b8 3c 28 5c 0f 3e 78 c5 24 3f 74 c1 b9 bd 28 cd 13 3f 9f b9 4f 3f 9e ff 00 3e 28 fb | .>...<(\.>x.$?t...(..?..O?...>(. |
0cc0 | a8 3d e4 69 09 3e 28 5c 0f 3e ef f1 0d 3f d9 59 ec 3e 67 55 33 3f 17 4f 0b 3f 9f ff 00 3e c8 e7 | .=.i.>(\.>...?.Y.>gU3?.O.?...>.. |
0ce0 | 2d 3e e4 69 09 3e c8 ba 22 3d ef f1 0d 3f d9 59 ec 3e 67 55 33 bf 17 4f 0b 3f 10 7a 84 3d c8 e7 | ->.i.>.."=...?.Y.>gU3..O.?.z.=.. |
0d00 | 2d 3e 20 f7 b8 3c c8 ba 22 3d 78 c5 24 3f 74 c1 b9 bd 28 cd 13 bf 9f b9 4f 3f 15 7a 84 3d 28 fb | ->...<.."=x.$?t...(.....O?.z.=(. |
0d20 | a8 3d e4 69 09 3e 28 5c 0f 3e ef f1 0d 3f d9 59 ec 3e 67 55 33 3f 17 4f 0b 3f 9f ff 00 3e c8 e7 | .=.i.>(\.>...?.Y.>gU3?.O.?...>.. |
0d40 | 2d 3e 34 5d 6c 3e 28 5c 0f 3e 43 59 ef 3e f1 8d f8 3e 68 f7 33 3f 0a 0b 05 3f a0 ff 00 3e fc a8 | ->4]l>(\.>CY.>...>h.3?...?...>.. |
0d60 | 83 3e 34 5d 6c 3e c8 ba 22 3d 43 59 ef 3e f1 8d f8 3e 68 f7 33 bf 0a 0b 05 3f 0a 7a 84 3d fc a8 | .>4]l>.."=CY.>...>h.3....?.z.=.. |
0d80 | 83 3e e4 69 09 3e c8 ba 22 3d ef f1 0d 3f d9 59 ec 3e 67 55 33 bf 17 4f 0b 3f 10 7a 84 3d c8 e7 | .>.i.>.."=...?.Y.>gU3..O.?.z.=.. |
0da0 | 2d 3e 34 5d 6c 3e 28 5c 0f 3e 43 59 ef 3e f1 8d f8 3e 68 f7 33 3f 0a 0b 05 3f a0 ff 00 3e fc a8 | ->4]l>(\.>CY.>...>h.3?...?...>.. |
0dc0 | 83 3e 7e 21 98 3e 28 5c 0f 3e fb 72 ce 3e fd 99 fe 3e 69 91 34 3f 03 51 01 3f a2 ff 00 3e 14 5e | .>~!.>(\.>.r.>...>i.4?.Q.?...>.^ |
0de0 | b0 3e 7e 21 98 3e c8 ba 22 3d fb 72 ce 3e fd 99 fe 3e 69 91 34 bf 03 51 01 3f 05 7a 84 3d 14 5e | .>~!.>.."=.r.>...>i.4..Q.?.z.=.^ |
0e00 | b0 3e 34 5d 6c 3e c8 ba 22 3d 43 59 ef 3e f1 8d f8 3e 68 f7 33 bf 0a 0b 05 3f 0a 7a 84 3d fc a8 | .>4]l>.."=CY.>...>h.3....?.z.=.. |
0e20 | 83 3e 7e 21 98 3e 28 5c 0f 3e fb 72 ce 3e fd 99 fe 3e 69 91 34 3f 03 51 01 3f a2 ff 00 3e 14 5e | .>~!.>(\.>.r.>...>i.4?.Q.?...>.^ |
0e40 | b0 3e 0e 70 b8 3e 28 5c 0f 3e f6 24 ae 3e fc e9 fd 3e 6b 5f 35 3f 01 89 00 3f a4 ff 00 3e 2e 13 | .>.p.>(\.>.$.>...>k_5?...?...>.. |
0e60 | dd 3e 0e 70 b8 3e c8 ba 22 3d f6 24 ae 3e fc e9 fd 3e 6b 5f 35 bf 01 89 00 3f 00 7a 84 3d 2c 13 | .>.p.>.."=.$.>...>k_5....?.z.=,. |
0e80 | dd 3e 7e 21 98 3e c8 ba 22 3d fb 72 ce 3e fd 99 fe 3e 69 91 34 bf 03 51 01 3f 05 7a 84 3d 14 5e | .>~!.>.."=.r.>...>i.4..Q.?.z.=.^ |
0ea0 | b0 3e 0e 70 b8 3e 28 5c 0f 3e f6 24 ae 3e fc e9 fd 3e 6b 5f 35 3f 01 89 00 3f a4 ff 00 3e 2e 13 | .>.p.>(\.>.$.>...>k_5?...?...>.. |
0ec0 | dd 3e b6 da db 3e 28 5c 0f 3e f2 96 8b 3e e8 3d f4 3e 6d 79 36 3f 07 9d 03 3f a5 ff 00 3e 24 e4 | .>...>(\.>...>.=.>my6?...?...>$. |
0ee0 | 04 3f b6 da db 3e c8 ba 22 3d f2 96 8b 3e e8 3d f4 3e 6d 79 36 bf 07 9d 03 3f fb 79 84 3d 23 e4 | .?...>.."=...>.=.>my6....?.y.=#. |
0f00 | 04 3f 0e 70 b8 3e c8 ba 22 3d f6 24 ae 3e fc e9 fd 3e 6b 5f 35 bf 01 89 00 3f 00 7a 84 3d 2c 13 | .?.p.>.."=.$.>...>k_5....?.z.=,. |
0f20 | dd 3e b6 da db 3e 28 5c 0f 3e f2 96 8b 3e e8 3d f4 3e 6d 79 36 3f 07 9d 03 3f a5 ff 00 3e 24 e4 | .>...>(\.>...>.=.>my6?...?...>$. |
0f40 | 04 3f d3 ca 01 3f 28 5c 0f 3e b0 13 51 3e de 41 ef 3e 6a 0f 35 3f 10 cb 07 3f a7 ff 00 3e b1 3e | .?...?(\.>..Q>.A.>j.5?...?...>.> |
0f60 | 1b 3f d3 ca 01 3f c8 ba 22 3d b0 13 51 3e de 41 ef 3e 6a 0f 35 bf 10 cb 07 3f f6 79 84 3d af 3e | .?...?.."=..Q>.A.>j.5....?.y.=.> |
0f80 | 1b 3f b6 da db 3e c8 ba 22 3d f2 96 8b 3e e8 3d f4 3e 6d 79 36 bf 07 9d 03 3f fb 79 84 3d 23 e4 | .?...>.."=...>.=.>my6....?.y.=#. |
0fa0 | 04 3f 90 79 83 bd 10 d7 23 3d f8 33 61 bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | .?.y....#=.3a....=(..?..N..su?`. |
0fc0 | 19 3d 00 f3 53 3f 10 d7 23 3d 84 be 9b 3e 9e fb 4e 3f 28 cd 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | .=..S?..#=...>..N?(..?...=zsu?.. |
0fe0 | 77 3f 42 6a 3b 3f 10 d7 23 3d 2c b8 c0 3e d1 b1 e8 bd 28 cd 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | w?Bj;?..#=,..>....(..?..N?.9b?.. |
1000 | 77 3f b8 df 23 be 10 d7 23 3d 1e b7 4e bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | w?..#...#=..N...N.(..?.....9b?.. |
1020 | 19 3d b0 79 83 bd 00 d7 23 bc fd 33 61 bf 1d 81 0e 3e 00 00 00 00 fb 81 7d bf 39 76 7d 3f 10 86 | .=.y....#..3a....>......}.9v}?.. |
1040 | 19 3d fe f2 53 3f 00 d7 23 bc 74 be 9b 3e fb 81 7d 3f 00 00 00 00 1d 81 0e 3e 3b 76 7d 3f 92 16 | .=..S?..#.t..>..}?.......>;v}?.. |
1060 | 77 3f 00 f3 53 3f 10 d7 23 3d 84 be 9b 3e 9e fb 4e 3f 28 cd 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | w?..S?..#=...>..N?(..?...=zsu?.. |
1080 | 77 3f 90 79 83 bd 10 d7 23 3d f8 33 61 bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | w?.y....#=.3a....=(..?..N..su?`. |
10a0 | 19 3d fe f2 53 3f 00 d7 23 bc 74 be 9b 3e fb 81 7d 3f 00 00 00 00 1d 81 0e 3e 78 73 75 3f 4d 19 | .=..S?..#.t..>..}?.......>xsu?M. |
10c0 | 7f 3f 44 6a 3b 3f 00 d7 23 bc 30 b8 c0 3e 1d 81 0e be 00 00 00 00 fb 81 7d 3f c1 39 62 3f 44 19 | .?Dj;?..#.0..>..........}?.9b?D. |
10e0 | 7f 3f 42 6a 3b 3f 10 d7 23 3d 2c b8 c0 3e d1 b1 e8 bd 28 cd 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | .?Bj;?..#=,..>....(..?..N?.9b?.. |
1100 | 77 3f 00 f3 53 3f 10 d7 23 3d 84 be 9b 3e 9e fb 4e 3f 28 cd 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | w?..S?..#=...>..N?(..?...=zsu?.. |
1120 | 77 3f 44 6a 3b 3f 00 d7 23 bc 30 b8 c0 3e 1d 81 0e be 00 00 00 00 fb 81 7d 3f 16 37 5a 3f 90 16 | w?Dj;?..#.0..>..........}?.7Z?.. |
1140 | 77 3f c0 df 23 be 00 d7 23 bc 21 b7 4e bf fb 81 7d bf 00 00 00 00 1d 81 0e be 21 37 5a 3f d0 85 | w?..#...#.!.N...}.........!7Z?.. |
1160 | 19 3d b8 df 23 be 10 d7 23 3d 1e b7 4e bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | .=..#...#=..N...N.(..?.....9b?.. |
1180 | 19 3d 42 6a 3b 3f 10 d7 23 3d 2c b8 c0 3e d1 b1 e8 bd 28 cd 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | .=Bj;?..#=,..>....(..?..N?.9b?.. |
11a0 | 77 3f 90 79 83 bd 10 d7 23 3d f8 33 61 bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | w?.y....#=.3a....=(..?..N..su?`. |
11c0 | 19 3d b8 df 23 be 10 d7 23 3d 1e b7 4e bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | .=..#...#=..N...N.(..?.....9b?.. |
11e0 | 19 3d c0 df 23 be 00 d7 23 bc 21 b7 4e bf fb 81 7d bf 00 00 00 00 1d 81 0e be e5 39 62 3f 00 d9 | .=..#...#.!.N...}..........9b?.. |
1200 | ca 3b b0 79 83 bd 00 d7 23 bc fd 33 61 bf 1d 81 0e 3e 00 00 00 00 fb 81 7d bf 8b 73 75 3f 00 db | .;.y....#..3a....>......}..su?.. |
1220 | ca 3b 22 72 66 3f 96 44 38 40 85 e4 29 bf b4 dd d9 3e 6a 03 35 bf 21 91 10 3f 78 ca 27 3f 7c 27 | .;"rf?.D8@..)....>j.5.!..?x.'?|' |
1240 | 23 3f 0c 61 e7 3b 96 44 38 40 f2 83 19 3c b4 dd d9 3e 6a 03 35 bf 21 91 10 3f 5a ca 27 3f 80 69 | #?.a.;.D8@...<...>j.5.!..?Z.'?.i |
1260 | 3c 3c d8 61 e7 3b f0 a6 39 40 a5 83 19 3c b4 dd d9 3e 6a 03 35 3f 21 91 10 3f 73 41 2b 3f c0 69 | <<.a.;..9@...<...>j.5?!..?sA+?.i |
1280 | 3c 3c 20 72 66 3f f0 a6 39 40 84 e4 29 bf b4 dd d9 3e 6a 03 35 3f 21 91 10 3f 84 41 2b 3f 7a 27 | <<.rf?..9@..)....>j.5?!..?.A+?z' |
12a0 | 23 3f 80 59 e7 bb 96 44 38 40 c1 84 19 bc b4 dd d9 be 6a 03 35 bf 21 91 10 bf e5 7a 32 3f c0 69 | #?.Y...D8@........j.5.!....z2?.i |
12c0 | 3c 3c ad d4 62 3f 96 44 38 40 a6 b0 2e bf b4 dd d9 be 6a 03 35 bf 21 91 10 bf e0 7a 32 3f 7a 27 | <<..b?.D8@........j.5.!....z2?z' |
12e0 | 23 3f b0 d4 62 3f f0 a6 39 40 aa b0 2e bf b4 dd d9 be 6a 03 35 3f 21 91 10 bf e5 03 2f 3f 7e 27 | #?..b?..9@........j.5?!...../?~' |
1300 | 23 3f e8 57 e7 bb f0 a6 39 40 5b 85 19 bc b4 dd d9 be 6a 03 35 3f 21 91 10 bf d8 03 2f 3f 80 6a | #?.W....9@[.......j.5?!...../?.j |
1320 | 3c 3c 22 72 66 3f 96 44 38 40 85 e4 29 bf b4 dd d9 3e 6a 03 35 bf 21 91 10 3f 47 3d 36 3f 7b 27 | <<"rf?.D8@..)....>j.5.!..?G=6?{' |
1340 | 23 3f ad d4 62 3f 96 44 38 40 a6 b0 2e bf b4 dd d9 be 6a 03 35 bf 21 91 10 bf e0 7a 32 3f 7a 27 | #?..b?.D8@........j.5.!....z2?z' |
1360 | 23 3f 80 59 e7 bb 96 44 38 40 c1 84 19 bc b4 dd d9 be 6a 03 35 bf 21 91 10 bf e5 7a 32 3f c0 69 | #?.Y...D8@........j.5.!....z2?.i |
1380 | 3c 3c 0c 61 e7 3b 96 44 38 40 f2 83 19 3c b4 dd d9 3e 6a 03 35 bf 21 91 10 3f 47 3d 36 3f 40 69 | <<.a.;.D8@...<...>j.5.!..?G=6?@i |
13a0 | 3c 3c 20 72 66 3f f0 a6 39 40 84 e4 29 bf b4 dd d9 3e 6a 03 35 3f 21 91 10 3f 84 41 2b 3f 7a 27 | <<.rf?..9@..)....>j.5?!..?.A+?z' |
13c0 | 23 3f d8 61 e7 3b f0 a6 39 40 a5 83 19 3c b4 dd d9 3e 6a 03 35 3f 21 91 10 3f 73 41 2b 3f c0 69 | #?.a.;..9@...<...>j.5?!..?sA+?.i |
13e0 | 3c 3c e8 57 e7 bb f0 a6 39 40 5b 85 19 bc b4 dd d9 be 6a 03 35 3f 21 91 10 bf d8 03 2f 3f 80 6a | <<.W....9@[.......j.5?!...../?.j |
1400 | 3c 3c b0 d4 62 3f f0 a6 39 40 aa b0 2e bf b4 dd d9 be 6a 03 35 3f 21 91 10 bf e5 03 2f 3f 7e 27 | <<..b?..9@........j.5?!...../?~' |
1420 | 23 3f b8 b6 96 be 10 d7 23 3d 46 72 33 bf 1e e1 0e 3d 28 cd 13 3f a2 d3 50 bf 89 73 75 3f 60 86 | #?......#=Fr3....=(..?..P..su?`. |
1440 | 19 3d c4 45 35 3f 10 d7 23 3d 38 3b c8 3e a2 d3 50 3f 28 cd 13 3f 1e e1 0e 3d 7a 73 75 3f 97 16 | .=.E5?..#=8;.>..P?(..?...=zsu?.. |
1460 | 77 3f 4a a4 1e 3f 10 d7 23 3d 96 c7 f1 3e 1e e1 0e bd 28 cb 13 3f a2 d3 50 3f c5 39 62 3f 8f 16 | w?J..?..#=...>....(..?..P?.9b?.. |
1480 | 77 3f a8 f9 c3 be 10 d7 23 3d 12 ac 1e bf a2 d3 50 bf 28 cd 13 3f 1e e1 0e bd e3 39 62 3f 20 86 | w?......#=......P.(..?.....9b?.. |
14a0 | 19 3d c0 b6 96 be 00 d7 23 bc 4b 72 33 bf 5e 01 2f 3d 00 00 00 00 00 c4 7f bf 39 76 7d 3f 10 86 | .=......#.Kr3.^./=........9v}?.. |
14c0 | 19 3d c0 45 35 3f 00 d7 23 bc 28 3b c8 3e 00 c4 7f 3f 00 00 00 00 5e 01 2f 3d 3b 76 7d 3f 92 16 | .=.E5?..#.(;.>...?....^./=;v}?.. |
14e0 | 77 3f c4 45 35 3f 10 d7 23 3d 38 3b c8 3e a2 d3 50 3f 28 cd 13 3f 1e e1 0e 3d 7a 73 75 3f 97 16 | w?.E5?..#=8;.>..P?(..?...=zsu?.. |
1500 | 77 3f b8 b6 96 be 10 d7 23 3d 46 72 33 bf 1e e1 0e 3d 28 cd 13 3f a2 d3 50 bf 89 73 75 3f 60 86 | w?......#=Fr3....=(..?..P..su?`. |
1520 | 19 3d c0 45 35 3f 00 d7 23 bc 28 3b c8 3e 00 c4 7f 3f 00 00 00 00 5e 01 2f 3d 78 73 75 3f 4d 19 | .=.E5?..#.(;.>...?....^./=xsu?M. |
1540 | 7f 3f 4c a4 1e 3f 00 d7 23 bc 96 c7 f1 3e 5e 01 2f bd 00 00 00 00 00 c4 7f 3f c1 39 62 3f 44 19 | .?L..?..#....>^./........?.9b?D. |
1560 | 7f 3f 4a a4 1e 3f 10 d7 23 3d 96 c7 f1 3e 1e e1 0e bd 28 cb 13 3f a2 d3 50 3f c5 39 62 3f 8f 16 | .?J..?..#=...>....(..?..P?.9b?.. |
1580 | 77 3f c4 45 35 3f 10 d7 23 3d 38 3b c8 3e a2 d3 50 3f 28 cd 13 3f 1e e1 0e 3d 7a 73 75 3f 97 16 | w?.E5?..#=8;.>..P?(..?...=zsu?.. |
15a0 | 77 3f 4c a4 1e 3f 00 d7 23 bc 96 c7 f1 3e 5e 01 2f bd 00 00 00 00 00 c4 7f 3f 16 37 5a 3f 90 16 | w?L..?..#....>^./........?.7Z?.. |
15c0 | 77 3f ac f9 c3 be 00 d7 23 bc 15 ac 1e bf 00 c4 7f bf 00 00 00 00 5e 01 2f bd 21 37 5a 3f d0 85 | w?......#.............^./.!7Z?.. |
15e0 | 19 3d a8 f9 c3 be 10 d7 23 3d 12 ac 1e bf a2 d3 50 bf 28 cd 13 3f 1e e1 0e bd e3 39 62 3f 20 86 | .=......#=......P.(..?.....9b?.. |
1600 | 19 3d 4a a4 1e 3f 10 d7 23 3d 96 c7 f1 3e 1e e1 0e bd 28 cb 13 3f a2 d3 50 3f c5 39 62 3f 8f 16 | .=J..?..#=...>....(..?..P?.9b?.. |
1620 | 77 3f b8 b6 96 be 10 d7 23 3d 46 72 33 bf 1e e1 0e 3d 28 cd 13 3f a2 d3 50 bf 89 73 75 3f 60 86 | w?......#=Fr3....=(..?..P..su?`. |
1640 | 19 3d a8 f9 c3 be 10 d7 23 3d 12 ac 1e bf a2 d3 50 bf 28 cd 13 3f 1e e1 0e bd e3 39 62 3f 20 86 | .=......#=......P.(..?.....9b?.. |
1660 | 19 3d ac f9 c3 be 00 d7 23 bc 15 ac 1e bf 00 c4 7f bf 00 00 00 00 5e 01 2f bd e5 39 62 3f 00 d9 | .=......#.............^./..9b?.. |
1680 | ca 3b c0 b6 96 be 00 d7 23 bc 4b 72 33 bf 5e 01 2f 3d 00 00 00 00 00 c4 7f bf 8b 73 75 3f 00 db | .;......#.Kr3.^./=.........su?.. |
16a0 | ca 3b 7c 1d 20 3e 10 d7 23 3d 22 e0 85 bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | .;|..>..#="......=(..?..N..su?`. |
16c0 | 19 3d 40 ea 77 3d 10 d7 23 3d 68 43 79 bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | .=@.w=..#=hCy...N.(..?.....9b?.. |
16e0 | 19 3d 10 ea 77 3d 00 d7 23 bc 6f 43 79 bf fb 81 7d bf 00 00 00 00 1d 81 0e be e5 39 62 3f 00 d9 | .=..w=..#.oCy...}..........9b?.. |
1700 | ca 3b 70 1d 20 3e 00 d7 23 bc 24 e0 85 bf 1d 81 0e 3e 00 00 00 00 fb 81 7d bf 8b 73 75 3f 00 db | .;p..>..#.$......>......}..su?.. |
1720 | ca 3b d6 e0 73 3f 00 d7 23 bc 34 3f 57 3e 1d 81 0e be 00 00 00 00 fb 81 7d 3f 16 37 5a 3f 90 16 | .;..s?..#.4?W>..........}?.7Z?.. |
1740 | 77 3f 10 ea 77 3d 00 d7 23 bc 6f 43 79 bf fb 81 7d bf 00 00 00 00 1d 81 0e be 21 37 5a 3f d0 85 | w?..w=..#.oCy...}.........!7Z?.. |
1760 | 19 3d 40 ea 77 3d 10 d7 23 3d 68 43 79 bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | .=@.w=..#=hCy...N.(..?.....9b?.. |
1780 | 19 3d d4 e0 73 3f 10 d7 23 3d 2c 3f 57 3e d1 b1 e8 bd 28 cb 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | .=..s?..#=,?W>....(..?..N?.9b?.. |
17a0 | 77 3f c7 34 86 3f 00 d7 23 bc b4 4b 0d 3e fb 81 7d 3f 00 00 00 00 1d 81 0e 3e 78 73 75 3f 4d 19 | w?.4.?..#..K.>..}?.......>xsu?M. |
17c0 | 7f 3f d6 e0 73 3f 00 d7 23 bc 34 3f 57 3e 1d 81 0e be 00 00 00 00 fb 81 7d 3f c1 39 62 3f 44 19 | .?..s?..#.4?W>..........}?.9b?D. |
17e0 | 7f 3f d4 e0 73 3f 10 d7 23 3d 2c 3f 57 3e d1 b1 e8 bd 28 cb 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | .?..s?..#=,?W>....(..?..N?.9b?.. |
1800 | 77 3f c9 34 86 3f 10 d7 23 3d d8 4b 0d 3e 9e fb 4e 3f 28 cd 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | w?.4.?..#=.K.>..N?(..?...=zsu?.. |
1820 | 77 3f 70 1d 20 3e 00 d7 23 bc 24 e0 85 bf 1d 81 0e 3e 00 00 00 00 fb 81 7d bf 39 76 7d 3f 10 86 | w?p..>..#.$......>......}.9v}?.. |
1840 | 19 3d c7 34 86 3f 00 d7 23 bc b4 4b 0d 3e fb 81 7d 3f 00 00 00 00 1d 81 0e 3e 3b 76 7d 3f 92 16 | .=.4.?..#..K.>..}?.......>;v}?.. |
1860 | 77 3f c9 34 86 3f 10 d7 23 3d d8 4b 0d 3e 9e fb 4e 3f 28 cd 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | w?.4.?..#=.K.>..N?(..?...=zsu?.. |
1880 | 77 3f 7c 1d 20 3e 10 d7 23 3d 22 e0 85 bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | w?|..>..#="......=(..?..N..su?`. |
18a0 | 19 3d 7c 1d 20 3e 10 d7 23 3d 22 e0 85 bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | .=|..>..#="......=(..?..N..su?`. |
18c0 | 19 3d c9 34 86 3f 10 d7 23 3d d8 4b 0d 3e 9e fb 4e 3f 28 cd 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | .=.4.?..#=.K.>..N?(..?...=zsu?.. |
18e0 | 77 3f d4 e0 73 3f 10 d7 23 3d 2c 3f 57 3e d1 b1 e8 bd 28 cb 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | w?..s?..#=,?W>....(..?..N?.9b?.. |
1900 | 77 3f 40 ea 77 3d 10 d7 23 3d 68 43 79 bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | w?@.w=..#=hCy...N.(..?.....9b?.. |
1920 | 19 3d 59 6d c2 3e 10 d7 23 3d e4 6b 9b bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | .=Ym.>..#=.k.....=(..?..N..su?`. |
1940 | 19 3d e1 5b 91 3e 10 d7 23 3d 77 2d 92 bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | .=.[.>..#=w-....N.(..?.....9b?.. |
1960 | 19 3d dc 5b 91 3e 00 d7 23 bc 78 2d 92 bf fb 81 7d bf 00 00 00 00 1d 81 0e be e5 39 62 3f 00 d9 | .=.[.>..#.x-....}..........9b?.. |
1980 | ca 3b 4e 6d c2 3e 00 d7 23 bc e6 6b 9b bf 1d 81 0e 3e 00 00 00 00 fb 81 7d bf 8b 73 75 3f 00 db | .;Nm.>..#..k.....>......}..su?.. |
19a0 | ca 3b 11 88 96 3f 00 d7 23 bc 80 84 2b 3d 1d 81 0e be 00 00 00 00 fb 81 7d 3f 16 37 5a 3f 90 16 | .;...?..#...+=..........}?.7Z?.. |
19c0 | 77 3f dc 5b 91 3e 00 d7 23 bc 78 2d 92 bf fb 81 7d bf 00 00 00 00 1d 81 0e be 21 37 5a 3f d0 85 | w?.[.>..#.x-....}.........!7Z?.. |
19e0 | 19 3d e1 5b 91 3e 10 d7 23 3d 77 2d 92 bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | .=.[.>..#=w-....N.(..?.....9b?.. |
1a00 | 19 3d 10 88 96 3f 10 d7 23 3d 70 84 2b 3d d1 b1 e8 bd 28 cb 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | .=...?..#=p.+=....(..?..N?.9b?.. |
1a20 | 77 3f 6e cc a2 3f 00 d7 23 bc c0 92 f8 bc fb 81 7d 3f 00 00 00 00 1d 81 0e 3e 78 73 75 3f 4d 19 | w?n..?..#.......}?.......>xsu?M. |
1a40 | 7f 3f 11 88 96 3f 00 d7 23 bc 80 84 2b 3d 1d 81 0e be 00 00 00 00 fb 81 7d 3f c1 39 62 3f 44 19 | .?...?..#...+=..........}?.9b?D. |
1a60 | 7f 3f 10 88 96 3f 10 d7 23 3d 70 84 2b 3d d1 b1 e8 bd 28 cb 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | .?...?..#=p.+=....(..?..N?.9b?.. |
1a80 | 77 3f 70 cc a2 3f 10 d7 23 3d c0 91 f8 bc 9e fb 4e 3f 28 cb 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | w?p..?..#=......N?(..?...=zsu?.. |
1aa0 | 77 3f 4e 6d c2 3e 00 d7 23 bc e6 6b 9b bf 1d 81 0e 3e 00 00 00 00 fb 81 7d bf 39 76 7d 3f 10 86 | w?Nm.>..#..k.....>......}.9v}?.. |
1ac0 | 19 3d 6e cc a2 3f 00 d7 23 bc c0 92 f8 bc fb 81 7d 3f 00 00 00 00 1d 81 0e 3e 3b 76 7d 3f 92 16 | .=n..?..#.......}?.......>;v}?.. |
1ae0 | 77 3f 70 cc a2 3f 10 d7 23 3d c0 91 f8 bc 9e fb 4e 3f 28 cb 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | w?p..?..#=......N?(..?...=zsu?.. |
1b00 | 77 3f 59 6d c2 3e 10 d7 23 3d e4 6b 9b bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | w?Ym.>..#=.k.....=(..?..N..su?`. |
1b20 | 19 3d 59 6d c2 3e 10 d7 23 3d e4 6b 9b bf d1 b1 e8 3d 28 cd 13 3f 9e fb 4e bf 89 73 75 3f 60 86 | .=Ym.>..#=.k.....=(..?..N..su?`. |
1b40 | 19 3d 70 cc a2 3f 10 d7 23 3d c0 91 f8 bc 9e fb 4e 3f 28 cb 13 3f d1 b1 e8 3d 7a 73 75 3f 97 16 | .=p..?..#=......N?(..?...=zsu?.. |
1b60 | 77 3f 10 88 96 3f 10 d7 23 3d 70 84 2b 3d d1 b1 e8 bd 28 cb 13 3f 9e fb 4e 3f c5 39 62 3f 8f 16 | w?...?..#=p.+=....(..?..N?.9b?.. |
1b80 | 77 3f e1 5b 91 3e 10 d7 23 3d 77 2d 92 bf 9e fb 4e bf 28 cd 13 3f d1 b1 e8 bd e3 39 62 3f 20 86 | w?.[.>..#=w-....N.(..?.....9b?.. |
1ba0 | 19 3d 04 ec 84 3f d0 a4 75 3d 48 b2 16 be 00 21 00 3f 31 b9 18 3f 41 99 20 3f 25 b0 11 3f 1c bf | .=...?..u=H....!.?1..?A..?%..?.. |
1bc0 | 39 3e 50 f9 84 3f a0 38 e1 3d e0 f8 17 be ea ed f4 3e 49 55 24 bf 33 65 19 3f 71 ad 09 3f 1c bf | 9>P..?.8.=.......>IU$.3e.?q..?.. |
1be0 | 39 3e 6a bd 98 3f b0 47 e1 3d 72 a3 8c be d8 1f 6c 3f 28 e5 93 be 07 45 83 be 6e ad 09 3f c8 e0 | 9>j..?.G.=r.....l?(....E..n..?.. |
1c00 | 9d 3d 6a bd 98 3f 90 c2 75 3d 72 a3 8c be df 89 6f 3f 24 fd 91 3e a9 b1 54 be 23 b0 11 3f c8 e0 | .=j..?..u=r.....o?$..>..T.#..?.. |
1c20 | 9d 3d 52 bb 7c 3f 48 c1 23 3d 68 fc 63 be 87 49 43 be e7 57 73 3f f6 e1 7a be 06 c1 ae 3e 30 bf | .=R.|?H.#=h.c..IC..Ws?..z....>0. |
1c40 | 39 3e 27 14 92 3f 08 d7 23 3d 48 ff af be da 01 ed bc de f9 6e 3f 6e f9 b6 be 09 c1 ae 3e f0 e0 | 9>'..?..#=H.........n?n......>.. |
1c60 | 9d 3d 34 d6 96 3f 90 c2 75 3d b4 bd 96 be c6 0d e3 3e 32 29 99 3e b1 49 58 bf 80 8e c3 3e e8 e0 | .=4..?..u=.......>2).>.IX....>.. |
1c80 | 9d 3d df 34 83 3f d0 aa 75 3d 94 4c 32 be fc fd fd be 2c f3 15 3f 48 11 24 bf 81 8e c3 3e 28 bf | .=.4.?..u=.L2.....,..?H.$....>(. |
1ca0 | 39 3e 27 14 92 3f 08 d7 23 3d 48 ff af be da 01 ed bc de f9 6e 3f 6e f9 b6 be 64 b7 db 3e c0 ac | 9>'..?..#=H.........n?n...d..>.. |
1cc0 | 6d 3c 76 7f 9d 3f 08 d7 23 3d b0 c3 66 be 60 35 b0 3e dd 67 6e 3f e8 31 f4 3d 96 9b 05 3f c0 ab | m<v..?..#=..f.`5.>.gn?.1.=...?.. |
1ce0 | 6d 3c 6a bd 98 3f 90 c2 75 3d 72 a3 8c be df 89 6f 3f 24 fd 91 3e a9 b1 54 be 99 6c f7 3e 20 5f | m<j..?..u=r.....o?$..>..T..l.>._ |
1d00 | dd 3c 34 d6 96 3f 90 c2 75 3d b4 bd 96 be c6 0d e3 3e 32 29 99 3e b1 49 58 bf fa 81 ef 3e 20 5f | .<4..?..u=.......>2).>.IX....>._ |
1d20 | dd 3c c4 b8 c0 3e c0 b7 23 3d 9f bf 04 3f 01 65 80 3e e8 cb 73 3f 64 c9 31 3e ea 16 1c 3f 7c 3e | .<...>..#=...?.e.>..s?d.1>...?|> |
1d40 | 19 3f 14 a0 8e 3e 08 d7 23 3d 74 ae 32 3f 6a 21 35 3e de c5 6e 3f 42 dd a0 3e ea 16 1c 3f 29 f2 | .?...>..#=t.2?j!5>..n?B..>...?). |
1d60 | 33 3f b8 dd 64 3e 90 c2 75 3d 7e 84 2b 3f 37 81 1b bd 27 6d 93 3e ea f5 74 3f 2e b0 11 3f 2a f2 | 3?..d>..u=~.+?7...'m.>..t?...?*. |
1d80 | 33 3f 60 e1 a4 3e e8 aa 75 3d 03 a1 f9 3e 5b 85 2d 3f 25 4f 12 3f da c9 ec 3e 2c b0 11 3f 7d 3e | 3?`..>..u=...>[.-?%O.?...>,..?}> |
1da0 | 19 3f e4 4f 4e 3e 90 c2 75 3d eb a6 28 3f 82 0b 41 bf 33 a9 99 3e 2b 8b 15 3f 3e 82 ef 3e 51 c3 | .?.ON>..u=..(?..A.3..>+..?>..>Q. |
1dc0 | 40 3f b8 dd 64 3e 90 c2 75 3d 7e 84 2b 3f 37 81 1b bd 27 6d 93 3e ea f5 74 3f e0 6c f7 3e 50 c3 | @?..d>..u=~.+?7...'m.>..t?.l.>P. |
1de0 | 40 3f 14 a0 8e 3e 08 d7 23 3d 74 ae 32 3f 6a 21 35 3e de c5 6e 3f 42 dd a0 3e b8 9b 05 3f 96 f7 | @?...>..#=t.2?j!5>..n?B..>...?.. |
1e00 | 43 3f 60 ed 15 3e 08 d7 23 3d f8 7c 21 3f 6c d5 b5 be de 23 6f 3f 1c e1 0d 3d b8 b7 db 3e 9a f7 | C?`..>..#=.|!?l....#o?...=...>.. |
1e20 | 43 3f b8 dd 64 3e b0 47 e1 3d 7e 84 2b 3f 6f b1 b7 bd 2e 0d 97 be e7 85 73 3f de 6c f7 3e 98 c0 | C?..d>.G.=~.+?o.........s?.l.>.. |
1e40 | 38 3f b8 dd 64 3e 90 c2 75 3d 7e 84 2b 3f 37 81 1b bd 27 6d 93 3e ea f5 74 3f e0 6c f7 3e 50 c3 | 8?..d>..u=~.+?7...'m.>..t?.l.>P. |
1e60 | 40 3f e4 4f 4e 3e 90 c2 75 3d eb a6 28 3f 82 0b 41 bf 33 a9 99 3e 2b 8b 15 3f 3e 82 ef 3e 51 c3 | @?.ON>..u=..(?..A.3..>+..?>..>Q. |
1e80 | 40 3f e4 4f 4e 3e b0 47 e1 3d eb a6 28 3f 6f b7 37 bf 3b 45 9d be 40 ff 1f 3f 3c 82 ef 3e 99 c0 | @?.ON>.G.=..(?o.7.;E..@..?<..>.. |
1ea0 | 38 3f df 34 83 3f d0 aa 75 3d 94 4c 32 be fc fd fd be 2c f3 15 3f 48 11 24 bf 81 8e c3 3e 28 bf | 8?.4.?..u=.L2.....,..?H.$....>(. |
1ec0 | 39 3e 34 d6 96 3f 90 c2 75 3d b4 bd 96 be c6 0d e3 3e 32 29 99 3e b1 49 58 bf 80 8e c3 3e e8 e0 | 9>4..?..u=.......>2).>.IX....>.. |
1ee0 | 9d 3d 34 d6 96 3f b0 47 e1 3d b4 bd 96 be f4 29 fa 3e 3a c9 9c be a2 25 51 bf e1 93 d3 3e d8 e0 | .=4..?.G.=.....).>:....%Q....>.. |
1f00 | 9d 3d df 34 83 3f d0 3b e1 3d 94 4c 32 be df b9 ef be 49 a1 24 bf 36 1d 1b bf e4 93 d3 3e 20 bf | .=.4.?.;.=.L2.....I.$.6......>.. |
1f20 | 39 3e 6a bd 98 3f 90 c2 75 3d 72 a3 8c be df 89 6f 3f 24 fd 91 3e a9 b1 54 be 99 6c f7 3e 20 5f | 9>j..?..u=r.....o?$..>..T..l.>._ |
1f40 | dd 3c 6a bd 98 3f b0 47 e1 3d 72 a3 8c be d8 1f 6c 3f 28 e5 93 be 07 45 83 be 9a 6c f7 3e f0 da | .<j..?.G.=r.....l?(....E...l.>.. |
1f60 | 6e 3d 34 d6 96 3f b0 47 e1 3d b4 bd 96 be f4 29 fa 3e 3a c9 9c be a2 25 51 bf fb 81 ef 3e 00 db | n=4..?.G.=.....).>:....%Q....>.. |
1f80 | 6e 3d 34 d6 96 3f 90 c2 75 3d b4 bd 96 be c6 0d e3 3e 32 29 99 3e b1 49 58 bf fa 81 ef 3e 20 5f | n=4..?..u=.......>2).>.IX....>._ |
1fa0 | dd 3c 50 f9 84 3f a0 38 e1 3d e0 f8 17 be ea ed f4 3e 49 55 24 bf 33 65 19 3f 71 ad 09 3f 1c bf | .<P..?.8.=.......>IU$.3e.?q..?.. |
1fc0 | 39 3e af 6e 87 3f ac 76 eb 3d 94 e8 00 be e5 b9 f2 3e 49 b9 24 bf 34 d9 19 3f 50 aa 04 3f 24 bf | 9>.n.?.v.=.......>I.$.4..?P..?$. |
1fe0 | 39 3e 6f 1e 9b 3f 20 85 eb 3d a4 02 80 be af 63 57 3f 0d 73 06 bf 05 59 02 3e 4c aa 04 3f
INodeDefManager *ndef = env->getGameDef()->ndef();
// parameters
v3s16 pos = read_v3s16(L, 1);
MapNode n = readnode(L, 2, ndef);
// Do it
bool succeeded = env->setNode(pos, n);
lua_pushboolean(L, succeeded);
return 1;
}
int ModApiEnvMod::l_add_node(lua_State *L)
{
return l_set_node(L);
}
// remove_node(pos)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_remove_node(lua_State *L)
{
GET_ENV_PTR;
// parameters
v3s16 pos = read_v3s16(L, 1);
// Do it
bool succeeded = env->removeNode(pos);
lua_pushboolean(L, succeeded);
return 1;
}
// swap_node(pos, node)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_swap_node(lua_State *L)
{
GET_ENV_PTR;
INodeDefManager *ndef = env->getGameDef()->ndef();
// parameters
v3s16 pos = read_v3s16(L, 1);
MapNode n = readnode(L, 2, ndef);
// Do it
bool succeeded = env->swapNode(pos, n);
lua_pushboolean(L, succeeded);
return 1;
}
// get_node(pos)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_get_node(lua_State *L)
{
GET_ENV_PTR;
// pos
v3s16 pos = read_v3s16(L, 1);
// Do it
MapNode n = env->getMap().getNodeNoEx(pos);
// Return node
pushnode(L, n, env->getGameDef()->ndef());
return 1;
}
// get_node_or_nil(pos)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_get_node_or_nil(lua_State *L)
{
GET_ENV_PTR;
// pos
v3s16 pos = read_v3s16(L, 1);
// Do it
bool pos_ok;
MapNode n = env->getMap().getNodeNoEx(pos, &pos_ok);
if (pos_ok) {
// Return node
pushnode(L, n, env->getGameDef()->ndef());
} else {
lua_pushnil(L);
}
return 1;
}
// get_node_light(pos, timeofday)
// pos = {x=num, y=num, z=num}
// timeofday: nil = current time, 0 = night, 0.5 = day
int ModApiEnvMod::l_get_node_light(lua_State *L)
{
GET_ENV_PTR;
// Do it
v3s16 pos = read_v3s16(L, 1);
u32 time_of_day = env->getTimeOfDay();
if(lua_isnumber(L, 2))
time_of_day = 24000.0 * lua_tonumber(L, 2);
time_of_day %= 24000;
u32 dnr = time_to_daynight_ratio(time_of_day, true);
bool is_position_ok;
MapNode n = env->getMapw?...?..#=...?.7F?(..?.....9b?.. | |
25a0 | 19 3d 1c 3e f0 3e 00 d7 23 bc ec 52 38 3f 45 75 a2 3e 00 00 00 00 e6 c3 72 3f 39 76 7d 3f 10 86 | .=.>.>..#..R8?Eu.>......r?9v}?.. |
25c0 | 19 3d 97 7f 5b bf 00 d7 23 bc 20 ef 6f 3d e6 c3 72 bf 00 00 00 00 45 75 a2 3e 3b 76 7d 3f 92 16 | .=..[...#...o=..r.....Eu.>;v}?.. |
25e0 | 77 3f 9e 7f 5b bf 10 d7 23 3d c0 ee 6f 3d 8c 37 46 bf 28 cd 13 3f 09 a5 84 3e 7a 73 75 3f 97 16 | w?..[...#=..o=.7F.(..?...>zsu?.. |
2600 | 77 3f 14 3e f0 3e 10 d7 23 3d ea 52 38 3f 09 a5 84 3e 28 cd 13 3f 8c 37 46 3f 89 73 75 3f 60 86 | w?.>.>..#=.R8?...>(..?.7F?.su?`. |
2620 | 19 3d 97 7f 5b bf 00 d7 23 bc 20 ef 6f 3d e6 c3 72 bf 00 00 00 00 45 75 a2 3e 78 73 75 3f 4d 19 | .=..[...#...o=..r.....Eu.>xsu?M. |
2640 | 7f 3f 8f ca 4d bf 00 d7 23 bc c0 f1 47 bd 45 75 a2 be 00 00 00 00 e6 c3 72 bf c1 39 62 3f 44 19 | .?..M...#...G.Eu........r..9b?D. |
2660 | 7f 3f 8d ca 4d bf 10 d7 23 3d c0 f1 47 bd 09 a5 84 be 28 cd 13 3f 8c 37 46 bf c5 39 62 3f 8f 16 | .?..M...#=..G.....(..?.7F..9b?.. |
2680 | 77 3f 9e 7f 5b bf 10 d7 23 3d c0 ee 6f 3d 8c 37 46 bf 28 cd 13 3f 09 a5 84 3e 7a 73 75 3f 97 16 | w?..[...#=..o=.7F.(..?...>zsu?.. |
26a0 | 77 3f 8f ca 4d bf 00 d7 23 bc c0 f1 47 bd 45 75 a2 be 00 00 00 00 e6 c3 72 bf 16 37 5a 3f 90 16 | w?..M...#...G.Eu........r..7Z?.. |
26c0 | 77 3f 1e d4 05 3f 00 d7 23 bc e1 d4 1c 3f e6 c3 72 3f 00 00 00 00 45 75 a2 be 21 37 5a 3f d0 85 | w?...?..#....?..r?....Eu..!7Z?.. |
26e0 | 19 3d 18 d4 05 3f 10 d7 23 3d e0 d4 1c 3f 8c 37 46 3f 28 cd 13 3f 09 a5 84 be e3 39 62 3f 20 86 | .=...?..#=...?.7F?(..?.....9b?.. |
2700 | 19 3d 8d ca 4d bf 10 d7 23 3d c0 f1 47 bd 09 a5 84 be 28 cd 13 3f 8c 37 46 bf c5 39 62 3f 8f 16 | .=..M...#=..G.....(..?.7F..9b?.. |
2720 | 77 3f 14 3e f0 3e 10 d7 23 3d ea 52 38 3f 09 a5 84 3e 28 cd 13 3f 8c 37 46 3f 89 73 75 3f 60 86 | w?.>.>..#=.R8?...>(..?.7F?.su?`. |
2740 | 19 3d 18 d4 05 3f 10 d7 23 3d e0 d4 1c 3f 8c 37 46 3f 28 cd 13 3f 09 a5 84 be e3 39 62 3f 20 86 | .=...?..#=...?.7F?(..?.....9b?..
if(n_old.getContent() == CONTENT_IGNORE){
lua_pushboolean(L, false);
return 1;
}
// Create item to place
ItemStack item(ndef->get(n).name, 1, 0, idef);
// Make pointed position
PointedThing pointed;
pointed.type = POINTEDTHING_NODE;
pointed.node_abovesurface = pos;
pointed.node_undersurface = pos + v3s16(0,-1,0);
// Place it with a NULL placer (appears in Lua as a non-functional
// ObjectRef)
bool success = scriptIfaceItem->item_OnPlace(item, NULL, pointed);
lua_pushboolean(L, success);
return 1;
}
// dig_node(pos)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_dig_node(lua_State *L)
{
GET_ENV_PTR;
ScriptApiNode *scriptIfaceNode = getScriptApi<ScriptApiNode>(L);
v3s16 pos = read_v3s16(L, 1);
// Don't attempt to load non-loaded area as of now
MapNode n = env->getMap().getNodeNoEx(pos);
if(n.getContent() == CONTENT_IGNORE){
lua_pushboolean(L, false);
return 1;
}
// Dig it out with a NULL digger (appears in Lua as a
// non-functional ObjectRef)
bool success = scriptIfaceNode->node_on_dig(pos, n, NULL);
lua_pushboolean(L, success);
return 1;
}
// punch_node(pos)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_punch_node(lua_State *L)
{
GET_ENV_PTR;
ScriptApiNode *scriptIfaceNode = getScriptApi<ScriptApiNode>(L);
v3s16 pos = read_v3s16(L, 1);
// Don't attempt to load non-loaded area as of now
MapNode n = env->getMap().getNodeNoEx(pos);
if(n.getContent() == CONTENT_IGNORE){
lua_pushboolean(L, false);
return 1;
}
// Punch it with a NULL puncher (appears in Lua as a non-functional
// ObjectRef)
bool success = scriptIfaceNode->node_on_punch(pos, n, NULL, PointedThing());
lua_pushboolean(L, success);
return 1;
}
// get_node_max_level(pos)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_get_node_max_level(lua_State *L)
{
Environment *env = getEnv(L);
if (!env) {
return 0;
}
v3s16 pos = read_v3s16(L, 1);
MapNode n = env->getMap().getNodeNoEx(pos);
lua_pushnumber(L, n.getMaxLevel(env->getGameDef()->ndef()));
return 1;
}
// get_node_level(pos)
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_get_node_level(lua_State *L)
{
Environment *env = getEnv(L);
if (!env) {
return 0;
}
v3s16 pos = read_v3s16(L, 1);
MapNode n = env->getMap().getNodeNoEx(pos);
lua_pushnumber(L, n.getLevel(env->getGameDef()->ndef()));
return 1;
}
// set_node_level(pos, level)
// pos = {x=num, y=num, z=num}
// level: 0..63
int ModApiEnvMod::l_set_node_level(lua_State *L)
{
GET_ENV_PTR;
v3s16 pos = read_v3s16(L, 1);
u8 level = 1;
if(lua_isnumber(L, 2))
level = lua_tonumber(L, 2);
MapNode n = env->getMap().getNodeNoEx(pos);
lua_pushnumber(L, n.setLevel(env->getGameDef()->ndef(), level));
env->setNode(pos, n);
return 1;
}
// add_node_level(pos, level)
// pos = {x=num, y=num, z=num}
// level: 0..63
int ModApiEnvMod::l_add_node_level(lua_State *L)
{
GET_ENV_PTR;
v3s16 pos = read_v3s16(L, 1);
u8 level = 1;
if(lua_isnumber(L, 2))
level = lua_tonumber(L, 2);
MapNode n = env->getMap().getNodeNoEx(pos);
lua_pushnumber(L, n.addLevel(env->getGameDef()->ndef(), level));
env->setNode(pos, n);
return 1;
}
// find_nodes_with_meta(pos1, pos2)
int ModApiEnvMod::l_find_nodes_with_meta(lua_State *L)
{
GET_ENV_PTR;
std::vector<v3s16> positions = env->getMap().findNodesWithMetadata(
check_v3s16(L, 1), check_v3s16(L, 2));
lua_newtable(L);
for (size_t i = 0; i != positions.size(); i++) {
push_v3s16(L, positions[i]);
lua_rawseti(L, -2, i + 1);
}
return 1;
}
// get_meta(pos)
int ModApiEnvMod::l_get_meta(lua_State *L)
{
GET_ENV_PTR;
// Do it
v3s16 p = read_v3s16(L, 1);
NodeMetaRef::create(L, p, env);
return 1;
}
// get_node_timer(pos)
int ModApiEnvMod::l_get_node_timer(lua_State *L)
{
GET_ENV_PTR;
// Do it
v3s16 p = read_v3s16(L, 1);
NodeTimerRef::create(L, p, env);
return 1;
}
// add_entity(pos, entityname, [staticdata]) -> ObjectRef or nil
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_add_entity(lua_State *L)
{
GET_ENV_PTR;
// pos
v3f pos = checkFloatPos(L, 1);
// content
const char *name = luaL_checkstring(L, 2);
// staticdata
const char *staticdata = luaL_optstring(L, 3, "");
// Do it
ServerActiveObject *obj = new LuaEntitySAO(env, pos, name, staticdata);
int objectid = env->addActiveObject(obj);
// If failed to add, return nothing (reads as nil)
if(objectid == 0)
return 0;
// Return ObjectRef
getScriptApiBase(L)->objectrefGetOrCreate(L, obj);
return 1;
}
// add_item(pos, itemstack or itemstring or table) -> ObjectRef or nil
// pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_add_item(lua_State *L)
{
GET_ENV_PTR;
// pos
//v3f pos = checkFloatPos(L, 1);
// item
ItemStack item = read_item(L, 2,getServer(L)->idef());
if(item.empty() || !item.isKnown(getServer(L)->idef()))
return 0;
int error_handler = PUSH_ERROR_HANDLER(L);
// Use spawn_item to spawn a __builtin:item
lua_getglobal(L, "core");
lua_getfield(L, -1, "spawn_item");
lua_remove(L, -2); // Remove core
if(lua_isnil(L, -1))
return 0;
lua_pushvalue(L, 1);
lua_pushstring(L, item.getItemString().c_str());
PCALL_RESL(L, lua_pcall(L, 2, 1, error_handler));
lua_remove(L, error_handler);
return 1;
}
// get_player_by_name(name)
int ModApiEnvMod::l_get_player_by_name(lua_State *L)
{
GET_ENV_PTR;
// Do it
const char *name = luaL_checkstring(L, 1);
RemotePlayer *player = dynamic_cast<RemotePlayer *>(env->getPlayer(name));
if (player == NULL){
lua_pushnil(L);
return 1;
}
PlayerSAO *sao = player->getPlayerSAO();
if(sao == NULL){
lua_pushnil(L);
return 1;
}
// Put player on stack
getScriptApiBase(L)->objectrefGetOrCreate(L, sao);
return 1;
}
// get_objects_inside_radius(pos, radius)
int ModApiEnvMod::l_get_objects_inside_radius(lua_State *L)
{
GET_ENV_PTR;
// Do it
v3f pos = checkFloatPos(L, 1);
float radius = luaL_checknumber(L, 2) * BS;
std::vector<u16> ids;
env->getObjectsInsideRadius(ids, pos, radius);
ScriptApiBase *script = getScriptApiBase(L);
lua_createtable(L, ids.size(), 0);
std::vector<u16>::const_iterator iter = ids.begin();
for(u32 i = 0; iter != ids.end(); iter++) {
ServerActiveObject *obj = env->getActiveObject(*iter);
// Insert object reference into table
script->objectrefGetOrCreate(L, obj);
lua_rawseti(L, -2, ++i);
}
return 1;
}
// set_timeofday(val)
// val = 0...1
int ModApiEnvMod::l_set_timeofday(lua_State *L)
{
GET_ENV_PTR;
// Do it
float timeofday_f = luaL_checknumber(L, 1);
sanity_check(timeofday_f >= 0.0 && timeofday_f <= 1.0);
int timeofday_mh = (int)(timeofday_f * 24000.0);
// This should be set directly in the environment but currently
// such changes aren't immediately sent to the clients, so call
// the server instead.
//env->setTimeOfDay(timeofday_mh);
getServer(L)->setTimeOfDay(timeofday_mh);
return 0;
}
// get_timeofday() -> 0...1
int ModApiEnvMod::l_get_timeofday(lua_State *L)
{
Environment *env = getEnv(L);
if (!env) {
return 0;
}
// Do it
int timeofday_mh = env->getTimeOfDay();
float timeofday_f = (float)timeofday_mh / 24000.0f;
lua_pushnumber(L, timeofday_f);
return 1;
}
// get_day_count() -> int
int ModApiEnvMod::l_get_day_count(lua_State *L)
{
Environment *env = getEnv(L);
if (!env) {
return 0;
}
lua_pushnumber(L, env->getDayCount());
return 1;
}
// get_gametime()
int ModApiEnvMod::l_get_gametime(lua_State *L)
{
GET_ENV_PTR;
int game_time = env->getGameTime();
lua_pushnumber(L, game_time);
return 1;
}
// find_node_near(pos, radius, nodenames) -> pos or nil
// nodenames: eg. {"ignore", "group:tree"} or "default:dirt"
int ModApiEnvMod::l_find_node_near(lua_State *L)
{
Environment *env = getEnv(L);
if (!env) {
return 0;
}
INodeDefManager *ndef = getGameDef(L)->ndef();
v3s16 pos = read_v3s16(L, 1);
int radius = luaL_checkinteger(L, 2);
std::set<content_t> filter;
if(lua_istable(L, 3)){
int table = 3;
lua_pushnil(L);
while(lua_next(L, table) != 0){
// key at index -2 and value at index -1
luaL_checktype(L, -1, LUA_TSTRING);
ndef->getIds(lua_tostring(L, - | .>`..>..#=.|!?l....#o?...=...>.. |
3dc0 | 33 3f 70 9e 7b 3e 38 cc 23 3d 2a 5d e3 3e 04 d5 81 be e8 c7 73 3f 5c d1 2d be fc c0 ae 3e 81 3e | 3?p.{>8.#=*].>......s?\.-....>.> |
3de0 | 19 3f ae 8e 99 3e 20 b2 75 3d 45 35 f3 3e 50 fb 27 bf 38 e9 1b 3f c8 19 e4 be 87 8e c3 3e 80 3e | .?...>..u=E5.>P.'.8..?.......>.> |
3e00 | 19 3f e4 4f 4e 3e 90 c2 75 3d eb a6 28 3f 82 0b 41 bf 33 a9 99 3e 2b 8b 15 3f 89 8e c3 3e 2d f2 | .?.ON>..u=..(?..A.3..>+..?...>-. |
3e20 | 33 3f 70 9e 7b 3e 38 cc 23 3d 2a 5d e3 3e 04 d5 81 be e8 c7 73 3f 5c d1 2d be fc c0 ae 3e 81 3e | 3?p.{>8.#=*].>......s?\.-....>.> |
3e40 | 19 3f bb 39 d1 3e e0 e4 22 3d 12 27 7e 3e c3 89 61 be e7 89 73 3f b9 a1 5c be ff c0 ae 3e a8 15 | .?.9.>.."=.'~>..a...s?..\....>.. |
3e60 | fd 3e 22 fd ea 3e 68 ca 74 3d 4e 51 92 3e 22 f5 10 bf 35 75 1a 3f 1f bd 0f bf 86 8e c3 3e a4 15 | .>"..>h.t=NQ.>"...5u.?.......>.. |
3e80 | fd 3e ae 8e 99 3e 20 b2 75 3d 45 35 f3 3e 50 fb 27 bf 38 e9 1b 3f c8 19 e4 be 87 8e c3 3e 80 3e | .>...>..u=E5.>P.'.8..?.......>.> |
3ea0 | 19 3f bb 39 d1 3e e0 e4 22 3d 12 27 7e 3e c3 89 61 be e7 89 73 3f b9 a1 5c be ff c0 ae 3e a8 15 | .?.9.>.."=.'~>..a...s?..\....>.. |
3ec0 | fd 3e 86 58 1d 3f 68 1f 22 3d 60 68 92 3d 9b 81 4d be e6 1d 73 3f ec 31 76 be 01 c1 ae 3e 4c ae | .>.X.?h."=`h.=..M...s?.1v....>L. |
3ee0 | c7 3e e6 0c 29 3f f0 0a 74 3d 20 8f e5 3d 09 67 04 bf 2e db 16 3f 3e e5 1e bf 84 8e c3 3e 4a ae | .>..)?..t=...=.g.....?>......>J. |
3f00 | c7 3e 22 fd ea 3e 68 ca 74 3d 4e 51 92 3e 22 f5 10 bf 35 75 1a 3f 1f bd 0f bf 86 8e c3 3e a4 15 | .>"..>h.t=NQ.>"...5u.?.......>.. |
3f20 | fd 3e 86 58 1d 3f 68 1f 22 3d 60 68 92 3d 9b 81 4d be e6 1d 73 3f ec 31 76 be 01 c1 ae 3e 4c ae | .>.X.?h."=`h.=..M...s?.1v....>L. |
3f40 | c7 3e ec 7a 4f 3f 90 db 22 3d 18 c1 b0 bd 8f 49 47 be e6 13 73 3f f8 e1 7b be 04 c1 ae 3e f2 46 | .>.zO?.."=.....IG...s?..{....>.F |
3f60 | 92 3e 50 07 5a 3f 20 c7 74 3d 00 a7 2c bd ff 95 ff be 2d 9f 16 3f 46 d5 22 bf 82 8e c3 3e f0 46 | .>P.Z?..t=..,.....-..?F."....>.F |
3f80 | 92 3e e6 0c 29 3f f0 0a 74 3d 20 8f e5 3d 09 67 04 bf 2e db 16 3f 3e e5 1e bf 84 8e c3 3e 4a ae | .>..)?..t=...=.g.....?>......>J. |
3fa0 | c7 3e ec 7a 4f 3f 90 db 22 3d 18 c1 b0 bd 8f 49 47 be e6 13 73 3f f8 e1 7b be 04 c1 ae 3e f2 46 | .>.zO?.."=.....IG...s?..{....>.F |
3fc0 | 92 3e 52 bb 7c 3f 48 c1 23 3d 68 fc 63 be 87 49 43 be e7 57 73 3f f6 e1 7a be 06 c1 ae 3e 30 bf | .>R.|?H.#=h.c..IC..Ws?..z....>0. |
3fe0 | 39 3e df 34 83 3f d0 aa 75 3d 94 4c 32 be fc fd fd be 2c f3 15 3f 48 11 24 bf 81 8e c3 3e 28 bf | 9>.4.?..u=.L2.....,..?H.$....>(. |
4000 | 39 3e 50 07 5a 3f 20 c7 74 3d 00 a7 2c bd ff 95 ff be 2d 9f 16 3f 46 d5 22 bf 82 8e c3 3e f0 46 | 9>P.Z?..t=..,.....-..?F."....>.F |
4020 | 92 3e b8 dd 64 3e 90 c2 75 3d 7e 84 2b 3f 37 81 1b bd 27 6d 93 3e ea f5 74 3f 2e b0 11 3f 2a f2 | .>..d>..u=~.+?7...'m.>..t?...?*. |
4040 | 33 3f b8 dd 64 3e b0 47 e1 3d 7e 84 2b 3f 6f b1 b7 bd 2e 0d 97 be e7 85 73 3f 7e ad 09 3f 2a f2 | 3?..d>.G.=~.+?o.........s?~..?*. |
4060 | 33 3f 20 e0 a4 3e e8 3b e1 3d 88 a0 f9 3e 49 75 24 3f 42 c9 20 bf c2 d1 e0 3e 7b ad 09 3f 7c 3e | 3?...>.;.=...>Iu$?B......>{..?|> |
4080 | 19 3f 60 e1 a4 3e e8 aa 75 3d 03 a1 f9 3e 5b 85 2d 3f 25 4f 12 3f da c9 ec 3e 2c b0 11 3f 7d 3e | .?`..>..u=...>[.-?%O.?...>,..?}> |
40a0 | 19 3f 60 e1 a4 3e e8 aa 75 3d 03 a1 f9 3e 5b 85 2d 3f 25 4f 12 3f da c9 ec 3e 2c b0 11 3f 7d 3e | .?`..>..u=...>[.-?%O.?...>,..?}> |
40c0 | 19 3f 20 e0 a4 3e e8 3b e1 3d 88 a0 f9 3e 49 75 24 3f 42 c9 20 bf c2 d1 e0 3e 7b ad 09 3f 7c 3e | .?...>.;.=...>Iu$?B......>{..?|> |
40e0 | 19 3f 94 45 f5 3e 98 c7 e0 3d 98 04 9b 3e 19 b7 0c 3f 42 0b 21 bf 19 b5 0c 3f 78 ad 09 3f 9e 15 | .?.E.>...=...>...?B.!....?x..?.. |
4100 | fd 3e f0 81 f5 3e 58 bf 74 3d 0a c7 9a 3e 28 ef 13 3f 27 81 13 3f 28 f3 13 3f 2a b0 11 3f a0 15 | .>...>X.t=...>(..?'..?(..?*..?.. |
4120 | fd 3e f0 81 f5 3e 58 bf 74 3d 0a c7 9a 3e 28 ef 13 3f 27 81 13 3f 28 f3 13 3f 2a b0 11 3f a0 15 | .>...>X.t=...>(..?'..?(..?*..?.. |
4140 | fd 3e 94 45 f5 3e 98 c7 e0 3d 98 04 9b 3e 19 b7 0c 3f 42 0b 21 bf 19 b5 0c 3f 78 ad 09 3f 9e 15 | .>.E.>...=...>...?B.!....?x..?.. |
4160 | fd 3e 1e 1c 2d 3f e0 6b e0 3d 38 73 0a 3e f6 cd fa 3e 44 0d 22 bf 33 73 19 3f 76 ad 09 3f 42 ae | .>..-?.k.=8s.>...>D.".3s.?v..?B. |
4180 | c7 3e 98 ea 2c 3f f0 0a 74 3d 0c b4 0c 3e 05 91 02 3f 2f 93 17 3f 3f b9 1f 3f 28 b0 11 3f 44 ae | .>..,?..t=...>...?/..??..?(..?D. |
41a0 | c7 3e 98 ea 2c 3f f0 0a 74 3d 0c b4 0c 3e 05 91 02 3f 2f 93 17 3f 3f b9 1f 3f 28 b0 11 3f 44 ae | .>..,?..t=...>...?/..??..?(..?D. |
41c0 | c7 3e 1e 1c 2d 3f e0 6b e0 3d 38 73 0a 3e f6 cd fa 3e 44 0d 22 bf 33 73 19 3f 76 ad 09 3f 42 ae | .>..-?.k.=8s.>...>D.".3s.?v..?B. |
41e0 | c7 3e bc b5 5d 3f 04 c4 e0 3d 00 06 78 bc ea e9 f4 3e 43 97 21 bf 39 49 1c 3f 74 ad 09 3f e8 46 | .>..]?...=..x....>C.!.9I.?t..?.F |
4200 | 92 3e 5e 68 5d 3f b0 b9 74 3d 80 d5 39 bc f9 9d fc 3e 32 2f 19
for (s16 z = minp.Z; z <= maxp.Z; z++) {
v3s16 p(x, y, z);
content_t c = env->getMap().getNodeNoEx(p).getContent();
if (filter.count(c) != 0) {
push_v3s16(L, p);
lua_rawseti(L, -2, ++i);
individual_count[c]++;
}
}
lua_newtable(L);
for (std::set<content_t>::iterator it = filter.begin();
it != filter.end(); ++it) {
lua_pushnumber(L, individual_count[*it]);
lua_setfield(L, -2, ndef->get(*it).name.c_str());
}
return 2;
}
// find_nodes_in_area_under_air(minp, maxp, nodenames) -> list of positions
// nodenames: e.g. {"ignore", "group:tree"} or "default:dirt"
int ModApiEnvMod::l_find_nodes_in_area_under_air(lua_State *L)
{
/* Note: A similar but generalized (and therefore slower) version of this
* function could be created -- e.g. find_nodes_in_area_under -- which
* would accept a node name (or ID?) or list of names that the "above node"
* should be.
* TODO
*/
GET_ENV_PTR;
INodeDefManager *ndef = getServer(L)->ndef();
v3s16 minp = read_v3s16(L, 1);
v3s16 maxp = read_v3s16(L, 2);
std::set<content_t> filter;
if (lua_istable(L, 3)) {
int table = 3;
lua_pushnil(L);
while(lua_next(L, table) != 0) {
// key at index -2 and value at index -1
luaL_checktype(L, -1, LUA_TSTRING);
ndef->getIds(lua_tostring(L, -1), filter);
// removes value, keeps key for next iteration
lua_pop(L, 1);
}
} else if (lua_isstring(L, 3)) {
ndef->getIds(lua_tostring(L, 3), filter);
}
lua_newtable(L);
u64 i = 0;
for (s16 x = minp.X; x <= maxp.X; x++)
for (s16 z = minp.Z; z <= maxp.Z; z++) {
s16 y = minp.Y;
v3s16 p(x, y, z);
content_t c = env->getMap().getNodeNoEx(p).getContent();
for (; y <= maxp.Y; y++) {
v3s16 psurf(x, y + 1, z);
content_t csurf = env->getMap().getNodeNoEx(psurf).getContent();
if(c != CONTENT_AIR && csurf == CONTENT_AIR &&
filter.count(c) != 0) {
push_v3s16(L, v3s16(x, y, z));
lua_rawseti(L, -2, ++i);
}
c = csurf;
}
}
return 1;
}
// get_perlin(seeddiff, octaves, persistence, scale)
// returns world-specific PerlinNoise
int ModApiEnvMod::l_get_perlin(lua_State *L)
{
GET_ENV_PTR_NO_MAP_LOCK;
NoiseParams params;
if (lua_istable(L, 1)) {
read_noiseparams(L, 1, ¶ms);
} else {
params.seed = luaL_checkint(L, 1);
params.octaves = luaL_checkint(L, 2);
params.persist = luaL_checknumber(L, 3);
params.spread = v3f(1, 1, 1) * luaL_checknumber(L, 4);
}
params.seed += (int)env->getServerMap().getSeed();
LuaPerlinNoise *n = new LuaPerlinNoise(¶ms);
*(void **)(lua_newuserdata(L, sizeof(void *))) = n;
luaL_getmetatable(L, "PerlinNoise");
lua_setmetatable(L, -2);
return 1;
}
// get_perlin_map(noiseparams, size)
// returns world-specific PerlinNoiseMap
int ModApiEnvMod::l_get_perlin_map(lua_State *L*(void **)(lua_newuserdata(L, sizeof(void *))) = n;
luaL_getmetatable(L, "PerlinNoiseMap");
lua_setmetatable(L, -2);
return 1;
}
// get_voxel_manip()
// returns voxel manipulator
int ModApiEnvMod::l_get_voxel_manip(lua_State *L)
{
GET_ENV_PTR;
Map *map = &(env->getMap());
LuaVoxelManip *o = (lua_istable(L, 1) && lua_istable(L, 2)) ?
new LuaVoxelManip(map, read_v3s16(L, 1), read_v3s16(L, 2)) :
new LuaVoxelManip(map);
*(void **)(lua_newuserdata(L, sizeof(void *))) = o;
luaL_getmetatable(L, "VoxelManip");
lua_setmetatable(L, -2);
return 1;
}
// clear_objects([options])
// clear all objects in the environment
// where options = {mode = "full" or "quick"}
int ModApiEnvMod::l_clear_objects(lua_State *L)
{
GET_ENV_PTR;
ClearObjectsMode mode = CLEAR_OBJECTS_MODE_FULL;
if (lua_istable(L, 1)) {
mode = (ClearObjectsMode)getenumfield(L, 1, "mode",
ModApiEnvMod::es_ClearObjectsMode, mode);
}
env->clearObjects(mode);
return 0;
}
// line_of_sight(pos1, pos2, stepsize) -> true/false, pos
int ModApiEnvMod::l_line_of_sight(lua_State *L)
{
float stepsize = 1.0;
GET_ENV_PTR;
// read position 1 from lua
v3f pos1 = checkFloatPos(L, 1);
// read position 2 from lua
v3f pos2 = checkFloatPos(L, 2);
//read step size from lua
if (lua_isnumber(L, 3)) {
stepsize = lua_tonumber(L, 3);
}
v3s16 p;
bool success = env->line_of_sight(pos1, pos2, stepsize, &p);
lua_pushboolean(L, success);
if (!success) {
push_v3s16(L, p);
return 2;
}
return 1;
}
// emerge_area(p1, p2, [callback, context])
// emerge mapblocks in area p1..p2, calls callback with context upon completion
int ModApiEnvMod::l_emerge_area(lua_State *L)
{
GET_ENV_PTR;
EmergeCompletionCallback callback = NULL;
ScriptCallbackState *state = NULL;
EmergeManager *emerge = getServer(L)->getEmergeManager();
v3s16 bpmin = getNodeBlockPos(read_v3s16(L, 1));
v3s16 bpmax = getNodeBlockPos(read_v3s16(L, 2));
sortBoxVerticies(bpmin, bpmax);
size_t num_blocks = VoxelArea(bpmin, bpmax).getVolume();
assert(num_blocks != 0);
if (lua_isfunction(L, 3)) {
callback = LuaEmergeAreaCallback;
lua_pushvalue(L, 3);
int callback_ref = luaL_ref(L, LUA_REGISTRYINDEX);
lua_pushvalue(L, 4);
int args_ref = luaL_ref(L, LUA_REGISTRYINDEX);
state = new ScriptCallbackState;
state->script = getServer(L)->getScriptIface();
state->callback_ref = callback_ref;
state->args_ref = args_ref;
state->refcount = num_blocks;
state->origin = getScriptApiBase(L)->getOrigin();
}
for (s16 z = bpmin.Z; z <= bpmax.Z; z++)
for (s16 y = bpmin.Y; y <= bpmax.Y; y++)
for (s16 x = bpmin.X; x <= bpmax.X; x++) {
emerge->enqueueBlockEmergeEx(v3s16(x, y, z), PEER_ID_INEXISTENT,
BLOCK_EMERGE_ALLOW_GEN | BLOCK_EMERGE_FORCE_QUEUE, callback, state);
}
return 0;
}
// delete_area(p1, p2)
// delete mapblocks in area p1..p2
int ModApiEnvMod::l_delete_area(lua_State *L)
{
GET_ENV_PTR;
v3s16 bpmin = getNodeBlockPos(read_v3s16(L, 1));
v3s16 bpmax = getNodeBlockPos(read_v3s16(L, 2));
sortBoxVerticies(bpmin, bpmax);
ServerMap &map = env->getServerMap();
MapEditEvent event;
event.type = MEET_OTHER;
bool success = true;
for (s16 z = bpmin.Z; z <= bpmax.Z; z++)
for (s16 y = bpmin.Y; y <= bpmax.Y; y++)
for (s16 x = bpmin.X; x <= bpmax.X; x++) {
v3s16 bp(x, y, z);
if (map.deleteBlock(bp)) {
env->setStaticForActiveObjectsInBlock(bp, false);
event.modified_blocks.insert(bp);
} else {
success = false;
}
}
map.dispatchEvent(&event);
lua_pushboolean(L, success);
return 1;
}
// find_path(pos1, pos2, searchdistance,
// max_jump, max_drop, algorithm) -> table containing path
int ModApiEnvMod::l_find_path(lua_State *L)
{
GET_ENV_PTR;
v3s16 pos1 = read_v3s16(L, 1);
v3s16 pos2 = read_v3s16(L, 2);
unsigned int searchdistance = luaL_checkint(L, 3);
unsigned int max_jump = luaL_checkint(L, 4);
unsigned int max_drop = luaL_checkint(L, 5);
PathAlgorithm algo = PA_PLAIN_NP;
if (!lua_isnil(L, 6)) {
std::string algorithm = luaL_checkstring(L,6);
if (algorithm == "A*")
algo = PA_PLAIN;
if (algorithm == "Dijkstra")
algo = PA_DIJKSTRA;
}
std::vector<v3s16> path = get_path(env, pos1, pos2,
searchdistance, max_jump, max_drop, algo);
if (path.size() > 0)
{
lua_newtable(L);
int top = lua_gettop(L);
unsigned int index = 1;
for (std::vector<v3s16>::iterator i = path.begin(); i != path.end();i++)
{
lua_pushnumber(L,index);
push_v3s16(L, *i);
lua_settable(L, top);
index++;
}
return 1;
}
return 0;
}
// spawn_tree(pos, treedef)
int ModApiEnvMod::l_spawn_tree(lua_State *L)
{
GET_ENV_PTR;
v3s16 p0 = read_v3s16(L, 1);
treegen::TreeDef tree_def;
std::string trunk,leaves,fruit;
INodeDefManager *ndef = env->getGameDef()->ndef();
if(lua_istable(L, 2))
{
getstringfield(L, 2, "axiom", tree_def.initial_axiom);
getstringfield(L, 2, "rules_a", tree_def.rules_a);
getstringfield(L, 2, "rules_b", tree_def.rules_b);
getstringfield(L, 2, "rules_c", tree_def.rules_c);
getstringfield(L, 2, "rules_d", tree_def.rules_d);
getstringfield(L, 2, "trunk", trunk);
tree_def.trunknode=ndef->getId(trunk);
getstringfield(L, 2, "leaves", leaves);
tree_def.leavesnode=ndef->getId(leaves);
tree_def.leaves2_chance=0;
getstringfield(L, 2, "leaves2", leaves);
if (leaves !="")
{
tree_def.leaves2node=ndef->getId(leaves);
getintfield(L, 2, "leaves2_chance", tree_def.leaves2_chance);
}
getintfield(L, 2, "angle", tree_def.angle);
getintfield(L, 2, "iterations", tree_def.iterations);
if (!getintfield(L, 2, "random_level", tree_def.iterations_random_level))
tree_def.iterations_random_level = 0;
getstringfield(L, 2, "trunk_type", tree_def.trunk_type);
getboolfield(L, 2, "thin_branches", tree_def.thin_branches);
tree_def.fruit_chance=0;
getstringfield(L, 2, "fruit", fruit);
if (fruit != "")
{
tree_def.fruitnode=ndef->getId(fruit);
getintfield(L, 2, "fruit_chance",tree_def.fruit_chance);
}
tree_def.explicit_seed = getintfield(L, 2, "seed", tree_def.seed);
}
else
return 0;
treegen::error e;
if ((e = treegen::spawn_ltree (env, p0, ndef, tree_def)) != treegen::SUCCESS) {
if (e == treegen::UNBALANCED_BRACKETS) {
luaL_error(L, "spawn_tree(): closing ']' has no matching opening bracket");
} else {
luaL_error(L, "spawn_tree(): unknown error");
}
}
return 1;
}
// transforming_liquid_add(pos)
int ModApiEnvMod::l_transforming_liquid_add(lua_State *L)
{
GET_ENV_PTR;
v3s16 p0 = read_v3s16(L, 1);
env->getMap().transforming_liquid_add(p0);
return 1;
}
// forceload_block(blockpos)
// blockpos = {x=num, y=num, z=num}
int ModApiEnvMod::l_forceload_block(lua_State *L)
{
GET_ENV_PTR;
v3s16 blockpos = read_v3s16(L, 1);
env->getForceloadedBlocks()->insert(blockpos);
return 0;
}
// forceload_free_block(blockpos)
// blockpos = {x=num, y=num, z=num}
int ModApiEnvMod::l_forceload_free_block(lua_State *L)
{
GET_ENV_PTR;
v3s16 blockpos = read_v3s16(L, 1);
env->getForceloadedBlocks()->erase(blockpos);
return 0;
}
void ModApiEnvMod::Initialize(lua_State *L, int top)
{
API_FCT(set_node);
API_FCT(add_node);
API_FCT(swap_node);
API_FCT(add_item);
API_FCT(remove_node);
API_FCT(get_node);
API_FCT(get_node_or_nil);
API_FCT(get_node_light);
API_FCT(place_node);
API_FCT(dig_node);
API_FCT(punch_node);
API_FCT(get_node_max_level);
API_FCT(get_node_level);
API_FCT(set_node_level);
API_FCT(add_node_level);
API_FCT(add_entity);
API_FCT(find_nodes_with_meta);
API_FCT(get_meta);
API_FCT(get_node_timer);
API_FCT(get_player_by_name);
API_FCT(get_objects_inside_radius);
API_FCT(set_timeofday);
API_FCT(get_timeofday);
API_FCT(get_gametime);
API_FCT(get_day_count);
API_FCT(find_node_near);
API_FCT(find_nodes_in_area);
API_FCT(find_nodes_in_area_under_air);
API_FCT(emerge_area);
API_FCT(delete_area);
API_FCT(get_perlin);
API_FCT(get_perlin_map);
API_FCT(get_voxel_manip);
API_FCT(clear_objects);
API_FCT(spawn_tree);
API_FCT(find_path);
API_FCT(line_of_sight);
API_FCT(transforming_liquid_add);
API_FCT(forceload_block);
API_FCT(forceload_free_block);
}
void ModApiEnvMod::InitializeClient(lua_State *L, int top)
{
API_FCT(get_timeofday);
API_FCT(get_day_count);
API_FCT(get_node_max_level);
API_FCT(get_node_level);
API_FCT(find_node_near);
}
|