// File: /workspace/github_cpp_makefile_star2_O1/wrighteagle2d[P]wrighteaglebase/Debug/../src/WorldState.cpp
// Function: WorldStateUpdater::AutoDelay(int)
void WorldStateUpdater::AutoDelay(int delay_add) {
  // team均delay一周期
  for (Unum i = 1; i <= TEAMSIZE; i++) {
    mpWorldState->mTeammate[i].AutoUpdate(
        delay_add, PlayerParam::instance().playerConfDecay());
    mpWorldState->mOpponent[i].AutoUpdate(
        delay_add, PlayerParam::instance().playerConfDecay());
  }

  //球delay一周期
  Ball().AutoUpdate(delay_add, PlayerParam::instance().ballConfDecay());

  //特殊处理
  SelfState().UpdateBodyDir(SelfState().GetBodyDir(),
                            SelfState().GetBodyDirDelay(),
                            1.0); //认为自己的身体方向肯定是清楚的
  SelfState().UpdateVel(SelfState().GetVel(), SelfState().GetVelDelay(),
                        1.0); //认为自己的速度肯定是清楚的
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %esi, %r14d
movq %rdi, -0x38(%rbp)
movl $0x21c, %r12d           # imm = 0x21C
xorl %r13d, %r13d
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rbx
leaq (%rbx,%r12), %r15
addq $-0x174, %r15           # imm = 0xFE8C
callq 0x450ba
movsd 0x31f8(%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq %r15, %rdi
movl %r14d, %esi
callq 0xf6b4
addl %r14d, 0xa0(%r15)
movsd 0xa8(%r15), %xmm0
movsd -0x30(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%r15)
addl %r14d, 0xb8(%r15)
movsd 0xc0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xc0(%r15)
addl %r14d, 0xe8(%r15)
movsd 0xf0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xf0(%r15)
addl %r14d, 0x100(%r15)
mulsd 0x108(%r15), %xmm1
movsd %xmm1, 0x108(%r15)
movb %r13b, 0x122(%r15)
movw $0x0, 0x120(%r15)
movb %r13b, 0x111(%r15)
movb %r13b, 0x160(%r15)
movl 0xc8(%r15), %eax
testl %eax, %eax
jle 0x5e127
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xac(%rbx,%r12)
movl -0x50(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e13e
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0x50(%rbx,%r12)
movl -0xa8(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e15b
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xa8(%rbx,%r12)
movl -0xa0(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e178
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xa0(%rbx,%r12)
movl -0xa4(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e195
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xa4(%rbx,%r12)
cmpl %r14d, -0x15c(%rbx,%r12)
jle 0x5e1a4
movb $0x1, (%rbx,%r12)
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rbx
leaq (%rbx,%r12), %r15
addq $0xeb4, %r15            # imm = 0xEB4
callq 0x450ba
movsd 0x31f8(%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq %r15, %rdi
movl %r14d, %esi
callq 0xf6b4
addl %r14d, 0xa0(%r15)
movsd 0xa8(%r15), %xmm0
movsd -0x30(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%r15)
addl %r14d, 0xb8(%r15)
movsd 0xc0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xc0(%r15)
addl %r14d, 0xe8(%r15)
movsd 0xf0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xf0(%r15)
addl %r14d, 0x100(%r15)
mulsd 0x108(%r15), %xmm1
movsd %xmm1, 0x108(%r15)
movb %r13b, 0x122(%r15)
movw $0x0, 0x120(%r15)
movb %r13b, 0x111(%r15)
movb %r13b, 0x160(%r15)
movl 0xc8(%r15), %eax
testl %eax, %eax
jle 0x5e284
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf7c(%rbx,%r12)
movl 0xfd8(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e2a1
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xfd8(%rbx,%r12)
movl 0xf80(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e2be
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf80(%rbx,%r12)
movl 0xf88(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e2db
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf88(%rbx,%r12)
movl 0xf84(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5e2f8
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf84(%rbx,%r12)
cmpl %r14d, 0xecc(%rbx,%r12)
jle 0x5e30b
movb $0x1, 0x1028(%rbx,%r12)
addq $0x178, %r12            # imm = 0x178
cmpq $0x1244, %r12           # imm = 0x1244
jne 0x5e047
movq -0x38(%rbp), %rbx
movq 0x8(%rbx), %r15
addq $0x30, %r15
callq 0x450ba
movsd 0x3200(%rax), %xmm0
movq %r15, %rdi
movl %r14d, %esi
callq 0xf6b4
movslq 0x14(%rbx), %rax
movq 0x8(%rbx), %rcx
imulq $0x178, %rax, %rax      # imm = 0x178
leaq (%rax,%rcx), %rdi
addq $-0xd0, %rdi
movsd 0xb0(%rdi), %xmm0
movsd 0xccf3(%rip), %xmm1     # 0x6b060
ucomisd %xmm0, %xmm1
jbe 0x5e387
movsd 0xccf5(%rip), %xmm2     # 0x6b070
addsd %xmm2, %xmm0
ucomisd %xmm0, %xmm1
ja 0x5e37b
jmp 0x5e3ab
ucomisd 0xccb9(%rip), %xmm0     # 0x6b048
jb 0x5e3ab
movsd 0xcccf(%rip), %xmm1     # 0x6b068
movsd 0xcca7(%rip), %xmm2     # 0x6b048
addsd %xmm1, %xmm0
ucomisd %xmm2, %xmm0
jae 0x5e3a1
movsd %xmm0, 0xb0(%rdi)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0xc0(%rdi)
leaq 0x30(%rdi), %rsi
movl 0x40(%rdi), %edx
movsd 0xcc85(%rip), %xmm0     # 0x6b058
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xf64c