// ----------------------------- // Map.C // --> Map Functions for iGamer // ----------------------------- // Created by Daniel Shaw // ----------------------------- // Global Map Data void load_map_data(int *map_id) // Load key map data { int test_imap[43][8]; // Map settings int unsigned mline = 0; // Read map 42 lines int unsigned dmline = 0; // Read data map lines FILE *map_data; // Set the type map_data = fopen(pz_module_get_datapath(module, "game_data/Maps/Map3.igame"), "r"); // Open the file fscanf(map_data, "%s", tileset); // Load the tileset name pz_message("Loading Map ...This may take a while"); for (mline = 0; mline < 42; mline++) { for (dmline = 0; dmline < 7; dmline++) { fscanf(map_data, "%d %d %d %d %d %d %d", &test_imap[mline][dmline], &test_imap[mline][dmline], &test_imap[mline][dmline], &test_imap[mline][dmline], &test_imap[mline][dmline], &test_imap[mline][dmline], &test_imap[mline][dmline]); } } printf("%d\n", test_imap[1][2]); printf("%i\n", test_imap[0][0]); //printf("ID %i\n:", test_imap[0][0]); fclose(map_data); // Close the file } void draw_map_l3_tiles(ttk_surface srf) // Draw the map tiles! (Layer 3) { // X - TOP ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 0); // Y - SIDE DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 32); ttk_blit_image_ex(image, 32, 320, 32, 32, srf, 0, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 128); // Y - SECOND DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 160); // Y - THIRD DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 160); // Y - FOURTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 160); // Y - FIFTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 160); // Y - SIXTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 160); } void draw_map_l2_tiles(ttk_surface srf) // Draw the map tiles! (Layer 2) { // X - TOP ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 0); // Y - SIDE DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 32); ttk_blit_image_ex(image, 32, 320, 32, 32, srf, 0, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 128); // Y - SECOND DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 160); // Y - THIRD DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 160); // Y - FOURTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 160); // Y - FIFTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 160); // Y - SIXTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 160); } void draw_map_l1_tiles(ttk_surface srf) // Draw the map tiles! { //switch (ttk_get_podversion()) { //case TTK_POD_X11: //draw_map_l1_video; //break; //} // X - TOP ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 0); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 0); // Y - SIDE DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 32); ttk_blit_image_ex(image, 32, 320, 32, 32, srf, 0, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 0, 128); // Y - SECOND DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 32, 160); // Y - THIRD DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 64, 160); // Y - FOURTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 96, 160); // Y - FIFTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 128, 160); // Y - SIXTH DOWN ROW ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 32); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 64); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 96); ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 128); //ttk_blit_image_ex(image, 0, 0, 32, 32, srf, 160, 160); } void character_draw(int dir) { character = ttk_load_image (pz_module_get_datapath (module, "game_data/Visuals/Players/testset_petros.png")); ttk_surface user; switch(dir) { case 1: ttk_blit_image_ex (character, 0, 144, 32, 48, user, player_x * 32, (player_y * 32) - 16); break; case 2: ttk_blit_image_ex (character, 0, 96, 32, 48, user, player_x * 32, (player_y * 32) - 16); break; case 3: ttk_blit_image_ex (character, 0, 0, 32, 48, user, player_x * 32, (player_y * 32) - 16); break; case 4: ttk_blit_image_ex (character, 0, 48, 32, 48, user, player_x * 32, (player_y * 32) - 16); break; } } int max_cord(int type) { switch (type) { case 1: // Y End return 4; break; case 2: // X End return 5; break; } return 0; } int can_move(int dir) { switch (dir) { case 1: // UP if (player_x > 0) return 1; else return 0; break; case 2: // RIGHT //if (player_y < 4) return 1; //else //return 0; break; case 3: // DOWN //if (player_x < 3) return 1; //else //return 0; break; case 4: // LEFT if (player_y > -1) return 1; else return 0; break; } return 0; }