// File: /workspace/github_c_makefile_star2_O2/schroeder-lvb[P]sissm/src/pioverride.c
// Function: pioverrideInitConfig
int pioverrideInitConfig( void )
{
    cfsPtr cP;

    cP = cfsCreate( sissmGetConfigPath() );

    // read "pioverride.pluginstate" variable from the .cfg file
    pioverrideConfig.pluginState = (int) cfsFetchNum( cP, "pioverride.pluginState", 0.0 );  // disabled by default

    // array of 10 [<gamemodeproperty> <value>] pairs
    //
    strlcpy( pioverrideConfig.cvar[0],  cfsFetchStr( cP, "pioverride.cvar[0]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[1],  cfsFetchStr( cP, "pioverride.cvar[1]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[2],  cfsFetchStr( cP, "pioverride.cvar[2]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[3],  cfsFetchStr( cP, "pioverride.cvar[3]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[4],  cfsFetchStr( cP, "pioverride.cvar[4]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[5],  cfsFetchStr( cP, "pioverride.cvar[5]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[6],  cfsFetchStr( cP, "pioverride.cvar[6]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[7],  cfsFetchStr( cP, "pioverride.cvar[7]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[8],  cfsFetchStr( cP, "pioverride.cvar[8]",  "" ), CFS_FETCH_MAX );
    strlcpy( pioverrideConfig.cvar[9],  cfsFetchStr( cP, "pioverride.cvar[9]",  "" ), CFS_FETCH_MAX );

    // if pokeEveryRound = 1, then this plugin will program the gamemodeproperty to 
    // the server at start of every round.  Otherwise, it is only programmed at start of 
    // every game.
    //
    pioverrideConfig.pokeEveryRound = (int) cfsFetchNum( cP, "pioverride.pokeEveryRound", 0 );

    cfsDestroy( cP );
    return 0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
callq 0x8973
movq %rax, %rdi
callq 0x8f80
movq %rax, %rbx
leaq 0xd3b7(%rip), %rsi      # 0x1c636
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x91bd
cvttsd2si %xmm0, %eax
movl %eax, 0xb9c0b(%rip)     # 0xc8ea0
leaq 0xd3b1(%rip), %rsi      # 0x1c64d
leaq 0xb466(%rip), %r14      # 0x1a709
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xb9bef(%rip), %rdi     # 0xc8ea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd397(%rip), %rsi      # 0x1c660
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xb9fc9(%rip), %rdi     # 0xc92a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd384(%rip), %rsi      # 0x1c673
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xba3a3(%rip), %rdi     # 0xc96a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd371(%rip), %rsi      # 0x1c686
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xba77d(%rip), %rdi     # 0xc9aa4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd35e(%rip), %rsi      # 0x1c699
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xbab57(%rip), %rdi     # 0xc9ea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd34b(%rip), %rsi      # 0x1c6ac
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xbaf31(%rip), %rdi     # 0xca2a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd338(%rip), %rsi      # 0x1c6bf
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xbb30b(%rip), %rdi     # 0xca6a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd325(%rip), %rsi      # 0x1c6d2
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xbb6e5(%rip), %rdi     # 0xcaaa4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd312(%rip), %rsi      # 0x1c6e5
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xbbabf(%rip), %rdi     # 0xcaea4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd2ff(%rip), %rsi      # 0x1c6f8
movq %rbx, %rdi
movq %r14, %rdx
callq 0x8ff5
leaq 0xbbe99(%rip), %rdi     # 0xcb2a4
movl $0x400, %edx            # imm = 0x400
movq %rax, %rsi
callq 0xe97a
leaq 0xd2ec(%rip), %rsi      # 0x1c70b
xorpd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x91bd
cvttsd2si %xmm0, %eax
movl %eax, 0xbc26f(%rip)     # 0xcb6a4
movq %rbx, %rdi
callq 0x8fd6
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq