// File: /workspace/github_cpp_makefile_star2_O3/wrighteagle2d[P]wrighteaglebase/Debug/../src/Observer.cpp
// Function: Observer::Observer()
Observer::Observer() {
  mCurrentTime = Time(-1, 0);
  mOurInitSide = '?';
  mOurSide = '?';
  mOppSide = '?';
  mSelfUnum = 0;
  mOppGoalieUnum = 0;
  mOurScore = 0;
  mOppScore = 0;

  mPlayMode = PM_Before_Kick_Off;

  mLastCycleBeginRealTime = RealTime(0, 0);
  mLastSightRealTime = RealTime(0, 0);

  Reset();

  mIsBeginDecision = false;
  mSenseArrived = false;
  mSightArrived = false;
  mThinkArrived = false;

  mBallKickTime = Time(-3, 0);
  mBallPosByKick = Vector(0.0, 0.0);
  mBallVelByKick = Vector(0.0, 0.0);

  mPlayerMoveTime = Time(-3, 0);
  mPlayerPosByMove = Vector(0.0, 0.0);
  mPlayerVelByMove = Vector(0.0, 0.0);

  mPlayerDashTime = Time(-3, 0);
  mPlayerPosByDash = Vector(0.0, 0.0);
  mPlayerVelByDash = Vector(0.0, 0.0);

  mPlayerTurnTime = Time(-3, 0);
  mPlayerBodyDirByTurn = 0.0;

  mPlayerTurnNeckTime = Time(-3, 0);
  mPlayerNeckDirByTurnNeck = 0.0; // 脖子角度，绝对量

  mIsNewOppType = false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
leaq 0x49599(%rip), %rax     # 0x839c0
movq %rax, (%rdi)
movaps 0x30b2f(%rip), %xmm0    # 0x6af60
movups %xmm0, 0xc(%rdi)
addq $0x3c, %rdi
leaq 0x120(%r14), %rbx
xorl %r15d, %r15d
movl $0xdc, %edx
xorl %esi, %esi
callq 0x92b0
movq %rbx, %rdi
callq 0x3c522
leaq 0x1c0(%r14), %r12
movq %r12, %rdi
callq 0x3c5a4
movl $0x598, %eax            # imm = 0x598
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorps %xmm0, %xmm0
movabsq $0x3800000000, %rdx     # imm = 0x3800000000
movq %r15, -0x50(%r14,%rax)
movq %rcx, -0x48(%r14,%rax)
movq %r15, -0x40(%r14,%rax)
movq %rcx, -0x38(%r14,%rax)
movq %r15, -0x30(%r14,%rax)
movq %rcx, -0x28(%r14,%rax)
movq %r15, -0x20(%r14,%rax)
movl $0xffffffff, -0x18(%r14,%rax) # imm = 0xFFFFFFFF
movups %xmm0, -0x14(%r14,%rax)
movq %rdx, -0x4(%r14,%rax)
addq $0x58, %rax
cmpq $0x1880, %rax           # imm = 0x1880
jne 0x3a47d
xorl %eax, %eax
movq %rax, 0x1830(%r14)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, 0x1838(%r14)
movq %rax, 0x1840(%r14)
movq %rcx, 0x1848(%r14)
movq %rax, 0x1850(%r14)
movq %rcx, 0x1858(%r14)
movq %rax, 0x1860(%r14)
movq %rcx, 0x1868(%r14)
movl $0x1870, %ebx           # imm = 0x1870
leaq (%r14,%rbx), %rdi
callq 0x3c6f6
addq $0xa8, %rbx
cmpq $0x1fa8, %rbx           # imm = 0x1FA8
jne 0x3a504
movl $0x1fa8, %ebx           # imm = 0x1FA8
leaq (%r14,%rbx), %rdi
callq 0x3c6f6
addq $0xa8, %rbx
cmpq $0x26e0, %rbx           # imm = 0x26E0
jne 0x3a522
movl $0x26e0, %eax           # imm = 0x26E0
xorl %ecx, %ecx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorps %xmm0, %xmm0
movabsq $0x500000000, %rsi      # imm = 0x500000000
movq %rcx, (%r14,%rax)
movq %rdx, 0x8(%r14,%rax)
movq %rcx, 0x10(%r14,%rax)
movq %rdx, 0x18(%r14,%rax)
movq %rcx, 0x20(%r14,%rax)
movq %rdx, 0x28(%r14,%rax)
movq %rcx, 0x30(%r14,%rax)
movl $0xffffffff, 0x38(%r14,%rax) # imm = 0xFFFFFFFF
movups %xmm0, 0x3c(%r14,%rax)
movq %rsi, 0x4c(%r14,%rax)
addq $0x58, %rax
cmpq $0x2840, %rax           # imm = 0x2840
jne 0x3a554
movl $0x2840, %ebx           # imm = 0x2840
leaq (%r14,%rbx), %rdi
callq 0x3c88c
addq $0x70, %rbx
cmpq $0x31e0, %rbx           # imm = 0x31E0
jne 0x3a59b
movl $0x31f0, %eax           # imm = 0x31F0
movb $0x6c, -0xc(%r14,%rax)
movl $0x1, -0x8(%r14,%rax)
movb $0x72, -0x4(%r14,%rax)
movl $0xb, (%r14,%rax)
addq $0x10, %rax
cmpq $0x3350, %rax           # imm = 0x3350
jne 0x3a5b6
movb $0x6c, 0x3344(%r14)
movl $0x1, 0x3348(%r14)
movb $0x72, 0x334c(%r14)
movl $0xb, 0x3350(%r14)
leaq 0x3390(%r14), %rbx
xorps %xmm0, %xmm0
movups %xmm0, 0x3360(%r14)
movups %xmm0, 0x3370(%r14)
movq %rbx, %rdi
callq 0x4dee0
leaq 0x33e8(%r14), %r15
movq %r15, %rdi
movq %r12, -0x48(%rbp)
movq %rbx, -0x40(%rbp)
callq 0x4dee0
leaq 0x3440(%r14), %r13
movq %r13, %rdi
movq %r15, -0x38(%rbp)
callq 0x4dee0
leaq 0x3498(%r14), %rbx
movq %rbx, %rdi
callq 0x4dee0
leaq 0x34f0(%r14), %r15
movq %r15, %rdi
callq 0x4dee0
leaq 0x3548(%r14), %r12
movq %r12, %rdi
callq 0x4e004
leaq 0x3570(%r14), %rdi
callq 0x3c67c
leaq 0x35e8(%r14), %rdi
callq 0x3c81e
leaq 0x4610(%r14), %rdi
callq 0x3c81e
leaq 0x3360(%r14), %rdx
movl $0xfffffffd, %eax       # imm = 0xFFFFFFFD
leaq 0x2(%rax), %rcx
movq %rcx, 0xc(%r14)
movw $0x3f3f, 0x28(%r14)     # imm = 0x3F3F
movb $0x3f, 0x2a(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x2c(%r14)
movl $0x16, 0x1c(%r14)
xorl %ecx, %ecx
movb %cl, 0x3386(%r14)
movl %ecx, 0x31e0(%r14)
movl %ecx, 0x3354(%r14)
movl %ecx, 0x3381(%r14)
movups %xmm0, 0x10(%rdx)
movups %xmm0, (%rdx)
movq $-0x1, 0x3358(%r14)
movl $0x1, 0x3348(%r14)
movb $0x6c, 0x3344(%r14)
movb $0x72, 0x334c(%r14)
movl $0xb, 0x3350(%r14)
movq %rcx, 0x538(%r14)
movl %ecx, 0x540(%r14)
movb %cl, 0x118(%r14)
movb %cl, 0x3385(%r14)
movb %cl, 0x8(%r14)
movb %cl, 0x3380(%r14)
movw $0x0, 0x3387(%r14)
movb %cl, 0x3389(%r14)
movq %rax, 0x5638(%r14)
movups %xmm0, 0x5640(%r14)
movups %xmm0, 0x5650(%r14)
movq %rax, 0x5688(%r14)
movups %xmm0, 0x56a0(%r14)
movups %xmm0, 0x5690(%r14)
movq %rax, 0x5660(%r14)
movups %xmm0, 0x5678(%r14)
movups %xmm0, 0x5668(%r14)
movq %rax, 0x56b0(%r14)
movq %rcx, 0x56b8(%r14)
movq %rax, 0x56c0(%r14)
movq %rcx, 0x56c8(%r14)
movb %cl, 0x119(%r14)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, -0x30(%rbp)
leaq -0x110(%r14), %rsi
movq %r14, %rdi
callq 0x9fe2
jmp 0x3a7f0
movq %rax, -0x30(%rbp)
leaq 0x47bd9(%rip), %rax     # 0x823d0
movq %rax, 0x3570(%r14)
movq 0x35d8(%r14), %rdi
movl $0x670, %esi            # imm = 0x670
callq 0x94e0
jmp 0x3a815
movq %rax, -0x30(%rbp)
movq %r12, %rdi
callq 0x4e010
jmp 0x3a823
movq %rax, -0x30(%rbp)
movq %r15, %rdi
callq 0x4df04
jmp 0x3a831
movq %rax, -0x30(%rbp)
movq %rbx, %rdi
callq 0x4df04
movq %r13, %rdi
callq 0x4df04
movq -0x38(%rbp), %rdi
callq 0x4df04
movq -0x40(%rbp), %rdi
callq 0x4df04
movq -0x48(%rbp), %r12
movq -0x30(%rbp), %rbx
jmp 0x3a878
movq %rax, -0x30(%rbp)
jmp 0x3a839
movq %rax, -0x30(%rbp)
jmp 0x3a841
movq %rax, -0x30(%rbp)
jmp 0x3a84a
jmp 0x3a875
jmp 0x3a875
jmp 0x3a875
movq %rax, %rbx
movq %r12, %rdi
callq 0x3c6c2
movq %rbx, %rdi
callq 0x98b0