=zombie/iso/IsoCell  java/lang/Object()V  zombie/iso/IsoChunkMapPlayerIDI  ignoreZ  WorldXA   tileToChunk(I)I  WorldX  WorldYA ! "WorldY$java/util/ArrayList # ' ()filenameServerRequestsLjava/util/ArrayList; + , bReadBufferA . / XMinTiles 1 2 YMinTiles 4 5 XMaxTiles 7 8 YMaxTiles:zombie/core/utils/UpdateLimit 9> ?(J)V A BCcheckVehiclesFrequencyLzombie/core/utils/UpdateLimit; E FGcellLzombie/iso/IsoCell; IJK LMzombie/iso/WorldReuserThreadinstanceLzombie/iso/WorldReuserThread; IO Pfinished R SChunkGridWidthUzombie/iso/IsoChunk W XY chunksSwapB[Lzombie/iso/IsoChunk; [ \Y chunksSwapA ^_` Lazombie/debug/DebugOptionsLzombie/debug/DebugOptions; ^c deWorldChunkMap5x5!Lzombie/debug/BooleanDebugOption; ghi jkzombie/debug/BooleanDebugOptiongetValue()Z m nChunkWidthInTiles pqr stzombie/core/Core getInstance()Lzombie/core/Core; pv wxgetScreenWidth()ID { |StartChunkGridWidth? SWorldX[I  xzombie/characters/IsoPlayergetPlayerIndex SWorldY T loadGridSquare,Ljava/util/concurrent/ConcurrentLinkedQueue;  *java/util/concurrent/ConcurrentLinkedQueueclear poll()Ljava/lang/Object;  bSettingChunk*Ljava/util/concurrent/locks/ReentrantLock;  (java/util/concurrent/locks/ReentrantLocklock  numPlayers  Lzombie/iso/IsoWorldLzombie/iso/IsoWorld; G CurrentCell  ChunkMap[Lzombie/iso/IsoChunkMap; setChunkDirect(Lzombie/iso/IsoChunk;Z)Z I  addReuseChunk(Lzombie/iso/IsoChunk;)V unlock T doLoadGridsquare xsize T bLoaded  zombie/network/GameClientbClient T wx T wy  zombie/vehicles/VehicleCache vehicleGet(II)Ljava/util/List;  Lzombie/vehicles/VehicleManager Lzombie/vehicles/VehicleManager; sendRequestGetFull(Ljava/util/List;)V players[Lzombie/characters/IsoPlayer;A dirtyRecalcGridStackTimeF getChunk(II)Lzombie/iso/IsoChunk; T update 9 kCheck  checkVehicles T )vehicles # java/util/List get(I)Ljava/lang/Object;  idS #zombie/vehicles/BaseVehicle   getId()S    getVehicleByID (S)Lzombie/vehicles/BaseVehicle;  %zombie/network/PacketTypes$PacketTypeVehicles'Lzombie/network/PacketTypes$PacketType;  +(SLzombie/network/PacketTypes$PacketType;)V  xgetWorldXMinTiles  xgetWorldXMaxTiles  xgetWorldYMinTiles ! "xgetWorldYMaxTiles $ %& getGridSquare(III)Lzombie/iso/IsoGridSquare; ()* +xzombie/iso/IsoGridSquaregetX (- .xgetY 0 1x getWorldXMin 3 4x getWorldYMin T6 7(Lzombie/iso/IsoCell;)V T9 :)refs #< =>add(Ljava/lang/Object;)Z @AB LCzombie/iso/WorldStreamerLzombie/iso/WorldStreamer; @E FGaddJob(Lzombie/iso/IsoChunk;IIZ)V KLM N?java/lang/ThreadsleepPjava/lang/InterruptedException OR SprintStackTrace @U VW addJobInstant(Lzombie/iso/IsoChunk;IIII)V Y Z[ SharedChunksLjava/util/HashMap; ]^_ `ajava/lang/IntegervalueOf(I)Ljava/lang/Integer; cde f>java/util/HashMap containsKey ch i&(Ljava/lang/Object;)Ljava/lang/Object; Tk lsetCache n opsetChunk(IILzombie/iso/IsoChunk;)V r s chunkStore uvw xzombie/network/MPStatisticsdecreaseStoredChunk cz {|put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ~  getMetaGrid()Lzombie/iso/IsoMetaGrid;  zombie/iso/IsoMetaGrid isValidChunk(II)Z # >contains T  lightCheck[Z  gridSquareToTileX  gridSquareToTileY  isTileOutOfrange(I)Z  $assertionsDisabled ( x ( y ( zjava/lang/AssertionError   isGridSquareOutOfRangeZ T maxLevel  tileToGridSquare T  setSquare (IIILzombie/iso/IsoGridSquare;)V  &getGridSquareDirect T$  xgetWidthInTiles  java/lang/SystemnanoTime()J T jobTypeLzombie/iso/IsoChunk$JobType;  zombie/iso/IsoChunk$JobTypeConvert # kisEmpty # >remove c i  None T updateBuildingsA.  zombie/iso/LightingThread DebugLockTime@$ makeConcatWithConstants(DD)Ljava/lang/String;  zombie/debug/DebugLoglog(Ljava/lang/String;)V  Lzombie/ui/TextManagerLzombie/ui/TextManager; (II)Ljava/lang/String;   DrawString(DDLjava/lang/String;)V  Left  L#zombie/core/physics/WorldSimulation%Lzombie/core/physics/WorldSimulation;  scrollGroundLeft(I)V  LoadChunkForLater(IIII)Lzombie/iso/IsoChunk;   SwapChunkBuffers   UpdateCellCache  LLzombie/iso/LightingThread;   scrollLeft  Right  scrollGroundRight   scrollRight  Up  !scrollGroundUp # $scrollUp & 'Down ) *scrollGroundDown , - scrollDown $ 0 12setCacheGridSquareLocal!(IIILzombie/iso/IsoGridSquare;I)V T4 5removeFromWorld 789 L:zombie/iso/ChunkSaveWorkerLzombie/iso/ChunkSaveWorker; 7< =Add ?@A +B"zombie/characters/IsoGameCharacter()F ?D .B ?F GBgetZ I sJ()Lzombie/characters/IsoPlayer; L MN getVehicle()Lzombie/vehicles/BaseVehicle; P QBgetCurrentSpeedKmHour@ T Uk isDriving WXY Z[java/lang/Mathmin(FF)F ] ^_getForwardDirection()Lzombie/iso/Vector2; abc zombie/iso/Vector2 We fground(F)I ai  Wk labs nop qzombie/iso/LightingJNIinit ns tuteleport(III)V w xUnload z {removeFromSquare } ~squareLzombie/iso/IsoGridSquare;  zombie/network/GameServerbServer  activateChunkMap  getCell()Lzombie/iso/IsoCell;   getObjectList()Ljava/util/ArrayList;   getAddList  LoadLeft   LoadRight  LoadUp  LoadDown  )saveList T Save(Z)Vjava/io/IOException R ^ TerrainLzombie/debug/options/Terrain;  zombie/debug/options/Terrain RenderTiles*Lzombie/debug/options/Terrain$RenderTiles;  e(zombie/debug/options/Terrain$RenderTiles BloodDecals  zombie/iso/IsoCamera CamCharacter$Lzombie/characters/IsoGameCharacter; ?  p OptionBloodDecals  szombie/GameTime()Lzombie/GameTime;  getWorldAgeHours()D   frameState!Lzombie/iso/IsoCamera$FrameState;  zombie/iso/IsoCamera$FrameState playerIndex  zombie/iso/IsoFloorBloodSplatFloorBloodTypes[Ljava/lang/String;  ) splatByType # T )FloorBloodSplatsFade  index T  renderByIndex[[B   Type  chunkLzombie/iso/IsoChunk; T FloorBloodSplats Lzombie/core/utils/BoundedQueue; zombie/core/utils/BoundedQueue    [ SpriteMap  L"zombie/iso/sprite/IsoSpriteManager$Lzombie/iso/sprite/IsoSpriteManager;  zombie/iso/sprite/IsoSprite CreateSpriteC(Lzombie/iso/sprite/IsoSpriteManager;)Lzombie/iso/sprite/IsoSprite;    LoadFramesPageSimpleK(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V  inf Lzombie/core/textures/ColorInfo;  zombie/core/textures/ColorInfor  g  b>=q  a b iG%EFDDz>@@ ) *worldAgeB>L?L?@ 0 1fade 345 6xzombie/core/PerformanceSettings getLockFPS (8 9: getVertLight(II)I <=> ?@zombie/core/ColorgetRedChannelFromABGR(I)F <B C@getGreenChannelFromABGR <E F@getBlueChannelFromABGR@ I JKrenderBloodSplat&(FFFLzombie/core/textures/ColorInfo;)V M NdeactivateChunkMap P QclearCacheGridSquare STU Vkjava/lang/ClassdesiredAssertionStatus c Y Z MPWorldXA \ ] MPWorldYA _ ` MPWorldZA b cWorldZA  f  LEVELS ConstantValueChunksPerWidth  Signature=Ljava/util/HashMap;CLjava/util/concurrent/ConcurrentLinkedQueue;,Ljava/util/ArrayList;MLjava/util/ArrayList;>;)Ljava/util/ArrayList;CodeLineNumberTableCalcChunkWidth StackMapTablesetWorldStartPos(II)VDispose setInitialPosprocessAllLoadGridSquare}java/lang/ThrowablecheckIntegritycheckIntegrityThread LoadChunk(IIII)VgetChunkForGridSquaregetChunkCurrent setGridSquare (Lzombie/iso/IsoGridSquare;III)VdrawDebugChunkMap(ILzombie/iso/IsoChunk;)V(I)Lzombie/iso/IsoChunk;ProcessChunkPos'(Lzombie/characters/IsoGameCharacter;)VgetRoom(I)Lzombie/iso/areas/IsoRoom;renderBloodForChunksjava/lang/Stringcopy(Lzombie/iso/IsoChunkMap;)V SourceFileIsoChunkMap.javaBootstrapMethods  $java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;setChunkDirect time / ms wx: wy:ProcessChunkPos time / ms InnerClasseszombie/network/PacketTypes PacketTypeJobType FrameState%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup1 "hijkilZ[mn Z ] `   csmo | S n)mp)mq "()mrXY\Y,/258FGBC57s}** *** *#Y%&***-*0*3*6*9Y;=@*+DHN*QQhTV*QQhTZtFN6 789":-=2>7?<@AAFCTOYP`QnR|S us]]bfQQ hlouC"ynD#  Dz#j}kQQlhQ Q`QQ hlt6 W YZ[^"`'a-c/e>fKhSk\lv # wxs7OOtp qrys@HN*Z*Vtvw xyzzxsO** *-*3*0*6t~ {s$TL+t=>*2:+=H++:TLQgZ^ggigtN,>@FJQWZ^dgorv& T '  T| sP= hQl`=TL+>6+2:+>H+++ę++̸:ڲ:62: B>Q*6Q*L++*@ ę*xt+ #')4BTV\`gjmrx|v_ T))H|    T s[ <Q=Q*N----̸:-v6gд666-#- 6  N?tR $1GVgjy   v* >T"%~s2-2<2ղ2=2 #N--' -, l6 l62/d622d6:TY5:82;W? l lDHJ:QFOtZ0Q ^"r$x%~&'(+,.049589?v. 2(hTPO  s`2-2<22=2 #N-z-' -,j l6 l62/d622d6TY5:82;W? l lT-_8tBCD0FQH^JrLxM~NOSTVXFD^v 2(fs:Xx`\b2Xx`\gT:j*m8*;WMqT:TY*D5:tXx`\yW8*;W?Dt:bce)f.g7hDlOmTodsguyvwzv DT&s2}Xx`\bOXx`\gT:8*8*;W* T*mMqT:TY*D5:tXx`\yW8*;W?DtJ~"6BLW_bny~vFT T&s]+*<*=* **t vsl9Q Q***ZQh`2*VQh`2t,vs(+$++ + Y*6*6** **: **+t2 +29TUejku|v#(T%&s4*<*=*t &s|@** **:**t(-/v Ts pt s lts6 *tv @s4 tv @s.*Qld hd=t s.* Qld hd=t  sl9Q Q***ZQh`2*VQh`2t,vopsS%***ZQh`-S*VQh`-St$&)$-v s?BB 7+*d6+* d6Ql`6Ql`6+Ŧ 66+8ʚQ QC+8*,+8*W+8ʙX+x+`\W ***ZQh`+S*VQh`+S++Ҧ +j+ոeo9 !eo9 ڙ ߗ  :   $1131t$23579:);3<==G?J@MBqE|GHJNPRY[^adfgkl mo$t(v1t7v=x@yvC >#3 3L|  T| Tsj@<=>Q^=6QE@*:+:̺ĄtB~',/9>W]civ T' s*-*0*3*6** *-*0*3*6Qlt<Ql&**Qld* `Ql`W**-*0*3*6*  * tV "',16Fcimrw|v =+ sP<QQh!** *ZS *VS**Z3-**Z60****t&  %+5?Ov_   osG** *Z,S *V,Stvs>** *Z2*V2tvs *-*0*3*6** *-*0*3*6Qlt<Ql***Ql`* `QdQl`W**-*0*3*6*  * tV "',16Fgmqv{v =/s*-*0*3*6** *-*0*3*6Qlt<Ql&**`* QldQl`W**-*0*3*6*  * "tV "',16 F c i mrw|v =+s *-*0*3*6*%* (*-*0*3*6Qlt<Ql***`* Ql`Ql`QdW**-*0*3*6*  * +tV "!'",#1$6&F(g&m+q,v-{./012v =/ sW*<=M>@60**`*`.:* /τt* ;< >@B1CD@J>P<VIv3s<QQd=*N-wQdn*Qld`6* Qld`6Xx`\gTN-9-8*,-8*W-8ʙX-x-`\WN-@Qd7-8*W-8ʙ$X-x-`\W-36-;**dm+*m*Y d tfM OQS'U5VCWXX\Zg\p]z_bfhiklmsOwMy{v T@ 's<Q=Qd*N-rn*Qld`6* Qld`6Xx`\gTN-9-8*,-8*W-8ʙX-x-`\WN-;7-8*W-8ʙ$X-x-`\W-36-;**`m0*Qdm*Y ` tf #1?TXclvvT;s<QQd=*N-wQdn*Qld`6* Qld`6Xx`\gTN-9-8*,-8*W-8ʙX-x-`\WN-@Qd7-8*W-8ʙ$X-x-`\W-36-;**dm+*m*Ydtf '5CX\gpzv T@ s<Q=Qd*N-rn*Qld`6* Qld`6Xx`\gTN-9-8*,-8*W-8ʙX-x-`\WN-;7-8*W-8ʙ$X-x-`\W-36-;**`m0*Qdm*Y`tf #1?TXclv   vT;1xs# *Qldt4xs# * Qldts+>=+C>+E6HXHKOH:K:ORn8S jV8\`jd`=\hjd`> l= l>* * 797 *djQ* djQm* QldQldr*v* 2:  y |**  * *Qld6 * Qld6 *Ql`6* Ql`6 6- 6* d dW**   ;W<** *%** * **: eo9eo9 ڙ ߗ t< !"#'$.%9&A'L)]*n-s.x/14568;>@BCDEFGHIJK L,M8NCPNRaPgNmUqVuWY[]_bgiknuvuvxyz|~vpL ?!023 ? ' ?H| 4stxsltxsJ*-*-**/ h-*-t v xsJ*0*0**2 h0*0t v xsO"*3*3**/ h*`3*3t v "xsO"*6*6**2 h*`6*6t v sJ<Q<=Q-*N--- :҄ñ.36t6  .368=CIv&# Tsn]fĶɐEʹ>6־#߄6QG6Q6*:6{:$ d2d3<2*־#;W~6{:$ d2d3<2*־#;W~Ȅ6ܶ#:ʙ2::b*: yW:g:6H:        !  nb `j8    j !n `j  !bn8   j j  j ! bn8  "j8  #j8  $j8  %r8  %r8  %r8  %n8  %n8  %n8  &&8  Y jf Y jf Y jf Y 'nb Y 'nf Y 'nf$ (f8  m +d  +nf8 Y,-jbj Y,-jbj Y,-jbj Y&.jbj; Y,j Y,j Y,j Y&j /: Y /2Rjnj Y/dZ/  W    ! ꋶ:76767676;8A8D8;8A8D8;8A8D8;8A8D8 YbbbGnj YbbbGnj YbbbGnj  h  b  h !b  H>tk &'/6BPValv{~ ! 0 WZx !"#%&'()+-"/.051<2C3L4h56789;<=>?@ACFGH%I6JGKXMaNqP{QRSTUWXYZ ]_,`;bIfegjisj|klmnopqrs0va-gmyv  TE8 E8"#<   #7>(6 s*M,+,+ ,-,0,3,6>QQha,+**,*)+Z2C+Z28,;W,Z+Z2S&+V2+V28,;W,V+V2StJ~ !&3;BKYhqv( ?"xsI<Q|=Qm*N-\-8*7-8*W-8ʙ$X-x-`\W-36-;*ZQh`S*VQh`S* L*-*3*0*6* OtZ (1;QU\iv|vPT9s& RcYWXX[^-a  YdqYe zzQ QhlYg #Y%#Y%;־ܻ#Y%;WtZ!%&'"(&),*2+6,<-B.L/W0\1b2k3u45GIGKv  @}*@T@