Jeu de FPS en multijoueur. Voir la description sur planete casio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

299 lines
7.5KB

  1. #include <gint/display.h>
  2. #include <gint/timer.h>
  3. #include <gint/keyboard.h>
  4. #include <liblog.h>
  5. #include <fxengine/model/bitmap.h>
  6. #include <fxengine/model/vertex.h>
  7. #include <fxengine/model/triangle.h>
  8. #include <fxengine/model/object.h>
  9. #include <fxengine/renderlist.h>
  10. #include <fxengine/fxengine.h>
  11. int callback(void)
  12. {
  13. fe_callback_start();
  14. fe_draw();
  15. dupdate();
  16. ll_send("Rendered Image\n");
  17. key_event_t event = pollevent();
  18. int state=0;
  19. while (event.type!=KEYEV_NONE)
  20. {
  21. if (event.key == KEY_F1)
  22. state = 1;
  23. event=pollevent();
  24. }
  25. if (state)
  26. {
  27. timer_pause(1);
  28. ll_pause();
  29. timer_start(1);
  30. }
  31. fe_callback_end();
  32. return 0;
  33. }
  34. int main(void)
  35. {
  36. dclear(C_WHITE);
  37. uint32_t color[32] =
  38. {
  39. 0b11111111111111111111111111111111,
  40. 0b11111111111111111111111111111111,
  41. 0b11111111111111111111111111111111,
  42. 0b11111111111111111111111111111111,
  43. 0b11111111111111111111111111111111,
  44. 0b11111111111111111111111111111111,
  45. 0b11111111111111111111111111111111,
  46. 0b11111111111111111111111111111111,
  47. 0b11111111111111111111111111111111,
  48. 0b11111111111111111111111111111111,
  49. 0b11111111111111111111111111111111,
  50. 0b11111111111111111111111111111111,
  51. 0b11111111111111111111111111111111,
  52. 0b11111111111111111111111111111111,
  53. 0b11111111111111111111111111111111,
  54. 0b11111111111111111111111111111111,
  55. 0b11111111111111111111111111111111,
  56. 0b11111111111111111111111111111111,
  57. 0b11111111111111111111111111111111,
  58. 0b11111111111111111111111111111111,
  59. 0b11111111111111111111111111111111,
  60. 0b11111111111111111111111111111111,
  61. 0b11111111111111111111111111111111,
  62. 0b11111111111111111111111111111111,
  63. 0b11111111111111111111111111111111,
  64. 0b11111111111111111111111111111111,
  65. 0b11111111111111111111111111111111,
  66. 0b11111111111111111111111111111111,
  67. 0b11111111111111111111111111111111,
  68. 0b11111111111111111111111111111111
  69. };
  70. fe_bitmap * bmp = fe_bitmap_new(32, 32, color, 0, 0, 0);
  71. fe_vertex v[3]=
  72. {
  73. {30,-10,-10},
  74. {30,10,10},
  75. {30,-10,10}
  76. };
  77. fe_object obj;
  78. fe_object_init(&obj);
  79. fe_object_set_vertex(&obj, v, 3, 0);
  80. fe_triangle t[1]=
  81. {
  82. fe_object_getvx(&obj,0),
  83. fe_object_getvx(&obj,1),
  84. fe_object_getvx(&obj,2),
  85. bmp, bmp,
  86. 0
  87. };
  88. fe_object_set_faces(&obj, t, 1, 0);
  89. // Add object to list
  90. fe_renderlist_add(&obj);
  91. // Launch game timer at 40 FPS max
  92. timer_setup(1, timer_delay(0, 25 * 1000), 0, callback, 0);
  93. timer_start(1);
  94. // Launch 3D renderer
  95. fe_load();
  96. // Free Data
  97. return;
  98. }
  99. /*
  100. #include <gint/display.h>
  101. #include <gint/keyboard.h>
  102. #include <gint/std/stdio.h>
  103. #include <gint/std/stdlib.h>
  104. #include <gint/clock.h>
  105. #include <fxengine/camera.h>
  106. #include <fxengine/object.h>
  107. #include <fxengine/fxengine.h>
  108. #include <liblog.h>
  109. #include <fxengine.h>
  110. int main(void)
  111. {
  112. ll_set_state(0);
  113. ll_set_panic();
  114. ll_send("Log Beginning\n");
  115. dclear(C_WHITE);
  116. uint32_t color[32] =
  117. {
  118. 0b11111111111111111111111111111111,
  119. 0b11111111111111111111111111111111,
  120. 0b11111111111111111111111111111111,
  121. 0b11111111111111111111111111111111,
  122. 0b11111111111111111111111111111111,
  123. 0b11111111111111111111111111111111,
  124. 0b11111111111111111111111111111111,
  125. 0b11111111111111111111111111111111,
  126. 0b11111111111111111111111111111111,
  127. 0b11111111111111111111111111111111,
  128. 0b11111111111111111111111111111111,
  129. 0b11111111111111111111111111111111,
  130. 0b11111111111111111111111111111111,
  131. 0b11111111111111111111111111111111,
  132. 0b11111111111111111111111111111111,
  133. 0b11111111111111111111111111111111,
  134. 0b11111111111111111111111111111111,
  135. 0b11111111111111111111111111111111,
  136. 0b11111111111111111111111111111111,
  137. 0b11111111111111111111111111111111,
  138. 0b11111111111111111111111111111111,
  139. 0b11111111111111111111111111111111,
  140. 0b11111111111111111111111111111111,
  141. 0b11111111111111111111111111111111,
  142. 0b11111111111111111111111111111111,
  143. 0b11111111111111111111111111111111,
  144. 0b11111111111111111111111111111111,
  145. 0b11111111111111111111111111111111,
  146. 0b11111111111111111111111111111111,
  147. 0b11111111111111111111111111111111
  148. };
  149. fe_texture_rich * bmp = fe_texture_new_rich(32, 32, color, 0, 0, 0);
  150. fe_ivertex v[4]=
  151. {
  152. {
  153. {30,-10,-10},
  154. {0,0,0}
  155. },
  156. {
  157. {30,10,10},
  158. {0,0,0}
  159. },
  160. {
  161. {30,-10,10},
  162. {0,0,0}
  163. }
  164. };
  165. fe_triangle triangle =
  166. {
  167. {
  168. fe_object_get_vertex(&object, 0),
  169. fe_object_get_vertex(&object, 1),
  170. fe_object_get_vertex(&object, 2),
  171. bmp,
  172. 0,
  173. 0
  174. }
  175. };
  176. fe_object object; fe_object_init(&object);
  177. fe_object_set_points(&object, &v, 3, 0);
  178. fe_triangle triangle =
  179. {
  180. {
  181. fe_object_get_vertex(&object, 0),
  182. fe_object_get_vertex(&object, 1),
  183. fe_object_get_vertex(&object, 2),
  184. bmp,
  185. 0,
  186. 0
  187. }
  188. };
  189. fe_object_set_faces(&object, &triangle, 1, 0);
  190. fe_camera cam = {{20,20,0},{20,20,0},0,0,0};
  191. int fps;
  192. while (1)
  193. {
  194. int state=1;
  195. key_event_t event = pollevent();
  196. while (event.type!=KEYEV_NONE)
  197. {
  198. //ll_log(str);
  199. if (event.key == KEY_LEFT)
  200. cam.dh -= 0.01;
  201. if (event.key == KEY_RIGHT)
  202. cam.dh += 0.01;
  203. cam.dh = fe_modulo_2pi(cam.dh);
  204. if (event.key == KEY_UP)
  205. cam.dv += 0.01;
  206. if (event.key == KEY_DOWN)
  207. cam.dv -= 0.01;
  208. cam.dv = fe_modulo_2pi(cam.dv);
  209. if (event.key == KEY_8)
  210. {
  211. cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh));
  212. cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh));
  213. }
  214. if (event.key == KEY_2)
  215. {
  216. cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh+pi));
  217. cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh+pi));
  218. }
  219. if (event.key == KEY_6)
  220. {
  221. cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh+pi_sur_2));
  222. cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh+pi_sur_2));
  223. }
  224. if (event.key == KEY_4)
  225. {
  226. cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh-pi_sur_2));
  227. cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh-pi_sur_2));
  228. }
  229. cam.dv = fe_modulo_2pi(cam.dv);
  230. if (event.key == KEY_MENU)
  231. return;
  232. if (event.key==KEY_F1 && event.type==KEYEV_DOWN)
  233. {
  234. ll_pause();
  235. }
  236. event=pollevent();
  237. }
  238. fe_view_set(&cam);
  239. fe_object_display(&object);
  240. char str[300];
  241. sprintf(str, "\nCamera Settings :\n>> x %d; y %d; z %d;\n>> dh %d; dv %d;\n",
  242. cam.pos.x,
  243. cam.pos.y,
  244. cam.pos.z,
  245. (int)(cam.dh*180/pi),
  246. (int)(cam.dv*180/pi)
  247. );
  248. ll_send(str);
  249. sprintf(str,"FPS=%d",fps);
  250. dtext(1,1,str,C_BLACK,C_NONE);
  251. fps=fe_display(0);
  252. }
  253. return 1;
  254. }
  255. */