project_files/frontlib/test.c
changeset 7230 240620f46dd7
parent 7227 1c859f572d72
child 7234 613998625a3c
equal deleted inserted replaced
7227:1c859f572d72 7230:240620f46dd7
     1 #include "frontlib.h"
     1 #include "frontlib.h"
     2 #include "util/logging.h"
     2 #include "util/logging.h"
     3 #include "model/map.h"
     3 #include "model/map.h"
       
     4 #include "model/weapon.h"
       
     5 #include "model/schemelist.h"
     4 #include "ipc/mapconn.h"
     6 #include "ipc/mapconn.h"
     5 #include "ipc/gameconn.h"
     7 #include "ipc/gameconn.h"
     6 
     8 
     7 #include <stdlib.h>
     9 #include <stdlib.h>
     8 #include <stdbool.h>
    10 #include <stdbool.h>
    78 	// Create a new connection to the engine and check that there was no error
    80 	// Create a new connection to the engine and check that there was no error
    79 	flib_mapconn *mapConnection = flib_mapconn_create("This is the seed value", map);
    81 	flib_mapconn *mapConnection = flib_mapconn_create("This is the seed value", map);
    80 	assert(mapConnection);
    82 	assert(mapConnection);
    81 
    83 
    82 	// We don't need the map description anymore
    84 	// We don't need the map description anymore
    83 	flib_map_destroy(map);
    85 	flib_map_release(map);
    84 	map = NULL;
    86 	map = NULL;
    85 
    87 
    86 	// Register the callback functions
    88 	// Register the callback functions
    87 	flib_mapconn_onFailure(mapConnection, &handleMapFailure, &mapConnection);
    89 	flib_mapconn_onFailure(mapConnection, &handleMapFailure, &mapConnection);
    88 	flib_mapconn_onSuccess(mapConnection, &handleMapSuccess, &mapConnection);
    90 	flib_mapconn_onSuccess(mapConnection, &handleMapSuccess, &mapConnection);
    97 		flib_mapconn_tick(mapConnection);
    99 		flib_mapconn_tick(mapConnection);
    98 	}
   100 	}
    99 }
   101 }
   100 
   102 
   101 void testGame() {
   103 void testGame() {
   102 	flib_cfg_meta *metaconf = flib_cfg_meta_from_ini("basicsettings.ini", "gamemods.ini");
   104 	flib_cfg_meta *metaconf = flib_cfg_meta_from_ini("metasettings.ini");
   103 	assert(metaconf);
   105 	assert(metaconf);
       
   106 	flib_weaponset *weapons = flib_weaponset_create("Defaultweaps");
       
   107 	flib_schemelist *schemelist = flib_schemelist_from_ini(metaconf, "schemes.ini");
       
   108 
   104 	flib_gamesetup setup;
   109 	flib_gamesetup setup;
   105 	setup.gamescheme = flib_cfg_from_ini(metaconf, "scheme_shoppa.ini");
   110 	setup.gamescheme = flib_schemelist_find(schemelist, "Default");
   106 	setup.map = flib_map_create_maze("Jungle", MAZE_SIZE_MEDIUM_TUNNELS);
   111 	setup.map = flib_map_create_maze("Jungle", MAZE_SIZE_MEDIUM_TUNNELS);
   107 	setup.seed = "asparagus";
   112 	setup.seed = "asparagus";
   108 	setup.script = NULL;
   113 	setup.script = NULL;
   109 	setup.teamcount = 2;
   114 	setup.teamcount = 2;
   110 	setup.teams = calloc(2, sizeof(flib_team*));
   115 	setup.teams = calloc(2, sizeof(flib_team*));
   114 	setup.teams[0]->fort = "Plane";
   119 	setup.teams[0]->fort = "Plane";
   115 	setup.teams[0]->grave = "Bone";
   120 	setup.teams[0]->grave = "Bone";
   116 	setup.teams[0]->hogsInGame = 2;
   121 	setup.teams[0]->hogsInGame = 2;
   117 	setup.teams[0]->name = "Team Awesome";
   122 	setup.teams[0]->name = "Team Awesome";
   118 	setup.teams[0]->voicepack = "British";
   123 	setup.teams[0]->voicepack = "British";
   119 	setup.teams[0]->weaponset = flib_weaponset_create("Defaultweaps");
       
   120 	setup.teams[0]->hogs[0].difficulty = 2;
   124 	setup.teams[0]->hogs[0].difficulty = 2;
   121 	setup.teams[0]->hogs[0].hat = "NoHat";
   125 	setup.teams[0]->hogs[0].hat = "NoHat";
   122 	setup.teams[0]->hogs[0].initialHealth = 100;
   126 	setup.teams[0]->hogs[0].initialHealth = 100;
   123 	setup.teams[0]->hogs[0].name = "Harry 120";
   127 	setup.teams[0]->hogs[0].name = "Harry 120";
   124 	setup.teams[0]->hogs[1].difficulty = 2;
   128 	setup.teams[0]->hogs[1].difficulty = 2;
   125 	setup.teams[0]->hogs[1].hat = "chef";
   129 	setup.teams[0]->hogs[1].hat = "chef";
   126 	setup.teams[0]->hogs[1].initialHealth = 100;
   130 	setup.teams[0]->hogs[1].initialHealth = 100;
   127 	setup.teams[0]->hogs[1].name = "Chefkoch";
   131 	setup.teams[0]->hogs[1].name = "Chefkoch";
   128 	setup.teams[1] = flib_team_from_ini("Cave Dwellers.hwt");
   132 	setup.teams[1] = flib_team_from_ini("Cave Dwellers.hwt");
   129 	setup.teams[1]->color = 0xff0000ff;
   133 	setup.teams[1]->color = 0xFF0000F0;
   130 	setup.teams[1]->hogsInGame = 8;
   134 	setup.teams[1]->hogsInGame = 8;
   131 	setup.teams[1]->weaponset = flib_weaponset_create("Defaultweaps");
   135 	flib_team_set_weaponset(setup.teams[0], weapons);
   132 
   136 	flib_team_set_weaponset(setup.teams[1], weapons);
   133 	flib_gameconn *gameconn = flib_gameconn_create("Medo42", metaconf, &setup, false);
   137 	flib_weaponset_release(weapons);
       
   138 
       
   139 	flib_gameconn *gameconn = flib_gameconn_create("Medo42", &setup, false);
   134 	assert(gameconn);
   140 	assert(gameconn);
   135 
   141 
   136 	flib_gameconn_onDisconnect(gameconn, &onDisconnect, &gameconn);
   142 	flib_gameconn_onDisconnect(gameconn, &onDisconnect, &gameconn);
   137 	flib_gameconn_onGameRecorded(gameconn, &onGameRecorded, &gameconn);
   143 	//flib_gameconn_onGameRecorded(gameconn, &onGameRecorded, &gameconn);
   138 
   144 
   139 	startEngineGame(flib_gameconn_getport(gameconn));
   145 	startEngineGame(flib_gameconn_getport(gameconn));
   140 
   146 
   141 	while(gameconn) {
   147 	while(gameconn) {
   142 		flib_gameconn_tick(gameconn);
   148 		flib_gameconn_tick(gameconn);
   194 	flib_log_setLevel(FLIB_LOGLEVEL_ALL);
   200 	flib_log_setLevel(FLIB_LOGLEVEL_ALL);
   195 
   201 
   196 	//testMapPreview();
   202 	//testMapPreview();
   197 	//testDemo();
   203 	//testDemo();
   198 	//testSave();
   204 	//testSave();
   199 	testGame();
   205 	//testGame();
       
   206 
       
   207 	flib_cfg_meta *meta = flib_cfg_meta_from_ini("metasettings.ini");
       
   208 	assert(meta);
       
   209 	flib_schemelist *schemelist = flib_schemelist_from_ini(meta, "schemes.ini");
       
   210 	assert(schemelist);
       
   211 
       
   212 	flib_schemelist_to_ini("Copy of Schemelist.ini", schemelist);
       
   213 	flib_schemelist_release(schemelist);
       
   214 	flib_cfg_meta_release(meta);
       
   215 
       
   216 	flib_weaponsetlist *weaponsets = flib_weaponsetlist_from_ini("weapons.ini");
       
   217 	assert(!flib_weaponsetlist_to_ini("copy of weapons.ini", weaponsets));
       
   218 	flib_weaponsetlist_release(weaponsets);
   200 
   219 
   201 	flib_quit();
   220 	flib_quit();
   202 	return 0;
   221 	return 0;
   203 }
   222 }