ofs | hex dump | ascii |
---|
0000 | 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 01 8c 00 00 01 21 08 06 00 00 00 6c bb 97 | .PNG........IHDR.......!.....l.. |
0020 | 7a 00 00 00 04 73 42 49 54 08 08 08 08 7c 08 64 88 00 00 20 00 49 44 41 54 78 9c ec 7d 79 90 15 | z....sBIT....|.d.....IDATx..}y.. |
0040 | d5 bd ff a7 bb ef 36 fb 30 03 0c 9b 28 91 a0 a8 80 4b 88 5a 96 46 8c 66 93 f8 24 c9 53 2b 82 cf | ......6.0...(....K.Z.F.f..$.S+.. |
0060 | 48 21 51 e3 12 c9 af 34 16 31 46 63 19 f5 81 71 c9 4b aa 92 87 0f 35 2e 0f 89 43 25 c6 58 f1 f9 | H!Q....4.1Fc...q.K....5...C%.X.. |
0080 | 54 14 17 dc 00 9f b8 62 80 c1 b0 cc 5c 66 86 d9 ee d2 7d 7e 7f f4 9c be a7 4f 9f ee db dd b7 ef | T......b....\f....}~.....O...... |
00a0 | 9d 9e b9 fd a9 ba 30 f7 76 f7 39 a7 b7 ef e7 7c 97 f3 fd 4a 93 93 20 18 e3 e8 51 ea 01 00 84 14 | ......0.v.9....|...J......Q..... |
00c0 | 4e 55 02 00 49 82 2c 49 85 df 64 19 44 d3 20 c9 0a 88 a6 1a bf 37 35 b7 16 da ea ee 02 00 68 84 | NU..I.,I..d.D........75.......h. |
00e0 | a0 49 ed 2b 69 5c 87 62 0d c6 df 1a 21 a6 b1 b0 d0 88 f8 16 d9 ed 6f d7 86 9f f1 1e 8a 37 02 4c | .I.+i\.b....!.........o......7.L |
0100 | ff 74 2c 84 1b 93 c4 8d 85 1f 9b 24 2b 8e fd 10 a2 0d b7 23 9b be 83 eb 87 f6 5f ea b5 2f 15 ff | .t,........$+......#......_../.. |
0120 | cc e8 ff d7 d7 35 98 7e 67 ef 15 7f 8d 62 b1 f8 f0 ef fa b9 29 4a e1 9a 68 9a f8 1e ab 6a de d5 | .....5.~g....b......)J..h....j.. |
0140 | 78 64 59 16 fe ae 69 9a ab e3 f5 f1 c4 5c ef cb c2 b8 57 46 3b e6 7b 6d 77 6e 80 fb f3 63 61 77 | xdY...i......\....WF;.{mwn...caw |
0160 | ae 85 fe dc 9f 33 0b bf e7 2f 02 7f 4d f4 f6 ad ef 80 d3 b5 e1 e1 e7 5a b1 28 76 dd 78 88 ae 63 | .....3.../..M..........Z.(v.x..c |
0180 | 70 57 28 c4 68 52 fb 74 e1 3c 2c c4 44 c2 59 23 04 50 87 49 42 cd 7b 12 c6 e5 86 a2 c4 4c 02 55 | pW(.hR.t.<,.D.Y#.P.IB.{......L.U |
01a0 | 24 4c 35 42 cc 84 58 44 80 47 08 06 1a 21 26 41 e3 4c 8b 11 22 38 83 10 cd 32 49 02 f4 09 97 88 | $L5B..XD.G...!&A.L.."8...2I..... |
01c0 | d0 44 c4 14 14 44 04 53 15 84 11 56 b0 b3 51 b3 a6 53 bd 62 c7 6e 16 45 5f 16 e3 ca a8 c2 dd 22 | .D...D.S...V..Q..S.b.n.E_......" |
01e0 | 84 0c 5e 66 d0 6e e0 75 96 6c 1c e7 62 c2 c4 5a 15 00 18 13 4c f3 4f ee fa 17 ed 27 ba 16 e5 14 | ..^f.n.u.l..b..Z....L.O....'.... |
0200 | f8 e5 40 55 13 06 2b 98 15 e8 37 cf 98 c1 db 98 81 a8 90 0f 62 c6 4e 08 b1 68 02 b6 63 65 35 0b | ..@U..+...7.........b.N..h..ce5. |
0220 | 9f 6d 1f 8a 35 a0 21 7f c8 d3 18 59 b5 54 51 62 b6 33 68 de cc c2 bf 1c 76 44 e0 57 00 44 08 16 | .m..5.!....Y.TQb.3h.....vD.W.D.. |
0240 | a5 98 63 78 e1 c8 de 7b cb 33 cb bd 57 7c bf 41 08 50 cb 33 65 f3 2e 8f 76 8c 04 d9 54 0d 61 a8 | ..cx...{.3..W|.A.P.3e...v...T.a. |
0260 | 9a 66 08 50 57 c2 5e 92 ca fe a0 35 6b fd 86 7f a5 18 e8 c3 21 12 bc 76 82 9c 10 cd 56 80 47 18 | .f.PW.^....5k.......!..v....V.G. |
0280 | 19 78 7d c9 59 81 ea 47 40 b8 15 9e 4e b3 6b b7 b3 ea 08 de 30 da b4 0b a0 8a 08 c3 0b f8 d9 fc | .x}.Y..G@...N.k.....0........... |
02a0 | c1 83 9d 86 7f a0 b5 75 82 f1 bb 7a c0 db 6c 5d 04 59 96 a1 28 8a 49 a0 f3 a4 10 cd c2 c3 0b 59 | .......u...z..l].Y..(.I........Y |
02c0 | 92 cc c2 b6 88 a0 65 7f b3 9d 89 b3 be a8 2a 36 4f 86 0d 15 21 ce 90 6b 43 55 43 18 b1 58 dc 98 | ......e.......*6O...!..kCUC..X.. |
02e0 | 71 d3 17 55 24 98 09 d1 5c 9b 61 22 88 a1 69 c4 e2 98 a7 33 e5 62 b3 2a 83 1c b9 17 c7 4e 28 47 | q..U$...\.a"..i....3.b.*.....N(G |
0300 | f0 80 90 0b a3 08 e1 47 d5 10 06 a0 cf 10 54 55 35 48 43 51 62 25 87 aa 05 05 59 96 5c 99 8d 44 | .......G......TU5HCQb%....Y.\..D |
0320 | 02 95 68 aa 21 44 d9 59 90 24 c9 46 9b 7e d5 5f d6 7c 67 08 6d 9b be 80 c8 f4 15 61 8c c0 e7 a4 | ..h.!D.Y.$.F.~._.|g.m......a.... |
0340 | 44 55 f3 25 59 04 ec 42 e8 e1 52 4e c5 e3 71 6f fd 79 7c 5f ab 8a 30 dc 42 96 65 43 20 53 61 4c | DU.%Y..B..RN..qo.y|_..0.B.eC.SaL |
0360 | 05 62 4f 4f 37 9a 9a 9a 01 00 ca 84 23 a0 1e f8 47 49 7d 59 84 3a 13 a6 39 1a 6d 9c 11 c6 16 74 | .bOO7.......#...GI}Y.:..9.m....t |
0380 | 6d db fe 39 f4 1c db cf 0b c4 22 82 b0 98 00 74 23 f0 08 31 fb 67 44 66 3e fe 5d 13 af e5 a8 ee | m..9......"....t#..1.gDf>.]..... |
03a0 | f7 91 68 6a f5 10 46 7d b6 1b 7d 89 66 43 40 b3 c2 39 12 cc 11 fc 42 92 15 d3 f3 63 16 34 d6 e7 | ..hj..F}..}.fC@..9....B....c.4.. |
03c0 | ca 8d 80 35 09 55 1b 81 ea 24 48 ed 84 a8 93 e0 74 27 30 23 8c 25 f8 b1 06 54 0d 61 8c 26 10 4d | ...5.U...$H.....t'0#.%...T.a.&.M |
03e0 | 75 e5 ec a4 fb 98 fd 2e 85 17 3d 28 67 39 db 0f 00 4f 7d 19 c2 8f 13 7c bc c0 e3 1f 5e 2a dc 44 | u.........=(g9...O}....|....^*.D |
0400 | 42 2d 12 66 11 c2 8a b1 1e a0 52 55 84 c1 db 17 f5 d5 dd ba 20 a3 02 ac 60 1e 52 8d d9 63 31 b5 | B-.f......RU............`.R..c1. |
0420 | bc 14 58 66 76 9c 80 65 05 ab 39 aa 46 35 11 8b 2c cb 91 20 8d 10 08 c6 d2 73 64 09 17 16 ed 13 | ..Xfv..e..9.F5..,........sd..... |
0440 | 59 18 5c a3 aa 08 c3 0f 24 49 86 2c 9b 5f a2 ee ee b4 f1 77 83 e8 a0 08 11 22 58 e0 95 88 bc 3a | Y.\.....$I.,._.....w....."X....: |
0460 | 70 47 3b 46 03 51 47 84 e1 00 b7 a6 a1 72 22 97 cb 8d f8 8b c3 27 06 54 14 41 82 c0 61 cd 88 37 | pG;F.QG......r"......'.T.A..a..7 |
0480 | 5f d9 a9 e8 ea 70 de 2e fa 92 d8 2d a6 64 67 7f a6 fe 43 92 1a 84 66 07 a0 a0 d7 86 6e 1b fe 83 | _....p.....-.dg...C...f.....n... |
04a0 | 3d c0 f8 d3 ce 87 e0 c6 ac 41 af 1f 60 15 34 6e 17 a6 8a ae 2d 60 3e 07 7e 6c 96 d0 5c 3e 09 25 | =........A..`.4n....-`>.~l..\>.% |
04c0 | f7 be 78 3d 2f 16 ec 39 02 62 81 ea 27 e3 02 af 51 88 d6 57 38 5e 83 c2 8f ae 7e 73 e3 64 07 82 | ..x=/..9.b..'...Q..W8^....~s.d.. |
04e0 | 31 67 f1 d7 0c b0 27 22 3f d7 ae aa 08 43 1e 5e bd 4d 4d 4d ec 0d 52 55 15 9a a6 59 2e 22 15 08 | 1g....'"?....C.^.MMM..RU...Y.".. |
0500 | 8a c2 a4 0c 61 da 28 19 8c a0 e5 c7 54 6c 6c ec f8 00 14 c6 48 db e5 da f6 83 86 fc 21 3d 63 6d | ....a.(.....Tll.....H.......!=cm |
0520 | 84 08 1e 11 99 7a c6 1e c6 b6 87 86 c7 b0 c0 25 9a 2a 9c 55 c8 b2 6c 1f 07 2d 6c ae f4 cb e7 25 | .....z.........%.*.U..l..-l....% |
0540 | b7 93 97 b1 f1 28 69 ac d1 82 af 51 83 6a ca 4a ec eb 5c ab e8 fa 38 c1 ef 73 52 55 1a 86 dd 62 | .....(i....Q.j.J..\...8..sRU...b |
0560 | 37 3b 95 4d 23 04 d0 34 40 b2 9a 4d dc 38 d3 3c 0d 8d 19 0f 3f a6 b1 1e 79 11 21 42 84 f2 20 68 | 7;.M#..4@..M.8.<....?...y.!B...h |
0580 | bf 48 55 11 46 43 fe 90 a9 68 d1 68 41 51 42 83 99 6c 2c 66 35 6e 85 b6 e7 fe 39 e2 b4 eb c7 a9 | .HU.FC...h.hAQB..l,f5n....9..... |
05a0 | 2f af 0f ae a1 4d 31 a6 35 be ff 91 46 6d 4d 1d 34 55 b5 1d 97 2c 49 d1 8c b6 ca 31 d2 3e d0 a0 | /....M1.5...FmM.4U...,I....1.>.. |
05c0 | 51 55 84 51 0e 1c 8a 37 a2 21 d7 1b 4c 63 84 94 5d c0 04 3a de 08 c5 e1 60 ce 73 93 1f 2b c8 19 | QU.Q...7.!..Lc..]..:....`.s..+.. |
05e0 | a2 c9 a4 c9 b7 eb 40 c6 5e cc 17 5e 72 7e 55 22 2a c8 62 c6 15 f5 69 73 ee 41 56 e0 63 31 9a 7d | ......@.^..^r~U"*.b...is.AV.c1.} |
0600 | 3b d5 47 18 6c da 72 9b 02 46 a6 df ec 66 89 82 36 02 01 d7 5e a8 6c d2 5e 08 ad 02 e4 17 a1 fc | ;.G.l.r..F...f..6...^.l.^....... |
0620 | 08 d5 f3 57 0e 38 9c 1f 9b 67 ce ef 75 10 9a ae bd 94 56 0e 41 a8 2d 4b ba d5 47 18 63 08 26 93 | ...W.8...g..u.....V.A.-K..G.c.&. |
0640 | 87 dd 43 68 13 d2 19 78 3f a2 f6 05 fd d1 17 af 14 07 7e 84 80 31 46 49 61 b4 3f 63 e5 22 8b 52 | ..Ch...x?.........~..1FIa.?c.".R |
0660 | 26 01 55 47 18 12 00 c8 32 c8 f0 cd 90 64 d9 94 be 9c 68 9a ad dd d1 54 91 af cc 90 25 69 d4 3f | &.UG....2....d....h....T....%i.? |
0680 | f0 4e 28 f6 d0 9a b6 8b c8 2a 04 eb 30 68 30 c2 58 be 4f 11 aa 40 cb f2 80 aa 23 8c 20 c0 93 4e | .N(......*..0h0.X.O..@....#....N |
06a0 | c9 ed 0d 0b 1e 96 c4 00 58 ea 70 b0 64 16 74 94 56 04 f7 f8 67 c6 fc dd 53 14 9b 1d b9 b8 20 9d | ........X.p.d.t.V...g...S....... |
06c0 | 52 05 97 90 84 99 bf c3 60 fe 88 10 6e 54 1d 61 a8 45 56 16 4b b2 1c 8a 15 de c5 e0 b4 7a 54 92 | R.......`...nT.a.EV.K........zT. |
06e0 | 64 80 6a 41 1c 19 05 d1 97 af 52 a1 63 5c 63 1a 0b f0 1c be 5d ec 7e 3a 6c e7 9f 85 68 16 3f 3a | d.jA......R.c\c.....].~:l...h.?: |
0700 | 50 75 84 c1 83 9f d5 d3 ef ac c3 8b 96 67 d5 6b 82 3b 13 ce 48 c2 64 2e 63 49 a3 4c fd 18 8b 01 | Pu...........g.k.;..H.d.cI.L.... |
0720 | 8b 90 93 9d c6 c4 ee eb 85 a0 47 73 94 49 84 ca 41 f8 8e f2 bf 05 f9 1e bb 9d 10 8d a2 89 13 4f | ..........Gs.I..A..............O |
0740 | ec 55 47 18 4d 6a 1f 7a 94 fa 91 1e 86 09 f5 d9 1e d3 fa 10 9e c4 d8 df 58 22 2b 57 d8 df 48 60 | .UG.Mj.z................X"+W..H` |
0760 | 34 68 75 3c 24 59 89 4c 83 11 74 54 88 04 2a 3d 51 e5 fb 1b 3b 12 c7 03 44 91 3a f2 b0 40 b6 98 | 4hu<$Y.L..tT..*=Q...;...D.:..@.. |
0780 | 4d 42 3c 1b a0 e4 41 98 31 b2 5a 10 10 4e 4d 88 85 14 a0 2f 68 24 60 67 ae 33 a5 62 61 35 22 c1 | MB<...A.1.Z..NM..../h$`g.3.ba5". |
07a0 | 24 c0 da 26 93 08 b0 48 ff a3 f9 da 45 18 7d a8 4a c2 f0 03 49 92 4c a5 5b 29 34 42 d0 a3 d4 a3 | $..&...H....E.}.J...I.L.[)4B.... |
07c0 | 49 ed ab c8 38 46 c2 17 a0 aa 79 13 29 01 56 62 02 1c 32 ce 0a 34 a6 08 c1 80 27 dc 52 b5 b4 a2 | I...8F....y.).Vb..2..4....'.R... |
07e0 | 99 5c 05 e4 17 91 56 f0 08 ab bf af 2a 09 43 23 04 b2 24 41 51 94 50 3d ec 16 47 20 33 36 e1 03 | .\....V.....*.C#..$AQ.P=..G.36.. |
0800 | 14 d2 87 ca 2d f8 6b af da 94 23 15 93 55 84 8a c3 c6 77 c4 fb ff 9c f6 a1 f0 4a 6b 56 bf 18 93 | ....-.k...#..U....w.......JkV... |
0820 | 1a de af 59 30 7a 8e 3c a3 2a 09 c3 09 96 59 32 33 a3 17 d5 1d a8 04 e9 b4 8e 9f 80 03 07 f6 5b | ...Y0z.<.*....Y23..............[ |
0840 | 37 30 ab d6 a9 10 15 69 41 40 78 67 2c a3 19 f9 7c 0e b1 58 75 15 f9 09 23 82 f4 7d b9 a9 95 21 | 70.....iA@xg,...|..Xu...#..}...! |
0860 | 22 ce 4a bc 5d 61 30 2f 47 84 e1 02 61 08 09 9d 30 61 a2 f1 b7 88 3c 08 21 e5 9b 79 5b 7c 24 4c | ".J.]a0/G...a...0a....<.!..y[|$L |
0880 | 08 a6 03 39 85 e1 01 2f 37 f2 f9 9c e9 7b e1 1e f8 2f 5a 13 99 f0 46 1f 44 f7 ca ed 44 52 74 6c | ...9.../7....{.../Z...F.D...DRtl |
08a0 | a9 1a 58 b9 50 95 84 41 5f 5a 36 a4 53 96 e9 e2 25 62 52 71 2b e9 94 55 14 ba 28 cf b9 3f 7e 01 | ..X.P..A_Z6.S...%bRq+..U..(..?~. |
08c0 | 96 46 88 d9 6c c3 e6 cb 1a 41 38 99 d8 44 db 2d 08 c1 39 84 11 4e cf 87 9d 59 cf 74 3c 9b 1b 28 | .F..l....A8..D.-..9..N...Y.t<..( |
08e0 | 20 0d 29 4c a6 dd 6a 04 4f 3a f6 01 15 a5 69 63 55 49 18 22 68 1a 81 2c 4b 90 65 09 1a ac e1 92 | ..)L..j.O:....icUI."h..,K.e..... |
0900 | a6 45 4d a6 ba 1a f6 a9 44 bc 42 6f cb df ac 92 ce 6c ed ca 58 ba 25 a3 30 c3 a4 dd 44 d1 ac 81 | .EM.....D.Bo.....l..X.%.0...D... |
0920 | c0 5e 43 a2 08 26 8b ed 68 40 90 eb 7b 4a d1 2e ca 85 20 e4 54 55 12 46 43 fe 10 7a 94 7a 46 d3 | .^C..&..h@..{J......TU.FC..z.zF. |
0940 | 50 a1 11 02 55 1d f9 c2 f3 95 10 e8 87 62 0d 9e 2a fd 35 69 fd 38 14 6b 30 69 04 be ea 48 97 08 | P...U........b..*.5i.8.k0i...H.. |
0960 | d6 2c 97 dd 1b ce 14 ed ec 18 01 b1 f9 b0 1a 61 b7 98 d3 cd be 22 50 4d 2a 14 6b 91 c6 18 71 3a | .,.............a....."PM*.k...q: |
0980 | 21 04 57 3b 5c c8 66 b3 00 98 99 96 aa 16 d6 6d d8 08 c9 a0 17 6f b1 33 01 6a 2a 13 ef a7 9b cb | !.W;\.f........m.....o.3.j*..... |
09a0 | 8c 24 78 23 a8 3d d0 c8 33 c0 bb 69 6d a4 fd 43 a5 c2 c9 77 c4 12 48 57 e7 01 d3 36 d1 79 8f b5 | .$x#.=..3..im..C...w..HW...6.y.. |
09c0 | 59 7b b9 e1 c6 04 07 58 23 ed 44 10 dd 47 45 71 08 2b 0e 29 ca 39 e9 ac 5a c2 90 25 69 cc ad d4 | Y{.....X#.D..GEq.+.).9..Z..%i... |
09e0 | b5 33 9b 01 fe 52 70 54 0a b6 42 d2 81 50 12 93 be 80 ec de 1d e5 1c d6 88 40 b4 98 d4 69 9f d1 | .3...RpT..B..P...........@...i.. |
0a00 | 88 52 cd 30 95 3c 7f 37 84 54 4d 24 5f b5 84 41 41 05 68 9c 99 c9 6b 1a 01 0d 94 23 9a 66 5f 0d | .R.0.<.7.TM$_..AA.h...k....#.f_. |
0a20 | 8d 99 55 7b 35 f3 f0 60 cb c7 52 13 19 00 c8 b2 0b 13 59 85 8a 15 b1 84 24 d2 66 d8 eb 11 21 64 | ..U{5..`..R.......Y.....$.f...!d |
0a40 | 70 10 b2 ec cc da 6e d2 41 9f 47 de e4 46 c1 6b 4f 11 dc 41 a4 0d 78 21 d4 4a fb 24 ab 9e 30 dc | p.....n.A.G..F.kO..A..x!.J.$..0. |
0a60 | 42 92 64 28 0a 93 dc 8f ae 7f 28 d3 8c 9d 86 f2 e6 72 39 ec df bf 8f 19 87 84 71 e3 c6 9b f6 ed | B.d(......(......r9.......q..... |
0a80 | e9 ee 02 a0 0b 71 cf 19 47 fd 8e cf 21 ac d6 4e 9b 91 65 09 6a de 9d 09 61 34 60 2c 2c 20 74 7b | .....q..G...!..N..e.j...a4`,,.t{ |
0aa0 | 0e c5 26 02 ad e3 27 18 7f 17 f3 db 84 4f c7 1d 9d f0 4a 16 6e cd 77 4e a8 5a c2 d0 08 01 61 22 | ..&...'......O....J.n.wN.Z....a" |
0ac0 | 44 24 00 90 24 e3 c5 b0 63 f9 4a 15 50 f2 0b bb 28 29 8a 91 36 c1 29 b1 c2 23 a7 6b 72 d6 31 b9 | D$..$...c.J.P...()..6.)..#.kr.1. |
0ae0 | 59 39 3c 1a c1 6b 60 d4 d7 a3 aa 63 c7 2c ea 06 c5 ee eb 68 37 b9 85 11 41 5d d3 aa 25 0c 40 9f | Y9<..k`....c.,.....h7...A]..%.@. |
0b00 | 5d d9 39 c3 4c 21 ae 84 00 d2 70 d8 1d 5d f5 3d fc 7f 90 b3 25 7e 46 ce 9a c9 a8 33 be 1a 51 29 | ].9.L!....p..].=....%~F....3..Q) |
0b20 | ad a9 92 60 27 24 5e cd 78 fc fe 91 80 e5 e0 d3 c1 1d a1 38 aa 96 30 8c 97 8e 75 ac 12 02 0d e6 | ...`'$^.x..........8..0...u..... |
0b40 | 85 7d c5 16 ee f1 71 ec e5 42 22 91 30 f9 56 4c 90 24 c3 64 06 04 a3 7a 3a c1 29 1a 8b d7 66 c2 | .}....q..B".0.VL.$.d...z:.)...f. |
0b60 | e8 64 1f 6b 70 45 38 cc 3e 11 c1 88 61 99 98 f8 bc 4e a5 64 3a 08 f3 ea 7e 42 48 f5 12 06 eb 64 | .d.kpE8.>...a....N.d:...~BH....d |
0b80 | a6 e0 1f 18 8d 10 80 9a 0b d4 fc a8 99 e9 f2 f9 a4 46 52 68 b3 0e 7c 7a 29 9d 92 09 8e 26 a7 79 | .................FRh..|z)....&.y |
0ba0 | b1 20 80 d1 88 b1 72 1e 5e 51 8e 77 db 0f 31 db 45 c6 15 23 12 ea 43 2a 77 f0 41 ac 6e 22 d0 5f | ......r.^Q.w..1.E..#..C*w.A.n"._ |
0bc0 | a5 6b 8b 54 4d 83 e2 b3 1e b3 50 43 29 11 96 55 b7 4c fb ac 6f a5 b7 f7 20 1a 1b c7 95 dc 5f 18 | .k.TM.....PC)..U.L..o........._. |
0be0 | c1 92 34 4f 1e d4 99 6a 17 a9 33 92 70 23 70 cc da d7 d8 cd 17 15 36 d2 1f 0b fa 94 c8 ca 21 92 | ..4O...j..3.p#p.......6.......!. |
0c00 | 39 6c f0 81 1b 78 5d 58 5a b5 1a 06 05 af 3e b2 b3 71 05 ee cd 3b 95 7a 49 84 61 78 92 35 7a 2b | 9l...x]XZ.....>..q...;.zI.ax.5z+ |
0c20 | 70 0c 9b bd 80 c2 62 26 d6 a7 63 ec 56 81 b5 2d f4 21 6f 2a 6b 2f 95 81 53 6a 19 bb 45 9b 7c be | p.....b&..c.V..-.!o*k/..Sj..E.|. |
0c40 | b3 b1 06 af ef 52 35 9a d8 ca 7a ce 0e 6d 57 3d 61 14 83 2c cb 05 81 cc 38 bc a9 59 c5 93 86 52 | .....R5...z..mW=a..,....8..Y...R |
0c60 | 04 6c 5b aa c6 10 80 0f 32 62 1f 28 52 21 3f 0b 85 93 f3 9e c5 58 74 e4 77 75 75 ea 7f 08 5e ba | .l[.....2b.(R!?......Xt.wuu...^. |
0c80 | a6 e6 56 cb 6f 34 24 da 2b e8 35 b6 23 0e b7 c9 e8 c6 02 44 25 09 58 54 23 a1 94 0b 55 4d 18 b1 | ..V.o4$.+.5.#......D%.XT#...UM.. |
0ca0 | 58 1c 84 68 50 14 c5 08 f1 54 d5 bc a7 fc 34 aa a6 95 25 e2 42 62 42 7c 79 68 84 a0 b7 f7 a0 21 | X..hP....T....4...%.BbB|yh.....! |
0cc0 | 04 78 35 b4 ab f3 80 29 25 bb 53 34 d8 48 a2 90 29 55 bc 2a 9d be f8 a3 25 94 d9 8f 1d 9c 92 48 | .x5....)%.S4.H..)U.*....%......H |
0ce0 | 6f 6f 77 a0 63 62 c1 93 85 eb 71 72 11 81 63 19 7e 7d 37 61 30 bf 55 d2 44 5b d5 84 61 07 6a 86 | oow.cb....qr..c.~}7a0.U.D[..a.j. |
0d00 | a2 2f 16 6b 96 52 94 18 a0 e6 85 42 b8 d4 d5 de de c6 58 59 93 84 9d d9 4b 13 f9 75 38 d0 4c c0 | ./.k.R.....B......XY....K..u8.L. |
0d20 | a5 f6 6f 32 85 01 a1 cb 58 3b 56 1d c6 f4 be ba b5 8f 8f b5 94 3b 5e 20 c9 b2 25 d4 de ed ba 93 | ..o2....X;V..........;^...%..... |
0d40 | 30 90 8f 9d 39 8a fe 2a cd 3c 4c ff bb 5a 1c df bd 8c 4b 22 a7 24 8d bf 69 01 22 f3 4c 96 de 40 | 0...9..*.<L..Z....K".$..i.".L..@ |
0d60 | 3e aa 87 53 f7 09 81 2c cb 20 84 20 ae 66 4a 1a 5f d6 48 05 e2 f4 f0 58 6f 6a 4d 4d ad f1 f7 e0 | >..S...,.....fJ._.H....XojMM....
}
Mapgen::Mapgen(int mapgenid, MapgenParams *params, EmergeManager *emerge) :
gennotify(emerge->gen_notify_on, &emerge->gen_notify_on_deco_ids)
{
generating = false;
id = mapgenid;
seed = (int)params->seed;
water_level = params->water_level;
flags = params->flags;
csize = v3s16(1, 1, 1) * (params->chunksize * MAP_BLOCKSIZE);
vm = NULL;
ndef = NULL;
heightmap = NULL;
biomemap = NULL;
heatmap = NULL;
humidmap = NULL;
}
Mapgen::~Mapgen()
{
}
u32 Mapgen | *t.~..?0|?b....dMM-............. |
0f00 | 0f 8e 9a 8e 37 82 1e 8b a0 33 64 bb 89 41 b5 25 28 0c 33 9c 4c 51 e2 74 e5 ce 21 d0 a5 c0 af ff | ....7....3d..A.%(.3.LQ.t..!..... |
0f20 | c2 0b 58 82 8c 08 03 f4 45 2d f8 30 dc cd b4 bc 6b 22 ae 46 e3 d3 84 44 09 82 3a bf 25 49 36 64 | ..X.....E-.0....k".F...D..:.%I6d |
0f40 | 74 f9 a2 77 3c da 98 8a b5 c6 91 5f 39 ae ef 68 05 75 78 03 ce 26 ba 30 87 1f b3 d0 86 85 a7 d3 | t..w<......_9..h.ux..&.0........ |
0f60 | dc 6b b4 a4 e2 71 8b 62 29 7a 44 91 84 61 2b 07 60 10 46 35 a7 08 b1 82 2d c9 1a ac 50 74 03 56 | .k...q.b)zD..a+.`.F5....-...Pt.V |
0f80 | a3 01 0a b3 4e fd bb 33 99 89 22 54 58 13 17 6f ee 0a 60 b4 a6 97 3e 4c 2e 93 72 23 8c be 15 f3 | ....N..3.."TX..o..`...>L..r#.... |
0fa0 | b3 22 da 1e 7c f4 54 b9 a0 69 5a d1 e7 89 3d 87 a0 9d fc 41 c0 6d 1e 37 bb b0 73 b6 1c 00 05 5d | ."..|.T..iZ...=....A.m.7..s....] |
0fc0 | 33 56 0a fc e6 9c 8a 34 8c 61 b8 7d 79 a8 59 ca 1c a9 54 49 58 23 a6 0a 08 a3 00 e0 c2 0e 3d 46 | 3V.....4.a.}y.Y...TIX#........=F |
0fe0 | c1 8c 5e 58 cf 6b 68 48 77 0a a7 52 a5 47 13 05 01 fa 1c 53 38 df 8b ca df 27 af 93 0f 5d bb 2a | ..^X.khHw..R.G.....S8....'...].* |
1000 | 76 50 70 4e fe d1 0c bf e1 bf 11 61 08 e1 ee e5 e0 fd 0c 92 24 79 0e 57 b5 f4 5c 92 00 b5 8e a7 | vPpN.......a........$y.W..\..... |
1020 | 5c 08 ca 97 c3 0a 2d 3e fa cc 8d 46 35 1a 41 89 83 05 bb 8e 06 00 86 06 07 0c 79 26 87 22 45 3c | \.....->...F5.A...........y&."E< |
1040 | 1b d8 30 56 04 ad 87 70 f0 2a 2e 3f cc 9a 06 23 c2 10 c2 ce 8f 31 6c 2a d2 08 20 55 4a 05 36 47 | ..0V...p.*.?...#.....1l*...UJ.6G |
1060 | 5f 51 e1 e1 d5 2f c1 0a 61 bf 82 9e fa 49 e8 79 17 fe 67 46 cb 98 be b4 40 9c 7c d5 19 12 99 e2 | _Q.../..a....I.y..gF....@.|..... |
1080 | 09 44 40 32 2c 46 9b 10 97 65 65 d4 39 f2 dd 64 35 28 fb 18 38 73 54 3a 9d 06 e0 ec 50 2f c9 31 | .D@2,F...ee.9..d5(..8sT:....P/.1 |
10a0 | ce 9d 67 d5 13 46 42 cb 22 2b 27 6c b6 52 e2 a0 7e 0c 33 91 f0 2a 70 30 e6 15 77 3e 13 6b e8 2d | ..g..FB."+'l.R..~.3..*p0..w>.k.- |
10c0 | 41 a5 d6 2d b8 0d f3 95 65 c5 32 16 ea 94 15 1d 2f d2 d8 46 af c9 aa b2 8b 3d d9 fb 6f 19 49 48 | A..-....e.2...../..F.....=..o.IH |
10e0 | c9 84 75 e4 03 41 38 f3 c3 77 9e 22 41 2e 0a cb 55 55 20 1e 8f 5b 7e 0f 02 bc bf 42 92 e5 a2 e5 | ..u..A8..w."A...UU...[~....B.... |
1100 | 11 ec 92 62 9a 08 23 72 7c 8b 20 f2 19 e8 37 dc 5b 3a 0e 77 48 68 39 64 e5 04 17 b5 05 78 17 3e | ...b..#r|.....7.[:.wHh9d.....x.> |
1120 | bc 26 21 05 20 38 cc e4 28 6a cf ad 90 b7 0a 80 e2 6d 8f 3e f0 fe 1b eb 1e 95 26 c4 30 10 b0 9f | .&!..8..(j.......m.>......&.0... |
1140 | 45 7b a2 09 46 18 ce 25 48 e4 72 e6 74 3d c5 ce 8f 26 ef f4 12 ae eb 86 2c 00 71 66 65 20 d2 30 | E{..F..%H.r.t=...&......,.qfe..0 |
1160 | 00 d0 3c 47 92 c9 86 ee 78 b3 46 44 98 b1 91 5b 00 d5 44 dc 0b 56 73 34 53 10 b0 5b f1 1e 84 b0 | ..<G....x.FD...[..D..Vs4S..[.... |
1180 | b7 9b 51 8a 57 b6 8f 5e e8 d7 2a 28 5f 50 90 b0 1f 13 35 8b 8c 86 b0 57 51 5a 1d 8a 91 08 41 0e | ..Q.W..^..*(_P....5....WQZ....A. |
11a0 | 72 d1 1f 2d b8 e6 f6 de 07 61 46 8b 08 c3 06 ec 8c c6 ce dc 33 38 38 18 48 fe 9c 52 20 4a 44 17 | r..-.....aF.........388.H..R.JD. |
11c0 | 06 53 0e 1f 1a 4c 11 44 aa 72 3e ba 67 ac c3 de 7f 31 b2 eb 54 44 7e b4 30 45 82 15 13 a4 ee 27 | .S...L.D.r>.g....1..TD~.0E.....' |
11e0 | 1f 95 7f 97 ca f1 fe 9a 4a 4e fb 44 44 18 00 08 88 eb 67 a2 52 71 ec 76 f9 a1 dc a7 2b 71 8e c7 | ........JN.DD.....g.Rq.v....+q.. |
1200 | f7 8b 20 fc 24 63 4d 4b 28 80 25 6f fd ff ca 98 d6 9c 03 19 ca 91 88 b0 18 28 71 88 32 d2 50 53 | ....$cMK(.%o.............(q.2.PS |
1220 | 2e 6b c6 0d b7 b6 62 ad 4d 63 b7 be 62 ac a7 75 8f 08 43 00 3f 0e e4 9a 9a 1a 0c 0d 0d 55 40 10 | .k....b.Mc..b..u..C.?........U@. |
1240 | 96 d6 7e b0 8e 71 7b 2d a2 74 f0 82 76 74 12 8c d9 89 2f da a3 32 da 81 bb 44 84 c1 a2 58 4f c5 | ..~..q{-.t..vt..../..2...D...XO. |
1260 | b4 73 de 2f 38 1a fc 5a c5 16 ea b1 d5 27 79 9f c5 68 80 85 30 aa d3 f1 5d fc 41 64 cd 28 95 9d | .s./8..Z.....'y..h..0...].Ad.(.. |
1280 | 3d ba 45 21 c9 1f 81 79 85 b8 1d 4a 5d 33 62 17 09 64 5f 37 a3 94 eb 15 ee cc b5 fe 51 f9 4c 02 | =.E!...y...J]3b..d_7........Q.L. |
12a0 | ee 20 1a 53 b8 af 7d a5 a2 04 dd ae de 2e 06 b7 51 51 61 2a 65 1c 69 18 a0 a1 b5 71 b0 02 d0 78 | ...S..}.........QQa*e.i....q...x |
12c0 | e8 18 6b 15 e5 07 fd 7f fd 0b 9d 05 15 92 c7 49 c8 29 c9 12 0b 29 89 84 08 f7 9d 10 40 12 ac 5a | ..k............I.)...)......@..Z |
12e0 | 15 ac 89 60 db 2d 2d f2 4a d4 a6 68 a5 b9 75 dd 08 7f bc e4 22 c8 20 5c 84 6c 85 79 dc 7c 44 9a | ...`.--.J..h..u....."..\.l.y.|D. |
1300 | 78 7f bf fd 50 58 eb b4 94 03 76 7d d0 67 dc 7b 8b c1 04 42 38 af 44 b7 86 70 5b 4d 84 2c 64 59 | x...PX....v}.g.{...B8.D..p[M.,dY |
1320 | 76 e1 e7 d0 b7 8b 52 74 38 41 9c be 83 b8 4a eb c1 af b8 56 64 59 78 d1 c5 91 63 9a e3 1a ad 71 | v.....Rt8A....J....VdYx...c....q |
1340 | e3 c6 17 ed df 0e 07 0f 76 46 84 51 80 c4 fc 2f 12 5e ec 3e 56 10 42 4c a9 9d c9 60 69 95 f7 8a | ........vF.Q.../.^.>V.BL...`i... |
1360 | a2 a4 17 30 98 19 98 75 46 e7 2d e2 c7 9e 34 0a a4 1d c6 fc 40 62 48 96 ec c6 14 6e 66 bc b4 e2 | ...0...uF.-...4.....@bH....nf... |
1380 | 5e 30 e9 c1 c3 90 fe c2 fb 35 a8 34 dc 2c 7e 95 00 c8 4a 18 56 da bb 03 5b ca 98 45 10 11 61 b2 | ^0.......5.4.,~...J.V...[..E..a. |
13a0 | 24 45 84 21 86 97 fc 4c c1 47 aa 88 4a c0 8e 1e 98 af 03 7d 29 fd 3a 35 ed d2 ba 8f 26 14 88 d5 | $E.!...L.G..J......}).:5....&... |
13c0 | 3e 54 98 82 12 47 50 29 5e ec 93 10 1a 7f f9 6e 7b ac 83 5e 19 4d 55 91 a3 66 21 c1 bd 90 25 c9 | >T...GP)^......n{..^.MU..f!...%. |
13e0 | 85 06 32 9a de 61 7b 44 84 51 0c 92 44 ad e7 70 b6 37 97 d9 6e 6a 23 34 bc 93 89 7f 73 54 29 28 | ..2..a{D.Q..D..p.7..nj#4....sT)( |
1400 | a4 09 b1 9e c7 d8 59 a8 e7 0f 23 e1 90 66 7a 17 fc 56 bd f7 c2 2f dc a6 21 17 25 fd 63 51 ee fa | ......Y...#..fz..V...
vm->m_area.add_y(em, i, -1);
}
return (y >= ymin) ? y : -MAX_MAP_GENERATION_LIMIT;
}
void Mapgen::updateHeightmap(v3s16 nmin, v3s16 nmax)
{
if (!heightmap)
return;
//TimeTaker t("Mapgen::updateHeightmap", NULL, PRECISION_MICRO);
int index = 0;
for (s16 z = nmin.Z; z <= nmax.Z; z++) {
for (s16 x = nmin.X; x <= nmax.X; x++, index++) {
s16 y = findGroundLevel(v2s16(x, z), nmin.Y, nmax.Y);
heightmap[index] = y;
}
}
//printf("updateHeightmap: %dus\n", t.stop());
}
void Mapgen::updateLiquid(UniqueQueue<v3s16> *trans_liquid, v3s16 nmin, v3s16 nmax)
{
bool isliquid, wasliquid;
v3s16 em = vm->m_area.getExtent();
for (s16 z = nmin.Z; z <= nmax.Z; z++) {
for (s16 x = nmin.X; x <= nmax.X; x++) {
wasliquid = true;
u32 i = vm->m_area.index(x, nmax.Y, z);
for (s16 y = nmax.Y; y >= nmin.Y; y--) {
isliquid = ndef->get(vm->m_data[i]).isLiquid();
// there was a change between liquid and nonliquid, add to queue.
if (isliquid != wasliquid)
trans_liquid->push_back(v3s16(x, y, z));
wasliquid = isliquid;
vm->m_area.add_y(em, i, -1);
}
}
}
}
void Mapgen::setLighting(u8 light, v3s16 nmin...H....T....9..L..........|..L. | |
17c0 | e6 e5 d1 34 95 59 48 48 fb 04 12 89 a4 b1 0f 4d 56 e7 af cf ca 1c 63 4e 33 ed 2d 34 93 4d 79 32 | ...4.YHH.......MV.....cN3.-4.My2 |
17e0 | fc 83 a5 cd 30 20 08 27 b3 5d be ad 20 fd 4e 4e 0e e9 ca 39 c9 dd 4e 74 ca d3 27 4f 2e 95 16 da | ....0..'.]....NN...9..Nt..'O.... |
1800 | ac 0f 87 8e c5 ee 7d 60 fd 16 23 81 71 2d e6 74 e8 91 86 c1 80 a6 be 60 7d 12 54 10 88 05 14 5b | ......}`..#.q-.t.......`}.T....[ |
1820 | f7 80 04 fa ec 27 b4 dc 70 8d 0e 16 d6 0e 92 c9 14 43 1a dc de 15 f1 1b f0 6d ba 13 3a bc e3 93 | .....'..p........C.......m..:... |
1840 | 90 51 be 38 0a e5 23 31 51 bb e5 88 82 2a b5 2c b0 3f 54 76 9d 89 70 04 45 ae e3 48 4d 4e 08 d1 | .Q.8..#1Q....*.,.?Tv..p.E..HMN.. |
1860 | c4 ef c4 08 4e 96 22 c2 e0 a0 93 43 b1 59 30 11 47 1c 05 fc 02 53 13 45 71 27 ba 3b 87 37 9b 60 | ....N."....C.Y0.G....S.Eq'.;.7.` |
1880 | 11 28 d7 cc ca 39 2e de 09 e6 e8 34 60 a4 cd 1c c1 c2 26 f5 44 29 2d 0a 17 d9 d1 c9 41 90 f7 d6 | .(...9.....4`.....&.D)-.....A... |
18a0 | 69 4d 52 79 c9 c4 3e 3d bb db 89 49 e9 c2 55 92 24 db 99 fe 48 85 ba ba 81 46 48 e0 0e f2 f0 9e | iMRy..>=...I..U.$...H....FH..... |
18c0 | 6d 08 40 d5 77 3b 35 be 78 8c 77 30 f0 36 f3 76 3f 2b f4 17 69 e3 67 95 ad df 97 d6 6a 87 97 c6 | m.@
vm->m_data[i].param1 = light;
}
}
}
void Mapgen::lightSpread(VoxelArea &a, v3s16 p, u8 light)
{
if (light <= 1 || !a.contains(p))
return;
u32 vi = vm->m_area.index(p);
MapNode &nn = vm->m_data[vi];
light--;
// should probably compare masked, but doesn't seem to make a difference
if (light <= nn.param1 || !ndef->get(nn).light_propagates)
return;
nn.param1 = light;
lightSpread(a, p + v3s16(0, 0, 1), light);
lightSpread(a, p + v3s16(0, 1, 0), light);
lightSpread(a, p + v3s16(1, 0, 0), light);
lightSpread(a, p - v3s16(0, 0, 1), light);
lightSpread(a, p - v3s16(0, 1, 0), light);
lightSpread(a, p - v3s16(1, 0, 0), light);
}
void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax)
{
ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
//TimeTaker t("updateLighting");
propagateSunlight(nmin, nmax);
spreadLight(full_nmin, full_nmax);
//printf("updateLighting: %dms\n", t.stop());
}
void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax)
{
ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
//TimeTaker t("updateLighting");
propagateSunlight(
nmin - v3s16(1, 1, 1) * MAP_BLOCKSIZE,
nmax + v3s16(1, 0, 1) * MAP_BLOCKSIZE);
spreadLight(
nmin - v3s16(1, 1, 1) * MAP_BLOCKSIZE,
nmax + v3s16(1, 1, 1) * MAP_BLOCKSIZE);
//printf("updateLighting: %dms\n", t.stop());
}
void Mapgen::propagateSunlight(v3s16 nmin, v3s16 nmax)
{
//TimeTaker t("propagateSunlight");
VoxelArea a(nmin, nmax);
bool block_is_underground = (water_level >= nmax.Y);
v3s16 em = vm->m_area.getExtent();
for (int z = a.MinEdge.Z; z <= a.MaxEdge.Z; z++) {
for (int x = a.MinEdge.X; x <= a.MaxEdge.X; x++) {
// see if we can get a light value from the overtop
u32 i = vm->m_area.index(x, a.MaxEdge.Y + 1, z);
if (vm->m_data[i].getContent() == CONTENT_IGNORE) {
if (block_is_underground)
continue;
} else if ((vm->m_data[i].param1 & 0x0F) != LIGHT_SUN) {
continue;
}
vm->m_area.add_y(em, i, -1);
for (int y = a.MaxEdge.Y; y >= a.MinEdge.Y; y--) {
MapNode &n = vm->m_data[i];
if (!ndef->get(n).sunlight_propagates)
break;
n.param1 = LIGHT_SUN;
vm->m_area.add_y(em, i, -1);
}
}
}
//printf("propagateSunlight: %dms\n", t.stop());
}
void Mapgen::spreadLight(v3s16 nmin, v3s16 nmax)
{
//TimeTaker t("spreadLight");
VoxelArea a(nmin, nmax);
for (int z = a.MinEdge.Z; z <= a.MaxEdge.Z; z++) {
for (int y = a.MinEdge.Y; y <= a.MaxEdge.Y; y++) {
u32 i = vm->m_area.index(a.MinEdge.X, y, z);
for (int x = a.MinEdge.X; x <= a.MaxEdge.X; x++, i++) {
MapNode &n = vm->m_data[i];
if (n.getContent() == CONTENT_IGNORE ||
!ndef->get(n).light_propagates)
continue;
u8 light_produced = ndef->get(n).light_source & 0x0F;
if (light_produced)
n.param1 = light_produced;
u8 light = n.param1 & 0x0F;
if (light) {
lightSpread(a, v3s16(x, y, z + 1), light);
lightSpread(a, v3s16(x, y + 1, z ), light);
lightSpread(a, v3s16(x + 1, y, z ), light);
lightSpread(a, v3s16(x, y, z - 1), light);
lightSpread(a, v3s16(x, y - 1, z ), light);
lightSpread(a, v3s16(x - 1, y, z ), light);
}
}
}
}
//printf("spreadLight: %dms\n", t.stop());
}
////
//// GenerateNotifier
////
GenerateNotifier::GenerateNotifier()
{
m_notify_on = 0;
}
GenerateNotifier::GenerateNotifier(u32 notify_on,
std::set<u32> *notify_on_deco_ids)
{
m_notify_on = notify_on;
m_notify_on_deco_ids = notify_on_deco_ids;
}
void GenerateNotifier::setNotifyOn(u32 notify_on)
{
m_notify_on = notify_on;
}
void GenerateNotifier::setNotifyOnDecoIds(std::set<u32> *notify_on_deco_ids)
{
m_notify_on_deco_ids = notify_on_deco_ids;
}
bool GenerateNotifier::addEvent(GenNotifyType type, v3s16 pos, u32 id)
{
if (!(m_notify_on & (1 << type)))
return false;
if (type == GENNOTIFY_DECORATION &&
m_notify_on_deco_ids->find(id) == m_notify_on_deco_ids->end())
return false;
GenNotifyEvent gne;
gne.type = type;
gne.pos = pos;
gne.id = id;
m_notify_events.push_back(gne);
return true;
}
void GenerateNotifier::getEvents(
std::map<std::string, std::vector<v3s16> > &event_map,
bool peek_events)
{
std::list<GenNotifyEvent>::iterator it;
for (it = m_notify_events.begin(); it != m_notify_events.end(); ++it) {
GenNotifyEvent &gn = *it;
std::string name = (gn.type == GENNOTIFY_DECORATION) ?
"decoration#"+ itos(gn.id) :
flagdesc_gennotify[gn.type].name;
event_map[name].push_back(gn.pos);
}
if (!peek_events)
m_notify_events.clear();
}
////
//// MapgenParams
////
void MapgenParams::load(const Settings &settings)
{
std::string seed_str;
const char *seed_name = (&settings == g_settings) ? "fixed_map_seed" : "seed";
if (settings.getNoEx(seed_name, seed_str) && !seed_str.empty())
seed = read_seed(seed_str.c_str());
else
myrand_bytes(&seed, sizeof(seed));
settings.getNoEx("mg_name", mg_name);
settings.getS16NoEx("water_level", water_level);
settings.getS16NoEx("chunksize", chunksize);
settings.getFlagStrNoEx("mg_flags", flags, flagdesc_mapgen);
settings.getNoiseParams("mg_biome_np_heat", np_biome_heat);
settings.getNoiseParams("mg_biome_np_heat_blend", np_biome_heat_blend);
settings.getNoiseParams("mg_biome_np_humidity", np_biome_humidity);
settings.getNoiseParams("mg_biome_np_humidity_blend", np_biome_humidity_blend);
delete sparams;
MapgenFactory *mgfactory = EmergeManager::getMapgenFactory(mg_name);
if (mgfactory) {
sparams = mgfactory->createMapgenParams();
sparams->readParams(&settings);
}
}
void MapgenParams::save(Settings &settings) const
{
settings.set("mg_name", mg_name);
settings.setU64("seed", seed);
settings.setS16("water_level", water_level);
settings.setS16("chunksize", chunksize);
settings.setFlagStr("mg_flags", flags, flagdesc_mapgen, U32_MAX);
settings.setNoiseParams("mg_biome_np_heat", np_biome_heat);
settings.setNoiseParams("mg_biome_np_heat_blend", np_biome_heat_blend);
settings.setNoiseParams("mg_biome_np_humidity", np_biome_humidity);
settings.setNoiseParams("mg_biome_np_humidity_blend", np_biome_humidity_blend);
if (sparams)
sparams->writeParams(&settings);
}
|