// File: 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
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x190(%rbp)
leaq 0x9551f(%rip), %rax     # 0xfd9d0
movq %rax, (%rdi)
addq $0xc, %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
movl %esi, -0x1a0(%rbp)
xorl %edx, %edx
movl %edx, -0x19c(%rbp)
callq 0x13c70
movl -0x1a0(%rbp), %esi
movl -0x19c(%rbp), %edx
movq -0x190(%rbp), %rdi
addq $0x14, %rdi
callq 0x13c70
movq -0x190(%rbp), %rdi
addq $0x3c, %rdi
callq 0x6dc60
movq -0x190(%rbp), %rdi
addq $0x68, %rdi
callq 0x6dc60
movq -0x190(%rbp), %rdi
addq $0x94, %rdi
callq 0x6dc60
movq -0x190(%rbp), %rdi
addq $0xc0, %rdi
callq 0x6dc80
movq -0x190(%rbp), %rdi
addq $0xec, %rdi
callq 0x6dc80
movq -0x190(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0x6dca0
movq -0x190(%rbp), %rdi
addq $0x1c0, %rdi            # imm = 0x1C0
movq %rdi, -0x198(%rbp)
callq 0x6dde0
movq -0x190(%rbp), %rdi
addq $0x548, %rdi            # imm = 0x548
callq 0x6df10
jmp 0x68587
movq -0x190(%rbp), %rdi
addq $0x1830, %rdi           # imm = 0x1830
callq 0x6df60
jmp 0x6859c
movq -0x190(%rbp), %rdi
addq $0x1870, %rdi           # imm = 0x1870
callq 0x6df80
jmp 0x685b1
movq -0x190(%rbp), %rdi
addq $0x1fa8, %rdi           # imm = 0x1FA8
callq 0x6df80
jmp 0x685c6
movq -0x190(%rbp), %rdi
addq $0x26e0, %rdi           # imm = 0x26E0
callq 0x6dfa0
jmp 0x685db
movq -0x190(%rbp), %rdi
addq $0x2840, %rdi           # imm = 0x2840
callq 0x6dff0
jmp 0x685f0
movq -0x190(%rbp), %rdi
addq $0x31e4, %rdi           # imm = 0x31E4
callq 0x6e040
jmp 0x68605
movq -0x190(%rbp), %rdi
addq $0x3344, %rdi           # imm = 0x3344
callq 0x6e090
jmp 0x6861a
movq -0x190(%rbp), %rdi
addq $0x3360, %rdi           # imm = 0x3360
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x651d0
jmp 0x68636
movq -0x190(%rbp), %rdi
addq $0x3370, %rdi           # imm = 0x3370
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x651d0
jmp 0x68652
movq -0x190(%rbp), %rdi
addq $0x3390, %rdi           # imm = 0x3390
movq %rdi, -0x1a8(%rbp)
callq 0x8e9b0
jmp 0x6866e
movq -0x190(%rbp), %rdi
addq $0x33e8, %rdi           # imm = 0x33E8
movq %rdi, -0x1b0(%rbp)
callq 0x8e9b0
jmp 0x6868a
movq -0x190(%rbp), %rdi
addq $0x3440, %rdi           # imm = 0x3440
movq %rdi, -0x1b8(%rbp)
callq 0x8e9b0
jmp 0x686a6
movq -0x190(%rbp), %rdi
addq $0x3498, %rdi           # imm = 0x3498
movq %rdi, -0x1c0(%rbp)
callq 0x8e9b0
jmp 0x686c2
movq -0x190(%rbp), %rdi
addq $0x34f0, %rdi           # imm = 0x34F0
movq %rdi, -0x1c8(%rbp)
callq 0x8e9b0
jmp 0x686de
movq -0x190(%rbp), %rdi
addq $0x3548, %rdi           # imm = 0x3548
movq %rdi, -0x1d0(%rbp)
callq 0x8eb70
jmp 0x686fa
movq -0x190(%rbp), %rdi
addq $0x3570, %rdi           # imm = 0x3570
movq %rdi, -0x1d8(%rbp)
callq 0x6e0c0
jmp 0x68716
movq -0x190(%rbp), %rdi
addq $0x35e8, %rdi           # imm = 0x35E8
movq %rdi, -0x1e0(%rbp)
callq 0x6e130
jmp 0x68732
movq -0x190(%rbp), %rdi
addq $0x4610, %rdi           # imm = 0x4610
movq %rdi, -0x1e8(%rbp)
callq 0x6e130
jmp 0x6874e
movq -0x190(%rbp), %rdi
addq $0x5638, %rdi           # imm = 0x5638
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x6876a
movq -0x190(%rbp), %rdi
addq $0x5640, %rdi           # imm = 0x5640
movq $0x0, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
leaq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x11a10
jmp 0x68797
movq -0x190(%rbp), %rdi
addq $0x5650, %rdi           # imm = 0x5650
movq $0x0, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
leaq -0x30(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x11a10
jmp 0x687c4
movq -0x190(%rbp), %rdi
addq $0x5660, %rdi           # imm = 0x5660
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x687e0
movq -0x190(%rbp), %rdi
addq $0x5668, %rdi           # imm = 0x5668
movq $0x0, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
leaq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x11a10
jmp 0x6880d
movq -0x190(%rbp), %rdi
addq $0x5678, %rdi           # imm = 0x5678
movq $0x0, -0x50(%rbp)
movq $0x0, -0x58(%rbp)
leaq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x11a10
jmp 0x6883a
movq -0x190(%rbp), %rdi
addq $0x5688, %rdi           # imm = 0x5688
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x68856
movq -0x190(%rbp), %rdi
addq $0x5690, %rdi           # imm = 0x5690
movq $0x0, -0x60(%rbp)
movq $0x0, -0x68(%rbp)
leaq -0x60(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x11a10
jmp 0x68883
movq -0x190(%rbp), %rdi
addq $0x56a0, %rdi           # imm = 0x56A0
movq $0x0, -0x70(%rbp)
movq $0x0, -0x78(%rbp)
leaq -0x70(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x11a10
jmp 0x688b0
movq -0x190(%rbp), %rdi
addq $0x56b0, %rdi           # imm = 0x56B0
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x688cc
movq -0x190(%rbp), %rdi
addq $0x56c0, %rdi           # imm = 0x56C0
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x688e8
leaq -0x80(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x13c70
jmp 0x688fa
movq -0x190(%rbp), %rax
movq -0x80(%rbp), %rcx
movq %rcx, 0xc(%rax)
movb $0x3f, 0x28(%rax)
movb $0x3f, 0x29(%rax)
movb $0x3f, 0x2a(%rax)
movl $0x0, 0x2c(%rax)
movl $0x0, 0x30(%rax)
movl $0x0, 0x34(%rax)
movl $0x0, 0x38(%rax)
movl $0x16, 0x1c(%rax)
xorl %eax, %eax
movl %eax, %edx
leaq -0x90(%rbp), %rdi
movq %rdx, %rsi
callq 0x651d0
jmp 0x6894d
movq -0x190(%rbp), %rax
movups -0x90(%rbp), %xmm0
movups %xmm0, 0x3360(%rax)
xorl %eax, %eax
movl %eax, %edx
leaq -0xa0(%rbp), %rdi
movq %rdx, %rsi
callq 0x651d0
jmp 0x68977
movq -0x190(%rbp), %rdi
movups -0xa0(%rbp), %xmm0
movups %xmm0, 0x3370(%rdi)
callq 0x68d80
jmp 0x68993
movq -0x190(%rbp), %rax
movb $0x0, 0x3380(%rax)
movb $0x0, 0x3387(%rax)
movb $0x0, 0x3388(%rax)
movb $0x0, 0x3389(%rax)
leaq -0xa8(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x689cb
movq -0x190(%rbp), %rax
movq -0xa8(%rbp), %rcx
movq %rcx, 0x5638(%rax)
movq $0x0, -0xc0(%rbp)
movq $0x0, -0xc8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
callq 0x11a10
jmp 0x68a12
movq -0x190(%rbp), %rax
movups -0xb8(%rbp), %xmm0
movups %xmm0, 0x5640(%rax)
movq $0x0, -0xe0(%rbp)
movq $0x0, -0xe8(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
callq 0x11a10
jmp 0x68a59
movq -0x190(%rbp), %rax
movups -0xd8(%rbp), %xmm0
movups %xmm0, 0x5650(%rax)
leaq -0xf0(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x68a83
movq -0x190(%rbp), %rax
movq -0xf0(%rbp), %rcx
movq %rcx, 0x5688(%rax)
movq $0x0, -0x108(%rbp)
movq $0x0, -0x110(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rsi
leaq -0x110(%rbp), %rdx
callq 0x11a10
jmp 0x68aca
movq -0x190(%rbp), %rax
movups -0x100(%rbp), %xmm0
movups %xmm0, 0x5690(%rax)
movq $0x0, -0x128(%rbp)
movq $0x0, -0x130(%rbp)
leaq -0x120(%rbp), %rdi
leaq -0x128(%rbp), %rsi
leaq -0x130(%rbp), %rdx
callq 0x11a10
jmp 0x68b11
movq -0x190(%rbp), %rax
movups -0x120(%rbp), %xmm0
movups %xmm0, 0x56a0(%rax)
leaq -0x138(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x68b3b
movq -0x190(%rbp), %rax
movq -0x138(%rbp), %rcx
movq %rcx, 0x5660(%rax)
movq $0x0, -0x150(%rbp)
movq $0x0, -0x158(%rbp)
leaq -0x148(%rbp), %rdi
leaq -0x150(%rbp), %rsi
leaq -0x158(%rbp), %rdx
callq 0x11a10
jmp 0x68b82
movq -0x190(%rbp), %rax
movups -0x148(%rbp), %xmm0
movups %xmm0, 0x5668(%rax)
movq $0x0, -0x170(%rbp)
movq $0x0, -0x178(%rbp)
leaq -0x168(%rbp), %rdi
leaq -0x170(%rbp), %rsi
leaq -0x178(%rbp), %rdx
callq 0x11a10
jmp 0x68bc9
movq -0x190(%rbp), %rax
movups -0x168(%rbp), %xmm0
movups %xmm0, 0x5678(%rax)
leaq -0x180(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x68bf3
movq -0x190(%rbp), %rax
movq -0x180(%rbp), %rcx
movq %rcx, 0x56b0(%rax)
movq $0x0, 0x56b8(%rax)
leaq -0x188(%rbp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
xorl %edx, %edx
callq 0x13c70
jmp 0x68c28
movq -0x190(%rbp), %rax
movq -0x188(%rbp), %rcx
movq %rcx, 0x56c0(%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0x56c8(%rax)
movb $0x0, 0x119(%rax)
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68d09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x68cfd
movq -0x1e8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x6e150
movq -0x1e0(%rbp), %rdi
callq 0x6e150
movq -0x1d8(%rbp), %rdi
callq 0x23f80
movq -0x1d0(%rbp), %rdi
callq 0x8eb90
movq -0x1c8(%rbp), %rdi
callq 0x8e9f0
movq -0x1c0(%rbp), %rdi
callq 0x8e9f0
movq -0x1b8(%rbp), %rdi
callq 0x8e9f0
movq -0x1b0(%rbp), %rdi
callq 0x8e9f0
movq -0x1a8(%rbp), %rdi
callq 0x8e9f0
movq -0x198(%rbp), %rdi
callq 0x6e170
movq -0x10(%rbp), %rdi
callq 0xaa60
nopw %cs:(%rax,%rax)