main.c 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include <graphx.h>
  2. #include <keypadc.h>
  3. #include <compression.h>
  4. #include <debug.h>
  5. #include "gfx/main_gfx.h"
  6. #include "main.h"
  7. #include "objects/player.h"
  8. int main(void){
  9. size_t i;
  10. Scene* scene = new_Scene("Main");
  11. Sprite* sprite;
  12. Object* player = new_Player();
  13. Vector* objects = scene->objects;
  14. Vector* sprites = scene->sprites;
  15. if(!sprites->consume(sprites, new_Sprite(bm1_width, bm1_height, bm1_compressed)) ||
  16. !sprites->consume(sprites, new_Sprite(bm2_width, bm2_height, bm2_compressed)) ||
  17. !sprites->consume(sprites, new_Sprite(bm3_width, bm3_height, bm3_compressed)) ||
  18. !sprites->consume(sprites, new_Sprite(bm4_width, bm4_height, bm4_compressed)) ||
  19. !sprites->consume(sprites, new_Sprite(bm5_width, bm5_height, bm5_compressed)) ||
  20. !sprites->consume(sprites, new_Sprite(bm6_width, bm6_height, bm6_compressed)) ||
  21. !sprites->consume(sprites, new_Sprite(bm7_width, bm7_height, bm7_compressed)) ||
  22. !sprites->consume(sprites, new_Sprite(bm8_width, bm8_height, bm8_compressed)) ||
  23. !sprites->consume(sprites, new_Sprite(bm9_width, bm9_height, bm9_compressed)) ||
  24. !sprites->consume(sprites, new_Sprite(bm10_width, bm10_height, bm10_compressed)) ||
  25. !sprites->consume(sprites, new_Sprite(bm11_width, bm11_height, bm11_compressed)) ||
  26. !sprites->consume(sprites, new_Sprite(bm12_width, bm12_height, bm12_compressed)) ||
  27. !sprites->consume(sprites, new_Sprite(bm13_width, bm13_height, bm13_compressed)) ||
  28. !sprites->consume(sprites, new_Sprite(bm14_width, bm14_height, bm14_compressed)) ||
  29. !sprites->consume(sprites, new_Sprite(bm15_width, bm15_height, bm15_compressed)) ||
  30. !sprites->consume(sprites, new_Sprite(bm16_width, bm16_height, bm16_compressed)) ||
  31. !sprites->consume(sprites, new_Sprite(bm17_width, bm17_height, bm17_compressed)) ||
  32. !sprites->consume(sprites, new_Sprite(bm18_width, bm18_height, bm18_compressed)) ||
  33. !sprites->consume(sprites, new_Sprite(bm19_width, bm19_height, bm19_compressed)) ||
  34. !sprites->consume(sprites, new_Sprite(bm20_width, bm20_height, bm20_compressed)) ||
  35. !sprites->consume(sprites, new_Sprite(bm21_width, bm21_height, bm21_compressed)) ||
  36. !sprites->consume(sprites, new_Sprite(bm22_width, bm22_height, bm22_compressed))
  37. ){
  38. log("Failed to load sprites");
  39. free_Scene(scene);
  40. return 1;
  41. }
  42. if(!objects->consume(objects, player)){
  43. log("Unable to load objects");
  44. free_Scene(scene);
  45. return 1;
  46. }
  47. player = objects->get(objects, 0);
  48. if(player == NULL){
  49. log("Unable to get player");
  50. free_Scene(scene);
  51. return 1;
  52. }
  53. sprite = sprites->get(sprites, 0);
  54. if(sprite == NULL){
  55. log("Unable to get sprite");
  56. free_Scene(scene);
  57. return 1;
  58. }
  59. player->sprite = sprite;
  60. gfx_Begin();
  61. gfx_SetPalette(main_palette, sizeof_main_palette, 0);
  62. gfx_SetDrawBuffer();
  63. log("Main loop");
  64. scene->load(scene);
  65. do{
  66. scene->update(scene);
  67. kb_Scan();
  68. scene->draw(scene);
  69. }while (! (kb_Data[6] & kb_Clear));
  70. log("Freeing memory");
  71. free_Scene(scene);
  72. log("End graphics");
  73. gfx_End();
  74. log("Done");
  75. return 0;
  76. }