=org/lwjgl/opengl/GL13  java/lang/Object()VC  $zombie/core/textures/TextureCombinerm_coordinateSpaceMaxFjava/util/ArrayList   fboPoolLjava/util/ArrayList;  clear  countI  !"glEnable(I)V $ %& glTexEnvi(III)V ( )"glActiveTexture , -" glDisable /01 2zombie/core/textures/Texturebindpquxr EFG HIzombie/core/Core getInstance()Lzombie/core/Core; /K Lwidth EN OPDoStartFrameStuff(IIFI)V /R SheightU!zombie/core/textures/TextureFlags /W & Y Z[fbo!Lzombie/core/textures/TextureFBO;]zombie/core/textures/TextureFBO \_ `(Lzombie/interfaces/ITexture;)V \b cd setTexture!(Lzombie/core/textures/Texture;)V /f ghgetID()I j kl glBindTexture(II)V \n op startDrawing(ZZ)V r s"glBegin u vw glColor4f(FFFF)V y z{ glTexCoord2f(FF)V } ~ glVertex2d(DD)V  glEnd \  endDrawing E lDoEndFrameStuff  hsize  get(I)Ljava/lang/Object;0zombie/core/textures/TextureCombiner$CombinerFBO Y \ hgetWidth \ h getHeight getFBO6(II)Lzombie/core/textures/TextureCombiner$CombinerFBO;   add(Ljava/lang/Object;)Z texturesLjava/util/ArrayDeque;  java/util/ArrayDequeisEmpty()Z pop()Ljava/lang/Object;org/lwjgl/opengl/GL11 / h getWidthHW / h getHeightHWjava/nio/IntBuffer  glTexImage2D(IIIIIIIILjava/nio/IntBuffer;)Vorg/lwjgl/opengl/GL12/ &glTexParameteri / dataid Lzombie/core/textures/TextureID;  "zombie/core/textures/TextureID setMinFilter /  lastTextureID / / push(Ljava/lang/Object;)V / destroyEnter  zombie/core/opengl/PZGLUtilcheckGLErrorThrow((Ljava/lang/String;[Ljava/lang/Object;)V getResultingWidth(Ljava/util/ArrayList;)I getResultingHeight  createTexture"(II)Lzombie/core/textures/Texture;  " glPushAttrib ,FBO.startDrawing %s " glMatrixMode  glPushMatrix E &DoStartFrameStuffSmartTextureFx#Core.DoStartFrameStuffFx w:%d, h:%d  java/lang/IntegervalueOf(I)Ljava/lang/Integer;+zombie/core/textures/TextureCombinerCommand   shader Lzombie/core/opengl/SmartShader;    zombie/core/opengl/SmartShaderStart  texLzombie/core/textures/Texture; / getErrorTexture ()Lzombie/core/textures/Texture;  mask /  getTextureId"()Lzombie/core/textures/TextureID;  !" setMagFilter # $ shaderParams&/zombie/core/textures/TextureCombinerShaderParam %( )min %+ ,max ./0 12zombie/core/RandNext(FF)F %4 56nameLjava/lang/String;  8 9:setValue(Ljava/lang/String;F)V<DIFFUSE  > 9?4(Ljava/lang/String;Lzombie/core/textures/Texture;I)VAMASK C DblendSrc F G blendDest I J blendSrcA L M blendDestA OPQ RSorg/lwjgl/opengl/GL14glBlendFuncSeparate(IIII)V U Vx X Yy [ \h ^ _w  a bEnddTextureCombinerCommand[%d}: %s Ef g&DoEndFrameStuffFx \i jreleaseTexturelFBO.endDrawing: %s n o glPopMatrix q rl glBlendFunc Et uvOptionModelTextureMipmapsZ xyz {|zombie/core/SpriteRenderer ringBuffer'Lzombie/core/SpriteRenderer$RingBuffer; ~ v%zombie/core/SpriteRenderer$RingBufferrestoreBoundTextures   glPopAttribExit.   applyAsInt$()Ljava/util/function/ToIntFunction;  java/util/Comparator comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;  findDominantCommandZ(Ljava/util/ArrayList;Ljava/util/Comparator;)Lzombie/core/textures/TextureCombinerCommand;  zombie/core/utils/ImageUtilsgetNextPowerOfTwoHW(I)I  compare'(Ljava/lang/Object;Ljava/lang/Object;)I  org/lwjgl/opengl/GLgetCapabilities#()Lorg/lwjgl/opengl/GLCapabilities;  vorg/lwjgl/opengl/GLCapabilitiesOpenGL30  "org/lwjgl/opengl/GL30glGenerateMipmap   instance&Lzombie/core/textures/TextureCombiner; ConstantValue SignatureILjava/util/ArrayList;CodeLineNumberTableinit Exceptionsjava/lang/Exception combineStart combineEnd StackMapTableoverlaycombine\(Lzombie/core/textures/Texture;Lzombie/core/textures/Texture;)Lzombie/core/textures/Texture; flipPixels([III)[I[I5(Ljava/util/ArrayList;)Lzombie/core/textures/Texture;!org/lwjglx/opengl/OpenGLExceptiond(Ljava/util/ArrayList;)Lzombie/core/textures/Texture;G(Ljava/util/ArrayList;)I(Ljava/util/ArrayList;Ljava/util/Comparator;)Lzombie/core/textures/TextureCombinerCommand; createMipMapslambda$getResultingWidth$10(Lzombie/core/textures/TextureCombinerCommand;)Ilambda$getResultingHeight$0 SourceFileTextureCombiner.java NestMembersBootstrapMethods  "java/lang/invoke/LambdaMetafactory metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;(Ljava/lang/Object;)I     InnerClasses CombinerFBO RingBuffer%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup1  Z[ 6** *Y" &N"*  #"#,- ./0!2"' 58[ *<' +'< >?<BD d=Ʋ'  +.#"3##45##67##8##97##:##;##<##=5##>7##?##@7##A##B##C#`ZJK LMOQ)R3S=THURV]WhXsZ}[\]^_`eh D+J,J M/Y+J,QVN*X*\Y-^X *X-a'  +ei*Xmq t x| x+Q| x+J+Q| x+J| ,eiq t x| x+Q| x+J+Q| x+J|*XD+J,J-#jl"m)n8p@qErKsU^cjoty  8/ BN*=h N6.6-ddh`*h`.O-&  4:@!y=>*1*: 25; 2N *N-1YN/YV:-\Y^*-W-/YV -/:.  ( ( (& (&& Y͸i-a*-XJ   -9]b!#9I/r/jdd-*++ѶM,,d,+ӧ+ױ( )+(/,1 ( 2+=+>*:`  *XmY*XSDYSYS6+H+:  '  :.J*' 6&&.ͧ*' +v"G":6  3 %:  ' *-8  3 7 ;=@=BEHKNT n8 n8 q t xTjW j| xTjWZ` j| xT]`jWZ` j| xT]`jW j|>q t x| x| x| x| `cYSYS܄De*Xh*XkY*XSmp*' +s' Y͸iw}n[5 678;!='>-@6AFDLEOGXHoJ{LNPSTUVWYZ[\^_abc fgjl%n,o9qEsTucoiywz| 05RUX]dinsy~J "%/Ar /#D/E/ 9&:J j+* *L+ +M,Q #   j+* *L+ +M,J #   AM*>62*:,+,M,* #&69? dq0'+. '= (+ȱ&   '/   *J  *Q+ Y   ~x