debugging loadmap

This commit is contained in:
2021-02-21 14:03:21 +01:00
parent b59e3e46c4
commit 974aadffa4
2 changed files with 72 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
macos:
mkdir -p bin
g++ source/*.cpp -std=c++11 -Wall -O2 -lSDL2 -lSDL2_image -lSDL2_mixer -o bin/volcano_macos
g++ source/*.cpp -std=c++11 -Wall -O2 -lSDL2 -o bin/volcano_macos
linux:
mkdir -p bin
g++ source/*.cpp -std=c++11 -Wall -O2 -lSDL2 -lSDL2_image -lSDL2_mixer -o bin/volcano_macos
g++ source/*.cpp -std=c++11 -Wall -O2 -lSDL2 -o bin/volcano_macos

View File

@@ -8,8 +8,14 @@
#include "volcano.h"
#include <iostream>
#define CLOSE_SOUND(a) if (a != nullptr) JA_DeleteSound(a); a = nullptr
#define CLOSE_MUSIC(a) if (a != nullptr) JA_DeleteMusic(a); a = nullptr
#define CLOSE_SOUND(a) \
if (a != nullptr) \
JA_DeleteSound(a); \
a = nullptr
#define CLOSE_MUSIC(a) \
if (a != nullptr) \
JA_DeleteMusic(a); \
a = nullptr
void allocatePointers()
{
@@ -259,7 +265,7 @@ void setExecutablePath(std::string path)
executablePath = path.substr(0, path.find_last_of("\\/"));
}
void LoadMap()
/*void LoadMap_old()
{
std::string p = executablePath + "/" + FILE_MAP_VOLCANO.c_str();
std::string filename = p.substr(p.find_last_of("\\/") + 1);
@@ -291,6 +297,63 @@ void LoadMap()
}
delete[] buf;
}*/
void LoadMap()
{
std::string p = executablePath + "/" + FILE_MAP_VOLCANO.c_str();
std::string filename = p.substr(p.find_last_of("\\/") + 1);
SDL_RWops *file = SDL_RWFromFile(p.c_str(), "r+b");
Uint8 *w = new Uint8();
Uint8 *h = new Uint8();
Uint8 column = 0;
Uint8 line = 0;
Uint8 room = 0;
if (file == NULL)
{
printf("Warning: Unable to open %s file\n", filename.c_str());
}
else
{
printf("Reading file %s\n", filename.c_str());
SDL_RWread(file, w, sizeof(Uint8), 1);
SDL_RWread(file, h, sizeof(Uint8), 1);
long size = (*w) * (*h);
map.tile = new Uint8[size];
map.actor = new Uint8[size];
for (Uint32 i = 0; i < size; i++)
{
SDL_RWread(file, &map.tile[i], sizeof(Uint8), 1);
column++;
//std::cout << std::to_string(map.tile[i]);
printf("%-3s ", std::to_string(map.tile[i]).c_str());
if (column == ROOM_WIDTH_IN_TILES)
{
column = 0;
line++;
printf("\n");
}
if (line == ROOM_HEIGHT_IN_TILES)
{
line = 0;
printf("==================== ROOM #%-3s =================================\n", std::to_string(room).c_str());
room++;
}
}
for (Uint32 i = 0; i < size; i++)
SDL_RWread(file, &map.actor[i], sizeof(Uint8), 1);
SDL_RWclose(file);
}
delete w;
delete h;
}
void LoadRoom(int num)
@@ -1410,10 +1473,7 @@ void DrawMap()
src_rect1.y = (GetTile(i, j) / 16) * MAP_TILE_HEIGHT;
dst_rect1.x = i * MAP_TILE_WIDTH;
dst_rect1.y = j * MAP_TILE_HEIGHT;
// DES 2021
map.sprite_tile->render(renderer, dst_rect1.x, dst_rect1.y, &src_rect1);
// END
//map.sprite_tile->render(renderer, dst_rect1.x, dst_rect1.y);
map.sprite_tile->render(renderer, dst_rect1.x, dst_rect1.y, &src_rect1, 45.0);
}
Uint8 i = 0;
@@ -1741,7 +1801,7 @@ void IniProgram()
prog.music_enabled = true;
prog.filter = true;
SetProgSection(SECTION_MENU);
prog.debug = false;
prog.debug = true;
/*if (prog.music_enabled) // [TODO] Jail_Audio encara no permet canviar el volum
Mix_VolumeMusic(100);