ofs | hex dump | ascii |
---|
0000 | 42 42 33 44 1d 33 00 00 01 00 00 00 54 45 58 53 36 00 00 00 61 64 76 74 72 61 69 6e 73 5f 72 65 | BB3D.3......TEXS6...advtrains_re |
0020 | 74 72 6f 73 69 67 6e 61 6c 2e 70 6e 67 00 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 | trosignal.png................... |
0040 | 80 3f 00 00 80 3f 00 00 00 00 42 52 55 53 2e 00 00 00 01 00 00 00 42 72 75 73 68 2e 30 30 31 00 | .?...?....BRUS........Brush.001. |
0060 | 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 00 00 00 00 | ...?...?...?...?................ |
0080 | 4e 4f 44 45 9d 32 00 00 43 75 62 65 2e 30 30 31 00 00 00 80 b0 00 00 00 00 00 00 00 00 fe ff 7f | NODE.2..Cube.001................ |
00a0 | 3f 00 00 80 3f 00 00 80 3f ea 40 6d 3e 2f b8 a5 bd bb 5b 66 bf 42 a6 b8 3e 4d 45 53 48 64 32 00 | ?...?...?.@m>/....[f.B..>MESHd2. |
00c0 | 00 ff ff ff ff 56 52 54 53 8c 2b 00 00 01 00 00 00 01 00 00 00 02 00 00 00 ae 3e cd bd bd b9 f1 | .....VRTS.+...............>..... |
00e0 | 3f 70 8a 81 bf 32 1b 19 bf 4e c1 a6 bc 9a 17 4d 3f 98 e5 52 3f f6 af 5f 3f 9e ea 63 bd 4e 0d 06 | ?p...2...N.....M?..R?.._?..c.N.. |
0100 | 3f a6 cd 1b c0 6f 6d 37 bf 07 af 03 bf e2 35 f1 3e 36 c7 86 3e ff af 5f 3f 1c f1 54 bd 0e 78 37 | ?....om7......5.>6..>.._?..T..x7 |
0120 | 3f 80 a6 27 c0 65 79 32 bf 03 97 01 3f 04 f1 01 bf 34 c7 86 3e 7d 38 4c 3f ed c1 c5 bd 8e 37 05 | ?..'.ey2....?....4..>}8L?.....7. |
0140 | 40 22 3c 99 bf 2a 11 15 bf a0 1d 50 3f 08 01 04 3b 96 e5 52 3f 77 38 4c 3f ed c1 c5 bd 8e 37 05 | @"<..*.....P?...;..R?w8L?.....7. |
0160 | 40 22 3c 99 bf 2a 11 15 bf a0 1d 50 3f 08 01 04 3b 96 e5 52 3f 77 38 4c 3f 6a bd ff bc c0 3d 05 | @"<..*.....P?...;..R?w8L?j....=. |
0180 | 40 ed 04 99 bf 25 6d 12 3f a4 d3 51 3f 04 21 02 3d 96 e5 52 3f 95 76 47 3f 38 d8 0e bd 20 c6 f1 | @....%m.?..Q?.!.=..R?.vG?8...... |
01a0 | 3f 3a 53 81 bf 1d 63 0e 3f c0 01 60 bc a9 b7 54 3f 18 5d 66 3f 94 76 47 3f ae 3e cd bd bd b9 f1 | ?:S...c.?..`...T?.]f?.vG?.>..... |
01c0 | 3f 70 8a 81 bf 32 1b 19 bf 4e c1 a6 bc 9a 17 4d 3f 18 5d 66 3f 77 38 4c 3f 6a bd ff bc c0 3d 05 | ?p...2...N.....M?.]f?w8L?j....=. |
01e0 | 40 ed 04 99 bf 25 6d 12 3f a4 d3 51 3f 04 21 02 3d 96 e5 52 3f 59 e9 77 3f 24 d0 5a 3c d6 90 37 | @....%m.?..Q?.!.=..R?Y.w?$.Z<..7 |
0200 | 3f e5 8a 27 c0 6f 6d 37 3f 07 af 03 3f e2 35 f1 be 34 c7 86 3e 4c e9 77 3f 1a ea 1e 3c 16 26 06 | ?..'.om7?...?.5..4..>L.w?...<.&. |
0220 | 3f 0c b2 1b c0 65 7b 32 3f 03 97 01 bf 04 f1 01 3f 3c c7 86 3e ce 71 64 3f 38 d8 0e bd 20 c6 f1 | ?....e{2?.......?<..>.qd?8...... |
0240 | 3f 3a 53 81 bf 1d 63 0e 3f c0 01 60 bc a9 b7 54 3f 99 e5 52 3f d8 71 64 3f 9e ea 63 bd 4e 0d 06 | ?:S...c.?..`...T?..R?.qd?..c.N.. |
0260 | 3f a6 cd 1b c0 6f 6d 37 bf 07 af 03 bf e2 35 f1 3e 36 c7 86 3e ff af 5f 3f ae 3e cd bd bd b9 f1 | ?....om7......5.>6..>.._?.>..... |
0280 | 3f 70 8a 81 bf 32 1b 19 bf 4e c1 a6 bc 9a 17 4d 3f 98 e5 52 3f f6 af 5f 3f 38 d8 0e bd 20 c6 f1 | ?p...2...N.....M?..R?.._?8...... |
02a0 | 3f 3a 53 81 bf 1d 63 0e 3f c0 01 60 bc a9 b7 54 3f 99 e5 52 3f d8 71 64 3f 1a ea 1e 3c 16 26 06 | ?:S...c.?..`...T?..R?.qd?...<.&. |
02c0 | 3f 0c b2 1b c0 65 7b 32 3f 03 97 01 bf 04 f1 01 3f 3c c7 86 3e ce 71 64 3f 24 d0 5a 3c d6 90 37 | ?....e{2?.......?<..>.qd?$.Z<..7 |
02e0 | 3f e5 8a 27 c0 6f 6d 37 3f 07 af 03 3f e2 35 f1 be 34 c7 86 3e af 76 47 3f 6a bd ff bc c0 3d 05 | ?..'.om7?...?.5..4..>.vG?j....=. |
0300 | 40 ed 04 99 bf 25 6d 12 3f a4 d3 51 3f 04 21 02 3d 96 e5 52 3f 95 76 47 3f ed c1 c5 bd 8e 37 05 | @....%m.?..Q?.!.=..R?.vG?.....7. |
0320 | 40 22 3c 99 bf 2a 11 15 bf a0 1d 50 3f 08 01 04 3b 96 e5 52 3f 77 38 4c 3f 1c f1 54 bd 0e 78 37 | @"<..*.....P?...;..R?w8L?..T..x7 |
0340 | 3f 80 a6 27 c0 65 79 32 bf 03 97 01 3f 04 f1 01 bf 34 c7 86 3e 7d 38 4c 3f 3a 0e 11 3d ee e7 46 | ?..'.ey2....?....4..>}8L?:..=..F |
0360 | 3f a5 13 29 c0 70 41 38 3f 21 45 90 3e 45 69 22 bf 89 fb 95 3e 14 47 2e 3f 0e 56 8d bd 72 47 47 | ?..).pA8?!E.>Ei"....>.G.?.V..rGG |
0380 | 3f 28 60 29 c0 4d 67 26 bf 36 29 9b 3e 65 65 32 bf fb c3 86 3e c4 46 2e 3f b7 66 8d bd 7a ad 3d | ?(`).Mg&.6).>ee2....>.F.?.f..z.= |
03a0 | 3f da 28 2a c0 4d 67 26 bf 57 99 2b 3e 7b bd 3d bf a9 c1 86 3e e2 25 31 3f f2 ec 10 3d f6 4d 3d | ?.(*.Mg&.W.+>{.=....>.%1?...=.M= |
03c0 | 3f 58 dc 29 c0 70 41 38 3f 2b 79 15 3e 5b bf 2d bf 2f f9 95 3e 34 26 31 3f c9 9f 0f 3d 46 b6 4f | ?X.).pA8?+y.>[.-./..>4&1?...=F.O |
03e0 | 3f 13 d7 27 c0 70 eb 37 3f a0 0d d0 3e 21 83 10 bf 09 fd 95 3e f6 67 2b 3f 48 0d 8e bd c8 15 50 | ?..'.p.7?...>!......>.g+?H.....P |
0400 | 3f 94 23 28 c0 4d bf 26 bf b6 c1 da 3e 41 83 20 bf 85 c5 86 3e a6 67 2b 3f 0e 56 8d bd 72 47 47 | ?.#(.M.&....>A......>.g+?.V..rGG |
0420 | 3f 28 60 29 c0 4d 67 26 bf 36 29 9b 3e 65 65 32 bf fb c3 86 3e c4 46 2e 3f 3a 0e 11 3d ee e7 46 | ?(`).Mg&.6).>ee2....>.F.?:..=..F |
0440 | 3f a5 13 29 c0 70 41 38 3f 21 45 90 3e 45 69 22 bf 89 fb 95 3e 14 47 2e 3f b2 af 0c 3d 58 62 57 | ?..).pA8?!E.>Ei"....>.G.?...=XbW |
0460 | 3f c8 32 26 c0 6e 3f 37 3f 08 d1 03 3f e3 79 f1 be b5 fd 95 3e d8 88 28 3f 53 85 8f bd d8 c1 57 | ?.2&.n?7?...?.y.....>..(?S.....W |
0480 | 3f 4a 7f 26 c0 4f 69 27 bf 12 17 09 3f 12 cb 08 bf 2f c6 86 3e 87 88 28 3f 48 0d 8e bd c8 15 50 | ?J.&.Oi'....?..../..>..(?H.....P |
04a0 | 3f 94 23 28 c0 4d bf 26 bf b6 c1 da 3e 41 83 20 bf 85 c5 86 3e a6 67 2b 3f c9 9f 0f 3d 46 b6 4f | ?.#(.M.&....>A......>.g+?...=F.O |
04c0 | 3f 13 d7 27 c0 70 eb 37 3f a0 0d d0 3e 21 83 10 bf 09 fd 95 3e f6 67 2b 3f 7a 5a 08 3d aa a0 5d | ?..'.p.7?...>!......>.g+?zZ.=..] |
04e0 | 3f ee 36 24 c0 6d 45 36 3f 35 6b 1a 3f 70 01 b8 be 7f fd 95 3e b8 a9 25 3f ee af 91 bd 29 00 5e | ?.6$.mE6?5k.?p......>..%?....).^ |
0500 | 3f 70 83 24 c0 51 63 28 bf 3f a5 1f 3f b0 41 d8 be f7 c5 86 3e 68 a9 25 3f 53 85 8f bd d8 c1 57 | ?p.$.Qc(.?..?.A.....>h.%?S.....W |
0520 | 3f 4a 7f 26 c0 4f 69 27 bf 12 17 09 3f 12 cb 08 bf 2f c6 86 3e 87 88 28 3f b2 af 0c 3d 58 62 57 | ?J.&.Oi'....?..../..>..(?...=XbW |
0540 | 3f c8 32 26 c0 6e 3f 37 3f 08 d1 03 3f e3 79 f1 be b5 fd 95 3e d8 88 28 3f 29 cb 02 3d d5 33 62 | ?.2&.n?7?...?.y.....>..(?)..=.3b |
0560 | 3f 08 f7 21 c0 6a 07 35 3f 56 f7 2a 3f db a9 6d be 6f fc 95 3e 9a ca 22 3f 98 77 94 bd 54 93 62 | ?..!.j.5?V.*?..m.o..>.."?.w..T.b |
0580 | 3f 8a 43 22 c0 53 9f 29 bf 60 2f 30 3f 2e 41 97 be e9 c4 86 3e 49 ca 22 3f ee af 91 bd 29 00 5e | ?.C".S.).`/0?.A.....>I."?....).^ |
05a0 | 3f 70 83 24 c0 51 63 28 bf 3f a5 1f 3f b0 41 d8 be f7 c5 86 3e 68 a9 25 3f 7a 5a 08 3d aa a0 5d | ?p.$.Qc(.?..?.A.....>h.%?zZ.=..] |
05c0 | 3f ee 36 24 c0 6d 45 36 3f 35 6b 1a 3f 70 01 b8 be 7f fd 95 3e b8 a9 25 3f cc 70 f8 3c cd ee 64 | ?.6$.mE6?5k.?p......>..%?.p.<..d |
05e0 | 3f 38 89 1f c0 67 91 33 3f 6a d5 34 3f 84 e1 c1 bd 91 fa 95 3e 7b eb 1f 3f fa c0 97 bd 4c 4e 65 | ?8...g.3?j.4?.......>{..?....LNe |
0600 | 3f ba d5 1f c0 56 15 2b bf 74 11 3a 3f 44 21 22 be 09 c3 86 3e 2a eb 1f 3f 98 77 94 bd 54 93 62 | ?....V.+.t.:?D!"....>*..?.w..T.b |
0620 | 3f 8a 43 22 c0 53 9f 29 bf 60 2f 30 3f 2e 41 97 be e9 c4 86 3e 49 ca 22 3f 29 cb 02 3d d5 33 62 | ?.C".S.).`/0?.A.....>I."?)..=.3b |
0640 | 3f 08 f7 21 c0 6a 07 35 3f 56 f7 2a 3f db a9 6d be 6f fc 95 3e 9a ca 22 3f 2c c5 e9 3c c4 b6 65 | ?..!.j.5?V.*?..m.o..>.."?,..<..e |
0660 | 3f 62 05 1d c0 64 f1 31 3f 6f a1 37 3f 86 e1 42 3d f7 f7 95 3e 5c 0c 1d 3f e1 6b 9b bd 3f 16 66 | ?b...d.1?o.7?..B=...>\..?.k..?.f |
0680 | 3f e5 51 1d c0 59 b3 2c bf 7a eb 3c 3f 0c 01 86 bc 73 c0 86 3e 0c 0c 1d 3f fa c0 97 bd 4c 4e 65 | ?.Q..Y.,.z.<?....s..>...?....LNe |
06a0 | 3f ba d5 1f c0 56 15 2b bf 74 11 3a 3f 44 21 22 be 09 c3 86 3e 2a eb 1f 3f cc 70 f8 3c cd ee 64 | ?....V.+.t.:?D!"....>*..?.p.<..d |
06c0 | 3f 38 89 1f c0 67 91 33 3f 6a d5 34 3f 84 e1 c1 bd 91 fa 95 3e 7b eb 1f 3f 71 24 da 3c fa 83 64 | ?8...g.3?j.4?.......>{..?q$.<..d |
06e0 | 3f 47 84 1a c0 60 37 30 3f 66 41 33 3f 83 b9 41 3e c1 f4 95 3e 3e 2d 1a 3f 0f 54 9f bd 7c e3 64 | ?G...`70?fA3?..A>...>>-.?.T..|.d |
0700 | 3f c8 d0 1a c0 5d 6d 2e bf 71 9f 38 3f 00 09 00 3e 39 bd 86 3e ec 2c 1a 3f e1 6b 9b bd 3f 16 66 | ?....]m..q.8?...>9..>.,.?.k..?.f |
0720 | 3f e5 51 1d c0 59 b3 2c bf 7a eb 3c 3f 0c 01 86 bc 73 c0 86 3e 0c 0c 1d 3f 2c c5 e9 3c c4 b6 65 | ?.Q..Y.,.z.<?....s..>...?,..<..e |
0740 | 3f 62 05 1d c0 64 f1 31 3f 6f a1 37 3f 86 e1 42 3d f7 f7 95 3e 5c 0c 1d 3f 12 28 ca 3c 46 62 61 | ?b...d.1?o.7?..B=...>\..?.(.<Fba |
0760 | 3f 88 1e 18 c0 5d 75 2e 3f 50 e3 27 3f 4c 41 a6 3e 0f f1 95 3e 1f 4e 17 3f 2a 53 a3 bd c6 c1 61 | ?....]u.?P.'?LA.>...>.N.?*S....a |
0780 | 3f 09 6b 18 c0 60 2f 30 bf 5b 57 2d 3f 0b 5d 85 3e 87 b9 86 3e d0 4d 17 3f 0f 54 9f bd 7c e3 64 | ?.k..`/0.[W-?.].>...>.M.?.T..|.d |
07a0 | 3f c8 d0 1a c0 5d 6d 2e bf 71 9f 38 3f 00 09 00 3e 39 bd 86 3e ec 2c 1a 3f 71 24 da 3c fa 83 64 | ?....]m..q.8?...>9..>.,.?q$.<..d |
07c0 | 3f 47 84 1a c0 60 37 30 3f 66 41 33 3f 83 b9 41 3e c1 f4 95 3e 3e 2d 1a 3f 5a 6d ba 3c 72 70 5c | ?G...`70?fA3?..A>...>>-.?Zm.<rp\ |
07e0 | 3f ba eb 15 c0 59 bb 2c 3f 2c f7 15 3f cc d5 e5 3e 09 ed 95 3e 02 6f 14 3f d8 41 a7 bd f2 cf 5c | ?....Y.,?,..?...>...>.o.?.A....\ |
0800 | 3f 3c 38 16 c0 64 e7 31 bf 37 7f 1b 3f 8a 01 c5 3e 83 b5 86 3e b0 6e 14 3f 2a 53 a3 bd c6 c1 61 | ?<8..d.1.7..?...>...>.n.?*S....a |
0820 | 3f 09 6b 18 c0 60 2f 30 bf 5b 57 2d 3f 0b 5d 85 3e 87 b9 86 3e d0 4d 17 3f 12 28 ca 3c 46 62 61 | ?.k..`/0.[W-?.].>...>.M.?.(.<Fba |
0840 | 3f 88 1e 18 c0 5d 75 2e 3f 50 e3 27 3f 4c 41 a6 3e 0f f1 95 3e 1f 4e 17 3f 5b 8e ab 3c 27 df 55 | ?....]u.?P.'?LA.>...>.N.?[..<'.U |
0860 | 3f 80 01 14 c0 56 1b 2b 3f f9 59 fc 3e 1d 99 0e 3f d5 e8 95 3e e3 8f 11 3f 99 f9 aa bd a9 3e 56 | ?....V.+?.Y.>...?...>...?.....>V |
0880 | 3f 02 4e 14 c0 67 87 33 bf 08 c9 03 3f f9 75 fc 3e 4d b1 86 3e 94 8f 11 3f d8 41 a7 bd f2 cf 5c | ?.N..g.3....?.u.>M..>...?.A....\ |
08a0 | 3f 3c 38 16 c0 64 e7 31 bf 37 7f 1b 3f 8a 01 c5 3e 83 b5 86 3e b0 6e 14 3f 5a 6d ba 3c 72 70 5c | ?<8..d.1.7..?...>...>.n.?Zm.<rp\ |
08c0 | 3f ba eb 15 c0 59 bb 2c 3f 2c f7 15 3f cc d5 e5 3e 09 ed 95 3e 02 6f 14 3f f2 ec 10 3d f6 4d 3d | ?....Y.,?,..?...>...>.o.?...=.M= |
08e0 | 3f 58 dc 29 c0 70 41 38 3f 2b 79 15 3e 5b bf 2d bf 2f f9 95 3e 34 26 31 3f b7 66 8d bd 7a ad 3d | ?X.).pA8?+y.>[.-./..>4&1?.f..z.= |
0900 | 3f da 28 2a c0 4d 67 26 bf 57 99 2b 3e 7b bd 3d bf a9 c1 86 3e e2 25 31 3f bb 3e 8e bd 52 a6 33 | ?.(*.Mg&.W.+>{.=....>.%1?.>..R.3 |
0920 | 3f f4 75 2a c0 4e c1 26 bf ab 81 d5 3c 84 1f 42 bf 99 be 86 3e 02 05 34 3f e8 3c 0f 3d d4 46 33 | ?.u*.N.&....<..B....>..4?.<.=.F3 |
0940 | 3f 72 29 2a c0 70 e7 37 3f 10 01 88 3b 64 13 32 bf 21 f6 95 3e 52 05 34 3f e8 3c 0f 3d d4 46 33 | ?r)*.p.7?...;d.2.!..>R.4?.<.=.F3 |
0960 | 3f 72 29 2a c0 70 e7 37 3f 10 01 88 3b 64 13 32 bf b5 fd 95 3e 06 43 b0 3e bb 3e 8e bd 52 a6 33 | ?r)*.p.7?...;d.2....>.C.>.>..R.3 |
0980 | 3f f4 75 2a c0 4e c1 26 bf ab 81 d5 3c 84 1f 42 bf 2d c6 86 3e 66 42 b0 3e a8 d5 8f bd a8 94 29 | ?.u*.N.&....<..B.-..>fB.>......) |
09a0 | 3f 81 44 2a c0 4f 6d 27 bf db b1 ed bd 7f 5b 3f bf 81 c2 86 3e a2 00 b6 3e 06 0f 0c 3d 2a 35 29 | ?.D*.Om'......[?....>...>...=*5) |
09c0 | 3f fe f7 29 c0 6e 39 37 3f 1b 79 0d be 5e 3d 2f bf 09 fa 95 3e 44 01 b6 3e 06 0f 0c 3d 2a 35 29 | ?..).n97?.y..^=/....>D..>...=*5) |
09e0 | 3f fe f7 29 c0 6e 39 37 3f 1b 79 0d be 5e 3d 2f bf 09 fa 95 3e 44 01 b6 3e a8 d5 8f bd a8 94 29 | ?..).n97?.y..^=/....>D..>......) |
0a00 | 3f 81 44 2a c0 4f 6d 27 bf db b1 ed bd 7f 5b 3f bf 81 c2 86 3e a2 00 b6 3e eb 1b 92 bd 86 db 1f | ?.D*.Om'......[?....>...>....... |
0a20 | 3f 64 96 29 c0 51 67 28 bf 03 bd 81 be 6b 8f 35 bf 55 be 86 3e e0 be bb 3e 81 82 07 3d 08 7c 1f | ?d.).Qg(.....k.5.U..>...>...=.|. |
0a40 | 3f e2 49 29 c0 6c 3f 36 3f 1a 15 8d be 4b 5b 25 bf df f5 95 3e 82 bf bb 3e 81 82 07 3d 08 7c 1f | ?.I).l?6?....K[%....>...>...=.|. |
0a60 | 3f e2 49 29 c0 6c 3f 36 3f 1a 15 8d be 4b 5b 25 bf df f5 95 3e 82 bf bb 3e eb 1b 92 bd 86 db 1f | ?.I).l?6?....K[%....>...>....... |
0a80 | 3f 64 96 29 c0 51 67 28 bf 03 bd 81 be 6b 8f 35 bf 55 be 86 3e e0 be bb 3e 28 fb 94 bd 98 da 16 | ?d.).Qg(.....k.5.U..>...>(...... |
0aa0 | 3f 51 72 28 c0 53 a5 29 bf 86 e1 c2 be 4a 19 25 bf db b9 86 3e 1c 7d c1 3e 0d c4 01 3d 18 7b 16 | ?Qr(.S.).....J.%....>.}.>...=.{. |
0ac0 | 3f d0 25 28 c0 6a ff 34 3f 9c 31 ce be 2a cf 14 bf 5f f1 95 3e be 7d c1 3e 0d c4 01 3d 18 7b 16 | ?.%(.j.4?.1..*..._..>.}.>...=.{. |
0ae0 | 3f d0 25 28 c0 6a ff 34 3f 9c 31 ce be 2a cf 14 bf 5f f1 95 3e be 7d c1 3e 28 fb 94 bd 98 da 16 | ?.%(.j.4?.1..*..._..>.}.>(...... |
0b00 | 3f 51 72 28 c0 53 a5 29 bf 86 e1 c2 be 4a 19 25 bf db b9 86 3e 1c 7d c1 3e 3f 57 98 bd 70 ea 0e | ?Qr(.S.).....J.%....>.}.>?W..p.. |
0b20 | 3f 81 e3 26 c0 56 1b 2b bf f9 59 fc be 1d 99 0e bf 2b b5 86 3e 58 3b c7 3e ba 17 f6 3c ee 8a 0e | ?..&.V.+..Y......+..>X;.>...<... |
0b40 | 3f 00 97 26 c0 67 87 33 3f 08 c9 03 bf f9 75 fc be b1 ec 95 3e f8 3b c7 3e ba 17 f6 3c ee 8a 0e | ?..&.g.3?.....u.....>.;.>...<... |
0b60 | 3f 00 97 26 c0 67 87 33 3f 08 c9 03 bf f9 75 fc be b1 ec 95 3e f8 3b c7 3e 3f 57 98 bd 70 ea 0e | ?..&.g.3?.....u.....>.;.>?W..p.. |
0b80 | 3f 81 e3 26 c0 56 1b 2b bf f9 59 fc be 1d 99 0e bf 2b b5 86 3e 58 3b c7 3e c2 0e 9c bd 20 59 08 | ?..&.V.+..Y......+..>X;.>.....Y. |
0ba0 | 3f 47 f9 24 c0 59 bb 2c bf 2c f7 15 bf cc d5 e5 be 81 b0 86 3e 96 f9 cc 3e 3c 39 e7 3c a2 f9 07 | ?G.$.Y.,.,..........>...><9.<... |
0bc0 | 3f c6 ac 24 c0 64 e7 31 3f 37 7f 1b bf 8a 01 c5 be 07 e8 95 3e 36 fa cc 3e 3c 39 e7 3c a2 f9 07 | ?..$.d.1?7..........>6..><9.<... |
0be0 | 3f c6 ac 24 c0 64 e7 31 3f 37 7f 1b bf 8a 01 c5 be 07 e8 95 3e 36 fa cc 3e c2 0e 9c bd 20 59 08 | ?..$.d.1?7..........>6..>.....Y. |
0c00 | 3f 47 f9 24 c0 59 bb 2c bf 2c f7 15 bf cc d5 e5 be 81 b0 86 3e 96 f9 cc 3e 8f fd 9f bd 4e 67 03 | ?G.$.Y.,.,..........>...>....Ng. |
0c20 | 3f 7a c6 22 c0 5d 75 2e bf 50 e3 27 bf 4c 41 a6 be ff ab 86 3e cc b7 d2 3e 82 7e d7 3c ce 07 03 | ?z.".]u..P.'.LA.....>...>.~.<... |
0c40 | 3f f8 79 22 c0 60 2f 30 3f 5b 57 2d bf 0b 5d 85 be 87 e3 95 3e 76 b8 d2 3e 82 7e d7 3c ce 07 03 | ?.y".`/0?[W-..].....>v..>.~.<... |
0c60 | 3f f8 79 22 c0 60 2f 30 3f 5b 57 2d bf 0b 5d 85 be 87 e3 95 3e 76 b8 d2 3e 8f fd 9f bd 4e 67 03 | ?.y".`/0?[W-..].....>v..>....Ng. |
0c80 | 3f 7a c6 22 c0 5d 75 2e bf 50 e3 27 bf 4c 41 a6 be ff ab 86 3e cc b7 d2 3e a3 fc a3 bd 9c 45 00 | ?z.".]u..P.'.LA.....>...>.....E. |
0ca0 | 3f ba 60 20 c0 60 37 30 bf 67 43 33 bf 83 b9 41 be d3 a7 86 3e 10 76 d8 3e 24 82 c7 3c 34 cc ff | ?.`..`70.gC3...A....>.v.>$..<4.. |
0cc0 | 3e 39 14 20 c0 5d 6d 2e 3f 71 9f 38 bf 00 09 00 be 5b df 95 3e ae 76 d8 3e 24 82 c7 3c 34 cc ff | >9...]m.?q.8.....[..>.v.>$..<4.. |
0ce0 | 3e 39 14 20 c0 5d 6d 2e 3f 71 9f 38 bf 00 09 00 be 5b df 95 3e ae 76 d8 3e a3 fc a3 bd 9c 45 00 | >9...]m.?q.8.....[..>.v.>.....E. |
0d00 | 3f ba 60 20 c0 60 37 30 bf 67 43 33 bf 83 b9 41 be d3 a7 86 3e 10 76 d8 3e d4 e4 a7 bd ac 25 fe | ?.`..`70.gC3...A....>.v.>.....%. |
0d20 | 3e 9f df 1d c0 64 f1 31 bf 6f a1 37 bf 86 e1 42 bd 23 a4 86 3e 4a 34 de 3e 67 e1 b7 3c b0 66 fd | >....d.1.o.7...B.#..>J4.>g..<.f. |
0d40 | 3e 1c 93 1d c0 59 b3 2c 3f 7a eb 3c bf 0c 01 86 3c ad db 95 3e ea 34 de 3e 67 e1 b7 3c b0 66 fd | >....Y.,?z.<....<...>.4.>g..<.f. |
0d60 | 3e 1c 93 1d c0 59 b3 2c 3f 7a eb 3c bf 0c 01 86 3c ad db 95 3e ea 34 de 3e d4 e4 a7 bd ac 25 fe | >....Y.,?z.<....<...>.4.>.....%. |
0d80 | 3e 9f df 1d c0 64 f1 31 bf 6f a1 37 bf 86 e1 42 bd 23 a4 86 3e 4a 34 de 3e bd 8f ab bd 90 b5 ff | >....d.1.o.7...B.#..>J4.>....... |
0da0 | 3e ca 5b 1b c0 67 91 33 bf 6a d5 34 bf 84 e1 c1 3d 13 a1 86 3e 86 f2 e3 3e c8 35 a9 3c 94 f6 fe | >.[..g.3.j.4....=...>...>.5.<... |
0dc0 | 3e 47 0f 1b c0 56 15 2b 3f 74 11 3a bf 44 21 22 3e 99 d8 95 3e 2a f3 e3 3e c8 35 a9 3c 94 f6 fe | >G...V.+?t.:.D!">...>*..>.5.<... |
0de0 | 3e 47 0f 1b c0 56 15 2b 3f 74 11 3a bf 44 21 22 3e 99 d8 95 3e 2a f3 e3 3e bd 8f ab bd 90 b5 ff | >G...V.+?t.:.D!">...>*..>....... |
0e00 | 3e ca 5b 1b c0 67 91 33 bf 6a d5 34 bf 84 e1 c1 3d 13 a1 86 3e 86 f2 e3 3e 1d d9 ae bd c6 95 02 | >.[..g.3.j.4....=...>...>....... |
0e20 | 3f f9 ed 18 c0 6a 07 35 bf 56 f7 2a bf db a9 6d 3e bb 9e 86 3e c6 b0 e9 3e 44 10 9c 3c 46 36 02 | ?....j.5.V.*...m>...>...>D..<F6. |
0e40 | 3f 78 a1 18 c0 53 9f 29 3f 60 2f 30 bf 2e 41 97 3e 41 d6 95 3e 68 b1 e9 3e 44 10 9c 3c 46 36 02 | ?x...S.)?`/0..A.>A..>h..>D..<F6. |
0e60 | 3f 78 a1 18 c0 53 9f 29 3f 60 2f 30 bf 2e 41 97 3e 41 d6 95 3e 68 b1 e9 3e 1d d9 ae bd c6 95 02 | ?x...S.)?`/0..A.>A..>h..>....... |
0e80 | 3f f9 ed 18 c0 6a 07 35 bf 56 f7 2a bf db a9 6d 3e bb 9e 86 3e c6 b0 e9 3e c7 a0 b1 bd ec 28 07 | ?....j.5.V.*...m>...>...>.....(. |
0ea0 | 3f 13 ae 16 c0 6d 45 36 bf 35 6b 1a bf 70 01 b8 3e 2f 9d 86 3e 04 6f ef 3e 8c f1 90 3c 6e c9 06 | ?....mE6.5k..p..>/..>.o.>...<n.. |
0ec0 | 3f 90 61 16 c0 51 63 28 3f 3f a5 1f bf b0 41 d8 3e b9 d4 95 3e a8 6f ef 3e 8c f1 90 3c 6e c9 06 | ?.a..Qc(??....A.>...>.o.>...<n.. |
0ee0 | 3f 90 61 16 c0 51 63 28 3f 3f a5 1f bf b0 41 d8 3e b9 d4 95 3e a8 6f ef 3e c7 a0 b1 bd ec 28 07 | ?.a..Qc(??....A.>...>.o.>.....(. |
0f00 | 3f 13 ae 16 c0 6d 45 36 bf 35 6b 1a bf 70 01 b8 3e 2f 9d 86 3e 04 6f ef 3e 64 cb b3 bd 40 67 0d | ?....mE6.5k..p..>/..>.o.>d...@g. |
0f20 | 3f 39 b2 14 c0 6e 3f 37 bf 08 cf 03 bf e3 79 f1 3e 83 9c 86 3e 42 2d f5 3e 31 47 88 3c c0 07 0d | ?9...n?7......y.>...>B-.>1G.<... |
0f40 | 3f b7 65 14 c0 4f 69 27 3f 12 17 09 bf 12 cb 08 3f 09 d4 95 3e e2 2d f5 3e 31 47 88 3c c0 07 0d | ?.e..Oi'?.......?...>.-.>1G.<... |
0f60 | 3f b7 65 14 c0 4f 69 27 3f 12 17 09 bf 12 cb 08 3f 09 d4 95 3e e2 2d f5 3e 64 cb b3 bd 40 67 0d | ?.e..Oi'?.......?...>.-.>d...@g. |
0f80 | 3f 39 b2 14 c0 6e 3f 37 bf 08 cf 03 bf e3 79 f1 3e 83 9c 86 3e 42 2d f5 3e 6e 43 b5 bd 52 13 15 | ?9...n?7......y.>...>B-.>nC..R.. |
0fa0 | 3f ee 0d 13 c0 70 eb 37 bf a0 0d d0 be 21 83 10 3f b5 9c 86 3e 82 eb fa 3e 05 67 82 3c d2 b3 14 | ?....p.7.....!..?...>...>.g.<... |
0fc0 | 3f 6d c1 12 c0 4d bf 26 3f b6 c1 da be 41 83 20 3f 39 d4 95 3e 20 ec fa 3e 05 67 82 3c d2 b3 14 | ?m...M.&?....A..?9..>...>.g.<... |
0fe0 | 3f 6d c1 12 c0 4d bf 26 3f b6 c1 da be 41 83 20 3f 39 d4 95 3e 20 ec fa 3e 6e 43 b5 bd 52 13 15 | ?m...M.&?....A..?9..>...>nC..R.. |
1000 | 3f ee 0d 13 c0 70 eb 37 bf a0 0d d0 be 21 83 10 3f b5 9c 86 3e 82 eb fa 3e a4 fa b5 bd ae e1 1d | ?....p.7.....!..?...>...>....... |
1020 | 3f 5b d1 11 c0 70 41 38 bf 21 45 90 be 45 69 22 3f c5 9d 86 3e e0 54 00 3f 40 14 7f 3c 2c 82 1d | ?[...pA8.!E..Ei"?...>.T.?@..<,.. |
1040 | 3f da 84 11 c0 4d 67 26 3f 36 25 9b be 65 65 32 3f 47 d5 95 3e 30 55 00 3f 40 14 7f 3c 2c 82 1d | ?....Mg&?6%..ee2?G..>0U.?@..<,.. |
1060 | 3f da 84 11 c0 4d 67 26 3f 36 25 9b be 65 65 32 3f 47 d5 95 3e 30 55 00 3f a4 fa b5 bd ae e1 1d | ?....Mg&?6%..ee2?G..>0U.?....... |
1080 | 3f 5b d1 11 c0 70 41 38 bf 21 45 90 be 45 69 22 3f c5 9d 86 3e e0 54 00 3f 00 ea b5 bd a2 7b 27 | ?[...pA8.!E..Ei"?...>.T.?.....{' |
10a0 | 3f aa 08 11 c0 70 41 38 bf 2b 79 15 be 5b bf 2d 3f 9d 9f 86 3e fe 33 03 3f 60 99 7f 3c 22 1c 27 | ?....pA8.+y..[.-?...>.3.?`..<".' |
10c0 | 3f 28 bc 10 c0 4d 67 26 3f 57 99 2b be 7b bd 3d 3f 23 d7 95 3e 4e 34 03 3f 60 99 7f 3c 22 1c 27 | ?(...Mg&?W.+.{.=?#..>N4.?`..<".' |
10e0 | 3f 28 bc 10 c0 4d 67 26 3f 57 99 2b be 7b bd 3d 3f 23 d7 95 3e 4e 34 03 3f 00 ea b5 bd a2 7b 27 | ?(...Mg&?W.+.{.=?#..>N4.?.....{' |
1100 | 3f aa 08 11 c0 70 41 38 bf 2b 79 15 be 5b bf 2d 3f 9d 9f 86 3e fe 33 03 3f f8 11 b5 bd c8 82 31 | ?....pA8.+y..[.-?...>.3.?......1 |
1120 | 3f 90 bb 10 c0 70 e7 37 bf 10 01 88 bb 64 13 32 3f 39 a2 86 3e 1c 13 06 3f c8 2c 83 3c 48 23 31 | ?....p.7.....d.2?9..>...?.,.<H#1 |
1140 | 3f 0e 6f 10 c0 4e c1 26 3f aa 41 d5 bc 84 1f 42 3f bb d9 95 3e 6c 13 06 3f c8 2c 83 3c 48 23 31 | ?.o..N.&?.A....B?...>l..?.,.<H#1 |
1160 | 3f 0e 6f 10 c0 4e c1 26 3f aa 41 d5 bc 84 1f 42 3f bb d9 95 3e 6c 13 06 3f f8 11 b5 bd c8 82 31 | ?.o..N.&?.A....B?...>l..?......1 |
1180 | 3f 90 bb 10 c0 70 e7 37 bf 10 01 88 bb 64 13 32 3f 39 a2 86 3e 1c 13 06 3f 0d 7b b3 bd 70 94 3b | ?....p.7.....d.2?9..>...?.{..p.; |
11a0 | 3f 04 ed 10 c0 6e 39 37 bf 1b 79 0d 3e 5e 3d 2f 3f 65 a5 86 3e 3a f2 08 3f 88 88 89 3c f4 34 3b | ?....n97..y.>^=/?e..>:..?...<.4; |
11c0 | 3f 82 a0 10 c0 4f 6d 27 3f db b1 ed 3d 7f 5b 3f 3f ef dc 95 3e 8a f2 08 3f 88 88 89 3c f4 34 3b | ?....Om'?...=.[??...>...?...<.4; |
11e0 | 3f 82 a0 10 c0 4f 6d 27 3f db b1 ed 3d 7f 5b 3f 3f ef dc 95 3e 8a f2 08 3f 0d 7b b3 bd 70 94 3b | ?....Om'?...=.[??...>...?.{..p.; |
1200 | 3f 04 ed 10 c0 6e 39 37 bf 1b 79 0d 3e 5e 3d 2f 3f 65 a5 86 3e 3a f2 08 3f c7 34 b1 bd 94 4d 45 | ?....n97..y.>^=/?e..>:..?.4...ME |
1220 | 3f 20 9b 11 c0 6c 3f 36 bf 1a 15 8d 3e 4b 5b 25 3f 15 a9 86 3e 59 d1 0b 3f 92 a1 92 3c 11 ee 44 | ?....l?6....>K[%?...>Y..?...<..D |
1240 | 3f 9e 4e 11 c0 51 67 28 3f 03 bd 81 3e 6b 8f 35 3f 9d e0 95 3e a8 d1 0b 3f b7 66 8d bd 7a ad 3d | ?.N..Qg(?...>k.5?...>...?.f..z.= |
1260 | 3f da 28 2a c0 4d 67 26 bf 57 99 2b 3e 7b bd 3d bf 21 02 b3 3e f8 6f 2d 3f a8 d5 8f bd a8 94 29 | ?.(*.Mg&.W.+>{.=.!..>.o-?......) |
1280 | 3f 81 44 2a c0 4f 6d 27 bf db b1 ed bd 7f 5b 3f bf 54 e3 b1 3e da bf 27 3f bb 3e 8e bd 52 a6 33 | ?.D*.Om'......[?.T..>..'?.>..R.3 |
12a0 | 3f f4 75 2a c0 4e c1 26 bf ab 81 d5 3c 84 1f 42 bf 51 e3 b1 3e fa 9e 2a 3f 28 fb 94 bd 98 da 16 | ?.u*.N.&....<..B.Q..>..*?(...... |
12c0 | 3f 51 72 28 c0 53 a5 29 bf 86 e1 c2 be 4a 19 25 bf d0 34 b5 3e b4 47 22 3f eb 1b 92 bd 86 db 1f | ?Qr(.S.).....J.%..4.>.G"?....... |
12e0 | 3f 64 96 29 c0 51 67 28 bf 03 bd 81 be 6b 8f 35 bf 28 02 b3 3e dc ee 24 3f a8 d5 8f bd a8 94 29 | ?d.).Qg(.....k.5.(..>..$?......) |
1300 | 3f 81 44 2a c0 4f 6d 27 bf db b1 ed bd 7f 5b 3f bf 54 e3 b1 3e da bf 27 3f c2 0e 9c bd 20 59 08 | ?.D*.Om'......[?.T..>..'?.....Y. |
1320 | 3f 47 f9 24 c0 59 bb 2c bf 2c f7 15 bf cc d5 e5 be 40 75 bc 3e aa dc 1d 3f 3f 57 98 bd 70 ea 0e | ?G.$.Y.,.,.......@u.>...??W..p.. |
1340 | 3f 81 e3 26 c0 56 1b 2b bf f9 59 fc be 1d 99 0e bf a2 65 b8 3e 78 e4 1f 3f 28 fb 94 bd 98 da 16 | ?..&.V.+..Y.......e.>x..?(...... |
1360 | 3f 51 72 28 c0 53 a5 29 bf 86 e1 c2 be 4a 19 25 bf d0 34 b5 3e b4 47 22 3f a3 fc a3 bd 9c 45 00 | ?Qr(.S.).....J.%..4.>.G"?.....E. |
1380 | 3f ba 60 20 c0 60 37 30 bf 67 43 33 bf 83 b9 41 be 0c 8a c6 3e f0 2a 1b 3f 8f fd 9f bd 4e 67 03 | ?.`..`70.gC3...A....>.*.?....Ng. |
13a0 | 3f 7a c6 22 c0 5d 75 2e bf 50 e3 27 bf 4c 41 a6 be b4 3b c1 3e 42 44 1c 3f c2 0e 9c bd 20 59 08 | ?z.".]u..P.'.LA...;.>BD.?.....Y. |
13c0 | 3f 47 f9 24 c0 59 bb 2c bf 2c f7 15 bf cc d5 e5 be 40 75 bc 3e aa dc 1d 3f bd 8f ab bd 90 b5 ff | ?G.$.Y.,.,.......@u.>...?....... |
13e0 | 3e ca 5b 1b c0 67 91 33 bf 6a d5 34 bf 84 e1 c1 3d 46 ea d1 3e 88 9b 1a 3f d4 e4 a7 bd ac 25 fe | >.[..g.3.j.4....=F..>...?.....%. |
1400 | 3e 9f df 1d c0 64 f1 31 bf 6f a1 37 bf 86 e1 42 bd 0a 2c cc 3e 88 9b 1a 3f a3 fc a3 bd 9c 45 00 | >....d.1.o.7...B..,.>...?.....E. |
1420 | 3f ba 60 20 c0 60 37 30 bf 67 43 33 bf 83 b9 41 be 0c 8a c6 3e f0 2a 1b 3f c7 a0 b1 bd ec 28 07 | ?.`..`70.gC3...A....>.*.?.....(. |
1440 | 3f 13 ae 16 c0 6d 45 36 bf 35 6b 1a bf 70 01 b8 3e 94 da dc 3e 42 44 1c 3f 1d d9 ae bd c6 95 02 | ?....mE6.5k..p..>...>BD.?....... |
1460 | 3f f9 ed 18 c0 6a 07 35 bf 56 f7 2a bf db a9 6d 3e 44 8c d7 3e f4 2a 1b 3f bd 8f ab bd 90 b5 ff | ?....j.5.V.*...m>D..>.*.?....... |
1480 | 3e ca 5b 1b c0 67 91 33 bf 6a d5 34 bf 84 e1 c1 3d 46 ea d1 3e 88 9b 1a 3f 6e 43 b5 bd 52 13 15 | >.[..g.3.j.4....=F..>...?nC..R.. |
14a0 | 3f ee 0d 13 c0 70 eb 37 bf a0 0d d0 be 21 83 10 3f a4 b0 e5 3e 7a e4 1f 3f 64 cb b3 bd 40 67 0d | ?....p.7.....!..?...>z..?d...@g. |
14c0 | 3f 39 b2 14 c0 6e 3f 37 bf 08 cf 03 bf e3 79 f1 3e 04 a1 e1 3e aa dc 1d 3f c7 a0 b1 bd ec 28 07 | ?9...n?7......y.>...>...?.....(. |
14e0 | 3f 13 ae 16 c0 6d 45 36 bf 35 6b 1a bf 70 01 b8 3e 94 da dc 3e 42 44 1c 3f 00 ea b5 bd a2 7b 27 | ?....mE6.5k..p..>...>BD.?.....{' |
1500 | 3f aa 08 11 c0 70 41 38 bf 2b 79 15 be 5b bf 2d 3f 1a 14 eb 3e e2 ee 24 3f a4 fa b5 bd ae e1 1d | ?....pA8.+y..[.-?...>..$?....... |
1520 | 3f 5b d1 11 c0 70 41 38 bf 21 45 90 be 45 69 22 3f 78 e1 e8 3e b8 47 22 3f 6e 43 b5 bd 52 13 15 | ?[...pA8.!E..Ei"?x..>.G"?nC..R.. |
1540 | 3f ee 0d 13 c0 70 eb 37 bf a0 0d d0 be 21 8
return false;
this->mgparams = params;
for (u32 i = 0; i != m_threads.size(); i++) {
Mapgen *mg = Mapgen::createMapgen(params->mgtype, i, params, this);
m_mapgens.push_back(mg);
}
return true;
}
Mapgen *EmergeManager::getCurrentMapgen()
{
if (!m_threads_active)
return NULL;
for (u32 i = 0; i != m_threads.size(); i++) {
if (m_threads[i]->isCurrentThread())
return m_threads[i]->m_mapgen;
}
return NULL;
}
void EmergeManager::startThreads()
{
if (m_threads_active)
return;
for (u32 i = 0; i != m_threads.size(); i++)
m_threads[i]->start();
m_threads_active = true;
}
void EmergeManager::stopThreads()
{
if (!m_threads_active)
return;
// Request thread stop in parallel
|
17a0 | 3f 94 23 28 c0 4d bf 26 bf b6 c1 da 3e 41 83 20 bf 94 65 b8 3e 5c 7a 32 3f 53 85 8f bd d8 c1 57 | ?.#(.M.&....>A....e.>\z2?S.....W |
17c0 | 3f 4a 7f 26 c0 4f 69 27 bf 12 17 09 3f 12 cb 08 bf 2c 75 bc 3e 2c 82 34 3f ee af 91 bd 29 00 5e | ?J.&.Oi'....?....,u.>,.4?....).^ |
17e0 | 3f 70 83 24 c0 51 63 28 bf 3f a5 1f 3f b0 41 d8 be a8 3b c1 3e 98 1a 36 3f b7 66 8d bd 7a ad 3d | ?p.$.Qc(.?..?.A...;.>..6?.f..z.= |
1800 | 3f da 28 2a c0 4d 67 26 bf 57 99 2b 3e 7b bd 3d bf 21 02 b3 3e f8 6f 2d 3f 0e 56 8d bd 72 47 47 | ?.(*.Mg&.W.+>{.=.!..>.o-?.V..rGG |
1820 | 3f 28 60 29 c0 4d 67 26 bf 36 29 9b 3e 65 65 32 bf c2 34 b5 3e 24 17 30 3f 48 0d 8e bd c8 15 50 | ?(`).Mg&.6).>ee2..4.>$.0?H.....P |
1840 | 3f 94 23 28 c0 4d bf 26 bf b6 c1 da 3e 41 83 20 bf 94 65 b8 3e 5c 7a 32 3f b7 66 8d bd 7a ad 3d | ?.#(.M.&....>A....e.>\z2?.f..z.= |
1860 | 3f da 28 2a c0 4d 67 26 bf 57 99 2b 3e 7b bd 3d bf 21 02 b3 3e f8 6f 2d 3f 28 fb 94 bd 98 da 16 | ?.(*.Mg&.W.+>{.=.!..>.o-?(...... |
1880 | 3f 51 72 28 c0 53 a5 29 bf 86 e1 c2 be 4a 19 25 bf d0 34 b5 3e b4 47 22 3f a8 d5 8f bd a8 94 29 | ?Qr(.S.).....J.%..4.>.G"?......) |
18a0 | 3f 81 44 2a c0 4f 6d 27 bf db b1 ed bd 7f 5b 3f bf 54 e3 b1 3e da bf 27 3f a3 fc a3 bd 9c 45 00 | ?.D*.Om'......[?.T..>..'?.....E. |
18c0 | 3f ba 60 20 c0 60 37 30 bf 67 43 33 bf 83 b9 41 be 0c 8a c6 3e f0 2a 1b 3f c2 0e 9c bd 20 59 08 | ?.`..`70.gC3...A....>.*.?.....Y. |
18e0 | 3f 47 f9 24 c0 59 bb 2c bf 2c f7 15 bf cc d5 e5 be 40 75 bc 3e aa dc 1d 3f 28 fb 94 bd 98 da 16 | ?G.$.Y.,.,.......@u.>...?(...... |
1900 | 3f 51 72 28 c0 53 a5 29 bf 86 e1 c2 be 4a 19 25 bf d0 34 b5 3e b4 47 22 3f c7 a0 b1 bd ec 28 07 | ?Qr(.S.).....J.%..4.>.G"?.....(. |
1920 | 3f 13 ae 16 c0 6d 45 36 bf 35 6b 1a bf 70 01 b8 3e 94 da dc 3e 42 44 1c 3f bd 8f ab bd 90 b5 ff | ?....mE6.5k..p..>...>BD.?....... |
1940 | 3e ca 5b 1b c0 67 91 33 bf 6a d5 34 bf 84 e1 c1 3d 46 ea d1 3e 88 9b 1a 3f a3 fc a3 bd 9c 45 00 | >.[..g.3.j.4....=F..>...?.....E. |
1960 | 3f ba 60 20 c0 60 37 30 bf 67 43 33 bf 83 b9 41 be 0c 8a c6 3e f0 2a 1b 3f 00 ea b5 bd a2 7b 27 | ?.`..`70.gC3...A....>.*.?.....{' |
1980 | 3f aa 08 11 c0 70 41 38 bf 2b 79 15 be 5b bf 2d 3f 1a 14 eb 3e e2 ee 24 3f 6e 43 b5 bd 52 13 15 | ?....pA8.+y..[.-?...>..$?nC..R.. |
19a0 | 3f ee 0d 13 c0 70 eb 37 bf a0 0d d0 be
MutexAutoLock queuelock(m_queue_mutex);
if (!pushBlockEmergeData(blockpos, peer_id, flags,
callback, callback_param, &entry_already_exists))
return false;
if (entry_already_exists)
return true;
thread = getOptimalThread();
thread->pushBlock(blockpos);
}
thread->signal();
return true;
}
//
// Mapgen-related helper functions
//
// TODO(hmmmm): Move this to ServerMap
v3s16 EmergeManager::getContainingChunk(v3s16 blockpos)
{
return getContainingChunk(blockpos, mgparams->chunksize);
}
// TODO(hmmmm): Move this to ServerMap
v3s16 EmergeManager::getContainingChunk(v3s16 blockpos, s16 chunksize)
{
s16 coff = -chunksize / 2;
v3s16 chunk_offset(coff, coff, coff);
return getContainerPos(blockpos - chunk_offset, chunksize)
* chunksize + chunk_offset;
}
int EmergeManager::getSpawnLevelAtPoint(v2s16 p)
{
if (m_mapgens.size() == 0 || !m_mapgens[0]) {
errorstream << "EmergeManager: getSpawnLevelAtPoint() called"
" before mapgen init" << std::endl;
return 0;
}
return m_mapgens[0]->getSpawnLevelAtPoint(p);
}
int EmergeManager::getGroundLevelAtPoint(v2s16 p)
{
if (m_mapgens.size() == 0 || !m_mapgens[0]) {
errorstream << "EmergeManager: getGroundLevelAtPoint() called"
" before mapgen init" << std::endl;
return 0;
}
return m_mapgens[0]->getGroundLevelAtPoint(p);
}
// TODO(hmmmm): Move this to ServerMap
bool EmergeManager::isBlockUnderground(v3s16 blockpos)
{
#if 0
v2s16 p = v2s16((blockpos.X * MAP_BLOCKSIZE) + MAP_BLOCKSIZE / 2,
(blockpos.Y * MAP_BLOCKSIZE) + MAP_BLOCKSIZE / 2);
int ground_level = getGroundLevelAtPoint(p);
return blockpos.Y * (MAP_BLOCKSIZE + 1) <= min(water_level, ground_level);
#endif
// Use a simple heuristic; the above method is wildly inaccurate anyway.
return blockpos.Y * (MAP_BLOCKSIZE + 1) <= mgparams->water_level;
}
bool EmergeManager::pushBlockEmergeData(
v3s16 pos,
u16 peer_requested,
u16 flags,
EmergeCompletionCallback callback,
void *callback_param,
bool *entry_already_exists)
{
u16 &count_peer = m_peer_queue_count[peer_requested];
if ((flags & BLOCK_EMERGE_FORCE_QUEUE) == 0) {
if (m_blocks_enqueued.size() >= m_qlimit_total)
return false;
if (peer_requested != PEER_ID_INEXISTENT) {
u16 qlimit_peer = (flags & BLOCK_EMERGE_ALLOW_GEN) ?
m_qlimit_generate : m_qlimit_diskonly;
if (count_peer >= qlimit_peer)
return false;
}
}
std::pair<std::map<v3s16, BlockEmergeData>::iterator, bool> findres;
findres = m_blocks_enqueued.insert(std::make_pair(pos, BlockEmergeData()));
BlockEmergeData &bedata = findres.first->second;
*entry_already_exists = !findres.second;
if (callback)
bedata.callbacks.push_back(std::make_pair(callback, callback_param));
if (*entry_already_exists) {
bedata.flags |= flags;
} else {
bedata.flags = flags;
bedata.peer_requested = peer_requested;
count_peer++;
}
return true;
}
bool EmergeManager::popBlockEmergeData(v3s16 pos, BlockEmergeData *bedata)
{
std::map<v3s16, BlockEmergeData>::iterator it;
UNORDERED_MAP<u16, u16>::iterator it2;
it = m_blocks_enqueued.find(pos);
if (it == m_blocks_enqueued.end())
return false;
*bedata = it->second;
it2 = m_peer_queue_count.find(bedata->peer_requested);
if (it2 == m_peer_queue_count.end())
return false;
u16 &count_peer = it2->second;
assert(count_peer != 0);
count_peer--;
m_blocks_enqueued.erase(it);
return true;
}
EmergeThread *EmergeManager::getOptimalThread()
{
size_t nthreads = m_threads.size();
FATAL_ERROR_IF(nthreads == 0, "No emerge threads!");
size_t index = 0;
size_t nitems_lowest = m_threads[0]->m_block_queue.size();
for (size_t i = 1; i < nthreads; i++) {
size_t nitems = m_threads[i]->m_block_queue.size();
if (nitems < nitems_lowest) {
index = i;
nitems_lowest = nitems;
}
}
return m_threads[index];
}
////
//// EmergeThread
////
EmergeThread::EmergeThread(Server *server, int ethreadid) :
enable_mapgen_debug_info(false),
id(ethreadid),
m_server(server),
m_map(NULL),
m_emerge(NULL),
m_mapgen(NULL)
{
m_name = "Emerge-" + itos(ethreadid);
}
EmergeThread::~EmergeThread()
{
//cancelPendingItems();
}
void EmergeThread::signal()
{
m_queue_event.signal();
}
bool EmergeThread::pushBlock(v3s16 pos)
{
m_block_queue.push(pos);
return true;
}
void EmergeThread::cancelPendingItems()
{
MutexAutoLock queuelock(m_emerge->m_queue_mutex);
while (!m_block_queue.empty()) {
BlockEmergeData bedata;
v3s16 pos;
pos = m_block_queue.front();
m_block_queue.pop();
m_emerge->popBlockEmergeData(pos, &bedata);
runCompletionCallbacks(pos, EMERGE_CANCELLED, bedata.callbacks);
}
}
void EmergeThread::runCompletionCallbacks(
v3s16 pos,
EmergeAction action,
const EmergeCallbackList &callbacks)
{
for (size_t i = 0; i != callbacks.size(); i++) {
EmergeCompletionCallback callback;
void *param;
callback = callbacks[i].first;
param = callbacks[i].second;
callback(pos, action, param);
}
}
bool EmergeThread::popBlockEmerge(v3s16 *pos, BlockEmergeData *bedata)
{
MutexAutoLock queuelock(m_emerge->m_queue_mutex);
if (m_block_queue.empty())
return false;
*pos = m_block_queue.front();
m_block_queue.pop();
m_emerge->popBlockEmergeData(*pos, bedata);
return true;
}
EmergeAction EmergeThread::getBlockOrStartGen(
v3s16 pos, bool allow_gen, MapBlock **block, BlockMakeData *bmdata)
{
MutexAutoLock envlock(m_server->m_env_mutex);
// 1). Attempt to fetch block from memory
*block = m_map->getBlockNoCreateNoEx(pos);
if (*block && !(*block)->isDummy()) {
if ((*block)->isGenerated())
return EMERGE_FROM_MEMORY;
} else {
// 2). Attempt to load block from disk if it was not in the memory
*block = m_map->loadBlock(pos);
if (*block && (*block)->isGenerated())
return EMERGE_FROM_DISK;
}
// 3). Attempt to start generation
if (allow_gen && m_map->initBlockMake(pos, bmdata))
return EMERGE_GENERATED;
// All attempts failed; cancel this block emerge
return EMERGE_CANCELLED;
}
MapBlock *EmergeThread::finishGen(v3s16 pos, BlockMakeData *bmdata,
std::map<v3s16, MapBlock *> *modified_blocks)
{
MutexAutoLock envlock(m_server->m_env_mutex);
ScopeProfiler sp(g_profiler,
"EmergeThread: after Mapgen::makeChunk", SPT_AVG);
/*
Perform post-processing on blocks (invalidate lighting, queue liquid
transforms, etc.) to finish block make
*/
m_map->finishBlockMake(bmdata, modified_blocks);
MapBlock *block = m_map->getBlockNoCreateNoEx(pos);
if (!block) {
errorstream << "EmergeThread::finishGen: Couldn't grab block we "
"just generated: " << PP(pos) << std::endl;
return NULL;
}
v3s16 minp = bmdata->blockpos_min * MAP_BLOCKSIZE;
v3s16 maxp = bmdata->blockpos_max * MAP_BLOCKSIZE +
v3s16(1,1,1) * (MAP_BLOCKSIZE - 1);
// Ignore map edit events, they will not need to be sent
// to anybody because the block hasn't been sent to anybody
MapEditEventAreaIgnorer ign(
&m_server->m_ignore_map_edit_events_area,
VoxelArea(minp, maxp));
/*
Run Lua on_generated callbacks
*/
try {
m_server->getScriptIface()->environment_OnGenerated(
minp, maxp, m_mapgen->blockseed);
} catch (LuaError &e) {
m_server->setAsyncFatalError("Lua: finishGen" + std::string(e.what()));
}
EMERGE_DBG_OUT("ended up with: " << analyze_block(block));
/*
Activate the block
*/
m_server->m_env->activateBlock(block, 0);
return block;
}
void *EmergeThread::run()
{
DSTACK(FUNCTION_NAME);
BEGIN_DEBUG_EXCEPTION_HANDLER
v3s16 pos;
m_map = (ServerMap *)&(m_server->m_env->getMap());
m_emerge = m_server->m_emerge;
m_mapgen = m_emerge->m_mapgens[id];
enable_mapgen_debug_info = m_emerge->enable_mapgen_debug_info;
try {
while (!stopRequested()) {
std::map<v3s16, MapBlock *> modified_blocks;
BlockEmergeData bedata;
BlockMakeData bmdata;
EmergeAction action;
MapBlock *block;
if (!popBlockEmerge(&pos, &bedata)) {
m_queue_event.wait();
continue;
}
if (blockpos_over_max_limit(pos))
continue;
bool allow_gen = bedata.flags & BLOCK_EMERGE_ALLOW_GEN;
EMERGE_DBG_OUT("pos=" PP(pos) " allow_gen=" << allow_gen);
action = getBlockOrStartGen(pos, allow_gen, &block, &bmdata);
if (action == EMERGE_GENERATED) {
{
ScopeProfiler sp(g_profiler,
"EmergeThread: Mapgen::makeChunk", SPT_AVG);
TimeTaker t("mapgen::make_block()");
m_mapgen->makeChunk(&bmdata);
if (enable_mapgen_debug_info == false)
t.stop(true); // Hide output
}
block = finishGen(.E...D...G...F...D...J...I...H.. |
2e20 | 00 4b 00 00 00 4a 00 00 00 48 00 00 00 4e 00 00 00 4d 00 00 00 4c 00 00 00 4f 00 00 00 4e 00 00 | .K...J...H...N...M...L...O...N.. |
2e40 | 00 4c 00 00 00 52 00 00 00 51 00 00 00 50 00 00 00 53 00 00 00 52 00 00 00 50 00 00 00 56 00 00 | .L...R...Q...P...S...R...P...V.. |
2e60 | 00 55 00 00 00 54 00 00 00 57 00 00 00 56 00 00 00 54 00 00 00 5a 00 00 00 59 00 0
if (modified_blocks.size() > 0)
m_server->SetBlocksNotSent(modified_blocks);
}
} catch (VersionMismatchException &e) {
std::ostringstream err;
err << "World data version mismatch in MapBlock " << PP(pos) << std::endl
<< "----" << std::endl
<< "\"" << e.what() << "\"" << std::endl
<< "See debug.txt." << std::endl
<< "World probably saved by a newer version of " PROJECT_NAME_C "."
<< std::endl;
m_server->setAsyncFatalError(err.str());
} catch (SerializationError &e) {
std::ostringstream err;
err << "Invalid data in MapBlock " << PP(pos) << std::endl
<< "----" << std::endl
<< "\"" << e.what() << "\"" << std::endl
<< "See debug.txt." << std::endl
<< "You can ignore this using [ignore_world_load_errors = true]."
<< std::endl;
m_server->setAsyncFatalError(err.str());
}
END_DEBUG_EXCEPTION_HANDLER
return NULL;
}
|