loadmap ok
This commit is contained in:
@@ -48,12 +48,12 @@ const Uint16 GAME_WINDOW_WIDTH = 320;
|
|||||||
const Uint16 GAME_WINDOW_HEIGHT = 234;
|
const Uint16 GAME_WINDOW_HEIGHT = 234;
|
||||||
|
|
||||||
const Uint8 TEST_ROOM = 118; // 161
|
const Uint8 TEST_ROOM = 118; // 161
|
||||||
const Uint8 STARTING_ROOM = 2;
|
const Uint8 STARTING_ROOM = 25;
|
||||||
const Uint8 STARTING_PLAYER_TILE_X = 5;
|
const Uint8 STARTING_PLAYER_TILE_X = 5;
|
||||||
const Uint8 STARTING_PLAYER_TILE_Y = 11;
|
const Uint8 STARTING_PLAYER_TILE_Y = 11;
|
||||||
const Uint8 ENEMY_HITBOX_REDUCTION = 4;
|
const Uint8 ENEMY_HITBOX_REDUCTION = 4;
|
||||||
const Uint8 COOLDOWN_TIME = 50;
|
const Uint8 COOLDOWN_TIME = 50;
|
||||||
const Uint8 GRAVITY = 0;
|
const Uint8 GRAVITY = 1;
|
||||||
const Uint8 MAX_SPEED_Y = 5;
|
const Uint8 MAX_SPEED_Y = 5;
|
||||||
const Uint8 BASE_SPEED = 1;
|
const Uint8 BASE_SPEED = 1;
|
||||||
const Uint8 MAX_SPEED = 8;
|
const Uint8 MAX_SPEED = 8;
|
||||||
|
|||||||
@@ -107,8 +107,8 @@ Uint8 GetTile(Uint8 x, Uint8 y)
|
|||||||
// Entrada: coordenades en tiles relativas a la habitación actual
|
// Entrada: coordenades en tiles relativas a la habitación actual
|
||||||
// Salida: el valor del byte
|
// Salida: el valor del byte
|
||||||
{
|
{
|
||||||
Uint8 room_x = (map.room % 12) * ROOM_WIDTH_IN_TILES;
|
long room_x = (map.room % 12) * ROOM_WIDTH_IN_TILES;
|
||||||
Uint8 room_y = (map.room / 12) * ROOM_HEIGHT_IN_TILES;
|
long room_y = (map.room / 12) * ROOM_HEIGHT_IN_TILES;
|
||||||
return map.tile[(room_x + x) + (room_y + y) * map.w];
|
return map.tile[(room_x + x) + (room_y + y) * map.w];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,11 +305,11 @@ void LoadMap()
|
|||||||
std::string filename = p.substr(p.find_last_of("\\/") + 1);
|
std::string filename = p.substr(p.find_last_of("\\/") + 1);
|
||||||
|
|
||||||
SDL_RWops *file = SDL_RWFromFile(p.c_str(), "r+b");
|
SDL_RWops *file = SDL_RWFromFile(p.c_str(), "r+b");
|
||||||
Uint8 *w = new Uint8();
|
//Uint8 *w = new Uint8();
|
||||||
Uint8 *h = new Uint8();
|
//Uint8 *h = new Uint8();
|
||||||
Uint8 column = 0;
|
//Uint8 column = 0;
|
||||||
Uint8 line = 0;
|
//Uint8 line = 0;
|
||||||
Uint8 room = 0;
|
//Uint8 room = 0;
|
||||||
|
|
||||||
if (file == NULL)
|
if (file == NULL)
|
||||||
{
|
{
|
||||||
@@ -319,10 +319,10 @@ void LoadMap()
|
|||||||
{
|
{
|
||||||
printf("Reading file %s\n", filename.c_str());
|
printf("Reading file %s\n", filename.c_str());
|
||||||
|
|
||||||
SDL_RWread(file, w, sizeof(Uint8), 1);
|
SDL_RWread(file, &map.w, sizeof(Uint8), 1);
|
||||||
SDL_RWread(file, h, sizeof(Uint8), 1);
|
SDL_RWread(file, &map.h, sizeof(Uint8), 1);
|
||||||
|
|
||||||
long size = (*w) * (*h);
|
long size = (map.w) * (map.h);
|
||||||
|
|
||||||
map.tile = new Uint8[size];
|
map.tile = new Uint8[size];
|
||||||
map.actor = new Uint8[size];
|
map.actor = new Uint8[size];
|
||||||
@@ -330,21 +330,21 @@ void LoadMap()
|
|||||||
for (Uint32 i = 0; i < size; i++)
|
for (Uint32 i = 0; i < size; i++)
|
||||||
{
|
{
|
||||||
SDL_RWread(file, &map.tile[i], sizeof(Uint8), 1);
|
SDL_RWread(file, &map.tile[i], sizeof(Uint8), 1);
|
||||||
column++;
|
/*column++;
|
||||||
//std::cout << std::to_string(map.tile[i]);
|
//std::cout << std::to_string(map.tile[i]);
|
||||||
printf("%-3s ", std::to_string(map.tile[i]).c_str());
|
printf("%-3s ", std::to_string(map.tile[i]).c_str());
|
||||||
if (column == ROOM_WIDTH_IN_TILES)
|
if (column == ROOM_WIDTH_IN_TILES)
|
||||||
{
|
{
|
||||||
column = 0;
|
column = 0;
|
||||||
line++;
|
line++;
|
||||||
printf("\n");
|
printf(" --%s\n",std::to_string(line).c_str());
|
||||||
}
|
}
|
||||||
if (line == ROOM_HEIGHT_IN_TILES)
|
if (line == ROOM_HEIGHT_IN_TILES)
|
||||||
{
|
{
|
||||||
line = 0;
|
line = 0;
|
||||||
printf("==================== ROOM #%-3s =================================\n", std::to_string(room).c_str());
|
printf("=========================^= ROOM #%-3s =^================================\n", std::to_string(room).c_str());
|
||||||
room++;
|
room++;
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Uint32 i = 0; i < size; i++)
|
for (Uint32 i = 0; i < size; i++)
|
||||||
@@ -352,8 +352,8 @@ void LoadMap()
|
|||||||
|
|
||||||
SDL_RWclose(file);
|
SDL_RWclose(file);
|
||||||
}
|
}
|
||||||
delete w;
|
//delete w;
|
||||||
delete h;
|
//delete h;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadRoom(int num)
|
void LoadRoom(int num)
|
||||||
@@ -1473,7 +1473,7 @@ void DrawMap()
|
|||||||
src_rect1.y = (GetTile(i, j) / 16) * MAP_TILE_HEIGHT;
|
src_rect1.y = (GetTile(i, j) / 16) * MAP_TILE_HEIGHT;
|
||||||
dst_rect1.x = i * MAP_TILE_WIDTH;
|
dst_rect1.x = i * MAP_TILE_WIDTH;
|
||||||
dst_rect1.y = j * MAP_TILE_HEIGHT;
|
dst_rect1.y = j * MAP_TILE_HEIGHT;
|
||||||
map.sprite_tile->render(renderer, dst_rect1.x, dst_rect1.y, &src_rect1, 45.0);
|
map.sprite_tile->render(renderer, dst_rect1.x, dst_rect1.y, &src_rect1);
|
||||||
}
|
}
|
||||||
|
|
||||||
Uint8 i = 0;
|
Uint8 i = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user