-Subproject commit 356f2ea3acb517cca7007556074aa0ed94b48876
+Subproject commit da776eb101354d0cf62e9c627a470c51a966f655
#define _GNU_SOURCE // don't worry, GNU extensions are only used when available
+#include <dragonnet/init.h>
#include <dragonstd/flag.h>
#include <stdio.h>
#include <stdlib.h>
return EXIT_FAILURE;
}
+ dragonnet_init();
if (!(client = dragonnet_connect(argv[1]))) {
fprintf(stderr, "[error] failed to connect to server\n");
return EXIT_FAILURE;
flag_dst(&finish);
flag_dst(&gfx_init);
+ dragonnet_deinit();
return EXIT_SUCCESS;
}
// public functions
// open and initialize SQLite3 databases
-bool database_init()
+void database_init()
{
struct {
sqlite3 **handle;
for (int i = 0; i < 3; i++) {
if (sqlite3_open_v2(databases[i].path, databases[i].handle, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX, NULL) != SQLITE_OK) {
fprintf(stderr, "[error] failed to open %s: %s\n", databases[i].path, sqlite3_errmsg(*databases[i].handle));
- return false;
+ abort();
}
char *err;
if (sqlite3_exec(*databases[i].handle, databases[i].init, NULL, NULL, &err) != SQLITE_OK) {
fprintf(stderr, "[error] failed initializing %s: %s\n", databases[i].path, err);
sqlite3_free(err);
- return false;
+ abort();
}
}
set_time_of_day(time_of_day);
else
set_time_of_day(12 * MINUTES_PER_HOUR);
-
- return true;
}
// close databases
#include "common/terrain.h"
#include "types.h"
-bool database_init(); // open and initialize SQLite3 databases
+void database_init(); // open and initialize SQLite3 databases
void database_deinit(); // close databases
bool database_load_chunk(TerrainChunk *chunk); // load a chunk from terrain database (initializes state, tgs buffer and data), returns false on failure
void database_save_chunk(TerrainChunk *chunk); // save a chunk to terrain database
#define _GNU_SOURCE // don't worry, GNU extensions are only used when available
#include <dragonnet/addr.h>
+#include <dragonnet/init.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
return EXIT_FAILURE;
}
+ dragonnet_init();
if (!(server = dragonnet_listener_new(argv[1]))) {
fprintf(stderr, "[error] failed to listen to connections\n");
return EXIT_FAILURE;
srand(time(0));
interrupt_init();
- if (!database_init())
- return EXIT_FAILURE;
+ database_init();
server_terrain_init();
server_player_init();
interrupt_deinit();
dragonnet_listener_delete(server);
-
+ dragonnet_deinit();
return EXIT_SUCCESS;
}