From 27ed337d992243ef85eacad429ce30751c2af353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 22 Sep 2025 15:24:10 -0600 Subject: [PATCH] Move more pngs into the images.svg file --- .gitignore | 3 + Common/Render/AtlasGen.cpp | 9 +- Common/Render/AtlasGen.h | 3 +- UI/MainScreen.cpp | 2 +- UI/MiscScreens.cpp | 8 +- UI/UIAtlas.cpp | 20 +- assets/ui_images/arrow.png | Bin 530 -> 0 bytes assets/ui_images/b.png | Bin 815 -> 0 bytes assets/ui_images/fullscreen.png | Bin 710 -> 0 bytes assets/ui_images/grid.png | Bin 284 -> 0 bytes assets/ui_images/images.svg | 914 ++++++++++++++++++++++++- assets/ui_images/l.png | Bin 309 -> 0 bytes assets/ui_images/lines.png | Bin 218 -> 0 bytes assets/ui_images/logo.png | Bin 5681 -> 0 bytes assets/ui_images/r.png | Bin 709 -> 0 bytes assets/ui_images/record.png | Bin 1123 -> 0 bytes assets/ui_images/restore.png | Bin 667 -> 0 bytes assets/ui_images/round.png | Bin 1141 -> 0 bytes assets/ui_images/round_line.png | Bin 2048 -> 0 bytes assets/ui_images/square_shape.png | Bin 268 -> 0 bytes assets/ui_images/square_shape_line.png | Bin 424 -> 0 bytes assets/ui_images/stick_bg.png | Bin 5269 -> 0 bytes assets/ui_images/stick_bg_line.png | Bin 5173 -> 0 bytes 23 files changed, 915 insertions(+), 44 deletions(-) delete mode 100644 assets/ui_images/arrow.png delete mode 100644 assets/ui_images/b.png delete mode 100644 assets/ui_images/fullscreen.png delete mode 100644 assets/ui_images/grid.png delete mode 100644 assets/ui_images/l.png delete mode 100644 assets/ui_images/lines.png delete mode 100644 assets/ui_images/logo.png delete mode 100644 assets/ui_images/r.png delete mode 100644 assets/ui_images/record.png delete mode 100644 assets/ui_images/restore.png delete mode 100644 assets/ui_images/round.png delete mode 100644 assets/ui_images/round_line.png delete mode 100644 assets/ui_images/square_shape.png delete mode 100644 assets/ui_images/square_shape_line.png delete mode 100644 assets/ui_images/stick_bg.png delete mode 100644 assets/ui_images/stick_bg_line.png diff --git a/.gitignore b/.gitignore index 8a04bb61a6..cfeaf2e674 100644 --- a/.gitignore +++ b/.gitignore @@ -104,6 +104,9 @@ Windows/*.ipch Windows/imgui.ini imgui.ini +# debug file +ui_atlas_gen.png + # For vim *.swp tags diff --git a/Common/Render/AtlasGen.cpp b/Common/Render/AtlasGen.cpp index 04fd83e3ba..d9d86140ca 100644 --- a/Common/Render/AtlasGen.cpp +++ b/Common/Render/AtlasGen.cpp @@ -149,11 +149,6 @@ std::vector Bucket::Resolve(int image_width, Image &dest) { } } - if ((int)dest.width() > image_width * 2) { - printf("PACKING FAIL : height=%i", (int)dest.width()); - exit(1); - } - // Sort the data back by ID. std::sort(data.begin(), data.end(), CompareByID); @@ -252,7 +247,7 @@ inline u32 blendOver(u32 dst, u32 src) { ((u32)(outB * 255 + 0.5f) << 0); } -void addDropShadow(Image &img, int shadowSize) { +void AddDropShadow(Image &img, int shadowSize, float intensity) { int radius = std::max(1, (int)(shadowSize * img.scale)); // Expand canvas so blur has space on all sides @@ -280,7 +275,7 @@ void addDropShadow(Image &img, int shadowSize) { for (int x = 0; x < newW; x++) { float a = blurred[y * newW + x]; if (a > 0.001f) { - u32 shadowColor = ((u32)(a * 180) << 24); // semi-transparent black + u32 shadowColor = ((u32)(a * 255 * intensity) << 24); // semi-transparent black newData[y * newW + x] = blendOver(newData[y * newW + x], shadowColor); } } diff --git a/Common/Render/AtlasGen.h b/Common/Render/AtlasGen.h index 8e79cdb3b1..1df85a64ff 100644 --- a/Common/Render/AtlasGen.h +++ b/Common/Render/AtlasGen.h @@ -71,7 +71,8 @@ struct Image { std::vector dat; }; -void addDropShadow(Image &img, int shadowSize); +// Slow. +void AddDropShadow(Image &img, int shadowSize, float intensity); struct Data { // item ID diff --git a/UI/MainScreen.cpp b/UI/MainScreen.cpp index ff55ead049..33cdcc79ad 100644 --- a/UI/MainScreen.cpp +++ b/UI/MainScreen.cpp @@ -1261,7 +1261,7 @@ void MainScreen::CreateViews() { } else { logos->Add(new ImageView(ImageID("I_ICON"), "", IS_DEFAULT, new AnchorLayoutParams(64, 64, 0, 0, NONE, NONE, false))); } - logos->Add(new ImageView(ImageID("I_LOGO"), "PPSSPP", IS_DEFAULT, new AnchorLayoutParams(180, 64, 64, -5.0f, NONE, NONE, false))); + logos->Add(new ImageView(ImageID("I_LOGO"), "PPSSPP", IS_DEFAULT, new AnchorLayoutParams(180, 64, 64, 0.0f, NONE, NONE, false))); #if !defined(MOBILE_DEVICE) auto gr = GetI18NCategory(I18NCat::GRAPHICS); diff --git a/UI/MiscScreens.cpp b/UI/MiscScreens.cpp index b759121156..51d2317e6e 100644 --- a/UI/MiscScreens.cpp +++ b/UI/MiscScreens.cpp @@ -878,12 +878,12 @@ void LogoScreen::DrawForeground(UIContext &dc) { // Manually formatting UTF-8 is fun. \xXX doesn't work everywhere. snprintf(temp, sizeof(temp), "%s Henrik Rydg%c%crd", cr->T_cstr("created", "Created by"), 0xC3, 0xA5); if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { - UI::DrawIconShine(dc, Bounds::FromCenter(bounds.centerX() - 120, bounds.centerY() - 30, 60.0f), 0.7f, true); - dc.Draw()->DrawImage(ImageID("I_ICON_GOLD"), bounds.centerX() - 120, bounds.centerY() - 30, 1.2f, 0xFFFFFFFF, ALIGN_CENTER); + UI::DrawIconShine(dc, Bounds::FromCenter(bounds.centerX() - 125, bounds.centerY() - 30, 60.0f), 0.7f, true); + dc.Draw()->DrawImage(ImageID("I_ICON_GOLD"), bounds.centerX() - 125, bounds.centerY() - 30, 1.2f, 0xFFFFFFFF, ALIGN_CENTER); } else { - dc.Draw()->DrawImage(ImageID("I_ICON"), bounds.centerX() - 120, bounds.centerY() - 30, 1.2f, 0xFFFFFFFF, ALIGN_CENTER); + dc.Draw()->DrawImage(ImageID("I_ICON"), bounds.centerX() - 125, bounds.centerY() - 30, 1.2f, 0xFFFFFFFF, ALIGN_CENTER); } - dc.Draw()->DrawImage(ImageID("I_LOGO"), bounds.centerX() + 40, bounds.centerY() - 30, 1.5f, 0xFFFFFFFF, ALIGN_CENTER); + dc.Draw()->DrawImage(ImageID("I_LOGO"), bounds.centerX() + 45, bounds.centerY() - 30, 1.5f, 0xFFFFFFFF, ALIGN_CENTER); //dc.Draw()->DrawTextShadow(UBUNTU48, "PPSSPP", bounds.w / 2, bounds.h / 2 - 30, textColor, ALIGN_CENTER); dc.SetFontScale(1.0f, 1.0f); dc.SetFontStyle(dc.GetTheme().uiFont); diff --git a/UI/UIAtlas.cpp b/UI/UIAtlas.cpp index 224d0b39c1..4b5219e3e0 100644 --- a/UI/UIAtlas.cpp +++ b/UI/UIAtlas.cpp @@ -39,17 +39,19 @@ static const std::string imageIDs[] = { "I_START", "I_ARROW", "I_ROUND", + "I_ROUND_LINE", "I_RECT", + "I_RECT_LINE", "I_STICK", "I_STICK_BG", - "I_SHOULDER", - "I_DIR", - "I_DIR_LINE", - "I_ROUND_LINE", - "I_RECT_LINE", - "I_SHOULDER_LINE", "I_STICK_LINE", "I_STICK_BG_LINE", + "I_SHOULDER", + "I_SHOULDER_LINE", + "I_DIR", + "I_DIR_LINE", + "I_SQUARE_SHAPE", + "I_SQUARE_SHAPE_LINE", "I_CHECKEDBOX", "I_UNCHECKEDBOX", "I_BG", @@ -87,8 +89,6 @@ static const std::string imageIDs[] = { "I_D", "I_E", "I_F", - "I_SQUARE_SHAPE", - "I_SQUARE_SHAPE_LINE", "I_FOLDER_OPEN", "I_WARNING", "I_TRASHCAN", @@ -240,7 +240,7 @@ Draw::Texture *GenerateUIAtlas(Draw::DrawContext *draw, Atlas *atlas, float dpiS } img.scale = scale; - addDropShadow(img, 4); + AddDropShadow(img, 3, 0.66f); // pngSave(Path(std::string("../buttons_") + PNGNameFromID(shapeId)), img.data(), img.width(), img.height(), 4); } @@ -317,7 +317,7 @@ Draw::Texture *GenerateUIAtlas(Draw::DrawContext *draw, Atlas *atlas, float dpiS atlas->num_images = (int)genAtlasImages.size(); // For debug, write out the atlas. - // dest.SavePNG("../gen.png"); + dest.SavePNG("../ui_atlas_gen.png"); // Then, create the texture too. Draw::TextureDesc desc{}; diff --git a/assets/ui_images/arrow.png b/assets/ui_images/arrow.png deleted file mode 100644 index 87583fc6447aee3958cc021ae0264fb348e9bad8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmV+t0`2{YP)L{*u6uC zLZ^=XMuOnWR$U|wNgD_{b#f{txl3%gbFhIUP0~vqxGlf`9ryBt2q93mDrFEMgcQc) zzv|QJ^pp@%fe=Dz03ZM~$8lPWv1b5UA!wRrn{yseO2+_p3qv7<@O}S%D^7z-IEItS zq$R_xI1lDx30`x~SqvCs?rOFA$;4SO2m-6$?_UH#@STcdXc)$o3@N3bqtWODz+M=J zUmG|J`o2FN3VlCU4N5`tFG%_%5bq*JT;rm0{}H? zWgEBx0Gg&X)-wPAq9~&C`8)!!^}P}Rnr+(;ob%s!_T_T U4<&~25C8xG07*qoM6N<$f@BHQVE_OC diff --git a/assets/ui_images/b.png b/assets/ui_images/b.png deleted file mode 100644 index 48b1c2ab39c728393bef0067571e5805e1c34195..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 815 zcmV+~1JL}5P)Eo$jHH*VdAAhZZ{ zG0PT#khaLhB!~;MpjC@R29im$X_$}Zy*KZ@+roRrQL{R5c<&zW{c}G4=P!T&5L92m zNt4Qb<@yYO0ffiL$D0CyfN9&dar|{Imvd67R35N^GVlwiC@=t`nM`Iyo?(?rrIg8J z-Y+jNKLuhyt;!gHrgS>}?ks?#mQJVNHa0e12hIV)0EF-R0-#td{umhgu}O*VlJ@aB%Q(Lqo&0mX?;G#l^)Z@p$~1Duw3l?d?@5r7RQ*d%#Vg9yqVO z9%!1Fn7HpaPFYGRcXxL`0?mMNSOtir~|Mlu$QbpRJMnGON+`TTd_9&iI_1KJ~z z$gRoA$;A5l`ho`A+S+=p#uz@02O2%Byau=kw63kKE$D3K=jR^+^{4T`1)L*pD=uVL zR#x8VyFEQUaUfg;@CVbYTv=UR{i=g%AB@w8B&a459I!4tG&Izz1D@wu9Or=|Qiy|1 z3#xEHoi8O4i7|b5XJ_XV;2h5&(BI$RZklE^6biXgN)e02>bkqTI|c>@9&~ng4g-|S z<^7qNnU@^&=l}G;vaIaf+}t?OsI&a5B6*(YX0zEZo12?2Mn^~Q0H!Kc2%zRHO{`QZ t-qO-ij)ReEO>_Vckb-|#<>Sf>z;8rQ`Zjn3;939x002ovPDHLkV1iHEc546t diff --git a/assets/ui_images/fullscreen.png b/assets/ui_images/fullscreen.png deleted file mode 100644 index 4cf4350efa128fb1bf382f8d9dc8394500e48458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmV;%0y+JOP)Nk}{Z`xaguH)j)!o>B8hW+I);)ixdw8jdMNs%*@T?T;K>mcD~bsSRq|1yy=w( zo^n;vKMjY&2d!4?aTGblN7&%5pQdOsjdO7lFg zD+&;Xp$DL*AOHYrVHkQve4giZ0ce1<{CO*oLI_c|T{37Ap9?vkDk%sds`UT>B8gW* zC2wFloxYpRW;fMpl~YOurSvC&l_KwIGMT*LoZsV|lQ@ovX_`+g%X+<+i1~c}t<&ke zml6xCD_RAyZQCEQc{()Lb%kYFnZdatG))tU0M*&c5ZHN&D5bgEqg)ez6R8Mc7{-?J zTCEmCy%5VF623bm`L+%#F&GR!H=E7-i^YQ0>vcXJkAFeE2Fk$u{r-mxegXV>tjhO? zT7`eff5HhT{HGw&C&l^%C0HLMD@Z=@0C`IJspB{oK@eOom&>m~5L`3HULvty2Y|*H zdm-~Xj&qR++ZbI!$eCdn&#?L79K~*V9}q&w`40bC%76DNkK=eNA?N&10y6pK`&?6# z1j*y6vr_FlC?sc9G^tz>rfEJMjYdTFn6_oNBhVOiFd>5xTAyx~Qa&P<2|otnZNXrQ5+7V>gPx#07*qoM6N<$g2pFD#sB~S diff --git a/assets/ui_images/grid.png b/assets/ui_images/grid.png deleted file mode 100644 index 9b86cf581de5c2d89701f556afe4ca6afecb6215..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^sz5Bs!3HF^sXf06q*#ibJVQ8upoSx*1IXtr@Q5sC zU=TSB!i=H?zD^(=C9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2NC6ei^mK6y z@#uVeMVIdogMiD!^-BaM#BdxfG?>HE+^~B=K!KD>y>ItJhTY3n-dO%TSM6rXtV9X6 z!fO=|XBLD-JQ5U5>wLU8aOt9ul^VL|I{!$=UV8a2?nY)&w*lYe+WWc_?>}nJK6Epo z(K{p~>tZud)nuKkkLH~ye=*tb|Mx?Fz3EfLmb=vT>-TY{w_EZBE<9%JHMJ{f>7qXj Xd(P{1XlI9m{LkR&>gTe~DWM4f#F}f& diff --git a/assets/ui_images/images.svg b/assets/ui_images/images.svg index 22adde9c91..766ace7ff8 100644 --- a/assets/ui_images/images.svg +++ b/assets/ui_images/images.svg @@ -11,6 +11,7 @@ sodipodi:docname="images.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + transform="matrix(0.26458333,0,0,0.26458333,5.0473301,79.356161)"> + transform="matrix(0.51679723,0,0,0.51679723,64.418875,73.447233)"> @@ -3482,7 +4052,7 @@ id="I_TRASHCAN" inkscape:export-xdpi="135" inkscape:export-ydpi="135" - transform="matrix(0.39414007,0,0,0.39414007,58.461969,-115.55306)"> + transform="matrix(0.39414007,0,0,0.39414007,-38.179785,14.443237)"> @@ -3712,7 +4281,7 @@ inkscape:export-filename="C:\dev\ppsspp\source_assets\image\rect_line.png" inkscape:export-xdpi="135" inkscape:export-ydpi="135" - style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter5096);enable-background:accumulate"> + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ffffff;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"> + inkscape:export-ydpi="135"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/ui_images/l.png b/assets/ui_images/l.png deleted file mode 100644 index 1dc2c02bab650f330a401919f26b182332555457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bE!3HFIOI1pN6icy_X9x!n)NrJ90QsB+9+AZi z3?hd?m{GLA*9j;nS>hT|5}cn_Ql40p%1~Zju9umYU7Va)kgAtols@~NjTBJPCQlc~ z5RHj%Cn@qBau9I6ucv&g)WYP)ta;6+3)p0quQ;%6n)4T~AJ=kDbgB7nla-m!w)UvO z$rY8KKOZ%2U^Q!Cn!HM@b7N>|?%wau_r3RTSmMAiYnkPWReg^u*ozLV(7Jz(?{I>B z-Px!OvDW_{-ap_iZq^`?Jk3bcV1GjP+U(okW<0NqQA>+7yINW+{QM4&g3|6yI_p<* zxdy&bZTaxwUVKu|$$v^l<+0*C`9H7s1SeE6y=d_fNIrTw5a@aaPgg&ebxsLQ0HLjS AlK=n! diff --git a/assets/ui_images/lines.png b/assets/ui_images/lines.png deleted file mode 100644 index 4c66884517745722bb559c77371ca157663428be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^sz5Bo!3HD^HchPtQY^(zo*^7SP{WbZ0pxQQctjR6 zFo+xmVMfscUniiTWQl7;NpOBzNqJ&XDnogBxn5>oc5!lIL8@MUQTpt6Hc~)E;hrvz zAs(G?uWaOP2;gD9$bD+T2HpBq7u-eOO*)j{G+D=T)vAbRv-o~I)|k3Dgmccz4m~lu zL-&5Z12X=+P;y@>v()Rs%)S?YUaVrd_p;+$|GJ_nrvg{;Us4pQs4qW07ia~8r>mdK II;Vst0IktZ!~g&Q diff --git a/assets/ui_images/logo.png b/assets/ui_images/logo.png deleted file mode 100644 index 0017039d95348108809012880e60c4754ea47e48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5681 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 Jty8v({U0sn9CQEx diff --git a/assets/ui_images/r.png b/assets/ui_images/r.png deleted file mode 100644 index 4320da9d5bd5442e08a4abe7b786b9e6b8dbcfe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 709 zcmV;$0y_PPP)_ZR>MAO=9d{-8*5BBE$f1Q0U}<5e=5yv;dh+taS=nwDja=kxifQmK4njM+rw zM|+Zs#o`nFN7%M~QLoo;0EiJ0hzJaTWSZs&S(cxV$K#WJzu!rvQtK14+3fXPF84&1 zdBFo+L>R04zf~l4+V}L_~wZ;4Oe;ph=h_0IAVv+$SQBh^W))+yfvG(WY>M zAcR8sk@NtpipAo0%d##2AfL}a3Pl(9sLmK;+hPitOeQW#(oF!cZQBU8vU!8$aw!71 z7Gw%QN>P-9X0v(6FpQ6)C?2j>t5LODJqN(UxwQtK=gnQ$H6l6XoV(!`9LE`|s`?Os z7;a$$z;)eA$8m;^;|x8|y9@_S)BLPy+Ht8=It*yDy#T#l?;QXcKpMb7x7&T;`~EM^ z`BK;QazIT8hj##UT|Wkpz+Za{01~RIJ`HGinx?%B>sJB9BSi*4nog%DL`1&t|8BS2 zccV_c5+G<06h)D3+x|jCWLegEKylYd`+|tLuIsj{s_%(tl}@K0k4B@{Q4g&j(_}Jv z6J603mE>$TI}ND(Y_(cP00a?$zgR4qp6B%~%laBMNaPm87<0?z@@cJBhTMcDfX9f<8w7%Z{G00000NkvXXu0mjfCBZWx diff --git a/assets/ui_images/record.png b/assets/ui_images/record.png deleted file mode 100644 index 05008ad2532a1d3e3bc0879708b3bf5dd59bde3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123 zcmV-p1f2VcP)$SK~z|U&Dc$79AzBG@$d7@&c3C|ZklAZ5?`7~O0jB0+hQxE zYGO}nksiE=)Ji-^6~!0mMWJG$g%lBmLdZq2BCUcH!3x$ClO8lQ2Q`f(l&~e5&2}d* zW_L3?GmnRuxI5j=HfeU6AIxD7&oiI-&+Iev{9&C&RB#SeiAir{oOB)eb2+XlqJf38n>nS%GqxH^T3k3Xn(X^|nlxbLA=eDH2=bq8 zt$qC7kbbC26HfxZaszEeV#;#9{4qKI@tdPFaUk~}@TOq`(7U(Rw(O4TCpKuJ{RYNd z7e|qqH0|TBj3m1T4CYvd)S5x%~$&8$*<+T&ao)KtI>I@tNkZ z-Yo?BTA=_mA?g}K@~L3JIo+4C<|tA*S!(R5ZIK7IRO#K6zul{fUx?;|vFe^J5H98@ z29pgC+z|N~P>Tsm(ec^#hSvcd*JD)-<~#Fn{quey9;_s4F}L~UJ4f!0+~Kyk zVRBEDaAQzA>;(!y3aX#JJ@6{7HSs#wdrb{{b-`w@U;q)Hc%d~)DBqJ06M!$~=Q%G? z06szN=smT&O2GiMuqGe%mbH+WUuz?81t_T48;zl;PjILAEC?;URhGU|3Sey;gH5*r z1>l$BF7lR)0$5O1cHLSoQivK#z;1O4UQ78fm35f$7_$^dsaf)H1+ac&e$;!?LQJK` zCw)u^`PjB}#W@l`t-*Xj^$XUIBz4*JJVt_Sa+FyH(vJ?}qT{8N} z+Y7iW=Dd9+^}VT-r_Y*UIz1zhT^2TAkhwZV?Htplxi8%w;maZ7gnS|{5Y4d=sFe-_fv(>p5e@ULC$cCiU%5Qi6KJ~|NI@hW4 z{wZr2Q>oFD@!6M#Ax)7Da4DDqa(geO&c-v=A*C?a6y>Pl^Qqjv6IU}6l(_Ka-jxb4 zcMn|a8JscqIgnfnRL16~PbOwNULGXeS z{_pyfJ>g2S)Q0+Cb2PT6PH(T)#Lj@E*(a$-Ar&HPIcj{)QA3HG)qD7gadB{p3>9ia p6&tsRTo;YImCSKdt>nR>aJj_m~b0LIK$!NFRj{w*JihGO#01JRK9*^Iv zm>>wg#j%YOMz7aNnw&w+MnyKSglr@b<*Ogg~>U; zl2R^+D6{R`D5c1@?Wcxe6tm=~iWrSXZ>rVmSFCrnJQO(R-;2fK;~U>+cfz)90U*4E zh`k=|U2j&Y;!a}6{4Yh^KMnu@5#2kHa6Bg_lZgeu+SMlR)zsw0_x+Fa`FvF<6wZ$( z!t=ZruIpk)T^_G6<9}!c+>sN*;qbL(S>vQ5V~i=K)HT-c9qA&35J|6@mw&FEPN$d6 zX7dN)JCD&jQ7V|ZD3{Cc@+_X0lh`p6CuA6g zy~SdY%YGe1q!?p?HfQT-;_nO4AyEJ#?5Ky6;Sa%)zF_V})M@|#002ovPDHLkV1g^s BGMxYb diff --git a/assets/ui_images/round.png b/assets/ui_images/round.png deleted file mode 100644 index 8479d03fc9a0e16705dce23f3fe9a6e2bfb34d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1141 zcmV-*1d98KP)WPd!# zCcfceVP>A0&u8a(X1?>xRI1ggK64bW;aQC1>HK#*&tJ-~zw_Te@dNJmQ$(c?#ws|8 zv-x$b%X;Q9lV5Y_Nmwt&DtH6$;+bAVB=`$o;yYa$?AF*cF6h2@w#z)O;CiPwc53W6 zKEO+zw1Fq`3)b?hlZJo6=eWJ?MmsR}IzGhc7Ujm&2aQp6LosVuQ6EH>x2SgopW*xM zh~18{3f{vzZOV+|c}yravK4Ds#P5QMBEG^Gw&?M#j2*y7c(ovZ7%vDze5GAQ9Z(g9 z{@<`(Q07N`ibqA2v@=%0$2e1ve-tlbXd7a?VFPy*&u=&IiGrTX+Eo0$w5d#(w@xU} zl)UZ}d0Q!+X9SH&ij2L5bBXj3yo|#gN$icod7C4NymNxq7E;Eha50fSf>(r5Z>Jf{ z+fJFgC}?gXHde_C4kyY@6;!-ajN}?(&BKD`rok&N^rkQg$DFh~Jry%1Xo)#4Xn#zj zu~8vRig`|$p9X~qK~u~H4Z%aBvA5Ni7Bz;I9}jlJF|Du5xZnYGW5YO~sG!VwsuzX? zZ87KNhHJ)73sFWR2XLe`X}xnqTJve@#-gNmRrW}0BEBCLF4;`eP3NohQb zN^O2R6lFeXcjv6_G9qYgkQd%c7>B+a-#o}&| z(mGLOY%jcDHBwq9Qjg-0_Up7kBhwm0OlCM3CB~u3ULe+dFvG(rvFJO)AQNkTm|-DG z+`#6}=;;fag62jRGU1a~%xd|1`bJ9YVv(`6lEw6sl-9-6qX_?$ET*5Nv@T@0mB?5s zSxi4kX}y(U77wC~f9;L;Y*oPj^QJK0?dIIJnrnyy^mRdV(+HkgP|oHBQx*SYcY1C)Z#(tJUJ^7nQM6M22GglQ22aVGdbL7EvhXj!Uc00000NkvXX Hu0mjf>W(2< diff --git a/assets/ui_images/round_line.png b/assets/ui_images/round_line.png deleted file mode 100644 index f85bc94e022b21d7b52a47bd73a44cc6d91871bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2048 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 diff --git a/assets/ui_images/stick_bg.png b/assets/ui_images/stick_bg.png deleted file mode 100644 index 7e62395bc8ade31c69419cfb41b8d7077c33925e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5269 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
MF53 zTb)469WNt#wWu>!hYW`}>weW5pa(SdxO%a8ygLr1?~$v6pZ@uY1%B*Pq47=T4_McH zo}8Sl*gWdAsM>kL4+SLrCyWP3Dzf#E+s?H4uQFUgrg&~tzJpODADkX-df-rQ4%Za= z^-4ZIjB%>89zZJ1lb;p(5ETfN;BPY8V7&N z2@qOM30v~Ae2Xs0A+Uiq}#IC@5nq~kRXvi_t8DI8`D;7nG zXZ}PQ87X=#bcTGDJOO=mrLRx3a&fa9jQM10GnpDh3tR=Nih3MFxbhQbZIt*Pt)qc$ zL*WwFMk_mW^Enyja_bt!jfF09kDg~J&+zwyElMR0hf7~;cV(qBEhqlQzT>4AEV45D zZ8%8Z%+o4CZ+8Uw6m14_EXU#KQ?@7J`YSSWV+ZdUZb*w@`tRtZU^wBiYJiwehQsu?S zLvTMP10}AHa<>Jn{d*Nk>Jr_&7m3q? z$MKhazzhG4!hoEMqiyVAY+t*|A>Sd+fC*9FrC-LmUxwY>+(i@m+(l(lew-MnE`yYN z=X^7=&GzEZ&`@7Y(}6F~i|J`|oPAx@yx09e9^EZ9uMM_jhBdiYb;;xA`?d9ZltKdh+Ywf0gx zUI=CU4?^q`qbs8TouGjLr^jRRP}7p zwa(DXv>z2f3_TZ9c|U#D8}14?)h|Z!IDJ6=8RTFdlRM;-c_~Wuv4q_Ow-5n+Z6mE( I%?D5Z4}|AJ%m4rY diff --git a/assets/ui_images/stick_bg_line.png b/assets/ui_images/stick_bg_line.png deleted file mode 100644 index db8848b993115920452f0bd688ebe579a20b61ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5173 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 SC4nnGNLxc+y&82d@_ztD%k1y~