From 9191967d7abfb087e20a13ba3bbb17a7e0a5db5e Mon Sep 17 00:00:00 2001 From: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com> Date: Sun, 27 Sep 2026 16:10:54 -0400 Subject: [PATCH] feat: TU0 HowToPlay & Settings Menu (C++ Only) --- Minecraft.Client/Common/App_enums.h | 3 +- Minecraft.Client/Common/App_structs.h | 2 +- Minecraft.Client/Common/Consoles_App.cpp | 42 +- .../Common/Media/MediaWindows64.arc | Bin 22628631 -> 22464372 bytes .../UI/IUIScene_AbstractContainerMenu.cpp | 12 +- Minecraft.Client/Common/UI/UILayer.cpp | 18 - .../Common/UI/UIScene_HowToPlayMenu.cpp | 59 +- .../Common/UI/UIScene_HowToPlayMenu.h | 15 - .../Common/UI/UIScene_SettingsAudioMenu.cpp | 116 - .../Common/UI/UIScene_SettingsAudioMenu.h | 38 - .../Common/UI/UIScene_SettingsControlMenu.cpp | 116 - .../Common/UI/UIScene_SettingsControlMenu.h | 37 - .../UI/UIScene_SettingsGraphicsMenu.cpp | 153 - .../Common/UI/UIScene_SettingsGraphicsMenu.h | 46 - .../Common/UI/UIScene_SettingsMenu.cpp | 218 +- .../Common/UI/UIScene_SettingsMenu.h | 52 +- .../Common/UI/UIScene_SettingsOptionsMenu.cpp | 253 -- .../Common/UI/UIScene_SettingsOptionsMenu.h | 57 - .../Common/UI/UIScene_SettingsUIMenu.cpp | 183 - .../Common/UI/UIScene_SettingsUIMenu.h | 53 - .../Common/UI/UIScene_SkinSelectMenu.cpp | 1798 -------- .../Common/UI/UIScene_SkinSelectMenu.h | 189 - .../Common/XUI/XUI_SettingsControl.cpp | 12 +- Minecraft.Client/Extrax64Stubs.cpp | 2 +- Minecraft.Client/Input.cpp | 4 +- .../Windows64Media/loc/stringsGeneric.xml | 8 +- Minecraft.Client/Windows64Media/strings.h | 3851 +++++++++-------- 27 files changed, 2139 insertions(+), 5198 deletions(-) delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.cpp delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.h delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.cpp delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.h delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.h delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.cpp delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.h delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.cpp delete mode 100644 Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.h delete mode 100644 Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp delete mode 100644 Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.h diff --git a/Minecraft.Client/Common/App_enums.h b/Minecraft.Client/Common/App_enums.h index b6c484dc..2e843e84 100644 --- a/Minecraft.Client/Common/App_enums.h +++ b/Minecraft.Client/Common/App_enums.h @@ -134,8 +134,7 @@ enum eGameSetting eGameSetting_SoundFXVolume, eGameSetting_Gamma, eGameSetting_Difficulty, - eGameSetting_Sensitivity_InGame, - eGameSetting_Sensitivity_InMenu, + eGameSetting_Sensitivity, eGameSetting_ViewBob, eGameSetting_ControlScheme, eGameSetting_ControlInvertLook, diff --git a/Minecraft.Client/Common/App_structs.h b/Minecraft.Client/Common/App_structs.h index ed321b5f..91f6eca0 100644 --- a/Minecraft.Client/Common/App_structs.h +++ b/Minecraft.Client/Common/App_structs.h @@ -63,7 +63,7 @@ typedef struct DWORD dwSelectedSkin; // In-Menu sensitivity - unsigned char ucMenuSensitivity; + unsigned char ucSensitivity; unsigned char ucInterfaceOpacity; unsigned char ucPad02;//2 bytes of padding added here unsigned char usPad03; diff --git a/Minecraft.Client/Common/Consoles_App.cpp b/Minecraft.Client/Common/Consoles_App.cpp index 37a776c1..13c4b05e 100644 --- a/Minecraft.Client/Common/Consoles_App.cpp +++ b/Minecraft.Client/Common/Consoles_App.cpp @@ -700,7 +700,7 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con app.DebugPrintf("SetDefaultOptions - Difficulty = 1\n"); SetGameSettings(iPad,eGameSetting_Difficulty,1); } - SetGameSettings(iPad,eGameSetting_Sensitivity_InGame,100); + SetGameSettings(iPad,eGameSetting_Sensitivity,100); SetGameSettings(iPad,eGameSetting_ViewBob,1); SetGameSettings(iPad,eGameSetting_ControlScheme,0); SetGameSettings(iPad,eGameSetting_ControlInvertLook,(pSettings->iYAxisInversion!=0)?1:0); @@ -709,7 +709,7 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con SetGameSettings(iPad,eGameSetting_GamertagsVisible,1); // Interim TU 1.6.6 - SetGameSettings(iPad,eGameSetting_Sensitivity_InMenu,100); + SetGameSettings(iPad,eGameSetting_Sensitivity,100); SetGameSettings(iPad,eGameSetting_DisplaySplitscreenGamertags,1); SetGameSettings(iPad,eGameSetting_Hints,1); SetGameSettings(iPad,eGameSetting_Autosave,2); @@ -836,8 +836,8 @@ int CMinecraftApp::OldProfileVersionCallback(LPVOID pParam,unsigned char *pucDat // need to fill in values for the new profile data. No need to save the profile - that'll happen if they get changed, or if the auto save for the profile kicks in { GAME_SETTINGS *pGameSettings=(GAME_SETTINGS *)pucData; - pGameSettings->ucMenuSensitivity=100; //eGameSetting_Sensitivity_InMenu pGameSettings->ucInterfaceOpacity=80; //eGameSetting_Sensitivity_InMenu + pGameSettings->ucSensitivity=100; //eGameSetting_Sensitivity pGameSettings->usBitmaskValues|=0x0200; //eGameSetting_DisplaySplitscreenGamertags - on pGameSettings->usBitmaskValues|=0x0400; //eGameSetting_Hints - on pGameSettings->usBitmaskValues|=0x1000; //eGameSetting_Autosave - 2 @@ -1081,8 +1081,8 @@ int CMinecraftApp::OldProfileVersionCallback(LPVOID pParam,unsigned char *pucDat #endif GAME_SETTINGS *pGameSettings=(GAME_SETTINGS *)pucData; - pGameSettings->ucMenuSensitivity=100; //eGameSetting_Sensitivity_InMenu pGameSettings->ucInterfaceOpacity=80; //eGameSetting_Sensitivity_InMenu + pGameSettings->ucSensitivity=100; //eGameSetting_Sensitivity pGameSettings->usBitmaskValues|=0x0200; //eGameSetting_DisplaySplitscreenGamertags - on pGameSettings->usBitmaskValues|=0x0400; //eGameSetting_Hints - on pGameSettings->usBitmaskValues|=0x1000; //eGameSetting_Autosave - 2 @@ -1131,7 +1131,7 @@ void CMinecraftApp::ApplyGameSettingsChanged(int iPad) ActionGameSettings(iPad,eGameSetting_SoundFXVolume ); ActionGameSettings(iPad,eGameSetting_Gamma ); ActionGameSettings(iPad,eGameSetting_Difficulty ); - ActionGameSettings(iPad,eGameSetting_Sensitivity_InGame ); + ActionGameSettings(iPad,eGameSetting_Sensitivity ); ActionGameSettings(iPad,eGameSetting_ViewBob ); ActionGameSettings(iPad,eGameSetting_ControlScheme ); ActionGameSettings(iPad,eGameSetting_ControlInvertLook); @@ -1140,7 +1140,7 @@ void CMinecraftApp::ApplyGameSettingsChanged(int iPad) ActionGameSettings(iPad,eGameSetting_GamertagsVisible); // Interim TU 1.6.6 - ActionGameSettings(iPad,eGameSetting_Sensitivity_InMenu ); + ActionGameSettings(iPad,eGameSetting_Sensitivity ); ActionGameSettings(iPad,eGameSetting_DisplaySplitscreenGamertags); ActionGameSettings(iPad,eGameSetting_Hints); ActionGameSettings(iPad,eGameSetting_InterfaceOpacity); @@ -1210,7 +1210,7 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal) } break; - case eGameSetting_Sensitivity_InGame: + case eGameSetting_Sensitivity: // 4J-PB - we don't use the options value // tell the input that we've changed the sensitivity - range of the slider is 0 to 200, default is 100 pMinecraft->options->set(Options::Option::SENSITIVITY,((float)GameSettingsA[iPad]->ucSensitivity)/100.0f); @@ -1278,15 +1278,6 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal) } } break; -// Interim TU 1.6.6 - case eGameSetting_Sensitivity_InMenu: - // 4J-PB - we don't use the options value - // tell the input that we've changed the sensitivity - range of the slider is 0 to 200, default is 100 - //pMinecraft->options->set(Options::Option::SENSITIVITY,((float)GameSettingsA[iPad]->ucSensitivity)/100.0f); - //InputManager.SetJoypadSensitivity(iPad,((float)GameSettingsA[iPad]->ucSensitivity)/100.0f); - - break; - case eGameSetting_DisplaySplitscreenGamertags: for( BYTE idx = 0; idx < XUSER_MAX_COUNT; ++idx) { @@ -1639,7 +1630,7 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV GameSettingsA[iPad]->bSettingsChanged=true; } break; - case eGameSetting_Sensitivity_InGame: + case eGameSetting_Sensitivity: if(GameSettingsA[iPad]->ucSensitivity!=ucVal) { GameSettingsA[iPad]->ucSensitivity=ucVal; @@ -1736,16 +1727,6 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV GameSettingsA[iPad]->bSettingsChanged=true; } break; - - // 4J-PB - Added for Interim TU for 1.6.6 - case eGameSetting_Sensitivity_InMenu: - if(GameSettingsA[iPad]->ucMenuSensitivity!=ucVal) - { - GameSettingsA[iPad]->ucMenuSensitivity=ucVal; - ActionGameSettings(iPad,eVal); - GameSettingsA[iPad]->bSettingsChanged=true; - } - break; case eGameSetting_DisplaySplitscreenGamertags: if((GameSettingsA[iPad]->usBitmaskValues&0x0200)!=((ucVal&0x01)<<9)) { @@ -2070,7 +2051,7 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal) case eGameSetting_Difficulty: return GameSettingsA[iPad]->usBitmaskValues&0x0003; break; - case eGameSetting_Sensitivity_InGame: + case eGameSetting_Sensitivity: return GameSettingsA[iPad]->ucSensitivity; break; case eGameSetting_ViewBob: @@ -2091,11 +2072,6 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal) case eGameSetting_SplitScreenVertical: return ((GameSettingsA[iPad]->usBitmaskValues&0x0100)>>8); break; - // 4J-PB - Added for Interim TU for 1.6.6 - case eGameSetting_Sensitivity_InMenu: - return GameSettingsA[iPad]->ucMenuSensitivity; - break; - case eGameSetting_DisplaySplitscreenGamertags: return ((GameSettingsA[iPad]->usBitmaskValues&0x0200)>>9); break; diff --git a/Minecraft.Client/Common/Media/MediaWindows64.arc b/Minecraft.Client/Common/Media/MediaWindows64.arc index 130661a297f8401d4c69520ec7a886179a77fe50..ab65ef71c2bcf09ab870b3ac1b7dff30ecb0f678 100644 GIT binary patch delta 163964 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�Fq*EO^Od zfZ5GOs14p-mI2$7J0qvej-BG5h8)*g#ir)e)Y!o&Y@3}S_lK%oMAk&TZCY{x`z*jf zR1L@u4C^+8r-Mfk_c!A+^xiTxDIA2$d=(-N;7FK1L{FhF67*JdC_&E(hPhC|jzgMu zLVJXIozOB#kI*aWu=792(b}iJKXC)wRvzFOm;7-BU%|`W^ zjUvu>JzHB9wNPBE>5CLSvjsK+=B8t=0ye8k%p;&s_>LNSwUZ8(_fC2eJ<~~VON*yA zgj2I@Jrf3w{7}nGQ#>|zRD)?`y*5NCF$<#hYt87&eyxYH)>p8MTD!FgNI8=dg z+@(zq@*kT$D%(rFn<9O++-ItybP*CJYz$n~meP)S`ptAo)rO~qFug=og9{+`%75BQ z`#($v|6w}#zrl21_c0xKi0@00#gS7YnGQm7kQD`66LIJXLmGAf11>>SCwAq_M0yG4 zATS-|H*DpJp~>u#;hY7(HgDq2G`%2cCrZ#-#0EkB=Q!qO^G<$pYObQn1T8tx=4g{3aHlw!K6E$P^6+IQCUT&jFYOQuI((?V!}y_Opo z!;?Ms9m`Nx(wPi3IVNBNo1Lgo73Q`oWK>gTlAcW=NqRea->qGjkl;JRd+2&r3aWfV zYc@unYS>}J=K=Tt7*<=g0DB*U@u6V{7}DpMzh*lSR`Nd}Euf3P9RmI3e<%wq0A-v2 z5X!M2AdVUbya9u)s5sAJ9hXCw8}>IRy5~SV&7ZnAsXVmMQQh#YEx&fI6U6yL@`~XF ztSl{&lwVk)5GWsAR9fNSE#IJ3@GhFzC`|s$sjhb7Iw%E}kj8UJ0>ovbA;zo_0fL<6 zKqATLhW(6R(70vD5uLH>Kmx5>>T1@)M_CZ(8xA(!VhcV{ELvU9Ydy$F0$0>mXSEje z@Hs7~Ws4@v19n?w!;UJ44cHH;))pg%h-RLHxQ3jAf`OF`gr(=T+=SSFzXd6l>7DdM zYI$CZS2~!#o1ev)SbkP(L&aycj>(D8ExW@n=9xO$FLaAKc+ROw08P+G~kdrklqz)E1K+5&rs|cHHqpDU^KTs zpiZFKzhcln`GxABxu2>J(igkcr~W5&2DJRB+Mn&x3u+o^@2PW1KdHV*hj*!&|3GID zM_Yy3i$-bc4Ej~5HnM%GUPoWPu672k>?I8aCp0wsl*LzS_rhYG|tp*-an^9qg-hn26sZJ#I7ku8w_3CX( z8#=N}ZKd>}$dtW3|B=dI(GTiKr8&*W)LW3-P>U(`4fRPntE<^G`dxJxDed%@bo4v5 zCj|+$3r#Ul+pXWLgQ-KkI)={ui0dNWR%g=4Pt_Kb@}jyXU?@+VbR-W#_t6P8i`Ji3 zhtjAQ)SGDfE_D|Dz7zl4az!0Px4nX!UwR3T-h4t0BI_~r82|DQu$92CPAgtPBfWV{ z%?@B}4ttLuM+>||mtR&B>GUh=x8YoD@Rdb*w78tr!I4Yhq(!wy8` z*=rHdmraw}K&IZx)F%Tykj=g#S6@tTeyzSow|=PZpfzpu{nYMPRQ=PR)jZnsjhaCR zuc-5A@0V!T^0#rK)mgOMy#4AkH0=X5pGJS7-azfXRjcXjLA8`798_;3Lq}`wKc|kR znYucaD&AC^D>s654;zVJYNy{oi|Qc~Q-8+8{`yqyLuX%8@1UihqhX^?s<%_`&s0Lv zpse1eLuzNr`be#y-_EG3m0C*w674tWDn>#3z3K>Z>_lHa`HpHgh4;UtIe2!bI*#Ui zqJBgxcdK)#^9Sg=VZWC>APe4Fo-4M|BXVlU3^RMcypc}zBX-S`- zM>m|hs7~^VWq0bzV);*02gQfg8oK*6wIC)2!C45T!njA4m80BIN<9VMxZ?x06BT`k zkGt8xvv<6xzC%;qQajS8->QR^Q8fQ+HIDjTLgTD@Q|(J1{G#4(4tvK}XztGK^%A8I zO=*MqXIVS6>gmt$%qw51AJhI9Fb}-=CR(r?oqknK1~)1O*Q>9p*9T22Vy{RA)xD15 zZwIOVL2TrQ(D0`>ckJh%si{bA=m8uCysHjZCIS7#$2^#!uc!W>tAmuSbmS7gHqOtFM3u3VDJGDD4KBA5d-i=jmb}g7dw>*#PeR&w&pGH^D zt4X2II%+W^X9GNuLK2w?8{>upD&V^F>MG?n`u&WWP7j_zy@v0@+<5jh+Ohf)Uh&oU zm@ij7hg$sZ#t?1Oar9fmwto>gzA>CZuG`n`!( zd;0@?;Sp6`MgMvOqoQgr=IdT=^(DH$t=^x8w$(?_(XqOnzWP{QLgg1R>mB|I^?msx zbs^n&4nz6NvuYi^`wiBRHb1I6>9xJ;!fUDm@|v^g&ND~Vm+9&SbvqsT3G349S?X-X zNn;wc{*=;y<$Y&^_6Ch^&}NeJ1+Bb}o!1;{ErWF(@~4kC0UO^t<~U%>TjD)iklSWA z>_7${Hq(LfiSQq2&#~YKrnRg?d>Nnx$1H#*c$tr3VJxfb)%;Gl02kP?U8^N}1kdHww%N7VeZH2jj=-nh zR1NdLdR`}N4;E=2dXNHu9=_umlav+7jK%XBw)3WBt%{*N;HxS2G_-=xUe#Jr_Gyi1 z+pAhGU^e9IIeG0C*dz$M6eE!oemdTE*nx0gC{($gB~pyAe|!~PKBi@m_PW+4;u_`!>imY5nwY?0(|kWF_`+r+%t&*MR==s; zsH~(TOV!qN!*VRHGq&w>f@KEq@>NxP3|DHxkPFPQg2=%9aBRXO-xPN#&3 zfqS8L5pw5omC3vSBYg<4NMu_C=XjRpCchHA@mCBY!n0aY%_9XF4!$a3Z&3(kSv6l^ zukyn{rEiaD&0~ta7bEx&6-051m$i~E@v!Du)OmiB^H&MWeN+x&9{C9-F3cPK0=_K8 zV`=On{bDSL)mg?dkuVrKuK`f~paeZBI)ZI0#u0dSsq%Nz{6%V_J7B23#oubppcRwV zB=?L3YBZ=A^39`O!_;2>AhnUFsw>n2fA{X0YM&r?%y@N|;$A*kbt&$bZcsJc@|Jnk zOVjm3{_vj2Tf%3kPk?-3jCrKYQ+o$Mg_Nga$LLEzzF^~{WOre?8Vvr1gXX#Xsp`{K zw{wyD3`iHYn`J9UsjEYj0C_;~Oi;fG0cUOn@L+5m9*xN9)RmF{-*G8KH*zUJNyRk4 zd!Wy8&H}wUCUQ?v*a+-5*sxU`*TgTBO@y2mj#1G2qpl7B8!&`ulzyij8gDUtw_;Y4C9n{IHB}GLQgE2umIk2e$ zs`si@%czSg;K)bZ!yUsl3`0Wz=;tf&F7E+aC@`mLE-PJuNNmC)2d{}rxmAc{j-0@Dl6eR3$Nu+Q5a&W`0s-fo z4%AxLHQvnOifBRav#_Zq+QSl6fbXzl;pOk(D*#4$YQS%^m6Y+`m)v?%j50tM65r&O zN>0&5axFq2kFKkoV+m=v+hamouuuAes$_1B5>|Uycah7!4XL?RW%NymmXvgK9Zw}5 z-xc=#3$73j=8xb#s8Xy=wdN_l*EHAT7q64P7qMeF{ z9BR)A7NjWOWpJ({6M{LlJ*T;sEit+FYL-Sk#~eWDv0Nvz?_?1R=si}gbwC7PM(-++ zRivhy*Yo4S6<{8Co{l7Z^H@F{k#e9{LGN>gBfJMZwlP2C+R;V4sVzDzVI;c&8@6LD zXj+qK?8l7WHirf3!WU9=KU5;-+8gATV$FbB&CLcKz1+@kfIM5`;Xz~7k59mEsAr<`p;)T_#(azaYBt(9@iejU}={<0oJT3DlS? zjcur9;_w12L@>g%78}Zg-D+iN>dyCKMy0u zR#^)V+>SX8o}>ei?Fn%U$%SsrQ)=~wUo_j$@B%L7-jR*%JMxN^uRvBb2t8N9b0fAf zZrF;3^!%mEp;~+dNEo<~Kcj6m-5sjs)?w1dgvTY-44v^L?m0$|2UtuJ3%p%tt1dx9 zvM&_@pO$FPm;^tH>9fTgE*A}pA7XIvEet4N+At>s3^8bln3`i?58zvU!)Jr8#g;af z$=+x@^!7$$i7DQ4TzVD(f6#?N?`tA#v$!DI^X9qOBUy4^(DWqWE%_bQRvGbQcx{BC z+teDcMCP#z9gCnxhiSshFvJ1|2{yDq6xFZ;dc6g^1vo2V5K06ZN)DDuE{-W)jA&z) z5{RUul#8U1z}!mIFIl%GM>HzDd^QlV&-^!uR@|+|Q)RO5KRF^7Tzvcxb2vfwVi_r| z#&!Q&HiljYwDz6<57`(f<^WcS50)dt^J+1mvFCq3m`E#LtxxV1l~Y?%TVX@xs?jiZ zOzwsMD-MP*xp#y#nPE(LsURf<11Ec!Yc6|CQh0XYzyRqDXf)|yv>%Vt2atc9Ua2gk z=OY2m{1gRm{hiVJLRuW7kEPv_dWABcB4YJUv^7p|PvNopD(Voa-%i2t`t_i#ly^C! z^<-r+|4yXGqV?W1I!5nE8)I=Zk}vtWby0dkx*w1N*g#I$Ah47emWagagefn>V}FqT zqSn79zz7xxfG)6+%PV<7g%uAsCq^9j8SZ;on-KvuhYe_83&0QPwxilDH0~%sm0fPF zTbSP%jGbcH-0XTxrMq6zdL<>w0&L8?#T;LOZA0ekigY_o~zPN zkgZftr~O$#(z3GD8z~}7ZHcDIZx8V7sZ4bwJP4@f`7_$ILS%h;&0*GV*~o)CZHGmE zl%#MNTZ?qEkqBPKEQh>uOk3W4#6bk_WCjPhgxFx|A&U#mGqOEU@Gk8EV;b$%l%auR zOC)gvG_aC+Xenqj{MWVw#yb?UMh1s~k!;>s67m^*kVw~T$85GgN?0ALenm5A-TPV^ z9ehbkp>JP8^S#5r_PnnpL|Xg`78D>S3{OC4kLey(+N;U=ksehW5RhEygL6?&6NSMb zF7Y0Ky08|X4f`3TAb^s;1AxE)6$(ZXC=U>|a-U6~Os}@o%cxT;eFZ(3t`DVw>3RY7 z!O(N*<1~GTbw>`ZPJ>+jo~HMs`_lA@G&NfvM%!9Jyf3EXpZP8IY4oX0pI8^;0|6yc z%>oKG1x$R{qNN573`@XpR-xtl8C3!jg!!IlRwyE%Nq_=d4T#Q!YUC_uNx=O);{R5R z#QPm{@dTK0xB%mU59%Ik?zVA1#4AGxDViAj7<}S^_x^A{&1}2*+pY0;(0Pk5sYN}cy`9Z!c3eq&U2_hvsql#{6rZn77@{_0;4L zNDItfZ|6c}%p>ZmYMp4$Md*X=FKOY}er(MJz-EtJL>R{J7g5lW4qbqLX1j!fB^R{_ zc%!{nV7DZ`3^$Jg!%DSh#jnQxU-FhN?`g<9zJSp`KM%A1;5>Z@ogSixP;eeLuft(7 z{WU~Sf`e8*5T}xX+R0l{9zxF!(W8{M=E)0rdW_YQX`Zdm(_`t?OL*|}m$a5jih0R1 zs6M@TL5rpPFKL0zo0*tS@uHTk+zYc>eM(`kme53Rctb`mQ+Q-o#0L1+fkihRXWiM zLu*GJ%XMt?+C}}1>;}~I{9JmiGc=oK*>JZ;oYXodC*_nw2!Q5GybZb&&zi6l=<-1= zDK!=IPc=?TbA++fc~0!t#)|^|bP%6daY#!{O7y5iW)vmHkeSI!4&L0}i5znZF@40-_84JD4Q& zzyUZpst;)GG7~w@#}m}qREnYiZ82|yR1P_#|MCGuW?W6yYm<}k98ZFdx%^Mjhd$0m5MZaydIlW{*HdY8 zik<>Tp$sa#8m@0okMvgF-mr_Ii)i>8knF{VI+~7=^gSKbiHQk~pCeUcQ-!6D3-lAo z%+kwd84`lAYl^4(hjWX77V4?C4R&O8>p5K`KYbmm$o;Z+$LcFCC z@$y{3VIYXU;shit- zjb!m$E5k+LaWLbV+4tZ@B)w6^UK9~ray*>E>dd%t{y-d=2mFOlWXuClEJ#GN@stVn zd9LLO`EKNI!w_wHDSx@AKz_M2@guyCM%2q&5n5~=*vU~F6W0R<#=lM2kM%+CIi@rP z)d!z!(hQzwA-$Pp#e22c5MW;cj|jL0`48qQC=T#NqN|yoA{Q1T%HbHysjFfS8_#Cw zxY$BqA5y{?I5nM+9)^m5VyRyL%`@QxPZ>M77D}~5GT6uuGb7*u`AHGY@CEQ#;zm0v z;z}{OLFa8OjW4FIWole|ODsR#Qz38ce6;C2kq{GB1x#nna%uNEH5EksvW6J>7%x?< z>Vx3{UNgqm-~;AGrwpJPGRhHgBn$n90$vXQ`6l$)zj+>|f5j3oL4LEZRVo2H)RwXS z3T}JzV=xtgvNUK|RVyUGq76dL#SlClHz7_=I{SHbYS_xIv%|4kN_qe&GBA5aapf?o z7jX-5>jjUjy{WX*EaxJc9;P)<4VHdWhNPJC0$+g2GW-LvIT5a9A$v$`AA{6l`BoqI z1!ZICr$ASb83>R%GXNj<9!Qx1Z_fya@-h(rgoJpZC5npE5+^46yp?DTt`b%^VDk`> zWbe$v+Bt)~zJ<2J(!d!rOn9^aY@KDXKDf3K&6d10hB_}nxxQu5T z4}4F%qY*ICHC9V*9^{cH2F3tENo1)tr%;y!Eq?6Z(MFTeB0x$57E}PX2&t5RY%Jakn1z{#QqRY# zEY*D3&>#b%U189*SA}V9`@lymM=O@RzafnQW3X^S5CPUXVHp7eL>mC{^QZILz;0>>B___J z60+`PlcX2j^3)!@->ck>WAH>o_>~StfbQ{J1e%^4im0zYbJfYD-k?{|#3AZMTIPRV1n+mFGFL^8B;6K`Jy>8Ln|4u^t!oeWZBMD^14cD&Si-^wuooc_ zB_*Ym81&4{1lx|i!qCANfjq>_>x%K>&=4ro5W&oesh%F)rL}0wegkh#)Eq|{_iL=T z2+=jLu$?ec2A1lHk)8{s5Fl>l*lyTG&+gM~2?z&ZB_4A#oDE)^j?#B)@o9~D1tG&~ zImkl-BYVGhwj-kH>3LP6e&q0L!vjd>WsW+4+g6~h(7 z&Zk(<54Jx_khBl6fXN`g%Ys#hL-F~c2ur~q6wI$h>;imhd5Zw1)zVJyBy6qz>Z@8R&DpE9iHT%ngRl(n#3E?uj zqR@$8CJq9_fMSg=K&}{;U`buUz+@0=zkpSWz_BnVp!IrjQ0n?T){t(`YYD?l-U_)@ zJG3Y4S}ZL&v&}t6SQxwpo*nZPb~(fZAL%LUj0qX`2|0IbAZjoVpqeMfH&#>*Yy`HeagQ7@;pj%6rQAf`P>jKk)|9?_{PjwL z16DH^OFtV##n}s_L@U888Hq0%t*un=VH{Ts&sxW zBR0HbmOJRmZY{Yk5Zp2>rC~!#t4pdJGVACu?9tLfe0fV$SgN;=0V5FuZ3{}V z>f;)u5VWh*chT|}wM^_yEuB!yHfRsI@87OD6`KCIHi2GW1(0dxecDF%>Swh(6l(hj za$f_tYPV9)ZQ2Do^|bbayLz*>UI8t_pPO+**k)}W#XN-z?%Jw7M`NDW>S)xH+84C` zDNP_NJ-RLC@HMmbaJueEEZ{w!(9Zt%1Q#tm8DTO@v8<+F=h==0^7q`DewLNki0xq@ zOt(CPYTbN0axPz?HG}j#TGItiowhyoog4dV+v$OuwZn9Ot@bh{ZPd;w>*#8pHje(f z8EV9RgS4<9yC);|(oF3veVeCk#pdg{E$ANY5PdRJ%cCB1wR?&BgQMbfnI`D|LHaQ! z&4{Nz@_-0+=?mA`;MJ(YiiO&XRJ&9Ai;g`cBKT~c?=_(`X1o?b8y?Z>l?~U{Ac0m7 z)Pj^_T-wEa+~z86C1?@8wV{s5&uR;l4{2?!Hijba&^FQ)o7U64Zm8BraX)^GW>pY8 zh6}T(AYHrB_x+KyyN@1Bll$uBH0OGK5B;=EdnPorkeBl^xPfTwo!TF6>vcNv?HBce zBP_JLULR-=4S{k_N6HYiezY4}^5M?&rGA8iQDTBbcfzb?@>xr>)-;7jIts8`aMar#pC>4!9=`a4Rr&2)RI zHj-jXv>T}XEbVhr?OLVVHB|%S!d)}8@7!-r)AlLu!YSG;g>olrOKHhWt&C2WYInFp zW^2n7dh!l!Cq=c@zIPw)rX?%xts@X@NpBC=PSD{(T)!z_d!8N~rQJpSi?o-mij~fk zqAn$)wJ*t*uPvqnBenDH6T>ucn-}D1kGr2P(7;|0I95A?^jmwC)@tJ_uf=f`QEAZ~NTFg)u0c3Kc~5QJ0bc3K-`^B?F1WVd54ZH@94Jzt>hqFb|& zF5SMThU|}C+72r0psk>1va~ndJ9=wz;M}-Qd&~V~XYEIYp3c_(p!EB+f%NIUT3?KV?%6+3k9o`>7Iri9!(>+RxS#6KH08z-8Ooqvv1GgnXQ& z9r@~G^hBoCIb;UJjsKGuwV=K`wSLrkl2+l?Zb0BJt(&Cnb&s6DGveg&+P4%?ti9;& z@EEeWY2>5m*ntBuQ1fWqYG_ymGvPewlBWgB@oaWM()E~KX?tI7v-?s%t+zsj?JyB` zYa$6e8wOUhx?V-gTWNMGX`?;sey6)usE|G%_i5D{sNa4p)K62JYBc)$t&j>ox|>$* zZhN=3Q=vzU9|@j<4o1T)U6m@W^iFXn9B26SA4l^u#n%acx03-Pjuv_ev-2wx^G+fd0LuPHShSW4CHg)A<6u zhOfTaozhxMRFp?){s29JZW*ZGP45nXc6wSGe%-9g9t>PzVU{(2SV^wZ~)a=l(k zNdxpF6f{UL3Q>A^I)*Ow)|1_(EBR?Bn^Xh>@C@bOrJV~0X58q>{W=xdT5g|1BAw1x z=<`97;q_3IxPQ4xk5K6GliFG;IHlc0T~29;w>=37VYdagAoX6ljq;uPEfjS|yCv#x zS{ED*o0RJUVMwbZrU6w{3f;k|Tt1+_$LMNCg3s!gw!?C=s z)9SGRq?PCDZ zzx2NLTUMNZz7y#Z;Ru0Y1k3awtVQH|-TwiBh95iZW2K+U^inZ&_rm6MOSmipShR$L zTCQc&aMW}fQ7qXsLdL=?kHpRe4omffS|_kK`+@}I@qDh|$UY!^6fDMHxy3j~WTI<9pGP>b@7nH1<)W zWJ(Nl-g4X_nO|WZIYIU@0>u3w#{~xI`^7Pch_Z457)J4oh^Y9=&jz8WrCTxv;?2he7qTl1|x&o_ebhodd-$9*0ajWRpEq!?@IS-g>2=NR*8 z%Mc^mFMUKgt*tSTv9{F+gQ+gTXFJ2F0L5UGFf1`wZu5g&1`hT^%o9RC=t_*yD?es5 z{Holh{8ikC&{ao+=@ab>Lj_@`o&&G@1ewg(|AhA=Ku;hZ41!sXm!Ko7owPZ|XdW8_ zYZ*qHW62UbXf^Pa*hVSe$V`(BiTxj(RiN+WHiC;8;Ro=g!1}AOQ_xJKn2yaba%jp- zqgCT4FZf!FQ;?+bjmV%6zY$$1?HjR#;;x9HWdBOk_#u3R0=^bi)a60rSE~|9T^}@B zQQbqv*Y2!MMi(X3k_-zMQHTtg!kz|rSmgl49D=7Q?oMNWY)sSBFfyy{bkoDebb8`j z(GRKDY_QFC{)ZpKa^F8Og#3pefXj4NjQ1G#l+) z0Kf+H*|yBtNCm^{WP@J?1JcEr~@4K>;&>b1pVfu5n=QF$cXj0RiE+G-$d= z>J1xnF(W#G!vMX`wp$`c*W%$dj?P7xQEL$ITYz9DyCr%Uf@(3vRyjILOvFi1GejCa zI9-hJ_Zwerch3njG8AhIB-90Ark)XG1k)E^i=GMbMNQ^*@FG=|&Yhc0TNdl{vXcJc z6xb9nL65G*WNV4eg#!Zbfv>f^k&wC5wzu)h^MY0MvLpw zI;HT*FTfWRI^cMBVjAEka{Pxm!+}_xAtNc~54AVN{-wtE4n}{><khp!q?f^@c~qo8jQds6e^{oW13h6cQp@ zkrph9C~L5|9XZE)I-}rJH!%h@rSf-&&f*Sw=6C(c{}BtuEzx42vV?Nlh*X-}4&cX- z?jnYMXe)AQMWWb6AO5Cy{zpEHAwi-OwG9yCLeoG^i^&T50bRLue-aJqF0$#m=AxH! z9X%f)GU@RE5shFk{BBKu24JA?4iH(C6CuheFHQ7Tx>IenTkNlfNM-D>`Lw_kZNW(EE!#dMFqZ*@$2?;h zZPpH>sY?&cD$fUsM0(pM2B)Tu$K+XCn4MdK&@l7kL>s?ZWwrE4jJO3sS$rG}S38t7 zY+}A9R%8ZLfhQTLO@hb_0w);K{yWO6=(l(g67VdhYET5ki8#uM7aNq$=DBa<1c%h| z(;8_tvdwdc<3t$0zO6svDCC2)se6KG8;rwhuy2^R1)0G=PWn7n+)3+V(c|@P#7Npd z(YTIYyTRy54^O~=vQ9B_km#R32^#Z=1x5)?>m|;>hbx|=h6%<-`Xxtnq;mtsbqK$! z>?sl`_d4`+L~n6B1@wT7wMr8l0|yyQqTT5b4Z|uPrx6_>nMI~dFX|?`(YoHyBTGWX z9QrgwERBmRa@eqlF-aQ!hmR6Y&#SG(Wa=C!CeZE{qPa4aj!eNc5je@nqc;>WlV%MR zJ?Z(*Vl+){CgxK`SNzk*U)(@{bQVuiY?v5KsU5|1kglT7l4)P6n1aC}>%8VqeGc{g zRmZm8HUSpm-w=)dUs7!>{Z$`9S=mBR-`|0S#dpAKqlSnnRMQty5Z*`R%h!fR6xBK_ zkn{~7!~{RljxMG^OFlGMIFtgjIRe{2biQmS%4k2oush5AKap*`6DBGtvKfSOUk}li zE(eMdx~l`4y?+*3E{q4mYf)lnQt~i>3v4T}$>2cXRGFNqXnY@xnHw@7lP6k;4s>>q zxS7I3aM!y%(4x6hjM+44qLE8mx?pl~_7vYxQY1v;#}>i~aeF@*v&YyJ5g8&KlMv4# zT-Gnl<7{_iTjp>!o&v84ez&00NtkJtC5z^CDOrrSf;4xHiorcAS3F8H5;3cV z{Hk|VlDQ94DCl~8Tl7FNiq2+;Q*>_#8Z#>d<8Pf!459lb85(7D6~pL6q^PDbe*o-! zB2BEOi<6BuKy9wif-%x13**7_xW^(vR6DwP_RjAk?_RZLdKZwN{lq+q_!F@1V*}AAgW8B%iftjfD&01=Mf1JY8n$Uk4#ouc zAhML-8-TTA)c_2)OI^hRYeo@OX5cHf_Y*znn?Lll4c)|zR?vZ*%Md52roAXuy7)RG ziB2^WH`2@PA!yc4VuyUMvdomJF6mT|3IAq&mkxV;IIxTEG@GyqK+es$)NYX6)DIYdFm==l(g@7 zTKP^mt^Gh{^Bv}(?5m=kHLdX=go>`BO}1SXW1^7QA$Jo)WB^R+N;>cz*5e1h!%}wF zRnekNlMU>>1Q?NHJu10}{34N@fkx5*WRa9$7H3@@&dPb%M?tb&c#5Dx8 zJ!nJ)61Sk_BXR{$;u1UWV*&yTJEJF(zyi8>K`pQbc5DN_T(X3Qk2jjPWbai8Pyd$C zJdWkW$K&RpA#e%;8=(2)jkvh*9Hw(X)F|62P3S4ILyP2>GT7tgsIc?yFp{IfG<8gp z3i+F~@kUF;Hri)nV|odB*lh&}{IS#hwUw$Q;wG5YsoZ$eJ$`U}Qo*p{SPpdfRPM)^G)WDm{4X^EI%uQruRu+Sly1`4m~Y~@f4runFVUzQgAiRt*hV54=b zYp5#_1?NOvk$!>1Ag_@`p9e!!CWaalKv{D&9KYXz#c?UVZo>DzGQq%z37A~PKNab}otze!jz zJJ4tq6YW`0u$43+T zxhwdF!@d^JXDM z-b%p}jXl>P#ts`&y5OrN{TI<93O;?wX#t8r)DIlZe~O8;^-mF>6g8|C*fcJ7R+=>m z$Z-HArZ;vNS0cj4nuQ2-2lrpg;YMN<_Z}cJHm9pf{ePf6NA!62t&5EJK{0VeA7i!p zHJD|uY}B9k1F5~d;E1lf{oJ;l`lKK$NM&W&>8<))#a-~UK2LGSZqo-?-3e=rPyG=d zE>Ev}R$mPcik{}t{VqK{z^WWIkG@=P>{V!wrvGZSdR}*GyT03MO-?W`hM`mX@9N>6{*iuT)c@<06V1FhP^=G< zWfhF&#!2bayu#Js5@It2P2#k8 zgX3YdV!noeWAhbE?EEj{9h@jZ)C|TH;9=}W!tEP87~^Ra4>KUj*ciphG!p<)kqc0U zmvI2O&BWMa2YXgE)?7Vh0fan2b*4YMHIr zc#Q3CDo7b4I@FoO6qqNM)Rtk{DS~FfH<+{((Z#UcnRv=;Z(=`oPYGhiVRXVl#1SIq<2t1@sG zbz@5uRw#nP%^sSAwE)eRQh+@>^yF?FiI0e)aw$V5Sw(DPP0$|;q=yUK0U)lBpGxCL zh&DZQpqR*e%npw79h-sxAk=#S_qfxNoL5%vq`Z+(R+nP@1w_c>$47{)(#f0;)hH`b zzGLsBdDr<;Y0GTjOHAbQDt5%pntnfjcJdU&VdPXv4WuC*5Fpdg-g5rE~D!SM?RU}1$1O~b# zj2p(+dc`*4vq4{UlomwS5xSy|?xr!#%0&AtrABYB5lOtHlfQ=UbUoWYNemVfv` zUhFl@SJD=oFm$94z}cZf(XEc(VZOvRQ%`sK&vCJq;kBK~N{; zbRK}&6TXSy$==UyTxsC(L_DAq8}?P&(J-hRBMIafE@C6W-kncgld0lsyfU;y?>d%*NsW7AA%GFSji z#ZC%&6N-reyxA@rN{CB^8g7aI2Q9xZPp6e~b&!jEUu?-L8xi11@ZJXCYKXCf9>_6j5g0ix$7sEAn31YXlNSdg1Hz6BFb92|Yd8^r zMNMMkbm;@9~ z+{9DL986$NivLT@3j)V}3G_os{axHgmwprd>Gmt)IzQ_eCnf$N#wRD4o#9Dq#M2N& z!7&+>`GjHkTbxZI5hl~pzW{f=%l~}+q_NXo`jjzIL15-LPZ~vZWt*{33FO~7l<}nT z5+yAIht83uh$q~#RJU239^*LdW<7$6mLU5&WC`e~U4h2994M})h6`zpWM761w}GaG zenU;cQ8vorSJdzvlo`)An_JFvB(*fYXw1!evUOJDD~8lX7C9Hdc*BCqs_8&WT;nmD zc&1VB^$?s5yc-$c?Y5NF|er|)kS_{Mm z`6adu9gGdsDFNurO@E-hp85kmfII&XX(`EVIfaAS8n9}!)1b^|nk{s7n2}N!BHzJJ z{&(N2B~G3Mkt<*q^9vvwU_b&*3t*UBkk@0Hu^{`M=Une$AX8M7LQ6A?Jx9z@0qh36 z4t%Y7Ff^x@!i#`}cOPd|1y;(a4~iadw4o=8jp6iRkuj1UEHXyX$1{zwG_law6TBw} z(e!|lXhtE1Okkl=NE`X&m&LfOQ?Zdx-xT11p6<_%oviu0y2U04W_D)%>e12Qw!tBl45?!Kb=CFPDKT|M;j4!;Dac$ z@uAa_z^-p7uuvXscp4*OU|F(6o6l)H35rlm$V^Qkn~Hx&uru77o4lDh5AYG!mPHp~ zFLWm|6}Xzxz0I#4W0S?$Jru3RpqVAoe5~&n8yo`ukR2Iio@y+JHkmIts-+w2&$SGm80{JLTHefJMuz|y>Gl(OwzfcAJFxJSb;~jWdFe}(5 z$C=!D4kUns@qrg&IVhM&mX!i|o(=gLC`7mdrpTN*>};`w#;q3nSP0}q;8TV2N?VJOY1uH?4{vRL3RQd>~YqQk(0hub1pVwYUY z;6mhI$Oj_^8mlcNi?7Tnw}Wj2=R=3ewNlm?fm%zJAb`oNK7XxwP2dpV5%$)&jo}4( z8?+FUPa~obDRAr)kuVZn9AhNX*Q1T_K^{qIlsIsiRuCwsbnMh z$abK2`xnBY_Q*o~s#%ETYurLyH*As7Hq?^lyKv6}=rEh&F%vC{$JMjqjl@1t-m~7A zwIu05E`{ytXwW1=Af+2KB3}uvRZkiHz|Z&~-bkV`v8ZU4){yyh%&O@qGOY@75X^(bvYvI9$K!?q=R(` zIkwj6RV|vM|B)8uY*eyj%$K26#Orc?63wHdhd38jlsWCQJr~o8pF~opB#F1M zDaxpfgrYdw5>t|CQkah~Gb0aa(vO(+r~L%CUCxgpWk5_52swYm=n=(vmV_onO`m2e zDH1D&!Mp&|i<1`p2#*&tS493zBER_o2Fmdt;A!$h9oxnX#SkdtXgygQ-i<7#$WdPF z!9h*UhqjD@MBFyY=+9vWo{SsDTQM@g=H#Rnql{6}poZ|BLLjT1UI;ca5f2E48Lu`h zKcBkW4QLj2qg7TchJ!T3ntVr^$HQ&{9AyiupJe29WdyNK3#B9a_FrPp8Zv!cT(!qQT zxy3t-o?)RJ6Ac&v@DuxVhPMOyh4~NC93bOE0lu0VCSVOyQ^67k@Nm@%y;s{v*?^|; z!h#Wxp#^RN%*Ak$J76yHEK67a5UE{aMzdghC@f4J8kF3an4$duX2g6JQ7l`{gOJm| z7C@rjU4U8Pr9a?TUKD}>|3Uzw!p3YyRM?RKBQ3ymTD6^K_NJ~(J_X$`1%?NnLBp4N#XzJ*K_XMc~x zAta@R>HU!=;GdI3QV4b=#_|BoPJ)K%9?;N%^0z8ecQtavkOn9*<_mMPJBXo_Bx(I1Is zfDQOxNEu+XVEL236p$baeV-|hd;lQ$BXH7#{&fJ;1dhxvG;i}Fe_*Nbo{_L0T^%pd zTAAA7!W0Q;pt{9=ZucN;2I9jhigu>S6|C zazVU871nOpFRVXHh6xE`Fbdhk>Cgy)vT*RA_X08|N)W+tp@bB8k3~zY^he2pYA=Eq z4+{+q2K54hic(rV)d*A)Ddssu52Z~L2}5FhVbQq41PxnYyx0-AF5^*52ZmIJJ#LGD z$v}b`>VzH-l@V$w?U^D{y9W#{Ekk~3z)-2?GJh>wgxC58y5}Zb7}b=l5ngOP!FQ(VYiZMDkrr+8 zNWcm;ExJiMGknEFEUoNPmpO(p<_5tto;c_S{sF9v$VoggFqFIBDfH(Z(#5f?>7_U6=y= z^vVsQS(`vpicl{z_6~@j>FhCKV+o{FhbahziR61en=IPJqOGI{gk=P20YEb8mnot& z2Kc(Pcu?+nPxKAAXYT|N7Z>L_Cr1JBB5*cQ)(wbp{9uA;Uf1MKv)-22#%IBw%Ttft z(yXxzu52KfP3mZgX*>x50yhr)W{pK=eVEqATSIdy3dzIBwbj9tg!#~T()0v0azEhZ zk^u$coCz^B{Z$^;2QKr-EK*6}P>{|u@cCkS8pfJ~6XTiHYs@@wK0*QD=;?qQiH-)2 zaa7DH?TYD>bqhG#F+us77aFi<>WVJ5a}+v5)bO^!cSvXMGJbM9?$q1)QT|H3*nR&h zz0i*~uhf^hFW;wk_M;ZJ>qYM9wR#t9aJ~v~(V%tuCVJ^^fNH(y(YMeoKd*x&PSEUG)7@|1uCG_z9dFZZN>r4oX0iB5Hi&l~&|4_DPqIOby$9yd_ZxI4Enlx+N3%A< zs@T6CS!u7WLa0O91G-M%eI??f;FXb?GXP+q&6d*RAx2VGQw8%H^~n;Q!;venxlN@U zWDqZZuRj`4hoF(lGQgLNA}|$1P!0e$hA<+F5$*uHNveNvCp5`S%HxbA9y_LHk6z)3 z2LRtWyyGmIILh@9WvgF!9CB>b54WgR?;3oz$VQp;K_Jb!b6e#t)! zk1?49#+XSa0Z9+?VD6Zb=Z}KifrbtBS2jl(Sby*g*|D++NCta->Af#R-@0&y zebAsF2*5>&^2ljpoN}>kA{I^z5zL)0*J=&{s7mmEb(-auN*t)nC0A2n3_>D_C9fls-><`z?FS9Y zYqdhK9c2<~1@r|OVX@6c^OoUj0}6R0c%5fvdsEhzA{7Rq*PLW8qt~*ODRu|3FK1!` z_cA=}a5p#@43nMjq=V=Mm^iGWpZ!#{zX2AMoXs6g!ZL~+K;wCSm4pzG$PzhBA#rk8 zf=n$eXZCE&N3fPrM@a<%vGxNkq4#1M`-MpL^BZ4HpODclE~E&2l`sbJQ1nxEM#J`j zw111Stu0*W<)z5+;ovw3RNOy!jV#a5x6fkjT>qN5&mH)IKw@(KImF1WIVL({Q)`?{ zpjOAlGWU^>1SkR)zJs{t>o15xO1UJEczapg?hZXKx+}E)9D-QST|zwV{TD<%Wn4x~ zaQ;Pv;m&(s975#wxJ@v|kq;eA-7g}Fb;x_-=zq@+k?e_skr`@D*&*oghl1TIvTpCc zATp8F@Z4ND9qxTvgi`a*^eFmut}%vs&e|74#$4lGd`J50NHUyxivV)~{~k=w>IeX@ z-;XaHSC25(pYGG*>C7?FnMz(q1UV=k)>7pbv5&sI3&G4AZxdUY-9cWm1ylf)I@~C` z%a9(j@o7I#V#CF>35S`ug?-uDu**_qj zM>v?g>N^M8dVZO)%lzb%PJHqvvw3DXVR%1ah-KlRlz~iPnsM0sx=UXaNdDjAFj5ry zcAl|^R+SnDsd=eU5wM3@BIxo{=p+AG@L&v|V@!8HSYoVH=&3nKxfonxOrQaCjdId& zG}h7ZdB%3izsaZv2ZiWEUkGt8bxt@KOfP9@GewBc=}s5EZ(F^1OgT))4E?a5Wx#N< zeSjAfzJn;{*>v9lgicy2C`afO?)*2T#0+ZnfOv`$?ia_Y(`tlje|xWZk=CseuTsrj5dU}AichF&jo1W*x^-v)6|6zndVy_!7)^Qw3iA8g^pGISJ>#(smeIG( zG4#6Lj3n6DDoDxAOT_5FyM3pU=N|0nc#N`_ibwV@5JwamP%B=r z_VBdx)mH$LJopOio(^}2cPQpA1Wr%8RXE-4Zx@O}%AH~p#oi`XDp%;wNOwD$u@WCR z|7Gz4W$!|ued%q+0rG!d9I!&eihfokxj)(^K*|yIta#sja0gO(DQgF+c=jnV-)-HF zd=|R$EV47Y?-ak$3(t!~)Th??hGMIc4DvyZaRYr-ZTv*)8Hh^T)8YzsxZSwfn(e9U zjMwnl{wKv}6n_T!7I&T!4b=Mt!q-Q>D$dhaC&k0=0yh#^D0e@a=3`a7>!%zs^8wwl z8x3$K=oR7;{ZuJb8dHfuv&o6+=#P()`(WQBD%{sSC^{%~W|LUw{(K`cqUh%h;yZfz z0kPAacUA-|bkn=y9GtRQcc5iQ-YUYBA(XRT^a}C>*3sx&#Vzg+mJ2_HUbscv?|!=u zDFf84LfmETSU{V1AU#1&a|6f-q#0!*P#HiguIx{yLBp~A?IWazQshk{QQ5|_2Qrm1 z5ld?qi!W%!9T zZ$}o21Z&CPL}?&>QX?iR8|l(UP{==UqbQ)LBjQB`o1Ecc^!^egUft{aokagy3fZ1j z^Z&5-9#B<5y?=Y3-zi+{ z_`8{z0fAH%a+_9E_^G(86e4Fd@)EkV@mkYztb9Q!%_uw?%Pqz(gvfuh7}XuR*mQ(! z!%ZKM6lRK~MvF{K5l9~!4K(nNaMKt{TV#rq7Ezyhzz9Pl5GI@wX?jc|$~4{KiG>bg z>_S-XTTF#cWOb$Rx^zUZ;;kjn>-VCe8>8PSl(ChgIqpg=MO;#iOs|QY z{a9s0zgU@;&<1PMObW9`c@L}*fZ#}gbdqn4pwmBM5z)$nzydzX!0C^+rp506Zl2Np zgQh)t1mUY6F$p{zZt`&WkJJx7X6grI!ojSc6)|fTOc(gb)F{H_707AIfFKzA(Ye`z zkva=&pR>^TT7CL{MzN{V!191u5u655#|HjV znYF2@nB`@9(mK{=L=1cY?B<6AV?7$-Y{@^?PybI?AjTuij{Ue8UWsCA1)CwkNG^Gv z^&up>?ZELG>x12hhb#%iI+ZK0<7QU_Qg0Lk@Cb+W9e_cnhdj#Ay0&LL1h_Tp?;LHhw zH-!(Dy<1@0Q^0e@x!R6kI>6>JCI)sB+)#iJY(RzKSM+NvCK&SB)aw&miG2Fdt$isfd(51!ZS`A?@(W50swr zaZ`Heo&SNj;Dy}|z4Ubu{3d9_kmaH1Izt9siW1)Rz&d|3ZI2WIp!_%&DH>4&-~2js z-v@hFpN$m5n6m+>2DX@6`%jDoW219=QoB#(b^(^;>3_T}`>3*@>W&TnR1ogyMHxPq zI#k`Z@tBcmnSA!U6c`!<0R1c-;dge(I+f;U8l+J-O5!5(I2`151ANlzr1 zMu!wU z4<14wd3+C61x!K;2Jj`k3@eimUbr5ExFEH<0kvv-Lo}n}2+@@m{FE2y=!Q*!5c`iX zQs5?G>}COsc-GU{Ad%itOUv;8BrSu3JtTx_8K~%E89X4{L}T(wg;d>36}{+w3UvIT zR7hI4RMCwt+!vrO+a@}@*Q>#zfTi{rIP}3b(UwM~K)6gP`28*%VcV7asUpA;^Chpl zKy;?(HhjM<1rtSNDn5Ggkv?}$;)Up}x# zOz^Ldtc4{^tIkBHn4ac_&I1mp58v5$MQ>`nULH=D6XeEX!790l1b`W@8Jj2@vA9y6 zKyRyZy0m~go|7BUv2!vU3;p6hG;O<_M(1MWp8v?K zKnZed83 zW!L}AtFY#x+?gJ8qZ~|>$5HWac{@FgmtUYm`_Xy>@1p%b5qPI23334SN`$H^%$Kp< z)oR@QRsm`ox>ue`d8g%8RJuuyqquEyZ>bjz+a(85dK#K`V3ItKCdbHA$Sy`6OEDMl zB49_@DmS(P!3^l;w(-M~k*}cF7(K(Xc`79NM*2-T}S>F4sZJ z=!Jz(7c%8R^xIw0id^oBmuTOIq7BXXR1C+i-{I@=2A9-4M|%4w@d`c6kxQum2|1Il zeJFA%Sw)wvHp#u|YA#yh%msN4WuKRK(3QP%7kHtU55RTXen4(Vg|Ew}sr_-ZV~2BS z3Aa47l)4VLzr0RfN1w&ZU@^%+i>{BCCs_rIr)?yA+i<=K1%51o={~piUxjiH*jk#r zrkz2@UMD$93ZoI{Wj~s8783nxth|DX&dBMsXuUj`9-WY9Qt2+#$4|!d)-ORtKi?(Q+|z}6`@sM+AcStF-znZ>AUS1PWcznRiaSt3tGhFqw-~Xv=((*w-&b#+AqH% zO{d;GIx*<8>CY@Qe)J~v$`{MzY#O^y-lD(9cgInu2Y2BxjoXB0H$5!RpvpbybRqDF zu#NICD&8QUq_+Fyrcw`GtQFQJlQVGV&|UIApn9LL#NgS#68cO|lY7y+Bk}||kmZRul>YIj<)qS@dLWRfVA@t=* zIYE1vv{@fiwg==G`fR1#k{++eyIndUFQrq_c%Mt@au?cj94+`!th|fXr_0@?el#-{ zTKBCL=);X`b6=%-IE)kq>Tb#v5cIGt~*m+}iaTYH&p&8djz(3F(JdG4aX*hdaEvaji*aYGC zUCi?;R?}*3FnKP1FVk0Q;Di0fiVj!D2Qurjh?UB4CWK z?$;x5%_#xl(b~dcIQZ=h4nsm<>aK*5jNR1{qqM*aNL1$Z#5uupka!$ZoQ)NpD>*ca z&@00UWB(-r`v;*IwuqSrL8C$7L>;ya0)ycaP?_@8XK|LSQ8P(hIbguBTs!4#ffwjc5+MUHYXJmJ8G|5{BX6 zI1z}5M*Ne!A>{FMUKfgck~hr5Z6H%8@bfLdo~Q@;7dFc8LD5h1>QQE#@RU3#_$}cP zz#(D;-;pzh72tX}5q)7h1Tb0zQi(Aszn&x-H+h~X!4q-V2)(*hL18tj%Ja zG@mXf1JByERgBe$5-4?xm?)j4ZCh})_juWkHa5%OM#jyeALy+3>aNWgXJHh$8Sm9& zi*TXyR=|GmZx;PQ=qwKEvRC zU|}uRvKU?*PksN)gJuLoVj)m)#1=1^JnFGE6;miMF(CXkZJQlz@@5!0@6K@ zPmAP0B=Euo#5w?-Kmpg7K|v!>Kv8zgpn$*lm4>6~5{O)OGpYv6^89k)-?;9;8rAb0 z0trVPoZZ=I;|eXv8%+bnK4h=KI3!15+@?KlS^ zI%GivU2mSBUC(W_`8o@|mZ07Hn(#*cMsY5PN`cj}s0E9AKZ_(Akey^SlD);Jz2v_n zE1MSjS*e>`&&JATIG_27rZ38!ZLI8*=(Xmuj~LNXjsmwrIDh9O)--^TVTDbCwNiRD zmgj(py^*}$%F1S?eyy!beu#~j*>%WctORPp%q^tb9$Y>&~R#rYa z`cEGBk@xvnS$|BI+T#(fUh*W6DqPckMEH>{{n$`G-P&L`H6|RxPutLn5l{Hr41l6% z>LN>Tj-GgejdjLRy-C7%`rrD7cOwH5fEX|o6KAA5YjVwJSY8jHu%_0w*L5FOLSx7H zIe3yzZHu34gN0~{9N5+xkYY`Ef;asNTN1iJ2OW5~Bj#WLQp#z=G;xaDqy;LW0Tgxv z!;Hv6XJCZ)Ex;lYY$g-2Gz3aDB-*-%-YlaX@|#&(SufDfBD%{HtSNc2+|0`Apw>1b zxo-YOD=WLX`VC)Bk;m9sS^cGd7yG*?x3Y5iT<2y;oGG7l`5)(IsKWd_EXyHzW;3fg zGQBNcc%GaAsUcPQ3m9J2K##$NkFk0W(=KK+WLM!_hno$a8b<@q$e~(di9Yh&1{dd= zw=zV^0Vl0;*7r)zOms0H@aTwT+6FspJ%$Z{kjlbnIjDUw^>L`<(2Z3A(X-d`SK(Xv+$qRzvg;p%O%x-rj@vgEDx#M0A+>UO2$P)aGru5w=d$ zehl{)y{jKb78gXpbmJ7jhy`W}26IXL40B08a2SV9`3Qlw(N`OX>;MuuhlU-;|q;9ukaUs5OZ`WL>K+Al-8g zTD1Ct-q#Ec!};Z(m z~3S%+C4Py69oh?8Ts&>{flF zxgIW#8Fq{ML z!O1>wUG}r`>rZ`y5lK(FD>tz6A3;6dm;Gm8lU9wLgfVff#OJJYy#XzbG)Axa3hPE} zV5Wareqf~vE0v=@fVpfM4&@wu!L&&?bJ01EA*52ZG zP}zfT%QyNm#|OIDGSZQt3CYu5Ja}bs0m~jzI(fuIMnL63A={4Ew2J+N&;=Ov(Fk_S zjgcl_Q+}{GNk6ZutohvBx7Y&-4}ot8)rWQT5HPF(nH2&>gU9nEU3SIkomnF z#$c*K4sb9T-;lAF7MzRcgp~fcDmR>Ht};&*mO-xRaoY)4lFPIXAos9{3Q{+5$z7kZ zBHQs6gZPST={hkyl%usUL)ZwULr?QM)oqACI0Ea~jZh13cshaSZ8>kSiAJwM&fvr* z5e#S8GywBneM|U`Ff%de7G*?tL!GL5zKW$m-@YvjR1Cvr59@9KM_iS84(5gdm@q&= z72F-W5r02g_MBEl%fKUg9_HCP135h#3%LGoi5Vz$iD>pEtxzDUN^XO@UX%LQ20R;*oq4cLfN>?{6SVF!YMJOfmQ| z_8#B|(C1f$y)>800Dym4cr?XQ5nlTkjf4$t1uFv_&LfeNQ0NJ^SGQV{Bk`#+_I(-OY6aV3@gs!70?bApN$$l$@4)bkoM%8Kjn?3%|GQep5-$>0uN+%hFLIztFVA}NN`3b z1#|)^c39PFYqRuec_l_Q^0Bp?>dr5AFrf8WfXqW5ck1UzD(5tdFnS|SobWZXEx;qi zpu<)m;YQsvp9~6zI_%F`NQ#i$ykTVJ=YS zZs9?$z?^9R2LKwczmL#N!uw(nc|H^asOueZlD6I!$LXC1_~NS%AjxhYV2oV41*E_I z`(pfbFJ@hsr>Sy)Ylvy-4h7c-4He0=gFUtm3!M|PQmZ*OO4N?)a(9EC5+GJ|HQ@q` zOfVk+`E4yPrjaOMEMnCM!z#Rf0pGIw_1r~}DujbnfkxgG{tdAj201glEP#QSFe5Lu zg{7!dC(NPuZi;3-!6C*=XIOUl&f+XK_;F;WP5=+Vz;JB72|h9NRqX2-jUq4!#ZbLl zqJg$=BldSO)UBR}jo>>B#sUPWP&^oA1nEX9TEgH^9M8&}k4C^g24sgLtRcW|3w)$A zCGb%dQvy0#Tkiu?o|jP`I4Ou}U71(GaR`#xv^BuIdp$HeDmyre zt$X|m-aY;}2F(JftG%c5xDYH_h0L2BR&MdPHTq_!@cqxlbV?IG?q2%uuq-CpEavoTnrP(f z`~3BoFm6tu$#i@>pv(B}c=+j^fa16D$L<}Xqg{LL7j$3;qKw^lAaL%oL%cxUe#?s_ zpWmSBU-~^S!m7a->iK(K03H7=Z!tamHSb0G^5OKk|N{D>tAhH~pG7nc5|amaUjOfsLOPK;E%^6F>>( zAaTc4=nS4SSW{?l-KeFaaVHO8hcJ7!*`)ez%^Ko+&6;`WC_@9wHL8~-d)0%ptBDog zq~T!{8iNjqT#7Cm7bAQFSm7}GuRDgoolu6q`5FbiFMD~hZ>m36E5H!I=M))(DVOOK zoFJLH=%Nt%W(gYi<`PIny`{p-)dhl%@`1F>iNJz+dLafAq}AJ^>8`h-j!(ZS8qn6a z#3&!{Ng4+xk~Q_ECzzQu!UU0ot~;27M@@MsdU?28!X#*<5X_~(Sn0bW(V)K1BpA~y z5In;JuL0RCkI!fW^8VLAPUjbiBLP(vh0P1L1mJvta=71MhLG1Uc?*#Dr=#rVYZsg5 zpLYN$re;f1-=BaT5B@o?F*VvKnt8jRt7_yq7;Hx`4OtLO_g0A!tw1uk(r6BJYfd}n zV9my1zG^+7qepMZKSA`01t)>UlC}^e_-F(PP`>O$z?EQJ0W=9K0bCUqXe0^VRfGuo zU6z=E|KF}Z_iHVelpGTn7q@eaggR`dLBb?S_d znY9FZIVOzizau6z$I@ChG3@k&Oa_WHW-ey;(XBSUVRL`aYv=5wH!P&!i@0O-+LJuv z%T8F46*0>!7=Stv5`&ILfo`mXEzAi}slZ}2CNhmT0osoGJ`tYv{U$sglfqnx?~IFz zvuOMi(F9!WT1IWJH5`c8gxri>>qSo+j*QXf&qaS*4c?<$%ftfu39zVQPjXBhe;n9G5qL~e& zRP_2i(O@uI1>jv!*j&x6W7+}EBD0)o868;MWI3;aZdLzA1Grk>7tLI%uQA3&2kwc6 zpi+R?U%H2wf@@VV+79O=-4|X#b*gfA*&#Bcil8RsY+9_F*3m#c(^=;;;8YaAWg~#j zYG511-j=;$wb#%uYOhd}HbEy!s8MzOKCX5Z69ZHfKt-Kk0qc!}!xvbdp`mro+T*Ih zI_;F-jMojLBF$=mbvmVj_KJX2^?K@X9rgKKbc!_-EI9OMyniW_kc)Z6xSoTI(Kjx* zI4cYSgD4}cNDI}19m258weVc5;h#ay=P*u#n+6VQ0*IXMSQZM4d_gEfsvtw`ZHHHR z?vfj}yVEY2F+zZz=D-A7IAMU)w0vj$Mh6Y+S9|PS5P)_LV(9nUF|N8GIF<>-fiNJ% z0YhB}ez0VavE3mUvoN)oH-TfiHiMwFtD=s2pb;`+h6LU8R)Ut$&im>S)doA0_U8++R`#sou_fiw-kss>vSg<^LXwoVMM zK-QWSc$lX05O~$V>cU${qu6sxZXC+?CA$!LEpP+%hh6=vFZ zv&Ml}Qa$-R_v$XyH$6x0U(i#Ya=}&aV4ha4^AVIXI2WK0wLx3w5)k&}1lAHSa)cB^RilpB^ zKz>%lhX7x}ddaefT^Nuqfw&45)+4h_YbqE4nmeLHd9#8U!mDaW^j|PvqVGQ!eeK|h zU?|cb@5_Ecen6`i@gmoMe?cq<2QI9&I0pF}g#ApY- z2Ua-$ep7Bw|GFu+jIAPw_;--eb`(Q|+Oq5jR!SN}1R%VcZHbu%KAVR{_;estpMAWZ zyNDbMJpyEW?lQ%FjAa{Pcab5};U0k2P9MuJ+v#0M=RZQ{e(}ES>BeLc09`?65)--r zgM%_YL>|%4A0p-HgAb9rBtDcIxB%kS1RK;4^I&~l{|Na#VRvLdJAF2!qC0YZ5c&a= z(#n8j`j6nLV)e(so;$uTH=FLv=iHRKgt%Bvb4?x1xo zH)$HH2DY+!t-zNSfN zD-O8Kj?i{NK*Wr_3EpWHLSpb9OtBHN*FY#WtwEx(#2i@`%q)Xv@#{eZpeA6ZVA?S^ znyx2#i&5@R#B zjnl)dOd_C#`owQk=gFvL2J|vDRpj zi)?D}4|yr@iNOQGz%iw65{(-?Z%Y5&C`@mj-%z{|F0Zj24eAgKe!Y8)A}82)SKWcB(cvo3=Hue&A80s#d`-^>*O{ou1OJ4F;Tb718Q^sV`PUKB6( z0(`1}4Q&rZ9IX)?wx}KVuzne=57cu$oRi-ciiW+wC=`L6g!Od_fH(o$RWDBf(uQ6{ zER6qXsRD@q@WKO_XHf1@)M$b5jkOXpn0U6Ab$;kZJo^_%HTF|K?ruALD{n-Vi8D1 z`L^uWq4GhnjMyAPtpPs*Y6AzH9qNzi2!A8O01Ptl5{M)0AWt_K16T=X|i=rvC11$Q|4)h;aU1mB5{$AtV zu*dA9HL0xzr1sD>4Kh3MLP$e1^Ep5pVn+|ldK6AU16l}s5Z6!-W_4hkih>pjuNU=e zH8~vW)kqLBYF{JisOp!nNJ6lHz+s-iCKux{0b2UPB2{Qmp4`~r!g4VD#jLIUF^A5; zn1Mu~Ca7kc6t>R6YV9DsgmQtVOV#DcCH{HiWeh-ZGim;DB!yU{w)m<++l z3RIKF*&+@`c|m$n7tY{7{|rK~V^&1OLIVt7j^5G2d7|yB=8cxML=H_@LwOGZ?FjC> z-2jd5jy(!($bzE;VIgD`4zQ3vp#Or9>4AxiX&_iJ8Jvc)b2XcPLDB*NLOovPLt8xa zJ2-Q47T`c`5UCGsYnZRnvQ?r1GNL#VWo1aFkwf4dx{MJ^L|U*2m1y8p#36nk2-kAN z5RokA&k-#oq`N(A1uT5PB&55IpN@qZlV25Y)05XkhH#lC21?Qfa-9Z<`u0@OiyF@q zXDD~ND3oSWFKh8CCC(5Z(0en*n^s*%QoKigJ6bbC*n@RTJovBq9vYaJ?rCePYVtks z`l>J*I}6i){A@9m{^~1wONI38u^36Cnh9rGG+V}!gc32H=9FXc!s_4U1JY?)++B<# zw{BvZl*Pvr>0BrLIAIK`mz0&`LgAgD98>3AsY7voVhVPd6ql%pomiIkvDikf2Z@Vh z)eM&=w-#sVug5~rtfH%)G$u&&qxM6Qz3xW;6x<0|l%=db)YeltQQ9Pt zEhYZ#tGY<(F-t-_s+R*kuDJFh!*0u}*8N()PPbn|qU&F?#R6>pqgA;q2z5LcB&ON5 zt#Jn)R970uB?pq5y>O@Z>_iDgbQixpSJ3HFd4Z%wK5&^o8xn)@A zI=ckfks);RG2l_Jaxt2EeJK*iwnC&+(U%Bw1^teBe8kIQ3pIZUw=d`>zMw^K=Qz;k z9mQ&L=qwINk7-6X`3`+F9uUpriO6w&I$nf{Nn^!XiDpj_`zggLKbh`G`Qf`JipR7w z5Y;Gbg22b%Ky?3VBP7$tD3+6rzxabn8i=QIfcQcZcm2c*56HvGP>;&wopzpTCsP)3dL!Xk^^ia+Y+89(c*4=*d@DagY)s=FnF@Vx~~M zMLUUx`-*hY%}cD4j(77E64`o)3!=>w7VSZkMJe_(e9>BjIJDDf2Mi!5=bp-FD16d- zBi5$1W|zO@??IU_Zx-! z*mLkpxfk6YjFHvwF$`C)GWk07?<3yEz}Gk&ZatNIN-0&x9@O+VEZ55UUS23(>jgC~ zLVJj(60PrzjvFB5Z>6~JT_duL;lj|7TnbSqA4TnL~o3&A?kA_GW?g z7!uvx0JczA0S1FXk_@(yOWKZ^P({c9JkU_f$56}1P|L><*+a7@35*T3d<;EEBS|p& zTW+2)#I_J0aB*SP9kqN6wR{Y-ml*1TDi(>n{W)`vf}SBYt;w%N z9qG<1Iqpt%;hToe3pY*(!5&?yo0Oi7-39iwDDjohE*dv}KYEFgD~o6eAA(yMYY(t83z>-3 z-#KZAmZ|_(1U?vT99b-5L#`z>_Vo)`7`93AqV20M_}B6=)bcTSP%R%rEgyq#P80f* zKi1UG@t|5hhFU&`T0VwaJ_b&FspVs+K1?T0VwaJ_ZEMu$VUrD+g*U)vo1ZV8)PIK89L81}zO%PejIAWuy*rNV=Afp_Y%K z&Tu5qM;mMT7;5<#8t13g@-a{?A44r41G3FEI)_?52IO&rPN9~Mp_Y%KmXD#9kD->2 zp_Y$<*A~_CG1T%gIM?zq)bcUZ@-fu%G1T%gFgsB#A44r4LoFYJw(7l>j{$4CYWWyy z`50>X7;5<#YWWyy`50>X7;5<#YWWyy`568$_!#E?kMJ=p2yQ!UjLyeUdiG#BsF=)sdy1nA~;mY(Qv{9>*nOksPk*FBF9_1(V;jvvM@uy4TPn9HW;d=U( zt~-ju@}!e^!Xu@qeCG-M2UJg}Equ`;StW^wOA>RrGKr@Rsio@4vI}5>a#MV$y}RN| zU(Zrsq4Zg51M)hjM$v;Dbqp1Rs`dSyN)k6~Kg`Fc!Kv)Rf$~!aOA^kPBp#y6d8!v} zUaF3wIZM@6G-#>X(8U=$-x>KGGEbBrDWE4!i`qInmFAo*-+KgCEB75IX%T)k#H2QJ zMcLKuhizYqu9>`C4Eht#p-D>;PtmeFYFFxWM}3*j+);bE{ry$wy`kz3@MzA_h1n`|!q$h|;2tW7(GYlK4!h75e(H(xIDcN#dE3gd%+sdD)ata!=w)4=wAbKTw(ERJJe9<+eU!he zJZ%e|$yY}?JLxAVu>8bXN*k%R#vbgZ=5#kqZ7nsX@7#(49JpaNrb5-kH&DI0a_d0P z;GLk{68VK(g67N#UBWzvVH!1obx_n2@TW&DF`79Sz|U~+_aZ+U^LvpueKG#3M`P>$ z14m;oP|!%vHG z)c=CbVc%iQb2DPpm+0jssw@2v4Vk>UMD0&%G)_-MtKRhb5;cJ8E>YXjN4M4aLD6a(N?(GHzukw^Hhf=8>J)<`JhB-! zA5y32MODVA9@J4*J>C9Ivhn4W-3i+^av%8ej1^KP}BxxHpMSf)>HfvC6s>et>n_Z zu$-ot3GavH_%YQhHq6pbY==fggtwy^;W@1+X`<4eY{Qh5_7P?K&XgVALxHb=xMSQa zO1|_0x%O6CS$AyLm0t7BnanHaYp$W6GF&l|^-v{T3Z&F#peHeoP+X|>a%C_LpQSXX z#Y2_ebZ4kCn$8VHU7w9rrqaw1rMJ`*GdzC!?Qo?5<-eo$ps8=G>#6Ts>JVDITnTq` zFHeFQc)IM|_LBH5CGiQ=Z=kZD9`;h&lAB*nXS&MuF#6%+41Y}L1^pZ1m0?mNihmon zVB`q2#o}2?8XX*_G{a8sZC=3hd(Bf?dBf()FF%-D5`SF#ms}Emu=H>|eHN>9psT}_ z=6IFhNyX+@$&JIS#12qql1rk}l%CAN`^;H_O1n)^5^3gioOYgx_nA$%$12_wF-{pp z{d*~k>C>Lde0q7cGS;SbW#M+(Hd$#&9@CWxnxwp7 z)3*F%fp$$ynW}(j?~f_ymeOfTJ9=}9(iMAPwBHLxll_yG0Lq_+f+{BCBbh%urzmkY zZ7U1c>P5C(s7#>CH`My{)pfN!^|_`t-}R0<6+4dwy`}n--IwZQ%3P`ZLa!}`tb|-s zuTswqc-Eh5m0^^=3I%Rj4RN}^T-imPL-72Hc}fp)f1u(9_PO)F&Y}t_6f>UnlcAhue`4G zpwvb9I6NCY^K_kZKp*J4S3uZikZU)^kIH&ulx}!O?MQQPsJ*37y$QdLQHE08mFPQV zoU)hh%tjwSodF>We^nU-R|$Vw(wG^_acLl>&cN~LSCxiz;ZCbrmjnsZWKRWNujfS zluUXvL^-Ng*k`fQ+|R%Auv(I^NwY;T%^%ZU8rEwQ#$!ashC$p`%~4iTK`b5~ITpoy zG)76M{UJ&#)_Q^T@o02*N~jWN>G&Sp@tgWVVi(Uu3%$Jv)p-_&A{O^hUZ*RAA#)Sf zDNCtuqSA?+;&AQw8s!w7TdNG9!wb+RwzHw1To<5;v(_t1^ln+1hz`236vKB^6#9Kz z90vO6zPPWnpR!Cm2v@++Zo`lJIv9`pH3DT_jZ!jL08iPk(TtBnx@2ser@ZRs3RkfF zToSyu@(USd`%~$U(U8%m^C8q@d!YPj+_&#W;vLoxK?U3J>5U+i>^@jIPwTF$bFr;s z)^)Whjk=C$ZuV1kD$R+8Xg&&q9{q5I(v`xalu7i%e01L4`O0K$YuIZ8dh^jLWg@jn zP(GoS{ghc+^(cR$@|adHRFddnBA$KaoM|2Hn5s^rM$^y{tV~aZF`c=;Y8H!i7QoOoI90^M;fJ@sxpdQBnDCn} zmT%pF8{$$QU0lbP98p$j_JOjv;|6!FnPG(EA*q@*e$F5bHAqtoRzrsxtm$b+UPHS5 zrrLO+6DE~M`B|mgOr@#$cvhb+?=58MQBL;vmR z(j(brX+*~YipG0-SX}lb^va2n#FMy-VqsUcal*@B?kO#l%hy6y%Z?u^7n1 zYe%tPscob>Ub;lr>@a#JHZ97eF5&7J`f-sOM32JN-BK($)lp*U{E^)8%lPC>VmO-B|_~_)<<)POHC-VK&_841L5JWrEN0sqsF7uA+ffD=VSYJZX#eZ zc(t?=pkCTdT6dMM69z9GVuD`bhGqPM%fQ!~mNht59zF;N4Q?JfZ+|Mkw_VxEgJp-# z^ZV~d13fC-1@Y97t*XC)>^LPR(nn*JdQDC|x=2viS`nFd!`1|%TaL>Z+>R_QWB%TFkO(uh5M#GR-&_g(XTdQP`Sy)O87iB#oCJA zPt;!}D=@-mJvG&*?4M1)3F}9u{?xGL?=`pHdQ3# z)DTHSTY5`U+BP(}mhUXA+8uxa37p!4wvtwCDn@ z9H+^H=Ciw&9oVNssk$?bs;BHKHKk!R?~8-iU6#16G$T9DrzpTiod4al+u9AHawfAR z9{Qs+38r!W@y<3y)}l!RWs<%4_^~?2+RCj1b@aT@MZDcq`NP%A5dBXmR?s7Pss+W8 zdi|$6oN5x?6aVJluh^UKq2A4k+EO!<+GIerQ0u~7qji88Y=U|#O-ZgOJY;aJLRSGX zY~EX{uB(V!$E_A$M89rS0)ilvfR=%xUVwOS*rqk8<$`tjL6lIEn9i-4$kQFe!s}Th zC1gRNB<-z8NTNQZcs0Y0Rlt&s=8=ed@iQG&-e|C{Jaxig&C;?aMe((9t=xZ-;!>4? zFKa^=+HI}Dy419T#Q+d=N=d>FgPo=paxouNVb3TKgA)}!V{oMJQWgKYP=W{1=@|D$ zdYG#C)^RLJ$kr=IGv8I)yV{i=IbOM8ANq6OiSmRj>Yc&}5FU@WEZdh%-=!#B7ACF5 zSw&)gsRH2U7^a=Irjq#N%G{%nc{v3yh!@S-UApfeib+qXI01+Vt`mym=73=1-!`-h zpJ94}7Gf-wr>r>5YJlNzNV_S?5XcUa7iH{JTwblz9*aiBbjp$lgbI?ZojJls0P0_! zgD00BI#F?GGnaOfjSFsm;Nb=6GlMrjo&Oy|tMA~~=Ef;NH^Z;Gu>&U1D?1c_dsnzr zD2*QDgkIVSW4C;V;@Q}#`~puCx;tV(OKJ#kLIKKR6^N?P2{;~&$-}>V?^!A$rAtRwh(dYldi`s7TKL`0gZ$UAa>HR()TfJ} zd*Cl8p&v8RMdY|m@o(j%%_R)qm&xgjj^XvtglI^#83at1`O?fyG&5Q8Xqgo)z@wtl^ILqU0pN@3d+ z-jh!NZ}*w!ChfHh z-c&D5@f3G=Djg)rOB=9S_$`m$6cIWe-B3>z>r%OR>&gSktm*K4+;EU<`ZAqOhHsya z{%&EeBxA>iOA^yjRS50A&1L(G@FQ+dJRWWXZQTtgYvXQ!3*Iz#H{w_Qcf+Yp-mduc zx2xQHs(fpb!L`B!s|C+7_kvm7m`4b-E93*_YEDT)0-lkPP@W6(2BV>3*BKVb=JOrR z!jp6uDozu+Qa;qH$cJp)vMB1~!mjjuN@c+@gOmPO?{u84OVWSL+6nDvF?M09rzDha z$}qgh=(ZM_f^O8#L{qmz$nBD%{^w>-VDa!XEG+Iehx?=%Q|8iDLr zU&mi{HY7M|j={z9-6-tjgMIwmEa%`$nH@40smn>@)gEK28m+qShW|Zs0543Bn7^Ui zSPQ z)hpCE=a-=P_*{>s?$tM0>dt1VUIv;5C7q|Y7OAZ;;hH0dNu+XcqU?g&jgIHSs~CI% zVC};5h+wwJM)>1ewz`Oplf5e>X550la`Tm9>{0$Ikgux%)`;-Y&DWU z2GWWgfXXOqAs4gM#=3OldfF(|wgLWC20V)^2gYHin`1%r%`|nOkE7<|o+wY+2%hJN zi0JuI5fO_F+vs+VDUjC9R2Os1HBXZ!ybB~Hmo80LchK_b2-5TzsZPg>#ltMXzl~J* ziaL&7yr?#zB@K#xqF(}vR@2Wj)%NxMN)k6{z6lxz19>Cl27{B^hxRopx-X&wi!Mpn zm8R$ysT1up7Imdtfki>|pka{$IQmwW$(zofH963cbEbyCvn&^!Y1lba4|w3FuJrS1 z(+0YI+SH83hN__*T=-R4vmb$v3vtBgJ*DGF82j81X$HiG&BwXG0^V&<5 z{0s!20vaNUiyMey&N6vK=~OYA_Tp0rUkEJ-CfA_MQA}y!OZ@@W=enTB8jppMnbn7YtB73g_ zkJ)$?0gT}H)k$Pmte)bJ0hDn?ol6ey1B1Hs24JJFuL8lDcv)Re=Zhh`-L9(cv35H0 zgSu!45I^0nbn}tY%`l1ezkJCFct`aBwFBM&t)!tJy8459PlSmC`-)K~ZkOsay~w=> zknn&awZGaWHuToTUc{660O=!WkZS86Zb4O=1*%jbaw`fjcjk2;w1>7=Oxu6HUag4F$jY(!{CLy z8-76uFa|X2c&L=4t$3owkj69C!f)MJP*xO&XCN8_>E>?H9T40BrvZ%Ca0$;VD@rWg3as)JzTL$d3ss1VE6v7x;Zo`PWY|A=zV=sZ8#A)SI9pj< zPc$-m`8mvt-G?d!&0PEJN6HQs4X09*`4C@F`AD?|-CUt|qQfgNivC&-wSRLt@XPrt zFc>q#;TGGk@x`sLFex1R3P+2+!dUD66~3_g3b%~?8oIvo*9Z%Kw-SAG zb0yTmnUzqviG13174(JgD(H*!Rcd?0&4L=?*Qu*iNAg*QQTg#w4A+4x@gc3m>E`A5 z2wJWVBfI6O$Q#RmPTk5itwLIomVAZyOsNVa4s!?G6!f);zPn)B3+4Ctf~gH}&U8B$ z^TeVHrb$u&{grJBp!K`!=nR*r**=C#8u)A-rujtgI z$V#%YX2)dJ8B+^djVuW#AZPhyn+~9^Fzcl`s+UW53==K3497y;HAgZ=7YyGZQ5 zH8(VRJ}W$JdVyOFFDW<*_SCppYCkW>Dg%}E0h%A*AE3dr)zAoFMgKtbo z_GrNy+G2yiW<{Qi3Pa(*qo`r`Xo!5eNe!y+SSpT{ZUn@U%!a@@ZK~t~6He1>!_c<7 z^Gt(jQ=Z9%Zf2R9P~i+Upog#aTyuV*@YT<4{tZG2O?q&zO z1}scx4=PQAfC6!3|36_$>eT6CaU$I^s5t?%|d;nBO56n9E?)a0ZhORN-ok z>_Ic`L@W0I%z1B*;zk$uD4sU%4Di(1t2Ct(dlYvH-wU635Pu}>MIf==Uigpq_9*p; z_`@2fHm>FA3XRx{7~;J5)E8o5%4z>#Lm`x*0o!E<&gqj-#g+s>gYd@J9xOiy9|#={ zvCz6bPLm=X7=Y``h}iR3uNhE4p8}Nn8>j^YD@l{=3ng{%+6Yi2=K)Oa^CDg?J(CPFprfZ zW>d}zV~I8oN+5RHY#xVE4=c;MVpBH6sVXo6v&0+_F%NExKY%9iW-H?`y;rqBMKa!? zhM?KApN)}5GY5F)UGy4?Z zKphH*Kc`tHJ7G8#$Pjvn=r-5@uvfC__J!&%GsD2VMd! zo*lrEfE(0o0lSKnE#Ne9=WlfZb6=&i}NL_{w%Ajj$)@}6#$&R|FBXV6oU1>ZEV{j`_7?`d9h74H) z{Nb8mPJp&$WdRA*ai~PVfmMg*Hg(cfWaXZ%WoPsFYg83KIzxR9D=oae{syq=xAEZf zBhSN1vtDR=6lDIjJD*t!FkeIY+8GZ3tzj8%${XmZIk)tdTUG;I*8i%sua(~XO! zBr*D$X_`ctf2sL&^13OSCjSNdHQ|S!_Mn)6p zadoJz>;fe0LHpKNxM0z~(9q_k2VQAtZY>$UT8q-pLGT^!^~bE4&=1+`W?-a|OOd08 zJM>NY31s7LN4?m0gax~;Kc--(A!>7X*ktQ9Z)r1}KN&s{@ST3DCqP?HgmuSLa|+AT z;f$6hZNl;dXxz9Ns(&oP|9JxS)&UB9YXXV}=c@8>PDw%>y4>;#Rf)sU#+DpngG)!e z_L1syj@6he;aYiYSA_{!3I|mXae<0E%rR)x8je%SE`%sxh10bG3=$w~qckC%?MAjF zd6@E~xg8D)7Dhl7SaJl|Va9~E{Zal_y#X++SwJDl$23C=4j&?@e1^y1JGmqw3DG~! z7}TG;wfrOoZMuGD1`Aqfr*@TlGVl$WAmt=Cfh$7~32@v|J|bF(I??4pz(BSQLdf1Y z2oezOQq+`;^VRxcu4UN?Wo!5HKw$d-*v6xaxn-#;UJ?zD6(9Jyoo;^P+#F4<+=Y7K zIe&+vs&3H3t*lgVBf_t6bn%x)_frF!;N8rNVzjnI@#eoyrOBIs4dRR*qW>wNzv?^Q z4mmOWth!o%nNN7mH@70{hN5K_4qU>c%)xeycudd0mw2Am)5$UI?ao2epT-VW1FSiP zY35)!P$`2|ciU50kQoZ>2d~tNE)}TWFfwtqIan+pS4tN2L09i=Ux~+U)hF()`;Z51zBD57cFBh{yDh$FT z^a-S!2O8hzShfiRXS>$X6>&J!1c?LdlsQgC;1Iwh65^?aOVJ2FM~pcQ%h+siX0c6x z20!;mN$W$#fT9h74N(!KBEbj(WNSh1Q5iVM$Jhz+rC?VW5`9{#iFEoC#Zh2=Q>g^Z zG^i(R@j;!`A+(}_+DF<)K`mj3_jOb4>6B4jBi8j%-6RQnkDD($(EWC5H05?tvEzL= z^cqF=P>)#|Vko7P+Cfa{tj?5ZYbQ00cE7A%C$FyRBPp5Myob=~v+in?X!VlXSE8BS z)wT5Ti^zQWrK|ezzuw5+w`P35=0^4u-CIq-{>_%E+0#T{wTpC_Mty>J8uc&r42}Fm zEugp?$OJ5QRyR|EJ^ZBNmRJg8{90K{{eMu7P?L|4ZWDV;!8^zle*;dyyA9MsR)$PU z{tI(o(l5x+ZTy$=5p5__A4r=h`!*6Wdj_h@xHK=C<)|*F(!S~sWGqwG(YW^NR{G#A zWv!JVi5A-+1?-GHv~#SD+MS;CR#T-T{0uKT=&PpE{&Pxyap)tZlSE^qE_u>RUZ{7a zo0>rn&M9l`3~$wObabRf4^Ya3`|4rpQKA+|yQw>#n+wPJINJe*Fh(Hhp|o-C!s98J(!%hiW6S`a>1F zeZTgxnrsXF9*=gri&DHl1p4#M$4Ioj`nj4%_MfUZXvIDCjx>k@&%;=mbOQ;~GGk-A!3R5ej64NU$sCQ}9Z|V{1 z^sBl_bZM)OkZ8wG${u>~Gtx!7{DdsV;2)Lusr(0J1*h4xe}W37RKoNAsuFoRZr|d& zZ@*XWiIQ)XI#%My*Gfx?4t}M?(>srq<<#=2vQxBuqFj)uy`QRBNkb{VtJ+R9zn}z2 z^w$;TqB!%3(ng}UK2{#mwGyPeCV#FJ(yq^t^E%^^a*u}GQ@)^%pCh63qfeD0`rxke zGev)>oD+Eu70CYA_mwy4mG>?<(ogr5m2~F5(nsVx;JoXSFO*X1mxomQuij8jVM&?# zQ0YTW3Y2Zs><#60N_$huqInmU)pVf%FR}JIQeyjEQ?85tMapO^E5K&RO!gGrRmD+~ zMo?fwwK2^!0^^g6YIhO&zJkrytv*DKY1qG%G%@9lg8ajz50nym<0js!*=?nZBqAHa z9FVdp@)zX!y8Vgq|Hm`rcpKiR<4Bh!2(R1s004h_svblAw3|MVRM|@Ep`U#IhvJ-f z1i6o5*&m9JB<}yF?3QT6Z^{l*o+@XA)2~SHrLBJ={kcE_V%6s})rpMHkRQ9*N_}6P ztx$VPNV)#@W5fd{mI0`oT!EbNx#j9(TGB$@NspVUzmoE+x}6+a0>OO0vHA&p*&Lu! zpQh>&aUl>ZeZ&_{Rac3!nyA~wCywfS5`E~PE)yr}B8kpQx=8WC1@*-cr=kprTFPkf zefi4U(!Z!)DBksZ`yyNVc^KQnLOD&&LdmDJzEC;zrLrh(wdyElRU&7cY`;?Wif!e} zb%~CYDc?|!Ql(Tp?4XX3=!^F1GphHVa)qL9B0c;4_ml(T;ycO|iCo`Ou8JvdBTt;x z=P8HihaBYv=|y^2Ci~N-Y)IEf6xdb$=zp>I-r-SIUHkBv^qxs4fxysfLQ!ebLg-Qg zgrcB0Nro_*WWuBfSP~#$=%Iu~NiZN)K|=^kg1~8t=%WbshFu@cOzd6J?_TH3B*Dk$ z{hr_ZyWa1Q?|QkoGNH=W84*qb@vQaIA~C@UwxEV-SSd{qu$0_|E+X z=^RAUQ|Iq>ym}H&81?z|!U1~p6CjYeA71!`ZhQYi4z2zGp_-W=U9kJE(xk!N*N}qv zrN8J;!5<>MR{aQ)?}v{sJV7sfdf{HjH?bGS8K~X4^WPet(`C^0gbSw`d4P(+V#@Pa zg}Ea^T;2^m|o6;OgfZxA<5941~dSv`!e%FB*VT@ zUJx~Sz_0g9|z_vuL(NdQMatKG`RQUfA>H00F_{f#*O=b;m@ zPdDxTbnTf>Ptv8@bEA-tnbb+_;IFN=fuViaa^XcFAVGmHx$7M{D)(V zP({naG~IWgYiBOBAM}5)cp82dK#ww7dip~A&HkUQEB&l$-EhWV+_6RXm+bGgCEYel zTR9!-+*0PMDKj;lI_IjX5?0g9XQ6a9KP%-^+Otw`+VY~*wR4PX=ho)3hF;Fcjykv3 zm|UyZxmK@449B(WpmWC#{H4UJQcs6^k9-yLr9q;AV&{>KuCj*Cw6y%0L~6{DX9Wm} zc&K?>IbCaz+RgNHZae7QU!|{`7D8RMN1Ypvnw&M|&bp(5dj+-8d8*!7R_Nb#B@1Jbn(nIo(uu%+yp{>Rf+F zNT8KvVnVdguIXgGtL&i3S-ZvLI$73Kztu#yO^|!~hdLX}ns=_FcgD+|$q*+e(uc9K z$=}cAIOh9;<(AeZSCxD#0 zn@-o8noia_pKL(C)*ozMg?^nXZK^v@5pPN3dmCM=jysQ3o1DjXxHeR|j+6>PuC*1W z=B-sY6@qwCw0=zYJs_JRjCiTDc9*Mihsjl0-c(yfC$C6RbS**d8LJZ|sCi|rhd|!W z4JYVOf4L_W^_K_I3;pFG0eUY4Ggb5ykrjJVnojmp(n2~=C+()or=&DGRx6eH`!(;b zbX7M{&PmD4YW4En@~`wqwhUQnm3<73_$6|GLpZubwM}(+;f90F8;{bh>GG2iM)x)6 z%Jr_D^{yioblW}hGTL%l8s90<_0-Yk^$pJb2mf~!wD7kdf?wLMaSY{WKGpiY_>F&; z){0_wPvWcax8I9LiIEh#ysmXY`R0F9(HQFV-kFk^AoQGdWzNGa3IwC8vJ54f*HoFBPFJ|<>LHHS zZp4gcDR*~-)M>1rv$odNxJ&SZB;zMS^$PpDj+DC|g|u*0pF^c4*TJnU2cnvHY=i_v z8O);ouKIEoYqv&9ok)z3(nI_pI9z*<36G)x^?ylE-`}kRX9yGbCPlHW`wwIc>oNz*Iz4|)LiKPDWBpUdpbW3oX z5>)XfnD@Kaq&{SRUFt@|UzcvCd2dK@^x_**FMd%7^?qIINI`E%3Hr5NuS+H}^q2e5 z;y0y16d5Z=#k-Iz=Gwah{EUgUuL2X-`@zc_T@EpToW103bmcQ~b6B)<%Nht4lWQLguG17) zD{iE^qhh~*zbHE6YjLzrjorQFczVVm-bYt1i#urfX*6m5E8+xN+EeaL6TcLP(&5u$ zS8n=18uOKyLn%*+ne@vyVsFa5io3skC?WzZ;n|VTifM*%l=eQzl6FC~(U7C!G z(jZe(nnu)!^aY6!f%MMi*2(*X>PlGTqWkPNtDPWh}VuE)Su1 z`pD^qbuFYTq=&u`Kc{u?iMz4JNOsU&KZ;Yx^u4%{7B^uRn7f?l;9dU|x6`4k;w^N~ zs~|*Wt@t5rzb1~PvQNcqdfo}IyO?^v6fyKEqut?K0A%Pl>~*%ll%1p_(a( zbom$Xz;iBe*RUgE8h!XO__ORNSnMNS>Hc@Cm)9K;XVb_J#S3)zF|mrw*Rb2sV?X1u zXPd>j$R!ff^>@cTi%C&@5>=h~hd9sh0FC(=be#Va?)P~E4ZQ1ZcysSD|J=l{`n!e8 ztIvr=H1$Ps7TG@ob3AuiTuoQ5;b`G|7$!`!{&Zdf+1|PWay;x3$I`{O#Yq%@1zaEV zgSbWKz2gqd#OTk(an!%BY^Jw*$|I@jWAOw%^11jvi5J92DgBDLhCY8DwKP8`CSXDM zSC_y7#m{5(zq}-VO#aV{sYK64pVXQJ7ObMHexKJ8pTyK{uS_RcyIX+n*0f--F8tVI{O${Anj#wD;@76_ox2c zE7aJDGDJ*+ZEu0Of4Cwpqr@-4{M*lqi|FTb;$G_Uve*aUj%T78$>jj4Q(qSkQRoX| z4b3@$(a8D-W=+^T;(R*!m3W+T4nyW-*I}lVe=puieZIvolza*4q>cSs-+}LTy@3gx z^^$lKef~N~S^I-ntdjb=>)4SpiOgn55aT#nB zeGTvE@qt*X*L>v_aSt_~0KNL0gJ`OKReXp>A4Wf4dI_BI-8FFp^*;sT(@Ww|pBc`^ zz0~Ez2I?lE{oD4 z+Ac{?8?xw%2rbnh!A!bGl6o6f@P%kvB1+i{{aovgyY`l{V_NU5Imm}>{57vVjo($f zU3)8FHXbQOqwp6V-FjE`#(!PNEJVA?s$giES{&hmk!@$Bela2JpTh^;T!jiftC>lBO^Qu5Hq~upbM$C~ zi49Aba-q&62VoGpXpO0P<1x6Uy7S7%q0MVH;nY>POS|RQyk?{GNI9MVhm;r;+q`8R zDBQfUf?oKCbdFa1L+S_Ld3Txf(T&tST<%K;V&qN{#%b0(i@xHSz4@973T!W91q$8-dig3k9M|SJhEh*-2cgJKl5(@ltnvp{Rt>0eIDH>|@2Vmtj7AQ**i-jqWaY zFKOP@&|JMAudO|XK}6Rz`vt}IQ;cGB<*t@fy;9Gq5ta^9v##EA1q~_%Q8DU39DoeK z;$TM`?J~N`cR9~sj2o*^iL>UA4sXQR+u$2Fu7md1#%y01O*$p@xhYoXaWn?KGdWi= zo3oRVzyrIl%taL#bN6-UdcX$5A#&7O|$=^UYKp}8Z~S|uuw!Uu$cBm@??7C zX({H`Sl8i-rn;l9+6!8L&Q>@NpJ*W{G(=aMu zd`ap(@`gp(LX1u=lZI^}=AG+Ko<4?qdM@TznNoqk0cL7%)VtOdy!Y+QieqHk8tT;~1{nUd3W!t&XbE`3sW&%s{-1K{-?$0eBH-m<(G?n8y6t z4*I2j?sNTCOB+L2ByHKvQ)2^?cl2k-@Qif-@OZ#v&JDZRNCk3;9@$$Kg&*B|Da>Vgi)_j*Z*xw7lxmKdzY;l=^ zIxmvr9CPQ3iw%xLbHv?V4$~qTYr?NA6hAO{`TA)^&ny6*o^m%Pkg1#~Hi{b;UbAoGcCsGzi*LbRk{*XD1K~@a&^U zG0Yl@3QlHBRU19$sRl~iEFysK22wo;2Y^?0=-u2e+^8->ZV<~1Z8Ez#*KPt|c;*#W z-=bZe?-slPT(-eK1f%m)Ux(>7d5E`HNSMCFeD4nN?co3KmY6#pfFL`UAa}mmGsQf=t&kDKACzw; zC=9r_1{o;L<;R_mt$}W!SL5VvB|)yb8W8EIvj(gUB?FBK<+S@)Qv*yG{ZvzNSaR;? zYCH-a%$09W{P4y(*vC)eP~ zRmUS;>j4GqJB0QKp{&#%Jx@pe6#L&2igv-e^4#-o-p#ri0_gC=sG{*S+d^)T9z0ri z-nnI?5LjuDI+Pe)dulP{Cfw&aUkzoe3AC2eK-alaPvhM^Z2{Ufz}@6-Zy@&qpxW9) zXmI(HLM$s`w3pktzMc)RT@9KD)EjPM@wC!#jspJ_dzZM|-&_qdW~*Ri>9q$kX2S_L zp+a%khHe1CYMZMWCEQR2A&K9z>gLrLFX&LFdo2%-Skt`fpb!pCiS|QKIUhUDz(ni~ zBC~mQ1q_&29t=M;f~N#m0-=XP>gpwR=@#g!JAnblD=>e~@8JKHY!=qTR>PIL6Axz$;3XlT>y4vkFDa7xcuQUBZ7(UhBZ4S^8CS2vQ|DN?M?24~b5+Cm+;<2u3OeB> zbsQAvJhzug2u3hE*Fblaws`=-jpI!xnVYBrQ48n3GIWJf`pHq_L-c?QtVa#cM3AGI zKm?dar?v|EO;AStB~It2!c5`9RuO%@^!KIc=z~1M>toa zAgXa6hU&yNc~0F-gL&7MS0GjaC(+Y?z`=F=A$Fnxe~7Vndbqx+{sc2F*Xlm>)ap6) zOwmWrHPzR{s>Un^vG}+Rfb81c(7dY>MA9c#$sb}uh?`fPwL4r#XzrhId&m4Kwi{~% zqx1AS0-J}0C#!EZgTaBUHft+gJD>#gLuT}*+Lf5F^;@;6g#tC@wAmn~kmx7H%w{;- zRrVw%GadnQ&GNad+O=zCtGMQH6<%1{QoucjL$x^$`=fF{$L9Q82N*y?_Oy8vT=MPL z;pk;w7bEHR>tgs2H>I0S?RS$U$}`QjoWpzFGtKDK&RQoM{n!@{^J!nHS9~a@FggeS zgXI~dqjrkEQmqfL@H5`ht%l(tZRZylcGdCb)s-Lx{-gQK6X5$*_3%E>-pX=KkujO8 z%BcHwvC9G;9Zi<4IuBX3WuptfLGHHmaUh50K&Fiq81bzY2**JnqvTOYyW>Kb8#y(( z&qKNwXdJ5DrDi{AVmcy%$9X#LE5j6FW-NEJD&}3|UVal>>e?_0L9F_oY|v+qM=&Gq zhNhPtM87m0?5aFZpZqR%O?S7vsg6BPFr)VS*fIV0_&J^!km`sw;*SYrb5#=Fi4N3n z#fWRMQZ^pk=CG@_0d%2^KH|Vm9o=TRb5kuS4}%*hZ@u#{#L&Jqa9ilf7o^y>E6;~B z$*Q=_mNG03Z#B+`3t^t>t7^dR!y#-vPH6LLHtDd7n^j`e z0+epc`4!HFjY0qvB#fN@>ow%P&PqK8hySH9|Jed^`lV6oOdpk=LNjkzE#o}ZCZm~F~H&*}_L|xVASkZ*Q&4#T258QdI9_Cvc;DW?@$>fs^ zMNVTP0hIek%Ma2M5pc&lMF5V%(H)c%Dc?rZ`C5iizJfq%Vr(FDR=> zUQ2-&r5=EP5fxDGlPev=m&Et_7>^&Xz*aCow8~tFjBIxDF&V;G zlkGXi83U%~O7;QHLdrts=`nt=&pC)OhN5;IWocC1;O-^v=w8wAUSh9_cmK6DJjl-N z2LX#lyMP3ww3N+&s+V!9yCu!EnN)j^J(&aK$GgGVmf0~@W~1Ziq&-gyWf zoDiF&C9p7@bi?&f-DC6cAiM)c(5NO+jxX_R-f^zEvR>GL5_Oil2VU z?{;md!3iFzJcn6zF@jW04eRhYqs4F;pxzqUUoklwYrvM=iq&P9)tXu_;cDDiBC5dx zPas+RkP&L$)mWqd)f=MwMKB0Zg)Zq`H7j|R3SoMUJi=PTfOZ)ul0fP+E`2!lFSPI580XCTGPlTJSDjH1%D? zqwyyQDXmf{oqiY5>h15s$MU*{81;L6RPmNHoc|WsiLu{YZTqE#=cRp}a+WL$I>J=+=3dS>WGhpj?c_)@;Qr!DP~;E)qs?4PGLL zHCQMEc3xfGtVvz^dWjqp1#QCFcFc|F4cOFKL53k>R7rcDqAeMJ?qcq$gd!bd(^{a% z23i_{rm)=ywbEQ!!^7#}LAbBTvSVA&9aC|`!`zF%)Bz=mUCqU4vykxbU!()re|gf= zz)^o!E0afy<+oANV=hYVB8=J=DpM!V9goJ=!W^R|{lqTwiK*fyvfg^uo9G>fAeg>? z^AhfUOKlqQbqun)0Ya5g8`MeW`=o>tEonjoB!q|+%Blb z|Kh1>E#sl}wfa222-ZR?FNAuSK{G07`e|fJ*!zl+2>v?@WJq+#2d4G76*{XRSDr#+Y;rGeP@4MNp%HuL z$?3eJ_@oUX)U-w^z-J*7=w!Ye-3M_ok6rbbQT{8D>A7d5_SEG$sY_S{xEL-2GOdog z&Q#K#r(pSAeM;)rF3x>}p_V=Mr~%-F7V8*sPHNX#dyJi0AQb!7@O1zXZhTb7%|APf z8G8LGY0S_FPtXlXQJg%2vN0OIf#Gfqr7&81@YGo;5zAfW*O1fM952rZigKOb)x4&{)lfqx z3=g~rs z(KPT9g01~8Nu5dn5xLz=22LtKTp=D>5*}*vW{wj;GrNry$UOF$Ho7VSW_mh`CvZ9T zuTOAI8koX1bUk-VPs&}XCH*C63A)-bEqG3fhz)G<=wVEhm%~11gqHH!%dtpgK?JJ< zee-~fO})@t_Ev%HA@I4NKU}wS5Q46K`_WRgU-R_=;lMIJQmF+V-R)%6yKgJKmW0d{ zIZ2F(`HOF(YXR!;H1yC`1Tz8w@@v7W5ZXIl?nPzeq3XU=5f^^?3iMF<3sNs6`|1H) zpCmaI<#n|9K6>Vyw2Zc$Lq#LcBNlb4ByeblQEYL0|4;hAwqn(^J?FKr`bpe}fhSfIJEp6SvB0Fj{)47G&6uo=Acr z{#z0xkuym)0!r0T(OZ)dUVfXeZb-)cCCPFm9ZH62Fee!@DJ&T`F7e#~$#Oe-K3NW> zjAM*>ORzSNa73 zk+lZFMu-oRqJ1?)mP)zk_kqYF*c>EJGu3Ckp_LKXR1h$~QU|^6PP$%N_?^W~BPYu+G0i&1}^I8pG_Y1i}hw*Mjnz=zKrf z-w;LL?1$+fgtv_dF*55;$ZrklcmQENH9gi14|^g$CJ)TXK_q0n2D*}vRO+-4K?ue?;d;7%;YKn*qw}X800{v^%jhc5)b$79h1FCxHNec$zCz%^y=VT*%N?dA_W554MP zlc=@=6Y2r@7POiUqI*tT7z|52rOL7a+Vc=QSU__4ylZzU3pV8B#8P-qIrdf**mMj@ zH2}7?2oMK15Ube?Y*N#vm?%P^E`oGwAnBdfu-tl(rl&(Y80X3t9Sd$2AMmDU2Z-s8 zH-?D0-qe1eXm^aeRm6T0n+A&Ij_Oh30|x3aPyT`8#~=;w^||r{e3s|yoeqZhI+22O&R*k@ z-T70BSV$4`<>_?qSbTPHOHVPTJ=h4Gt<7;Bq#I1TU$02r5M934 zG$L|`x58catlaQ|oSuAKN?Z(Z3~^4T$T9E=d_?UO;haW(F2wctc7~%p6*iUum(g!P zm;hNo<`s(JX@o%<0bCsf)_{;s%jgB7A`pb~PDruSVeOvOEEhOn98lFdS-uO1EMC;O z3!a#}KEV7(ahD4OIxAUf>tzA8aaNq$0qFOn)VpUWa>w8hG0e_f9j7~}FrhKmHgfib zenX4UOywXxAT3X>N06&#Cma}!La@C!ISsBti>-|$EA6$KHNn9P(#Yz;hrc*3b-yRd zZDwn5c^SkiD`aDvi&YF@z(CO(<7POG|1ccQdp0?@SF;n%#rvFXf442YZYFn0jyNKZ=9k$N_m<|!fP zk3BTn|Df=%`m|h-t3zI}^2FQRp#QL6d2zdknp=z&o2NMxo zL&}SOFI0!p-H<*H94|(=fyVk34^M+Tzz81aDUM!7pF6eeLcy4WJ4Gf4adcBt<7RH@ zvB#xO{fyA=tTMI%?$_55BD%Sb8;CyCK>uiM)fXv|@d>FzpOB`829~bX?#Z%=gC2UR zI&F!MJMX5g3y-8uEv!KGi{-(g$kaLqSj`atE5@A%o;k>FQwlA{NGL8$Q(BBAut7UR3mv4< zj+|6!C{oG1^wv2afJsyRfbmBJjDp1=1&unRiH! z8z^PI^e6evlUC9P3#H{`%aF)XbhlJ%pdVI)slqAci!&X_yEBFkY1i7Euh;cVq_1ElfI-uW2H5YplQ-b z0~OzfM=nl5?~|uW@6v?n($Clc;lt9pj`TC5!6kFClxJiYDRAc?X*=!eA-zGj4wP~Y z$blb(kvKj`DkZ-j(l)a7ls=>NH%l*3zni4<4ymuy-iw~?BmF{_^&s#d{Bi6WEg1~l zqAa>CMOx)38zn^>X!jTp?c-aeddH%XQg;J=T`qk=q4!Fa^mv+lmYg}#Xt}3j_<7!_7k97=@h+@D*s7GQsklZa4J&w zYsboO(Dtp;Uix(l+PP>JqRq+MU^jlhQTmNOsK67;H%rIJXQT8rb=e}lNndS3-Ghpx zHw^S{0mv129|qgY@VT~u0~t+{&&~|gS!t2Kr?dXkCIZ(hM4g z*U_DWrBA#Jw*V@WX3!JUq_CY6;Ct03N-(@C_U%@ zPLPTJQK^KrKK?7E^IpPSN?8Ov^U^?wf=Be@z?(6U|LiT5J8mkG5)6)v2PG`ipIRza z`4nLf2hEhGl9}?IhAQ5xB8I+RQx{6hdP(<_e<$#A`50NHz%g;glwgbqhx&FaJ1Y2(#i`QPp`zRG<-|@--7H6>@B@#cv=@LSJy};y?1WZ` z+27Y-@zg-5VX$LZz6|o;Q6S&vvzPCLE(8wr@e2|@rS$?}7{h`ai`Og#)PYP~4`%%s zV%9IUm*fBah7o@Hh7q(UK~Ctvu#5)Evzdh)YL2sFZ+snKDj*_ka)6iv92eN2x;sE;pO+*$@VwN{vF)1V98lut zT+bm&*fVW`;MP+;5BmRL{|Ilat$;FM_rJO`4m7g@+xxns@`7M62)_A+Nn^F$BSHi$ z+Ra;9WGyH(7gUC+E21LDn)9r7lck{0V#-rb;F}1eX{MjrDIs#I`lzYb(js%t(jtr9 zlxefWy;D~fWm%~>Q0;Cgrx$mqJslrzR~H)$DRkmnr62A5R+&K)E7iM7qQ}~;c~~7h z&Qg$(V?zz*EL&&6Z>}w;&}?t{4V|vN(Zp@YvI)MaOU$`uA#AK!J!`_lW7Yb+q5>gw zoZXzQK58>*j-e1W)@-+%GtFEg&88kvPg@Fv_OmRxHUQD4EVF5Y%LIC+FqPu%SOBGc)lHd@Uq;_TS!Qw(xqxb=RmF4TpJpzKe5=#wOI3t ztp!?}Y2$b`o^r>lroezyb6%z;$84we2DQBMH?=cGj#5{UoT4Vt%YJH?-u|hUJX?|7 zEJUQ(&3Q|-rl;cj6ZSl_5R#HpXtAU2RCB(WzB8&r=mVn~JtuhlGHV7#W*T}f1i4Q* zWjldCQD-m27okmgW>Y#|Y#L`Rwq{wgP}y`#20m(G21N@jLc}Z!#=ve}f!e1R6`VU6cJhlYNsq#N$h&fi)khfs}E8Sm{i<2Ew7lng^N%~-FFqB#}nlU@j( z;G`eT*`|K)@ZG9*F~kb6nR7rEG(6LmXIX|WCkxfI)DNV5;UV?GC?mL5yKKTTXRW8> zY3p{iC%y8O(updztG(&?SIUHr0Vs#>Wan7^ck7D(-MT{9@^_nQXuD*D7uU6JrcwTP z#ZEqUKCflFjk3QhF|(lVp8wYpBghynC0kmyuJG_@f#8<{(S@mvkLP6AAzbvcsA;xh zYpx})&}QnDVl%M-g4ms{i_M5xwk-9;3agDp-{eBfXCZiU9_DqSy5DZKk#V7tFw}2+ zL7_DV!gK~^lwAlxg%*4NRGZz74Fdeq%tZyb8rdTGa0fCi3&QJ-g_uft3zZaKpE)Sw zxW!-XVW4jwmgA_ezZy(UE@g69I3C37A+K2=(zb_SOFZ3oU z3PoIR7)p_UHbf5%XsIAvKWg14A{ZAS(R2CROahr75gK_Sh2us)6!t;ep3+a9QIpU}Ez zMaz_csxE?xCO;#@xfG`MpptNP5W?PSY;;tc9V;x$@^fri)*|{eOiiXQ7N}X&->8m= zZnHs!DVO=ZNa#v;heJ(2VFdq%h2hA`)lLcnQ!WZuO>{C`?Tei`aT*n_cGFHf#J72s zUJXyT#kO1vTmV!TLoX~)u{J2~R0!Q?#L?DqswpUldEPXwC@+hC`$LJRHz%v(LR&A| zgqfOdTz*{{nixOJl4V(JWxETVUu?~WY2dbFMy8SBq7p@e=BRxP)2TX0X-_?Zl$+_C zpVEc?{8Rpxev3!-c7LTK{qC=%(Vj8NIvP7ju^QIW*8_3u^JFEDuKp%J`5$d(@oTs; znr`W#tfsE9%2_h}hD_tX+spVFUle3W_go}Xf(X9wYQeFvojsXodO1HK~et8}9& zzRCca!ABi^6@NnsMFcBJ^i+s4o1C4LQHGmot3NuF;12_0(tOwezVp;ghT(cQaW$BZ z4p5NvIadv&9|tM<6ge8jw-}V=bmUj$s2F)?f~WZt?xuMB@$69$MU}TIgXuk{Nrk^M z9iIkPw$g{bN>5tTSxKQE(_txGAEpeV0JJ^0<1DbV88kNy0I~)5>B?|rMCCWi1Zo_i z^q{m(N;Y-=U5=sb`D!Rtg(<5jJ4P8}7(#a?Ktw*y^bZSF?xMcG%G2nBUyzag&0xGg zGfL@7$q|Y_b&r8@WTmUo7_(Io$|Szk-P@dJBXbnYWG)y0shnj=7LxQ*d!m&PIMUh^ zwNXk_sCGLk2S#hM&_}=CAw~%_xR3irDS>n)TIudpV5ZB_N?+<42~y)vS89$>f+#Ig z+2SsY&!(E~Fcayv?l8~y&r!S6v*~JovdzW_)Xq~U7*_EJB+^ed*z%hwWQE#^mffPf zMtAmAj?muO>OQ)23_6%MN*P7d24i@84pDMw@l8rKIXZzkr*%=LP=J@RpJw$zk*@|~ zz_$+p86OK&?xuu5r6R5!bP8i|G+>5WaT)`|4m*_-TQ!wRb!QfR5%Rn|8xQcFOWAnL77a0Qt+}(-M|D3dn#snmAUiZ?wer@R@Ty8?Ui)$z8N#7m!D#xiatso z8rWCqXXv0$iYMlQ>AQz3uf@epgg*cYmIu{ggOP7D5D!!T?d zg<(u+r^FiW;NzauF%C^jj#onI{dP*Q;lY-xZ_t2t%3X%LTP|qDI?~A$Utd*R(zNjAjM!ue`D`ZE**+R#IpMXz*J9;A1M;VlzFFcv$5m0Cj&dMQy!3}Bgg z7G4?c2~uvQ@47zKvQ4^@(B@F@Ioc2hEFNFt8R-7r@#j8-c2Ve35- z90crtUGDB>okLfm26O_xk860+?AE=VuRT;apE7*DIV5O82MkqUJ z>mTy!woRg8M&)JN(_Pt1%SS4mDPk2?XJpazUoahFegU_g{6)D)(|%F1sPboJRyV&1 z>i$e?ju0@;x>!BIM}F?lJqD(kGu0EYT5R<7coi9)xY!w{0*f8SDl8I6aCN^a zbBP6JZ^}2&UKL*}v5Q0Su0p#tqln9RHqQ{kHB*_DcuKLE;fKh{x#nzG&nDQNZbMjT zhi2Pg&~UL-TW$uNXtzo>w!H%%y@1{eRb#_^(=EB?0wHd!*}4ooSmXn1SM-6XO!ZO6 z-NrCWW=@fM0`g2!Xftm zc$p1$DR0GL(0AhK6Od+w!;x*t6?|u-g%%+MYBt}hSvGKU*ce4$+2x^)v(!#K!e$m( zpb$`DngxEp5ZhXSL4ZPtK)i{Lq3oo9@u(?p3A};ObOw|7so8j1h)LnTW|?uGY0EX4 zP3p?*BJ*DnqZ{|+m>)9R49iO&dz%ohofW|U(7Y165UO3Ucux5~q%W7h2R%;~qI9gn zY%^tQ&JJG{?6WOJv~?x&Yab~EJQ}!C?oXwq^0=t*meTI(XLQkHZc%#yw4A)I#EuJR zrl?n4Sz!J7Cnd2C1<$EeL|+rcgCc-xp&hUyY{6{vnU_5{~O9 z$@|sa*aibPq9`y(O)~V?ufG+jcA$zNHJ82*R=4ZhU`*GG4Y-VKh-YMTM}&3h3^ylpZY`VoU_@u@or~0#fiD*(`?7Vl{#2 zo};WDi!_E3LdIEuPkJV7U<%A8b}r$aOoNkxZUguWnr6v_+ggyzH3BfR*bDfm1wnKl zd07hR>z|Z%oq}2$h9S2Aa^yNOP7ot#4<-DpbcqbY7h>}Yct%4>m1JcV;k7Zk7 z0eG%LsN`xA%VDsqNj{FX7v+x)j_rHoo<5G7L^;IA@#aZ+2sXG_M4gtav5w3m@??YK z$H(Pm2FHeD^1WUTwOsw#$1$;1-fD1!H_API9f`|TyMcyWkbiUJo{-=2a#%0PlVcr? z`{Zo_Uc$RvQ5-#URDPzP;6K)y&Fm(GGhWMcLW6HX+lc9I92Su6{sIODM!qk1U+BvS zBeQc`gdy+vzfV#-m4GJM&^T7GEF^K8lN%u;0onpHf$@hR9J#S=-~j3=7Q#9U1B00e zNHv$q!4ttI_)XJBMhMe?`NoVQzCIzxk_nOJQeX6-w3r*mv zb_(rl;ZTM9Tvt3kWBJ)|H{5R;XQSultMQ{j0u-~_`K^%l_F^2E=325X;7uVS4OKyU zflEDoG^VR(^DvG03VKOtla;Xp2dW~~wu0j)L7r245wyBJ+nQq*0%loq z)Kd^6g1`I4Lcmze$^skT9BVDew6U!KiRdO?%q(mr3X8!86=^X6sVFD}_AZ1W)`F?T z*YtNATh6CJ{X);v+^LFbV(?UTf4;RK$-JTnb_0a?qb$JC4Zwp%LMWyk50NPqbIsQF zG;f7j2%gJ6F&8bQPScdws7Oz7?S|$J)6LVAt|icddOfpXQnF6;oGnA8d=1pK=URBI z5jya^GH-)fg>2Me~nsNqOKtD>%=4MzIZPhy@6m;vPQM5Ur9a#U)un?Sl{26F`uft90w%Dwy@p_H(~P;+ES^7U zmV8(hTtu6rQPa$rqG)&4&PhrKZ1Uzgbq_3Eov1_&j%;(;J-$K&+bNkAj2`OJC!-M) zIbS_iq>V5b)fWCfD#DGJcj^)S63?T3la(a%jV0ZcVjqZHcfar{ zZ^368x++A@#zk`dZ@8q>HmYqY4|U^HVPC+D(4WN|&UA|pGyOURu-v}+fJK!V zFeX2m4}^d*aH`WK?KNnI3jin{0@LkLP)x; z0D)$=Y#1?7>69Ikrt4Il=AJXXv0?6eo_6}C<#0d&LaUfZl@BuDK44JX2i)~c_rAxW zZLW1Mpy4x>2@3;}TAyplFz4i8rzCBvLYZ5N5f#-34k9QIff7w&gn6c^9-c*fTBEMu zJppnv0CP?6WdO8S4vcg&xh5#x!QHUXZ{+Tl3m)!nx!~zn+X<@c4BvD+>?$k;Xv1v! zB}kc5+|7wOw)@;tcsx5scE*IJc)>ebwMysa74-I}jWBsjq~>;ckZOAH6j@4lr+=&`ZKlx0(}HAt&b z?AhxBG8zsi+Js8j=CTx^;?$xHt~d>1f~QlE*6b{E!TPBoEqP0da!opR zf-f^do)+LNOS6HVpzHg9F|V&e%w^Og>b;KN_NkK$)ODZwmchT}-WT-tN_hy~zY6x%Ii^HVc3I6%o}yvYn-#SDH6($E)1pJ5;& z9fe(BK1OZ=7{h%M%rn4b%fnDwgaD5_CWLFx78GS5q*_>HwF`?{-29{xIh1}Z0iar2 zBDb3#1^2>T2-?~0>if??S_n`N<|(#6BPJn;l$(^V3EdS%0GZnCn&Hb0*W!lwF{J}6 zga4C5GyhZ`@6#P#C+9U3@x<3XmdG2f-Gk;Q3vrNr1HV?HOOgd6ZnNjfxG?Eu3O$sDxsY-vGDk+tP!G_q z>FPmpEkuOi%1m`q;N)3A0XdFC@1+4t37Vyb(Tmg61=K%Hok8{~YD`iH>YobIS+iJo z`=w!?!(QaKx(|byjVz1V0*Bu}MU5+o!%b8SAW?_HOaOW`$SZUlOjgt6TzFMx2nc_a z<0}jx0m6edqThk>kjnbnX97nIxs-Mgrny(h=*iLGDj|ZOV2`Wy5-Q3mEU{ti?F>JH zM*~oZFTxsa?Zu6K3YrTR%hc-(Lh)JVd`A0VLc*ED?4E9e^#Grp-}jeGemWkgk;8o` z2z1v}HME~Uo5YwA=p5*iVlUKDUWiA37=G4lbUTot4=DH?dULAUvm_9fpdHu>p7EP% z&4pe8PuP&F1HVS_pHal~&m@G*w&DBog|J@u%n!<`2=;d1_#B8yb_<~9mslC#!<2z) zh8X4<3+a@l0g?{c)Qb7aIU4 z4-{f|36FSAs1L9+L#Lfl5XE;#sR7g_3ORaRwDT7u)nLR-zKMXc`7%=Vr(?K4e@3cZ z4c%L=M$n@X2!rFXSYsxfSXgx?WbQHk)<-W?yA*h#eW}`uW-e7bBkS_Le6^i#vCSs* z)e9sph331KulC^ru|3;h)$LPQ7@LZ1nd)OEMx9NqH|f_XSe$Q0p*8VZJ?)FNth;}C zgfG+0(I}h{t+pq7wAzKzqoK~`MW{Uu?lz2xKpWOXp(jhC)I`Hzt}%gZkqFb9A|WKc zj!*|6EZR8|eR+oo@_d<`Lr2TxE_7^-oJkwk0Ky%-27#R7GIZ>DMK9cDTA6cAqtif zW0o3pmJT2VU_8uOc-NVQy2`SdfN>WJ9ki6dJnfnm7{F`sy2XoGJ<-e`l&GQbn_vjC zo@0$Ld3wrJA-e4)58A~$+-b0uJGqlKe2?h;svi(uvwyE77~7!RS}pYc_ez{mw^p>; z^<>A#_$l5hp;v^bJ^*7HB5Gl<(!$N;@@ep9ECswz!cX5Rrmm4}>1a3Hl!Iak)3gtg z5>cKD&io$nreTxRc`?zmELKp+j8sZE#h64K8lj&jswu|sHn%wNLYo5AZc&j)aDD-XMFm7KN|(48aIDpR-) zOSg89v0S9(z=C8oX`|0p$+w3DYaMf68C#>i5#SF=$X>cIuv?0)#qN++PUv;n#$NK1%+ttawJ`8NqcRwQH_~{Rr6Jb=h5$-e2s_L>1p-sl?{nVT$np z18WUTwdEi_t_2iR>>M-1^ssWud< zu&)pXw3M0Iouw}%MYZs13xtZid$^|RF=VN7(U$8%G>v&&iEb~1Xs^j}J2%0pw#9Z7 z{GGixG3eC)}Xfw_V{^wT`0`%N%n-B4ZYk`dX24H`1m~Z?%>z3Bm zw@McH2DmZJnyDVkK^{f>J77^+??4J)!yQV@%!qUwfMOeqFJQQLV`#C`AU3DblWnXchKAOl@4S4bap_O(gu8Jx&pU+Zsp^4T4|dmb^c$U(62ySXKO!HgX;+8&|dh`cWXyXa* zo06facQ^TH*#hL*gql-6C5{wKOn%s`(yG ze|b9oGb%0Nh9m=F;JJhEN~UmZA)i?>2tjPNfEjW_L^dyzrEBXYzq!1$ z2GF7o_=eB57OJOUmYZgAfFBYoo%t(RC#sIkfbn_On}z#kTPVF${nXKGqx`BD{ZuZ` zbo{UfP(e$t!YA_nzCZZ-pZyq?*@#!vXfMpn@r>DHJ3g+{#yJaMd5~`TIN1j4& zk_?_-rCMm%F8PTm>^s~51|dSg<~R(qD9@1wb-Gji+uF>3G4@6sP!kU+AHYJla7+|qZp)?p|5VzS#4xCV+6q1GC;+kt zI0Q--rURRz9xvf9`3}D9FdI3uYc4XX zip?vyVgBO*;-F`Oar`n%W)b=V-wUQcs`udmW(?aHnFVj-M;xC0L(N0}eA%gEKyFJnyn8OvfixG~;n`{3=hG`=7^rHWYX>;_epz@D}vDr^2g9apDD2=L9Jf3;6K%z zryfBgnUj%c$?f%<2BzkAPecd~KOERY*8w?N?!f_^Pk>wSoSBT8L#(A;2|*}_btD=G z13>f~Ye4|^JaHkJ;Fbj0%^c!ch=VHvE_O&7KoelwtR*wTa<0^QNJAqUX{0-0(e&~)bl#cp( zCz7|QgWG{Y0a~I!*bEcnkm@lLFgn|48ooz8NB8}zBpPC9;44@hu;z+V=$P}NG7;Ng zyoJ>P{b^b)tG0`8g)4X3obfC=8ZNWFuQxqHZPhP*B(PZr0=u00& zIYMdmgUS*Lc)c#Z^~TO4N(}94M1#LMg+%0Et|)bM(_W-Yci68SMgsZPO2tNxlp_=8 z+f_*Ne(s|37&VT?1`02pR<?oqL#rN=Hz|=Z~YGqjS~A@UcbSpW~A{-@m-+#B<8M z_;k~ajpH`#Jflphym-3xAs-sET8W_2>t_P!u}{&oib^ElSH7-PVbwBPHI45_Qw5r~ zbEo1<*{hND-l;_Kqu9EqBItvQNbeqSQpxq(e1D&@eIBF_A3|VUt8L%Mpu)GZA{qu# zRW`EbE3%O*kF3c`7_~-!M+7x(1W|r1S1!{hPbvSPz1hk(gWN*wRfhfgvFjc+gXTY_ zYzzvTYRLsoQD_J*Y8`dWP^UP)TBLR~P;Q30 zl`472{>V@>DR!~?0QqGh3v=6Igh+xOREE>DXR!w6i3a6S`mRxVm6n{sGNJN%rJj1e zqFnd8c`jqIbm0=x&?8@05)60JWJSKy@z_=6K?ALR6)QXLeo$RYw?Cj3k?A$%b;^HK zIZP#oklLT{s4|y^A5cCZWj|8uzpqlhqo*EGzIObxT6x9bQ1>bW4TfTxaTu0lRSgFC z<2_0mHU-hRPp!e)4dsxs!4Z2vD9IY~cM zC@*2Zk;VYJv`x8Ym_bWV!_J;zIulFNb1;WXX#EO|Y1b9XV#8i~VJpnno%zb0v}ifj ztE^k0+=ne8@Xqh@6`7JBP~P2nzf$8UD*S)i`x5A?ifrwB6Sx?-At8_uhCrBPR%T?7 zNtp$LIG~6Ojx-3!-~^hRgv=vk*cnMe20}vS;bxB9TV*?ocKg&;X|;3Cxwl&d?N(l+ z==woWG>#gGkEo2knIvauhAc58G;} z;Z=}J=&LqtNfC($9-z(bSQ&7<02H`79E9~;xXq8^!$5&goUmP^Sy8Clws25oLIf62 z9Qr-V{A8sqnbsad|6QuG)zj5Vn??!cHqAQroMUh*x-5UpMkFbJk3^ZJcD1AwhggP{m_ODTxNcN+Kmpg zLH!TMf|rwFShz6VV*8f<_M)xEIw91CEqC_rvz?;lzXP?cqrzk0Y$3ePM3)COnaE=g z)aygPvvpb5J!kXB-WfHvGuHd+Y<@;kU$isItF^Uw7^dm3WxUnckJj!1oAP+p_N;Xp zx9!6g6wlbo{QYzpB3StDKeFeb^rgK2m!#xPPrPai6pJfQUjjkwKa2$@)1L$dPJY?e zXs(uu?p{tO^&*c@dNk8M zSARa^@3w+b{yliK5Z>-Rd{keiZ1jHshHTh!f{N>hQAAOFxY3*X7S})J-kam|HFp0Y z{g%UHQrE4P!@{rImJd+U3n-59eBcgu@2B3LuXPsYjRt4HMnF5DW}} zGa~>lNYcWJyWz3@NA(@SX}_oaeOl*fA8)-l#Qwsh&^~t^*bNO~BSd6TQXNW$A8;?} zM&A0b?8~ub4+Osr`ZClpaIMfyU+`C3Xz2T(ZuvKeojFV|JURW2HQx6a4E?Yhni`X$ z)YPU&@`LGnco2Qsmj^BM*E-|W>YU(7-OY*4tQ1FVozig*OTwM`^^USQL!cwNT!~Lt zPSh!tnTq906l7l&d5b3QY>?kipB*5Tm4qX;rlbFRd|LOHXiiCK|k)(H2Kh zhmu@l2vj;x%Xii0NF}4HySY+3+vdzFrh+Bhf3TmDT;1JPqNcT}sc~A;Ii;$JRxjbB zu}u*lF|jB|>q;}2Wvcwq{r^eKw zJ`shE%q~Y7Hh$I4H8^rJ9XUA$KSx!Zn$zGodrCBKafaipg%j;wrCGQU-+JLl-K zI&;q&%v#zREiK=fQ>W%O8b&#DvbtMaWf7Ir;aX0E%!jTo=QoW+<13XZ1|OyPEZV~v zo$R{d>C8DzCpPn&Y1?K#pRAktFn1fpe$DPT-cL)fumv>w3L9;V7UyH=fy?X(T5^T0 zql~ZE{(dIyOsi6rO|!-0AJga0^H-=ilm}3Wg?~q_q5N;YK2A%KX3bWLYt?l6izS?# z`}r|%v%HJWRx_-W6~^~b<2P*eNRyg$R*7l)-_1Avck_+^Ih$`Rbgz|gQ>O_Gv%3Qu zQEPRbU}FY9a4g&kp5!dbaTF$~S>fQX-Oc%G5p92hjqdNI#hwEbRL`HF1y8UMb4||3 zM6ex$34B7!jW>A9_it57(i~Rok*a1_C}G${Q!;>Co#7ToMLd0pte`WnTl$&0JG#JZ ztyv~M&KTgYrX;G>7O>v#=6FYYtP&}PIsNoCTj1-{lLqdtmZwohk^TP3KJo%wTPCBh zE%jP#4p>B6t5y-OX4G^yXMk7J^Go>{+P)NX$>l5TX5Sm>uIzqy6CXjFZ{ow}nUvT@ zrv<;^hz3F1Xr0CX-)y`w;+Gq5nDvb}usae!zyFEbZtV5Kwj1zD`|sIx11PoJb>qNq zY`QVJXVVRTEvHI}O$5!cXu3~PpzK&dPEZT)XNKz={5Ic8^cB3_km!_yC$FQxpkY&?aJWh3d^QEZsCc_@Q| zuyY3RhxdZn&2%J~Jxs4|X3tRZo$NmPVmUhwZzXo>Kee$&*F?62G8f{#lItM__OrMdcK5iU&%teeN?cj+*q~xlop#sM~AUv#u;?WU@#x2AM^W{TWDaV z=9LXBfa30AqiCb3{kNmpL!{1PkQqnegL(7VTzY#QA4h}Mqr|s~V!wnE8&}8|+t;({ z^m-uPsoTKD(RXv$tik>e=Ct%CB`n)fl;!^2V^ezCz-~bkN-y z<%}+JR%X-I+t^ZS2to_lX0xFbv7SFbHxI*$Yd5jw^zaG@bwAH!`zhlNw4~p32EcFy zdyGzx1w}l!6rZ0plf6iD{qacrAlx&~V|PjV`6??bYup~xAty)ci{rIfg%^Nb#6KvF&K3AFE_(@bQ}s- zJ(GnP18K(!bhGbD)`zx^V#jFT5>V*}OIQ#nVEJgst20I;Y0yMg_!%*Pb5 zmaU+77NKAt%?7cu5DW}`(9T|kd+%-FD{10-a22#T5UxAe?NqP|!!Tk3E2f`kV?2Fz z3!7|QOiOQJQ|RSenHR<1%KFoiTUa#(+=?vHMbvpW%QTLmlhfJY0lDXuQwd6Ljgp%| zs|K-^fxkiBkdO^)#CY&0`&}6D?HgGX-LshC*U-nHmHs`LZN&yEXwu<#@pmZX4z`Ly zZblm>3}MNXF_-P79UCyhTG0lB{UuRg{9r`D4&9VqU_@oWu! zK91#5=v+1w!x3C<0u3C8aZIyfIHPWmQXMlV3&w#>#?1}wnkEt}bnUv%4$jcf;fcL#e2J@&UnY=Uu= zUU`#prcB9+qoMvN#63gVqx84M?62^<{Q4F)%FEf9rzAFN`SrAC7Q2Vuza5`ky^K94 zzx&=iw8FxnAhBuVFd7fc2ifKLqTpGxG0@`0C{jnDREI^k4+>yQjMWt6hY|DF;i%&C z>-bz+y^hbKhxhU)scRYDUa|<|?Z_%*@%2&+)A6?<+c)OpY~mV3Ki*JzYy(qY$Jy5zEb;ID!j%vQPMT=70(}-U0m)qK2FQ7p_jkErrW<|GXr{Mfmu1dSqO)1U3ACa!6IJz zmIeEHX<6+`%?Y8UnkGCNykScS%{23XN2HJnnuca;FsoLpno_Bh0K9I3THH$^cHJ|p zc`1(ia@Q54hBq=?z+JjQfV;Tq){Jaeesnw7d_Wy2zy9k(d;NpU~e+ z!{nTdF{LHq=RbPOzwqaSk^T{}nOd-t9;LJr4OqcPg}T53CA{8g2{V|TStp?10|`*# za?spyIZ%%w*N0VTC$QB!002NHI40x(egI|?e@clt2kpDs;%KT@V&m1!eB6yr)Kk^; z7%eFpQoSWb&rOSnK}P7z)HtWbVld7$c+3Qg%U{d!)0|34xl-MPhwBQJYHS^=)-<5+ zl#}gB3VyQ0nOWzkwCYDKCJIlrr)xPe@>*nxbfp8=YEh;V(~9)4Y>}HQ7d0V6P0H*I zxb$pbVF+3ty#KKy^v9C=NzlS`&HyKoxB*?f%=~Zjkw8#)bE!--_^Fje0w3x1B=j8# zjOfaO>+O9d_6K1g+FxRyHxTqH;Urz@r+)GL4sWxrnUo0mtGt+Uer6*kn9(|FZiFK( zRROV>9C5W;4(h5!N2nQDI7X#uF)4KSPZ+iB{rK=jzucF?Uw&9ED}>;AxjoyZfBgD3 z7(R3r{C*Q(L2U#027Q|fy1PGLL@b%t&R8(T4O`&efx?7AArL7Ox>8H4L#yb|U;ya#lN=d+ zS(K0Y2z}|gub#_S&w%)xIl0b)NE~&n%+OCBu?vgV5DDJrh>3QF#e;~Y=ndl4bB8cH z&|0EIT9K|+mg?x&KiSBE@>zUE-i!Z<-80$8QC6;0oe}6=R+|#tYVdKCm#djcde+VQ z$JOK%jBA>Bk{_6fLE5G!gy~3=o_gbk7TcnpkHc`%Q8HN~&y!Sm$?k6*{wP20>0!Ji zt^%w+iv3lihvyqIZC8ig>S-;wWMA*;(YH(9oBjuTd0!9g>7zeC>oxmcqqXBL`#vMg zWcsb}H|&c%Jo;c?BawaTb9`GL<0+Yx{jUAE(fYxM_J%&j4f57cd-#0pF+Ny-nhHO) z|K#DZRVFQa$G*bDWAOcYlJ#rVzGAS4rz_iAF4({9=V6fLq=wh+P2jWKPXJ-`y6kHMD@Y+lOv6xezutKwy@{DQOksvWJuYlK+?;wP&2gaexwZf{+8i z5J)Il;Ozz<^;clw4OjuBRh->}0D=T`hA4TQGsA)`f}i7olRzUbgh4{F(ED49)y!1z zja&=VAxC{QkV=mqWqYhY%ry@W&;Iht;|u$D9yH^cJ;1|bjl8w?89v*?qc5g6(Xo&I zV4vOB!(*dNt9*hl@bDOLi@v8t<6qdd{{QV;T8weSG=Y)|1(KY7qBn?2uPx^zLT?N- zIpBIXV|Q~LCJ`k$(a{l$?v{wMS&4|mG$3IZfVe4*O1MQiQHX(^8Lyts6>#=R*Quvg zRf%S9jdR3gfQ7~8s7a^L;b|D+IgW7rRLqJ+0v8X~>cqKzsurEX8#T#}m==7pybORa zhG|YSXbL$eWjK>#oZ{yKwd^YLeSi&rP>`Xx4c!GZOYzGo^%e3%HjB33Q zE-og@;V3Mk=B+F!R5XU`K0W|E`m|n29h%lpP0qGtB^Q${M14WUqCE1LpDNnVq>R(0L{vNP6uLmX z>;+v2|Bl)yjF*}Qq5N&w#sdA#-E9IQSCbO7rUE2cTSd~oZEOUUZiCYB*fusO)T}jB z0KixCQw4+e(vm8)lQk%f{=61eb0baklPH4OajH&#CJG3g22E%91zJM!r4fXxQaWwkpa z8>N*22{iO!HZ>G8V?NY8JOv8?j_7rv_GuMeXx7+NA-sr|kf+X+DuY?y+96oAX5(|B zUTxZ`2=Q4j?MxCHPVW%e`fA2mLPnB1wSJwRWBfvC0$x-u0AN_sTK>VO)D;S zw8c^4gDeOREzCdEON)+mWS(>+MBr%ZnHg)1uZv}A_tsst~6~rUxR!8l5_W&}NgE+T*Ev$+l(SKKvpRFi#nCKg zwa8f6qG)8@GNuzVa#xG+lV4h69V|gO7KCf{f;)y)UorB%O`YGq_oY^)@6LMpO=)sM5>n--YjbN z;xayTvt+xLa*#klBv4cF05-IOqZt+adb8uX{EKc>X&! zV~M%<#P*-u#=r|^1g$Jlv1I+mMh3$cs&%IX?w69Q)Wn0n#moka$0^Zt1F;CewNHUw zB}^ivA}^`bnw@#4mF8yXwMt$oNL5%YN(}z;2wBvv zf#?Q^ip6{$1uW*PDP;i=-+wOP>nLR*hcC(^zJN9?;CImW#e5STT*P-kK73l-owEQC z@aK#9ZBWBuu)egAPY2K=vsf2wf@xIDL|$4|p_US*q!vQ_fx)ym8{jXxh`#@UO&R6q zk|BEO!eU#51BahHbO2TX^(Xcqte=pYBTMMmk8Cp?{}I@0+Z8sakEfDSN@K6Hd9c33 zc0x~8Vrpb=R36VOXk9$tMazB$n+gA!4L9zTO8CMgzL7)TAP3M%i`f)7lnC9b^-*FoU;RRjJe_28ZmyMjrcn?NIIWrKV>o zmCcUwI;||;kO!m!pOiye%chThW+?&w;6_4Y!3=7_+*=|iR=WQ>8%wFz0kIsq4(Ml$ z9}k#>fvgWxr6$oe=uNKUuS{#(itQs7dO1taJ7XFg8P#Z~+;%Oe?#5Bc3RAko6yiR* zfC32^&_7r4rPQ*LKhS5JqbijytcKNW*BTID!)l=F&xmN&-F&X`5S?Gcr_z#Dd=S}J z!RGF_iXWjbHuDhrb~PU?Qs;}ab#!zkzq8+BwK+$rIZ4LVe151IeWoTADwa|eW;XOy zoihduQ|YR3TEN0xM<1x>LK%ZULVAoof&mqPo#6#}G{e59B-Sh8R;3CPhU@6>x|?%a z={zS?W^hbPI~0kY8=>+Jv{k4msmRWKlrnOUtn9GXJ6aQ!GpChy;1}`=?PxuxMnV&I zA5moRTCjxlWHk}bDaE;tQcMXwM{61E54e^`xVnVSG8ktYjB{`=rd90{(qMd+5(lhI zt0VmghN4;_l;a(x7@`aA3*)Rwh`MzUt(Ed@9hQNgiP{P51O)^_gEA&pJ6kbl!kDXB z+mLT+gPM+fofVnR9HD<#WIE~^Lh)c@jdBugCNQq9Fl3O`pmqU#QM)3vGIR+F=4?j> z!k8M50tyb-3NQy<;)sS!j}M|#@H|{d#I;(|sDBX8IST-MU^c@9iep={YC#3m{51VO z@^?lI!w0o8iz5SWJ|e>=lu(IEL|>8boqWhVFEy@FjYCW1xKSV%mh>xR$&r<#wAZ3C z`jMu7!$t@A3$EMC&qgYs^ocJIq?dj9P%7}{!zsd-2lbU6I3>P(dVk?LBQ*WOII8f0 zjMDfB7oqe zgH=k9lQs?F!~C@5PGC>6Xt1rr*@tQe0h2EqghG8ai1&x_JG@LjrDj$OSSq~{N*_h~ z@QL(@50LP&gZLP;NON<0TItKDP>?U5oPi1<^r4+gFk$??%>K||Kj}fGB_?4eP|}lu zO;W`<`~8%D4y#!_H~2(ps8rB3B4H_?LBK>K|yEj z8?E=2V_7h^JGc;w`tB>U-$@@Ec`&}EBWn;FU^f@CX~!A*^Y>6l23}=B6J4n;NK;Sk z!Qy)Jy@TJgk#27w-SdhTi#(=YWs}GIyS@NFC^#&*A>y8FbV!eOU1dY&NTJr9;)3d= zBUhlz#5FzZ6sIIwl>B^p(NaHgjF%)rXln-7=hW5=B|J+!Qy3?f=eK>wM)Xux#|0%5 zrZ2yP-EG+S%$t@h2mK6R&Q}fg6JTmajZzg0c+BO=aA6r=5b}!z7iv5T@{FUs8Iu60 zKzb|)gEU@GNz}?}4I^Y`kOKvk2>%EnQwZLcl1Pu=%@>dHlK_YsYjNgUoMEZJ&7er= zhF;kul(HOi@X*`%GybmOhDlR)whndC$g}nkZx`O_n&k&3^QKuCth$WqgZ7bD7f~W^#GUnY4&xN4-D`A%&cE!_R)@_KA>~7FyLEj9jz74@Hl#RH&|Ecbs)#7H}T2j*_V%n*Nkp!poN?GQnMSP z*#pX;)~oPp%e^YZhJS}q_4rkMuIVb<3zS}Wx&tdNYgNlyfCK19B`I6zGxPc+K&Aanz$PKq8Ix}C>TVn9f-KN-Iy{3~=hmpz)#5`Z z$vXsGtA7X|I0(4|)o`Z)sGx5)f$zqKaBmaR)beIZ3gHv_*2O|kq){O};BlM?+HhqD zI0SFGue7X=UTLV)jjLYnk3A@n8|!oOi+dHcK27-Z#67v(J2$pUG` zE|`1A?}A-@%Puy0oDYB%S-hSnby()cRU|ogvY=slG2M4%G36Cq-^j;=V%oqzrek;` z0blo0PgiSU3FtV8HDQfv^Lb!PjyA}jsn7*-^C3oKjzCw}mk7YB7f7os?7i_PxUdSO z$1IT^cjwD1B`F_B0*2JYUX~@{=;}g%z^s&HY#QLggQ{xj>Bj*!m>iv=H^ijh2tP5D zRzC{3%hQow2AEICa4?Ywe@}6grjjUOBEg{05gll;aO924aa9U>)+t9~tefJrVjUK8 z;TMiViw+n#E5p^gEW;E)nL5(Zb5x>g1WAj!t7q~AesNk!tA%ZXf_JdtK4+?h0xoPc z02KigY}kphcH2%iaysO)ShcVVZ|cgq8>`Twb)#M!up96_H_g!H9eD3gJJ`r4O+Cng z4$nA}GBDh9Q@zW;0>k5=8+T`yO`&EQbl`BK+iFGq3$;09+!8gu|Rb|brnetL|J zyZ2Wxj>J!d+8-w%({qJ#wCl$kqaBTKQq9Q~4d(?M6a6esb>ImfFD|9>9V}?njlu4I zz?HlHIKA^I8#=@51~%VY?NEwR1y?aic*oszXbOtm#FyP}>LFJh?h&|$mn(0yZV&h) zaZ6OA4!RUNNgV6WQD+DbGMeaK(c;U{;=mE}t3*8kQzz&Tx?vwM0PuCZ*l5KpgkxT; zY!Cf-qdm-$9SUA}2HwpQaTce3T2!sl+@vI*QBRXA*=3Zt@etrv9a3{^Bb-KD31GajQ5x}ts(x#4L?UwxU+9YJSdT_J<7)S z_j1IiIWn{H1if3>5kzl3#)7Bn9~MmhMm2HeuBJ%1;fOGGH=BHCuQKTm>eUk+>gB4N zc&Dcn`uuUDrbrVXB;#&2IMk64u2e_K0gNw7z*a{obz})oN>bI4s<^n|NoWT^^;l#s z6M`p6oE?kI)rK~FNyp8##wY>6f%k}`GZsj!gNk8)MHkmJh{0mg@(LZPRpWZ_yC%52 zyI7S@^}55WU}s0E@GxZTjDx(>`eU`->OpUvx39F;*V*$u$gk4=to80jdkKEgwbCA9 zy=t`w7^&!K{t1~|>7tFXg^Zbqv;*xKG^ z_cR*k$kpT{4r8+GY`1TvkXHQQKtKn!;yTr8e~dy8aSL5-wR3v+G8?j42ya3Fl!%{y zj{x{fAW({3F67}CVu;wc^ay@yJq`Wz%f@LJ(HVU`OD;62c_4Nh4rA7B6Vi`wy7bN#)*rFAwPeQB8je+G#;PG&Z5JqPcijK(_*O7@(9FT9m6}S+(u)7Tu z>heQ?m8cPxauB99-*J-E7~v;f(4pjmf2q;UN{ZmyX-&d6q^B;h-;Hn(aBMZbPWo@O zorZS-Dygd%^w5_KJAq5Po>GG4DDj4&@=9Oj6O3I!9}5QF4*cj>;IUbav8X3<+y-4W zwLsd`#H=S!8nm+|*-_d7DXuvlg1_DtF3`;lv&kfyf6eYoGhsCzDZk{VO4+*VsV+w& z01~QoLQ3$Km$%AgE26?e33vCzukXrhcTb?PppxL7Q%1%s(m7R+tEm((Mj(ZQ&6 zr*^mRg18zC!?bkHa3#WJf!_U+4I3!E3PkN|9aR<@;ACS%T_aI%YBYHbCVhY&-Cb2c zT@C%6Wl6WfQ>eQIHbIr*rM*>JD*&Km3S(%GRwZ2#Bvl)L%nJRfw`-C6-Y>=nJ^fcU zB-9URZ+B~jBf36#6}C0oec-@eOslcwJz}H2B1gJCfS=3tInpldBd=U0D9B_cB`*ct zDVby`2v#VM$*?ggoffpF+6=DXENy@z7OE7NuBO%*27&Y%bh*xDX_qL#O+qRaF8q}9 z5}!OA$dVN%V+f6wEI<|AZ5C&1yFgX}CFZx|_v_;L^HW9$U#O&WaE_7`A`Ge-sRF0Z z%ZKYzS7CQsn@h1azt8qrul$8AGt#r4zz6fOH{po(#@p~aKC80pw%_UrdJK@aF z*&pfnU)T}r>Q5O~dDVTw(y8wkaB2PM604+Xe}SLizRwt^$S>Ggu;PMa{1#8tlfwVZ z8vb9GlIJLF51b5Neg%G&w%@}I?F@arozI~+x9|g$c|R{Swu?2|gK2;b9-R59%tUc9 za5Q}UH7vQty@{09#qcZSJ(rVParxZ)?3^*1HmAYy^x$i?edwjPuqZvD7~aQUl(ARn zL_S>gUQdM^=aWgSgy>DyMekLz4oazGFUum_LaTQ2qsB7%_3deJolWTiI+6YkJ46@S zSRN%;v74y*-8!=@$4m!uLdF?zR?$nWzoUOW0d0(Rw?AKiyCteHmAvENVK~pq&YKG5 zn((kxz%(eNiKeRTxbd}~I!~l2ud)Qr}YJh&}zeA@9E`apC6+i9>C>-tvr_wKghFgTF@WAJC8py zcBA0)W1zTw@-m!LyE<7B4SAWpN;_Lv5*4(vv$XjG(AA$lf~Vz#57}<(n15q4j1>JL zJ4xkFp_r%l@fRrYBW9!P1J&&rjl*5U$PdRI(vU6~`{HTQ0(;v^WB5Oh^!_LnC zEM}ikpJMdkvt@Aa{OUY=#=5D3VWDm7tE{xot73u7j4u0#3|p-iZF+{Cq3z+Ujp8%d zd-P2@%b}J$P<2%%OM<~=MK0Gcffe|;4X-3Z992B?foNGFiiggd{_gY;-^UaBPjIJMb!Js zAK-rd^Sc;`{Vt+4pLvg2DgIq{1Va+-H-c)8uzvJ%G?rH%e4d%CiS6t`Bdu=32el6N zf%U87JlaUFKa1XY_jy)IQ=SJES)M~tiZxKk?L}yUrDxbrlu`s{v$YfX!f&k=MFi_W*b*g z*zfH_=$-kU{p1qxz$2(v#8FURU<88@nnJr;z^&SwP{{+$ppV)6xs|@KvP9#2`R?Ub zc>fJ5`exU)qr1Vy@)+%N59SH(GM@O zEyf%Q?Xa(kS{rEVz}|0m$1omgmvMX#NZaxqYtn{0aVNBklIU&5@ocz|S5q87%X_QZ_j`dKmAZL9u+C zwI+%O8>upu@1@y&`3rC%?Pb3w;|XNADu%!AM%FL>gT)8>$a&RaiIiaH|8=c+F`(z5 zypw7ToC20Hy=GvE2&hH#RLyWg@gk7xzs*tSfE@5Ermsi z+sc)@RP2e`C3*4y>wG`{-h@z3Exuj&C+qmL1gBkBkY>Q94gZye;Sdo3jf9uUwZ+}7 zQCPMN0UI~;g*(E*z$A^Xo(B0B-Exv6yn^t1gjW$>LwFtG4TLul-a>dA;T?pF2=5}i zhwul4KO(%3@NWnoAbg1M5yGDkK1TQi;ZuZ52!BTS4B>NxFA)BM(2bxVs0bQ@1Hp;# zSA@SIe2MTC!q*6w5w0M7gYYfF-x2La4QA~K1npNMV}k(Y@2i)es|%p&p@(LfRTh{#t&gGA&fqQN2>A|ihg z1&C;beVHjC(P5p5CC RJtDf-*wu3KK4aV5{{ShD4*dWC diff --git a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp index 29ddcf71..645c80d4 100644 --- a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp +++ b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp @@ -280,8 +280,8 @@ void IUIScene_AbstractContainerMenu::onMouseTick() int iPad = getPad(); bool bStickInput = false; - float fInputX = InputManager.GetJoypadStick_LX( iPad, false )*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InMenu)/100.0f); // apply the sensitivity - float fInputY = InputManager.GetJoypadStick_LY( iPad, false )*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InMenu)/100.0f); // apply the sensitivity + float fInputX = InputManager.GetJoypadStick_LX( iPad, false )*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity)/100.0f); // apply the sensitivity + float fInputY = InputManager.GetJoypadStick_LY( iPad, false )*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity)/100.0f); // apply the sensitivity #ifdef __ORBIS__ // should have sensitivity for the touchpad @@ -311,20 +311,20 @@ void IUIScene_AbstractContainerMenu::onMouseTick() if(fNewX>m_fTouchPadDeadZoneX) { - vPointerPos.x=m_oldvPointerPos.x+((fNewX-m_fTouchPadDeadZoneX)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InMenu)/100.0f)); + vPointerPos.x=m_oldvPointerPos.x+((fNewX-m_fTouchPadDeadZoneX)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity)/100.0f)); } else if(fNewX<-m_fTouchPadDeadZoneX) { - vPointerPos.x=m_oldvPointerPos.x+((fNewX+m_fTouchPadDeadZoneX)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InMenu)/100.0f)); + vPointerPos.x=m_oldvPointerPos.x+((fNewX+m_fTouchPadDeadZoneX)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity)/100.0f)); } if(fNewY>m_fTouchPadDeadZoneY) { - vPointerPos.y=m_oldvPointerPos.y+((fNewY-m_fTouchPadDeadZoneY)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InMenu)/100.0f)); + vPointerPos.y=m_oldvPointerPos.y+((fNewY-m_fTouchPadDeadZoneY)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity)/100.0f)); } else if(fNewY<-m_fTouchPadDeadZoneY) { - vPointerPos.y=m_oldvPointerPos.y+((fNewY+m_fTouchPadDeadZoneY)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InMenu)/100.0f)); + vPointerPos.y=m_oldvPointerPos.y+((fNewY+m_fTouchPadDeadZoneY)*((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity)/100.0f)); } // Clamp to pointer extents. diff --git a/Minecraft.Client/Common/UI/UILayer.cpp b/Minecraft.Client/Common/UI/UILayer.cpp index e6f87f81..53901cb4 100644 --- a/Minecraft.Client/Common/UI/UILayer.cpp +++ b/Minecraft.Client/Common/UI/UILayer.cpp @@ -261,24 +261,6 @@ bool UILayer::NavigateToScene(int iPad, EUIScene scene, void *initData) case eUIScene_SettingsMenu: newScene = new UIScene_SettingsMenu(iPad, initData, this); break; - case eUIScene_SettingsOptionsMenu: - newScene = new UIScene_SettingsOptionsMenu(iPad, initData, this); - break; - case eUIScene_SettingsAudioMenu: - newScene = new UIScene_SettingsAudioMenu(iPad, initData, this); - break; - case eUIScene_SettingsControlMenu: - newScene = new UIScene_SettingsControlMenu(iPad, initData, this); - break; - case eUIScene_SettingsGraphicsMenu: - newScene = new UIScene_SettingsGraphicsMenu(iPad, initData, this); - break; - case eUIScene_SettingsUIMenu: - newScene = new UIScene_SettingsUIMenu(iPad, initData, this); - break; - case eUIScene_SkinSelectMenu: - newScene = new UIScene_SkinSelectMenu(iPad, initData, this); - break; case eUIScene_HowToPlayMenu: newScene = new UIScene_HowToPlayMenu(iPad, initData, this); break; diff --git a/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.cpp b/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.cpp index 5fc6e02b..f4c9172a 100644 --- a/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.cpp @@ -5,61 +5,27 @@ // strings for buttons in the list unsigned int UIScene_HowToPlayMenu::m_uiHTPButtonNameA[]= { - IDS_HOW_TO_PLAY_MENU_WHATSNEW, // eHTPButton_WhatsNew IDS_HOW_TO_PLAY_MENU_BASICS, // eHTPButton_Basics, - IDS_HOW_TO_PLAY_MENU_MULTIPLAYER, // eHTPButton_Multiplayer IDS_HOW_TO_PLAY_MENU_HUD, // eHTPButton_Hud, - IDS_HOW_TO_PLAY_MENU_CREATIVE, // eHTPButton_Creative, IDS_HOW_TO_PLAY_MENU_INVENTORY, // eHTPButton_Inventory, IDS_HOW_TO_PLAY_MENU_CHESTS, // eHTPButton_Chest, IDS_HOW_TO_PLAY_MENU_CRAFTING, // eHTPButton_Crafting, IDS_HOW_TO_PLAY_MENU_FURNACE, // eHTPButton_Furnace, IDS_HOW_TO_PLAY_MENU_DISPENSER, // eHTPButton_Dispenser, - - IDS_HOW_TO_PLAY_MENU_BREWING, // eHTPButton_Brewing, - IDS_HOW_TO_PLAY_MENU_ENCHANTMENT, // eHTPButton_Enchantment, - IDS_HOW_TO_PLAY_MENU_ANVIL, - IDS_HOW_TO_PLAY_MENU_FARMANIMALS, // eHTPButton_Breeding, - IDS_HOW_TO_PLAY_MENU_BREEDANIMALS, // eHTPButton_Breeding, - IDS_HOW_TO_PLAY_MENU_TRADING, - IDS_HOW_TO_PLAY_MENU_NETHERPORTAL, // eHTPButton_NetherPortal, - IDS_HOW_TO_PLAY_MENU_THEEND, // eHTPButton_TheEnd, -#ifdef _XBOX - IDS_HOW_TO_PLAY_MENU_SOCIALMEDIA, // eHTPButton_SocialMedia, - IDS_HOW_TO_PLAY_MENU_BANLIST, // eHTPButton_BanningLevels, -#endif - IDS_HOW_TO_PLAY_MENU_HOSTOPTIONS, // eHTPButton_HostOptions, }; // mapping the buttons to a scene value unsigned int UIScene_HowToPlayMenu::m_uiHTPSceneA[]= { - eHowToPlay_WhatsNew, eHowToPlay_Basics, - eHowToPlay_Multiplayer, eHowToPlay_HUD, - eHowToPlay_Creative, eHowToPlay_Inventory, eHowToPlay_Chest, eHowToPlay_InventoryCrafting, eHowToPlay_Furnace, eHowToPlay_Dispenser, - - eHowToPlay_Brewing, - eHowToPlay_Enchantment, - eHowToPlay_Anvil, - eHowToPlay_FarmingAnimals, - eHowToPlay_Breeding, - eHowToPlay_Trading, - eHowToPlay_NetherPortal, - eHowToPlay_TheEnd, -#ifdef _XBOX - eHowToPlay_SocialMedia, - eHowToPlay_BanList, -#endif - eHowToPlay_HostOptions, }; UIScene_HowToPlayMenu::UIScene_HowToPlayMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) @@ -71,30 +37,7 @@ UIScene_HowToPlayMenu::UIScene_HowToPlayMenu(int iPad, void *initData, UILayer * for(unsigned int i = 0; i < eHTPButton_Max; ++i) { -#ifdef __PS3__ - // If it's the blu ray, or the first Japanese digital game, there's no What's New until the first patch, which will take this line out - if(StorageManager.GetBootTypeDisc() || (app.GetProductSKU()==e_sku_SCEJ)) - { - if(!(i==eHTPButton_WhatsNew) ) - { - m_buttonListHowTo.addItem( app.GetString(m_uiHTPButtonNameA[i]) , i);//iCount++); - } - } - else -#elif defined(__ORBIS__) || defined(_DURANGO) || defined(__PSVITA__) - // No What's New for the first PS4 and Xbox One builds - if(true) - { - if(!(i==eHTPButton_WhatsNew) ) - { - m_buttonListHowTo.addItem( app.GetString(m_uiHTPButtonNameA[i]) , i);//iCount++); - } - } - else -#endif - { - m_buttonListHowTo.addItem( app.GetString(m_uiHTPButtonNameA[i]) , i);//iCount++); - } + m_buttonListHowTo.addItem( app.GetString(m_uiHTPButtonNameA[i]) , i);//iCount++); } } diff --git a/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.h b/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.h index 5a60cdd0..629771e4 100644 --- a/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.h +++ b/Minecraft.Client/Common/UI/UIScene_HowToPlayMenu.h @@ -12,29 +12,14 @@ private: enum eHTPButton { - eHTPButton_WhatsNew = 0, eHTPButton_Basics, - eHTPButton_Multiplayer, eHTPButton_Hud, - eHTPButton_Creative, eHTPButton_Inventory, eHTPButton_Chest, eHTPButton_Crafting, eHTPButton_Furnace, eHTPButton_Dispenser, - eHTPButton_Brewing, - eHTPButton_Enchantment, - eHTPButton_Anvil, - eHTPButton_FarmingAnimals, - eHTPButton_Breeding, - eHTPButton_Trading, eHTPButton_NetherPortal, - eHTPButton_TheEnd, -#ifdef _XBOX - eHTPButton_SocialMedia, - eHTPButton_BanningLevels, -#endif - eHTPButton_HostOptions, eHTPButton_Max, }; diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.cpp deleted file mode 100644 index 6d892d70..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.cpp +++ /dev/null @@ -1,116 +0,0 @@ -#include "stdafx.h" -#include "UI.h" -#include "UIScene_SettingsAudioMenu.h" - -UIScene_SettingsAudioMenu::UIScene_SettingsAudioMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) -{ - // Setup all the Iggy references we need for this scene - initialiseMovie(); - - WCHAR TempString[256]; - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ),app.GetGameSettings(m_iPad,eGameSetting_MusicVolume)); - m_sliderMusic.init(TempString,eControl_Music,0,100,app.GetGameSettings(m_iPad,eGameSetting_MusicVolume)); - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ),app.GetGameSettings(m_iPad,eGameSetting_SoundFXVolume)); - m_sliderSound.init(TempString,eControl_Sound,0,100,app.GetGameSettings(m_iPad,eGameSetting_SoundFXVolume)); - - doHorizontalResizeCheck(); - - if(app.GetLocalPlayerCount()>1) - { -#if TO_BE_IMPLEMENTED - app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad); -#endif - } -} - -UIScene_SettingsAudioMenu::~UIScene_SettingsAudioMenu() -{ -} - -wstring UIScene_SettingsAudioMenu::getMoviePath() -{ - if(app.GetLocalPlayerCount() > 1) - { - return L"SettingsAudioMenuSplit"; - } - else - { - return L"SettingsAudioMenu"; - } -} - -void UIScene_SettingsAudioMenu::updateTooltips() -{ - ui.SetTooltips( m_iPad, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK); -} - -void UIScene_SettingsAudioMenu::updateComponents() -{ - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); - if(bNotInGame) - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,true); - m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - } - else - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,false); - - if( app.GetLocalPlayerCount() == 1 ) m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - else m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); - } -} - -void UIScene_SettingsAudioMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) -{ - //app.DebugPrintf("UIScene_DebugOverlay handling input for pad %d, key %d, down- %s, pressed- %s, released- %s\n", iPad, key, down?"TRUE":"FALSE", pressed?"TRUE":"FALSE", released?"TRUE":"FALSE"); - ui.AnimateKeyPress(m_iPad, key, repeat, pressed, released); - - switch(key) - { - case ACTION_MENU_CANCEL: - if(pressed) - { - navigateBack(); - } - break; - case ACTION_MENU_OK: -#ifdef __ORBIS__ - case ACTION_MENU_TOUCHPAD_PRESS: -#endif - sendInputToMovie(key, repeat, pressed, released); - break; - case ACTION_MENU_UP: - case ACTION_MENU_DOWN: - case ACTION_MENU_LEFT: - case ACTION_MENU_RIGHT: - sendInputToMovie(key, repeat, pressed, released); - break; - } -} - -void UIScene_SettingsAudioMenu::handleSliderMove(F64 sliderId, F64 currentValue) -{ - WCHAR TempString[256]; - int value = (int)currentValue; - switch((int)sliderId) - { - case eControl_Music: - m_sliderMusic.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_MusicVolume,value); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ),value); - m_sliderMusic.setLabel(TempString); - - break; - case eControl_Sound: - m_sliderSound.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_SoundFXVolume,value); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ),value); - m_sliderSound.setLabel(TempString); - - break; - } -} diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.h b/Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.h deleted file mode 100644 index 6c48b22b..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsAudioMenu.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "UIScene.h" - -class UIScene_SettingsAudioMenu : public UIScene -{ -private: - enum EControls - { - eControl_Music, - eControl_Sound - }; - - UIControl_Slider m_sliderMusic, m_sliderSound; // Sliders - UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) - UI_MAP_ELEMENT( m_sliderMusic, "Music") - UI_MAP_ELEMENT( m_sliderSound, "Sound") - UI_END_MAP_ELEMENTS_AND_NAMES() - -public: - UIScene_SettingsAudioMenu(int iPad, void *initData, UILayer *parentLayer); - virtual ~UIScene_SettingsAudioMenu(); - - virtual EUIScene getSceneType() { return eUIScene_SettingsAudioMenu;} - - virtual void updateTooltips(); - virtual void updateComponents(); - -protected: - // TODO: This should be pure virtual in this class - virtual wstring getMoviePath(); - -public: - // INPUT - virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); - - virtual void handleSliderMove(F64 sliderId, F64 currentValue); -}; \ No newline at end of file diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.cpp deleted file mode 100644 index d5447f77..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.cpp +++ /dev/null @@ -1,116 +0,0 @@ -#include "stdafx.h" -#include "UI.h" -#include "UIScene_SettingsControlMenu.h" - -UIScene_SettingsControlMenu::UIScene_SettingsControlMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) -{ - // Setup all the Iggy references we need for this scene - initialiseMovie(); - - WCHAR TempString[256]; - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame)); - m_sliderSensitivityInGame.init(TempString,eControl_SensitivityInGame,0,200,app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame)); - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INMENU ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InMenu)); - m_sliderSensitivityInMenu.init(TempString,eControl_SensitivityInMenu,0,200,app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InMenu)); - - doHorizontalResizeCheck(); - - if(app.GetLocalPlayerCount()>1) - { -#if TO_BE_IMPLEMENTED - app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad,false); -#endif - } -} - -UIScene_SettingsControlMenu::~UIScene_SettingsControlMenu() -{ -} - -wstring UIScene_SettingsControlMenu::getMoviePath() -{ - if(app.GetLocalPlayerCount() > 1) - { - return L"SettingsControlMenuSplit"; - } - else - { - return L"SettingsControlMenu"; - } -} - -void UIScene_SettingsControlMenu::updateTooltips() -{ - ui.SetTooltips( m_iPad, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK); -} - -void UIScene_SettingsControlMenu::updateComponents() -{ - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); - if(bNotInGame) - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,true); - m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - } - else - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,false); - - if( app.GetLocalPlayerCount() == 1 ) m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - else m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); - } -} - -void UIScene_SettingsControlMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) -{ - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - - switch(key) - { - case ACTION_MENU_CANCEL: - if(pressed) - { - navigateBack(); - handled = true; - } - break; - case ACTION_MENU_OK: -#ifdef __ORBIS__ - case ACTION_MENU_TOUCHPAD_PRESS: -#endif - sendInputToMovie(key, repeat, pressed, released); - break; - case ACTION_MENU_UP: - case ACTION_MENU_DOWN: - case ACTION_MENU_LEFT: - case ACTION_MENU_RIGHT: - sendInputToMovie(key, repeat, pressed, released); - break; - } -} - -void UIScene_SettingsControlMenu::handleSliderMove(F64 sliderId, F64 currentValue) -{ - WCHAR TempString[256]; - int value = (int)currentValue; - switch((int)sliderId) - { - case eControl_SensitivityInGame: - m_sliderSensitivityInGame.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame,value); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),value); - m_sliderSensitivityInGame.setLabel(TempString); - - break; - case eControl_SensitivityInMenu: - m_sliderSensitivityInMenu.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_Sensitivity_InMenu,value); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INMENU ),value); - m_sliderSensitivityInMenu.setLabel(TempString); - - break; - } -} diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.h b/Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.h deleted file mode 100644 index 6d3b864c..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsControlMenu.h +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "UIScene.h" - -class UIScene_SettingsControlMenu : public UIScene -{ -private: - enum EControls - { - eControl_SensitivityInGame, - eControl_SensitivityInMenu - }; - - UIControl_Slider m_sliderSensitivityInGame, m_sliderSensitivityInMenu; // Sliders - UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) - UI_MAP_ELEMENT( m_sliderSensitivityInGame, "SensitivityInGame") - UI_MAP_ELEMENT( m_sliderSensitivityInMenu, "SensitivityInMenu") - UI_END_MAP_ELEMENTS_AND_NAMES() -public: - UIScene_SettingsControlMenu(int iPad, void *initData, UILayer *parentLayer); - virtual ~UIScene_SettingsControlMenu(); - - virtual EUIScene getSceneType() { return eUIScene_SettingsControlMenu;} - - virtual void updateTooltips(); - virtual void updateComponents(); - -protected: - // TODO: This should be pure virtual in this class - virtual wstring getMoviePath(); - -public: - // INPUT - virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); - - virtual void handleSliderMove(F64 sliderId, F64 currentValue); -}; \ No newline at end of file diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp deleted file mode 100644 index 1234121e..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp +++ /dev/null @@ -1,153 +0,0 @@ -#include "stdafx.h" -#include "UI.h" -#include "UIScene_SettingsGraphicsMenu.h" - -UIScene_SettingsGraphicsMenu::UIScene_SettingsGraphicsMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) -{ - // Setup all the Iggy references we need for this scene - initialiseMovie(); - - m_bNotInGame=(Minecraft::GetInstance()->level==NULL); - - m_checkboxClouds.init(app.GetString(IDS_CHECKBOX_RENDER_CLOUDS),eControl_Clouds,(app.GetGameSettings(m_iPad,eGameSetting_Clouds)!=0)); - m_checkboxBedrockFog.init(app.GetString(IDS_CHECKBOX_RENDER_BEDROCKFOG),eControl_BedrockFog,(app.GetGameSettings(m_iPad,eGameSetting_BedrockFog)!=0)); - m_checkboxCustomSkinAnim.init(app.GetString(IDS_CHECKBOX_CUSTOM_SKIN_ANIM),eControl_CustomSkinAnim,(app.GetGameSettings(m_iPad,eGameSetting_CustomSkinAnim)!=0)); - - - WCHAR TempString[256]; - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),app.GetGameSettings(m_iPad,eGameSetting_Gamma)); - m_sliderGamma.init(TempString,eControl_Gamma,0,100,app.GetGameSettings(m_iPad,eGameSetting_Gamma)); - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_INTERFACEOPACITY ),app.GetGameSettings(m_iPad,eGameSetting_InterfaceOpacity)); - m_sliderInterfaceOpacity.init(TempString,eControl_InterfaceOpacity,0,100,app.GetGameSettings(m_iPad,eGameSetting_InterfaceOpacity)); - - doHorizontalResizeCheck(); - - bool bInGame=(Minecraft::GetInstance()->level!=NULL); - bool bIsPrimaryPad=(ProfileManager.GetPrimaryPad()==m_iPad); - // if we're not in the game, we need to use basescene 0 - if(bInGame) - { - // If the game has started, then you need to be the host to change the in-game gamertags - if(bIsPrimaryPad) - { - // we are the primary player on this machine, but not the game host - // are we the game host? If not, we need to remove the bedrockfog setting - if(!g_NetworkManager.IsHost()) - { - // hide the in-game bedrock fog setting - removeControl(&m_checkboxBedrockFog, true); - } - } - else - { - // We shouldn't have the bedrock fog option, or the m_CustomSkinAnim option - removeControl(&m_checkboxBedrockFog, true); - removeControl(&m_checkboxCustomSkinAnim, true); - } - } - - if(app.GetLocalPlayerCount()>1) - { -#if TO_BE_IMPLEMENTED - app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad); -#endif - } -} - -UIScene_SettingsGraphicsMenu::~UIScene_SettingsGraphicsMenu() -{ -} - -wstring UIScene_SettingsGraphicsMenu::getMoviePath() -{ - if(app.GetLocalPlayerCount() > 1) - { - return L"SettingsGraphicsMenuSplit"; - } - else - { - return L"SettingsGraphicsMenu"; - } -} - -void UIScene_SettingsGraphicsMenu::updateTooltips() -{ - ui.SetTooltips( m_iPad, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK); -} - -void UIScene_SettingsGraphicsMenu::updateComponents() -{ - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); - if(bNotInGame) - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,true); - m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - } - else - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,false); - - if( app.GetLocalPlayerCount() == 1 ) m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - else m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); - - } -} - -void UIScene_SettingsGraphicsMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) -{ - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - switch(key) - { - case ACTION_MENU_CANCEL: - if(pressed) - { - // check the checkboxes - app.SetGameSettings(m_iPad,eGameSetting_Clouds,m_checkboxClouds.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_BedrockFog,m_checkboxBedrockFog.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_CustomSkinAnim,m_checkboxCustomSkinAnim.IsChecked()?1:0); - - navigateBack(); - handled = true; - } - break; - case ACTION_MENU_OK: -#ifdef __ORBIS__ - case ACTION_MENU_TOUCHPAD_PRESS: -#endif - sendInputToMovie(key, repeat, pressed, released); - break; - case ACTION_MENU_UP: - case ACTION_MENU_DOWN: - case ACTION_MENU_LEFT: - case ACTION_MENU_RIGHT: - sendInputToMovie(key, repeat, pressed, released); - break; - } -} - -void UIScene_SettingsGraphicsMenu::handleSliderMove(F64 sliderId, F64 currentValue) -{ - WCHAR TempString[256]; - int value = (int)currentValue; - switch((int)sliderId) - { - case eControl_Gamma: - m_sliderGamma.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_Gamma,value); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),value); - m_sliderGamma.setLabel(TempString); - - break; - case eControl_InterfaceOpacity: - m_sliderInterfaceOpacity.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_InterfaceOpacity,value); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_INTERFACEOPACITY ),value); - m_sliderInterfaceOpacity.setLabel(TempString); - - break; - } -} diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.h b/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.h deleted file mode 100644 index e9c4905c..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.h +++ /dev/null @@ -1,46 +0,0 @@ -#pragma once - -#include "UIScene.h" - -class UIScene_SettingsGraphicsMenu : public UIScene -{ -private: - enum EControls - { - eControl_Clouds, - eControl_BedrockFog, - eControl_CustomSkinAnim, - eControl_Gamma, - eControl_InterfaceOpacity - }; - - UIControl_CheckBox m_checkboxClouds, m_checkboxBedrockFog, m_checkboxCustomSkinAnim; // Checkboxes - UIControl_Slider m_sliderGamma, m_sliderInterfaceOpacity; // Sliders - UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) - UI_MAP_ELEMENT( m_checkboxClouds, "Clouds") - UI_MAP_ELEMENT( m_checkboxBedrockFog, "BedrockFog") - UI_MAP_ELEMENT( m_checkboxCustomSkinAnim, "CustomSkinAnim") - UI_MAP_ELEMENT( m_sliderGamma, "Gamma") - UI_MAP_ELEMENT( m_sliderInterfaceOpacity, "InterfaceOpacity") - UI_END_MAP_ELEMENTS_AND_NAMES() - - bool m_bNotInGame; -public: - UIScene_SettingsGraphicsMenu(int iPad, void *initData, UILayer *parentLayer); - virtual ~UIScene_SettingsGraphicsMenu(); - - virtual EUIScene getSceneType() { return eUIScene_SettingsGraphicsMenu;} - - virtual void updateTooltips(); - virtual void updateComponents(); - -protected: - // TODO: This should be pure virtual in this class - virtual wstring getMoviePath(); - -public: - // INPUT - virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); - - virtual void handleSliderMove(F64 sliderId, F64 currentValue); -}; \ No newline at end of file diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SettingsMenu.cpp index 4ef7eb5d..989a318b 100644 --- a/Minecraft.Client/Common/UI/UIScene_SettingsMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_SettingsMenu.cpp @@ -3,28 +3,90 @@ #include "UIScene_SettingsMenu.h" #include "..\..\Minecraft.h" +int UIScene_SettingsMenu::m_iDifficultySettingA[4]= +{ + IDS_DIFFICULTY_PEACEFUL, + IDS_DIFFICULTY_EASY, + IDS_DIFFICULTY_NORMAL, + IDS_DIFFICULTY_HARD +}; + +int UIScene_SettingsMenu::m_iDifficultyTitleSettingA[4]= +{ + IDS_DIFFICULTY_TITLE_PEACEFUL, + IDS_DIFFICULTY_TITLE_EASY, + IDS_DIFFICULTY_TITLE_NORMAL, + IDS_DIFFICULTY_TITLE_HARD +}; + UIScene_SettingsMenu::UIScene_SettingsMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) { // Setup all the Iggy references we need for this scene initialiseMovie(); + + m_bNotInGame=(Minecraft::GetInstance()->level==NULL); + + WCHAR TempString[256]; + swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ),app.GetGameSettings(m_iPad,eGameSetting_MusicVolume)); + m_sliderMusic.init(TempString,eControl_Music,0,100,app.GetGameSettings(m_iPad,eGameSetting_MusicVolume)); - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); + swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ),app.GetGameSettings(m_iPad,eGameSetting_SoundFXVolume)); + m_sliderSound.init(TempString,eControl_Sound,0,100,app.GetGameSettings(m_iPad,eGameSetting_SoundFXVolume)); - m_buttons[BUTTON_ALL_OPTIONS].init(app.GetString(IDS_OPTIONS),BUTTON_ALL_OPTIONS); - m_buttons[BUTTON_ALL_AUDIO].init(app.GetString(IDS_AUDIO),BUTTON_ALL_AUDIO); - m_buttons[BUTTON_ALL_CONTROL].init(app.GetString(IDS_CONTROL),BUTTON_ALL_CONTROL); - m_buttons[BUTTON_ALL_GRAPHICS].init(app.GetString(IDS_GRAPHICS),BUTTON_ALL_GRAPHICS); - m_buttons[BUTTON_ALL_UI].init(app.GetString(IDS_USER_INTERFACE),BUTTON_ALL_UI); - m_buttons[BUTTON_ALL_RESETTODEFAULTS].init(app.GetString(IDS_RESET_TO_DEFAULTS),BUTTON_ALL_RESETTODEFAULTS); + swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),app.GetGameSettings(m_iPad,eGameSetting_Gamma)); + m_sliderGamma.init(TempString,eControl_Gamma,0,100,app.GetGameSettings(m_iPad,eGameSetting_Gamma)); - if(ProfileManager.GetPrimaryPad()!=m_iPad) + swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); + m_sliderSensitivity.init(TempString,eControl_Sensitivity,0,200,app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); + + m_checkboxViewBob.init(app.GetString(IDS_VIEW_BOBBING),eControl_ViewBob,(app.GetGameSettings(m_iPad,eGameSetting_ViewBob)!=0)); + m_checkboxSplitscreen.init(app.GetString(IDS_CHECKBOX_VERTICAL_SPLIT_SCREEN),eControl_Splitscreen,(app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=0)); + //m_checkboxVisbileOnMaps.init(app.GetString(IDS_VISIBLE_ON_MAPS),eControl_VisibleOnMaps,(app.GetGameSettings(m_iPad,eGameSetting_VisibleOnMaps)!=0)); + + //str1k3r - temporarily remove the visible on maps checkbox + removeControl(&m_checkboxVisbileOnMaps, true); + + unsigned char ucValue = app.GetGameSettings(m_iPad,eGameSetting_Difficulty); + + wchar_t difficultyLabels[4][256]; + for(unsigned int i = 0; i < 4; ++i) { - removeControl( &m_buttons[BUTTON_ALL_AUDIO], true); - removeControl( &m_buttons[BUTTON_ALL_GRAPHICS], true); + swprintf( difficultyLabels[i], 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[i])); } + m_sliderDifficulty.setAllPossibleLabels(4,difficultyLabels); + m_sliderDifficulty.init(difficultyLabels[ucValue],eControl_Difficulty,0,3,ucValue); + + wstring wsText=app.GetString(m_iDifficultySettingA[app.GetGameSettings(m_iPad,eGameSetting_Difficulty)]); + EHTMLFontSize size = eHTMLSize_Normal; + if(!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) + { + size = eHTMLSize_Splitscreen; + } + wchar_t startTags[64]; + swprintf(startTags,64,L"",app.GetHTMLColour(eHTMLColor_White)); + wsText= startTags + wsText; + + m_labelDifficultyText.init(wsText); doHorizontalResizeCheck(); + if(!m_bNotInGame) + { + // If the game has started, then these shouldnt show + removeControl(&m_sliderDifficulty, true); + m_labelDifficultyText.setVisible( false ); + + // If the game has started, then you need to be the host to change these settings + if(ProfileManager.GetPrimaryPad()!=m_iPad) + { + // hide things we don't want the splitscreen player changing + removeControl(&m_sliderMusic, true); + removeControl(&m_sliderSound, true); + removeControl(&m_sliderGamma, true); + removeControl(&m_checkboxSplitscreen, true); + } + } + if(app.GetLocalPlayerCount()>1) { #if TO_BE_IMPLEMENTED @@ -41,20 +103,28 @@ wstring UIScene_SettingsMenu::getMoviePath() { if(app.GetLocalPlayerCount() > 1) { - return L"SettingsMenuSplit"; + return L"SettingsGraphicsMenuSplit"; //L"SettingsMenuSplit"; } else { - return L"SettingsMenu"; + return L"SettingsGraphicsMenu"; //L"SettingsMenuSplit"; } } void UIScene_SettingsMenu::handleReload() { - if(ProfileManager.GetPrimaryPad()!=m_iPad) + if(!m_bNotInGame) { - removeControl( &m_buttons[BUTTON_ALL_AUDIO], true); - removeControl( &m_buttons[BUTTON_ALL_GRAPHICS], true); + removeControl(&m_sliderDifficulty, true); + m_labelDifficultyText.setVisible( false ); + + if(ProfileManager.GetPrimaryPad()!=m_iPad) + { + removeControl(&m_sliderMusic, true); + removeControl(&m_sliderSound, true); + removeControl(&m_sliderGamma, true); + removeControl(&m_checkboxSplitscreen, true); + } } doHorizontalResizeCheck(); @@ -67,8 +137,7 @@ void UIScene_SettingsMenu::updateTooltips() void UIScene_SettingsMenu::updateComponents() { - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); - if(bNotInGame) + if(m_bNotInGame) { m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,true); m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); @@ -76,7 +145,7 @@ void UIScene_SettingsMenu::updateComponents() else { m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,false); - + if( app.GetLocalPlayerCount() == 1 ) m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); else m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); @@ -85,19 +154,30 @@ void UIScene_SettingsMenu::updateComponents() void UIScene_SettingsMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) { - //app.DebugPrintf("UIScene_DebugOverlay handling input for pad %d, key %d, down- %s, pressed- %s, released- %s\n", iPad, key, down?"TRUE":"FALSE", pressed?"TRUE":"FALSE", released?"TRUE":"FALSE"); - ui.AnimateKeyPress(m_iPad, key, repeat, pressed, released); - + ui.AnimateKeyPress(iPad, key, repeat, pressed, released); switch(key) { case ACTION_MENU_CANCEL: if(pressed) { - // if the profile data has been changed, then force a profile write - // It seems we're allowed to break the 5 minute rule if it's the result of a user action + // check the checkboxes + // if the splitscreen vertical/horizontal has changed, need to update the scenes + if(app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=(m_checkboxSplitscreen.IsChecked()?1:0)) + { + // changed + app.SetGameSettings(m_iPad,eGameSetting_SplitScreenVertical,m_checkboxSplitscreen.IsChecked()?1:0); + + // close the xui scenes, so we don't have the navigate backed to menu at the wrong place + if(app.GetLocalPlayerCount()==2) + { + ui.CloseAllPlayersScenes(); + } + } + app.SetGameSettings(m_iPad,eGameSetting_ViewBob,m_checkboxViewBob.IsChecked()?1:0); + //app.SetGameSettings(m_iPad,eGameSetting_VisbleOnMaps,m_checkboxVisibleOnMaps.IsChecked()?1:0); - app.CheckGameSettingsChanged(true,iPad); navigateBack(); + handled = true; } break; case ACTION_MENU_OK: @@ -108,61 +188,65 @@ void UIScene_SettingsMenu::handleInput(int iPad, int key, bool repeat, bool pres break; case ACTION_MENU_UP: case ACTION_MENU_DOWN: + case ACTION_MENU_LEFT: + case ACTION_MENU_RIGHT: sendInputToMovie(key, repeat, pressed, released); break; } } -void UIScene_SettingsMenu::handlePress(F64 controlId, F64 childId) +void UIScene_SettingsMenu::handleSliderMove(F64 sliderId, F64 currentValue) { - //CD - Added for audio - ui.PlayUISFX(eSFX_Press); - - switch((int)controlId) + wchar_t TempString[256]; + int value = (int)currentValue; + switch((int)sliderId) { - case BUTTON_ALL_OPTIONS: - ui.NavigateToScene(m_iPad, eUIScene_SettingsOptionsMenu); + case eControl_Music: + m_sliderMusic.handleSliderMove(value); + + app.SetGameSettings(m_iPad,eGameSetting_MusicVolume,value); + swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_MUSIC ),value); + m_sliderMusic.setLabel(TempString); + break; - case BUTTON_ALL_AUDIO: - ui.NavigateToScene(m_iPad, eUIScene_SettingsAudioMenu); + case eControl_Sound: + m_sliderSound.handleSliderMove(value); + + app.SetGameSettings(m_iPad,eGameSetting_SoundFXVolume,value); + swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SOUND ),value); + m_sliderSound.setLabel(TempString); + break; - case BUTTON_ALL_CONTROL: - ui.NavigateToScene(m_iPad, eUIScene_SettingsControlMenu); + case eControl_Gamma: + m_sliderGamma.handleSliderMove(value); + + app.SetGameSettings(m_iPad,eGameSetting_Gamma,value); + swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),value); + m_sliderGamma.setLabel(TempString); + break; - case BUTTON_ALL_GRAPHICS: - ui.NavigateToScene(m_iPad, eUIScene_SettingsGraphicsMenu); + case eControl_Sensitivity: + m_sliderSensitivity.handleSliderMove(value); + + app.SetGameSettings(m_iPad,eGameSetting_Sensitivity,value); + swprintf(TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY ),value); + m_sliderSensitivity.setLabel(TempString); + break; - case BUTTON_ALL_UI: - ui.NavigateToScene(m_iPad, eUIScene_SettingsUIMenu); - break; - case BUTTON_ALL_RESETTODEFAULTS: + case eControl_Difficulty: + m_sliderDifficulty.handleSliderMove(value); + + app.SetGameSettings(m_iPad,eGameSetting_Difficulty,value); + + wstring wsText=app.GetString(m_iDifficultySettingA[value]); + EHTMLFontSize size = eHTMLSize_Normal; + if(!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { - // check they really want to do this - UINT uiIDA[2]; - uiIDA[0]=IDS_CONFIRM_CANCEL; - uiIDA[1]=IDS_CONFIRM_OK; - - ui.RequestMessageBox(IDS_DEFAULTS_TITLE, IDS_DEFAULTS_TEXT, uiIDA, 2, m_iPad,&UIScene_SettingsMenu::ResetDefaultsDialogReturned,this, app.GetStringTable(), NULL, 0, false); - } + size = eHTMLSize_Splitscreen; + } + swprintf(TempString,64,L"",app.GetHTMLColour(eHTMLColor_White)); + wsText= TempString + wsText; + m_labelDifficultyText.setLabel(wsText.c_str()); break; } } - -int UIScene_SettingsMenu::ResetDefaultsDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result) -{ - UIScene_SettingsMenu* pClass = (UIScene_SettingsMenu*)pParam; - - // results switched for this dialog - if(result==C4JStorage::EMessage_ResultDecline) - { -#if (defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__) - app.SetDefaultOptions(StorageManager.GetDashboardProfileSettings(pClass->m_iPad),pClass->m_iPad); -#else - app.SetDefaultOptions(ProfileManager.GetDashboardProfileSettings(pClass->m_iPad),pClass->m_iPad); -#endif - // if the profile data has been changed, then force a profile write - // It seems we're allowed to break the 5 minute rule if it's the result of a user action - app.CheckGameSettingsChanged(true,iPad); - } - return 0; -} diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsMenu.h b/Minecraft.Client/Common/UI/UIScene_SettingsMenu.h index 7f5fe169..214b3971 100644 --- a/Minecraft.Client/Common/UI/UIScene_SettingsMenu.h +++ b/Minecraft.Client/Common/UI/UIScene_SettingsMenu.h @@ -2,29 +2,44 @@ #include "UIScene.h" -#define BUTTON_ALL_OPTIONS 0 -#define BUTTON_ALL_AUDIO 1 -#define BUTTON_ALL_CONTROL 2 -#define BUTTON_ALL_GRAPHICS 4 -#define BUTTON_ALL_UI 5 -#define BUTTON_ALL_RESETTODEFAULTS 6 -#define BUTTONS_ALL_MAX BUTTON_ALL_RESETTODEFAULTS + 1 - class UIScene_SettingsMenu : public UIScene { private: - UIControl_Button m_buttons[BUTTONS_ALL_MAX]; + enum EControls + { + eControl_Music, + eControl_Sound, + eControl_Gamma, + eControl_Sensitivity, + eControl_Splitscreen, + eControl_ViewBob, + eControl_VisibleOnMaps, + eControl_Difficulty + }; +protected: + static int m_iDifficultySettingA[4]; + static int m_iDifficultyTitleSettingA[4]; + +private: + UIControl_CheckBox m_checkboxViewBob, m_checkboxSplitscreen, m_checkboxVisbileOnMaps; // Checkboxes + UIControl_Slider m_sliderMusic, m_sliderSound, m_sliderGamma, m_sliderSensitivity, m_sliderDifficulty; // Sliders + UIControl_Label m_labelDifficultyText; //Text UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) - UI_MAP_ELEMENT( m_buttons[BUTTON_ALL_OPTIONS], "Button1") - UI_MAP_ELEMENT( m_buttons[BUTTON_ALL_AUDIO], "Button2") - UI_MAP_ELEMENT( m_buttons[BUTTON_ALL_CONTROL], "Button3") - UI_MAP_ELEMENT( m_buttons[BUTTON_ALL_GRAPHICS], "Button4") - UI_MAP_ELEMENT( m_buttons[BUTTON_ALL_UI], "Button5") - UI_MAP_ELEMENT( m_buttons[BUTTON_ALL_RESETTODEFAULTS], "Button6") + UI_MAP_ELEMENT( m_sliderMusic, "Music") + UI_MAP_ELEMENT( m_sliderSound, "Sound") + UI_MAP_ELEMENT( m_sliderGamma, "Gamma") + UI_MAP_ELEMENT( m_sliderSensitivity, "Sensitivity") + UI_MAP_ELEMENT( m_checkboxViewBob, "ViewBob") + UI_MAP_ELEMENT( m_checkboxSplitscreen, "Splitscreen") + UI_MAP_ELEMENT( m_checkboxVisbileOnMaps, "VisibleOnMaps") + UI_MAP_ELEMENT( m_sliderDifficulty, "Difficulty") + UI_MAP_ELEMENT( m_labelDifficultyText, "DifficultyText") UI_END_MAP_ELEMENTS_AND_NAMES() + + bool m_bNotInGame; public: UIScene_SettingsMenu(int iPad, void *initData, UILayer *parentLayer); - virtual ~UIScene_SettingsMenu(); + ~UIScene_SettingsMenu(); virtual EUIScene getSceneType() { return eUIScene_SettingsMenu;} @@ -40,8 +55,5 @@ public: // INPUT virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); -protected: - void handlePress(F64 controlId, F64 childId); - - static int ResetDefaultsDialogReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); + virtual void handleSliderMove(F64 sliderId, F64 currentValue); }; \ No newline at end of file diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.cpp deleted file mode 100644 index 72576ded..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.cpp +++ /dev/null @@ -1,253 +0,0 @@ -#include "stdafx.h" -#include "UI.h" -#include "UIScene_SettingsOptionsMenu.h" - -int UIScene_SettingsOptionsMenu::m_iDifficultySettingA[4]= -{ - IDS_DIFFICULTY_PEACEFUL, - IDS_DIFFICULTY_EASY, - IDS_DIFFICULTY_NORMAL, - IDS_DIFFICULTY_HARD -}; - -int UIScene_SettingsOptionsMenu::m_iDifficultyTitleSettingA[4]= -{ - IDS_DIFFICULTY_TITLE_PEACEFUL, - IDS_DIFFICULTY_TITLE_EASY, - IDS_DIFFICULTY_TITLE_NORMAL, - IDS_DIFFICULTY_TITLE_HARD -}; - -UIScene_SettingsOptionsMenu::UIScene_SettingsOptionsMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) -{ - // Setup all the Iggy references we need for this scene - initialiseMovie(); - - m_bNotInGame=(Minecraft::GetInstance()->level==NULL); - - m_checkboxViewBob.init(app.GetString(IDS_VIEW_BOBBING),eControl_ViewBob,(app.GetGameSettings(m_iPad,eGameSetting_ViewBob)!=0)); - m_checkboxShowHints.init(app.GetString(IDS_HINTS),eControl_ShowHints,(app.GetGameSettings(m_iPad,eGameSetting_Hints)!=0)); - m_checkboxShowTooltips.init(app.GetString(IDS_IN_GAME_TOOLTIPS),eControl_ShowTooltips,(app.GetGameSettings(m_iPad,eGameSetting_Tooltips)!=0)); - m_checkboxInGameGamertags.init(app.GetString(IDS_IN_GAME_GAMERTAGS),eControl_InGameGamertags,(app.GetGameSettings(m_iPad,eGameSetting_GamertagsVisible)!=0)); - - // check if we should display the mash-up option - if(m_bNotInGame && app.GetMashupPackWorlds(m_iPad)!=0xFFFFFFFF) - { - // the mash-up option is needed - m_bMashUpWorldsUnhideOption=true; - m_checkboxMashupWorlds.init(app.GetString(IDS_UNHIDE_MASHUP_WORLDS),eControl_ShowMashUpWorlds,false); - } - else - { - //m_checkboxMashupWorlds.init(L"",eControl_ShowMashUpWorlds,false); - removeControl(&m_checkboxMashupWorlds, true); - m_bMashUpWorldsUnhideOption=false; - } - - unsigned char ucValue=app.GetGameSettings(m_iPad,eGameSetting_Autosave); - - wchar_t autosaveLabels[9][256]; - for(unsigned int i = 0; i < 9; ++i) - { - if(i==0) - { - swprintf( autosaveLabels[i], 256, L"%ls", app.GetString( IDS_SLIDER_AUTOSAVE_OFF )); - } - else - { - swprintf( autosaveLabels[i], 256, L"%ls: %d %ls", app.GetString( IDS_SLIDER_AUTOSAVE ),i*15, app.GetString( IDS_MINUTES )); - } - - } - m_sliderAutosave.setAllPossibleLabels(9,autosaveLabels); - m_sliderAutosave.init(autosaveLabels[ucValue],eControl_Autosave,0,8,ucValue); - -#if defined(_XBOX_ONE) || defined(__ORBIS__) - removeControl(&m_sliderAutosave,true); -#endif - - ucValue = app.GetGameSettings(m_iPad,eGameSetting_Difficulty); - wchar_t difficultyLabels[4][256]; - for(unsigned int i = 0; i < 4; ++i) - { - swprintf( difficultyLabels[i], 256, L"%ls: %ls", app.GetString( IDS_SLIDER_DIFFICULTY ),app.GetString(m_iDifficultyTitleSettingA[i])); - } - m_sliderDifficulty.setAllPossibleLabels(4,difficultyLabels); - m_sliderDifficulty.init(difficultyLabels[ucValue],eControl_Difficulty,0,3,ucValue); - - wstring wsText=app.GetString(m_iDifficultySettingA[app.GetGameSettings(m_iPad,eGameSetting_Difficulty)]); - EHTMLFontSize size = eHTMLSize_Normal; - if(!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) - { - size = eHTMLSize_Splitscreen; - } - wchar_t startTags[64]; - swprintf(startTags,64,L"",app.GetHTMLColour(eHTMLColor_White)); - wsText= startTags + wsText; - - m_labelDifficultyText.init(wsText); - - // If you are in-game, only the game host can change in-game gamertags, and you can't change difficulty - // only the primary player gets to change the autosave and difficulty settings - bool bRemoveDifficulty=false; - bool bRemoveAutosave=false; - bool bRemoveInGameGamertags=false; - float fRemoveHeight=0.0f,fWidth,fHeight; - - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); - bool bPrimaryPlayer = ProfileManager.GetPrimaryPad()==m_iPad; - if(!bPrimaryPlayer) - { - bRemoveDifficulty=true; - bRemoveAutosave=true; - bRemoveInGameGamertags=true; - } - - if(!bNotInGame) // in the game - { - bRemoveDifficulty=true; - if(!g_NetworkManager.IsHost()) - { - bRemoveAutosave=true; - bRemoveInGameGamertags=true; - } - } - if(bRemoveDifficulty) - { - m_labelDifficultyText.setVisible( false ); - removeControl(&m_sliderDifficulty, true); - } - - if(bRemoveAutosave) - { - removeControl(&m_sliderAutosave, true); - } - - if(bRemoveInGameGamertags) - { - removeControl(&m_checkboxInGameGamertags, true); - } - - doHorizontalResizeCheck(); - - if(app.GetLocalPlayerCount()>1) - { -#if TO_BE_IMPLEMENTED - app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad); -#endif - } -} - -UIScene_SettingsOptionsMenu::~UIScene_SettingsOptionsMenu() -{ -} - -wstring UIScene_SettingsOptionsMenu::getMoviePath() -{ - if(app.GetLocalPlayerCount() > 1) - { - return L"SettingsOptionsMenuSplit"; - } - else - { - return L"SettingsOptionsMenu"; - } -} - -void UIScene_SettingsOptionsMenu::updateTooltips() -{ - ui.SetTooltips( m_iPad, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK); -} - -void UIScene_SettingsOptionsMenu::updateComponents() -{ - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); - if(bNotInGame) - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,true); - m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - } - else - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,false); - - if( app.GetLocalPlayerCount() == 1 ) m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,RenderManager.IsHiDef()); - else m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); - - } -} - -void UIScene_SettingsOptionsMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) -{ - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - switch(key) - { - case ACTION_MENU_CANCEL: - if(pressed) - { - // check the checkboxes - app.SetGameSettings(m_iPad,eGameSetting_ViewBob,m_checkboxViewBob.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_GamertagsVisible,m_checkboxInGameGamertags.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_Hints,m_checkboxShowHints.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_Tooltips,m_checkboxShowTooltips.IsChecked()?1:0); - - // the mashup option will only be shown if some worlds have been previously hidden - if(m_bMashUpWorldsUnhideOption && m_checkboxMashupWorlds.IsChecked()) - { - // unhide all worlds - app.EnableMashupPackWorlds(m_iPad); - } - - // 4J-PB - don't action changes here or we might write to the profile on backing out here and then get a change in the settings all, and write again on backing out there - //app.CheckGameSettingsChanged(true,pInputData->UserIndex); - - navigateBack(); - } - break; - case ACTION_MENU_OK: -#ifdef __ORBIS__ - case ACTION_MENU_TOUCHPAD_PRESS: -#endif - sendInputToMovie(key, repeat, pressed, released); - break; - case ACTION_MENU_UP: - case ACTION_MENU_DOWN: - case ACTION_MENU_LEFT: - case ACTION_MENU_RIGHT: - sendInputToMovie(key, repeat, pressed, released); - break; - } -} - -void UIScene_SettingsOptionsMenu::handleSliderMove(F64 sliderId, F64 currentValue) -{ - WCHAR TempString[256]; - int value = (int)currentValue; - switch((int)sliderId) - { - case eControl_Autosave: - m_sliderAutosave.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_Autosave,value); - // Update the autosave timer - app.SetAutosaveTimerTime(); - - break; - case eControl_Difficulty: - m_sliderDifficulty.handleSliderMove(value); - - app.SetGameSettings(m_iPad,eGameSetting_Difficulty,value); - - wstring wsText=app.GetString(m_iDifficultySettingA[value]); - EHTMLFontSize size = eHTMLSize_Normal; - if(!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) - { - size = eHTMLSize_Splitscreen; - } - wchar_t startTags[64]; - swprintf(startTags,64,L"",app.GetHTMLColour(eHTMLColor_White)); - wsText= startTags + wsText; - m_labelDifficultyText.setLabel(wsText.c_str()); - break; - } -} diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.h b/Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.h deleted file mode 100644 index 265a0790..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsOptionsMenu.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include "UIScene.h" - -class UIScene_SettingsOptionsMenu : public UIScene -{ -private: - enum EControls - { - eControl_ViewBob, - eControl_ShowHints, - eControl_ShowTooltips, - eControl_InGameGamertags, - eControl_ShowMashUpWorlds, - eControl_Autosave, - eControl_Difficulty - }; -protected: - static int m_iDifficultySettingA[4]; - static int m_iDifficultyTitleSettingA[4]; - -private: - UIControl_CheckBox m_checkboxViewBob, m_checkboxShowHints, m_checkboxShowTooltips, m_checkboxInGameGamertags, m_checkboxMashupWorlds; // Checkboxes - UIControl_Slider m_sliderAutosave, m_sliderDifficulty; // Sliders - UIControl_Label m_labelDifficultyText; //Text - UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) - UI_MAP_ELEMENT( m_checkboxViewBob, "ViewBob") - UI_MAP_ELEMENT( m_checkboxShowHints, "ShowHints") - UI_MAP_ELEMENT( m_checkboxShowTooltips, "ShowTooltips") - UI_MAP_ELEMENT( m_checkboxInGameGamertags, "InGameGamertags") - UI_MAP_ELEMENT( m_checkboxMashupWorlds, "ShowMashUpWorlds") - UI_MAP_ELEMENT( m_sliderAutosave, "Autosave") - UI_MAP_ELEMENT( m_sliderDifficulty, "Difficulty") - UI_MAP_ELEMENT( m_labelDifficultyText, "DifficultyText") - UI_END_MAP_ELEMENTS_AND_NAMES() - - bool m_bNotInGame; - bool m_bMashUpWorldsUnhideOption; -public: - UIScene_SettingsOptionsMenu(int iPad, void *initData, UILayer *parentLayer); - virtual ~UIScene_SettingsOptionsMenu(); - - virtual EUIScene getSceneType() { return eUIScene_SettingsOptionsMenu;} - - virtual void updateTooltips(); - virtual void updateComponents(); - -protected: - // TODO: This should be pure virtual in this class - virtual wstring getMoviePath(); - -public: - // INPUT - virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); - - virtual void handleSliderMove(F64 sliderId, F64 currentValue); -}; \ No newline at end of file diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.cpp deleted file mode 100644 index 917012d6..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.cpp +++ /dev/null @@ -1,183 +0,0 @@ -#include "stdafx.h" -#include "UI.h" -#include "UIScene_SettingsUIMenu.h" - -UIScene_SettingsUIMenu::UIScene_SettingsUIMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) -{ - // Setup all the Iggy references we need for this scene - initialiseMovie(); - - m_bNotInGame=(Minecraft::GetInstance()->level==NULL); - - m_checkboxDisplayHUD.init(app.GetString(IDS_CHECKBOX_DISPLAY_HUD),eControl_DisplayHUD,(app.GetGameSettings(m_iPad,eGameSetting_DisplayHUD)!=0)); - m_checkboxDisplayHand.init(app.GetString(IDS_CHECKBOX_DISPLAY_HAND),eControl_DisplayHand,(app.GetGameSettings(m_iPad,eGameSetting_DisplayHand)!=0)); - m_checkboxDisplayDeathMessages.init(app.GetString(IDS_CHECKBOX_DEATH_MESSAGES),eControl_DisplayDeathMessages,(app.GetGameSettings(m_iPad,eGameSetting_DeathMessages)!=0)); - m_checkboxDisplayAnimatedCharacter.init(app.GetString(IDS_CHECKBOX_ANIMATED_CHARACTER),eControl_DisplayAnimatedCharacter,(app.GetGameSettings(m_iPad,eGameSetting_AnimatedCharacter)!=0)); - m_checkboxSplitscreen.init(app.GetString(IDS_CHECKBOX_VERTICAL_SPLIT_SCREEN),eControl_Splitscreen,(app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=0)); - m_checkboxShowSplitscreenGamertags.init(app.GetString(IDS_CHECKBOX_DISPLAY_SPLITSCREENGAMERTAGS),eControl_ShowSplitscreenGamertags,(app.GetGameSettings(m_iPad,eGameSetting_DisplaySplitscreenGamertags)!=0)); - - WCHAR TempString[256]; - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZE ),app.GetGameSettings(m_iPad,eGameSetting_UISize)+1); - m_sliderUISize.init(TempString,eControl_UISize,1,3,app.GetGameSettings(m_iPad,eGameSetting_UISize)+1); - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZESPLITSCREEN ),app.GetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen)+1); - m_sliderUISizeSplitscreen.init(TempString,eControl_UISizeSplitscreen,1,3,app.GetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen)+1); - - doHorizontalResizeCheck(); - - bool bInGame=(Minecraft::GetInstance()->level!=NULL); - bool bPrimaryPlayer = ProfileManager.GetPrimaryPad()==m_iPad; - - // if we're not in the game, we need to use basescene 0 - if(bInGame) - { - // If the game has started, then you need to be the host to change the in-game gamertags - if(!bPrimaryPlayer) - { - // hide things we don't want the splitscreen player changing - removeControl(&m_checkboxSplitscreen, true); - removeControl(&m_checkboxShowSplitscreenGamertags, true); - } - } - - - if(app.GetLocalPlayerCount()>1) - { -#if TO_BE_IMPLEMENTED - app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad); -#endif - } -} - -void UIScene_SettingsUIMenu::updateTooltips() -{ - ui.SetTooltips( m_iPad, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK); -} - -void UIScene_SettingsUIMenu::updateComponents() -{ - bool bNotInGame=(Minecraft::GetInstance()->level==NULL); - if(bNotInGame) - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,true); - m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - } - else - { - m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,false); - - if( app.GetLocalPlayerCount() == 1 ) m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); - else m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); - - } -} - -UIScene_SettingsUIMenu::~UIScene_SettingsUIMenu() -{ -} - -wstring UIScene_SettingsUIMenu::getMoviePath() -{ - if(app.GetLocalPlayerCount() > 1) - { - return L"SettingsUIMenuSplit"; - } - else - { - return L"SettingsUIMenu"; - } -} - -void UIScene_SettingsUIMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) -{ - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - - switch(key) - { - case ACTION_MENU_CANCEL: - if(pressed) - { - // check the checkboxes - app.SetGameSettings(m_iPad,eGameSetting_DisplayHUD,m_checkboxDisplayHUD.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_DisplayHand,m_checkboxDisplayHand.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_DisplaySplitscreenGamertags,m_checkboxShowSplitscreenGamertags.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_DeathMessages,m_checkboxDisplayDeathMessages.IsChecked()?1:0); - app.SetGameSettings(m_iPad,eGameSetting_AnimatedCharacter,m_checkboxDisplayAnimatedCharacter.IsChecked()?1:0); - - // if the splitscreen vertical/horizontal has changed, need to update the scenes - if(app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=(m_checkboxSplitscreen.IsChecked()?1:0)) - { - // changed - app.SetGameSettings(m_iPad,eGameSetting_SplitScreenVertical,m_checkboxSplitscreen.IsChecked()?1:0); - - // close the xui scenes, so we don't have the navigate backed to menu at the wrong place - if(app.GetLocalPlayerCount()==2) - { - ui.CloseAllPlayersScenes(); - } - else - { - navigateBack(); - } - } - else - { - navigateBack(); - } - handled = true; - } - break; - case ACTION_MENU_OK: -#ifdef __ORBIS__ - case ACTION_MENU_TOUCHPAD_PRESS: -#endif - sendInputToMovie(key, repeat, pressed, released); - break; - case ACTION_MENU_UP: - case ACTION_MENU_DOWN: - case ACTION_MENU_LEFT: - case ACTION_MENU_RIGHT: - sendInputToMovie(key, repeat, pressed, released); - break; - } -} - -void UIScene_SettingsUIMenu::handleSliderMove(F64 sliderId, F64 currentValue) -{ - WCHAR TempString[256]; - int value = (int)currentValue; - switch((int)sliderId) - { - case eControl_UISize: - m_sliderUISize.handleSliderMove(value); - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZE ),value); - m_sliderUISize.setLabel(TempString); - - // is this different from the current value? - if(value != app.GetGameSettings(m_iPad,eGameSetting_UISize)+1) - { - app.SetGameSettings(m_iPad,eGameSetting_UISize,value-1); - // Apply the changes to the selected text position - ui.UpdateSelectedItemPos(m_iPad); - } - - break; - case eControl_UISizeSplitscreen: - m_sliderUISizeSplitscreen.handleSliderMove(value); - - swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZESPLITSCREEN ),value); - m_sliderUISizeSplitscreen.setLabel(TempString); - - if(value != app.GetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen)+1) - { - // slider is 1 to 3 - app.SetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen,value-1); - // Apply the changes to the selected text position - ui.UpdateSelectedItemPos(m_iPad); - } - - break; - } -} diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.h b/Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.h deleted file mode 100644 index 8968bbe7..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SettingsUIMenu.h +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - -#include "UIScene.h" - -class UIScene_SettingsUIMenu : public UIScene -{ -private: - enum EControls - { - eControl_DisplayHUD, - eControl_DisplayHand, - eControl_DisplayDeathMessages, - eControl_DisplayAnimatedCharacter, - eControl_Splitscreen, - eControl_ShowSplitscreenGamertags, - eControl_UISize, - eControl_UISizeSplitscreen - }; - - UIControl_CheckBox m_checkboxDisplayHUD, m_checkboxDisplayHand, m_checkboxDisplayDeathMessages, m_checkboxDisplayAnimatedCharacter, m_checkboxSplitscreen, m_checkboxShowSplitscreenGamertags; // Checkboxes - UIControl_Slider m_sliderUISize, m_sliderUISizeSplitscreen; // Sliders - UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) - UI_MAP_ELEMENT( m_checkboxDisplayHUD, "DisplayHUD") - UI_MAP_ELEMENT( m_checkboxDisplayHand, "DisplayHand") - UI_MAP_ELEMENT( m_checkboxDisplayDeathMessages, "DisplayDeathMessages") - UI_MAP_ELEMENT( m_checkboxDisplayAnimatedCharacter, "DisplayAnimatedCharacter") - UI_MAP_ELEMENT( m_checkboxSplitscreen, "Splitscreen") - UI_MAP_ELEMENT( m_checkboxShowSplitscreenGamertags, "ShowSplitscreenGamertags") - - UI_MAP_ELEMENT( m_sliderUISize, "UISize") - UI_MAP_ELEMENT( m_sliderUISizeSplitscreen, "UISizeSplitscreen") - UI_END_MAP_ELEMENTS_AND_NAMES() - - bool m_bNotInGame; -public: - UIScene_SettingsUIMenu(int iPad, void *initData, UILayer *parentLayer); - virtual ~UIScene_SettingsUIMenu(); - - virtual EUIScene getSceneType() { return eUIScene_SettingsUIMenu;} - - virtual void updateTooltips(); - virtual void updateComponents(); - -protected: - // TODO: This should be pure virtual in this class - virtual wstring getMoviePath(); - -public: - // INPUT - virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); - - virtual void handleSliderMove(F64 sliderId, F64 currentValue); -}; \ No newline at end of file diff --git a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp deleted file mode 100644 index 6910dd65..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp +++ /dev/null @@ -1,1798 +0,0 @@ -#include "stdafx.h" -#include "UI.h" -#include "UIScene_SkinSelectMenu.h" -#include "..\..\..\Minecraft.World\StringHelpers.h" -#ifdef __ORBIS__ -#include -#elif defined __PSVITA__ -#include -#endif - -#define SKIN_SELECT_PACK_DEFAULT 0 -#define SKIN_SELECT_PACK_FAVORITES 1 -//#define SKIN_SELECT_PACK_PLAYER_CUSTOM 1 -#define SKIN_SELECT_MAX_DEFAULTS 2 - -WCHAR *UIScene_SkinSelectMenu::wchDefaultNamesA[]= -{ - L"USE LOCALISED VERSION", // Server selected - L"Steve", - L"Tennis Steve", - L"Tuxedo Steve", - L"Athlete Steve", - L"Scottish Steve", - L"Prisoner Steve", - L"Cyclist Steve", - L"Boxer Steve", -}; - -UIScene_SkinSelectMenu::UIScene_SkinSelectMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) -{ - // Setup all the Iggy references we need for this scene - initialiseMovie(); - - m_labelSelected.init( app.GetString( IDS_SELECTED ) ); - -#ifdef __ORBIS__ - m_bErrorDialogRunning=false; -#endif - - m_bIgnoreInput=false; - m_bNoSkinsToShow = false; - - m_currentPack = NULL; - m_packIndex = SKIN_SELECT_PACK_DEFAULT; - m_skinIndex = 0; - - m_originalSkinId = app.GetPlayerSkinId(iPad); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_selectedSkinPath = L""; - m_selectedCapePath = L""; - m_vAdditionalSkinBoxes = NULL; - - m_bSlidingSkins = false; - m_bAnimatingMove = false; - m_bSkinIndexChanged = false; - - m_currentNavigation = eSkinNavigation_Skin; - - m_currentPackCount = 0; - - m_characters[eCharacter_Current].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Forward); - - m_characters[eCharacter_Next1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Left); - m_characters[eCharacter_Next2].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Left); - m_characters[eCharacter_Next3].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Left); - m_characters[eCharacter_Next4].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Left); - - m_characters[eCharacter_Previous1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Right); - m_characters[eCharacter_Previous2].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Right); - m_characters[eCharacter_Previous3].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Right); - m_characters[eCharacter_Previous4].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Right); - - m_labelSkinName.init(L""); - m_labelSkinOrigin.init(L""); - - m_leftLabel = L""; - m_centreLabel = L""; - m_rightLabel = L""; - -#ifdef __PSVITA__ - // initialise vita tab controls with ids - m_TouchTabLeft.init(ETouchInput_TabLeft); - m_TouchTabRight.init(ETouchInput_TabRight); - m_TouchTabCenter.init(ETouchInput_TabCenter); - m_TouchIggyCharacters.init(ETouchInput_IggyCharacters); -#endif - - // block input if we're waiting for DLC to install. The end of dlc mounting custom message will fill the save list - if(app.StartInstallDLCProcess(m_iPad)) - { - // DLC mounting in progress, so disable input - m_bIgnoreInput=true; - - m_controlTimer.setVisible( true ); - m_controlIggyCharacters.setVisible( false ); - m_controlSkinNamePlate.setVisible( false ); - - setCharacterLocked(false); - setCharacterSelected(false); - } - else - { - m_controlTimer.setVisible( false ); - - if(app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin)>0) - { - // Change to display the favorites if there are any. The current skin will be in there (probably) - need to check for it - m_currentPack = app.m_dlcManager.getPackContainingSkin(m_currentSkinPath); - bool bFound; - if(m_currentPack != NULL) - { - m_packIndex = app.m_dlcManager.getPackIndex(m_currentPack,bFound,DLCManager::e_DLCType_Skin) + SKIN_SELECT_MAX_DEFAULTS; - } - } - - // If we have any favourites, set this to the favourites - // first validate the favorite skins - we might have uninstalled the DLC needed for them - app.ValidateFavoriteSkins(m_iPad); - - if(app.GetPlayerFavoriteSkinsCount(m_iPad)>0) - { - m_packIndex = SKIN_SELECT_PACK_FAVORITES; - } - - handlePackIndexChanged(); - } - - // Display the tooltips - -#ifdef __PSVITA__ - InitializeCriticalSection(&m_DLCInstallCS); // to prevent a race condition between the install and the mounted callback -#endif - -} - -void UIScene_SkinSelectMenu::updateTooltips() -{ - ui.SetTooltips( m_iPad, m_bNoSkinsToShow?-1:IDS_TOOLTIPS_SELECT_SKIN,IDS_TOOLTIPS_CANCEL,-1,-1,-1,-1,-1,-1,IDS_TOOLTIPS_NAVIGATE); -} - -void UIScene_SkinSelectMenu::updateComponents() -{ - m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); -} - -wstring UIScene_SkinSelectMenu::getMoviePath() -{ - if(app.GetLocalPlayerCount() > 1) - { - return L"SkinSelectMenuSplit"; - } - else - { - return L"SkinSelectMenu"; - } -} - -void UIScene_SkinSelectMenu::tick() -{ - UIScene::tick(); - - if(m_bSkinIndexChanged) - { - m_bSkinIndexChanged = false; - handleSkinIndexChanged(); - } - - // check for new DLC installed - - // check for the patch error dialog -#ifdef __ORBIS__ - - // process the error dialog (for a patch being available) - if(m_bErrorDialogRunning) - { - SceErrorDialogStatus stat = sceErrorDialogUpdateStatus(); - if( stat == SCE_ERROR_DIALOG_STATUS_FINISHED ) - { - sceErrorDialogTerminate(); - m_bErrorDialogRunning=false; - } - } - -#endif -} - -void UIScene_SkinSelectMenu::handleAnimationEnd() -{ - if(m_bSlidingSkins) - { - m_bSlidingSkins = false; - - m_characters[eCharacter_Current].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Forward, false); - m_characters[eCharacter_Next1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Left, false); - m_characters[eCharacter_Previous1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Right, false); - - m_bSkinIndexChanged = true; - //handleSkinIndexChanged(); - - m_bAnimatingMove = false; - } -} - -void UIScene_SkinSelectMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) -{ - if (m_bIgnoreInput) return; - //app.DebugPrintf("UIScene_DebugOverlay handling input for pad %d, key %d, down- %s, pressed- %s, released- %s\n", iPad, key, down?"TRUE":"FALSE", pressed?"TRUE":"FALSE", released?"TRUE":"FALSE"); - - switch(key) - { - case ACTION_MENU_CANCEL: - if(pressed) - { - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - app.CheckGameSettingsChanged(true,iPad); - navigateBack(); - } - break; - case ACTION_MENU_OK: -#ifdef __ORBIS__ - case ACTION_MENU_TOUCHPAD_PRESS: -#endif - if(pressed) - { - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - // if the profile data has been changed, then force a profile write - // It seems we're allowed to break the 5 minute rule if it's the result of a user action - switch(m_packIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - app.SetPlayerSkin(iPad, m_skinIndex); - app.SetPlayerCape(iPad, 0); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_originalSkinId = app.GetPlayerSkinId(iPad); - setCharacterSelected(true); - ui.PlayUISFX(eSFX_Press); - break; - case SKIN_SELECT_PACK_FAVORITES: - if(app.GetPlayerFavoriteSkinsCount(iPad)>0) - { - // get the pack number from the skin id - wchar_t chars[256]; - swprintf(chars, 256, L"dlcskin%08d.png", app.GetPlayerFavoriteSkin(iPad,m_skinIndex)); - - DLCPack *Pack=app.m_dlcManager.getPackContainingSkin(chars); - - if(Pack) - { - DLCSkinFile *skinFile = Pack->getSkinFile(chars); - app.SetPlayerSkin(iPad, skinFile->getPath()); - app.SetPlayerCape(iPad, skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape)); - setCharacterSelected(true); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_originalSkinId = app.GetPlayerSkinId(iPad); - app.SetPlayerFavoriteSkinsPos(iPad,m_skinIndex); - } - } - break; - default: - if( m_currentPack != NULL ) - { - DLCSkinFile *skinFile = m_currentPack->getSkinFile(m_skinIndex); - - if ( !skinFile->getParameterAsBool( DLCManager::e_DLCParamType_Free ) // Is this a free skin? - && !m_currentPack->hasPurchasedFile( DLCManager::e_DLCType_Skin, skinFile->getPath() ) // do we have a license? - ) - { - // 4J-PB - check for a patch -#ifdef __ORBIS__ - // 4J-PB - Check if there is a patch for the game - int errorCode = ProfileManager.getNPAvailability(ProfileManager.GetPrimaryPad()); - - bool bPatchAvailable; - switch(errorCode) - { - case SCE_NP_ERROR_LATEST_PATCH_PKG_EXIST: - case SCE_NP_ERROR_LATEST_PATCH_PKG_DOWNLOADED: - bPatchAvailable=true; - break; - default: - bPatchAvailable=false; - break; - } - - if(bPatchAvailable) - { - int32_t ret=sceErrorDialogInitialize(); - m_bErrorDialogRunning=true; - if ( ret==SCE_OK ) - { - SceErrorDialogParam param; - sceErrorDialogParamInitialize( ¶m ); - // 4J-PB - We want to display the option to get the patch now - param.errorCode = SCE_NP_ERROR_LATEST_PATCH_PKG_DOWNLOADED;//pClass->m_errorCode; - ret = sceUserServiceGetInitialUser( ¶m.userId ); - if ( ret == SCE_OK ) - { - ret=sceErrorDialogOpen( ¶m ); - break; - } - } - } -#endif - - // no - UINT uiIDA[1] = { IDS_OK }; -#ifdef __ORBIS__ - // Check if PSN is unavailable because of age restriction - int npAvailability = ProfileManager.getNPAvailability(iPad); - if (npAvailability == SCE_NP_ERROR_AGE_RESTRICTION) - { - ui.RequestMessageBox(IDS_ONLINE_SERVICE_TITLE, IDS_CONTENT_RESTRICTION, uiIDA, 1, iPad, NULL, NULL, app.GetStringTable()); - } - else -#endif - // We need to upsell the full version - if(ProfileManager.IsGuest(iPad)) - { - // can't buy - ui.RequestMessageBox(IDS_PRO_GUESTPROFILE_TITLE, IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1,iPad,NULL,NULL,app.GetStringTable(),NULL,0,false); - } - // are we online? - else if(!ProfileManager.IsSignedInLive(iPad)) - { - showNotOnlineDialog(iPad); - } - else - { - // upsell -#ifdef _XBOX - DLC_INFO *pDLCInfo = app.GetDLCInfoForTrialOfferID(m_currentPack->getPurchaseOfferId()); - ULONGLONG ullOfferID_Full; - - if(pDLCInfo!=NULL) - { - ullOfferID_Full=pDLCInfo->ullOfferID_Full; - } - else - { - ullOfferID_Full=m_currentPack->getPurchaseOfferId(); - } - - // tell sentient about the upsell of the full version of the skin pack - TelemetryManager->RecordUpsellPresented(iPad, eSet_UpsellID_Skin_DLC, ullOfferID_Full & 0xFFFFFFFF); -#endif - bool bContentRestricted=false; -#if defined(__PS3__) || defined(__PSVITA__) - ProfileManager.GetChatAndContentRestrictions(m_iPad,true,NULL,&bContentRestricted,NULL); -#endif - if(bContentRestricted) - { -#if !(defined(_XBOX) || defined(_WIN64)) // 4J Stu - Temp to get the win build running, but so we check this for other platforms - // you can't see the store - UINT uiIDA[1] = { IDS_CONFIRM_OK }; - ui.RequestMessageBox(IDS_ONLINE_SERVICE_TITLE, IDS_CONTENT_RESTRICTION, uiIDA, 1, iPad,NULL,this, app.GetStringTable(),NULL,0,false); -#endif - } - else - { - // 4J-PB - need to check for an empty store -#if defined __ORBIS__ || defined __PSVITA__ || defined __PS3__ - if(app.CheckForEmptyStore(iPad)==false) -#endif - { - this->m_bIgnoreInput = true; - - UINT uiIDA[2] = { IDS_CONFIRM_OK, IDS_CONFIRM_CANCEL }; - ui.RequestMessageBox(IDS_UNLOCK_DLC_TITLE, IDS_UNLOCK_DLC_SKIN, uiIDA, 2, iPad,&UIScene_SkinSelectMenu::UnlockSkinReturned,this,app.GetStringTable(),NULL,0,false); - } - } - } - } - else - { - app.SetPlayerSkin(iPad, skinFile->getPath()); - app.SetPlayerCape(iPad, skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape)); - setCharacterSelected(true); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_originalSkinId = app.GetPlayerSkinId(iPad); - - // push this onto the favorite list - AddFavoriteSkin(iPad,GET_DLC_SKIN_ID_FROM_BITMASK(m_originalSkinId)); - } - } - - ui.PlayUISFX(eSFX_Press); - break; - } - } - break; - case ACTION_MENU_UP: - case ACTION_MENU_DOWN: - if(pressed) - { - if(m_packIndex==SKIN_SELECT_PACK_FAVORITES) - { - if(app.GetPlayerFavoriteSkinsCount(iPad)==0) - { - // ignore this, since there are no skins being displayed - break; - } - } - - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - ui.PlayUISFX(eSFX_Scroll); - switch(m_currentNavigation) - { - case eSkinNavigation_Pack: - m_currentNavigation = eSkinNavigation_Skin; - break; - case eSkinNavigation_Skin: - m_currentNavigation = eSkinNavigation_Pack; - break; - }; - sendInputToMovie(key, repeat, pressed, released); - } - break; - case ACTION_MENU_LEFT: - if(pressed) - { - if( m_currentNavigation == eSkinNavigation_Skin ) - { - if(!m_bAnimatingMove) - { - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - ui.PlayUISFX(eSFX_Scroll); - - m_skinIndex = getPreviousSkinIndex(m_skinIndex); - //handleSkinIndexChanged(); - - m_bSlidingSkins = true; - m_bAnimatingMove = true; - - m_characters[eCharacter_Current].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Left, true); - m_characters[eCharacter_Previous1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Forward, true); - - // 4J Stu - Swapped nav buttons - sendInputToMovie(ACTION_MENU_RIGHT, repeat, pressed, released); - } - } - else if( m_currentNavigation == eSkinNavigation_Pack ) - { - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - ui.PlayUISFX(eSFX_Scroll); - DWORD startingIndex = m_packIndex; - m_packIndex = getPreviousPackIndex(m_packIndex); - if(startingIndex != m_packIndex) - { - handlePackIndexChanged(); - } - } - } - break; - case ACTION_MENU_RIGHT: - if(pressed) - { - if( m_currentNavigation == eSkinNavigation_Skin ) - { - if(!m_bAnimatingMove) - { - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - ui.PlayUISFX(eSFX_Scroll); - m_skinIndex = getNextSkinIndex(m_skinIndex); - //handleSkinIndexChanged(); - - m_bSlidingSkins = true; - m_bAnimatingMove = true; - - m_characters[eCharacter_Current].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Right, true); - m_characters[eCharacter_Next1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Forward, true); - - // 4J Stu - Swapped nav buttons - sendInputToMovie(ACTION_MENU_LEFT, repeat, pressed, released); - } - } - else if( m_currentNavigation == eSkinNavigation_Pack ) - { - ui.AnimateKeyPress(iPad, key, repeat, pressed, released); - ui.PlayUISFX(eSFX_Scroll); - DWORD startingIndex = m_packIndex; - m_packIndex = getNextPackIndex(m_packIndex); - if(startingIndex != m_packIndex) - { - handlePackIndexChanged(); - } - } - } - break; - case ACTION_MENU_OTHER_STICK_PRESS: - if(pressed) - { - ui.PlayUISFX(eSFX_Press); - if( m_currentNavigation == eSkinNavigation_Skin ) - { - m_characters[eCharacter_Current].ResetRotation(); - } - } - break; - case ACTION_MENU_OTHER_STICK_LEFT: - if(pressed) - { - if( m_currentNavigation == eSkinNavigation_Skin ) - { - m_characters[eCharacter_Current].m_incYRot = true; - } - else - { - ui.PlayUISFX(eSFX_Scroll); - } - } - else if(released) - { - m_characters[eCharacter_Current].m_incYRot = false; - } - break; - case ACTION_MENU_OTHER_STICK_RIGHT: - if(pressed) - { - if( m_currentNavigation == eSkinNavigation_Skin ) - { - m_characters[eCharacter_Current].m_decYRot = true; - } - else - { - ui.PlayUISFX(eSFX_Scroll); - } - } - else if(released) - { - m_characters[eCharacter_Current].m_decYRot = false; - } - break; - case ACTION_MENU_OTHER_STICK_UP: - if(pressed) - { - if( m_currentNavigation == eSkinNavigation_Skin ) - { - //m_previewControl->m_incXRot = true; - m_characters[eCharacter_Current].CyclePreviousAnimation(); - } - else - { - ui.PlayUISFX(eSFX_Scroll); - } - } - break; - case ACTION_MENU_OTHER_STICK_DOWN: - if(pressed) - { - if( m_currentNavigation == eSkinNavigation_Skin ) - { - //m_previewControl->m_decXRot = true; - m_characters[eCharacter_Current].CycleNextAnimation(); - } - else - { - ui.PlayUISFX(eSFX_Scroll); - } - } - break; - } -} - -void UIScene_SkinSelectMenu::InputActionOK(unsigned int iPad) -{ - ui.AnimateKeyPress(iPad, ACTION_MENU_OK, false, true, false); - - // if the profile data has been changed, then force a profile write - // It seems we're allowed to break the 5 minute rule if it's the result of a user action - switch(m_packIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - app.SetPlayerSkin(iPad, m_skinIndex); - app.SetPlayerCape(iPad, 0); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_originalSkinId = app.GetPlayerSkinId(iPad); - setCharacterSelected(true); - ui.PlayUISFX(eSFX_Press); - break; - case SKIN_SELECT_PACK_FAVORITES: - if(app.GetPlayerFavoriteSkinsCount(iPad)>0) - { - // get the pack number from the skin id - wchar_t chars[256]; - swprintf(chars, 256, L"dlcskin%08d.png", app.GetPlayerFavoriteSkin(iPad,m_skinIndex)); - - DLCPack *Pack=app.m_dlcManager.getPackContainingSkin(chars); - - if(Pack) - { - DLCSkinFile *skinFile = Pack->getSkinFile(chars); - app.SetPlayerSkin(iPad, skinFile->getPath()); - app.SetPlayerCape(iPad, skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape)); - setCharacterSelected(true); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_originalSkinId = app.GetPlayerSkinId(iPad); - app.SetPlayerFavoriteSkinsPos(iPad,m_skinIndex); - } -} - break; - default: - if( m_currentPack != NULL ) - { - bool renableInputAfterOperation = true; - m_bIgnoreInput = true; - - DLCSkinFile *skinFile = m_currentPack->getSkinFile(m_skinIndex); - - // Is this a free skin? - - if(!skinFile->getParameterAsBool( DLCManager::e_DLCParamType_Free )) - { - // do we have a license? - //if(true) - if(!m_currentPack->hasPurchasedFile( DLCManager::e_DLCType_Skin, skinFile->getPath() )) - { - // no - UINT uiIDA[1]; - uiIDA[0]=IDS_OK; - - // We need to upsell the full version - if(ProfileManager.IsGuest(iPad)) - { - // can't buy - ui.RequestMessageBox(IDS_PRO_GUESTPROFILE_TITLE, IDS_PRO_GUESTPROFILE_TEXT, uiIDA, 1,iPad,NULL,NULL,app.GetStringTable(),NULL,0,false); - } -#if defined(__PS3__) || defined(__ORBIS__) - // are we online? - else if(!ProfileManager.IsSignedInLive(iPad)) - { - showNotOnlineDialog(iPad); - } -#endif - else - { - // upsell -#ifdef _XBOX - DLC_INFO *pDLCInfo = app.GetDLCInfoForTrialOfferID(m_currentPack->getPurchaseOfferId()); - ULONGLONG ullOfferID_Full; - - if(pDLCInfo!=NULL) - { - ullOfferID_Full=pDLCInfo->ullOfferID_Full; - } - else - { - ullOfferID_Full=m_currentPack->getPurchaseOfferId(); - } - - // tell sentient about the upsell of the full version of the skin pack - SentientManager.RecordUpsellPresented(iPad, eSet_UpsellID_Skin_DLC, ullOfferID_Full & 0xFFFFFFFF); -#endif - bool bContentRestricted=false; -#if defined(__PS3__) || defined(__PSVITA__) - ProfileManager.GetChatAndContentRestrictions(m_iPad,true,NULL,&bContentRestricted,NULL); -#endif - if(bContentRestricted) - { -#if !(defined(_XBOX) || defined(_WIN64)) // 4J Stu - Temp to get the win build running, but so we check this for other platforms - // you can't see the store - UINT uiIDA[1]; - uiIDA[0]=IDS_CONFIRM_OK; - ui.RequestMessageBox(IDS_ONLINE_SERVICE_TITLE, IDS_CONTENT_RESTRICTION, uiIDA, 1, ProfileManager.GetPrimaryPad(),NULL,this, app.GetStringTable(),NULL,0,false); -#endif - } - else - { - // 4J-PB - need to check for an empty store -#if defined __ORBIS__ || defined __PSVITA__ || defined __PS3__ - if(app.CheckForEmptyStore(iPad)==false) -#endif - { - m_bIgnoreInput = true; - renableInputAfterOperation = false; - - UINT uiIDA[2] = { IDS_CONFIRM_OK, IDS_CONFIRM_CANCEL }; - ui.RequestMessageBox(IDS_UNLOCK_DLC_TITLE, IDS_UNLOCK_DLC_SKIN, uiIDA, 2, iPad,&UIScene_SkinSelectMenu::UnlockSkinReturned,this,app.GetStringTable(),NULL,0,false); - } - } - } - } - else - { - app.SetPlayerSkin(iPad, skinFile->getPath()); - app.SetPlayerCape(iPad, skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape)); - setCharacterSelected(true); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_originalSkinId = app.GetPlayerSkinId(iPad); - - // push this onto the favorite list - AddFavoriteSkin(m_iPad,GET_DLC_SKIN_ID_FROM_BITMASK(m_originalSkinId)); - } - } - else - { - app.SetPlayerSkin(iPad, skinFile->getPath()); - app.SetPlayerCape(iPad, skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape)); - setCharacterSelected(true); - m_currentSkinPath = app.GetPlayerSkinName(iPad); - m_originalSkinId = app.GetPlayerSkinId(iPad); - - // push this onto the favorite list - AddFavoriteSkin(iPad,GET_DLC_SKIN_ID_FROM_BITMASK(m_originalSkinId)); - } - - if (renableInputAfterOperation) m_bIgnoreInput = false; - } - - ui.PlayUISFX(eSFX_Press); - break; - } -} - -void UIScene_SkinSelectMenu::customDraw(IggyCustomDrawCallbackRegion *region) -{ - int characterId = -1; - swscanf((wchar_t*)region->name,L"Character%d",&characterId); - if (characterId == -1) - { - app.DebugPrintf("Invalid character to render found\n"); - } - else - { - // Setup GDraw, normal game render states and matrices - CustomDrawData *customDrawRegion = ui.setupCustomDraw(this,region); - delete customDrawRegion; - - //app.DebugPrintf("Scissor x0= %d, y0= %d, x1= %d, y1= %d\n", region->scissor_x0, region->scissor_y0, region->scissor_x1, region->scissor_y1); - //app.DebugPrintf("Stencil mask= %d, stencil ref= %d, stencil write= %d\n", region->stencil_func_mask, region->stencil_func_ref, region->stencil_write_mask); -#ifdef __PS3__ - if(region->stencil_func_ref != 0) RenderManager.StateSetStencil(GL_EQUAL,region->stencil_func_ref,region->stencil_func_mask); -#elif __PSVITA__ - // AP - make sure the skins are only drawn inside the smokey panel - if(region->stencil_func_ref != 0) RenderManager.StateSetStencil(SCE_GXM_STENCIL_FUNC_EQUAL,region->stencil_func_mask,region->stencil_write_mask); -#else - if(region->stencil_func_ref != 0) RenderManager.StateSetStencil(GL_EQUAL,region->stencil_func_ref, region->stencil_func_mask,region->stencil_write_mask); -#endif - m_characters[characterId].render(region); - - // Finish GDraw and anything else that needs to be finalised - ui.endCustomDraw(region); - } -} - -void UIScene_SkinSelectMenu::handleSkinIndexChanged() -{ - BOOL showPrevious = FALSE, showNext = FALSE; - DWORD previousIndex = 0, nextIndex = 0; - wstring skinName = L""; - wstring skinOrigin = L""; - bool bSkinIsFree=false; - bool bLicensed=false; - DLCSkinFile *skinFile=NULL; - DLCPack *Pack=NULL; - BYTE sidePreviewControlsL,sidePreviewControlsR; - m_bNoSkinsToShow=false; - - TEXTURE_NAME backupTexture = TN_MOB_CHAR; - - setCharacterSelected(false); - - m_controlSkinNamePlate.setVisible( false ); - - if( m_currentPack != NULL ) - { - skinFile = m_currentPack->getSkinFile(m_skinIndex); - m_selectedSkinPath = skinFile->getPath(); - m_selectedCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape); - m_vAdditionalSkinBoxes = skinFile->getAdditionalBoxes(); - - skinName = skinFile->getParameterAsString( DLCManager::e_DLCParamType_DisplayName ); - skinOrigin = skinFile->getParameterAsString( DLCManager::e_DLCParamType_ThemeName ); - - if( m_selectedSkinPath.compare( m_currentSkinPath ) == 0 ) - { - setCharacterSelected(true); - } - - bSkinIsFree = skinFile->getParameterAsBool( DLCManager::e_DLCParamType_Free ); - bLicensed = m_currentPack->hasPurchasedFile( DLCManager::e_DLCType_Skin, m_selectedSkinPath ); - - setCharacterLocked(!(bSkinIsFree || bLicensed)); - - m_characters[eCharacter_Current].setVisible(true); - m_controlSkinNamePlate.setVisible( true ); - } - else - { - m_selectedSkinPath = L""; - m_selectedCapePath = L""; - m_vAdditionalSkinBoxes = NULL; - - switch(m_packIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - backupTexture = getTextureId(m_skinIndex); - - if( m_skinIndex == eDefaultSkins_ServerSelected ) - { - skinName = app.GetString(IDS_DEFAULT_SKINS); - } - else - { - skinName = wchDefaultNamesA[m_skinIndex]; - } - - if( m_originalSkinId == m_skinIndex ) - { - setCharacterSelected(true); - } - setCharacterLocked(false); - setCharacterLocked(false); - - m_characters[eCharacter_Current].setVisible(true); - m_controlSkinNamePlate.setVisible( true ); - - break; - case SKIN_SELECT_PACK_FAVORITES: - - if(app.GetPlayerFavoriteSkinsCount(m_iPad)>0) - { - // get the pack number from the skin id - wchar_t chars[256]; - swprintf(chars, 256, L"dlcskin%08d.png", app.GetPlayerFavoriteSkin(m_iPad,m_skinIndex)); - - Pack=app.m_dlcManager.getPackContainingSkin(chars); - if(Pack) - { - skinFile = Pack->getSkinFile(chars); - - m_selectedSkinPath = skinFile->getPath(); - m_selectedCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape); - m_vAdditionalSkinBoxes = skinFile->getAdditionalBoxes(); - - skinName = skinFile->getParameterAsString( DLCManager::e_DLCParamType_DisplayName ); - skinOrigin = skinFile->getParameterAsString( DLCManager::e_DLCParamType_ThemeName ); - - if( m_selectedSkinPath.compare( m_currentSkinPath ) == 0 ) - { - setCharacterSelected(true); - } - - bSkinIsFree = skinFile->getParameterAsBool( DLCManager::e_DLCParamType_Free ); - bLicensed = Pack->hasPurchasedFile( DLCManager::e_DLCType_Skin, m_selectedSkinPath ); - - setCharacterLocked(!(bSkinIsFree || bLicensed)); - m_controlSkinNamePlate.setVisible( true ); - } - else - { - setCharacterSelected(false); - setCharacterLocked(false); - } - } - else - { - //disable the display - m_characters[eCharacter_Current].setVisible(false); - - // change the tooltips - m_bNoSkinsToShow=true; - } - break; - } - } - - m_labelSkinName.setLabel(skinName); - m_labelSkinOrigin.setLabel(skinOrigin); - - - if(m_vAdditionalSkinBoxes && m_vAdditionalSkinBoxes->size()!=0) - { - // add the boxes to the humanoid model, but only if we've not done this already - - vector *pAdditionalModelParts = app.GetAdditionalModelParts(skinFile->getSkinID()); - if(pAdditionalModelParts==NULL) - { - pAdditionalModelParts = app.SetAdditionalSkinBoxes(skinFile->getSkinID(),m_vAdditionalSkinBoxes); - } - } - - if(skinFile!=NULL) - { - app.SetAnimOverrideBitmask(skinFile->getSkinID(),skinFile->getAnimOverrideBitmask()); - } - - m_characters[eCharacter_Current].SetTexture(m_selectedSkinPath, backupTexture); - m_characters[eCharacter_Current].SetCapeTexture(m_selectedCapePath); - - showNext = TRUE; - showPrevious = TRUE; - nextIndex = getNextSkinIndex(m_skinIndex); - previousIndex = getPreviousSkinIndex(m_skinIndex); - - wstring otherSkinPath = L""; - wstring otherCapePath = L""; - vector *othervAdditionalSkinBoxes=NULL; - wchar_t chars[256]; - - // turn off all displays - for(unsigned int i = eCharacter_Current + 1; i < eCharacter_COUNT; ++i) - { - m_characters[i].setVisible(false); - } - - unsigned int uiCurrentFavoriteC=app.GetPlayerFavoriteSkinsCount(m_iPad); - - if(m_packIndex==SKIN_SELECT_PACK_FAVORITES) - { - // might not be enough to cycle through - if(uiCurrentFavoriteC<((sidePreviewControls*2)+1)) - { - if(uiCurrentFavoriteC==0) - { - sidePreviewControlsL=sidePreviewControlsR=0; - } - // might be an odd number - else if((uiCurrentFavoriteC-1)%2==1) - { - sidePreviewControlsL=1+(uiCurrentFavoriteC-1)/2; - sidePreviewControlsR=(uiCurrentFavoriteC-1)/2; - } - else - { - sidePreviewControlsL=sidePreviewControlsR=(uiCurrentFavoriteC-1)/2; - } - } - else - { - sidePreviewControlsL=sidePreviewControlsR=sidePreviewControls; - } - } - else - { - sidePreviewControlsL=sidePreviewControlsR=sidePreviewControls; - } - - for(BYTE i = 0; i < sidePreviewControlsR; ++i) - { - if(showNext) - { - skinFile=NULL; - - m_characters[eCharacter_Next1 + i].setVisible(true); - - if( m_currentPack != NULL ) - { - skinFile = m_currentPack->getSkinFile(nextIndex); - otherSkinPath = skinFile->getPath(); - otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape); - othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes(); - backupTexture = TN_MOB_CHAR; - } - else - { - otherSkinPath = L""; - otherCapePath = L""; - othervAdditionalSkinBoxes=NULL; - switch(m_packIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - backupTexture = getTextureId(nextIndex); - break; - case SKIN_SELECT_PACK_FAVORITES: - if(uiCurrentFavoriteC>0) - { - // get the pack number from the skin id - swprintf(chars, 256, L"dlcskin%08d.png", app.GetPlayerFavoriteSkin(m_iPad,nextIndex)); - - Pack=app.m_dlcManager.getPackContainingSkin(chars); - if(Pack) - { - skinFile = Pack->getSkinFile(chars); - - otherSkinPath = skinFile->getPath(); - otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape); - othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes(); - backupTexture = TN_MOB_CHAR; - } - } - break; - default: - break; - } - - } - if(othervAdditionalSkinBoxes && othervAdditionalSkinBoxes->size()!=0) - { - vector *pAdditionalModelParts = app.GetAdditionalModelParts(skinFile->getSkinID()); - if(pAdditionalModelParts==NULL) - { - pAdditionalModelParts = app.SetAdditionalSkinBoxes(skinFile->getSkinID(),othervAdditionalSkinBoxes); - } - } - // 4J-PB - anim override needs set before SetTexture - if(skinFile!=NULL) - { - app.SetAnimOverrideBitmask(skinFile->getSkinID(),skinFile->getAnimOverrideBitmask()); - } - m_characters[eCharacter_Next1 + i].SetTexture(otherSkinPath, backupTexture); - m_characters[eCharacter_Next1 + i].SetCapeTexture(otherCapePath); - } - - nextIndex = getNextSkinIndex(nextIndex); - } - - - - for(BYTE i = 0; i < sidePreviewControlsL; ++i) - { - if(showPrevious) - { - skinFile=NULL; - - m_characters[eCharacter_Previous1 + i].setVisible(true); - - if( m_currentPack != NULL ) - { - skinFile = m_currentPack->getSkinFile(previousIndex); - otherSkinPath = skinFile->getPath(); - otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape); - othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes(); - backupTexture = TN_MOB_CHAR; - } - else - { - otherSkinPath = L""; - otherCapePath = L""; - othervAdditionalSkinBoxes=NULL; - switch(m_packIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - backupTexture = getTextureId(previousIndex); - break; - case SKIN_SELECT_PACK_FAVORITES: - if(uiCurrentFavoriteC>0) - { - // get the pack number from the skin id - swprintf(chars, 256, L"dlcskin%08d.png", app.GetPlayerFavoriteSkin(m_iPad,previousIndex)); - - Pack=app.m_dlcManager.getPackContainingSkin(chars); - if(Pack) - { - skinFile = Pack->getSkinFile(chars); - - otherSkinPath = skinFile->getPath(); - otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape); - othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes(); - backupTexture = TN_MOB_CHAR; - } - } - - break; - default: - break; - } - } - if(othervAdditionalSkinBoxes && othervAdditionalSkinBoxes->size()!=0) - { - vector *pAdditionalModelParts = app.GetAdditionalModelParts(skinFile->getSkinID()); - if(pAdditionalModelParts==NULL) - { - pAdditionalModelParts = app.SetAdditionalSkinBoxes(skinFile->getSkinID(),othervAdditionalSkinBoxes); - } - } - // 4J-PB - anim override needs set before SetTexture - if(skinFile) - { - app.SetAnimOverrideBitmask(skinFile->getSkinID(),skinFile->getAnimOverrideBitmask()); - } - m_characters[eCharacter_Previous1 + i].SetTexture(otherSkinPath, backupTexture); - m_characters[eCharacter_Previous1 + i].SetCapeTexture(otherCapePath); - } - - previousIndex = getPreviousSkinIndex(previousIndex); - } - - updateTooltips(); -} - -TEXTURE_NAME UIScene_SkinSelectMenu::getTextureId(int skinIndex) -{ - TEXTURE_NAME texture = TN_MOB_CHAR; - switch(skinIndex) - { - case eDefaultSkins_ServerSelected: - case eDefaultSkins_Skin0: - texture = TN_MOB_CHAR; - break; - case eDefaultSkins_Skin1: - texture = TN_MOB_CHAR1; - break; - case eDefaultSkins_Skin2: - texture = TN_MOB_CHAR2; - break; - case eDefaultSkins_Skin3: - texture = TN_MOB_CHAR3; - break; - case eDefaultSkins_Skin4: - texture = TN_MOB_CHAR4; - break; - case eDefaultSkins_Skin5: - texture = TN_MOB_CHAR5; - break; - case eDefaultSkins_Skin6: - texture = TN_MOB_CHAR6; - break; - case eDefaultSkins_Skin7: - texture = TN_MOB_CHAR7; - break; - }; - - return texture; -} - -int UIScene_SkinSelectMenu::getNextSkinIndex(DWORD sourceIndex) -{ - int nextSkin = sourceIndex; - - // special case for favourites - switch(m_packIndex) - { - - case SKIN_SELECT_PACK_FAVORITES: - ++nextSkin; - if(nextSkin>=app.GetPlayerFavoriteSkinsCount(m_iPad)) - { - nextSkin=0; - } - - break; - default: - ++nextSkin; - - if(m_packIndex == SKIN_SELECT_PACK_DEFAULT && nextSkin >= eDefaultSkins_Count) - { - nextSkin = eDefaultSkins_ServerSelected; - } - else if(m_currentPack != NULL && nextSkin>=m_currentPack->getSkinCount()) - { - nextSkin = 0; - } - break; - } - - - return nextSkin; -} - -int UIScene_SkinSelectMenu::getPreviousSkinIndex(DWORD sourceIndex) -{ - int previousSkin = sourceIndex; - switch(m_packIndex) - { - - case SKIN_SELECT_PACK_FAVORITES: - if(previousSkin==0) - { - previousSkin = app.GetPlayerFavoriteSkinsCount(m_iPad) - 1; - } - else - { - --previousSkin; - } - break; - default: - if(previousSkin==0) - { - if(m_packIndex == SKIN_SELECT_PACK_DEFAULT) - { - previousSkin = eDefaultSkins_Count - 1; - } - else if(m_currentPack != NULL) - { - previousSkin = m_currentPack->getSkinCount()-1; - } - } - else - { - --previousSkin; - } - break; - } - - - return previousSkin; -} - -void UIScene_SkinSelectMenu::handlePackIndexChanged() -{ - if(m_packIndex >= SKIN_SELECT_MAX_DEFAULTS) - { - m_currentPack = app.m_dlcManager.getPack(m_packIndex - SKIN_SELECT_MAX_DEFAULTS, DLCManager::e_DLCType_Skin); - } - else - { - m_currentPack = NULL; - } - m_skinIndex = 0; - if(m_currentPack != NULL) - { - bool found; - DWORD currentSkinIndex = m_currentPack->getSkinIndexAt(m_currentSkinPath, found); - if(found) m_skinIndex = currentSkinIndex; - } - else - { - switch(m_packIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - if( !GET_IS_DLC_SKIN_FROM_BITMASK(m_originalSkinId) ) - { - DWORD ugcSkinIndex = GET_UGC_SKIN_ID_FROM_BITMASK(m_originalSkinId); - DWORD defaultSkinIndex = GET_DEFAULT_SKIN_ID_FROM_BITMASK(m_originalSkinId); - if( ugcSkinIndex == 0 ) - { - m_skinIndex = (EDefaultSkins) defaultSkinIndex; - } - } - break; - case SKIN_SELECT_PACK_FAVORITES: - if(app.GetPlayerFavoriteSkinsCount(m_iPad)>0) - { - bool found; - wchar_t chars[256]; - // get the pack number from the skin id - swprintf(chars, 256, L"dlcskin%08d.png", app.GetPlayerFavoriteSkin(m_iPad,app.GetPlayerFavoriteSkinsPos(m_iPad))); - - DLCPack *Pack=app.m_dlcManager.getPackContainingSkin(chars); - if(Pack) - { - DWORD currentSkinIndex = Pack->getSkinIndexAt(m_currentSkinPath, found); - if(found) m_skinIndex = app.GetPlayerFavoriteSkinsPos(m_iPad); - } - } - break; - default: - break; - } - } - handleSkinIndexChanged(); - updatePackDisplay(); -} - -void UIScene_SkinSelectMenu::updatePackDisplay() -{ - m_currentPackCount = app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin) + SKIN_SELECT_MAX_DEFAULTS; - - if(m_packIndex >= SKIN_SELECT_MAX_DEFAULTS) - { - DLCPack *thisPack = app.m_dlcManager.getPack(m_packIndex - SKIN_SELECT_MAX_DEFAULTS, DLCManager::e_DLCType_Skin); - setCentreLabel(thisPack->getName().c_str()); - } - else - { - switch(m_packIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - setCentreLabel(app.GetString(IDS_NO_SKIN_PACK)); - break; - case SKIN_SELECT_PACK_FAVORITES: - setCentreLabel(app.GetString(IDS_FAVORITES_SKIN_PACK)); - break; - } - } - - int nextPackIndex = getNextPackIndex(m_packIndex); - if(nextPackIndex >= SKIN_SELECT_MAX_DEFAULTS) - { - DLCPack *thisPack = app.m_dlcManager.getPack(nextPackIndex - SKIN_SELECT_MAX_DEFAULTS, DLCManager::e_DLCType_Skin); - setRightLabel(thisPack->getName().c_str()); - } - else - { - switch(nextPackIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - setRightLabel(app.GetString(IDS_NO_SKIN_PACK)); - break; - case SKIN_SELECT_PACK_FAVORITES: - setRightLabel(app.GetString(IDS_FAVORITES_SKIN_PACK)); - break; - } - } - - int previousPackIndex = getPreviousPackIndex(m_packIndex); - if(previousPackIndex >= SKIN_SELECT_MAX_DEFAULTS) - { - DLCPack *thisPack = app.m_dlcManager.getPack(previousPackIndex - SKIN_SELECT_MAX_DEFAULTS, DLCManager::e_DLCType_Skin); - setLeftLabel(thisPack->getName().c_str()); - } - else - { - switch(previousPackIndex) - { - case SKIN_SELECT_PACK_DEFAULT: - setLeftLabel(app.GetString(IDS_NO_SKIN_PACK)); - break; - case SKIN_SELECT_PACK_FAVORITES: - setLeftLabel(app.GetString(IDS_FAVORITES_SKIN_PACK)); - break; - } - } - -} - -int UIScene_SkinSelectMenu::getNextPackIndex(DWORD sourceIndex) -{ - int nextPack = sourceIndex; - ++nextPack; - if(nextPack > app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin) - 1 + SKIN_SELECT_MAX_DEFAULTS) - { - nextPack = SKIN_SELECT_PACK_DEFAULT; - } - - return nextPack; -} - -int UIScene_SkinSelectMenu::getPreviousPackIndex(DWORD sourceIndex) -{ - int previousPack = sourceIndex; - if (previousPack == SKIN_SELECT_PACK_DEFAULT) - { - DWORD packCount = app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin); - - if (packCount > 0) - { - previousPack = packCount + SKIN_SELECT_MAX_DEFAULTS - 1; - } - else - { - previousPack = SKIN_SELECT_MAX_DEFAULTS - 1; - } - } - else - { - --previousPack; - } - - return previousPack; -} - -void UIScene_SkinSelectMenu::setCharacterSelected(bool selected) -{ - IggyDataValue result; - IggyDataValue value[1]; - value[0].type = IGGY_DATATYPE_boolean; - value[0].boolval = selected; - IggyResult out = IggyPlayerCallMethodRS ( getMovie() , &result, IggyPlayerRootPath( getMovie() ), m_funcSetPlayerCharacterSelected , 1 , value ); -} - -void UIScene_SkinSelectMenu::setCharacterLocked(bool locked) -{ - IggyDataValue result; - IggyDataValue value[1]; - value[0].type = IGGY_DATATYPE_boolean; - value[0].boolval = locked; - IggyResult out = IggyPlayerCallMethodRS ( getMovie() , &result, IggyPlayerRootPath( getMovie() ), m_funcSetCharacterLocked , 1 , value ); -} - -void UIScene_SkinSelectMenu::setLeftLabel(const wstring &label) -{ - if(label.compare(m_leftLabel) != 0) - { - m_leftLabel = label; - - IggyDataValue result; - IggyDataValue value[1]; - - IggyStringUTF16 stringVal; - stringVal.string = (IggyUTF16*)label.c_str(); - stringVal.length = label.length(); - - value[0].type = IGGY_DATATYPE_string_UTF16; - value[0].string16 = stringVal; - IggyResult out = IggyPlayerCallMethodRS ( getMovie() , &result, IggyPlayerRootPath( getMovie() ), m_funcSetLeftLabel , 1 , value ); - } -} - -void UIScene_SkinSelectMenu::setCentreLabel(const wstring &label) -{ - if(label.compare(m_centreLabel) != 0) - { - m_centreLabel = label; - - IggyDataValue result; - IggyDataValue value[1]; - - IggyStringUTF16 stringVal; - stringVal.string = (IggyUTF16*)label.c_str(); - stringVal.length = label.length(); - - value[0].type = IGGY_DATATYPE_string_UTF16; - value[0].string16 = stringVal; - IggyResult out = IggyPlayerCallMethodRS ( getMovie() , &result, IggyPlayerRootPath( getMovie() ), m_funcSetCentreLabel , 1 , value ); - } -} - -void UIScene_SkinSelectMenu::setRightLabel(const wstring &label) -{ - if(label.compare(m_rightLabel) != 0) - { - m_rightLabel = label; - - IggyDataValue result; - IggyDataValue value[1]; - - IggyStringUTF16 stringVal; - stringVal.string = (IggyUTF16*)label.c_str(); - stringVal.length = label.length(); - - value[0].type = IGGY_DATATYPE_string_UTF16; - value[0].string16 = stringVal; - IggyResult out = IggyPlayerCallMethodRS ( getMovie() , &result, IggyPlayerRootPath( getMovie() ), m_funcSetRightLabel , 1 , value ); - } -} - -#ifdef __PSVITA__ -void UIScene_SkinSelectMenu::handleTouchInput(unsigned int iPad, S32 x, S32 y, int iId, bool bPressed, bool bRepeat, bool bReleased) -{ - if(bPressed) - { - switch(iId) - { - case ETouchInput_TabLeft: - case ETouchInput_TabRight: - case ETouchInput_TabCenter: - // change to pack navigation if not already there! - if(m_currentNavigation != eSkinNavigation_Pack) - { - ui.PlayUISFX(eSFX_Scroll); - m_currentNavigation = eSkinNavigation_Pack; - sendInputToMovie(ACTION_MENU_UP, false, true, false); - } - break; - case ETouchInput_IggyCharacters: - if(m_packIndex == SKIN_SELECT_PACK_FAVORITES) - { - if(app.GetPlayerFavoriteSkinsCount(m_iPad)==0) - { - // ignore this, since there are no skins being displayed - break; - } - } - // change to skin navigation if not already there! - if(m_currentNavigation != eSkinNavigation_Skin) - { - ui.PlayUISFX(eSFX_Scroll); - m_currentNavigation = eSkinNavigation_Skin; - sendInputToMovie(ACTION_MENU_DOWN, false, true, false); - } - // remember touch x start - m_iTouchXStart = x; - m_bTouchScrolled = false; - break; - } - } - else if(bRepeat) - { - switch(iId) - { - case ETouchInput_TabLeft: - /* no action */ - break; - case ETouchInput_TabRight: - /* no action */ - break; - case ETouchInput_IggyCharacters: - if(m_currentNavigation != eSkinNavigation_Skin) - { - // not in skin select mode - break; - } - if(x < m_iTouchXStart - 50) - { - if(!m_bAnimatingMove && !m_bTouchScrolled) - { - ui.PlayUISFX(eSFX_Scroll); - m_skinIndex = getNextSkinIndex(m_skinIndex); - //handleSkinIndexChanged(); - - m_bSlidingSkins = true; - m_bAnimatingMove = true; - - m_characters[eCharacter_Current].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Right, true); - m_characters[eCharacter_Next1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Forward, true); - - // 4J Stu - Swapped nav buttons - sendInputToMovie(ACTION_MENU_LEFT, false, true, false); - - m_bTouchScrolled = true; - } - } - else if(x > m_iTouchXStart + 50) - { - if(!m_bAnimatingMove && !m_bTouchScrolled) - { - ui.PlayUISFX(eSFX_Scroll); - - m_skinIndex = getPreviousSkinIndex(m_skinIndex); - //handleSkinIndexChanged(); - - m_bSlidingSkins = true; - m_bAnimatingMove = true; - - m_characters[eCharacter_Current].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Left, true); - m_characters[eCharacter_Previous1].SetFacing(UIControl_PlayerSkinPreview::e_SkinPreviewFacing_Forward, true); - - // 4J Stu - Swapped nav buttons - sendInputToMovie(ACTION_MENU_RIGHT, false, true, false); - - m_bTouchScrolled = true; - } - } - break; - } - } - else if(bReleased) - { - switch(iId) - { - case ETouchInput_TabLeft: - if( m_currentNavigation == eSkinNavigation_Pack ) - { - ui.PlayUISFX(eSFX_Scroll); - DWORD startingIndex = m_packIndex; - m_packIndex = getPreviousPackIndex(m_packIndex); - if(startingIndex != m_packIndex) - { - handlePackIndexChanged(); - } - } - break; - case ETouchInput_TabRight: - if( m_currentNavigation == eSkinNavigation_Pack ) - { - ui.PlayUISFX(eSFX_Scroll); - DWORD startingIndex = m_packIndex; - m_packIndex = getNextPackIndex(m_packIndex); - if(startingIndex != m_packIndex) - { - handlePackIndexChanged(); - } - } - break; - case ETouchInput_IggyCharacters: - if(!m_bTouchScrolled) - { - InputActionOK(iPad); - } - break; - } - } -} -#endif - -void UIScene_SkinSelectMenu::HandleDLCInstalled() -{ -#ifdef __PSVITA__ - EnterCriticalSection(&m_DLCInstallCS); // to prevent a race condition between the install and the mounted callback -#endif - - app.DebugPrintf(4,"UIScene_SkinSelectMenu::HandleDLCInstalled\n"); - // mounted DLC may have changed - if(app.StartInstallDLCProcess(m_iPad)==false) - { - // not doing a mount, so re-enable input - app.DebugPrintf(4,"UIScene_SkinSelectMenu::HandleDLCInstalled - not doing a mount, so re-enable input\n"); - m_bIgnoreInput=false; - } - else - { - m_bIgnoreInput=true; - m_controlTimer.setVisible( true ); - m_controlIggyCharacters.setVisible( false ); - m_controlSkinNamePlate.setVisible( false ); - } - - // this will send a CustomMessage_DLCMountingComplete when done - -#ifdef __PSVITA__ - LeaveCriticalSection(&m_DLCInstallCS); -#endif - -} - - -void UIScene_SkinSelectMenu::HandleDLCMountingComplete() -{ -#ifdef __PSVITA__ - EnterCriticalSection(&m_DLCInstallCS); // to prevent a race condition between the install and the mounted callback -#endif - app.DebugPrintf(4,"UIScene_SkinSelectMenu::HandleDLCMountingComplete\n"); - m_controlTimer.setVisible( false ); - m_controlIggyCharacters.setVisible( true ); - m_controlSkinNamePlate.setVisible( true ); - - m_packIndex = SKIN_SELECT_PACK_DEFAULT; - - if(app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin)>0) - { - m_currentPack = app.m_dlcManager.getPackContainingSkin(m_currentSkinPath); - if(m_currentPack != NULL) - { - bool bFound = false; - m_packIndex = app.m_dlcManager.getPackIndex(m_currentPack,bFound,DLCManager::e_DLCType_Skin) + SKIN_SELECT_MAX_DEFAULTS; - } - } - - // If we have any favourites, set this to the favourites - // first validate the favorite skins - we might have uninstalled the DLC needed for them - app.ValidateFavoriteSkins(m_iPad); - - if(app.GetPlayerFavoriteSkinsCount(m_iPad)>0) - { - m_packIndex = SKIN_SELECT_PACK_FAVORITES; - } - - handlePackIndexChanged(); - - m_bIgnoreInput=false; - app.m_dlcManager.checkForCorruptDLCAndAlert(); - bool bInGame=(Minecraft::GetInstance()->level!=NULL); - -#if TO_BE_IMPLEMENTED - if(bInGame) XBackgroundDownloadSetMode(XBACKGROUND_DOWNLOAD_MODE_AUTO); -#endif -#ifdef __PSVITA__ - LeaveCriticalSection(&m_DLCInstallCS); -#endif -} - -void UIScene_SkinSelectMenu::showNotOnlineDialog(int iPad) -{ - // need to be signed in to live. get them to sign in to online -#if defined(__PS3__) - SQRNetworkManager_PS3::AttemptPSNSignIn(NULL, this); - -#elif defined(__PSVITA__) - SQRNetworkManager_Vita::AttemptPSNSignIn(NULL, this); - -#elif defined(__ORBIS__) - SQRNetworkManager_Orbis::AttemptPSNSignIn(NULL, this, false, iPad); - -#elif defined(_DURANGO) - - UINT uiIDA[1] = { IDS_CONFIRM_OK }; - ui.RequestMessageBox(IDS_PRO_NOTONLINE_TITLE, IDS_PRO_XBOXLIVE_NOTIFICATION, uiIDA, 1, iPad, NULL, NULL, app.GetStringTable() ); - -#endif -} - -int UIScene_SkinSelectMenu::UnlockSkinReturned(void *pParam,int iPad,C4JStorage::EMessageResult result) -{ - UIScene_SkinSelectMenu* pScene = (UIScene_SkinSelectMenu*)pParam; - - if ( (result == C4JStorage::EMessage_ResultAccept) - && ProfileManager.IsSignedIn(iPad) - ) - { - if (ProfileManager.IsSignedInLive(iPad)) - { -#if defined(__PS3__) || defined(__ORBIS__) || defined __PSVITA__ - // need to get info on the pack to see if the user has already downloaded it - - // retrieve the store name for the skin pack - wstring wStrPackName=pScene->m_currentPack->getName(); - const char *pchPackName=wstringtofilename(wStrPackName); - SONYDLC *pSONYDLCInfo=app.GetSONYDLCInfo((char *)pchPackName); - - if (pSONYDLCInfo != NULL) - { - char chName[42]; - char chKeyName[20]; - char chSkuID[SCE_NP_COMMERCE2_SKU_ID_LEN]; - - memset(chSkuID,0,SCE_NP_COMMERCE2_SKU_ID_LEN); - // find the info on the skin pack - // we have to retrieve the skuid from the store info, it can't be hardcoded since Sony may change it. - // So we assume the first sku for the product is the one we want - - // while the store is screwed, hardcode the sku - //sprintf(chName,"%s-%s-%s",app.GetCommerceCategory(),pSONYDLCInfo->chDLCKeyname,"EURO"); - - // MGH - keyname in the DLC file is 16 chars long, but there's no space for a NULL terminating char - memset(chKeyName, 0, sizeof(chKeyName)); - strncpy(chKeyName, pSONYDLCInfo->chDLCKeyname, 16); - -#ifdef __ORBIS__ - strcpy(chName, chKeyName); -#else - sprintf(chName,"%s-%s",app.GetCommerceCategory(),chKeyName); -#endif - app.GetDLCSkuIDFromProductList(chName,chSkuID); - -#if defined __ORBIS__ || defined __PSVITA__ || defined __PS3__ - if (app.CheckForEmptyStore(iPad) == false) -#endif - { - if (app.DLCAlreadyPurchased(chSkuID)) - { - app.DebugPrintf("Already purchased this DLC - DownloadAlreadyPurchased \n"); - app.DownloadAlreadyPurchased(chSkuID); - } - else - { - app.DebugPrintf("Not yet purchased this DLC - Checkout \n"); - app.Checkout(chSkuID); - } - } - // need to re-enable input because the user can back out of the store purchase, and we'll be stuck - pScene->m_bIgnoreInput = false; - } -#elif defined _XBOX_ONE - StorageManager.InstallOffer(1,(WCHAR *)(pScene->m_currentPack->getPurchaseOfferId().c_str()), &RenableInput, pScene, NULL); -#endif - } - else // Is signed in, but not live. - { - pScene->showNotOnlineDialog(iPad); - pScene->m_bIgnoreInput = false; - } - } - else - { - pScene->m_bIgnoreInput = false; - } - - return 0; -} - -int UIScene_SkinSelectMenu::RenableInput(LPVOID lpVoid, int, int) -{ - ((UIScene_SkinSelectMenu*) lpVoid)->m_bIgnoreInput = false; - return 0; -} - -void UIScene_SkinSelectMenu::AddFavoriteSkin(int iPad,int iSkinID) -{ - // Is this favorite skin already in the array? - unsigned int uiCurrentFavoriteSkinsCount=app.GetPlayerFavoriteSkinsCount(iPad); - - for(int i=0;i0) - { - ucPos++; - } - else - { - ucPos=0; - } - } - - app.SetPlayerFavoriteSkin(iPad,(int)ucPos,iSkinID); - app.SetPlayerFavoriteSkinsPos(m_iPad,ucPos); -} - - -void UIScene_SkinSelectMenu::handleReload() -{ - // Reinitialise a few values to prevent problems on reload - m_bIgnoreInput=false; - - m_currentNavigation = eSkinNavigation_Skin; - m_currentPackCount = 0; - - m_labelSkinName.init(L""); - m_labelSkinOrigin.init(L""); - - m_leftLabel = L""; - m_centreLabel = L""; - m_rightLabel = L""; - - handlePackIndexChanged(); -} - -#ifdef _XBOX_ONE -void UIScene_SkinSelectMenu::HandleDLCLicenseChange() -{ - // update the lock flag - handleSkinIndexChanged(); -} -#endif \ No newline at end of file diff --git a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.h b/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.h deleted file mode 100644 index c9ed6691..00000000 --- a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.h +++ /dev/null @@ -1,189 +0,0 @@ -#pragma once -#include "..\..\..\Minecraft.World\Definitions.h" -#include "UIScene.h" -#include "UIControl_PlayerSkinPreview.h" - -class UIScene_SkinSelectMenu : public UIScene -{ -private: - static WCHAR *wchDefaultNamesA[eDefaultSkins_Count]; - - // 4J Stu - How many to show on each side of the main control - static const BYTE sidePreviewControls = 4; - -#ifdef __PSVITA__ - enum ETouchInput - { - ETouchInput_TabLeft = 10, - ETouchInput_TabRight, - ETouchInput_TabCenter, - ETouchInput_IggyCharacters, - - ETouchInput_Count, - }; -#endif - - enum ESkinSelectNavigation - { - eSkinNavigation_Pack, - eSkinNavigation_Skin, - - eSkinNavigation_Count, - }; - - enum ECharacters - { - eCharacter_Current, - eCharacter_Next1, - eCharacter_Next2, - eCharacter_Next3, - eCharacter_Next4, - eCharacter_Previous1, - eCharacter_Previous2, - eCharacter_Previous3, - eCharacter_Previous4, - - eCharacter_COUNT, - }; - - UIControl_PlayerSkinPreview m_characters[eCharacter_COUNT]; - UIControl_Label m_labelSkinName, m_labelSkinOrigin; - UIControl_Label m_labelSelected; - UIControl m_controlSkinNamePlate, m_controlSelectedPanel, m_controlIggyCharacters, m_controlTimer; -#ifdef __PSVITA__ - UIControl_Touch m_TouchTabLeft, m_TouchTabRight, m_TouchTabCenter, m_TouchIggyCharacters; -#endif - IggyName m_funcSetPlayerCharacterSelected, m_funcSetCharacterLocked; - IggyName m_funcSetLeftLabel, m_funcSetRightLabel, m_funcSetCentreLabel; - UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) -#ifdef __PSVITA__ - UI_MAP_ELEMENT( m_TouchTabLeft, "TouchTabLeft" ) - UI_MAP_ELEMENT( m_TouchTabRight, "TouchTabRight" ) - UI_MAP_ELEMENT( m_TouchTabCenter, "TouchTabCenter" ) - UI_MAP_ELEMENT( m_TouchIggyCharacters, "TouchIggyCharacters" ) -#endif - UI_MAP_ELEMENT( m_controlSkinNamePlate, "SkinNamePlate") - UI_BEGIN_MAP_CHILD_ELEMENTS( m_controlSkinNamePlate ) - UI_MAP_ELEMENT( m_labelSkinName, "SkinTitle1") - UI_MAP_ELEMENT( m_labelSkinOrigin, "SkinTitle2") - UI_END_MAP_CHILD_ELEMENTS() - - UI_MAP_ELEMENT( m_controlSelectedPanel, "SelectedPanel" ) - UI_BEGIN_MAP_CHILD_ELEMENTS( m_controlSelectedPanel ) - UI_MAP_ELEMENT( m_labelSelected, "SelectedPanelLabel" ) - UI_END_MAP_CHILD_ELEMENTS() - - UI_MAP_ELEMENT( m_controlTimer, "Timer" ) - - // 4J Stu - These aren't really used a AS3 controls, but adding here means that they get ticked by the scene - UI_MAP_ELEMENT( m_controlIggyCharacters, "IggyCharacters" ) - UI_BEGIN_MAP_CHILD_ELEMENTS( m_controlIggyCharacters ) - UI_MAP_ELEMENT( m_characters[eCharacter_Current], "iggy_Character0" ) - - UI_MAP_ELEMENT( m_characters[eCharacter_Next1], "iggy_Character1" ) - UI_MAP_ELEMENT( m_characters[eCharacter_Next2], "iggy_Character2" ) - UI_MAP_ELEMENT( m_characters[eCharacter_Next3], "iggy_Character3" ) - UI_MAP_ELEMENT( m_characters[eCharacter_Next4], "iggy_Character4" ) - - UI_MAP_ELEMENT( m_characters[eCharacter_Previous1], "iggy_Character5" ) - UI_MAP_ELEMENT( m_characters[eCharacter_Previous2], "iggy_Character6" ) - UI_MAP_ELEMENT( m_characters[eCharacter_Previous3], "iggy_Character7" ) - UI_MAP_ELEMENT( m_characters[eCharacter_Previous4], "iggy_Character8" ) - UI_END_MAP_CHILD_ELEMENTS() - - UI_MAP_NAME( m_funcSetPlayerCharacterSelected, L"SetPlayerCharacterSelected" ) - UI_MAP_NAME( m_funcSetCharacterLocked, L"SetCharacterLocked" ) - - UI_MAP_NAME( m_funcSetLeftLabel, L"SetLeftLabel" ) - UI_MAP_NAME( m_funcSetCentreLabel, L"SetCenterLabel" ) - UI_MAP_NAME( m_funcSetRightLabel, L"SetRightLabel" ) - UI_END_MAP_ELEMENTS_AND_NAMES() - - DLCPack *m_currentPack; - DWORD m_packIndex, m_skinIndex; - DWORD m_originalSkinId; - wstring m_currentSkinPath, m_selectedSkinPath, m_selectedCapePath; - vector *m_vAdditionalSkinBoxes; - - bool m_bSlidingSkins, m_bAnimatingMove; - ESkinSelectNavigation m_currentNavigation; - - bool m_bNoSkinsToShow; - DWORD m_currentPackCount; - bool m_bIgnoreInput; - bool m_bSkinIndexChanged; - wstring m_leftLabel, m_centreLabel, m_rightLabel; - - S32 m_iTouchXStart; - bool m_bTouchScrolled; -public: - UIScene_SkinSelectMenu(int iPad, void *initData, UILayer *parentLayer); -#ifdef __PSVITA__ - virtual ~UIScene_SkinSelectMenu() { DeleteCriticalSection(&m_DLCInstallCS); } -#endif - - virtual void tick(); - - virtual void updateTooltips(); - virtual void updateComponents(); - - virtual EUIScene getSceneType() { return eUIScene_SkinSelectMenu;} - - virtual void handleAnimationEnd(); - - -protected: - // TODO: This should be pure virtual in this class - virtual wstring getMoviePath(); - -public: - // INPUT - virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); - - virtual void customDraw(IggyCustomDrawCallbackRegion *region); - -private: - void handleSkinIndexChanged(); - int getNextSkinIndex(DWORD sourceIndex); - int getPreviousSkinIndex(DWORD sourceIndex); - - TEXTURE_NAME getTextureId(int skinIndex); - - void handlePackIndexChanged(); - void updatePackDisplay(); - int getNextPackIndex(DWORD sourceIndex); - int getPreviousPackIndex(DWORD sourceIndex); - - void setCharacterSelected(bool selected); - void setCharacterLocked(bool locked); - - void setLeftLabel(const wstring &label); - void setCentreLabel(const wstring &label); - void setRightLabel(const wstring &label); - - virtual void HandleDLCMountingComplete(); - virtual void HandleDLCInstalled(); -#ifdef _XBOX_ONE - virtual void HandleDLCLicenseChange(); -#endif - - void showNotOnlineDialog(int iPad); - - static int UnlockSkinReturned(void *pParam,int iPad,C4JStorage::EMessageResult result); - static int RenableInput(LPVOID lpVoid, int, int); - void AddFavoriteSkin(int iPad,int iSkinID); - - void InputActionOK(unsigned int iPad); -#ifdef __PSVITA__ - virtual void handleTouchInput(unsigned int iPad, S32 x, S32 y, int iId, bool bPressed, bool bRepeat, bool bReleased); -#endif //__PSVITA__ - virtual void handleReload(); - -#ifdef __ORBIS__ - bool m_bErrorDialogRunning; -#endif - -#ifdef __PSVITA__ - CRITICAL_SECTION m_DLCInstallCS; // to prevent a race condition between the install and the mounted callback -#endif -}; diff --git a/Minecraft.Client/Common/XUI/XUI_SettingsControl.cpp b/Minecraft.Client/Common/XUI/XUI_SettingsControl.cpp index 7e2835a2..cf47783e 100644 --- a/Minecraft.Client/Common/XUI/XUI_SettingsControl.cpp +++ b/Minecraft.Client/Common/XUI/XUI_SettingsControl.cpp @@ -18,12 +18,12 @@ HRESULT CScene_SettingsControl::OnInit( XUIMessageInit* pInitData, BOOL& bHandle // Display the tooltips - m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INGAME].SetValue(app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame)); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame)); + m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INGAME].SetValue(app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); + swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INGAME].SetText(TempString); - m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INMENU].SetValue(app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InMenu)); - swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INMENU ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity_InMenu)); + m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INMENU].SetValue(app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); + swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INMENU ),app.GetGameSettings(m_iPad,eGameSetting_Sensitivity)); m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INMENU].SetText(TempString); // if we're not in the game, we need to use basescene 0 @@ -65,13 +65,13 @@ HRESULT CScene_SettingsControl::OnNotifyValueChanged( HXUIOBJ hObjSource, XUINot if(hObjSource==m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INGAME].GetSlider() ) { - app.SetGameSettings(m_iPad,eGameSetting_Sensitivity_InGame,pNotifyValueChanged->nValue); + app.SetGameSettings(m_iPad,eGameSetting_Sensitivity,pNotifyValueChanged->nValue); swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INGAME ),pNotifyValueChanged->nValue); m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INGAME].SetText(TempString); } else if(hObjSource==m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INMENU].GetSlider() ) { - app.SetGameSettings(m_iPad,eGameSetting_Sensitivity_InMenu,pNotifyValueChanged->nValue); + app.SetGameSettings(m_iPad,eGameSetting_Sensitivity,pNotifyValueChanged->nValue); swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_SENSITIVITY_INMENU ),pNotifyValueChanged->nValue); m_SliderA[SLIDER_SETTINGS_SENSITIVITY_INMENU].SetText(TempString); } diff --git a/Minecraft.Client/Extrax64Stubs.cpp b/Minecraft.Client/Extrax64Stubs.cpp index 334f0123..6fdb4215 100644 --- a/Minecraft.Client/Extrax64Stubs.cpp +++ b/Minecraft.Client/Extrax64Stubs.cpp @@ -399,8 +399,8 @@ void C_4JProfile::Initialise( DWORD dwTitleID, // Set some sane initial values! GAME_SETTINGS *pGameSettings = (GAME_SETTINGS *)profileData[i]; - pGameSettings->ucMenuSensitivity=100; //eGameSetting_Sensitivity_InMenu pGameSettings->ucInterfaceOpacity=80; //eGameSetting_Sensitivity_InMenu + pGameSettings->ucSensitivity=100; //eGameSetting_Sensitivity pGameSettings->usBitmaskValues|=0x0200; //eGameSetting_DisplaySplitscreenGamertags - on pGameSettings->usBitmaskValues|=0x0400; //eGameSetting_Hints - on pGameSettings->usBitmaskValues|=0x1000; //eGameSetting_Autosave - 2 diff --git a/Minecraft.Client/Input.cpp b/Minecraft.Client/Input.cpp index 645f3477..2bd5c6e3 100644 --- a/Minecraft.Client/Input.cpp +++ b/Minecraft.Client/Input.cpp @@ -77,9 +77,9 @@ void Input::tick(LocalPlayer *player) float tx = 0.0f; float ty = 0.0f; if( pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_LEFT) || pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_RIGHT) ) - tx = InputManager.GetJoypadStick_RX(iPad)*(((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InGame))/100.0f); // apply sensitivity to look + tx = InputManager.GetJoypadStick_RX(iPad)*(((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity))/100.0f); // apply sensitivity to look if( pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_UP) || pMinecraft->localgameModes[iPad]->isInputAllowed(MINECRAFT_ACTION_LOOK_DOWN) ) - ty = InputManager.GetJoypadStick_RY(iPad)*(((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity_InGame))/100.0f); // apply sensitivity to look + ty = InputManager.GetJoypadStick_RY(iPad)*(((float)app.GetGameSettings(iPad,eGameSetting_Sensitivity))/100.0f); // apply sensitivity to look #ifndef _CONTENT_PACKAGE if (app.GetFreezePlayers()) tx = ty = 0.0f; diff --git a/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml b/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml index 4eccce8b..b1c8397d 100644 --- a/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml +++ b/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml @@ -5429,12 +5429,8 @@ Would you like to unlock the full game now? Gamma - - Game Sensitivity - - - - Interface Sensitivity + + Sensitivity diff --git a/Minecraft.Client/Windows64Media/strings.h b/Minecraft.Client/Windows64Media/strings.h index f4047769..5fafa89a 100644 --- a/Minecraft.Client/Windows64Media/strings.h +++ b/Minecraft.Client/Windows64Media/strings.h @@ -1,1925 +1,1928 @@ #pragma once -#define IDS_ACHIEVEMENTS 0 -#define IDS_ACTION_BAN_LEVEL_DESCRIPTION 1 -#define IDS_ACTION_BAN_LEVEL_TITLE 2 -#define IDS_ALLOWFRIENDSOFFRIENDS 3 -#define IDS_ANY_WOOL 4 -#define IDS_AUDIO 5 -#define IDS_AUTOSAVE_COUNTDOWN 6 -#define IDS_AWARD_AVATAR1 7 -#define IDS_AWARD_AVATAR2 8 -#define IDS_AWARD_AVATAR3 9 -#define IDS_AWARD_GAMERPIC1 10 -#define IDS_AWARD_GAMERPIC2 11 -#define IDS_AWARD_THEME 12 -#define IDS_AWARD_TITLE 13 -#define IDS_BACK 14 -#define IDS_BACK_BUTTON 15 -#define IDS_BANNED_LEVEL_TITLE 16 -#define IDS_BLAZE 17 -#define IDS_BONUS_CHEST 18 -#define IDS_BOSS_ENDERDRAGON_HEALTH 19 -#define IDS_BREWING_STAND 20 -#define IDS_BUTTON_REMOVE_FROM_BAN_LIST 21 -#define IDS_CAN_ATTACK_ANIMALS 22 -#define IDS_CAN_ATTACK_PLAYERS 23 -#define IDS_CAN_BUILD_AND_MINE 24 -#define IDS_CAN_DISABLE_EXHAUSTION 25 -#define IDS_CAN_FLY 26 -#define IDS_CAN_INVISIBLE 27 -#define IDS_CAN_OPEN_CONTAINERS 28 -#define IDS_CAN_USE_DOORS_AND_SWITCHES 29 -#define IDS_CANCEL 30 -#define IDS_CANT_PLACE_NEAR_SPAWN_TEXT 31 -#define IDS_CANT_PLACE_NEAR_SPAWN_TITLE 32 -#define IDS_CANT_SHEAR_MOOSHROOM 33 -#define IDS_CANT_SPAWN_IN_PEACEFUL 34 -#define IDS_CANTJOIN_TITLE 35 -#define IDS_CARROTS 36 -#define IDS_CAVE_SPIDER 37 -#define IDS_CHANGE_SKIN 38 -#define IDS_CHECKBOX_ANIMATED_CHARACTER 39 -#define IDS_CHECKBOX_CUSTOM_SKIN_ANIM 40 -#define IDS_CHECKBOX_DEATH_MESSAGES 41 -#define IDS_CHECKBOX_DISPLAY_HAND 42 -#define IDS_CHECKBOX_DISPLAY_HUD 43 -#define IDS_CHECKBOX_DISPLAY_SPLITSCREENGAMERTAGS 44 -#define IDS_CHECKBOX_RENDER_BEDROCKFOG 45 -#define IDS_CHECKBOX_RENDER_CLOUDS 46 -#define IDS_CHECKBOX_VERTICAL_SPLIT_SCREEN 47 -#define IDS_CHEST 48 -#define IDS_CHEST_LARGE 49 -#define IDS_CHICKEN 50 -#define IDS_COMMAND_TELEPORT_ME 51 -#define IDS_COMMAND_TELEPORT_SUCCESS 52 -#define IDS_COMMAND_TELEPORT_TO_ME 53 -#define IDS_CONFIRM_CANCEL 54 -#define IDS_CONFIRM_DECLINE_SAVE_GAME 55 -#define IDS_CONFIRM_EXIT_GAME 56 -#define IDS_CONFIRM_EXIT_GAME_CONFIRM_DISCONNECT_SAVE 57 -#define IDS_CONFIRM_EXIT_GAME_PROGRESS_LOST 58 -#define IDS_CONFIRM_LEAVE_VIA_INVITE 59 -#define IDS_CONFIRM_OK 60 -#define IDS_CONFIRM_SAVE_GAME 61 -#define IDS_CONFIRM_START_CREATIVE 62 -#define IDS_CONFIRM_START_HOST_PRIVILEGES 63 -#define IDS_CONFIRM_START_SAVEDINCREATIVE 64 -#define IDS_CONFIRM_START_SAVEDINCREATIVE_CONTINUE 65 -#define IDS_CONNECTION_FAILED 66 -#define IDS_CONNECTION_FAILED_NO_SD_SPLITSCREEN 67 -#define IDS_CONNECTION_LOST 68 -#define IDS_CONNECTION_LOST_LIVE 69 -#define IDS_CONNECTION_LOST_LIVE_NO_EXIT 70 -#define IDS_CONNECTION_LOST_SERVER 71 -#define IDS_CONTROL 72 -#define IDS_CONTROLLER_A 73 -#define IDS_CONTROLLER_B 74 -#define IDS_CONTROLLER_BACK 75 -#define IDS_CONTROLLER_DPAD_D 76 -#define IDS_CONTROLLER_DPAD_L 77 -#define IDS_CONTROLLER_DPAD_R 78 -#define IDS_CONTROLLER_DPAD_U 79 -#define IDS_CONTROLLER_LEFT_BUMPER 80 -#define IDS_CONTROLLER_LEFT_STICK 81 -#define IDS_CONTROLLER_LEFT_THUMBSTICK 82 -#define IDS_CONTROLLER_LEFT_TRIGGER 83 -#define IDS_CONTROLLER_RIGHT_BUMPER 84 -#define IDS_CONTROLLER_RIGHT_STICK 85 -#define IDS_CONTROLLER_RIGHT_THUMBSTICK 86 -#define IDS_CONTROLLER_RIGHT_TRIGGER 87 -#define IDS_CONTROLLER_START 88 -#define IDS_CONTROLLER_X 89 -#define IDS_CONTROLLER_Y 90 -#define IDS_CONTROLS 91 -#define IDS_CONTROLS_ACTION 92 -#define IDS_CONTROLS_CRAFTING 93 -#define IDS_CONTROLS_DPAD 94 -#define IDS_CONTROLS_DROP 95 -#define IDS_CONTROLS_HELDITEM 96 -#define IDS_CONTROLS_INVENTORY 97 -#define IDS_CONTROLS_JUMP 98 -#define IDS_CONTROLS_JUMPFLY 99 -#define IDS_CONTROLS_LAYOUT 100 -#define IDS_CONTROLS_LOOK 101 -#define IDS_CONTROLS_MOVE 102 -#define IDS_CONTROLS_PAUSE 103 -#define IDS_CONTROLS_PLAYERS 104 -#define IDS_CONTROLS_SCHEME0 105 -#define IDS_CONTROLS_SCHEME1 106 -#define IDS_CONTROLS_SCHEME2 107 -#define IDS_CONTROLS_SNEAK 108 -#define IDS_CONTROLS_SNEAKFLY 109 -#define IDS_CONTROLS_THIRDPERSON 110 -#define IDS_CONTROLS_USE 111 -#define IDS_CORRUPT_DLC 112 -#define IDS_CORRUPT_DLC_MULTIPLE 113 -#define IDS_CORRUPT_DLC_TITLE 114 -#define IDS_CORRUPT_OR_DAMAGED_SAVE_TEXT 115 -#define IDS_CORRUPT_OR_DAMAGED_SAVE_TITLE 116 -#define IDS_CORRUPTSAVE_TEXT 117 -#define IDS_CORRUPTSAVE_TITLE 118 -#define IDS_COW 119 -#define IDS_CREATE_NEW_WORLD 120 -#define IDS_CREATE_NEW_WORLD_RANDOM_SEED 121 -#define IDS_CREATE_NEW_WORLD_SEED 122 -#define IDS_CREATE_NEW_WORLD_SEEDTEXT 123 -#define IDS_CREATEANEWSAVE 124 -#define IDS_CREATED_IN_CREATIVE 125 -#define IDS_CREATED_IN_SURVIVAL 126 -#define IDS_CREATIVE 127 -#define IDS_CREDITS 128 -#define IDS_CREDITS_ADDITIONALSTE 129 -#define IDS_CREDITS_ART 130 -#define IDS_CREDITS_ARTDEVELOPER 131 -#define IDS_CREDITS_ASIALOC 132 -#define IDS_CREDITS_BIZDEV 133 -#define IDS_CREDITS_BULLYCOORD 134 -#define IDS_CREDITS_CEO 135 -#define IDS_CREDITS_CHIEFARCHITECT 136 -#define IDS_CREDITS_CODENINJA 137 -#define IDS_CREDITS_COMMUNITYMANAGER 138 -#define IDS_CREDITS_CONCEPTART 139 -#define IDS_CREDITS_CRUNCHER 140 -#define IDS_CREDITS_CUSTOMERSUPPORT 141 -#define IDS_CREDITS_DESIGNTEAM 142 -#define IDS_CREDITS_DESPROG 143 -#define IDS_CREDITS_DEVELOPER 144 -#define IDS_CREDITS_DEVELOPMENTTEAM 145 -#define IDS_CREDITS_DOF 146 -#define IDS_CREDITS_EUROPELOC 147 -#define IDS_CREDITS_EXECPRODUCER 148 -#define IDS_CREDITS_EXPLODANIM 149 -#define IDS_CREDITS_GAMECRAFTER 150 -#define IDS_CREDITS_JON_KAGSTROM 151 -#define IDS_CREDITS_LEADPC 152 -#define IDS_CREDITS_LEADPRODUCER 153 -#define IDS_CREDITS_LEADTESTER 154 -#define IDS_CREDITS_MARKETING 155 -#define IDS_CREDITS_MGSCENTRAL 156 -#define IDS_CREDITS_MILESTONEACCEPT 157 -#define IDS_CREDITS_MUSICANDSOUNDS 158 -#define IDS_CREDITS_OFFICEDJ 159 -#define IDS_CREDITS_ORIGINALDESIGN 160 -#define IDS_CREDITS_PMPROD 161 -#define IDS_CREDITS_PORTFOLIODIRECTOR 162 -#define IDS_CREDITS_PRODUCER 163 -#define IDS_CREDITS_PRODUCTMANAGER 164 -#define IDS_CREDITS_PROGRAMMING 165 -#define IDS_CREDITS_PROJECT 166 -#define IDS_CREDITS_QA 167 -#define IDS_CREDITS_REDMONDLOC 168 -#define IDS_CREDITS_RELEASEMANAGEMENT 169 -#define IDS_CREDITS_RESTOFMOJANG 170 -#define IDS_CREDITS_RISE_LUGO 171 -#define IDS_CREDITS_SDET 172 -#define IDS_CREDITS_SPECIALTHANKS 173 -#define IDS_CREDITS_SRTESTLEAD 174 -#define IDS_CREDITS_TESTASSOCIATES 175 -#define IDS_CREDITS_TESTLEAD 176 -#define IDS_CREDITS_TESTMANAGER 177 -#define IDS_CREDITS_TOBIAS_MOLLSTAM 178 -#define IDS_CREDITS_USERRESEARCH 179 -#define IDS_CREDITS_WCW 180 -#define IDS_CREDITS_XBLADIRECTOR 181 -#define IDS_CREEPER 182 -#define IDS_CURRENT_LAYOUT 183 -#define IDS_DEATH_ARROW 184 -#define IDS_DEATH_CACTUS 185 -#define IDS_DEATH_DRAGON_BREATH 186 -#define IDS_DEATH_DROWN 187 -#define IDS_DEATH_EXPLOSION 188 -#define IDS_DEATH_FALL 189 -#define IDS_DEATH_FALLING_ANVIL 190 -#define IDS_DEATH_FALLING_TILE 191 -#define IDS_DEATH_FIREBALL 192 -#define IDS_DEATH_GENERIC 193 -#define IDS_DEATH_INDIRECT_MAGIC 194 -#define IDS_DEATH_INFIRE 195 -#define IDS_DEATH_INWALL 196 -#define IDS_DEATH_LAVA 197 -#define IDS_DEATH_MAGIC 198 -#define IDS_DEATH_MOB 199 -#define IDS_DEATH_ONFIRE 200 -#define IDS_DEATH_OUTOFWORLD 201 -#define IDS_DEATH_PLAYER 202 -#define IDS_DEATH_STARVE 203 -#define IDS_DEATH_THORNS 204 -#define IDS_DEATH_THROWN 205 -#define IDS_DEBUG_SETTINGS 206 -#define IDS_DEFAULT_SAVENAME 207 -#define IDS_DEFAULT_SKINS 208 -#define IDS_DEFAULT_TEXTUREPACK 209 -#define IDS_DEFAULT_WORLD_NAME 210 -#define IDS_DEFAULTS_TEXT 211 -#define IDS_DEFAULTS_TITLE 212 -#define IDS_DESC_ANVIL 213 -#define IDS_DESC_APPLE 214 -#define IDS_DESC_ARROW 215 -#define IDS_DESC_BED 216 -#define IDS_DESC_BEDROCK 217 -#define IDS_DESC_BEEF_COOKED 218 -#define IDS_DESC_BEEF_RAW 219 -#define IDS_DESC_BLAZE 220 -#define IDS_DESC_BLAZE_POWDER 221 -#define IDS_DESC_BLAZE_ROD 222 -#define IDS_DESC_BLOCK 223 -#define IDS_DESC_BLOCK_DIAMOND 224 -#define IDS_DESC_BLOCK_GOLD 225 -#define IDS_DESC_BLOCK_IRON 226 -#define IDS_DESC_BLOCK_LAPIS 227 -#define IDS_DESC_BOAT 228 -#define IDS_DESC_BONE 229 -#define IDS_DESC_BOOK 230 -#define IDS_DESC_BOOKSHELF 231 -#define IDS_DESC_BOOTS 232 -#define IDS_DESC_BOOTS_CHAIN 233 -#define IDS_DESC_BOOTS_DIAMOND 234 -#define IDS_DESC_BOOTS_GOLD 235 -#define IDS_DESC_BOOTS_IRON 236 -#define IDS_DESC_BOOTS_LEATHER 237 -#define IDS_DESC_BOW 238 -#define IDS_DESC_BOWL 239 -#define IDS_DESC_BREAD 240 -#define IDS_DESC_BREWING_STAND 241 -#define IDS_DESC_BRICK 242 -#define IDS_DESC_BUCKET 243 -#define IDS_DESC_BUCKET_LAVA 244 -#define IDS_DESC_BUCKET_MILK 245 -#define IDS_DESC_BUCKET_WATER 246 -#define IDS_DESC_BUTTON 247 -#define IDS_DESC_CACTUS 248 -#define IDS_DESC_CAKE 249 -#define IDS_DESC_CARPET 250 -#define IDS_DESC_CARROT_GOLDEN 251 -#define IDS_DESC_CARROT_ON_A_STICK 252 -#define IDS_DESC_CARROTS 253 -#define IDS_DESC_CAULDRON 254 -#define IDS_DESC_CAVE_SPIDER 255 -#define IDS_DESC_CHEST 256 -#define IDS_DESC_CHESTPLATE 257 -#define IDS_DESC_CHESTPLATE_CHAIN 258 -#define IDS_DESC_CHESTPLATE_DIAMOND 259 -#define IDS_DESC_CHESTPLATE_GOLD 260 -#define IDS_DESC_CHESTPLATE_IRON 261 -#define IDS_DESC_CHESTPLATE_LEATHER 262 -#define IDS_DESC_CHICKEN 263 -#define IDS_DESC_CHICKEN_COOKED 264 -#define IDS_DESC_CHICKEN_RAW 265 -#define IDS_DESC_CLAY 266 -#define IDS_DESC_CLAY_TILE 267 -#define IDS_DESC_CLOCK 268 -#define IDS_DESC_COAL 269 -#define IDS_DESC_COBBLESTONE_WALL 270 -#define IDS_DESC_COCOA 271 -#define IDS_DESC_COMPASS 272 -#define IDS_DESC_COOKIE 273 -#define IDS_DESC_COW 274 -#define IDS_DESC_CRAFTINGTABLE 275 -#define IDS_DESC_CREEPER 276 -#define IDS_DESC_CROPS 277 -#define IDS_DESC_DEAD_BUSH 278 -#define IDS_DESC_DETECTORRAIL 279 -#define IDS_DESC_DIAMONDS 280 -#define IDS_DESC_DIRT 281 -#define IDS_DESC_DISPENSER 282 -#define IDS_DESC_DOOR_IRON 283 -#define IDS_DESC_DOOR_WOOD 284 -#define IDS_DESC_DRAGONEGG 285 -#define IDS_DESC_DYE_BLACK 286 -#define IDS_DESC_DYE_BLUE 287 -#define IDS_DESC_DYE_BROWN 288 -#define IDS_DESC_DYE_CYAN 289 -#define IDS_DESC_DYE_GRAY 290 -#define IDS_DESC_DYE_GREEN 291 -#define IDS_DESC_DYE_LIGHTBLUE 292 -#define IDS_DESC_DYE_LIGHTGRAY 293 -#define IDS_DESC_DYE_LIME 294 -#define IDS_DESC_DYE_MAGENTA 295 -#define IDS_DESC_DYE_ORANGE 296 -#define IDS_DESC_DYE_PINK 297 -#define IDS_DESC_DYE_PURPLE 298 -#define IDS_DESC_DYE_RED 299 -#define IDS_DESC_DYE_SILVER 300 -#define IDS_DESC_DYE_WHITE 301 -#define IDS_DESC_DYE_YELLOW 302 -#define IDS_DESC_EGG 303 -#define IDS_DESC_EMERALD 304 -#define IDS_DESC_EMERALDBLOCK 305 -#define IDS_DESC_EMERALDORE 306 -#define IDS_DESC_ENCHANTED_BOOK 307 -#define IDS_DESC_ENCHANTED_GOLDENAPPLE 308 -#define IDS_DESC_ENCHANTMENTTABLE 309 -#define IDS_DESC_END_PORTAL 310 -#define IDS_DESC_ENDER_PEARL 311 -#define IDS_DESC_ENDERCHEST 312 -#define IDS_DESC_ENDERDRAGON 313 -#define IDS_DESC_ENDERMAN 314 -#define IDS_DESC_ENDPORTALFRAME 315 -#define IDS_DESC_EXP_BOTTLE 316 -#define IDS_DESC_EYE_OF_ENDER 317 -#define IDS_DESC_FARMLAND 318 -#define IDS_DESC_FEATHER 319 -#define IDS_DESC_FENCE 320 -#define IDS_DESC_FENCE_GATE 321 -#define IDS_DESC_FERMENTED_SPIDER_EYE 322 -#define IDS_DESC_FIREBALL 323 -#define IDS_DESC_FISH_COOKED 324 -#define IDS_DESC_FISH_RAW 325 -#define IDS_DESC_FISHINGROD 326 -#define IDS_DESC_FLINT 327 -#define IDS_DESC_FLINTANDSTEEL 328 -#define IDS_DESC_FLOWER 329 -#define IDS_DESC_FLOWERPOT 330 -#define IDS_DESC_FURNACE 331 -#define IDS_DESC_GHAST 332 -#define IDS_DESC_GHAST_TEAR 333 -#define IDS_DESC_GLASS 334 -#define IDS_DESC_GLASS_BOTTLE 335 -#define IDS_DESC_GLOWSTONE 336 -#define IDS_DESC_GOLD_NUGGET 337 -#define IDS_DESC_GOLDENAPPLE 338 -#define IDS_DESC_GRASS 339 -#define IDS_DESC_GRAVEL 340 -#define IDS_DESC_HALFSLAB 341 -#define IDS_DESC_HATCHET 342 -#define IDS_DESC_HELL_ROCK 343 -#define IDS_DESC_HELL_SAND 344 -#define IDS_DESC_HELMET 345 -#define IDS_DESC_HELMET_CHAIN 346 -#define IDS_DESC_HELMET_DIAMOND 347 -#define IDS_DESC_HELMET_GOLD 348 -#define IDS_DESC_HELMET_IRON 349 -#define IDS_DESC_HELMET_LEATHER 350 -#define IDS_DESC_HOE 351 -#define IDS_DESC_ICE 352 -#define IDS_DESC_INGOT 353 -#define IDS_DESC_IRON_FENCE 354 -#define IDS_DESC_IRONGOLEM 355 -#define IDS_DESC_ITEM_NETHERBRICK 356 -#define IDS_DESC_ITEMFRAME 357 -#define IDS_DESC_JACKOLANTERN 358 -#define IDS_DESC_JUKEBOX 359 -#define IDS_DESC_LADDER 360 -#define IDS_DESC_LAVA 361 -#define IDS_DESC_LAVA_SLIME 362 -#define IDS_DESC_LEATHER 363 -#define IDS_DESC_LEAVES 364 -#define IDS_DESC_LEGGINGS 365 -#define IDS_DESC_LEGGINGS_CHAIN 366 -#define IDS_DESC_LEGGINGS_DIAMOND 367 -#define IDS_DESC_LEGGINGS_GOLD 368 -#define IDS_DESC_LEGGINGS_IRON 369 -#define IDS_DESC_LEGGINGS_LEATHER 370 -#define IDS_DESC_LEVER 371 -#define IDS_DESC_LOG 372 -#define IDS_DESC_MAGMA_CREAM 373 -#define IDS_DESC_MAP 374 -#define IDS_DESC_MELON_BLOCK 375 -#define IDS_DESC_MELON_SEEDS 376 -#define IDS_DESC_MELON_SLICE 377 -#define IDS_DESC_MINECART 378 -#define IDS_DESC_MINECARTWITHCHEST 379 -#define IDS_DESC_MINECARTWITHFURNACE 380 -#define IDS_DESC_MOB_SPAWNER 381 -#define IDS_DESC_MONSTER_SPAWNER 382 -#define IDS_DESC_MOSS_STONE 383 -#define IDS_DESC_MUSHROOM 384 -#define IDS_DESC_MUSHROOM_COW 385 -#define IDS_DESC_MUSHROOMSTEW 386 -#define IDS_DESC_MYCEL 387 -#define IDS_DESC_NETHER_QUARTZ 388 -#define IDS_DESC_NETHER_QUARTZ_ORE 389 -#define IDS_DESC_NETHER_STALK_SEEDS 390 -#define IDS_DESC_NETHERBRICK 391 -#define IDS_DESC_NETHERFENCE 392 -#define IDS_DESC_NETHERSTALK 393 -#define IDS_DESC_NOTEBLOCK 394 -#define IDS_DESC_OBSIDIAN 395 -#define IDS_DESC_ORE_COAL 396 -#define IDS_DESC_ORE_DIAMOND 397 -#define IDS_DESC_ORE_GOLD 398 -#define IDS_DESC_ORE_IRON 399 -#define IDS_DESC_ORE_LAPIS 400 -#define IDS_DESC_ORE_REDSTONE 401 -#define IDS_DESC_OZELOT 402 -#define IDS_DESC_PAPER 403 -#define IDS_DESC_PICKAXE 404 -#define IDS_DESC_PICTURE 405 -#define IDS_DESC_PIG 406 -#define IDS_DESC_PIGZOMBIE 407 -#define IDS_DESC_PISTON 408 -#define IDS_DESC_PORKCHOP_COOKED 409 -#define IDS_DESC_PORKCHOP_RAW 410 -#define IDS_DESC_PORTAL 411 -#define IDS_DESC_POTATO 412 -#define IDS_DESC_POTATO_BAKED 413 -#define IDS_DESC_POTATO_POISONOUS 414 -#define IDS_DESC_POTION 415 -#define IDS_DESC_POWEREDRAIL 416 -#define IDS_DESC_PRESSUREPLATE 417 -#define IDS_DESC_PUMPKIN 418 -#define IDS_DESC_PUMPKIN_PIE 419 -#define IDS_DESC_PUMPKIN_SEEDS 420 -#define IDS_DESC_QUARTZ_BLOCK 421 -#define IDS_DESC_RAIL 422 -#define IDS_DESC_RECORD 423 -#define IDS_DESC_REDSTONE_DUST 424 -#define IDS_DESC_REDSTONE_LIGHT 425 -#define IDS_DESC_REDSTONEREPEATER 426 -#define IDS_DESC_REDSTONETORCH 427 -#define IDS_DESC_REEDS 428 -#define IDS_DESC_ROTTEN_FLESH 429 -#define IDS_DESC_SADDLE 430 -#define IDS_DESC_SAND 431 -#define IDS_DESC_SANDSTONE 432 -#define IDS_DESC_SAPLING 433 -#define IDS_DESC_SHEARS 434 -#define IDS_DESC_SHEEP 435 -#define IDS_DESC_SHOVEL 436 -#define IDS_DESC_SIGN 437 -#define IDS_DESC_SILVERFISH 438 -#define IDS_DESC_SKELETON 439 -#define IDS_DESC_SKULL 440 -#define IDS_DESC_SLAB 441 -#define IDS_DESC_SLIME 442 -#define IDS_DESC_SLIMEBALL 443 -#define IDS_DESC_SNOW 444 -#define IDS_DESC_SNOWBALL 445 -#define IDS_DESC_SNOWMAN 446 -#define IDS_DESC_SPECKLED_MELON 447 -#define IDS_DESC_SPIDER 448 -#define IDS_DESC_SPIDER_EYE 449 -#define IDS_DESC_SPONGE 450 -#define IDS_DESC_SQUID 451 -#define IDS_DESC_STAIRS 452 -#define IDS_DESC_STICK 453 -#define IDS_DESC_STICKY_PISTON 454 -#define IDS_DESC_STONE 455 -#define IDS_DESC_STONE_BRICK 456 -#define IDS_DESC_STONE_BRICK_SMOOTH 457 -#define IDS_DESC_STONE_SILVERFISH 458 -#define IDS_DESC_STONESLAB 459 -#define IDS_DESC_STRING 460 -#define IDS_DESC_STRUCTBLOCK 461 -#define IDS_DESC_SUGAR 462 -#define IDS_DESC_SULPHUR 463 -#define IDS_DESC_SWORD 464 -#define IDS_DESC_TALL_GRASS 465 -#define IDS_DESC_THIN_GLASS 466 -#define IDS_DESC_TNT 467 -#define IDS_DESC_TOP_SNOW 468 -#define IDS_DESC_TORCH 469 -#define IDS_DESC_TRAPDOOR 470 -#define IDS_DESC_TRIPWIRE 471 -#define IDS_DESC_TRIPWIRE_SOURCE 472 -#define IDS_DESC_VILLAGER 473 -#define IDS_DESC_VINE 474 -#define IDS_DESC_WATER 475 -#define IDS_DESC_WATERLILY 476 -#define IDS_DESC_WEB 477 -#define IDS_DESC_WHEAT 478 -#define IDS_DESC_WHEAT_SEEDS 479 -#define IDS_DESC_WHITESTONE 480 -#define IDS_DESC_WOLF 481 -#define IDS_DESC_WOODENPLANKS 482 -#define IDS_DESC_WOODSLAB 483 -#define IDS_DESC_WOOL 484 -#define IDS_DESC_WOOLSTRING 485 -#define IDS_DESC_YELLOW_DUST 486 -#define IDS_DESC_ZOMBIE 487 -#define IDS_DEVICEGONE_TEXT 488 -#define IDS_DEVICEGONE_TITLE 489 -#define IDS_DIFFICULTY_EASY 490 -#define IDS_DIFFICULTY_HARD 491 -#define IDS_DIFFICULTY_NORMAL 492 -#define IDS_DIFFICULTY_PEACEFUL 493 -#define IDS_DIFFICULTY_TITLE_EASY 494 -#define IDS_DIFFICULTY_TITLE_HARD 495 -#define IDS_DIFFICULTY_TITLE_NORMAL 496 -#define IDS_DIFFICULTY_TITLE_PEACEFUL 497 -#define IDS_DISABLE_EXHAUSTION 498 -#define IDS_DISABLE_SAVING 499 -#define IDS_DISCONNECTED 500 -#define IDS_DISCONNECTED_BANNED 501 -#define IDS_DISCONNECTED_CLIENT_OLD 502 -#define IDS_DISCONNECTED_FLYING 503 -#define IDS_DISCONNECTED_KICKED 504 -#define IDS_DISCONNECTED_LOGIN_TOO_LONG 505 -#define IDS_DISCONNECTED_NO_FRIENDS_IN_GAME 506 -#define IDS_DISCONNECTED_SERVER_FULL 507 -#define IDS_DISCONNECTED_SERVER_OLD 508 -#define IDS_DISCONNECTED_SERVER_QUIT 509 -#define IDS_DISPENSER 510 -#define IDS_DLC_COST 511 -#define IDS_DLC_MENU_AVATARITEMS 512 -#define IDS_DLC_MENU_GAMERPICS 513 -#define IDS_DLC_MENU_MASHUPPACKS 514 -#define IDS_DLC_MENU_SKINPACKS 515 -#define IDS_DLC_MENU_TEXTUREPACKS 516 -#define IDS_DLC_MENU_THEMES 517 -#define IDS_DLC_TEXTUREPACK_GET_FULL_TITLE 518 -#define IDS_DLC_TEXTUREPACK_GET_TRIAL_TITLE 519 -#define IDS_DLC_TEXTUREPACK_NOT_PRESENT 520 -#define IDS_DLC_TEXTUREPACK_NOT_PRESENT_TITLE 521 -#define IDS_DLC_TEXTUREPACK_UNLOCK_TITLE 522 -#define IDS_DONE 523 -#define IDS_DONT_RESET_NETHER 524 -#define IDS_DOWNLOADABLE_CONTENT_OFFERS 525 -#define IDS_DOWNLOADABLECONTENT 526 -#define IDS_EDIT_SIGN_MESSAGE 527 -#define IDS_ENABLE_TELEPORT 528 -#define IDS_ENCHANT 529 -#define IDS_ENCHANTMENT_ARROW_DAMAGE 530 -#define IDS_ENCHANTMENT_ARROW_FIRE 531 -#define IDS_ENCHANTMENT_ARROW_INFINITE 532 -#define IDS_ENCHANTMENT_ARROW_KNOCKBACK 533 -#define IDS_ENCHANTMENT_DAMAGE_ALL 534 -#define IDS_ENCHANTMENT_DAMAGE_ARTHROPODS 535 -#define IDS_ENCHANTMENT_DAMAGE_UNDEAD 536 -#define IDS_ENCHANTMENT_DIGGING 537 -#define IDS_ENCHANTMENT_DURABILITY 538 -#define IDS_ENCHANTMENT_FIRE 539 -#define IDS_ENCHANTMENT_KNOCKBACK 540 -#define IDS_ENCHANTMENT_LEVEL_1 541 -#define IDS_ENCHANTMENT_LEVEL_10 542 -#define IDS_ENCHANTMENT_LEVEL_2 543 -#define IDS_ENCHANTMENT_LEVEL_3 544 -#define IDS_ENCHANTMENT_LEVEL_4 545 -#define IDS_ENCHANTMENT_LEVEL_5 546 -#define IDS_ENCHANTMENT_LEVEL_6 547 -#define IDS_ENCHANTMENT_LEVEL_7 548 -#define IDS_ENCHANTMENT_LEVEL_8 549 -#define IDS_ENCHANTMENT_LEVEL_9 550 -#define IDS_ENCHANTMENT_LOOT_BONUS 551 -#define IDS_ENCHANTMENT_LOOT_BONUS_DIGGER 552 -#define IDS_ENCHANTMENT_OXYGEN 553 -#define IDS_ENCHANTMENT_PROTECT_ALL 554 -#define IDS_ENCHANTMENT_PROTECT_EXPLOSION 555 -#define IDS_ENCHANTMENT_PROTECT_FALL 556 -#define IDS_ENCHANTMENT_PROTECT_FIRE 557 -#define IDS_ENCHANTMENT_PROTECT_PROJECTILE 558 -#define IDS_ENCHANTMENT_THORNS 559 -#define IDS_ENCHANTMENT_UNTOUCHING 560 -#define IDS_ENCHANTMENT_WATER_WORKER 561 -#define IDS_ENDERDRAGON 562 -#define IDS_ENDERMAN 563 -#define IDS_ERROR_NETWORK 564 -#define IDS_ERROR_NETWORK_TITLE 565 -#define IDS_EXIT_GAME 566 -#define IDS_EXIT_GAME_NO_SAVE 567 -#define IDS_EXIT_GAME_SAVE 568 -#define IDS_EXITING_GAME 569 -#define IDS_FAILED_TO_CREATE_GAME_TITLE 570 -#define IDS_FAILED_TO_LOADSAVE_TEXT 571 -#define IDS_FAILED_TO_SAVE_TEXT 572 -#define IDS_FAILED_TO_SAVE_TITLE 573 -#define IDS_FATAL_ERROR_TEXT 574 -#define IDS_FATAL_ERROR_TITLE 575 -#define IDS_FAVORITES_SKIN_PACK 576 -#define IDS_FIRE_SPREADS 577 -#define IDS_FLOWERPOT 578 -#define IDS_FUEL 579 -#define IDS_FURNACE 580 -#define IDS_GAME_HOST_NAME 581 -#define IDS_GAME_HOST_NAME_UNKNOWN 582 -#define IDS_GAME_MODE_CHANGED 583 -#define IDS_GAME_OPTIONS 584 -#define IDS_GAMEMODE_CREATIVE 585 -#define IDS_GAMEMODE_SURVIVAL 586 -#define IDS_GAMEOPTION_ALLOWFOF 587 -#define IDS_GAMEOPTION_BONUS_CHEST 588 -#define IDS_GAMEOPTION_DISABLE_SAVING 589 -#define IDS_GAMEOPTION_FIRE_SPREADS 590 -#define IDS_GAMEOPTION_HOST_PRIVILEGES 591 -#define IDS_GAMEOPTION_INVITEONLY 592 -#define IDS_GAMEOPTION_ONLINE 593 -#define IDS_GAMEOPTION_PVP 594 -#define IDS_GAMEOPTION_RESET_NETHER 595 -#define IDS_GAMEOPTION_SEED 596 -#define IDS_GAMEOPTION_STRUCTURES 597 -#define IDS_GAMEOPTION_SUPERFLAT 598 -#define IDS_GAMEOPTION_TNT_EXPLODES 599 -#define IDS_GAMEOPTION_TRUST 600 -#define IDS_GAMEOPTION_WORLD_SIZE 601 -#define IDS_GAMERPICS 602 -#define IDS_GENERATE_STRUCTURES 603 -#define IDS_GENERIC_ERROR 604 -#define IDS_GHAST 605 -#define IDS_GRAPHICS 606 -#define IDS_GROUPNAME_ARMOUR 607 -#define IDS_GROUPNAME_BUILDING_BLOCKS 608 -#define IDS_GROUPNAME_DECORATIONS 609 -#define IDS_GROUPNAME_FOOD 610 -#define IDS_GROUPNAME_MATERIALS 611 -#define IDS_GROUPNAME_MECHANISMS 612 -#define IDS_GROUPNAME_MISCELLANEOUS 613 -#define IDS_GROUPNAME_POTIONS 614 -#define IDS_GROUPNAME_POTIONS_480 615 -#define IDS_GROUPNAME_REDSTONE_AND_TRANSPORT 616 -#define IDS_GROUPNAME_STRUCTURES 617 -#define IDS_GROUPNAME_TOOLS 618 -#define IDS_GROUPNAME_TOOLS_WEAPONS_ARMOR 619 -#define IDS_GROUPNAME_TRANSPORT 620 -#define IDS_GROUPNAME_WEAPONS 621 -#define IDS_GUEST_ORDER_CHANGED_TEXT 622 -#define IDS_GUEST_ORDER_CHANGED_TITLE 623 -#define IDS_HELP_AND_OPTIONS 624 -#define IDS_HINTS 625 -#define IDS_HOST_OPTION_DISABLES_ACHIEVEMENTS 626 -#define IDS_HOST_OPTIONS 627 -#define IDS_HOST_PRIVILEGES 628 -#define IDS_HOW_TO_PLAY 629 -#define IDS_HOW_TO_PLAY_ANVIL 630 -#define IDS_HOW_TO_PLAY_BANLIST 631 -#define IDS_HOW_TO_PLAY_BASICS 632 -#define IDS_HOW_TO_PLAY_BREEDANIMALS 633 -#define IDS_HOW_TO_PLAY_BREWING 634 -#define IDS_HOW_TO_PLAY_CHEST 635 -#define IDS_HOW_TO_PLAY_CRAFT_TABLE 636 -#define IDS_HOW_TO_PLAY_CRAFTING 637 -#define IDS_HOW_TO_PLAY_CREATIVE 638 -#define IDS_HOW_TO_PLAY_DISPENSER 639 -#define IDS_HOW_TO_PLAY_ENCHANTMENT 640 -#define IDS_HOW_TO_PLAY_ENDERCHEST 641 -#define IDS_HOW_TO_PLAY_FARMANIMALS 642 -#define IDS_HOW_TO_PLAY_FURNACE 643 -#define IDS_HOW_TO_PLAY_HOSTOPTIONS 644 -#define IDS_HOW_TO_PLAY_HUD 645 -#define IDS_HOW_TO_PLAY_INVENTORY 646 -#define IDS_HOW_TO_PLAY_LARGECHEST 647 -#define IDS_HOW_TO_PLAY_MENU_ANVIL 648 -#define IDS_HOW_TO_PLAY_MENU_BANLIST 649 -#define IDS_HOW_TO_PLAY_MENU_BASICS 650 -#define IDS_HOW_TO_PLAY_MENU_BREEDANIMALS 651 -#define IDS_HOW_TO_PLAY_MENU_BREWING 652 -#define IDS_HOW_TO_PLAY_MENU_CHESTS 653 -#define IDS_HOW_TO_PLAY_MENU_CRAFTING 654 -#define IDS_HOW_TO_PLAY_MENU_CREATIVE 655 -#define IDS_HOW_TO_PLAY_MENU_DISPENSER 656 -#define IDS_HOW_TO_PLAY_MENU_ENCHANTMENT 657 -#define IDS_HOW_TO_PLAY_MENU_FARMANIMALS 658 -#define IDS_HOW_TO_PLAY_MENU_FURNACE 659 -#define IDS_HOW_TO_PLAY_MENU_HOSTOPTIONS 660 -#define IDS_HOW_TO_PLAY_MENU_HUD 661 -#define IDS_HOW_TO_PLAY_MENU_INVENTORY 662 -#define IDS_HOW_TO_PLAY_MENU_MULTIPLAYER 663 -#define IDS_HOW_TO_PLAY_MENU_NETHERPORTAL 664 -#define IDS_HOW_TO_PLAY_MENU_SOCIALMEDIA 665 -#define IDS_HOW_TO_PLAY_MENU_SPRINT 666 -#define IDS_HOW_TO_PLAY_MENU_THEEND 667 -#define IDS_HOW_TO_PLAY_MENU_TRADING 668 -#define IDS_HOW_TO_PLAY_MENU_WHATSNEW 669 -#define IDS_HOW_TO_PLAY_MULTIPLAYER 670 -#define IDS_HOW_TO_PLAY_NETHERPORTAL 671 -#define IDS_HOW_TO_PLAY_NEXT 672 -#define IDS_HOW_TO_PLAY_PREV 673 -#define IDS_HOW_TO_PLAY_SOCIALMEDIA 674 -#define IDS_HOW_TO_PLAY_THEEND 675 -#define IDS_HOW_TO_PLAY_TRADING 676 -#define IDS_HOW_TO_PLAY_WHATSNEW 677 -#define IDS_ICON_SHANK_01 678 -#define IDS_ICON_SHANK_03 679 -#define IDS_IN_GAME_GAMERTAGS 680 -#define IDS_IN_GAME_TOOLTIPS 681 -#define IDS_INGREDIENT 682 -#define IDS_INGREDIENTS 683 -#define IDS_INVENTORY 684 -#define IDS_INVERT_LOOK 685 -#define IDS_INVISIBLE 686 -#define IDS_INVITE_ONLY 687 -#define IDS_IRONGOLEM 688 -#define IDS_ITEM_APPLE 689 -#define IDS_ITEM_APPLE_GOLD 690 -#define IDS_ITEM_ARROW 691 -#define IDS_ITEM_BED 692 -#define IDS_ITEM_BEEF_COOKED 693 -#define IDS_ITEM_BEEF_RAW 694 -#define IDS_ITEM_BLAZE_POWDER 695 -#define IDS_ITEM_BLAZE_ROD 696 -#define IDS_ITEM_BOAT 697 -#define IDS_ITEM_BONE 698 -#define IDS_ITEM_BOOK 699 -#define IDS_ITEM_BOOTS_CHAIN 700 -#define IDS_ITEM_BOOTS_CLOTH 701 -#define IDS_ITEM_BOOTS_DIAMOND 702 -#define IDS_ITEM_BOOTS_GOLD 703 -#define IDS_ITEM_BOOTS_IRON 704 -#define IDS_ITEM_BOW 705 -#define IDS_ITEM_BOWL 706 -#define IDS_ITEM_BREAD 707 -#define IDS_ITEM_BREWING_STAND 708 -#define IDS_ITEM_BRICK 709 -#define IDS_ITEM_BUCKET 710 -#define IDS_ITEM_BUCKET_LAVA 711 -#define IDS_ITEM_BUCKET_MILK 712 -#define IDS_ITEM_BUCKET_WATER 713 -#define IDS_ITEM_CAKE 714 -#define IDS_ITEM_CARROT_GOLDEN 715 -#define IDS_ITEM_CARROT_ON_A_STICK 716 -#define IDS_ITEM_CAULDRON 717 -#define IDS_ITEM_CHARCOAL 718 -#define IDS_ITEM_CHESTPLATE_CHAIN 719 -#define IDS_ITEM_CHESTPLATE_CLOTH 720 -#define IDS_ITEM_CHESTPLATE_DIAMOND 721 -#define IDS_ITEM_CHESTPLATE_GOLD 722 -#define IDS_ITEM_CHESTPLATE_IRON 723 -#define IDS_ITEM_CHICKEN_COOKED 724 -#define IDS_ITEM_CHICKEN_RAW 725 -#define IDS_ITEM_CLAY 726 -#define IDS_ITEM_CLOCK 727 -#define IDS_ITEM_COAL 728 -#define IDS_ITEM_COMPASS 729 -#define IDS_ITEM_COOKIE 730 -#define IDS_ITEM_DIAMOND 731 -#define IDS_ITEM_DIODE 732 -#define IDS_ITEM_DOOR_IRON 733 -#define IDS_ITEM_DOOR_WOOD 734 -#define IDS_ITEM_DYE_POWDER 735 -#define IDS_ITEM_DYE_POWDER_BLACK 736 -#define IDS_ITEM_DYE_POWDER_BLUE 737 -#define IDS_ITEM_DYE_POWDER_BROWN 738 -#define IDS_ITEM_DYE_POWDER_CYAN 739 -#define IDS_ITEM_DYE_POWDER_GRAY 740 -#define IDS_ITEM_DYE_POWDER_GREEN 741 -#define IDS_ITEM_DYE_POWDER_LIGHT_BLUE 742 -#define IDS_ITEM_DYE_POWDER_LIME 743 -#define IDS_ITEM_DYE_POWDER_MAGENTA 744 -#define IDS_ITEM_DYE_POWDER_ORANGE 745 -#define IDS_ITEM_DYE_POWDER_PINK 746 -#define IDS_ITEM_DYE_POWDER_PURPLE 747 -#define IDS_ITEM_DYE_POWDER_RED 748 -#define IDS_ITEM_DYE_POWDER_SILVER 749 -#define IDS_ITEM_DYE_POWDER_WHITE 750 -#define IDS_ITEM_DYE_POWDER_YELLOW 751 -#define IDS_ITEM_EGG 752 -#define IDS_ITEM_EMERALD 753 -#define IDS_ITEM_ENCHANTED_BOOK 754 -#define IDS_ITEM_ENDER_PEARL 755 -#define IDS_ITEM_EXP_BOTTLE 756 -#define IDS_ITEM_EYE_OF_ENDER 757 -#define IDS_ITEM_FEATHER 758 -#define IDS_ITEM_FERMENTED_SPIDER_EYE 759 -#define IDS_ITEM_FIREBALL 760 -#define IDS_ITEM_FIREBALLCHARCOAL 761 -#define IDS_ITEM_FIREBALLCOAL 762 -#define IDS_ITEM_FISH_COOKED 763 -#define IDS_ITEM_FISH_RAW 764 -#define IDS_ITEM_FISHING_ROD 765 -#define IDS_ITEM_FLINT 766 -#define IDS_ITEM_FLINT_AND_STEEL 767 -#define IDS_ITEM_GHAST_TEAR 768 -#define IDS_ITEM_GLASS_BOTTLE 769 -#define IDS_ITEM_GOLD_NUGGET 770 -#define IDS_ITEM_HATCHET_DIAMOND 771 -#define IDS_ITEM_HATCHET_GOLD 772 -#define IDS_ITEM_HATCHET_IRON 773 -#define IDS_ITEM_HATCHET_STONE 774 -#define IDS_ITEM_HATCHET_WOOD 775 -#define IDS_ITEM_HELMET_CHAIN 776 -#define IDS_ITEM_HELMET_CLOTH 777 -#define IDS_ITEM_HELMET_DIAMOND 778 -#define IDS_ITEM_HELMET_GOLD 779 -#define IDS_ITEM_HELMET_IRON 780 -#define IDS_ITEM_HOE_DIAMOND 781 -#define IDS_ITEM_HOE_GOLD 782 -#define IDS_ITEM_HOE_IRON 783 -#define IDS_ITEM_HOE_STONE 784 -#define IDS_ITEM_HOE_WOOD 785 -#define IDS_ITEM_INGOT_GOLD 786 -#define IDS_ITEM_INGOT_IRON 787 -#define IDS_ITEM_ITEMFRAME 788 -#define IDS_ITEM_LEATHER 789 -#define IDS_ITEM_LEGGINGS_CHAIN 790 -#define IDS_ITEM_LEGGINGS_CLOTH 791 -#define IDS_ITEM_LEGGINGS_DIAMOND 792 -#define IDS_ITEM_LEGGINGS_GOLD 793 -#define IDS_ITEM_LEGGINGS_IRON 794 -#define IDS_ITEM_MAGMA_CREAM 795 -#define IDS_ITEM_MAP 796 -#define IDS_ITEM_MELON_SEEDS 797 -#define IDS_ITEM_MELON_SLICE 798 -#define IDS_ITEM_MINECART 799 -#define IDS_ITEM_MINECART_CHEST 800 -#define IDS_ITEM_MINECART_FURNACE 801 -#define IDS_ITEM_MONSTER_SPAWNER 802 -#define IDS_ITEM_MUSHROOM_STEW 803 -#define IDS_ITEM_NETHER_QUARTZ 804 -#define IDS_ITEM_NETHER_STALK_SEEDS 805 -#define IDS_ITEM_NETHERBRICK 806 -#define IDS_ITEM_PAINTING 807 -#define IDS_ITEM_PAPER 808 -#define IDS_ITEM_PICKAXE_DIAMOND 809 -#define IDS_ITEM_PICKAXE_GOLD 810 -#define IDS_ITEM_PICKAXE_IRON 811 -#define IDS_ITEM_PICKAXE_STONE 812 -#define IDS_ITEM_PICKAXE_WOOD 813 -#define IDS_ITEM_PORKCHOP_COOKED 814 -#define IDS_ITEM_PORKCHOP_RAW 815 -#define IDS_ITEM_POTATO_BAKED 816 -#define IDS_ITEM_POTATO_POISONOUS 817 -#define IDS_ITEM_POTION 818 -#define IDS_ITEM_PUMPKIN_PIE 819 -#define IDS_ITEM_PUMPKIN_SEEDS 820 -#define IDS_ITEM_RECORD_01 821 -#define IDS_ITEM_RECORD_02 822 -#define IDS_ITEM_RECORD_03 823 -#define IDS_ITEM_RECORD_04 824 -#define IDS_ITEM_RECORD_05 825 -#define IDS_ITEM_RECORD_06 826 -#define IDS_ITEM_RECORD_07 827 -#define IDS_ITEM_RECORD_08 828 -#define IDS_ITEM_RECORD_09 829 -#define IDS_ITEM_RECORD_10 830 -#define IDS_ITEM_RECORD_11 831 -#define IDS_ITEM_RECORD_12 832 -#define IDS_ITEM_REDSTONE 833 -#define IDS_ITEM_REEDS 834 -#define IDS_ITEM_ROTTEN_FLESH 835 -#define IDS_ITEM_SADDLE 836 -#define IDS_ITEM_SHEARS 837 -#define IDS_ITEM_SHOVEL_DIAMOND 838 -#define IDS_ITEM_SHOVEL_GOLD 839 -#define IDS_ITEM_SHOVEL_IRON 840 -#define IDS_ITEM_SHOVEL_STONE 841 -#define IDS_ITEM_SHOVEL_WOOD 842 -#define IDS_ITEM_SIGN 843 -#define IDS_ITEM_SKULL 844 -#define IDS_ITEM_SKULL_CHARACTER 845 -#define IDS_ITEM_SKULL_CREEPER 846 -#define IDS_ITEM_SKULL_PLAYER 847 -#define IDS_ITEM_SKULL_SKELETON 848 -#define IDS_ITEM_SKULL_WITHER 849 -#define IDS_ITEM_SKULL_ZOMBIE 850 -#define IDS_ITEM_SLIMEBALL 851 -#define IDS_ITEM_SNOWBALL 852 -#define IDS_ITEM_SPECKLED_MELON 853 -#define IDS_ITEM_SPIDER_EYE 854 -#define IDS_ITEM_STICK 855 -#define IDS_ITEM_STRING 856 -#define IDS_ITEM_SUGAR 857 -#define IDS_ITEM_SULPHUR 858 -#define IDS_ITEM_SWORD_DIAMOND 859 -#define IDS_ITEM_SWORD_GOLD 860 -#define IDS_ITEM_SWORD_IRON 861 -#define IDS_ITEM_SWORD_STONE 862 -#define IDS_ITEM_SWORD_WOOD 863 -#define IDS_ITEM_WATER_BOTTLE 864 -#define IDS_ITEM_WHEAT 865 -#define IDS_ITEM_WHEAT_SEEDS 866 -#define IDS_ITEM_YELLOW_DUST 867 -#define IDS_JOIN_GAME 868 -#define IDS_KEYBOARDUI_SAVEGAME_TEXT 869 -#define IDS_KEYBOARDUI_SAVEGAME_TITLE 870 -#define IDS_KICK_PLAYER 871 -#define IDS_KICK_PLAYER_DESCRIPTION 872 -#define IDS_LABEL_DIFFICULTY 873 -#define IDS_LABEL_FIRE_SPREADS 874 -#define IDS_LABEL_GAME_TYPE 875 -#define IDS_LABEL_GAMERTAGS 876 -#define IDS_LABEL_LEVEL_TYPE 877 -#define IDS_LABEL_PvP 878 -#define IDS_LABEL_STRUCTURES 879 -#define IDS_LABEL_TNT 880 -#define IDS_LABEL_TRUST 881 -#define IDS_LAVA_SLIME 882 -#define IDS_LEADERBOARD_ENTRIES 883 -#define IDS_LEADERBOARD_FARMING_EASY 884 -#define IDS_LEADERBOARD_FARMING_HARD 885 -#define IDS_LEADERBOARD_FARMING_NORMAL 886 -#define IDS_LEADERBOARD_FARMING_PEACEFUL 887 -#define IDS_LEADERBOARD_FILTER 888 -#define IDS_LEADERBOARD_FILTER_FRIENDS 889 -#define IDS_LEADERBOARD_FILTER_MYSCORE 890 -#define IDS_LEADERBOARD_FILTER_OVERALL 891 -#define IDS_LEADERBOARD_GAMERTAG 892 -#define IDS_LEADERBOARD_KILLS_EASY 893 -#define IDS_LEADERBOARD_KILLS_HARD 894 -#define IDS_LEADERBOARD_KILLS_NORMAL 895 -#define IDS_LEADERBOARD_LOADING 896 -#define IDS_LEADERBOARD_MINING_BLOCKS_EASY 897 -#define IDS_LEADERBOARD_MINING_BLOCKS_HARD 898 -#define IDS_LEADERBOARD_MINING_BLOCKS_NORMAL 899 -#define IDS_LEADERBOARD_MINING_BLOCKS_PEACEFUL 900 -#define IDS_LEADERBOARD_NORESULTS 901 -#define IDS_LEADERBOARD_RANK 902 -#define IDS_LEADERBOARD_TRAVELLING_EASY 903 -#define IDS_LEADERBOARD_TRAVELLING_HARD 904 -#define IDS_LEADERBOARD_TRAVELLING_NORMAL 905 -#define IDS_LEADERBOARD_TRAVELLING_PEACEFUL 906 -#define IDS_LEADERBOARDS 907 -#define IDS_LEVELTYPE_NORMAL 908 -#define IDS_LEVELTYPE_SUPERFLAT 909 -#define IDS_LOAD 910 -#define IDS_LOAD_SAVED_WORLD 911 -#define IDS_MAX_BOATS 912 -#define IDS_MAX_CHICKENS_BRED 913 -#define IDS_MAX_CHICKENS_SPAWNED 914 -#define IDS_MAX_ENEMIES_SPAWNED 915 -#define IDS_MAX_HANGINGENTITIES 916 -#define IDS_MAX_MOOSHROOMS_SPAWNED 917 -#define IDS_MAX_MUSHROOMCOWS_BRED 918 -#define IDS_MAX_PIGS_SHEEP_COWS_CATS_BRED 919 -#define IDS_MAX_PIGS_SHEEP_COWS_CATS_SPAWNED 920 -#define IDS_MAX_SKULL_TILES 921 -#define IDS_MAX_SQUID_SPAWNED 922 -#define IDS_MAX_VILLAGERS_SPAWNED 923 -#define IDS_MAX_WOLVES_BRED 924 -#define IDS_MAX_WOLVES_SPAWNED 925 -#define IDS_MINUTES 926 -#define IDS_MODERATOR 927 -#define IDS_MORE_OPTIONS 928 -#define IDS_MULTIPLAYER_FULL_TEXT 929 -#define IDS_MULTIPLAYER_FULL_TITLE 930 -#define IDS_MUSHROOM_COW 931 -#define IDS_MUST_SIGN_IN_TEXT 932 -#define IDS_MUST_SIGN_IN_TITLE 933 -#define IDS_NAME_CAPTION 934 -#define IDS_NAME_CAPTION_TEXT 935 -#define IDS_NAME_DESC 936 -#define IDS_NAME_DESC_TEXT 937 -#define IDS_NAME_TITLE 938 -#define IDS_NAME_TITLE_TEXT 939 -#define IDS_NAME_WORLD 940 -#define IDS_NAME_WORLD_TEXT 941 -#define IDS_NO 942 -#define IDS_NO_DLCOFFERS 943 -#define IDS_NO_GAMES_FOUND 944 -#define IDS_NO_MULTIPLAYER_PRIVILEGE_HOST_TEXT 945 -#define IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT 946 -#define IDS_NO_MULTIPLAYER_PRIVILEGE_TITLE 947 -#define IDS_NO_SKIN_PACK 948 -#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL 949 -#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_CREATE 950 -#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_REMOTE 951 -#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL 952 -#define IDS_NODEVICE_ACCEPT 953 -#define IDS_NODEVICE_DECLINE 954 -#define IDS_NODEVICE_TEXT 955 -#define IDS_NODEVICE_TITLE 956 -#define IDS_NOFREESPACE_TEXT 957 -#define IDS_NOFREESPACE_TITLE 958 -#define IDS_NOTALLOWED_FRIENDSOFFRIENDS 959 -#define IDS_NOWPLAYING 960 -#define IDS_NULL 961 -#define IDS_OFF 962 -#define IDS_OK 963 -#define IDS_ON 964 -#define IDS_ONLINE_GAME 965 -#define IDS_OPTIONS 966 -#define IDS_OVERWRITESAVE_NO 967 -#define IDS_OVERWRITESAVE_TEXT 968 -#define IDS_OVERWRITESAVE_TITLE 969 -#define IDS_OVERWRITESAVE_YES 970 -#define IDS_OZELOT 971 -#define IDS_PIG 972 -#define IDS_PIGZOMBIE 973 -#define IDS_PLATFORM_NAME 974 -#define IDS_PLAY_GAME 975 -#define IDS_PLAY_TUTORIAL 976 -#define IDS_PLAYER_BANNED_LEVEL 977 -#define IDS_PLAYER_ENTERED_END 978 -#define IDS_PLAYER_JOINED 979 -#define IDS_PLAYER_KICKED 980 -#define IDS_PLAYER_LEFT 981 -#define IDS_PLAYER_LEFT_END 982 -#define IDS_PLAYER_VS_PLAYER 983 -#define IDS_PLAYERS 984 -#define IDS_PLAYERS_INVITE 985 -#define IDS_PLAYWITHOUTSAVING 986 -#define IDS_POTATO 987 -#define IDS_POTION_BLINDNESS 988 -#define IDS_POTION_BLINDNESS_POSTFIX 989 -#define IDS_POTION_CONFUSION 990 -#define IDS_POTION_CONFUSION_POSTFIX 991 -#define IDS_POTION_DAMAGEBOOST 992 -#define IDS_POTION_DAMAGEBOOST_POSTFIX 993 -#define IDS_POTION_DESC_DAMAGEBOOST 994 -#define IDS_POTION_DESC_EMPTY 995 -#define IDS_POTION_DESC_FIRERESISTANCE 996 -#define IDS_POTION_DESC_HARM 997 -#define IDS_POTION_DESC_HEAL 998 -#define IDS_POTION_DESC_INVISIBILITY 999 -#define IDS_POTION_DESC_MOVESLOWDOWN 1000 -#define IDS_POTION_DESC_MOVESPEED 1001 -#define IDS_POTION_DESC_NIGHTVISION 1002 -#define IDS_POTION_DESC_POISON 1003 -#define IDS_POTION_DESC_REGENERATION 1004 -#define IDS_POTION_DESC_WATER_BOTTLE 1005 -#define IDS_POTION_DESC_WEAKNESS 1006 -#define IDS_POTION_DIGSLOWDOWN 1007 -#define IDS_POTION_DIGSLOWDOWN_POSTFIX 1008 -#define IDS_POTION_DIGSPEED 1009 -#define IDS_POTION_DIGSPEED_POSTFIX 1010 -#define IDS_POTION_EMPTY 1011 -#define IDS_POTION_FIRERESISTANCE 1012 -#define IDS_POTION_FIRERESISTANCE_POSTFIX 1013 -#define IDS_POTION_HARM 1014 -#define IDS_POTION_HARM_POSTFIX 1015 -#define IDS_POTION_HEAL 1016 -#define IDS_POTION_HEAL_POSTFIX 1017 -#define IDS_POTION_HUNGER 1018 -#define IDS_POTION_HUNGER_POSTFIX 1019 -#define IDS_POTION_INVISIBILITY 1020 -#define IDS_POTION_INVISIBILITY_POSTFIX 1021 -#define IDS_POTION_JUMP 1022 -#define IDS_POTION_JUMP_POSTFIX 1023 -#define IDS_POTION_MOVESLOWDOWN 1024 -#define IDS_POTION_MOVESLOWDOWN_POSTFIX 1025 -#define IDS_POTION_MOVESPEED 1026 -#define IDS_POTION_MOVESPEED_POSTFIX 1027 -#define IDS_POTION_NIGHTVISION 1028 -#define IDS_POTION_NIGHTVISION_POSTFIX 1029 -#define IDS_POTION_POISON 1030 -#define IDS_POTION_POISON_POSTFIX 1031 -#define IDS_POTION_POTENCY_0 1032 -#define IDS_POTION_POTENCY_1 1033 -#define IDS_POTION_POTENCY_2 1034 -#define IDS_POTION_POTENCY_3 1035 -#define IDS_POTION_PREFIX_ACRID 1036 -#define IDS_POTION_PREFIX_ARTLESS 1037 -#define IDS_POTION_PREFIX_AWKWARD 1038 -#define IDS_POTION_PREFIX_BLAND 1039 -#define IDS_POTION_PREFIX_BULKY 1040 -#define IDS_POTION_PREFIX_BUNGLING 1041 -#define IDS_POTION_PREFIX_BUTTERED 1042 -#define IDS_POTION_PREFIX_CHARMING 1043 -#define IDS_POTION_PREFIX_CLEAR 1044 -#define IDS_POTION_PREFIX_CORDIAL 1045 -#define IDS_POTION_PREFIX_DASHING 1046 -#define IDS_POTION_PREFIX_DEBONAIR 1047 -#define IDS_POTION_PREFIX_DIFFUSE 1048 -#define IDS_POTION_PREFIX_ELEGANT 1049 -#define IDS_POTION_PREFIX_FANCY 1050 -#define IDS_POTION_PREFIX_FLAT 1051 -#define IDS_POTION_PREFIX_FOUL 1052 -#define IDS_POTION_PREFIX_GRENADE 1053 -#define IDS_POTION_PREFIX_GROSS 1054 -#define IDS_POTION_PREFIX_HARSH 1055 -#define IDS_POTION_PREFIX_MILKY 1056 -#define IDS_POTION_PREFIX_MUNDANE 1057 -#define IDS_POTION_PREFIX_ODORLESS 1058 -#define IDS_POTION_PREFIX_POTENT 1059 -#define IDS_POTION_PREFIX_RANK 1060 -#define IDS_POTION_PREFIX_REFINED 1061 -#define IDS_POTION_PREFIX_SMOOTH 1062 -#define IDS_POTION_PREFIX_SPARKLING 1063 -#define IDS_POTION_PREFIX_STINKY 1064 -#define IDS_POTION_PREFIX_SUAVE 1065 -#define IDS_POTION_PREFIX_THICK 1066 -#define IDS_POTION_PREFIX_THIN 1067 -#define IDS_POTION_PREFIX_UNINTERESTING 1068 -#define IDS_POTION_REGENERATION 1069 -#define IDS_POTION_REGENERATION_POSTFIX 1070 -#define IDS_POTION_RESISTANCE 1071 -#define IDS_POTION_RESISTANCE_POSTFIX 1072 -#define IDS_POTION_WATERBREATHING 1073 -#define IDS_POTION_WATERBREATHING_POSTFIX 1074 -#define IDS_POTION_WEAKNESS 1075 -#define IDS_POTION_WEAKNESS_POSTFIX 1076 -#define IDS_PRESS_START_TO_JOIN 1077 -#define IDS_PRIV_ATTACK_ANIMAL_TOGGLE_OFF 1078 -#define IDS_PRIV_ATTACK_ANIMAL_TOGGLE_ON 1079 -#define IDS_PRIV_ATTACK_MOB_TOGGLE_OFF 1080 -#define IDS_PRIV_ATTACK_MOB_TOGGLE_ON 1081 -#define IDS_PRIV_ATTACK_PLAYER_TOGGLE_OFF 1082 -#define IDS_PRIV_ATTACK_PLAYER_TOGGLE_ON 1083 -#define IDS_PRIV_BUILD_TOGGLE_OFF 1084 -#define IDS_PRIV_BUILD_TOGGLE_ON 1085 -#define IDS_PRIV_CAN_EXHAUSTION_TOGGLE_OFF 1086 -#define IDS_PRIV_CAN_EXHAUSTION_TOGGLE_ON 1087 -#define IDS_PRIV_CAN_FLY_TOGGLE_OFF 1088 -#define IDS_PRIV_CAN_FLY_TOGGLE_ON 1089 -#define IDS_PRIV_CAN_INVISIBLE_TOGGLE_OFF 1090 -#define IDS_PRIV_CAN_INVISIBLE_TOGGLE_ON 1091 -#define IDS_PRIV_CAN_TELEPORT_TOGGLE_OFF 1092 -#define IDS_PRIV_CAN_TELEPORT_TOGGLE_ON 1093 -#define IDS_PRIV_EXHAUSTION_TOGGLE_OFF 1094 -#define IDS_PRIV_EXHAUSTION_TOGGLE_ON 1095 -#define IDS_PRIV_FLY_TOGGLE_OFF 1096 -#define IDS_PRIV_FLY_TOGGLE_ON 1097 -#define IDS_PRIV_INVISIBLE_TOGGLE_OFF 1098 -#define IDS_PRIV_INVISIBLE_TOGGLE_ON 1099 -#define IDS_PRIV_INVULNERABLE_TOGGLE_OFF 1100 -#define IDS_PRIV_INVULNERABLE_TOGGLE_ON 1101 -#define IDS_PRIV_MINE_TOGGLE_OFF 1102 -#define IDS_PRIV_MINE_TOGGLE_ON 1103 -#define IDS_PRIV_MODERATOR_TOGGLE_OFF 1104 -#define IDS_PRIV_MODERATOR_TOGGLE_ON 1105 -#define IDS_PRIV_USE_CONTAINERS_TOGGLE_OFF 1106 -#define IDS_PRIV_USE_CONTAINERS_TOGGLE_ON 1107 -#define IDS_PRIV_USE_DOORS_TOGGLE_OFF 1108 -#define IDS_PRIV_USE_DOORS_TOGGLE_ON 1109 -#define IDS_PRO_ACHIEVEMENTPROBLEM_TEXT 1110 -#define IDS_PRO_ACHIEVEMENTPROBLEM_TITLE 1111 -#define IDS_PRO_GUESTPROFILE_TEXT 1112 -#define IDS_PRO_GUESTPROFILE_TITLE 1113 -#define IDS_PRO_NOPROFILE_TITLE 1114 -#define IDS_PRO_NOPROFILEOPTIONS_TEXT 1115 -#define IDS_PRO_NOTONLINE_ACCEPT 1116 -#define IDS_PRO_NOTONLINE_DECLINE 1117 -#define IDS_PRO_NOTONLINE_TEXT 1118 -#define IDS_PRO_NOTONLINE_TITLE 1119 -#define IDS_PRO_PROFILEPROBLEM_TEXT 1120 -#define IDS_PRO_RETURNEDTOMENU_ACCEPT 1121 -#define IDS_PRO_RETURNEDTOMENU_TEXT 1122 -#define IDS_PRO_RETURNEDTOMENU_TITLE 1123 -#define IDS_PRO_RETURNEDTOTITLESCREEN_TEXT 1124 -#define IDS_PRO_UNLOCKGAME_TEXT 1125 -#define IDS_PRO_UNLOCKGAME_TITLE 1126 -#define IDS_PRO_XBOXLIVE_NOTIFICATION 1127 -#define IDS_PROGRESS_AUTOSAVING_LEVEL 1128 -#define IDS_PROGRESS_BUILDING_TERRAIN 1129 -#define IDS_PROGRESS_CONNECTING 1130 -#define IDS_PROGRESS_CONVERTING_TO_OFFLINE_GAME 1131 -#define IDS_PROGRESS_DOWNLOADING_TERRAIN 1132 -#define IDS_PROGRESS_ENTERING_END 1133 -#define IDS_PROGRESS_ENTERING_NETHER 1134 -#define IDS_PROGRESS_GENERATING_LEVEL 1135 -#define IDS_PROGRESS_GENERATING_SPAWN_AREA 1136 -#define IDS_PROGRESS_HOST_SAVING 1137 -#define IDS_PROGRESS_INITIALISING_SERVER 1138 -#define IDS_PROGRESS_LEAVING_END 1139 -#define IDS_PROGRESS_LEAVING_NETHER 1140 -#define IDS_PROGRESS_LOADING_LEVEL 1141 -#define IDS_PROGRESS_LOADING_SPAWN_AREA 1142 -#define IDS_PROGRESS_NEW_WORLD_SEED 1143 -#define IDS_PROGRESS_RESPAWNING 1144 -#define IDS_PROGRESS_SAVING_CHUNKS 1145 -#define IDS_PROGRESS_SAVING_LEVEL 1146 -#define IDS_PROGRESS_SAVING_PLAYERS 1147 -#define IDS_PROGRESS_SAVING_TO_DISC 1148 -#define IDS_PROGRESS_SIMULATING_WORLD 1149 -#define IDS_REINSTALL_AVATAR_ITEM_1 1150 -#define IDS_REINSTALL_AVATAR_ITEM_2 1151 -#define IDS_REINSTALL_AVATAR_ITEM_3 1152 -#define IDS_REINSTALL_CONTENT 1153 -#define IDS_REINSTALL_GAMERPIC_1 1154 -#define IDS_REINSTALL_GAMERPIC_2 1155 -#define IDS_REINSTALL_THEME 1156 -#define IDS_RENAME_WORLD_TEXT 1157 -#define IDS_RENAME_WORLD_TITLE 1158 -#define IDS_REPAIR_AND_NAME 1159 -#define IDS_REPAIR_COST 1160 -#define IDS_REPAIR_EXPENSIVE 1161 -#define IDS_REQUIRED_ITEMS_FOR_TRADE 1162 -#define IDS_RESET_NETHER 1163 -#define IDS_RESET_TO_DEFAULTS 1164 -#define IDS_RESETNETHER_TEXT 1165 -#define IDS_RESETNETHER_TITLE 1166 -#define IDS_RESPAWN 1167 -#define IDS_RESUME_GAME 1168 -#define IDS_RETURNEDTOMENU_TITLE 1169 -#define IDS_RETURNEDTOTITLESCREEN_TEXT 1170 -#define IDS_SAVE_GAME 1171 -#define IDS_SAVE_ICON_MESSAGE 1172 -#define IDS_SEED 1173 -#define IDS_SELECTAGAIN 1174 -#define IDS_SELECTANEWDEVICE 1175 -#define IDS_SELECTED 1176 -#define IDS_SELECTED_SKIN 1177 -#define IDS_SETTINGS 1178 -#define IDS_SHEEP 1179 -#define IDS_SIGN_TITLE 1180 -#define IDS_SIGN_TITLE_TEXT 1181 -#define IDS_SILVERFISH 1182 -#define IDS_SKELETON 1183 -#define IDS_SKINS 1184 -#define IDS_SLIDER_AUTOSAVE 1185 -#define IDS_SLIDER_AUTOSAVE_OFF 1186 -#define IDS_SLIDER_DIFFICULTY 1187 -#define IDS_SLIDER_GAMMA 1188 -#define IDS_SLIDER_INTERFACEOPACITY 1189 -#define IDS_SLIDER_MUSIC 1190 -#define IDS_SLIDER_SENSITIVITY_INGAME 1191 -#define IDS_SLIDER_SENSITIVITY_INMENU 1192 -#define IDS_SLIDER_SOUND 1193 -#define IDS_SLIDER_UISIZE 1194 -#define IDS_SLIDER_UISIZESPLITSCREEN 1195 -#define IDS_SLIME 1196 -#define IDS_SNOWMAN 1197 -#define IDS_SOCIAL_DEFAULT_CAPTION 1198 -#define IDS_SOCIAL_DEFAULT_DESCRIPTION 1199 -#define IDS_SOCIAL_LABEL_CAPTION 1200 -#define IDS_SOCIAL_LABEL_DESCRIPTION 1201 -#define IDS_SOCIAL_TEXT 1202 -#define IDS_SOUTHPAW 1203 -#define IDS_SPIDER 1204 -#define IDS_SQUID 1205 -#define IDS_START_GAME 1206 -#define IDS_STO_SAVING_LONG 1207 -#define IDS_STO_SAVING_SHORT 1208 -#define IDS_STORAGEDEVICEPROBLEM_TITLE 1209 -#define IDS_STRINGVERIFY_AWAITING_APPROVAL 1210 -#define IDS_STRINGVERIFY_CENSORED 1211 -#define IDS_SUPERFLAT_WORLD 1212 -#define IDS_SURVIVAL 1213 -#define IDS_TELEPORT 1214 -#define IDS_TELEPORT_TO_ME 1215 -#define IDS_TELEPORT_TO_PLAYER 1216 -#define IDS_TEXT_DELETE_SAVE 1217 -#define IDS_TEXT_SAVEOPTIONS 1218 -#define IDS_TEXTURE_PACK_TRIALVERSION 1219 -#define IDS_TEXTUREPACK_FULLVERSION 1220 -#define IDS_THEMES 1221 -#define IDS_TILE_ANVIL 1222 -#define IDS_TILE_ANVIL_INTACT 1223 -#define IDS_TILE_ANVIL_SLIGHTLYDAMAGED 1224 -#define IDS_TILE_ANVIL_VERYDAMAGED 1225 -#define IDS_TILE_BED 1226 -#define IDS_TILE_BED_MESLEEP 1227 -#define IDS_TILE_BED_NO_SLEEP 1228 -#define IDS_TILE_BED_NOT_VALID 1229 -#define IDS_TILE_BED_NOTSAFE 1230 -#define IDS_TILE_BED_OCCUPIED 1231 -#define IDS_TILE_BED_PLAYERSLEEP 1232 -#define IDS_TILE_BEDROCK 1233 -#define IDS_TILE_BIRCH 1234 -#define IDS_TILE_BIRCHWOOD_PLANKS 1235 -#define IDS_TILE_BLOCK_DIAMOND 1236 -#define IDS_TILE_BLOCK_GOLD 1237 -#define IDS_TILE_BLOCK_IRON 1238 -#define IDS_TILE_BLOCK_LAPIS 1239 -#define IDS_TILE_BOOKSHELF 1240 -#define IDS_TILE_BREWINGSTAND 1241 -#define IDS_TILE_BRICK 1242 -#define IDS_TILE_BUTTON 1243 -#define IDS_TILE_CACTUS 1244 -#define IDS_TILE_CAKE 1245 -#define IDS_TILE_CARPET 1246 -#define IDS_TILE_CARPET_BLACK 1247 -#define IDS_TILE_CARPET_BLUE 1248 -#define IDS_TILE_CARPET_BROWN 1249 -#define IDS_TILE_CARPET_CYAN 1250 -#define IDS_TILE_CARPET_GRAY 1251 -#define IDS_TILE_CARPET_GREEN 1252 -#define IDS_TILE_CARPET_LIGHT_BLUE 1253 -#define IDS_TILE_CARPET_LIME 1254 -#define IDS_TILE_CARPET_MAGENTA 1255 -#define IDS_TILE_CARPET_ORANGE 1256 -#define IDS_TILE_CARPET_PINK 1257 -#define IDS_TILE_CARPET_PURPLE 1258 -#define IDS_TILE_CARPET_RED 1259 -#define IDS_TILE_CARPET_SILVER 1260 -#define IDS_TILE_CARPET_WHITE 1261 -#define IDS_TILE_CARPET_YELLOW 1262 -#define IDS_TILE_CARROTS 1263 -#define IDS_TILE_CAULDRON 1264 -#define IDS_TILE_CHEST 1265 -#define IDS_TILE_CLAY 1266 -#define IDS_TILE_CLOTH 1267 -#define IDS_TILE_CLOTH_BLACK 1268 -#define IDS_TILE_CLOTH_BLUE 1269 -#define IDS_TILE_CLOTH_BROWN 1270 -#define IDS_TILE_CLOTH_CYAN 1271 -#define IDS_TILE_CLOTH_GRAY 1272 -#define IDS_TILE_CLOTH_GREEN 1273 -#define IDS_TILE_CLOTH_LIGHT_BLUE 1274 -#define IDS_TILE_CLOTH_LIME 1275 -#define IDS_TILE_CLOTH_MAGENTA 1276 -#define IDS_TILE_CLOTH_ORANGE 1277 -#define IDS_TILE_CLOTH_PINK 1278 -#define IDS_TILE_CLOTH_PURPLE 1279 -#define IDS_TILE_CLOTH_RED 1280 -#define IDS_TILE_CLOTH_SILVER 1281 -#define IDS_TILE_CLOTH_WHITE 1282 -#define IDS_TILE_CLOTH_YELLOW 1283 -#define IDS_TILE_COBBLESTONE_WALL 1284 -#define IDS_TILE_COBBLESTONE_WALL_MOSSY 1285 -#define IDS_TILE_COCOA 1286 -#define IDS_TILE_CROPS 1287 -#define IDS_TILE_DEAD_BUSH 1288 -#define IDS_TILE_DETECTOR_RAIL 1289 -#define IDS_TILE_DIODE 1290 -#define IDS_TILE_DIRT 1291 -#define IDS_TILE_DISPENSER 1292 -#define IDS_TILE_DOOR_IRON 1293 -#define IDS_TILE_DOOR_WOOD 1294 -#define IDS_TILE_DRAGONEGG 1295 -#define IDS_TILE_EMERALDBLOCK 1296 -#define IDS_TILE_EMERALDORE 1297 -#define IDS_TILE_ENCHANTMENTTABLE 1298 -#define IDS_TILE_END_PORTAL 1299 -#define IDS_TILE_ENDERCHEST 1300 -#define IDS_TILE_ENDPORTALFRAME 1301 -#define IDS_TILE_FARMLAND 1302 -#define IDS_TILE_FENCE 1303 -#define IDS_TILE_FENCE_GATE 1304 -#define IDS_TILE_FERN 1305 -#define IDS_TILE_FIRE 1306 -#define IDS_TILE_FLOWER 1307 -#define IDS_TILE_FLOWERPOT 1308 -#define IDS_TILE_FURNACE 1309 -#define IDS_TILE_GLASS 1310 -#define IDS_TILE_GOLDEN_RAIL 1311 -#define IDS_TILE_GRASS 1312 -#define IDS_TILE_GRAVEL 1313 -#define IDS_TILE_HELL_ROCK 1314 -#define IDS_TILE_HELL_SAND 1315 -#define IDS_TILE_HUGE_MUSHROOM_1 1316 -#define IDS_TILE_HUGE_MUSHROOM_2 1317 -#define IDS_TILE_ICE 1318 -#define IDS_TILE_IRON_FENCE 1319 -#define IDS_TILE_JUKEBOX 1320 -#define IDS_TILE_JUNGLE_PLANKS 1321 -#define IDS_TILE_LADDER 1322 -#define IDS_TILE_LAVA 1323 -#define IDS_TILE_LEAVES 1324 -#define IDS_TILE_LEAVES_BIRCH 1325 -#define IDS_TILE_LEAVES_JUNGLE 1326 -#define IDS_TILE_LEAVES_OAK 1327 -#define IDS_TILE_LEAVES_SPRUCE 1328 -#define IDS_TILE_LEVER 1329 -#define IDS_TILE_LIGHT_GEM 1330 -#define IDS_TILE_LIT_PUMPKIN 1331 -#define IDS_TILE_LOCKED_CHEST 1332 -#define IDS_TILE_LOG 1333 -#define IDS_TILE_LOG_BIRCH 1334 -#define IDS_TILE_LOG_JUNGLE 1335 -#define IDS_TILE_LOG_OAK 1336 -#define IDS_TILE_LOG_SPRUCE 1337 -#define IDS_TILE_MELON 1338 -#define IDS_TILE_MELON_STEM 1339 -#define IDS_TILE_MOB_SPAWNER 1340 -#define IDS_TILE_MONSTER_STONE_EGG 1341 -#define IDS_TILE_MUSHROOM 1342 -#define IDS_TILE_MUSIC_BLOCK 1343 -#define IDS_TILE_MYCEL 1344 -#define IDS_TILE_NETHER_QUARTZ 1345 -#define IDS_TILE_NETHERBRICK 1346 -#define IDS_TILE_NETHERFENCE 1347 -#define IDS_TILE_NETHERSTALK 1348 -#define IDS_TILE_NOT_GATE 1349 -#define IDS_TILE_OAK 1350 -#define IDS_TILE_OAKWOOD_PLANKS 1351 -#define IDS_TILE_OBSIDIAN 1352 -#define IDS_TILE_ORE_COAL 1353 -#define IDS_TILE_ORE_DIAMOND 1354 -#define IDS_TILE_ORE_GOLD 1355 -#define IDS_TILE_ORE_IRON 1356 -#define IDS_TILE_ORE_LAPIS 1357 -#define IDS_TILE_ORE_REDSTONE 1358 -#define IDS_TILE_PISTON_BASE 1359 -#define IDS_TILE_PISTON_STICK_BASE 1360 -#define IDS_TILE_PORTAL 1361 -#define IDS_TILE_POTATOES 1362 -#define IDS_TILE_PRESSURE_PLATE 1363 -#define IDS_TILE_PUMPKIN 1364 -#define IDS_TILE_PUMPKIN_STEM 1365 -#define IDS_TILE_QUARTZ_BLOCK 1366 -#define IDS_TILE_QUARTZ_BLOCK_CHISELED 1367 -#define IDS_TILE_QUARTZ_BLOCK_LINES 1368 -#define IDS_TILE_RAIL 1369 -#define IDS_TILE_REDSTONE_DUST 1370 -#define IDS_TILE_REDSTONE_LIGHT 1371 -#define IDS_TILE_REEDS 1372 -#define IDS_TILE_ROSE 1373 -#define IDS_TILE_SAND 1374 -#define IDS_TILE_SANDSTONE 1375 -#define IDS_TILE_SANDSTONE_CHISELED 1376 -#define IDS_TILE_SANDSTONE_SMOOTH 1377 -#define IDS_TILE_SAPLING 1378 -#define IDS_TILE_SAPLING_BIRCH 1379 -#define IDS_TILE_SAPLING_JUNGLE 1380 -#define IDS_TILE_SAPLING_OAK 1381 -#define IDS_TILE_SAPLING_SPRUCE 1382 -#define IDS_TILE_SHRUB 1383 -#define IDS_TILE_SIGN 1384 -#define IDS_TILE_SKULL 1385 -#define IDS_TILE_SNOW 1386 -#define IDS_TILE_SPONGE 1387 -#define IDS_TILE_SPRUCE 1388 -#define IDS_TILE_SPRUCEWOOD_PLANKS 1389 -#define IDS_TILE_STAIRS_BIRCHWOOD 1390 -#define IDS_TILE_STAIRS_BRICKS 1391 -#define IDS_TILE_STAIRS_JUNGLEWOOD 1392 -#define IDS_TILE_STAIRS_NETHERBRICK 1393 -#define IDS_TILE_STAIRS_QUARTZ 1394 -#define IDS_TILE_STAIRS_SANDSTONE 1395 -#define IDS_TILE_STAIRS_SPRUCEWOOD 1396 -#define IDS_TILE_STAIRS_STONE 1397 -#define IDS_TILE_STAIRS_STONE_BRICKS_SMOOTH 1398 -#define IDS_TILE_STAIRS_WOOD 1399 -#define IDS_TILE_STONE 1400 -#define IDS_TILE_STONE_BRICK 1401 -#define IDS_TILE_STONE_BRICK_SMOOTH 1402 -#define IDS_TILE_STONE_BRICK_SMOOTH_CHISELED 1403 -#define IDS_TILE_STONE_BRICK_SMOOTH_CRACKED 1404 -#define IDS_TILE_STONE_BRICK_SMOOTH_MOSSY 1405 -#define IDS_TILE_STONE_MOSS 1406 -#define IDS_TILE_STONE_SILVERFISH 1407 -#define IDS_TILE_STONE_SILVERFISH_COBBLESTONE 1408 -#define IDS_TILE_STONE_SILVERFISH_STONE_BRICK 1409 -#define IDS_TILE_STONESLAB 1410 -#define IDS_TILE_STONESLAB_BIRCH 1411 -#define IDS_TILE_STONESLAB_BRICK 1412 -#define IDS_TILE_STONESLAB_COBBLE 1413 -#define IDS_TILE_STONESLAB_JUNGLE 1414 -#define IDS_TILE_STONESLAB_NETHERBRICK 1415 -#define IDS_TILE_STONESLAB_OAK 1416 -#define IDS_TILE_STONESLAB_QUARTZ 1417 -#define IDS_TILE_STONESLAB_SAND 1418 -#define IDS_TILE_STONESLAB_SMOOTHBRICK 1419 -#define IDS_TILE_STONESLAB_SPRUCE 1420 -#define IDS_TILE_STONESLAB_STONE 1421 -#define IDS_TILE_STONESLAB_WOOD 1422 -#define IDS_TILE_TALL_GRASS 1423 -#define IDS_TILE_THIN_GLASS 1424 -#define IDS_TILE_TNT 1425 -#define IDS_TILE_TORCH 1426 -#define IDS_TILE_TORCHCHARCOAL 1427 -#define IDS_TILE_TORCHCOAL 1428 -#define IDS_TILE_TRAPDOOR 1429 -#define IDS_TILE_TRIPWIRE 1430 -#define IDS_TILE_TRIPWIRE_SOURCE 1431 -#define IDS_TILE_VINE 1432 -#define IDS_TILE_WATER 1433 -#define IDS_TILE_WATERLILY 1434 -#define IDS_TILE_WEB 1435 -#define IDS_TILE_WHITESTONE 1436 -#define IDS_TILE_WORKBENCH 1437 -#define IDS_TIPS_GAMETIP_0 1438 -#define IDS_TIPS_GAMETIP_1 1439 -#define IDS_TIPS_GAMETIP_10 1440 -#define IDS_TIPS_GAMETIP_11 1441 -#define IDS_TIPS_GAMETIP_12 1442 -#define IDS_TIPS_GAMETIP_13 1443 -#define IDS_TIPS_GAMETIP_14 1444 -#define IDS_TIPS_GAMETIP_15 1445 -#define IDS_TIPS_GAMETIP_16 1446 -#define IDS_TIPS_GAMETIP_17 1447 -#define IDS_TIPS_GAMETIP_18 1448 -#define IDS_TIPS_GAMETIP_19 1449 -#define IDS_TIPS_GAMETIP_2 1450 -#define IDS_TIPS_GAMETIP_20 1451 -#define IDS_TIPS_GAMETIP_21 1452 -#define IDS_TIPS_GAMETIP_22 1453 -#define IDS_TIPS_GAMETIP_23 1454 -#define IDS_TIPS_GAMETIP_24 1455 -#define IDS_TIPS_GAMETIP_25 1456 -#define IDS_TIPS_GAMETIP_26 1457 -#define IDS_TIPS_GAMETIP_27 1458 -#define IDS_TIPS_GAMETIP_28 1459 -#define IDS_TIPS_GAMETIP_29 1460 -#define IDS_TIPS_GAMETIP_3 1461 -#define IDS_TIPS_GAMETIP_30 1462 -#define IDS_TIPS_GAMETIP_31 1463 -#define IDS_TIPS_GAMETIP_32 1464 -#define IDS_TIPS_GAMETIP_33 1465 -#define IDS_TIPS_GAMETIP_34 1466 -#define IDS_TIPS_GAMETIP_35 1467 -#define IDS_TIPS_GAMETIP_36 1468 -#define IDS_TIPS_GAMETIP_37 1469 -#define IDS_TIPS_GAMETIP_38 1470 -#define IDS_TIPS_GAMETIP_39 1471 -#define IDS_TIPS_GAMETIP_4 1472 -#define IDS_TIPS_GAMETIP_40 1473 -#define IDS_TIPS_GAMETIP_41 1474 -#define IDS_TIPS_GAMETIP_42 1475 -#define IDS_TIPS_GAMETIP_43 1476 -#define IDS_TIPS_GAMETIP_44 1477 -#define IDS_TIPS_GAMETIP_45 1478 -#define IDS_TIPS_GAMETIP_46 1479 -#define IDS_TIPS_GAMETIP_47 1480 -#define IDS_TIPS_GAMETIP_48 1481 -#define IDS_TIPS_GAMETIP_49 1482 -#define IDS_TIPS_GAMETIP_5 1483 -#define IDS_TIPS_GAMETIP_50 1484 -#define IDS_TIPS_GAMETIP_6 1485 -#define IDS_TIPS_GAMETIP_7 1486 -#define IDS_TIPS_GAMETIP_8 1487 -#define IDS_TIPS_GAMETIP_9 1488 -#define IDS_TIPS_GAMETIP_NEWDLC 1489 -#define IDS_TIPS_GAMETIP_SKINPACKS 1490 -#define IDS_TIPS_TRIVIA_1 1491 -#define IDS_TIPS_TRIVIA_10 1492 -#define IDS_TIPS_TRIVIA_11 1493 -#define IDS_TIPS_TRIVIA_12 1494 -#define IDS_TIPS_TRIVIA_13 1495 -#define IDS_TIPS_TRIVIA_14 1496 -#define IDS_TIPS_TRIVIA_15 1497 -#define IDS_TIPS_TRIVIA_16 1498 -#define IDS_TIPS_TRIVIA_17 1499 -#define IDS_TIPS_TRIVIA_18 1500 -#define IDS_TIPS_TRIVIA_19 1501 -#define IDS_TIPS_TRIVIA_2 1502 -#define IDS_TIPS_TRIVIA_20 1503 -#define IDS_TIPS_TRIVIA_3 1504 -#define IDS_TIPS_TRIVIA_4 1505 -#define IDS_TIPS_TRIVIA_5 1506 -#define IDS_TIPS_TRIVIA_6 1507 -#define IDS_TIPS_TRIVIA_7 1508 -#define IDS_TIPS_TRIVIA_8 1509 -#define IDS_TIPS_TRIVIA_9 1510 -#define IDS_TITLE_DECLINE_SAVE_GAME 1511 -#define IDS_TITLE_RENAME 1512 -#define IDS_TITLE_RENAMESAVE 1513 -#define IDS_TITLE_SAVE_GAME 1514 -#define IDS_TITLE_START_GAME 1515 -#define IDS_TITLE_UPDATE_NAME 1516 -#define IDS_TITLEUPDATE 1517 -#define IDS_TNT_EXPLODES 1518 -#define IDS_TOOLTIPS_ACCEPT 1519 -#define IDS_TOOLTIPS_ALL_GAMES 1520 -#define IDS_TOOLTIPS_BACK 1521 -#define IDS_TOOLTIPS_BANLEVEL 1522 -#define IDS_TOOLTIPS_BLOCK 1523 -#define IDS_TOOLTIPS_CANCEL 1524 -#define IDS_TOOLTIPS_CANCEL_JOIN 1525 -#define IDS_TOOLTIPS_CHANGE_FILTER 1526 -#define IDS_TOOLTIPS_CHANGE_GROUP 1527 -#define IDS_TOOLTIPS_CHANGEDEVICE 1528 -#define IDS_TOOLTIPS_CHANGEPITCH 1529 -#define IDS_TOOLTIPS_CLEAR_QUICK_SELECT 1530 -#define IDS_TOOLTIPS_CLEARSLOTS 1531 -#define IDS_TOOLTIPS_COLLECT 1532 -#define IDS_TOOLTIPS_CONTINUE 1533 -#define IDS_TOOLTIPS_CRAFTING 1534 -#define IDS_TOOLTIPS_CREATE 1535 -#define IDS_TOOLTIPS_CREATIVE 1536 -#define IDS_TOOLTIPS_CURE 1537 -#define IDS_TOOLTIPS_DELETE 1538 -#define IDS_TOOLTIPS_DELETESAVE 1539 -#define IDS_TOOLTIPS_DETONATE 1540 -#define IDS_TOOLTIPS_DRAW_BOW 1541 -#define IDS_TOOLTIPS_DRINK 1542 -#define IDS_TOOLTIPS_DROP_ALL 1543 -#define IDS_TOOLTIPS_DROP_GENERIC 1544 -#define IDS_TOOLTIPS_DROP_ONE 1545 -#define IDS_TOOLTIPS_DYE 1546 -#define IDS_TOOLTIPS_DYECOLLAR 1547 -#define IDS_TOOLTIPS_EAT 1548 -#define IDS_TOOLTIPS_EJECT 1549 -#define IDS_TOOLTIPS_EMPTY 1550 -#define IDS_TOOLTIPS_EQUIP 1551 -#define IDS_TOOLTIPS_EXECUTE_COMMAND 1552 -#define IDS_TOOLTIPS_EXIT 1553 -#define IDS_TOOLTIPS_FEED 1554 -#define IDS_TOOLTIPS_FOLLOWME 1555 -#define IDS_TOOLTIPS_GROW 1556 -#define IDS_TOOLTIPS_HANG 1557 -#define IDS_TOOLTIPS_HARVEST 1558 -#define IDS_TOOLTIPS_HEAL 1559 -#define IDS_TOOLTIPS_HIDE 1560 -#define IDS_TOOLTIPS_HIT 1561 -#define IDS_TOOLTIPS_IGNITE 1562 -#define IDS_TOOLTIPS_INSTALL 1563 -#define IDS_TOOLTIPS_INSTALL_FULL 1564 -#define IDS_TOOLTIPS_INSTALL_TRIAL 1565 -#define IDS_TOOLTIPS_INVITE_FRIENDS 1566 -#define IDS_TOOLTIPS_INVITE_PARTY 1567 -#define IDS_TOOLTIPS_KICK 1568 -#define IDS_TOOLTIPS_LOVEMODE 1569 -#define IDS_TOOLTIPS_MILK 1570 -#define IDS_TOOLTIPS_MINE 1571 -#define IDS_TOOLTIPS_NAVIGATE 1572 -#define IDS_TOOLTIPS_NEXT 1573 -#define IDS_TOOLTIPS_OPEN 1574 -#define IDS_TOOLTIPS_OPTIONS 1575 -#define IDS_TOOLTIPS_PAGE_DOWN 1576 -#define IDS_TOOLTIPS_PAGE_UP 1577 -#define IDS_TOOLTIPS_PAGEDOWN 1578 -#define IDS_TOOLTIPS_PAGEUP 1579 -#define IDS_TOOLTIPS_PARTY_GAMES 1580 -#define IDS_TOOLTIPS_PICKUP_ALL 1581 -#define IDS_TOOLTIPS_PICKUP_GENERIC 1582 -#define IDS_TOOLTIPS_PICKUP_HALF 1583 -#define IDS_TOOLTIPS_PICKUPPLACE 1584 -#define IDS_TOOLTIPS_PLACE 1585 -#define IDS_TOOLTIPS_PLACE_ALL 1586 -#define IDS_TOOLTIPS_PLACE_GENERIC 1587 -#define IDS_TOOLTIPS_PLACE_ONE 1588 -#define IDS_TOOLTIPS_PLANT 1589 -#define IDS_TOOLTIPS_PLAY 1590 -#define IDS_TOOLTIPS_PREVIOUS 1591 -#define IDS_TOOLTIPS_PRIVILEGES 1592 -#define IDS_TOOLTIPS_QUICK_MOVE 1593 -#define IDS_TOOLTIPS_QUICK_MOVE_ARMOR 1594 -#define IDS_TOOLTIPS_QUICK_MOVE_FUEL 1595 -#define IDS_TOOLTIPS_QUICK_MOVE_INGREDIENT 1596 -#define IDS_TOOLTIPS_QUICK_MOVE_TOOL 1597 -#define IDS_TOOLTIPS_QUICK_MOVE_WEAPON 1598 -#define IDS_TOOLTIPS_READ 1599 -#define IDS_TOOLTIPS_REFRESH 1600 -#define IDS_TOOLTIPS_REINSTALL 1601 -#define IDS_TOOLTIPS_RELEASE_BOW 1602 -#define IDS_TOOLTIPS_REPAIR 1603 -#define IDS_TOOLTIPS_RIDE 1604 -#define IDS_TOOLTIPS_ROTATE 1605 -#define IDS_TOOLTIPS_SADDLE 1606 -#define IDS_TOOLTIPS_SAIL 1607 -#define IDS_TOOLTIPS_SAVEOPTIONS 1608 -#define IDS_TOOLTIPS_SELECT 1609 -#define IDS_TOOLTIPS_SELECT_SKIN 1610 -#define IDS_TOOLTIPS_SELECTDEVICE 1611 -#define IDS_TOOLTIPS_SEND_FRIEND_REQUEST 1612 -#define IDS_TOOLTIPS_SHARE 1613 -#define IDS_TOOLTIPS_SHEAR 1614 -#define IDS_TOOLTIPS_SHOW_DESCRIPTION 1615 -#define IDS_TOOLTIPS_SHOW_INGREDIENTS 1616 -#define IDS_TOOLTIPS_SHOW_INVENTORY 1617 -#define IDS_TOOLTIPS_SIT 1618 -#define IDS_TOOLTIPS_SLEEP 1619 -#define IDS_TOOLTIPS_SWAP 1620 -#define IDS_TOOLTIPS_SWIMUP 1621 -#define IDS_TOOLTIPS_TAME 1622 -#define IDS_TOOLTIPS_THROW 1623 -#define IDS_TOOLTIPS_TILL 1624 -#define IDS_TOOLTIPS_TRADE 1625 -#define IDS_TOOLTIPS_UNLOCKFULLVERSION 1626 -#define IDS_TOOLTIPS_USE 1627 -#define IDS_TOOLTIPS_VIEW_GAMERCARD 1628 -#define IDS_TOOLTIPS_VIEW_GAMERPROFILE 1629 -#define IDS_TOOLTIPS_WAKEUP 1630 -#define IDS_TOOLTIPS_WHAT_IS_THIS 1631 -#define IDS_TRIALOVER_TEXT 1632 -#define IDS_TRIALOVER_TITLE 1633 -#define IDS_TRUST_PLAYERS 1634 -#define IDS_TUTORIAL_BREEDING_OVERVIEW 1635 -#define IDS_TUTORIAL_COMPLETED 1636 -#define IDS_TUTORIAL_COMPLETED_EXPLORE 1637 -#define IDS_TUTORIAL_CONSTRAINT_TUTORIAL_AREA 1638 -#define IDS_TUTORIAL_CREATIVE_OVERVIEW 1639 -#define IDS_TUTORIAL_FARMING_OVERVIEW 1640 -#define IDS_TUTORIAL_FEATURES_IN_THIS_AREA 1641 -#define IDS_TUTORIAL_FEATURES_OUTSIDE_THIS_AREA 1642 -#define IDS_TUTORIAL_GOLEM_OVERVIEW 1643 -#define IDS_TUTORIAL_HINT_ATTACK_WITH_TOOL 1644 -#define IDS_TUTORIAL_HINT_BOAT 1645 -#define IDS_TUTORIAL_HINT_CRAFT_NO_INGREDIENTS 1646 -#define IDS_TUTORIAL_HINT_DIGGER_ITEM_HATCHET 1647 -#define IDS_TUTORIAL_HINT_DIGGER_ITEM_PICKAXE 1648 -#define IDS_TUTORIAL_HINT_DIGGER_ITEM_SHOVEL 1649 -#define IDS_TUTORIAL_HINT_FISHING 1650 -#define IDS_TUTORIAL_HINT_HOLD_TO_MINE 1651 -#define IDS_TUTORIAL_HINT_INV_DROP 1652 -#define IDS_TUTORIAL_HINT_MINECART 1653 -#define IDS_TUTORIAL_HINT_PISTON_SELF_REPAIRING_BRIDGE 1654 -#define IDS_TUTORIAL_HINT_SWIM_UP 1655 -#define IDS_TUTORIAL_HINT_TOOL_DAMAGED 1656 -#define IDS_TUTORIAL_HTML_EXIT_PICTURE 1657 -#define IDS_TUTORIAL_NEW_FEATURES_CHOICE 1658 -#define IDS_TUTORIAL_PORTAL_OVERVIEW 1659 -#define IDS_TUTORIAL_PROMPT_ANVIL_MENU_OVERVIEW 1660 -#define IDS_TUTORIAL_PROMPT_ANVIL_OVERVIEW 1661 -#define IDS_TUTORIAL_PROMPT_BASIC_COMPLETE 1662 -#define IDS_TUTORIAL_PROMPT_BED_OVERVIEW 1663 -#define IDS_TUTORIAL_PROMPT_BOAT_OVERVIEW 1664 -#define IDS_TUTORIAL_PROMPT_BREEDING_OVERVIEW 1665 -#define IDS_TUTORIAL_PROMPT_BREWING_MENU_OVERVIEW 1666 -#define IDS_TUTORIAL_PROMPT_BREWING_OVERVIEW 1667 -#define IDS_TUTORIAL_PROMPT_CRAFT_OVERVIEW 1668 -#define IDS_TUTORIAL_PROMPT_CREATIVE_INV_OVERVIEW 1669 -#define IDS_TUTORIAL_PROMPT_CREATIVE_OVERVIEW 1670 -#define IDS_TUTORIAL_PROMPT_ENCHANTING_MENU_OVERVIEW 1671 -#define IDS_TUTORIAL_PROMPT_ENCHANTING_OVERVIEW 1672 -#define IDS_TUTORIAL_PROMPT_ENDERCHEST_OVERVIEW 1673 -#define IDS_TUTORIAL_PROMPT_FARMING_OVERVIEW 1674 -#define IDS_TUTORIAL_PROMPT_FISHING_OVERVIEW 1675 -#define IDS_TUTORIAL_PROMPT_FOOD_BAR_OVERVIEW 1676 -#define IDS_TUTORIAL_PROMPT_FURNACE_OVERVIEW 1677 -#define IDS_TUTORIAL_PROMPT_GOLEM_OVERVIEW 1678 -#define IDS_TUTORIAL_PROMPT_INV_OVERVIEW 1679 -#define IDS_TUTORIAL_PROMPT_MINECART_OVERVIEW 1680 -#define IDS_TUTORIAL_PROMPT_NEW_FEATURES_CHOICE 1681 -#define IDS_TUTORIAL_PROMPT_PORTAL_OVERVIEW 1682 -#define IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE 1683 -#define IDS_TUTORIAL_PROMPT_PRESS_X_TO_TOGGLE_DESCRIPTION 1684 -#define IDS_TUTORIAL_PROMPT_PRESS_X_TO_TOGGLE_INGREDIENTS 1685 -#define IDS_TUTORIAL_PROMPT_PRESS_X_TO_TOGGLE_INVENTORY 1686 -#define IDS_TUTORIAL_PROMPT_REDSTONE_OVERVIEW 1687 -#define IDS_TUTORIAL_PROMPT_START_TUTORIAL 1688 -#define IDS_TUTORIAL_PROMPT_TRADING_MENU_OVERVIEW 1689 -#define IDS_TUTORIAL_PROMPT_TRADING_OVERVIEW 1690 -#define IDS_TUTORIAL_REDSTONE_OVERVIEW 1691 -#define IDS_TUTORIAL_REMINDER 1692 -#define IDS_TUTORIAL_TASK_ACTIVATE_PORTAL 1693 -#define IDS_TUTORIAL_TASK_ANVIL_COST 1694 -#define IDS_TUTORIAL_TASK_ANVIL_COST2 1695 -#define IDS_TUTORIAL_TASK_ANVIL_ENCHANTED_BOOKS 1696 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_COST 1697 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_ENCHANT 1698 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_OVERVIEW 1699 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_RENAMING 1700 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_REPAIR 1701 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_SACRIFICE 1702 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_SMITH 1703 -#define IDS_TUTORIAL_TASK_ANVIL_MENU_START 1704 -#define IDS_TUTORIAL_TASK_ANVIL_OVERVIEW 1705 -#define IDS_TUTORIAL_TASK_ANVIL_RENAMING 1706 -#define IDS_TUTORIAL_TASK_ANVIL_SUMMARY 1707 -#define IDS_TUTORIAL_TASK_ANVIL_USE_CHESTS 1708 -#define IDS_TUTORIAL_TASK_BASIC_COMPLETE 1709 -#define IDS_TUTORIAL_TASK_BED_MULTIPLAYER 1710 -#define IDS_TUTORIAL_TASK_BED_OVERVIEW 1711 -#define IDS_TUTORIAL_TASK_BED_PLACEMENT 1712 -#define IDS_TUTORIAL_TASK_BOAT_OVERVIEW 1713 -#define IDS_TUTORIAL_TASK_BOAT_STEER 1714 -#define IDS_TUTORIAL_TASK_BREEDING_BABY 1715 -#define IDS_TUTORIAL_TASK_BREEDING_COMPLETE 1716 -#define IDS_TUTORIAL_TASK_BREEDING_DELAY 1717 -#define IDS_TUTORIAL_TASK_BREEDING_FEED 1718 -#define IDS_TUTORIAL_TASK_BREEDING_FEED_FOOD 1719 -#define IDS_TUTORIAL_TASK_BREEDING_FOLLOW 1720 -#define IDS_TUTORIAL_TASK_BREEDING_RIDING_PIGS 1721 -#define IDS_TUTORIAL_TASK_BREEDING_WOLF_COLLAR 1722 -#define IDS_TUTORIAL_TASK_BREEDING_WOLF_TAMING 1723 -#define IDS_TUTORIAL_TASK_BREWING_CREATE_FIRE_POTION 1724 -#define IDS_TUTORIAL_TASK_BREWING_DRINK_FIRE_POTION 1725 -#define IDS_TUTORIAL_TASK_BREWING_FILL_CAULDRON 1726 -#define IDS_TUTORIAL_TASK_BREWING_FILL_GLASS_BOTTLE 1727 -#define IDS_TUTORIAL_TASK_BREWING_GET_GLASS_BOTTLE 1728 -#define IDS_TUTORIAL_TASK_BREWING_MENU_BASIC_INGREDIENTS 1729 -#define IDS_TUTORIAL_TASK_BREWING_MENU_CREATE_FIRE_POTION 1730 -#define IDS_TUTORIAL_TASK_BREWING_MENU_EXIT 1731 -#define IDS_TUTORIAL_TASK_BREWING_MENU_EXTENDED_INGREDIENTS 1732 -#define IDS_TUTORIAL_TASK_BREWING_MENU_EXTENDED_INGREDIENTS_2 1733 -#define IDS_TUTORIAL_TASK_BREWING_MENU_METHOD 1734 -#define IDS_TUTORIAL_TASK_BREWING_MENU_OVERVIEW 1735 -#define IDS_TUTORIAL_TASK_BREWING_OVERVIEW 1736 -#define IDS_TUTORIAL_TASK_BREWING_USE_EFFECTS 1737 -#define IDS_TUTORIAL_TASK_BREWING_USE_POTION 1738 -#define IDS_TUTORIAL_TASK_BUILD_PORTAL 1739 -#define IDS_TUTORIAL_TASK_CHOP_WOOD 1740 -#define IDS_TUTORIAL_TASK_COLLECT_RESOURCES 1741 -#define IDS_TUTORIAL_TASK_CRAFT_CRAFT_TABLE 1742 -#define IDS_TUTORIAL_TASK_CRAFT_CREATE 1743 -#define IDS_TUTORIAL_TASK_CRAFT_CREATE_FURNACE 1744 -#define IDS_TUTORIAL_TASK_CRAFT_CREATE_PLANKS 1745 -#define IDS_TUTORIAL_TASK_CRAFT_DESCRIPTION 1746 -#define IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_FURNACE 1747 -#define IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_TABLE 1748 -#define IDS_TUTORIAL_TASK_CRAFT_INGREDIENTS 1749 -#define IDS_TUTORIAL_TASK_CRAFT_INVENTORY 1750 -#define IDS_TUTORIAL_TASK_CRAFT_NAV 1751 -#define IDS_TUTORIAL_TASK_CRAFT_OVERVIEW 1752 -#define IDS_TUTORIAL_TASK_CRAFT_SELECT_CRAFTING_TABLE 1753 -#define IDS_TUTORIAL_TASK_CRAFT_SELECT_STRUCTURES 1754 -#define IDS_TUTORIAL_TASK_CRAFT_SELECT_TOOLS 1755 -#define IDS_TUTORIAL_TASK_CRAFT_SELECT_WOODEN_SHOVEL 1756 -#define IDS_TUTORIAL_TASK_CRAFT_TOOLS_BUILT 1757 -#define IDS_TUTORIAL_TASK_CRAFTING 1758 -#define IDS_TUTORIAL_TASK_CREATE_CHARCOAL 1759 -#define IDS_TUTORIAL_TASK_CREATE_CRAFTING_TABLE 1760 -#define IDS_TUTORIAL_TASK_CREATE_FURNACE 1761 -#define IDS_TUTORIAL_TASK_CREATE_GLASS 1762 -#define IDS_TUTORIAL_TASK_CREATE_PLANKS 1763 -#define IDS_TUTORIAL_TASK_CREATE_STICKS 1764 -#define IDS_TUTORIAL_TASK_CREATE_TORCH 1765 -#define IDS_TUTORIAL_TASK_CREATE_WOODEN_DOOR 1766 -#define IDS_TUTORIAL_TASK_CREATE_WOODEN_HATCHET 1767 -#define IDS_TUTORIAL_TASK_CREATE_WOODEN_PICKAXE 1768 -#define IDS_TUTORIAL_TASK_CREATE_WOODEN_SHOVEL 1769 -#define IDS_TUTORIAL_TASK_CREATIVE_COMPLETE 1770 -#define IDS_TUTORIAL_TASK_CREATIVE_EXIT 1771 -#define IDS_TUTORIAL_TASK_CREATIVE_INV_DROP 1772 -#define IDS_TUTORIAL_TASK_CREATIVE_INV_EXIT 1773 -#define IDS_TUTORIAL_TASK_CREATIVE_INV_INFO 1774 -#define IDS_TUTORIAL_TASK_CREATIVE_INV_MOVE 1775 -#define IDS_TUTORIAL_TASK_CREATIVE_INV_NAV 1776 -#define IDS_TUTORIAL_TASK_CREATIVE_INV_OVERVIEW 1777 -#define IDS_TUTORIAL_TASK_CREATIVE_INV_PICK_UP 1778 -#define IDS_TUTORIAL_TASK_CREATIVE_MODE 1779 -#define IDS_TUTORIAL_TASK_ENCHANTING_BOOKCASES 1780 -#define IDS_TUTORIAL_TASK_ENCHANTING_BOOKS 1781 -#define IDS_TUTORIAL_TASK_ENCHANTING_BOTTLE_O_ENCHANTING 1782 -#define IDS_TUTORIAL_TASK_ENCHANTING_EXPERIENCE 1783 -#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_BETTER_ENCHANTMENTS 1784 -#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_COST 1785 -#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_ENCHANT 1786 -#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_ENCHANTMENTS 1787 -#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_OVERVIEW 1788 -#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_START 1789 -#define IDS_TUTORIAL_TASK_ENCHANTING_OVERVIEW 1790 -#define IDS_TUTORIAL_TASK_ENCHANTING_SUMMARY 1791 -#define IDS_TUTORIAL_TASK_ENCHANTING_USE_CHESTS 1792 -#define IDS_TUTORIAL_TASK_ENDERCHEST_FUNCTION 1793 -#define IDS_TUTORIAL_TASK_ENDERCHEST_OVERVIEW 1794 -#define IDS_TUTORIAL_TASK_ENDERCHEST_PLAYERS 1795 -#define IDS_TUTORIAL_TASK_ENDERCHEST_SUMMARY 1796 -#define IDS_TUTORIAL_TASK_FARMING_BONEMEAL 1797 -#define IDS_TUTORIAL_TASK_FARMING_CACTUS 1798 -#define IDS_TUTORIAL_TASK_FARMING_CARROTS_AND_POTATOES 1799 -#define IDS_TUTORIAL_TASK_FARMING_COMPLETE 1800 -#define IDS_TUTORIAL_TASK_FARMING_FARMLAND 1801 -#define IDS_TUTORIAL_TASK_FARMING_MUSHROOM 1802 -#define IDS_TUTORIAL_TASK_FARMING_PUMPKIN_AND_MELON 1803 -#define IDS_TUTORIAL_TASK_FARMING_SEEDS 1804 -#define IDS_TUTORIAL_TASK_FARMING_SUGARCANE 1805 -#define IDS_TUTORIAL_TASK_FARMING_WHEAT 1806 -#define IDS_TUTORIAL_TASK_FISHING_CAST 1807 -#define IDS_TUTORIAL_TASK_FISHING_FISH 1808 -#define IDS_TUTORIAL_TASK_FISHING_OVERVIEW 1809 -#define IDS_TUTORIAL_TASK_FISHING_USES 1810 -#define IDS_TUTORIAL_TASK_FLY 1811 -#define IDS_TUTORIAL_TASK_FOOD_BAR_DEPLETE 1812 -#define IDS_TUTORIAL_TASK_FOOD_BAR_EAT_STEAK 1813 -#define IDS_TUTORIAL_TASK_FOOD_BAR_FEED 1814 -#define IDS_TUTORIAL_TASK_FOOD_BAR_HEAL 1815 -#define IDS_TUTORIAL_TASK_FOOD_BAR_OVERVIEW 1816 -#define IDS_TUTORIAL_TASK_FURNACE_CHARCOAL_USES 1817 -#define IDS_TUTORIAL_TASK_FURNACE_CREATE_CHARCOAL 1818 -#define IDS_TUTORIAL_TASK_FURNACE_CREATE_GLASS 1819 -#define IDS_TUTORIAL_TASK_FURNACE_FUELS 1820 -#define IDS_TUTORIAL_TASK_FURNACE_INGREDIENTS 1821 -#define IDS_TUTORIAL_TASK_FURNACE_METHOD 1822 -#define IDS_TUTORIAL_TASK_FURNACE_OVERVIEW 1823 -#define IDS_TUTORIAL_TASK_GOLEM_IRON 1824 -#define IDS_TUTORIAL_TASK_GOLEM_IRON_VILLAGE 1825 -#define IDS_TUTORIAL_TASK_GOLEM_PUMPKIN 1826 -#define IDS_TUTORIAL_TASK_GOLEM_SNOW 1827 -#define IDS_TUTORIAL_TASK_INV_DROP 1828 -#define IDS_TUTORIAL_TASK_INV_EXIT 1829 -#define IDS_TUTORIAL_TASK_INV_INFO 1830 -#define IDS_TUTORIAL_TASK_INV_MOVE 1831 -#define IDS_TUTORIAL_TASK_INV_OVERVIEW 1832 -#define IDS_TUTORIAL_TASK_INV_PICK_UP 1833 -#define IDS_TUTORIAL_TASK_INVENTORY 1834 -#define IDS_TUTORIAL_TASK_JUMP 1835 -#define IDS_TUTORIAL_TASK_LOOK 1836 -#define IDS_TUTORIAL_TASK_MINE 1837 -#define IDS_TUTORIAL_TASK_MINE_STONE 1838 -#define IDS_TUTORIAL_TASK_MINECART_OVERVIEW 1839 -#define IDS_TUTORIAL_TASK_MINECART_POWERED_RAILS 1840 -#define IDS_TUTORIAL_TASK_MINECART_PUSHING 1841 -#define IDS_TUTORIAL_TASK_MINECART_RAILS 1842 -#define IDS_TUTORIAL_TASK_MOVE 1843 -#define IDS_TUTORIAL_TASK_NEARBY_SHELTER 1844 -#define IDS_TUTORIAL_TASK_NETHER 1845 -#define IDS_TUTORIAL_TASK_NETHER_FAST_TRAVEL 1846 -#define IDS_TUTORIAL_TASK_NIGHT_DANGER 1847 -#define IDS_TUTORIAL_TASK_OPEN_CONTAINER 1848 -#define IDS_TUTORIAL_TASK_OPEN_CREATIVE_INVENTORY 1849 -#define IDS_TUTORIAL_TASK_OPEN_WORKBENCH 1850 -#define IDS_TUTORIAL_TASK_OVERVIEW 1851 -#define IDS_TUTORIAL_TASK_PISTONS 1852 -#define IDS_TUTORIAL_TASK_PLACE_AND_OPEN_FURNACE 1853 -#define IDS_TUTORIAL_TASK_PLACE_DOOR 1854 -#define IDS_TUTORIAL_TASK_PLACE_WORKBENCH 1855 -#define IDS_TUTORIAL_TASK_REDSTONE_DUST 1856 -#define IDS_TUTORIAL_TASK_REDSTONE_POWER_SOURCES 1857 -#define IDS_TUTORIAL_TASK_REDSTONE_POWER_SOURCES_POSITION 1858 -#define IDS_TUTORIAL_TASK_REDSTONE_REPEATER 1859 -#define IDS_TUTORIAL_TASK_REDSTONE_TRIPWIRE 1860 -#define IDS_TUTORIAL_TASK_SCROLL 1861 -#define IDS_TUTORIAL_TASK_SPRINT 1862 -#define IDS_TUTORIAL_TASK_TRADING_DECREASE_TRADES 1863 -#define IDS_TUTORIAL_TASK_TRADING_INCREASE_TRADES 1864 -#define IDS_TUTORIAL_TASK_TRADING_MENU_DETAILS 1865 -#define IDS_TUTORIAL_TASK_TRADING_MENU_INVENTORY 1866 -#define IDS_TUTORIAL_TASK_TRADING_MENU_OVERVIEW 1867 -#define IDS_TUTORIAL_TASK_TRADING_MENU_START 1868 -#define IDS_TUTORIAL_TASK_TRADING_MENU_TRADE 1869 -#define IDS_TUTORIAL_TASK_TRADING_MENU_UNAVAILABLE 1870 -#define IDS_TUTORIAL_TASK_TRADING_OVERVIEW 1871 -#define IDS_TUTORIAL_TASK_TRADING_SUMMARY 1872 -#define IDS_TUTORIAL_TASK_TRADING_TRADES 1873 -#define IDS_TUTORIAL_TASK_TRADING_USE_CHESTS 1874 -#define IDS_TUTORIAL_TASK_TRY_IT 1875 -#define IDS_TUTORIAL_TASK_USE 1876 -#define IDS_TUTORIAL_TASK_USE_PORTAL 1877 -#define IDS_TUTORIALSAVENAME 1878 -#define IDS_UNHIDE_MASHUP_WORLDS 1879 -#define IDS_UNLOCK_ACCEPT_INVITE 1880 -#define IDS_UNLOCK_ACHIEVEMENT_TEXT 1881 -#define IDS_UNLOCK_AVATAR_TEXT 1882 -#define IDS_UNLOCK_DLC_SKIN 1883 -#define IDS_UNLOCK_DLC_TEXTUREPACK_TEXT 1884 -#define IDS_UNLOCK_DLC_TEXTUREPACK_TITLE 1885 -#define IDS_UNLOCK_DLC_TITLE 1886 -#define IDS_UNLOCK_FULL_GAME 1887 -#define IDS_UNLOCK_GAMERPIC_TEXT 1888 -#define IDS_UNLOCK_GUEST_TEXT 1889 -#define IDS_UNLOCK_KICK_PLAYER 1890 -#define IDS_UNLOCK_KICK_PLAYER_TITLE 1891 -#define IDS_UNLOCK_THEME_TEXT 1892 -#define IDS_UNLOCK_TITLE 1893 -#define IDS_UNLOCK_TOSAVE_TEXT 1894 -#define IDS_USER_INTERFACE 1895 -#define IDS_USING_TRIAL_TEXUREPACK_WARNING 1896 -#define IDS_VIEW_BOBBING 1897 -#define IDS_VILLAGER 1898 -#define IDS_VILLAGER_BUTCHER 1899 -#define IDS_VILLAGER_FARMER 1900 -#define IDS_VILLAGER_LIBRARIAN 1901 -#define IDS_VILLAGER_OFFERS_ITEM 1902 -#define IDS_VILLAGER_PRIEST 1903 -#define IDS_VILLAGER_SMITH 1904 -#define IDS_WARNING_ARCADE_TEXT 1905 -#define IDS_WARNING_ARCADE_TITLE 1906 -#define IDS_WARNING_DLC_TRIALTEXTUREPACK_TEXT 1907 -#define IDS_WARNING_DLC_TRIALTEXTUREPACK_TITLE 1908 -#define IDS_WIN_TEXT 1909 -#define IDS_WIN_TEXT_PART_2 1910 -#define IDS_WIN_TEXT_PART_3 1911 -#define IDS_WOLF 1912 -#define IDS_WORLD_NAME 1913 -#define IDS_WORLD_OPTIONS 1914 -#define IDS_WORLD_SIZE 1915 -#define IDS_WORLD_SIZE_TITLE_CLASSIC 1916 -#define IDS_WORLD_SIZE_TITLE_LARGE 1917 -#define IDS_WORLD_SIZE_TITLE_MEDIUM 1918 -#define IDS_WORLD_SIZE_TITLE_SMALL 1919 -#define IDS_YES 1920 -#define IDS_YOU_DIED 1921 -#define IDS_YOU_HAVE 1922 -#define IDS_ZOMBIE 1923 +// Auto-generated by StringTable builder — do not edit manually. +// Source language: en-US +// Total strings: 1923 + +#define IDS_NULL 0 +#define IDS_OK 1 +#define IDS_BACK 2 +#define IDS_CANCEL 3 +#define IDS_YES 4 +#define IDS_NO 5 +#define IDS_CORRUPTSAVE_TITLE 6 +#define IDS_CORRUPTSAVE_TEXT 7 +#define IDS_NOFREESPACE_TITLE 8 +#define IDS_NOFREESPACE_TEXT 9 +#define IDS_SELECTAGAIN 10 +#define IDS_PLAYWITHOUTSAVING 11 +#define IDS_CREATEANEWSAVE 12 +#define IDS_OVERWRITESAVE_TITLE 13 +#define IDS_OVERWRITESAVE_TEXT 14 +#define IDS_OVERWRITESAVE_NO 15 +#define IDS_OVERWRITESAVE_YES 16 +#define IDS_FAILED_TO_SAVE_TITLE 17 +#define IDS_STORAGEDEVICEPROBLEM_TITLE 18 +#define IDS_FAILED_TO_SAVE_TEXT 19 +#define IDS_FAILED_TO_LOADSAVE_TEXT 20 +#define IDS_SELECTANEWDEVICE 21 +#define IDS_NODEVICE_TITLE 22 +#define IDS_NODEVICE_TEXT 23 +#define IDS_NODEVICE_ACCEPT 24 +#define IDS_NODEVICE_DECLINE 25 +#define IDS_DEVICEGONE_TEXT 26 +#define IDS_DEVICEGONE_TITLE 27 +#define IDS_KEYBOARDUI_SAVEGAME_TITLE 28 +#define IDS_KEYBOARDUI_SAVEGAME_TEXT 29 +#define IDS_WARNING_ARCADE_TITLE 30 +#define IDS_WARNING_ARCADE_TEXT 31 +#define IDS_PRO_RETURNEDTOMENU_TITLE 32 +#define IDS_PRO_RETURNEDTOTITLESCREEN_TEXT 33 +#define IDS_PRO_RETURNEDTOMENU_TEXT 34 +#define IDS_PRO_RETURNEDTOMENU_ACCEPT 35 +#define IDS_PRO_NOTONLINE_TITLE 36 +#define IDS_PRO_NOTONLINE_TEXT 37 +#define IDS_PRO_XBOXLIVE_NOTIFICATION 38 +#define IDS_PRO_NOTONLINE_ACCEPT 39 +#define IDS_PRO_NOTONLINE_DECLINE 40 +#define IDS_PRO_ACHIEVEMENTPROBLEM_TITLE 41 +#define IDS_PRO_ACHIEVEMENTPROBLEM_TEXT 42 +#define IDS_PRO_NOPROFILE_TITLE 43 +#define IDS_PRO_NOPROFILEOPTIONS_TEXT 44 +#define IDS_PRO_GUESTPROFILE_TITLE 45 +#define IDS_PRO_GUESTPROFILE_TEXT 46 +#define IDS_STO_SAVING_SHORT 47 +#define IDS_STO_SAVING_LONG 48 +#define IDS_PRO_UNLOCKGAME_TITLE 49 +#define IDS_PRO_UNLOCKGAME_TEXT 50 +#define IDS_PRO_PROFILEPROBLEM_TEXT 51 +#define IDS_TIPS_GAMETIP_NEWDLC 52 +#define IDS_TIPS_GAMETIP_SKINPACKS 53 +#define IDS_TIPS_GAMETIP_2 54 +#define IDS_TIPS_GAMETIP_3 55 +#define IDS_TIPS_GAMETIP_4 56 +#define IDS_TIPS_GAMETIP_5 57 +#define IDS_TIPS_GAMETIP_6 58 +#define IDS_TIPS_GAMETIP_7 59 +#define IDS_TIPS_GAMETIP_8 60 +#define IDS_TIPS_GAMETIP_9 61 +#define IDS_TIPS_GAMETIP_10 62 +#define IDS_TIPS_GAMETIP_11 63 +#define IDS_TIPS_GAMETIP_12 64 +#define IDS_TIPS_GAMETIP_13 65 +#define IDS_TIPS_GAMETIP_14 66 +#define IDS_TIPS_GAMETIP_15 67 +#define IDS_TIPS_GAMETIP_16 68 +#define IDS_TIPS_GAMETIP_17 69 +#define IDS_TIPS_GAMETIP_18 70 +#define IDS_TIPS_GAMETIP_19 71 +#define IDS_TIPS_GAMETIP_20 72 +#define IDS_TIPS_GAMETIP_21 73 +#define IDS_TIPS_GAMETIP_22 74 +#define IDS_TIPS_GAMETIP_23 75 +#define IDS_TIPS_GAMETIP_24 76 +#define IDS_TIPS_GAMETIP_25 77 +#define IDS_TIPS_GAMETIP_26 78 +#define IDS_TIPS_GAMETIP_27 79 +#define IDS_TIPS_GAMETIP_28 80 +#define IDS_TIPS_GAMETIP_29 81 +#define IDS_TIPS_GAMETIP_30 82 +#define IDS_TIPS_GAMETIP_31 83 +#define IDS_TIPS_GAMETIP_32 84 +#define IDS_TIPS_GAMETIP_33 85 +#define IDS_TIPS_GAMETIP_34 86 +#define IDS_TIPS_GAMETIP_35 87 +#define IDS_TIPS_GAMETIP_36 88 +#define IDS_TIPS_GAMETIP_37 89 +#define IDS_TIPS_GAMETIP_38 90 +#define IDS_TIPS_GAMETIP_39 91 +#define IDS_TIPS_GAMETIP_40 92 +#define IDS_TIPS_GAMETIP_41 93 +#define IDS_TIPS_GAMETIP_42 94 +#define IDS_TIPS_GAMETIP_43 95 +#define IDS_TIPS_GAMETIP_46 96 +#define IDS_TIPS_GAMETIP_47 97 +#define IDS_TIPS_GAMETIP_49 98 +#define IDS_TIPS_GAMETIP_50 99 +#define IDS_TIPS_TRIVIA_1 100 +#define IDS_TIPS_TRIVIA_2 101 +#define IDS_TIPS_TRIVIA_3 102 +#define IDS_TIPS_TRIVIA_5 103 +#define IDS_TIPS_TRIVIA_6 104 +#define IDS_TIPS_TRIVIA_7 105 +#define IDS_TIPS_TRIVIA_8 106 +#define IDS_TIPS_TRIVIA_9 107 +#define IDS_TIPS_TRIVIA_10 108 +#define IDS_TIPS_TRIVIA_11 109 +#define IDS_TIPS_TRIVIA_12 110 +#define IDS_TIPS_TRIVIA_13 111 +#define IDS_TIPS_TRIVIA_14 112 +#define IDS_TIPS_TRIVIA_15 113 +#define IDS_TIPS_TRIVIA_16 114 +#define IDS_TIPS_TRIVIA_18 115 +#define IDS_TIPS_TRIVIA_19 116 +#define IDS_TIPS_TRIVIA_20 117 +#define IDS_HOW_TO_PLAY_BASICS 118 +#define IDS_HOW_TO_PLAY_HUD 119 +#define IDS_HOW_TO_PLAY_INVENTORY 120 +#define IDS_HOW_TO_PLAY_CHEST 121 +#define IDS_HOW_TO_PLAY_LARGECHEST 122 +#define IDS_HOW_TO_PLAY_CRAFTING 123 +#define IDS_HOW_TO_PLAY_CRAFT_TABLE 124 +#define IDS_HOW_TO_PLAY_FURNACE 125 +#define IDS_HOW_TO_PLAY_DISPENSER 126 +#define IDS_HOW_TO_PLAY_BREWING 127 +#define IDS_HOW_TO_PLAY_ENCHANTMENT 128 +#define IDS_HOW_TO_PLAY_FARMANIMALS 129 +#define IDS_HOW_TO_PLAY_BREEDANIMALS 130 +#define IDS_HOW_TO_PLAY_NETHERPORTAL 131 +#define IDS_HOW_TO_PLAY_BANLIST 132 +#define IDS_HOW_TO_PLAY_HOSTOPTIONS 133 +#define IDS_HOW_TO_PLAY_NEXT 134 +#define IDS_HOW_TO_PLAY_PREV 135 +#define IDS_HOW_TO_PLAY_MENU_BASICS 136 +#define IDS_HOW_TO_PLAY_MENU_HUD 137 +#define IDS_HOW_TO_PLAY_MENU_INVENTORY 138 +#define IDS_HOW_TO_PLAY_MENU_CHESTS 139 +#define IDS_HOW_TO_PLAY_MENU_CRAFTING 140 +#define IDS_HOW_TO_PLAY_MENU_FURNACE 141 +#define IDS_HOW_TO_PLAY_MENU_DISPENSER 142 +#define IDS_HOW_TO_PLAY_MENU_FARMANIMALS 143 +#define IDS_HOW_TO_PLAY_MENU_BREEDANIMALS 144 +#define IDS_HOW_TO_PLAY_MENU_BREWING 145 +#define IDS_HOW_TO_PLAY_MENU_ENCHANTMENT 146 +#define IDS_HOW_TO_PLAY_MENU_NETHERPORTAL 147 +#define IDS_HOW_TO_PLAY_MENU_MULTIPLAYER 148 +#define IDS_HOW_TO_PLAY_MENU_SOCIALMEDIA 149 +#define IDS_HOW_TO_PLAY_MENU_BANLIST 150 +#define IDS_HOW_TO_PLAY_MENU_CREATIVE 151 +#define IDS_HOW_TO_PLAY_MENU_HOSTOPTIONS 152 +#define IDS_HOW_TO_PLAY_MENU_TRADING 153 +#define IDS_HOW_TO_PLAY_MENU_ANVIL 154 +#define IDS_HOW_TO_PLAY_MENU_THEEND 155 +#define IDS_HOW_TO_PLAY_THEEND 156 +#define IDS_HOW_TO_PLAY_MENU_SPRINT 157 +#define IDS_HOW_TO_PLAY_MENU_WHATSNEW 158 +#define IDS_HOW_TO_PLAY_WHATSNEW 159 +#define IDS_TITLEUPDATE 160 +#define IDS_DESC_SWORD 161 +#define IDS_DESC_SHOVEL 162 +#define IDS_DESC_PICKAXE 163 +#define IDS_DESC_HATCHET 164 +#define IDS_DESC_HOE 165 +#define IDS_DESC_DOOR_WOOD 166 +#define IDS_DESC_DOOR_IRON 167 +#define IDS_DESC_HELMET 168 +#define IDS_DESC_CHESTPLATE 169 +#define IDS_DESC_LEGGINGS 170 +#define IDS_DESC_BOOTS 171 +#define IDS_DESC_HELMET_LEATHER 172 +#define IDS_DESC_CHESTPLATE_LEATHER 173 +#define IDS_DESC_LEGGINGS_LEATHER 174 +#define IDS_DESC_BOOTS_LEATHER 175 +#define IDS_DESC_HELMET_CHAIN 176 +#define IDS_DESC_CHESTPLATE_CHAIN 177 +#define IDS_DESC_LEGGINGS_CHAIN 178 +#define IDS_DESC_BOOTS_CHAIN 179 +#define IDS_DESC_HELMET_IRON 180 +#define IDS_DESC_CHESTPLATE_IRON 181 +#define IDS_DESC_LEGGINGS_IRON 182 +#define IDS_DESC_BOOTS_IRON 183 +#define IDS_DESC_HELMET_GOLD 184 +#define IDS_DESC_CHESTPLATE_GOLD 185 +#define IDS_DESC_LEGGINGS_GOLD 186 +#define IDS_DESC_BOOTS_GOLD 187 +#define IDS_DESC_HELMET_DIAMOND 188 +#define IDS_DESC_CHESTPLATE_DIAMOND 189 +#define IDS_DESC_LEGGINGS_DIAMOND 190 +#define IDS_DESC_BOOTS_DIAMOND 191 +#define IDS_DESC_INGOT 192 +#define IDS_DESC_BLOCK 193 +#define IDS_DESC_PRESSUREPLATE 194 +#define IDS_DESC_STAIRS 195 +#define IDS_DESC_SLAB 196 +#define IDS_DESC_HALFSLAB 197 +#define IDS_DESC_TORCH 198 +#define IDS_DESC_WOODENPLANKS 199 +#define IDS_DESC_SANDSTONE 200 +#define IDS_DESC_STRUCTBLOCK 201 +#define IDS_DESC_STICK 202 +#define IDS_DESC_BED 203 +#define IDS_DESC_CRAFTINGTABLE 204 +#define IDS_DESC_FURNACE 205 +#define IDS_DESC_CHEST 206 +#define IDS_DESC_FENCE 207 +#define IDS_DESC_LADDER 208 +#define IDS_DESC_TRAPDOOR 209 +#define IDS_DESC_SIGN 210 +#define IDS_DESC_GLOWSTONE 211 +#define IDS_DESC_TNT 212 +#define IDS_DESC_BOWL 213 +#define IDS_DESC_BUCKET 214 +#define IDS_DESC_BUCKET_WATER 215 +#define IDS_DESC_BUCKET_LAVA 216 +#define IDS_DESC_BUCKET_MILK 217 +#define IDS_DESC_FLINTANDSTEEL 218 +#define IDS_DESC_FISHINGROD 219 +#define IDS_DESC_CLOCK 220 +#define IDS_DESC_COMPASS 221 +#define IDS_DESC_MAP 222 +#define IDS_DESC_BOW 223 +#define IDS_DESC_ARROW 224 +#define IDS_DESC_BREAD 225 +#define IDS_DESC_CAKE 226 +#define IDS_DESC_COOKIE 227 +#define IDS_DESC_MELON_SLICE 228 +#define IDS_DESC_MUSHROOMSTEW 229 +#define IDS_DESC_CHICKEN_RAW 230 +#define IDS_DESC_CHICKEN_COOKED 231 +#define IDS_DESC_BEEF_RAW 232 +#define IDS_DESC_BEEF_COOKED 233 +#define IDS_DESC_PORKCHOP_RAW 234 +#define IDS_DESC_PORKCHOP_COOKED 235 +#define IDS_DESC_FISH_RAW 236 +#define IDS_DESC_FISH_COOKED 237 +#define IDS_DESC_APPLE 238 +#define IDS_DESC_GOLDENAPPLE 239 +#define IDS_DESC_ROTTEN_FLESH 240 +#define IDS_DESC_SUGAR 241 +#define IDS_DESC_LEVER 242 +#define IDS_DESC_REDSTONETORCH 243 +#define IDS_DESC_REDSTONEREPEATER 244 +#define IDS_DESC_BUTTON 245 +#define IDS_DESC_DISPENSER 246 +#define IDS_DESC_NOTEBLOCK 247 +#define IDS_DESC_RAIL 248 +#define IDS_DESC_POWEREDRAIL 249 +#define IDS_DESC_DETECTORRAIL 250 +#define IDS_DESC_MINECART 251 +#define IDS_DESC_MINECARTWITHCHEST 252 +#define IDS_DESC_MINECARTWITHFURNACE 253 +#define IDS_DESC_BOAT 254 +#define IDS_DESC_WOOL 255 +#define IDS_DESC_WOOLSTRING 256 +#define IDS_DESC_DYE_BLACK 257 +#define IDS_DESC_DYE_GREEN 258 +#define IDS_DESC_DYE_BROWN 259 +#define IDS_DESC_DYE_SILVER 260 +#define IDS_DESC_DYE_YELLOW 261 +#define IDS_DESC_DYE_RED 262 +#define IDS_DESC_DYE_WHITE 263 +#define IDS_DESC_DYE_PINK 264 +#define IDS_DESC_DYE_ORANGE 265 +#define IDS_DESC_DYE_LIME 266 +#define IDS_DESC_DYE_GRAY 267 +#define IDS_DESC_DYE_LIGHTGRAY 268 +#define IDS_DESC_DYE_LIGHTBLUE 269 +#define IDS_DESC_DYE_CYAN 270 +#define IDS_DESC_DYE_PURPLE 271 +#define IDS_DESC_DYE_MAGENTA 272 +#define IDS_DESC_DYE_BLUE 273 +#define IDS_DESC_JUKEBOX 274 +#define IDS_DESC_DIAMONDS 275 +#define IDS_DESC_JACKOLANTERN 276 +#define IDS_DESC_PAPER 277 +#define IDS_DESC_BOOK 278 +#define IDS_DESC_BOOKSHELF 279 +#define IDS_DESC_PICTURE 280 +#define IDS_DESC_ORE_GOLD 281 +#define IDS_DESC_ORE_IRON 282 +#define IDS_DESC_ORE_COAL 283 +#define IDS_DESC_ORE_LAPIS 284 +#define IDS_DESC_ORE_DIAMOND 285 +#define IDS_DESC_ORE_REDSTONE 286 +#define IDS_DESC_STONE 287 +#define IDS_DESC_DIRT 288 +#define IDS_DESC_SAPLING 289 +#define IDS_DESC_BEDROCK 290 +#define IDS_DESC_LAVA 291 +#define IDS_DESC_SAND 292 +#define IDS_DESC_GRAVEL 293 +#define IDS_DESC_LOG 294 +#define IDS_DESC_GLASS 295 +#define IDS_DESC_STONE_BRICK 296 +#define IDS_DESC_BRICK 297 +#define IDS_DESC_CLAY 298 +#define IDS_DESC_CLAY_TILE 299 +#define IDS_DESC_SNOW 300 +#define IDS_DESC_TOP_SNOW 301 +#define IDS_DESC_TALL_GRASS 302 +#define IDS_DESC_FLOWER 303 +#define IDS_DESC_MUSHROOM 304 +#define IDS_DESC_OBSIDIAN 305 +#define IDS_DESC_MOB_SPAWNER 306 +#define IDS_DESC_REDSTONE_DUST 307 +#define IDS_DESC_CROPS 308 +#define IDS_DESC_FARMLAND 309 +#define IDS_DESC_CACTUS 310 +#define IDS_DESC_REEDS 311 +#define IDS_DESC_PUMPKIN 312 +#define IDS_DESC_HELL_ROCK 313 +#define IDS_DESC_HELL_SAND 314 +#define IDS_DESC_PORTAL 315 +#define IDS_DESC_COAL 316 +#define IDS_DESC_STRING 317 +#define IDS_DESC_FEATHER 318 +#define IDS_DESC_SULPHUR 319 +#define IDS_DESC_WHEAT_SEEDS 320 +#define IDS_DESC_WHEAT 321 +#define IDS_DESC_FLINT 322 +#define IDS_DESC_SADDLE 323 +#define IDS_DESC_SNOWBALL 324 +#define IDS_DESC_LEATHER 325 +#define IDS_DESC_SLIMEBALL 326 +#define IDS_DESC_EGG 327 +#define IDS_DESC_YELLOW_DUST 328 +#define IDS_DESC_BONE 329 +#define IDS_DESC_RECORD 330 +#define IDS_DESC_WATER 331 +#define IDS_DESC_LEAVES 332 +#define IDS_DESC_MOSS_STONE 333 +#define IDS_DESC_SHEARS 334 +#define IDS_DESC_PISTON 335 +#define IDS_DESC_STICKY_PISTON 336 +#define IDS_DESC_STONE_BRICK_SMOOTH 337 +#define IDS_DESC_IRON_FENCE 338 +#define IDS_DESC_FENCE_GATE 339 +#define IDS_DESC_MELON_BLOCK 340 +#define IDS_DESC_THIN_GLASS 341 +#define IDS_DESC_PUMPKIN_SEEDS 342 +#define IDS_DESC_MELON_SEEDS 343 +#define IDS_DESC_ENDER_PEARL 344 +#define IDS_DESC_GRASS 345 +#define IDS_DESC_SPONGE 346 +#define IDS_DESC_WEB 347 +#define IDS_DESC_STONE_SILVERFISH 348 +#define IDS_DESC_VINE 349 +#define IDS_DESC_ICE 350 +#define IDS_DESC_DEAD_BUSH 351 +#define IDS_DESC_BLAZE_ROD 352 +#define IDS_DESC_GHAST_TEAR 353 +#define IDS_DESC_GOLD_NUGGET 354 +#define IDS_DESC_NETHER_STALK_SEEDS 355 +#define IDS_DESC_POTION 356 +#define IDS_DESC_GLASS_BOTTLE 357 +#define IDS_DESC_SPIDER_EYE 358 +#define IDS_DESC_FERMENTED_SPIDER_EYE 359 +#define IDS_DESC_BLAZE_POWDER 360 +#define IDS_DESC_MAGMA_CREAM 361 +#define IDS_DESC_BREWING_STAND 362 +#define IDS_DESC_CAULDRON 363 +#define IDS_DESC_EYE_OF_ENDER 364 +#define IDS_DESC_SPECKLED_MELON 365 +#define IDS_DESC_MYCEL 366 +#define IDS_DESC_WATERLILY 367 +#define IDS_DESC_NETHERBRICK 368 +#define IDS_DESC_NETHERFENCE 369 +#define IDS_DESC_NETHERSTALK 370 +#define IDS_DESC_ENCHANTMENTTABLE 371 +#define IDS_DESC_END_PORTAL 372 +#define IDS_DESC_ENDPORTALFRAME 373 +#define IDS_DESC_WHITESTONE 374 +#define IDS_DESC_DRAGONEGG 375 +#define IDS_DESC_EXP_BOTTLE 376 +#define IDS_DESC_FIREBALL 377 +#define IDS_DESC_ITEMFRAME 378 +#define IDS_DESC_MONSTER_SPAWNER 379 +#define IDS_DESC_WOODSLAB 380 +#define IDS_DESC_STONESLAB 381 +#define IDS_DESC_ITEM_NETHERBRICK 382 +#define IDS_DESC_REDSTONE_LIGHT 383 +#define IDS_DESC_COCOA 384 +#define IDS_DESC_SKULL 385 +#define IDS_SQUID 386 +#define IDS_DESC_SQUID 387 +#define IDS_COW 388 +#define IDS_DESC_COW 389 +#define IDS_SHEEP 390 +#define IDS_DESC_SHEEP 391 +#define IDS_CHICKEN 392 +#define IDS_DESC_CHICKEN 393 +#define IDS_PIG 394 +#define IDS_DESC_PIG 395 +#define IDS_WOLF 396 +#define IDS_DESC_WOLF 397 +#define IDS_CREEPER 398 +#define IDS_DESC_CREEPER 399 +#define IDS_SKELETON 400 +#define IDS_DESC_SKELETON 401 +#define IDS_SPIDER 402 +#define IDS_DESC_SPIDER 403 +#define IDS_ZOMBIE 404 +#define IDS_DESC_ZOMBIE 405 +#define IDS_PIGZOMBIE 406 +#define IDS_DESC_PIGZOMBIE 407 +#define IDS_GHAST 408 +#define IDS_DESC_GHAST 409 +#define IDS_SLIME 410 +#define IDS_DESC_SLIME 411 +#define IDS_ENDERMAN 412 +#define IDS_DESC_ENDERMAN 413 +#define IDS_SILVERFISH 414 +#define IDS_DESC_SILVERFISH 415 +#define IDS_CAVE_SPIDER 416 +#define IDS_DESC_CAVE_SPIDER 417 +#define IDS_MUSHROOM_COW 418 +#define IDS_DESC_MUSHROOM_COW 419 +#define IDS_SNOWMAN 420 +#define IDS_DESC_SNOWMAN 421 +#define IDS_ENDERDRAGON 422 +#define IDS_DESC_ENDERDRAGON 423 +#define IDS_BLAZE 424 +#define IDS_DESC_BLAZE 425 +#define IDS_LAVA_SLIME 426 +#define IDS_DESC_LAVA_SLIME 427 +#define IDS_VILLAGER 428 +#define IDS_OZELOT 429 +#define IDS_DESC_OZELOT 430 +#define IDS_IRONGOLEM 431 +#define IDS_DESC_IRONGOLEM 432 +#define IDS_CREDITS_EXPLODANIM 433 +#define IDS_CREDITS_CONCEPTART 434 +#define IDS_CREDITS_CRUNCHER 435 +#define IDS_CREDITS_BULLYCOORD 436 +#define IDS_CREDITS_ORIGINALDESIGN 437 +#define IDS_CREDITS_PMPROD 438 +#define IDS_CREDITS_RESTOFMOJANG 439 +#define IDS_CREDITS_LEADPC 440 +#define IDS_CREDITS_CODENINJA 441 +#define IDS_CREDITS_CEO 442 +#define IDS_CREDITS_WCW 443 +#define IDS_CREDITS_CUSTOMERSUPPORT 444 +#define IDS_CREDITS_OFFICEDJ 445 +#define IDS_CREDITS_DESPROG 446 +#define IDS_CREDITS_DEVELOPER 447 +#define IDS_CREDITS_CHIEFARCHITECT 448 +#define IDS_CREDITS_ARTDEVELOPER 449 +#define IDS_CREDITS_GAMECRAFTER 450 +#define IDS_CREDITS_DOF 451 +#define IDS_CREDITS_MUSICANDSOUNDS 452 +#define IDS_CREDITS_PROGRAMMING 453 +#define IDS_CREDITS_ART 454 +#define IDS_CREDITS_QA 455 +#define IDS_CREDITS_EXECPRODUCER 456 +#define IDS_CREDITS_LEADPRODUCER 457 +#define IDS_CREDITS_PRODUCER 458 +#define IDS_CREDITS_TESTLEAD 459 +#define IDS_CREDITS_LEADTESTER 460 +#define IDS_CREDITS_DESIGNTEAM 461 +#define IDS_CREDITS_DEVELOPMENTTEAM 462 +#define IDS_CREDITS_RELEASEMANAGEMENT 463 +#define IDS_CREDITS_XBLADIRECTOR 464 +#define IDS_CREDITS_BIZDEV 465 +#define IDS_CREDITS_PORTFOLIODIRECTOR 466 +#define IDS_CREDITS_PRODUCTMANAGER 467 +#define IDS_CREDITS_MARKETING 468 +#define IDS_CREDITS_COMMUNITYMANAGER 469 +#define IDS_CREDITS_EUROPELOC 470 +#define IDS_CREDITS_REDMONDLOC 471 +#define IDS_CREDITS_ASIALOC 472 +#define IDS_CREDITS_USERRESEARCH 473 +#define IDS_CREDITS_MGSCENTRAL 474 +#define IDS_CREDITS_MILESTONEACCEPT 475 +#define IDS_CREDITS_SPECIALTHANKS 476 +#define IDS_CREDITS_TESTMANAGER 477 +#define IDS_CREDITS_SRTESTLEAD 478 +#define IDS_CREDITS_SDET 479 +#define IDS_CREDITS_PROJECT 480 +#define IDS_CREDITS_ADDITIONALSTE 481 +#define IDS_CREDITS_TESTASSOCIATES 482 +#define IDS_CREDITS_JON_KAGSTROM 483 +#define IDS_CREDITS_TOBIAS_MOLLSTAM 484 +#define IDS_CREDITS_RISE_LUGO 485 +#define IDS_ITEM_SWORD_WOOD 486 +#define IDS_ITEM_SWORD_STONE 487 +#define IDS_ITEM_SWORD_IRON 488 +#define IDS_ITEM_SWORD_DIAMOND 489 +#define IDS_ITEM_SWORD_GOLD 490 +#define IDS_ITEM_SHOVEL_WOOD 491 +#define IDS_ITEM_SHOVEL_STONE 492 +#define IDS_ITEM_SHOVEL_IRON 493 +#define IDS_ITEM_SHOVEL_DIAMOND 494 +#define IDS_ITEM_SHOVEL_GOLD 495 +#define IDS_ITEM_PICKAXE_WOOD 496 +#define IDS_ITEM_PICKAXE_STONE 497 +#define IDS_ITEM_PICKAXE_IRON 498 +#define IDS_ITEM_PICKAXE_DIAMOND 499 +#define IDS_ITEM_PICKAXE_GOLD 500 +#define IDS_ITEM_HATCHET_WOOD 501 +#define IDS_ITEM_HATCHET_STONE 502 +#define IDS_ITEM_HATCHET_IRON 503 +#define IDS_ITEM_HATCHET_DIAMOND 504 +#define IDS_ITEM_HATCHET_GOLD 505 +#define IDS_ITEM_HOE_WOOD 506 +#define IDS_ITEM_HOE_STONE 507 +#define IDS_ITEM_HOE_IRON 508 +#define IDS_ITEM_HOE_DIAMOND 509 +#define IDS_ITEM_HOE_GOLD 510 +#define IDS_ITEM_DOOR_WOOD 511 +#define IDS_ITEM_DOOR_IRON 512 +#define IDS_ITEM_HELMET_CHAIN 513 +#define IDS_ITEM_CHESTPLATE_CHAIN 514 +#define IDS_ITEM_LEGGINGS_CHAIN 515 +#define IDS_ITEM_BOOTS_CHAIN 516 +#define IDS_ITEM_HELMET_CLOTH 517 +#define IDS_ITEM_HELMET_IRON 518 +#define IDS_ITEM_HELMET_DIAMOND 519 +#define IDS_ITEM_HELMET_GOLD 520 +#define IDS_ITEM_CHESTPLATE_CLOTH 521 +#define IDS_ITEM_CHESTPLATE_IRON 522 +#define IDS_ITEM_CHESTPLATE_DIAMOND 523 +#define IDS_ITEM_CHESTPLATE_GOLD 524 +#define IDS_ITEM_LEGGINGS_CLOTH 525 +#define IDS_ITEM_LEGGINGS_IRON 526 +#define IDS_ITEM_LEGGINGS_DIAMOND 527 +#define IDS_ITEM_LEGGINGS_GOLD 528 +#define IDS_ITEM_BOOTS_CLOTH 529 +#define IDS_ITEM_BOOTS_IRON 530 +#define IDS_ITEM_BOOTS_DIAMOND 531 +#define IDS_ITEM_BOOTS_GOLD 532 +#define IDS_ITEM_INGOT_IRON 533 +#define IDS_ITEM_INGOT_GOLD 534 +#define IDS_ITEM_BUCKET 535 +#define IDS_ITEM_BUCKET_WATER 536 +#define IDS_ITEM_BUCKET_LAVA 537 +#define IDS_ITEM_FLINT_AND_STEEL 538 +#define IDS_ITEM_APPLE 539 +#define IDS_ITEM_BOW 540 +#define IDS_ITEM_ARROW 541 +#define IDS_ITEM_COAL 542 +#define IDS_ITEM_CHARCOAL 543 +#define IDS_ITEM_DIAMOND 544 +#define IDS_ITEM_STICK 545 +#define IDS_ITEM_BOWL 546 +#define IDS_ITEM_MUSHROOM_STEW 547 +#define IDS_ITEM_STRING 548 +#define IDS_ITEM_FEATHER 549 +#define IDS_ITEM_SULPHUR 550 +#define IDS_ITEM_WHEAT_SEEDS 551 +#define IDS_ITEM_WHEAT 552 +#define IDS_ITEM_BREAD 553 +#define IDS_ITEM_FLINT 554 +#define IDS_ITEM_PORKCHOP_RAW 555 +#define IDS_ITEM_PORKCHOP_COOKED 556 +#define IDS_ITEM_PAINTING 557 +#define IDS_ITEM_APPLE_GOLD 558 +#define IDS_ITEM_SIGN 559 +#define IDS_ITEM_MINECART 560 +#define IDS_ITEM_SADDLE 561 +#define IDS_ITEM_REDSTONE 562 +#define IDS_ITEM_SNOWBALL 563 +#define IDS_ITEM_BOAT 564 +#define IDS_ITEM_LEATHER 565 +#define IDS_ITEM_BUCKET_MILK 566 +#define IDS_ITEM_BRICK 567 +#define IDS_ITEM_CLAY 568 +#define IDS_ITEM_REEDS 569 +#define IDS_ITEM_PAPER 570 +#define IDS_ITEM_BOOK 571 +#define IDS_ITEM_SLIMEBALL 572 +#define IDS_ITEM_MINECART_CHEST 573 +#define IDS_ITEM_MINECART_FURNACE 574 +#define IDS_ITEM_EGG 575 +#define IDS_ITEM_COMPASS 576 +#define IDS_ITEM_FISHING_ROD 577 +#define IDS_ITEM_CLOCK 578 +#define IDS_ITEM_YELLOW_DUST 579 +#define IDS_ITEM_FISH_RAW 580 +#define IDS_ITEM_FISH_COOKED 581 +#define IDS_ITEM_DYE_POWDER 582 +#define IDS_ITEM_DYE_POWDER_BLACK 583 +#define IDS_ITEM_DYE_POWDER_RED 584 +#define IDS_ITEM_DYE_POWDER_GREEN 585 +#define IDS_ITEM_DYE_POWDER_BROWN 586 +#define IDS_ITEM_DYE_POWDER_BLUE 587 +#define IDS_ITEM_DYE_POWDER_PURPLE 588 +#define IDS_ITEM_DYE_POWDER_CYAN 589 +#define IDS_ITEM_DYE_POWDER_SILVER 590 +#define IDS_ITEM_DYE_POWDER_GRAY 591 +#define IDS_ITEM_DYE_POWDER_PINK 592 +#define IDS_ITEM_DYE_POWDER_LIME 593 +#define IDS_ITEM_DYE_POWDER_YELLOW 594 +#define IDS_ITEM_DYE_POWDER_LIGHT_BLUE 595 +#define IDS_ITEM_DYE_POWDER_MAGENTA 596 +#define IDS_ITEM_DYE_POWDER_ORANGE 597 +#define IDS_ITEM_DYE_POWDER_WHITE 598 +#define IDS_ITEM_BONE 599 +#define IDS_ITEM_SUGAR 600 +#define IDS_ITEM_CAKE 601 +#define IDS_ITEM_BED 602 +#define IDS_ITEM_DIODE 603 +#define IDS_ITEM_COOKIE 604 +#define IDS_ITEM_MAP 605 +#define IDS_ITEM_RECORD_01 606 +#define IDS_ITEM_RECORD_02 607 +#define IDS_ITEM_RECORD_03 608 +#define IDS_ITEM_RECORD_04 609 +#define IDS_ITEM_RECORD_05 610 +#define IDS_ITEM_RECORD_06 611 +#define IDS_ITEM_RECORD_07 612 +#define IDS_ITEM_RECORD_08 613 +#define IDS_ITEM_RECORD_09 614 +#define IDS_ITEM_RECORD_10 615 +#define IDS_ITEM_RECORD_11 616 +#define IDS_ITEM_RECORD_12 617 +#define IDS_ITEM_SHEARS 618 +#define IDS_ITEM_PUMPKIN_SEEDS 619 +#define IDS_ITEM_MELON_SEEDS 620 +#define IDS_ITEM_CHICKEN_RAW 621 +#define IDS_ITEM_CHICKEN_COOKED 622 +#define IDS_ITEM_BEEF_RAW 623 +#define IDS_ITEM_BEEF_COOKED 624 +#define IDS_ITEM_ROTTEN_FLESH 625 +#define IDS_ITEM_ENDER_PEARL 626 +#define IDS_ITEM_MELON_SLICE 627 +#define IDS_ITEM_BLAZE_ROD 628 +#define IDS_ITEM_GHAST_TEAR 629 +#define IDS_ITEM_GOLD_NUGGET 630 +#define IDS_ITEM_NETHER_STALK_SEEDS 631 +#define IDS_ITEM_POTION 632 +#define IDS_ITEM_GLASS_BOTTLE 633 +#define IDS_ITEM_WATER_BOTTLE 634 +#define IDS_ITEM_SPIDER_EYE 635 +#define IDS_ITEM_FERMENTED_SPIDER_EYE 636 +#define IDS_ITEM_BLAZE_POWDER 637 +#define IDS_ITEM_MAGMA_CREAM 638 +#define IDS_ITEM_BREWING_STAND 639 +#define IDS_ITEM_CAULDRON 640 +#define IDS_ITEM_EYE_OF_ENDER 641 +#define IDS_ITEM_SPECKLED_MELON 642 +#define IDS_ITEM_EXP_BOTTLE 643 +#define IDS_ITEM_FIREBALL 644 +#define IDS_ITEM_FIREBALLCHARCOAL 645 +#define IDS_ITEM_FIREBALLCOAL 646 +#define IDS_ITEM_ITEMFRAME 647 +#define IDS_ITEM_MONSTER_SPAWNER 648 +#define IDS_ITEM_NETHERBRICK 649 +#define IDS_ITEM_SKULL 650 +#define IDS_ITEM_SKULL_SKELETON 651 +#define IDS_ITEM_SKULL_WITHER 652 +#define IDS_ITEM_SKULL_ZOMBIE 653 +#define IDS_ITEM_SKULL_CHARACTER 654 +#define IDS_ITEM_SKULL_PLAYER 655 +#define IDS_ITEM_SKULL_CREEPER 656 +#define IDS_TILE_STONE 657 +#define IDS_TILE_GRASS 658 +#define IDS_TILE_DIRT 659 +#define IDS_TILE_STONE_BRICK 660 +#define IDS_TILE_OAKWOOD_PLANKS 661 +#define IDS_TILE_SPRUCEWOOD_PLANKS 662 +#define IDS_TILE_BIRCHWOOD_PLANKS 663 +#define IDS_TILE_JUNGLE_PLANKS 664 +#define IDS_TILE_SAPLING 665 +#define IDS_TILE_SAPLING_OAK 666 +#define IDS_TILE_SAPLING_SPRUCE 667 +#define IDS_TILE_SAPLING_BIRCH 668 +#define IDS_TILE_SAPLING_JUNGLE 669 +#define IDS_TILE_BEDROCK 670 +#define IDS_TILE_WATER 671 +#define IDS_TILE_LAVA 672 +#define IDS_TILE_SAND 673 +#define IDS_TILE_SANDSTONE 674 +#define IDS_TILE_GRAVEL 675 +#define IDS_TILE_ORE_GOLD 676 +#define IDS_TILE_ORE_IRON 677 +#define IDS_TILE_ORE_COAL 678 +#define IDS_TILE_LOG 679 +#define IDS_TILE_LOG_OAK 680 +#define IDS_TILE_LOG_SPRUCE 681 +#define IDS_TILE_LOG_BIRCH 682 +#define IDS_TILE_LOG_JUNGLE 683 +#define IDS_TILE_OAK 684 +#define IDS_TILE_SPRUCE 685 +#define IDS_TILE_BIRCH 686 +#define IDS_TILE_LEAVES 687 +#define IDS_TILE_LEAVES_OAK 688 +#define IDS_TILE_LEAVES_SPRUCE 689 +#define IDS_TILE_LEAVES_BIRCH 690 +#define IDS_TILE_LEAVES_JUNGLE 691 +#define IDS_TILE_SPONGE 692 +#define IDS_TILE_GLASS 693 +#define IDS_TILE_CLOTH 694 +#define IDS_TILE_CLOTH_BLACK 695 +#define IDS_TILE_CLOTH_RED 696 +#define IDS_TILE_CLOTH_GREEN 697 +#define IDS_TILE_CLOTH_BROWN 698 +#define IDS_TILE_CLOTH_BLUE 699 +#define IDS_TILE_CLOTH_PURPLE 700 +#define IDS_TILE_CLOTH_CYAN 701 +#define IDS_TILE_CLOTH_SILVER 702 +#define IDS_TILE_CLOTH_GRAY 703 +#define IDS_TILE_CLOTH_PINK 704 +#define IDS_TILE_CLOTH_LIME 705 +#define IDS_TILE_CLOTH_YELLOW 706 +#define IDS_TILE_CLOTH_LIGHT_BLUE 707 +#define IDS_TILE_CLOTH_MAGENTA 708 +#define IDS_TILE_CLOTH_ORANGE 709 +#define IDS_TILE_CLOTH_WHITE 710 +#define IDS_TILE_FLOWER 711 +#define IDS_TILE_ROSE 712 +#define IDS_TILE_MUSHROOM 713 +#define IDS_TILE_BLOCK_GOLD 714 +#define IDS_DESC_BLOCK_GOLD 715 +#define IDS_TILE_BLOCK_IRON 716 +#define IDS_DESC_BLOCK_IRON 717 +#define IDS_TILE_STONESLAB 718 +#define IDS_TILE_STONESLAB_STONE 719 +#define IDS_TILE_STONESLAB_SAND 720 +#define IDS_TILE_STONESLAB_WOOD 721 +#define IDS_TILE_STONESLAB_COBBLE 722 +#define IDS_TILE_STONESLAB_BRICK 723 +#define IDS_TILE_STONESLAB_SMOOTHBRICK 724 +#define IDS_TILE_STONESLAB_OAK 725 +#define IDS_TILE_STONESLAB_SPRUCE 726 +#define IDS_TILE_STONESLAB_BIRCH 727 +#define IDS_TILE_STONESLAB_JUNGLE 728 +#define IDS_TILE_STONESLAB_NETHERBRICK 729 +#define IDS_TILE_BRICK 730 +#define IDS_TILE_TNT 731 +#define IDS_TILE_BOOKSHELF 732 +#define IDS_TILE_STONE_MOSS 733 +#define IDS_TILE_OBSIDIAN 734 +#define IDS_TILE_TORCH 735 +#define IDS_TILE_TORCHCOAL 736 +#define IDS_TILE_TORCHCHARCOAL 737 +#define IDS_TILE_FIRE 738 +#define IDS_TILE_MOB_SPAWNER 739 +#define IDS_TILE_STAIRS_WOOD 740 +#define IDS_TILE_CHEST 741 +#define IDS_TILE_REDSTONE_DUST 742 +#define IDS_TILE_ORE_DIAMOND 743 +#define IDS_TILE_BLOCK_DIAMOND 744 +#define IDS_DESC_BLOCK_DIAMOND 745 +#define IDS_TILE_WORKBENCH 746 +#define IDS_TILE_CROPS 747 +#define IDS_TILE_FARMLAND 748 +#define IDS_TILE_FURNACE 749 +#define IDS_TILE_SIGN 750 +#define IDS_TILE_DOOR_WOOD 751 +#define IDS_TILE_LADDER 752 +#define IDS_TILE_RAIL 753 +#define IDS_TILE_GOLDEN_RAIL 754 +#define IDS_TILE_DETECTOR_RAIL 755 +#define IDS_TILE_STAIRS_STONE 756 +#define IDS_TILE_LEVER 757 +#define IDS_TILE_PRESSURE_PLATE 758 +#define IDS_TILE_DOOR_IRON 759 +#define IDS_TILE_ORE_REDSTONE 760 +#define IDS_TILE_NOT_GATE 761 +#define IDS_TILE_BUTTON 762 +#define IDS_TILE_SNOW 763 +#define IDS_TILE_ICE 764 +#define IDS_TILE_CACTUS 765 +#define IDS_TILE_CLAY 766 +#define IDS_TILE_REEDS 767 +#define IDS_TILE_JUKEBOX 768 +#define IDS_TILE_FENCE 769 +#define IDS_TILE_PUMPKIN 770 +#define IDS_TILE_LIT_PUMPKIN 771 +#define IDS_TILE_HELL_ROCK 772 +#define IDS_TILE_HELL_SAND 773 +#define IDS_TILE_LIGHT_GEM 774 +#define IDS_TILE_PORTAL 775 +#define IDS_TILE_ORE_LAPIS 776 +#define IDS_TILE_BLOCK_LAPIS 777 +#define IDS_DESC_BLOCK_LAPIS 778 +#define IDS_TILE_DISPENSER 779 +#define IDS_TILE_MUSIC_BLOCK 780 +#define IDS_TILE_CAKE 781 +#define IDS_TILE_BED 782 +#define IDS_TILE_WEB 783 +#define IDS_TILE_TALL_GRASS 784 +#define IDS_TILE_DEAD_BUSH 785 +#define IDS_TILE_DIODE 786 +#define IDS_TILE_LOCKED_CHEST 787 +#define IDS_TILE_TRAPDOOR 788 +#define IDS_ANY_WOOL 789 +#define IDS_TILE_PISTON_BASE 790 +#define IDS_TILE_PISTON_STICK_BASE 791 +#define IDS_TILE_MONSTER_STONE_EGG 792 +#define IDS_TILE_STONE_BRICK_SMOOTH 793 +#define IDS_TILE_STONE_BRICK_SMOOTH_MOSSY 794 +#define IDS_TILE_STONE_BRICK_SMOOTH_CRACKED 795 +#define IDS_TILE_STONE_BRICK_SMOOTH_CHISELED 796 +#define IDS_TILE_HUGE_MUSHROOM_1 797 +#define IDS_TILE_HUGE_MUSHROOM_2 798 +#define IDS_TILE_IRON_FENCE 799 +#define IDS_TILE_THIN_GLASS 800 +#define IDS_TILE_MELON 801 +#define IDS_TILE_PUMPKIN_STEM 802 +#define IDS_TILE_MELON_STEM 803 +#define IDS_TILE_VINE 804 +#define IDS_TILE_FENCE_GATE 805 +#define IDS_TILE_STAIRS_BRICKS 806 +#define IDS_TILE_STAIRS_STONE_BRICKS_SMOOTH 807 +#define IDS_TILE_STONE_SILVERFISH 808 +#define IDS_TILE_STONE_SILVERFISH_COBBLESTONE 809 +#define IDS_TILE_STONE_SILVERFISH_STONE_BRICK 810 +#define IDS_TILE_MYCEL 811 +#define IDS_TILE_WATERLILY 812 +#define IDS_TILE_NETHERBRICK 813 +#define IDS_TILE_NETHERFENCE 814 +#define IDS_TILE_STAIRS_NETHERBRICK 815 +#define IDS_TILE_NETHERSTALK 816 +#define IDS_TILE_ENCHANTMENTTABLE 817 +#define IDS_TILE_BREWINGSTAND 818 +#define IDS_TILE_CAULDRON 819 +#define IDS_TILE_END_PORTAL 820 +#define IDS_TILE_ENDPORTALFRAME 821 +#define IDS_TILE_WHITESTONE 822 +#define IDS_TILE_DRAGONEGG 823 +#define IDS_TILE_SHRUB 824 +#define IDS_TILE_FERN 825 +#define IDS_TILE_STAIRS_SANDSTONE 826 +#define IDS_TILE_STAIRS_SPRUCEWOOD 827 +#define IDS_TILE_STAIRS_BIRCHWOOD 828 +#define IDS_TILE_STAIRS_JUNGLEWOOD 829 +#define IDS_TILE_REDSTONE_LIGHT 830 +#define IDS_TILE_COCOA 831 +#define IDS_TILE_SKULL 832 +#define IDS_CURRENT_LAYOUT 833 +#define IDS_CONTROLS_LAYOUT 834 +#define IDS_CONTROLS_MOVE 835 +#define IDS_CONTROLS_LOOK 836 +#define IDS_CONTROLS_PAUSE 837 +#define IDS_CONTROLS_JUMP 838 +#define IDS_CONTROLS_JUMPFLY 839 +#define IDS_CONTROLS_INVENTORY 840 +#define IDS_CONTROLS_HELDITEM 841 +#define IDS_CONTROLS_ACTION 842 +#define IDS_CONTROLS_USE 843 +#define IDS_CONTROLS_CRAFTING 844 +#define IDS_CONTROLS_DROP 845 +#define IDS_CONTROLS_SNEAK 846 +#define IDS_CONTROLS_SNEAKFLY 847 +#define IDS_CONTROLS_THIRDPERSON 848 +#define IDS_CONTROLS_PLAYERS 849 +#define IDS_CONTROLS_DPAD 850 +#define IDS_CONTROLS_SCHEME0 851 +#define IDS_CONTROLS_SCHEME1 852 +#define IDS_CONTROLS_SCHEME2 853 +#define IDS_CONTROLLER_A 854 +#define IDS_CONTROLLER_B 855 +#define IDS_CONTROLLER_X 856 +#define IDS_CONTROLLER_Y 857 +#define IDS_CONTROLLER_LEFT_STICK 858 +#define IDS_CONTROLLER_RIGHT_STICK 859 +#define IDS_CONTROLLER_LEFT_TRIGGER 860 +#define IDS_CONTROLLER_RIGHT_TRIGGER 861 +#define IDS_CONTROLLER_LEFT_BUMPER 862 +#define IDS_CONTROLLER_RIGHT_BUMPER 863 +#define IDS_CONTROLLER_BACK 864 +#define IDS_CONTROLLER_START 865 +#define IDS_CONTROLLER_RIGHT_THUMBSTICK 866 +#define IDS_CONTROLLER_LEFT_THUMBSTICK 867 +#define IDS_CONTROLLER_DPAD_R 868 +#define IDS_CONTROLLER_DPAD_L 869 +#define IDS_CONTROLLER_DPAD_U 870 +#define IDS_CONTROLLER_DPAD_D 871 +#define IDS_ICON_SHANK_01 872 +#define IDS_ICON_SHANK_03 873 +#define IDS_TUTORIAL_PROMPT_PRESS_A_TO_CONTINUE 874 +#define IDS_TUTORIAL_PROMPT_START_TUTORIAL 875 +#define IDS_TUTORIAL_TASK_OVERVIEW 876 +#define IDS_TUTORIAL_TASK_LOOK 877 +#define IDS_TUTORIAL_TASK_MOVE 878 +#define IDS_TUTORIAL_TASK_SPRINT 879 +#define IDS_TUTORIAL_TASK_JUMP 880 +#define IDS_TUTORIAL_TASK_MINE 881 +#define IDS_TUTORIAL_TASK_CHOP_WOOD 882 +#define IDS_TUTORIAL_TASK_CRAFTING 883 +#define IDS_TUTORIAL_TASK_INVENTORY 884 +#define IDS_TUTORIAL_TASK_FOOD_BAR_DEPLETE 885 +#define IDS_TUTORIAL_TASK_FOOD_BAR_HEAL 886 +#define IDS_TUTORIAL_TASK_FOOD_BAR_FEED 887 +#define IDS_TUTORIAL_TASK_FOOD_BAR_EAT_STEAK 888 +#define IDS_TUTORIAL_TASK_CREATE_PLANKS 889 +#define IDS_TUTORIAL_TASK_CREATE_CRAFTING_TABLE 890 +#define IDS_TUTORIAL_TASK_CREATE_STICKS 891 +#define IDS_TUTORIAL_TASK_SCROLL 892 +#define IDS_TUTORIAL_TASK_USE 893 +#define IDS_TUTORIAL_TASK_PLACE_WORKBENCH 894 +#define IDS_TUTORIAL_TASK_OPEN_WORKBENCH 895 +#define IDS_TUTORIAL_TASK_CREATE_WOODEN_SHOVEL 896 +#define IDS_TUTORIAL_TASK_CREATE_WOODEN_HATCHET 897 +#define IDS_TUTORIAL_TASK_CREATE_WOODEN_PICKAXE 898 +#define IDS_TUTORIAL_TASK_OPEN_CONTAINER 899 +#define IDS_TUTORIAL_TASK_NIGHT_DANGER 900 +#define IDS_TUTORIAL_TASK_NEARBY_SHELTER 901 +#define IDS_TUTORIAL_TASK_COLLECT_RESOURCES 902 +#define IDS_TUTORIAL_TASK_MINE_STONE 903 +#define IDS_TUTORIAL_TASK_CREATE_FURNACE 904 +#define IDS_TUTORIAL_TASK_PLACE_AND_OPEN_FURNACE 905 +#define IDS_TUTORIAL_TASK_CREATE_CHARCOAL 906 +#define IDS_TUTORIAL_TASK_CREATE_GLASS 907 +#define IDS_TUTORIAL_TASK_CREATE_WOODEN_DOOR 908 +#define IDS_TUTORIAL_TASK_PLACE_DOOR 909 +#define IDS_TUTORIAL_TASK_CREATE_TORCH 910 +#define IDS_TUTORIAL_TASK_BASIC_COMPLETE 911 +#define IDS_TUTORIAL_PROMPT_BASIC_COMPLETE 912 +#define IDS_TUTORIAL_TASK_INV_OVERVIEW 913 +#define IDS_TUTORIAL_PROMPT_INV_OVERVIEW 914 +#define IDS_TUTORIAL_TASK_INV_PICK_UP 915 +#define IDS_TUTORIAL_TASK_INV_MOVE 916 +#define IDS_TUTORIAL_TASK_INV_DROP 917 +#define IDS_TUTORIAL_TASK_INV_INFO 918 +#define IDS_TUTORIAL_TASK_INV_EXIT 919 +#define IDS_TUTORIAL_TASK_CREATIVE_INV_OVERVIEW 920 +#define IDS_TUTORIAL_PROMPT_CREATIVE_INV_OVERVIEW 921 +#define IDS_TUTORIAL_TASK_CREATIVE_INV_PICK_UP 922 +#define IDS_TUTORIAL_TASK_CREATIVE_INV_MOVE 923 +#define IDS_TUTORIAL_TASK_CREATIVE_INV_DROP 924 +#define IDS_TUTORIAL_TASK_CREATIVE_INV_NAV 925 +#define IDS_TUTORIAL_TASK_CREATIVE_INV_INFO 926 +#define IDS_TUTORIAL_TASK_CREATIVE_INV_EXIT 927 +#define IDS_TUTORIAL_TASK_CRAFT_OVERVIEW 928 +#define IDS_TUTORIAL_PROMPT_CRAFT_OVERVIEW 929 +#define IDS_TUTORIAL_PROMPT_PRESS_X_TO_TOGGLE_DESCRIPTION 930 +#define IDS_TUTORIAL_PROMPT_PRESS_X_TO_TOGGLE_INGREDIENTS 931 +#define IDS_TUTORIAL_PROMPT_PRESS_X_TO_TOGGLE_INVENTORY 932 +#define IDS_TUTORIAL_TASK_CRAFT_NAV 933 +#define IDS_TUTORIAL_TASK_CRAFT_CREATE 934 +#define IDS_TUTORIAL_TASK_CRAFT_CRAFT_TABLE 935 +#define IDS_TUTORIAL_TASK_CRAFT_INVENTORY 936 +#define IDS_TUTORIAL_TASK_CRAFT_DESCRIPTION 937 +#define IDS_TUTORIAL_TASK_CRAFT_INGREDIENTS 938 +#define IDS_TUTORIAL_TASK_CRAFT_CREATE_PLANKS 939 +#define IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_TABLE 940 +#define IDS_TUTORIAL_TASK_CRAFT_SELECT_TOOLS 941 +#define IDS_TUTORIAL_TASK_CRAFT_SELECT_STRUCTURES 942 +#define IDS_TUTORIAL_TASK_CRAFT_SELECT_WOODEN_SHOVEL 943 +#define IDS_TUTORIAL_TASK_CRAFT_SELECT_CRAFTING_TABLE 944 +#define IDS_TUTORIAL_TASK_CRAFT_TOOLS_BUILT 945 +#define IDS_TUTORIAL_TASK_CRAFT_CREATE_FURNACE 946 +#define IDS_TUTORIAL_TASK_CRAFT_EXIT_AND_PLACE_FURNACE 947 +#define IDS_TUTORIAL_TASK_FURNACE_OVERVIEW 948 +#define IDS_TUTORIAL_PROMPT_FURNACE_OVERVIEW 949 +#define IDS_TUTORIAL_TASK_FURNACE_METHOD 950 +#define IDS_TUTORIAL_TASK_FURNACE_FUELS 951 +#define IDS_TUTORIAL_TASK_FURNACE_INGREDIENTS 952 +#define IDS_TUTORIAL_TASK_FURNACE_CREATE_CHARCOAL 953 +#define IDS_TUTORIAL_TASK_FURNACE_CHARCOAL_USES 954 +#define IDS_TUTORIAL_TASK_FURNACE_CREATE_GLASS 955 +#define IDS_TUTORIAL_TASK_BREWING_MENU_OVERVIEW 956 +#define IDS_TUTORIAL_PROMPT_BREWING_MENU_OVERVIEW 957 +#define IDS_TUTORIAL_TASK_BREWING_MENU_METHOD 958 +#define IDS_TUTORIAL_TASK_BREWING_MENU_BASIC_INGREDIENTS 959 +#define IDS_TUTORIAL_TASK_BREWING_MENU_EXTENDED_INGREDIENTS 960 +#define IDS_TUTORIAL_TASK_BREWING_MENU_EXTENDED_INGREDIENTS_2 961 +#define IDS_TUTORIAL_TASK_BREWING_MENU_CREATE_FIRE_POTION 962 +#define IDS_TUTORIAL_TASK_BREWING_MENU_EXIT 963 +#define IDS_TUTORIAL_TASK_BREWING_OVERVIEW 964 +#define IDS_TUTORIAL_PROMPT_BREWING_OVERVIEW 965 +#define IDS_TUTORIAL_TASK_BREWING_GET_GLASS_BOTTLE 966 +#define IDS_TUTORIAL_TASK_BREWING_FILL_GLASS_BOTTLE 967 +#define IDS_TUTORIAL_TASK_BREWING_FILL_CAULDRON 968 +#define IDS_TUTORIAL_TASK_BREWING_CREATE_FIRE_POTION 969 +#define IDS_TUTORIAL_TASK_BREWING_USE_POTION 970 +#define IDS_TUTORIAL_TASK_BREWING_DRINK_FIRE_POTION 971 +#define IDS_TUTORIAL_TASK_BREWING_USE_EFFECTS 972 +#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_OVERVIEW 973 +#define IDS_TUTORIAL_PROMPT_ENCHANTING_MENU_OVERVIEW 974 +#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_START 975 +#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_ENCHANTMENTS 976 +#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_COST 977 +#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_ENCHANT 978 +#define IDS_TUTORIAL_TASK_ENCHANTING_MENU_BETTER_ENCHANTMENTS 979 +#define IDS_TUTORIAL_TASK_ENCHANTING_OVERVIEW 980 +#define IDS_TUTORIAL_PROMPT_ENCHANTING_OVERVIEW 981 +#define IDS_TUTORIAL_TASK_ENCHANTING_SUMMARY 982 +#define IDS_TUTORIAL_TASK_ENCHANTING_BOOKCASES 983 +#define IDS_TUTORIAL_TASK_ENCHANTING_EXPERIENCE 984 +#define IDS_TUTORIAL_TASK_ENCHANTING_BOTTLE_O_ENCHANTING 985 +#define IDS_TUTORIAL_TASK_ENCHANTING_USE_CHESTS 986 +#define IDS_TUTORIAL_TASK_MINECART_OVERVIEW 987 +#define IDS_TUTORIAL_PROMPT_MINECART_OVERVIEW 988 +#define IDS_TUTORIAL_TASK_MINECART_RAILS 989 +#define IDS_TUTORIAL_TASK_MINECART_POWERED_RAILS 990 +#define IDS_TUTORIAL_TASK_BOAT_OVERVIEW 991 +#define IDS_TUTORIAL_PROMPT_BOAT_OVERVIEW 992 +#define IDS_TUTORIAL_TASK_BOAT_STEER 993 +#define IDS_TUTORIAL_TASK_FISHING_OVERVIEW 994 +#define IDS_TUTORIAL_PROMPT_FISHING_OVERVIEW 995 +#define IDS_TUTORIAL_TASK_FISHING_CAST 996 +#define IDS_TUTORIAL_TASK_FISHING_FISH 997 +#define IDS_TUTORIAL_TASK_FISHING_USES 998 +#define IDS_TUTORIAL_TASK_BED_OVERVIEW 999 +#define IDS_TUTORIAL_PROMPT_BED_OVERVIEW 1000 +#define IDS_TUTORIAL_TASK_BED_PLACEMENT 1001 +#define IDS_TUTORIAL_TASK_BED_MULTIPLAYER 1002 +#define IDS_TUTORIAL_REDSTONE_OVERVIEW 1003 +#define IDS_TUTORIAL_PROMPT_REDSTONE_OVERVIEW 1004 +#define IDS_TUTORIAL_TASK_REDSTONE_POWER_SOURCES 1005 +#define IDS_TUTORIAL_TASK_REDSTONE_POWER_SOURCES_POSITION 1006 +#define IDS_TUTORIAL_TASK_REDSTONE_DUST 1007 +#define IDS_TUTORIAL_TASK_REDSTONE_REPEATER 1008 +#define IDS_TUTORIAL_TASK_PISTONS 1009 +#define IDS_TUTORIAL_TASK_TRY_IT 1010 +#define IDS_TUTORIAL_PORTAL_OVERVIEW 1011 +#define IDS_TUTORIAL_PROMPT_PORTAL_OVERVIEW 1012 +#define IDS_TUTORIAL_TASK_BUILD_PORTAL 1013 +#define IDS_TUTORIAL_TASK_ACTIVATE_PORTAL 1014 +#define IDS_TUTORIAL_TASK_USE_PORTAL 1015 +#define IDS_TUTORIAL_TASK_NETHER 1016 +#define IDS_TUTORIAL_TASK_NETHER_FAST_TRAVEL 1017 +#define IDS_TUTORIAL_CREATIVE_OVERVIEW 1018 +#define IDS_TUTORIAL_PROMPT_CREATIVE_OVERVIEW 1019 +#define IDS_TUTORIAL_TASK_CREATIVE_MODE 1020 +#define IDS_TUTORIAL_TASK_OPEN_CREATIVE_INVENTORY 1021 +#define IDS_TUTORIAL_TASK_CREATIVE_EXIT 1022 +#define IDS_TUTORIAL_TASK_CREATIVE_COMPLETE 1023 +#define IDS_TUTORIAL_FARMING_OVERVIEW 1024 +#define IDS_TUTORIAL_PROMPT_FARMING_OVERVIEW 1025 +#define IDS_TUTORIAL_TASK_FARMING_SEEDS 1026 +#define IDS_TUTORIAL_TASK_FARMING_FARMLAND 1027 +#define IDS_TUTORIAL_TASK_FARMING_WHEAT 1028 +#define IDS_TUTORIAL_TASK_FARMING_PUMPKIN_AND_MELON 1029 +#define IDS_TUTORIAL_TASK_FARMING_SUGARCANE 1030 +#define IDS_TUTORIAL_TASK_FARMING_CACTUS 1031 +#define IDS_TUTORIAL_TASK_FARMING_MUSHROOM 1032 +#define IDS_TUTORIAL_TASK_FARMING_BONEMEAL 1033 +#define IDS_TUTORIAL_TASK_FARMING_COMPLETE 1034 +#define IDS_TUTORIAL_BREEDING_OVERVIEW 1035 +#define IDS_TUTORIAL_PROMPT_BREEDING_OVERVIEW 1036 +#define IDS_TUTORIAL_TASK_BREEDING_FEED 1037 +#define IDS_TUTORIAL_TASK_BREEDING_FEED_FOOD 1038 +#define IDS_TUTORIAL_TASK_BREEDING_BABY 1039 +#define IDS_TUTORIAL_TASK_BREEDING_DELAY 1040 +#define IDS_TUTORIAL_TASK_BREEDING_FOLLOW 1041 +#define IDS_TUTORIAL_TASK_BREEDING_WOLF_TAMING 1042 +#define IDS_TUTORIAL_TASK_BREEDING_COMPLETE 1043 +#define IDS_TUTORIAL_GOLEM_OVERVIEW 1044 +#define IDS_TUTORIAL_PROMPT_GOLEM_OVERVIEW 1045 +#define IDS_TUTORIAL_TASK_GOLEM_PUMPKIN 1046 +#define IDS_TUTORIAL_TASK_GOLEM_SNOW 1047 +#define IDS_TUTORIAL_TASK_GOLEM_IRON 1048 +#define IDS_TUTORIAL_TASK_GOLEM_IRON_VILLAGE 1049 +#define IDS_TUTORIAL_CONSTRAINT_TUTORIAL_AREA 1050 +#define IDS_TUTORIAL_HINT_DIGGER_ITEM_SHOVEL 1051 +#define IDS_TUTORIAL_HINT_DIGGER_ITEM_HATCHET 1052 +#define IDS_TUTORIAL_HINT_DIGGER_ITEM_PICKAXE 1053 +#define IDS_TUTORIAL_HINT_ATTACK_WITH_TOOL 1054 +#define IDS_TUTORIAL_HINT_HOLD_TO_MINE 1055 +#define IDS_TUTORIAL_HINT_TOOL_DAMAGED 1056 +#define IDS_TUTORIAL_HINT_SWIM_UP 1057 +#define IDS_TUTORIAL_HINT_MINECART 1058 +#define IDS_TUTORIAL_HINT_BOAT 1059 +#define IDS_TUTORIAL_HINT_FISHING 1060 +#define IDS_TUTORIAL_HINT_PISTON_SELF_REPAIRING_BRIDGE 1061 +#define IDS_TUTORIAL_HINT_INV_DROP 1062 +#define IDS_TUTORIAL_HINT_CRAFT_NO_INGREDIENTS 1063 +#define IDS_TUTORIAL_COMPLETED 1064 +#define IDS_TUTORIAL_COMPLETED_EXPLORE 1065 +#define IDS_TUTORIAL_REMINDER 1066 +#define IDS_TUTORIAL_HTML_EXIT_PICTURE 1067 +#define IDS_TUTORIAL_NEW_FEATURES_CHOICE 1068 +#define IDS_TUTORIAL_PROMPT_NEW_FEATURES_CHOICE 1069 +#define IDS_TUTORIAL_FEATURES_IN_THIS_AREA 1070 +#define IDS_TUTORIAL_FEATURES_OUTSIDE_THIS_AREA 1071 +#define IDS_TUTORIAL_TASK_FOOD_BAR_OVERVIEW 1072 +#define IDS_TUTORIAL_PROMPT_FOOD_BAR_OVERVIEW 1073 +#define IDS_TOOLTIPS_SELECT 1074 +#define IDS_TOOLTIPS_USE 1075 +#define IDS_TOOLTIPS_BACK 1076 +#define IDS_TOOLTIPS_EXIT 1077 +#define IDS_TOOLTIPS_CANCEL 1078 +#define IDS_TOOLTIPS_CANCEL_JOIN 1079 +#define IDS_TOOLTIPS_REFRESH 1080 +#define IDS_TOOLTIPS_PARTY_GAMES 1081 +#define IDS_TOOLTIPS_ALL_GAMES 1082 +#define IDS_TOOLTIPS_CHANGE_GROUP 1083 +#define IDS_TOOLTIPS_SHOW_INVENTORY 1084 +#define IDS_TOOLTIPS_SHOW_DESCRIPTION 1085 +#define IDS_TOOLTIPS_SHOW_INGREDIENTS 1086 +#define IDS_TOOLTIPS_CRAFTING 1087 +#define IDS_TOOLTIPS_CREATE 1088 +#define IDS_TOOLTIPS_PICKUPPLACE 1089 +#define IDS_TOOLTIPS_PICKUP_GENERIC 1090 +#define IDS_TOOLTIPS_PICKUP_ALL 1091 +#define IDS_TOOLTIPS_PICKUP_HALF 1092 +#define IDS_TOOLTIPS_PLACE_GENERIC 1093 +#define IDS_TOOLTIPS_PLACE_ALL 1094 +#define IDS_TOOLTIPS_PLACE_ONE 1095 +#define IDS_TOOLTIPS_DROP_GENERIC 1096 +#define IDS_TOOLTIPS_DROP_ALL 1097 +#define IDS_TOOLTIPS_DROP_ONE 1098 +#define IDS_TOOLTIPS_SWAP 1099 +#define IDS_TOOLTIPS_QUICK_MOVE 1100 +#define IDS_TOOLTIPS_CLEAR_QUICK_SELECT 1101 +#define IDS_TOOLTIPS_WHAT_IS_THIS 1102 +#define IDS_TOOLTIPS_SHARE 1103 +#define IDS_TOOLTIPS_CHANGE_FILTER 1104 +#define IDS_TOOLTIPS_SEND_FRIEND_REQUEST 1105 +#define IDS_TOOLTIPS_PAGE_DOWN 1106 +#define IDS_TOOLTIPS_PAGE_UP 1107 +#define IDS_TOOLTIPS_NEXT 1108 +#define IDS_TOOLTIPS_PREVIOUS 1109 +#define IDS_TOOLTIPS_KICK 1110 +#define IDS_TOOLTIPS_DYE 1111 +#define IDS_TOOLTIPS_MINE 1112 +#define IDS_TOOLTIPS_FEED 1113 +#define IDS_TOOLTIPS_TAME 1114 +#define IDS_TOOLTIPS_HEAL 1115 +#define IDS_TOOLTIPS_SIT 1116 +#define IDS_TOOLTIPS_FOLLOWME 1117 +#define IDS_TOOLTIPS_EJECT 1118 +#define IDS_TOOLTIPS_EMPTY 1119 +#define IDS_TOOLTIPS_SADDLE 1120 +#define IDS_TOOLTIPS_PLACE 1121 +#define IDS_TOOLTIPS_HIT 1122 +#define IDS_TOOLTIPS_MILK 1123 +#define IDS_TOOLTIPS_COLLECT 1124 +#define IDS_TOOLTIPS_EAT 1125 +#define IDS_TOOLTIPS_SLEEP 1126 +#define IDS_TOOLTIPS_WAKEUP 1127 +#define IDS_TOOLTIPS_PLAY 1128 +#define IDS_TOOLTIPS_RIDE 1129 +#define IDS_TOOLTIPS_SAIL 1130 +#define IDS_TOOLTIPS_GROW 1131 +#define IDS_TOOLTIPS_SWIMUP 1132 +#define IDS_TOOLTIPS_OPEN 1133 +#define IDS_TOOLTIPS_CHANGEPITCH 1134 +#define IDS_TOOLTIPS_DETONATE 1135 +#define IDS_TOOLTIPS_READ 1136 +#define IDS_TOOLTIPS_HANG 1137 +#define IDS_TOOLTIPS_THROW 1138 +#define IDS_TOOLTIPS_PLANT 1139 +#define IDS_TOOLTIPS_TILL 1140 +#define IDS_TOOLTIPS_HARVEST 1141 +#define IDS_TOOLTIPS_CONTINUE 1142 +#define IDS_TOOLTIPS_UNLOCKFULLVERSION 1143 +#define IDS_TOOLTIPS_DELETESAVE 1144 +#define IDS_TOOLTIPS_DELETE 1145 +#define IDS_TOOLTIPS_OPTIONS 1146 +#define IDS_TOOLTIPS_INVITE_FRIENDS 1147 +#define IDS_TOOLTIPS_ACCEPT 1148 +#define IDS_TOOLTIPS_SHEAR 1149 +#define IDS_TOOLTIPS_BANLEVEL 1150 +#define IDS_TOOLTIPS_SELECT_SKIN 1151 +#define IDS_TOOLTIPS_IGNITE 1152 +#define IDS_TOOLTIPS_NAVIGATE 1153 +#define IDS_TOOLTIPS_INSTALL_FULL 1154 +#define IDS_TOOLTIPS_INSTALL_TRIAL 1155 +#define IDS_TOOLTIPS_INSTALL 1156 +#define IDS_TOOLTIPS_REINSTALL 1157 +#define IDS_TOOLTIPS_SAVEOPTIONS 1158 +#define IDS_TOOLTIPS_EXECUTE_COMMAND 1159 +#define IDS_TOOLTIPS_CREATIVE 1160 +#define IDS_TOOLTIPS_QUICK_MOVE_INGREDIENT 1161 +#define IDS_TOOLTIPS_QUICK_MOVE_FUEL 1162 +#define IDS_TOOLTIPS_QUICK_MOVE_TOOL 1163 +#define IDS_TOOLTIPS_QUICK_MOVE_ARMOR 1164 +#define IDS_TOOLTIPS_QUICK_MOVE_WEAPON 1165 +#define IDS_TOOLTIPS_EQUIP 1166 +#define IDS_TOOLTIPS_DRAW_BOW 1167 +#define IDS_TOOLTIPS_RELEASE_BOW 1168 +#define IDS_TOOLTIPS_PRIVILEGES 1169 +#define IDS_TOOLTIPS_BLOCK 1170 +#define IDS_TOOLTIPS_PAGEUP 1171 +#define IDS_TOOLTIPS_PAGEDOWN 1172 +#define IDS_TOOLTIPS_LOVEMODE 1173 +#define IDS_TOOLTIPS_DRINK 1174 +#define IDS_TOOLTIPS_ROTATE 1175 +#define IDS_TOOLTIPS_HIDE 1176 +#define IDS_TOOLTIPS_CLEARSLOTS 1177 +#define IDS_CONFIRM_OK 1178 +#define IDS_CONFIRM_CANCEL 1179 +#define IDS_DOWNLOADABLECONTENT 1180 +#define IDS_CONFIRM_LEAVE_VIA_INVITE 1181 +#define IDS_EXIT_GAME 1182 +#define IDS_TITLE_SAVE_GAME 1183 +#define IDS_TITLE_DECLINE_SAVE_GAME 1184 +#define IDS_CONFIRM_SAVE_GAME 1185 +#define IDS_CONFIRM_DECLINE_SAVE_GAME 1186 +#define IDS_TITLE_START_GAME 1187 +#define IDS_CORRUPT_OR_DAMAGED_SAVE_TITLE 1188 +#define IDS_CORRUPT_OR_DAMAGED_SAVE_TEXT 1189 +#define IDS_CONFIRM_EXIT_GAME_CONFIRM_DISCONNECT_SAVE 1190 +#define IDS_EXIT_GAME_SAVE 1191 +#define IDS_EXIT_GAME_NO_SAVE 1192 +#define IDS_CONFIRM_EXIT_GAME 1193 +#define IDS_CONFIRM_EXIT_GAME_PROGRESS_LOST 1194 +#define IDS_CREATE_NEW_WORLD 1195 +#define IDS_PLAY_TUTORIAL 1196 +#define IDS_TUTORIALSAVENAME 1197 +#define IDS_NAME_WORLD 1198 +#define IDS_NAME_WORLD_TEXT 1199 +#define IDS_CREATE_NEW_WORLD_SEEDTEXT 1200 +#define IDS_LOAD_SAVED_WORLD 1201 +#define IDS_PRESS_START_TO_JOIN 1202 +#define IDS_EXITING_GAME 1203 +#define IDS_GENERIC_ERROR 1204 +#define IDS_CONNECTION_FAILED 1205 +#define IDS_CONNECTION_LOST 1206 +#define IDS_CONNECTION_LOST_SERVER 1207 +#define IDS_DISCONNECTED 1208 +#define IDS_DISCONNECTED_KICKED 1209 +#define IDS_DISCONNECTED_FLYING 1210 +#define IDS_DISCONNECTED_LOGIN_TOO_LONG 1211 +#define IDS_DISCONNECTED_SERVER_FULL 1212 +#define IDS_DISCONNECTED_SERVER_QUIT 1213 +#define IDS_DISCONNECTED_NO_FRIENDS_IN_GAME 1214 +#define IDS_DISCONNECTED_BANNED 1215 +#define IDS_DISCONNECTED_SERVER_OLD 1216 +#define IDS_DISCONNECTED_CLIENT_OLD 1217 +#define IDS_DEFAULT_SAVENAME 1218 +#define IDS_AWARD_TITLE 1219 +#define IDS_AWARD_GAMERPIC1 1220 +#define IDS_AWARD_GAMERPIC2 1221 +#define IDS_UNLOCK_TITLE 1222 +#define IDS_UNLOCK_TOSAVE_TEXT 1223 +#define IDS_LEADERBOARD_LOADING 1224 +#define IDS_LEADERBOARD_NORESULTS 1225 +#define IDS_LEADERBOARD_FILTER 1226 +#define IDS_LEADERBOARD_FILTER_FRIENDS 1227 +#define IDS_LEADERBOARD_FILTER_MYSCORE 1228 +#define IDS_LEADERBOARD_FILTER_OVERALL 1229 +#define IDS_LEADERBOARD_ENTRIES 1230 +#define IDS_LEADERBOARD_RANK 1231 +#define IDS_PROGRESS_SAVING_LEVEL 1232 +#define IDS_PROGRESS_SAVING_CHUNKS 1233 +#define IDS_PROGRESS_SAVING_TO_DISC 1234 +#define IDS_PROGRESS_BUILDING_TERRAIN 1235 +#define IDS_PROGRESS_SIMULATING_WORLD 1236 +#define IDS_PROGRESS_INITIALISING_SERVER 1237 +#define IDS_PROGRESS_GENERATING_SPAWN_AREA 1238 +#define IDS_PROGRESS_LOADING_SPAWN_AREA 1239 +#define IDS_PROGRESS_ENTERING_NETHER 1240 +#define IDS_PROGRESS_LEAVING_NETHER 1241 +#define IDS_PROGRESS_RESPAWNING 1242 +#define IDS_PROGRESS_GENERATING_LEVEL 1243 +#define IDS_PROGRESS_LOADING_LEVEL 1244 +#define IDS_PROGRESS_SAVING_PLAYERS 1245 +#define IDS_PROGRESS_CONNECTING 1246 +#define IDS_PROGRESS_DOWNLOADING_TERRAIN 1247 +#define IDS_PROGRESS_CONVERTING_TO_OFFLINE_GAME 1248 +#define IDS_PROGRESS_HOST_SAVING 1249 +#define IDS_PROGRESS_ENTERING_END 1250 +#define IDS_PROGRESS_LEAVING_END 1251 +#define IDS_TILE_BED_OCCUPIED 1252 +#define IDS_TILE_BED_NO_SLEEP 1253 +#define IDS_TILE_BED_PLAYERSLEEP 1254 +#define IDS_TILE_BED_NOT_VALID 1255 +#define IDS_TILE_BED_NOTSAFE 1256 +#define IDS_TILE_BED_MESLEEP 1257 +#define IDS_GROUPNAME_TOOLS 1258 +#define IDS_GROUPNAME_WEAPONS 1259 +#define IDS_GROUPNAME_FOOD 1260 +#define IDS_GROUPNAME_STRUCTURES 1261 +#define IDS_GROUPNAME_ARMOUR 1262 +#define IDS_GROUPNAME_MECHANISMS 1263 +#define IDS_GROUPNAME_TRANSPORT 1264 +#define IDS_GROUPNAME_DECORATIONS 1265 +#define IDS_GROUPNAME_BUILDING_BLOCKS 1266 +#define IDS_GROUPNAME_REDSTONE_AND_TRANSPORT 1267 +#define IDS_GROUPNAME_MISCELLANEOUS 1268 +#define IDS_GROUPNAME_POTIONS 1269 +#define IDS_GROUPNAME_TOOLS_WEAPONS_ARMOR 1270 +#define IDS_GROUPNAME_MATERIALS 1271 +#define IDS_RETURNEDTOMENU_TITLE 1272 +#define IDS_SLIDER_DIFFICULTY 1273 +#define IDS_SLIDER_MUSIC 1274 +#define IDS_SLIDER_SOUND 1275 +#define IDS_SLIDER_GAMMA 1276 +#define IDS_SLIDER_SENSITIVITY 1277 +#define IDS_DIFFICULTY_TITLE_PEACEFUL 1278 +#define IDS_DIFFICULTY_TITLE_EASY 1279 +#define IDS_DIFFICULTY_TITLE_NORMAL 1280 +#define IDS_DIFFICULTY_TITLE_HARD 1281 +#define IDS_DIFFICULTY_PEACEFUL 1282 +#define IDS_DIFFICULTY_EASY 1283 +#define IDS_DIFFICULTY_NORMAL 1284 +#define IDS_DIFFICULTY_HARD 1285 +#define IDS_TRIALOVER_TITLE 1286 +#define IDS_MULTIPLAYER_FULL_TITLE 1287 +#define IDS_MULTIPLAYER_FULL_TEXT 1288 +#define IDS_SIGN_TITLE 1289 +#define IDS_SIGN_TITLE_TEXT 1290 +#define IDS_NAME_TITLE 1291 +#define IDS_NAME_TITLE_TEXT 1292 +#define IDS_NAME_CAPTION 1293 +#define IDS_NAME_CAPTION_TEXT 1294 +#define IDS_NAME_DESC 1295 +#define IDS_NAME_DESC_TEXT 1296 +#define IDS_INVENTORY 1297 +#define IDS_INGREDIENTS 1298 +#define IDS_BREWING_STAND 1299 +#define IDS_CHEST 1300 +#define IDS_ENCHANT 1301 +#define IDS_FURNACE 1302 +#define IDS_INGREDIENT 1303 +#define IDS_FUEL 1304 +#define IDS_DISPENSER 1305 +#define IDS_NO_DLCOFFERS 1306 +#define IDS_PLAYER_JOINED 1307 +#define IDS_PLAYER_LEFT 1308 +#define IDS_PLAYER_KICKED 1309 +#define IDS_TEXT_DELETE_SAVE 1310 +#define IDS_STRINGVERIFY_AWAITING_APPROVAL 1311 +#define IDS_STRINGVERIFY_CENSORED 1312 +#define IDS_NOWPLAYING 1313 +#define IDS_DEFAULTS_TITLE 1314 +#define IDS_DEFAULTS_TEXT 1315 +#define IDS_FATAL_ERROR_TITLE 1316 +#define IDS_GAME_HOST_NAME 1317 +#define IDS_GAME_HOST_NAME_UNKNOWN 1318 +#define IDS_GUEST_ORDER_CHANGED_TITLE 1319 +#define IDS_GUEST_ORDER_CHANGED_TEXT 1320 +#define IDS_MUST_SIGN_IN_TITLE 1321 +#define IDS_MUST_SIGN_IN_TEXT 1322 +#define IDS_NO_MULTIPLAYER_PRIVILEGE_TITLE 1323 +#define IDS_FAILED_TO_CREATE_GAME_TITLE 1324 +#define IDS_DEFAULT_SKINS 1325 +#define IDS_NO_SKIN_PACK 1326 +#define IDS_FAVORITES_SKIN_PACK 1327 +#define IDS_BANNED_LEVEL_TITLE 1328 +#define IDS_PLAYER_BANNED_LEVEL 1329 +#define IDS_ACTION_BAN_LEVEL_TITLE 1330 +#define IDS_ACTION_BAN_LEVEL_DESCRIPTION 1331 +#define IDS_BUTTON_REMOVE_FROM_BAN_LIST 1332 +#define IDS_SLIDER_AUTOSAVE 1333 +#define IDS_SLIDER_AUTOSAVE_OFF 1334 +#define IDS_MINUTES 1335 +#define IDS_CANT_PLACE_NEAR_SPAWN_TITLE 1336 +#define IDS_CANT_PLACE_NEAR_SPAWN_TEXT 1337 +#define IDS_SLIDER_INTERFACEOPACITY 1338 +#define IDS_PROGRESS_AUTOSAVING_LEVEL 1339 +#define IDS_SLIDER_UISIZE 1340 +#define IDS_SLIDER_UISIZESPLITSCREEN 1341 +#define IDS_SEED 1342 +#define IDS_UNLOCK_DLC_TITLE 1343 +#define IDS_UNLOCK_DLC_SKIN 1344 +#define IDS_UNLOCK_DLC_TEXTUREPACK_TITLE 1345 +#define IDS_UNLOCK_DLC_TEXTUREPACK_TEXT 1346 +#define IDS_WARNING_DLC_TRIALTEXTUREPACK_TITLE 1347 +#define IDS_WARNING_DLC_TRIALTEXTUREPACK_TEXT 1348 +#define IDS_DLC_TEXTUREPACK_NOT_PRESENT_TITLE 1349 +#define IDS_DLC_TEXTUREPACK_UNLOCK_TITLE 1350 +#define IDS_DLC_TEXTUREPACK_GET_TRIAL_TITLE 1351 +#define IDS_DLC_TEXTUREPACK_GET_FULL_TITLE 1352 +#define IDS_DLC_TEXTUREPACK_NOT_PRESENT 1353 +#define IDS_TEXTURE_PACK_TRIALVERSION 1354 +#define IDS_TEXTUREPACK_FULLVERSION 1355 +#define IDS_UNLOCK_KICK_PLAYER_TITLE 1356 +#define IDS_UNLOCK_KICK_PLAYER 1357 +#define IDS_GAMERPICS 1358 +#define IDS_THEMES 1359 +#define IDS_SKINS 1360 +#define IDS_ALLOWFRIENDSOFFRIENDS 1361 +#define IDS_NOTALLOWED_FRIENDSOFFRIENDS 1362 +#define IDS_CANTJOIN_TITLE 1363 +#define IDS_SELECTED 1364 +#define IDS_SELECTED_SKIN 1365 +#define IDS_CORRUPT_DLC_TITLE 1366 +#define IDS_CORRUPT_DLC 1367 +#define IDS_CORRUPT_DLC_MULTIPLE 1368 +#define IDS_GAME_MODE_CHANGED 1369 +#define IDS_RENAME_WORLD_TITLE 1370 +#define IDS_RENAME_WORLD_TEXT 1371 +#define IDS_GAMEMODE_SURVIVAL 1372 +#define IDS_GAMEMODE_CREATIVE 1373 +#define IDS_SURVIVAL 1374 +#define IDS_CREATIVE 1375 +#define IDS_CREATED_IN_SURVIVAL 1376 +#define IDS_CREATED_IN_CREATIVE 1377 +#define IDS_CHECKBOX_RENDER_CLOUDS 1378 +#define IDS_TEXT_SAVEOPTIONS 1379 +#define IDS_TITLE_RENAMESAVE 1380 +#define IDS_AUTOSAVE_COUNTDOWN 1381 +#define IDS_ON 1382 +#define IDS_OFF 1383 +#define IDS_LEVELTYPE_NORMAL 1384 +#define IDS_LEVELTYPE_SUPERFLAT 1385 +#define IDS_GAMEOPTION_ONLINE 1386 +#define IDS_GAMEOPTION_INVITEONLY 1387 +#define IDS_GAMEOPTION_ALLOWFOF 1388 +#define IDS_GAMEOPTION_PVP 1389 +#define IDS_GAMEOPTION_TRUST 1390 +#define IDS_GAMEOPTION_FIRE_SPREADS 1391 +#define IDS_GAMEOPTION_TNT_EXPLODES 1392 +#define IDS_GAMEOPTION_RESET_NETHER 1393 +#define IDS_GAMEOPTION_STRUCTURES 1394 +#define IDS_GAMEOPTION_SUPERFLAT 1395 +#define IDS_GAMEOPTION_BONUS_CHEST 1396 +#define IDS_DLC_MENU_SKINPACKS 1397 +#define IDS_DLC_MENU_THEMES 1398 +#define IDS_DLC_MENU_GAMERPICS 1399 +#define IDS_DLC_MENU_AVATARITEMS 1400 +#define IDS_DLC_MENU_TEXTUREPACKS 1401 +#define IDS_DLC_MENU_MASHUPPACKS 1402 +#define IDS_DEATH_INFIRE 1403 +#define IDS_DEATH_ONFIRE 1404 +#define IDS_DEATH_LAVA 1405 +#define IDS_DEATH_INWALL 1406 +#define IDS_DEATH_DROWN 1407 +#define IDS_DEATH_STARVE 1408 +#define IDS_DEATH_CACTUS 1409 +#define IDS_DEATH_FALL 1410 +#define IDS_DEATH_OUTOFWORLD 1411 +#define IDS_DEATH_GENERIC 1412 +#define IDS_DEATH_EXPLOSION 1413 +#define IDS_DEATH_MAGIC 1414 +#define IDS_DEATH_DRAGON_BREATH 1415 +#define IDS_DEATH_MOB 1416 +#define IDS_DEATH_PLAYER 1417 +#define IDS_DEATH_ARROW 1418 +#define IDS_DEATH_FIREBALL 1419 +#define IDS_DEATH_THROWN 1420 +#define IDS_DEATH_INDIRECT_MAGIC 1421 +#define IDS_CHECKBOX_RENDER_BEDROCKFOG 1422 +#define IDS_CHECKBOX_DISPLAY_HUD 1423 +#define IDS_CHECKBOX_DISPLAY_HAND 1424 +#define IDS_CHECKBOX_DEATH_MESSAGES 1425 +#define IDS_CHECKBOX_ANIMATED_CHARACTER 1426 +#define IDS_CHECKBOX_CUSTOM_SKIN_ANIM 1427 +#define IDS_PRIV_MINE_TOGGLE_ON 1428 +#define IDS_PRIV_MINE_TOGGLE_OFF 1429 +#define IDS_PRIV_BUILD_TOGGLE_ON 1430 +#define IDS_PRIV_BUILD_TOGGLE_OFF 1431 +#define IDS_PRIV_USE_DOORS_TOGGLE_ON 1432 +#define IDS_PRIV_USE_DOORS_TOGGLE_OFF 1433 +#define IDS_PRIV_USE_CONTAINERS_TOGGLE_ON 1434 +#define IDS_PRIV_USE_CONTAINERS_TOGGLE_OFF 1435 +#define IDS_PRIV_ATTACK_MOB_TOGGLE_ON 1436 +#define IDS_PRIV_ATTACK_MOB_TOGGLE_OFF 1437 +#define IDS_PRIV_ATTACK_PLAYER_TOGGLE_ON 1438 +#define IDS_PRIV_ATTACK_PLAYER_TOGGLE_OFF 1439 +#define IDS_PRIV_ATTACK_ANIMAL_TOGGLE_ON 1440 +#define IDS_PRIV_ATTACK_ANIMAL_TOGGLE_OFF 1441 +#define IDS_PRIV_MODERATOR_TOGGLE_ON 1442 +#define IDS_PRIV_MODERATOR_TOGGLE_OFF 1443 +#define IDS_PRIV_FLY_TOGGLE_ON 1444 +#define IDS_PRIV_FLY_TOGGLE_OFF 1445 +#define IDS_PRIV_EXHAUSTION_TOGGLE_ON 1446 +#define IDS_PRIV_EXHAUSTION_TOGGLE_OFF 1447 +#define IDS_PRIV_INVISIBLE_TOGGLE_ON 1448 +#define IDS_PRIV_INVISIBLE_TOGGLE_OFF 1449 +#define IDS_PRIV_INVULNERABLE_TOGGLE_ON 1450 +#define IDS_PRIV_INVULNERABLE_TOGGLE_OFF 1451 +#define IDS_DLC_COST 1452 +#define IDS_BOSS_ENDERDRAGON_HEALTH 1453 +#define IDS_PLAYER_ENTERED_END 1454 +#define IDS_PLAYER_LEFT_END 1455 +#define IDS_WIN_TEXT 1456 +#define IDS_WIN_TEXT_PART_2 1457 +#define IDS_WIN_TEXT_PART_3 1458 +#define IDS_RESETNETHER_TITLE 1459 +#define IDS_RESETNETHER_TEXT 1460 +#define IDS_RESET_NETHER 1461 +#define IDS_DONT_RESET_NETHER 1462 +#define IDS_CANT_SHEAR_MOOSHROOM 1463 +#define IDS_MAX_PIGS_SHEEP_COWS_CATS_SPAWNED 1464 +#define IDS_MAX_MOOSHROOMS_SPAWNED 1465 +#define IDS_MAX_WOLVES_SPAWNED 1466 +#define IDS_MAX_CHICKENS_SPAWNED 1467 +#define IDS_MAX_SQUID_SPAWNED 1468 +#define IDS_MAX_ENEMIES_SPAWNED 1469 +#define IDS_MAX_VILLAGERS_SPAWNED 1470 +#define IDS_MAX_HANGINGENTITIES 1471 +#define IDS_CANT_SPAWN_IN_PEACEFUL 1472 +#define IDS_MAX_PIGS_SHEEP_COWS_CATS_BRED 1473 +#define IDS_MAX_WOLVES_BRED 1474 +#define IDS_MAX_CHICKENS_BRED 1475 +#define IDS_MAX_MUSHROOMCOWS_BRED 1476 +#define IDS_MAX_BOATS 1477 +#define IDS_MAX_SKULL_TILES 1478 +#define IDS_INVERT_LOOK 1479 +#define IDS_SOUTHPAW 1480 +#define IDS_YOU_DIED 1481 +#define IDS_RESPAWN 1482 +#define IDS_DOWNLOADABLE_CONTENT_OFFERS 1483 +#define IDS_CHANGE_SKIN 1484 +#define IDS_HOW_TO_PLAY 1485 +#define IDS_CONTROLS 1486 +#define IDS_SETTINGS 1487 +#define IDS_CREDITS 1488 +#define IDS_REINSTALL_CONTENT 1489 +#define IDS_DEBUG_SETTINGS 1490 +#define IDS_FIRE_SPREADS 1491 +#define IDS_TNT_EXPLODES 1492 +#define IDS_PLAYER_VS_PLAYER 1493 +#define IDS_TRUST_PLAYERS 1494 +#define IDS_HOST_PRIVILEGES 1495 +#define IDS_GENERATE_STRUCTURES 1496 +#define IDS_SUPERFLAT_WORLD 1497 +#define IDS_BONUS_CHEST 1498 +#define IDS_WORLD_OPTIONS 1499 +#define IDS_CAN_BUILD_AND_MINE 1500 +#define IDS_CAN_USE_DOORS_AND_SWITCHES 1501 +#define IDS_CAN_OPEN_CONTAINERS 1502 +#define IDS_CAN_ATTACK_PLAYERS 1503 +#define IDS_CAN_ATTACK_ANIMALS 1504 +#define IDS_MODERATOR 1505 +#define IDS_KICK_PLAYER 1506 +#define IDS_CAN_FLY 1507 +#define IDS_DISABLE_EXHAUSTION 1508 +#define IDS_INVISIBLE 1509 +#define IDS_HOST_OPTIONS 1510 +#define IDS_PLAYERS_INVITE 1511 +#define IDS_ONLINE_GAME 1512 +#define IDS_INVITE_ONLY 1513 +#define IDS_MORE_OPTIONS 1514 +#define IDS_LOAD 1515 +#define IDS_DEFAULT_WORLD_NAME 1516 +#define IDS_WORLD_NAME 1517 +#define IDS_CREATE_NEW_WORLD_SEED 1518 +#define IDS_CREATE_NEW_WORLD_RANDOM_SEED 1519 +#define IDS_PLAYERS 1520 +#define IDS_JOIN_GAME 1521 +#define IDS_START_GAME 1522 +#define IDS_NO_GAMES_FOUND 1523 +#define IDS_PLAY_GAME 1524 +#define IDS_LEADERBOARDS 1525 +#define IDS_HELP_AND_OPTIONS 1526 +#define IDS_UNLOCK_FULL_GAME 1527 +#define IDS_RESUME_GAME 1528 +#define IDS_SAVE_GAME 1529 +#define IDS_LABEL_DIFFICULTY 1530 +#define IDS_LABEL_GAME_TYPE 1531 +#define IDS_LABEL_STRUCTURES 1532 +#define IDS_LABEL_LEVEL_TYPE 1533 +#define IDS_LABEL_PvP 1534 +#define IDS_LABEL_TRUST 1535 +#define IDS_LABEL_TNT 1536 +#define IDS_LABEL_FIRE_SPREADS 1537 +#define IDS_REINSTALL_THEME 1538 +#define IDS_REINSTALL_GAMERPIC_1 1539 +#define IDS_REINSTALL_GAMERPIC_2 1540 +#define IDS_REINSTALL_AVATAR_ITEM_1 1541 +#define IDS_REINSTALL_AVATAR_ITEM_2 1542 +#define IDS_REINSTALL_AVATAR_ITEM_3 1543 +#define IDS_OPTIONS 1544 +#define IDS_AUDIO 1545 +#define IDS_CONTROL 1546 +#define IDS_GRAPHICS 1547 +#define IDS_USER_INTERFACE 1548 +#define IDS_RESET_TO_DEFAULTS 1549 +#define IDS_VIEW_BOBBING 1550 +#define IDS_HINTS 1551 +#define IDS_IN_GAME_TOOLTIPS 1552 +#define IDS_CHECKBOX_VERTICAL_SPLIT_SCREEN 1553 +#define IDS_DONE 1554 +#define IDS_EDIT_SIGN_MESSAGE 1555 +#define IDS_SOCIAL_TEXT 1556 +#define IDS_SOCIAL_LABEL_CAPTION 1557 +#define IDS_SOCIAL_DEFAULT_CAPTION 1558 +#define IDS_SOCIAL_LABEL_DESCRIPTION 1559 +#define IDS_DEFAULT_TEXTUREPACK 1560 +#define IDS_UNHIDE_MASHUP_WORLDS 1561 +#define IDS_POTION_EMPTY 1562 +#define IDS_POTION_MOVESPEED 1563 +#define IDS_POTION_MOVESLOWDOWN 1564 +#define IDS_POTION_DIGSPEED 1565 +#define IDS_POTION_DIGSLOWDOWN 1566 +#define IDS_POTION_DAMAGEBOOST 1567 +#define IDS_POTION_WEAKNESS 1568 +#define IDS_POTION_HEAL 1569 +#define IDS_POTION_HARM 1570 +#define IDS_POTION_JUMP 1571 +#define IDS_POTION_CONFUSION 1572 +#define IDS_POTION_REGENERATION 1573 +#define IDS_POTION_RESISTANCE 1574 +#define IDS_POTION_FIRERESISTANCE 1575 +#define IDS_POTION_WATERBREATHING 1576 +#define IDS_POTION_INVISIBILITY 1577 +#define IDS_POTION_BLINDNESS 1578 +#define IDS_POTION_NIGHTVISION 1579 +#define IDS_POTION_HUNGER 1580 +#define IDS_POTION_POISON 1581 +#define IDS_POTION_MOVESPEED_POSTFIX 1582 +#define IDS_POTION_MOVESLOWDOWN_POSTFIX 1583 +#define IDS_POTION_DIGSPEED_POSTFIX 1584 +#define IDS_POTION_DIGSLOWDOWN_POSTFIX 1585 +#define IDS_POTION_DAMAGEBOOST_POSTFIX 1586 +#define IDS_POTION_WEAKNESS_POSTFIX 1587 +#define IDS_POTION_HEAL_POSTFIX 1588 +#define IDS_POTION_HARM_POSTFIX 1589 +#define IDS_POTION_JUMP_POSTFIX 1590 +#define IDS_POTION_CONFUSION_POSTFIX 1591 +#define IDS_POTION_REGENERATION_POSTFIX 1592 +#define IDS_POTION_RESISTANCE_POSTFIX 1593 +#define IDS_POTION_FIRERESISTANCE_POSTFIX 1594 +#define IDS_POTION_WATERBREATHING_POSTFIX 1595 +#define IDS_POTION_INVISIBILITY_POSTFIX 1596 +#define IDS_POTION_BLINDNESS_POSTFIX 1597 +#define IDS_POTION_NIGHTVISION_POSTFIX 1598 +#define IDS_POTION_HUNGER_POSTFIX 1599 +#define IDS_POTION_POISON_POSTFIX 1600 +#define IDS_POTION_POTENCY_0 1601 +#define IDS_POTION_POTENCY_1 1602 +#define IDS_POTION_POTENCY_2 1603 +#define IDS_POTION_POTENCY_3 1604 +#define IDS_POTION_PREFIX_GRENADE 1605 +#define IDS_POTION_PREFIX_MUNDANE 1606 +#define IDS_POTION_PREFIX_UNINTERESTING 1607 +#define IDS_POTION_PREFIX_BLAND 1608 +#define IDS_POTION_PREFIX_CLEAR 1609 +#define IDS_POTION_PREFIX_MILKY 1610 +#define IDS_POTION_PREFIX_DIFFUSE 1611 +#define IDS_POTION_PREFIX_ARTLESS 1612 +#define IDS_POTION_PREFIX_THIN 1613 +#define IDS_POTION_PREFIX_AWKWARD 1614 +#define IDS_POTION_PREFIX_FLAT 1615 +#define IDS_POTION_PREFIX_BULKY 1616 +#define IDS_POTION_PREFIX_BUNGLING 1617 +#define IDS_POTION_PREFIX_BUTTERED 1618 +#define IDS_POTION_PREFIX_SMOOTH 1619 +#define IDS_POTION_PREFIX_SUAVE 1620 +#define IDS_POTION_PREFIX_DEBONAIR 1621 +#define IDS_POTION_PREFIX_THICK 1622 +#define IDS_POTION_PREFIX_ELEGANT 1623 +#define IDS_POTION_PREFIX_FANCY 1624 +#define IDS_POTION_PREFIX_CHARMING 1625 +#define IDS_POTION_PREFIX_DASHING 1626 +#define IDS_POTION_PREFIX_REFINED 1627 +#define IDS_POTION_PREFIX_CORDIAL 1628 +#define IDS_POTION_PREFIX_SPARKLING 1629 +#define IDS_POTION_PREFIX_POTENT 1630 +#define IDS_POTION_PREFIX_FOUL 1631 +#define IDS_POTION_PREFIX_ODORLESS 1632 +#define IDS_POTION_PREFIX_RANK 1633 +#define IDS_POTION_PREFIX_HARSH 1634 +#define IDS_POTION_PREFIX_ACRID 1635 +#define IDS_POTION_PREFIX_GROSS 1636 +#define IDS_POTION_PREFIX_STINKY 1637 +#define IDS_POTION_DESC_WATER_BOTTLE 1638 +#define IDS_POTION_DESC_EMPTY 1639 +#define IDS_POTION_DESC_MOVESPEED 1640 +#define IDS_POTION_DESC_MOVESLOWDOWN 1641 +#define IDS_POTION_DESC_DAMAGEBOOST 1642 +#define IDS_POTION_DESC_WEAKNESS 1643 +#define IDS_POTION_DESC_HEAL 1644 +#define IDS_POTION_DESC_HARM 1645 +#define IDS_POTION_DESC_REGENERATION 1646 +#define IDS_POTION_DESC_FIRERESISTANCE 1647 +#define IDS_POTION_DESC_POISON 1648 +#define IDS_ENCHANTMENT_DAMAGE_ALL 1649 +#define IDS_ENCHANTMENT_DAMAGE_UNDEAD 1650 +#define IDS_ENCHANTMENT_DAMAGE_ARTHROPODS 1651 +#define IDS_ENCHANTMENT_KNOCKBACK 1652 +#define IDS_ENCHANTMENT_FIRE 1653 +#define IDS_ENCHANTMENT_PROTECT_ALL 1654 +#define IDS_ENCHANTMENT_PROTECT_FIRE 1655 +#define IDS_ENCHANTMENT_PROTECT_FALL 1656 +#define IDS_ENCHANTMENT_PROTECT_EXPLOSION 1657 +#define IDS_ENCHANTMENT_PROTECT_PROJECTILE 1658 +#define IDS_ENCHANTMENT_OXYGEN 1659 +#define IDS_ENCHANTMENT_WATER_WORKER 1660 +#define IDS_ENCHANTMENT_DIGGING 1661 +#define IDS_ENCHANTMENT_UNTOUCHING 1662 +#define IDS_ENCHANTMENT_DURABILITY 1663 +#define IDS_ENCHANTMENT_LOOT_BONUS 1664 +#define IDS_ENCHANTMENT_LOOT_BONUS_DIGGER 1665 +#define IDS_ENCHANTMENT_ARROW_DAMAGE 1666 +#define IDS_ENCHANTMENT_ARROW_FIRE 1667 +#define IDS_ENCHANTMENT_ARROW_KNOCKBACK 1668 +#define IDS_ENCHANTMENT_ARROW_INFINITE 1669 +#define IDS_ENCHANTMENT_LEVEL_1 1670 +#define IDS_ENCHANTMENT_LEVEL_2 1671 +#define IDS_ENCHANTMENT_LEVEL_3 1672 +#define IDS_ENCHANTMENT_LEVEL_4 1673 +#define IDS_ENCHANTMENT_LEVEL_5 1674 +#define IDS_ENCHANTMENT_LEVEL_6 1675 +#define IDS_ENCHANTMENT_LEVEL_7 1676 +#define IDS_ENCHANTMENT_LEVEL_8 1677 +#define IDS_ENCHANTMENT_LEVEL_9 1678 +#define IDS_ENCHANTMENT_LEVEL_10 1679 +#define IDS_DESC_EMERALDORE 1680 +#define IDS_DESC_ENDERCHEST 1681 +#define IDS_DESC_TRIPWIRE_SOURCE 1682 +#define IDS_DESC_TRIPWIRE 1683 +#define IDS_DESC_EMERALDBLOCK 1684 +#define IDS_DESC_COBBLESTONE_WALL 1685 +#define IDS_DESC_ANVIL 1686 +#define IDS_DESC_NETHER_QUARTZ_ORE 1687 +#define IDS_DESC_QUARTZ_BLOCK 1688 +#define IDS_DESC_EMERALD 1689 +#define IDS_DESC_FLOWERPOT 1690 +#define IDS_DESC_CARROTS 1691 +#define IDS_DESC_POTATO 1692 +#define IDS_DESC_POTATO_BAKED 1693 +#define IDS_DESC_POTATO_POISONOUS 1694 +#define IDS_DESC_CARROT_GOLDEN 1695 +#define IDS_DESC_CARROT_ON_A_STICK 1696 +#define IDS_DESC_PUMPKIN_PIE 1697 +#define IDS_DESC_ENCHANTED_BOOK 1698 +#define IDS_DESC_NETHER_QUARTZ 1699 +#define IDS_DESC_CARPET 1700 +#define IDS_ITEM_EMERALD 1701 +#define IDS_FLOWERPOT 1702 +#define IDS_CARROTS 1703 +#define IDS_POTATO 1704 +#define IDS_ITEM_POTATO_BAKED 1705 +#define IDS_ITEM_POTATO_POISONOUS 1706 +#define IDS_ITEM_CARROT_GOLDEN 1707 +#define IDS_ITEM_CARROT_ON_A_STICK 1708 +#define IDS_ITEM_PUMPKIN_PIE 1709 +#define IDS_ITEM_ENCHANTED_BOOK 1710 +#define IDS_ITEM_NETHER_QUARTZ 1711 +#define IDS_TILE_EMERALDORE 1712 +#define IDS_TILE_ENDERCHEST 1713 +#define IDS_TILE_TRIPWIRE_SOURCE 1714 +#define IDS_TILE_TRIPWIRE 1715 +#define IDS_TILE_EMERALDBLOCK 1716 +#define IDS_TILE_COBBLESTONE_WALL 1717 +#define IDS_TILE_COBBLESTONE_WALL_MOSSY 1718 +#define IDS_TILE_FLOWERPOT 1719 +#define IDS_TILE_CARROTS 1720 +#define IDS_TILE_POTATOES 1721 +#define IDS_TILE_ANVIL 1722 +#define IDS_TILE_ANVIL_INTACT 1723 +#define IDS_TILE_ANVIL_SLIGHTLYDAMAGED 1724 +#define IDS_TILE_ANVIL_VERYDAMAGED 1725 +#define IDS_TILE_NETHER_QUARTZ 1726 +#define IDS_TILE_QUARTZ_BLOCK 1727 +#define IDS_TILE_QUARTZ_BLOCK_CHISELED 1728 +#define IDS_TILE_QUARTZ_BLOCK_LINES 1729 +#define IDS_TILE_STAIRS_QUARTZ 1730 +#define IDS_TILE_CARPET 1731 +#define IDS_TILE_CARPET_BLACK 1732 +#define IDS_TILE_CARPET_RED 1733 +#define IDS_TILE_CARPET_GREEN 1734 +#define IDS_TILE_CARPET_BROWN 1735 +#define IDS_TILE_CARPET_BLUE 1736 +#define IDS_TILE_CARPET_PURPLE 1737 +#define IDS_TILE_CARPET_CYAN 1738 +#define IDS_TILE_CARPET_SILVER 1739 +#define IDS_TILE_CARPET_GRAY 1740 +#define IDS_TILE_CARPET_PINK 1741 +#define IDS_TILE_CARPET_LIME 1742 +#define IDS_TILE_CARPET_YELLOW 1743 +#define IDS_TILE_CARPET_LIGHT_BLUE 1744 +#define IDS_TILE_CARPET_MAGENTA 1745 +#define IDS_TILE_CARPET_ORANGE 1746 +#define IDS_TILE_CARPET_WHITE 1747 +#define IDS_TILE_SANDSTONE_CHISELED 1748 +#define IDS_TILE_SANDSTONE_SMOOTH 1749 +#define IDS_DEATH_THORNS 1750 +#define IDS_DEATH_FALLING_ANVIL 1751 +#define IDS_DEATH_FALLING_TILE 1752 +#define IDS_COMMAND_TELEPORT_SUCCESS 1753 +#define IDS_COMMAND_TELEPORT_ME 1754 +#define IDS_COMMAND_TELEPORT_TO_ME 1755 +#define IDS_ENCHANTMENT_THORNS 1756 +#define IDS_TILE_STONESLAB_QUARTZ 1757 +#define IDS_POTION_DESC_NIGHTVISION 1758 +#define IDS_POTION_DESC_INVISIBILITY 1759 +#define IDS_REPAIR_AND_NAME 1760 +#define IDS_REPAIR_COST 1761 +#define IDS_REPAIR_EXPENSIVE 1762 +#define IDS_TITLE_RENAME 1763 +#define IDS_YOU_HAVE 1764 +#define IDS_REQUIRED_ITEMS_FOR_TRADE 1765 +#define IDS_VILLAGER_OFFERS_ITEM 1766 +#define IDS_TOOLTIPS_REPAIR 1767 +#define IDS_TOOLTIPS_TRADE 1768 +#define IDS_TOOLTIPS_DYECOLLAR 1769 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_OVERVIEW 1770 +#define IDS_TUTORIAL_PROMPT_ANVIL_MENU_OVERVIEW 1771 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_START 1772 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_REPAIR 1773 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_SACRIFICE 1774 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_ENCHANT 1775 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_COST 1776 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_RENAMING 1777 +#define IDS_TUTORIAL_TASK_ANVIL_MENU_SMITH 1778 +#define IDS_TUTORIAL_TASK_ANVIL_OVERVIEW 1779 +#define IDS_TUTORIAL_PROMPT_ANVIL_OVERVIEW 1780 +#define IDS_TUTORIAL_TASK_ANVIL_SUMMARY 1781 +#define IDS_TUTORIAL_TASK_ANVIL_ENCHANTED_BOOKS 1782 +#define IDS_TUTORIAL_TASK_ANVIL_COST 1783 +#define IDS_TUTORIAL_TASK_ANVIL_COST2 1784 +#define IDS_TUTORIAL_TASK_ANVIL_RENAMING 1785 +#define IDS_TUTORIAL_TASK_ANVIL_USE_CHESTS 1786 +#define IDS_TUTORIAL_TASK_TRADING_MENU_OVERVIEW 1787 +#define IDS_TUTORIAL_PROMPT_TRADING_MENU_OVERVIEW 1788 +#define IDS_TUTORIAL_TASK_TRADING_MENU_START 1789 +#define IDS_TUTORIAL_TASK_TRADING_MENU_UNAVAILABLE 1790 +#define IDS_TUTORIAL_TASK_TRADING_MENU_DETAILS 1791 +#define IDS_TUTORIAL_TASK_TRADING_MENU_INVENTORY 1792 +#define IDS_TUTORIAL_TASK_TRADING_MENU_TRADE 1793 +#define IDS_TUTORIAL_TASK_TRADING_OVERVIEW 1794 +#define IDS_TUTORIAL_PROMPT_TRADING_OVERVIEW 1795 +#define IDS_TUTORIAL_TASK_TRADING_SUMMARY 1796 +#define IDS_TUTORIAL_TASK_TRADING_TRADES 1797 +#define IDS_TUTORIAL_TASK_TRADING_INCREASE_TRADES 1798 +#define IDS_TUTORIAL_TASK_TRADING_DECREASE_TRADES 1799 +#define IDS_TUTORIAL_TASK_TRADING_USE_CHESTS 1800 +#define IDS_TUTORIAL_TASK_ENDERCHEST_OVERVIEW 1801 +#define IDS_TUTORIAL_PROMPT_ENDERCHEST_OVERVIEW 1802 +#define IDS_TUTORIAL_TASK_ENDERCHEST_SUMMARY 1803 +#define IDS_TUTORIAL_TASK_ENDERCHEST_PLAYERS 1804 +#define IDS_TUTORIAL_TASK_ENDERCHEST_FUNCTION 1805 +#define IDS_DESC_ENCHANTED_GOLDENAPPLE 1806 +#define IDS_ENABLE_TELEPORT 1807 +#define IDS_TELEPORT 1808 +#define IDS_TELEPORT_TO_PLAYER 1809 +#define IDS_TELEPORT_TO_ME 1810 +#define IDS_CAN_DISABLE_EXHAUSTION 1811 +#define IDS_CAN_INVISIBLE 1812 +#define IDS_PRIV_CAN_INVISIBLE_TOGGLE_ON 1813 +#define IDS_PRIV_CAN_INVISIBLE_TOGGLE_OFF 1814 +#define IDS_PRIV_CAN_FLY_TOGGLE_ON 1815 +#define IDS_PRIV_CAN_FLY_TOGGLE_OFF 1816 +#define IDS_PRIV_CAN_EXHAUSTION_TOGGLE_ON 1817 +#define IDS_PRIV_CAN_EXHAUSTION_TOGGLE_OFF 1818 +#define IDS_PRIV_CAN_TELEPORT_TOGGLE_ON 1819 +#define IDS_PRIV_CAN_TELEPORT_TOGGLE_OFF 1820 +#define IDS_HOW_TO_PLAY_ANVIL 1821 +#define IDS_HOW_TO_PLAY_TRADING 1822 +#define IDS_HOW_TO_PLAY_ENDERCHEST 1823 +#define IDS_VILLAGER_FARMER 1824 +#define IDS_VILLAGER_LIBRARIAN 1825 +#define IDS_VILLAGER_PRIEST 1826 +#define IDS_VILLAGER_SMITH 1827 +#define IDS_VILLAGER_BUTCHER 1828 +#define IDS_DESC_VILLAGER 1829 +#define IDS_CHEST_LARGE 1830 +#define IDS_TUTORIAL_TASK_ENCHANTING_BOOKS 1831 +#define IDS_TUTORIAL_TASK_REDSTONE_TRIPWIRE 1832 +#define IDS_TUTORIAL_TASK_BREEDING_WOLF_COLLAR 1833 +#define IDS_TUTORIAL_TASK_FARMING_CARROTS_AND_POTATOES 1834 +#define IDS_TUTORIAL_TASK_BREEDING_RIDING_PIGS 1835 +#define IDS_TUTORIAL_TASK_MINECART_PUSHING 1836 +#define IDS_CONNECTION_FAILED_NO_SD_SPLITSCREEN 1837 +#define IDS_TOOLTIPS_CURE 1838 +#define IDS_PROGRESS_NEW_WORLD_SEED 1839 +#define IDS_LEADERBOARD_KILLS_EASY 1840 +#define IDS_LEADERBOARD_KILLS_NORMAL 1841 +#define IDS_LEADERBOARD_KILLS_HARD 1842 +#define IDS_LEADERBOARD_MINING_BLOCKS_PEACEFUL 1843 +#define IDS_LEADERBOARD_MINING_BLOCKS_EASY 1844 +#define IDS_LEADERBOARD_MINING_BLOCKS_NORMAL 1845 +#define IDS_LEADERBOARD_MINING_BLOCKS_HARD 1846 +#define IDS_LEADERBOARD_FARMING_PEACEFUL 1847 +#define IDS_LEADERBOARD_FARMING_EASY 1848 +#define IDS_LEADERBOARD_FARMING_NORMAL 1849 +#define IDS_LEADERBOARD_FARMING_HARD 1850 +#define IDS_LEADERBOARD_TRAVELLING_PEACEFUL 1851 +#define IDS_LEADERBOARD_TRAVELLING_EASY 1852 +#define IDS_LEADERBOARD_TRAVELLING_NORMAL 1853 +#define IDS_LEADERBOARD_TRAVELLING_HARD 1854 +#define IDS_TIPS_GAMETIP_0 1855 +#define IDS_TIPS_GAMETIP_1 1856 +#define IDS_TIPS_GAMETIP_48 1857 +#define IDS_TIPS_GAMETIP_44 1858 +#define IDS_TIPS_GAMETIP_45 1859 +#define IDS_TIPS_TRIVIA_4 1860 +#define IDS_TIPS_TRIVIA_17 1861 +#define IDS_HOW_TO_PLAY_MULTIPLAYER 1862 +#define IDS_HOW_TO_PLAY_SOCIALMEDIA 1863 +#define IDS_HOW_TO_PLAY_CREATIVE 1864 +#define IDS_TUTORIAL_TASK_FLY 1865 +#define IDS_TOOLTIPS_SELECTDEVICE 1866 +#define IDS_TOOLTIPS_CHANGEDEVICE 1867 +#define IDS_TOOLTIPS_VIEW_GAMERCARD 1868 +#define IDS_TOOLTIPS_VIEW_GAMERPROFILE 1869 +#define IDS_TOOLTIPS_INVITE_PARTY 1870 +#define IDS_CONFIRM_START_CREATIVE 1871 +#define IDS_CONFIRM_START_SAVEDINCREATIVE 1872 +#define IDS_CONFIRM_START_SAVEDINCREATIVE_CONTINUE 1873 +#define IDS_CONFIRM_START_HOST_PRIVILEGES 1874 +#define IDS_CONNECTION_LOST_LIVE 1875 +#define IDS_CONNECTION_LOST_LIVE_NO_EXIT 1876 +#define IDS_AWARD_AVATAR1 1877 +#define IDS_AWARD_AVATAR2 1878 +#define IDS_AWARD_AVATAR3 1879 +#define IDS_AWARD_THEME 1880 +#define IDS_UNLOCK_ACHIEVEMENT_TEXT 1881 +#define IDS_UNLOCK_AVATAR_TEXT 1882 +#define IDS_UNLOCK_GAMERPIC_TEXT 1883 +#define IDS_UNLOCK_THEME_TEXT 1884 +#define IDS_UNLOCK_ACCEPT_INVITE 1885 +#define IDS_UNLOCK_GUEST_TEXT 1886 +#define IDS_LEADERBOARD_GAMERTAG 1887 +#define IDS_GROUPNAME_POTIONS_480 1888 +#define IDS_RETURNEDTOTITLESCREEN_TEXT 1889 +#define IDS_TRIALOVER_TEXT 1890 +#define IDS_FATAL_ERROR_TEXT 1891 +#define IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT 1892 +#define IDS_NO_MULTIPLAYER_PRIVILEGE_HOST_TEXT 1893 +#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL 1894 +#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL 1895 +#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_REMOTE 1896 +#define IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_CREATE 1897 +#define IDS_SAVE_ICON_MESSAGE 1898 +#define IDS_GAMEOPTION_HOST_PRIVILEGES 1899 +#define IDS_CHECKBOX_DISPLAY_SPLITSCREENGAMERTAGS 1900 +#define IDS_ACHIEVEMENTS 1901 +#define IDS_LABEL_GAMERTAGS 1902 +#define IDS_IN_GAME_GAMERTAGS 1903 +#define IDS_SOCIAL_DEFAULT_DESCRIPTION 1904 +#define IDS_TITLE_UPDATE_NAME 1905 +#define IDS_PLATFORM_NAME 1906 +#define IDS_BACK_BUTTON 1907 +#define IDS_HOST_OPTION_DISABLES_ACHIEVEMENTS 1908 +#define IDS_KICK_PLAYER_DESCRIPTION 1909 +#define IDS_USING_TRIAL_TEXUREPACK_WARNING 1910 +#define IDS_WORLD_SIZE_TITLE_SMALL 1911 +#define IDS_WORLD_SIZE_TITLE_MEDIUM 1912 +#define IDS_WORLD_SIZE_TITLE_LARGE 1913 +#define IDS_WORLD_SIZE_TITLE_CLASSIC 1914 +#define IDS_GAME_OPTIONS 1915 +#define IDS_WORLD_SIZE 1916 +#define IDS_GAMEOPTION_SEED 1917 +#define IDS_GAMEOPTION_WORLD_SIZE 1918 +#define IDS_DISABLE_SAVING 1919 +#define IDS_GAMEOPTION_DISABLE_SAVING 1920 +#define IDS_ERROR_NETWORK 1921 +#define IDS_ERROR_NETWORK_TITLE 1922