// File: /workspace/github_cpp_makefile_star2_O3/Jacobious52[P]Tanks/IntroView.cpp
// Function: IntroView::_init()
void IntroView::_init()
{
    player1 = "";
    player2 = "";

    _position = Point<int>::zero();
    _size = ConsoleTools::get_terminal_size();

    // title
    Sprite *header = new Sprite(TextureTools::get_texture("title"));
    // adjust positions for unicode text
    header->set_position(Point<int>(get_size().x/2 - header->get_size().x/4 - 6, 2));
    header->set_size(Point<int>(header->get_size().x, header->get_size().y));
    header->set_fcolor(ConsoleTools::magneta);
    header->tag = 1;

    add_child(header);

     // copyright
    Sprite *copyright = new Sprite("Copyright © Jacob Gonzalez (a1687803) 2015");
    copyright->set_position(Point<int>(get_size().x/2 - copyright->get_size().x/2,
                                         get_size().y - 1));
    copyright->set_fcolor(ConsoleTools::green);

    add_child(copyright);

    // vs_text. not adding to view for can be on stack

    _vs_text = Sprite(TextureTools::get_texture("vs"));
    _vs_text.set_position(Point<int>(get_size().x/2 - _vs_text.get_size().x/4 + 2,
                                        get_size().y/2 - _vs_text.get_size().y/2));
    _vs_text.set_fcolor(ConsoleTools::yellow);

    // loading string
    _load_num_string = "";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x100, %rsp            # imm = 0x100
movq %rdi, %rbx
addq $0x38, %rdi
movq 0x40(%rbx), %rdx
leaq 0x67fb(%rip), %r14      # 0xc00b
xorl %esi, %esi
movq %r14, %rcx
xorl %r8d, %r8d
callq 0x3380
leaq 0x58(%rbx), %rdi
movq 0x60(%rbx), %rdx
xorl %esi, %esi
movq %r14, %rcx
xorl %r8d, %r8d
callq 0x3380
movq $0x0, 0x18(%rbx)
callq 0x394e
movq %rax, 0x20(%rbx)
movl $0x60, %edi
callq 0x3260
movq %rax, %r14
leaq -0x70(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x68ef(%rip), %rsi      # 0xc14e
leaq 0x68ed(%rip), %rdx      # 0xc153
leaq -0x80(%rbp), %rdi
callq 0x574e
leaq -0xc0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x84ba
leaq -0xc0(%rbp), %rsi
movq %r14, %rdi
callq 0x4ef4
leaq -0xb0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58a3
callq 0x3230
movq -0x80(%rbp), %rdi
cmpq %r15, %rdi
je 0x58b1
callq 0x3230
movabsq $-0x100000000, %r12     # imm = 0xFFFFFFFF00000000
movq %rbx, %rdi
callq 0x9a66
movl %eax, %r15d
shrl $0x1f, %r15d
addl %eax, %r15d
sarl %r15d
movq %r14, %rdi
callq 0x9a66
leal 0x3(%rax), %ecx
testl %eax, %eax
cmovnsl %eax, %ecx
sarl $0x2, %ecx
subl %ecx, %r15d
addl $-0x6, %r15d
btsq $0x21, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x9a5c
movq %r14, %rdi
callq 0x9a66
movq %rax, %r15
movq %r14, %rdi
callq 0x9a66
andq %r12, %rax
movl %r15d, %esi
orq %rax, %rsi
movq %r14, %rdi
callq 0x9a70
movq %r14, %rdi
movl $0x23, %esi
callq 0x68e6
movl $0x1, 0x8(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x98fe
movl $0x60, %edi
callq 0x3260
movq %rax, %r14
leaq -0x50(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x67fa(%rip), %rsi      # 0xc154
leaq 0x681e(%rip), %rdx      # 0xc17f
leaq -0x60(%rbp), %rdi
callq 0x574e
leaq -0x60(%rbp), %rsi
movq %r14, %rdi
callq 0x4ef4
movq -0x60(%rbp), %rdi
cmpq %r15, %rdi
je 0x5984
callq 0x3230
movq %rbx, %rdi
callq 0x9a66
movl %eax, %r15d
shrl $0x1f, %r15d
addl %eax, %r15d
sarl %r15d
movq %r14, %rdi
callq 0x9a66
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %r15d
movq %rbx, %rdi
callq 0x9a66
andq %r12, %rax
addq %rax, %r12
orq %r12, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x9a5c
movq %r14, %rdi
movl $0x20, %esi
callq 0x68e6
movq %rbx, %rdi
movq %r14, %rsi
callq 0x98fe
leaq -0x30(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x6790(%rip), %rsi      # 0xc180
leaq 0x678b(%rip), %rdx      # 0xc182
leaq -0x40(%rbp), %rdi
callq 0x574e
leaq -0xa0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x84ba
leaq -0x120(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x4ef4
leaq -0xe8(%rbp), %rsi
movups -0x30(%rsi), %xmm0
movups -0x20(%rsi), %xmm1
movups -0x17(%rsi), %xmm2
movups %xmm2, 0x99(%rbx)
movups %xmm1, 0x90(%rbx)
movups %xmm0, 0x80(%rbx)
leaq 0xb0(%rbx), %rdi
callq 0x3140
leaq -0x120(%rbp), %rdi
movq 0x58(%rdi), %rax
movq %rax, 0xd0(%rbx)
callq 0x5716
leaq -0x90(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5a83
callq 0x3230
movq -0x40(%rbp), %rdi
cmpq %r14, %rdi
je 0x5a91
callq 0x3230
leaq 0x78(%rbx), %r14
movq %rbx, %rdi
callq 0x9a66
movl %eax, %r15d
shrl $0x1f, %r15d
addl %eax, %r15d
sarl %r15d
movq %r14, %rdi
callq 0x9a66
leal 0x3(%rax), %ecx
testl %eax, %eax
cmovnsl %eax, %ecx
sarl $0x2, %ecx
subl %ecx, %r15d
addl $0x2, %r15d
movq %rbx, %rdi
callq 0x9a66
movq %rax, %r12
shrq $0x20, %rax
shrq $0x3f, %r12
addl %eax, %r12d
sarl %r12d
movq %r14, %rdi
callq 0x9a66
movq %rax, %rcx
shrq $0x20, %rcx
shrq $0x3f, %rax
addl %ecx, %eax
sarl %eax
subl %eax, %r12d
shlq $0x20, %r12
orq %r12, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x9a5c
movq %r14, %rdi
movl $0x21, %esi
callq 0x68e6
movq 0xe0(%rbx), %rdx
addq $0xd8, %rbx
leaq 0x64e0(%rip), %rcx      # 0xc00b
movq %rbx, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
callq 0x3380
addq $0x100, %rsp            # imm = 0x100
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x120(%rbp), %rdi
callq 0x5716
jmp 0x5bae
movq %rax, %rdi
callq 0x3ac6
movq %rax, %rbx
jmp 0x5bc3
movq %rax, %rbx
jmp 0x5bd1
movq %rax, %rbx
movq -0x60(%rbp), %rdi
jmp 0x5b97
jmp 0x5ba3
movq %rax, %rbx
leaq -0xb0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5b93
callq 0x3230
jmp 0x5b93
movq %rax, %rbx
movq -0x80(%rbp), %rdi
cmpq %r15, %rdi
je 0x5ba6
callq 0x3230
jmp 0x5ba6
movq %rax, %rbx
movq %r14, %rdi
jmp 0x5bcc
movq %rax, %rbx
leaq -0x90(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5bc3
callq 0x3230
movq -0x40(%rbp), %rdi
cmpq %r14, %rdi
je 0x5bd1
callq 0x3230
movq %rbx, %rdi
callq 0x3430
nop