rendered paste body// -----------------------------
// 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;
}