.class public Lcom/esotericsoftware/spine/PathConstraint; .super Ljava/lang/Object; .source "PathConstraint.java" # interfaces .implements Lcom/esotericsoftware/spine/Constraint; # instance fields .field final a:Lcom/esotericsoftware/spine/PathConstraintData; .field final b:Lcom/badlogic/gdx/utils/Array; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/badlogic/gdx/utils/Array<", "Lcom/esotericsoftware/spine/Bone;", ">;" } .end annotation .end field .field c:Lcom/esotericsoftware/spine/Slot; .field d:F .field e:F .field f:F .field g:F .field private final h:Lcom/badlogic/gdx/utils/FloatArray; .field private final i:Lcom/badlogic/gdx/utils/FloatArray; .field private final j:Lcom/badlogic/gdx/utils/FloatArray; .field private final k:Lcom/badlogic/gdx/utils/FloatArray; .field private final l:Lcom/badlogic/gdx/utils/FloatArray; .field private final m:[F # direct methods .method public constructor (Lcom/esotericsoftware/spine/PathConstraintData;Lcom/esotericsoftware/spine/Skeleton;)V .locals 3 .line 59 invoke-direct {p0}, Ljava/lang/Object;->()V .line 55 new-instance v0, Lcom/badlogic/gdx/utils/FloatArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/FloatArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->h:Lcom/badlogic/gdx/utils/FloatArray; new-instance v0, Lcom/badlogic/gdx/utils/FloatArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/FloatArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->i:Lcom/badlogic/gdx/utils/FloatArray; .line 56 new-instance v0, Lcom/badlogic/gdx/utils/FloatArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/FloatArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->j:Lcom/badlogic/gdx/utils/FloatArray; new-instance v0, Lcom/badlogic/gdx/utils/FloatArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/FloatArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->k:Lcom/badlogic/gdx/utils/FloatArray; new-instance v0, Lcom/badlogic/gdx/utils/FloatArray; invoke-direct {v0}, Lcom/badlogic/gdx/utils/FloatArray;->()V iput-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->l:Lcom/badlogic/gdx/utils/FloatArray; const/16 v0, 0xa .line 57 new-array v0, v0, [F iput-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->m:[F if-eqz p1, :cond_2 if-eqz p2, :cond_1 .line 62 iput-object p1, p0, Lcom/esotericsoftware/spine/PathConstraint;->a:Lcom/esotericsoftware/spine/PathConstraintData; .line 63 new-instance v0, Lcom/badlogic/gdx/utils/Array; iget-object v1, p1, Lcom/esotericsoftware/spine/PathConstraintData;->c:Lcom/badlogic/gdx/utils/Array; iget v1, v1, Lcom/badlogic/gdx/utils/Array;->b:I invoke-direct {v0, v1}, Lcom/badlogic/gdx/utils/Array;->(I)V iput-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->b:Lcom/badlogic/gdx/utils/Array; .line 64 iget-object v0, p1, Lcom/esotericsoftware/spine/PathConstraintData;->c:Lcom/badlogic/gdx/utils/Array; invoke-virtual {v0}, Lcom/badlogic/gdx/utils/Array;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/esotericsoftware/spine/BoneData; .line 65 iget-object v2, p0, Lcom/esotericsoftware/spine/PathConstraint;->b:Lcom/badlogic/gdx/utils/Array; iget-object v1, v1, Lcom/esotericsoftware/spine/BoneData;->b:Ljava/lang/String; invoke-virtual {p2, v1}, Lcom/esotericsoftware/spine/Skeleton;->a(Ljava/lang/String;)Lcom/esotericsoftware/spine/Bone; move-result-object v1 invoke-virtual {v2, v1}, Lcom/badlogic/gdx/utils/Array;->a(Ljava/lang/Object;)V goto :goto_0 .line 66 :cond_0 iget-object v0, p1, Lcom/esotericsoftware/spine/PathConstraintData;->d:Lcom/esotericsoftware/spine/SlotData; iget-object v0, v0, Lcom/esotericsoftware/spine/SlotData;->b:Ljava/lang/String; invoke-virtual {p2, v0}, Lcom/esotericsoftware/spine/Skeleton;->b(Ljava/lang/String;)Lcom/esotericsoftware/spine/Slot; move-result-object p2 iput-object p2, p0, Lcom/esotericsoftware/spine/PathConstraint;->c:Lcom/esotericsoftware/spine/Slot; .line 67 iget p2, p1, Lcom/esotericsoftware/spine/PathConstraintData;->i:F iput p2, p0, Lcom/esotericsoftware/spine/PathConstraint;->d:F .line 68 iget p2, p1, Lcom/esotericsoftware/spine/PathConstraintData;->j:F iput p2, p0, Lcom/esotericsoftware/spine/PathConstraint;->e:F .line 69 iget p2, p1, Lcom/esotericsoftware/spine/PathConstraintData;->k:F iput p2, p0, Lcom/esotericsoftware/spine/PathConstraint;->f:F .line 70 iget p1, p1, Lcom/esotericsoftware/spine/PathConstraintData;->l:F iput p1, p0, Lcom/esotericsoftware/spine/PathConstraint;->g:F return-void .line 61 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "skeleton cannot be null." invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 60 :cond_2 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "data cannot be null." invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method private a(FFFFFFFFF[FIZ)V .locals 14 const v5, 0x3727c5ac # 1.0E-5f cmpg-float v7, p1, v5 if-ltz v7, :cond_1 .line 423 invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z move-result v7 if-eqz v7, :cond_0 goto :goto_0 :cond_0 move v5, p1 :cond_1 :goto_0 mul-float v6, v5, v5 mul-float v7, v6, v5 const/high16 v8, 0x3f800000 # 1.0f sub-float/2addr v8, v5 mul-float v9, v8, v8 mul-float v10, v9, v8 mul-float v11, v8, v5 const/high16 v12, 0x40400000 # 3.0f mul-float v12, v12, v11 mul-float v8, v8, v12 mul-float v12, v12, v5 mul-float v5, p2, v10 mul-float v13, p4, v8 add-float/2addr v5, v13 mul-float v13, p6, v12 add-float/2addr v5, v13 mul-float v13, p8, v7 add-float/2addr v5, v13 mul-float v10, v10, p3 mul-float v8, v8, p5 add-float/2addr v10, v8 mul-float v8, p7, v12 add-float/2addr v10, v8 mul-float v7, v7, p9 add-float/2addr v10, v7 .line 427 aput v5, p10, p11 add-int/lit8 v7, p11, 0x1 .line 428 aput v10, p10, v7 if-eqz p12, :cond_2 add-int/lit8 v4, p11, 0x2 mul-float v1, p3, v9 mul-float v3, p5, v11 const/high16 v7, 0x40000000 # 2.0f mul-float v3, v3, v7 add-float/2addr v1, v3 mul-float v3, p7, v6 add-float/2addr v1, v3 sub-float/2addr v10, v1 float-to-double v7, v10 mul-float v0, p2, v9 mul-float v1, p4, v11 const/high16 v2, 0x40000000 # 2.0f mul-float v1, v1, v2 add-float/2addr v0, v1 mul-float v1, p6, v6 add-float/2addr v0, v1 sub-float/2addr v5, v0 float-to-double v0, v5 .line 430 invoke-static {v7, v8, v0, v1}, Ljava/lang/Math;->atan2(DD)D move-result-wide v0 double-to-float v0, v0 aput v0, p10, v4 :cond_2 return-void .end method .method private a(F[FI[FI)V .locals 6 .line 408 aget v0, p2, p3 add-int/lit8 v1, p3, 0x1 aget v1, p2, v1 add-int/lit8 v2, p3, 0x2 aget v2, p2, v2 sub-float/2addr v2, v0 add-int/lit8 p3, p3, 0x3 aget p2, p2, p3 sub-float/2addr p2, v1 float-to-double p2, p2 float-to-double v2, v2 invoke-static {p2, p3, v2, v3}, Ljava/lang/Math;->atan2(DD)D move-result-wide p2 double-to-float p2, p2 float-to-double v2, p2 .line 409 invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D move-result-wide v4 double-to-float p3, v4 mul-float p3, p3, p1 add-float/2addr v0, p3 aput v0, p4, p5 add-int/lit8 p3, p5, 0x1 .line 410 invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D move-result-wide v2 double-to-float v0, v2 mul-float p1, p1, v0 add-float/2addr v1, p1 aput v1, p4, p3 add-int/lit8 p5, p5, 0x2 .line 411 aput p2, p4, p5 return-void .end method .method private b(F[FI[FI)V .locals 6 add-int/lit8 v0, p3, 0x2 .line 415 aget v0, p2, v0 add-int/lit8 v1, p3, 0x3 aget v1, p2, v1 aget v2, p2, p3 sub-float v2, v0, v2 add-int/lit8 p3, p3, 0x1 aget p2, p2, p3 sub-float p2, v1, p2 float-to-double p2, p2 float-to-double v2, v2 invoke-static {p2, p3, v2, v3}, Ljava/lang/Math;->atan2(DD)D move-result-wide p2 double-to-float p2, p2 float-to-double v2, p2 .line 416 invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D move-result-wide v4 double-to-float p3, v4 mul-float p3, p3, p1 add-float/2addr v0, p3 aput v0, p4, p5 add-int/lit8 p3, p5, 0x1 .line 417 invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D move-result-wide v2 double-to-float v0, v2 mul-float p1, p1, v0 add-float/2addr v1, p1 aput v1, p4, p3 add-int/lit8 p5, p5, 0x2 .line 418 aput p2, p4, p5 return-void .end method # virtual methods .method public a()V .locals 36 move-object/from16 v6, p0 .line 95 iget-object v0, v6, Lcom/esotericsoftware/spine/PathConstraint;->c:Lcom/esotericsoftware/spine/Slot; iget-object v0, v0, Lcom/esotericsoftware/spine/Slot;->e:Lcom/esotericsoftware/spine/attachments/Attachment; .line 96 instance-of v1, v0, Lcom/esotericsoftware/spine/attachments/PathAttachment; if-nez v1, :cond_0 return-void .line 98 :cond_0 iget v7, v6, Lcom/esotericsoftware/spine/PathConstraint;->f:F iget v8, v6, Lcom/esotericsoftware/spine/PathConstraint;->g:F const/4 v9, 0x0 cmpl-float v1, v8, v9 if-lez v1, :cond_1 const/4 v1, 0x1 goto :goto_0 :cond_1 const/4 v1, 0x0 :goto_0 cmpl-float v2, v7, v9 if-lez v2, :cond_2 const/4 v12, 0x1 goto :goto_1 :cond_2 const/4 v12, 0x0 :goto_1 if-nez v1, :cond_3 if-nez v12, :cond_3 return-void .line 102 :cond_3 iget-object v13, v6, Lcom/esotericsoftware/spine/PathConstraint;->a:Lcom/esotericsoftware/spine/PathConstraintData; .line 103 iget-object v1, v13, Lcom/esotericsoftware/spine/PathConstraintData;->f:Lcom/esotericsoftware/spine/PathConstraintData$SpacingMode; .line 104 sget-object v2, Lcom/esotericsoftware/spine/PathConstraintData$SpacingMode;->length:Lcom/esotericsoftware/spine/PathConstraintData$SpacingMode; if-ne v1, v2, :cond_4 const/4 v2, 0x1 goto :goto_2 :cond_4 const/4 v2, 0x0 .line 105 :goto_2 iget-object v14, v13, Lcom/esotericsoftware/spine/PathConstraintData;->g:Lcom/esotericsoftware/spine/PathConstraintData$RotateMode; .line 106 sget-object v3, Lcom/esotericsoftware/spine/PathConstraintData$RotateMode;->tangent:Lcom/esotericsoftware/spine/PathConstraintData$RotateMode; if-ne v14, v3, :cond_5 const/4 v15, 0x1 goto :goto_3 :cond_5 const/4 v15, 0x0 :goto_3 sget-object v3, Lcom/esotericsoftware/spine/PathConstraintData$RotateMode;->chainScale:Lcom/esotericsoftware/spine/PathConstraintData$RotateMode; if-ne v14, v3, :cond_6 const/16 v16, 0x1 goto :goto_4 :cond_6 const/16 v16, 0x0 .line 107 :goto_4 iget-object v3, v6, Lcom/esotericsoftware/spine/PathConstraint;->b:Lcom/badlogic/gdx/utils/Array; iget v5, v3, Lcom/badlogic/gdx/utils/Array;->b:I if-eqz v15, :cond_7 move v3, v5 goto :goto_5 :cond_7 add-int/lit8 v3, v5, 0x1 .line 108 :goto_5 iget-object v4, v6, Lcom/esotericsoftware/spine/PathConstraint;->b:Lcom/badlogic/gdx/utils/Array; iget-object v4, v4, Lcom/badlogic/gdx/utils/Array;->a:[Ljava/lang/Object; .line 109 iget-object v11, v6, Lcom/esotericsoftware/spine/PathConstraint;->h:Lcom/badlogic/gdx/utils/FloatArray; invoke-virtual {v11, v3}, Lcom/badlogic/gdx/utils/FloatArray;->c(I)[F move-result-object v11 const/16 v18, 0x0 .line 110 iget v10, v6, Lcom/esotericsoftware/spine/PathConstraint;->e:F const v19, 0x3727c5ac # 1.0E-5f if-nez v16, :cond_a if-eqz v2, :cond_8 goto :goto_8 :cond_8 const/4 v2, 0x1 :goto_6 if-ge v2, v3, :cond_9 .line 128 aput v10, v11, v2 add-int/lit8 v2, v2, 0x1 goto :goto_6 :cond_9 move-object/from16 v23, v4 move/from16 v21, v5 :goto_7 move/from16 v26, v7 move/from16 v27, v8 move/from16 v25, v12 goto/16 :goto_d :cond_a :goto_8 if-eqz v16, :cond_b .line 112 iget-object v9, v6, Lcom/esotericsoftware/spine/PathConstraint;->l:Lcom/badlogic/gdx/utils/FloatArray; invoke-virtual {v9, v5}, Lcom/badlogic/gdx/utils/FloatArray;->c(I)[F move-result-object v18 :cond_b add-int/lit8 v9, v3, -0x1 move/from16 v21, v5 const/4 v5, 0x0 :goto_9 if-ge v5, v9, :cond_10 .line 114 aget-object v22, v4, v5 move-object/from16 v23, v4 move-object/from16 v4, v22 check-cast v4, Lcom/esotericsoftware/spine/Bone; move/from16 v24, v9 .line 115 iget-object v9, v4, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData; iget v9, v9, Lcom/esotericsoftware/spine/BoneData;->d:F cmpg-float v22, v9, v19 if-gez v22, :cond_d if-eqz v16, :cond_c const/4 v4, 0x0 .line 117 aput v4, v18, v5 goto :goto_a :cond_c const/4 v4, 0x0 :goto_a add-int/lit8 v5, v5, 0x1 .line 118 aput v4, v11, v5 move/from16 v26, v7 move/from16 v27, v8 move/from16 v25, v12 goto :goto_c :cond_d move/from16 v25, v12 .line 120 iget v12, v4, Lcom/esotericsoftware/spine/Bone;->t:F mul-float v12, v12, v9 iget v4, v4, Lcom/esotericsoftware/spine/Bone;->w:F mul-float v4, v4, v9 mul-float v12, v12, v12 mul-float v4, v4, v4 add-float/2addr v12, v4 move/from16 v26, v7 move/from16 v27, v8 float-to-double v7, v12 .line 121 invoke-static {v7, v8}, Ljava/lang/Math;->sqrt(D)D move-result-wide v7 double-to-float v4, v7 if-eqz v16, :cond_e .line 122 aput v4, v18, v5 :cond_e add-int/lit8 v5, v5, 0x1 if-eqz v2, :cond_f add-float v7, v9, v10 goto :goto_b :cond_f move v7, v10 :goto_b mul-float v7, v7, v4 div-float/2addr v7, v9 .line 123 aput v7, v11, v5 :goto_c move-object/from16 v4, v23 move/from16 v9, v24 move/from16 v12, v25 move/from16 v7, v26 move/from16 v8, v27 goto :goto_9 :cond_10 move-object/from16 v23, v4 goto :goto_7 .line 131 :goto_d move-object v2, v0 check-cast v2, Lcom/esotericsoftware/spine/attachments/PathAttachment; iget-object v0, v13, Lcom/esotericsoftware/spine/PathConstraintData;->e:Lcom/esotericsoftware/spine/PathConstraintData$PositionMode; sget-object v4, Lcom/esotericsoftware/spine/PathConstraintData$PositionMode;->percent:Lcom/esotericsoftware/spine/PathConstraintData$PositionMode; if-ne v0, v4, :cond_11 const/4 v4, 0x1 goto :goto_e :cond_11 const/4 v4, 0x0 :goto_e sget-object v0, Lcom/esotericsoftware/spine/PathConstraintData$SpacingMode;->percent:Lcom/esotericsoftware/spine/PathConstraintData$SpacingMode; if-ne v1, v0, :cond_12 const/4 v5, 0x1 goto :goto_f :cond_12 const/4 v5, 0x0 :goto_f move-object/from16 v0, p0 move-object v1, v2 move v2, v3 move v3, v15 move-object/from16 v7, v23 move/from16 v8, v21 invoke-virtual/range {v0 .. v5}, Lcom/esotericsoftware/spine/PathConstraint;->a(Lcom/esotericsoftware/spine/attachments/PathAttachment;IZZZ)[F move-result-object v0 const/4 v1, 0x0 .line 133 aget v2, v0, v1 const/4 v1, 0x1 aget v3, v0, v1 iget v4, v13, Lcom/esotericsoftware/spine/PathConstraintData;->h:F const/4 v5, 0x0 cmpl-float v9, v4, v5 if-nez v9, :cond_13 .line 136 sget-object v5, Lcom/esotericsoftware/spine/PathConstraintData$RotateMode;->chain:Lcom/esotericsoftware/spine/PathConstraintData$RotateMode; if-ne v14, v5, :cond_15 const/4 v10, 0x1 goto :goto_11 .line 139 :cond_13 iget-object v1, v6, Lcom/esotericsoftware/spine/PathConstraint;->c:Lcom/esotericsoftware/spine/Slot; iget-object v1, v1, Lcom/esotericsoftware/spine/Slot;->b:Lcom/esotericsoftware/spine/Bone; .line 140 iget v5, v1, Lcom/esotericsoftware/spine/Bone;->t:F iget v9, v1, Lcom/esotericsoftware/spine/Bone;->x:F mul-float v5, v5, v9 iget v9, v1, Lcom/esotericsoftware/spine/Bone;->u:F iget v1, v1, Lcom/esotericsoftware/spine/Bone;->w:F mul-float v9, v9, v1 sub-float/2addr v5, v9 const/4 v1, 0x0 cmpl-float v1, v5, v1 if-lez v1, :cond_14 const v1, 0x3c8efa35 goto :goto_10 :cond_14 const v1, -0x437105cb :goto_10 mul-float v4, v4, v1 :cond_15 const/4 v10, 0x0 :goto_11 const/4 v1, 0x3 const/4 v1, 0x0 const/4 v5, 0x3 :goto_12 if-ge v1, v8, :cond_1d .line 143 aget-object v9, v7, v1 check-cast v9, Lcom/esotericsoftware/spine/Bone; .line 144 iget v12, v9, Lcom/esotericsoftware/spine/Bone;->v:F iget v13, v9, Lcom/esotericsoftware/spine/Bone;->v:F sub-float v13, v2, v13 mul-float v13, v13, v27 add-float/2addr v12, v13 iput v12, v9, Lcom/esotericsoftware/spine/Bone;->v:F .line 145 iget v12, v9, Lcom/esotericsoftware/spine/Bone;->y:F iget v13, v9, Lcom/esotericsoftware/spine/Bone;->y:F sub-float v13, v3, v13 mul-float v13, v13, v27 add-float/2addr v12, v13 iput v12, v9, Lcom/esotericsoftware/spine/Bone;->y:F .line 146 aget v12, v0, v5 add-int/lit8 v13, v5, 0x1 aget v13, v0, v13 sub-float v2, v12, v2 sub-float v3, v13, v3 if-eqz v16, :cond_16 .line 148 aget v14, v18, v1 cmpl-float v17, v14, v19 if-ltz v17, :cond_16 mul-float v17, v2, v2 mul-float v20, v3, v3 add-float v6, v17, v20 move-object/from16 v28, v7 float-to-double v6, v6 .line 150 invoke-static {v6, v7}, Ljava/lang/Math;->sqrt(D)D move-result-wide v6 double-to-float v6, v6 div-float/2addr v6, v14 const/high16 v7, 0x3f800000 # 1.0f sub-float/2addr v6, v7 mul-float v6, v6, v26 add-float/2addr v6, v7 .line 151 iget v7, v9, Lcom/esotericsoftware/spine/Bone;->t:F mul-float v7, v7, v6 iput v7, v9, Lcom/esotericsoftware/spine/Bone;->t:F .line 152 iget v7, v9, Lcom/esotericsoftware/spine/Bone;->w:F mul-float v7, v7, v6 iput v7, v9, Lcom/esotericsoftware/spine/Bone;->w:F goto :goto_13 :cond_16 move-object/from16 v28, v7 :goto_13 if-eqz v25, :cond_1c .line 158 iget v6, v9, Lcom/esotericsoftware/spine/Bone;->t:F iget v7, v9, Lcom/esotericsoftware/spine/Bone;->u:F iget v14, v9, Lcom/esotericsoftware/spine/Bone;->w:F move/from16 v29, v8 iget v8, v9, Lcom/esotericsoftware/spine/Bone;->x:F if-eqz v15, :cond_17 add-int/lit8 v17, v5, -0x1 .line 160 aget v17, v0, v17 :goto_14 move-object/from16 v30, v0 move/from16 v31, v1 move/from16 v32, v7 move/from16 v33, v8 goto :goto_15 :cond_17 add-int/lit8 v17, v1, 0x1 .line 161 aget v17, v11, v17 cmpg-float v17, v17, v19 if-gez v17, :cond_18 add-int/lit8 v17, v5, 0x2 .line 162 aget v17, v0, v17 goto :goto_14 :cond_18 move-object/from16 v30, v0 move/from16 v31, v1 float-to-double v0, v3 move/from16 v32, v7 move/from16 v33, v8 float-to-double v7, v2 .line 164 invoke-static {v0, v1, v7, v8}, Ljava/lang/Math;->atan2(DD)D move-result-wide v0 double-to-float v0, v0 move/from16 v17, v0 :goto_15 float-to-double v0, v14 float-to-double v7, v6 .line 165 invoke-static {v0, v1, v7, v8}, Ljava/lang/Math;->atan2(DD)D move-result-wide v0 double-to-float v0, v0 sub-float v0, v17, v0 if-eqz v10, :cond_19 float-to-double v7, v0 move/from16 v35, v10 move-object/from16 v34, v11 .line 167 invoke-static {v7, v8}, Ljava/lang/Math;->cos(D)D move-result-wide v10 double-to-float v1, v10 .line 168 invoke-static {v7, v8}, Ljava/lang/Math;->sin(D)D move-result-wide v7 double-to-float v7, v7 .line 169 iget-object v8, v9, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData; iget v8, v8, Lcom/esotericsoftware/spine/BoneData;->d:F mul-float v10, v1, v6 mul-float v11, v7, v14 sub-float/2addr v10, v11 mul-float v10, v10, v8 sub-float/2addr v10, v2 mul-float v10, v10, v26 add-float/2addr v12, v10 mul-float v7, v7, v6 mul-float v1, v1, v14 add-float/2addr v7, v1 mul-float v8, v8, v7 sub-float/2addr v8, v3 mul-float v8, v8, v26 add-float/2addr v13, v8 goto :goto_16 :cond_19 move/from16 v35, v10 move-object/from16 v34, v11 add-float/2addr v0, v4 :goto_16 const v1, 0x40490fdb # (float)Math.PI const v2, 0x40c90fdb cmpl-float v1, v0, v1 if-lez v1, :cond_1a sub-float/2addr v0, v2 goto :goto_17 :cond_1a const v1, -0x3fb6f025 cmpg-float v1, v0, v1 if-gez v1, :cond_1b add-float/2addr v0, v2 :cond_1b :goto_17 mul-float v0, v0, v26 float-to-double v0, v0 .line 179 invoke-static {v0, v1}, Ljava/lang/Math;->cos(D)D move-result-wide v2 double-to-float v2, v2 .line 180 invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D move-result-wide v0 double-to-float v0, v0 mul-float v1, v2, v6 mul-float v3, v0, v14 sub-float/2addr v1, v3 .line 181 iput v1, v9, Lcom/esotericsoftware/spine/Bone;->t:F mul-float v7, v2, v32 mul-float v8, v0, v33 sub-float/2addr v7, v8 .line 182 iput v7, v9, Lcom/esotericsoftware/spine/Bone;->u:F mul-float v6, v6, v0 mul-float v14, v14, v2 add-float/2addr v6, v14 .line 183 iput v6, v9, Lcom/esotericsoftware/spine/Bone;->w:F mul-float v0, v0, v32 mul-float v2, v2, v33 add-float/2addr v0, v2 .line 184 iput v0, v9, Lcom/esotericsoftware/spine/Bone;->x:F goto :goto_18 :cond_1c move-object/from16 v30, v0 move/from16 v31, v1 move/from16 v29, v8 move/from16 v35, v10 move-object/from16 v34, v11 :goto_18 move v2, v12 move v3, v13 const/4 v0, 0x0 .line 186 iput-boolean v0, v9, Lcom/esotericsoftware/spine/Bone;->s:Z add-int/lit8 v1, v31, 0x1 add-int/lit8 v5, v5, 0x3 move-object/from16 v7, v28 move/from16 v8, v29 move-object/from16 v0, v30 move-object/from16 v11, v34 move/from16 v10, v35 move-object/from16 v6, p0 goto/16 :goto_12 :cond_1d return-void .end method .method a(Lcom/esotericsoftware/spine/attachments/PathAttachment;IZZZ)[F .locals 47 move-object/from16 v13, p0 move/from16 v14, p2 .line 192 iget-object v12, v13, Lcom/esotericsoftware/spine/PathConstraint;->c:Lcom/esotericsoftware/spine/Slot; .line 193 iget v9, v13, Lcom/esotericsoftware/spine/PathConstraint;->d:F .line 194 iget-object v2, v13, Lcom/esotericsoftware/spine/PathConstraint;->h:Lcom/badlogic/gdx/utils/FloatArray; iget-object v11, v2, Lcom/badlogic/gdx/utils/FloatArray;->a:[F iget-object v2, v13, Lcom/esotericsoftware/spine/PathConstraint;->i:Lcom/badlogic/gdx/utils/FloatArray; mul-int/lit8 v3, v14, 0x3 const/16 v16, 0x2 add-int/lit8 v3, v3, 0x2 invoke-virtual {v2, v3}, Lcom/badlogic/gdx/utils/FloatArray;->c(I)[F move-result-object v17 .line 195 invoke-virtual/range {p1 .. p1}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->b()Z move-result v18 .line 196 invoke-virtual/range {p1 .. p1}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->i()I move-result v19 div-int/lit8 v10, v19, 0x6 .line 198 invoke-virtual/range {p1 .. p1}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->c()Z move-result v2 const/16 v20, -0x1 const/16 v8, 0x8 const/16 v21, 0x4 const/16 v22, 0x6 const/16 v23, 0x0 const/16 v24, 0x0 const/16 v25, 0x1 if-nez v2, :cond_10 .line 199 invoke-virtual/range {p1 .. p1}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->d()[F move-result-object v26 if-eqz v18, :cond_0 const/4 v2, 0x1 goto :goto_0 :cond_0 const/4 v2, 0x2 :goto_0 sub-int/2addr v10, v2 .line 201 aget v27, v26, v10 if-eqz p4, :cond_1 mul-float v9, v9, v27 :cond_1 if-eqz p5, :cond_2 const/4 v0, 0x0 :goto_1 if-ge v0, v14, :cond_2 .line 205 aget v1, v11, v0 mul-float v1, v1, v27 aput v1, v11, v0 add-int/lit8 v0, v0, 0x1 goto :goto_1 .line 207 :cond_2 iget-object v0, v13, Lcom/esotericsoftware/spine/PathConstraint;->j:Lcom/badlogic/gdx/utils/FloatArray; invoke-virtual {v0, v8}, Lcom/badlogic/gdx/utils/FloatArray;->c(I)[F move-result-object v28 move v0, v9 const/4 v1, -0x1 const/4 v7, 0x0 const/4 v9, 0x0 const/16 v20, 0x0 :goto_2 if-ge v9, v14, :cond_f .line 209 aget v8, v11, v9 add-float v29, v0, v8 if-eqz v18, :cond_4 rem-float v0, v29, v27 cmpg-float v2, v0, v23 if-gez v2, :cond_3 add-float v0, v0, v27 :cond_3 const/4 v7, 0x0 goto/16 :goto_6 :cond_4 cmpg-float v0, v29, v23 if-gez v0, :cond_6 const/4 v0, -0x2 if-eq v1, v0, :cond_5 const/4 v8, -0x2 const/4 v2, 0x2 const/4 v3, 0x4 const/4 v5, 0x0 const/4 v6, 0x2 move-object/from16 v0, p1 move-object v1, v12 move-object/from16 v4, v28 .line 220 invoke-virtual/range {v0 .. v6}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V goto :goto_3 :cond_5 move v8, v1 :goto_3 const/4 v3, 0x0 move-object/from16 v0, p0 move/from16 v1, v29 move-object/from16 v2, v28 move-object/from16 v4, v17 move/from16 v5, v20 .line 222 invoke-direct/range {v0 .. v5}, Lcom/esotericsoftware/spine/PathConstraint;->a(F[FI[FI)V :goto_4 move v1, v8 move/from16 v32, v9 move/from16 v33, v10 move-object/from16 v34, v11 move-object/from16 v36, v12 goto/16 :goto_d :cond_6 cmpl-float v0, v29, v27 if-lez v0, :cond_8 const/4 v0, -0x3 if-eq v1, v0, :cond_7 const/4 v8, -0x3 add-int/lit8 v2, v19, -0x6 const/4 v3, 0x4 const/4 v5, 0x0 const/4 v6, 0x2 move-object/from16 v0, p1 move-object v1, v12 move-object/from16 v4, v28 .line 227 invoke-virtual/range {v0 .. v6}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V goto :goto_5 :cond_7 move v8, v1 :goto_5 sub-float v1, v29, v27 const/4 v3, 0x0 move-object/from16 v0, p0 move-object/from16 v2, v28 move-object/from16 v4, v17 move/from16 v5, v20 .line 229 invoke-direct/range {v0 .. v5}, Lcom/esotericsoftware/spine/PathConstraint;->b(F[FI[FI)V goto :goto_4 :cond_8 move/from16 v0, v29 .line 235 :goto_6 aget v2, v26, v7 cmpl-float v3, v0, v2 if-lez v3, :cond_9 add-int/lit8 v7, v7, 0x1 goto :goto_6 :cond_9 if-nez v7, :cond_a div-float/2addr v0, v2 :goto_7 move/from16 v30, v0 goto :goto_8 :cond_a add-int/lit8 v3, v7, -0x1 .line 240 aget v3, v26, v3 sub-float/2addr v0, v3 sub-float/2addr v2, v3 div-float/2addr v0, v2 goto :goto_7 :goto_8 if-eq v7, v1, :cond_c if-eqz v18, :cond_b if-ne v7, v10, :cond_b add-int/lit8 v2, v19, -0x4 const/4 v3, 0x4 const/4 v5, 0x0 const/4 v6, 0x2 move-object/from16 v0, p1 move-object v1, v12 move-object/from16 v4, v28 .line 248 invoke-virtual/range {v0 .. v6}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V const/4 v2, 0x0 const/4 v5, 0x4 .line 249 invoke-virtual/range {v0 .. v6}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V goto :goto_9 :cond_b mul-int/lit8 v0, v7, 0x6 add-int/lit8 v2, v0, 0x2 const/16 v3, 0x8 const/4 v5, 0x0 const/4 v6, 0x2 move-object/from16 v0, p1 move-object v1, v12 move-object/from16 v4, v28 .line 251 invoke-virtual/range {v0 .. v6}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V :goto_9 move/from16 v31, v7 goto :goto_a :cond_c move/from16 v31, v1 .line 253 :goto_a aget v2, v28, v24 aget v3, v28, v25 aget v4, v28, v16 const/4 v0, 0x3 aget v5, v28, v0 aget v6, v28, v21 const/4 v0, 0x5 aget v32, v28, v0 aget v33, v28, v22 const/4 v0, 0x7 aget v34, v28, v0 if-nez p3, :cond_e if-lez v9, :cond_d const v0, 0x3727c5ac # 1.0E-5f cmpg-float v0, v8, v0 if-gez v0, :cond_d goto :goto_b :cond_d const/16 v35, 0x0 goto :goto_c :cond_e :goto_b const/16 v35, 0x1 :goto_c move-object/from16 v0, p0 move/from16 v1, v30 move/from16 v30, v7 move/from16 v7, v32 move/from16 v8, v33 move/from16 v32, v9 move/from16 v9, v34 move/from16 v33, v10 move-object/from16 v10, v17 move-object/from16 v34, v11 move/from16 v11, v20 move-object/from16 v36, v12 move/from16 v12, v35 invoke-direct/range {v0 .. v12}, Lcom/esotericsoftware/spine/PathConstraint;->a(FFFFFFFFF[FIZ)V move/from16 v7, v30 move/from16 v1, v31 :goto_d add-int/lit8 v9, v32, 0x1 add-int/lit8 v20, v20, 0x3 move/from16 v0, v29 move/from16 v10, v33 move-object/from16 v11, v34 move-object/from16 v12, v36 goto/16 :goto_2 :cond_f return-object v17 :cond_10 move-object/from16 v34, v11 move-object/from16 v36, v12 if-eqz v18, :cond_11 add-int/lit8 v11, v19, 0x2 .line 262 iget-object v2, v13, Lcom/esotericsoftware/spine/PathConstraint;->j:Lcom/badlogic/gdx/utils/FloatArray; invoke-virtual {v2, v11}, Lcom/badlogic/gdx/utils/FloatArray;->c(I)[F move-result-object v12 const/4 v4, 0x2 add-int/lit8 v19, v11, -0x4 const/4 v7, 0x0 const/16 v26, 0x2 move-object/from16 v2, p1 move-object/from16 v3, v36 move/from16 v5, v19 move-object v6, v12 const/16 v15, 0x8 move/from16 v8, v26 .line 263 invoke-virtual/range {v2 .. v8}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V const/4 v4, 0x0 const/4 v5, 0x2 const/4 v8, 0x2 move/from16 v7, v19 .line 264 invoke-virtual/range {v2 .. v8}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V add-int/lit8 v2, v11, -0x2 .line 265 aget v3, v12, v24 aput v3, v12, v2 add-int/lit8 v2, v11, -0x1 .line 266 aget v3, v12, v25 aput v3, v12, v2 :goto_e move/from16 v26, v11 move-object/from16 v19, v12 goto :goto_f :cond_11 const/16 v15, 0x8 add-int/lit8 v10, v10, -0x1 add-int/lit8 v11, v19, -0x4 .line 270 iget-object v2, v13, Lcom/esotericsoftware/spine/PathConstraint;->j:Lcom/badlogic/gdx/utils/FloatArray; invoke-virtual {v2, v11}, Lcom/badlogic/gdx/utils/FloatArray;->c(I)[F move-result-object v12 const/4 v4, 0x2 const/4 v7, 0x0 const/4 v8, 0x2 move-object/from16 v2, p1 move-object/from16 v3, v36 move v5, v11 move-object v6, v12 .line 271 invoke-virtual/range {v2 .. v8}, Lcom/esotericsoftware/spine/attachments/PathAttachment;->a(Lcom/esotericsoftware/spine/Slot;II[FII)V goto :goto_e .line 275 :goto_f iget-object v2, v13, Lcom/esotericsoftware/spine/PathConstraint;->k:Lcom/badlogic/gdx/utils/FloatArray; invoke-virtual {v2, v10}, Lcom/badlogic/gdx/utils/FloatArray;->c(I)[F move-result-object v27 .line 277 aget v2, v19, v24 aget v3, v19, v25 move v4, v3 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 const/4 v11, 0x0 const/4 v12, 0x0 const/16 v28, 0x0 move v3, v2 const/4 v2, 0x0 :goto_10 const v29, 0x3e2aaaab const/high16 v30, 0x40400000 # 3.0f const/high16 v31, 0x40000000 # 2.0f if-ge v2, v10, :cond_12 .line 280 aget v5, v19, v16 add-int/lit8 v6, v16, 0x1 .line 281 aget v6, v19, v6 add-int/lit8 v7, v16, 0x2 .line 282 aget v7, v19, v7 add-int/lit8 v8, v16, 0x3 .line 283 aget v8, v19, v8 add-int/lit8 v11, v16, 0x4 .line 284 aget v11, v19, v11 add-int/lit8 v12, v16, 0x5 .line 285 aget v12, v19, v12 mul-float v32, v5, v31 sub-float v32, v3, v32 add-float v32, v32, v7 const/high16 v33, 0x3e400000 # 0.1875f mul-float v32, v32, v33 mul-float v35, v6, v31 sub-float v35, v4, v35 add-float v35, v35, v8 mul-float v35, v35, v33 sub-float v33, v5, v7 mul-float v33, v33, v30 sub-float v33, v33, v3 add-float v33, v33, v11 const/high16 v36, 0x3dc00000 # 0.09375f mul-float v33, v33, v36 sub-float v37, v6, v8 mul-float v37, v37, v30 sub-float v37, v37, v4 add-float v37, v37, v12 mul-float v37, v37, v36 mul-float v30, v32, v31 add-float v30, v30, v33 mul-float v31, v31, v35 add-float v31, v31, v37 sub-float v3, v5, v3 const/high16 v36, 0x3f400000 # 0.75f mul-float v3, v3, v36 add-float v3, v3, v32 mul-float v32, v33, v29 add-float v3, v3, v32 sub-float v4, v6, v4 const/high16 v32, 0x3f400000 # 0.75f mul-float v4, v4, v32 add-float v4, v4, v35 mul-float v29, v29, v37 add-float v4, v4, v29 mul-float v29, v3, v3 mul-float v32, v4, v4 add-float v15, v29, v32 move/from16 v38, v5 move/from16 v39, v6 float-to-double v5, v15 .line 294 invoke-static {v5, v6}, Ljava/lang/Math;->sqrt(D)D move-result-wide v5 double-to-float v5, v5 add-float v28, v28, v5 add-float v3, v3, v30 add-float v4, v4, v31 add-float v30, v30, v33 add-float v31, v31, v37 mul-float v5, v3, v3 mul-float v6, v4, v4 add-float/2addr v5, v6 float-to-double v5, v5 .line 299 invoke-static {v5, v6}, Ljava/lang/Math;->sqrt(D)D move-result-wide v5 double-to-float v5, v5 add-float v28, v28, v5 add-float v3, v3, v30 add-float v4, v4, v31 mul-float v5, v3, v3 mul-float v6, v4, v4 add-float/2addr v5, v6 float-to-double v5, v5 .line 302 invoke-static {v5, v6}, Ljava/lang/Math;->sqrt(D)D move-result-wide v5 double-to-float v5, v5 add-float v28, v28, v5 add-float v30, v30, v33 add-float v3, v3, v30 add-float v31, v31, v37 add-float v4, v4, v31 mul-float v3, v3, v3 mul-float v4, v4, v4 add-float/2addr v3, v4 float-to-double v3, v3 .line 305 invoke-static {v3, v4}, Ljava/lang/Math;->sqrt(D)D move-result-wide v3 double-to-float v3, v3 add-float v28, v28, v3 .line 306 aput v28, v27, v2 add-int/lit8 v2, v2, 0x1 add-int/lit8 v16, v16, 0x6 move v3, v11 move v4, v12 move/from16 v5, v38 move/from16 v6, v39 const/16 v15, 0x8 goto/16 :goto_10 :cond_12 if-eqz p4, :cond_13 mul-float v9, v9, v28 :cond_13 if-eqz p5, :cond_14 const/4 v0, 0x0 :goto_11 if-ge v0, v14, :cond_14 .line 313 aget v1, v34, v0 mul-float v1, v1, v28 aput v1, v34, v0 add-int/lit8 v0, v0, 0x1 goto :goto_11 .line 316 :cond_14 iget-object v15, v13, Lcom/esotericsoftware/spine/PathConstraint;->m:[F move/from16 v20, v4 move/from16 v22, v5 move/from16 v32, v6 move/from16 v33, v7 move/from16 v35, v8 move/from16 v36, v11 move/from16 v37, v12 const/4 v6, 0x0 const/4 v7, -0x1 const/4 v8, 0x0 const/4 v10, 0x0 const/4 v12, 0x0 const/16 v16, 0x0 move v11, v3 :goto_12 if-ge v12, v14, :cond_21 .line 319 aget v0, v34, v12 add-float v38, v9, v0 if-eqz v18, :cond_16 rem-float v1, v38, v28 cmpg-float v2, v1, v23 if-gez v2, :cond_15 add-float v1, v1, v28 :cond_15 const/4 v9, 0x0 goto :goto_14 :cond_16 cmpg-float v1, v38, v23 if-gez v1, :cond_17 const/4 v3, 0x0 move-object/from16 v0, p0 move/from16 v1, v38 move-object/from16 v2, v19 move-object/from16 v4, v17 move/from16 v5, v16 .line 328 invoke-direct/range {v0 .. v5}, Lcom/esotericsoftware/spine/PathConstraint;->a(F[FI[FI)V goto :goto_13 :cond_17 cmpl-float v1, v38, v28 if-lez v1, :cond_18 sub-float v1, v38, v28 add-int/lit8 v3, v26, -0x4 move-object/from16 v0, p0 move-object/from16 v2, v19 move-object/from16 v4, v17 move/from16 v5, v16 .line 331 invoke-direct/range {v0 .. v5}, Lcom/esotericsoftware/spine/PathConstraint;->b(F[FI[FI)V :goto_13 move/from16 v46, v12 const/16 v39, 0x8 goto/16 :goto_1c :cond_18 move v9, v6 move/from16 v1, v38 .line 337 :goto_14 aget v2, v27, v9 cmpl-float v3, v1, v2 if-lez v3, :cond_19 add-int/lit8 v9, v9, 0x1 goto :goto_14 :cond_19 if-nez v9, :cond_1a div-float/2addr v1, v2 goto :goto_15 :cond_1a add-int/lit8 v3, v9, -0x1 .line 342 aget v3, v27, v3 sub-float/2addr v1, v3 sub-float/2addr v2, v3 div-float/2addr v1, v2 :goto_15 if-eq v9, v7, :cond_1c mul-int/lit8 v2, v9, 0x6 .line 352 aget v3, v19, v2 add-int/lit8 v4, v2, 0x1 .line 353 aget v4, v19, v4 add-int/lit8 v5, v2, 0x2 .line 354 aget v5, v19, v5 add-int/lit8 v6, v2, 0x3 .line 355 aget v6, v19, v6 add-int/lit8 v7, v2, 0x4 .line 356 aget v7, v19, v7 add-int/lit8 v8, v2, 0x5 .line 357 aget v8, v19, v8 add-int/lit8 v10, v2, 0x6 .line 358 aget v10, v19, v10 add-int/lit8 v2, v2, 0x7 .line 359 aget v2, v19, v2 mul-float v11, v5, v31 sub-float v11, v3, v11 add-float/2addr v11, v7 const v20, 0x3cf5c28f # 0.03f mul-float v11, v11, v20 mul-float v20, v6, v31 sub-float v20, v4, v20 add-float v20, v20, v8 const v22, 0x3cf5c28f # 0.03f mul-float v20, v20, v22 sub-float v22, v5, v7 mul-float v22, v22, v30 sub-float v22, v22, v3 add-float v22, v22, v10 const v32, 0x3bc49ba6 # 0.006f mul-float v22, v22, v32 sub-float v32, v6, v8 mul-float v32, v32, v30 sub-float v32, v32, v4 add-float v32, v32, v2 const v33, 0x3bc49ba6 # 0.006f mul-float v32, v32, v33 mul-float v33, v11, v31 add-float v33, v33, v22 mul-float v35, v20, v31 add-float v35, v35, v32 sub-float v36, v5, v3 const v37, 0x3e99999a # 0.3f mul-float v36, v36, v37 add-float v36, v36, v11 mul-float v11, v22, v29 add-float v36, v36, v11 sub-float v11, v6, v4 mul-float v11, v11, v37 add-float v11, v11, v20 mul-float v20, v32, v29 add-float v11, v11, v20 mul-float v20, v36, v36 mul-float v37, v11, v11 move/from16 v40, v2 add-float v2, v20, v37 move/from16 v41, v3 float-to-double v2, v2 .line 368 invoke-static {v2, v3}, Ljava/lang/Math;->sqrt(D)D move-result-wide v2 double-to-float v2, v2 .line 369 aput v2, v15, v24 move v3, v2 move/from16 v42, v4 const/4 v2, 0x1 :goto_16 const/16 v4, 0x8 if-ge v2, v4, :cond_1b add-float v36, v36, v33 add-float v11, v11, v35 add-float v33, v33, v22 add-float v35, v35, v32 mul-float v4, v36, v36 mul-float v20, v11, v11 add-float v4, v4, v20 move/from16 v43, v5 float-to-double v4, v4 .line 375 invoke-static {v4, v5}, Ljava/lang/Math;->sqrt(D)D move-result-wide v4 double-to-float v4, v4 add-float/2addr v3, v4 .line 376 aput v3, v15, v2 add-int/lit8 v2, v2, 0x1 move/from16 v5, v43 goto :goto_16 :cond_1b move/from16 v43, v5 add-float v36, v36, v33 add-float v11, v11, v35 mul-float v2, v36, v36 mul-float v4, v11, v11 add-float/2addr v2, v4 float-to-double v4, v2 .line 380 invoke-static {v4, v5}, Ljava/lang/Math;->sqrt(D)D move-result-wide v4 double-to-float v2, v4 add-float/2addr v3, v2 const/16 v2, 0x8 .line 381 aput v3, v15, v2 add-float v33, v33, v22 add-float v36, v36, v33 add-float v35, v35, v32 add-float v11, v11, v35 mul-float v36, v36, v36 mul-float v11, v11, v11 add-float v4, v36, v11 float-to-double v4, v4 .line 384 invoke-static {v4, v5}, Ljava/lang/Math;->sqrt(D)D move-result-wide v4 double-to-float v4, v4 add-float/2addr v3, v4 const/16 v4, 0x9 .line 385 aput v3, v15, v4 move/from16 v20, v3 move/from16 v32, v6 move/from16 v33, v7 move/from16 v35, v8 move/from16 v22, v9 move/from16 v36, v10 move/from16 v37, v40 const/4 v10, 0x0 goto :goto_17 :cond_1c const/16 v2, 0x8 move/from16 v41, v11 move/from16 v42, v20 move/from16 v43, v22 move/from16 v22, v7 move/from16 v20, v8 :goto_17 mul-float v1, v1, v20 move v11, v10 .line 392 :goto_18 aget v3, v15, v11 cmpl-float v4, v1, v3 if-lez v4, :cond_1d add-int/lit8 v11, v11, 0x1 goto :goto_18 :cond_1d if-nez v11, :cond_1e div-float/2addr v1, v3 goto :goto_19 :cond_1e add-int/lit8 v4, v11, -0x1 .line 397 aget v4, v15, v4 int-to-float v5, v11 sub-float/2addr v1, v4 sub-float/2addr v3, v4 div-float/2addr v1, v3 add-float/2addr v1, v5 :goto_19 const v3, 0x3dcccccd # 0.1f mul-float v1, v1, v3 const/16 v39, 0x8 if-nez p3, :cond_20 if-lez v12, :cond_1f const v2, 0x3727c5ac # 1.0E-5f cmpg-float v0, v0, v2 if-gez v0, :cond_1f goto :goto_1a :cond_1f const/16 v40, 0x0 goto :goto_1b :cond_20 :goto_1a const/16 v40, 0x1 :goto_1b move-object/from16 v0, p0 move/from16 v2, v41 move/from16 v3, v42 move/from16 v4, v43 move/from16 v5, v32 move/from16 v6, v33 move/from16 v7, v35 move/from16 v8, v36 move/from16 v44, v9 move/from16 v9, v37 move-object/from16 v10, v17 move/from16 v45, v11 move/from16 v11, v16 move/from16 v46, v12 move/from16 v12, v40 .line 402 invoke-direct/range {v0 .. v12}, Lcom/esotericsoftware/spine/PathConstraint;->a(FFFFFFFFF[FIZ)V move/from16 v8, v20 move/from16 v7, v22 move/from16 v11, v41 move/from16 v20, v42 move/from16 v22, v43 move/from16 v6, v44 move/from16 v10, v45 :goto_1c add-int/lit8 v12, v46, 0x1 add-int/lit8 v16, v16, 0x3 move/from16 v9, v38 goto/16 :goto_12 :cond_21 return-object v17 .end method .method public toString()Ljava/lang/String; .locals 1 .line 493 iget-object v0, p0, Lcom/esotericsoftware/spine/PathConstraint;->a:Lcom/esotericsoftware/spine/PathConstraintData; iget-object v0, v0, Lcom/esotericsoftware/spine/PathConstraintData;->a:Ljava/lang/String; return-object v0 .end method