44 static void onConfigQuery(void *context) { |
44 static void onConfigQuery(void *context) { |
45 flib_log_i("Sending config..."); |
45 flib_log_i("Sending config..."); |
46 flib_ipc ipc = (flib_ipc)context; |
46 flib_ipc ipc = (flib_ipc)context; |
47 flib_ipc_send_messagestr(ipc, "TL"); |
47 flib_ipc_send_messagestr(ipc, "TL"); |
48 flib_ipc_send_messagestr(ipc, "eseed loremipsum"); |
48 flib_ipc_send_messagestr(ipc, "eseed loremipsum"); |
49 flib_ipc_send_messagestr(ipc, "escript Missions/Training/Basic_Training_-_Bazooka.lua"); |
49 flib_ipc_send_messagestr(ipc, "e$mapgen 0"); |
|
50 flib_ipc_send_messagestr(ipc, "e$template_filter 0"); |
|
51 flib_ipc_send_messagestr(ipc, "etheme Jungle"); |
|
52 flib_ipc_send_messagestr(ipc, "eaddteam 11111111111111111111111111111111 255 Medo42"); |
50 } |
53 } |
51 |
54 |
52 static void onDisconnect(void *context) { |
55 static void onDisconnect(void *context) { |
53 flib_log_i("Connection closed."); |
56 flib_log_i("Connection closed."); |
54 flib_ipc_destroy((flib_ipc*)context); |
57 flib_ipc_destroy((flib_ipc*)context); |
57 static void onGameEnd(void *context, int gameEndType) { |
60 static void onGameEnd(void *context, int gameEndType) { |
58 switch(gameEndType) { |
61 switch(gameEndType) { |
59 case GAME_END_FINISHED: |
62 case GAME_END_FINISHED: |
60 flib_log_i("Game finished."); |
63 flib_log_i("Game finished."); |
61 flib_constbuffer demobuf = flib_ipc_getdemo(context); |
64 flib_constbuffer demobuf = flib_ipc_getdemo(context); |
62 flib_log_i("Writing demo (%u bytes)...", demobuf.size); |
65 flib_log_i("Writing demo (%u bytes)...", (unsigned)demobuf.size); |
63 FILE *file = fopen("testdemo.dem", "wb"); |
66 FILE *file = fopen("testdemo.dem", "wb"); |
64 fwrite(demobuf.data, 1, demobuf.size, file); |
67 fwrite(demobuf.data, 1, demobuf.size, file); |
65 fclose(file); |
68 fclose(file); |
66 file = NULL; |
69 file = NULL; |
67 break; |
70 break; |
72 flib_log_i("Game iterrupted."); |
75 flib_log_i("Game iterrupted."); |
73 break; |
76 break; |
74 } |
77 } |
75 } |
78 } |
76 |
79 |
|
80 static void handleMapSuccess(void *context, const uint8_t *bitmap, int numHedgehogs) { |
|
81 printf("Drawing map for %i brave little hogs...", numHedgehogs); |
|
82 int pixelnum = 0; |
|
83 for(int y=0; y<MAPIMAGE_HEIGHT; y++) { |
|
84 for(int x=0; x<MAPIMAGE_WIDTH; x++) { |
|
85 if(bitmap[pixelnum>>3] & (1<<(7-(pixelnum&7)))) { |
|
86 printf("#"); |
|
87 } else { |
|
88 printf(" "); |
|
89 } |
|
90 pixelnum++; |
|
91 } |
|
92 printf("\n"); |
|
93 } |
|
94 |
|
95 flib_mapconn **connptr = context; |
|
96 flib_mapconn_destroy(*connptr); |
|
97 *connptr = NULL; |
|
98 } |
|
99 |
|
100 static void handleMapFailure(void *context, const char *errormessage) { |
|
101 flib_log_e("Map rendering failed: %s", errormessage); |
|
102 |
|
103 flib_mapconn **connptr = context; |
|
104 flib_mapconn_destroy(*connptr); |
|
105 *connptr = NULL; |
|
106 } |
|
107 |
77 int main(int argc, char *argv[]) { |
108 int main(int argc, char *argv[]) { |
78 flib_init(0); |
109 /* flib_init(0); |
79 |
110 |
80 flib_cfg_meta *meta = flib_cfg_meta_from_ini("basicsettings.ini", "gamemods.ini"); |
111 flib_cfg_meta *meta = flib_cfg_meta_from_ini("basicsettings.ini", "gamemods.ini"); |
81 flib_cfg *cfg = flib_cfg_create(meta, "DefaultScheme"); |
112 flib_cfg *cfg = flib_cfg_create(meta, "DefaultScheme"); |
82 flib_cfg_to_ini(meta, "defaulttest.ini", cfg); |
113 flib_cfg_to_ini(meta, "defaulttest.ini", cfg); |
83 |
114 |
84 flib_cfg_meta_destroy(meta); |
115 flib_cfg_meta_destroy(meta); |
85 |
116 |
86 flib_quit(); |
117 flib_quit(); |
87 return 0; |
118 return 0;*/ |
88 /* |
|
89 flib_ipc ipc = flib_ipc_create(true, "Medo42"); |
|
90 assert(ipc); |
|
91 flib_ipc_onConfigQuery(ipc, &onConfigQuery, ipc); |
|
92 flib_ipc_onDisconnect(ipc, &onDisconnect, &ipc); |
|
93 flib_ipc_onGameEnd(ipc, &onGameEnd, ipc); |
|
94 |
119 |
95 while(ipc) { |
120 flib_init(0); |
96 flib_ipc_tick(ipc); |
121 flib_map *mapconf = flib_map_create_regular("Jungle", TEMPLATEFILTER_CAVERN); |
|
122 assert(mapconf); |
|
123 |
|
124 flib_mapconn *mapconn = flib_mapconn_create("foobart", mapconf); |
|
125 assert(mapconn); |
|
126 |
|
127 flib_map_destroy(mapconf); |
|
128 mapconf = NULL; |
|
129 |
|
130 flib_mapconn_onFailure(mapconn, &handleMapFailure, &mapconn); |
|
131 flib_mapconn_onSuccess(mapconn, &handleMapSuccess, &mapconn); |
|
132 |
|
133 while(mapconn) { |
|
134 flib_mapconn_tick(mapconn); |
97 } |
135 } |
98 flib_log_i("Shutting down..."); |
136 flib_log_i("Shutting down..."); |
99 flib_quit(); |
137 flib_quit(); |
100 return 0;*/ |
138 return 0; |
101 } |
139 } |