From 75a6d7efea6d2d2178d65583080c6d6215feee7a Mon Sep 17 00:00:00 2001 From: ItzSonicFaner <165782267+ItzSonicFaner@users.noreply.github.com> Date: Sun, 22 Mar 2026 12:06:25 +0200 Subject: [PATCH] Skins --- .../Common/UI/UIControl_PlayerSkinPreview.cpp | 10 +- .../Common/UI/UIScene_SkinSelectMenu.cpp | 40 ++ .../Common/res/1_2_2/mob/char.png | Bin 1360 -> 1643 bytes .../Common/res/1_2_2/mob/char1.png | Bin 0 -> 2483 bytes .../Common/res/1_2_2/mob/char10.png | Bin 0 -> 17576 bytes .../Common/res/1_2_2/mob/char11.png | Bin 0 -> 2464 bytes .../Common/res/1_2_2/mob/char12.png | Bin 0 -> 2143 bytes .../Common/res/1_2_2/mob/char13.png | Bin 0 -> 2167 bytes .../Common/res/1_2_2/mob/char14.png | Bin 0 -> 17619 bytes .../Common/res/1_2_2/mob/char15.png | Bin 0 -> 1659 bytes .../Common/res/1_2_2/mob/char16.png | Bin 0 -> 1976 bytes .../Common/res/1_2_2/mob/char17.png | Bin 0 -> 3289 bytes .../Common/res/1_2_2/mob/char2.png | Bin 0 -> 4220 bytes .../Common/res/1_2_2/mob/char3.png | Bin 0 -> 4148 bytes .../Common/res/1_2_2/mob/char4.png | Bin 0 -> 4419 bytes .../Common/res/1_2_2/mob/char5.png | Bin 0 -> 4166 bytes .../Common/res/1_2_2/mob/char6.png | Bin 0 -> 4630 bytes .../Common/res/1_2_2/mob/char7.png | Bin 0 -> 3428 bytes .../Common/res/1_2_2/mob/char8.png | Bin 0 -> 16945 bytes .../Common/res/1_2_2/mob/char9.png | Bin 0 -> 1615 bytes Minecraft.Client/Common/res/mob/char.png | Bin 1360 -> 1643 bytes Minecraft.Client/Common/res/mob/char1.png | Bin 1755 -> 2483 bytes Minecraft.Client/Common/res/mob/char10.png | Bin 0 -> 17576 bytes Minecraft.Client/Common/res/mob/char11.png | Bin 0 -> 2464 bytes Minecraft.Client/Common/res/mob/char12.png | Bin 0 -> 2143 bytes Minecraft.Client/Common/res/mob/char13.png | Bin 0 -> 2167 bytes Minecraft.Client/Common/res/mob/char14.png | Bin 0 -> 17619 bytes Minecraft.Client/Common/res/mob/char15.png | Bin 0 -> 1659 bytes Minecraft.Client/Common/res/mob/char16.png | Bin 0 -> 1976 bytes Minecraft.Client/Common/res/mob/char17.png | Bin 0 -> 3289 bytes Minecraft.Client/Common/res/mob/char2.png | Bin 4339 -> 4220 bytes Minecraft.Client/Common/res/mob/char3.png | Bin 4234 -> 4148 bytes Minecraft.Client/Common/res/mob/char4.png | Bin 4647 -> 4419 bytes Minecraft.Client/Common/res/mob/char5.png | Bin 4251 -> 4166 bytes Minecraft.Client/Common/res/mob/char6.png | Bin 4541 -> 4630 bytes Minecraft.Client/Common/res/mob/char7.png | Bin 2347 -> 3428 bytes Minecraft.Client/Common/res/mob/char8.png | Bin 0 -> 16945 bytes Minecraft.Client/Common/res/mob/char9.png | Bin 0 -> 1615 bytes Minecraft.Client/EntityRenderer.cpp | 3 + Minecraft.Client/EntityRenderer.h | 6 + Minecraft.Client/HumanoidModel.cpp | 508 +++++++++++++++++- Minecraft.Client/HumanoidModel.h | 23 +- Minecraft.Client/LivingEntityRenderer.cpp | 70 ++- Minecraft.Client/LivingEntityRenderer.h | 2 +- Minecraft.Client/PlayerRenderer.cpp | 93 ++-- Minecraft.Client/PlayerRenderer.h | 7 +- Minecraft.Client/SkinBox.h | 5 + Minecraft.Client/Textures.cpp | 20 + Minecraft.Client/Textures.h | 10 + Minecraft.World/Definitions.h | 10 + Minecraft.World/Player.cpp | 20 + 51 files changed, 737 insertions(+), 90 deletions(-) create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char1.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char10.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char11.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char12.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char13.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char14.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char15.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char16.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char17.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char2.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char3.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char4.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char5.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char6.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char7.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char8.png create mode 100644 Minecraft.Client/Common/res/1_2_2/mob/char9.png create mode 100644 Minecraft.Client/Common/res/mob/char10.png create mode 100644 Minecraft.Client/Common/res/mob/char11.png create mode 100644 Minecraft.Client/Common/res/mob/char12.png create mode 100644 Minecraft.Client/Common/res/mob/char13.png create mode 100644 Minecraft.Client/Common/res/mob/char14.png create mode 100644 Minecraft.Client/Common/res/mob/char15.png create mode 100644 Minecraft.Client/Common/res/mob/char16.png create mode 100644 Minecraft.Client/Common/res/mob/char17.png create mode 100644 Minecraft.Client/Common/res/mob/char8.png create mode 100644 Minecraft.Client/Common/res/mob/char9.png diff --git a/Minecraft.Client/Common/UI/UIControl_PlayerSkinPreview.cpp b/Minecraft.Client/Common/UI/UIControl_PlayerSkinPreview.cpp index b8c439b1..11a855b8 100644 --- a/Minecraft.Client/Common/UI/UIControl_PlayerSkinPreview.cpp +++ b/Minecraft.Client/Common/UI/UIControl_PlayerSkinPreview.cpp @@ -257,7 +257,15 @@ void UIControl_PlayerSkinPreview::render(EntityRenderer *renderer, double x, dou glPushMatrix(); glDisable(GL_CULL_FACE); - HumanoidModel *model = static_cast(renderer->getModel()); + HumanoidModel *model; + Textures *t = Minecraft::GetInstance()->textures; + + if (t->loadMemTexture(m_customTextureUrl, m_backupTexture) >= 46 && t->loadMemTexture(m_customTextureUrl, m_backupTexture) <= 54) + model = static_cast(renderer->getNewModelSlim()); + else if (t->loadMemTexture(m_customTextureUrl, m_backupTexture) >= 37 && t->loadMemTexture(m_customTextureUrl, m_backupTexture) <= 45) + model = static_cast(renderer->getNewModel()); + else + model = static_cast(renderer->getModel()); //getAttackAnim(mob, a); //if (armor != nullptr) armor->attackTime = model->attackTime; diff --git a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp index a3482a24..0d43b71d 100644 --- a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp @@ -24,6 +24,16 @@ const WCHAR *UIScene_SkinSelectMenu::wchDefaultNamesA[]= L"Prisoner Steve", L"Cyclist Steve", L"Boxer Steve", + L"Developer Steve", + L"Alex", + L"Tuxedo Alex", + L"Boxer Alex", + L"Prisoner Alex", + L"Tennis Alex", + L"Cyclist Alex", + L"Athlete Alex", + L"Swedish Alex", + L"Developer Alex", }; UIScene_SkinSelectMenu::UIScene_SkinSelectMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) @@ -993,6 +1003,36 @@ TEXTURE_NAME UIScene_SkinSelectMenu::getTextureId(int skinIndex) case eDefaultSkins_Skin7: texture = TN_MOB_CHAR7; break; + case eDefaultSkins_Skin8: + texture = TN_MOB_CHAR8; + break; + case eDefaultSkins_Skin9: + texture = TN_MOB_CHAR9; + break; + case eDefaultSkins_Skin10: + texture = TN_MOB_CHAR10; + break; + case eDefaultSkins_Skin11: + texture = TN_MOB_CHAR11; + break; + case eDefaultSkins_Skin12: + texture = TN_MOB_CHAR12; + break; + case eDefaultSkins_Skin13: + texture = TN_MOB_CHAR13; + break; + case eDefaultSkins_Skin14: + texture = TN_MOB_CHAR14; + break; + case eDefaultSkins_Skin15: + texture = TN_MOB_CHAR15; + break; + case eDefaultSkins_Skin16: + texture = TN_MOB_CHAR16; + break; + case eDefaultSkins_Skin17: + texture = TN_MOB_CHAR17; + break; }; return texture; diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char.png b/Minecraft.Client/Common/res/1_2_2/mob/char.png index 7cfa08a869366adf395cc443c14a5f59ecfb92d3..e05dbe6976d2482c8a0d4e65ace90ac6c9f95a9e 100644 GIT binary patch literal 1643 zcmcgr`BPI@6uvJ33<-fCTMP(RAcPQ10*DYS1PIwGAq`+z6oZi^VNnCJ)FN>g)JV0W zqzRh?!zLguP^d&}#Tig+MKFR(DsEJfDx%bhrY~xL=^xN<=DhE_=bZbUJ8$kS6ACz3 zGyx3&!1A~(5zI_eppfua)4lyUOi-SP69L+XU8dlLSw?ttH~^;(VGOC}aBaD8Ra_K# zG1dc*a>HS^aHv!_8yS$}*Ry41F% zB>l{;oRf+iwR}xqnOrShMI>0cJ6Y~cV5lWg43fRkXcT=}c6Mt9#npC~h+erad|y(q zTEafPb$#~^dH=rbdKpI%8?Zi-s*%O0B&>>*$jWuh!ieREQbM=K2CFl;<%uErT-1_>h`Ro@xVsHSa2kL;_c@0Ex4b~HCBEG#T5D+~UU_Pr|vFlFS61hMd${|5kj z$KE1%q~#`VVjck27fb=k#>y<=G_4J@-!e!mFDIz6GX)=S-yTxw{NJenz{QFMzzpuC`T5hJ+E2cwndY^hyeeUB0s?kMeC!kj2f^y|E;@~7 zs*X9l%ZNOK<-m>-9xFU9fiqosyI_Qd+mrS{cbV+jBYe})(6&}LXubPJ*NDYgrSDMc zL!Ix85vBf~!nL;>f2|xbrf=|?EU+s8U8| z2cVwz4#*D1wVg;8ry2d>Q_!!T{WGo>wXd-Hc|5p}HAqlG0undhKVv7?U*|T5Em9v> zF>cFag17Bo6|F%LOZd_2be89E`n};)IxmmJ@`sL2kPlgwq z#5hsc_RHszHhs8r`$CQ7$4w}W1~avxsN}2ofS%Ed$qQ8qC{eGz`ky8J{ zRJEMC(|W5lW%Am@Sr~=Sup8&*T7wCnY_BKJ1+KnVIzKNhc|UuMS`+rOvG-+;WOSCG zbHZL1bT$;|?!XuyANQk9^d1|(?^E@*?QZ%+$VABFMe#PjO|LY|?4FpugwPGY89rCc z9!0X(q@r+98j^A{=uZ~jZn&7-_2N+OilLw-s^ZtJaPW)vY+BF=rG5SIJcC(^ z#epTq5!~jk-HK|9AJD?e5=ACXQ5XOWXjwDVQ^gzop(9F==LYh4|G%B5Pq5GqLH2 z0a+`szfwk<_I(gEpc$&C#QVO3(&_C=zyUXH^+t2urE|GWglUYTUoQl!C6ohiF!-)O zcBEpPwnDGgtNq1;KCf-!PuPORb8+c|J}y?m%Q8mu%h15uVJAEmNzwkbVx2e+DV%Jx z5wpj)L1PX$p^Vva-wA&ZJZ;s}eCOg^@z2=H72#S1=NmATfX71F+FFCcqN!D9?0~G4 pThHdDwGSX47I(1n8s1;T>76D*G|1NHj1<$;<3$Nr?GfS~{{T>3pYH$w delta 1354 zcmV-Q1-1I?4A2UY7k?lK1^@s6qMd$(00004XF*Lt006O%3;baP0000ObVXQnQ*UN; zcVTj608n9RZgehAMN}YmGcGeWspsM)000EzNkl2ks z9~X{`vIV_?hDB+{8EkYXoH>Ko|B$UE9K{XYvK}hw8JK}xUozQ zf+@bKer6(oOn)XL)&ONv0O0C#1z^P@0$_GKd=>xz!57bbkOZJJ+cY`0 z0L4S_^7+*YV&UwnI3W@M_PlSCA_o8fg)<7644DI%@k8ZU5^Y6&vh!vN45F6Jt5UJ6 zGP7mHqJrfX)yOvug_9sVzeFi*KNx-+yJh~WJ0hu~;_>4a04Cnj zFiV9%;OfR&Eope)+&o9xo4-~+0HF`Ypp8*t0hGE&R2+a#x~{Nl1>sJZTgApYzSqdh zfiv><*S!2a*e`Ey=Ux4rJpSpBtXVoo$G{h3FgD&U?wj~_+C8G;0Cc75T_`V@RajN` zjxa_&w|}Ho{=9rrp5N%x@=1T64CQ~6Hv@SYI=x#BKJdjDj71&a!Z-1rc8{1C0OCAQ zEt$D9aD>b`aA17D26SbRgb zKyf>y-6JXv0F$QxltZU>=!*VwaJ`({k(0AqTcod}S;fLG?pZC@e^{@EI(*>!TlY>K zdw>7Lu0mOaNRajpfjYre9DqN8{X2)nS~i;%YpD|+9*+MC`xm3g^+iXImbSDXc=Sm0 zJ1|$r?Q?JI(zr|;p4wjy0HJF!+R6fe;)~_y4ZuZ!U44c8u}?W7AnCtBSt7vO0v`=v zWi~Icro~-aZfpBvl-WMNzpZsZqAOSaw|}lKiSFH#=;1?6m^dn#Jkh3R{ZU67MA4o; zl?cZ7B!Bw&{T$CSEg~rJLjVAl3hM4I80wsO5dr|HNKVN5V+{QLNm~H?Hown4lmu#j z|3d*V62=n&3LrE=P7)JDL|Bp5AN7!U8wDZ2c8uTu$pIkjDGGHv0RpgXN&WyuaDTS$ z3$)SnsUpDU0qlEgDjuR}m^=kQ5bJEWz66E{2?229aVewSbeAvu|FDKO>*M#QrGO}u zr!z z;m?HV1F-(|F$vL%^CJK-Y>r^R-6CTKkR*`pN&PlQ;4G2Ben->AjN(f{P12 zdXW-b5Co+NC{jgQqy-E_Bw#k|?mO?CH|NZqZ@!uP&HQuExv`d5<3mtMC;$M5FeV08 zoTzu;5MIt%j`yDC1keL3<6nWweyOjVgxg);Tps|ck_7f{@NjZ|FB69c03ZN6a8QL@ zE0IGU^)wm+?6|lU4zwfJpHMEgNtDsa+s5pptKc}hD^$NxfgHZw?oP-CE z1n~eM4l?EVv48QwI!F-L-#nOuQ6MlN%!!U1$H#F0%@a8Iz{HP&02p9?aw+|D%=3!3PHBD1-m*w9?V$pnq?n)YJ~Da9aM3MJ^x<01y|9 zfxb<^wY6N&cu{vm_eG5wjh7An4gTE-DN7|Qf@%2EQKb%#+BVo-JU`O#=5I$Z=xn1k zfdrgL9voezD)|VM!W&Beqr?lgDwDNv84Nad#Yba|uF4U}a!lvj` zw?D?p_!Yo!5^mZFwOAN}N?z(#Qn%x1{88zYUF$FROP>Jxa<)8D#_5-%UgpGsE#Z&4 zH=}0;pD(}KUTLBgJ78=-XeUw!Z8gn1YOne{JUJezIz1uPyf|QCocGqW{D_{UN~<(Q zQCnRaNWcgOP8~vaf4_hPA_2qA%roZ0dZKb|b0o%ewX@X6$2_@oK-TiIv-r=^`M%YL|O2NIV{^(IIelabRSUQrSn$Umejk)&9BlSl5CK!Dn7 zPVfH%I9SWZR^M7I5;m47jZ?ddL-+5o(n``WJ|ZF>j;WMY*kj!#?;r0S0K3ZIUuMsa zh3$}$*W$gL!{$iG6uZSJc=GSp@{;cD48%jpR@sj;*LLMpaW)aY>Thz3_A);vs>r+M zoL(##jagv^Z-!ckQ@FcpRb+KbIqaN6Ze%tGJd;PeO( zYDo@s(P&=ZcCMR09to48ug?!Y=Pd^Z`aRFi?0c>%9`$36-lB*aP7jJKENqX=>?$i9 zhqbr{1T>adBzLsP`w^T)9tl$GonsnF6{@@1otM5VE3tllkLfm0TIebWnx2Rq{#2Sqf|CAbBn<2{S7As^h|-^i$GLbabO>>EzSyD^&4=U7cb zG2^Wpi}Kf2NCo*i!lc48sRT#X(?N|l)0d3l2%(S)>@kdu`6XM?t1_m`#YLX_X3eXU zr-Y^Noxq$p0*uw0_vb%D>e)~e?%Hwf$hL5#048FczmCu2-R)n)%_d(Z614NSi{7y5 z(6Dl(?W49h@akAScJl3nX4$!7CyCRC(eU-w%T2ptPQmk83w&c6I}&4oGzfcVy8+l4 z5%RD0es_nXI2)0YqUV`C{QgL@kgTz`lGn(kqTrvdAAZrL&IK|poI|q;r;yci;yJvY z2v4WR6C>AYS~R+&o0^KK;c=PAtWjM5!KR)H0!KPt8LYXc8$)k78K zm6dx%hMH?_&eZgw&}z6q^|YK zxpTfh<+D#f+`5%jf_+cTTxFTOsh0mp#K)%~NokaopV5Z4qTfnm@lKRy2ttv%;I~ru zXM(?l>`seV!pQRX(z%=VXkN4nqa(d~e({Ny<+whf+8BBErWr!y{I>U}06%|35_%&d zMYugNo5UB4}C^u9rH9O(SK^y1S2f1W|Hx3a>qXpHxFtZrWW)>-Mlgi zrWRL;5tm1Pw=TmLoc%9g2bS(@g*gsL7%G?jK!x2w@EHZYu*IK2w$r*lP+HZi2NNUfZ5=P2I-@FMzTuAxBMzDKL&=jNRvOn7!I566Wu4cY4eSp zku44?mr+W+U0vJomfroett^%Oq7xxPKH?p1svv?t`%Ezu=wa}fVb^4b$rh5_7ApHB z!fxwQlQM;6V||wv{JFQuD+qEsMpr!n&DW88)*2Qn*)OqmuA$3ChV%Rwi~ZXPbB7_8 z3{hJ9kTLrZ9TLP&xUgI4BIMlB+(?q$lz~s)ZkpVBmca&TX@+uD&CbRhd^<3PScA%6 HuZRBy;dpdF literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char10.png b/Minecraft.Client/Common/res/1_2_2/mob/char10.png new file mode 100644 index 0000000000000000000000000000000000000000..6f42db335c7dfc757f129ec2d63df9a267bf6b80 GIT binary patch literal 17576 zcmeHPdpML^`yS^U^OH*GGdb+SF!RoN#;IW(YY;+`n#^Ew7|o1Kq=r;t?~=}r>7=w% zbdVC+ZK{v36CD%^o5-;!a`>&8>{5Gw`@814_V?e+b**QXXWh@U)_XtqTJ!$1>~(i_ zR8`Veg27;_&Q4Sh@V#8v=Ewt^&)VDqz7!*!)^K4k<$1y;1xwG=0!{^7s=3D8D@{&Pc z=tk5bd4!2`-m~gB)WEP0R;Ne)jIhuecpiu}ojU54ZU~Ys%Bsdy{ zBEZpTG8RQf5#ci*eQPDqv*a*>$R1ROnK{8S|DCC#SAkY#x$#xtjoyVktW{pNcI5QMvhQ@nA1TqRsMiKlhg^{yC zUndoX)7T7F(AICmiCz#y#*xSv+)Vf^(D&h>01P^h{@)VJhJBYp^Z;y*7n>bs{keYb zA#5I-8^Vr++j(N(KCB1^JDNM|L1w@+c`T7aPG@l}Dxi>_@BIIbdq&_F>La5#VWJ8% z0+GxxW;io~#|895-_p+rBnPoM;dGugE1Vw8M1oyliTvvPr`H$x2Q6Qg`He!p4F6dt zUxvtb>@YS5l#^+Vu|)ordscD24m+{9JT_-5@(Z*76y-phG}>Q3&L4sg5C4{QQ3%;N zg3F^v1Tvke)=^O`2H3(x63*5EZ;z#b20^xXI|n-o9#5sBAsosUFH#SUHaqU0E)S0t z^!1SVrZU2jKNm&lCA)E0KwEU-(O?Z(BLC!@RSwaZuLqOM4vP}u!EpvYNJwaBLT3+u zAG+r6LuU_vANnn9JNNfduHdn@FsZCyCKtru@CY=H02&cA5(14!BhUma zXuwCrB5)WKXb|WFKM{jKlkf-(3PNBYB4{K84hV;01qrlXo&y`tZ*(2kc!X>XTbmo2`z{PRul^agoUtRRA|9!f&J_ui26jK zC4qGUE5eX)pie*x{RAL3V1XpD5DDZIT45}SD2yc$g%}c1h#`?g7!oAv3$u|#*+?Ye zj3iM`l5i#9w;7KBvPA%?Bk%|Uf`}j?05uSVfY1mCgMhFIAY%Z62ne8g@T!6aI{|D2 zut#uUy8yL=jREv-fkLB6SONi$!`R!|+u5Rt_Baxef+b*Vadub&kuX!tZz}e;BL6IX z@U{cqwvb<5xBfWnzr3ORPdZ<9_CHDgIjLk4vB;IsC80|!2E+nO)Fq)yEC$2^OVlNy zODqP&0!!2-p-U_V!~#pyC80|!2E+nO)Fq)yEC$2^OVlNyODqP&0!!2-p-U_V!~#py zC80|!2E+nO)Fq)yEC$2^OVlNyODqP&0!!2-p-U_V!~#pyC80|!2E+nO)Fq)yEC$2^ zOVlNyODqP&0!!2-p-U_V!~#pyC80|!2E+nO)Fq)yEC$2^OVlNyODqP&0{^YLl)heI zWJZ8ni_zeEqQhjRFSy#MCA=)@$qwR0(>YAocemKE)%$`0X08z9!(s859GGWRB$ER! zYgYbx=_L%N)a*>9c=4ZiX6y*lt(EPnJinU=;t)R_A^_*J3M6G&S=2y$6e2h8#^GCOLH$$W>{DZ`8!H)blFgfKQw4JHgPEZNqUihyc~fsz`fEuHi`|~ zFa4_qWqM2RWavY$B3&!BDyKE+HgNOX+~?3`T?4hM%VrPt?gxzDX34_`chp^ceDz-) z%!b7cY^nI^*aFXnnAD>WdDmY|BZb|vZf`V((49()o#p&Ks#O27rEx(0#fJJnAEaZzd*n8vAr(Lr>s(rBBIgHm0s!WVEdy)(TduQx0=aS2_4-oBM(+*Ly`pk%J@8 zn^Zj$JeF?r`9OvxTM*>qWNjUvD=S_xhFKQtUrT?uOv)j7XPbZ-WZ0Xr9A2uPkUIg( zjFZ{BZmp)1Q6BJb>Ues<%X_|2bNUucbs-2zWM(SCKs z>!_2hVZQSX?kVO~M7FuCs-$pU_CAQZl-Hr@lohM9v}G85v~NmwiEOuVS?SQfe!qA_ zY5J{>;c|mcKb`n7$I102_U9%A7Vr1rjZ5$UD&JTftN?OfX7p`|De!eV7!iokeF>*f6G!6EaYlw+x~t&?MNWu4tF?@Ibdl6Y#C4`d2@ z)9Md)E9$*JRO8ltqaY=B>E-Z@2~(Q`FlrLiqYc^q%sp7zXNb7x{&P#?ZM6dt3U0&8 zy_$CplqqE|uI_EVvUAD@@1$<%HsyJ`-g~D-t zqf)1?`%#yU!rj+GG0&FQSG>}8q?Q<+3m!YGeYHro?ns>UPK5xa@!}yhwWeWscX?Jp zf0TyokA+9;RD-2DQ#NGlAx!OPrg?`2S{IP{hh=O9>uOfKGFZN^vp2VCewVEGp0&+S zPuJbTg{)tuoFsh`dD^>RTrcexi>lL4*Ox4htD2Bgp6nj*kHveJ?UiAr}j{XrhL)i7c zBYmIBb|hZEdvIlA{?dz+Rb6fMp^qM|=QAF^kG^Ucep9=)>s=C0{y=T&?Fog3M~>$v z3&xhBZI05nn{&bDsqR#_g(t#?Mlm>7;=eska$S!ii!;n`(o!aZ1{rj{LsHoS&Xk_C1fLeoz&ZzmBP$a+rH7I}Y1a=Je!h z*h1y@BM;Y=k$=M~@Cz*HmCNRg80#iE1=nL2-|}ty_&!$UOr3sC-NCin&Gr`O?0q;r zmE8MV!=jSY``%hj%zsjMPVVZ;gjHsV16>7UOJMAXxYYKBMVU|VRal*iJEraqNDWr8 z2lii!ox*)cD|&=!m(G=2*(9f8u-9iqX7tiYmiAfoko1Be8Ct`$txr671`qzNpyqBq zKd{enmrA)}xsLKNgMR7Q^&dNL{Iv41;+>+^#qJlq+iUV!!){L+i};-~3Wo&rI9h{) zqIJWAa|@Tvh4Ds|ZKw%5x4#)t2|18>ISBHaY4n)3!0! z-vrN=vdF%vBS^XQrUFajt-FWqeDHHSk)OS%otQXcUOsd$td(~(X8$IxKCLNq2Rb2k zpIPg*w#PSm&Y@pw^7mQ&{+OJ*HYcX%{H9i7aILP&UHD-axljSRpm+FLaL)O;X%84R z($*6|`8)fv)~Q?668Ycn?lPjlv{{(@ZRXL08N z(;*&pDmK2(Y-H4=B9Ehnik0f_`$_NBHTc9^Sli8Bc*altwVHF9YcJe7WHrgVq4cri zVBj3V)OII@hUcYQFNZC9iq}jru}&(pUUNOBCfXhg8_}#JOsy;utN#e(S}s z2nz=@*vA2PiemPPjE_mh_$KnmX@S@w3#41A--}dxo&^ zrl)!CBi`zA^b_vn-FX${3n9B;!Hog%$Ac|%td3`-XVwnC zS{c8+$icXrGPCvXMh=H|n%twwWihp)}UHt5P-d@_RMX zXn6DME;;1|%T0E*Hek35>ch5GP>r>z&z4mpPM7OtZ}XU19Gz*2^ev9q!V%n>cn%Fn zEsYC6HRz%OI_@WSyE#7gEhJu1&IL2{RA^O$YkX-Iy&zh)B z5G>&Qf`zbSfwJo@w>RIm9DQVwlOuOkd;Q>(Rx54gNYq6?*(4uD*qqlgCz-i&r6up8 rqQcZ7Z=~m90ylS6{XQx)EpuIE<+jSRYaE3C0mRwfm0DoCA>sc4|KB`1 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char11.png b/Minecraft.Client/Common/res/1_2_2/mob/char11.png new file mode 100644 index 0000000000000000000000000000000000000000..cb20ba3aab02410c3b8c95568448c337cd770dcf GIT binary patch literal 2464 zcmV;R319Y!P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ_CP_p=RCwC#nr&=T*B!>6n>Z2T1L9?E7&dm^oWwSeR}v=<*f+8BMqrS!eVDef zYF!2?G`yv40LP@TRikK?@}Uyakfs(WLfep9@om~9v}xZ!rBYZ|p|U6}Flg0u9cBCS z?8E=wo9mk!+aU?0t1UgczV{qopa1VZ|8tIg4v^**bc5X$VEtOK-3tcYU{|@Eca(vR z?$k=CnA7XyGu@)ovFYzm$MAk4Xe*K#37G(BDFGYYV24+ZF)z4rtz2((gGa;Qp&Iao z4dBal;K6Dzp(X>!&CNCLnVXx7+}vC!iUI&|I2+h{B+VZHHyAAeH@d*BKCsavPd?}d zxB0;1D%f8Q9;#Hh+plm>KwpB?R5aUa&mH@D2m~Z z8B^eNOaPeDVeD)VMn_cK`t!Mk1<>RHW2NGN&N2beT>;iQ!7UnqeU)I}I)(ezE8M?9 zQea=DlpPHNIXO8=vU5YqPS6y%IseDb_BVr(g`Yxf{+K?;u8REr2?R% zT#lV((%UCg@OTS&q7^(677a-U$f1Y?o1dSLB} zrH{~u(5*f&sP!A0isZbx5FBm+ZoM8g0@Z`G=DcyV85Zs8WelLsCAr*L27aqT#`st% zxTQkI`u1|LwFK;|1y8n0uisY#hTJj?Zghz=y2|A}J-1H5}?RW%?JOj2oD|y~mBM@RRVL}Ce-U%L!fJa*t9#_Q~Kdb;(5a0k(NY=m^q<6`LQ#`PQlfsXHsrb& z0RY{Cy8cvDLtPi0ey&)tf~!`o;>wjPxop`o{`T9zyWa&a^#DUrW!mQlg5U?Y@A7a1 zc(?(4sS!NX0RHXnXFMDPf8z@9+!`OxukrDcGr)^Zf0EJ#HV_1LEvr0iXu$w1U%os^ z)-SRHFfsX%6uN5>!V?&n|f{=fgrBTe81r(Xa#eY{`^K2rb*bqc_a;qkcv zu)bysz^;K4lMi|G&L`Yo5ALrA|N4(ldH3@#`AQ@Bmea?#Ts~fO1^Bkh$MY_Kl4c8F zb@+|N31A>7^Mn(vk^*B7COOyyzU}h!*G?bLx%|9f2|iN*^O^$s7f(z+IKHwKQID(Ee(0f0Y0@R3qpEqAiRo^WAnqBaEkk&R11gD1ZSpyghnQoxT z&fexmBvkOjiTg>Kn0#o+9E`41_3dPZKJNgg1s7GAXkW@i`_dT!nDsOO*tyhzGg||eptmRhefn2|RC!>JObw8ZAKMjx-V5SauYyhdAh_x(L9dl5rg4gTn z^&c0&fl4{oQ+F_AO3kRkSr3D{%tPFHn{nD&#~RQ~5X@z>0nir!_XJ=ZcX`1*ntHu* z{d?Mb{rWENEF5t4+6`X4b|b9=%=PRny-)yFhu=t&dGeF0Y}O92g0KcY8wbp13anW7 ze3F(HZ8wyv?1`m-bzIlScDoV4uI}~Qcc#q&bX~uFXW<=So$0;f^d%`>`FWRr#+l@) zf|4XRS?lUk>r^raY7Wo}!FoMo0B0k~y1WzkL$5L~y1Y~FIWhUrkoEg6b}oz-6@XOA z0>}c$0>}c$0>}c$0>}c$0>}c$0>}c$0>}dRKLB7|JG3sYrUPL97ufs<$JYvg4#B+s z|Fs36|J{{MfyD|S-Tndd-UGY+2X@Qr=~ku>RD+8KK)U?{=6``x?Jt;V0n`dWFIzMK z=DNRNCIEI2^mV^Q1;BRyfMt)tV8{}Ln!L*+(-q*a4ghU`L8?s_cFWtT_5qjyB-BL& zV6OWM>;R;5z`O#O>z33^_YcfeW?tVP2+F$ui~vkqc;^kkTwm!HPt%q4dS!jTFED+L z-@GrN&$2gQ(EzYpR=0D2Ue8+gxU0XH;=Q;O@5N6-Wky@x+@<1DycfVza6qQ}3#<-! z-1UDQz}U^-Vf>@_F#ged#{06U!yoIdktbIG0000 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char12.png b/Minecraft.Client/Common/res/1_2_2/mob/char12.png new file mode 100644 index 0000000000000000000000000000000000000000..a81c05fcc1d298fe94794d50f8f547ea1e2d6f1c GIT binary patch literal 2143 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 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char15.png b/Minecraft.Client/Common/res/1_2_2/mob/char15.png new file mode 100644 index 0000000000000000000000000000000000000000..a67a3c8234e2176b012cde67c965d5770108e846 GIT binary patch literal 1659 zcmV->288*EP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ?0ZBwbRCwC#nomeuNgT(28(7m4w|ZDTNEf`c2!)~t%R(*&DhpLuD&$l(Y$1!J zhm!VYNTj7fh0sF|f}lAp!iESHwP}L1UW$caFD5kQkuE}zg0O-M@(!jjJtQ;vy~(^k z`D0>|eemNYGw&ty{mk$8o0&HcKT5WV**s zy}y)*5|v#T03?64Zp%Vh2vyY5f%&>@}!!F02MFAd@RY8J3kOz!}lsb z0^s8~8HH2nt>!fpLRA2;xZRaW^6mVbboQEw6!Q@&?kAnSX7cU)TnNF4M_^O9bU_U5 zWdMMu_pU=OmxE!?9VT+va|d#{96Y^uT`^t8!)Dn4Xd`!5CW#dHlMYK4kzzjb>9v=n zqdq2Hius5XdqzIJ&X>_}(8~d8VL^vEn$?e!Q8@kb9!{mVCB03{d9Pp)Q9h|S2~szg z;{KxG!g*2Qb5B2u_Lkaslv1!el1c1_lNcrZ;gp>**tBJ$UdR zx+?~dFqzqO7(>Wdx;3pFz*Ky4(?eV%gWwt&yj%ci&cHE$=>Q~5W+KZnb5|Y!9})?Z zSxdeb#qgxID-$=biCroCNyn0PxxUQuEP_ZHa^xRYcGL~*t0HW)uNRc%K zfXyE|6ea?MKZ~vxL7-)SnSNB*VfW9>_`2AYPG*JyX#IiSpTw?omNcA-5}Bxu2f|xw z%STdMK9YX(oTT48FRny)7FapGM%q~*Qru4twtU6`^jjT7mSxg!b&!6mgWR?+lHrFT zGW;+^Zrc}GIlYFj*9!qXkJ6h5P~lXpw6nm3(mGmC%cZ!#JOKSx2T7$;ssL!65deCt zy>bDhwtOTVeWnCZ5Q)8`VgQXgoK9zDHwFR#kqAH_0Ircipv&NzEr&1t5s3hN{0I<< z09^sLCxAeJiKZZG@;uuJKI74#>N0< zX7V;S2e7dL5Do)`Liz7=bIQ7n4S-;<#XJB52#1S8+Y&%1lo#199`NMuEm(5cV98;F zdAk)N-anbm+pREfx3YR#{&L3N+5nawKggd^dCLNDT5k#gEIoeEegLpY9smxHmIT1} zG6ulshnCC%JOG>nc<=B|jkgB?wNaqy0q~8)z3iPDhnF*U@J@|``?n$R{(grUEpI4* zYPZ+%9s=I}<`+A9i>0Op&|&E++5a~TAQEZpYLI^>SS|qkCJEmD<{x;pEC3t=7=YnM z*EeQ&2dzyNyosuHZ-=Feu!WDx^Ma-Xz`sbPbuR-jHdbs5T@ltZ1ZoLDZR<-D z!1S~dKsemy079Ym06=GbPww7gZK3Od{{gfU0H^h4djrUReg!9A6L9i10ol*5;3%^V z|NVQ=JOC=){}*`xT@lvR1FC($pk#*^?f>JgZ+`zDd%#g<8;&yDjq!kL-!H%~KZy4K z6)#7i?Qc;MY={Tw3Dg6m_LheNK;iuWH2|XL1x5jU9{{Zrr*gnB*v9|>002ovPDHLk FV1oMb-L?P# literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char16.png b/Minecraft.Client/Common/res/1_2_2/mob/char16.png new file mode 100644 index 0000000000000000000000000000000000000000..a73a9314ab450928783037c566797b99387edad3 GIT binary patch literal 1976 zcmV;p2S@mcP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ@K1oDDRCwCtn(u2N`7s|v} zj@mau5TZ!2eO2?q(U8T&E{n~GS|-aXl!Pv+>1`9MR*g;CCaps@1{pkiar2y>dvb4b zZxWj{z3^~z&$+qW@8>+vbMLw5AtcWhbhbj!*$Tl417!VHX`8V%(RQM90|1#N<8MH1 z%k+_4R`jMM76pb~!uByEoITbnxYPiOhJb=lEETE%L^k@F{z?E)6a*AS0WdBSPBmj)auuFg$TNAu|@*~)<^}_fM-^k2g|B|?~U;C$rq6DcS7v(euzEZ z4~x@{5cgYQGvtI7-#D!J#;GSH{GG5dXN0J?14L&F^$5`;$R43eVNnY4S|F$bV8t(a z+acl|l}35`V_2MSgcaX7q|<3QaXSs0At$85Q*h#T8q(=BtoX)Zak>%Kd;-M%R)}~< zVaeMrg^(xX6vKQBMre|X z-wZinbKV8(L8(9Pw^DDR05YDW6c(~$XRGXnN|Dvs$0mDSC40Y>1cIX#^>$DXK(Qzo z_gfELu=UVI;l%w`NQI{;gr%Q9lX*bY+aU?Qdss5}5m@^5O9;Dg_06aMAAp{8rn3 z30OOH=#b3vz1TE#TcF-(f@M#W%n-o4U~NvzcYW5iMYjp!ek+J>6P#{7Ku$Lw(ENh+ zK>;*$TVye~>}jG;ic$dh@87>a9DsMhT3DZzZf1S9wjcmXi3kDkfO*pc0L91sRv0{L zAcIE@l?4EE2Adm70RXKe0P2kXdIWpSCQ`iq+m&URv5z*sZ|P}}T3G?q8%?sCWkUc3vh8a=fr{rn0>z1hz2FD;ZG01F`*e?!G>%o(%J&leI}0O0Sk0KosF;S&HsG;~|2cm%_m9sq1| zWkGIuNQ!pBv_OO;HdHYhHi^y z04LAXU{w?x1JiGTyvLvC0Px#>(aB|f68tOgv~0n9v}2G(9JN2r^< zT8;qUf9s|h?pp7_UF#jVb<->p!+H+uL42E@5J2H5HYGlyLa`6~u{{-@(hdN{3Dcp-Zwc($jC^Qc>oK*X4@9JCjnS2lE}T{0T+*dLdN=z zk+HsG#MC1Y`_OmPOg#cI^$4^d+iwi?R5yUJ3umQ0(_Xaz`h|mv0LCty-FpC7kvsr4 zJgO1^KguisK0j1t4&VW>Ie_<$p>wD91^~6EKve=j8#;H2+!*K~L+4JB@4sp$LtlSR z4cp5KpxEVgt?U2!CQG{-fR^?DoYUoU&IXHJUe~(*U)2D#tp8U`2+*&$v&tVq-vw)B zpTqf&p!~uIyZ)DJ{hv;JRK6GNIsoi)Hw!>*{htEp>e{{;oDuG12$TWjq%4R2KlX9Dr|q7mt5J?*-=ryAFV!B#0hRaRAr?Nq%3b2jt2D2%uj$ zSXls+Y7B}2kS_#YFWw`m)mf5Soh7dq?~&LuH~A|W+C3q_uklCb1GEMp*ZRMb2jGlw zM?C;*3$Tu0!LeOefHeke4FX?ZkZXmPUHVQ09IzU2(Aogj17gqIB=*c*9uFwCzJM)$ zpal?_8UVH~fG>_vN`htafMV+lvZ_27k=Ty)0crr0z87c(@c#h*hQt8cFLNIN0000< KMNUMnLSTYA?13== literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char17.png b/Minecraft.Client/Common/res/1_2_2/mob/char17.png new file mode 100644 index 0000000000000000000000000000000000000000..9db32e3d858fafc54e5231d66f5c94d327833f66 GIT binary patch literal 3289 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 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char3.png b/Minecraft.Client/Common/res/1_2_2/mob/char3.png new file mode 100644 index 0000000000000000000000000000000000000000..d45682fc9dd4c686913818348e87de66c231eee8 GIT binary patch literal 4148 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 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char4.png b/Minecraft.Client/Common/res/1_2_2/mob/char4.png new file mode 100644 index 0000000000000000000000000000000000000000..00dad3d5e1f07285ea99324a392f34b7620f2bfc GIT binary patch literal 4419 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 E3wI{sVgLXD literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char6.png b/Minecraft.Client/Common/res/1_2_2/mob/char6.png new file mode 100644 index 0000000000000000000000000000000000000000..d28abf783c546bf6800a64e6b0ca8c3896907aea GIT binary patch literal 4630 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 Peb;(qqYI7aon!wC;H)xl literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char7.png b/Minecraft.Client/Common/res/1_2_2/mob/char7.png new file mode 100644 index 0000000000000000000000000000000000000000..974403c24a5aabd66c58774689dc81def93915aa GIT binary patch literal 3428 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 N(A6~1C|9$K`X841X;J_H literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char8.png b/Minecraft.Client/Common/res/1_2_2/mob/char8.png new file mode 100644 index 0000000000000000000000000000000000000000..28b714891a97cb1ee8b958af0e63801c4a413a90 GIT binary patch literal 16945 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 F^na*IDoy|Z literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/1_2_2/mob/char9.png b/Minecraft.Client/Common/res/1_2_2/mob/char9.png new file mode 100644 index 0000000000000000000000000000000000000000..da205681c02ba6cdf82a4db91b5ae29882855987 GIT binary patch literal 1615 zcmb_bdpOit7(TzbAl9n3r$IMLF?JZD)}m%iZZkVHjfrVoGHk+-k%EXvI8B=qRXS6)}K4Ee;1!c45e74H>bwlh>ov`ORG;l>bf(Gx+66$AUz{6 zs{9x~fhA1w%R0?D<>MGz9X-}nXk%k@oMG$e=tw4$SuB>fx3`Oni-(7Yw6}b!ziv!i z%x1GW9FDZFN;cRe5sPF)E!tLVbqP9q`P8Ti9-U72_xGnzC^Q;v?&aNy{yHx&F9LzU z<#L^!ovBpnF`5;8+)p{n9j4}{=H{ttYn79AhnVC5GT9iY!2ufRLTCWNi~{?* zFI;)OMi6p2kAS&3gaE5xWWgRJL@nn-V6L>mNC=F>ui#(&@2&vA#nY+)1^1e5w=je9 zKIB@W21(4 zuDP?-U^P}Gr#m^v`)pwbKIzcJULDBRz3wuZR6F=?$=b%F)&tj#^c|{()<3Wqz!>^1G+M`WAEiYx8fL{7H_l%?qS(%xcAC@)}bqocxNGtwP ziqYXtA%ct48C~=R`D;8!I_rcVksz1WQ<=n?4r)kBTisI`M{3`9YE?O6)Y3J1|8>SA zolK5yIpxFkHt)>~JnA9R%6r(3g;nicyMfnv3rB5#($BdoV~Fi@`!|J?aNV5+gI)QZ z^j$yk+S=Fx%s|I00aLKAN02=y+*FWF_=rPm6#b%guj`#>>!&0J#rXYL$~n>s_fUc; za+_;%l0?0fNZEQO@%{aMeka07r8K{6gD$C58Z=MSnk66%e|MiBW}V#Db9rx0Bv47T z%bGRezu3f$u^mSxTlB>gS0nX)GY}ksLR4FWL+^9n_8V-2oZUnrXt^<~b0oKl#ZlG9RYPRIbe&pY!Jm(4a}$YFgwmpu^2PU6x5^W(tD&y9 z9cfs{VKc8FmD7kNlXDvY;D(2X>kA6oRrJI+Za2mRW#h!AcsyQIYu$lUi}k#)xfOa% zPEpfO8V22O=BFkemz0F;zJ~W{@zDbstp*{Tkd-sU^~T0wK55|#f|0MoUNpxhu7X$` zO|$m(t&t!I%g6ZO3L53Iqu2{3M0ekv*&$mPb03TDjWTWNmnP?>wluS}6Tr{)f`G__4(>rre^Ecz6JoT*4?&;;^p)~Y+x z!}qKoyZJy&mz5%QI}Y7D&1vfM0Yhw@ZYb1iXuCmE^G;Ceg|w~J&62$K zs!(Y5{LVd%qHkM#MG{olySo_62^6(E@WXVy)4`RwWHH8aNW~!K5@Q3Z)%0L*p+@hV zMnjBUz6o&(6Zt;D(Uboa&uAv9Vg>w8-I5eirhWMQ+{ExgR6ZR$v5F2cHq}1 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/mob/char.png b/Minecraft.Client/Common/res/mob/char.png index 7cfa08a869366adf395cc443c14a5f59ecfb92d3..e05dbe6976d2482c8a0d4e65ace90ac6c9f95a9e 100644 GIT binary patch literal 1643 zcmcgr`BPI@6uvJ33<-fCTMP(RAcPQ10*DYS1PIwGAq`+z6oZi^VNnCJ)FN>g)JV0W zqzRh?!zLguP^d&}#Tig+MKFR(DsEJfDx%bhrY~xL=^xN<=DhE_=bZbUJ8$kS6ACz3 zGyx3&!1A~(5zI_eppfua)4lyUOi-SP69L+XU8dlLSw?ttH~^;(VGOC}aBaD8Ra_K# zG1dc*a>HS^aHv!_8yS$}*Ry41F% zB>l{;oRf+iwR}xqnOrShMI>0cJ6Y~cV5lWg43fRkXcT=}c6Mt9#npC~h+erad|y(q zTEafPb$#~^dH=rbdKpI%8?Zi-s*%O0B&>>*$jWuh!ieREQbM=K2CFl;<%uErT-1_>h`Ro@xVsHSa2kL;_c@0Ex4b~HCBEG#T5D+~UU_Pr|vFlFS61hMd${|5kj z$KE1%q~#`VVjck27fb=k#>y<=G_4J@-!e!mFDIz6GX)=S-yTxw{NJenz{QFMzzpuC`T5hJ+E2cwndY^hyeeUB0s?kMeC!kj2f^y|E;@~7 zs*X9l%ZNOK<-m>-9xFU9fiqosyI_Qd+mrS{cbV+jBYe})(6&}LXubPJ*NDYgrSDMc zL!Ix85vBf~!nL;>f2|xbrf=|?EU+s8U8| z2cVwz4#*D1wVg;8ry2d>Q_!!T{WGo>wXd-Hc|5p}HAqlG0undhKVv7?U*|T5Em9v> zF>cFag17Bo6|F%LOZd_2be89E`n};)IxmmJ@`sL2kPlgwq z#5hsc_RHszHhs8r`$CQ7$4w}W1~avxsN}2ofS%Ed$qQ8qC{eGz`ky8J{ zRJEMC(|W5lW%Am@Sr~=Sup8&*T7wCnY_BKJ1+KnVIzKNhc|UuMS`+rOvG-+;WOSCG zbHZL1bT$;|?!XuyANQk9^d1|(?^E@*?QZ%+$VABFMe#PjO|LY|?4FpugwPGY89rCc z9!0X(q@r+98j^A{=uZ~jZn&7-_2N+OilLw-s^ZtJaPW)vY+BF=rG5SIJcC(^ z#epTq5!~jk-HK|9AJD?e5=ACXQ5XOWXjwDVQ^gzop(9F==LYh4|G%B5Pq5GqLH2 z0a+`szfwk<_I(gEpc$&C#QVO3(&_C=zyUXH^+t2urE|GWglUYTUoQl!C6ohiF!-)O zcBEpPwnDGgtNq1;KCf-!PuPORb8+c|J}y?m%Q8mu%h15uVJAEmNzwkbVx2e+DV%Jx z5wpj)L1PX$p^Vva-wA&ZJZ;s}eCOg^@z2=H72#S1=NmATfX71F+FFCcqN!D9?0~G4 pThHdDwGSX47I(1n8s1;T>76D*G|1NHj1<$;<3$Nr?GfS~{{T>3pYH$w delta 1354 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 HuZRBy;dpdF delta 1752 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 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/mob/char11.png b/Minecraft.Client/Common/res/mob/char11.png new file mode 100644 index 0000000000000000000000000000000000000000..cb20ba3aab02410c3b8c95568448c337cd770dcf GIT binary patch literal 2464 zcmV;R319Y!P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ_CP_p=RCwC#nr&=T*B!>6n>Z2T1L9?E7&dm^oWwSeR}v=<*f+8BMqrS!eVDef zYF!2?G`yv40LP@TRikK?@}Uyakfs(WLfep9@om~9v}xZ!rBYZ|p|U6}Flg0u9cBCS z?8E=wo9mk!+aU?0t1UgczV{qopa1VZ|8tIg4v^**bc5X$VEtOK-3tcYU{|@Eca(vR z?$k=CnA7XyGu@)ovFYzm$MAk4Xe*K#37G(BDFGYYV24+ZF)z4rtz2((gGa;Qp&Iao z4dBal;K6Dzp(X>!&CNCLnVXx7+}vC!iUI&|I2+h{B+VZHHyAAeH@d*BKCsavPd?}d zxB0;1D%f8Q9;#Hh+plm>KwpB?R5aUa&mH@D2m~Z z8B^eNOaPeDVeD)VMn_cK`t!Mk1<>RHW2NGN&N2beT>;iQ!7UnqeU)I}I)(ezE8M?9 zQea=DlpPHNIXO8=vU5YqPS6y%IseDb_BVr(g`Yxf{+K?;u8REr2?R% zT#lV((%UCg@OTS&q7^(677a-U$f1Y?o1dSLB} zrH{~u(5*f&sP!A0isZbx5FBm+ZoM8g0@Z`G=DcyV85Zs8WelLsCAr*L27aqT#`st% zxTQkI`u1|LwFK;|1y8n0uisY#hTJj?Zghz=y2|A}J-1H5}?RW%?JOj2oD|y~mBM@RRVL}Ce-U%L!fJa*t9#_Q~Kdb;(5a0k(NY=m^q<6`LQ#`PQlfsXHsrb& z0RY{Cy8cvDLtPi0ey&)tf~!`o;>wjPxop`o{`T9zyWa&a^#DUrW!mQlg5U?Y@A7a1 zc(?(4sS!NX0RHXnXFMDPf8z@9+!`OxukrDcGr)^Zf0EJ#HV_1LEvr0iXu$w1U%os^ z)-SRHFfsX%6uN5>!V?&n|f{=fgrBTe81r(Xa#eY{`^K2rb*bqc_a;qkcv zu)bysz^;K4lMi|G&L`Yo5ALrA|N4(ldH3@#`AQ@Bmea?#Ts~fO1^Bkh$MY_Kl4c8F zb@+|N31A>7^Mn(vk^*B7COOyyzU}h!*G?bLx%|9f2|iN*^O^$s7f(z+IKHwKQID(Ee(0f0Y0@R3qpEqAiRo^WAnqBaEkk&R11gD1ZSpyghnQoxT z&fexmBvkOjiTg>Kn0#o+9E`41_3dPZKJNgg1s7GAXkW@i`_dT!nDsOO*tyhzGg||eptmRhefn2|RC!>JObw8ZAKMjx-V5SauYyhdAh_x(L9dl5rg4gTn z^&c0&fl4{oQ+F_AO3kRkSr3D{%tPFHn{nD&#~RQ~5X@z>0nir!_XJ=ZcX`1*ntHu* z{d?Mb{rWENEF5t4+6`X4b|b9=%=PRny-)yFhu=t&dGeF0Y}O92g0KcY8wbp13anW7 ze3F(HZ8wyv?1`m-bzIlScDoV4uI}~Qcc#q&bX~uFXW<=So$0;f^d%`>`FWRr#+l@) zf|4XRS?lUk>r^raY7Wo}!FoMo0B0k~y1WzkL$5L~y1Y~FIWhUrkoEg6b}oz-6@XOA z0>}c$0>}c$0>}c$0>}c$0>}c$0>}c$0>}dRKLB7|JG3sYrUPL97ufs<$JYvg4#B+s z|Fs36|J{{MfyD|S-Tndd-UGY+2X@Qr=~ku>RD+8KK)U?{=6``x?Jt;V0n`dWFIzMK z=DNRNCIEI2^mV^Q1;BRyfMt)tV8{}Ln!L*+(-q*a4ghU`L8?s_cFWtT_5qjyB-BL& zV6OWM>;R;5z`O#O>z33^_YcfeW?tVP2+F$ui~vkqc;^kkTwm!HPt%q4dS!jTFED+L z-@GrN&$2gQ(EzYpR=0D2Ue8+gxU0XH;=Q;O@5N6-Wky@x+@<1DycfVza6qQ}3#<-! z-1UDQz}U^-Vf>@_F#ged#{06U!yoIdktbIG0000 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/mob/char12.png b/Minecraft.Client/Common/res/mob/char12.png new file mode 100644 index 0000000000000000000000000000000000000000..a81c05fcc1d298fe94794d50f8f547ea1e2d6f1c GIT binary patch literal 2143 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 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/mob/char15.png b/Minecraft.Client/Common/res/mob/char15.png new file mode 100644 index 0000000000000000000000000000000000000000..a67a3c8234e2176b012cde67c965d5770108e846 GIT binary patch literal 1659 zcmV->288*EP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ?0ZBwbRCwC#nomeuNgT(28(7m4w|ZDTNEf`c2!)~t%R(*&DhpLuD&$l(Y$1!J zhm!VYNTj7fh0sF|f}lAp!iESHwP}L1UW$caFD5kQkuE}zg0O-M@(!jjJtQ;vy~(^k z`D0>|eemNYGw&ty{mk$8o0&HcKT5WV**s zy}y)*5|v#T03?64Zp%Vh2vyY5f%&>@}!!F02MFAd@RY8J3kOz!}lsb z0^s8~8HH2nt>!fpLRA2;xZRaW^6mVbboQEw6!Q@&?kAnSX7cU)TnNF4M_^O9bU_U5 zWdMMu_pU=OmxE!?9VT+va|d#{96Y^uT`^t8!)Dn4Xd`!5CW#dHlMYK4kzzjb>9v=n zqdq2Hius5XdqzIJ&X>_}(8~d8VL^vEn$?e!Q8@kb9!{mVCB03{d9Pp)Q9h|S2~szg z;{KxG!g*2Qb5B2u_Lkaslv1!el1c1_lNcrZ;gp>**tBJ$UdR zx+?~dFqzqO7(>Wdx;3pFz*Ky4(?eV%gWwt&yj%ci&cHE$=>Q~5W+KZnb5|Y!9})?Z zSxdeb#qgxID-$=biCroCNyn0PxxUQuEP_ZHa^xRYcGL~*t0HW)uNRc%K zfXyE|6ea?MKZ~vxL7-)SnSNB*VfW9>_`2AYPG*JyX#IiSpTw?omNcA-5}Bxu2f|xw z%STdMK9YX(oTT48FRny)7FapGM%q~*Qru4twtU6`^jjT7mSxg!b&!6mgWR?+lHrFT zGW;+^Zrc}GIlYFj*9!qXkJ6h5P~lXpw6nm3(mGmC%cZ!#JOKSx2T7$;ssL!65deCt zy>bDhwtOTVeWnCZ5Q)8`VgQXgoK9zDHwFR#kqAH_0Ircipv&NzEr&1t5s3hN{0I<< z09^sLCxAeJiKZZG@;uuJKI74#>N0< zX7V;S2e7dL5Do)`Liz7=bIQ7n4S-;<#XJB52#1S8+Y&%1lo#199`NMuEm(5cV98;F zdAk)N-anbm+pREfx3YR#{&L3N+5nawKggd^dCLNDT5k#gEIoeEegLpY9smxHmIT1} zG6ulshnCC%JOG>nc<=B|jkgB?wNaqy0q~8)z3iPDhnF*U@J@|``?n$R{(grUEpI4* zYPZ+%9s=I}<`+A9i>0Op&|&E++5a~TAQEZpYLI^>SS|qkCJEmD<{x;pEC3t=7=YnM z*EeQ&2dzyNyosuHZ-=Feu!WDx^Ma-Xz`sbPbuR-jHdbs5T@ltZ1ZoLDZR<-D z!1S~dKsemy079Ym06=GbPww7gZK3Od{{gfU0H^h4djrUReg!9A6L9i10ol*5;3%^V z|NVQ=JOC=){}*`xT@lvR1FC($pk#*^?f>JgZ+`zDd%#g<8;&yDjq!kL-!H%~KZy4K z6)#7i?Qc;MY={Tw3Dg6m_LheNK;iuWH2|XL1x5jU9{{Zrr*gnB*v9|>002ovPDHLk FV1oMb-L?P# literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/mob/char16.png b/Minecraft.Client/Common/res/mob/char16.png new file mode 100644 index 0000000000000000000000000000000000000000..a73a9314ab450928783037c566797b99387edad3 GIT binary patch literal 1976 zcmV;p2S@mcP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ@K1oDDRCwCtn(u2N`7s|v} zj@mau5TZ!2eO2?q(U8T&E{n~GS|-aXl!Pv+>1`9MR*g;CCaps@1{pkiar2y>dvb4b zZxWj{z3^~z&$+qW@8>+vbMLw5AtcWhbhbj!*$Tl417!VHX`8V%(RQM90|1#N<8MH1 z%k+_4R`jMM76pb~!uByEoITbnxYPiOhJb=lEETE%L^k@F{z?E)6a*AS0WdBSPBmj)auuFg$TNAu|@*~)<^}_fM-^k2g|B|?~U;C$rq6DcS7v(euzEZ z4~x@{5cgYQGvtI7-#D!J#;GSH{GG5dXN0J?14L&F^$5`;$R43eVNnY4S|F$bV8t(a z+acl|l}35`V_2MSgcaX7q|<3QaXSs0At$85Q*h#T8q(=BtoX)Zak>%Kd;-M%R)}~< zVaeMrg^(xX6vKQBMre|X z-wZinbKV8(L8(9Pw^DDR05YDW6c(~$XRGXnN|Dvs$0mDSC40Y>1cIX#^>$DXK(Qzo z_gfELu=UVI;l%w`NQI{;gr%Q9lX*bY+aU?Qdss5}5m@^5O9;Dg_06aMAAp{8rn3 z30OOH=#b3vz1TE#TcF-(f@M#W%n-o4U~NvzcYW5iMYjp!ek+J>6P#{7Ku$Lw(ENh+ zK>;*$TVye~>}jG;ic$dh@87>a9DsMhT3DZzZf1S9wjcmXi3kDkfO*pc0L91sRv0{L zAcIE@l?4EE2Adm70RXKe0P2kXdIWpSCQ`iq+m&URv5z*sZ|P}}T3G?q8%?sCWkUc3vh8a=fr{rn0>z1hz2FD;ZG01F`*e?!G>%o(%J&leI}0O0Sk0KosF;S&HsG;~|2cm%_m9sq1| zWkGIuNQ!pBv_OO;HdHYhHi^y z04LAXU{w?x1JiGTyvLvC0Px#>(aB|f68tOgv~0n9v}2G(9JN2r^< zT8;qUf9s|h?pp7_UF#jVb<->p!+H+uL42E@5J2H5HYGlyLa`6~u{{-@(hdN{3Dcp-Zwc($jC^Qc>oK*X4@9JCjnS2lE}T{0T+*dLdN=z zk+HsG#MC1Y`_OmPOg#cI^$4^d+iwi?R5yUJ3umQ0(_Xaz`h|mv0LCty-FpC7kvsr4 zJgO1^KguisK0j1t4&VW>Ie_<$p>wD91^~6EKve=j8#;H2+!*K~L+4JB@4sp$LtlSR z4cp5KpxEVgt?U2!CQG{-fR^?DoYUoU&IXHJUe~(*U)2D#tp8U`2+*&$v&tVq-vw)B zpTqf&p!~uIyZ)DJ{hv;JRK6GNIsoi)Hw!>*{htEp>e{{;oDuG12$TWjq%4R2KlX9Dr|q7mt5J?*-=ryAFV!B#0hRaRAr?Nq%3b2jt2D2%uj$ zSXls+Y7B}2kS_#YFWw`m)mf5Soh7dq?~&LuH~A|W+C3q_uklCb1GEMp*ZRMb2jGlw zM?C;*3$Tu0!LeOefHeke4FX?ZkZXmPUHVQ09IzU2(Aogj17gqIB=*c*9uFwCzJM)$ zpal?_8UVH~fG>_vN`htafMV+lvZ_27k=Ty)0crr0z87c(@c#h*hQt8cFLNIN0000< KMNUMnLSTYA?13== literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/mob/char17.png b/Minecraft.Client/Common/res/mob/char17.png new file mode 100644 index 0000000000000000000000000000000000000000..9db32e3d858fafc54e5231d66f5c94d327833f66 GIT binary patch literal 3289 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 literal 4339 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 hqY#8%`9arz2LJ3qnXl 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 literal 4234 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 diff --git a/Minecraft.Client/Common/res/mob/char4.png b/Minecraft.Client/Common/res/mob/char4.png index 25dcfec4a20c5fa65894c1fa9b3cc5d3ea764897..00dad3d5e1f07285ea99324a392f34b7620f2bfc 100644 GIT binary patch literal 4419 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 diff --git a/Minecraft.Client/Common/res/mob/char5.png b/Minecraft.Client/Common/res/mob/char5.png index 4cc80ac17af5964cf4c5e0406a5008408811bbce..cef7742e96b6ddd996d44989a74dacf93132645a 100644 GIT binary patch literal 4166 zcmcIncRUr~*MF`(3OBMc%gi2GNk-R*Y(hrnC7XK@;@V_nWMzf8_A29=l_b%1Z9;ar zc8Kiv_Iuy=pZEXwd_Ldje9!ru^L(Fwp3mo;IDK7>%T%mX0D#L{n)eI|Uilv=hzVz2 zbJzyKk-$|Rr~pu(6ntWkMu@rWH4PsC5JL+<0s&`)rZ8myo;?Ks9}j@y3IHqvzKT)) z08oj!sHy2|si|@4`*=FJxH$r#*_)T)Z)`ll7&F-6A6WQJoX9ZxN85Wa9F%4av&~|8 zEI>>nC0);5L31R&bMep=1H=YEK{y_x1c8pJdaF%c5CvUd|F@`o zZXY5W639-VSv!%}2u=#6OMX%C#vC6UwweW?IdA1zgrQ8aa=hBfqD_O(vsg2QotSx@ zIt5gq{c-ZPDVLQ_gd2*prpgtYVteG#Z;htxwyyqe(&5(l6k8ihErrPyhR$87SAQ;^ zF0?4SIB85HMGP3U+?c$~;;zd;CE_@*EMH$-0rQ%aHr_K2h36fpKV|x8X%8;=(qAD( zuxE(Qj(&foa=7eJ;zdH#4fuqz``{y1!-gZ-?QDQ?`_x==@%u0g)+F87^iEn@O7g5i z{{p$^d4Faa7Rd4!1E;ILh~KO|9cBfO2jZT*-HR8gp+aFrz?az*yAe5ndQ;}fKGD@m z`#@1Fj!307vEJL%Gy|I1EqR4$pY}{IrmL{F6V9Ww^O=?8swz z1tPImcBPmOKMh`a4S{G9-ApF`s?5F$)E<*np+vk$Jlkb@rl?1`qN@o@3q1s$5R^(aCkE@knzI3@b zvHoL#-E|4Atj4S>14=sAezG~yNhM`>+tu%yJ*#3L=j{JPRTnjRbHiZ6e1p!9=!8t; zQ~CUW*H()F8*S!`%J=La@;+Q%;Pa*q5NzlBLALz@zT~@8@>e}r_FN%^s7pDS&zXLM zf;*DuBcCd7VY*k!4r(V=lcxe&9T#>_)cZz#YCu9jww!vfb}BbM#Zq&Khuei5Plsp2 zi{g2+b;hsXPA&dIv`gb7bwqRoJxU~jeboG@9WGL@Qlws_W~aG`;juO}8rJe@bf|HN zTBhtH`f|0ev2Qjbh+i+$KTR)Vj(1M* zLLXA{8ckQ0TvBJVQ1o%YaLsVKq^bm_{X(n*O(C=1(<#UlSmau67l=Ynbkw%*zs#sdgfh?_3xmQY|TgC#&I%J2eF%@KAS7KD~bKRo1+_9 zet-Om4-hA2C&UNEG!-;DF=R2lNoz@Ny?nh|{8nflbg}MW-h?U?kR7P~&5{tQB z!%+jPA@-2;DD)Wfcri0JLqGFq27X6aaXc`0?_SVxz}7C?Z^K=?r?-N>1wMLOySMd+ z`-tSk_(btwY;Wbn@8mHd3>3$^-C!Z856n@0zi}%&7*8QwI@|xIb*cqZ&ibX;vu3x>5NwG4R zEUPOkEyJXH2pv}C#x})@CU97nbleOYOCO`EG%_tnN=dN&oEr=4jqc@$dp5Waml6N9 z*uMB=$;n)_s-p_-rr{?a^vb?ha7pL$bWdiF9`7XYhHjQFLbFOUccIm*5+jzXn6{Ss zGwm#mmN)c1rJjp+Ps!)f{N=u#)TbRTUtOkLBJjufD15Q2+xUjLRR7_EtfMkZrDQ9K z@z9`gm%c^|OfJKvz&!1UPe^$EUK2t_tnIFb7(58;P!qJ(>}ud@?i#dfyeG4gSnX@^ zu#3Zjv$+!;3VX-BPYRj1XG z<%nseSzCu+2xrh7E~NLY8hIbtgWRU^qMa!}EZcU*Jt>ommCt&*qh)VqKi8b#nUllt z>UoY5+af#b9X3Qu^Hc@qD0VSrn6U*mDfvwLcr|g`vTOaxEw^gV;>N3-#J!Qd`5~Mq zXFJ{nOLzF0`7J_mr-e;}9ym;tEjBa^;g}g{m z>;9z$oe$Z1aNj{}p7vc?U!{f906m?-GioT4#~-o-8q0l5z)|W+3H3AGXK=A;Dq!zlu+NlB1`UbZ9D#H)aKju+d_9& zLsrjM_kMpskLneilM-j`oqF=k5XMRfpT3SUYHgtMQr})-(8;gy)eABfa@+u_*$IO^E#y^GZKeR$0R@9 z`!#j2Hd7JlhKcuGpX#}|xQM%>K9HBVH9t}o>ev|TRT<^_H7{cTmdvYgB&x^;taAL0xS{?`-AyV@WvYO@$o4u69#Tj5$5*p zWh8-Ee#qb^I6H))t`Xsp|Gx(4Oj9ceYLs4@=Dq+>L;nF1>R^*XNU|VcW(XrsCxpMP zk0a2xb@4!m>cWh@@@qF&)#|fuu3TUU;lqq0U!b(nH-Q1YQ-g`#38T$ z``(L-|Fi?E8Kv_>R~k|Ph_7qiQ!zHv*vxQ$_+6Z#*9cGSinE;!o_uR2TYzM3mjCrr zUv?Hn>O3N?vf6o(IjQwsjxv_w*G5m$1=9@A@`ccYtp)3y+w_18L`$UfzZv(WZ((IF zrM%Sr#k|RJx)|t;XhDvGl{{zJA7?GH>xfH&toPmn-e9;E(5eHu(sdmQ)F=g*@Ma@N z-L|_f?>oH2N}{qO_E6Hk`QdEA{MaZNN4tf@O&B$<}z$fzK{lmnTYIiSoda zwww3n<=A+|>*Xs2oiDBk`P+tIkxqBgnOaqtQ1QI9jP1OkQ=w;0j!0ymkaF!i3KQ#9 zGAp3k($raxX>9M<^K*nx&wZaUvx%UqXvbY{1(ES@+k%`!_hy6okG*!hIX5@4qR-WI z_Ecq8i8zGWLlhc(3%b}iIXOc`er*)%#qh3{|La4!b58NE?r%&V`W&4uE}m}e_x25@ z-I&J4wSSpvRmluiEio)Nt{khds4Br2pQLM5FIilEgsiOjsd@%+Q8)xo8ZF!{LCqti z_P3~GVzPEs+SfzQGT~eltly$zxw(0YypLX6CfTb}#7TTku+2@%PDqeAV8U$>kwp52 zds~Y3CP1_ z4ohh_VEv}f9L@crDAv%nSo(R9W~SY*FmUe&I_EDBLI96JmLn81gv5 zj&k0zRgfJxBZxndkWHAwWuB~v&(6ocK?o5YM^v)hOTkV>76FU#udy^=)<8T+$Q)35nRd?g`f0NX;f#y zEoPHLR1gYxXa0h8wWrC(z=V~G>o~j~wCLFvN(;Y6HyW%#EVr3d4frXzvuvk?EH7?9 zWCfb`7PJoTFH5ZFLZ!Ik&AC&eRyZN=LTpKtr8b$=$r8?}9-?Y|LYb83LTm$+J-cvS zV)|>utD=Wx5egxTCuKMK+iJJF*iriYTBkhgw1FTLl;`LkMi=>{{`)&xFx`7Ks*l6} E3wI{sVgLXD literal 4251 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 xfup#s=^TJpo}rLwrB|sV01rHVxF;37Ht3k diff --git a/Minecraft.Client/Common/res/mob/char6.png b/Minecraft.Client/Common/res/mob/char6.png index 74a71c4f480fff730235859225a2f5a018f91e8e..d28abf783c546bf6800a64e6b0ca8c3896907aea 100644 GIT binary patch literal 4630 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 Peb;(qqYI7aon!wC;H)xl literal 4541 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 b_MZU&_-;1=V3U&P00000NkvXXu0mjffVrCr diff --git a/Minecraft.Client/Common/res/mob/char7.png b/Minecraft.Client/Common/res/mob/char7.png index 5018dc45432d093885d1622a96875b2f26968aad..974403c24a5aabd66c58774689dc81def93915aa 100644 GIT binary patch literal 3428 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 N(A6~1C|9$K`X841X;J_H literal 2347 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 R1Oos7002ovPDHLkV1jk2ih%$C diff --git a/Minecraft.Client/Common/res/mob/char8.png b/Minecraft.Client/Common/res/mob/char8.png new file mode 100644 index 0000000000000000000000000000000000000000..28b714891a97cb1ee8b958af0e63801c4a413a90 GIT binary patch literal 16945 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 F^na*IDoy|Z literal 0 HcmV?d00001 diff --git a/Minecraft.Client/Common/res/mob/char9.png b/Minecraft.Client/Common/res/mob/char9.png new file mode 100644 index 0000000000000000000000000000000000000000..da205681c02ba6cdf82a4db91b5ae29882855987 GIT binary patch literal 1615 zcmb_bdpOit7(TzbAl9n3r$IMLF?JZD)}m%iZZkVHjfrVoGHk+-k%EXvI8B=qRXS6)}K4Ee;1!c45e74H>bwlh>ov`ORG;l>bf(Gx+66$AUz{6 zs{9x~fhA1w%R0?D<>MGz9X-}nXk%k@oMG$e=tw4$SuB>fx3`Oni-(7Yw6}b!ziv!i z%x1GW9FDZFN;cRe5sPF)E!tLVbqP9q`P8Ti9-U72_xGnzC^Q;v?&aNy{yHx&F9LzU z<#L^!ovBpnF`5;8+)p{n9j4}{=H{ttYn79AhnVC5GT9iY!2ufRLTCWNi~{?* zFI;)OMi6p2kAS&3gaE5xWWgRJL@nn-V6L>mNC=F>ui#(&@2&vA#nY+)1^1e5w=je9 zKIB@W21(4 zuDP?-U^P}Gr#m^v`)pwbKIzcJULDBRz3wuZR6F=?$=b%F)&tj#^c|{()<3Wqz!>^1G+M`WAEiYx8fL{7H_l%?qS(%xcAC@)}bqocxNGtwP ziqYXtA%ct48C~=R`D;8!I_rcVksz1WQ<=n?4r)kBTisI`M{3`9YE?O6)Y3J1|8>SA zolK5yIpxFkHt)>~JnA9R%6r(3g;nicyMfnv3rB5#($BdoV~Fi@`!|J?aNV5+gI)QZ z^j$yk+S=Fx%s|I00aLKAN02=y+*FWF_=rPm6#b%guj`#>>!&0J#rXYL$~n>s_fUc; za+_;%l0?0fNZEQO@%{aMeka07r8K{6gD$C58Z=MSnk66%e|MiBW}V#Db9rx0Bv47T z%bGRezu3f$u^mSxTlB>gS0nX)GY}ksLR4FWL+^9n_8V-2oZUnrXt^<~b0oKl#ZlG9RYPRIbe&pY!Jm(4a}$YFgwmpu^2PU6x5^W(tD&y9 z9cfs{VKc8FmD7kNlXDvY;D(2X>kA6oRrJI+Za2mRW#h!AcsyQIYu$lUi}k#)xfOa% zPEpfO8V22O=BFkemz0F;zJ~W{@zDbstp*{Tkd-sU^~T0wK55|#f|0MoUNpxhu7X$` zO|$m(t&t!I%g6ZO3L53Iqu2{3M0ekv*&$mPb03TDjWTWNmnP?>wluS}6Tr{)f`G__4(>rre^Ecz6JoT*4?&;;^p)~Y+x z!}qKoyZJy&mz5%QI}Y7D&1vfM0Yhw@ZYb1iXuCmE^G;Ceg|w~J&62$K zs!(Y5{LVd%qHkM#MG{olySo_62^6(E@WXVy)4`RwWHH8aNW~!K5@Q3Z)%0L*p+@hV zMnjBUz6o&(6Zt;D(Uboa&uAv9Vg>w8-I5eirhWMQ+{ExgR6ZR$v5F2cHq}1 literal 0 HcmV?d00001 diff --git a/Minecraft.Client/EntityRenderer.cpp b/Minecraft.Client/EntityRenderer.cpp index fa41dfa6..fc86f976 100644 --- a/Minecraft.Client/EntityRenderer.cpp +++ b/Minecraft.Client/EntityRenderer.cpp @@ -19,6 +19,9 @@ ResourceLocation EntityRenderer::SHADOW_LOCATION = ResourceLocation(TN__CLAMP__M EntityRenderer::EntityRenderer() { model = nullptr; + modelSlim = nullptr; + newModel = nullptr; + newModelSlim = nullptr; tileRenderer = new TileRenderer(); shadowRadius = 0; shadowStrength = 1.0f; diff --git a/Minecraft.Client/EntityRenderer.h b/Minecraft.Client/EntityRenderer.h index ef3b63bd..02208f32 100644 --- a/Minecraft.Client/EntityRenderer.h +++ b/Minecraft.Client/EntityRenderer.h @@ -30,6 +30,9 @@ private: protected: Model *model; // TODO 4J: Check why exactly this is here, it seems to get shadowed by classes inheriting from this by their own + Model *modelSlim; + Model *newModel; + Model *newModelSlim; protected: TileRenderer *tileRenderer; // 4J - changed to protected so derived classes can use instead of shadowing their own @@ -68,5 +71,8 @@ public: public: // 4J Added virtual Model *getModel() { return model; } + virtual Model *getModelSlim() { return modelSlim; } + virtual Model *getNewModel() { return newModel; } + virtual Model *getNewModelSlim() { return newModelSlim; } virtual void SetItemFrame(bool bSet) {} }; diff --git a/Minecraft.Client/HumanoidModel.cpp b/Minecraft.Client/HumanoidModel.cpp index 06b796f5..ad9c5a9e 100644 --- a/Minecraft.Client/HumanoidModel.cpp +++ b/Minecraft.Client/HumanoidModel.cpp @@ -30,6 +30,21 @@ ModelPart * HumanoidModel::AddOrRetrievePart(SKIN_BOX *pBox) case eBodyPart_Leg1: pAttachTo=leg1; break; + case eBodyPart_Jacket: + pAttachTo=jacket; + break; + case eBodyPart_Sleeve0: + pAttachTo=sleeve0; + break; + case eBodyPart_Sleeve1: + pAttachTo=sleeve1; + break; + case eBodyPart_Pants0: + pAttachTo=pants0; + break; + case eBodyPart_Pants1: + pAttachTo=pants1; + break; } // first check this box doesn't already exist @@ -58,11 +73,17 @@ ModelPart * HumanoidModel::AddOrRetrievePart(SKIN_BOX *pBox) return pNewBox; } -void HumanoidModel::_init(float g, float yOffset, int texWidth, int texHeight) +void HumanoidModel::_init(float g, float yOffset, int texWidth, int texHeight, bool slimHands, bool mirror) { this->texWidth = texWidth; this->texHeight = texHeight; + jacket = nullptr; + sleeve0 = nullptr; + sleeve1 = nullptr; + pants0 = nullptr; + pants1 = nullptr; + m_fYOffset=yOffset; cloak = new ModelPart(this, 0, 0); cloak->addHumanoidBox(-5, -0, -1, 10, 16, 1, g); // Cloak @@ -78,28 +99,90 @@ void HumanoidModel::_init(float g, float yOffset, int texWidth, int texHeight) hair->addHumanoidBox(-4, -8, -4, 8, 8, 8, g + 0.5f); // Head hair->setPos(0, 0 + yOffset, 0); + if (texWidth == 64 && texHeight == 64) + { + jacket = new ModelPart(this, 16, 32); + jacket->addHumanoidBox(-4, 0, -2, 8, 12, 4, g + 0.5); + jacket->setPos(0, 0 + yOffset, 0); + } + body = new ModelPart(this, 16, 16); body->addHumanoidBox(-4, 0, -2, 8, 12, 4, g); // Body body->setPos(0, 0 + yOffset, 0); - arm0 = new ModelPart(this, 24 + 16, 16); - arm0->addHumanoidBox(-3, -2, -2, 4, 12, 4, g); // Arm0 - arm0->setPos(-5, 2 + yOffset, 0); + if (texWidth == 64 && texHeight == 64) + { + arm0 = new ModelPart(this, 24 + 16, 16); + arm1 = new ModelPart(this, 16 + 16, 48); - arm1 = new ModelPart(this, 24 + 16, 16); - arm1->bMirror = true; - arm1->addHumanoidBox(-1, -2, -2, 4, 12, 4, g); // Arm1 + sleeve0 = new ModelPart(this, 24 + 16, 32); + sleeve1 = new ModelPart(this, 32 + 16, 48); + + if (slimHands == false) + { + sleeve0->addHumanoidBox(-3, -2, -2, 4, 12, 4, g + 0.5); + sleeve1->addHumanoidBox(-1, -2, -2, 4, 12, 4, g + 0.5); + } + else if (slimHands == true) + { + sleeve0->addHumanoidBox(-2, -2, -2, 3, 12, 4, g + 0.5); + sleeve1->addHumanoidBox(-1, -2, -2, 3, 12, 4, g + 0.5); + } + + sleeve0->setPos(-5, 2 + yOffset, 0); + sleeve1->setPos(5, 2 + yOffset, 0); + } + else if (texWidth == 64 && texHeight == 32) + { + arm0 = new ModelPart(this, 24 + 16, 16); + arm1 = new ModelPart(this, 24 + 16, 16); + } + + if (slimHands == false) + { + arm0->addHumanoidBox(-3, -2, -2, 4, 12, 4, g); + arm1->addHumanoidBox(-1, -2, -2, 4, 12, 4, g); + } + else if (slimHands == true) + { + arm0->addHumanoidBox(-2, -2, -2, 3, 12, 4, g); + arm1->addHumanoidBox(-1, -2, -2, 3, 12, 4, g); + } + + arm0->setPos(-5, 2 + yOffset, 0); arm1->setPos(5, 2 + yOffset, 0); - leg0 = new ModelPart(this, 0, 16); + if (mirror == true) + arm1->bMirror = true; + + if (texWidth == 64 && texHeight == 64) + { + leg0 = new ModelPart(this, 0, 16); + leg1 = new ModelPart(this, 16, 48); + + pants0 = new ModelPart(this, 0, 32); + pants0->addHumanoidBox(-2, 0, -2, 4, 12, 4, g + 0.5); + pants0->setPos(-1.9, 12 + yOffset, 0); + + pants1 = new ModelPart(this, 0, 48); + pants1->addHumanoidBox(-2, 0, -2, 4, 12, 4, g + 0.5); + pants1->setPos(1.9, 12 + yOffset, 0); + } + else if (texWidth == 64 && texHeight == 32) + { + leg0 = new ModelPart(this, 0, 16); + leg1 = new ModelPart(this, 0, 16); + } + leg0->addHumanoidBox(-2, 0, -2, 4, 12, 4, g); // Leg0 leg0->setPos(-1.9, 12 + yOffset, 0); - leg1 = new ModelPart(this, 0, 16); - leg1->bMirror = true; leg1->addHumanoidBox(-2, 0, -2, 4, 12, 4, g); // Leg1 leg1->setPos(1.9, 12 + yOffset, 0); + if (mirror == true) + leg1->bMirror = true; + // 4J added - compile now to avoid random performance hit first time cubes are rendered // 4J Stu - Not just performance, but alpha+depth tests don't work right unless we compile here cloak->compile(1.0f/16.0f); @@ -112,6 +195,17 @@ void HumanoidModel::_init(float g, float yOffset, int texWidth, int texHeight) leg1->compile(1.0f/16.0f); hair->compile(1.0f/16.0f); + if (jacket != 0) + jacket->compile(1.0f/16.0f); + if (sleeve0 != 0) + sleeve0->compile(1.0f/16.0f); + if (sleeve1 != 0) + sleeve1->compile(1.0f/16.0f); + if (pants0 != 0) + pants0->compile(1.0f/16.0f); + if (pants1 != 0) + pants1->compile(1.0f/16.0f); + holdingLeftHand=0; holdingRightHand=0; sneaking=false; @@ -125,19 +219,30 @@ void HumanoidModel::_init(float g, float yOffset, int texWidth, int texHeight) m_uiAnimOverrideBitmask = 0L; } + HumanoidModel::HumanoidModel() : Model() { - _init(0, 0, 64, 32); + _init(0, 0, 64, 32, false, true); } HumanoidModel::HumanoidModel(float g) : Model() { - _init(g, 0, 64, 32); + _init(g, 0, 64, 32, false, true); } HumanoidModel::HumanoidModel(float g, float yOffset, int texWidth, int texHeight) : Model() { - _init(g,yOffset,texWidth,texHeight); + _init(g,yOffset,texWidth,texHeight, false, true); +} + +HumanoidModel::HumanoidModel(float g, float yOffset, int texWidth, int texHeight, bool slimHands) : Model() +{ + _init(g,yOffset,texWidth,texHeight, slimHands, true); +} + +HumanoidModel::HumanoidModel(float g, float yOffset, int texWidth, int texHeight, bool slimHands, bool mirror) : Model() +{ + _init(g,yOffset,texWidth,texHeight, slimHands, mirror); } void HumanoidModel::render(shared_ptr entity, float time, float r, float bob, float yRot, float xRot, float scale, bool usecompiled) @@ -166,6 +271,18 @@ void HumanoidModel::render(shared_ptr entity, float time, float r, float leg0->render(scale, usecompiled); leg1->render(scale, usecompiled); hair->render(scale, usecompiled); + + if (jacket) + jacket->render(scale, usecompiled); + if (sleeve0) + sleeve0->render(scale, usecompiled); + if (sleeve1) + sleeve1->render(scale, usecompiled); + if (pants0) + pants0->render(scale, usecompiled); + if (pants1) + pants1->render(scale, usecompiled); + glPopMatrix(); } else @@ -177,6 +294,17 @@ void HumanoidModel::render(shared_ptr entity, float time, float r, float leg0->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); leg1->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); hair->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + + if (jacket) + jacket->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (sleeve0) + sleeve0->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (sleeve1) + sleeve1->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (pants0) + pants0->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (pants1) + pants1->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); } } @@ -191,6 +319,9 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float hair->xRot = head->xRot; body->z = 0.0f; + if (jacket) + jacket->z = 0.0f; + // Does the skin have an override for anim? if(uiBitmaskOverrideAnim&(1<zRot = 0.0f; arm1->zRot = 0.0f; + if (sleeve0) + { + sleeve0->xRot=0.0f; + sleeve0->zRot=0.0f; + } + + if (sleeve1) + { + sleeve1->xRot=0.0f; + sleeve1->zRot=0.0f; + } } else if(uiBitmaskOverrideAnim&(1<xRot=-HALF_PI; arm0->zRot = 0.0f; arm1->zRot = 0.0f; + + if (sleeve0) + { + sleeve0->xRot=-HALF_PI; + sleeve0->zRot=0.0f; + } + + if (sleeve1) + { + sleeve1->xRot=-HALF_PI; + sleeve1->zRot=0.0f; + } } else if(uiBitmaskOverrideAnim&(1<xRot = (Mth::cos(time * 0.6662f + PI) * 2.0f) * r * 0.5f; arm0->zRot = 0.0f; arm1->zRot = 0.0f; + + if (sleeve0) + { + sleeve0->xRot=(Mth::cos(time * 0.6662f + PI) * 2.0f) * r * 0.5f; + sleeve0->zRot=0.0f; + } + + if (sleeve1) + { + sleeve1->xRot=(Mth::cos(time * 0.6662f + PI) * 2.0f) * r * 0.5f; + sleeve1->zRot=0.0f; + } } // 4J-PB - Weeping Angel - does't look good holding something in the arm that's up else if((uiBitmaskOverrideAnim&(1<zRot = -0.3f; arm1->xRot = ( Mth::cos(time * 0.6662f) * 2.0f) * r * 0.5f; arm1->zRot = 0.0f; + + if (sleeve0) + { + sleeve0->xRot=-PI; + sleeve0->zRot=-0.3f; + } + + if (sleeve1) + { + sleeve1->xRot=( Mth::cos(time * 0.6662f) * 2.0f) * r * 0.5f; + sleeve1->zRot=0.0f; + } } else { @@ -229,6 +407,18 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float arm1->xRot = ( Mth::cos(time * 0.6662f) * 2.0f) * r * 0.5f; arm0->zRot = 0.0f; arm1->zRot = 0.0f; + + if (sleeve0) + { + sleeve0->xRot=(Mth::cos(time * 0.6662f + PI) * 2.0f) * r * 0.5f; + sleeve0->zRot=0.0f; + } + + if (sleeve1) + { + sleeve1->xRot=( Mth::cos(time * 0.6662f) * 2.0f) * r * 0.5f; + sleeve1->zRot=0.0f; + } } // arm0.zRot = ((float) (util.Mth.cos(time * 0.2312f) + 1) * 1) * r; @@ -239,9 +429,15 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float leg0->yRot = 0.0f; leg1->yRot = 0.0f; + if (pants0) + pants0->yRot=0.0f; + + if (pants1) + pants1->yRot=0.0f; + if (riding) { - if ((uiBitmaskOverrideAnim&(1<xRot += -HALF_PI * 0.4f; arm1->xRot += -HALF_PI * 0.4f; @@ -249,6 +445,24 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float leg1->xRot = -HALF_PI * 0.8f; leg0->yRot = HALF_PI * 0.2f; leg1->yRot = -HALF_PI * 0.2f; + + if (sleeve0) + sleeve0->xRot+=-HALF_PI * 0.4f; + + if (sleeve1) + sleeve1->xRot+=-HALF_PI * 0.4f; + + if (pants0) + { + pants0->xRot=-HALF_PI * 0.8f; + pants0->yRot=HALF_PI * 0.2f; + } + + if (pants1) + { + pants1->xRot=-HALF_PI * 0.8f; + pants1->yRot=-HALF_PI * 0.2f; + } } else { @@ -256,8 +470,18 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float arm1->xRot += -HALF_PI * 0.4f; leg0->xRot = -HALF_PI * 0.4f; leg1->xRot = -HALF_PI * 0.4f; - leg0->yRot = HALF_PI * 0.2f; - leg1->yRot = -HALF_PI * 0.2f; + + if (sleeve0) + sleeve0->xRot+=-HALF_PI * 0.4f; + + if (sleeve1) + sleeve1->xRot+=-HALF_PI * 0.4f; + + if (pants0) + pants0->xRot=-HALF_PI * 0.4f; + + if (pants1) + pants1->xRot=-HALF_PI * 0.4f; } } else if(idle && !sneaking ) @@ -266,6 +490,18 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float leg1->xRot = -HALF_PI; leg0->yRot = HALF_PI * 0.2f; leg1->yRot = -HALF_PI * 0.2f; + + if (pants0) + { + pants0->xRot=-HALF_PI; + pants0->yRot=HALF_PI * 0.2f; + } + + if (pants1) + { + pants1->xRot=-HALF_PI; + pants1->yRot=-HALF_PI * 0.2f; + } } else if(uiBitmaskOverrideAnim&(1<xRot=0.0f; leg1->zRot=0.0f; leg0->yRot = 0.0f; - leg1->yRot = 0.0f; + leg1->yRot = 0.0f; + + if (pants0) + { + pants0->xRot=0.0f; + pants0->zRot=0.0f; + pants0->yRot=0.0f; + } + + if (pants1) + { + pants1->xRot=0.0f; + pants1->zRot=0.0f; + pants1->yRot=0.0f; + } } else if(uiBitmaskOverrideAnim&(1<xRot = ( Mth::cos(time * 0.6662f) * 1.4f) * r; leg1->xRot = ( Mth::cos(time * 0.6662f) * 1.4f) * r; + + if (pants0) + pants0->xRot=( Mth::cos(time * 0.6662f) * 1.4f) * r; + + if (pants1) + pants1->xRot=( Mth::cos(time * 0.6662f) * 1.4f) * r; } else { leg0->xRot = ( Mth::cos(time * 0.6662f) * 1.4f) * r; leg1->xRot = ( Mth::cos(time * 0.6662f + PI) * 1.4f) * r; - } + if (pants0) + pants0->xRot=( Mth::cos(time * 0.6662f) * 1.4f) * r; + + if (pants1) + pants1->xRot=( Mth::cos(time * 0.6662f + PI) * 1.4f) * r; + } if (holdingLeftHand != 0) { arm1->xRot = arm1->xRot * 0.5f - HALF_PI * 0.2f * holdingLeftHand; + + if (sleeve1) + sleeve1->xRot=sleeve1->xRot * 0.5f - HALF_PI * 0.2f * holdingLeftHand; } if (holdingRightHand != 0) { arm0->xRot = arm0->xRot * 0.5f - HALF_PI * 0.2f * holdingRightHand; + + if (sleeve0) + sleeve0->xRot=sleeve0->xRot * 0.5f - HALF_PI * 0.2f * holdingRightHand; } arm0->yRot = 0.0f; arm1->yRot = 0.0f; + + if (sleeve0) + sleeve0->yRot=0.0f; + if (sleeve1) + sleeve1->yRot=0.0f; + if (attackTime > -9990.0f) { float swing = attackTime; @@ -311,6 +584,20 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float arm1->yRot += body->yRot; arm1->xRot += body->yRot; + if (sleeve0) + { + sleeve0->z=Mth::sin(body->yRot) * 5.0f; + sleeve0->x=-Mth::cos(body->yRot) * 5.0f; + sleeve0->yRot+=body->yRot; + } + if (sleeve1) + { + sleeve1->z=-Mth::sin(body->yRot) * 5.0f; + sleeve1->x=Mth::cos(body->yRot) * 5.0f; + sleeve1->yRot+=body->yRot; + sleeve1->xRot+=body->yRot; + } + swing = 1.0f - attackTime; swing *= swing; swing *= swing; @@ -318,15 +605,27 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float float aa = Mth::sin(swing * PI); float bb = Mth::sin(attackTime * PI) * -(head->xRot - 0.7f) * 0.75f; arm0->xRot -= aa * 1.2f + bb; // 4J - changed 1.2 -> 1.2f - arm0->yRot += body->yRot * 2.0f; + arm0->yRot += body->yRot * 2.0f; + + if (sleeve0) + { + sleeve0->xRot -= aa * 1.2f + bb; + sleeve0->yRot += body->yRot * 2.0f; + } if((uiBitmaskOverrideAnim&(1<zRot -= Mth::sin(attackTime * PI) * -0.4f; + + if (sleeve0) + sleeve0->zRot -= Mth::sin(attackTime * PI) * -0.4f; } else { arm0->zRot = Mth::sin(attackTime * PI) * -0.4f; + + if (sleeve0) + sleeve0->zRot = Mth::sin(attackTime * PI) * -0.4f; } } @@ -343,6 +642,12 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float arm0->yRot -= iss * 0.5f; // This factor and the following to the general arm movement through the life of the swing arm0->xRot -= iss * 1.2f; + if (sleeve0) + { + sleeve0->xRot = -Mth::abs(Mth::cos(eating_t / 4.0f * PI) * 0.1f) * (eating_swing > 0.2 ? 1.0f : 0.0f) * 2.0f; + sleeve0->yRot -= iss * 0.5f; + sleeve0->xRot -= iss * 1.2f; + } } if (sneaking) @@ -366,6 +671,39 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float hair->y = +1.0f; ear->y = +1.0f; cloak->y = 0.0f; + + if (jacket) + { + jacket->xRot = -0.5f; + jacket->z = 2.0f; + jacket->y = 0.0f; + } + + if (sleeve0) + { + sleeve0->xRot += 0.4f; + sleeve0->y = 2.0f; + } + + if (sleeve1) + { + sleeve1->xRot += 0.4f; + sleeve1->y = 2.0f; + } + + if (pants0) + { + pants0->xRot -= 0.0f; + pants0->z = -4.0f; + pants0->y = +9.0f; + } + + if (pants1) + { + pants1->xRot -= 0.0f; + pants1->z = -4.0f; + pants1->y = +9.0f; + } } else { @@ -385,6 +723,38 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float hair->y = +1.0f; ear->y = +1.0f; cloak->y = 0.0f; + + if (jacket) + { + jacket->xRot = 0.5f; + jacket->y = 0.0f; + } + + if (sleeve0) + { + sleeve0->xRot += 0.4f; + sleeve0->y = 2.0f; + } + + if (sleeve1) + { + sleeve1->xRot += 0.4f; + sleeve1->y = 2.0f; + } + + if (pants0) + { + pants0->xRot -= 0.0f; + pants0->z = +4.0f; + pants0->y = +9.0f; + } + + if (pants1) + { + pants1->xRot -= 0.0f; + pants1->z = +4.0f; + pants1->y = +9.0f; + } } } else @@ -393,6 +763,15 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float leg0->z = 0.1f; leg1->z = 0.1f; + if (jacket) + jacket->xRot = 0.0f; + + if (pants0) + pants0->z = 0.1f; + + if (pants1) + pants1->z = 0.1f; + if(!riding && idle) { leg0->y = 22.0f; @@ -404,6 +783,17 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float hair->y = 10.0f; ear->y = 11.0f; cloak->y = 10.0f; + + if (jacket) + jacket->y = 10.0f; + if (sleeve0) + sleeve0->y = 12.0f; + if (sleeve1) + sleeve1->y = 12.0f; + if (pants0) + pants0->y = 22.0f; + if (pants1) + pants1->y = 22.0f; } else { @@ -416,15 +806,37 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float hair->y = 0.0f; ear->y = 1.0f; cloak->y = 0.0f; + + if (jacket) + jacket->y = 0.0f; + if (sleeve0) + sleeve0->y = 2.0f; + if (sleeve1) + sleeve1->y = 2.0f; + if (pants0) + pants0->y = 12.0f; + if (pants1) + pants1->y = 12.0f; } } - arm0->zRot += ((Mth::cos(bob * 0.09f)) * 0.05f + 0.05f); arm1->zRot -= ((Mth::cos(bob * 0.09f)) * 0.05f + 0.05f); arm0->xRot += ((Mth::sin(bob * 0.067f)) * 0.05f); arm1->xRot -= ((Mth::sin(bob * 0.067f)) * 0.05f); + if (sleeve0) + { + sleeve0->xRot += ((Mth::sin(bob * 0.067f)) * 0.05f); + sleeve0->zRot += ((Mth::cos(bob * 0.09f)) * 0.05f + 0.05f); + } + + if (sleeve1) + { + sleeve1->xRot -= ((Mth::sin(bob * 0.067f)) * 0.05f); + sleeve1->zRot -= ((Mth::cos(bob * 0.09f)) * 0.05f + 0.05f); + } + if (bowAndArrow) { float attack2 = 0.0f; @@ -442,6 +854,26 @@ void HumanoidModel::setupAnim(float time, float r, float bob, float yRot, float arm1->zRot -= ((float) (Mth::cos(bob * 0.09f)) * 0.05f + 0.05f); arm0->xRot += ((float) (Mth::sin(bob * 0.067f)) * 0.05f); arm1->xRot -= ((float) (Mth::sin(bob * 0.067f)) * 0.05f); + + if (sleeve0) + { + sleeve0->zRot = 0.0f; + sleeve0->yRot = -(0.1f - attack2 * 0.6f) + head->yRot; + sleeve0->xRot = -HALF_PI + head->xRot; + sleeve0->xRot -= attack2 * 1.2f - attack * 0.4f; + sleeve0->zRot += ((float) (Mth::cos(bob * 0.09f)) * 0.05f + 0.05f); + sleeve0->xRot += ((float) (Mth::sin(bob * 0.067f)) * 0.05f); + } + + if (sleeve1) + { + sleeve1->zRot = 0.0f; + sleeve1->yRot = +(0.1f - attack2 * 0.6f) + head->yRot + 0.4f; + sleeve1->xRot = -HALF_PI + head->xRot; + sleeve1->xRot -= attack2 * 1.2f - attack * 0.4f; + sleeve1->zRot -= ((float) (Mth::cos(bob * 0.09f)) * 0.05f + 0.05f); + sleeve1->xRot -= ((float) (Mth::sin(bob * 0.067f)) * 0.05f); + } } } } @@ -477,18 +909,41 @@ void HumanoidModel::render(HumanoidModel *model, float scale, bool usecompiled) hair->xRot = head->xRot; body->yRot = model->body->yRot; + + if (jacket) + jacket->yRot = model->jacket->yRot; arm0->xRot = model->arm0->xRot; arm0->yRot = model->arm0->yRot; arm0->zRot = model->arm0->zRot; + + if (sleeve0) + { + sleeve0->xRot = model->sleeve0->xRot; + sleeve0->yRot = model->sleeve0->yRot; + sleeve0->zRot = model->sleeve0->zRot; + } arm1->xRot = model->arm1->xRot; arm1->yRot = model->arm1->yRot; arm1->zRot = model->arm1->zRot; + + if (sleeve1) + { + sleeve1->xRot = model->sleeve1->xRot; + sleeve1->yRot = model->sleeve1->yRot; + sleeve1->zRot = model->sleeve1->zRot; + } leg0->xRot = model->leg0->xRot; leg1->xRot = model->leg1->xRot; + if (pants0) + pants0->xRot = model->pants0->xRot; + + if (pants1) + pants1->xRot = model->pants1->xRot; + head->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); body->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); arm0->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); @@ -496,4 +951,15 @@ void HumanoidModel::render(HumanoidModel *model, float scale, bool usecompiled) leg0->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); leg1->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); hair->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); -} + + if (jacket) + jacket->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (sleeve0) + sleeve0->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (sleeve1) + sleeve1->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (pants0) + pants0->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); + if (pants1) + pants1->render(scale, usecompiled,(m_uiAnimOverrideBitmask&(1<0); +} \ No newline at end of file diff --git a/Minecraft.Client/HumanoidModel.h b/Minecraft.Client/HumanoidModel.h index 52f9d98e..f8012dd9 100644 --- a/Minecraft.Client/HumanoidModel.h +++ b/Minecraft.Client/HumanoidModel.h @@ -4,7 +4,7 @@ class HumanoidModel : public Model { public: - ModelPart *head, *hair, *body, *arm0, *arm1, *leg0, *leg1, *ear, *cloak; + ModelPart *head, *hair, *body, *jacket, *arm0, *sleeve0, *arm1, *sleeve1, *leg0, *pants0, *leg1, *pants1, *ear, *cloak; //ModelPart *hat; int holdingLeftHand; @@ -37,8 +37,12 @@ public: eAnim_DisableRenderLeg0, eAnim_DisableRenderLeg1, eAnim_DisableRenderHair, - eAnim_SmallModel // Maggie Simpson for riding horse, etc - + eAnim_SmallModel, + eAnim_DisableRenderJacket, + eAnim_DisableRenderSleeve0, + eAnim_DisableRenderSleeve1, + eAnim_DisableRenderPants0, + eAnim_DisableRenderPants1 }; static const unsigned int m_staticBitmaskIgnorePlayerCustomAnimSetting= (1< entity, float time, float r, float bob, float yRot, float xRot, float scale, bool usecompiled); virtual void setupAnim(float time, float r, float bob, float yRot, float xRot, float scale, shared_ptr entity, unsigned int uiBitmaskOverrideAnim = 0); void renderHair(float scale, bool usecompiled); diff --git a/Minecraft.Client/LivingEntityRenderer.cpp b/Minecraft.Client/LivingEntityRenderer.cpp index 8ad8873f..0c4dff3c 100644 --- a/Minecraft.Client/LivingEntityRenderer.cpp +++ b/Minecraft.Client/LivingEntityRenderer.cpp @@ -9,13 +9,24 @@ #include "..\Minecraft.World\Mth.h" #include "..\Minecraft.World\Player.h" - ResourceLocation LivingEntityRenderer::ENCHANT_GLINT_LOCATION = ResourceLocation(TN__BLUR__MISC_GLINT); int LivingEntityRenderer::MAX_ARMOR_LAYERS = 4; -LivingEntityRenderer::LivingEntityRenderer(Model *model, float shadow) +LivingEntityRenderer::LivingEntityRenderer(Model *model, float shadow, bool slimHands, bool createNewVar) { this->model = model; + + if (slimHands == true) + this->modelSlim = new HumanoidModel(0, 0, 64, 32, true); + + if (createNewVar) + { + this->newModel = new HumanoidModel(0, 0, 64, 64, false, false); + + if (slimHands == true) + this->newModelSlim = new HumanoidModel(0, 0, 64, 64, true, false); + } + shadowRadius = shadow; armor = nullptr; } @@ -43,22 +54,27 @@ void LivingEntityRenderer::render(shared_ptr _mob, double x, double y, d } shared_ptr mob = dynamic_pointer_cast(_mob); + shared_ptr player = dynamic_pointer_cast(_mob); + Model *resModel; if (mob == nullptr) { return; } - app.DebugPrintf("LivingEntityRenderer::render called for type %d\n", _mob->GetType()); glPushMatrix(); glDisable(GL_CULL_FACE); - model->attackTime = getAttackAnim(mob, a); - if (armor != nullptr) armor->attackTime = model->attackTime; - model->riding = mob->isRiding(); - if (armor != nullptr) armor->riding = model->riding; - model->young = mob->isBaby(); - if (armor != nullptr) armor->young = model->young; + if (player != nullptr && newModelSlim != nullptr && (player->getCustomSkin() >= 10 && player->getCustomSkin() <= 18)) resModel = newModelSlim; + else if (player != nullptr && newModel != nullptr && (player->getCustomSkin() >= 0 && player->getCustomSkin() <= 9)) resModel = newModel; + else resModel = model; + + resModel->attackTime = getAttackAnim(mob, a); + if (armor != nullptr) armor->attackTime = resModel->attackTime; + resModel->riding = mob->isRiding(); + if (armor != nullptr) armor->riding = resModel->riding; + resModel->young = mob->isBaby(); + if (armor != nullptr) armor->young = resModel->young; /*try*/ { @@ -104,7 +120,7 @@ void LivingEntityRenderer::render(shared_ptr _mob, double x, double y, d if (ws > 1) ws = 1; glEnable(GL_ALPHA_TEST); - model->prepareMobModel(mob, wp, ws, a); + resModel->prepareMobModel(mob, wp, ws, a); renderModel(mob, wp, ws, bob, headRot - bodyRot, headRotx, fScale); for (int i = 0; i < MAX_ARMOR_LAYERS; i++) @@ -188,7 +204,7 @@ void LivingEntityRenderer::render(shared_ptr _mob, double x, double y, d if (mob->hurtTime > 0 || mob->deathTime > 0) { glColor4f(br, 0, 0, 0.4f); - model->render(mob, wp, ws, bob, headRot - bodyRot, headRotx, fScale, false); + resModel->render(mob, wp, ws, bob, headRot - bodyRot, headRotx, fScale, false); for (int i = 0; i < MAX_ARMOR_LAYERS; i++) { if (prepareArmorOverlay(mob, i, a) >= 0) @@ -206,7 +222,7 @@ void LivingEntityRenderer::render(shared_ptr _mob, double x, double y, d float b = ((overlayColor) & 0xff) / 255.0f; float aa = ((overlayColor >> 24) & 0xff) / 255.0f; glColor4f(r, g, b, aa); - model->render(mob, wp, ws, bob, headRot - bodyRot, headRotx, fScale, false); + resModel->render(mob, wp, ws, bob, headRot - bodyRot, headRotx, fScale, false); for (int i = 0; i < MAX_ARMOR_LAYERS; i++) { if (prepareArmorOverlay(mob, i, a) >= 0) @@ -243,10 +259,17 @@ void LivingEntityRenderer::render(shared_ptr _mob, double x, double y, d void LivingEntityRenderer::renderModel(shared_ptr mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale) { + shared_ptr player = dynamic_pointer_cast(mob); + Model *resModel; + + if (player != nullptr && newModelSlim != nullptr && (player->getCustomSkin() >= 10 && player->getCustomSkin() <= 18)) resModel = newModelSlim; + else if (player != nullptr && newModel != nullptr && (player->getCustomSkin() >= 0 && player->getCustomSkin() <= 9)) resModel = newModel; + else resModel = model; + bindTexture(mob); if (!mob->isInvisible()) { - model->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true); + resModel->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true); } else if(!mob->isInvisibleTo(dynamic_pointer_cast(Minecraft::GetInstance()->player))) { @@ -256,7 +279,7 @@ void LivingEntityRenderer::renderModel(shared_ptr mob, float wp, f glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glAlphaFunc(GL_GREATER, 1.0f / 255.0f); - model->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true); + resModel->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true); glDisable(GL_BLEND); glAlphaFunc(GL_GREATER, .1f); glPopMatrix(); @@ -264,7 +287,7 @@ void LivingEntityRenderer::renderModel(shared_ptr mob, float wp, f } else { - model->setupAnim(wp, ws, bob, headRotMinusBodyRot, headRotx, scale, mob); + resModel->setupAnim(wp, ws, bob, headRotMinusBodyRot, headRotx, scale, mob); } } @@ -314,7 +337,15 @@ void LivingEntityRenderer::additionalRendering(shared_ptr mob, flo void LivingEntityRenderer::renderArrows(shared_ptr mob, float a) { + shared_ptr player = dynamic_pointer_cast(mob); + Model *resModel; + + if (player != nullptr && newModelSlim != nullptr && (player->getCustomSkin() >= 10 && player->getCustomSkin() <= 18)) resModel = newModelSlim; + else if (player != nullptr && newModel != nullptr && (player->getCustomSkin() >= 0 && player->getCustomSkin() <= 9)) resModel = newModel; + else resModel = model; + int arrowCount = mob->getArrowCount(); + if (arrowCount > 0) { shared_ptr arrow = std::make_shared(mob->level, mob->x, mob->y, mob->z); @@ -323,7 +354,10 @@ void LivingEntityRenderer::renderArrows(shared_ptr mob, float a) for (int i = 0; i < arrowCount; i++) { glPushMatrix(); - ModelPart *modelPart = model->getRandomModelPart(random); + + ModelPart *modelPart; + modelPart = resModel->getRandomModelPart(random); + Cube *cube = modelPart->cubes[random.nextInt(modelPart->cubes.size())]; modelPart->translateTo(1 / 16.0f); float xd = random.nextFloat(); @@ -358,7 +392,7 @@ void LivingEntityRenderer::renderArrows(shared_ptr mob, float a) int LivingEntityRenderer::prepareArmorOverlay(shared_ptr mob, int layer, float a) { - return -1; + return prepareArmor(mob, layer, a); } int LivingEntityRenderer::prepareArmor(shared_ptr mob, int layer, float a) @@ -502,7 +536,7 @@ void LivingEntityRenderer::renderNameTag(shared_ptr mob, const wst constexpr float s = 1 / 60.0f * size; glPushMatrix(); - glTranslatef(static_cast(x), static_cast(y) + mob->bbHeight + 0.5f, static_cast(z)); + glTranslatef(static_cast(x) + 0, static_cast(y) + mob->bbHeight + 0.5f, static_cast(z)); glNormal3f(0, 1, 0); glRotatef(-this->entityRenderDispatcher->playerRotY, 0, 1, 0); diff --git a/Minecraft.Client/LivingEntityRenderer.h b/Minecraft.Client/LivingEntityRenderer.h index 2f77e1b5..c2848c56 100644 --- a/Minecraft.Client/LivingEntityRenderer.h +++ b/Minecraft.Client/LivingEntityRenderer.h @@ -19,7 +19,7 @@ protected: Model *armor; public: - LivingEntityRenderer(Model *model, float shadow); + LivingEntityRenderer(Model *model, float shadow, bool slimHands = 0, bool createNewVar = 0); virtual void render(shared_ptr mob, double x, double y, double z, float rot, float a); virtual void setArmor(Model *armor); diff --git a/Minecraft.Client/PlayerRenderer.cpp b/Minecraft.Client/PlayerRenderer.cpp index 215b8c1f..b04df80e 100644 --- a/Minecraft.Client/PlayerRenderer.cpp +++ b/Minecraft.Client/PlayerRenderer.cpp @@ -55,9 +55,12 @@ static unsigned int nametagColorForIndex(int index) ResourceLocation PlayerRenderer::DEFAULT_LOCATION = ResourceLocation(TN_MOB_CHAR); -PlayerRenderer::PlayerRenderer() : LivingEntityRenderer( new HumanoidModel(0), 0.5f ) +PlayerRenderer::PlayerRenderer() : LivingEntityRenderer( new HumanoidModel(0), 0.5f, true, true ) { - humanoidModel = static_cast(model); + humanoidModel = static_cast(model); + humanoidModelSlim = static_cast(modelSlim); + newHumanoidModel = static_cast(newModel); + newHumanoidModelSlim = static_cast(newModelSlim); armorParts1 = new HumanoidModel(1.0f); armorParts2 = new HumanoidModel(0.5f); @@ -160,12 +163,19 @@ void PlayerRenderer::render(shared_ptr _mob, double x, double y, double // 4J - dynamic cast required because we aren't using templates/generics in our version shared_ptr mob = dynamic_pointer_cast(_mob); + HumanoidModel *resModel; if(mob == nullptr) return; if(mob->hasInvisiblePrivilege()) return; + if (mob != nullptr && newHumanoidModelSlim != nullptr && (mob->getCustomSkin() >= 10 && mob->getCustomSkin() <= 18)) resModel = newHumanoidModelSlim; + else if (mob != nullptr && newHumanoidModel != nullptr && (mob->getCustomSkin() >= 0 && mob->getCustomSkin() <= 9)) resModel = newHumanoidModel; + else resModel = humanoidModel; + shared_ptr item = mob->inventory->getSelected(); - armorParts1->holdingRightHand = armorParts2->holdingRightHand = humanoidModel->holdingRightHand = item != nullptr ? 1 : 0; + + armorParts1->holdingRightHand = armorParts2->holdingRightHand = resModel->holdingRightHand = item != nullptr ? 1 : 0; + if (item != nullptr) { if (mob->getUseItemDuration() > 0) @@ -173,11 +183,11 @@ void PlayerRenderer::render(shared_ptr _mob, double x, double y, double UseAnim anim = item->getUseAnimation(); if (anim == UseAnim_block) { - armorParts1->holdingRightHand = armorParts2->holdingRightHand = humanoidModel->holdingRightHand = 3; + armorParts1->holdingRightHand = armorParts2->holdingRightHand = resModel->holdingRightHand = 3; } else if (anim == UseAnim_bow) { - armorParts1->bowAndArrow = armorParts2->bowAndArrow = humanoidModel->bowAndArrow = true; + armorParts1->bowAndArrow = armorParts2->bowAndArrow = resModel->bowAndArrow = true; } } } @@ -187,17 +197,17 @@ void PlayerRenderer::render(shared_ptr _mob, double x, double y, double // These factors are largely lifted from ItemInHandRenderer to try and keep the 3rd person eating animation as similar as possible float t = (mob->getUseItemDuration() - a + 1); float swing = 1 - (t / item->getUseDuration()); - armorParts1->eating = armorParts2->eating = humanoidModel->eating = true; - armorParts1->eating_t = armorParts2->eating_t = humanoidModel->eating_t = t; - armorParts1->eating_swing = armorParts2->eating_swing = humanoidModel->eating_swing = swing; + + armorParts1->eating = armorParts2->eating = resModel->eating = true; + armorParts1->eating_t = armorParts2->eating_t = resModel->eating_t = t; + armorParts1->eating_swing = armorParts2->eating_swing = resModel->eating_swing = swing; } else { - armorParts1->eating = armorParts2->eating = humanoidModel->eating = false; + armorParts1->eating = armorParts2->eating = resModel->eating = false; } - armorParts1->sneaking = armorParts2->sneaking = humanoidModel->sneaking = mob->isSneaking(); - + armorParts1->sneaking = armorParts2->sneaking = resModel->sneaking = mob->isSneaking(); double yp = y - mob->heightOffset; if (mob->isSneaking() && !mob->instanceof(eTYPE_LOCALPLAYER)) { @@ -209,20 +219,20 @@ void PlayerRenderer::render(shared_ptr _mob, double x, double y, double { if(mob->isIdle()) { - humanoidModel->idle=true; + resModel->idle=true; armorParts1->idle=true; armorParts2->idle=true; } else { - humanoidModel->idle=false; + resModel->idle=false; armorParts1->idle=false; armorParts2->idle=false; } } else { - humanoidModel->idle=false; + resModel->idle=false; armorParts1->idle=false; armorParts2->idle=false; } @@ -248,10 +258,9 @@ void PlayerRenderer::render(shared_ptr _mob, double x, double y, double pModelPart->visible=false; } } - armorParts1->bowAndArrow = armorParts2->bowAndArrow = humanoidModel->bowAndArrow = false; - armorParts1->sneaking = armorParts2->sneaking = humanoidModel->sneaking = false; - armorParts1->holdingRightHand = armorParts2->holdingRightHand = humanoidModel->holdingRightHand = 0; - + armorParts1->bowAndArrow = armorParts2->bowAndArrow = resModel->bowAndArrow = false; + armorParts1->sneaking = armorParts2->sneaking = resModel->sneaking = false; + armorParts1->holdingRightHand = armorParts2->holdingRightHand = resModel->holdingRightHand = 0; } void PlayerRenderer::additionalRendering(shared_ptr _mob, float a) @@ -264,6 +273,11 @@ void PlayerRenderer::additionalRendering(shared_ptr _mob, float a) // 4J - dynamic cast required because we aren't using templates/generics in our version shared_ptr mob = dynamic_pointer_cast(_mob); + HumanoidModel *resModel; + + if (mob != nullptr && newHumanoidModelSlim != nullptr && (mob->getCustomSkin() >= 10 && mob->getCustomSkin() <= 18)) resModel = newHumanoidModelSlim; + else if (mob != nullptr && newHumanoidModel != nullptr && (mob->getCustomSkin() >= 0 && mob->getCustomSkin() <= 9)) resModel = newHumanoidModel; + else resModel = humanoidModel; shared_ptr headGear = mob->inventory->getArmor(3); if (headGear != nullptr) @@ -274,7 +288,7 @@ void PlayerRenderer::additionalRendering(shared_ptr _mob, float a) if((uiAnimOverrideBitmask&(1<head->translateTo(1 / 16.0f); + resModel->head->translateTo(1 / 16.0f); if(headGear->getItem()->id < 256) { @@ -322,7 +336,7 @@ void PlayerRenderer::additionalRendering(shared_ptr _mob, float a) float s = 8 / 6.0f; glScalef(s, s, s); - humanoidModel->renderEars(1 / 16.0f,true); + resModel->renderEars(1 / 16.0f,true); glPopMatrix(); } } @@ -368,7 +382,7 @@ void PlayerRenderer::additionalRendering(shared_ptr _mob, float a) glRotatef(lean2 / 2, 0, 0, 1); glRotatef(-lean2 / 2, 0, 1, 0); glRotatef(180, 0, 1, 0); - humanoidModel->renderCloak(1 / 16.0f,true); + resModel->renderCloak(1 / 16.0f,true); glPopMatrix(); } @@ -377,7 +391,7 @@ void PlayerRenderer::additionalRendering(shared_ptr _mob, float a) if (item != nullptr) { glPushMatrix(); - humanoidModel->arm0->translateTo(1 / 16.0f); + resModel->arm0->translateTo(1 / 16.0f); glTranslatef(-1 / 16.0f, 7 / 16.0f, 1 / 16.0f); if (mob->fishing != nullptr) @@ -470,7 +484,7 @@ void PlayerRenderer::additionalRendering(shared_ptr _mob, float a) } } -void PlayerRenderer::renderNameTags(shared_ptr player, double x, double y, double z, const wstring &msg, float scale, double dist) +void PlayerRenderer::renderNameTags(shared_ptr player, double x, double y, double z, wstring msg, float scale, double dist) { #if 0 if (dist < 10 * 10) @@ -496,17 +510,7 @@ void PlayerRenderer::renderNameTags(shared_ptr player, double x, d } #endif - shared_ptr pPlayer = dynamic_pointer_cast(player); - int color = getNametagColour(pPlayer->getPlayerIndex()); - - if (player->isSleeping()) - { - renderNameTag(player, msg, x, y - 1.5f, z, 64, color); - } - else - { - renderNameTag(player, msg, x, y, z, 64, color); - } + LivingEntityRenderer::renderNameTags(player, x, y, z, msg, scale, dist); } void PlayerRenderer::scale(shared_ptr player, float a) @@ -517,18 +521,23 @@ void PlayerRenderer::scale(shared_ptr player, float a) void PlayerRenderer::renderHand() { + shared_ptr player = dynamic_pointer_cast(Minecraft::GetInstance()->player); + HumanoidModel *resModel; + + if (player != nullptr && newHumanoidModelSlim != nullptr && (player->getCustomSkin() >= 10 && player->getCustomSkin() <= 18)) resModel = newHumanoidModelSlim; + else if (player != nullptr && newHumanoidModel != nullptr && (player->getCustomSkin() >= 0 && player->getCustomSkin() <= 9)) resModel = newHumanoidModel; + else resModel = humanoidModel; + float brightness = 1; glColor3f(brightness, brightness, brightness); - humanoidModel->m_uiAnimOverrideBitmask = Minecraft::GetInstance()->player->getAnimOverrideBitmask(); - armorParts1->eating = armorParts2->eating = humanoidModel->eating = humanoidModel->idle = false; - humanoidModel->attackTime = 0; - humanoidModel->setupAnim(0, 0, 0, 0, 0, 1 / 16.0f, Minecraft::GetInstance()->player); + resModel->m_uiAnimOverrideBitmask = player->getAnimOverrideBitmask(); + armorParts1->eating = armorParts2->eating = resModel->eating = resModel->idle = false; + resModel->attackTime = 0; + resModel->setupAnim(0, 0, 0, 0, 0, 1 / 16.0f, Minecraft::GetInstance()->player); // 4J-PB - does this skin have its arm0 disabled? (Dalek, etc) - if((humanoidModel->m_uiAnimOverrideBitmask&(1<arm0->render(1 / 16.0f,true); - } + if((resModel->m_uiAnimOverrideBitmask&(1<arm0->render(1 / 16.0f,true); } void PlayerRenderer::setupPosition(shared_ptr _mob, double x, double y, double z) diff --git a/Minecraft.Client/PlayerRenderer.h b/Minecraft.Client/PlayerRenderer.h index 775bac5d..8e006091 100644 --- a/Minecraft.Client/PlayerRenderer.h +++ b/Minecraft.Client/PlayerRenderer.h @@ -14,8 +14,13 @@ public: private: HumanoidModel *humanoidModel; + HumanoidModel *humanoidModelSlim; + HumanoidModel *newHumanoidModel; + HumanoidModel *newHumanoidModelSlim; + HumanoidModel *armorParts1; HumanoidModel *armorParts2; + bool defaultSlimHands; public: PlayerRenderer(); @@ -34,7 +39,7 @@ public: protected: virtual void additionalRendering(shared_ptr _mob, float a); - void renderNameTags(shared_ptr player, double x, double y, double z, const wstring &msg, float scale, double dist); + void renderNameTags(shared_ptr player, double x, double y, double z, wstring msg, float scale, double dist); virtual void scale(shared_ptr _player, float a); public: diff --git a/Minecraft.Client/SkinBox.h b/Minecraft.Client/SkinBox.h index 827e4447..b4600f1d 100644 --- a/Minecraft.Client/SkinBox.h +++ b/Minecraft.Client/SkinBox.h @@ -9,6 +9,11 @@ enum eBodyPart eBodyPart_Arm1, eBodyPart_Leg0, eBodyPart_Leg1, + eBodyPart_Jacket, + eBodyPart_Sleeve0, + eBodyPart_Sleeve1, + eBodyPart_Pants0, + eBodyPart_Pants1, }; typedef struct diff --git a/Minecraft.Client/Textures.cpp b/Minecraft.Client/Textures.cpp index dacfd1c9..d3f6d0fc 100644 --- a/Minecraft.Client/Textures.cpp +++ b/Minecraft.Client/Textures.cpp @@ -72,6 +72,16 @@ const wchar_t *Textures::preLoaded[TN_COUNT] = L"mob/char5", L"mob/char6", L"mob/char7", + L"mob/char8", + L"mob/char9", + L"mob/char10", + L"mob/char11", + L"mob/char12", + L"mob/char13", + L"mob/char14", + L"mob/char15", + L"mob/char16", + L"mob/char17", L"terrain/moon", L"terrain/sun", L"armor/power", @@ -1600,6 +1610,16 @@ TEXTURE_NAME OriginalImages[] = TN_MOB_CHAR5, TN_MOB_CHAR6, TN_MOB_CHAR7, + TN_MOB_CHAR8, + TN_MOB_CHAR9, + TN_MOB_CHAR10, + TN_MOB_CHAR11, + TN_MOB_CHAR12, + TN_MOB_CHAR13, + TN_MOB_CHAR14, + TN_MOB_CHAR15, + TN_MOB_CHAR16, + TN_MOB_CHAR17, TN_MISC_MAPBG, diff --git a/Minecraft.Client/Textures.h b/Minecraft.Client/Textures.h index e35f8bad..f4f505ac 100644 --- a/Minecraft.Client/Textures.h +++ b/Minecraft.Client/Textures.h @@ -63,6 +63,16 @@ typedef enum _TEXTURE_NAME TN_MOB_CHAR5, TN_MOB_CHAR6, TN_MOB_CHAR7, + TN_MOB_CHAR8, + TN_MOB_CHAR9, + TN_MOB_CHAR10, + TN_MOB_CHAR11, + TN_MOB_CHAR12, + TN_MOB_CHAR13, + TN_MOB_CHAR14, + TN_MOB_CHAR15, + TN_MOB_CHAR16, + TN_MOB_CHAR17, TN_TERRAIN_MOON, TN_TERRAIN_SUN, TN_POWERED_CREEPER, diff --git a/Minecraft.World/Definitions.h b/Minecraft.World/Definitions.h index d338019d..f45252f5 100644 --- a/Minecraft.World/Definitions.h +++ b/Minecraft.World/Definitions.h @@ -35,6 +35,16 @@ enum EDefaultSkins eDefaultSkins_Skin5, eDefaultSkins_Skin6, eDefaultSkins_Skin7, + eDefaultSkins_Skin8, + eDefaultSkins_Skin9, + eDefaultSkins_Skin10, + eDefaultSkins_Skin11, + eDefaultSkins_Skin12, + eDefaultSkins_Skin13, + eDefaultSkins_Skin14, + eDefaultSkins_Skin15, + eDefaultSkins_Skin16, + eDefaultSkins_Skin17, eDefaultSkins_Count, }; \ No newline at end of file diff --git a/Minecraft.World/Player.cpp b/Minecraft.World/Player.cpp index 00c7148e..5227d7a8 100644 --- a/Minecraft.World/Player.cpp +++ b/Minecraft.World/Player.cpp @@ -2702,6 +2702,26 @@ int Player::getTexture() return TN_MOB_CHAR6; // 4J - was L"/mob/char6.png"; case eDefaultSkins_Skin7: return TN_MOB_CHAR7; // 4J - was L"/mob/char7.png"; + case eDefaultSkins_Skin8: + return TN_MOB_CHAR8; // 4J - was L"/mob/char8.png"; + case eDefaultSkins_Skin9: + return TN_MOB_CHAR9; // 4J - was L"/mob/char9.png"; + case eDefaultSkins_Skin10: + return TN_MOB_CHAR10; // 4J - was L"/mob/char10.png"; + case eDefaultSkins_Skin11: + return TN_MOB_CHAR11; // 4J - was L"/mob/char11.png"; + case eDefaultSkins_Skin12: + return TN_MOB_CHAR12; // 4J - was L"/mob/char12.png"; + case eDefaultSkins_Skin13: + return TN_MOB_CHAR13; // 4J - was L"/mob/char13.png"; + case eDefaultSkins_Skin14: + return TN_MOB_CHAR14; // 4J - was L"/mob/char14.png"; + case eDefaultSkins_Skin15: + return TN_MOB_CHAR15; // 4J - was L"/mob/char15.png"; + case eDefaultSkins_Skin16: + return TN_MOB_CHAR16; // 4J - was L"/mob/char16.png"; + case eDefaultSkins_Skin17: + return TN_MOB_CHAR17; // 4J - was L"/mob/char17.png"; default: return TN_MOB_CHAR; // 4J - was L"/mob/char.png";