// File: /workspace/github_cpp_makefile_star2_O1/KellerMartins[P]PDS2-Pacman/source/game/pacman.cpp
// Function: Pacman::Pacman(int, int)
Pacman::Pacman(int x, int y) : _modelo("assets/models/pacman/idle/player_idle_0.obj", {255,211,0,255}),
							   _andando("assets/models/pacman/walk/player_walk", 6, true),
							   _parado("assets/models/pacman/idle/player_idle", 1, true),
							   _morrendo("assets/models/pacman/die/player_die", 18, false)
{
	_andando.Preload();
	_parado.Preload();
	_morrendo.Preload();
	_modelo.position = (Vector3){(float)x, 0, (float)y};
	_x = x;
	_y = y;
	_direcaoY = 0;
	_direcaoX = 0;
	_vivo = true;
	_vidas = 3;
	_velocidade = PACMAN_SPEED_DEFAULT;
	_timerAnimacao = 0.0;
	_timerScared = 0.0;
	_scaredTime = 6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movl %edx, -0x30(%rbp)
movl %esi, -0x2c(%rbp)
movq %rdi, %rbx
callq 0xb73e
leaq 0xc99e7(%rip), %rax     # 0xd6b28
movq %rax, (%rbx)
leaq -0xa8(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x8c3d2(%rip), %rsi     # 0x99528
leaq 0x8c3f6(%rip), %rdx     # 0x99553
leaq -0xb8(%rbp), %rdi
callq 0xa78c
leaq 0x8(%rbx), %r12
leaq -0xb8(%rbp), %rsi
movq %r12, %rdi
movl $0xff00d3ff, %edx       # imm = 0xFF00D3FF
callq 0xe3e6
movq -0xb8(%rbp), %rdi
cmpq %r15, %rdi
je 0xd19c
movq -0xa8(%rbp), %rsi
incq %rsi
callq 0x8880
movl $0x0, 0x2c8(%rbx)
leaq -0x88(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x8c39c(%rip), %rsi     # 0x99554
leaq 0x8c3ba(%rip), %rdx     # 0x99579
leaq -0x98(%rbp), %rdi
movq %r12, -0x38(%rbp)
callq 0xa78c
leaq 0x2f0(%rbx), %r13
leaq -0x98(%rbp), %rsi
movq %r13, %rdi
movl $0x6, %edx
movl $0x1, %ecx
callq 0xddac
movq -0x98(%rbp), %rdi
cmpq %r15, %rdi
je 0xd20a
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x8880
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x8c361(%rip), %rsi     # 0x9957a
leaq 0x8c37f(%rip), %rdx     # 0x9959f
leaq -0x78(%rbp), %rdi
callq 0xa78c
leaq 0x320(%rbx), %r14
leaq -0x78(%rbp), %rsi
movq %r14, %rdi
movl $0x1, %edx
movl $0x1, %ecx
callq 0xddac
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xd25b
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x8880
leaq -0x48(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x8c335(%rip), %rsi     # 0x995a0
leaq 0x8c351(%rip), %rdx     # 0x995c3
leaq -0x58(%rbp), %rdi
callq 0xa78c
leaq 0x350(%rbx), %r15
leaq -0x58(%rbp), %rsi
movq %r15, %rdi
movl $0x12, %edx
xorl %ecx, %ecx
callq 0xddac
movq -0x58(%rbp), %rdi
cmpq %r12, %rdi
je 0xd2aa
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x8880
movq %r13, %rdi
callq 0xde10
movq %r14, %rdi
callq 0xde10
movq %r15, %rdi
callq 0xde10
cvtsi2ssl -0x2c(%rbp), %xmm0
cvtsi2ssl -0x30(%rbp), %xmm1
movss %xmm0, 0x18(%rbx)
movl $0x0, 0x1c(%rbx)
movss %xmm1, 0x20(%rbx)
movss %xmm0, 0x2d4(%rbx)
movss %xmm1, 0x2d8(%rbx)
movq $0x0, 0x2cc(%rbx)
movb $0x1, 0x2c0(%rbx)
movl $0x3, 0x2c4(%rbx)
movaps 0x8c1e0(%rip), %xmm0    # 0x994f0
movups %xmm0, 0x2dc(%rbx)
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq -0x58(%rbp), %rdi
cmpq %r12, %rdi
je 0xd3d8
movq -0x48(%rbp), %rsi
jmp 0xd3d0
movq %rax, %r14
jmp 0xd3d8
movq %rax, %r14
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xd3f6
movq -0x68(%rbp), %rsi
jmp 0xd3ee
movq %rax, %r14
jmp 0xd3f6
movq %rax, %r14
movq -0x98(%rbp), %rdi
cmpq %r15, %rdi
je 0xd414
movq -0x88(%rbp), %rsi
jmp 0xd40c
movq %rax, %r14
jmp 0xd414
movq %rax, %r14
movq -0xb8(%rbp), %rdi
cmpq %r15, %rdi
je 0xd41d
movq -0xa8(%rbp), %rsi
incq %rsi
callq 0x8880
jmp 0xd41d
movq %rax, %r14
jmp 0xd41d
movq %rax, %r14
movq 0x350(%rbx), %rdi
leaq 0x360(%rbx), %rax
cmpq %rax, %rdi
je 0xd3d8
movq (%rax), %rsi
incq %rsi
callq 0x8880
movq 0x320(%rbx), %rdi
leaq 0x330(%rbx), %rax
cmpq %rax, %rdi
je 0xd3f6
movq (%rax), %rsi
incq %rsi
callq 0x8880
movq 0x2f0(%rbx), %rdi
leaq 0x300(%rbx), %rax
cmpq %rax, %rdi
je 0xd414
movq (%rax), %rsi
incq %rsi
callq 0x8880
movq -0x38(%rbp), %rdi
callq 0xe52e
movq %rbx, %rdi
callq 0xb788
movq %r14, %rdi
callq 0x8ea0
nop