+1.19 (26th October 2021)
+=========================
+ * squash various compilation warnings
+
1.18 (10th January 2021)
=========================
* fixed problems to allow building on Ubuntu 20.04
-Chroma 1.18 (10th January 2021)
+Chroma 1.19 (26th October 2021)
================================
Chroma is an abstract puzzle game. A variety of colourful shapes are arranged
in a series of increasingly complex patterns, forming fiendish traps that must
{
/* Revert to default */
getfilename("colours", directory, 0, LOCATION_SYSTEM);
- sprintf(filename, "%s%s%s", directory, "/", COLOURS_DEFAULT);
+ snprintf(filename, sizeof(filename), "%s%s%s", directory, "/", COLOURS_DEFAULT);
pdisplaycolours = colours_load(filename, 0);
/* If we can't even load the default, use an emergency scheme */
if(strcmp(dentry->d_name, "..") == 0)
continue;
- sprintf(filename, "%s%s%s", directory, "/", dentry->d_name);
+ snprintf(filename, sizeof(filename), "%s%s%s", directory, "/", dentry->d_name);
if(isfile(filename) && strlen(filename) > 7 && strcmp(filename + strlen(filename) - 7, ".chroma") == 0)
{
c = font_logo_colours[x] - '0';
else
{
- printw(buffer + x);
+ printw("%s", buffer + x);
x = strlen(buffer);
break;
}
options_debug = 0;
getfilename("colours", filename, 0, 1);
- sprintf(options_colours, "%s/%s", filename, COLOURS_DEFAULT);
+ snprintf(options_colours, sizeof(options_colours), "%s/%s", filename, COLOURS_DEFAULT);
getfilename("curses.chroma", filename, 0, 0);
{
utf8strncpy(buffer, pentry->text2, menu_width - 2);
x = menu_offset + menu_width - 1 - utf8strlen(buffer);
- mvprintw(y, x, buffer);
+ mvprintw(y, x, "%s", buffer);
}
/* Plot main text */
if(pentry->flags & MENU_BOLD)
attron(A_BOLD);
- mvprintw(y, x, buffer);
+ mvprintw(y, x, "%s", buffer);
if(pentry->flags & MENU_BOLD)
attroff(A_BOLD);
}
x = menu_offset + menu_width - 1 - utf8strlen(buffer);
if(pentry->flags & MENU_EDITING)
attron(COLOR_PAIR(colourpair_white));
- mvprintw(y, x, buffer);
+ mvprintw(y, x, "%s", buffer);
if(pentry->flags & MENU_EDITING)
attroff(COLOR_PAIR(colourpair_white));
}
utf8strncpy(buffer, pentry->text3, menu_width - 2);
x = menu_offset + 1;
- mvprintw(y, x, buffer);
+ mvprintw(y, x, "%s", buffer);
}
if(selected)
if(i == 5) attron(COLOR_PAIR(colourpair_magenta));
sprintf(buffer, "%c", title[i]);
- mvprintw(2, x, buffer);
+ mvprintw(2, x, "%s", buffer);
x +=2;
}
attroff(COLOR_PAIR(colourpair_red));
if(x < 0)
{
x = (display_size_x - utf8strlen(pmenu->title)) / 2;
- mvprintw(y, x, pmenu->title);
+ mvprintw(y, x, "%s", pmenu->title);
}
else
{
buffer[j] = pmenu->title[i + j]; j ++;
}
buffer[j] = 0;
- mvprintw(y, x, buffer);
+ mvprintw(y, x, "%s", buffer);
x += 2; i += j - 1;
}
}
if(strcmp(filename, "") == 0)
{
/* Create new file */
- sprintf(filename, "%s/%x.chroma", directory, (int)time(NULL));
+ snprintf(filename, sizeof(filename), "%s/%x.chroma", directory, (int)time(NULL));
level_save(plevelcurrent, filename, 1);
}
else
{
/* Revert to default */
getfilename("graphics", directory, 0, LOCATION_SYSTEM);
- sprintf(filename, "%s%s%s", directory, "/", GRAPHICS_DEFAULT);
+ snprintf(filename, sizeof(filename), "%s%s%s", directory, "/", GRAPHICS_DEFAULT);
pdisplaygraphics = graphics_load(filename, 0);
/* If we can't even load the default, use a curses based scheme */
if(strcmp(dentry->d_name, "..") == 0)
continue;
- sprintf(filename, "%s%s%s", directory, "/", dentry->d_name);
+ snprintf(filename, sizeof(filename), "%s%s%s", directory, "/", dentry->d_name);
if(isfile(filename) && strlen(filename) > 7 && strcmp(filename + strlen(filename) - 7, ".chroma") == 0)
{
char directory[FILENAME_MAX];
getfilename("graphics", directory, 0, LOCATION_SYSTEM);
- sprintf(fullfilename, "%s%s%s", directory, "/", filename);
+ snprintf(fullfilename, sizeof(fullfilename), "%s%s%s",
+ directory, "/", filename);
return IMG_Load(fullfilename);
}
{
/* Construct pathname */
if(strcmp(path, "") == 0)
- sprintf(file, "%s/", basepath);
+ snprintf(file, sizeof(file), "%s/", basepath);
else
- sprintf(file, "%s/%s/", basepath, path);
+ snprintf(file, sizeof(file), "%s/%s/", basepath, path);
/* Substitute %s as necessary */
j = strlen(file);
if(menu_levelselector(directory, filename, menutitle, LEVELMENU_RETURN | LEVELMENU_NEW | LEVELMENU_DELETE | LEVELMENU_MOVES | LEVELMENU_FILTER) == MENU_SELECT)
{
if(strcmp(filename, "") == 0)
- sprintf(filename, "%s/%x.chroma", directory, (int)time(NULL));
+ snprintf(filename, sizeof(filename), "%s/%x.chroma", directory, (int)time(NULL));
level_save(plevelgame, filename, 0);
level_delete(plevelrevert);
buffer[i] = locale[i]; i ++;
}
buffer[i] = 0;
- sprintf(filename, "%s.%s", directory, buffer);
+ snprintf(filename, sizeof(filename), "%s.%s", directory, buffer);
if(menu_addfile(pmenu, filename))
ok = 1;
buffer[i] = locale[i]; i ++;
}
buffer[i] = 0;
- sprintf(filename, "%s.%s", directory, buffer);
+ snprintf(filename, sizeof(filename), "%s.%s", directory, buffer);
if(menu_addfile(pmenu, filename))
ok = 1;
buffer[i] = locale[i]; i ++;
}
buffer[i] = 0;
- sprintf(filename, "%s.%s", directory, buffer);
+ snprintf(filename, sizeof(filename), "%s.%s", directory, buffer);
if(menu_addfile(pmenu, filename))
ok = 1;
options_debug = 0;
getfilename("colours", filename, 0, LOCATION_SYSTEM);
- sprintf(options_colours, "%s/%s", filename, COLOURS_DEFAULT);
+ snprintf(options_colours, sizeof(options_colours), "%s/%s", filename, COLOURS_DEFAULT);
getfilename("graphics", filename, 0, LOCATION_SYSTEM);
- sprintf(options_graphics, "%s/%s", filename, GRAPHICS_DEFAULT);
+ snprintf(options_graphics, sizeof(options_graphics), "%s/%s", filename, GRAPHICS_DEFAULT);
getfilename("sdl.chroma", filename, 0, LOCATION_LOCAL);
{
int n, x;
FT_Glyph glyph;
- Uint16 c;
+ Uint32 c;
FT_UInt glyph_index;
/* Determine width of text */
int pass;
Uint32 *dst;
Uint32 colour;
- Uint16 c;
+ Uint32 c;
FT_UInt glyph_index;
FT_Bitmap* bitmap;