ezgen 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "inclgen"
  2. #include "genle"
  3. #ifdef RESOURCE
  4. FILE *resf=0;
  5. #ifdef RES_TYPE
  6. RES_TYPE *data=0;
  7. #else
  8. void *data=0;
  9. #endif
  10. #endif
  11. DSCREEN *scr1=0,*scr2=0,*sc=0;
  12. #ifdef DISP_SCR
  13. DSCREEN *sd=0;
  14. #endif
  15. int curscr=0;
  16. void gl_main();
  17. void gl_upd() {
  18. if (!curscr) {
  19. gl_set_dscreen_int(
  20. #ifdef DISP_SCR
  21. sd=
  22. #endif
  23. scr1);
  24. gl_set_dscreen_function(sc=scr2);
  25. } else {
  26. gl_set_dscreen_int(
  27. #ifdef DISP_SCR
  28. sd=
  29. #endif
  30. scr2);
  31. gl_set_dscreen_function(sc=scr1);
  32. }
  33. curscr=~curscr;
  34. }
  35. int gl_load() {
  36. int hd;
  37. gl_init();
  38. gl_init_dscreen(&scr1, &hd);
  39. if (!hd) goto nohd;
  40. gl_push_hd(hd);
  41. gl_init_dscreen(&scr2, &hd);
  42. if (!hd) goto nohd;
  43. gl_push_hd(hd);
  44. gl_upd();
  45. #ifdef RESOURCE
  46. resf=fopen(RESOURCE,"rb");
  47. if (!resf) goto nohd;
  48. (void *)data=*(void **)resf;
  49. #ifdef GFX_RES
  50. gl_set_spr_xy(0,0);
  51. gl_set_spr_tile(data);
  52. #endif
  53. #endif
  54. return 1;
  55. nohd:
  56. return 0;
  57. }
  58. void _main() {
  59. if (gl_load()) gl_main();
  60. #ifdef RESOURCE
  61. if (resf) fclose(resf);
  62. #endif
  63. gl_wait_no_key();
  64. gl_free_hd();
  65. gl_quit();
  66. }