Weather/smali/com/esotericsoftware/spine/TransformConstraint.smali
2021-05-10 10:13:34 +02:00

1754 lines
37 KiB
Smali

.class public Lcom/esotericsoftware/spine/TransformConstraint;
.super Ljava/lang/Object;
.source "TransformConstraint.java"
# interfaces
.implements Lcom/esotericsoftware/spine/Constraint;
# instance fields
.field final a:Lcom/esotericsoftware/spine/TransformConstraintData;
.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/Bone;
.field d:F
.field e:F
.field f:F
.field g:F
.field final h:Lcom/badlogic/gdx/math/Vector2;
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/spine/TransformConstraintData;Lcom/esotericsoftware/spine/Skeleton;)V
.locals 3
.line 49
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 47
new-instance v0, Lcom/badlogic/gdx/math/Vector2;
invoke-direct {v0}, Lcom/badlogic/gdx/math/Vector2;-><init>()V
iput-object v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->h:Lcom/badlogic/gdx/math/Vector2;
if-eqz p1, :cond_2
if-eqz p2, :cond_1
.line 52
iput-object p1, p0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
.line 53
iget v0, p1, Lcom/esotericsoftware/spine/TransformConstraintData;->e:F
iput v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->d:F
.line 54
iget v0, p1, Lcom/esotericsoftware/spine/TransformConstraintData;->f:F
iput v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->e:F
.line 55
iget v0, p1, Lcom/esotericsoftware/spine/TransformConstraintData;->g:F
iput v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->f:F
.line 56
iget v0, p1, Lcom/esotericsoftware/spine/TransformConstraintData;->h:F
iput v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->g:F
.line 57
new-instance v0, Lcom/badlogic/gdx/utils/Array;
iget-object v1, p1, Lcom/esotericsoftware/spine/TransformConstraintData;->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;-><init>(I)V
iput-object v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->b:Lcom/badlogic/gdx/utils/Array;
.line 58
iget-object v0, p1, Lcom/esotericsoftware/spine/TransformConstraintData;->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 59
iget-object v2, p0, Lcom/esotericsoftware/spine/TransformConstraint;->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 60
:cond_0
iget-object p1, p1, Lcom/esotericsoftware/spine/TransformConstraintData;->d:Lcom/esotericsoftware/spine/BoneData;
iget-object p1, p1, Lcom/esotericsoftware/spine/BoneData;->b:Ljava/lang/String;
invoke-virtual {p2, p1}, Lcom/esotericsoftware/spine/Skeleton;->a(Ljava/lang/String;)Lcom/esotericsoftware/spine/Bone;
move-result-object p1
iput-object p1, p0, Lcom/esotericsoftware/spine/TransformConstraint;->c:Lcom/esotericsoftware/spine/Bone;
return-void
.line 51
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "skeleton cannot be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 50
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "data cannot be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private b()V
.locals 30
move-object/from16 v0, p0
.line 98
iget v1, v0, Lcom/esotericsoftware/spine/TransformConstraint;->d:F
iget v2, v0, Lcom/esotericsoftware/spine/TransformConstraint;->e:F
iget v3, v0, Lcom/esotericsoftware/spine/TransformConstraint;->f:F
iget v4, v0, Lcom/esotericsoftware/spine/TransformConstraint;->g:F
.line 99
iget-object v5, v0, Lcom/esotericsoftware/spine/TransformConstraint;->c:Lcom/esotericsoftware/spine/Bone;
.line 100
iget v6, v5, Lcom/esotericsoftware/spine/Bone;->t:F
iget v7, v5, Lcom/esotericsoftware/spine/Bone;->u:F
iget v8, v5, Lcom/esotericsoftware/spine/Bone;->w:F
iget v9, v5, Lcom/esotericsoftware/spine/Bone;->x:F
mul-float v10, v6, v9
mul-float v11, v7, v8
sub-float/2addr v10, v11
const/4 v11, 0x0
cmpl-float v10, v10, v11
if-lez v10, :cond_0
const v10, 0x3c8efa35
goto :goto_0
:cond_0
const v10, -0x437105cb
.line 102
:goto_0
iget-object v12, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v12, v12, Lcom/esotericsoftware/spine/TransformConstraintData;->i:F
mul-float v12, v12, v10
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->n:F
mul-float v13, v13, v10
.line 103
iget-object v10, v0, Lcom/esotericsoftware/spine/TransformConstraint;->b:Lcom/badlogic/gdx/utils/Array;
.line 104
iget v14, v10, Lcom/badlogic/gdx/utils/Array;->b:I
const/4 v15, 0x0
:goto_1
if-ge v15, v14, :cond_c
.line 105
invoke-virtual {v10, v15}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;
move-result-object v16
move-object/from16 v11, v16
check-cast v11, Lcom/esotericsoftware/spine/Bone;
const v16, -0x3fb6f025
const v18, 0x40490fdb # (float)Math.PI
const v19, 0x40c90fdb
const/16 v20, 0x1
const/16 v17, 0x0
cmpl-float v21, v1, v17
if-eqz v21, :cond_3
move-object/from16 v22, v10
.line 109
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->t:F
move/from16 v23, v14
iget v14, v11, Lcom/esotericsoftware/spine/Bone;->u:F
move/from16 v24, v15
iget v15, v11, Lcom/esotericsoftware/spine/Bone;->w:F
move/from16 v25, v13
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->x:F
.line 110
invoke-static {v8, v6}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v21
invoke-static {v15, v10}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v26
sub-float v21, v21, v26
add-float v21, v21, v12
cmpl-float v26, v21, v18
if-lez v26, :cond_1
sub-float v21, v21, v19
goto :goto_2
:cond_1
cmpg-float v26, v21, v16
if-gez v26, :cond_2
add-float v21, v21, v19
:cond_2
:goto_2
mul-float v21, v21, v1
.line 115
invoke-static/range {v21 .. v21}, Lcom/esotericsoftware/spine/utils/SpineUtils;->c(F)F
move-result v26
invoke-static/range {v21 .. v21}, Lcom/esotericsoftware/spine/utils/SpineUtils;->d(F)F
move-result v21
mul-float v27, v26, v10
mul-float v28, v21, v15
move/from16 v29, v1
sub-float v1, v27, v28
.line 116
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->t:F
mul-float v1, v26, v14
mul-float v27, v21, v13
sub-float v1, v1, v27
.line 117
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->u:F
mul-float v10, v10, v21
mul-float v15, v15, v26
add-float/2addr v10, v15
.line 118
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->w:F
mul-float v21, v21, v14
mul-float v26, v26, v13
add-float v1, v21, v26
.line 119
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->x:F
const/4 v1, 0x1
goto :goto_3
:cond_3
move/from16 v29, v1
move-object/from16 v22, v10
move/from16 v25, v13
move/from16 v23, v14
move/from16 v24, v15
const/4 v1, 0x0
:goto_3
const/4 v10, 0x0
cmpl-float v13, v2, v10
if-eqz v13, :cond_4
.line 124
iget-object v1, v0, Lcom/esotericsoftware/spine/TransformConstraint;->h:Lcom/badlogic/gdx/math/Vector2;
.line 125
iget-object v10, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v10, v10, Lcom/esotericsoftware/spine/TransformConstraintData;->j:F
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->k:F
invoke-virtual {v1, v10, v13}, Lcom/badlogic/gdx/math/Vector2;->set(FF)Lcom/badlogic/gdx/math/Vector2;
move-result-object v10
invoke-virtual {v5, v10}, Lcom/esotericsoftware/spine/Bone;->a(Lcom/badlogic/gdx/math/Vector2;)Lcom/badlogic/gdx/math/Vector2;
.line 126
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->v:F
iget v13, v1, Lcom/badlogic/gdx/math/Vector2;->x:F
iget v14, v11, Lcom/esotericsoftware/spine/Bone;->v:F
sub-float/2addr v13, v14
mul-float v13, v13, v2
add-float/2addr v10, v13
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->v:F
.line 127
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->y:F
iget v1, v1, Lcom/badlogic/gdx/math/Vector2;->y:F
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->y:F
sub-float/2addr v1, v13
mul-float v1, v1, v2
add-float/2addr v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->y:F
const/4 v1, 0x1
:cond_4
const/4 v10, 0x0
cmpl-float v13, v3, v10
if-lez v13, :cond_7
.line 132
iget v1, v11, Lcom/esotericsoftware/spine/Bone;->t:F
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->t:F
mul-float v1, v1, v10
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->w:F
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->w:F
mul-float v10, v10, v13
add-float/2addr v1, v10
float-to-double v13, v1
invoke-static {v13, v14}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v13
double-to-float v1, v13
const/4 v10, 0x0
cmpl-float v13, v1, v10
if-eqz v13, :cond_5
mul-float v10, v6, v6
mul-float v13, v8, v8
add-float/2addr v10, v13
float-to-double v13, v10
.line 133
invoke-static {v13, v14}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v13
double-to-float v10, v13
sub-float/2addr v10, v1
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->l:F
add-float/2addr v10, v13
mul-float v10, v10, v3
add-float/2addr v10, v1
div-float v1, v10, v1
.line 134
:cond_5
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->t:F
mul-float v10, v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->t:F
.line 135
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->w:F
mul-float v10, v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->w:F
.line 136
iget v1, v11, Lcom/esotericsoftware/spine/Bone;->u:F
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->u:F
mul-float v1, v1, v10
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->x:F
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->x:F
mul-float v10, v10, v13
add-float/2addr v1, v10
float-to-double v13, v1
invoke-static {v13, v14}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v13
double-to-float v1, v13
const/4 v10, 0x0
cmpl-float v13, v1, v10
if-eqz v13, :cond_6
mul-float v10, v7, v7
mul-float v13, v9, v9
add-float/2addr v10, v13
float-to-double v13, v10
.line 137
invoke-static {v13, v14}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v13
double-to-float v10, v13
sub-float/2addr v10, v1
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->m:F
add-float/2addr v10, v13
mul-float v10, v10, v3
add-float/2addr v10, v1
div-float v1, v10, v1
.line 138
:cond_6
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->u:F
mul-float v10, v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->u:F
.line 139
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->x:F
mul-float v10, v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->x:F
const/4 v1, 0x1
:cond_7
const/4 v10, 0x0
cmpl-float v13, v4, v10
if-lez v13, :cond_a
.line 144
iget v1, v11, Lcom/esotericsoftware/spine/Bone;->u:F
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->x:F
.line 145
invoke-static {v13, v1}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v14
.line 146
invoke-static {v9, v7}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v15
invoke-static {v8, v6}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v17
sub-float v15, v15, v17
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->w:F
iget v0, v11, Lcom/esotericsoftware/spine/Bone;->t:F
invoke-static {v10, v0}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v0
sub-float v0, v14, v0
sub-float/2addr v15, v0
cmpl-float v0, v15, v18
if-lez v0, :cond_8
sub-float v15, v15, v19
goto :goto_4
:cond_8
cmpg-float v0, v15, v16
if-gez v0, :cond_9
add-float v15, v15, v19
:cond_9
:goto_4
add-float v15, v15, v25
mul-float v15, v15, v4
add-float/2addr v14, v15
mul-float v1, v1, v1
mul-float v13, v13, v13
add-float/2addr v1, v13
float-to-double v0, v1
.line 151
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v0
double-to-float v0, v0
.line 152
invoke-static {v14}, Lcom/esotericsoftware/spine/utils/SpineUtils;->c(F)F
move-result v1
mul-float v1, v1, v0
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->u:F
.line 153
invoke-static {v14}, Lcom/esotericsoftware/spine/utils/SpineUtils;->d(F)F
move-result v1
mul-float v1, v1, v0
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->x:F
const/4 v1, 0x1
:cond_a
if-eqz v1, :cond_b
const/4 v0, 0x0
.line 157
iput-boolean v0, v11, Lcom/esotericsoftware/spine/Bone;->s:Z
goto :goto_5
:cond_b
const/4 v0, 0x0
:goto_5
add-int/lit8 v15, v24, 0x1
move-object/from16 v10, v22
move/from16 v14, v23
move/from16 v13, v25
move/from16 v1, v29
move-object/from16 v0, p0
const/4 v11, 0x0
goto/16 :goto_1
:cond_c
return-void
.end method
.method private c()V
.locals 30
move-object/from16 v0, p0
.line 162
iget v1, v0, Lcom/esotericsoftware/spine/TransformConstraint;->d:F
iget v2, v0, Lcom/esotericsoftware/spine/TransformConstraint;->e:F
iget v3, v0, Lcom/esotericsoftware/spine/TransformConstraint;->f:F
iget v4, v0, Lcom/esotericsoftware/spine/TransformConstraint;->g:F
.line 163
iget-object v5, v0, Lcom/esotericsoftware/spine/TransformConstraint;->c:Lcom/esotericsoftware/spine/Bone;
.line 164
iget v6, v5, Lcom/esotericsoftware/spine/Bone;->t:F
iget v7, v5, Lcom/esotericsoftware/spine/Bone;->u:F
iget v8, v5, Lcom/esotericsoftware/spine/Bone;->w:F
iget v9, v5, Lcom/esotericsoftware/spine/Bone;->x:F
mul-float v10, v6, v9
mul-float v11, v7, v8
sub-float/2addr v10, v11
const/4 v11, 0x0
cmpl-float v10, v10, v11
if-lez v10, :cond_0
const v10, 0x3c8efa35
goto :goto_0
:cond_0
const v10, -0x437105cb
.line 166
:goto_0
iget-object v12, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v12, v12, Lcom/esotericsoftware/spine/TransformConstraintData;->i:F
mul-float v12, v12, v10
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->n:F
mul-float v13, v13, v10
.line 167
iget-object v10, v0, Lcom/esotericsoftware/spine/TransformConstraint;->b:Lcom/badlogic/gdx/utils/Array;
.line 168
iget v14, v10, Lcom/badlogic/gdx/utils/Array;->b:I
const/4 v15, 0x0
:goto_1
if-ge v15, v14, :cond_a
.line 169
invoke-virtual {v10, v15}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;
move-result-object v16
move-object/from16 v11, v16
check-cast v11, Lcom/esotericsoftware/spine/Bone;
const v16, -0x3fb6f025
const v18, 0x40490fdb # (float)Math.PI
const v19, 0x40c90fdb
const/16 v20, 0x1
const/16 v17, 0x0
cmpl-float v21, v1, v17
if-eqz v21, :cond_3
move-object/from16 v22, v10
.line 173
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->t:F
move/from16 v23, v14
iget v14, v11, Lcom/esotericsoftware/spine/Bone;->u:F
move/from16 v24, v15
iget v15, v11, Lcom/esotericsoftware/spine/Bone;->w:F
move/from16 v25, v13
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->x:F
.line 174
invoke-static {v8, v6}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v21
add-float v21, v21, v12
cmpl-float v26, v21, v18
if-lez v26, :cond_1
sub-float v21, v21, v19
goto :goto_2
:cond_1
cmpg-float v26, v21, v16
if-gez v26, :cond_2
add-float v21, v21, v19
:cond_2
:goto_2
mul-float v21, v21, v1
.line 179
invoke-static/range {v21 .. v21}, Lcom/esotericsoftware/spine/utils/SpineUtils;->c(F)F
move-result v26
invoke-static/range {v21 .. v21}, Lcom/esotericsoftware/spine/utils/SpineUtils;->d(F)F
move-result v21
mul-float v27, v26, v10
mul-float v28, v21, v15
move/from16 v29, v1
sub-float v1, v27, v28
.line 180
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->t:F
mul-float v1, v26, v14
mul-float v27, v21, v13
sub-float v1, v1, v27
.line 181
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->u:F
mul-float v10, v10, v21
mul-float v15, v15, v26
add-float/2addr v10, v15
.line 182
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->w:F
mul-float v21, v21, v14
mul-float v26, v26, v13
add-float v1, v21, v26
.line 183
iput v1, v11, Lcom/esotericsoftware/spine/Bone;->x:F
const/4 v1, 0x1
goto :goto_3
:cond_3
move/from16 v29, v1
move-object/from16 v22, v10
move/from16 v25, v13
move/from16 v23, v14
move/from16 v24, v15
const/4 v1, 0x0
:goto_3
const/4 v10, 0x0
cmpl-float v13, v2, v10
if-eqz v13, :cond_4
.line 188
iget-object v1, v0, Lcom/esotericsoftware/spine/TransformConstraint;->h:Lcom/badlogic/gdx/math/Vector2;
.line 189
iget-object v10, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v10, v10, Lcom/esotericsoftware/spine/TransformConstraintData;->j:F
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->k:F
invoke-virtual {v1, v10, v13}, Lcom/badlogic/gdx/math/Vector2;->set(FF)Lcom/badlogic/gdx/math/Vector2;
move-result-object v10
invoke-virtual {v5, v10}, Lcom/esotericsoftware/spine/Bone;->a(Lcom/badlogic/gdx/math/Vector2;)Lcom/badlogic/gdx/math/Vector2;
.line 190
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->v:F
iget v13, v1, Lcom/badlogic/gdx/math/Vector2;->x:F
mul-float v13, v13, v2
add-float/2addr v10, v13
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->v:F
.line 191
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->y:F
iget v1, v1, Lcom/badlogic/gdx/math/Vector2;->y:F
mul-float v1, v1, v2
add-float/2addr v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->y:F
const/4 v1, 0x1
:cond_4
const/4 v10, 0x0
cmpl-float v13, v3, v10
if-lez v13, :cond_5
mul-float v1, v6, v6
mul-float v10, v8, v8
add-float/2addr v1, v10
float-to-double v13, v1
.line 196
invoke-static {v13, v14}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v13
double-to-float v1, v13
const/high16 v10, 0x3f800000 # 1.0f
sub-float/2addr v1, v10
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->l:F
add-float/2addr v1, v13
mul-float v1, v1, v3
add-float/2addr v1, v10
.line 197
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->t:F
mul-float v13, v13, v1
iput v13, v11, Lcom/esotericsoftware/spine/Bone;->t:F
.line 198
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->w:F
mul-float v13, v13, v1
iput v13, v11, Lcom/esotericsoftware/spine/Bone;->w:F
mul-float v1, v7, v7
mul-float v13, v9, v9
add-float/2addr v1, v13
float-to-double v13, v1
.line 199
invoke-static {v13, v14}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v13
double-to-float v1, v13
sub-float/2addr v1, v10
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->m:F
add-float/2addr v1, v13
mul-float v1, v1, v3
add-float/2addr v1, v10
.line 200
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->u:F
mul-float v10, v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->u:F
.line 201
iget v10, v11, Lcom/esotericsoftware/spine/Bone;->x:F
mul-float v10, v10, v1
iput v10, v11, Lcom/esotericsoftware/spine/Bone;->x:F
const/4 v1, 0x1
:cond_5
const/4 v10, 0x0
cmpl-float v13, v4, v10
if-lez v13, :cond_8
.line 206
invoke-static {v9, v7}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v1
invoke-static {v8, v6}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v13
sub-float/2addr v1, v13
cmpl-float v13, v1, v18
if-lez v13, :cond_6
sub-float v1, v1, v19
goto :goto_4
:cond_6
cmpg-float v13, v1, v16
if-gez v13, :cond_7
add-float v1, v1, v19
.line 210
:cond_7
:goto_4
iget v13, v11, Lcom/esotericsoftware/spine/Bone;->u:F
iget v14, v11, Lcom/esotericsoftware/spine/Bone;->x:F
.line 211
invoke-static {v14, v13}, Lcom/esotericsoftware/spine/utils/SpineUtils;->a(FF)F
move-result v15
const v16, 0x3fc90fdb
sub-float v1, v1, v16
add-float v1, v1, v25
mul-float v1, v1, v4
add-float/2addr v15, v1
mul-float v13, v13, v13
mul-float v14, v14, v14
add-float/2addr v13, v14
float-to-double v13, v13
.line 212
invoke-static {v13, v14}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v13
double-to-float v1, v13
.line 213
invoke-static {v15}, Lcom/esotericsoftware/spine/utils/SpineUtils;->c(F)F
move-result v13
mul-float v13, v13, v1
iput v13, v11, Lcom/esotericsoftware/spine/Bone;->u:F
.line 214
invoke-static {v15}, Lcom/esotericsoftware/spine/utils/SpineUtils;->d(F)F
move-result v13
mul-float v13, v13, v1
iput v13, v11, Lcom/esotericsoftware/spine/Bone;->x:F
const/4 v1, 0x1
:cond_8
if-eqz v1, :cond_9
const/4 v1, 0x0
.line 218
iput-boolean v1, v11, Lcom/esotericsoftware/spine/Bone;->s:Z
goto :goto_5
:cond_9
const/4 v1, 0x0
:goto_5
add-int/lit8 v15, v24, 0x1
move-object/from16 v10, v22
move/from16 v14, v23
move/from16 v13, v25
move/from16 v1, v29
const/4 v11, 0x0
goto/16 :goto_1
:cond_a
return-void
.end method
.method private d()V
.locals 21
move-object/from16 v0, p0
.line 223
iget v1, v0, Lcom/esotericsoftware/spine/TransformConstraint;->d:F
iget v2, v0, Lcom/esotericsoftware/spine/TransformConstraint;->e:F
iget v3, v0, Lcom/esotericsoftware/spine/TransformConstraint;->f:F
iget v4, v0, Lcom/esotericsoftware/spine/TransformConstraint;->g:F
.line 224
iget-object v5, v0, Lcom/esotericsoftware/spine/TransformConstraint;->c:Lcom/esotericsoftware/spine/Bone;
.line 225
iget-boolean v6, v5, Lcom/esotericsoftware/spine/Bone;->s:Z
if-nez v6, :cond_0
invoke-virtual {v5}, Lcom/esotericsoftware/spine/Bone;->d()V
.line 226
:cond_0
iget-object v6, v0, Lcom/esotericsoftware/spine/TransformConstraint;->b:Lcom/badlogic/gdx/utils/Array;
const/4 v7, 0x0
.line 227
iget v8, v6, Lcom/badlogic/gdx/utils/Array;->b:I
:goto_0
if-ge v7, v8, :cond_7
.line 228
invoke-virtual {v6, v7}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;
move-result-object v9
move-object v10, v9
check-cast v10, Lcom/esotericsoftware/spine/Bone;
.line 229
iget-boolean v9, v10, Lcom/esotericsoftware/spine/Bone;->s:Z
if-nez v9, :cond_1
invoke-virtual {v10}, Lcom/esotericsoftware/spine/Bone;->d()V
.line 231
:cond_1
iget v9, v10, Lcom/esotericsoftware/spine/Bone;->n:F
const/high16 v11, 0x43b40000 # 360.0f
const-wide v12, 0x40d0001fffffffffL # 16384.499999999996
const/4 v14, 0x0
cmpl-float v15, v1, v14
if-eqz v15, :cond_2
.line 233
iget v15, v5, Lcom/esotericsoftware/spine/Bone;->n:F
sub-float/2addr v15, v9
iget-object v14, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v14, v14, Lcom/esotericsoftware/spine/TransformConstraintData;->i:F
add-float/2addr v15, v14
div-float v14, v15, v11
move-object/from16 v18, v6
move/from16 v19, v7
float-to-double v6, v14
.line 234
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
sub-double v6, v12, v6
double-to-int v6, v6
rsub-int v6, v6, 0x4000
mul-int/lit16 v6, v6, 0x168
int-to-float v6, v6
sub-float/2addr v15, v6
mul-float v15, v15, v1
add-float/2addr v9, v15
goto :goto_1
:cond_2
move-object/from16 v18, v6
move/from16 v19, v7
.line 238
:goto_1
iget v6, v10, Lcom/esotericsoftware/spine/Bone;->l:F
iget v7, v10, Lcom/esotericsoftware/spine/Bone;->m:F
const/4 v14, 0x0
cmpl-float v15, v2, v14
if-eqz v15, :cond_3
.line 240
iget v14, v5, Lcom/esotericsoftware/spine/Bone;->l:F
sub-float/2addr v14, v6
iget-object v15, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v15, v15, Lcom/esotericsoftware/spine/TransformConstraintData;->j:F
add-float/2addr v14, v15
mul-float v14, v14, v2
add-float/2addr v6, v14
.line 241
iget v14, v5, Lcom/esotericsoftware/spine/Bone;->m:F
sub-float/2addr v14, v7
iget-object v15, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v15, v15, Lcom/esotericsoftware/spine/TransformConstraintData;->k:F
add-float/2addr v14, v15
mul-float v14, v14, v2
add-float/2addr v7, v14
.line 244
:cond_3
iget v14, v10, Lcom/esotericsoftware/spine/Bone;->o:F
iget v15, v10, Lcom/esotericsoftware/spine/Bone;->p:F
const/16 v16, 0x0
cmpl-float v17, v3, v16
if-lez v17, :cond_5
cmpl-float v17, v14, v16
if-eqz v17, :cond_4
.line 246
iget v12, v5, Lcom/esotericsoftware/spine/Bone;->o:F
sub-float/2addr v12, v14
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->l:F
add-float/2addr v12, v13
mul-float v12, v12, v3
add-float/2addr v12, v14
div-float v14, v12, v14
:cond_4
const/4 v12, 0x0
cmpl-float v13, v15, v12
if-eqz v13, :cond_5
.line 247
iget v12, v5, Lcom/esotericsoftware/spine/Bone;->p:F
sub-float/2addr v12, v15
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->m:F
add-float/2addr v12, v13
mul-float v12, v12, v3
add-float/2addr v12, v15
div-float/2addr v12, v15
move v15, v12
.line 250
:cond_5
iget v13, v10, Lcom/esotericsoftware/spine/Bone;->r:F
const/4 v12, 0x0
cmpl-float v12, v4, v12
if-lez v12, :cond_6
.line 252
iget v12, v5, Lcom/esotericsoftware/spine/Bone;->r:F
sub-float/2addr v12, v13
iget-object v11, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v11, v11, Lcom/esotericsoftware/spine/TransformConstraintData;->n:F
add-float/2addr v12, v11
const/high16 v11, 0x43b40000 # 360.0f
div-float v11, v12, v11
move/from16 v20, v1
float-to-double v0, v11
.line 253
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
const-wide v16, 0x40d0001fffffffffL # 16384.499999999996
sub-double v0, v16, v0
double-to-int v0, v0
rsub-int v0, v0, 0x4000
mul-int/lit16 v0, v0, 0x168
int-to-float v0, v0
sub-float/2addr v12, v0
.line 254
iget v0, v10, Lcom/esotericsoftware/spine/Bone;->k:F
mul-float v12, v12, v4
add-float/2addr v0, v12
iput v0, v10, Lcom/esotericsoftware/spine/Bone;->k:F
goto :goto_2
:cond_6
move/from16 v20, v1
.line 257
:goto_2
iget v0, v10, Lcom/esotericsoftware/spine/Bone;->q:F
move v11, v6
move v12, v7
move v1, v13
move v13, v9
move/from16 v16, v0
move/from16 v17, v1
invoke-virtual/range {v10 .. v17}, Lcom/esotericsoftware/spine/Bone;->a(FFFFFFF)V
add-int/lit8 v7, v19, 0x1
move-object/from16 v6, v18
move/from16 v1, v20
move-object/from16 v0, p0
goto/16 :goto_0
:cond_7
return-void
.end method
.method private e()V
.locals 20
move-object/from16 v0, p0
.line 262
iget v1, v0, Lcom/esotericsoftware/spine/TransformConstraint;->d:F
iget v2, v0, Lcom/esotericsoftware/spine/TransformConstraint;->e:F
iget v3, v0, Lcom/esotericsoftware/spine/TransformConstraint;->f:F
iget v4, v0, Lcom/esotericsoftware/spine/TransformConstraint;->g:F
.line 263
iget-object v5, v0, Lcom/esotericsoftware/spine/TransformConstraint;->c:Lcom/esotericsoftware/spine/Bone;
.line 264
iget-boolean v6, v5, Lcom/esotericsoftware/spine/Bone;->s:Z
if-nez v6, :cond_0
invoke-virtual {v5}, Lcom/esotericsoftware/spine/Bone;->d()V
.line 265
:cond_0
iget-object v6, v0, Lcom/esotericsoftware/spine/TransformConstraint;->b:Lcom/badlogic/gdx/utils/Array;
const/4 v7, 0x0
.line 266
iget v8, v6, Lcom/badlogic/gdx/utils/Array;->b:I
:goto_0
if-ge v7, v8, :cond_6
.line 267
invoke-virtual {v6, v7}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;
move-result-object v9
move-object v10, v9
check-cast v10, Lcom/esotericsoftware/spine/Bone;
.line 268
iget-boolean v9, v10, Lcom/esotericsoftware/spine/Bone;->s:Z
if-nez v9, :cond_1
invoke-virtual {v10}, Lcom/esotericsoftware/spine/Bone;->d()V
.line 270
:cond_1
iget v9, v10, Lcom/esotericsoftware/spine/Bone;->n:F
const/4 v11, 0x0
cmpl-float v12, v1, v11
if-eqz v12, :cond_2
.line 271
iget v12, v5, Lcom/esotericsoftware/spine/Bone;->n:F
iget-object v13, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v13, v13, Lcom/esotericsoftware/spine/TransformConstraintData;->i:F
add-float/2addr v12, v13
mul-float v12, v12, v1
add-float/2addr v9, v12
:cond_2
move v13, v9
.line 273
iget v9, v10, Lcom/esotericsoftware/spine/Bone;->l:F
iget v12, v10, Lcom/esotericsoftware/spine/Bone;->m:F
cmpl-float v14, v2, v11
if-eqz v14, :cond_3
.line 275
iget v14, v5, Lcom/esotericsoftware/spine/Bone;->l:F
iget-object v15, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v15, v15, Lcom/esotericsoftware/spine/TransformConstraintData;->j:F
add-float/2addr v14, v15
mul-float v14, v14, v2
add-float/2addr v9, v14
.line 276
iget v14, v5, Lcom/esotericsoftware/spine/Bone;->m:F
iget-object v15, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v15, v15, Lcom/esotericsoftware/spine/TransformConstraintData;->k:F
add-float/2addr v14, v15
mul-float v14, v14, v2
add-float/2addr v12, v14
.line 279
:cond_3
iget v14, v10, Lcom/esotericsoftware/spine/Bone;->o:F
iget v15, v10, Lcom/esotericsoftware/spine/Bone;->p:F
cmpl-float v16, v3, v11
if-lez v16, :cond_4
.line 281
iget v11, v5, Lcom/esotericsoftware/spine/Bone;->o:F
const/high16 v16, 0x3f800000 # 1.0f
sub-float v11, v11, v16
move/from16 v18, v1
iget-object v1, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v1, v1, Lcom/esotericsoftware/spine/TransformConstraintData;->l:F
add-float/2addr v11, v1
mul-float v11, v11, v3
add-float v11, v11, v16
mul-float v14, v14, v11
.line 282
iget v1, v5, Lcom/esotericsoftware/spine/Bone;->p:F
sub-float v1, v1, v16
iget-object v11, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v11, v11, Lcom/esotericsoftware/spine/TransformConstraintData;->m:F
add-float/2addr v1, v11
mul-float v1, v1, v3
add-float v1, v1, v16
mul-float v15, v15, v1
goto :goto_1
:cond_4
move/from16 v18, v1
.line 285
:goto_1
iget v1, v10, Lcom/esotericsoftware/spine/Bone;->r:F
const/4 v11, 0x0
cmpl-float v11, v4, v11
if-lez v11, :cond_5
.line 286
iget v11, v5, Lcom/esotericsoftware/spine/Bone;->r:F
move/from16 v19, v2
iget-object v2, v0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget v2, v2, Lcom/esotericsoftware/spine/TransformConstraintData;->n:F
add-float/2addr v11, v2
mul-float v11, v11, v4
add-float/2addr v1, v11
goto :goto_2
:cond_5
move/from16 v19, v2
:goto_2
move/from16 v17, v1
.line 288
iget v1, v10, Lcom/esotericsoftware/spine/Bone;->q:F
move v11, v9
move/from16 v16, v1
invoke-virtual/range {v10 .. v17}, Lcom/esotericsoftware/spine/Bone;->a(FFFFFFF)V
add-int/lit8 v7, v7, 0x1
move/from16 v1, v18
move/from16 v2, v19
goto/16 :goto_0
:cond_6
return-void
.end method
# virtual methods
.method public a()V
.locals 1
.line 84
iget-object v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget-boolean v0, v0, Lcom/esotericsoftware/spine/TransformConstraintData;->p:Z
if-eqz v0, :cond_1
.line 85
iget-object v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget-boolean v0, v0, Lcom/esotericsoftware/spine/TransformConstraintData;->o:Z
if-eqz v0, :cond_0
.line 86
invoke-direct {p0}, Lcom/esotericsoftware/spine/TransformConstraint;->e()V
goto :goto_0
.line 88
:cond_0
invoke-direct {p0}, Lcom/esotericsoftware/spine/TransformConstraint;->d()V
goto :goto_0
.line 90
:cond_1
iget-object v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget-boolean v0, v0, Lcom/esotericsoftware/spine/TransformConstraintData;->o:Z
if-eqz v0, :cond_2
.line 91
invoke-direct {p0}, Lcom/esotericsoftware/spine/TransformConstraint;->c()V
goto :goto_0
.line 93
:cond_2
invoke-direct {p0}, Lcom/esotericsoftware/spine/TransformConstraint;->b()V
:goto_0
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 352
iget-object v0, p0, Lcom/esotericsoftware/spine/TransformConstraint;->a:Lcom/esotericsoftware/spine/TransformConstraintData;
iget-object v0, v0, Lcom/esotericsoftware/spine/TransformConstraintData;->a:Ljava/lang/String;
return-object v0
.end method