On macos, you can't use a wstring inside an fstream
master^2
gorbit99 6 years ago committed by GitHub
parent 5d24255fde
commit 17ce23a1c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      olcConsoleGameEngineSDL.h

@ -368,9 +368,11 @@ public:
return m_Colours[sy * nWidth + sx]; return m_Colours[sy * nWidth + sx];
} }
bool Save(std::string sFile) bool Save(std::wstring sFile)
{ {
std::ofstream f(sFile.c_str(), std::ios::out | std::ios::binary); std::string path(sFile.begin(), sFile.end());
std::ofstream f(path.c_str(), std::ios::out | std::ios::binary);
if (!f.is_open()) return false; if (!f.is_open()) return false;
f.write((char*)&nWidth, sizeof(int)); f.write((char*)&nWidth, sizeof(int));
@ -383,24 +385,26 @@ public:
return true; return true;
} }
bool Load(std::string sFile) bool Load(std::wstring sFile)
{ {
delete[] m_Glyphs; delete[] m_Glyphs;
delete[] m_Colours; delete[] m_Colours;
nWidth = 0; nWidth = 0;
nHeight = 0; nHeight = 0;
std::ifstream f(sFile.c_str(), std::ios::in | std::ios::binary); std::string path(sFile.begin(), sFile.end());
std::ifstream f(path.c_str(), std::ios::in | std::ios::binary);
if (!f.is_open()) return false; if (!f.is_open()) return false;
// get file data // get file data
f.read ((char*)&nWidth, sizeof(int)); f.read((char*)&nWidth, sizeof(int));
f.read ((char*)&nHeight, sizeof(int)); f.read((char*)&nHeight, sizeof(int));
Create(nWidth, nHeight); Create(nWidth, nHeight);
f.read ((char*)m_Colours, sizeof(short) * nWidth * nHeight); f.read((char*)m_Colours, sizeof(short) * nWidth * nHeight);
f.read ((char*)m_Glyphs, sizeof(wchar_t) * nWidth * nHeight); f.read((char*)m_Glyphs, sizeof(wchar_t) * nWidth * nHeight);
f.close(); f.close();

Loading…
Cancel
Save