From 8906a39f1ff6ad922d4eb2b44b8f045beb9641eb Mon Sep 17 00:00:00 2001 From: Maffia Date: Fri, 5 Apr 2019 21:56:31 +0200 Subject: [PATCH 1/2] Small adjustment for new archives. --- src/main/java/org/displee/cache/index/Index317.java | 2 +- src/main/java/org/displee/cache/index/ReferenceTable.java | 2 +- src/main/java/org/displee/cache/index/archive/Archive.java | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/displee/cache/index/Index317.java b/src/main/java/org/displee/cache/index/Index317.java index 3b13bf9..e6c906a 100644 --- a/src/main/java/org/displee/cache/index/Index317.java +++ b/src/main/java/org/displee/cache/index/Index317.java @@ -153,7 +153,7 @@ public Archive getArchive(int id, int[] xtea, boolean direct) { } for (final Archive archive : archives) { if (archive.getId() == id) { - if (direct || archive.isRead()) { + if (direct || archive.isRead() || archive.isNew()) { return archive; } final ArchiveSector archiveSector = origin.getIndex(this.id).readArchiveSector(id); diff --git a/src/main/java/org/displee/cache/index/ReferenceTable.java b/src/main/java/org/displee/cache/index/ReferenceTable.java index f78da05..eaaa488 100644 --- a/src/main/java/org/displee/cache/index/ReferenceTable.java +++ b/src/main/java/org/displee/cache/index/ReferenceTable.java @@ -655,7 +655,7 @@ public Archive getArchive(int id, int[] xtea, boolean direct) { } for (final Archive archive : archives) { if (archive.getId() == id) { - if (direct || archive.isRead()) { + if (direct || archive.isRead() || archive.isNew()) { return archive; } final ArchiveSector archiveSector = origin.getIndex(this.id).readArchiveSector(id); diff --git a/src/main/java/org/displee/cache/index/archive/Archive.java b/src/main/java/org/displee/cache/index/archive/Archive.java index efe25a0..5485430 100644 --- a/src/main/java/org/displee/cache/index/archive/Archive.java +++ b/src/main/java/org/displee/cache/index/archive/Archive.java @@ -348,6 +348,7 @@ public void restore() { file.setData(null); } read = false; + isNew = false; } /** From f255d8f59607bf4fb65bc0d5171494846c7b806f Mon Sep 17 00:00:00 2001 From: Maffia Date: Sat, 13 Apr 2019 17:39:50 +0200 Subject: [PATCH 2/2] Small bug fix for RS3 caches. --- RS2-Cache-Library.jar | Bin 155268 -> 155093 bytes .../java/org/displee/cache/index/Index.java | 4 +-- src/test/java/Test.java | 24 ++---------------- 3 files changed, 4 insertions(+), 24 deletions(-) diff --git a/RS2-Cache-Library.jar b/RS2-Cache-Library.jar index 7bbde085acdd30d5ad6a463b29649ba803516651..712948f15c0901961d7231a2a87c06a79a8a452a 100644 GIT binary patch delta 25163 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≀L@RjC3&a!M$tky{8H`B zJm{n;mbWD?e}`eS4Lx&5L7&OCd^jHl=Pjx~%;q!M*jDX@s>Ge)k4}XK-)hlSU)rZ* zr41V^ynB50jcXBKM=ohyu=1C!h#8cXRJ(HsX7xN_#k^$-l|~rrrkKPM>U%2hqlNG0LS$7X>{WmtYHE0 ztt*hliKDwBZv`R4sANr^WDRMD90;4E-gsxk480bctzndgiotPi^IL`YGmRJd_xz%h zPdU?uYTG+kf9D;krD;ncoh%ON3C~i-+1zvD$ibw$CjepU(F#BHDG^|k4IS?N0m3aV z6;iqXK7k!`C`vS}gHnh=D55%E@{l*g6C+}qEmIvnp&3506h6WkUd>e@R+TM}w|nv) z?}YK^-b`Xk@8$Ca3SfD&D;I*%xOI)r-YbBF5|(?`w)Wn zg}mkTXYIcv-m5a#QO9^`=Ttfxh}8z(a7f>692g4r$j)e@a@_1Qd^Y3H|Y zk8Wh?OOE2jb;iG6kdo>_4!cJ>!BDT%o9fPq-Knkb20KyF-LoO1o=EGe?4TDpD@tgW zs~^MZ-K6KMRqW+(BXn-7^4V*Si7~Fc0>5;>zT%u&zEr!C-XDv2Wi&!=2c2v_9X_58 z@UKfausW}wB{t+1QIHzS&l6NsWAA(AJ)SyhQEZ72=$9j{`7-{q345e>WG$Cv6KA%R zIAtpgQTE-GUJeP}R2B#<2SM}*KhNRP34cxs{5&3m=+pf<*$y$m2XWNy_(fR68CHZH z$|`z}L`90f>>6eWuB~5CPE|d>g->P^UdLT@-WqlS^YMyg+(sJ*rE>cw#a#A=0Cr+u ziGyzNCH0LCLQn+ur}75mIJ|34dDdWwW2$1S4vmQ~-f^Eq=J;1I-kL_R}-ni1-S z6zU{)Z3#P=-vnzG+YJ~mqz^$)I@v@`rdCb{Ttl6D=gX>Rns0-<}~Q zIu~_Rxa~2ki>{U(k&YGeDDJ)De~n2?v5r4n47@HO?3e9#DuIY^b4>oe)GDwU4jqP1?9|TC8v*$=2ec zu;i#}fW2+Nq4)z))rCq9AxOSR1c^ie>i-l#C~`LxTIaYH&Yyj;!kZi39Xj*w7XwlqcLT4UiGi zgiI9o62;|3SD}dJpW7Q35P86c8LcH_s_cO?x~udn(Sn;0?+tk?!5q5MdWnHU^TB`& zsF$@?P*YC{hKalZv)gT6XQ481KaS1CQxQYh2{ug_9*?$f{J{dZJ(U6)c8Gn)Z+Yd1 zzFD8gAn3t+&w@ZM%}5o$H-OIQjs3A}2j1z1rc)&w=dM{fc`2qm4rm`4!wd2{@2nc~ ztb;@Q#$lou_gbcKhp zG`ja?-Lg>COJc*nk$#yl4go}fU^>E5Q`|d11h}*Sak|${G-%;Gk-*)O6_OjV8RGEQ zVm=rsQGnL#6uCT zjeSB#n@h{Ezh$6W>Xg^;-Lx#MQJTC`s)ng8N>ZvQ9Fhfe3>7JPbc=m+<&jMoDxag0 ziZWj)07Y@J`mOT0(1Izv`=D0Nw$%WSFg*f$(sQUwjH&L6P{(&&&0Fm{6 zX7q+j!&|0c81xey(f6gXqc7onYke;0E5E`=7du5|4*ph&x0x%yyA!R#M^VZFZM;6p zW&QcCV#&9^G;}D>wN~j@`sbzF9Z&C_NAJjtpqbRNEP6Z>sw%4N6+v@W4NJDFsB5&o zK!LwG735B&idUUdpma00=PFOT?9`O9YM1ZL%geltT1(q;5~fPkspXvPOEl^y=GI-D zZUG90bm}{4)3yRxvahCP0o+fz(9GyN1Nz>%HGEl%L#Q z9G+i>UB;%@UQmuH1QyRpcIJr2#Q&oI4;)VXVnDwA=hYO@{Xbq!Quw?A2nq&2Q3OGs zJwW11f~32o88jUR-7JIn4@{{+g{+La)n%OOPR&Z(%|2LbNn|a!WZcD$rsZx;{d2W? zz2@dr>uSx^o2>Wkt_%elu^uwVn}3|p=bHB<$0wCrz~iM}5Mp?qf{cZ_RjC7=u)RB7 zl$6YCtW-T9425h{gDy!BRCIPWNXUR$rc-Lf_w<|(-!8Z){e}sAlUtYx6Jx;M{0zKE z`|<3d=ob$zFamH*~d8avlu@-6{NLPPIzqlUOL9)?v*m(mwcB8|> zs58uLmZv$s4uvLAd;H&gfcDF&T!-9oP3kcrd@M2V*V*QV2fpl@l{0A=X3VcDf}+Ma zv9w?7>H4wIYa`S17zqssaD%B~Zq9KMJZ4*h%0RcPF&P^}ajJyxC=TXD)PxEx zBN@kaSx2CxNhce&bv11=#Zdi$J6Uzlxc4F%Kw_2{zRuFq-qR8?;&ev+7p&{GFAXi&9W+f=9%GSoBetkVDMs`@2w;b${__ZqW zSjMK!2<^LCb-#pjYIH`ZJupdSE5?Q~{QERHiVy?QWJ5X{GOeYuvOaod0~*(4zpY;7 z0Y-hm-m3+8C1(=T`V56DNM{*4|NeBtwIg9BA`EMfs$aGEx`BSVB~`Jd!e)(TbbPa;^}1iR*rLP((|#7gt=BIW|W!pRF$QV%u;fd&{~rOu3coojv*suIq;a zU*jCAAk!t>mOX~iBFVthR{o_m*AvJ6X$J^rl25htOj%oB!u3y%$^&ZZ*6Zw;rtWrv zu_DzvdpZAmHm2||4EF-D^u#dtR@bZMf5Ghbujx7%XtD^iXEa`TTWZ&36>s(=hWeU2 z-KgH`K3Rq^?->K0o))&6t6X=9z6{5-duX+Lr^)f;tD98<$=q4bFI|i_NhAoX`OTpE zX{>tB`A3dt3iSu#h9;lmRvH2{B<_3}fz4zMhEviIzO`BAVjMm77+({nY3x|H+ICTe z;1rTW9?~P318hXsw{JfEwlnKPsNn~(RIy}!1znmbBn;fLIUcLUeg4^pk!O<-TmTlFd(QZ#8su%3B@W0}^p*G!+{OFbxH!m(Yn zbzd9KKYW6>cH&FU4ymG)R;cpWs%NhO=ZsZcQ|N%N$z0%R``qfeRY*#s64xp1zsx!+ z+?G@;k!u*S6D(OMqf<&iWpTR{*rq+7-z()BGx@?%(Dc_ga7qB#9$dnYT2Z3nwP52j z*H+Qrv)#Ub;kKkRQP%^-;XXhbsW)lImX8poD$j@o=Q8Y=N{ds6hs*@gG+1zU#qg-! zGF*SMhy>_oxqvMP^g*P!r+AMDv=$?me^A#&>6M&N*6BMvWFN`^ak7p28n^O5e@P#d zb;j9)f&^L^Z?SYze_Mihy6-^&ad#~N(sv!A%Ja2uW+k~LmMGr1ohYEL@U$YYwZ4^T z2;S7NTA2qtXx3Q=ls9HU+QHW1HOpP$mq3*{9B2lIqt^0;8x(I+d0VCM#syaW?ifK$af57!MI;kw2 zit#HVXRZm}kV}G9hz1OfT*LaK%jM}R>RaROdjfzv5(gyVaL<^I5k-wP=2>T_#MAy2 zSMJeuL0|IGS{aWp^3*P9JHPkzu}1X$OmOX9TXlS=_;oSw_ZbK}`}4OxS7$;iIy5U!L+%(I@pRWc$y*kqdO=2<#58ybM2*-Fs#; zN*q$Ow|W_s)65ZHonO&LGPVN?y;}!hJNIK#C`yYHekmLcYN!&UOzBis%$w-z^AILh zQ5d@~hOB_8w!1)|nW=(fI^YK(&1?+ns4q0<)KP5M{0XVUDWZtaL+l1$6df~&&^T*U z5Pweh_ebk^%M&tOYh1|fk=fdz&)EEMxgIs{AUsYV;`LJ6<*3z2Ng}2_;U=B&-h;NB z&K+~omxFv|t5c!NyyIf*lcnGgANrwQn5B8DDQ~%0d0z$!YxbyG=jZbmqafrz|5uN!$hs-K3=8oqZ#Y+=u7QWsf|-zlHrM6WnVd))lxfAI=n2{u0L;W zb5_Qcs~BDESRb0~ujl-LRHiB4B6VONzBA#% zgESbYF-NUm+IyKa5vvhpfPO%Z;Wtb85tU73#H^cs`?Vx@rG*#%UnayyLenqjXj&b} znk-vFWu6MwpEjYiBuXRf0plzHIarShPb=8TLZw0FQuSMnF(0C8emHy_q_#+m7ba9> zADKc)>nG_hwit6G*Hvy;kHHO#`M{Av2`l?JF4;fj{2arTja3*NOSC~894!sZ_~;Dq z;~5PotGe`NSe3C#jPGqI<+5KTN!<>mwayb9SdLGs#vQzyk;2B(K$L+;sxJG3>Gs$u z?ua1vw#r2Z3nF3c2lY5sZ2N}cV652Jw+AQd>y!{AV@J9f&VOT~E%IuyW$PVE{({`4* z=8Mw2i8HpSG?>l<4{LGb1(qcYjX`r?_)kFj$HTJO=7!otGX@*DpMROb(*6(I=hKxO zLDkhUm!a(~LNfU73iowMe|`v{45Jtz4e;SR%BjLQ{uQt69XM}yRsC4f0>vyD+dLU` zmE}}oF6~%NxfBk};BVlA>wX7CNR-c43J-je0f)L~(-qT1al@woTtCIy0Q z1d%)jyW7%wuyVQsz$CYDfaq*&6|~?S_-mfCAdoJl50#sGT9UtPqIlVUjLA z)5MYNHe{9fI!PqV08ZQQZ3wOsDsHy(POVkjg*ujn`=Bf<=ZVYncdyI6gIrX$AlM-u z=YBN&0BI9Xt_;5fe^$5~slENJ(|%CF?rEl#1 z8OJ#Z+F}}cS=;UK=%NWMt6%!zXO)f!=m@`N~GO9(mbp2 z*Vx68&-E~HzEYL;67vM^G?rNoQ_3mSI&F%hfBoJ^)g(ZDnHM;b5C$E&T?=A!goi6W zLpOVaE@pMQ9_|}j4$UsJ((u_nj_|+uMo-keEI~%uA!EuGm$j^bl+wv|sEV>wCu0Xn z!0Vz%(T}rR!+vwiV>8I_nQ?($Hn&>wq_pk&y!iH&$U!7#N+hMwN)PE@dM4NM%0z)%7!mms>0C0w!h0h%L$~>-XVp*L|_^m5`R;pUZzQ8G_hT$OLWrktl-K&d`8`| zlPyM4n^p4@Q?PdJv}6rik7wMTsjcOgTWz-r|8%p`2?yD2r(y>^@ycE@5~NhxY3H{e zPTn(0#5-l~AG&v)vrYNxjcYmS$7@IUCoE3yhBVF2z48In*X!8BU_B6@X|_I!YJ&HC zJLi?06$&A~y_qn+81F!OFm6^Xj?PbnnXDj~=^<(>i=7rseT*UTa8vH}He4a}T*_%T zzi2>{I(k)sT2;wG8(CO0fZ${S_(JMOv{Q;dc-0oq@=MYcm8ArA)8SWf6YRw)hJlo_ z^IswZQPw>xRDJ3%f1u`;U0qx-0Z+ zNehy?G7X5w(*2g*Jm4YQAi+B@9dUaJInWZ=Z$sxNj&tr!JIMhJ7mj!Phx@O_{&Um~ z%abD4p1`w!EECbRx=gP8+_l+CVlRc$FH+!mE*8O3X4wPaPGkOts*Nbw?#Ajs{I!)x z3Szwm(XD!@0n-L*8<}vBz7Hfin4g#^ow47g5nI!G=}0H+?6`vG!PU{^6tc%~07^Q` zL*CJIbnm3ICks>^JP6YrCVO;L>JrcMwO;`?Dz`GHP@0v|`%jh#Zm3|s%CW1tyZ!c> z6z9cgh9C^<-D}WpLy0W2Ev4ub*kzPh**li+Oe1OWgs}~+0Dfaz(BfhfRl&W1L2Qj`F@}u;Qi?GAla+WtbLmzI0eIk9^rmF?6LWUQ@Z}l4wnLJ1rO>OI|GBpsx^~pvSmo^ z2)&wV7-m_H?oztk1)mn}^S|0*;n@6EX9d~OJ}vu?d@u_9hI>+nym5Lw#_mJ$L|c~5 zfb|21md%C^ug;#8wd74)w)@zgA`*GS(}KUizur{j9nDwNE5I_BE|XPOFI8*FxB!3a zQ%seAz^F4Dtr{1L6N<-~!22|+T_G|S$&wQVeDilY7BUXV&1NeQ;*R}5q zg3>D8AWC;5B@)uz-Q6G!7ZpJyl^9A9K|s1o1f&E>6X`|}X(XinxfkDe>HDws&0;Oi zJp0-E?0wGJXE>KTd$)%}^$s#R&yIJtcE!7{@ZG}n+igCpc|JaNZbtR_iE&}S?eV6J ztUhkJDHB%GO5*6ogjpQrhvrr5Kl&67YN_Q1-t~5W{NW?!PMh?qL3Dl5ezm{FqH122 zjQNG~F4o)mO3FAwM%_#1T@^F)4T82gS|Tsr_kng2G1|g1-_k}_1PF+c$byQTa9bzsz1YXzNV8pvpDOqBdKM=4wfKl|+j4WMbMt%7rI+qJ z_dTd@-if=Yo5sCfM{TD9lv;vYFYOKb$2Ehx(s)ZddPp`3E|cjO0xcOI3xCP6RfeP< zNPbezUGysAHVwZsPPkxo71?iSo^q1}=jNB@I!jV1@R&f~&^!_+ne;Z1zV$ zbQQkJ!_RlVr$Or(#gTbOKY-AP8qLIKXFa^tfqSGk~9>OxEzwbDq;BChr7u6mqt+^avTPMKBA-t69}Fyq z`gNI|@22@E<5DJNuZ;W}0aVl6Teggues1ia?y6NAfb&%x)8#2hst%gwy_4tGXD{<= zp0iT^eou-;`LP%a;#R_?>t=KG&t?55E?YKTjGlmVlXp+-HrfMr}^{ zbA0{XvDo`nN=6Zza<5q6>c+V%E~J*0RORWA6o&`BN=#8QRGu36 z{GpkvIw?+^dzL182+3i0%WZ;)<@1MGJMCZ2Uz|6;CW(_?yTezuz|Eu@80PqJI6z9{ zU0$QXQ5Szfl0Zlg7G6T=GS<%H6EUi3+@wlxAy3NQ>Q_9{q-?!wZJs#wM9E*6wUd`J z%vD;7vQ+?k(eiHYJ%Rd6Tn%ZFjCGGRgmjB{#?}cNlL)lhwuPiwY|XroJdn5`UD%wk zkoWe|Y^F@}N=nMAtpD?0^}e-JogL|zcy>cFq53)3yOS&8tA^t5pC<7aBP&9vTNQrc zs4@~gcFrk#Kj7}bNz;WHd`RXTo+04dk&YoIz)U-A;&0?V=NG)n z?M&NL5>R2j{W2QT-j=8Oo%>5tC^-@nv9720vzAkEJ!23=< zij|tJ+I&|i$t}EB)KIQ&uUE*T+pV}9Y5pKrqmSuB(Xc390n(g&V8VG~nmfdshE#54 z4Ef^MmGwf-*SMWIN|`H}HmZHv9ebGaJ%gBYnO``)@+?BMY6|;izRMH^#ccSHjTNw~ z$}mysh6PDX`&FcMue#sy8|Wt1bDJtHoyOmlC`sX!Z72=bd-uYSLZ4}Yyb!;`BjT3R zJIUgMc9}F}2Ef1avC`lpbq0IP#~5^1OZu$Evyq z>TPU{yqROn(0VPW7%IXtbzi8V{;dZsIYTpUlu2d2mqKc6vr!1?NT|?A{C4M6C5E&) z#v1;(%ZZX*Q%KI6`G%8Uc<8<=>`tsUd`htk82=%Dg~kBy=-#@jw$I)|zOrq=QbfGc z9#L;1a$GLeFjJW?Fo|cI_hdx0Z=NKuU$b3Ben~u=y{r|YPPUVuRxcU4or>QQHcXJJ zd)HZl?8aEfL$Aas{o?uIvWzunzXPnD6d;Vz1E0TL4FrJ2f^^iYD)&vI2QGplWnv`2nWe&V;Qlm47pePpt(!SA9+LChla^h5Gqd%8EEkc%PvVR4t=`e zb)b0%xh;60(RtskQBB0cd=@yoOgPPNOAdxu4Pzsj+nlN8v$vGbUz#?^r;)9R8+0a^ z(K)aR4X<08jqA`iTw77rO*}qtZm|24`OQq|9Y!GUpTWEX&DY$Dqoi8@otZo{_PFa38Lr&E%sY%ag*LlpS-;LC0C<=33_m$tmp= zNy$#Jjs=>7?=GY!5BK03)-)FK*4S$lNJLAHx+678C7{ke`slQqUHr~ZW53T-X(nYX z^h#5|+Xk+rY*WYu39g@i&>kSX*E`X~y}rl@w+1Jgq^9h&kYcX8i;b=E+iqWelu3Oo zd9{b7B{8{< z=BbXA^xvxU>94gPOm{o9HqLU3-Fxa?R$6)=Z?MaHK;qlD_tf6rN$9tu0nxyp$4IgP z41-wnfC|t&q0_v3mix6q+%4P9R1UQO1C{PkGTY614D!h0kf@sIjp^RhPa7oMN}HI% zCrXknY|+d%o4I7_GmfIaoGG8a-zc8@y0cU5BK0j@=u|Xs3ZOof*S`93*mkptL#@|R zyV6(w%Rt~JeiOYjcc3T1R8q~hStXbG#)lYp$FKB3W*;_O@u73$uB#G$>*M1gMK|6z z``&px-+hCx(9izL%a||=^-ZYY5?}yGK)_|78Y%8H6lY_l5a{zNn0xl9<%wOPzH@H> zYE+D5Zhqx%#mJbAdvT?puS>sHnb8DkZ+YZQ*82f`;m&BEU82wLtDQ>1xQA07*zV@J zhE=Nx${}l`Roe%X3rDgEc@xfiPb}~^#x_5;l&F%TaCLHPJP8bPUR5$;Viw?>66blA z|54Tus$eV$F0{)|A*T@v6c9aVeC%a{KGRrOtr3pJMO!Aw_=dY7`)LA8WfgBCb3Qb;Jn9^@HOHU~sV8&9 zZ`qi^Z(44*takG6jjY?G7!jFm=iaPKKiXN}h~tR65MG+{QZ#Zq!sbxoOEJHmjBkm@ zoC757#D7;O-|pTN)0)Tiob8~^OCd_8}u9V_y}>j>DPV+o*Di+-|4j z>SAy5wSPQvTgTAv;6_}kaVtGn(WQ}x%nuU!lLRV}J{}tKuXD{`+)W+#{8~cC=VI>U zH{rlU`VAp5QO}=3J2YqWIWfm1%zL@Xwda$^)pl1$<|<{I2V76|73wmVPLABtuO>dK zNSAO*qg1}`61nuFtNY$kJt9opf~?q{hM=NyB~SEc#8OA$sJr! z-tX7C&ofAFd!>8ydO9Pq-iockPy6Zaw>U&ap`^t>zdkD$`oI<0*7!tSlF(!isIjx>@%Z5+iyA|%{af_&rFu~^nVz@m zcjNhvgCFe1WhV-kW=@!1YnK4V&@2d0NRQTlQ=hTj|=_LA`Oig^rkNAN=*g)*KGHoXz~y6=sKV zvIb9awf2^dm`z)|aK(%Vt|<>(RWx3+*{;_9`0;piuIhuG%C*Ay3cX}&PF?G#Oe@1Y zWP@La*g1EU2Cy-X3D{YV?KF_2g*psx?iFru^H7GKKBD*@Q{x>`wZ*Zx@r9-p*MyOK zbf45H7`H#+f?e{>;1fpvf|!U`7pIix4~35EWt-O%))$I4RyjND+XtBkza2944i~K7 znm^<{Fl)h?l8i1Jp3kt)={^vYnmf7MIQgtpxMw>h*7|8D@8E3xwh}caGQ{5FNJ2DJ zm2>^^99?OfC)8OnG0*a(Gt|2IIO6O2rNcU*aV^|BVmcnr^;!=xmGOtvT*6V!;MY^> zAE!1S4!EgmC6;X}4sk|IhUl=?4r5jY7J1A~M-~+rGE|N2-;h#@x5awRG(7A-Cf!wK z5=z|Y>7~vdz-S{ZW2pmDXbr-yjSJ$p7GTzooZAUMo_pf})MI)?vr%Qfy}NAy6;S~6 z=j!e+)F$I4Ne1kSjVjB?T8(DpXval~7gaj*Ik8Cia88D_5%Gel2vZ;VS#L1f4pDZ^_h> zT(inpt^Z!N#=o}_{KBJSLWgtvJ7!z>!+4jSSGJvHv2w=9%q<^EoGlMZ9IVWEYwdbp zoah(NN5wL-+8>8iWiK&WM|6$O5qR2rKISG#$RwVeAH2?OT9 zAx5{iw7Wl}CXhp&G$Qo7(=t}vlB{bT`W>bs>W~6dA~bG=IRnP$bQylXd%cxpbKIM> zy;!uqM5^bW6H)#<-vzsGbPDVzRIaK&kFGdky56Ixt}LIKmuwLWrHtO1%gfQh8=cj& z>vTPb%=G)Y^=snI@nz0mx%aQApIpQqGublYYx-iM#Ndjwny|GxSTVO0dZho>zWt}R zLAoCo8LNm~dVoNCwO>Nfsu|V2DXR^}dz#*Inx)X^d!(QHnRKIaSt|^Fqy^$}dB)() zRbAD?FzudtTs-ljd))Nh%DlS*&`lM@teTCM+8Kzxw$W|~`tY*-6841>u_g7a|SNMy01>OremME73M2C1T^}vwfm@v zS$XNmX8nj6>$Oi`Hssf&ZZ30LOs5oe*k{M6S3MkL9Lh}ecxUo_c8C4iyh&)LS$4v@ zR`(tYa$dJ<`Ox88Rboh8^stL3n{B3>wx^Md;~u-?>y&CUrJ&X%-;13}qxW`2Bnn0; zPhybrnTzelaCswp)5$X4UgO(SPxBVI##USsPN|vu>7{J38bte4rM*?!Z1=ZpIiAc6 zB90sKI!OrX=Y3KLenCeHEd%5GM6^Dk?~bpVnq zdLaEi)o%vt*tstQ1-QF8Wkn$Ngyv^ZRt#>Fxl-k>_Q&aUTfqyiBdZ#_;prt$c z(em*4=9C;sR&1s(qb`>Y@V$UO;?b}GJg9QKb#Oh68328-Q_7)%Tv-5Y$cPR2fF^OX1H9-nqBT3P zgRb6NXT%LqP@*wkML-fnx9XIEv9ngP8nBOr#^94-&Kuw)Kx?Sq0m#vnJ{~pGV&fnX7Z9j= z#E?@2K#%q}HUhYcZd6AA=mNsfWCXy9MsOnGBQ1(79tp6Z8}^aEMR1fPbp??Cb0r%8 zAPSzHf=@+3aTHP~c^%}$Ld)E4fHLTYv@}R1PytsLard(4)=&mO9K^r={5j$X+&?Oi zAP^rBP=Yi_fi_VLn*fdyp8=%Mq%??w##UeqWCs#8@hIT$*a9Fi;;ia2eC~#LZo)DP zv@DSpB!&WSf_Ugbib4sBabYDvXzU;GI|?)*Oaw0SKrO}~9zASAZ5V5@65|{KL3|#8 z5ctcnUT#>OE-{{m3~d69aK(1r|nnGR+9Rt{TZC>*W) zMFfKWFE$RuAPb%iKA|S;)t4a1Ll&e&2OKL41Bl?n%`9T5Sr!fm6=^>T z;!L9XV>m(JsxxS*BT6cl_OBFGkA@uW?mLu(APbf-Lj<>e(`jzOpe73Bg`EEZ15seZ za~Pyd^v)sr%U5{ysr_4^0j|%$_?NG*^B`#jkPaeL0579w?9Z=cGyO%adX1tApjm%@ zCdBa!CbSA-)*W!rlbIJj3BP_!aQg9eIVGPr~Rbt{5b(Aujo08m2MO257Pb0hmZhI&HC z6lS4U+p~aZzotA9lVP=Y$VqoBskI$kts5}spz_^}2rz&|b_=#Bbs zSB_Bn&R%Ew@RNcNx}ovgw7Lc?Y709P`Q8C8Tm7$n1N#sA2*kvF0HG?UBh9I(CjUS8 zcX&4bxXwXuG(h6(sI>h9Mf`1>IRZeq1iD&sd)qkw*EWROAptdr9sY&R7e%YJrLvhS2~t7!BvJuReGY($NMf!TL1FLmQOGuzdzVW6uC; zC`KC=Euch=xe%ZO%3|mg08nW$Kn_{xfT9>8#ppW$Xh;W6-WO%)yKB&masUe&*MoIM zbm1okX%!kLg`9Ok9#EwP+SCQ9pz#&}|BUn*CIRNqhAwCdj=V)lDIm^%SbAFz6a};T z{zZsTd^YgX5DFoO==DKi(DeiAh79u12YG;JP_{m(3rb-?Y6c)FL|_0)!cnLifNJ0~ zyfcg)AH;`R4PY~$h@c+^peCRLNg9Gi;4&p7We74rNGcEul^7SH_lB_Z-)TU|f)->% zJ&rFz3`Q`NLJjyIg??1q#XymZF# zF^1!fhvJRlUW2*Lq~<1YSu{cukQa!Aq)k9QFj?SV0T$F`0`CF;Y|MZQv}yvgwO#OP#Pm-LQy?GT;yxATTg6AhB>J@rX6x|4iz6Fest*|9P3AjpRZ8KNrJ3`_WIE&Ku4w7zYDN+V`)528MXD(VqiY-$#|gWuEyXt#K7y!)hjTQv;EE8ZhN2J{^7i~?TsB7I51`3 z?irf-SMf}s`;p;mTIR3V->Ip;w~v3l&R!k~iQd7HcTV=8H+{o%cc#7`HWJyn3VE)D>yx z#k8lGt+#u$C626H^yY11@j8<(k;XYxj*-gzEEDwR534g0Ck`sZQ@X8br4erxn#5F; zXjo+H5Y+XCJq)9brHlz-NP`DTRj#ctPC;lSLf62cKfe;922BDMb0k&m;VC@{PO^9h z^C~*|a!#ueB@)1u^lA|yMSQ(%$*`8~%MmGredD*h=x?fQ#TpSV(Y)fg?E}S)I|#Sg zP>@P`cW|WKPQ97d&=H>**6^c{j9F5l5uNHRC(HEXE+Qo960D$x?pq?JUaKNP9m#t5 z&=!Edpg!Es!lV22lqNA+Mnw8fj}3qJn>Z^=J&A$**-u#2z%?LtPid7Be;6OZj~KKj z{Q{p`Z&~d%te}OwdrwspPvwXPJ^ks` z&zSC04dI&9Hxdk>p)|Fn&k>SPTr2i0FTm%7r4+f-r1=pZU6z;SdX5w_P#v5q`Mh~8to#RIJiF&RuZ5?AubLp(_P)v$EpNW zW;obCuzQ9~^z~{32Nl7@3^*U(ppdpkB?4sTQTf~$^~@Un%pY-x?1JqU_@l!ab=J7R zHF-5}A5NxnixKN5BT2+mlfh_mqei+gfl^Q$dRN}3S$SAOb^u%FMB(D;sOF<`2O$xo z=wrxuE%YX89BL)+Z&;gStQSBKPzDFwCt&%m=qBYubYA)Qpp=<}qfOh)3)1af$qY97 z%|@6!-R6|otaw#<*&CVM_r}$(WD(xptWdH@9-GHdlWpGBc8FM%rp&QoUicqPW50oG z1w$dbA>`KMl&3%FbiJ7XgtgxgSUBKl4K3uHqb@~B_KC}}X$Jw4^OCZ7kC{MdQdj~N zmBZ&tts5&};`~siP@%byK24hWTKkX=R0oY=<2%(jJ_Meul>Fd1)(M2^Dm&J`wx zXty~(p+?pxzO)F@__;^ZD;l6=7TmD1RCI@Bq4>(YS2Tx%GlA`#C2a(Gy&^iOmn?d+ zizvDp#=I!IuNWqKMj56nZgyTGuIqxE99_Xk96FoQ3?Ab_G~%Xi%)p~(hf3kVBWCoU z;i;1|e!J`aWBuryJQ5*)1rMpc$O_BFL1SEDn}tC%FClc9^mF$!DK#J)z&O24xUe>W zb4%fayt4m@bQLUkRRI}V#?zkK=Ckj`hxvdn5{we%w}d|Qa` z(gN&Ta+N3oS$x3HBN>=_%^6_0N+kPEN)05VJ~4}f`ygc&z~=Hp7ed^)5PGeXdt4Zl z4ikZHTbtzQAk;1e2LtvM=aCaCkgJ66_VVy8VIxyM=ozc|Yi8dR0U-Bj*ZY> z7Q($%j!u5Mal5I$Nx-Q`>8kl*)K45iG5k8px8B=VQ!X4k!UcBIEf>;s5)!Oty48LD zYKKKT-l7l?P-TXz`1eA3!BFSF8Y^kwu)~{V`-b1k#{E@pp8Zin>Ygy*G_j2lY9>!8 z?mC!XwLr(LmeLfxV0wJkJ(h$NkYo50b<^6kPSD(tBS?GMoRvIMA4v|1v6c>B4#ti< zZj*PpYjQOnR0!yNH89X2$x zw4ZHP2!&(}_WQWcFzM+xLO6c-`|MDH>+>k}?s1g5KhK?UI*kp*TN0f-vE4UFQ+C49 z!>}k*(F9u*X6-6*M}t#_XO^?}R1lmD{w)+VRDrh!MKKWSBpSk(+I+^4Zt$hi%>=)) z`WS|)H0D|h^M(k9BB1S|!SEO~OBBtTriZOs)~&Fpw_scz@SIufoYc5($_?iEsF{{n zuSdW;Jq0y_HvL7^+I4l1Qd;lGU|tpxov}*RvcJdNffargvs1Lv0{!7092jQZmtzPM zuq%A{91Dz5okIkyAKYa^?Tu>dAf$S!v8Bm2tn_42XGzV3#aRc`Gl5O;9_%(ml0>^Z z9BhMr{cW|Z`+RN0#ICJ@6EDWMv8Bz29;lOHb>p8gO`8YnmL zQ$iTMp>Xb6`z)Y|Gr)j)rOA3Zdi8qn4t(1(x(4n5`~vU2abB+qP}Z5m@tAT0?TvOJ z!Ug*xRIW*!AR!cW8DiA?OUm=x=w4RxZkqQQstX9&riXr6Wi4GiOO0D6t#tO zXU-{vC0-JR6LV$ns_i~$(mo7vqg!jIG|E2b&$zkP7AO2__&9#Px#(B1M=hmN)=v9* zGiEt73{LN_zblWEIwN~xrhOS~fCGnSbwH3#B#FX}xzjt($v_z&yFdcqX5QYT=eba? z%7Jrk5pV9q2}hm>$PgkGp`x!on3oU2C5XF^m0Sjee~316_K!O7@fMPC0k~$KBB|?q zmL}AD!Dcax;r?JzEk)`09E`VtqU)wNM6DGGPQHL^PNqx+l4c8kR2jaE}6IUdd56k(FHFI zN)j*9oE~BKj?l;Ra!l=THSoUyeC?L>dPt@hM$g{vb|x(R~iA&jKe7#CcZNrBlA^<;(Bw?)Vh*y2wY{oPlyxk8!)qE?8C`$ zUnBa8rsW2=(>J@mTg^^D@1ALjbvc>ohD+qnBuPsb42Xn7FY7F6$HhH9pYicE}IV4x|suAKtWD9ZCyqsd9)9nb|Ve2B3SEW|5L$Nmj#Kc1L5B zKW!M*{aOWUHJLZ!OcyYp?<4rJ04h!Vt;JQ3dQS-99b<-Ab%s55#x&?86JN%FTbEe{IYZ=B0B~WlDpXTx6%#ju( z6$}f025H_fVln`%>IBSFRhxJ)3YmP+x6J@*aKiy5N7gL)qC%eY7cORQKp1QFcDahQf5qd#!ERTeec@@>D8+@;IxM>y8M4`G>vy|-#(-4-&90_jhQTjO_ zNmi!t)-u>*8Wi(DIUrK6Udf)u@0~}sDK2wz=v0K~84J_wF|5?FgvL0s8x|>!bgii& zvdD(BPpZI}iGl-Rn)Zz%=U6EV9Mc0mE5YBhlQzNv6U0T@L8|YpWOjkG-4ywpB&4(! z^x!mhHG@xM+`_D2GpIEgt@mWfgng89jq_}sO0Y@C_yy_yY{0i@YxQ2eQ}H#=pd@9@ zG1VBOG%1!}-(YEeQV(aY;pKh1=0@7qa3g%;BgY1EK!$-WpU*EyuL!n9G^gxBsh_o& zNCuMfXSW85Qs^i!f!4Qp!!6A4_$>&YJ(lAea8^;{1XMNS^~^{1toI!o!e=f2YSA&a z8`gnc#JKQm;Im-fkGbJCpSf~z_j0dL=sIAYw?^`hI5=x7fbgeu|jG|x$K_k zH&ax4NxRrMGfrm|uF;892B#@PRJem9C1a)d;L!c21)vY5Tw$)idPuF9vJC%aP#YPW zyOT`mq)d$mr7X-3+1>;BX_Cl+XlJDP4P@n5Btyai=ol&xP&3mv#4rnoTe38Jup}v@ z6aVcMlxT;^(1DH%RBSsl+KYeJ2Df_SautB%ZMgxJafYUwB4A=4=|-IYlP3hECLPR% z$rxrQNb)PpD)odhGtT&^T6_Xu1+3N%x%k)%^4Mh1h|{t&)`kh+hf(8v-!#{GR7XDc zN~Ti-8Gip7X-vh})h#DjD#gRp(s)Z6U~61Isj_#%Y~S4<3PnLood7$(O8828!GLVR zQqRe&u#g?dx-Vd2na&8Wm0f0?&e#uRYhN!Vwo6CPPMDklUt*%4PHXYXz=}~f&4R_g zT{)?+xP~rAVUL#zr0g_xe5NtpkK5yt80|&^@~b=RT77Us6k9FqbI!|3YDcN+3l9|} z9fxbdxRa}rA1h{46;d!GtLGroGUi1alU$)3EynsOs}?Ai1q@Xh-Qju(F3uZa@Qus~ zkT4XMih=WmDj#?{a(5Hso`o8RFM1=h>B+Xw7wAH$rHRe*nH#(GG0YHm+l{!hKi@V2 z`}_;0s7zP!GE9HF6=*8Q1rQ~;`HVFj$do7`jxSas4j8qy?Daz_;Wu+ONN+=qpYTZh zc$#9<-(TcG$mJ{ykVdA>a}r2s-_x=74{+tgJg-8u@eMdn$`(<@Rt&LJS}qh}OZ-_Q z%B3x&GAK>mY@Wrg1eXL)>Vj8<>^$oZjLJ8Cy;wTLux6oZql1H{gR`XwKD!j8EYI=X zmEui1C1cMjnvjqhkE7*LlyaMAbF_t8JHuLI)G^hOZGZ%Y&WimSbsUG!oh)fh-`wXJ z$JSvv#ngQK9xiwRH1=vTwbZ0pEn^12dofUMn~5F9nmfD=qHVFM*_5WgzN0DwPa+AH z$#dX}qmt0zS)^gpJG;%VpFszOc#`5*xI#v93WlqH52Q|d24J;nXxA^oR43mz;Oxg@ z<+IY|d^PC}Qqk@zDE3<%kW25vLknHhIg_L##DrXwCQ=nxx> zm{8zJk}v*iMS?i(a0zxyjvp&|O+tl{(oRK&+W7kn=#$Dc`V(XBUYP)qO%u!G?boeL z0WIQ$&5%xugpzt3aV8*6KKR6$a>P3gkjkluheh;p_Bw*L;Fhj{OD531BCAlBXJZj<)_Uiy|VcHO_ClBzRw=N&YjVV|IsTJKg~t#t;6Em=%qwSL@zA zlYEw}%VL2A)LAoKhGB+DIQot#fHCTD&Y2BcY?aJZ?jYR_>RsSqfus9N=tlNi9w0M54%=6a2cyn^tQ3ff=Z(#@+)o^=Ex#x z>#0x}7rzOC^B!nn%EZZiPq1=Zski&&HGVyRV&UmNt?H3(pCvQ%*U@ZHK_~WG_GWsf z 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 luHBUOMV<=a(U&za_7IK5N%T(S!G| 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 OF&%tEB?E6Ti2nf__0i7& diff --git a/src/main/java/org/displee/cache/index/Index.java b/src/main/java/org/displee/cache/index/Index.java index 7301521..f1aa58b 100644 --- a/src/main/java/org/displee/cache/index/Index.java +++ b/src/main/java/org/displee/cache/index/Index.java @@ -284,7 +284,7 @@ public boolean writeArchiveSector(int id, byte[] data) { while (written < data.length) { int currentPosition = 0; if (overWrite) { - super.origin.getMainFile().seek(position * Constants.ARCHIVE_SIZE); + super.origin.getMainFile().seek((long) position * Constants.ARCHIVE_SIZE); super.origin.getMainFile().read(buffer, 0, archiveHeaderSize); archiveSector.read(new InputStream(buffer)); currentPosition = archiveSector.getNextPosition(); @@ -314,7 +314,7 @@ public boolean writeArchiveSector(int id, byte[] data) { archiveSector.setType(archiveDataSize == 510 ? 1 : 0); archiveSector.setChunk(chunk); archiveSector.setPosition(currentPosition); - super.origin.getMainFile().seek(position * Constants.ARCHIVE_SIZE); + super.origin.getMainFile().seek((long) position * Constants.ARCHIVE_SIZE); archiveSector.write(new OutputStream(archiveHeaderSize)); super.origin.getMainFile().write(archiveSector.write(new OutputStream(archiveHeaderSize)), 0, archiveHeaderSize); int length = data.length - written; diff --git a/src/test/java/Test.java b/src/test/java/Test.java index f1e4c0c..d486d5e 100644 --- a/src/test/java/Test.java +++ b/src/test/java/Test.java @@ -1,31 +1,11 @@ import org.displee.CacheLibrary; import org.displee.CacheLibraryMode; -import org.displee.cache.index.Index; -import org.displee.cache.index.archive.Archive; -import org.displee.cache.index.archive.Archive317; -import org.displee.io.impl.InputStream; -import org.displee.io.impl.OutputStream; -import org.displee.utilities.GZIPCompressor; -import org.displee.utilities.HashGenerator; - -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.Arrays; public class Test { public static void main(String[] args) throws Exception { - test1(); - //System.out.println(""); - //test2(); - } - - //0 = config, models = 1, animation = 2, midi = 3, maps = 4 - private static void test1() throws Exception { - CacheLibrary cache = new CacheLibrary("C:\\Users\\Maffia\\RuthlessPSCache", CacheLibraryMode.UN_CACHED); - Index index = cache.getIndex(7); - Archive archive = index.getArchive(0); - System.out.println(archive.getInfo()); + CacheLibrary lib = new CacheLibrary("C:\\Users\\Maffia\\Documents\\RSPS\\RS3\\861\\861 Cache editing", CacheLibraryMode.UN_CACHED); + System.out.println(lib.getLastIndex()); } }