project_files/frontlib/ipc/gameconn.c
changeset 7271 5608ac657362
parent 7234 613998625a3c
child 7275 15f722e0b96f
equal deleted inserted replaced
7269:5b0aeef8ba2a 7271:5608ac657362
    83 	}
    83 	}
    84 	flib_gameconn_destroy(tempConn);
    84 	flib_gameconn_destroy(tempConn);
    85 	return result;
    85 	return result;
    86 }
    86 }
    87 
    87 
    88 flib_gameconn *flib_gameconn_create(const char *playerName, flib_gamesetup *setup, bool netgame) {
    88 flib_gameconn *flib_gameconn_create(const char *playerName, const flib_gamesetup *setup, bool netgame) {
    89 	flib_gameconn *result = NULL;
    89 	flib_gameconn *result = NULL;
    90 	flib_gameconn *tempConn = flib_gameconn_create_partial(true, playerName, netgame);
    90 	flib_gameconn *tempConn = flib_gameconn_create_partial(true, playerName, netgame);
    91 	if(tempConn) {
    91 	if(tempConn) {
    92 		if(!flib_ipc_append_fullconfig(tempConn->configBuffer, setup, netgame)) {
    92 		if(!flib_ipc_append_fullconfig(tempConn->configBuffer, setup, netgame)) {
    93 			result = tempConn;
    93 			result = tempConn;
   114 flib_gameconn *flib_gameconn_create_loadgame(const char *playerName, const uint8_t *save, int size) {
   114 flib_gameconn *flib_gameconn_create_loadgame(const char *playerName, const uint8_t *save, int size) {
   115 	flib_gameconn *result = NULL;
   115 	flib_gameconn *result = NULL;
   116 	flib_gameconn *tempConn = flib_gameconn_create_partial(true, playerName, false);
   116 	flib_gameconn *tempConn = flib_gameconn_create_partial(true, playerName, false);
   117 	if(tempConn) {
   117 	if(tempConn) {
   118 		if(flib_vector_append(tempConn->configBuffer, save, size) == size) {
   118 		if(flib_vector_append(tempConn->configBuffer, save, size) == size) {
       
   119 			result = tempConn;
       
   120 			tempConn = NULL;
       
   121 		}
       
   122 	}
       
   123 	flib_gameconn_destroy(tempConn);
       
   124 	return result;
       
   125 }
       
   126 
       
   127 flib_gameconn *flib_gameconn_create_campaign(const char *playerName, const char *seed, const char *script) {
       
   128 	flib_gameconn *result = NULL;
       
   129 	flib_gameconn *tempConn = flib_gameconn_create_partial(true, playerName, false);
       
   130 	if(tempConn) {
       
   131 		if(!flib_ipc_append_message(tempConn->configBuffer, "TL")
       
   132 				&& !flib_ipc_append_seed(tempConn->configBuffer, seed)
       
   133 				&& !flib_ipc_append_script(tempConn->configBuffer, script)
       
   134 				&& !flib_ipc_append_message(tempConn->configBuffer, "!")) {
   119 			result = tempConn;
   135 			result = tempConn;
   120 			tempConn = NULL;
   136 			tempConn = NULL;
   121 		}
   137 		}
   122 	}
   138 	}
   123 	flib_gameconn_destroy(tempConn);
   139 	flib_gameconn_destroy(tempConn);