From b2e1acb617ff835c53b7d655c2efd38b04341679 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Wed, 19 Mar 2025 21:55:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E5=9B=BE=E5=9D=97=E7=9A=84=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- data/src/floor.ts | 8 ++++---- data/src/ginka.ts | 7 +++++++ tiles/0.png | Bin 0 -> 1410 bytes tiles/1.png | Bin 0 -> 576 bytes tiles/10.png | Bin 0 -> 699 bytes tiles/11_1.png | Bin 0 -> 323 bytes tiles/11_2.png | Bin 0 -> 311 bytes tiles/11_3.png | Bin 0 -> 312 bytes tiles/11_4.png | Bin 0 -> 308 bytes tiles/12.png | Bin 0 -> 412 bytes tiles/2.png | Bin 0 -> 368 bytes tiles/3.png | Bin 0 -> 406 bytes tiles/4.png | Bin 0 -> 396 bytes tiles/5.png | Bin 0 -> 441 bytes tiles/6.png | Bin 0 -> 426 bytes tiles/7.png | Bin 0 -> 353 bytes tiles/8.png | Bin 0 -> 382 bytes tiles/9.png | Bin 0 -> 387 bytes 19 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 tiles/0.png create mode 100644 tiles/1.png create mode 100644 tiles/10.png create mode 100644 tiles/11_1.png create mode 100644 tiles/11_2.png create mode 100644 tiles/11_3.png create mode 100644 tiles/11_4.png create mode 100644 tiles/12.png create mode 100644 tiles/2.png create mode 100644 tiles/3.png create mode 100644 tiles/4.png create mode 100644 tiles/5.png create mode 100644 tiles/6.png create mode 100644 tiles/7.png create mode 100644 tiles/8.png create mode 100644 tiles/9.png diff --git a/README.md b/README.md index 06c7d43..091f14a 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ GINKA Model 内部集成了 Minamo Model 用于判别两个地图的相似性, 5. 将所有的墙壁换成黄墙(数字 1) 6. 将所有的血瓶换成红血瓶(数字 31),所有红宝石换成最基础的红宝石(数字 27),蓝宝石换成最基础的蓝宝石(数字 28),道具全部换为幸运金币(数字 53),剑盾可以当成红蓝宝石看待,删除除此之外的资源 7. 所有钥匙换成黄钥匙(数字 21),所有门换成黄门(数字 81) -8. 所有箭头换成样板原版箭头(数字 161 至 164),所有上下楼梯换成样板原版楼梯(数字 87 和 88) +8. 所有箭头换成样板原版箭头(数字 91 至 94),所有上下楼梯换成样板原版楼梯(数字 87 和 88) 9. 怪物分为三个强度,弱怪,中怪,强怪,弱怪换为绿头怪(数字 201),中怪换成红头怪(数字 202),强怪换成青头怪(数字 203) 10. 在 `project` 文件夹下创建 `ginka-config.json` 文件,双击进入编辑,粘贴如下模板: diff --git a/data/src/floor.ts b/data/src/floor.ts index b870f75..8fcec9b 100644 --- a/data/src/floor.ts +++ b/data/src/floor.ts @@ -11,10 +11,10 @@ const numMap: Record = { 203: 9, // 强怪 87: 10, // 楼梯 88: 10, // 楼梯 - 161: 11, // 箭头 - 162: 11, // 箭头 - 163: 11, // 箭头 - 164: 11, // 箭头 + 91: 11, // 箭头 + 92: 11, // 箭头 + 93: 11, // 箭头 + 94: 11, // 箭头 53: 12 // 道具 }; diff --git a/data/src/ginka.ts b/data/src/ginka.ts index d2472a8..83897bc 100644 --- a/data/src/ginka.ts +++ b/data/src/ginka.ts @@ -1,5 +1,6 @@ import { writeFile } from 'fs-extra'; import { FloorData, getAllFloors, parseTowerInfo } from './utils'; +import { Presets, SingleBar } from 'cli-progress'; interface GinkaConfig { clip: { @@ -25,6 +26,10 @@ const [output, ...list] = process.argv.slice(2); function parseAllData(data: Map) { const resolved: Record = {}; + const progress = new SingleBar({}, Presets.shades_classic); + progress.start(data.size, 0); + let i = 0; + data.forEach((floor, key) => { const config = floor.config as GinkaConfig; const text = config.data[floor.id] ?? []; @@ -33,6 +38,8 @@ function parseAllData(data: Map) { size: [floor.map[0].length, floor.map.length], text: text }; + i++; + progress.update(i); }); const dataset: GinkaDataset = { diff --git a/tiles/0.png b/tiles/0.png new file mode 100644 index 0000000000000000000000000000000000000000..9649930b3c311f91fd88e6d8175b41feb3eac820 GIT binary patch literal 1410 zcmV-|1%3L7P)Px)JV``BR9HuqSKChGNDw`3JDHuQ5rQO+12xK zc8P?)Bth48aQr!kx~uVZ{uNo8;oHw|IP4C9LpVd(=jZ2W>IS>*F09vWjX^qqTl}@~ ztJM-kF~e@RLq5t;Jys}ZCF-Vz^A7i`d%y#O!5|n>?Y0<=M%eB57^Xvpde!quX+`S+`<@CJB3#`^FWG+LC7PF$ja=Sv;waDBccoFuK40U^?dJK|52tkSz z$M%TCB}lUr<+KdS#-lN^EQ5y+&=XazPbN9s<>jSkoOpmp*gK&jgr}#c*j8Kk&iAob z4)7kF?q1N~bDrnHJKi^&O~1}FeeO7i*=z=PadF|Pl*(SLnxLwx@GRwAuj~2+ULY8$ z^Ng?eJ}7G2w%?~SQWnc+sQ69@9}%FXRK`26^?DudGJ*+51wu;eJfEg%I7@}A)ha0E zJ`oV2@p;POpXUPt!{IQz#5*r~OCxAGm9Wf~%VjT|#u6#+>yki=9F4F}NWMb$@bCb4 zb#>)+NJ1ryF`|dDa3W%b#YQv36*ivZGpmQrC}-rPyS=^jj0uIxGkQz}ilPVx5K2A^ z-WUN2V~7}6zC-0q+>a2j=iOql@PwC2iNxV>2zMGqg-S}rO&;-_O+dw)?8#(gB2$qP zFg{OtJnQc6?z}9bLJE=+dZ0_j5l%8Dl~B0Kk4OnIA|aV7J(Z}=^EnuBb93VfpGAO5 zR25w3OH@i&t#TPfBzVroR|rrMDV)a9Fs_RQLoZ<&+SpQwl&i$#5tY+3kqytq3CVpT zryQV?`FtL7Nph4UG^XbP#z>yWLMenO#qh`V&F~2+kr<6pHQ9afMBss#v6L``RW(b} zV9aR*Ew`kk#HCQ~%NZ$Q2$;;;*E;nE18joC9B-fLv2wt!$GyaIz8tVls$v4k*V`_UuT$1lK zralKm6e1;?C_+X(KklBk6;loo5gmuw(J-f-BVJX3Xw~-f_p(_DXpvE9R87i!TODx~ zh&6j2AbggLGzX{^$HRyvD}^SESih2(XvrDL6K(ro+h?9xpL#F%P?5Am2gQpmj=;)Ix{;r5;!#DE)719V^3_(24GkcZY zniFkfqGx<2%<*@{dn9DZ$^G;9!f&?~M#U5fKd0Lo6+be)gG*A3CpoHW9Slg3U|Qy3 zy=_`ln+kQ?gzv=8b(oiBIMezDn>A+!j|MIH@y1X5G~>6SN0uh2n=a`47yG(;Xs8*e Q=>Px#07*qoM6N<$g0R=B&Hw-a literal 0 HcmV?d00001 diff --git a/tiles/1.png b/tiles/1.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e7142b0bce6b6b1db68d5aa7d7bdea44e82c0d GIT binary patch literal 576 zcmV-G0>AxPx$`bk7VR9Hu?SHY3OKnzP-NiC^`7OsVBfm)7QXoVYRMj1uO_AWy{K=5W|*^)Qw z&%V7Db8XwUJfF`c`@|CbAHU-}U$I^<#Kh<0@mSXTZGUAOWx!(LzV8P>UF+7wJ%C}5 zac>OQ#eV<}PzQhv^{4k8cmN9kxQ-G4fKuaX+5tjcyEy*;ECJud zgR(Mo<*6E2!Ic1JGI8BL(x7Jvv^H4@xXCIBj(|T^kOgN{BQt=EX8QCxd|-BQ2B7K< z-2+V89;g7RoRIy@=FHqzeSkr9fB@Y3K<4M8^I@i>Z4a;~RKqD$q%&f~%%%WTnK97L z$SzL!_j@ZjAwVzgq@$Mz9o}yDq6Y{i~^G10|%nTY#*_+Y2gDXHpl>;b$z4|LMX7;rtH45+!S{Lkx$LoFR+2*n@oJ_T)mpRvXPur&kd>nJ$3Fks9vZj1CncW% O0000Px%bxA})R9HvFmphNzKoEduOWdq)g2E`|fy92+_Z9`)-pJ%?Au?f8MA@3X?f&dUr)9xfm z^86o$Ven?NxdZ_2`R4x_Bh_m4D`V_l6h+xf7LUgxaL)fyO26y6zV-#6Y1#)$=}%df zKdY)rD5b6#_WL~yheOzGHVeksmsYE_@&!<@*HZxSST2_n@p#--aQmY5dJXM%dvQ1% zf&)}4l|&>G@dRKP26Q@|#df>(1#l9NQksfJqYuSmQSl03nkIC+U0)d>wOZ|yWm)%> zQiTw5CyJuy5~2sY-OjrMe#LXv2cLd07=US--T{J$XG389+wFER06*dd1qdvj4dAB) zp@?S#91aJtEX#cfP&`7&?_@Ih5htG4mU9Y-^&gE!kk98~JRZAi!!X2i*1yx~06xTO zwQ|=5Hb4;ZoB-H@xm?aw2C(+BX__fnmVcE>CC?M@d_H3d`u)DE41_8kf}nhO1VOm& zK$zlTP;5P1!T26fC=_5eo56CqeA|IA#dEIUUatp=qCh5-!ESiF3&IrdTtIBWOBo1V zJSPAOcqs$V?|AWeTmb+%5{Yji{>EalQwvU~)0Yl}EuM4sI|ZE2=a5dP zUpjCL@m>=!o6WwSfm;IL0Ky4~0$$9(@pybpBoYZ#RZr6@tYc3=Q4~)OOePb)-EN-* zLHPFkU4RYPx#{YgYYR9Hvtm(dM_FbqV)2wfp7bOmOiGm#a#0xNWdtkTMrtXh^GY)1uEjlVJPBZ}|Q3xL_$$qe1DlIK{dw^~x^#g~nymz{17l7t~XEt;Jz)6M! z!-4;H0OPpln;?7*`7A()LxPCrJw1Ko`_SzG9Z*sdwg!(hBisO%pV_ZPu|?dw<^?9Y V#vy0=04@Lk002ovPDHLkV1f+zdj0?a literal 0 HcmV?d00001 diff --git a/tiles/11_2.png b/tiles/11_2.png new file mode 100644 index 0000000000000000000000000000000000000000..817f7e064ac122006a9209488c899cc0a80386e7 GIT binary patch literal 311 zcmV-70m%M|P)Px#@kvBMR9Hvtmcb2#Fbo7kE7X!&ay1>bq?WY8X-`_oiY(z6a6aL~2WN+g9oW+3 zYnz;(7Qixa+dwJb6ODWvAJKw6|sgcsd*qoSaL5H^R*TZ-oy5;Go&}{XcGZ?ocl4hqge2U;`4&(vWyo z)|sb(N3LdoZ)O4D1n_PKKtT`TF(7MTV+cTlfDsswYON;t1-%@@enFbh-ex46&kh4f z6WmMc3>*{~F9HAn002ov JPDHLkV1n=?c=P}O literal 0 HcmV?d00001 diff --git a/tiles/11_3.png b/tiles/11_3.png new file mode 100644 index 0000000000000000000000000000000000000000..37f1ec634352b564dd40f6eb9bf4542f5eed1215 GIT binary patch literal 312 zcmV-80muG{P)Px#@<~KNR9HvtmeCEvAPhvwD$K$znW@aeEMBG6eYirF9c-ddse+$G$l)Fb;W*Nd z+Y!-!<^1;4pG59)-GvYaK+gHg(7$tMYb`wrP)bQeq(T6w*7`gE)B&Nnu?(Px=s}hO zXnSBO09=p|O98e6+kyXfzzQB5#oR0hw7|0R!3-lAJldcDkPv-NcmnD&4FMr%%o!lF zz>4Y7!8D9x2_c2FW#F2TIO>J~d=G#V5c4|V5qASbA-v)t01HAcNklvhFoKARPXS1X z$cEGY6xSxyKIFe+<{sFOHx0l};2F6E%gNjVunwO{{|49&YzIDMcE%yp295Fn0000< KMNUMnLSTZw2!4kE literal 0 HcmV?d00001 diff --git a/tiles/11_4.png b/tiles/11_4.png new file mode 100644 index 0000000000000000000000000000000000000000..753cbaa11ba147dfbc8150e1ba9a3cc9cad5e24b GIT binary patch literal 308 zcmV-40n7f0P)Px#?ny*JR9Hvtmfa16AP|JH6>6cDv!u0LuZf1K*GPA;7y2;xSM!E(U;e&V&$#Acg^~wZ?ldhEM^3l~M>b04c-?K!M`! zipT(_Aa7hJ5bJmhPVK{4bcR66QTf!F`iR^9+}9W={>i9+Ncsh zKKH#jAVA7V4fiCTwqh(p673a7@tspW;uippI04ko0jgKL0FW#zI=s2EwC6lb0R*l$!1+W~@a^L{GZ^$7F=*80j0000Px$R!KxbR9Hvtm+K9KFbsrY6=umS?M&?~nT1ta8R?{}>(~w;qDtitLQZm@ABn>} z4Swdq`qS?LJZ|OXMeY8qT~4J3L%5XUX06t`*|Q)afEHfY)dg6VWwU2NTmTV=#}I}< zi$aeR5HA`{0Ep`avj9BLgD?SD9D?%Z@M{ol!?(O;Yzra<0P!9Gp3?=Oz2}8^2Z%?A zf`D1J48&Iitnjk{s=HN$0MUT0D0~29yqASpL_qjk14L2S1>hY7rvr$Xq@a~&*jqKg z^Q|<55rDUVz<0C_*^aq~0N_a$fYWpuK(qrOsvFiR0KBcDON_3UG=MB@ZAEl9K9(&A zK7P50dB<^h5OFaf3ay4@?H12_aU$Id;IWsAp3q~x6o3rYk+4$0#doM1>RMocOYQ^k zZs?7OA-LgOdMD&O54#oXVjK2f5S@N|?csmH-i5RC{s3=)RM;>;(=lcM0000Px$DoI2^R9HvdmfaBoAq<4MR<0LYu?9=H8Z5yUtVLSU$wQnFlJFOXQy!he{Wg#d zTUfld#rom@0bY;eO{*MZ442#eYkYbIP6M#-djR*-E5IE?`9U1k5&%mapxo~Otw2e9 zDnO068vsA|TJb3WE#gIh=W$I!1OtTzN$Z*O=oc>`3Zomo3EBx4e$(n4_h$egPK7xH z73UCApO=PR0zkzz_ZTQ1;@KTQ083nQgjL}&TXLTO)VkLIdc;M5R`*)Q*SI$Utji{K zg=+=qnQHCE9~tfdS_Pyd>S@0$2YCPg48TYWsyTq=u_Bj#(|i6!0DjxGSat&dL4FtD zH)|e@h^yncG!5xIprg4qeCT)Pn^1cXz#ohXtK+!G#mFA_S8*%Ma)1v_OByiC=&{`Z O0000Px$P)S5VR9HvtmfaD9AP|JH6>6atQ;Q{FE3p<@N#>Z@WOJC|M;Ko8B~D1#&%I;M z#Z11I$@=C7Xm-G_?#1PM>_^jHO@9(`XRJ9)hzz)Ifv5(6xV6^o;fUh61gI9G3V_8$ z6aWGvR|p}xQUg&8pv565p8#lqC<6E=&ON{o;*4A+PGkWfjyj7FtVaC>MDBSFzt2Gw z0j$X6YHpz~n}0DG>V6dgY-h$^p< zY{c_Gk6u~lcLKQ4Z5ZK6^h8A0%lg@@$jt!kn@vKlJwx!Z!xSt{Ki;znK$oNC*y#YN z24ILOFQwcQ{4}LC@8Up`!xz42D!~Q4b%707*qoM6N<$f?Gzd AX#fBK literal 0 HcmV?d00001 diff --git a/tiles/4.png b/tiles/4.png new file mode 100644 index 0000000000000000000000000000000000000000..792ed88c56a26fe861b8cc51f302981cd5e0e0de GIT binary patch literal 396 zcmV;70dxL|P)Px$MoC0LR9Hvtmfa15FbsrY6=q3CU=|pGoyrQVz$&dwb@XIX#STPyD0!k3av$fv zv`yvJR@QHBfNTe*>G|UDjpHM0udJ6uyz9DVUDu5P*EtYw0Emm|JkOgrmH>GnTmURC zq5uGd0C*wH09srCI0Wp12f_sKOPm2X6yl65OE{7M5XToH;Y6IRmuvnH&!-?v03n3k zZdeaN{05K)y9_`J_5C;dm*tZWERN?d1wiHxL)c4C#5J6!EX^UnrjlR)fOr)E7XLp0 zsS3S{CLx!cZok|Si&cScGP(zF)_aGOsS0>gZbTf0qKybGHWrE)5N3pB9wZ%*O?V#Y z(Tf9#cEchr&zJxhA_fqf6{!{sU^9S*;IiZ6nddCvasb2}j-0a7{ln#ehNyBVWeENn qYs@ck;LwLp+{g;S3BALsH^3X6{arA>nyOL&0000Px$b4f%&R9Hvtm(dl2APhz02wlMy=m^fDBRGR2lvz4LS-}-L0zDCj zahwQ%+dCInE(h&7JFKi!GS-( z-+>=HfLCyMhNf%izsmBPz`g|}?8|LINM1x1K>XBW1sF@D|3GmbrX+wbuDm)NK0N@< zalfZS!UDj}IO0<}DmCWFL4eTdw@$un5D=K-Lev2&IybGMd_16UnlGLA)B~*hlPmyO zc5m8=mSs77_IPx$WJyFpR9HvtSIe!!Knx_Uq?0FwRya_=(<=c{00&wj5}l+Ko*Xe~7}?n$kPBRZ zU3)z1^>4e){c}0&Zup)1z5P3PCflO>1km?=mhEYpT)9$xJ3t5aP)>osxRR*Vp9!dP z>V!(7MgKtnAmccO*I+V`GZG*Yt$RSjFwD!)eb+7K8$$;u$IEG{Y3(v7fh*y zz!F9l0S-oETSFki_!21c0K2gy1`x!Yvbe?~0$dX~-x-)Q11SaqoVHa2G#wcb#91^cPKUC)y8sdE}j>>S%CF)KWCO$|7m6{^?ew{fHt1!gt_|j;}pUzPwW=meA@bssI20 literal 0 HcmV?d00001 diff --git a/tiles/7.png b/tiles/7.png new file mode 100644 index 0000000000000000000000000000000000000000..1329097ec6ef38d770056727124cb1929db8e720 GIT binary patch literal 353 zcmV-n0iOPeP)Px$8%ab#R9HvtmeCD^FbqVKQJ^C*10%2tBd`l2FhfQtj6!vhOs!C2C$x$xg&zdA zx#u$pSX210h4oDZs18&I{?CEg&HL5fF?2(6L+S!9+_vqBVO`hbUJ8f`fW$uuha?1| zg%AN!#0e$^A_~C8_vd@`_Hix?<5~z20Jh`dUDq9MJLe3CxQYWp8pS05b>HmGA>Q}B zhgg=y5Cn~pM{e@;%a134nGnhH=IDDJ=u>7Ljj0_o5=00000NkvXXu0mjfo%)eN literal 0 HcmV?d00001 diff --git a/tiles/8.png b/tiles/8.png new file mode 100644 index 0000000000000000000000000000000000000000..2e564fdbad4432bacf7076cf32e36b25bacc4bd3 GIT binary patch literal 382 zcmV-^0fGLBP)Px$I7vi7R9Hvtmfa15Fbssl2wi~{vI49^XDX|}3ar2i9ii1x9Wp5~PC()%yimzW z@5}ioRPN@dx>?^9fZ{-LAj^SQ*L-5_`|QW0|4dp;;l|a`@iDr2iCIC+01%hLb-jg{ z=btbifLI_*08%^@mZE?_oG=!MLjbEdK~f=9fYA1L*R2QkwxQ`2nX7AMRA5cl4% z0@E}(2?6oFI3ToCL;>XKDc-j23NQ?VBLv0w;*Y*x_QW6#0Z>#@0KyQ80fh0(0ce5M z0i;PwgUJDi#&S#`tp-k|0GrwSVU>q%5bJ_00Bm9*YQtx*|2d5K&gudQAYIVDA>|OV zPQ=S5VU9Qsa|jSRK?g#c<%v@+BohE3@Yb$kDU9Ej-G(yn+Q$gjS%kUP?0{B$XJQ4Q cIB>fIU*dfYFdiP%WdHyG07*qoM6N<$f;4EKTL1t6 literal 0 HcmV?d00001 diff --git a/tiles/9.png b/tiles/9.png new file mode 100644 index 0000000000000000000000000000000000000000..fe66b914de4c4ad4d73f5655fac06de92583c52b GIT binary patch literal 387 zcmV-}0et?6P)Px$JxN4CR9Hvtmi-NaFc8Jd2(Hi-SV2c%1sOp`U|yzPcaBcMae_6qx7hW10?CuvVL*Q*k7PssT7aD%g^pF8VBhIPu;` zn-Ibq1OmVz1Lo{j0SJTu0D=R+p?;=qmfGE<0IMK@ey)BN0dPtL;gb%7cVQge z{dkVseedG>wm-d~khWC%SdD4`G2UIq=mP+H%>g)dsWcP;AorS)jdbY(u2w)Ca4Pf~ zGN<18iUM4SoaL{0%6e6<2%$O9*J8a-~gbu9%bG0cOg zR7^;VhRAh*89