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

441 lines
8.6 KiB
Smali

.class public Lcom/esotericsoftware/spine/Animation$RotateTimeline;
.super Lcom/esotericsoftware/spine/Animation$CurveTimeline;
.source "Animation.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/spine/Animation;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "RotateTimeline"
.end annotation
# instance fields
.field a:I
.field final b:[F
# direct methods
.method public constructor <init>(I)V
.locals 0
.line 291
invoke-direct {p0, p1}, Lcom/esotericsoftware/spine/Animation$CurveTimeline;-><init>(I)V
shl-int/lit8 p1, p1, 0x1
.line 292
new-array p1, p1, [F
iput-object p1, p0, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->b:[F
return-void
.end method
# virtual methods
.method public a()I
.locals 2
.line 296
sget-object v0, Lcom/esotericsoftware/spine/Animation$TimelineType;->rotate:Lcom/esotericsoftware/spine/Animation$TimelineType;
invoke-virtual {v0}, Lcom/esotericsoftware/spine/Animation$TimelineType;->ordinal()I
move-result v0
shl-int/lit8 v0, v0, 0x18
iget v1, p0, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->a:I
add-int/2addr v0, v1
return v0
.end method
.method public a(IFF)V
.locals 1
shl-int/lit8 p1, p1, 0x1
.line 317
iget-object v0, p0, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->b:[F
aput p2, v0, p1
.line 318
iget-object p2, p0, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->b:[F
add-int/lit8 p1, p1, 0x1
aput p3, p2, p1
return-void
.end method
.method public a(Lcom/esotericsoftware/spine/Skeleton;FFLcom/badlogic/gdx/utils/Array;FLcom/esotericsoftware/spine/Animation$MixPose;Lcom/esotericsoftware/spine/Animation$MixDirection;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/spine/Skeleton;",
"FF",
"Lcom/badlogic/gdx/utils/Array<",
"Lcom/esotericsoftware/spine/Event;",
">;F",
"Lcom/esotericsoftware/spine/Animation$MixPose;",
"Lcom/esotericsoftware/spine/Animation$MixDirection;",
")V"
}
.end annotation
.line 324
iget-object p1, p1, Lcom/esotericsoftware/spine/Skeleton;->b:Lcom/badlogic/gdx/utils/Array;
iget p2, p0, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->a:I
invoke-virtual {p1, p2}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/esotericsoftware/spine/Bone;
.line 325
iget-object p2, p0, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->b:[F
const/4 p4, 0x0
.line 326
aget p4, p2, p4
const/high16 p7, 0x43b40000 # 360.0f
const-wide v0, 0x40d0001fffffffffL # 16384.499999999996
cmpg-float p4, p3, p4
if-gez p4, :cond_0
.line 327
sget-object p2, Lcom/esotericsoftware/spine/Animation$1;->a:[I
invoke-virtual {p6}, Lcom/esotericsoftware/spine/Animation$MixPose;->ordinal()I
move-result p3
aget p2, p2, p3
packed-switch p2, :pswitch_data_0
goto :goto_0
.line 332
:pswitch_0
iget-object p2, p1, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData;
iget p2, p2, Lcom/esotericsoftware/spine/BoneData;->g:F
iget p3, p1, Lcom/esotericsoftware/spine/Bone;->g:F
sub-float/2addr p2, p3
div-float p3, p2, p7
float-to-double p3, p3
.line 333
invoke-static {p3, p4}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v0, p3
double-to-int p3, v0
rsub-int p3, p3, 0x4000
mul-int/lit16 p3, p3, 0x168
int-to-float p3, p3
sub-float/2addr p2, p3
.line 334
iget p3, p1, Lcom/esotericsoftware/spine/Bone;->g:F
mul-float p2, p2, p5
add-float/2addr p3, p2
iput p3, p1, Lcom/esotericsoftware/spine/Bone;->g:F
goto :goto_0
.line 329
:pswitch_1
iget-object p2, p1, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData;
iget p2, p2, Lcom/esotericsoftware/spine/BoneData;->g:F
iput p2, p1, Lcom/esotericsoftware/spine/Bone;->g:F
return-void
:goto_0
return-void
.line 339
:cond_0
array-length p4, p2
const/4 v2, 0x2
sub-int/2addr p4, v2
aget p4, p2, p4
cmpl-float p4, p3, p4
if-ltz p4, :cond_2
.line 340
sget-object p3, Lcom/esotericsoftware/spine/Animation$MixPose;->setup:Lcom/esotericsoftware/spine/Animation$MixPose;
if-ne p6, p3, :cond_1
.line 341
iget-object p3, p1, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData;
iget p3, p3, Lcom/esotericsoftware/spine/BoneData;->g:F
array-length p4, p2
add-int/lit8 p4, p4, -0x1
aget p2, p2, p4
mul-float p2, p2, p5
add-float/2addr p3, p2
iput p3, p1, Lcom/esotericsoftware/spine/Bone;->g:F
goto :goto_1
.line 343
:cond_1
iget-object p3, p1, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData;
iget p3, p3, Lcom/esotericsoftware/spine/BoneData;->g:F
array-length p4, p2
add-int/lit8 p4, p4, -0x1
aget p2, p2, p4
add-float/2addr p3, p2
iget p2, p1, Lcom/esotericsoftware/spine/Bone;->g:F
sub-float/2addr p3, p2
div-float p2, p3, p7
float-to-double p6, p2
.line 344
invoke-static {p6, p7}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v0, p6
double-to-int p2, v0
rsub-int p2, p2, 0x4000
mul-int/lit16 p2, p2, 0x168
int-to-float p2, p2
sub-float/2addr p3, p2
.line 345
iget p2, p1, Lcom/esotericsoftware/spine/Bone;->g:F
mul-float p3, p3, p5
add-float/2addr p2, p3
iput p2, p1, Lcom/esotericsoftware/spine/Bone;->g:F
:goto_1
return-void
.line 351
:cond_2
invoke-static {p2, p3, v2}, Lcom/esotericsoftware/spine/Animation;->a([FFI)I
move-result p4
add-int/lit8 v2, p4, -0x1
.line 352
aget v2, p2, v2
.line 353
aget v3, p2, p4
shr-int/lit8 v4, p4, 0x1
add-int/lit8 v4, v4, -0x1
const/high16 v5, 0x3f800000 # 1.0f
sub-float/2addr p3, v3
add-int/lit8 v6, p4, -0x2
.line 354
aget v6, p2, v6
sub-float/2addr v6, v3
div-float/2addr p3, v6
sub-float/2addr v5, p3
invoke-virtual {p0, v4, v5}, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->a(IF)F
move-result p3
add-int/lit8 p4, p4, 0x1
.line 356
aget p2, p2, p4
sub-float/2addr p2, v2
div-float p4, p2, p7
float-to-double v3, p4
.line 357
invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z
sub-double v3, v0, v3
double-to-int p4, v3
rsub-int p4, p4, 0x4000
mul-int/lit16 p4, p4, 0x168
int-to-float p4, p4
sub-float/2addr p2, p4
mul-float p2, p2, p3
add-float/2addr v2, p2
.line 359
sget-object p2, Lcom/esotericsoftware/spine/Animation$MixPose;->setup:Lcom/esotericsoftware/spine/Animation$MixPose;
if-ne p6, p2, :cond_3
div-float p2, v2, p7
float-to-double p2, p2
.line 360
invoke-static {p2, p3}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v0, p2
double-to-int p2, v0
rsub-int p2, p2, 0x4000
mul-int/lit16 p2, p2, 0x168
int-to-float p2, p2
sub-float/2addr v2, p2
.line 361
iget-object p2, p1, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData;
iget p2, p2, Lcom/esotericsoftware/spine/BoneData;->g:F
mul-float v2, v2, p5
add-float/2addr p2, v2
iput p2, p1, Lcom/esotericsoftware/spine/Bone;->g:F
goto :goto_2
.line 363
:cond_3
iget-object p2, p1, Lcom/esotericsoftware/spine/Bone;->a:Lcom/esotericsoftware/spine/BoneData;
iget p2, p2, Lcom/esotericsoftware/spine/BoneData;->g:F
add-float/2addr p2, v2
iget p3, p1, Lcom/esotericsoftware/spine/Bone;->g:F
sub-float/2addr p2, p3
div-float p3, p2, p7
float-to-double p3, p3
.line 364
invoke-static {p3, p4}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v0, p3
double-to-int p3, v0
rsub-int p3, p3, 0x4000
mul-int/lit16 p3, p3, 0x168
int-to-float p3, p3
sub-float/2addr p2, p3
.line 365
iget p3, p1, Lcom/esotericsoftware/spine/Bone;->g:F
mul-float p2, p2, p5
add-float/2addr p3, p2
iput p3, p1, Lcom/esotericsoftware/spine/Bone;->g:F
:goto_2
return-void
nop
:pswitch_data_0
.packed-switch 0x1
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method public b()[F
.locals 1
.line 311
iget-object v0, p0, Lcom/esotericsoftware/spine/Animation$RotateTimeline;->b:[F
return-object v0
.end method