.class Lcom/esotericsoftware/spine/utils/Triangulator; .super Ljava/lang/Object; .source "Triangulator.java" # instance fields .field private final a:Lcom/badlogic/gdx/utils/Array; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/badlogic/gdx/utils/Array<", "Lcom/badlogic/gdx/utils/FloatArray;", ">;" } .end annotation .end field .field private final b:Lcom/badlogic/gdx/utils/Array; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/badlogic/gdx/utils/Array<", "Lcom/badlogic/gdx/utils/ShortArray;", ">;" } .end annotation .end field .field private final c:Lcom/badlogic/gdx/utils/ShortArray; .field private final d:Lcom/badlogic/gdx/utils/BooleanArray; .field private final e:Lcom/badlogic/gdx/utils/ShortArray; .field private final f:Lcom/badlogic/gdx/utils/Pool; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/badlogic/gdx/utils/Pool<", "Lcom/badlogic/gdx/utils/FloatArray;", ">;" } .end annotation .end field .field private final g:Lcom/badlogic/gdx/utils/Pool; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/badlogic/gdx/utils/Pool<", "Lcom/badlogic/gdx/utils/ShortArray;", ">;" } .end annotation .end field # direct methods .method constructor ()V .locals 1 .line 39 invoke-direct {p0}, Ljava/lang/Object;->()V .line 40 new-instance v0, Lcom/badlogic/gdx/utils/Array; invoke-direct {v0}, Lcom/badlogic/gdx/utils/Array;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/utils/Triangulator;->a:Lcom/badlogic/gdx/utils/Array; .line 41 new-instance v0, Lcom/badlogic/gdx/utils/Array; invoke-direct {v0}, Lcom/badlogic/gdx/utils/Array;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/utils/Triangulator;->b:Lcom/badlogic/gdx/utils/Array; .line 43 new-instance v0, Lcom/badlogic/gdx/utils/ShortArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/ShortArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/utils/Triangulator;->c:Lcom/badlogic/gdx/utils/ShortArray; .line 44 new-instance v0, Lcom/badlogic/gdx/utils/BooleanArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/BooleanArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/utils/Triangulator;->d:Lcom/badlogic/gdx/utils/BooleanArray; .line 45 new-instance v0, Lcom/badlogic/gdx/utils/ShortArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/ShortArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/utils/Triangulator;->e:Lcom/badlogic/gdx/utils/ShortArray; .line 47 new-instance v0, Lcom/esotericsoftware/spine/utils/Triangulator$1; invoke-direct {v0, p0}, Lcom/esotericsoftware/spine/utils/Triangulator$1;->(Lcom/esotericsoftware/spine/utils/Triangulator;)V iput-object v0, p0, Lcom/esotericsoftware/spine/utils/Triangulator;->f:Lcom/badlogic/gdx/utils/Pool; .line 53 new-instance v0, Lcom/esotericsoftware/spine/utils/Triangulator$2; invoke-direct {v0, p0}, Lcom/esotericsoftware/spine/utils/Triangulator$2;->(Lcom/esotericsoftware/spine/utils/Triangulator;)V iput-object v0, p0, Lcom/esotericsoftware/spine/utils/Triangulator;->g:Lcom/badlogic/gdx/utils/Pool; return-void .end method .method private static a(FFFFFF)Z .locals 1 sub-float v0, p5, p3 mul-float p0, p0, v0 sub-float p5, p1, p5 mul-float p2, p2, p5 add-float/2addr p0, p2 sub-float/2addr p3, p1 mul-float p4, p4, p3 add-float/2addr p0, p4 const/4 p1, 0x0 cmpl-float p0, p0, p1 if-ltz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method private static a(II[F[S)Z .locals 8 add-int v0, p1, p0 add-int/lit8 v0, v0, -0x1 .line 270 rem-int/2addr v0, p1 aget-short v0, p3, v0 shl-int/lit8 v0, v0, 0x1 .line 271 aget-short v1, p3, p0 shl-int/lit8 v1, v1, 0x1 add-int/lit8 p0, p0, 0x1 .line 272 rem-int/2addr p0, p1 aget-short p0, p3, p0 shl-int/lit8 p0, p0, 0x1 .line 273 aget v2, p2, v0 add-int/lit8 v0, v0, 0x1 aget v3, p2, v0 aget v4, p2, v1 add-int/lit8 v1, v1, 0x1 aget v5, p2, v1 aget v6, p2, p0 add-int/lit8 p0, p0, 0x1 aget v7, p2, p0 invoke-static/range {v2 .. v7}, Lcom/esotericsoftware/spine/utils/Triangulator;->a(FFFFFF)Z move-result p0 xor-int/lit8 p0, p0, 0x1 return p0 .end method .method private static b(FFFFFF)I .locals 0 sub-float/2addr p2, p0 sub-float/2addr p3, p1 mul-float p4, p4, p3 mul-float p5, p5, p2 sub-float/2addr p4, p5 mul-float p2, p2, p1 add-float/2addr p4, p2 mul-float p0, p0, p3 sub-float/2addr p4, p0 const/4 p0, 0x0 cmpl-float p0, p4, p0 if-ltz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, -0x1 :goto_0 return p0 .end method # virtual methods .method public a(Lcom/badlogic/gdx/utils/FloatArray;Lcom/badlogic/gdx/utils/ShortArray;)Lcom/badlogic/gdx/utils/Array; .locals 34 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/badlogic/gdx/utils/FloatArray;", "Lcom/badlogic/gdx/utils/ShortArray;", ")", "Lcom/badlogic/gdx/utils/Array<", "Lcom/badlogic/gdx/utils/FloatArray;", ">;" } .end annotation move-object/from16 v0, p0 move-object/from16 v1, p1 move-object/from16 v2, p2 .line 138 iget-object v1, v1, Lcom/badlogic/gdx/utils/FloatArray;->a:[F .line 140 iget-object v3, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->a:Lcom/badlogic/gdx/utils/Array; .line 141 iget-object v4, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->f:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v4, v3}, Lcom/badlogic/gdx/utils/Pool;->a(Lcom/badlogic/gdx/utils/Array;)V .line 142 invoke-virtual {v3}, Lcom/badlogic/gdx/utils/Array;->d()V .line 144 iget-object v4, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->b:Lcom/badlogic/gdx/utils/Array; .line 145 iget-object v5, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->g:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v5, v4}, Lcom/badlogic/gdx/utils/Pool;->a(Lcom/badlogic/gdx/utils/Array;)V .line 146 invoke-virtual {v4}, Lcom/badlogic/gdx/utils/Array;->d()V .line 148 iget-object v5, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->g:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v5}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/badlogic/gdx/utils/ShortArray; .line 149 invoke-virtual {v5}, Lcom/badlogic/gdx/utils/ShortArray;->a()V .line 151 iget-object v6, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->f:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v6}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object; move-result-object v6 check-cast v6, Lcom/badlogic/gdx/utils/FloatArray; .line 152 invoke-virtual {v6}, Lcom/badlogic/gdx/utils/FloatArray;->b()V .line 156 iget-object v7, v2, Lcom/badlogic/gdx/utils/ShortArray;->a:[S .line 157 iget v2, v2, Lcom/badlogic/gdx/utils/ShortArray;->b:I const/4 v8, -0x1 move-object v11, v5 const/4 v5, 0x0 const/4 v10, 0x0 :goto_0 const/4 v14, 0x1 if-ge v5, v2, :cond_4 .line 158 aget-short v15, v7, v5 shl-int/2addr v15, v14 add-int/lit8 v16, v5, 0x1 aget-short v16, v7, v16 shl-int/lit8 v13, v16, 0x1 add-int/lit8 v16, v5, 0x2 aget-short v16, v7, v16 shl-int/lit8 v9, v16, 0x1 .line 159 aget v14, v1, v15 add-int/lit8 v16, v15, 0x1 aget v12, v1, v16 move/from16 v25, v2 .line 160 aget v2, v1, v13 add-int/lit8 v16, v13, 0x1 move-object/from16 v26, v7 aget v7, v1, v16 move/from16 v27, v5 .line 161 aget v5, v1, v9 add-int/lit8 v16, v9, 0x1 move/from16 v28, v13 aget v13, v1, v16 if-ne v8, v15, :cond_0 move-object/from16 v29, v1 .line 166 iget v1, v6, Lcom/badlogic/gdx/utils/FloatArray;->b:I add-int/lit8 v1, v1, -0x4 move/from16 v30, v8 .line 167 iget-object v8, v6, Lcom/badlogic/gdx/utils/FloatArray;->a:[F .line 168 aget v17, v8, v1 add-int/lit8 v16, v1, 0x1 aget v18, v8, v16 add-int/lit8 v16, v1, 0x2 aget v19, v8, v16 const/16 v16, 0x3 add-int/lit8 v1, v1, 0x3 aget v20, v8, v1 move/from16 v21, v5 move/from16 v22, v13 invoke-static/range {v17 .. v22}, Lcom/esotericsoftware/spine/utils/Triangulator;->b(FFFFFF)I move-result v1 const/16 v16, 0x0 .line 169 aget v19, v8, v16 const/16 v16, 0x1 aget v20, v8, v16 const/16 v16, 0x2 aget v21, v8, v16 const/16 v16, 0x3 aget v22, v8, v16 move/from16 v17, v5 move/from16 v18, v13 invoke-static/range {v17 .. v22}, Lcom/esotericsoftware/spine/utils/Triangulator;->b(FFFFFF)I move-result v8 if-ne v1, v10, :cond_1 if-ne v8, v10, :cond_1 .line 171 invoke-virtual {v6, v5}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 172 invoke-virtual {v6, v13}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 173 invoke-virtual {v11, v9}, Lcom/badlogic/gdx/utils/ShortArray;->a(I)V const/16 v23, 0x1 goto :goto_1 :cond_0 move-object/from16 v29, v1 move/from16 v30, v8 :cond_1 const/16 v23, 0x0 :goto_1 if-nez v23, :cond_3 .line 180 iget v1, v6, Lcom/badlogic/gdx/utils/FloatArray;->b:I if-lez v1, :cond_2 .line 181 invoke-virtual {v3, v6}, Lcom/badlogic/gdx/utils/Array;->a(Ljava/lang/Object;)V .line 182 invoke-virtual {v4, v11}, Lcom/badlogic/gdx/utils/Array;->a(Ljava/lang/Object;)V goto :goto_2 .line 184 :cond_2 iget-object v1, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->f:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v1, v6}, Lcom/badlogic/gdx/utils/Pool;->a(Ljava/lang/Object;)V .line 185 iget-object v1, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->g:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v1, v11}, Lcom/badlogic/gdx/utils/Pool;->a(Ljava/lang/Object;)V .line 187 :goto_2 iget-object v1, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->f:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v1}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/badlogic/gdx/utils/FloatArray; .line 188 invoke-virtual {v1}, Lcom/badlogic/gdx/utils/FloatArray;->b()V .line 189 invoke-virtual {v1, v14}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 190 invoke-virtual {v1, v12}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 191 invoke-virtual {v1, v2}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 192 invoke-virtual {v1, v7}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 193 invoke-virtual {v1, v5}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 194 invoke-virtual {v1, v13}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 195 iget-object v6, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->g:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v6}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object; move-result-object v6 check-cast v6, Lcom/badlogic/gdx/utils/ShortArray; .line 196 invoke-virtual {v6}, Lcom/badlogic/gdx/utils/ShortArray;->a()V .line 197 invoke-virtual {v6, v15}, Lcom/badlogic/gdx/utils/ShortArray;->a(I)V move/from16 v8, v28 .line 198 invoke-virtual {v6, v8}, Lcom/badlogic/gdx/utils/ShortArray;->a(I)V .line 199 invoke-virtual {v6, v9}, Lcom/badlogic/gdx/utils/ShortArray;->a(I)V move/from16 v17, v14 move/from16 v18, v12 move/from16 v19, v2 move/from16 v20, v7 move/from16 v21, v5 move/from16 v22, v13 .line 200 invoke-static/range {v17 .. v22}, Lcom/esotericsoftware/spine/utils/Triangulator;->b(FFFFFF)I move-result v2 move v10, v2 move-object v11, v6 move v8, v15 move-object v6, v1 goto :goto_3 :cond_3 move/from16 v8, v30 :goto_3 add-int/lit8 v5, v27, 0x3 move/from16 v2, v25 move-object/from16 v7, v26 move-object/from16 v1, v29 goto/16 :goto_0 .line 205 :cond_4 iget v1, v6, Lcom/badlogic/gdx/utils/FloatArray;->b:I if-lez v1, :cond_5 .line 206 invoke-virtual {v3, v6}, Lcom/badlogic/gdx/utils/Array;->a(Ljava/lang/Object;)V .line 207 invoke-virtual {v4, v11}, Lcom/badlogic/gdx/utils/Array;->a(Ljava/lang/Object;)V .line 211 :cond_5 iget v1, v3, Lcom/badlogic/gdx/utils/Array;->b:I const/4 v2, 0x0 :goto_4 if-ge v2, v1, :cond_c .line 212 invoke-virtual {v4, v2}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/badlogic/gdx/utils/ShortArray; .line 213 iget v6, v5, Lcom/badlogic/gdx/utils/ShortArray;->b:I if-nez v6, :cond_7 :cond_6 move/from16 v31, v1 move-object/from16 v32, v4 const/4 v0, 0x1 goto/16 :goto_8 :cond_7 const/4 v6, 0x0 .line 214 invoke-virtual {v5, v6}, Lcom/badlogic/gdx/utils/ShortArray;->b(I)S move-result v7 .line 215 iget v6, v5, Lcom/badlogic/gdx/utils/ShortArray;->b:I const/4 v8, 0x1 sub-int/2addr v6, v8 invoke-virtual {v5, v6}, Lcom/badlogic/gdx/utils/ShortArray;->b(I)S move-result v6 .line 217 invoke-virtual {v3, v2}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object; move-result-object v8 check-cast v8, Lcom/badlogic/gdx/utils/FloatArray; .line 218 iget v9, v8, Lcom/badlogic/gdx/utils/FloatArray;->b:I add-int/lit8 v9, v9, -0x4 .line 219 iget-object v10, v8, Lcom/badlogic/gdx/utils/FloatArray;->a:[F .line 220 aget v17, v10, v9 add-int/lit8 v11, v9, 0x1 aget v18, v10, v11 add-int/lit8 v11, v9, 0x2 .line 221 aget v19, v10, v11 const/4 v11, 0x3 add-int/2addr v9, v11 aget v9, v10, v9 const/4 v12, 0x0 .line 222 aget v20, v10, v12 const/4 v12, 0x1 aget v21, v10, v12 const/4 v12, 0x2 .line 223 aget v22, v10, v12 aget v10, v10, v11 move/from16 v11, v17 move/from16 v12, v18 move/from16 v13, v19 move v14, v9 move/from16 v15, v20 move/from16 v16, v21 .line 224 invoke-static/range {v11 .. v16}, Lcom/esotericsoftware/spine/utils/Triangulator;->b(FFFFFF)I move-result v11 move v12, v9 const/4 v9, 0x0 :goto_5 if-ge v9, v1, :cond_6 if-ne v9, v2, :cond_8 :goto_6 move/from16 v31, v1 move-object/from16 v32, v4 move/from16 v33, v9 goto/16 :goto_7 .line 228 :cond_8 invoke-virtual {v4, v9}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object; move-result-object v13 check-cast v13, Lcom/badlogic/gdx/utils/ShortArray; .line 229 iget v14, v13, Lcom/badlogic/gdx/utils/ShortArray;->b:I const/4 v15, 0x3 if-eq v14, v15, :cond_9 goto :goto_6 :cond_9 const/4 v14, 0x0 .line 230 invoke-virtual {v13, v14}, Lcom/badlogic/gdx/utils/ShortArray;->b(I)S move-result v15 move/from16 v31, v1 const/4 v14, 0x1 .line 231 invoke-virtual {v13, v14}, Lcom/badlogic/gdx/utils/ShortArray;->b(I)S move-result v1 move-object/from16 v32, v4 const/4 v14, 0x2 .line 232 invoke-virtual {v13, v14}, Lcom/badlogic/gdx/utils/ShortArray;->b(I)S move-result v4 .line 234 invoke-virtual {v3, v9}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object; move-result-object v16 move/from16 v33, v9 move-object/from16 v9, v16 check-cast v9, Lcom/badlogic/gdx/utils/FloatArray; .line 235 iget v0, v9, Lcom/badlogic/gdx/utils/FloatArray;->b:I sub-int/2addr v0, v14 invoke-virtual {v9, v0}, Lcom/badlogic/gdx/utils/FloatArray;->a(I)F move-result v0 iget v14, v9, Lcom/badlogic/gdx/utils/FloatArray;->b:I const/16 v16, 0x1 add-int/lit8 v14, v14, -0x1 invoke-virtual {v9, v14}, Lcom/badlogic/gdx/utils/FloatArray;->a(I)F move-result v14 if-ne v15, v7, :cond_b if-eq v1, v6, :cond_a goto :goto_7 :cond_a move/from16 v25, v17 move/from16 v26, v18 move/from16 v27, v19 move/from16 v28, v12 move/from16 v29, v0 move/from16 v30, v14 .line 238 invoke-static/range {v25 .. v30}, Lcom/esotericsoftware/spine/utils/Triangulator;->b(FFFFFF)I move-result v1 move/from16 v24, v0 move/from16 v25, v14 move/from16 v26, v20 move/from16 v27, v21 move/from16 v28, v22 move/from16 v29, v10 .line 239 invoke-static/range {v24 .. v29}, Lcom/esotericsoftware/spine/utils/Triangulator;->b(FFFFFF)I move-result v15 if-ne v1, v11, :cond_b if-ne v15, v11, :cond_b .line 241 invoke-virtual {v9}, Lcom/badlogic/gdx/utils/FloatArray;->b()V .line 242 invoke-virtual {v13}, Lcom/badlogic/gdx/utils/ShortArray;->a()V .line 243 invoke-virtual {v8, v0}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 244 invoke-virtual {v8, v14}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V .line 245 invoke-virtual {v5, v4}, Lcom/badlogic/gdx/utils/ShortArray;->a(I)V move/from16 v18, v12 move v12, v14 move/from16 v17, v19 const/16 v33, 0x0 move/from16 v19, v0 :cond_b :goto_7 const/4 v0, 0x1 add-int/lit8 v9, v33, 0x1 move/from16 v1, v31 move-object/from16 v4, v32 move-object/from16 v0, p0 goto/16 :goto_5 :goto_8 add-int/lit8 v2, v2, 0x1 move/from16 v1, v31 move-object/from16 v4, v32 move-object/from16 v0, p0 goto/16 :goto_4 :cond_c move-object/from16 v32, v4 const/4 v0, 0x1 .line 256 iget v1, v3, Lcom/badlogic/gdx/utils/Array;->b:I sub-int/2addr v1, v0 :goto_9 if-ltz v1, :cond_e .line 257 invoke-virtual {v3, v1}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/badlogic/gdx/utils/FloatArray; .line 258 iget v2, v0, Lcom/badlogic/gdx/utils/FloatArray;->b:I if-nez v2, :cond_d .line 259 invoke-virtual {v3, v1}, Lcom/badlogic/gdx/utils/Array;->b(I)Ljava/lang/Object; move-object/from16 v2, p0 .line 260 iget-object v4, v2, Lcom/esotericsoftware/spine/utils/Triangulator;->f:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v4, v0}, Lcom/badlogic/gdx/utils/Pool;->a(Ljava/lang/Object;)V move-object/from16 v0, v32 .line 261 invoke-virtual {v0, v1}, Lcom/badlogic/gdx/utils/Array;->b(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Lcom/badlogic/gdx/utils/ShortArray; .line 262 iget-object v5, v2, Lcom/esotericsoftware/spine/utils/Triangulator;->g:Lcom/badlogic/gdx/utils/Pool; invoke-virtual {v5, v4}, Lcom/badlogic/gdx/utils/Pool;->a(Ljava/lang/Object;)V goto :goto_a :cond_d move-object/from16 v0, v32 move-object/from16 v2, p0 :goto_a add-int/lit8 v1, v1, -0x1 move-object/from16 v32, v0 goto :goto_9 :cond_e move-object/from16 v2, p0 return-object v3 .end method .method public a(Lcom/badlogic/gdx/utils/FloatArray;)Lcom/badlogic/gdx/utils/ShortArray; .locals 28 move-object/from16 v0, p0 move-object/from16 v1, p1 .line 60 iget-object v2, v1, Lcom/badlogic/gdx/utils/FloatArray;->a:[F .line 61 iget v1, v1, Lcom/badlogic/gdx/utils/FloatArray;->b:I const/4 v3, 0x1 shr-int/2addr v1, v3 .line 63 iget-object v4, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->c:Lcom/badlogic/gdx/utils/ShortArray; .line 64 invoke-virtual {v4}, Lcom/badlogic/gdx/utils/ShortArray;->a()V .line 65 invoke-virtual {v4, v1}, Lcom/badlogic/gdx/utils/ShortArray;->e(I)[S move-result-object v5 const/4 v6, 0x0 const/4 v7, 0x0 :goto_0 if-ge v7, v1, :cond_0 .line 67 aput-short v7, v5, v7 add-int/lit8 v7, v7, 0x1 int-to-short v7, v7 goto :goto_0 .line 69 :cond_0 iget-object v7, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->d:Lcom/badlogic/gdx/utils/BooleanArray; .line 70 invoke-virtual {v7, v1}, Lcom/badlogic/gdx/utils/BooleanArray;->b(I)[Z move-result-object v8 const/4 v9, 0x0 :goto_1 if-ge v9, v1, :cond_1 .line 72 invoke-static {v9, v1, v2, v5}, Lcom/esotericsoftware/spine/utils/Triangulator;->a(II[F[S)Z move-result v10 aput-boolean v10, v8, v9 add-int/lit8 v9, v9, 0x1 goto :goto_1 .line 74 :cond_1 iget-object v9, v0, Lcom/esotericsoftware/spine/utils/Triangulator;->e:Lcom/badlogic/gdx/utils/ShortArray; .line 75 invoke-virtual {v9}, Lcom/badlogic/gdx/utils/ShortArray;->a()V add-int/lit8 v10, v1, -0x2 .line 76 invoke-static {v6, v10}, Ljava/lang/Math;->max(II)I move-result v10 const/4 v11, 0x2 shl-int/2addr v10, v11 invoke-virtual {v9, v10}, Lcom/badlogic/gdx/utils/ShortArray;->d(I)[S :goto_2 const/4 v10, 0x3 if-le v1, v10, :cond_a add-int/lit8 v10, v1, -0x1 move v12, v10 const/4 v10, 0x0 const/4 v13, 0x1 .line 83 :goto_3 aget-boolean v14, v8, v10 if-nez v14, :cond_5 .line 84 aget-short v14, v5, v12 shl-int/2addr v14, v3 aget-short v15, v5, v10 shl-int/2addr v15, v3 aget-short v16, v5, v13 shl-int/lit8 v16, v16, 0x1 .line 85 aget v23, v2, v14 add-int/2addr v14, v3 aget v14, v2, v14 .line 86 aget v24, v2, v15 add-int/2addr v15, v3 aget v15, v2, v15 .line 87 aget v25, v2, v16 add-int/lit8 v16, v16, 0x1 aget v16, v2, v16 add-int/lit8 v17, v13, 0x1 .line 88 rem-int v17, v17, v1 move/from16 v6, v17 :goto_4 if-eq v6, v12, :cond_4 .line 89 aget-boolean v17, v8, v6 if-nez v17, :cond_2 goto :goto_5 .line 90 :cond_2 aget-short v17, v5, v6 shl-int/lit8 v17, v17, 0x1 .line 91 aget v26, v2, v17 add-int/lit8 v17, v17, 0x1 aget v27, v2, v17 move/from16 v17, v25 move/from16 v18, v16 move/from16 v19, v23 move/from16 v20, v14 move/from16 v21, v26 move/from16 v22, v27 .line 92 invoke-static/range {v17 .. v22}, Lcom/esotericsoftware/spine/utils/Triangulator;->a(FFFFFF)Z move-result v17 if-eqz v17, :cond_3 move/from16 v17, v23 move/from16 v18, v14 move/from16 v19, v24 move/from16 v20, v15 move/from16 v21, v26 move/from16 v22, v27 .line 93 invoke-static/range {v17 .. v22}, Lcom/esotericsoftware/spine/utils/Triangulator;->a(FFFFFF)Z move-result v17 if-eqz v17, :cond_3 move/from16 v17, v24 move/from16 v18, v15 move/from16 v19, v25 move/from16 v20, v16 move/from16 v21, v26 move/from16 v22, v27 .line 94 invoke-static/range {v17 .. v22}, Lcom/esotericsoftware/spine/utils/Triangulator;->a(FFFFFF)Z move-result v17 if-eqz v17, :cond_3 goto :goto_7 :cond_3 :goto_5 add-int/lit8 v6, v6, 0x1 .line 88 rem-int/2addr v6, v1 goto :goto_4 :cond_4 :goto_6 move v6, v10 goto :goto_8 :cond_5 :goto_7 if-nez v13, :cond_9 .line 103 :cond_6 aget-boolean v6, v8, v10 if-nez v6, :cond_7 goto :goto_6 :cond_7 add-int/lit8 v10, v10, -0x1 if-gtz v10, :cond_6 goto :goto_6 :goto_8 add-int v10, v1, v6 sub-int/2addr v10, v3 .line 115 rem-int/2addr v10, v1 aget-short v10, v5, v10 invoke-virtual {v9, v10}, Lcom/badlogic/gdx/utils/ShortArray;->a(S)V .line 116 aget-short v10, v5, v6 invoke-virtual {v9, v10}, Lcom/badlogic/gdx/utils/ShortArray;->a(S)V add-int/lit8 v10, v6, 0x1 .line 117 rem-int/2addr v10, v1 aget-short v10, v5, v10 invoke-virtual {v9, v10}, Lcom/badlogic/gdx/utils/ShortArray;->a(S)V .line 118 invoke-virtual {v4, v6}, Lcom/badlogic/gdx/utils/ShortArray;->c(I)S .line 119 invoke-virtual {v7, v6}, Lcom/badlogic/gdx/utils/BooleanArray;->a(I)Z add-int/lit8 v1, v1, -0x1 add-int v10, v1, v6 sub-int/2addr v10, v3 .line 122 rem-int/2addr v10, v1 if-ne v6, v1, :cond_8 const/4 v6, 0x0 .line 124 :cond_8 invoke-static {v10, v1, v2, v5}, Lcom/esotericsoftware/spine/utils/Triangulator;->a(II[F[S)Z move-result v12 aput-boolean v12, v8, v10 .line 125 invoke-static {v6, v1, v2, v5}, Lcom/esotericsoftware/spine/utils/Triangulator;->a(II[F[S)Z move-result v10 aput-boolean v10, v8, v6 const/4 v6, 0x0 goto/16 :goto_2 :cond_9 add-int/lit8 v6, v13, 0x1 .line 111 rem-int/2addr v6, v1 move v12, v10 move v10, v13 move v13, v6 const/4 v6, 0x0 goto/16 :goto_3 :cond_a if-ne v1, v10, :cond_b .line 129 aget-short v1, v5, v11 invoke-virtual {v9, v1}, Lcom/badlogic/gdx/utils/ShortArray;->a(S)V const/4 v1, 0x0 .line 130 aget-short v1, v5, v1 invoke-virtual {v9, v1}, Lcom/badlogic/gdx/utils/ShortArray;->a(S)V .line 131 aget-short v1, v5, v3 invoke-virtual {v9, v1}, Lcom/badlogic/gdx/utils/ShortArray;->a(S)V :cond_b return-object v9 .end method