// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/Observer.cpp
// Function: Observer::SetSensePartialBody(ViewWidth, int, int, int, int, int, int, int, int, int, int, double, double, int, Time)
void Observer::SetSensePartialBody(ViewWidth view_width,

                                   int kicks, int dashes, int turns, int says,
                                   int turn_necks, int catchs, int moves,
                                   int change_views,

                                   int arm_movable_ban, int arm_expires,
                                   double arm_target_dist,
                                   AngleDeg arm_target_dir, int arm_count,

                                   Time sense_time) {
  mSenseObserver.SetViewWidth(view_width);

  mSenseObserver.SetKickCount(kicks);
  mSenseObserver.SetDashCount(dashes);
  mSenseObserver.SetTurnCount(turns);
  mSenseObserver.SetSayCount(says);
  mSenseObserver.SetTurnNeckCount(turn_necks);
  mSenseObserver.SetCatchCount(catchs);
  mSenseObserver.SetMoveCount(moves);
  mSenseObserver.SetChangeViewCount(change_views);

  mSenseObserver.SetArmMovableBan(arm_movable_ban);
  mSenseObserver.SetArmExpires(arm_expires);
  mSenseObserver.SetArmTargetDist(arm_target_dist);
  mSenseObserver.SetArmTargetDir(arm_target_dir);
  mSenseObserver.SetArmCount(arm_count);

  mSenseObserver.SetSenseTime(sense_time);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq 0x48(%rbp), %rax
movl 0x40(%rbp), %eax
movl 0x38(%rbp), %eax
movl 0x30(%rbp), %eax
movl 0x28(%rbp), %eax
movl 0x20(%rbp), %eax
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movl %r9d, -0x1c(%rbp)
movsd %xmm0, -0x28(%rbp)
movsd %xmm1, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x40(%rbp)
addq $0x120, %rdi            # imm = 0x120
movl -0xc(%rbp), %esi
callq 0x6e770
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x10(%rbp), %esi
callq 0x6e850
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x14(%rbp), %esi
callq 0x6e870
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x18(%rbp), %esi
callq 0x6e890
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl -0x1c(%rbp), %esi
callq 0x6e8b0
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x10(%rbp), %esi
callq 0x6e8d0
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x18(%rbp), %esi
callq 0x6e8f0
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x20(%rbp), %esi
callq 0x6e910
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x28(%rbp), %esi
callq 0x6e930
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x30(%rbp), %esi
callq 0x6e950
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x38(%rbp), %esi
callq 0x6e970
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x28(%rbp), %xmm0
callq 0x6e990
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movsd -0x30(%rbp), %xmm0
callq 0x6e9b0
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movl 0x40(%rbp), %esi
callq 0x6e9d0
movq -0x40(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
movq 0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rsi
callq 0x6ea90
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)