// File: jkingan[P]ladyheather/heather.cpp
// Function: plot_queue_data()
void plot_queue_data()
{
long i;
long last_i;
int j;
u08 ticker[MAX_MARKER];

   //  plot the data points
   plot_column = 0;

   batt_mah = batt_mwh = 0.0F;
   load_mah = load_mwh = 0.0F;

   if((all_adevs == SINGLE_ADEVS) || mixed_adevs) {
      for(j=0; j<MAX_MARKER; j++) { // prepare to find what marked points are shown
         ticker[j] = 1;
      }

      i = plot_q_col0;
      while(i != plot_q_in) {  // plot the data that is in the queue
         plot_entry(i);        // plot the data values

         last_i = i;           // go to next point to plot
         i = next_q_point(i, STOP_AT_PLOT_END);
         if(i < 0) break;      // end of plot data reached

         for(j=0; j<MAX_MARKER; j++) {  // see if the queue entry is marked
            if(ticker[j] && mark_q_entry[j] && (mark_q_entry[j] >= last_i) && (mark_q_entry[j] <= i)) {
               plot_mark(j);
               ticker[j] = 0;
            }
         }
      }
      plot_q_last_col = last_i;

      // see if we have more data in the queue that can be plotted
      if((plot_q_count && (i == plot_q_in)) || (i == (-2L))) {  // more data is available
         sprintf(out, " %c", RIGHT_ARROW);
         right_arrow = 1;
      }
      else {
         sprintf(out, "  ");
         right_arrow = 0;
      }
      vidstr(PLOT_TEXT_ROW-1, (SCREEN_WIDTH/TEXT_WIDTH)-2, WHITE, out);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, 0x2558fa(%rip)    # 0x27a5ac
xorps %xmm0, %xmm0
movsd %xmm0, 0x347393(%rip)   # 0x36c050
xorps %xmm0, %xmm0
movsd %xmm0, 0x347380(%rip)   # 0x36c048
xorps %xmm0, %xmm0
movsd %xmm0, 0x34738d(%rip)   # 0x36c060
xorps %xmm0, %xmm0
movsd %xmm0, 0x34737a(%rip)   # 0x36c058
movzbl 0x277239(%rip), %eax    # 0x29bf1e
cmpl $0x0, %eax
je 0x24cf7
cmpb $0x0, 0x27722c(%rip)    # 0x29bf1d
je 0x24e71
movl $0x0, -0x14(%rbp)
cmpl $0xa, -0x14(%rbp)
jge 0x24d18
movslq -0x14(%rbp), %rax
movb $0x1, -0x1e(%rbp,%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x24cfe
movq 0x255729(%rip), %rax    # 0x27a448
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq 0x2557da(%rip), %rax    # 0x27a508
je 0x24dd7
movq -0x8(%rbp), %rdi
callq 0x22c30
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x15280
movq %rax, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jge 0x24d60
jmp 0x24dd7
movl $0x0, -0x14(%rbp)
cmpl $0xa, -0x14(%rbp)
jge 0x24dd2
movslq -0x14(%rbp), %rax
cmpb $0x0, -0x1e(%rbp,%rax)
je 0x24dc5
movslq -0x14(%rbp), %rcx
leaq 0x25570d(%rip), %rax    # 0x27a490
cmpq $0x0, (%rax,%rcx,8)
je 0x24dc5
movslq -0x14(%rbp), %rcx
leaq 0x2556fb(%rip), %rax    # 0x27a490
movq (%rax,%rcx,8), %rax
cmpq -0x10(%rbp), %rax
jl 0x24dc5
movslq -0x14(%rbp), %rcx
leaq 0x2556e6(%rip), %rax    # 0x27a490
movq (%rax,%rcx,8), %rax
cmpq -0x8(%rbp), %rax
jg 0x24dc5
movl -0x14(%rbp), %edi
callq 0x20090
movslq -0x14(%rbp), %rax
movb $0x0, -0x1e(%rbp,%rax)
jmp 0x24dc7
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x24d67
jmp 0x24d23
movq -0x10(%rbp), %rax
movq %rax, 0x25566e(%rip)    # 0x27a450
cmpq $0x0, 0x25572e(%rip)    # 0x27a518
je 0x24df9
movq -0x8(%rbp), %rax
cmpq 0x255711(%rip), %rax    # 0x27a508
je 0x24e00
cmpq $-0x2, -0x8(%rbp)
jne 0x24e26
leaq 0x3765f9(%rip), %rdi    # 0x39b400
leaq 0x16b7f3(%rip), %rsi    # 0x190601
movl $0x1a, %edx
movb $0x0, %al
callq 0x9060
movl $0x1, 0x37a918(%rip)    # 0x39f73c
jmp 0x24e45
leaq 0x3765d3(%rip), %rdi    # 0x39b400
leaq 0x160faf(%rip), %rsi    # 0x185de3
movb $0x0, %al
callq 0x9060
movl $0x0, 0x37a8f7(%rip)    # 0x39f73c
movl 0x252c25(%rip), %edi    # 0x277a70
subl $0x1, %edi
movl 0x252b8c(%rip), %eax    # 0x2779e0
cltd
idivl 0x252b95(%rip)          # 0x2779f0
movl %eax, %esi
subl $0x2, %esi
movl $0xf, %edx
leaq 0x376594(%rip), %rcx    # 0x39b400
callq 0x10ee0
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)