forked from Mirrorlandia_minetest/minetest
Modernize various files
* range-based for loops * emplace_back instead of push_back * code style * C++ headers instead of C headers * Default operators * empty stl function
This commit is contained in:
parent
13e995b811
commit
55ab4264dc
@ -40,39 +40,39 @@ const std::vector<v3s16> &FacePositionCache::generateFacePosition(u16 d)
|
|||||||
cache[d] = std::vector<v3s16>();
|
cache[d] = std::vector<v3s16>();
|
||||||
std::vector<v3s16> &c = cache[d];
|
std::vector<v3s16> &c = cache[d];
|
||||||
if (d == 0) {
|
if (d == 0) {
|
||||||
c.push_back(v3s16(0,0,0));
|
c.emplace_back(0,0,0);
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
if (d == 1) {
|
if (d == 1) {
|
||||||
// This is an optimized sequence of coordinates.
|
// This is an optimized sequence of coordinates.
|
||||||
c.push_back(v3s16( 0, 1, 0)); // Top
|
c.emplace_back(0, 1, 0); // Top
|
||||||
c.push_back(v3s16( 0, 0, 1)); // Back
|
c.emplace_back(0, 0, 1); // Back
|
||||||
c.push_back(v3s16(-1, 0, 0)); // Left
|
c.emplace_back(-1, 0, 0); // Left
|
||||||
c.push_back(v3s16( 1, 0, 0)); // Right
|
c.emplace_back(1, 0, 0); // Right
|
||||||
c.push_back(v3s16( 0, 0,-1)); // Front
|
c.emplace_back(0, 0,-1); // Front
|
||||||
c.push_back(v3s16( 0,-1, 0)); // Bottom
|
c.emplace_back(0,-1, 0); // Bottom
|
||||||
// 6
|
// 6
|
||||||
c.push_back(v3s16(-1, 0, 1)); // Back left
|
c.emplace_back(-1, 0, 1); // Back left
|
||||||
c.push_back(v3s16( 1, 0, 1)); // Back right
|
c.emplace_back(1, 0, 1); // Back right
|
||||||
c.push_back(v3s16(-1, 0,-1)); // Front left
|
c.emplace_back(-1, 0,-1); // Front left
|
||||||
c.push_back(v3s16( 1, 0,-1)); // Front right
|
c.emplace_back(1, 0,-1); // Front right
|
||||||
c.push_back(v3s16(-1,-1, 0)); // Bottom left
|
c.emplace_back(-1,-1, 0); // Bottom left
|
||||||
c.push_back(v3s16( 1,-1, 0)); // Bottom right
|
c.emplace_back(1,-1, 0); // Bottom right
|
||||||
c.push_back(v3s16( 0,-1, 1)); // Bottom back
|
c.emplace_back(0,-1, 1); // Bottom back
|
||||||
c.push_back(v3s16( 0,-1,-1)); // Bottom front
|
c.emplace_back(0,-1,-1); // Bottom front
|
||||||
c.push_back(v3s16(-1, 1, 0)); // Top left
|
c.emplace_back(-1, 1, 0); // Top left
|
||||||
c.push_back(v3s16( 1, 1, 0)); // Top right
|
c.emplace_back(1, 1, 0); // Top right
|
||||||
c.push_back(v3s16( 0, 1, 1)); // Top back
|
c.emplace_back(0, 1, 1); // Top back
|
||||||
c.push_back(v3s16( 0, 1,-1)); // Top front
|
c.emplace_back(0, 1,-1); // Top front
|
||||||
// 18
|
// 18
|
||||||
c.push_back(v3s16(-1, 1, 1)); // Top back-left
|
c.emplace_back(-1, 1, 1); // Top back-left
|
||||||
c.push_back(v3s16( 1, 1, 1)); // Top back-right
|
c.emplace_back(1, 1, 1); // Top back-right
|
||||||
c.push_back(v3s16(-1, 1,-1)); // Top front-left
|
c.emplace_back(-1, 1,-1); // Top front-left
|
||||||
c.push_back(v3s16( 1, 1,-1)); // Top front-right
|
c.emplace_back(1, 1,-1); // Top front-right
|
||||||
c.push_back(v3s16(-1,-1, 1)); // Bottom back-left
|
c.emplace_back(-1,-1, 1); // Bottom back-left
|
||||||
c.push_back(v3s16( 1,-1, 1)); // Bottom back-right
|
c.emplace_back(1,-1, 1); // Bottom back-right
|
||||||
c.push_back(v3s16(-1,-1,-1)); // Bottom front-left
|
c.emplace_back(-1,-1,-1); // Bottom front-left
|
||||||
c.push_back(v3s16( 1,-1,-1)); // Bottom front-right
|
c.emplace_back(1,-1,-1); // Bottom front-right
|
||||||
// 26
|
// 26
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
@ -81,20 +81,20 @@ const std::vector<v3s16> &FacePositionCache::generateFacePosition(u16 d)
|
|||||||
for (s16 y = 0; y <= d - 1; y++) {
|
for (s16 y = 0; y <= d - 1; y++) {
|
||||||
// Left and right side, including borders
|
// Left and right side, including borders
|
||||||
for (s16 z =- d; z <= d; z++) {
|
for (s16 z =- d; z <= d; z++) {
|
||||||
c.push_back(v3s16( d, y, z));
|
c.emplace_back(d, y, z);
|
||||||
c.push_back(v3s16(-d, y, z));
|
c.emplace_back(-d, y, z);
|
||||||
if (y != 0) {
|
if (y != 0) {
|
||||||
c.push_back(v3s16( d, -y, z));
|
c.emplace_back(d, -y, z);
|
||||||
c.push_back(v3s16(-d, -y, z));
|
c.emplace_back(-d, -y, z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Back and front side, excluding borders
|
// Back and front side, excluding borders
|
||||||
for (s16 x = -d + 1; x <= d - 1; x++) {
|
for (s16 x = -d + 1; x <= d - 1; x++) {
|
||||||
c.push_back(v3s16(x, y, d));
|
c.emplace_back(x, y, d);
|
||||||
c.push_back(v3s16(x, y, -d));
|
c.emplace_back(x, y, -d);
|
||||||
if (y != 0) {
|
if (y != 0) {
|
||||||
c.push_back(v3s16(x, -y, d));
|
c.emplace_back(x, -y, d);
|
||||||
c.push_back(v3s16(x, -y, -d));
|
c.emplace_back(x, -y, -d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -103,8 +103,8 @@ const std::vector<v3s16> &FacePositionCache::generateFacePosition(u16 d)
|
|||||||
// -d < x < d, y = +-d, -d < z < d
|
// -d < x < d, y = +-d, -d < z < d
|
||||||
for (s16 x = -d; x <= d; x++)
|
for (s16 x = -d; x <= d; x++)
|
||||||
for (s16 z = -d; z <= d; z++) {
|
for (s16 z = -d; z <= d; z++) {
|
||||||
c.push_back(v3s16(x, -d, z));
|
c.emplace_back(x, -d, z);
|
||||||
c.push_back(v3s16(x, d, z));
|
c.emplace_back(x, d, z);
|
||||||
}
|
}
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <stdlib.h>
|
#include <cstdlib>
|
||||||
|
|
||||||
bool FileCache::loadByPath(const std::string &path, std::ostream &os)
|
bool FileCache::loadByPath(const std::string &path, std::ostream &os)
|
||||||
{
|
{
|
||||||
|
@ -20,9 +20,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "filesys.h"
|
#include "filesys.h"
|
||||||
#include "util/string.h"
|
#include "util/string.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <stdio.h>
|
#include <cstdio>
|
||||||
#include <string.h>
|
#include <cstring>
|
||||||
#include <errno.h>
|
#include <cerrno>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -246,7 +246,7 @@ std::vector<DirListNode> GetDirListing(const std::string &pathstring)
|
|||||||
If so, try stat().
|
If so, try stat().
|
||||||
*/
|
*/
|
||||||
if(isdir == -1) {
|
if(isdir == -1) {
|
||||||
struct stat statbuf;
|
struct stat statbuf{};
|
||||||
if (stat((pathstring + "/" + node.name).c_str(), &statbuf))
|
if (stat((pathstring + "/" + node.name).c_str(), &statbuf))
|
||||||
continue;
|
continue;
|
||||||
isdir = ((statbuf.st_mode & S_IFDIR) == S_IFDIR);
|
isdir = ((statbuf.st_mode & S_IFDIR) == S_IFDIR);
|
||||||
@ -262,22 +262,20 @@ std::vector<DirListNode> GetDirListing(const std::string &pathstring)
|
|||||||
bool CreateDir(const std::string &path)
|
bool CreateDir(const std::string &path)
|
||||||
{
|
{
|
||||||
int r = mkdir(path.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
|
int r = mkdir(path.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
|
||||||
if(r == 0)
|
if (r == 0) {
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
// If already exists, return true
|
// If already exists, return true
|
||||||
if (errno == EEXIST)
|
if (errno == EEXIST)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PathExists(const std::string &path)
|
bool PathExists(const std::string &path)
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st{};
|
||||||
return (stat(path.c_str(),&st) == 0);
|
return (stat(path.c_str(),&st) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,7 +286,7 @@ bool IsPathAbsolute(const std::string &path)
|
|||||||
|
|
||||||
bool IsDir(const std::string &path)
|
bool IsDir(const std::string &path)
|
||||||
{
|
{
|
||||||
struct stat statbuf;
|
struct stat statbuf{};
|
||||||
if(stat(path.c_str(), &statbuf))
|
if(stat(path.c_str(), &statbuf))
|
||||||
return false; // Actually error; but certainly not a directory
|
return false; // Actually error; but certainly not a directory
|
||||||
return ((statbuf.st_mode & S_IFDIR) == S_IFDIR);
|
return ((statbuf.st_mode & S_IFDIR) == S_IFDIR);
|
||||||
@ -353,14 +351,14 @@ bool DeleteSingleFileOrEmptyDirectory(const std::string &path)
|
|||||||
errorstream << "rmdir errno: " << errno << ": " << strerror(errno)
|
errorstream << "rmdir errno: " << errno << ": " << strerror(errno)
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
return did;
|
return did;
|
||||||
} else {
|
}
|
||||||
|
|
||||||
bool did = (unlink(path.c_str()) == 0);
|
bool did = (unlink(path.c_str()) == 0);
|
||||||
if (!did)
|
if (!did)
|
||||||
errorstream << "unlink errno: " << errno << ": " << strerror(errno)
|
errorstream << "unlink errno: " << errno << ": " << strerror(errno)
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
return did;
|
return did;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
std::string TempPath()
|
std::string TempPath()
|
||||||
{
|
{
|
||||||
@ -385,8 +383,7 @@ std::string TempPath()
|
|||||||
void GetRecursiveSubPaths(const std::string &path, std::vector<std::string> &dst)
|
void GetRecursiveSubPaths(const std::string &path, std::vector<std::string> &dst)
|
||||||
{
|
{
|
||||||
std::vector<DirListNode> content = GetDirListing(path);
|
std::vector<DirListNode> content = GetDirListing(path);
|
||||||
for(unsigned int i=0; i<content.size(); i++){
|
for (const auto &n : content) {
|
||||||
const DirListNode &n = content[i];
|
|
||||||
std::string fullpath = path + DIR_DELIM + n.name;
|
std::string fullpath = path + DIR_DELIM + n.name;
|
||||||
dst.push_back(fullpath);
|
dst.push_back(fullpath);
|
||||||
if (n.dir) {
|
if (n.dir) {
|
||||||
@ -414,14 +411,12 @@ bool RecursiveDeleteContent(const std::string &path)
|
|||||||
{
|
{
|
||||||
infostream<<"Removing content of \""<<path<<"\""<<std::endl;
|
infostream<<"Removing content of \""<<path<<"\""<<std::endl;
|
||||||
std::vector<DirListNode> list = GetDirListing(path);
|
std::vector<DirListNode> list = GetDirListing(path);
|
||||||
for(unsigned int i=0; i<list.size(); i++)
|
for (const DirListNode &dln : list) {
|
||||||
{
|
if(trim(dln.name) == "." || trim(dln.name) == "..")
|
||||||
if(trim(list[i].name) == "." || trim(list[i].name) == "..")
|
|
||||||
continue;
|
continue;
|
||||||
std::string childpath = path + DIR_DELIM + list[i].name;
|
std::string childpath = path + DIR_DELIM + dln.name;
|
||||||
bool r = RecursiveDelete(childpath);
|
bool r = RecursiveDelete(childpath);
|
||||||
if(r == false)
|
if(!r) {
|
||||||
{
|
|
||||||
errorstream << "Removing \"" << childpath << "\" failed" << std::endl;
|
errorstream << "Removing \"" << childpath << "\" failed" << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -510,10 +505,10 @@ bool CopyDir(const std::string &source, const std::string &target)
|
|||||||
bool retval = true;
|
bool retval = true;
|
||||||
std::vector<DirListNode> content = fs::GetDirListing(source);
|
std::vector<DirListNode> content = fs::GetDirListing(source);
|
||||||
|
|
||||||
for(unsigned int i=0; i < content.size(); i++){
|
for (const auto &dln : content) {
|
||||||
std::string sourcechild = source + DIR_DELIM + content[i].name;
|
std::string sourcechild = source + DIR_DELIM + dln.name;
|
||||||
std::string targetchild = target + DIR_DELIM + content[i].name;
|
std::string targetchild = target + DIR_DELIM + dln.name;
|
||||||
if(content[i].dir){
|
if(dln.dir){
|
||||||
if(!fs::CopyDir(sourcechild, targetchild)){
|
if(!fs::CopyDir(sourcechild, targetchild)){
|
||||||
retval = false;
|
retval = false;
|
||||||
}
|
}
|
||||||
@ -526,10 +521,9 @@ bool CopyDir(const std::string &source, const std::string &target)
|
|||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bool PathStartsWith(const std::string &path, const std::string &prefix)
|
bool PathStartsWith(const std::string &path, const std::string &prefix)
|
||||||
{
|
{
|
||||||
|
@ -26,12 +26,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#ifdef _WIN32 // WINDOWS
|
#ifdef _WIN32 // WINDOWS
|
||||||
#define DIR_DELIM "\\"
|
#define DIR_DELIM "\\"
|
||||||
#define DIR_DELIM_CHAR '\\'
|
#define DIR_DELIM_CHAR '\\'
|
||||||
#define FILESYS_CASE_INSENSITIVE 1
|
#define FILESYS_CASE_INSENSITIVE true
|
||||||
#define PATH_DELIM ";"
|
#define PATH_DELIM ";"
|
||||||
#else // POSIX
|
#else // POSIX
|
||||||
#define DIR_DELIM "/"
|
#define DIR_DELIM "/"
|
||||||
#define DIR_DELIM_CHAR '/'
|
#define DIR_DELIM_CHAR '/'
|
||||||
#define FILESYS_CASE_INSENSITIVE 0
|
#define FILESYS_CASE_INSENSITIVE false
|
||||||
#define PATH_DELIM ":"
|
#define PATH_DELIM ":"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -21,9 +21,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "IGUIFont.h"
|
#include "util/basic_macros.h"
|
||||||
#include "IGUISkin.h"
|
#include <IGUIFont.h>
|
||||||
#include "IGUIEnvironment.h"
|
#include <IGUISkin.h>
|
||||||
|
#include <IGUIEnvironment.h>
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
#define FONT_SIZE_UNSPECIFIED 0xFFFFFFFF
|
#define FONT_SIZE_UNSPECIFIED 0xFFFFFFFF
|
||||||
@ -81,17 +82,6 @@ public:
|
|||||||
void readSettings();
|
void readSettings();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** disable copy constructor */
|
|
||||||
FontEngine() :
|
|
||||||
m_settings(NULL),
|
|
||||||
m_env(NULL),
|
|
||||||
m_font_cache(),
|
|
||||||
m_currentMode(FM_Standard),
|
|
||||||
m_lastMode(),
|
|
||||||
m_lastSize(0),
|
|
||||||
m_lastFont(NULL)
|
|
||||||
{};
|
|
||||||
|
|
||||||
/** update content of font cache in case of a setting change made it invalid */
|
/** update content of font cache in case of a setting change made it invalid */
|
||||||
void updateFontCache();
|
void updateFontCache();
|
||||||
|
|
||||||
@ -108,10 +98,10 @@ private:
|
|||||||
void cleanCache();
|
void cleanCache();
|
||||||
|
|
||||||
/** pointer to settings for registering callbacks or reading config */
|
/** pointer to settings for registering callbacks or reading config */
|
||||||
Settings* m_settings;
|
Settings* m_settings = nullptr;
|
||||||
|
|
||||||
/** pointer to irrlicht gui environment */
|
/** pointer to irrlicht gui environment */
|
||||||
gui::IGUIEnvironment* m_env;
|
gui::IGUIEnvironment* m_env = nullptr;
|
||||||
|
|
||||||
/** internal storage for caching fonts of different size */
|
/** internal storage for caching fonts of different size */
|
||||||
std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode];
|
std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode];
|
||||||
@ -131,6 +121,7 @@ private:
|
|||||||
/** last font returned */
|
/** last font returned */
|
||||||
irr::gui::IGUIFont* m_lastFont = nullptr;
|
irr::gui::IGUIFont* m_lastFont = nullptr;
|
||||||
|
|
||||||
|
DISABLE_CLASS_COPY(FontEngine);
|
||||||
};
|
};
|
||||||
|
|
||||||
/** interface to access main font engine*/
|
/** interface to access main font engine*/
|
||||||
|
@ -109,10 +109,9 @@ std::string gob_cmd_update_armor_groups(const ItemGroupList &armor_groups)
|
|||||||
std::ostringstream os(std::ios::binary);
|
std::ostringstream os(std::ios::binary);
|
||||||
writeU8(os, GENERIC_CMD_UPDATE_ARMOR_GROUPS);
|
writeU8(os, GENERIC_CMD_UPDATE_ARMOR_GROUPS);
|
||||||
writeU16(os, armor_groups.size());
|
writeU16(os, armor_groups.size());
|
||||||
for(ItemGroupList::const_iterator i = armor_groups.begin();
|
for (const auto &armor_group : armor_groups) {
|
||||||
i != armor_groups.end(); ++i){
|
os<<serializeString(armor_group.first);
|
||||||
os<<serializeString(i->first);
|
writeS16(os, armor_group.second);
|
||||||
writeS16(os, i->second);
|
|
||||||
}
|
}
|
||||||
return os.str();
|
return os.str();
|
||||||
}
|
}
|
||||||
|
@ -18,9 +18,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <string.h>
|
#include <cstring>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <stdlib.h>
|
#include <cstdlib>
|
||||||
#include "gettext.h"
|
#include "gettext.h"
|
||||||
#include "util/string.h"
|
#include "util/string.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
@ -26,7 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
|
|
||||||
struct MainMenuDataForScript {
|
struct MainMenuDataForScript {
|
||||||
|
|
||||||
MainMenuDataForScript() {}
|
MainMenuDataForScript() = default;
|
||||||
|
|
||||||
// Whether the server has requested a reconnect
|
// Whether the server has requested a reconnect
|
||||||
bool reconnect_requested = false;
|
bool reconnect_requested = false;
|
||||||
@ -51,5 +51,5 @@ struct MainMenuData {
|
|||||||
// Data to be passed to the script
|
// Data to be passed to the script
|
||||||
MainMenuDataForScript script_data;
|
MainMenuDataForScript script_data;
|
||||||
|
|
||||||
MainMenuData() {}
|
MainMenuData() = default;
|
||||||
};
|
};
|
||||||
|
@ -67,7 +67,7 @@ void GUIFileSelectMenu::drawMenu()
|
|||||||
|
|
||||||
void GUIFileSelectMenu::acceptInput()
|
void GUIFileSelectMenu::acceptInput()
|
||||||
{
|
{
|
||||||
if ((m_text_dst != 0) && (this->m_formname != "")) {
|
if (m_text_dst && !m_formname.empty()) {
|
||||||
StringMap fields;
|
StringMap fields;
|
||||||
if (m_accepted) {
|
if (m_accepted) {
|
||||||
std::string path;
|
std::string path;
|
||||||
@ -82,7 +82,7 @@ void GUIFileSelectMenu::acceptInput()
|
|||||||
} else {
|
} else {
|
||||||
fields[m_formname + "_canceled"] = m_formname;
|
fields[m_formname + "_canceled"] = m_formname;
|
||||||
}
|
}
|
||||||
this->m_text_dst->gotText(fields);
|
m_text_dst->gotText(fields);
|
||||||
}
|
}
|
||||||
quitMenu();
|
quitMenu();
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include <queue>
|
#include <queue>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <string.h>
|
#include <cstring>
|
||||||
#include <IGUISkin.h>
|
#include <IGUISkin.h>
|
||||||
#include <IGUIFont.h>
|
#include <IGUIFont.h>
|
||||||
#include <IGUIScrollBar.h>
|
#include <IGUIScrollBar.h>
|
||||||
|
@ -20,7 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "imagefilters.h"
|
#include "imagefilters.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "util/numeric.h"
|
#include "util/numeric.h"
|
||||||
#include <stdio.h>
|
#include <cstdio>
|
||||||
#include "client/renderingengine.h"
|
#include "client/renderingengine.h"
|
||||||
|
|
||||||
/* Maintain a static cache to store the images that correspond to textures
|
/* Maintain a static cache to store the images that correspond to textures
|
||||||
@ -51,16 +51,14 @@ void guiScalingCache(io::path key, video::IVideoDriver *driver, video::IImage *v
|
|||||||
// Manually clear the cache, e.g. when switching to different worlds.
|
// Manually clear the cache, e.g. when switching to different worlds.
|
||||||
void guiScalingCacheClear()
|
void guiScalingCacheClear()
|
||||||
{
|
{
|
||||||
for (std::map<io::path, video::IImage *>::iterator it = g_imgCache.begin();
|
for (auto &it : g_imgCache) {
|
||||||
it != g_imgCache.end(); ++it) {
|
if (it.second)
|
||||||
if (it->second)
|
it.second->drop();
|
||||||
it->second->drop();
|
|
||||||
}
|
}
|
||||||
g_imgCache.clear();
|
g_imgCache.clear();
|
||||||
for (std::map<io::path, video::ITexture *>::iterator it = g_txrCache.begin();
|
for (auto &it : g_txrCache) {
|
||||||
it != g_txrCache.end(); ++it) {
|
if (it.second)
|
||||||
if (it->second)
|
RenderingEngine::get_video_driver()->removeTexture(it.second);
|
||||||
RenderingEngine::get_video_driver()->removeTexture(it->second);
|
|
||||||
}
|
}
|
||||||
g_txrCache.clear();
|
g_txrCache.clear();
|
||||||
}
|
}
|
||||||
|
@ -46,5 +46,5 @@ video::ITexture *guiScalingImageButton(video::IVideoDriver *driver, video::IText
|
|||||||
*/
|
*/
|
||||||
void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
|
void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
|
||||||
const core::rect<s32> &destrect, const core::rect<s32> &srcrect,
|
const core::rect<s32> &destrect, const core::rect<s32> &srcrect,
|
||||||
const core::rect<s32> *cliprect = 0, const video::SColor *const colors = 0,
|
const core::rect<s32> *cliprect = 0, video::SColor *const colors = 0,
|
||||||
bool usealpha = false);
|
bool usealpha = false);
|
||||||
|
Loading…
Reference in New Issue
Block a user