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 } |