diff -r 5b0aeef8ba2a -r 5608ac657362 project_files/frontlib/ipc/ipcprotocol.c --- a/project_files/frontlib/ipc/ipcprotocol.c Thu Jun 21 21:32:12 2012 +0200 +++ b/project_files/frontlib/ipc/ipcprotocol.c Mon Jun 25 00:42:07 2012 +0200 @@ -48,11 +48,22 @@ bool error = false; if(map->mapgen == MAPGEN_NAMED) { - error |= flib_ipc_append_message(tempvector, "emap %s", map->name); + if(map->name) { + error |= flib_ipc_append_message(tempvector, "emap %s", map->name); + } else { + flib_log_e("Missing map name"); + error = true; + } } if(map->theme && !mappreview) { - error |= flib_ipc_append_message(tempvector, "etheme %s", map->theme); + if(map->theme) { + error |= flib_ipc_append_message(tempvector, "etheme %s", map->theme); + } else { + flib_log_e("Missing map theme"); + error = true; + } } + error |= flib_ipc_append_seed(tempvector, map->seed); error |= flib_ipc_append_message(tempvector, "e$template_filter %i", map->templateFilter); error |= flib_ipc_append_message(tempvector, "e$mapgen %i", map->mapgen); @@ -97,6 +108,15 @@ } } +int flib_ipc_append_script(flib_vector *vec, const char *script) { + if(!vec || !script) { + flib_log_e("null parameter in flib_ipc_append_script"); + return -1; + } else { + return flib_ipc_append_message(vec, "escript %s", script); + } +} + int flib_ipc_append_gamescheme(flib_vector *vec, const flib_cfg *scheme) { int result = -1; flib_vector *tempvector = flib_vector_create(); @@ -155,7 +175,8 @@ error |= flib_ipc_append_message(tempvector, "eammstore"); } - char *hash = team->hash ? team->hash : "00000000000000000000000000000000"; + // TODO + char *hash = team->ownerName ? team->ownerName : "00000000000000000000000000000000"; error |= flib_ipc_append_message(tempvector, "eaddteam %s %"PRIu32" %s", hash, team->color, team->name); if(team->remoteDriven) { @@ -212,7 +233,6 @@ bool sharedAmmo = false; error |= flib_ipc_append_message(vec, netgame ? "TN" : "TL"); - error |= flib_ipc_append_seed(vec, setup->seed); if(setup->map) { error |= flib_ipc_append_mapconf(tempvector, setup->map, false); } @@ -225,13 +245,13 @@ // Shared ammo has priority over per-hog ammo perHogAmmo = !sharedAmmo && getGameMod(setup->gamescheme, GAMEMOD_PERHOGAMMO_MASKBIT); } - if(setup->teams && setup->teamcount>0) { - uint32_t *clanColors = flib_calloc(setup->teamcount, sizeof(uint32_t)); + if(setup->teams && setup->teamCount>0) { + uint32_t *clanColors = flib_calloc(setup->teamCount, sizeof(uint32_t)); if(!clanColors) { error = true; } else { int clanCount = 0; - for(int i=0; iteamcount; i++) { + for(int i=0; iteamCount; i++) { flib_team *team = setup->teams[i]; bool newClan = false;