From 90c4154fb8fcccbbc044f07ed232e254dc2ba574 Mon Sep 17 00:00:00 2001 From: Song Minjae Date: Sun, 21 Feb 2016 14:28:06 +0900 Subject: [PATCH] Locales using CSV, added language sheet from Polyglot Project Former-commit-id: 6cbb8643ca82e26db3a2ea90db9bee132c22c2ce Former-commit-id: cd6489fab6b988af8939fab167b69119d77eff8f --- .../com/Torvald/CSVFetcher.class | Bin 3154 -> 3107 bytes .../com/Torvald/JsonFetcher.class | Bin 2247 -> 2201 bytes .../ConsoleCommand/CommandInput.class | Bin 871 -> 871 bytes .../ConsoleCommand/CommandInterpreter.class | Bin 4066 -> 4298 bytes .../Terrarum/ConsoleCommand/SetLocale.class | Bin 1817 -> 1358 bytes .../Torvald/Terrarum/LangPack/Lang$1.class | Bin 0 -> 879 bytes .../com/Torvald/Terrarum/LangPack/Lang.class | Bin 4327 -> 6360 bytes .../Terrarum/MapDrawer/LightmapLantern.class | Bin 709 -> 709 bytes .../Terrarum/MapDrawer/LightmapRenderer.class | Bin 11852 -> 11852 bytes .../Terrarum/MapGenerator/MapGenerator.class | Bin 16977 -> 16324 bytes .../com/Torvald/Terrarum/Terrarum.class | Bin 4851 -> 4888 bytes .../TileProperties/TileNameCode.class | Bin 0 -> 1651 bytes .../TileProperties/TilePropCodex.class | Bin 4201 -> 4201 bytes .../Terrarum/TileProperties/propdata.csv | 2 +- .../UserInterface/BasicDebugInfoWindow.class | Bin 7484 -> 7036 bytes res/locales/devmsg.csv | 15 + res/locales/en.lang | 262 --------- res/locales/fonts.txt | 7 - res/locales/fr.lang | 262 --------- res/locales/jp.lang | 262 --------- res/locales/jp_kana.lang | 262 --------- res/locales/ko.lang | 262 --------- res/locales/langprop.csv | 2 + res/locales/polyglot.csv | 510 ++++++++++++++++++ res/locales/tiles.csv | 78 +++ res/locales/usermsg.csv | 4 + src/com/Torvald/CSVFetcher.java | 3 +- src/com/Torvald/JsonFetcher.java | 3 +- .../ConsoleCommand/CommandInterpreter.java | 6 + .../Terrarum/ConsoleCommand/SetLocale.java | 13 +- src/com/Torvald/Terrarum/LangPack/Lang.java | 58 +- .../Terrarum/MapGenerator/MapGenerator.java | 104 ++-- src/com/Torvald/Terrarum/Terrarum.java | 6 +- .../Terrarum/TileProperties/TileNameCode.java | 58 ++ .../TileProperties/TilePropCodex.java | 2 + .../Terrarum/TileProperties/propdata.csv | 2 +- .../UserInterface/BasicDebugInfoWindow.java | 11 +- 37 files changed, 772 insertions(+), 1422 deletions(-) create mode 100644 out/production/Terrarum_renewed/com/Torvald/Terrarum/LangPack/Lang$1.class create mode 100644 out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/TileNameCode.class create mode 100644 res/locales/devmsg.csv delete mode 100755 res/locales/en.lang delete mode 100755 res/locales/fonts.txt delete mode 100644 res/locales/fr.lang delete mode 100644 res/locales/jp.lang delete mode 100644 res/locales/jp_kana.lang delete mode 100755 res/locales/ko.lang create mode 100644 res/locales/langprop.csv create mode 100644 res/locales/polyglot.csv create mode 100644 res/locales/tiles.csv create mode 100644 res/locales/usermsg.csv create mode 100644 src/com/Torvald/Terrarum/TileProperties/TileNameCode.java diff --git a/out/production/Terrarum_renewed/com/Torvald/CSVFetcher.class b/out/production/Terrarum_renewed/com/Torvald/CSVFetcher.class index d4dc011aa24ad7e1f880360cad6e2371a8eb0435..952b99d4e0c9920c0550688772baeeb66a806d6e 100644 GIT binary patch delta 715 zcmZ9J%TH5L5XOJExAd0VBU}qeOUpyWM*t}zCZZ^UF(xW*G%+YFsvs1x#kSyEeBfJ9 zyuL*@u5=}kTzN!Ynz(S`nx!uM1Kb+t%EH8)`)SmT3a_Tg+ zjQzt?X)oyEVa0M*C^pfk=p|v$r#Mc(;si+zt1mtjkM+lsJ+b}SbRyZKNHL%|Nm7v} zqsWrc(D%h!6oU*YPLVMLN3Q8COVgUgC5Ts0U`T;saN0jo8Y%4V|Z z_&{5Cwl~$4$@g)?;-;8emMiKucMR?-Mj6v6{$Ee)V4}aPJFU3Ked)_|FXPj{^eJ6` zfNj4uqS{0Iv$5cNqKb>cNiidtf5!tqhZdRc9~#FZPd z%LDZr3ab{y70s}0P7*Rp$it*?Jby(5@ydO*?=3VPVaGqI+;J>dmUrMY(TUG5>_9HxWLKgj!p A)c^nh delta 751 zcmYL`Nlz3}6otR4g0AlBhctt9GlMjeGzfwuiVOnoRNS~Qs4QAQXha&J#MySl5d_Ow zz=eN6ASoH5iCdShG;!sQAEEIUEUZfI%{w{oob&Ge5cwV{`u2D23(&}Wi!$0RO6dql z>9i=GjrLT8JuJ*=KfPW*C@_5{{a$Z3Ib$-gI5(wfgHBAJ){31~y)di3Nkbdg@VE31 zCq@!>oAXnTrWE^VQk1hpkzmN=tYVmRiV>0;p`rLhylyx?GEjHS9!rc2C`LK27$d0| z$5vdx)-aCNbtopdsJMh}a#?YOtBPw}SKJ_KB0e{{WpZ0_hr1^C6qDT7s0no@llHhh z79Z{Ew+EAbqi+Qq1to`J?AAZx~C4;qcs9 zFpIPo&bs-__fqkSch0EQ$Vd?4YHlRl+Y|YtrBK+*_Jys?2=;xL7~;53CYK9>d^%Q^s V8n2n-jf|pO08jmdkWO-no`0*UgdhL_ diff --git a/out/production/Terrarum_renewed/com/Torvald/JsonFetcher.class b/out/production/Terrarum_renewed/com/Torvald/JsonFetcher.class index dd802287231dc8036e42f3577187e72dca63ae48..e6693e4b28fb7cb342d24c59c21aee19390babff 100644 GIT binary patch delta 547 zcmYL_%WhIp6o$Wj4sZ%=%f*8Af^F?3Euh#$6O($W4!j^xYildsDg~rP3WT0?+6T}H zIU`@fSV^$9(ZrF7@1XBsVw{*57wy2wzt;cne_i(a8hR6&{`Pn8GjM^XkE0|l&iXJ& zdI@vRCy=r@@54i~Cr?Y(o=TV&H+NQYO5Jkas!PsKHEJrN?Pk=i86e^e7-QSFxuZ#Q z*CM0IlCzl8++$u5tQNKksam04NiEo|^?JqPzGi_%iwBw|mNgH_i|4LNi;o z*BYhGfQLsx9tYe!2{Ng9$}@`<&2tKhW5vcsYO&GUD%47;^k)0JxAVjJt%g@ADk77a z|3l|itL36SGqu$FQOWt`dhIW3UQpG%q~^SGUsUzZ7x##AH5B8{yeHGRpVR}dICn7w`7=xS; zb@;F&Lz4BJK}I-(l6QmA0~{CKCCY^J#~PgR$IVaZE=P9hmwEXvf#p4^;v*r09q}H{ u3`-5f@N{60A$~N#6<^tjV5NglpkfWut4%a{V8RiC_2t delta 553 zcmYk2O>a^`6o#L<7nsXsluMZ zBzNVXFjkUlZKGQgW8%V%KfsNNYnR4@cHvCsyyubDDFS^Q+|vr7rld)Ul{@Vy0ee)LNtdcXhxq9Ar?D z_FvdZzo8;e4M}aLXQ0JllEIgu`ogh4*)RO-#Qc@v*M30r{v1A<3 zms!Kwz%ITeG@gA!I3N^{US?aylF8o8 FG5|Tr3-e0j6vuzB$;(Y%A5zkVMj)lErD;ilQf$~tL2zk7sVrrw7OWr^uuwn|Ocg{C zMKK`O-MUmorKOq{A_aFr#eG3#9GPK;;R7EWX9NeW=O$&CF_XFXp6!3n`JZ#&$*iN< z;iLZ^=mZKmVKJ6^i;1kU2(Z@8I*U8F)5Ci1^00x8T79=gm{-lW)U z(NoJkwS1pqi$$uIQ?-1*;sJ}^TJBAQ2HC379}HV;g z!X%ryRNCyL&A?f`rhchnug%-MqlntH)1laJvyKBcG2T@iw3$YyfupXj&L9x^J!w!R z#Vqb=;8|T$U%PT~b#0A7zSd_})YO-CD?Cg7XY^0IXtX)RVVn18Q@n5U0Us(pid2~c zQ){`(z?@$-c40u#V)HSdM0T3P`+dq0sleu_j{A%@o6q^e<``cZ6v)j5Zkw<8+8`rx z){_y*ciBC@;ai*U_}-?3A0ks-BV8r@Xpj@nzsZ#s_(_KxH%M7ly|y}7TfJgQaK@r# zHH+(Qe&!dOU-dQ9bV5ZElOL%yJZ(X>%^993GpBz}48fixYpF;<*$vsv+;)ssIV3Sz zR##kk8B^qJCmgtvsUmqaxM(EU_)WZ(=+5VMkW>~Z&+DAvC~~Gd`!#VoFWosZWcth~ z4zDwc87a2YjF!lB+i&cMEVupPRSBC{Y>lMHNUdxqP3zoI(wnJBm@_V#dy6@<+w5zm za38KY`%qCXZzL=38>LSNeM2svEAF)2mLoYeMWOvW~&t9 z;}oamF*xFdFCsH?${rZ@vxzKrkxdf=WXuLj--k%ghjK*rW8?_i!#E)`e~J+jALI-L z{2?#!oXo$btq@cEY_8@Sq4NxGuBA*)K8{n)bg>F?%-}lNP5$J1W=b{{BIS}C?xF{# z;s(Vm`5V%r3*;(h`{kFTN)>bd#&b>rE&VRK`_U+}M*wzvvpX12<{c<&d5l3)|KRC? z+$cjrPMM1tGUj`J{0g?WE64cf|-)`lLG}+8J4~*(GG}@tG}>n=?*xDJgO;5<12R zMa85sjy{YR3QI(qOn8cLSS|y%K*sH68Msx#<9cCoqiDB_!%pE#v%EkGUM1Yl6CT}S zo5Xz4DS?~ILaO8fp@SRaEW6~Zb`#Y?mMvexMRH1#i#M@YA{=u42Dzz55-g@F%q`Lm zlO+0$HN!e_l}B$af;qDYgib zL$C{CjFRpYmcGpWky{aET$J%qCR}=={`k|IC9t#U vCDrzkF&HM*=gB!JwQF|zCoW-myneS#?Fv>(3cX~uZ>LTQGlV_;=vV&-dA?U- delta 1531 zcmYk6>sM4|6vlstnRDL5;UF+N)}-773THq@B@{F-Xg32jNe%CK$xEa`YG&G4Udk-g z#xk<9)S6N%6+4VhqL$t0{tvWTe&}N#Th+2?zk_Sl%vtYczx&zm-p_u{=_|fg80-7z zLN8FwPYz>gbr{DZ4kfI&+2HUfZJD(5SSB0Uq|KWh9%qZq6N;@4SsIX~_fIOeIppYl z4qLR-c8z|@A;yj@o@R^U8Hb?*H|(_8<*=JQc8q5g&p8a&2fNwp@I3qU@Pf9zsD}>4 zemx&h9JG1KCaxnN(x#VnO0OsmJ49$zyy{R%r{Xn-Dq3xhIK0jqiZ`|Ws2<+ZCvPi` z8CVn7u3y_-U?dIaxMGIfA}MzNlCi*0CnP7uJMpRhz4ha%b(zimF7J{s@V9K*xJGf@ zs5(>|yhos_s z{CBft@Jgl_m~R;}3R z@;yJe{HWtkW=eO5y6WFBPUN6}ehdj%D`TDPs$@1~Hp4v_XJnDV1R1TgaS#(_?G89_ z2a{x%sUwO-z{Y;@R$@zqlVmhR8Y_Ay`D*+@fBrE}#;>@gMtl5Mw;+Ve?U9$D`YhJ`vnY>1CxvNWkHJZX)L9`b?RK7E1_`oK3>D~2ml9;lnGTxd z=3Rax(Le8uq!bdLlOjo9x`a6lk<{`q<5#ltV}3X(yGdI+0~fh=Q5Rgp`#0%X-t<@h$Gy|U2-agb2szy6ogN%-zL!(OM3OtbRcbG^#}*&vL~I81gq+x^LGh6jRZk62_KFZs?vp63Hj{ zXo`q*r=lT6Wpkv5QPQp|F+?i@qmzvBUu0~vFWlr&z0~7&kDC8pu!8i9GfTqG7LCr4 sESf}vbE%MZl~k5QR4laknk2XNrfv2WnSkpp!dK}k;bI(wgW_Fj9v8TjJYKmYo42+XtWGeohE8Dq_`F5wqe0gG2D6m@@=^2G<~Hx!(Fk$ z_s&fJFe8R)K#hs;yYniw$UO&layH;TO95wj5PowrjZFgs@-CPLUUZ%r@6b<2!)^-u0CM%v+ zRuVeGX#N0aUl*5*V(f1*!Km)R5rHwzD08IioTB~wL(M#4y>J+P$La^%hXt?v5w}O= z@d4g?kEpN{>tTfPR9_cgEX7p6LYJURVvqErBVsIdN_kNY_AvP_$$bq;Z@N9 literal 1817 zcma)6TW=dh6#mw6vfJ$@P3@#fnwBgr5a+rO5-v??AtotlouuGgXv1x?9-M9MU9(;% zk>FSG1`<*w9xU+yYLQ%tNEOfgB!m#(*lw$aNEEg6NAVYSkkeqV@1bZ4IS4#--~W&XiJT(Ylx?VoYZhG?|a7mQvwd(koXc9;b z^y~T2T3O_op_vUTp(__Wg;Cc*iIXatg_kg-;}Z*6jM0IGRjje7mSAOA{#^!i6r&;4 zQt1Su^X_(_q3>j6a}}?UlOemveC&eio3x|A9=5QK4Gpp3NeiE1&BCj=$E)jGxQ|T> zpW*Wp=`9vn`&Mi@_GjpOWEqs9?4fg*v$HJFNFIi9Ucz-k)jn>%1EOyw=1+r}W zL1fE4uN={{?FN-Xt}Y6t$k|^LVWvH$91hgMzh;+Z)U0l^L7D!P1`}Z^bb`jZduMa!WtY$Af<-PfQyqXgC`MnP69jY2vG)CpFUQ!*+;LN%}cf znL7P^+M@XpI3q?BJkP4Pl_}@VaM@L#3_$#KyL# zCb+-Fkg8{fwL)14L~hOZwuR6CSf8BwT&;$}m3W!^=n{w&7hoGH=Y^-un?tIRwvRrA z_LxkJ%HXC`!cJV_X*CpZ6|eB7@iV{1(s-f+7#P$)t z_Z00L`{*Fm_hFEnNtiX9r5?|O#iNGK8oI_4=W6Kw5nX&~vV9HN4;VU>^*q7(Kar>* zS%tAYQA2MP&hm)>ee~K$LdEDmjKQ3$&_`<+c+4X6D51=qox~o##Ra0G%D&BQ4s^5p z^H7^TNsU4D;wJhy(*3j=pxs5nJ33yE&*^yMZ;ZuM^EjFf{4q-h g^*%K*NL(bChfOr={>RzCi6f2dJZR*bj1$B3e=i-tT>t<8 diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/LangPack/Lang$1.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/LangPack/Lang$1.class new file mode 100644 index 0000000000000000000000000000000000000000..db03cad8fb0355ac871f417966d505b3b9f748bc GIT binary patch literal 879 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 KoSTi~@P7eb_!}Gm literal 4327 zcmb_e33nS;75+xsjO4K+j}s@}(ris+k=SjPlH$aTEZecEVmp$vI04L98rw=_Nga)x zr4RxE3S}>WlC%Y~fGG`-I*FY&Z7DkqW#4`R=K#L|D2MNjBv(n)awt7V@4n?O@4oLY znw$TA{v`mL@h2a;Vadq*;DF`D5=_fDBIBrxV=|8Wpuke_u$VvK#RqXh!H2}=qz^Ja z?8QfL$_EcV>Vq2}6E;3BY&;_46AC^lmXG@IDSTRRKBM5XKAwEehfaK6!575*n1U|~ zvC~5AOA4|IzAVlkSMU`DXB3(xJ1vs zsbEG}{FZ{J6?|L4GYT$|_h*WB;yZ%%T^Zj~a9P2#3T72tQE*kpH3_bio}Q3UA33B? z>+N|fnQ9+0Gg-s5l18pWf-3mEdMY)h#}7-;dP9*&S1A18Xe2bSb2L2I-NVCzvXE?# zS!OalLB;BDCY`hNw6#}HtiXNXpu}@Pwmysq}Ue^UDjkWCt*z_ zo|$SN&Y07BD$zb{n5J&#r`jU~W{B|F3qs@TIT|;zR+0e8nB$ETh9zNb;7*rY?>wUT zVdEI_&8G6Eo=WBnVP3+z3hMn8_1*DIKFtfOV-}s-rDyF&Fh3-C7mN~tBN;Oxp(>ln zSv~pmfRRs2a3|9V>}2!vY?P#{h#d}3rl zWl05JTWLljhRU{hsu&4hER#3mMsHH!?iJ5$6IrSv24>IVN*Sx72ffTHo0rVAcjd>& z4bw+Ufg4dM-+CR8ZaS}XwHfyAr*&8Zl;T;863^mKPrDB9iRnD@W(5DQ$ zJ1|`pD^qBNOw>TdGOSnx>^v)NuhUH4IO{8CSnR2KI-#2hQE%K6dH0^--qEcR8Vl~0 z3m1jx@5bW$XsIllJKk7D^u4;*l?rvyVRyq+MkitgjO{;(5PRD(dg97uOhR2BC~vrh z0N9$M@QZ&aY+73@Kz;|}9TnkHCiUE8p((RNv%EaULwP+#7j6NvbT#{qI>yW}kHrk# zj894kRC2NG@{%S^E6k7FzNAI1TZ|X~+(c9Jq>S{05b);mV>$azPoU6Wx#fC9C_}`_ z73gmbV$ms`;4Zra zJ($M5*hj8P*Xb(uV}$bo4i`@j@(Ju=T!{yD@smqP`T2w(od^c!(7@kio)vDY0l$0r zk>|x0THIV_*^l=TS^?20-e0trpq7JYtD9UG(Od+AHmkJ80s`03Gy^%vNnGKyALFrI z=&()K7u1WUX$ZO{ zcCnHXp<23}+3}{X5sf##f5XE4Z6$x(ZTVZ?c~4QQ()C2A5XfHCa{T}U6=HnCIK-kn z!Q6b3#dw~D_%h4z6&B!MSZe>oZpn?P)WA=VRoEl#z&M>VJb+~zQ&f-Eoa?x$wFf)R&)bDZaVMA36tblmEa)ENb%W=MZl4AHRU@JWu#nWVg@azUH?7 z$)fho*Ry{WyB7F3HxpZBV%PG?U6^3OCNV|`Ph-jkB*-+cWob{a9vtLsEUx&(B1mpL zhDmBkx19uD^a8C>+jI`qjatVA$gUZui(D7>VmNF_PDU!^&&b)oZ17iD_ANQ);nS&E-e%r nacf<%5swxoYlZkXmFzzt&BkvDPGOnkL9?V`1vw`94&?p=KtIvV diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapLantern.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapLantern.class index 3a6bee705434d268e70a1a291505f114292600c0..c9ebc90f1f0ccd9d92e1dc9a6f6757858d1f77f1 100644 GIT binary patch delta 55 zcmX@gdX#m;VMakc1{NlL22Lge20kW324NYZGubd&0!h)yjZEr{wqVvi GCUyW#`V090 delta 55 zcmX@gdX#m;VMak+1{Nkg22Lh@20kVO24N<{$yXSo7)>VYGubd&07=owjZEr{Hel91 GCUyW#0t@i~ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.class index 2269ec306430d3d5ab46f876528c10480b4ab899..ece444f7463125d00170d557057f75699a2d232b 100644 GIT binary patch delta 432 zcmW-ZO-NK>6o$|H&0NLFD_ylQ2S;W8oSAzsXl>QTABZM$F*!&u7z1uvgrXn_8W9RD z+8wke2oZCkBBXZ~PL!3D1> z-@q)An8z)wpal+^Q9uft=*1VwBI4M^9h@MGQw%rcLH@qn)4 zA@2kRG07dl1RnFFU@M;RyI{XQLmoVp-Dl)Sj^m*;Uhs#|C7uqMm=j81;eW3Qr}RbA zu|z&B%g+@a4KM1ea=9kWp;qMCifq)blNSZD@R~aDhLU(ox3NJPyk}R_OZ_92;}c!R z7KQPd^G(CrSE@jf&1hQN7TV#dXiEDgw9nt8H?;$DXeHj!j{ags8UW?vxbM<>H?K0 sovKs?`IW(0+t0e)Wq8HZh^ZCh6XO??H3FnmkUT0x7bU$a!h81EIWt&s(*OVf delta 432 zcmW-ZOGs346vof@*DE-9!|^dbaMb3ZGjs2S)UA)ng3?4#5nBwUxN@OMLL@1IA}(AW zd?G05LdC$kfr^&+M07wiTO?u&5kZL-En2w9L#yxio!>bp8i__0$8w=}dqX^*`&vA`L{6e#Rn%e@j@ncVy^DU*|9c8170_dh9^zc{D zEA;V0Zx{pI>n+A0uX|tUL*&4)?2eEdqa5SO|uhnNs#~fv1 zUVbj{8~>cXD3>3keWYU8Z03E*SRxme$;1kkW0fkgMs@g15v+4e{*1mw3D~A|?2sS3 z{3-vnwomtPz($~6I}|$N{y?pEBJ`cl0?)J`6pK?fgJs&e&`)j;zQhF|1zT~&rJ)Ag z@NlRazxh)550@BE@R$1y3%6_=9hvw?@ro!(fwGjMJYiF2g({B2=A<*8VwHp9R01U{ qo!lysn=Ci$)+1-C7?+rIF&SdA#56hYlTsdXC@&>Sx|E;4S)F&FcXNFJ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapGenerator/MapGenerator.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapGenerator/MapGenerator.class index f1840a548418aa445454ce700c3e13297c203307..0660ff3103f502e42775a1607934c6c524ae8d7e 100644 GIT binary patch literal 16324 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 Q!4Z1_eDlQ^tB6bf8!xu0`v3p{ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Terrarum.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Terrarum.class index 8b9822e93e0d04bac3c94373041b6bf92d7dac0b..74806b74906f1aea5839f0342e46660bf32423c4 100644 GIT binary patch delta 579 zcmX|;>r0bi7{-6kyS>}o+H8{<^`)3u;VB9$!jjp6&~!>A(ZSMaWd}5A9o9j~4p3pK z4?!jvtf)@~Yov?y7xWkOrN1Jfk993-yzso&^W4|_-oN{Le%8O-Fx?WaBFY;-Z-WHM z&9pU}+{}e1CYN9S>X_GsyvG_l;&z0_m|DSkh7Acj>WSOqZn*Ht?Q>l3#i6dgf*WXc zCuVW*0IM1rmoP<~BAz1N_XK*H7V+gVgovo0D_cg!1Ocr(wQrN!rE0tCd*nzGqk~%Z za!rnP^2hLUof~SQ2HYg8cUj$HNdLVp?W@80P1Jr1*VirUi!w^Og#XwQfdW+}f>NQQ z|8cAn>7Fo}I!3%g)FK8rpwmvBcd>?Un&@FGDe?45r8ul-fFqox|1VvG$Z9Ket*m8I zjxuMu!kOki5B_mR@%8%|_lA?kevB+MpP+`5nsID8FPwd!DeDf1v<_iSg+sADr?q(nv@3e6(uKv-s(l;*hxv4dH3Qaahej$o(|WYNgF zP$6WZ$SW_V4LUGhbkh&$E`s_K242=HgwWNuzO~-(d){}=RIgN}b`^&C5G6u7LY$9N z^>rpaHTcS;GryM|^FGM9*4VdRg)Z%FdtHv}4BZXF{$6i%4hI(~uc=+a zWO1^%SwcCyz9sT{=keQjF5+h}&#$%qSLZY0fT+;GqYKn3GP-?#vRuzBM#G0*Sj);sz1M;mOYwPDf z`bna+vYAtCqm4bZb6B;BZk>8K!|8Q;rI=&t*XYT0dXjM_{=o|fZL;5D>AF7oI4jHN z*ui;rbAkQzYw<;z84&6!9bBf9E4sNB%oPoomO=f%5F5Cu$8)|j%1>Uf%D5?F!k&namAoV&Z3VBX<&9EJa)6Zm75`LXsbrdc W%*f8Ha!%92J3E_bG-3NA(eM`tXk$nK diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/TileNameCode.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/TileNameCode.class new file mode 100644 index 0000000000000000000000000000000000000000..93e028c35da98adce3802bdc2acca0ce7f5e7e0e GIT binary patch literal 1651 zcmb8vTT|0O6bJCLlsn~C5kV9M6cv>!-f!qO4K$J_b(6N@trH-lWlHOW!uRsY86W%r zei^@k_}`><4v)TM^807^Y&K`xUw?l5B%=HDX_!*S>Cur1YH4ocC zvt0=qM_~$MNl>5XyN;XeX!?b1FK*s>y>G{@>M3)W zVi{&_L&;6cj>}%?M2_^!SYD61*olf5WF*l%J}Fw~Z=mJ1?isn1G&D)8XsH>0t;>9H zw|@&f?Y3}HP^Me>R2P?U=&I7k=RG+&`HfB3vLf~U37Yr3-mJIRah$K;sNj*&+6(b6 zcD)%oM+ZA$w@1ocK( zidtX8s9g^aV>-b>s8@J~u6wPcXgA!zAVHIQ?7xSr`@wOLCPkj0JO5i*(1f0zZ3NBF zS$AhY+-=hW_27p~v`n+qOMUop_Cq~101q+`!NbfWaGH4(9%CMdCzvPU4D%Uyiuo)& z&3q1?VV;H0Gta>nm@mTf%$MNH%nR@$^Adc8`6|53d=0+Nd;?x#z6sxAz74N3XW=`{ zci}bWd+>ec2k=AYNAP3jC-76|XYh087w|gsOZXMDgmcUWoM$%S4dzX_z-+;1M9tl6$=2#qj4qQr@jQ(Gc|Ns1O3MiiNlXG(zuhWvTo!3u5~c&VwE zNgYeRd|T0yy8qkm;Gs)|K1l``46&5aWz0-DwsH=tj?6hL@5+)JEAFgiLEj5oUi6LF M$&Y>zSy>MB{(E{JG5`Po delta 172 zcmWN}%L+kZ6vgrXS7(555Xk_iTyi@hNs{|D6ekmP#-=<1W7F>)jFq{(fj2NW@DBE9 zxAtoNzSh^e9}QJ|oD9cfhcSo{AWEDV8M#FgR7uhz&4?UR`Oe6)B(Hz|SGa^%dOsCe z+0>}(XJD(E+6;c$ZG3dZ=#rvGfj$iel7`F~<1oP$?;zfZ1s5@|thlk(d2_Ee`fP60 NPQOi8S-KqR{Q+Yi9q9l7 diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv b/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv index a9eeb757b..e067dd1dd 100644 --- a/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv +++ b/out/production/Terrarum_renewed/com/Torvald/Terrarum/TileProperties/propdata.csv @@ -12,7 +12,7 @@ "9";"TILE_TRUNK_EBONY" ; "5"; "12"; "0"; "N/A"; "1"; "0"; "0"; "9"; "0";"16" "10";"TILE_TRUNK_BIRCH" ; "5"; "12"; "0"; "N/A"; "1"; "0"; "0"; "10"; "0";"16" "11";"TILE_TRUNK_BLOODROSE" ; "5"; "12"; "0"; "N/A"; "1"; "0"; "0"; "11"; "0";"16" - "12";"TILE_STONE" ; "5"; "25"; "0"; "N/A"; "1"; "1"; "0"; "12"; "0";"16" + "12";"TILE_STONE_QUARRIED" ; "5"; "25"; "0"; "N/A"; "1"; "1"; "0"; "12"; "0";"16" "13";"TILE_SAND" ; "5"; "6"; "0"; "N/A"; "1"; "1"; "0"; "13"; "1";"16" "14";"TILE_GRAVEL" ; "5"; "6"; "0"; "N/A"; "1"; "0"; "0"; "14"; "1";"16" diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/UserInterface/BasicDebugInfoWindow.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/UserInterface/BasicDebugInfoWindow.class index 568cdd36fc950ca2db93cda0f4ab6acdae469104..a8b2b72a7328afe83f35e9b6df7bedbf2a5e817f 100644 GIT binary patch delta 3294 zcmbtW3wTu35&q}g-Q2r(ZxXU0OJl%<2qmQ9A%p~ikPQS#gaCQ)*g%8;NeaXy1i>ng zi>S1UR$)my6E!Ngr`+!z$ON-E%yPIt=Q2KrSzGTjv zb7ubeXU?2+_vxZD1@`l2pE?2{pO%@Jf+ux6xCDH#IA!85_^XHyMSLXUV*`KF@ps$6KMb4}&i^#=FPt&(iA>Il zIHwadoU@rnfXEnI?4XBBa{d>X^FEh?ZwCT`JK8b?rBIieL2B-nVm%EF!a za?~y8xJ{r!g0Z%txitzik?ih;s6nw9c$?Z=*R(8aSmyWys6qKcC0YMn|gnnF|gY#p0v0_M(Iu(GL6r!tGm>1vCn(+rC$M9ica zyiHkBjk78zG{`d~dlt>ssnVh;kN z;Wo#jxin9zGT*{BY_}*#wH7U)g*w$)bPW|+w1@?|M1*C!nCdNBLiHh!IaFIpBRj{K z<6WJB?dWv*ZlYlk3zbEhRlFuK4@ zGb6|^@X9czz>=XLl+rgdsgO<6tOzp2uP`*RZ-zat$dlK{I1Dp*2wqMvA}7SITquGnf+8{N4zrRtH`FL>a@F7DgFo=qquO6HUrj z?(PnJ0COdWbfag)=p+`AC$nTb8j+QFMAkXt`2i=yiZL%1aejA1K1e6k{ZO=>PSJ-L zt5Vfqm4mU|XWT!u0=1!3f6#72Ic>yrx(j8r9hI~TRn&oMdK5ME1m@6D%%xW_k4|7d zox(y!s-=&yfKH=MrJ`O9MgyZRRk>KEhNDrHVY#Zr3RR0{)r4!+DzvCgSf#e2U4^h( z?L?c}jWucy@9o76wu<0J^(@w@V_2_V#0K>mHmWyZtG9Ul1U9R8akF|Kx2Ti2Regjl z>Jx0%fZH__TeS?_sb#XBjcwXcY}ZC1q>aN4tr+)cQ*p009Xqv|yk3d>v>NQvg1BE> zj0dy^JgBws+A7!`+B)pk?!Y73-RRIl*yG%ySCPh*n1dBq$zO&J%tSNaL@!rm8m?u{ z;@Skz!dfC%!-ZC~!Q>i5HLu*V*bNkI724%ivbGx6@hA9lZ7tSdEuTb=tu^C%e1RP& zX;rv^0o_=rjm3?uC153IwGQi{W3@IA8(1^=5HxIr4G*1WijKyIpkWiQnQAyS#ccCxW;c2 zzwObN1hbefp8*nc^L)XKc&mX^mudY*{bne_=xVSwy2p9lLr&rtYI)r`S=j zb}xe|9(Up^p8~Ucp*?vKw6DhUAl%1|B51pMq4fegaw#x7j&?sDh;ggt{M;8x^f?EO z4^=jMB>G^S+Si;!W%nW0oND1=)?B>OaiIYA`K3Jee?{1hug6j-XNIl|rSO6iKrT-- z1zWycqCOJO;T!QB_Bc5ZzIkcfmp_I3zra4qeQQU1YYcOcM(%ZhuRFN@=w^?SKjzRS zJdSV0Qod+=9(N$37o+E??Gp&De=K?FsBd2y?VbOIb{^Oh*dL>I(d^#Ck_Ptao!$X- zvM-?v2V)o`oH;jUZWpx2*{SCZ{JzHHL;iEkPhQaWkb@ZcH&)s@ AO#lD@ delta 3593 zcmbtW33yc175>k=GkI@b-h^ZzK^94*B1=P~7=k275)!r;5+s2nEQTQ@kYvcfBw>dK zn6iin`dUG;ELw|2R7mJB$l7A9MJd#3ZK>AU#kSH)L2Fw}#dF_GhA2?_ef_@V+;h%7 z=ReCm_rAH5aX8aF`Pqv{0i@G%9Yy$oiW4qW;U!6aD9Otze&m9JS9JUsCw0W&RTZ!4 z(53Au9R_})<226b_$gl3@iV;PV#7C8{M?bd0&I2~Z%OqpTo{XA>NtyENszZCc}Ii! zYYFwPj^E%t9lyozH2hw!f6(y0-1(!_ta;WMc}>B41#sS&Y6ibg^w2RS8)kwle5 z)5xWgu2HN;1{X$do#LpIM)6Weki?@>XMxKmCp(t9Xq2c?l1g25x{11Rd#F2?K|LJ# z!(}t7s3*68ZsuyJmrlu)l_KdaQtmCuSLF7sj+`86eU|!Ybel$fxp&l0qy8EVaOCa) zRQjq)scjZLuOu-yP^GW&q40UAl*Z|*bbDKwBVQ49sJFJo^p2l}*#>GQsYVT9fVDFw z(K;lnp(47!5`sdT47=``3t9c5UCIw+-%hNyIxK|^trBN&uPSt<=P=x!V}XgFnC zD`NYY`2p{O>VQExQkg5s2+HGZ49cgG23ly8fz>pMpw9I-mZxN<7&My3aFzy*r2@{= zpnIs0prrJZ+&BXDH>ik;4Lpj?VYdp~Z9EkawE5LOe;DRoDVw$;Y%oD8VrK>X%?&fF zXWBj`R4P#?5?l@bJYVfxTRVwL2?_ZlMpu>=m*y5$=H}&%EUYY7sm!2qsvrp4Y%)zD zIK5R>)jpM`%B^XHPIcb--ZY=LVOH8GpWj>DWYB#wuFJNY)9h70ooLnraN1CCO~6v6gC+l543>rFw&WG>03| zRO_pj`QQPpH}D|VTNkvRe6Vd+yelWCLDuItXfDl@oedax99s=)Bu=cE=Bu>8poLUm z&>|){BFQl+E~X_0Eu|&aCRcy4jPlwJyRsY!y0@yyADHCzHCOYH^y^>PJ|}Ux(Tyy^ zZS89PirRY3-MdTijJoQoCbrOPxH(NWkhRl&Q)JX)dU68;)!v!@2H&E}CV!LHS59!u z@isOR(k!o<+}113tqiQjR z1Me8D13JTxxx5nQAt0@Qm}lWaCqR7Eb|`)&nVvyG+<6@7K@4t%Gl)Ap8Bs-D2sa1O z!_$k2y*Xq*?uzJASQo@CA@oj-*A79iIDlBs&=At3!|m-3nGx%(sCA+^wH_=8DE? zg}NX4GFlKL**{a4POa#T9SZH{@Qh>8c?3ljA}Kb6;*ttS66ai862$l*?&UUlCOASUSsg^FjhA2|0@zIr zVqy@JLWo;kV+)Bvl!eeGER{=DMG%v%t)07MmuWAmZe`R{{57nEXU0&0j}3z$ToqD&!_D;g@4PMECp!4zc> zrYhN(rWC`=5h|5ZOjpV=LkXZpX+a%Fo2{%vt+E02$}Ti0d*N3OVxICc0?HXQD(_;x zseFJ1%0(aX)i0sOPF$@O7wY6f3ZrIgJlNU=7y7rIgdw2-m{8b*$5s4OA21 z_EMgFl{x8ylnImHX1K9|YfFbS>9Udqmx_l}Y*evH#ltEdAyQ%SA9(%7B{)@lvmwgy zW5=Jo@MDEyPFFCJdqApZMvv$Sf-B>ZV^f9c3;f#cwVRp3#(mk^E}nOo+rs6^r_hbZ zIBkVp_{$*Ct)i|;rUZ$x_uFiM@U!W}6YM3Q&2M3wv}Hb<|79k$k4ZRs*zsUAvUCW) zx02(dU@E!o45sk913Q^^1T(KfJ9-_oCnIGLp5j4~Xy3jH?JBSnHv%)GXiwuik=#l+ zXXmvFeZ@xOGqsDlQs}N|YR}k(%96j!oZT(#X3oKyXRj5&{9-Fl{a+FG;JHW%V>v^| zwMuy14lp3R$!BHCkE6`@`DhI5JW z+@$bkhuPY1r%U)Af{~K1JD%^^5b|QkI readCSV(String csvFilePath) throws IOException { + csvString = new StringBuffer(); readCsvFileAsString(csvFilePath); CSVParser csvParser = CSVParser.parse(csvString.toString() diff --git a/src/com/Torvald/JsonFetcher.java b/src/com/Torvald/JsonFetcher.java index 11718a7c0..7623b63bb 100644 --- a/src/com/Torvald/JsonFetcher.java +++ b/src/com/Torvald/JsonFetcher.java @@ -12,9 +12,10 @@ import java.nio.file.Files; */ public class JsonFetcher { - private static StringBuffer jsonString = new StringBuffer(); + private static StringBuffer jsonString; public static JsonObject readJson(String jsonFilePath) throws IOException { + jsonString = new StringBuffer(); readJsonFileAsString(jsonFilePath); JsonParser jsonParser = new JsonParser(); diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/CommandInterpreter.java b/src/com/Torvald/Terrarum/ConsoleCommand/CommandInterpreter.java index a2ba8d1c8..c20de9206 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/CommandInterpreter.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/CommandInterpreter.java @@ -27,6 +27,12 @@ public class CommandInterpreter { else if (single_command.getName().equalsIgnoreCase("zoom")) { new Zoom().execute(single_command.toStringArray()); } + else if (single_command.getName().equalsIgnoreCase("setlocale")) { + new SetLocale().execute(single_command.toStringArray()); + } + else if (single_command.getName().equalsIgnoreCase("getlocale")) { + new GetLocale().execute(single_command.toStringArray()); + } else { if (Terrarum.game.auth.b()) { ConsoleCommand commandObj = CommandDict.getCommand( diff --git a/src/com/Torvald/Terrarum/ConsoleCommand/SetLocale.java b/src/com/Torvald/Terrarum/ConsoleCommand/SetLocale.java index 561ac695d..77e56ef02 100644 --- a/src/com/Torvald/Terrarum/ConsoleCommand/SetLocale.java +++ b/src/com/Torvald/Terrarum/ConsoleCommand/SetLocale.java @@ -15,22 +15,13 @@ public class SetLocale implements ConsoleCommand { public void execute(String[] args) { if (args.length == 2) { String prevLocale = Terrarum.gameLocale; - Terrarum.gameLocale = args[1].toLowerCase(); + Terrarum.gameLocale = args[1]; try { new Lang(); new Echo().execute("Set locale to '" + Terrarum.gameLocale + "'."); - - if ((!prevLocale.contains("cn") && Terrarum.gameLocale.contains("cn")) - || (prevLocale.contains("cn") && !Terrarum.gameLocale.contains("cn"))) { - try { ((GameFontBase) Terrarum.gameFontWhite).reloadUnihan(); } - catch (SlickException e) { e.printStackTrace(); } - } } catch (IOException e) { - new Echo().execute("Locale '" - + args[1].toLowerCase() - + "' does not exist or could not read file." - ); + new Echo().execute("could not read lang file."); Terrarum.gameLocale = prevLocale; } } diff --git a/src/com/Torvald/Terrarum/LangPack/Lang.java b/src/com/Torvald/Terrarum/LangPack/Lang.java index b05889892..f12dbc113 100644 --- a/src/com/Torvald/Terrarum/LangPack/Lang.java +++ b/src/com/Torvald/Terrarum/LangPack/Lang.java @@ -1,10 +1,16 @@ package com.Torvald.Terrarum.LangPack; +import com.Torvald.CSVFetcher; +import com.Torvald.ImageFont.GameFontWhite; import com.Torvald.Terrarum.Terrarum; +import org.apache.commons.csv.CSVRecord; +import org.newdawn.slick.SlickException; import java.io.*; import java.nio.charset.StandardCharsets; import java.util.Arrays; +import java.util.Hashtable; +import java.util.List; import java.util.Properties; /** @@ -12,12 +18,18 @@ import java.util.Properties; */ public class Lang { - private static Properties lang; - private static Properties langFallback; - private static final String FALLBACK_LANG_CODE = "en"; + private static final String CSV_COLUMN_FIRST = "STRING_ID"; + /** + * Get record by its STRING_ID + */ + private static Hashtable lang; + private static final String FALLBACK_LANG_CODE = "enUS"; private static final int HANGUL_SYL_START = 0xAC00; + private static final String PATH_TO_CSV = "./res/locales/"; + private static final String CSV_MAIN = "polyglot.csv"; + private static final int[] HANGUL_POST_INDEX_ALPH = { // 0: 는, 가, ... 1: 은, 이, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -37,22 +49,42 @@ public class Lang { }; public Lang() throws IOException { - lang = new Properties(); - lang.load(new BufferedReader(new InputStreamReader(new FileInputStream( - "res/locales/" + Terrarum.gameLocale + ".lang"), StandardCharsets.UTF_8))); + lang = new Hashtable<>(); + + List langPackCSV = CSVFetcher.readCSV(PATH_TO_CSV + CSV_MAIN); + + File file = new File(PATH_TO_CSV); + FilenameFilter filter = new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return name.contains(".csv") && !name.contains(CSV_MAIN); + } + }; + for (String csvfilename : file.list(filter)) { + List csv = CSVFetcher.readCSV(PATH_TO_CSV + csvfilename); + csv.forEach(langPackCSV::add); + } + + // Fill lang table + langPackCSV.forEach(this::appendToLangByStringID); - langFallback = new Properties(); - langFallback.load(new BufferedReader(new InputStreamReader(new FileInputStream( - "res/locales/" + FALLBACK_LANG_CODE + ".lang"), StandardCharsets.UTF_8))); Arrays.sort(ENGLISH_WORD_NORMAL_PLURAL); + Arrays.sort(FRENCH_WORD_NORMAL_PLURAL); + + try { ((GameFontWhite)Terrarum.gameFontWhite).reloadUnihan(); } + catch (SlickException e) {} + } + + private void appendToLangByStringID(CSVRecord record) { + lang.put(record.get(CSV_COLUMN_FIRST), record); } public static String get(String key) { - return lang.getProperty(key - ,langFallback.getProperty(key - , key) - ); + String value = null; + try { value = lang.get(key).get(Terrarum.gameLocale); } + catch (IllegalArgumentException e) { value = key; } + return value; } public static String pluraliseLang(String key, int count) { diff --git a/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java b/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java index 63957ac21..a63248284 100644 --- a/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java +++ b/src/com/Torvald/Terrarum/MapGenerator/MapGenerator.java @@ -2,6 +2,7 @@ package com.Torvald.Terrarum.MapGenerator; import com.Torvald.Rand.HQRNG; import com.Torvald.Terrarum.GameMap.GameMap; +import com.Torvald.Terrarum.TileProperties.TileNameCode; import com.jme3.math.FastMath; import com.sun.istack.internal.NotNull; @@ -45,37 +46,6 @@ public class MapGenerator { private static final int CAVEGEN_LARGEST_FEATURE = 256; private static final int CAVEGEN_LARGEST_FEATURE_PERTURB = 128; - private static final byte AIR = 0; - - private static final byte STONE = 1; - private static final byte DIRT = 2; - private static final byte GRASS = 3; - - private static final byte SAND = 13; - private static final byte GRAVEL = 14; - - private static final byte COPPER = 15; - private static final byte IRON = 16; - private static final byte GOLD = 17; - private static final byte SILVER = 18; - private static final byte ILMENITE = 19; - private static final byte AURICHALCUM = 20; - - private static final byte DIAMOND = 25; - private static final byte RUBY = 21; - private static final byte EMERALD = 22; - private static final byte SAPPHIRE = 23; - private static final byte TOPAZ = 24; - private static final byte AMETHYST = 26; - - private static final byte SNOW = 27; - private static final byte ICE_FRAGILE = 28; - private static final byte ICE_NATURAL = 29; - private static final byte ICE_MAGICAL = 30; - - private static final byte WATER = (byte) 239; - private static final byte LAVA = (byte) 255; - @NotNull private static int worldOceanPosition; private static final int TYPE_OCEAN_LEFT = 0; private static final int TYPE_OCEAN_RIGHT = 1; @@ -121,36 +91,36 @@ public class MapGenerator { carveCave( caveGen(1, 1.2f) - , AIR + , TileNameCode.AIR , "Carving out cave..." ); fillByMapNoFilterUnderground( generate2DSimplexNoiseWorldSize(1f, 1f) , 0.9f - , AIR - , STONE + , TileNameCode.AIR + , TileNameCode.STONE , "Collapsing caves..." ); /*fillByMapInverseGradFilter( generate2DSimplexNoiseWorldSize(2.5f, 2.5f) , 1.02f - , DIRT - , STONE + , TileNameCode.DIRT + , TileNameCode.STONE , "Planting stones on dirt layers..." ); fillByMapInverseGradFilter( generate2DSimplexNoiseWorldSize(2.5f, 2.5f) , 0.98f - , STONE - , DIRT + , TileNameCode.STONE + , TileNameCode.DIRT , "Planting dirts..." ); fillByMapInverseGradFilter( generate2DSimplexNoiseWorldSize(2.5f, 2.5f) , 0.92f - , STONE + , TileNameCode.STONE , GRAVEL , "Planting gravels..." );*/ @@ -161,7 +131,7 @@ public class MapGenerator { /*fillByMap( generate2DSimplexNoiseWorldSize(5, 5) , 0.78f - , STONE + , TileNameCode.STONE , DIAMOND , "Planting diamonds..." ); @@ -170,7 +140,7 @@ public class MapGenerator { fillByMap( generate2DSimplexNoiseWorldSize(5, 5) , 0.8f - , STONE + , TileNameCode.STONE , berylsArray , "Planting beryls..." ); @@ -178,21 +148,21 @@ public class MapGenerator { fillByMap( generate2DSimplexNoiseWorldSize(5, 5) , 0.80f - , STONE + , TileNameCode.STONE , GOLD , "Planting golds..." ); fillByMap( generate2DSimplexNoiseWorldSize(5, 5) , 0.866f - , STONE + , TileNameCode.STONE , IRON , "Planting irons..." ); fillByMap( generate2DSimplexNoiseWorldSize(5, 5) , 0.88f - , STONE + , TileNameCode.STONE , COPPER , "Planting coppers..." );*/ @@ -539,11 +509,11 @@ public class MapGenerator { for (int i = 0; i < height - pillarOffset; i++) { if (i < dirtThickness) { - map.getTerrainArray()[i + pillarOffset][x] = DIRT; - map.getWallArray()[i + pillarOffset][x] = DIRT; + map.getTerrainArray()[i + pillarOffset][x] = TileNameCode.DIRT; + map.getWallArray()[i + pillarOffset][x] = TileNameCode.DIRT; } else { - map.getTerrainArray()[i + pillarOffset][x] = STONE; - map.getWallArray()[i + pillarOffset][x] = STONE; + map.getTerrainArray()[i + pillarOffset][x] = TileNameCode.STONE; + map.getWallArray()[i + pillarOffset][x] = TileNameCode.STONE; } } @@ -659,7 +629,7 @@ public class MapGenerator { for (int j = 0; j < width; j++) { if (map[i][j] > noiseGradientStart * scarcity && MapGenerator.map.getTileFromTerrain(j, i) == replaceFrom - && MapGenerator.map.getTileFromWall(j, i) == STONE) { + && MapGenerator.map.getTileFromWall(j, i) == TileNameCode.STONE) { MapGenerator.map.getTerrainArray()[i][j] = tile; } } @@ -867,7 +837,7 @@ public class MapGenerator { for (int i = height * 14 / 15; i < height; i++) { for (int j = 0; j < width; j++) { if (map.getTerrainArray()[i][j] == 0) { - map.getTerrainArray()[i][j] = LAVA; + map.getTerrainArray()[i][j] = TileNameCode.LAVA; } } } @@ -896,8 +866,8 @@ public class MapGenerator { try { nearbyWallTile = map.getTileFromWall(x + (i % 3) - 1, y + (i / 3) - 1); } catch (ArrayIndexOutOfBoundsException e) {} - if (i != 4 && thisTile == DIRT && nearbyWallTile == AIR) { - map.getTerrainArray()[y][x] = GRASS; + if (i != 4 && thisTile == TileNameCode.DIRT && nearbyWallTile == TileNameCode.AIR) { + map.getTerrainArray()[y][x] = TileNameCode.GRASS; break; } } @@ -907,7 +877,7 @@ public class MapGenerator { } private static boolean isGrassOrDirt(int x, int y) { - return map.getTileFromTerrain(x, y) == GRASS || map.getTileFromTerrain(x, y) == DIRT; + return map.getTileFromTerrain(x, y) == TileNameCode.GRASS || map.getTileFromTerrain(x, y) == TileNameCode.DIRT; } private static void replaceIfTerrain(byte ifTile, int x, int y, byte replaceTile) { @@ -933,7 +903,7 @@ public class MapGenerator { ; y < getTerrainHeightFromHeightMap(ix) ; y++) { map.getTerrainArray() - [y][ix] = WATER; + [y][ix] = TileNameCode.WATER; } } else if (worldOceanPosition == TYPE_OCEAN_RIGHT) { @@ -941,7 +911,7 @@ public class MapGenerator { ; y < getTerrainHeightFromHeightMap(map.width - 1 - ix) ; y++) { map.getTerrainArray() - [y][map.width - 1 - ix] = WATER; + [y][map.width - 1 - ix] = TileNameCode.WATER; } } } @@ -953,20 +923,20 @@ public class MapGenerator { map.getTerrainArray() [terrainPoint + iy] - [ix] = SAND; + [ix] = TileNameCode.SAND; map.getTerrainArray() [terrainPoint + iy - 1] // clear grass and make the sheet thicker - [ix] = SAND; + [ix] = TileNameCode.SAND; } else if (worldOceanPosition == TYPE_OCEAN_RIGHT) { int terrainPoint = getTerrainHeightFromHeightMap(map.width - 1 - ix); map.getTerrainArray() [terrainPoint + iy] - [map.width - 1 - ix] = SAND; + [map.width - 1 - ix] = TileNameCode.SAND; map.getTerrainArray() [terrainPoint + iy - 1] // clear grass and make the sheet thicker - [map.width - 1 - ix] = SAND; + [map.width - 1 - ix] = TileNameCode.SAND; } } } @@ -976,18 +946,18 @@ public class MapGenerator { for (int y = 0; y < map.height - 1; y++) { for (int x = 0; x < getFrozenAreaWidth(y); x++) { if (worldOceanPosition == TYPE_OCEAN_RIGHT) { - replaceIfTerrain(DIRT, x, y, SNOW); - replaceIfTerrain(STONE, x, y, ICE_NATURAL); + replaceIfTerrain(TileNameCode.DIRT, x, y, TileNameCode.SNOW); + replaceIfTerrain(TileNameCode.STONE, x, y, TileNameCode.ICE_NATURAL); - replaceIfWall(DIRT, x, y, SNOW); - replaceIfWall(STONE, x, y, ICE_NATURAL); + replaceIfWall(TileNameCode.DIRT, x, y, TileNameCode.SNOW); + replaceIfWall(TileNameCode.STONE, x, y, TileNameCode.ICE_NATURAL); } else { - replaceIfTerrain(DIRT, map.width - 1 - x, y, SNOW); - replaceIfTerrain(STONE, map.width - 1 - x, y, ICE_NATURAL); + replaceIfTerrain(TileNameCode.DIRT, map.width - 1 - x, y, TileNameCode.SNOW); + replaceIfTerrain(TileNameCode.STONE, map.width - 1 - x, y, TileNameCode.ICE_NATURAL); - replaceIfWall(DIRT, map.width - 1 - x, y, SNOW); - replaceIfWall(STONE, map.width - 1 - x, y, ICE_NATURAL); + replaceIfWall(TileNameCode.DIRT, map.width - 1 - x, y, TileNameCode.SNOW); + replaceIfWall(TileNameCode.STONE, map.width - 1 - x, y, TileNameCode.ICE_NATURAL); } } } diff --git a/src/com/Torvald/Terrarum/Terrarum.java b/src/com/Torvald/Terrarum/Terrarum.java index 0436ec396..3ee72ddee 100644 --- a/src/com/Torvald/Terrarum/Terrarum.java +++ b/src/com/Torvald/Terrarum/Terrarum.java @@ -43,7 +43,7 @@ public class Terrarum extends StateBasedGame { public static String defaultDir; public static String defaultSaveDir; - public static String gameLocale = "jp"; + public static String gameLocale = "jaJP"; public static Font gameFontWhite; @@ -60,7 +60,6 @@ public class Terrarum extends StateBasedGame { createDirs(); try { createFiles(); - new Lang(); } catch (IOException e) { e.printStackTrace(); @@ -71,6 +70,9 @@ public class Terrarum extends StateBasedGame { public void initStatesList(GameContainer gc) throws SlickException { gameFontWhite = new GameFontWhite(); + try { new Lang(); } + catch (IOException e) { e.printStackTrace(); } + hasController = (gc.getInput().getControllerCount() > 0); if (hasController) { for (int c = 0; c < Controllers.getController(0).getAxisCount(); c++) { diff --git a/src/com/Torvald/Terrarum/TileProperties/TileNameCode.java b/src/com/Torvald/Terrarum/TileProperties/TileNameCode.java new file mode 100644 index 000000000..bb5a50ab1 --- /dev/null +++ b/src/com/Torvald/Terrarum/TileProperties/TileNameCode.java @@ -0,0 +1,58 @@ +package com.Torvald.Terrarum.TileProperties; + +import com.Torvald.Terrarum.Terrarum; + +/** + * Created by minjaesong on 16-02-21. + */ +public class TileNameCode { + + public static final byte AIR = 0; + + public static final byte STONE = 1; + public static final byte DIRT = 2; + public static final byte GRASS = 3; + + public static final byte PLANK_NORMAL = 4; + public static final byte PLANK_EBONY = 5; + public static final byte PLANK_BIRCH = 6; + public static final byte PLANK_BLOODROSE = 7; + + public static final byte TRUNK_NORMAL = 8; + public static final byte TRUNK_EBONY = 9; + public static final byte TRUNK_BIRCH = 10; + public static final byte TRUNK_BLOODROSE = 11; + + public static final byte STONE_QUARRIED = 12; + public static final byte SAND = 13; + public static final byte GRAVEL = 14; + + public static final byte ORE_COPPER = 15; + public static final byte ORE_IRON = 16; + public static final byte ORE_GOLD = 17; + public static final byte ORE_SILVER = 18; + public static final byte ORE_ILMENITE = 19; + public static final byte ORE_AURICHALCUM = 20; + + public static final byte RAW_RUBY = 21; + public static final byte RAW_EMERALD = 22; + public static final byte RAW_SAPPHIRE = 23; + public static final byte RAW_TOPAZ = 24; + public static final byte RAW_DIAMOND = 25; + public static final byte RAW_AMETHYST = 26; + + public static final byte SNOW = 27; + public static final byte ICE_FRAGILE = 28; + public static final byte ICE_NATURAL = 29; + public static final byte ICE_MAGICAL = 30; + + public static final byte PLATFORM_STONE = 31; + public static final byte PLATFORM_WOODEN = 32; + public static final byte PLATFORM_EBONY = 33; + public static final byte PLATFORM_BIRCH = 34; + public static final byte PLATFORM_BLOODROSE = 35; + + public static final byte WATER = (byte) 239; + public static final byte LAVA = (byte) 255; + +} diff --git a/src/com/Torvald/Terrarum/TileProperties/TilePropCodex.java b/src/com/Torvald/Terrarum/TileProperties/TilePropCodex.java index f2eeb13b8..78781391d 100644 --- a/src/com/Torvald/Terrarum/TileProperties/TilePropCodex.java +++ b/src/com/Torvald/Terrarum/TileProperties/TilePropCodex.java @@ -5,6 +5,7 @@ import com.Torvald.Terrarum.GameMap.MapLayer; import org.apache.commons.csv.CSVRecord; import java.io.IOException; +import java.util.Hashtable; import java.util.List; /** @@ -22,6 +23,7 @@ public class TilePropCodex { } try { + // todo verify CSV using pre-calculated SHA256 hash List records = CSVFetcher.readCSV("" + "./src/com/Torvald/Terrarum/TileProperties/propdata" + ".csv"); diff --git a/src/com/Torvald/Terrarum/TileProperties/propdata.csv b/src/com/Torvald/Terrarum/TileProperties/propdata.csv index a9eeb757b..e067dd1dd 100644 --- a/src/com/Torvald/Terrarum/TileProperties/propdata.csv +++ b/src/com/Torvald/Terrarum/TileProperties/propdata.csv @@ -12,7 +12,7 @@ "9";"TILE_TRUNK_EBONY" ; "5"; "12"; "0"; "N/A"; "1"; "0"; "0"; "9"; "0";"16" "10";"TILE_TRUNK_BIRCH" ; "5"; "12"; "0"; "N/A"; "1"; "0"; "0"; "10"; "0";"16" "11";"TILE_TRUNK_BLOODROSE" ; "5"; "12"; "0"; "N/A"; "1"; "0"; "0"; "11"; "0";"16" - "12";"TILE_STONE" ; "5"; "25"; "0"; "N/A"; "1"; "1"; "0"; "12"; "0";"16" + "12";"TILE_STONE_QUARRIED" ; "5"; "25"; "0"; "N/A"; "1"; "1"; "0"; "12"; "0";"16" "13";"TILE_SAND" ; "5"; "6"; "0"; "N/A"; "1"; "1"; "0"; "13"; "1";"16" "14";"TILE_GRAVEL" ; "5"; "6"; "0"; "N/A"; "1"; "0"; "0"; "14"; "1";"16" diff --git a/src/com/Torvald/Terrarum/UserInterface/BasicDebugInfoWindow.java b/src/com/Torvald/Terrarum/UserInterface/BasicDebugInfoWindow.java index e67b8ff9a..a66d72a08 100644 --- a/src/com/Torvald/Terrarum/UserInterface/BasicDebugInfoWindow.java +++ b/src/com/Torvald/Terrarum/UserInterface/BasicDebugInfoWindow.java @@ -69,12 +69,7 @@ public class BasicDebugInfoWindow implements UICanvas { printLine(g, 4, "veloY : " + String.valueOf(playerDbg.veloY())); printLine(g, 5, "grounded : " + String.valueOf(playerDbg.grounded())); printLine(g, 6, "noClip : " + String.valueOf(playerDbg.noClip())); - printLine(g, 7, Lang.get("DBG_TOTAL_ACCEL_X") + " : " + String.valueOf( - (float) playerDbg.actorValue().get("accel") - * (float) playerDbg.actorValue().get("accelmult") - ) - + " (" + String.valueOf(playerDbg.getPlayer().readonly_totalX) + ")"); - printLine(g, 8 + printLine(g, 7 , Lang.get("TERM_PHYS_MASS") + " : " + String.valueOf(playerDbg.mass()) @@ -95,7 +90,7 @@ public class BasicDebugInfoWindow implements UICanvas { catch (ArrayIndexOutOfBoundsException e) { lightVal = "out of bounds"; } - printLine(g, 9, "light at cursor : " + lightVal); + printLine(g, 8, "light at cursor : " + lightVal); String tileNo; try { @@ -104,7 +99,7 @@ public class BasicDebugInfoWindow implements UICanvas { catch (ArrayIndexOutOfBoundsException e) { tileNo = "out of bounds"; } - printLine(g, 10, "tile : " + tileNo); + printLine(g, 9, "tile : " + tileNo); // Memory allocation long memInUse = Terrarum.game.memInUse;