diff --git a/source/room.cpp b/source/room.cpp index 3b451d9..909785c 100644 --- a/source/room.cpp +++ b/source/room.cpp @@ -385,16 +385,15 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o textureA = room->textureA; textureB = room->textureB; tileMap = room->tileMap; + texture = (options->palette == p_zxspectrum) ? textureA : textureB; // Inicializa variables tileSize = 8; + tileSetWidth = texture->getWidth() / tileSize; mapWidth = 32; mapHeight = 16; paused = false; counter = 0; - // itemColor1 = "magenta"; - // itemColor2 = "yellow"; - // autoSurfaceDirection = 1; // Crea los enemigos for (auto &enemy : room->enemies) @@ -411,27 +410,14 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o if (!itemTracker->hasBeenPicked(room->name, itemPos)) { item.renderer = renderer; + item.color1 = stringToColor(options->palette, itemColor1); + item.color2 = stringToColor(options->palette, itemColor2); items.push_back(new Item(item)); } } - // Crea los objetos - // loadRoomFile(file); - // texture = new Texture(renderer, asset->get(tileSetFile)); - // texture = resource->getTexture(tileSetFile); - if (options->palette == p_zxspectrum) - { - texture = textureA; - } - else - { - texture = textureB; - } - - tileSetWidth = texture->getWidth() / tileSize; - + // Carga los sonidos itemSound = JA_LoadSound(asset->get("item.wav").c_str()); - // loadRoomTileFile(asset->get(tileMapFile)); // Calcula las superficies setBottomSurfaces(); @@ -901,7 +887,6 @@ void Room::setBottomSurfaces() // Recorre el vector de tiles buscando tiles consecutivos para localizar las superficies int i = 0; int lastOne = 0; - // while (i < (int)tile.size()) do { h_line_t line; @@ -953,7 +938,6 @@ void Room::setTopSurfaces() // Recorre el vector de tiles buscando tiles consecutivos para localizar las superficies int i = 0; int lastOne = 0; - // while (i < (int)tile.size()) do { h_line_t line; @@ -1004,7 +988,6 @@ void Room::setLeftSurfaces() // (Los tiles de la misma columna, la diferencia entre ellos es de mapWidth) // para localizar las superficies int i = 0; - // while (i < (int)tile.size()) do { v_line_t line; @@ -1047,7 +1030,6 @@ void Room::setRightSurfaces() // (Los tiles de la misma columna, la diferencia entre ellos es de mapWidth) // para localizar las superficies int i = 0; - // while (i < (int)tile.size()) do { v_line_t line;