- [NEW] Esquemes de colors
This commit is contained in:
@@ -20,8 +20,8 @@ namespace room
|
||||
|
||||
static int doors = NO_DOOR; // Portes obertes
|
||||
static int door_height[4]; // Altura de cada porta
|
||||
static int exits[6]; // Habitació destí a la que du cada porta (piso i sostre inclosos)
|
||||
static int color = 5; // Color de l'habitació
|
||||
static int exits[6]; // Habitació destí a la que du cada porta (piso i sostre inclosos)
|
||||
static int color = 0; // Esquema de color de l'habitació
|
||||
|
||||
static int floor_type = 0; // Tile per al piso
|
||||
static int walls_type = 0; // Tile per a les pareds
|
||||
@@ -36,6 +36,14 @@ namespace room
|
||||
static draw::surface *doors_surf = nullptr;
|
||||
static draw::surface *aux_surf = nullptr;
|
||||
|
||||
static uint8_t color_schemes[5][4] = {
|
||||
{7, 11, 10, 9},
|
||||
{8, 11, 9, 7},
|
||||
{9, 11, 10, 8},
|
||||
{10, 11, 8, 7},
|
||||
{11, 10, 9, 8},
|
||||
};
|
||||
|
||||
void init()
|
||||
{
|
||||
actor::clear();
|
||||
@@ -141,7 +149,7 @@ namespace room
|
||||
door_height[YN] = SDL_clamp(val, -1, 5);
|
||||
|
||||
} else if (util::strcomp(key, "color:")) {
|
||||
color = util::stringToInt(file::readString(&buffer), {"purple", "green", "cyan", "yellow", "white"}, {7, 8, 9, 10, 11});
|
||||
color = util::stringToInt(file::readString(&buffer), {"purple", "green", "cyan", "yellow", "white"}, {0, 1, 2, 3, 4});
|
||||
|
||||
} else if (util::strcomp(key, "floor-texture:")) {
|
||||
floor_type = file::readInt(&buffer);
|
||||
@@ -209,7 +217,7 @@ namespace room
|
||||
void draw()
|
||||
{
|
||||
draw::pushSource();
|
||||
draw::swapcol(1, color);
|
||||
draw::swapcol(1, color_schemes[color][0]);
|
||||
|
||||
const int floor_row_tiles = int(floor_surf->w/32);
|
||||
const int floor_x = (floor_type%floor_row_tiles)*32;
|
||||
@@ -306,7 +314,7 @@ namespace room
|
||||
void draw2()
|
||||
{
|
||||
draw::pushSource();
|
||||
draw::swapcol(1, color);
|
||||
draw::swapcol(1, color_schemes[color][0]);
|
||||
|
||||
const int doors_row_tiles = int(doors_surf->w/40);
|
||||
const int doors_x = (doors_type%doors_row_tiles)*40;
|
||||
@@ -383,9 +391,9 @@ namespace room
|
||||
return exits[d];
|
||||
}
|
||||
|
||||
int getColor()
|
||||
int getColor(int which)
|
||||
{
|
||||
return color;
|
||||
return color_schemes[color][which];
|
||||
}
|
||||
|
||||
int getFloorCount()
|
||||
@@ -440,7 +448,7 @@ namespace room
|
||||
const char *numToColor(uint8_t value)
|
||||
{
|
||||
const char* colors[5] = {"PURPLE", "GREEN", "CYAN", "YELLOW", "WHITE"};
|
||||
return colors[value-7];
|
||||
return colors[value];
|
||||
}
|
||||
|
||||
void modify() { modified = true; }
|
||||
|
||||
Reference in New Issue
Block a user